:root{--ink:#100d19;
--cream:#f2eee7;
--lime:#d7ff56;
--pink:#ff668f;
--violet:#4e356e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;
background:var(--cream);
color:var(--ink);
font-family:Manrope,Arial,sans-serif;
overflow-x:hidden}.loader{position:fixed;
inset:0;
z-index:20;
display:grid;
place-items:center;
background:var(--ink);
color:var(--cream);
overflow:hidden;
transition:opacity .65s,visibility .65s}.loader.done{opacity:0;
visibility:hidden}.loader-grid{position:absolute;
inset:0;
background:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);
background-size:42px 42px;
mask-image:radial-gradient(circle at center,#000 12%,transparent 70%)}.loader-center{position:relative;
z-index:2;
width:min(410px,75vw)}.loader-mark{font:700 clamp(34px,5.5vw,70px)/.92 Unbounded,sans-serif;
letter-spacing:-.11em;
text-align:center;
white-space:nowrap}.loader-mark span{color:var(--lime);
font-size:.55em;
vertical-align:middle;
margin:0 .13em}.loader-line{height:2px;
margin:22px 0 12px;
background:#453e52;
overflow:hidden}.loader-line i{display:block;
height:100%;
background:var(--lime);
animation:load 1.2s cubic-bezier(.7,0,.2,1) forwards}.loader-meta{display:flex;
justify-content:space-between;
gap:15px}.loader small{font-size:8px;
letter-spacing:.14em}.loader-orbit{position:absolute;
border:1px solid #d7ff564d;
border-radius:50%;
animation:spin 7s linear infinite}.orbit-a{width:min(72vw,690px);
height:min(72vw,690px)}.orbit-b{width:min(51vw,490px);
height:min(51vw,490px);
border-color:#ff668f66;
animation-direction:reverse;
animation-duration:4s}.loader-star{position:absolute;
color:var(--lime);
font-size:22px;
animation:twinkle 1.3s alternate infinite}.star-a{top:24%;
left:23%}.star-b{right:20%;
bottom:26%;
color:var(--pink);
animation-delay:.6s}@keyframes load{from{width:0}to{width:100%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes twinkle{to{transform:scale(1.7) rotate(35deg);
opacity:.3}}.hero{position:relative;
min-height:100svh;
color:white;
background:#20182a;
overflow:hidden}.hero-photo{position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
object-position:center 48%;
animation:hero-in 1.4s cubic-bezier(.2,.8,.2,1) both}.hero-shade{position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(10,6,16,.77),rgba(10,5,15,.1) 75%),linear-gradient(0deg,rgba(10,4,15,.75),transparent 55%)}@keyframes hero-in{from{transform:scale(1.1);
filter:blur(7px)}to{transform:scale(1);
filter:blur(0)}}.nav{position:relative;
z-index:2;
display:flex;
align-items:center;
justify-content:space-between;
padding:28px clamp(22px,5vw,76px)}.brand{color:inherit;
text-decoration:none;
font:700 18px/1 Unbounded,sans-serif;
letter-spacing:-.08em}.brand em{font-style:normal;
color:var(--lime)}.nav-links{display:flex;
gap:26px}.nav-links a{color:white;
text-decoration:none;
font-size:12px;
font-weight:700;
letter-spacing:.06em}.nav-dot{display:grid;
place-items:center;
width:38px;
height:38px;
border:1px solid #fff;
border-radius:50%}.nav-dot span{width:7px;
height:7px;
border-radius:50%;
background:var(--lime)}.hero-content{position:relative;
z-index:1;
min-height:calc(100svh - 96px);
display:flex;
flex-direction:column;
justify-content:center;
padding:60px clamp(22px,12vw,180px) 115px}.eyebrow,.kicker{font-size:10px;
font-weight:800;
letter-spacing:.14em}.hero h1,.manifesto h2,.teacher h2,.contacts h2,.groups h2{margin:13px 0;
font:800 clamp(42px,7.5vw,118px)/.92 Unbounded,sans-serif;
letter-spacing:-.085em}.hero h1 span{color:var(--lime)}.hero-copy{max-width:315px;
margin:12px 0 25px;
font-size:14px;
line-height:1.55}.round-link{display:flex;
align-items:center;
justify-content:space-between;
width:142px;
height:142px;
padding:21px;
border-radius:50%;
color:var(--ink);
background:var(--lime);
text-decoration:none;
transition:transform .25s}.round-link:hover{transform:rotate(-10deg) scale(1.05)}.round-link span{font-size:11px;
font-weight:800;
line-height:1.2}.round-link b{font-size:28px}.hero-bottom{position:absolute;
z-index:2;
bottom:28px;
left:clamp(22px,5vw,76px);
right:clamp(22px,5vw,76px);
display:flex;
justify-content:space-between;
gap:20px;
font:700 9px Manrope;
letter-spacing:.12em}.scroll{display:flex;
align-items:center;
gap:9px}.scroll i{display:block;
width:36px;
height:1px;
background:var(--lime)}.manifesto{display:grid;
grid-template-columns:1fr 2.1fr 1.15fr;
gap:30px;
padding:clamp(80px,12vw,180px) clamp(22px,8vw,130px)}.manifesto h2{font-size:clamp(37px,5.2vw,79px);
margin:0}.manifesto h2 i,.teacher h2 i,.groups h2 i{color:var(--pink);
font-style:normal}.manifesto-text{align-self:end;
max-width:300px;
font-size:14px;
line-height:1.55}.manifesto-text p+p{margin-top:20px}.gallery{padding:0 clamp(22px,8vw,130px) 150px}.gallery-intro{display:flex;
align-items:end;
justify-content:space-between;
padding-bottom:22px;
border-bottom:1px solid #cbc5bd}.gallery-intro p:last-child{margin:0;
text-align:right;
font-size:13px;
line-height:1.45}.gallery-frame{position:relative;
margin-top:23px}.gallery-main{margin:0;
overflow:hidden;
background:#231a2c}.gallery-main img{display:block;
width:100%;
height:min(55vw,690px);
object-fit:cover;
object-position:center 43%;
transition:transform .8s}.gallery-main:hover img{transform:scale(1.025)}.gallery-main figcaption{display:flex;
justify-content:space-between;
padding:12px 0 0;
font-size:9px;
font-weight:800;
letter-spacing:.13em}.gallery-stamp{position:absolute;
right:4.2vw;
bottom:5.2vw;
display:grid;
place-items:center;
width:132px;
height:132px;
border-radius:50%;
background:var(--lime);
text-align:center;
font:700 16px/.86 Unbounded;
letter-spacing:-.1em;
transform:rotate(12deg)}.gallery-stamp i{position:absolute;
right:-8px;
bottom:8px;
color:var(--pink);
font-style:normal;
font-size:24px}.gallery-strip{display:grid;
grid-template-columns:1.25fr .7fr 1fr;
gap:12px;
margin-top:65px}.gallery-strip figure{height:230px;
margin:0;
overflow:hidden}.gallery-strip img{display:block;
width:100%;
height:100%;
object-fit:cover;
transition:transform .5s}.gallery-strip figure:hover img{transform:scale(1.06)}.numbers{display:grid;
grid-template-columns:repeat(3,1fr);
gap:1px;
margin:0 clamp(22px,8vw,130px) 150px;
background:#d9d4cf}.numbers div{display:flex;
align-items:center;
gap:23px;
padding:30px;
background:var(--cream)}.numbers b{font:600 clamp(46px,6vw,86px)/1 Unbounded}.numbers span{font-size:11px;
line-height:1.4;
font-weight:700}.groups{padding:130px clamp(22px,8vw,130px);
background:#e6e0d8}.groups-heading{display:grid;
grid-template-columns:.65fr 1.4fr .75fr;
gap:25px;
align-items:end;
margin-bottom:60px}.groups h2{font-size:clamp(42px,6.2vw,90px);
margin:0}.groups-heading>p:last-child{font-size:13px;
line-height:1.55;
max-width:280px}.group-list{display:grid;
grid-template-columns:repeat(5,1fr);
gap:10px}.group-card{position:relative;
min-height:470px;
padding:17px;
display:flex;
flex-direction:column;
justify-content:space-between;
overflow:hidden;
background:#211928;
color:#fff}.group-card:after{content:"";
position:absolute;
inset:0;
background:linear-gradient(0deg,rgba(11,7,17,.9),transparent 62%)}.group-card img{position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
transition:transform .7s}.group-card:hover img{transform:scale(1.07)}.group-card:nth-child(2),.group-card:nth-child(4){transform:translateY(40px)}.group-no,.group-info{position:relative;
z-index:1}.group-no{font-size:10px;
font-weight:800}.group-info p{margin:0 0 7px;
font-size:10px;
font-weight:800;
letter-spacing:.12em}.group-info h3{margin:0;
font:700 clamp(25px,2.8vw,43px)/.9 Unbounded;
letter-spacing:-.09em}.group-info h3 span{font-size:.37em;
letter-spacing:-.04em}.group-join{display:flex;
justify-content:space-between;
margin-top:22px;
padding-top:11px;
border-top:1px solid #ffffff77;
color:#fff;
text-decoration:none;
font-size:10px;
font-weight:800}.group-join b{font-size:17px}.bot-command{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;margin-top:11px;padding:0;border:0;background:transparent;color:#ffffffba;cursor:pointer;text-align:left;font:700 8px/1 Manrope;letter-spacing:.1em}.bot-command code{font:600 10px/1.2 Manrope;letter-spacing:0;color:var(--lime)}.bot-command:hover code,.bot-command:focus-visible code{color:#fff;text-decoration:underline}.teacher{display:grid;
grid-template-columns:.9fr 1.1fr;
gap:clamp(35px,10vw,170px);
align-items:center;
padding:140px clamp(22px,15vw,230px);
background:var(--ink);
color:var(--cream)}.teacher-image{position:relative;
max-width:440px}.teacher-image:before{content:"";
position:absolute;
inset:-12px 12px 12px -12px;
border:1px solid var(--pink)}.teacher-image img{position:relative;
display:block;
width:100%;
height:auto;
aspect-ratio:.75;
object-fit:cover;
object-position:center 30%}.teacher-image p{position:absolute;
z-index:1;
left:-52px;
bottom:35px;
margin:0;
font:600 clamp(20px,3vw,35px)/.95 Unbounded;
letter-spacing:-.07em;
color:var(--lime);
writing-mode:vertical-rl;
transform:rotate(180deg)}.teacher-image i{font-size:8px;
color:var(--cream);
letter-spacing:.02em}.teacher h2{font-size:clamp(38px,5vw,75px);
margin-top:16px}.teacher-content>p:not(.kicker){max-width:435px;
font-size:14px;
line-height:1.6}.sign{margin-top:35px;
color:var(--lime);
font:600 26px/1 cursive}.sign span{font:15px Unbounded;
margin-left:9px}.pulse{position:relative;
height:min(69vw,850px);
overflow:hidden}.pulse img{width:100%;
height:100%;
object-fit:cover}.pulse:after{content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(13,8,23,.76),transparent)}.pulse-overlay{position:absolute;
z-index:1;
left:clamp(22px,10vw,160px);
bottom:clamp(40px,8vw,130px);
color:var(--cream)}.pulse-overlay p{font-size:10px;
letter-spacing:.12em;
font-weight:800}.pulse-overlay h2{margin:8px 0 0;
font:800 clamp(44px,9vw,130px)/.85 Unbounded;
letter-spacing:-.08em}.contacts{padding:120px clamp(22px,8vw,130px) 25px;
background:var(--lime)}.contact-head{max-width:650px}.contacts h2{font-size:clamp(43px,7vw,100px);
margin-top:15px}.contact-head>p:not(.kicker){max-width:330px;
font-size:14px;
line-height:1.5}.telegram{display:flex;
justify-content:space-between;
align-items:center;
max-width:430px;
margin:40px 0 11px;
padding:17px 19px;
border:1px solid var(--ink);
color:var(--ink);
text-decoration:none;
font-size:11px;
font-weight:800;
line-height:1.3;
transition:.2s}.telegram:hover{background:var(--ink);
color:var(--lime)}.telegram b{font-size:28px}.contact-head small{font-size:10px}.contact-links{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid #100d19;border-left:1px solid #100d19}.contact-links a{position:relative;display:grid;grid-template-columns:1fr auto;gap:5px;min-height:106px;padding:15px;border-right:1px solid #100d19;border-bottom:1px solid #100d19;color:var(--ink);text-decoration:none;transition:background .22s,color .22s}.contact-links a:hover{background:var(--ink);color:var(--lime)}.contact-links span{grid-column:1/3;font-size:9px;font-weight:800;letter-spacing:.12em}.contact-links strong{align-self:end;font-size:clamp(13px,1.5vw,19px);line-height:1.1}.contact-links b{align-self:end;font-size:21px;line-height:1}.map-wrap{position:relative;
height:390px;
margin-top:80px;
background:#c5e348;
overflow:hidden}.map-wrap iframe{width:100%;
height:100%;
border:0;
filter:grayscale(.2) contrast(1.1)}.map-pin{position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
display:grid;
place-items:center;
width:132px;
height:132px;
border-radius:50%;
background:var(--pink);
text-align:center;
box-shadow:0 8px 25px #25112066}.map-pin b{font:700 13px/.9 Unbounded;
letter-spacing:-.08em}.map-pin span{margin-top:5px;
font-size:8px;
font-weight:800}footer{display:flex;
justify-content:space-between;
align-items:center;
padding-top:26px;
font-size:10px;
font-weight:800;
letter-spacing:.08em}footer a:last-child{color:var(--ink)}.reveal{opacity:0;
transform:translateY(30px);
transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;
transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;
animation-iteration-count:1!important;
scroll-behavior:auto!important;
transition-duration:.01ms!important}}@media(max-width:850px){.nav-links{display:none}.manifesto{grid-template-columns:1fr 2fr}.manifesto-text{grid-column:2}.groups-heading{grid-template-columns:1fr 2fr}.groups-heading>p:last-child{grid-column:2}.group-list{grid-template-columns:repeat(3,1fr)}.group-card:nth-child(2),.group-card:nth-child(4){transform:none}}@media(max-width:700px){.hero-content{padding-bottom:100px}.hero-bottom span:nth-child(2){display:none}.manifesto{display:block;
padding-top:85px;
padding-bottom:85px}.manifesto .kicker{margin-bottom:30px}.manifesto-text{margin-top:34px}.gallery{padding-bottom:85px}.gallery-intro{display:block}.gallery-intro p:last-child{margin-top:17px;
text-align:left}.gallery-main img{height:80vw}.gallery-stamp{width:94px;
height:94px;
right:12px;
bottom:41px;
font-size:12px}.gallery-strip{grid-template-columns:1fr 1fr;
margin-top:38px}.gallery-strip figure{height:180px}.gallery-strip figure:last-child{display:none}.numbers{grid-template-columns:1fr;
margin-bottom:0}.groups{padding-top:85px;
padding-bottom:90px}.groups-heading{display:block;
margin-bottom:35px}.groups-heading .kicker{margin-bottom:28px}.groups-heading>p:last-child{max-width:360px}.group-list{grid-template-columns:1fr 1fr;
gap:8px}.group-card{min-height:310px;
padding:13px}.group-card:last-child{grid-column:1/3}.group-info h3{font-size:30px}.teacher{grid-template-columns:1fr;
padding:90px 42px;
gap:75px}.teacher-image{max-width:320px;
margin:auto}.teacher-image p{left:-35px}.pulse{height:75vw}.contacts{padding-top:85px}.map-wrap{height:330px;
margin-top:55px}footer{flex-wrap:wrap;
gap:15px}.hero h1{font-size:44px}.loader-mark{font-size:30px}.orbit-a{width:90vw;
height:90vw}.orbit-b{width:64vw;
height:64vw}}
@media(max-width:700px){.contact-links{grid-template-columns:1fr;margin-top:42px}.contact-links a{min-height:82px}}

