:root{
  --bg:#fcfbff;
  --bg-soft:#f8f3fc;
  --bg-card:rgba(255,255,255,.78);
  --white:#ffffff;
  --text:#2f2437;
  --muted:#6e6378;
  --line:rgba(127, 97, 151, .14);
  --primary:#cc3f9d;
  --primary-2:#814ae1;
  --accent:#48b7d8;
  --gold:#d9b46b;
  --shadow:0 20px 55px rgba(129, 82, 168, .15);
  --shadow-sm:0 12px 28px rgba(113, 74, 146, .10);
  --radius:28px;
  --radius-sm:18px;
  --max:1280px;
  --transition:.35s ease;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  background:
    radial-gradient(circle at 0% 10%, rgba(255,182,229,.26), transparent 22%),
    radial-gradient(circle at 100% 0%, rgba(166,219,255,.18), transparent 22%),
    radial-gradient(circle at 80% 80%, rgba(196,146,255,.14), transparent 24%),
    linear-gradient(180deg,#fff 0%, #fdfafe 32%, #fcfbff 100%);
  color:var(--text);
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
ul{list-style:none}
.container{width:min(calc(100% - 40px), var(--max));margin-inline:auto}
.section{padding:105px 0;position:relative;z-index:1}
.grid{display:grid;gap:24px}
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:30px}
.center{text-align:center}

.bg-orb,.bg-orb-2{
  position:fixed;pointer-events:none;filter:blur(10px);z-index:0;border-radius:50%;
}
.bg-orb{
  width:240px;height:240px;left:-90px;bottom:8%;
  background:radial-gradient(circle, rgba(204,63,157,.18), transparent 68%);
  animation:floatY 12s ease-in-out infinite;
}
.bg-orb-2{
  width:310px;height:310px;right:-90px;top:7%;
  background:radial-gradient(circle, rgba(72,183,216,.16), transparent 68%);
  animation:floatY 14s ease-in-out infinite reverse;
}

@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-25px)}}
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes shine{0%{transform:translateX(-130%) skewX(-22deg)}100%{transform:translateX(250%) skewX(-22deg)}}
@keyframes spinSlow{from{transform:translateX(-50%) rotate(0)}to{transform:translateX(-50%) rotate(360deg)}}
@keyframes fadeUp{to{opacity:1;transform:none}}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease, transform .9s ease}
.reveal.show{opacity:1;transform:none}
.delay-1{transition-delay:.08s}
.delay-2{transition-delay:.16s}
.delay-3{transition-delay:.24s}
.delay-4{transition-delay:.32s}

