:root{--clr-bg:#e1d0ff}
body::before,body::after{content:"";position:fixed;top:0;bottom:0;width:clamp(150px,24vw,380px);z-index:-1;pointer-events:none;--grid-cell:30px;--grid-line:rgba(147,51,234,0.4);background-image:repeating-linear-gradient(90deg,var(--grid-line) 0 1px,transparent 1px var(--grid-cell)),repeating-linear-gradient(0deg,var(--grid-line) 0 1px,transparent 1px var(--grid-cell))}
body::before{left:0;-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,0.34) 62%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,0.34) 62%,transparent 100%)}
body::after{right:0;-webkit-mask-image:linear-gradient(270deg,#000 0%,rgba(0,0,0,0.34) 62%,transparent 100%);mask-image:linear-gradient(270deg,#000 0%,rgba(0,0,0,0.34) 62%,transparent 100%)}
.page-glow{position:fixed;top:0;bottom:0;left:50%;width:clamp(340px,52vw,860px);transform:translateX(-50%);z-index:0;pointer-events:none;opacity:1;filter:blur(40px);background:radial-gradient(closest-side at center,rgba(255,255,255,1) 0%,rgba(255,255,255,0.95) 15%,rgba(255,255,255,0.84) 30%,rgba(255,255,255,0.66) 45%,rgba(255,255,255,0.46) 60%,rgba(255,255,255,0.26) 75%,rgba(255,255,255,0.09) 90%,rgba(255,255,255,0) 100%)}
.page-emoji{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 11%,#000 89%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 11%,#000 89%,transparent 100%)}
.page-emoji span{position:absolute;top:0;left:var(--x);font-size:var(--s);line-height:1;opacity:0.55;animation:emojiFall var(--d) linear infinite;animation-delay:var(--dl);will-change:transform}
@keyframes emojiFall{from{transform:translate3d(0,-12vh,0) rotate(0deg)}to{transform:translate3d(var(--drift),112vh,0) rotate(var(--r))}}
.svc-head,.svc-foot{--arch-pt:4rem;--arch-dip:120px;--arch-drop:120px;--arch-ry:260px}
.svc-head{position:relative;padding:var(--arch-pt) 1.5rem 2rem;text-align:center}
.svc-foot{position:relative;height:calc(104px + var(--arch-pt) + var(--arch-dip));margin-top:-280px}
.svc-head .promo-subtitle{margin-bottom:0}
.svc-head::before,.svc-foot::before{content:"";position:absolute;left:0;right:0;height:calc(104px + var(--arch-pt) + var(--arch-dip));background-color:#4c1d95;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='svcNoise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23svcNoise)' opacity='0.5'/%3E%3C/svg%3E"),radial-gradient(circle at 50% 26%,rgba(196,181,253,0.42),transparent 62%),radial-gradient(circle at 12% 10%,rgba(167,139,250,0.38),transparent 46%),radial-gradient(circle at 90% 18%,rgba(217,70,239,0.22),transparent 44%),linear-gradient(165deg,#6d28d9 0%,#5b21b6 42%,#451a8f 72%,#3b1378 100%);background-blend-mode:overlay,screen,screen,screen,normal;-webkit-mask-image:radial-gradient(ellipse 59vw var(--arch-ry) at 50% var(--arch-cy),transparent 99.5%,#000 100%);mask-image:radial-gradient(ellipse 59vw var(--arch-ry) at 50% var(--arch-cy),transparent 99.5%,#000 100%);pointer-events:none}
.svc-head::before{top:-104px;--arch-cy:calc(100% + var(--arch-drop))}
.svc-head::before{left:50%;transform:translateX(-50%);width:100vw}
.svc-foot::before{top:0;--arch-cy:calc(-1 * var(--arch-drop))}
@media (max-width:768px){.svc-head,.svc-foot{--arch-pt:2.75rem;--arch-dip:60px;--arch-drop:60px;--arch-ry:140px}.svc-head{padding-left:1rem;padding-right:1rem}.svc-foot{margin-top:-210px}}
@media (max-width:480px){.svc-foot::before{--arch-cy:calc(-1 * var(--arch-drop) + 6px);height:calc(104px + var(--arch-pt) + var(--arch-dip) + 8px)}}
.footer p{font-size:0.8rem;color:#fff}
.footer-links a{color:#fff;border-color:rgba(255,255,255,0.6)}
.footer-links a:hover{color:#fff;border-color:#fff}
@media (min-width:601px) and (max-width:1100px){.footer{padding-bottom:1rem}}
.promo-section{position:relative;z-index:1;padding:0 2rem 3rem;max-width:1100px;margin:0 auto;text-align:center}
.promo-title{font-family:"Unbounded",sans-serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;text-align:center;margin-bottom:1.2rem}.promo-subtitle{text-align:center;color:var(--clr-muted);font-size:1.3rem;line-height:1.7;max-width:700px;margin:0 auto 1.5rem;text-wrap:balance}.promo-card{display:flex;gap:2rem;align-items:stretch;border-radius:24px;overflow:hidden;background:var(--clr-surface);border:1px solid rgba(0,0,0,0.06);box-shadow:0 8px 40px rgba(0,0,0,0.06)}.promo-img{flex:0 0 46%;aspect-ratio:1/1;align-self:flex-start;display:flex;align-items:center;justify-content:center;overflow:hidden}.promo-img img{width:100%;height:100%;object-fit:cover}.promo-info{flex:1;padding:2.5rem;background:rgba(255,255,255,0.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center}.promo-info h3{font-family:"Unbounded",sans-serif;font-size:1.5rem;font-weight:700;line-height:1.2;margin-bottom:1rem}.promo-info p{font-size:1.1rem;line-height:1.4;color:var(--clr-muted);margin-bottom:1.5rem;text-wrap:balance}.btn-green{display:inline-block;padding:0.6rem 1.5rem;background:#10b981;color:#fff;border-radius:60px;text-decoration:none;font-weight:500;transition:background 0.3s}.btn-green:hover{background:#059669}.promo-info .promo-disclaimer{font-size:0.65rem!important;color:#9ca3af;line-height:1.35;margin-bottom:1.5rem}.promo-info .promo-note{margin-bottom:0}.promo-code{position:relative;display:inline-block;align-self:center;padding:0.9rem 1.5rem;margin:0;border-radius:14px;background:linear-gradient(135deg,#9333ea,#a855f7,#7c3aed,#9333ea);background-size:300% 300%;animation:promoShimmer 4s ease infinite;color:#fff;cursor:pointer;user-select:none;transition:transform 0.2s}.promo-code:hover{transform:translateY(-2px)}.promo-code:active{transform:scale(0.97)}.promo-code-text{font-family:"Unbounded",sans-serif;font-weight:700;font-size:1.1rem;text-align:center!important;display:block}@keyframes promoShimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@media (max-width:768px){.promo-section{padding:3rem 1.5rem}.promo-subtitle{font-size:1rem;line-height:1.4}.promo-card{flex-direction:column;gap:0}.promo-img{min-height:250px}}@media (max-width:480px){.desktop-br{display:none}.promo-title{font-size:1.4rem}.promo-info{padding:1.75rem}.promo-info h3{font-size:1.25rem}.promo-info p{font-size:1rem}.promo-code{padding:0.75rem 1.15rem}.promo-code-text{font-size:1rem}}
.promo-card + .promo-card{margin-top:2rem}
.promo-price{position:relative;display:inline-block;align-self:center;padding:0.9rem 1.5rem;border-radius:14px;background:linear-gradient(135deg,#9333ea,#a855f7,#7c3aed,#9333ea);background-size:300% 300%;animation:promoShimmer 4s ease infinite;color:#fff}
.promo-price-text{font-family:"Unbounded",sans-serif;font-weight:700;font-size:2rem;line-height:1.1;text-align:center;display:block}
@media (max-width:768px){.promo-card{flex-direction:column}.promo-img{flex:none;width:100%;align-self:auto}}
@media (min-width:769px) and (max-width:1100px){.promo-img{flex:0 0 50%;align-self:center;aspect-ratio:1/1}.promo-img img{height:100%}.promo-info{padding:0 1.25rem}.promo-info h3{font-size:clamp(1.1rem,2.2vw,1.5rem);margin-bottom:.6rem}.promo-info p{font-size:clamp(.9rem,1.8vw,1.1rem);line-height:1.35;margin-bottom:1rem}.promo-info .promo-disclaimer{font-size:clamp(.75rem,1.4vw,.85rem)}.promo-code{padding:.6rem 1rem}.promo-code-text{font-size:clamp(.85rem,1.6vw,1rem)}}
/* === МЕЛКИЙ ТЕКСТ НА ТЕЛЕФОНЕ ===
   В базе дисклеймер набран 0.65rem (10.4px) и помечен !important,
   поэтому переопределяем здесь, на <=480px. */
@media (max-width: 480px) {
.promo-info .promo-disclaimer {
font-size: 0.75rem !important;
}
.promo-section {
padding-top: 1rem;
}
.svc-head {
padding-bottom: 1rem;
}
}