/* ==========================================================================
   ОБНОВЛЕНИЕ: навигация, доступность, новые секции
   ========================================================================== */

/* Лоадер: показываем один раз за сессию и даём пропустить */
html.sc-seen .loader{display:none}
.loader-skip{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);padding:9px 18px;border:1px solid #ffffff40;border-radius:100px;background:transparent;color:#f2eee7b3;font:700 10px Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:.2s}
.loader-skip:hover{border-color:var(--lime);color:var(--lime)}

/* Кнопка «Перейти к содержанию» */
.skip-link{position:fixed;top:10px;left:10px;z-index:30;padding:11px 16px;background:var(--ink);color:var(--lime);text-decoration:none;font:800 11px Manrope,sans-serif;transform:translateY(-200%);transition:transform .2s}
.skip-link:focus{transform:none}

/* Полоса прогресса чтения */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:17;background:transparent;pointer-events:none}
.progress i{display:block;height:100%;width:100%;background:var(--lime);transform:scaleX(0);transform-origin:0 50%}

/* Липкая шапка */
.topbar{position:fixed;top:0;left:0;right:0;z-index:16;display:flex;align-items:center;justify-content:space-between;gap:18px;height:66px;padding:0 clamp(18px,4vw,60px);background:#100d19eb;color:var(--cream);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #ffffff14;transform:translateY(-101%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.topbar.is-visible{transform:none}
.topbar .brand{font-size:16px}
.topbar-links{display:flex;gap:clamp(14px,2.4vw,30px)}
.topbar-links a{position:relative;color:#f2eee7c7;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 0;transition:color .2s}
.topbar-links a:hover{color:var(--cream)}
.topbar-links a.is-active{color:var(--lime)}
.topbar-links a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--lime)}
.topbar-actions{display:flex;align-items:center;gap:12px}
.btn-cta{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;background:var(--lime);color:var(--ink);text-decoration:none;font-size:11px;font-weight:800;line-height:1;white-space:nowrap;transition:.22s}
.btn-cta b{font-size:14px}
.btn-cta:hover{background:var(--cream);transform:translateY(-1px)}