.topbar{position:fixed;top:16px;left:0;right:0;z-index:1000;padding:0 12px}
.nav{
  width:min(calc(100% - 18px), 1320px);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:14px 18px;border-radius:999px;
  background:rgba(255,255,255,.76);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.78);box-shadow:0 14px 34px rgba(121,84,150,.12);
}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-logo{
  width:54px;height:54px;border-radius:50%;object-fit:cover;background:#fff;padding:4px;box-shadow:var(--shadow-sm)
}
.brand-text strong{
  display:block;font-family:'Cormorant Garamond',serif;font-size:1.55rem;line-height:1;font-weight:700;white-space:nowrap
}
.brand-text span{
  display:block;margin-top:4px;font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.18em
}
.nav-links{display:flex;align-items:center;gap:26px;font-size:.97rem;font-weight:600;color:#5c5268}
.nav-links a{position:relative;transition:var(--transition)}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;border-radius:99px;
  background:linear-gradient(90deg,var(--primary),var(--primary-2));transition:var(--transition)
}
.nav-links a:hover{color:var(--primary-2)}
.nav-links a:hover::after{width:100%}
.btn,.btn-outline,.btn-small{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;border:none;cursor:pointer;
  transition:var(--transition);font-weight:800
}
.btn{
  padding:17px 28px;border-radius:999px;color:#fff;
  background:linear-gradient(90deg,var(--primary),var(--primary-2),var(--accent));
  background-size:200% 200%;animation:gradientShift 8s ease infinite;
  box-shadow:0 18px 34px rgba(145,72,175,.22);position:relative;overflow:hidden;isolation:isolate
}
.btn::before{
  content:"";position:absolute;inset:0;width:28%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  transform:translateX(-130%) skewX(-24deg);animation:shine 4.6s linear infinite;z-index:-1
}
.btn:hover{transform:translateY(-3px) scale(1.02)}
.btn-outline{
  padding:16px 26px;border-radius:999px;background:rgba(255,255,255,.9);color:#584d63;
  border:1px solid var(--line);box-shadow:var(--shadow-sm)
}
.btn-outline:hover{transform:translateY(-3px);color:var(--primary-2)}
.btn-small{padding:12px 18px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid var(--line);color:#584d63}
.menu-btn{display:none;border:none;background:transparent;width:48px;height:48px;border-radius:50%;cursor:pointer}
.menu-btn span{display:block;width:22px;height:2px;background:#5b5065;margin:5px auto;border-radius:99px}

.hero{padding:170px 0 120px;position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:46px;align-items:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.82);
  border:1px solid rgba(204,63,157,.10);box-shadow:var(--shadow-sm);font-size:.85rem;font-weight:800;color:#6a6075;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px
}
.eyebrow::before{
  content:"";width:10px;height:10px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:0 0 18px rgba(204,63,157,.35)
}
.hero h1{
  font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6vw,5.9rem);line-height:.95;
  letter-spacing:-.03em;margin-bottom:22px;color:#2d2233
}
.hero h1 .gradient{
  background:linear-gradient(90deg,var(--primary),var(--primary-2),var(--accent));
  background-size:200% 200%;animation:gradientShift 8s ease infinite;
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.hero p{max-width:760px;font-size:1.08rem;line-height:1.9;color:#645a6f;margin-bottom:32px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:36px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:780px}
.metric,.card,.glass,.tile,.price-card,.testimonial,.contact-card,.faq-item,.map-card{
  background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow);border-radius:var(--radius)
}
.metric{padding:20px;border-radius:22px}
.metric strong{display:block;font-size:1.4rem;color:#342b3d;margin-bottom:6px}
.metric span{color:var(--muted);line-height:1.6;font-size:.94rem}

.hero-visual{position:relative;min-height:620px}
.visual-ring{
  position:absolute;top:58px;left:50%;width:420px;height:420px;transform:translateX(-50%);
  border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.76), rgba(255,255,255,.15) 54%, transparent 70%);
  border:1px solid rgba(255,255,255,.75);box-shadow:0 20px 58px rgba(146,95,182,.16);animation:spinSlow 24s linear infinite
}
.visual-main{position:absolute;top:70px;left:50%;transform:translateX(-50%);width:min(100%,520px);padding:18px}
.visual-inner{
  min-height:540px;border-radius:28px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  background:linear-gradient(135deg, rgba(255,239,249,.96), rgba(239,245,255,.96))
}
.visual-inner::before,.visual-inner::after{content:"";position:absolute;border-radius:50%}
.visual-inner::before{
  width:240px;height:240px;top:-60px;right:-30px;background:radial-gradient(circle, rgba(204,63,157,.16), transparent 66%)
}
.visual-inner::after{
  width:250px;height:250px;left:-50px;bottom:-80px;background:radial-gradient(circle, rgba(72,183,216,.16), transparent 68%)
}
.hero-logo{width:min(86%, 420px);object-fit:contain;filter:drop-shadow(0 20px 36px rgba(132,84,166,.18));position:relative;z-index:2;transition:transform .2s ease}
.floating-note{position:absolute;padding:16px 18px;max-width:240px}
.floating-note small{display:block;color:var(--muted);font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.floating-note strong{display:block;color:#31273a;line-height:1.45}
.floating-note p{font-size:.92rem;line-height:1.7;color:#6d6278;margin-top:8px}
.note-1{top:24px;left:-10px}
.note-2{top:170px;right:-10px}
.note-3{bottom:18px;left:14px}

.section-title{text-align:left;max-width:820px}
.section-title.center{margin:0 auto;text-align:center}
.mini{
  display:inline-block;margin-bottom:14px;font-size:.84rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--primary-2)
}
.section-title h2{
  font-family:'Cormorant Garamond',serif;font-size:clamp(2.3rem,5vw,4.1rem);line-height:1;margin-bottom:16px;color:#2d2233
}
.section-title p{color:#6d6278;line-height:1.9;font-size:1.02rem}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:42px}
.section-aside{max-width:360px;color:#827791;line-height:1.8;font-weight:600}

.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{padding:28px;position:relative;overflow:hidden;transition:var(--transition)}
.card::before{
  content:"";position:absolute;inset:auto -35px -35px auto;width:140px;height:140px;border-radius:50%;
  background:radial-gradient(circle, rgba(204,63,157,.14), transparent 68%);transition:var(--transition)
}
.card:hover{transform:translateY(-10px);box-shadow:0 26px 56px rgba(135,88,168,.18)}
.card:hover::before{transform:scale(1.2)}
.icon-badge{
  width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-size:1.4rem;margin-bottom:18px;
  background:linear-gradient(135deg, rgba(204,63,157,.12), rgba(72,183,216,.12));border:1px solid rgba(204,63,157,.08)
}
.card h3{font-size:1.22rem;color:#31273a;margin-bottom:12px}
.card p{color:#6f657b;line-height:1.8;font-size:.96rem;margin-bottom:16px}
.list{display:grid;gap:8px;color:#5f5468;font-size:.94rem}
.list li{position:relative;padding-left:18px}
.list li::before{
  content:"";position:absolute;left:0;top:.68em;width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--accent));transform:translateY(-50%)
}

.split{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.glass{padding:34px}
.glass h3{font-family:'Cormorant Garamond',serif;font-size:2rem;margin-bottom:18px}
.glass p{color:#6f657b;line-height:1.9;margin-bottom:20px}
.points{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.point{
  border-radius:20px;padding:18px;border:1px solid rgba(122,92,148,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(249,244,252,.92));box-shadow:var(--shadow-sm)
}
.point strong{display:block;color:#32293a;margin-bottom:8px}
.point span{display:block;color:#70657b;line-height:1.7;font-size:.94rem}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.stat{
  padding:22px;border-radius:22px;text-align:center;
  border:1px solid rgba(126,95,150,.10);background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(247,241,251,.92));
  box-shadow:var(--shadow-sm)
}
.stat strong{display:block;font-size:2rem;font-weight:800;color:var(--primary-2);margin-bottom:6px}
.stat span{color:#776c83;font-size:.95rem}

.highlight-box{
  padding:38px;display:flex;justify-content:space-between;align-items:center;gap:22px;
  color:#fff;border-radius:34px;
  background:linear-gradient(90deg, rgba(204,63,157,.96), rgba(129,74,225,.94), rgba(72,183,216,.93));
  box-shadow:0 28px 64px rgba(130,69,165,.28)
}
.highlight-box h3{font-family:'Cormorant Garamond',serif;font-size:2.35rem;line-height:1;margin-bottom:10px}
.highlight-box p{max-width:720px;line-height:1.85;color:rgba(255,255,255,.9)}

.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.gallery-card{
  min-height:260px;border-radius:24px;overflow:hidden;position:relative;box-shadow:var(--shadow-sm);
  background:linear-gradient(135deg, rgba(255,236,248,.98), rgba(239,245,255,.98));border:1px solid rgba(255,255,255,.85);
  transition:var(--transition)
}
.gallery-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:var(--shadow)}
.gallery-card::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(204,63,157,.22), transparent 24%),
    radial-gradient(circle at 78% 22%, rgba(72,183,216,.22), transparent 24%),
    radial-gradient(circle at 65% 78%, rgba(129,74,225,.18), transparent 26%)
}
.gallery-card::after{
  content:"";position:absolute;inset:16px;border-radius:22px;border:1px dashed rgba(255,255,255,.52)
}
.gallery-card span{
  position:absolute;left:16px;bottom:16px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow-sm);color:#60556b;font-size:.86rem;font-weight:800
}

.price-card{padding:32px;position:relative;overflow:hidden;transition:var(--transition)}
.price-card.featured{transform:translateY(-8px);border:1px solid rgba(204,63,157,.16);background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,244,252,.95))}
.price-card:hover{transform:translateY(-10px);box-shadow:0 26px 56px rgba(135,88,168,.18)}
.price-badge{
  display:inline-block;padding:8px 12px;border-radius:999px;background:rgba(204,63,157,.10);color:var(--primary);
  font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px
}
.price-card h3{font-size:1.38rem;color:#31273a;margin-bottom:8px}
.price-card .desc{color:#736881;line-height:1.8;margin-bottom:16px;min-height:58px}
.price{font-size:2.25rem;font-weight:800;color:var(--primary-2);margin-bottom:18px}
.price small{font-size:1rem;color:#847992}
.price-card ul{display:grid;gap:10px;margin-bottom:24px;color:#5f5469;line-height:1.7}
.price-card li{position:relative;padding-left:20px}
.price-card li::before{content:"•";position:absolute;left:0;top:0;color:var(--primary);font-size:1.2rem}

.testimonial{padding:30px;min-height:280px;transition:var(--transition)}
.testimonial:hover{transform:translateY(-8px)}
.quote{font-size:3rem;line-height:1;color:rgba(204,63,157,.18);font-weight:800;margin-bottom:12px}
.testimonial p{color:#665b72;line-height:1.9;margin-bottom:24px}
.author{display:flex;align-items:center;gap:14px}
.avatar{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;
  background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:var(--shadow-sm)
}
.author strong{display:block;color:#31273a;margin-bottom:4px}
.author span{color:#7a6f86;font-size:.92rem}

.faq-list{display:grid;gap:16px}
.faq-item{overflow:hidden}
.faq-btn{
  width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;text-align:left;
  padding:24px 26px;border:none;background:transparent;cursor:pointer;font-size:1.04rem;font-weight:700;color:#342b3c
}
.faq-icon{
  min-width:36px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--primary-2);
  background:linear-gradient(135deg, rgba(204,63,157,.12), rgba(72,183,216,.12));transition:var(--transition)
}
.faq-item.active .faq-icon{transform:rotate(45deg)}
.faq-content{max-height:0;overflow:hidden;transition:max-height .35s ease;color:#6d6278;line-height:1.9;padding:0 26px}
.faq-content p{padding:0 0 24px}

.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-card,.map-card{padding:34px}
.contact-card h3,.map-card h3{font-family:'Cormorant Garamond',serif;font-size:2rem;margin-bottom:16px}
.contact-card p,.map-card p{color:#6d6278;line-height:1.85;margin-bottom:20px}
.contact-list{display:grid;gap:14px;margin-bottom:26px}
.contact-list li{display:flex;gap:14px;align-items:flex-start;color:#5c5167;line-height:1.8}
.dot{
  min-width:12px;width:12px;height:12px;border-radius:50%;margin-top:.7em;background:linear-gradient(135deg,var(--primary),var(--accent));
  box-shadow:0 0 18px rgba(204,63,157,.24)
}
.socials{display:flex;flex-wrap:wrap;gap:12px}
.socials a{
  padding:12px 18px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid var(--line);
  box-shadow:var(--shadow-sm);font-weight:700;color:#5b5166;transition:var(--transition)
}
.socials a:hover{transform:translateY(-3px);color:var(--primary-2)}
form{display:grid;gap:16px}
.input-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{
  width:100%;border:none;outline:none;border-radius:18px;padding:16px 18px;background:#fff;color:#33293b;
  border:1px solid rgba(129,98,153,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.6);transition:.25s ease
}
.field:focus{border-color:rgba(129,74,225,.24);box-shadow:0 0 0 4px rgba(129,74,225,.08)}
textarea.field{min-height:150px;resize:vertical}
.map-placeholder{
  min-height:320px;border-radius:26px;display:grid;place-items:center;padding:28px;text-align:center;
  background:
    radial-gradient(circle at 20% 25%, rgba(204,63,157,.12), transparent 22%),
    radial-gradient(circle at 80% 30%, rgba(72,183,216,.12), transparent 22%),
    linear-gradient(135deg, rgba(255,250,253,.96), rgba(244,248,255,.96));
  border:1px dashed rgba(129,98,153,.16)
}
.map-placeholder strong{display:block;font-size:1.22rem;color:#352b3d;margin-bottom:10px}
.map-placeholder p{max-width:480px;margin:0 auto;color:#6e6379;line-height:1.8}

.footer{padding:26px 0 46px;position:relative;z-index:1}
.footer-box{
  display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;border-radius:26px;
  background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.84);box-shadow:var(--shadow-sm);color:#6a6075
}
.footer-box strong{color:#33293b}
.floating-book{
  position:fixed;right:18px;bottom:18px;z-index:1000;padding:16px 22px;border-radius:999px;color:#fff;font-weight:800;
  background:linear-gradient(90deg,var(--primary),var(--primary-2),var(--accent));
  background-size:200% 200%;animation:gradientShift 8s ease infinite;box-shadow:0 18px 38px rgba(145,72,175,.28)
}

.page-hero{
  padding:155px 0 80px;position:relative;z-index:1
}
.page-hero-box{
  padding:40px;border-radius:34px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.82);box-shadow:var(--shadow)
}
.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:.9rem;color:#7b7086;margin-bottom:14px}
.breadcrumbs a{color:var(--primary-2)}
.page-hero h1{
  font-family:'Cormorant Garamond',serif;font-size:clamp(2.7rem,5vw,4.8rem);line-height:1;margin-bottom:14px
}
.page-hero p{max-width:820px;color:#675c72;line-height:1.9;font-size:1.05rem}

.notice{
  padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.86);border:1px solid var(--line);box-shadow:var(--shadow-sm);
  color:#675c72;line-height:1.8
}

.seo-box{padding:32px;position:relative;overflow:hidden}
.seo-box::before{
  content:"";position:absolute;inset:auto -40px -50px auto;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle, rgba(204,63,157,.15), transparent 68%)
}
.seo-box h3{font-family:'Cormorant Garamond',serif;font-size:2rem;margin-bottom:14px}
.seo-box p{color:#6e6379;line-height:1.9;margin-bottom:16px}
.tags{display:flex;flex-wrap:wrap;gap:12px}
.tags span{
  padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.84);border:1px solid rgba(129,98,153,.12);
  box-shadow:var(--shadow-sm);font-size:.9rem;font-weight:700;color:#5d5268
}

@media (max-width:1180px){
  .hero-grid,.two-col,.split,.contact-wrap{grid-template-columns:1fr}
  .cards-4{grid-template-columns:repeat(2,1fr)}
  .cards-3,.gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .nav-links,.nav-cta{display:none}
  .menu-btn{display:block}
  .nav.mobile-open{border-radius:28px;padding-bottom:18px;flex-wrap:wrap}
  .nav.mobile-open .nav-links{display:flex;width:100%;flex-direction:column;align-items:flex-start;padding:8px 12px 0;gap:16px}
  .nav.mobile-open .nav-cta{display:inline-flex;margin-left:12px}
  .hero{padding-top:140px}
  .hero-visual{min-height:500px}
  .metrics,.stats,.points,.input-row{grid-template-columns:1fr}
  .section-head{flex-direction:column;align-items:flex-start}
  .highlight-box,.footer-box{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .cards-4,.cards-3,.cards-2,.gallery-grid{grid-template-columns:1fr}
  .brand-text strong{font-size:1.2rem}
  .page-hero-box,.glass,.card,.price-card,.testimonial,.contact-card,.map-card,.seo-box{padding:24px}
  .visual-main{position:relative;top:auto;left:auto;transform:none;width:100%}
  .hero-visual{display:grid;gap:14px;min-height:auto}
  .visual-ring{display:none}
  .floating-note{position:static}
  .visual-inner{min-height:420px}
  .hero-logo{width:88%}
  .btn,.btn-outline{width:100%}
  .floating-book{left:12px;right:12px;text-align:center}
}


/* ===== PRO++ upgrades ===== */
.ribbon-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 18px;border-radius:999px;
  background:linear-gradient(90deg, rgba(217,180,107,.18), rgba(204,63,157,.10));
  border:1px solid rgba(217,180,107,.28);
  color:#7b5c24;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;
  box-shadow:var(--shadow-sm);margin-bottom:18px
}
.ribbon-badge::before{
  content:"★";font-size:.95rem;color:var(--gold)
}
.cards-5{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.mini-card{
  padding:20px;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.82);
  box-shadow:var(--shadow-sm);text-align:center;transition:var(--transition)
}
.mini-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.mini-card strong{display:block;color:#342b3d;font-size:1.1rem;margin-bottom:6px}
.mini-card span{display:block;color:#726781;line-height:1.6;font-size:.92rem}

.before-after-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.before-after{
  padding:18px;border-radius:28px;background:rgba(255,255,255,.80);border:1px solid rgba(255,255,255,.84);box-shadow:var(--shadow);
  transition:var(--transition)
}
.before-after:hover{transform:translateY(-8px)}
.ba-visual{
  min-height:250px;border-radius:24px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 18% 22%, rgba(204,63,157,.18), transparent 24%),
    radial-gradient(circle at 78% 22%, rgba(72,183,216,.16), transparent 22%),
    linear-gradient(135deg, rgba(255,244,249,.98), rgba(240,246,255,.98));
  border:1px solid rgba(255,255,255,.85)
}
.ba-split{
  position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr
}
.ba-side{
  display:flex;align-items:end;justify-content:center;padding:18px;position:relative
}
.ba-side::before{
  content:"";position:absolute;top:18px;left:50%;transform:translateX(-50%);
  width:68px;height:68px;border-radius:50%;
  background:linear-gradient(135deg, rgba(204,63,157,.16), rgba(72,183,216,.14));
  box-shadow:var(--shadow-sm)
}
.ba-side:first-child{border-right:1px dashed rgba(124,97,151,.16)}
.ba-side span{
  display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.9);
  box-shadow:var(--shadow-sm);font-weight:800;color:#5f546b;font-size:.84rem;letter-spacing:.06em;text-transform:uppercase
}
.before-after h3{font-size:1.18rem;color:#31273a;margin:16px 0 10px}
.before-after p{color:#6d6278;line-height:1.8;font-size:.95rem}

.booking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.booking-card{
  padding:28px;border-radius:28px;background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.84);box-shadow:var(--shadow);
  transition:var(--transition);position:relative;overflow:hidden
}
.booking-card::before{
  content:"";position:absolute;right:-35px;bottom:-35px;width:130px;height:130px;border-radius:50%;
  background:radial-gradient(circle, rgba(129,74,225,.14), transparent 70%)
}
.booking-card:hover{transform:translateY(-8px)}
.booking-card h3{font-size:1.22rem;color:#31273a;margin-bottom:10px}
.booking-card p{color:#6d6278;line-height:1.8;margin-bottom:18px}
.eyebrow-lite{
  display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(204,63,157,.08);color:var(--primary);
  font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px
}
.insta-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px
}
.insta-card{
  min-height:220px;border-radius:22px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 22% 22%, rgba(204,63,157,.2), transparent 24%),
    radial-gradient(circle at 80% 24%, rgba(129,74,225,.18), transparent 24%),
    radial-gradient(circle at 62% 80%, rgba(72,183,216,.18), transparent 28%),
    linear-gradient(135deg, rgba(255,242,248,.98), rgba(239,246,255,.98));
  border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadow-sm);transition:var(--transition)
}
.insta-card:hover{transform:translateY(-6px) scale(1.01)}
.insta-card span{
  position:absolute;left:14px;bottom:14px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.9);font-size:.84rem;font-weight:800;color:#5f546b
}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}
.social-floating{
  position:fixed;left:16px;bottom:18px;z-index:1000;display:flex;flex-direction:column;gap:10px
}
.social-floating a{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-sm);
  color:#5e5368;font-weight:900;transition:var(--transition)
}
.social-floating a:hover{transform:translateY(-4px);color:var(--primary-2);box-shadow:var(--shadow)}
.price-note{
  margin-top:18px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.86);border:1px solid var(--line);
  color:#6b6077;line-height:1.75;font-size:.95rem
}
.status-box{
  margin-top:16px;padding:14px 16px;border-radius:16px;background:rgba(204,63,157,.08);color:#7d3967;border:1px solid rgba(204,63,157,.14);
  font-weight:700;display:none
}
.status-box.show{display:block}
@media (max-width:1180px){
  .before-after-grid,.booking-grid,.insta-strip,.cards-5{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .before-after-grid,.booking-grid,.insta-strip,.cards-5{grid-template-columns:1fr}
  .social-floating{left:12px;bottom:86px;flex-direction:row}
}


/* ===== ULTRA PRESTIGE ===== */
.prestige-frame{
  position:relative;padding:28px;border-radius:36px;
  background:linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,250,253,.78));
  border:1px solid rgba(255,255,255,.88);box-shadow:0 24px 70px rgba(133,88,170,.16)
}
.prestige-frame::before{
  content:"";position:absolute;inset:12px;border-radius:28px;
  border:1px solid rgba(217,180,107,.26);pointer-events:none
}
.gold-line{
  width:120px;height:2px;border-radius:999px;margin:18px auto 0;
  background:linear-gradient(90deg, transparent, var(--gold), transparent)
}
.luxury-pillars{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px
}
.luxury-pillar{
  padding:24px;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.88);
  box-shadow:var(--shadow-sm);text-align:center;transition:var(--transition)
}
.luxury-pillar:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.luxury-pillar strong{
  display:block;font-size:1.1rem;color:#32293a;margin-bottom:10px
}
.luxury-pillar span{display:block;color:#71667d;line-height:1.7;font-size:.94rem}
.signature-banner{
  padding:42px;border-radius:36px;
  background:
    radial-gradient(circle at 20% 20%, rgba(217,180,107,.18), transparent 24%),
    radial-gradient(circle at 82% 28%, rgba(204,63,157,.16), transparent 24%),
    linear-gradient(135deg, rgba(255,250,252,.96), rgba(243,247,255,.96));
  border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadow)
}
.signature-banner h3{
  font-family:'Cormorant Garamond',serif;font-size:2.6rem;line-height:1;margin-bottom:12px;color:#2f2437
}
.signature-banner p{
  color:#685d73;line-height:1.9;max-width:860px;margin:0 auto
}
.lux-cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px
}
.lux-card{
  padding:30px;border-radius:28px;background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadow);transition:var(--transition);position:relative;overflow:hidden
}
.lux-card::after{
  content:"";position:absolute;top:-20px;right:-20px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle, rgba(217,180,107,.16), transparent 70%)
}
.lux-card:hover{transform:translateY(-10px)}
.lux-card h3{font-size:1.24rem;color:#31273a;margin-bottom:10px}
.lux-card p{color:#6d6278;line-height:1.8}
.lux-card .tag{
  display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(217,180,107,.12);
  color:#8a6a2b;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px
}
.hero-spotlight{
  position:absolute;inset:auto auto 40px 40px;padding:16px 18px;max-width:250px;
  border-radius:24px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow)
}
.hero-spotlight strong{display:block;color:#31273a;margin-bottom:8px}
.hero-spotlight p{margin:0;color:#6e6379;line-height:1.7;font-size:.92rem}
.gallery-mosaic{
  display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:240px 240px;gap:18px
}
.mosaic-tile{
  border-radius:28px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(204,63,157,.16), transparent 24%),
    radial-gradient(circle at 84% 22%, rgba(72,183,216,.16), transparent 24%),
    radial-gradient(circle at 66% 80%, rgba(217,180,107,.15), transparent 24%),
    linear-gradient(135deg, rgba(255,244,249,.98), rgba(241,246,255,.98));
  border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadow-sm);transition:var(--transition)
}
.mosaic-tile:hover{transform:translateY(-6px) scale(1.01)}
.mosaic-tile.large{grid-row:1 / span 2}
.mosaic-tile span{
  position:absolute;left:16px;bottom:16px;padding:10px 14px;border-radius:999px;
  background:rgba(255,255,255,.88);font-size:.84rem;font-weight:800;color:#5f546b;border:1px solid rgba(255,255,255,.9)
}
.vip-contact{
  display:grid;grid-template-columns:1fr .9fr;gap:24px
}
.vip-box{
  padding:34px;border-radius:30px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadow)
}
.vip-box h3{font-family:'Cormorant Garamond',serif;font-size:2.1rem;margin-bottom:14px}
.vip-box p{color:#6d6278;line-height:1.9;margin-bottom:20px}
.quick-contact{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px
}
.quick-contact a{
  padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.9);border:1px solid var(--line);
  box-shadow:var(--shadow-sm);font-weight:800;color:#594e64;text-align:center;transition:var(--transition)
}
.quick-contact a:hover{transform:translateY(-4px);color:var(--primary-2)}
.ultra-note{
  margin-top:18px;padding:16px 18px;border-radius:18px;
  background:linear-gradient(135deg, rgba(217,180,107,.08), rgba(204,63,157,.06));
  border:1px solid rgba(217,180,107,.16);color:#6b6077;line-height:1.8
}
.price-premium{
  display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(217,180,107,.12);
  color:#8a6a2b;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px
}
@media (max-width:1180px){
  .luxury-pillars,.lux-cards,.quick-contact{grid-template-columns:repeat(2,1fr)}
  .gallery-mosaic,.vip-contact{grid-template-columns:1fr}
  .gallery-mosaic{grid-template-rows:auto}
  .mosaic-tile.large{grid-row:auto;min-height:260px}
}
@media (max-width:640px){
  .luxury-pillars,.lux-cards,.quick-contact{grid-template-columns:1fr}
  .hero-spotlight{position:static;margin-top:14px;max-width:none}
}


/* ===== WOW HERO PREMIUM ===== */
.hero-wow-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:28px;
  align-items:stretch;
}
.wow-services{
  padding:34px;
  border-radius:32px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(250,244,252,.92));
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 24px 70px rgba(133,88,170,.14);
  position:relative;
  overflow:hidden;
}
.wow-services::before{
  content:"";
  position:absolute;
  right:-60px;
  top:-60px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(204,63,157,.12), transparent 68%);
}
.wow-services h3{
  font-family:'Cormorant Garamond',serif;
  font-size:2.5rem;
  line-height:1;
  margin-bottom:20px;
  color:#2f2437;
}
.wow-service-list{
  display:grid;
  gap:14px;
}
.wow-service-item{
  padding:18px 20px;
  border-radius:22px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(129,98,153,.10);
  box-shadow:var(--shadow-sm);
  transition:var(--transition);
}
.wow-service-item:hover{
  transform:translateY(-6px) scale(1.01);
  box-shadow:var(--shadow);
}
.wow-service-item strong{
  display:block;
  font-size:1.06rem;
  color:#32293a;
  margin-bottom:6px;
}
.wow-service-item span{
  display:block;
  color:#6f657b;
  line-height:1.7;
}
.wow-address{
  margin-top:22px;
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(217,180,107,.10), rgba(204,63,157,.06));
  border:1px solid rgba(217,180,107,.16);
  color:#5f5469;
  line-height:1.8;
}
.wow-address strong{
  color:#2f2437;
}
.wow-brand-panel{
  padding:18px;
  border-radius:32px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(249,252,255,.84));
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 24px 70px rgba(133,88,170,.16);
  position:relative;
  overflow:hidden;
}
.wow-brand-inner{
  min-height:100%;
  border-radius:28px;
  padding:36px;
  background:
    radial-gradient(circle at 15% 18%, rgba(204,63,157,.16), transparent 22%),
    radial-gradient(circle at 88% 20%, rgba(72,183,216,.14), transparent 22%),
    radial-gradient(circle at 75% 88%, rgba(217,180,107,.16), transparent 20%),
    linear-gradient(135deg, rgba(255,247,251,.98), rgba(242,247,255,.98));
  position:relative;
  overflow:hidden;
}
.wow-brand-inner h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.5rem,4vw,4rem);
  line-height:.95;
  color:#2d2233;
  margin-bottom:18px;
  max-width:760px;
}
.wow-brand-inner p{
  max-width:760px;
  color:#655a70;
  line-height:1.95;
  font-size:1.04rem;
  margin-bottom:24px;
}
.wow-image-wrap{
  display:grid;
  grid-template-columns:1fr .72fr;
  gap:18px;
  align-items:stretch;
}
.wow-image-main{
  min-height:330px;
  border-radius:28px;
  overflow:hidden;
  position:relative;
  box-shadow:var(--shadow);
  background:
    linear-gradient(135deg, rgba(255,236,248,.98), rgba(239,245,255,.98));
}
.wow-image-main::before{
  content:"Hair Studio";
  position:absolute;
  top:18px;
  left:20px;
  font-family:'Cormorant Garamond',serif;
  font-size:3rem;
  color:rgba(129,74,225,.10);
  z-index:1;
}
.wow-image-main img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:20px;
  filter:drop-shadow(0 18px 34px rgba(129,74,225,.16));
}
.wow-image-side{
  display:grid;
  gap:18px;
}
.wow-mini-photo{
  min-height:156px;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 18% 24%, rgba(204,63,157,.18), transparent 24%),
    radial-gradient(circle at 82% 20%, rgba(72,183,216,.18), transparent 24%),
    linear-gradient(135deg, rgba(255,244,249,.98), rgba(241,246,255,.98));
  box-shadow:var(--shadow-sm);
}
.wow-mini-photo span{
  position:absolute;
  left:14px;
  bottom:14px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.9);
  color:#5f546b;
  font-size:.83rem;
  font-weight:800;
}
.wow-glow{
  position:absolute;
  right:-40px;
  bottom:-50px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(129,74,225,.16), transparent 70%);
  filter:blur(6px);
}
@media (max-width:1180px){
  .hero-wow-grid,
  .wow-image-wrap{grid-template-columns:1fr}
}


