:root{
  --paper:#fcf8f2; --tint:#f5ebdf; --ink:#33291f; --soft:#74665a; --line:#e8dccd;
  --violet:#f3bfa8; --violet-d:#a9553b; --marker:#f8e6a6; --card:#fff; --sage:#dfe9d8; --blush:#f8dfd5;
  --r:14px; --gut:clamp(18px,4vw,40px);
  --f-head:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --f-text:"Golos Text","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--f-text);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0}
p{margin:0}
.wrap{width:min(1160px,100% - 2*var(--gut));margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--violet-d);outline-offset:3px}

h1{font:600 clamp(2rem,1.1rem + 3.4vw,3.6rem)/1.08 var(--f-head);letter-spacing:-.01em;text-wrap:balance}
h2{font:600 clamp(1.7rem,1.1rem + 2.2vw,2.7rem)/1.12 var(--f-head);letter-spacing:-.005em;text-wrap:balance;max-width:24ch}
h3{font:500 1.15rem/1.3 var(--f-text)}
.sec-lead{color:var(--soft);max-width:66ch;margin-top:14px}

/* кнопки и ссылки */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;background:var(--violet);color:var(--ink);font:500 1rem var(--f-text);text-decoration:none;border:0;cursor:pointer;box-shadow:0 10px 26px -12px rgba(169,85,59,.55);transition:background-color .15s,transform .15s}
.btn:hover{background:#f7cdbb}
.btn:active{transform:translateY(1px)}
.btn-sm{min-height:40px;padding:0 18px;font-size:.94rem;box-shadow:none}
.btn-light{background:#fff;color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.btn-light:hover{background:var(--blush)}
.link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.link:hover{color:var(--violet)}

/* шапка: тёмная, как первый экран */
.top{position:sticky;top:0;z-index:20;background:rgba(252,248,242,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);color:var(--ink)}
.top-in{display:flex;align-items:center;gap:24px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;font:500 1rem var(--f-text);text-decoration:none;margin-right:auto;white-space:nowrap}
.logo-mark{width:22px;height:22px;border-radius:7px;background:var(--violet);position:relative;flex:none}
.logo-mark::after{content:"";position:absolute;left:5px;right:5px;bottom:5px;height:5px;border-radius:2px;background:var(--ink)}
.nav{display:flex;gap:26px}
.nav a{text-decoration:none;font-weight:400;color:var(--soft);padding:8px 0}
.nav a:hover{color:var(--ink)}

/* первый экран */
.hero{position:relative;isolation:isolate;overflow:hidden;color:var(--ink);padding:clamp(40px,6vw,84px) 0 0;background:linear-gradient(160deg,#fdf6ee 0%,#fbeee6 55%,#f6efe0 100%)}
.hero::before{content:"";position:absolute;inset:-25%;z-index:-2;background:radial-gradient(36% 46% at 12% 30%,#f8d4c6 0,transparent 62%),radial-gradient(34% 44% at 88% 12%,#f9eab5 0,transparent 62%),radial-gradient(40% 50% at 74% 92%,#dce9d3 0,transparent 62%),radial-gradient(44% 54% at 6% 96%,#f4d2d8 0,transparent 62%);opacity:.85;filter:blur(46px);animation:aurora 18s ease-in-out infinite alternate}
@keyframes aurora{from{transform:translate3d(-4%,-3%,0) rotate(0deg) scale(1)}to{transform:translate3d(5%,4%,0) rotate(22deg) scale(1.14)}}
.hero-text{max-width:1160px}
.hero h1{max-width:21ch}
.lead{margin-top:22px;font-size:1.12rem;max-width:50ch;color:#4d4036}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:30px}
.hero .link:hover{color:var(--violet-d)}
.hero .btn{background:var(--violet);color:var(--ink);box-shadow:0 14px 30px -14px rgba(169,85,59,.6)}
.hero .btn:hover{background:#f7cdbb}
.facts{list-style:none;margin:40px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:20px 44px}
.facts li{display:grid;gap:2px;max-width:200px}
.facts b{font:600 2rem/1.1 var(--f-head);color:var(--violet-d)}
.facts span{color:#5d5046;font-size:.92rem;line-height:1.4}
.mq{margin-top:clamp(36px,5vw,64px);display:grid;gap:16px;transform:rotate(-2.2deg) scale(1.05);transform-origin:50% 0;padding-bottom:clamp(28px,4vw,56px)}
.mq-row{display:flex;gap:16px;width:max-content;animation:mq 90s linear infinite}
.mq-rev{animation-direction:reverse;animation-duration:110s}
.mq:hover .mq-row{animation-play-state:paused}
.mq-row img{width:clamp(220px,24vw,320px);aspect-ratio:3/2;object-fit:cover;border-radius:12px;border:2px solid #fff;box-shadow:0 20px 40px -22px rgba(90,60,40,.45);flex:none}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* работы: вкладки и карусель */
.works{background:var(--tint);padding:clamp(52px,7vw,96px) 0}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.tab{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1.5px solid #dccdbb;background:transparent;color:var(--ink);font:400 .96rem var(--f-text);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.tab:hover{border-color:var(--ink)}
.tab[aria-pressed="true"]{background:var(--violet);color:var(--ink);border-color:var(--violet)}
.tab small{font-size:.78rem;opacity:.65;font-weight:500}
.car{margin-top:26px}
.car-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.car-count{color:var(--soft);font-size:.95rem}
.car-btns{display:flex;gap:8px}
.arrow{width:46px;height:46px;border-radius:50%;border:1.5px solid #cdbca8;background:transparent;color:var(--ink);font:400 1.2rem var(--f-text);cursor:pointer;transition:background-color .15s,color .15s}
.arrow:hover:not(:disabled){background:var(--violet);border-color:var(--violet)}
.arrow:disabled{opacity:.3;cursor:default}
.track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 22px;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
.track::-webkit-scrollbar{display:none}
.track.is-drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.card{flex:none;width:clamp(290px,44vw,560px);scroll-snap-align:start;background:var(--card);border-radius:18px;padding:10px 10px 18px;box-shadow:0 16px 40px -26px rgba(90,60,40,.4)}
.card-img{display:block;position:relative;width:100%;padding:0;border:0;background:none;border-radius:12px;overflow:hidden;cursor:zoom-in}
.card-img img{width:100%;border:1px solid var(--line);border-radius:12px;transition:transform .35s}
.card-img:hover img{transform:scale(1.025)}
.card-pal{position:absolute;right:10px;top:10px;display:flex;background:rgba(255,255,255,.92);border-radius:999px;padding:4px 6px}
.card-pal i{width:16px;height:16px;border-radius:50%;background:var(--c);border:1px solid rgba(100,100,120,.5);margin-left:-4px}
.card-pal i:first-child{margin-left:0}
.card-body{padding:14px 10px 0}
.card-body h3{font-size:1.05rem}
.card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;margin-top:10px}
.pill{font-size:.84rem;font-weight:500;background:var(--tint);padding:4px 11px;border-radius:999px}
.price{font:600 1.2rem var(--f-head)}
.bar{height:3px;background:#e6d8c6;border-radius:2px;overflow:hidden}
.bar i{display:block;height:100%;width:20%;background:var(--violet-d);border-radius:2px;transition:width .15s}

/* обычные секции */
.sec{padding:clamp(52px,7vw,92px) 0}
.sec-tint{background:var(--tint)}
.about-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,72px);align-items:center}
.about-photo{margin:0}
.about-photo img{width:100%;border-radius:var(--r);aspect-ratio:4/5;object-fit:cover}
.about-text p{margin-top:16px;max-width:58ch}
.about-text h2{margin-bottom:6px}
.about-list{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px;max-width:58ch}
.about-list li{padding-left:22px;position:relative}
.about-list li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--violet-d)}
.social-link{display:inline-flex;flex-direction:column;margin-top:24px;padding:14px 22px;border-radius:12px;background:var(--card);border:1px solid var(--line);text-decoration:none}
.social-link b{font-weight:600}
.social-link span{color:var(--soft);font-size:.92rem}
.social-link:hover{border-color:var(--violet)}

/* цены */
.price-list{margin-top:34px;border-top:1px solid #cdbca8}
.price-row{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px 40px;padding:26px 0;border-bottom:1px solid var(--line)}
.price-row h3{font:600 1.6rem/1.2 var(--f-head)}
.pr-main p{margin-top:8px;max-width:58ch;color:#4a3d33}
.pr-main .pr-for{color:var(--soft);font-size:.95rem}
.pr-facts{margin:0;display:grid;gap:10px;align-content:start}
.pr-facts div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.pr-facts dt{color:var(--soft);font-size:.9rem}
.pr-facts dd{margin:0;font-weight:500}
.price-row-main{background:linear-gradient(90deg,rgba(243,191,168,.28),transparent 70%)}
.price-row-main h3::after{content:"чаще всего берут";margin-left:12px;font:500 .72rem var(--f-text);letter-spacing:0;background:var(--marker);padding:3px 9px;border-radius:999px;vertical-align:middle;white-space:nowrap}
.price-row-free .pr-facts dd{color:var(--violet-d)}
.promo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px 32px;align-items:center;margin-top:44px;padding:clamp(22px,3vw,34px);background:var(--blush);color:var(--ink);border-radius:22px}
.promo-badge{width:96px;height:96px;border-radius:50%;background:#fff;color:var(--violet-d);display:grid;place-items:center;font:600 1.9rem var(--f-head);transform:rotate(-8deg)}
.promo h3{font:600 1.5rem/1.2 var(--f-head)}
.promo-text p{margin-top:10px;color:#4a3d33;max-width:60ch}
.promo-prices{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:4px}
.promo-prices li{font-weight:500}
.promo-prices li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--violet-d);margin-right:10px}
.promo .promo-note{font-size:.92rem;color:#74665a}
.after-note{margin-top:30px;color:var(--soft);max-width:70ch;font-size:.95rem}

/* как работаю */
.steps{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s}
.steps li{counter-increment:s;padding:0 26px 0 0}
.steps li::before{content:counter(s);display:block;font:600 3rem/1 var(--f-head);color:var(--violet-d);margin-bottom:14px}
.steps li+li{padding-left:26px;border-left:1px solid var(--line)}
.steps p{margin-top:8px;color:#4a3d33;font-size:.97rem}

/* вопросы */
.faq-wrap h2{margin-bottom:28px}
.faq{max-width:820px;border-top:1px solid #cdbca8}
.faq details{border-bottom:1px solid #e0d2c0}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:500;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;translate:0 -50%;font:500 1.6rem/1 var(--f-text);color:var(--violet-d);transition:rotate .2s}
.faq details[open] summary::after{rotate:45deg}
.faq details p{padding:0 40px 22px 0;color:#4a3d33;max-width:62ch}

/* контакты */
.contact{background:var(--sage);color:var(--ink);padding:clamp(52px,7vw,92px) 0}
.contact-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:start}
.contact h2{max-width:14ch}
.contact-intro p{margin-top:16px;max-width:42ch;color:#3f4a3b}
.contact-alt{margin-top:34px!important}
.contact-links{margin-top:12px}
.lead-form{background:rgba(255,255,255,.7);border:1px solid #fff;border-radius:22px;padding:clamp(20px,3vw,32px);display:grid;gap:18px}
.field label,.opts legend{display:block;font-weight:500;margin-bottom:6px}
.field input,.field textarea{border-color:var(--line)!important}
.opt{font-weight:400;opacity:.8}
.field input,.field textarea{width:100%;font:400 1rem var(--f-text);padding:12px 14px;border-radius:10px;border:2px solid transparent;background:#fff;color:var(--ink)}
.field textarea{resize:vertical}
.field.has-error input,.field.has-error textarea{border-color:var(--violet-d)!important}
.opts{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.opts legend{padding:0;width:100%}
.opts label{position:relative;cursor:pointer}
.opts input{position:absolute;opacity:0}
.opts span{display:inline-block;padding:9px 16px;border-radius:999px;border:1.5px solid #c8bba9;font-weight:400;font-size:.95rem;background:#fff}
.opts input:checked+span{background:var(--violet);color:var(--ink);border-color:var(--violet)}
.opts input:focus-visible+span{outline:3px solid var(--violet-d);outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:#3f4a3b}
.agree input{margin-top:4px;accent-color:var(--violet-d);width:18px;height:18px;flex:none}
.agree a{color:var(--ink)}
.form-status{min-height:1.4em;font-weight:500}
.form-status.is-error{color:#a23b2a}
.form-status.is-ok{color:#2f6b3f}
.form-status a{color:var(--ink)}

/* подвал */
.foot{padding:30px 0;font-size:.92rem;color:var(--soft)}
.foot-in{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center}
.foot-links{display:flex;gap:20px;margin-left:auto}

/* крупный просмотр */
.lightbox{border:0;padding:0;background:transparent;max-width:min(1400px,96vw);max-height:94vh;overflow:visible}
.lightbox::backdrop{background:rgba(10,11,18,.9)}
.lightbox img{width:100%;max-height:82vh;object-fit:contain;border-radius:12px}
.lb-cap{color:#d3d5ea;text-align:center;margin-top:10px;font-size:.95rem}
.lb-close{position:absolute;right:0;top:-46px;background:#fff;color:var(--ink);border:0;border-radius:999px;padding:8px 18px;font:600 .95rem var(--f-text);cursor:pointer}

/* политика */
.doc{padding:44px 0 70px;max-width:780px}
.doc h1{font-size:clamp(1.6rem,1rem + 2vw,2.3rem);margin-bottom:8px;max-width:none}
.doc h2{font-size:1.55rem;max-width:none;margin:30px 0 8px}
.doc p,.doc li{max-width:68ch;margin-top:10px}
.doc-date{color:var(--soft)}

/* телефон и планшет */
@media (max-width:980px){
  .contact-in,.about-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr;gap:34px 0}
  .steps li:nth-child(3){padding-left:0;border-left:0}
  .about-photo{max-width:380px}
}
@media (max-width:720px){
  .nav{display:none}
  .price-row{grid-template-columns:1fr;gap:14px}
  .pr-facts{grid-template-columns:1fr 1fr;gap:20px}
  .pr-facts div{flex-direction:column;gap:2px}
  .promo{grid-template-columns:1fr}
  .promo-badge{width:80px;height:80px;font-size:1.2rem}
  .promo-btn{justify-self:start}
  .steps{grid-template-columns:1fr}
  .steps li,.steps li+li{padding:0;border-left:0}
  .foot-links{margin-left:0}
  .price-row-main h3::after{display:block;margin:8px 0 0;width:max-content}
  .tabs{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1*var(--gut));padding:0 var(--gut) 6px;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:none}
  .card{width:82vw}
  .track{margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
  .facts{gap:16px 28px}
  .facts li{max-width:150px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero::before{animation:none}
  .mq-row{animation:none}
  .card-img img,.bar i{transition:none}
}

/* состав тарифов, допы, кнопки связи */
[hidden]{display:none!important}
.incl{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:7px;max-width:62ch}
.incl li{position:relative;padding-left:24px;font-size:.97rem}
.incl li::before{content:"";position:absolute;left:3px;top:.45em;width:11px;height:6px;border-left:2.5px solid var(--violet-d);border-bottom:2.5px solid var(--violet-d);rotate:-45deg}
.pr-main .pr-why{margin-top:16px;padding:12px 14px;background:rgba(18,19,28,.045);border-radius:10px;font-size:.95rem;max-width:62ch}
.pr-why b{font-weight:600}
.sub-h{font:600 1.6rem/1.2 var(--f-head);margin:46px 0 16px}
.addons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.addon{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.addon h4{margin:0;font:500 1.1rem/1.3 var(--f-text)}
.addon p{color:#4a3d33;font-size:.97rem}
.addon-price{font:600 1.3rem/1.3 var(--f-head)!important;color:var(--ink)!important;margin-top:auto}
.addon-price span{display:block;font:400 .88rem var(--f-text);color:var(--soft);margin-top:2px;letter-spacing:0}
.addon .addon-note{color:var(--soft);font-size:.9rem}
.addon-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.addon-list li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-bottom:10px;border-bottom:1px solid var(--line)}
.addon-list li:last-child{border-bottom:0}
.addon-list b{white-space:nowrap}
.contact-links{display:flex;flex-wrap:wrap;gap:10px}
.contact-phone{margin-top:14px!important;font-weight:500;color:var(--ink)!important}
@media (max-width:980px){.addons{grid-template-columns:1fr}}

.contact-phone2{margin-top:6px!important;color:#3f4a3b!important;font-size:.95rem}

/* формат и цена: второй ряд фильтров */
.tabs-fmt{margin-top:10px;align-items:center}
.fmts-label{font-size:.92rem;color:var(--soft);margin-right:4px}
.tab-fmt[aria-pressed="true"]{background:var(--sage);border-color:var(--sage)}
.empty{padding:40px 8px;color:var(--soft);max-width:50ch}
/* примеры под тарифами */
.pr-ex{margin-top:18px}
.pr-ex-title{font-size:.9rem!important;color:var(--soft)!important;margin:0 0 8px!important}
.pr-ex-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pr-ex-img{padding:0;border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden;cursor:zoom-in;width:150px;box-shadow:0 8px 20px -14px rgba(90,60,40,.35);transition:transform .2s}
.pr-ex-img:hover{transform:translateY(-3px)}
.pr-ex-img img{width:100%}
.pr-all{background:none;border:0;color:var(--violet-d);font:500 .95rem var(--f-text);text-decoration:underline;text-underline-offset:.2em;cursor:pointer;padding:6px 4px}
.incl .no{color:var(--soft)}
.incl .no::before{border-color:#cdbca8;rotate:0deg;width:10px;height:0;border-left:0;border-bottom:2.5px solid #cdbca8;top:.6em}
/* таблица сравнения */
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.cmp{width:100%;border-collapse:collapse;font-size:.93rem;min-width:760px}
.cmp th,.cmp td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.cmp thead th{font-weight:500;background:var(--tint);white-space:nowrap}
.cmp thead small{display:block;font-weight:400;color:var(--soft);font-size:.82rem}
.cmp tbody th{font-weight:500;width:34%}
.cmp td{font-weight:500}
.cmp td.no{color:var(--soft);font-weight:400}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
/* плавающая кнопка связи */
.fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.fab-btn{min-height:52px;padding:0 24px;border-radius:999px;border:0;background:var(--violet);color:var(--ink);font:500 1rem var(--f-text);cursor:pointer;box-shadow:0 14px 30px -12px rgba(169,85,59,.6)}
.fab-btn.is-open{background:var(--ink);color:#fff}
.fab-menu{display:grid;gap:6px;min-width:230px;padding:10px;border-radius:16px;background:#fff;box-shadow:0 24px 50px -16px rgba(18,19,28,.55);border:1px solid var(--line)}
.fab-menu a{display:block;padding:11px 14px;border-radius:10px;text-decoration:none;font-weight:500}
.fab-menu a:hover{background:var(--tint)}
.fab-note{padding:6px 14px;font-size:.88rem;color:var(--soft)}
@media (max-width:980px){.addons{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.addons{grid-template-columns:1fr}.pr-ex-img{width:44%}.tabs-fmt{flex-wrap:nowrap}.fmts-label{flex:none}}
@media (min-width:981px){.addons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.pr-ex-img{transition:none}}

.own-note{margin-top:22px;padding:14px 18px;border:1px dashed #cdbca8;border-radius:12px;max-width:70ch;font-size:.97rem}
.own-note b{font-weight:600}
@media (min-width:981px){.addons{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Цифры в заголовках - ровные, не старинные */
h1,h2,h3,.facts b,.price,.promo-badge,.addon-price,.steps li::before{font-variant-numeric:lining-nums}

/* Живые плашки: мягкое сияние и перелив в пастельных тонах */
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes sheen-sweep{0%{transform:translateX(-120%) skewX(-18deg)}55%,100%{transform:translateX(220%) skewX(-18deg)}}
@keyframes glow-pulse{0%,100%{box-shadow:0 0 0 0 rgba(243,191,168,.55),0 14px 30px -14px rgba(169,85,59,.5)}50%{box-shadow:0 0 0 12px rgba(243,191,168,0),0 14px 34px -10px rgba(169,85,59,.7)}}
@keyframes ring-spin{to{--ang:360deg}}
@keyframes float-badge{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-6px)}}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}

/* кнопки: проходит блик, у главной пульсирует свечение */
.btn,.fab-btn{position:relative;overflow:hidden}
.btn::after,.fab-btn::after{content:"";position:absolute;inset:0;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:translateX(-120%) skewX(-18deg);animation:sheen-sweep 5s ease-in-out infinite;pointer-events:none}
.hero .btn,.fab-btn{animation:glow-pulse 3.2s ease-in-out infinite}

/* карточки работ, допы, тарифы: перелив по рамке при наведении, лёгкий подъём */
.card,.addon,.price-row-main{position:relative;transition:transform .3s,box-shadow .3s}
.card::before,.addon::before{content:"";position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--ang),#f3bfa8,#f8e6a6,#dfe9d8,#f4d2d8,#f3bfa8);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;animation:ring-spin 9s linear infinite;pointer-events:none;transition:opacity .3s}
.card:hover,.addon:hover{transform:translateY(-5px);box-shadow:0 26px 50px -24px rgba(169,85,59,.5)}
.card:hover::before,.addon:hover::before{opacity:1}

/* тариф «Продающий»: тёплый переливающийся фон */
.price-row-main{background:linear-gradient(100deg,rgba(243,191,168,.30),rgba(248,230,166,.30),rgba(223,233,216,.30),rgba(243,191,168,.30));background-size:300% 100%;animation:shimmer-bg 12s ease-in-out infinite alternate;border-radius:0}
@keyframes shimmer-bg{from{background-position:0 0}to{background-position:100% 0}}
.price-row{transition:background-color .3s}
.price-row:not(.price-row-main):hover{background:rgba(245,235,223,.6)}

/* плашка скидки: блик, бейдж парит и сияет, искорки */
.promo{position:relative;overflow:hidden;background:linear-gradient(110deg,#f8dfd5,#fbeacb,#f6d9de,#f8dfd5);background-size:300% 100%;animation:shimmer-bg 10s ease-in-out infinite alternate}
.promo::before{content:"";position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-120%) skewX(-18deg);animation:sheen-sweep 6s ease-in-out infinite;pointer-events:none}
.promo>*{position:relative}
.promo-badge{animation:float-badge 4s ease-in-out infinite,glow-pulse 3s ease-in-out infinite}
.promo-badge::before,.promo-badge::after{content:"✦";position:absolute;color:#e0a23a;font-size:1rem;animation:twinkle 2.4s ease-in-out infinite}
.promo-badge::before{top:-6px;right:-4px}
.promo-badge::after{bottom:2px;left:-10px;font-size:.8rem;animation-delay:1.2s}

/* вкладки и пилюли: мягкий блик при наведении */
.tab:hover{background:rgba(243,191,168,.25);border-color:var(--violet)}
.pill{background:linear-gradient(100deg,#f5ebdf,#fbeacb,#f5ebdf);background-size:200% 100%;animation:shimmer-bg 6s ease-in-out infinite alternate}

/* форма: сияющая рамка */
.lead-form{position:relative}
.lead-form::before{content:"";position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--ang),#f3bfa8,#fff,#f8e6a6,#fff,#f4d2d8,#f3bfa8);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ring-spin 10s linear infinite;pointer-events:none}

@media (prefers-reduced-motion:reduce){
  .btn::after,.fab-btn::after,.promo::before{animation:none;display:none}
  .hero .btn,.fab-btn,.promo,.promo-badge,.price-row-main,.pill,.card::before,.addon::before,.lead-form::before,.promo-badge::before,.promo-badge::after{animation:none}
  .card,.addon{transition:none}
}

/* hero: светлые карточки работ справа на широком экране */
.hero-art{display:none}
@media (min-width:980px){
  .hero-text{position:relative}
  .hero h1{max-width:19ch}
  .hero-art{display:block;position:absolute;right:0;top:-10px;width:min(42%,500px);height:470px;pointer-events:none}
  .ha{position:absolute;margin:0;width:64%;animation:ha-float 9s ease-in-out infinite}
  .ha img{display:block;width:100%;height:auto;border-radius:16px;border:4px solid #fff;box-shadow:0 34px 60px -30px rgba(120,70,50,.45)}
  .ha figcaption{position:absolute;left:14px;bottom:-14px;background:#fff;color:var(--ink);font-weight:600;font-size:.82rem;line-height:1;padding:9px 14px;border-radius:999px;box-shadow:0 10px 24px -12px rgba(120,70,50,.5)}
  .ha-1{right:0;top:0;transform:rotate(2.5deg)}
  .ha-2{left:2%;top:165px;transform:rotate(-3deg);animation-delay:-3s}
  .ha-3{right:4%;top:310px;transform:rotate(1.5deg);animation-delay:-6s}
}
@keyframes ha-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media (prefers-reduced-motion:reduce){.ha{animation:none}}
