/* soTI: слой аккуратных улучшений (v1.1.0). Только transform, opacity и тени; цвета и шрифты бренда не меняются. */
::selection{background:rgba(214,176,118,.35);color:#fff}
:focus-visible{outline:1px solid var(--g300);outline-offset:4px}
.btn:focus-visible{outline-offset:5px}
/* шапка: при прокрутке плотнее и с золотой линией */
.hdr{transition:background-color .35s,border-color .35s,box-shadow .35s}
.hdr.sc{background:rgba(10,10,10,.88);border-bottom-color:var(--line-gold);box-shadow:0 10px 40px rgba(0,0,0,.45)}
/* ссылки: тонкое подчёркивание-линия */
.ftr a,.nav>a{background:linear-gradient(var(--g300),var(--g300)) 0 100%/0 1px no-repeat;transition:background-size .35s ease,color .25s}
@media (hover:hover){.ftr a:hover,.nav>a:hover{background-size:100% 1px;color:var(--g100)}}
/* кнопки: блик при наведении и мягкое нажатие */
.btn{position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.23,1,.32,1),box-shadow .3s,filter .3s,background-color .3s,border-color .3s}
.btn.pri::after{content:'';position:absolute;top:0;bottom:0;left:-70px;width:56px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);opacity:0;pointer-events:none}
@media (hover:hover){.btn.pri:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 14px 40px rgba(196,160,104,.38)}.btn.pri:hover::after{opacity:1;animation:sw .9s ease-out}.btn.sec:hover{background:rgba(214,176,118,.12);border-color:rgba(214,176,118,.7)}}
.btn:active{transform:scale(.985)}
@keyframes sw{from{left:-70px}to{left:120%}}
/* карточки: подъём и золотая линия сверху */
.feat,.quote,.offer{position:relative;transition:transform .45s cubic-bezier(.23,1,.32,1),border-color .35s,box-shadow .45s}
.feat::before,.quote::before,.offer::before{content:'';position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.23,1,.32,1)}
@media (hover:hover){.feat:hover,.quote:hover,.offer:hover{transform:translateY(-4px);border-color:var(--line-gold);box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 40px rgba(196,160,104,.08)}.feat:hover::before,.quote:hover::before,.offer:hover::before{transform:scaleX(1)}}
/* фото: лёгкое приближение внутри рамки */
.pc .im img,.split .ph img{transition:transform 1s cubic-bezier(.23,1,.32,1)}
@media (hover:hover){.pc:hover .im img,.split .ph:hover img{transform:scale(1.04)}}
/* цифры: мягкое золотое свечение */
.kpis .num,.fr-num{filter:drop-shadow(0 0 16px rgba(196,160,104,.25))}
.kpis>div{position:relative;transition:background-color .4s}
@media (hover:hover){.kpis>div:hover{background:linear-gradient(180deg,rgba(196,160,104,.07),transparent)}}
/* герой: медленное «дыхание» фото и искры */
@media (prefers-reduced-motion:no-preference){
 .hero>picture,.hero>img{animation:hz 28s ease-in-out infinite alternate;will-change:transform}
 @keyframes hz{from{transform:scale(1)}to{transform:scale(1.045)}}
 .spk{position:absolute;z-index:1;width:var(--s,12px);height:var(--s,12px);background:#F6E4BD;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);filter:drop-shadow(0 0 6px #E8C795);opacity:0;animation:tw var(--d,4s) ease-in-out infinite;animation-delay:var(--l,0s);pointer-events:none}
 @keyframes tw{0%,100%{opacity:0;transform:scale(.3)}50%{opacity:.9;transform:scale(1) rotate(45deg)}}
 /* появление при прокрутке */
 .js .rv{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.23,1,.32,1),transform .8s cubic-bezier(.23,1,.32,1);transition-delay:var(--d,0ms)}
 .js .rv.in{opacity:1;transform:none}
 .kpis>div::after{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.23,1,.32,1) .2s}
 .kpis>div.in::after{transform:scaleX(1)}
}
@media (prefers-reduced-motion:reduce){.spk{display:none}}
/* исправления вёрстки, найденные при проверке (были и в 1.0.8) */
.grid>*,.feat.post{min-width:0}.feat.post h3,.feat.post p{overflow-wrap:anywhere}
@media (max-width:1023px){.kpis{grid-template-columns:1fr 1fr}.kpis>div{min-width:0}.kpis .num{white-space:normal}.kpis>div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:420px){.terms{table-layout:fixed;width:100%}.terms td,.terms th{overflow-wrap:anywhere;hyphens:auto}.sect h2,.hero h1{overflow-wrap:anywhere}}
@media (max-width:360px){.kpis .num{font-size:20px}}
@media (max-width:767px){.spk{display:none}}