/* ===== REAL PHOTOS GALLERY ===== */
.real-photo-card{
  border-radius:26px;
  overflow:hidden;
  position:relative;
  background:#fff;
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.88);
  transition:var(--transition);
}
.real-photo-card:hover{
  transform:translateY(-8px);
}
.real-photo-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.real-photo-card.tall{
  min-height:420px;
}
.real-photo-card.medium{
  min-height:260px;
}
.real-label{
  position:absolute;
  left:16px;
  bottom:16px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.94);
  color:#5f546b;
  font-size:.84rem;
  font-weight:800;
  box-shadow:var(--shadow-sm);
}
.before-after-real{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.before-after-real-card{
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.88);
  box-shadow:var(--shadow);
  transition:var(--transition);
}
.before-after-real-card:hover{
  transform:translateY(-8px);
}
.before-after-real-top{
  position:relative;
  min-height:390px;
  overflow:hidden;
}
.before-after-real-top img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ba-pill{
  position:absolute;
  top:14px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.94);
  font-size:.82rem;
  font-weight:800;
  color:#5f546b;
  box-shadow:var(--shadow-sm);
}
.ba-pill.left{left:14px}
.ba-pill.right{right:14px}
.before-after-real-body{
  padding:22px;
}
.before-after-real-body h3{
  font-size:1.18rem;
  color:#31273a;
  margin-bottom:10px;
}
.before-after-real-body p{
  color:#6d6278;
  line-height:1.85;
}
.real-gallery-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr .92fr;
  gap:18px;
}
.real-gallery-side{
  display:grid;
  gap:18px;
}
@media (max-width:1180px){
  .real-gallery-grid,
  .before-after-real{
    grid-template-columns:1fr;
  }
}


