/* ==========================================================
   ПОЗИТИВ — внутренние страницы (новости, фильмы, проекты, услуги, студия...)
   ========================================================== */
[hidden]{display:none!important}
.page-inner{padding-top:0}

/* ---------- Шапка страницы ---------- */
.page-hero{position:relative;padding:clamp(120px,15vw,170px) 0 clamp(36px,5vw,64px);overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:-25% -15%;z-index:-1;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 64px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 64px),
    radial-gradient(38% 42% at 14% 18%,rgba(238,117,29,.22),transparent 72%),
    radial-gradient(34% 38% at 88% 12%,rgba(108,111,168,.2),transparent 72%),
    radial-gradient(30% 34% at 50% 95%,rgba(255,179,71,.12),transparent 72%);
  mask-image:radial-gradient(80% 80% at 50% 20%,#000 55%,transparent 100%);
  -webkit-mask-image:radial-gradient(80% 80% at 50% 20%,#000 55%,transparent 100%);
  animation:aurora-drift 20s ease-in-out infinite alternate}
@keyframes aurora-drift{0%{transform:translate3d(-2%,-1%,0) scale(1)}50%{transform:translate3d(2%,2%,0) scale(1.06)}100%{transform:translate3d(-1%,1%,0) scale(1.02)}}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.page-hero-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.page-hero-copy{min-width:0}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.82rem;color:var(--muted);margin-bottom:1.4rem}
.crumbs a{color:var(--muted);transition:color .25s}
.crumbs a:hover{color:var(--accent)}
.crumbs i{font-style:normal;opacity:.4}
.crumbs [aria-current]{color:var(--text);max-width:42ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.page-title{font-family:var(--display);font-weight:700;font-size:clamp(1.7rem,4.4vw,3.4rem);line-height:1.12;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}
.page-lead{margin-top:1.2rem;color:#d0ccd8;font-size:clamp(1rem,1.5vw,1.2rem);max-width:60ch}
.page-meta{margin-top:1.1rem;color:var(--accent-2);font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}
.page-hero-aside img{width:min(240px,40vw);border-radius:22px;background:#fff}
.price-badge{padding:22px 28px;border-radius:22px;border:1px solid rgba(238,117,29,.4);background:rgba(238,117,29,.1);text-align:center}
.price-badge small{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.price-badge strong{display:block;font-family:var(--display);font-size:clamp(1.3rem,2.6vw,2rem);color:var(--accent-2);margin-top:6px;white-space:nowrap}
@media (max-width:760px){.page-hero-in{grid-template-columns:1fr}.page-hero-aside{display:none}.price-badge{justify-self:start}}

.page-body{padding:clamp(36px,5vw,64px) 0 clamp(70px,9vw,120px)}
.narrow{width:min(820px,100% - 40px)}
.narrow.wide-video{width:min(980px,100% - 40px)}
.related{margin-top:clamp(50px,7vw,90px)}
.related-title{font-family:var(--display);font-size:clamp(1.3rem,2.4vw,1.8rem);margin-bottom:1.6rem}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:2.4rem}
.back-link{margin-top:2rem}
.section-more{text-align:center;margin-top:36px}

/* ---------- Статья ---------- */
.prose{font-size:1.06rem;line-height:1.78;color:#dcd8e2;overflow-wrap:break-word}
.prose>*+*{margin-top:1.1rem}
.prose h2,.prose h3,.prose h4{font-family:var(--display);color:var(--text);line-height:1.25;letter-spacing:-.01em;margin-top:2.2rem}
.prose h2{font-size:1.55rem}.prose h3{font-size:1.25rem}.prose h4{font-size:1.08rem;color:var(--accent-2)}
.prose strong,.prose b{color:var(--text)}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.prose a:hover{color:var(--accent-2)}
.prose ul,.prose ol{padding-left:1.5rem;display:grid;gap:.5rem}
.prose ul{list-style:none}
.prose ul>li{position:relative}
.prose ul>li::before{content:"";position:absolute;left:-1.25rem;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.prose ol{list-style:decimal}
.prose ol>li::marker{color:var(--accent);font-weight:800}
.prose li>p{margin:0}
.prose li>ul,.prose li>ol{margin-top:.6rem}
.prose hr{border:0;height:1px;background:var(--line);margin:2rem 0}
.prose img{display:block;max-width:100%;height:auto;margin:1.6rem auto;border-radius:16px;border:1px solid var(--line);cursor:zoom-in}
.prose table{width:100%;border-collapse:collapse}
.prose td,.prose th{padding:.6rem .8rem;border:1px solid var(--line);vertical-align:top}
.prose td img{margin:0 auto}
.prose blockquote{padding:1rem 1.4rem;border-left:4px solid var(--accent);background:rgba(255,255,255,.03);border-radius:0 14px 14px 0}
.docs table{border:0}.docs td{border:0;text-align:center}
.docs td img{max-height:420px;width:auto}
.policy{font-size:1rem}
.article-cover{margin:0 0 2rem}
.article-cover img{width:100%;height:auto;border-radius:22px;border:1px solid var(--line);cursor:zoom-in}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:3rem}
.pn a{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-radius:16px;border:1px solid var(--line);background:var(--surface);transition:border-color .25s,transform .35s var(--ease)}
.pn a:hover{border-color:var(--accent);transform:translateY(-3px)}
.pn small{color:var(--accent);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}
.pn b{font-family:var(--display);font-weight:500;font-size:.92rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pn-next{text-align:right}
@media (max-width:600px){.pn{grid-template-columns:1fr}.pn-next{text-align:left}}

/* ---------- Списки, фильтры ---------- */
.toolbar{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between;margin-bottom:22px}
.search-input{position:relative;display:flex;align-items:center;gap:10px;min-width:min(340px,100%);flex:1 1 300px;max-width:460px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:rgba(255,255,255,.04);color:var(--muted);transition:border-color .25s,background .25s}
.search-input:focus-within{border-color:var(--accent);background:rgba(238,117,29,.06)}
.search-input input{flex:1;min-width:0;padding:.85rem 0;background:none;border:0;color:var(--text);font:inherit;outline:none}
.search-input input::placeholder{color:var(--muted)}
.search-big{max-width:none;padding:0 22px}.search-big input{padding:1.1rem 0;font-size:1.1rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips-wrap{margin-bottom:26px}
.chip-btn{padding:.5rem 1rem;border-radius:999px;border:1.5px solid var(--line);font-weight:700;font-size:.85rem;color:var(--muted);transition:.25s}
.chip-btn em{font-style:normal;opacity:.6;margin-left:4px;font-weight:600}
.chip-btn:hover{border-color:var(--accent);color:var(--text)}
.chip-btn.is-on{background:var(--accent);border-color:var(--accent);color:#1a0d02}
.filter-empty{padding:40px 0;text-align:center;color:var(--muted)}
.more-wrap{text-align:center;margin-top:34px}
.list-grid>*[hidden]{display:none!important}
.films-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:20px}
.films-grid .film{width:auto;aspect-ratio:16/9}
.films-grid .film img{position:absolute;inset:0}
.proj-grid.list-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.proj-grid.list-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}}
@media (max-width:640px){.proj-grid.list-grid{grid-template-columns:1fr}}
.news-grid.list-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;margin-inline:0}
@media (max-width:980px){.news-grid.list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.news-grid.list-grid{grid-template-columns:1fr}}

/* ---------- Видео ---------- */
.video-wrap{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#000;border:1px solid var(--line);box-shadow:0 30px 80px -30px rgba(238,117,29,.35)}
.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-note{margin-top:12px;color:var(--muted);font-size:.88rem}
.video-note a{color:var(--accent);text-decoration:underline}
.wide-video .prose{margin-top:2rem}

/* ---------- Услуги ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.svc{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:var(--radius);background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--line);transition:border-color .3s,box-shadow .4s}
.svc:hover{border-color:rgba(238,117,29,.55);box-shadow:0 30px 60px -30px rgba(238,117,29,.45)}
.svc h3{font-size:1.08rem}
.svc p{color:var(--muted);flex:1;font-size:.95rem}
.svc strong{font-family:var(--display);font-size:1.3rem;color:var(--accent-2)}
.svc strong small{font-family:var(--font);font-size:.72rem;color:var(--muted);margin:0 3px}
.svc strong.free{color:#5be08a}
.svc-alt{border-style:dashed;background:rgba(238,117,29,.06)}
@media (max-width:980px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.svc-grid{grid-template-columns:1fr}}
.price{padding:0}
.price>a{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:20px 24px}
.price strong.free{color:#5be08a}
@media (max-width:480px){.price>a{flex-direction:column;align-items:flex-start;gap:8px}}

/* ---------- Две колонки ---------- */
.two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;width:min(1200px,100% - 40px)}
.side-card{padding:26px;border-radius:var(--radius);background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--line);position:sticky;top:96px;display:grid;gap:14px}
.side-card h3{font-size:1.1rem}
.side-note{color:var(--muted);font-size:.9rem}
.side-note a{color:var(--accent);font-weight:700}
.side-h{font-family:var(--display);font-size:1.4rem;margin-bottom:1.2rem}
.track{display:grid;gap:8px}.track b{font-size:.92rem}
.track audio{width:100%;height:40px;color-scheme:dark}
.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mini-stats li{padding:14px;border-radius:14px;background:rgba(255,255,255,.04)}
.mini-stats b{display:block;font-family:var(--display);font-size:1.7rem;color:var(--accent-2);line-height:1.1}
.mini-stats span{color:var(--muted);font-size:.8rem}
.price-badge strong{animation:num-flicker .85s ease-out .15s both}
.mini-stats b{animation:num-flicker .8s ease-out both}
.mini-stats li:nth-child(2) b{animation-delay:.08s}
.mini-stats li:nth-child(3) b{animation-delay:.16s}
.mini-stats li:nth-child(4) b{animation-delay:.24s}
@media (max-width:900px){.two-col{grid-template-columns:minmax(0,1fr)}.side-card{position:static}}

/* ---------- Формы ---------- */
.form-card{display:grid;gap:16px;padding:clamp(20px,3vw,34px);border-radius:24px;background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--line)}
.form-h{font-family:var(--display);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-top:8px}
.field textarea{width:100%;padding:1.5rem 1rem .6rem;border-radius:14px;background:rgba(255,255,255,.05);border:1.5px solid var(--line);color:var(--text);font:inherit;resize:vertical;min-height:110px;transition:border-color .25s,background .25s}
.field textarea:focus{outline:none;border-color:var(--accent);background:rgba(238,117,29,.06)}
.field-area label{top:1.15rem;transform:none}
.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{top:.55rem;font-size:.7rem;color:var(--accent);letter-spacing:.06em}
.field textarea.is-bad{border-color:#ff5a4f}
.field-sel{display:grid;gap:6px}
.field-sel label{font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.04em}
.field-sel select{width:100%;padding:.9rem 1rem;border-radius:14px;background:rgba(255,255,255,.05);border:1.5px solid var(--line);color:var(--text);font:inherit;color-scheme:dark}
.field-sel select:focus{outline:none;border-color:var(--accent)}
.field-sel select.is-bad{border-color:#ff5a4f}
.radio-group{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}
.radio-group legend{font-weight:700;margin-bottom:6px;padding:0}
.radio-group.is-bad legend{color:#ff8a80}
.radio-list{display:flex;flex-wrap:wrap;gap:8px}
.radio{position:relative;cursor:pointer}
.radio input{position:absolute;opacity:0;inset:0}
.radio span{display:block;padding:.6rem 1rem;border-radius:999px;border:1.5px solid var(--line);font-size:.9rem;color:var(--muted);transition:.25s}
.radio:hover span{border-color:var(--accent);color:var(--text)}
.radio input:checked+span{background:var(--accent);border-color:var(--accent);color:#1a0d02;font-weight:700}
.radio input:focus-visible+span{outline:2px solid var(--accent-2);outline-offset:2px}
.agree a{color:var(--accent);text-decoration:underline}
.form-status a{color:inherit;text-decoration:underline}
.form-status.warn{color:#ffd28a}

/* ---------- Студия ---------- */
.subnav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.subnav a{padding:.55rem 1.1rem;border-radius:999px;border:1.5px solid var(--line);font-weight:700;font-size:.88rem;color:var(--muted);transition:.25s}
.subnav a:hover{border-color:var(--accent);color:var(--text)}
.subnav a.is-on{background:var(--accent);border-color:var(--accent);color:#1a0d02}
.about-cols{width:100%}
.team-flat{grid-template-columns:repeat(4,minmax(0,1fr))}
.team-flat .member,.team-flat .member:nth-child(-n+2){grid-column:auto}
@media (max-width:900px){.team-flat{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.team-flat{grid-template-columns:repeat(2,minmax(0,1fr))}.team-flat .member:nth-child(-n+2),.team-flat .member:last-child{aspect-ratio:1;grid-column:auto}}
.partners{display:grid;gap:20px}
.partner{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding:24px;border-radius:var(--radius);background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--line);scroll-margin-top:100px}
.partner-logo{display:grid;place-items:center;border-radius:16px;background:#fff;padding:14px;min-height:130px}
.partner-logo img{max-height:110px;width:auto;object-fit:contain}
.partner-body h3{margin-bottom:.6rem}
.partner-body p{color:#cfcbd6}
.partner details{margin-top:1rem}
.partner summary{cursor:pointer;color:var(--accent);font-weight:800;list-style:none}
.partner summary::-webkit-details-marker{display:none}
.partner summary::after{content:" +"}
.partner details[open] summary::after{content:" −"}
.partner .prose{margin-top:1rem;font-size:.98rem}
@media (max-width:640px){.partner{grid-template-columns:1fr}.partner-logo{min-height:100px}}
.requisites{margin-top:2.4rem;padding:24px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}
.requisites h3{margin-bottom:1rem}
.requisites dl{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;margin:0 0 1rem}
.requisites dt{color:var(--muted)}.requisites dd{margin:0;font-weight:600;overflow-wrap:anywhere}
@media (max-width:560px){.requisites dl{grid-template-columns:1fr;gap:2px}.requisites dt{margin-top:10px}}

/* ---------- Галерея и лайтбокс ---------- */
.gallery{column-width:250px;column-gap:14px}
.shot{display:block;margin:0 0 14px;border-radius:14px;overflow:hidden;break-inside:avoid;border:1px solid var(--line);background:var(--surface)}
.shot img{width:100%;height:auto;transition:transform .6s var(--ease)}
.shot:hover img{transform:scale(1.05)}
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(5,5,9,.94);display:grid;place-items:center;padding:20px}
.lightbox img{max-width:min(94vw,1400px);max-height:86vh;width:auto;height:auto;border-radius:12px;box-shadow:0 30px 100px rgba(0,0,0,.7);animation:lbin .3s var(--ease)}
@keyframes lbin{from{opacity:0;transform:scale(.96)}}
.lightbox button{position:absolute;color:#fff;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.1);font-size:1.6rem;line-height:1;display:grid;place-items:center;transition:background .25s}
.lightbox button:hover{background:var(--accent);color:#1a0d02}
.lb-close{top:18px;right:18px}.lb-prev{left:18px;top:50%;margin-top:-26px}.lb-next{right:18px;top:50%;margin-top:-26px}
.lb-count{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:var(--muted);font-size:.85rem}
@media (max-width:640px){.lb-prev,.lb-next{top:auto;bottom:14px;margin:0}.lb-prev{left:14px}.lb-next{right:14px}}

/* ---------- Контакты ---------- */
.contacts-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start;width:min(1200px,100% - 40px)}
.contacts-page .map{margin-top:26px}
@media (max-width:900px){.contacts-page{grid-template-columns:minmax(0,1fr)}}

/* ---------- Поиск ---------- */
.search-count{margin:18px 0 8px;color:var(--muted);font-size:.9rem}
.results{display:grid;gap:12px}
.results li a{display:block;padding:18px 22px;border-radius:16px;border:1px solid var(--line);background:var(--surface);transition:border-color .25s,transform .3s var(--ease)}
.results li a:hover{border-color:var(--accent);transform:translateX(4px)}
.results small{display:block;color:var(--accent);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;margin-bottom:4px}
.results b{font-family:var(--display);font-weight:500;font-size:1rem}
.results p{color:var(--muted);font-size:.9rem;margin-top:6px}
.results mark{background:rgba(238,117,29,.3);color:var(--text);border-radius:3px;padding:0 2px}

/* ---------- 404 ---------- */
.not-found{min-height:100svh;display:grid;align-items:center}
.center-all{text-align:center}.center-all .page-lead{margin-inline:auto}.center-all .cta-row{justify-content:center}
.big-404{font-family:var(--display);font-weight:900;font-size:clamp(5rem,20vw,11rem);line-height:1;background:linear-gradient(100deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Подвал (многоколоночный) ---------- */
.footer-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:32px 40px;padding-bottom:34px}
.footer-brand{display:flex;gap:16px;align-items:flex-start}
.footer-brand p{color:var(--muted);font-size:.88rem;margin-top:10px;max-width:30ch}
.footer-nav{display:flex;flex-direction:column;gap:8px}
.footer-nav b{font-family:var(--display);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.footer-nav a,.footer-nav span{color:var(--muted);font-size:.9rem;transition:color .25s}
.footer-nav a:hover{color:var(--accent)}
.footer-soc{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px}
.footer-legal a{text-decoration:underline;text-underline-offset:3px}
.footer-legal a:hover{color:var(--accent)}
@media (max-width:980px){.footer-cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-cols{grid-template-columns:1fr}}

/* контраст-режимы для новых блоков */
.hc-bw .prose img,.hc-bw .film img,.hc-bw .post-img img,.hc-bw .shot img,.hc-bw .article-cover img{filter:grayscale(1)}
.hc-bw .radio input:checked+span,.hc-yellow .radio input:checked+span,.hc-bw .chip-btn.is-on,.hc-yellow .chip-btn.is-on,.hc-bw .subnav a.is-on,.hc-yellow .subnav a.is-on{color:#000}

/* ---------- Отзывы ---------- */
.rev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:980px){.rev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rev-grid{grid-template-columns:minmax(0,1fr)}}
.rev-grid.list-grid>*[hidden]{display:none!important}
.rev{display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:var(--radius);background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--line);position:relative;scroll-margin-top:100px}
.rev-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rev-ava{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;background:var(--surface-2)}
.rev-ini{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#1a0d02;font-family:var(--display);font-weight:700}
.rev-name{flex:1;min-width:0}
.rev-name b{display:block;font-weight:700}
.rev-name span{display:block;color:var(--muted);font-size:.82rem}
.stars{color:var(--accent-2);letter-spacing:.12em;font-size:1rem;white-space:nowrap}
.stars i{font-style:normal;color:rgba(255,255,255,.18)}
.rev-text p{color:#d8d4de;overflow-wrap:anywhere}
.rev-text p+p{margin-top:.6rem}
.rev-shot{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);cursor:zoom-in}
.rev-date{color:var(--muted);font-size:.78rem;margin-top:auto}
.reviews .rev-grid{margin-top:0}
.empty-note{padding:40px;text-align:center;color:var(--muted);border:1.5px dashed var(--line);border-radius:16px}

/* ---------- комментарии к фильмам ---------- */
.comments{margin-top:clamp(2rem,5vw,3.5rem)}
.comments .related-title em{font-style:normal;color:var(--muted);font-weight:600;font-size:.7em;margin-left:.3em}
.c-form{display:grid;gap:14px;margin:1.2rem 0 1.6rem;padding:clamp(1rem,3vw,1.5rem);border-radius:20px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.c-form .btn{justify-self:start}
.c-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.c-note{margin:0;font-size:.82rem;color:var(--muted)}
.c-list{display:grid;gap:12px}
.c-item{padding:1rem 1.2rem;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.c-item header{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline;margin-bottom:.35rem}
.c-item b{font-weight:700}
.c-item time{font-size:.8rem;color:var(--muted)}
.c-item p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}
.c-empty{color:var(--muted);margin:0}

/* ---------- выпадающие списки: тёмный фон и читаемый текст в раскрытом меню (в т.ч. Яндекс.Браузер/Chrome) ---------- */
select,.field-sel select{background-color:var(--surface-2);color:var(--text);color-scheme:dark}
select option,select optgroup,.field-sel select option{background-color:var(--surface-2);color:var(--text)}
select option:checked,select option:hover,select option:focus{background-color:var(--accent);color:#000}
select option[value=""]{color:var(--muted)}

/* ---------- окно «Оставить отзыв» ---------- */
.rev-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;background:rgba(5,5,10,.78);backdrop-filter:blur(6px);overflow-y:auto}
.rev-modal[hidden]{display:none}
.rev-modal__box{position:relative;width:min(560px,100%);margin:auto;padding:clamp(1.2rem,4vw,2rem);border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.55);display:grid;gap:14px}
.rev-modal__box h2{margin:0;font-family:var(--display,inherit);font-size:clamp(1.3rem,3.4vw,1.7rem)}
.rev-modal__lead{margin:0;color:var(--muted);font-size:.92rem}
.rev-modal__x{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);font-size:15px;cursor:pointer}
.rev-modal__x:hover{background:var(--accent);color:#000}
.rev-form{display:grid;gap:14px}
.rev-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.rev-rate{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rev-rate__t{font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.04em}
.rev-rate__stars{display:inline-flex;gap:2px}
.rev-rate__stars button{background:none;border:0;padding:2px 3px;font-size:2rem;line-height:1;color:rgba(255,255,255,.22);cursor:pointer;transition:color .15s,transform .15s}
.rev-rate__stars button.is-on{color:#ffb21f}
.rev-rate__stars button:hover{transform:scale(1.12)}
.rev-rate__stars button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.rev-thanks{margin:0;padding:1rem 0;text-align:center;font-size:1.05rem;line-height:1.6}

/* ---------- вопросы и ответы (посадочная «Занятия») ---------- */
.faq{margin-top:clamp(2rem,5vw,3rem)}
.faq-list{display:grid;gap:10px;margin-top:1rem}
.faq-item{border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line);overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:1rem 3rem 1rem 1.2rem;font-weight:700;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--accent);transition:transform .2s}
.faq-item[open] summary::after{content:"–"}
.faq-item p{margin:0;padding:0 1.2rem 1.1rem;color:var(--muted);line-height:1.6}
.join-more{margin:1.2rem 0 0}
