:root{--fon:#2a2634;--tekst:#f0ecf6;--tusk:#bdb5cc;--akcent:#c2b3ff;--na-akcente:#2a2634;--podium:#3a344b;--pol:#514868;--liniya:#3f3950;--shrift:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Noto Serif",serif;--shrift-z:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Noto Serif",serif;--z-ves:500;--z-razryadka:-0.01em;--z-shirina:100%;--z-vysota:1.08;--strochka:1.7;--r-podium:2.75rem;--r-knopka:.55rem;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fon);color:var(--tekst);font-family:var(--shrift);font-size:1.0625rem;line-height:var(--strochka)}
svg,canvas{display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--akcent);outline-offset:3px}
.ramka{width:100%;max-width:70rem;margin:0 auto;padding:0 1rem}
@media(min-width:48rem){.ramka{padding:0 2rem}}
.shapka{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.25rem;padding-bottom:1.25rem}
.znak{display:flex;align-items:center;gap:.7rem;text-decoration:none;line-height:1.2}
.znak svg{width:2.5rem;height:2.5rem;flex:none}
.znak b{display:block;font-family:var(--shrift-z);font-weight:var(--z-ves);font-stretch:var(--z-shirina);letter-spacing:var(--z-razryadka);font-size:1.15rem}
.znak small{display:block;color:var(--tusk);font-size:.85rem}
.menyu{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}
.menyu a{text-decoration:none;color:var(--tusk)}
.menyu a:hover{color:var(--tekst);text-decoration:underline}
@media(max-width:44rem){.menyu{display:none}}
h1,h2{font-family:var(--shrift-z);font-weight:var(--z-ves);font-stretch:var(--z-shirina);letter-spacing:var(--z-razryadka);line-height:var(--z-vysota);text-wrap:balance}
h1{font-size:clamp(2.25rem,3.8vw + 1.2rem,4.25rem);margin:0 0 1.25rem;max-width:15ch}
h2{font-size:clamp(1.5rem,1.1vw + 1.15rem,2.1rem);margin:0 0 1.25rem}
h3{font-size:1.125rem;line-height:1.3;margin:0 0 .3rem}
p{margin:0 0 1rem;max-width:62ch}
.vvod{font-size:clamp(1.125rem,.4vw + 1rem,1.3rem);max-width:36ch;margin-bottom:1.75rem}
.knopka{display:inline-block;background:var(--akcent);color:var(--na-akcente);font-weight:700;text-decoration:none;padding:.85rem 1.4rem;border-radius:var(--r-knopka);line-height:1.2}
.knopka:hover{filter:brightness(1.08)}
.stsena{margin:0}
.podium{position:relative;overflow:hidden;isolation:isolate;width:100%;aspect-ratio:4/5;background:var(--podium)}
.podium::before{content:"";position:absolute;left:18%;right:18%;bottom:5%;height:16%;z-index:-1;background:radial-gradient(closest-side,var(--pol),transparent)}
.podium canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s ease}
.podium.zhivoy canvas{opacity:1}
.risunok{position:absolute;left:50%;bottom:16%;width:50%;transform:translateX(-50%)}
.podium.zhivoy .risunok{display:none}
.stsena figcaption{margin-top:.85rem;color:var(--tusk);font-size:.95rem;max-width:38ch}
.razdel{padding:3.5rem 0;border-top:1px solid var(--liniya)}
.uslugi{list-style:none;margin:0;padding:0;display:grid;gap:1.75rem 2.5rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.uslugi li{position:relative;padding-left:1.25rem}
.uslugi li::before{content:"";position:absolute;left:0;top:.5em;width:.55rem;height:.55rem;border-radius:50%;background:var(--akcent)}
.uslugi p{margin:0;color:var(--tusk)}
.pochta a{font-weight:700}
.podval{border-top:1px solid var(--liniya);padding:1.75rem 0 2.5rem;color:var(--tusk);font-size:.9rem}
.podval p{margin:0}
.oshibka{padding-top:5rem;padding-bottom:6rem}
.oshibka svg{width:5rem;height:5rem;margin-bottom:1.5rem}
@media(prefers-reduced-motion:reduce){.podium canvas{transition:none}}
.podium{border-radius:50%;aspect-ratio:1}
.glavnoe{background:var(--podium)}
.glavnoe .ramka{display:grid;gap:2.5rem;align-items:center;padding-top:3rem;padding-bottom:3rem}
@media(min-width:56rem){.glavnoe .ramka{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4rem}.glavnoe .stsena{order:-1}}
.podium{aspect-ratio:1;background:var(--pol)}
.podium::before{background:radial-gradient(closest-side,var(--podium),transparent)}
.glavnoe .stsena figcaption{color:var(--tekst)}
.glavnoe+.razdel{border-top:0}