/* ===== LOCAL SEO + REALIZATION PHOTOS ===== */
.realization-photos{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.realization-photo{
  min-height:260px;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  background:#fff;
  border:1px solid rgba(255,255,255,.88);
  box-shadow:var(--shadow);
  transition:var(--transition);
}
.realization-photo:hover{
  transform:translateY(-8px);
}
.realization-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.realization-photo .label{
  position:absolute;
  left:14px;
  bottom:14px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.92);
  color:#5f546b;
  font-size:.84rem;
  font-weight:800;
  box-shadow:var(--shadow-sm);
}
.local-seo-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.local-seo-box{
  padding:30px;
  border-radius:28px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.88);
  box-shadow:var(--shadow);
}
.local-seo-box h3{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  margin-bottom:16px;
  color:#2f2437;
}
.local-seo-box p{
  color:#6d6278;
  line-height:1.9;
  margin-bottom:16px;
}
.local-town-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.local-town-tags span{
  padding:12px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(129,98,153,.12);
  box-shadow:var(--shadow-sm);
  color:#5d5268;
  font-size:.9rem;
  font-weight:700;
}
@media (max-width:1180px){
  .realization-photos{
    grid-template-columns:repeat(2,1fr);
  }
  .local-seo-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  .realization-photos{
    grid-template-columns:1fr;
  }
}


