:root {
  --night:#14101d;
  --panel:#21182f;
  --white:#faf8ff;
  --paper:#f7f4fb;
  --ink:#231832;
  --ink-muted:#5e536b;
  --muted:#d4c9e1;
  --lilac:#ceadff;
  --violet:#602c9d;
  --line:#e4dbed;
  --edge:rgba(211,182,255,.19);
  --wrap:1190px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:22px}
body{margin:0;color:var(--white);background:var(--night);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}
h1,h2,h3,p,figure,blockquote{margin:0}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #ad72fd;outline-offset:4px}
.wrap{max-width:var(--wrap);width:calc(100% - 36px);margin-inline:auto}
.skip{position:fixed;top:10px;left:10px;transform:translateY(-160%);background:white;color:var(--ink);padding:12px;z-index:5}
.skip:focus{transform:none}
.icon{width:22px;height:22px;flex:none;display:inline-block;vertical-align:middle}
.header{border-bottom:1px solid var(--edge);background:#16101f}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px;line-height:1.18;min-width:0}
.brand-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:12px;background:linear-gradient(140deg,#36205d,#602c9d 64%,#835ed4);border:1px solid #996bdd;color:#f4eaff}
.brand-icon .icon{width:26px;height:26px}
.brand strong{display:block;font-size:clamp(.68rem,2.85vw,.9rem);letter-spacing:.04em;font-weight:820}
.brand small{display:block;color:#d3bcea;font-size:.72rem;margin-top:4px}
.header nav,.top-button{display:none}
.hero{padding:40px 0 26px;background:radial-gradient(ellipse at 78% 18%,#34214d 0,transparent 62%),var(--night)}
.hero-grid{display:grid;gap:29px;align-items:center}
.eyebrow{color:var(--violet);font-size:.74rem;text-transform:uppercase;letter-spacing:.145em;font-weight:800;margin-bottom:13px}
.hero .eyebrow,.dark .eyebrow,.contact .eyebrow{color:var(--lilac)}
.location{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--edge);background:#ffffff08;border-radius:100px;padding:7px 12px;margin-bottom:17px}
.location .icon{width:16px;height:16px}
h1,h2{letter-spacing:-.045em;line-height:1.08;text-wrap:balance}
h1{font-size:clamp(2.35rem,6.8vw,4.2rem);font-weight:810}
h1 em{display:block;color:#d6baff;font-style:normal}
h2{font-size:clamp(1.95rem,4.6vw,3.3rem);font-weight:790}
h3{font-size:1.14rem;line-height:1.25;letter-spacing:-.016em}
.intro,.lead{color:var(--ink-muted);font-size:1.04rem;margin-top:15px;max-width:58ch}
.hero .intro,.dark .lead,.contact .lead{color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;min-height:48px;padding:12px 17px;font-weight:750;font-size:.92rem;line-height:1.25;border:1px solid transparent;text-align:center;transition:background-color .18s, border-color .18s}
.button .icon{width:20px;height:20px}
.primary{color:#fff;background:linear-gradient(105deg,#642fa8,#7838bb);border-color:#9b68d3;box-shadow:0 8px 24px #40146b38}
.primary:hover{background:#58238e;border-color:#b884f4}
.hero .primary{margin-top:24px}
.text-link{display:flex;width:max-content;max-width:100%;align-items:center;gap:8px;color:#e0c9fa;font-size:.86rem;font-weight:690;margin-top:8px;min-height:44px}
.text-link .icon,.outline .icon{width:17px;height:17px}
.text-link:hover,.header nav a:hover,.footer-phone:hover{text-decoration:underline;text-underline-offset:4px}
.hero-visual{position:relative;isolation:isolate;overflow:hidden;border:1px solid #9470bc66;border-radius:22px;aspect-ratio:1.24;box-shadow:0 20px 52px #09060f80;background:#30243d}
.hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero-visual::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#11091fce);pointer-events:none}
.hero-visual figcaption{position:absolute;bottom:15px;left:15px;z-index:1;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#20142fed;border:1px solid #ffffff31;border-radius:8px;font-size:.77rem;font-weight:680}
.signal{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d4b0ff;box-shadow:0 0 13px #bb89ff}
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:0;list-style:none;margin:24px 0 0;padding:0;border:1px solid var(--edge);border-radius:13px;background:#ffffff06}
.benefits li{display:flex;align-items:center;gap:8px;padding:11px;color:#efe5f7;font-size:.8rem;font-weight:610;line-height:1.38}
.benefits li:nth-child(even){border-left:1px solid var(--edge)}
.benefits li:nth-child(n+3){border-top:1px solid var(--edge)}
.benefits .icon,.trust .icon{width:17px;height:17px;color:#d3aaff}
.section{padding:58px 0}
.light{background:var(--paper);color:var(--ink)}
.steps,.services,.reviews{display:grid;gap:13px;margin-top:27px}
.steps{list-style:none;padding:0;margin-bottom:0}
.steps li,.services article,.reviews figure{padding:21px;border-radius:13px}
.steps li,.reviews figure{border:1px solid var(--line);background:#fff}
.step-num{font-size:1.38rem;font-weight:800;letter-spacing:-.045em;color:#7136ac;display:block;margin-bottom:13px}
.steps p,.services p{margin-top:8px;font-size:.93rem;color:var(--ink-muted)}
.collection{display:flex;gap:12px;align-items:flex-start;border-radius:12px;background:#eee4fb;border:1px solid #dfcdf2;margin-top:16px;padding:16px}
.collection strong{display:block}
.collection p{color:#58476b;font-size:.9rem;margin-top:3px}
.badge{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;flex:none;background:#e0ccf7;color:#562c84}
.dark{background:radial-gradient(ellipse at 88% 65%,#2e1d43,transparent 70%),var(--night)}
.services article{background:#ffffff07;border:1px solid var(--edge)}
.services .badge{color:#e5caff;background:#a064dc26;border:1px solid var(--edge);margin-bottom:13px}
.services p{color:var(--muted)}
.trust{display:grid;gap:20px;border-top:1px solid var(--edge);padding-top:29px;margin-top:30px}
.trust h2{font-size:clamp(1.55rem,3.2vw,2.3rem)}
.trust ul{display:grid;gap:12px;list-style:none;padding:0;margin:0}
.trust li{display:flex;gap:8px;align-items:center;color:#efe5f7;font-size:.9rem}
.reviews figure{display:flex;flex-direction:column;gap:12px}
.stars{color:#8a520b;font-size:1.07rem;letter-spacing:.1em;line-height:1}
.reviews blockquote{font-size:.95rem;color:#453951}
.reviews figcaption{font-weight:750;font-size:.88rem;margin-top:auto}
.outline{border-color:#bca6d2;color:#572788;margin-top:22px}
.outline:hover{background:#ede3f8}
.contact{background:radial-gradient(ellipse at 15% 90%,#3b2456,transparent 69%),#1b1227}
.contact-grid,.faq-grid{display:grid;gap:26px}
.phone{display:inline-flex;align-items:center;gap:7px;font-size:1.16rem;font-weight:760;margin-top:16px;min-height:44px}
.phone:hover{text-decoration:underline;text-underline-offset:4px}
.phone .icon{width:17px;height:17px;color:var(--lilac)}
.appointment{color:var(--muted);font-size:.9rem}
.form{padding:18px;background:white;color:var(--ink);border-radius:17px}
.fields{display:grid;gap:12px}
.fields label{font-size:.86rem;font-weight:720}
.fields input,.fields textarea{width:100%;display:block;margin-top:5px;border:1px solid #d8cbe4;border-radius:8px;padding:10px 11px;min-height:45px;color:var(--ink);background:#fbf9fd;font-size:1rem;font-weight:400}
.fields input::placeholder,.fields textarea::placeholder{color:#72667d}
.fields textarea{resize:vertical}
.form .button{margin-top:15px;width:100%}
.form-note{font-size:.78rem;color:var(--ink-muted);margin-top:8px;text-align:center}
.faq details{border-bottom:1px solid #ded4e8}
.faq details:first-child{border-top:1px solid #ded4e8}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;min-height:53px;padding:10px 2px;font-weight:720}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:#6935a0;font-size:1.35rem;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 25px 14px 2px;color:var(--ink-muted);font-size:.92rem}
.footer{padding:30px 0 105px}
.footer-grid{display:grid;gap:17px}
.footer p{color:var(--muted);font-size:.89rem}
.footer p+p{margin-top:4px}
.footer .icon{width:17px;height:17px}
.footer .brand-icon .icon{width:26px;height:26px}
.footer-phone{font-weight:730;display:inline-block;padding:6px 0}
.floating-contact{position:fixed;z-index:4;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));border-radius:100px;background:#25d366;color:#102c1d;border-color:#43df7d;box-shadow:0 8px 26px #110d1848;min-height:50px}
.floating-contact:hover{background:#49e585}
@media(max-width:430px){.hero .primary{display:flex;width:100%}}
@media(min-width:560px){
  .wrap{width:calc(100% - 64px)}
  .services,.reviews,.fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wide{grid-column:1/-1}
  .form{padding:23px}
  .footer-grid{grid-template-columns:1.1fr 1fr auto;align-items:start}
  .trust ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:841px){
  .wrap{width:calc(100% - 80px)}
  .header nav{display:flex;gap:clamp(14px,2vw,28px);align-items:center;color:var(--muted);font-size:.88rem;font-weight:620}
  .header nav a{padding:10px 0}
  .top-button{display:inline-flex;min-height:42px;background:#2a1b3f;border-color:#8057ae;color:#f7efff}
  .top-button:hover{background:#42265d}
  .hero{padding:53px 0 32px}
  .hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(26px,4vw,63px)}
  h1{font-size:clamp(2.45rem,4.65vw,4.2rem)}
  .hero-visual{aspect-ratio:1.18}
  .hero-visual figcaption{bottom:21px;left:21px}
  .benefits{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:31px}
  .benefits li{padding:15px;font-size:.84rem}
  .benefits li:nth-child(n+3){border-top:0}
  .benefits li+li{border-left:1px solid var(--edge)}
  .section{padding:75px 0}
  .steps,.services{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
  .reviews{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .steps li,.services article,.reviews figure{padding:23px}
  .collection{padding:19px}
  .trust{grid-template-columns:1fr 1.2fr;gap:25px;align-items:center}
  .contact-grid,.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,90px)}
  .contact-copy{align-self:center}
  .form{padding:26px}
  .floating-contact{right:26px;bottom:24px}
  .footer{padding:35px 0 88px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.hero-grid{grid-template-areas:"copy" "benefits" "visual"}
.hero-copy{grid-area:copy}
.hero-visual{grid-area:visual}
.benefits{grid-area:benefits;margin-top:0}
@media(max-width:840px){.header .top-button{display:none}}
@media(min-width:841px){
  .hero-grid{grid-template-areas:"copy visual" "benefits benefits";row-gap:31px}
}
