/* ============================================================
   LYMARENKO BROWS v4 — світлий преміум (структура k2beauty)
   ============================================================ */
:root{
  --bg:#F6F1FA;          /* світло-бузкова */
  --bg2:#EDE3F5;         /* трохи темніша секція */
  --ink:#2C2140;         /* темний фіолет-чорний */
  --ink2:#6E5F86;        /* приглушений фіолет для тексту */
  --line:#E4D8F0;
  --violet:#8E45C9;      /* основний яскравий фіолет */
  --violet-d:#6D2FA8;    /* темніший */
  --violet-l:#B57BE8;    /* світліший */
  --violet-soft:#C9A9E8; /* м'який акцент */
  --lilac:#EFE0FB;       /* дуже світлий фон-акцент */
  --gold:#8E45C9;        /* лишаю для сумісності = фіолет */
  --gold-d:#6D2FA8;
  --rose:#B57BE8;
  --white:#fff;
  --shadow:0 20px 55px rgba(110,60,170,.16);
  --shadow-sm:0 8px 26px rgba(110,60,170,.10);
  --glow:0 0 30px rgba(142,69,201,.45);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Jost',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:16px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.08;letter-spacing:.005em}
h1{font-size:clamp(3rem,10vw,6.5rem);font-weight:700}
h2{font-size:clamp(1.9rem,4.6vw,3.1rem)}
h3{font-size:1.5rem}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.center{text-align:center}
.section{padding:90px 0}
.eyebrow{font-family:'Jost',sans-serif;font-size:.74rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-d);margin-bottom:14px}
.eyebrow.center{display:block}

/* buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Jost',sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:16px 32px;border-radius:999px;cursor:pointer;border:1px solid transparent;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,color .35s}
.btn span,.btn{z-index:1}
/* переливчастий фіолет */
.btn-solid{color:#fff;background:linear-gradient(120deg,#7B34BC,#A855D6,#7B34BC);background-size:200% 100%;box-shadow:0 12px 30px rgba(142,69,201,.45);animation:btnFlow 4s linear infinite}
.btn-solid::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.5),transparent 60%);transform:translateX(-120%);animation:btnShine 3.2s ease-in-out infinite}
.btn-solid:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 40px rgba(142,69,201,.6),var(--glow)}
@keyframes btnFlow{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes btnShine{0%{transform:translateX(-120%)}55%{transform:translateX(220%)}100%{transform:translateX(220%)}}
.btn-outline{background:transparent;border-color:var(--violet);color:var(--violet-d)}
.btn-outline:hover{background:var(--violet);color:#fff;transform:translateY(-3px);box-shadow:0 14px 32px rgba(142,69,201,.45)}
.btn-wide{width:100%}

/* ============ TOPBAR ============ */
.topbar{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,box-shadow .4s,padding .4s;padding:8px 0}
.topbar.solid{background:rgba(246,241,250,.94);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#8E45C9,#B57BE8);display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.05rem;color:#fff;box-shadow:0 6px 18px rgba(142,69,201,.4);transition:transform .4s}
.brand:hover .brand-mark{transform:rotate(-8deg) scale(1.05)}
.brand-name{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.35rem;line-height:1;color:#fff;transition:color .4s;letter-spacing:.01em}
.brand-name em{color:var(--gold-lt,#D8B98C);font-style:italic;display:inline}
.topbar.solid .brand-name{color:var(--ink)}
.topbar.solid .brand-name em{color:var(--gold-d)}
.topnav{display:flex;gap:28px;margin-left:auto;font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#fff;transition:color .4s}
.topbar.solid .topnav{color:var(--ink2)}
.topnav a{position:relative;opacity:.9}
.topnav a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .3s}
.topnav a:hover::after{width:100%}
.topbar-phone{font-weight:600;font-size:.9rem;color:#fff;transition:color .4s;white-space:nowrap}
.topbar.solid .topbar-phone{color:var(--ink)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px;position:relative;z-index:120}
.burger span{width:26px;height:2px;background:#fff;transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .3s,background .4s;border-radius:2px;display:block}
.topbar.solid .burger span{background:var(--ink)}
.burger.open span{background:var(--violet-d)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* затемнення позаду меню — клік закриває */
.menu-overlay{position:fixed;inset:0;z-index:105;background:rgba(44,20,64,.55);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.menu-overlay.open{opacity:1;visibility:visible}

.mobile-menu{position:fixed;top:0;right:-100%;width:min(320px,84vw);height:100vh;height:100dvh;background:linear-gradient(160deg,#FFFFFF 0%,#F6F1FA 60%,#EFE0FB 100%);box-shadow:-24px 0 70px rgba(80,30,130,.28);z-index:110;display:flex;flex-direction:column;padding:110px 30px 40px;gap:4px;transition:right .5s cubic-bezier(.2,.75,.25,1);overflow-y:auto}
.mobile-menu.open{right:0}
.mobile-menu a{position:relative;padding:16px 4px;font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);opacity:0;transform:translateX(30px);transition:opacity .5s cubic-bezier(.2,.75,.25,1),transform .5s cubic-bezier(.2,.75,.25,1),color .3s}
.mobile-menu.open a{opacity:1;transform:none}
/* вау: пункти виїжджають по черзі */
.mobile-menu.open a:nth-child(1){transition-delay:.14s}
.mobile-menu.open a:nth-child(2){transition-delay:.21s}
.mobile-menu.open a:nth-child(3){transition-delay:.28s}
.mobile-menu.open a:nth-child(4){transition-delay:.35s}
.mobile-menu.open a:nth-child(5){transition-delay:.42s}
.mobile-menu.open a:nth-child(6){transition-delay:.49s}
.mobile-menu a::after{content:'';position:absolute;left:0;bottom:-1px;width:0;height:2px;background:linear-gradient(90deg,#8E45C9,#B57BE8);transition:width .35s}
.mobile-menu a:active::after,.mobile-menu a:hover::after{width:100%}
.mobile-menu a:active,.mobile-menu a:hover{color:var(--violet-d)}
.mobile-menu .mm-phone{margin-top:22px;padding:16px 22px;border:none;border-radius:999px;background:linear-gradient(120deg,#8E45C9,#B57BE8);color:#fff;font-family:'Jost',sans-serif;font-weight:600;font-size:1rem;text-align:center;box-shadow:0 12px 28px rgba(142,69,201,.45)}
.mobile-menu .mm-phone::after{display:none}
@media(max-width:900px){.topnav,.topbar-phone{display:none}.burger{display:flex}}

/* ============ HERO ============ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(44,20,64,.78) 0%,rgba(50,25,80,.42) 42%,rgba(44,20,64,.14) 70%,transparent 100%)}
.hero-shade::after{content:'';position:absolute;bottom:-40%;left:-10%;width:60%;height:80%;background:radial-gradient(circle,rgba(142,69,201,.35),transparent 65%);filter:blur(40px);z-index:0}
.hero-in{position:relative;z-index:2;color:#fff;padding-top:80px;padding-bottom:100px;max-width:640px}
.hero-kick{font-size:.8rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:22px}
.hero-studio{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:rgba(255,255,255,.8);margin-bottom:8px}
.hero h1{color:#fff;margin-bottom:28px;text-shadow:0 4px 30px rgba(0,0,0,.3)}
.hero-meta{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
.hero-meta li{display:flex;align-items:center;gap:12px;font-size:1rem;color:rgba(255,255,255,.94)}
.hm-ico{width:22px;text-align:center;flex:none}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.hero-cta .btn-outline{border-color:rgba(255,255,255,.6);color:#fff}
.hero-cta .btn-outline:hover{background:#fff;color:var(--ink)}
.hero-scroll{position:absolute;bottom:20px;left:calc(50% - 13px);z-index:1;width:26px;height:44px;border:1.5px solid rgba(255,255,255,.6);border-radius:14px;display:block;pointer-events:none;animation:scrollNudge 2.6s ease-in-out infinite}
.hero-scroll span{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:4px;height:8px;background:#fff;border-radius:2px;box-shadow:0 0 8px rgba(255,255,255,.8);animation:scrollDot 1.8s cubic-bezier(.5,0,.5,1) infinite}
@keyframes scrollNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@keyframes scrollDot{0%{opacity:0;top:8px}40%{opacity:1}80%{opacity:0;top:24px}100%{opacity:0}}

/* ============ PERKS ============ */
.perks-sec{background:var(--bg)}
.perks-sec h2{margin-bottom:44px;max-width:640px}
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.perk{position:relative;background:var(--white);border-radius:22px;padding:40px 30px;box-shadow:var(--shadow-sm);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s;overflow:hidden;border:1px solid transparent}
.perk::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#8E45C9,#B57BE8);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.perk:hover{transform:translateY(-8px);box-shadow:0 26px 60px rgba(110,60,170,.24);border-color:var(--line)}
.perk:hover::before{transform:scaleX(1)}
.perk-ico{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#8E45C9,#B57BE8);display:grid;place-items:center;font-size:1.6rem;color:#fff;margin-bottom:22px;box-shadow:0 10px 24px rgba(142,69,201,.4);transition:transform .4s}
.perk:hover .perk-ico{transform:scale(1.1) rotate(-6deg)}
.perk h3{margin-bottom:12px;color:var(--ink)}
.perk p{color:var(--ink2);font-size:.95rem}

/* ============ TOP PROCEDURES ============ */
.proc-sec{background:var(--bg2)}
.proc-sec h2{margin-bottom:44px}
.proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.proc-card{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:3/4;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.proc-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(110,60,170,.3)}
.proc-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.proc-card:hover img{transform:scale(1.08)}
.proc-card::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(44,20,70,.5) 65%,rgba(44,20,70,.85));transition:background .4s}
.proc-card:hover::after{background:linear-gradient(transparent 30%,rgba(80,30,130,.55) 60%,rgba(60,20,110,.9))}
.proc-info{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:28px 24px;color:#fff}
.proc-info h3{color:#fff;font-size:1.7rem;margin-bottom:14px}
.proc-price{display:inline-block;background:linear-gradient(120deg,#8E45C9,#B57BE8);border-radius:999px;padding:9px 20px;font-family:'Jost',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.05em;box-shadow:0 8px 22px rgba(142,69,201,.5)}

/* ============ PRICE ACCORDION ============ */
.price-sec{background:linear-gradient(180deg,var(--bg) 0%,var(--lilac) 100%)}
.price-note{color:var(--ink2);max-width:620px;margin:12px 0 40px;font-size:.98rem}
.accordion{max-width:840px}
.acc-item{background:var(--white);border-radius:18px;margin-bottom:16px;box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--line);transition:box-shadow .4s,border-color .4s}
.acc-item.open{box-shadow:0 20px 46px rgba(110,60,170,.2);border-color:var(--violet-soft)}
.acc-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0;background:none;border:none;cursor:pointer;text-align:left}
/* заголовок групи — яскрава фіолетова плашка */
.acc-head-in{display:flex;align-items:center;gap:14px;padding:22px 26px;width:100%;justify-content:space-between;transition:background .35s}
.acc-item.open .acc-head-in{background:linear-gradient(120deg,#8E45C9,#A855D6)}
.acc-head h3{font-size:1.5rem;color:var(--ink);transition:color .3s;margin:0}
.acc-item.open .acc-head h3{color:#fff}
.acc-head:hover h3{color:var(--violet-d)}
.acc-item.open .acc-head:hover h3{color:#fff}
.acc-sign{width:34px;height:34px;flex:none;position:relative;border-radius:50%;background:var(--lilac);transition:background .35s}
.acc-item.open .acc-sign{background:rgba(255,255,255,.25)}
.acc-sign::before,.acc-sign::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--violet-d);transition:transform .35s,background .35s;border-radius:2px}
.acc-sign::before{width:15px;height:2.5px}
.acc-sign::after{width:2.5px;height:15px}
.acc-item.open .acc-sign::before,.acc-item.open .acc-sign::after{background:#fff}
.acc-item.open .acc-sign::after{transform:translate(-50%,-50%) scaleY(0)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.7,.2,1)}
.acc-inner{padding:6px 26px 18px}
.price-table{width:100%;border-collapse:collapse}
.price-table tr{border-top:1px solid var(--line);transition:background .25s}
.price-table tr:first-child{border-top:none}
.price-table tr:hover{background:var(--lilac)}
.price-table td{padding:18px 8px;font-size:1.02rem;vertical-align:middle}
.pt-name{color:var(--ink);font-weight:500;font-size:1.05rem}
.pt-name .hit{display:inline-block;margin-left:8px;font-family:'Jost',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,#8E45C9,#B57BE8);padding:4px 9px;border-radius:999px;vertical-align:middle;box-shadow:0 4px 12px rgba(142,69,201,.4)}
.pt-price{font-family:'Jost',sans-serif;font-weight:700;font-size:1.5rem;color:var(--violet-d);text-align:right;white-space:nowrap;font-feature-settings:"lnum" 1;letter-spacing:.01em}
.pt-time{color:var(--ink2);font-size:.95rem;font-weight:500;text-align:right;white-space:nowrap;width:76px}

/* ============ BEFORE / AFTER SLIDER ============ */
.works-sec{background:var(--bg2)}
.works-hint{color:var(--ink2);font-size:.92rem;margin-top:8px}
.ba-viewport{position:relative;max-width:900px;margin:44px auto 0;display:flex;align-items:center;gap:10px;padding:0 24px}
.ba-stage{position:relative;flex:1;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.ba-slide{position:relative;--pos:50%;cursor:ew-resize;touch-action:pan-y;aspect-ratio:3/2;display:none}
.ba-slide.on{display:block}
.ba-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none}
.ba-slide .after-img{clip-path:inset(0 0 0 var(--pos))}
.ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;transform:translateX(-1px);box-shadow:0 0 14px rgba(0,0,0,.35);pointer-events:none}
.ba-knob{position:absolute;top:50%;left:var(--pos);transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#8E45C9,#B57BE8);box-shadow:0 6px 20px rgba(142,69,201,.55);display:grid;place-items:center;pointer-events:none;color:#fff;font-size:1.1rem;border:3px solid #fff}
.ba-tag{position:absolute;top:16px;z-index:2;font-family:'Jost',sans-serif;font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:6px 13px;border-radius:999px;pointer-events:none;backdrop-filter:blur(4px)}
.ba-tag.before{left:16px;background:rgba(255,255,255,.88);color:var(--ink)}
.ba-tag.after{right:16px;background:linear-gradient(120deg,#8E45C9,#B57BE8);color:#fff}
.ba-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px 20px 18px;background:linear-gradient(transparent,rgba(25,20,15,.72));color:#fff;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.25rem;pointer-events:none}
.ba-arrow{flex:none;width:50px;height:50px;border-radius:50%;background:var(--white);border:1px solid var(--line);cursor:pointer;font-size:1.6rem;color:var(--violet-d);display:grid;place-items:center;box-shadow:var(--shadow-sm);transition:background .3s,transform .3s,color .3s;line-height:1}
.ba-arrow:hover{background:linear-gradient(135deg,#8E45C9,#B57BE8);color:#fff;transform:scale(1.08);box-shadow:0 10px 26px rgba(142,69,201,.5)}
.ba-dots{display:flex;gap:9px;justify-content:center;margin-top:24px}
.ba-dot{width:9px;height:9px;border-radius:50%;background:var(--violet-soft);border:none;cursor:pointer;padding:0;transition:transform .3s,background .3s}
.ba-dot.on{background:var(--violet);transform:scale(1.4);box-shadow:0 0 10px rgba(142,69,201,.6)}

/* ============ REVIEWS ============ */
.rev-sec{background:var(--bg2)}
.rev-rail{display:flex;gap:22px;overflow-x:auto;padding:44px 4px 20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.rev-rail::-webkit-scrollbar{height:0}
.rev-card{flex:0 0 340px;scroll-snap-align:center;background:var(--white);border-radius:22px;padding:32px 28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;border-top:4px solid var(--violet);transition:transform .4s,box-shadow .4s}
.rev-card:hover{transform:translateY(-6px);box-shadow:0 24px 54px rgba(110,60,170,.22)}
.rev-top{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.rev-ava{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#8E45C9,#B57BE8);display:grid;place-items:center;color:#fff;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.35rem;flex:none;box-shadow:0 6px 16px rgba(142,69,201,.4)}
.rev-meta b{display:block;font-family:'Jost',sans-serif;font-weight:600;font-size:.98rem;color:var(--ink)}
.rev-meta time{font-size:.78rem;color:var(--ink2)}
.rev-stars{color:#F0A93A;font-size:.98rem;letter-spacing:2px;margin-bottom:12px}
.rev-text{color:var(--ink2);font-size:.94rem;line-height:1.6}
.rev-google{display:block;width:fit-content;max-width:100%;margin:28px auto 0;text-align:center;font-size:1.05rem;color:var(--ink);background:var(--white);padding:16px 26px;border-radius:22px;box-shadow:var(--shadow-sm);line-height:1.5;box-sizing:border-box}
.rev-google b{color:var(--violet-d)}
.rev-google .g-stars{color:#F0A93A;letter-spacing:2px;margin-left:6px;white-space:nowrap}

/* ============ INSTAGRAM / ABOUT ============ */
.insta-sec{background:var(--bg)}
.insta-in{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:center}
.insta-text h2{margin:8px 0 20px}
.insta-text p{color:var(--ink2);margin-bottom:16px;max-width:520px}
.insta-text .btn{margin-top:12px}
.insta-badge{display:flex;gap:22px;justify-content:center}
.ib-circle{width:158px;height:158px;border-radius:50%;background:var(--white);box-shadow:0 14px 36px rgba(110,60,170,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;border:2px solid var(--lilac);transition:transform .4s}
.ib-circle:hover{transform:translateY(-6px) scale(1.03)}
.ib-circle.alt{background:linear-gradient(140deg,#8E45C9,#6D2FA8);color:#fff;border-color:transparent;box-shadow:0 16px 40px rgba(142,69,201,.45)}
.ib-num{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:2.7rem;line-height:1;color:var(--violet-d)}
.ib-circle.alt .ib-num{color:#fff}
.ib-lbl{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.ib-circle.alt .ib-lbl{color:rgba(255,255,255,.85)}

/* ============ CONTACTS ============ */
.contacts-sec{background:var(--bg)}
.contacts-in{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:start}
.ct-left h2{margin:8px 0 26px}
.ct-list{margin-bottom:26px}
.ct-list li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.ct-ico{width:42px;height:42px;border-radius:50%;background:var(--lilac);display:grid;place-items:center;flex:none;font-size:1.1rem}
.ct-list b{display:block;font-family:'Jost',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--violet-d);margin-bottom:3px}
.ct-list small{color:var(--violet-l);font-weight:500}
.ct-msgr{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.ct-msgr a{display:inline-flex;align-items:center;gap:7px;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:11px 18px;font-size:.86rem;font-weight:500;transition:border-color .3s,transform .3s}
.ct-msgr a:hover{border-color:var(--gold);transform:translateY(-2px)}
.ct-form{background:var(--white);border-radius:18px;padding:26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:13px}
.ctf-title{font-size:.94rem;font-weight:500;color:var(--ink)}
.ct-form input,.modal input{width:100%;padding:15px 17px;border:1px solid var(--line);border-radius:12px;font:inherit;background:var(--bg);color:var(--ink);outline:none;transition:border-color .3s}
.ct-form input:focus,.modal input:focus{border-color:var(--gold)}
.ct-map{border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);min-height:480px;height:100%;border:3px solid var(--white)}
.ct-map iframe{width:100%;height:100%;min-height:480px;border:0}

/* ============ VIDEO ============ */
.video-sec{background:var(--bg);padding-bottom:100px}
.video-sec h2{margin-bottom:40px}
.video-frame{position:relative;max-width:1100px;margin:0 auto;border-radius:26px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 30px 70px rgba(110,60,170,.3);background:#2C2140 center/cover no-repeat}
.video-frame video{width:100%;height:100%;object-fit:cover;background:#2C2140}
.video-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;text-align:center;background:linear-gradient(120deg,rgba(44,20,64,.55),rgba(60,25,100,.32) 55%,rgba(44,20,64,.5));padding:20px}
.video-quote{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(1.7rem,4.5vw,3rem);color:#fff;line-height:1.2;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.video-quote em{font-style:italic;color:var(--violet-l)}
@media(max-width:900px){.video-frame{aspect-ratio:4/5;border-radius:20px}.video-sec{padding-bottom:70px}}

/* ============ FAQ ============ */
.faq-sec{background:var(--bg2)}
.wrap-narrow-faq{max-width:780px;margin:0 auto;padding:0 24px}
.faq-sec h2{margin-bottom:40px}
.faq-list{display:flex;flex-direction:column;gap:14px}
.faq-item{background:var(--white);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.faq-item[open]{border-color:var(--violet-soft);box-shadow:0 16px 40px rgba(110,60,170,.16)}
.faq-item summary{list-style:none;cursor:pointer;padding:22px 26px;font-family:'Jost',sans-serif;font-weight:600;font-size:1.08rem;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px;transition:color .3s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item[open] summary{color:var(--violet-d)}
.faq-plus{width:26px;height:26px;flex:none;position:relative}
.faq-plus::before,.faq-plus::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--violet);border-radius:2px;transition:transform .35s}
.faq-plus::before{width:13px;height:2.5px}
.faq-plus::after{width:2.5px;height:13px}
.faq-item[open] .faq-plus::after{transform:translate(-50%,-50%) scaleY(0)}
.faq-a{padding:0 26px 22px;color:var(--ink2);font-size:.96rem;line-height:1.65}

/* ============ FOOTER ============ */
.footer{background:var(--ink);color:rgba(255,255,255,.75);padding:44px 0 26px}
.footer .brand-name{color:#fff}
.footer .brand-mark{border-color:rgba(255,255,255,.4);color:#fff}
.footer-in{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between}
.footer-links{display:flex;gap:22px;font-size:.86rem}
.footer-links a:hover{color:#fff}
.footer-ig{color:var(--gold-lt,#D8B98C);font-weight:500}
.footer-copy{text-align:center;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:rgba(255,255,255,.5)}

/* ============ FAB ============ */
.fab{position:fixed;right:20px;bottom:20px;z-index:80;width:100px;height:100px;border-radius:50%;background:linear-gradient(140deg,#9B4FD6,#7B34BC);color:#fff;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.06em;line-height:1.3;box-shadow:0 16px 38px rgba(142,69,201,.55);opacity:0;transform:scale(.6);transition:opacity .4s,transform .4s}
.fab.show{opacity:1;transform:scale(1);animation:fabPulse 2.8s ease-in-out infinite}
@keyframes fabPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.fab:hover{box-shadow:0 20px 46px rgba(142,69,201,.7),var(--glow)}
.fab-ring{position:absolute;inset:-8px;border:2px solid var(--violet-l);border-radius:50%;animation:fabRing 2.2s ease-out infinite}
.fab-ring::after{content:'';position:absolute;inset:-8px;border:1.5px solid var(--violet-soft);border-radius:50%;animation:fabRing 2.2s ease-out .7s infinite}
@keyframes fabRing{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.3);opacity:0}}

/* ============ MODAL ============ */
.modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;visibility:hidden;opacity:0;transition:opacity .4s,visibility .4s}
.modal.open{visibility:visible;opacity:1}
.modal-bg{position:absolute;inset:0;background:rgba(30,25,20,.55);backdrop-filter:blur(5px)}
.modal-card{position:relative;z-index:1;width:min(420px,calc(100% - 32px));background:var(--bg);border-radius:20px;padding:38px 32px 30px;text-align:center;box-shadow:0 40px 90px rgba(30,25,20,.4);transform:translateY(20px) scale(.97);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.modal.open .modal-card{transform:none}
.modal-card h3{font-size:1.9rem;margin-bottom:8px}
.modal-sub{color:var(--ink2);font-size:.94rem;margin-bottom:20px}
.modal-card form{display:flex;flex-direction:column;gap:12px}
.modal-x{position:absolute;top:14px;right:16px;background:none;border:none;cursor:pointer;font-size:1.7rem;color:var(--ink);width:34px;height:34px;line-height:1}
.modal-alt{margin-top:20px;font-size:.82rem;color:var(--ink2)}
.modal-alt .ct-msgr{justify-content:center;margin:12px 0 0}
.modal-alt .ct-msgr a{padding:9px 15px;font-size:.8rem}
body.no-scroll{overflow:hidden}

/* ============ TOAST ============ */
.toast{position:fixed;left:50%;bottom:24px;z-index:180;transform:translate(-50%,150%);background:var(--ink);color:var(--bg);padding:15px 24px;border-radius:999px;font-weight:500;font-size:.88rem;box-shadow:var(--shadow);transition:transform .5s cubic-bezier(.2,.7,.2,1);max-width:calc(100% - 32px);text-align:center}
.toast.show{transform:translate(-50%,0)}

/* ============ REVEAL (вау-ефекти появлення) ============ */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
/* зліва */
.reveal-l{transform:translateX(-46px)}
.reveal-l.in{transform:none}
/* справа */
.reveal-r{transform:translateX(46px)}
.reveal-r.in{transform:none}
/* масштаб */
.reveal-z{transform:scale(.9)}
.reveal-z.in{transform:none}
/* каскад — затримки для дітей */
.reveal-d1{transition-delay:.1s}
.reveal-d2{transition-delay:.2s}
.reveal-d3{transition-delay:.3s}
/* стаггер для карток у сітці */
.perks .perk:nth-child(1){transition-delay:.05s}
.perks .perk:nth-child(2){transition-delay:.18s}
.perks .perk:nth-child(3){transition-delay:.31s}
.proc-grid .proc-card:nth-child(1){transition-delay:.05s}
.proc-grid .proc-card:nth-child(2){transition-delay:.18s}
.proc-grid .proc-card:nth-child(3){transition-delay:.31s}

/* ефектне "закручування" карток — прилітають обертаючись */
.reveal-spin{opacity:0;transform:perspective(900px) rotateY(-42deg) rotate(-6deg) translateY(60px) scale(.82);transform-origin:center;transition:opacity .85s cubic-bezier(.18,.75,.25,1),transform .95s cubic-bezier(.18,.75,.25,1)}
.reveal-spin.in{opacity:1;transform:perspective(900px) rotateY(0) rotate(0) translateY(0) scale(1)}
/* сітка з перспективою, щоб оберт виглядав об'ємно */
.perks,.proc-grid{perspective:1200px}
.perks .perk.reveal-spin:nth-child(1){transition-delay:.0s}
.perks .perk.reveal-spin:nth-child(2){transition-delay:.16s}
.perks .perk.reveal-spin:nth-child(3){transition-delay:.32s}
.proc-grid .proc-card.reveal-spin:nth-child(1){transition-delay:.0s}
.proc-grid .proc-card.reveal-spin:nth-child(2){transition-delay:.16s}
.proc-grid .proc-card.reveal-spin:nth-child(3){transition-delay:.32s}
.rev-rail{perspective:1200px}
.rev-rail .rev-card.reveal-spin:nth-child(1){transition-delay:.0s}
.rev-rail .rev-card.reveal-spin:nth-child(2){transition-delay:.13s}
.rev-rail .rev-card.reveal-spin:nth-child(3){transition-delay:.26s}
.rev-rail .rev-card.reveal-spin:nth-child(4){transition-delay:.39s}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .section{padding:64px 0}
  .perks,.proc-grid{grid-template-columns:1fr;gap:18px}
  .insta-in,.contacts-in{grid-template-columns:1fr;gap:38px}
  .ct-map,.ct-map iframe{min-height:340px}
  .hero-shade{background:linear-gradient(180deg,rgba(44,20,64,.45) 0%,rgba(50,25,80,.35) 40%,rgba(44,20,64,.8) 100%)}
  .hero-in{max-width:none;padding-bottom:96px}
  .hero-scroll{bottom:22px;left:calc(50% - 12px);width:24px;height:40px}
  .rev-card{flex-basis:290px}
}
@media(max-width:560px){
  .hero-cta{flex-direction:column}
  .hero-cta .btn{width:100%}
  .hero-in{padding-bottom:88px}
  .hero-scroll{bottom:18px;left:calc(50% - 11px);width:22px;height:36px;border-color:rgba(255,255,255,.65)}
  .ba-viewport{padding:0 8px;gap:6px}
  .ba-arrow{width:40px;height:40px;font-size:1.3rem}
  .fab{width:82px;height:82px;font-size:.72rem;right:14px;bottom:14px}
  .insta-badge{gap:16px}
  .ib-circle{width:130px;height:130px}
}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
}

/* пастка для ботів */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
/* попап: «або» + кнопка дзвінка */
.modal-or{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--ink2);font-size:.8rem;text-transform:uppercase;letter-spacing:.2em}
.modal-or::before,.modal-or::after{content:'';flex:1;height:1px;background:var(--line)}
.btn-call{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:14px 20px;border-radius:999px;background:#2FAE5B;color:#fff;text-decoration:none;box-shadow:0 12px 28px rgba(47,174,91,.4);transition:transform .3s,box-shadow .3s}
.btn-call:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(47,174,91,.5)}
.bc-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.22);font-size:1.25rem;animation:bcRing 1.6s ease-in-out infinite}
.bc-txt{display:flex;flex-direction:column;text-align:left;line-height:1.25}
.bc-txt b{font-size:1.02rem;font-weight:600;letter-spacing:.03em}
.bc-txt small{font-size:.86rem;opacity:.9}
@keyframes bcRing{0%,100%{transform:rotate(0)}10%,30%{transform:rotate(-14deg)}20%,40%{transform:rotate(14deg)}50%{transform:rotate(0)}}
@media (prefers-reduced-motion:reduce){.bc-ico{animation:none}}