/* ===== PREMIUM ANIMATIONS ===== */
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes shimmerSweep{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes glowPulse{0%,100%{box-shadow:0 15px 35px rgba(145,72,175,.18)}50%{box-shadow:0 24px 55px rgba(145,72,175,.30)}}
@keyframes revealScale{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes borderGlow{0%,100%{border-color:rgba(217,180,107,.18)}50%{border-color:rgba(204,63,157,.28)}}
.hero-visual,.wow-brand-panel,.visual-main{animation:softFloat 8s ease-in-out infinite}
.btn,.floating-book{animation:gradientShift 8s ease infinite, glowPulse 4.8s ease-in-out infinite}
.reveal.show{animation:revealScale .9s ease both}
.metric,.card,.glass,.testimonial,.price-card,.gallery-card,.realization-photo,.before-after-real-card,.real-photo-card,.wow-service-item{
  transition:transform .45s ease, box-shadow .45s ease, border-color .45s ease;
}
.metric:hover,.card:hover,.glass:hover,.testimonial:hover,.price-card:hover,.gallery-card:hover,.realization-photo:hover,.before-after-real-card:hover,.real-photo-card:hover,.wow-service-item:hover{
  border-color:rgba(217,180,107,.22);
  animation:borderGlow 2.4s ease-in-out infinite;
}
.premium-hero-shell{
  padding:22px;
  border-radius:38px;
  background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(248,251,255,.80));
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 28px 80px rgba(126,88,166,.14);
}
.premium-badge{
  display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:999px;
  background:linear-gradient(90deg, rgba(217,180,107,.16), rgba(204,63,157,.10));
  border:1px solid rgba(217,180,107,.24);color:#7b5c24;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;
  box-shadow:var(--shadow-sm);margin-bottom:18px
}
.premium-badge::before{content:"✦";color:var(--gold)}
.hero-cta-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.cms-entry{
  position:fixed;top:90px;right:16px;z-index:1001;
  padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.92);box-shadow:var(--shadow-sm);
  font-weight:800;color:#5e5368
}
.cms-entry:hover{transform:translateY(-3px);color:var(--primary-2)}