/* Бургер и мобильное меню */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;border:1px solid #ffffff33;border-radius:50%;background:transparent;cursor:pointer}
.burger span{display:block;height:1.5px;background:var(--cream);transition:transform .3s,opacity .3s}
.burger[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:18;display:flex;flex-direction:column;justify-content:space-between;padding:100px clamp(22px,7vw,60px) 42px;background:var(--ink);color:var(--cream);transform:translateY(-100%);visibility:hidden;transition:transform .5s cubic-bezier(.6,0,.2,1),visibility .5s}
.menu.is-open{transform:none;visibility:visible}
.menu-links{display:flex;flex-direction:column}
.menu-links a{display:flex;align-items:baseline;gap:14px;padding:15px 0;border-bottom:1px solid #ffffff1a;color:var(--cream);text-decoration:none;font:700 clamp(23px,8vw,36px)/1 Unbounded,sans-serif;letter-spacing:-.07em;transition:color .2s}
.menu-links a:hover,.menu-links a:focus-visible{color:var(--lime)}
.menu-links i{font:700 10px Manrope,sans-serif;font-style:normal;color:var(--pink);letter-spacing:.1em}
.menu-foot{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.menu-foot .btn-cta{padding:15px 20px;font-size:12px}
.menu-phone{color:#f2eee7a8;text-decoration:none;font:800 12px Manrope,sans-serif;letter-spacing:.06em}
.menu-phone:hover{color:var(--lime)}
body.menu-open{overflow:hidden}

/* Герой: две кнопки */
.hero-actions{display:flex;align-items:center;gap:clamp(18px,3vw,34px);flex-wrap:wrap}
.hero-secondary{display:inline-flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font-size:11px;font-weight:800;line-height:1.35;letter-spacing:.05em;padding-bottom:4px;border-bottom:1px dashed #ffffff59;transition:.2s}
.hero-secondary b{font-size:16px}
.hero-secondary:hover{color:var(--lime);border-color:var(--lime)}

/* Секция «Как начать» */
.how{display:grid;grid-template-columns:.85fr 1.5fr;gap:clamp(30px,7vw,100px);padding:clamp(80px,11vw,150px) clamp(22px,8vw,130px);background:var(--cream);border-top:1px solid #cbc5bd}
.how h2{margin:14px 0 0;font:800 clamp(36px,5vw,74px)/.92 Unbounded,sans-serif;letter-spacing:-.085em}
.how h2 i{color:var(--pink);font-style:normal}
.how-head>p:last-child{max-width:290px;margin:26px 0 0;font-size:13px;line-height:1.55}
.how-list{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:#d3cdc5;align-self:start}
.how-list li{position:relative;display:grid;grid-template-columns:auto 1fr;gap:6px clamp(18px,3vw,38px);padding:clamp(22px,3vw,34px);background:var(--cream);transition:background .25s}
.how-list li:hover{background:#fff}
.how-list b{grid-row:1/3;font:600 clamp(30px,3.6vw,46px)/1 Unbounded,sans-serif;color:var(--pink);letter-spacing:-.08em}
.how-list h3{margin:0;font:700 clamp(17px,1.7vw,23px)/1.1 Unbounded,sans-serif;letter-spacing:-.06em}
.how-list p{max-width:520px;margin:0;font-size:13px;line-height:1.6}

/* Частые вопросы */
.faq{display:grid;grid-template-columns:.85fr 1.5fr;gap:clamp(30px,7vw,100px);padding:clamp(80px,11vw,150px) clamp(22px,8vw,130px);background:var(--cream);border-top:1px solid #cbc5bd}
.faq h2{margin:14px 0 0;font:800 clamp(36px,5vw,74px)/.92 Unbounded,sans-serif;letter-spacing:-.085em}
.faq h2 i{color:var(--pink);font-style:normal}
.faq-list{align-self:start;border-top:1px solid #cbc5bd}
.faq-list details{border-bottom:1px solid #cbc5bd}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(17px,2vw,23px) 0;cursor:pointer;font-size:clamp(14px,1.4vw,17px);font-weight:700;line-height:1.3;list-style:none;transition:color .2s}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:hover{color:#7a5fa0}
.faq-list summary i{position:relative;flex:0 0 auto;width:16px;height:16px}
.faq-list summary i:before,.faq-list summary i:after{content:"";position:absolute;background:var(--ink);transition:transform .3s,background .3s}
.faq-list summary i:before{left:0;right:0;top:7.5px;height:1.5px}
.faq-list summary i:after{top:0;bottom:0;left:7.5px;width:1.5px}
.faq-list details[open] summary i:after{transform:scaleY(0)}
.faq-list details[open] summary{color:#7a5fa0}
.faq-list details[open] summary i:after,.faq-list details[open] summary i:before{background:var(--pink)}
.faq-list details p{max-width:640px;margin:0;padding:0 0 clamp(20px,2.4vw,28px);font-size:13.5px;line-height:1.65}
.faq-list details p a{color:inherit;text-decoration:underline;text-decoration-color:var(--pink)}

/* Метка на карте */
.map-wrap .map-pin{left:auto;right:22px;top:auto;bottom:22px;transform:none;width:104px;height:104px;pointer-events:none}
.map-wrap .map-pin b{font-size:11px}
.map-wrap .map-pin span{font-size:7px;letter-spacing:.12em}

/* Кнопка «Наверх» */
.to-top{position:fixed;right:clamp(16px,3vw,34px);bottom:clamp(16px,3vw,34px);z-index:14;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;background:var(--ink);color:var(--lime);font-size:17px;cursor:pointer;opacity:0;transform:translateY(14px);pointer-events:none;transition:.3s}
.to-top.is-visible{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--lime);color:var(--ink)}

/* Якоря не заезжают под липкую шапку */
#school,#groups,#how,#ulyana,#faq,#contacts{scroll-margin-top:78px}

/* Фокус с клавиатуры */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--pink);outline-offset:3px}

/* Карточки групп: подсветка при наведении на всю карточку */
.group-card{cursor:pointer}
.group-card:focus-within{outline:1px solid var(--lime);outline-offset:-1px}
.group-card:hover .group-join{color:var(--lime)}

.gallery-strip figure{background:#231a2c}

@media(max-width:1100px){
  .topbar-links,.nav-links{display:none}
  .burger{display:flex}
  .how,.faq{grid-template-columns:1fr;gap:36px}
  .how-head>p:last-child{margin-top:20px;max-width:420px}
}
@media(max-width:560px){
  .topbar .btn-cta{display:none}
  .to-top{width:40px;height:40px}
  .how-list li{grid-template-columns:1fr}
  .how-list b{grid-row:auto}
  .map-wrap .map-pin{width:84px;height:84px;right:14px;bottom:14px}
}