/* ===== ULTRA PRO COLORS ===== */
h1, h2, h3, .section-title h2, .hero h1, .wow-brand-inner h2, .premium-hero-shell h1 {
  font-family:'Cormorant Garamond', serif;
  letter-spacing:.02em;
}
h1, .hero h1, .premium-hero-shell h1 {
  background:linear-gradient(90deg, #6f45d6 0%, #c63f9d 52%, #d9b46b 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
h2, .section-title h2, .wow-brand-inner h2 {
  background:linear-gradient(90deg, #5d3fb5 0%, #b83f8d 70%, #d5a85a 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
h3, .glass h3, .card h3, .price-card h3, .wow-services h3 {
  color:#3e2f4f;
}
.mini, .premium-badge, .eyebrow, .price-premium, .price-badge {
  letter-spacing:.12em;
}
.cms-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cms-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cms-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.cms-toolbar button{
  padding:10px 14px;border:none;border-radius:12px;background:#fff;color:#503f62;
  box-shadow:0 8px 20px rgba(0,0,0,.06);cursor:pointer;font-weight:700
}
.cms-section-title{
  margin:0 0 14px;
  font-family:'Cormorant Garamond', serif;
  font-size:2rem;
  color:#4b355e;
}
.cms-muted{color:#6c6078;font-size:14px;line-height:1.6}
.cms-repeater{
  border:1px dashed #d9d1e4;
  border-radius:18px;
  padding:16px;
  margin:12px 0;
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(249,245,252,.95));
}
.cms-repeater h4{
  margin:0 0 12px;
  color:#5e4477;
  font-size:18px;
}
.cms-actions{
  position:sticky;
  bottom:12px;
  background:rgba(247,243,251,.92);
  backdrop-filter:blur(12px);
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 12px 28px rgba(0,0,0,.06);
  margin-top:20px;
}
.cms-panel-card{
  background:#fff;
  padding:24px;
  border-radius:22px;
  box-shadow:0 14px 40px rgba(0,0,0,.06);
  margin-bottom:20px;
}
.cms-note{
  padding:14px 16px;
  border-radius:14px;
  background:linear-gradient(90deg, rgba(111,69,214,.08), rgba(198,63,157,.08));
  color:#5a4d67;
  margin-bottom:14px;
}
@media (max-width:900px){
  .cms-grid-2,.cms-grid-3{grid-template-columns:1fr}
}


/* ===== TOP1 GOOGLE MENU ===== */
.dropdown{
  position:relative;
}
.dropdown > a{
  cursor:pointer;
}
.dropdown-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:250px;
  padding:10px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 20px 50px rgba(0,0,0,.08);
  display:none;
  z-index:999;
  backdrop-filter:blur(12px);
}
.dropdown-menu a{
  display:block;
  padding:11px 14px;
  border-radius:12px;
  color:#4e4358;
  transition:.25s ease;
  white-space:nowrap;
}
.dropdown-menu a:hover{
  background:linear-gradient(90deg,#f6f0ff,#fff8fc);
  color:#814ae1;
  transform:translateX(4px);
}
.dropdown:hover .dropdown-menu{
  display:block;
}
.footer a{
  transition:.25s ease;
}
.footer a:hover{
  color:#814ae1;
}


/* ===== TOP1 FINAL HERO ===== */
.hero-logo-wrap{
  display:flex;
  justify-content:center;
  margin:0 auto 24px;
}
.hero-main-logo{
  width:min(100%, 500px);
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 22px 40px rgba(129,74,225,.16));
  animation:logoFloat 4.8s ease-in-out infinite, logoGlow 3.8s ease-in-out infinite;
}
.premium-hero-shell{
  padding-top:34px;
}

/* FINAL COMPACT SPACING */
.section{padding:60px 0 !important;}
.hero{padding-top:24px !important;}
.premium-hero-shell{padding-top:14px !important;}
.hero-logo-wrap{margin:0 auto 20px !important;}

/* MENU LEVEL APP FINAL */
.no-scroll{overflow:hidden;}
.menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(20,16,28,.42);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  transition:.28s ease;
  z-index:2400;
}
.menu-overlay.active{opacity:1;visibility:visible;}
.mobile-caret{display:none;}
.mobile-menu-footer{display:none;}
@media (max-width: 900px){
  .menu-btn{
    display:block !important;
    width:48px;height:48px;border:none;background:rgba(255,255,255,.92);
    border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.06);cursor:pointer;z-index:2600;
  }
  .menu-btn span{
    display:block;width:24px;height:2px;background:#473b56;border-radius:99px;margin:5px auto;
    transition:transform .28s ease, opacity .28s ease;
  }
  .menu-btn.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-btn.active span:nth-child(2){opacity:0;}
  .menu-btn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .nav{flex-wrap:nowrap !important;gap:12px !important;align-items:center !important;}
  .nav-cta{display:none !important;}

  .nav-links{
    position:fixed !important;
    top:0 !important;
    right:-100% !important;
    width:min(86vw,360px) !important;
    height:100dvh !important;
    background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,244,252,.98)) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:92px 22px 24px !important;
    margin:0 !important;
    border-radius:26px 0 0 26px !important;
    box-shadow:-28px 0 60px rgba(21,18,30,.14) !important;
    transition:right .34s cubic-bezier(.22,.8,.2,1) !important;
    z-index:2500 !important;
    overflow-y:auto !important;
  }
  .nav-links.active{right:0 !important;}
  .nav-links > a, .nav-links > .dropdown{width:100% !important;}
  .nav-links a, .dropdown > a{
    display:flex !important;align-items:center !important;justify-content:space-between !important;
    min-height:54px !important;padding:14px 4px !important;font-size:17px !important;font-weight:700 !important;
    border-bottom:1px solid rgba(120,102,138,.10) !important;
  }
  .nav-links a::after, .dropdown > a::after{display:none !important;}

  .dropdown{padding-bottom:0 !important;margin-bottom:0 !important;}
  .mobile-caret{display:inline-block;margin-left:auto;transition:transform .28s ease;font-size:13px;color:#7a6f86;}
  .dropdown-menu{
    position:static !important;min-width:100% !important;display:grid !important;grid-template-columns:1fr !important;
    gap:8px !important;padding:10px 0 8px !important;margin:0 !important;background:transparent !important;
    border:none !important;box-shadow:none !important;opacity:1 !important;visibility:visible !important;
    transform:none !important;pointer-events:auto !important;max-height:0 !important;overflow:hidden !important;
    transition:max-height .3s ease !important;
  }
  .dropdown.mobile-open .dropdown-menu{max-height:420px !important;}
  .dropdown.mobile-open > a .mobile-caret{transform:rotate(180deg);}
  .dropdown-menu a{
    min-height:auto !important;padding:11px 14px !important;font-size:15px !important;border:none !important;
    border-radius:14px !important;background:rgba(255,255,255,.82) !important;box-shadow:0 8px 20px rgba(0,0,0,.04) !important;
  }

  .mobile-menu-footer{
    display:grid;
    gap:10px;
    margin-top:auto;
    padding-top:16px;
  }
  .mobile-menu-footer .mobile-call{
    display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:16px;
    background:linear-gradient(90deg,var(--primary),var(--primary-2));color:#fff;font-weight:800;
    box-shadow:0 14px 30px rgba(129,74,225,.18);
  }
  .mobile-menu-footer .mobile-link{
    display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:16px;
    background:rgba(255,255,255,.86);color:#574c62;font-weight:700;box-shadow:0 10px 24px rgba(0,0,0,.05);
  }
  .hero-main-logo{width:min(100%, 360px) !important;}
  .section{padding:48px 0 !important;}
}


/* ===== MENU SHRINK ===== */
.topbar{
  transition:padding .32s ease, transform .32s ease;
}
.nav{
  transition:padding .32s ease, border-radius .32s ease, box-shadow .32s ease, background .32s ease, transform .32s ease;
}
.brand-logo{
  transition:width .32s ease, height .32s ease, transform .32s ease, filter .32s ease;
}
.brand-text strong,
.brand-text span{
  transition:all .32s ease;
}
.topbar.scrolled{
  padding-top:4px !important;
}
.topbar.scrolled .nav{
  padding:10px 14px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 16px 40px rgba(108, 73, 141, .18) !important;
}
.topbar.scrolled .brand-logo{
  width:46px !important;
  height:46px !important;
}
.topbar.scrolled .brand-text strong{
  font-size:1.28rem !important;
}
.topbar.scrolled .brand-text span{
  font-size:.74rem !important;
  letter-spacing:.14em !important;
}
.topbar.scrolled .nav-links a,
.topbar.scrolled .dropdown > a{
  min-height:38px !important;
}
.hero{
  padding-top:136px !important;
}
@media (max-width:900px){
  .hero{
    padding-top:110px !important;
  }
  .topbar.scrolled .nav{
    padding:10px 12px !important;
  }
  .topbar.scrolled .brand-logo{
    width:42px !important;
    height:42px !important;
  }
  .topbar.scrolled .brand-text strong{
    font-size:1.14rem !important;
  }
}


/* ===== FINAL LOGO + MENU ALIGN FIX ===== */
.hero-main-logo{
  width:min(100%, 560px) !important;
  filter:none !important;
  drop-shadow:none !important;
  box-shadow:none !important;
}
.hero-logo-wrap{
  margin:0 auto 18px !important;
}
.nav-links{
  align-items:center !important;
}
.nav-links > a,
.nav-links > .dropdown{
  display:flex !important;
  align-items:center !important;
}
.dropdown{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
  display:flex !important;
  align-items:center !important;
}
.dropdown > a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  line-height:1 !important;
  padding:0 !important;
}
.dropdown-menu{
  top:calc(100% + 10px) !important;
}
@media (max-width:900px){
  .hero-main-logo{
    width:min(100%, 420px) !important;
  }
  .nav-links{
    background:rgba(255,255,255,.76) !important;
    backdrop-filter:blur(18px) saturate(1.08) !important;
    -webkit-backdrop-filter:blur(18px) saturate(1.08) !important;
  }
  .dropdown{
    display:block !important;
  }
  .dropdown > a{
    justify-content:space-between !important;
    padding:14px 4px !important;
  }
}
.menu-overlay{
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  background:rgba(20,16,28,.34) !important;
}
