/* ==========================================================================
   АБ Твинс — дизайн-система 2026
   Один файл для токенов, базы, шапки, подвала и компонентов страниц.
   На страницах курсов дизайна грузится последним поверх старых стилей:
   шапка/подвал/кнопки связи изолированы через #abt-header / #abt-footer / #abt-fab.
   ========================================================================== */

/* ---------- Шрифты (self-hosted, без Google Fonts) ---------- */
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/onest-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/onest-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600 700;font-display:swap;src:url(/assets/fonts/cormorant-garamond-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600 700;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-cyrillic-500-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Токены ---------- */
:root{
  --font-body:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  /* мост для старых стилей курсов */
  --font-sans:var(--font-body);
  --font-display:var(--font-serif);

  /* типографическая шкала ~1.25, крупные размеры текучие */
  --t-xs:.8125rem; --t-sm:.9375rem; --t-base:1.0625rem; --t-md:1.1875rem;
  --t-h4:1.375rem; --t-h3:clamp(1.5rem,1.2rem + 1vw,1.875rem);
  --t-h2:clamp(2rem,1.4rem + 2.2vw,3rem);
  --t-h1:clamp(2.6rem,1.6rem + 4vw,4.75rem);
  --t-display:clamp(3rem,1.4rem + 6.4vw,6.5rem);

  --wrap:1200px; --gutter:clamp(16px,4vw,40px);
  --r-sm:8px; --r-md:14px; --r-lg:24px;
  --ease:cubic-bezier(.2,.7,.2,1);

  /* светлая тема по умолчанию */
  --bg:#F7F4EF; --bg-2:#EFEAE2; --surface:#FFFFFF; --ink:#1B1815; --ink-2:#5E554C;
  --line:#DED6CA; --line-2:#CBBFAE; --gold:#7F5C2D; --gold-soft:#C49A5F; --gold-ink:#1B1815;
  --on-gold:#1B1815; --gold-grad:linear-gradient(135deg,#E6CB9C 0%,#C49A5F 55%,#A87D45 100%);
  --focus:#7F5C2D; --shadow:0 1px 0 rgba(27,24,21,.04),0 18px 40px -24px rgba(27,24,21,.28);
  --hd-bg:rgba(247,244,239,.82);
  color-scheme:light;
}
html[data-theme="dark"]{
  --bg:#13110F; --bg-2:#1A1714; --surface:#1E1A17; --ink:#F1EAE0; --ink-2:#A89D90;
  --line:#2E2924; --line-2:#3F3831; --gold:#D3AC70; --gold-soft:#B98F57; --gold-ink:#F1EAE0;
  --on-gold:#17130F; --focus:#E3BE83; --shadow:0 1px 0 rgba(0,0,0,.3),0 24px 48px -28px rgba(0,0,0,.8);
  --hd-bg:rgba(19,17,15,.78);
  color-scheme:dark;
}

/* ---------- База (только на новых страницах: body.abt26) ---------- */
/* страница никогда не шире экрана (clip не ломает position:sticky) */
html,body{overflow-x:clip}
/* обёртки шапки не должны ограничивать position:sticky */
#header,#header>[data-part],#footer,#footer>[data-part]{display:contents}

@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
#abt-header{view-transition-name:abt-header}

body.abt26{margin:0;background:var(--bg);color:var(--ink);font:400 var(--t-base)/1.6 var(--font-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:lining-nums;overflow-x:clip}
.hd-seal,#abt-footer,#abt-drawer,#abt-header{font-variant-numeric:lining-nums}
:where(.abt26) *,:where(.abt26) *::before,:where(.abt26) *::after{box-sizing:border-box}
:where(.abt26) :is(img,svg,video){max-width:100%;height:auto;display:block}
:where(.abt26) a{color:inherit}
:where(.abt26) :is(h1,h2,h3,h4){margin:0;font-family:var(--font-serif);font-weight:600;letter-spacing:-.01em;line-height:1.12;text-wrap:balance;overflow-wrap:break-word}
:where(.abt26) p{margin:0;text-wrap:pretty}
:where(.abt26) :is(p,li,dd){overflow-wrap:break-word}
:where(.abt26) a{text-decoration-thickness:from-font;text-underline-offset:.18em;text-decoration-skip-ink:auto}
/* узкие экраны: мягкие переносы в длинных абзацах, чтобы не было «рек» из пробелов */
@media (max-width:600px){:where(.abt26) :is(p,li,dd){hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:7 3 3}}
/* цены и числа — ровными (табличными) цифрами */
.ix-price strong,.facts dd,.hero__facts strong,.req dd,.mcta strong{font-variant-numeric:lining-nums tabular-nums}
.abt26 ::selection{background:var(--gold-soft);color:#17130F}
.abt26 :focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}
.abt26 main{display:block}
.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Ссылка «к содержимому» (видна только с клавиатуры) ---------- */
.skip-link{position:fixed;left:12px;top:-60px;z-index:1000;padding:10px 16px;border-radius:var(--r-sm);
  background:var(--ink);color:var(--bg)!important;font:600 14px/1 var(--font-body,system-ui);text-decoration:none;transition:top .15s}
.skip-link:focus{top:12px}

/* ---------- Кнопки ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:0 1.35em;
  border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--ink);
  font:600 var(--t-sm)/1 var(--font-body);text-decoration:none;cursor:pointer;
  transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease)}
.btn:hover{border-color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn--gold{border:0;background:var(--gold-grad);color:var(--on-gold)}
.btn--gold:hover{filter:saturate(1.15) brightness(1.03)}
.btn--ink{border:0;background:var(--ink);color:var(--bg)}
.btn--ink:hover{background:var(--gold);color:var(--on-gold)}
.btn i{font-size:1.05em}
@supports (text-box:trim-both cap alphabetic){.btn{text-box:trim-both cap alphabetic}}


/* кнопки внутри шапки/подвала/меню — с повышенной специфичностью против старых стилей */
:is(#abt-header,#abt-drawer,#abt-footer) .btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:0 1.35em;
  border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--ink);
  font:600 var(--t-sm)/1 var(--font-body);text-decoration:none;cursor:pointer;
  transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease)}
:is(#abt-header,#abt-drawer,#abt-footer) .btn:hover{border-color:var(--ink)}
:is(#abt-header,#abt-drawer,#abt-footer) .btn:active{transform:translateY(1px)}
:is(#abt-header,#abt-drawer,#abt-footer) .btn--gold{border:0;background:var(--gold-grad);color:var(--on-gold)}
:is(#abt-header,#abt-drawer,#abt-footer) .btn--gold:hover{filter:saturate(1.15) brightness(1.03)}
:is(#abt-header,#abt-drawer,#abt-footer) .btn--ink{border:0;background:var(--ink);color:var(--bg)}
:is(#abt-header,#abt-drawer,#abt-footer) .btn--ink:hover{background:var(--gold);color:var(--on-gold)}
:is(#abt-header,#abt-drawer,#abt-footer) .btn i{font-size:1.05em}

/* ==========================================================================
   Шапка
   ========================================================================== */
#abt-header{position:sticky;top:0;z-index:900;font-family:var(--font-body);
  background:var(--hd-bg);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .2s}
@supports (animation-timeline:scroll()){
  #abt-header{animation:abt-hd-line linear both;animation-timeline:scroll();animation-range:0 80px}
  @keyframes abt-hd-line{to{border-bottom-color:var(--line)}}
}
@supports not (animation-timeline:scroll()){#abt-header{border-bottom-color:var(--line)}}
#abt-header .hd-bar{display:flex;align-items:center;gap:20px;min-height:68px;width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
#abt-header .hd-brand,#abt-drawer .hd-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
:is(#abt-header,#abt-drawer,#abt-footer) .hd-seal{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);flex:none}
:is(#abt-header,#abt-drawer,#abt-footer) .hd-seal b{font:600 18px/1 var(--font-serif);letter-spacing:.02em;margin-top:-2px}
:is(#abt-header,#abt-drawer,#abt-footer) .hd-seal small{display:block;font:600 6.5px/1 var(--font-body);letter-spacing:.18em;margin-top:2px;text-align:center}
:is(#abt-header,#abt-drawer,#abt-footer) .hd-name{display:flex;flex-direction:column;line-height:1.1}
:is(#abt-header,#abt-drawer,#abt-footer) .hd-name strong{font:600 19px/1.05 var(--font-serif);color:var(--ink)}
:is(#abt-header,#abt-drawer,#abt-footer) .hd-name span{font-size:12px;color:var(--ink-2);margin-top:2px}
#abt-header .hd-nav{display:none;margin-left:auto;align-items:center;gap:4px}
#abt-header .hd-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:0;border-radius:999px;
  background:transparent;color:var(--ink);font:500 15px/1 var(--font-body);text-decoration:none;cursor:pointer}
#abt-header .hd-link:hover,#abt-header .hd-dd.is-open>.hd-link{background:var(--bg-2)}
#abt-header .hd-link[aria-current="page"]{color:var(--gold)}
#abt-header .hd-link i{font-size:11px;transition:transform .2s}
#abt-header .hd-dd{position:relative}
#abt-header .hd-dd.is-open>.hd-link i{transform:rotate(180deg)}
#abt-header .hd-menu{display:none;position:absolute;top:calc(100% + 10px);left:50%;translate:-50% 0;width:min(560px,90vw);
  padding:10px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);
  grid-template-columns:1fr 1fr;gap:2px}
#abt-header .hd-menu.is-open{display:grid;animation:abt-pop .18s var(--ease)}
@keyframes abt-pop{from{opacity:0;transform:translateY(-6px)}}
#abt-header .hd-menu a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-md);text-decoration:none;color:var(--ink)}
#abt-header .hd-menu a:hover{background:var(--bg-2)}
#abt-header .hd-menu a strong{font-weight:600;font-size:15px}
#abt-header .hd-menu a span{font-size:13px;color:var(--ink-2)}
#abt-header .hd-menu .hd-menu__all{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-radius:0 0 var(--r-md) var(--r-md);margin-top:4px;padding-top:12px}
#abt-header .hd-actions{display:flex;align-items:center;gap:6px;margin-left:auto}
#abt-header .hd-nav+.hd-actions{margin-left:8px}
:is(#abt-header,#abt-drawer,#abt-footer) .hd-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;
  color:var(--ink);font-size:16px;text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s}
:is(#abt-header,#abt-drawer,#abt-footer) .hd-icon:hover{border-color:var(--gold);color:var(--gold)}
#abt-header .hd-cta{display:none}
#abt-header .hd-burger{display:inline-grid}
@media (min-width:900px){
  #abt-header .hd-nav{display:flex}
  #abt-header .hd-burger{display:none}
  #abt-header .hd-cta{display:inline-flex;min-height:42px}
}
@media (max-width:420px){#abt-header .hd-name span{display:none}#abt-header .hd-tg{display:none}}

/* ---------- Мобильное меню ---------- */
#abt-drawer{position:fixed;inset:0;z-index:2000;visibility:hidden;overflow:hidden;font-family:var(--font-body)}
#abt-drawer.is-open{visibility:visible}
#abt-drawer .dr-backdrop{position:absolute;inset:0;background:rgba(10,9,8,.5);opacity:0;transition:opacity .25s}
#abt-drawer.is-open .dr-backdrop{opacity:1}
#abt-drawer .dr-panel{position:absolute;inset:0 0 0 auto;width:min(420px,100%);display:flex;flex-direction:column;
  background:var(--bg);color:var(--ink);transform:translateX(100%);transition:transform .3s var(--ease);overflow-y:auto;overscroll-behavior:contain}
#abt-drawer.is-open .dr-panel{transform:none}
#abt-drawer .dr-head{display:flex;align-items:center;justify-content:space-between;padding:12px var(--gutter);min-height:68px;border-bottom:1px solid var(--line)}
#abt-drawer nav{padding:8px var(--gutter) 32px}
#abt-drawer details{border-bottom:1px solid var(--line)}
#abt-drawer summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:18px 0;cursor:pointer;
  font:600 26px/1.1 var(--font-serif)}
#abt-drawer summary::-webkit-details-marker{display:none}
#abt-drawer summary::after{content:"+";font:400 24px/1 var(--font-body);color:var(--gold)}
#abt-drawer details[open] summary::after{content:"–"}
#abt-drawer details a{display:block;padding:10px 0;color:var(--ink);text-decoration:none;font-size:16px}
#abt-drawer details a:last-child{margin-bottom:14px}
#abt-drawer .dr-foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
@media (prefers-reduced-motion:reduce){#abt-drawer .dr-panel,#abt-drawer .dr-backdrop{transition:none}}

/* ==========================================================================
   Подвал
   ========================================================================== */
#abt-footer{margin-top:clamp(64px,10vw,120px);border-top:1px solid var(--line);background:var(--bg-2);color:var(--ink);font:400 15px/1.6 var(--font-body)}
#abt-footer a:not(.btn){color:inherit;text-decoration:none}
#abt-footer a:not(.btn):hover{color:var(--gold)}
#abt-footer .ft-top{display:grid;gap:40px;padding:56px 0 40px;grid-template-columns:1fr}
#abt-footer .ft-lead{font:500 clamp(1.6rem,1.2rem + 1.4vw,2.25rem)/1.15 var(--font-serif);max-width:20ch;margin:18px 0 20px}
#abt-footer .ft-contacts{display:flex;flex-wrap:wrap;gap:10px}
#abt-footer .ft-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
#abt-footer h2{margin:0 0 12px;font:600 13px/1.2 var(--font-body);color:var(--ink-2)}
#abt-footer .ft-cols a{display:block;padding:4px 0}
#abt-footer .ft-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding:20px 0 28px;border-top:1px solid var(--line);color:var(--ink-2);font-size:13px}
#abt-footer .ft-legal nav{display:flex;flex-wrap:wrap;gap:6px 18px}
@media (min-width:900px){
  #abt-footer .ft-top{grid-template-columns:1.1fr 1.4fr}
  #abt-footer .ft-cols{grid-template-columns:repeat(3,1fr)}
}

/* ---------- Плавающие кнопки связи ---------- */
#abt-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:800;
  display:flex;flex-direction:column;gap:8px;transition:transform .3s var(--ease),opacity .3s}
#abt-fab.is-hidden{transform:translateY(16px);opacity:0;pointer-events:none}
#abt-fab a{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;text-decoration:none;font-size:20px;
  background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);transition:color .2s,border-color .2s}
#abt-fab a:hover{color:var(--gold);border-color:var(--gold)}
@media (max-width:699px){#abt-fab a:not(.fab-main){display:none}}
#abt-fab a.fab-main{background:var(--ink);color:var(--bg);border-color:var(--ink)}
#abt-fab a.fab-main:hover{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
/* старые круглые кнопки на страницах курсов скрываем — их заменяет #abt-fab */
.abt-floating-contacts{display:none!important}

/* ==========================================================================
   Общие блоки страниц
   ========================================================================== */
.section{padding-block:clamp(56px,8vw,112px)}
.section--tight{padding-block:clamp(40px,6vw,72px)}
.section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 32px;margin-bottom:clamp(28px,4vw,48px)}
.section-head h2{font-size:var(--t-h2);max-width:16ch}
.section-head p{color:var(--ink-2);max-width:44ch}
.lead{font-size:var(--t-md);line-height:1.55;color:var(--ink-2);max-width:58ch}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;padding:0;list-style:none;font-size:var(--t-xs);color:var(--ink-2)}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--gold)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.tags li{padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:var(--t-xs);color:var(--ink-2)}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Главная: первый экран ---------- */
.hero{position:relative;padding-block:clamp(48px,8vw,104px) clamp(56px,8vw,96px);overflow:clip}
.hero__grid{display:grid;gap:clamp(40px,6vw,72px);align-items:center}
.hero h1{font-size:clamp(2.9rem,1.5rem + 5vw,5.75rem);font-weight:500;line-height:1;letter-spacing:-.02em}
.hero h1 span{display:block}
.hero h1 em{font-style:italic;font-weight:500}
.hero .lead{margin-top:24px}
.hero .actions{margin-top:36px}
.hero__facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin:48px 0 0;padding:20px 0 0;border-top:1px solid var(--line);list-style:none;font-size:var(--t-sm);color:var(--ink-2)}
.hero__facts strong{display:block;font:600 1.5rem/1.1 var(--font-serif);color:var(--ink)}
.seal{position:relative;width:min(440px,72vw);aspect-ratio:1;margin-inline:auto;color:var(--gold)}
.seal svg{width:100%;height:100%}
.seal__ring{transform-origin:50% 50%;animation:abt-spin 80s linear infinite}
.seal__ring text{font:500 10.4px var(--font-body);letter-spacing:.24em;fill:currentColor}
.seal__mark{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.seal__mark b{display:block;font:500 clamp(5rem,3rem + 8vw,9rem)/.8 var(--font-serif);color:var(--ink);letter-spacing:-.02em}
.seal__mark small{display:block;margin-top:14px;font:600 clamp(.75rem,.6rem + .4vw,.95rem)/1 var(--font-body);letter-spacing:.5em;color:var(--gold);padding-left:.5em}
@keyframes abt-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.seal__ring{animation:none}}
@media (min-width:900px){.hero__grid{grid-template-columns:1.25fr 1fr}}
@media (max-width:899px){
  .hero{padding-top:28px}
  .hero__grid{gap:24px}
  .seal{order:-1;width:168px;margin:0}
  .seal__mark b{font-size:3.6rem}
  .seal__mark small{font-size:.6rem;margin-top:8px}
  .hero__facts{margin-top:36px}
}

/* ---------- Главная/каталог: оглавление направлений ---------- */
.index{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-2)}
.index li{border-bottom:1px solid var(--line)}
.index a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 20px;padding:24px 4px;text-decoration:none;color:var(--ink);
  transition:background-color .25s,padding .25s var(--ease)}
.index .ix-icon{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);color:var(--gold);font-size:18px;
  transition:background-color .25s,color .25s,border-color .25s}
.index .ix-title{font:600 clamp(1.5rem,1.15rem + 1.2vw,2.25rem)/1.1 var(--font-serif);letter-spacing:-.01em}
.index .ix-text{grid-column:2;color:var(--ink-2);font-size:var(--t-sm)}
.index .ix-meta{grid-row:1/3;grid-column:3;display:flex;align-items:center;gap:20px;text-align:right}
.index .ix-price{display:flex;flex-direction:column;align-items:flex-end;font-size:var(--t-xs);color:var(--ink-2);white-space:nowrap}
.index .ix-price strong{font:600 1.1875rem/1.3 var(--font-body);color:var(--ink);white-space:nowrap}
.index .ix-go{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);font-size:14px;transition:all .25s var(--ease)}
.index .ix-badge{display:inline-block;margin-left:10px;padding:3px 10px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line);
  font:500 12px/1.4 var(--font-body);color:var(--ink-2);vertical-align:middle;letter-spacing:0}
.index a:hover{background:var(--bg-2);padding-inline:16px}
.index a:hover .ix-icon{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.index a:hover .ix-go{background:var(--ink);border-color:var(--ink);color:var(--bg);transform:rotate(-45deg)}
@media (max-width:700px){
  .index a{grid-template-columns:auto 1fr;padding:20px 0}
  .index a:hover{padding-inline:8px}
  .index .ix-icon{grid-row:1;width:40px;height:40px;font-size:16px}
  .index .ix-text{grid-column:1/-1}
  .index .ix-meta{grid-row:auto;grid-column:1/-1;justify-content:space-between;text-align:left}
  .index .ix-price{align-items:flex-start}
  .index .ix-badge{display:table;margin:6px 0 0}
}

/* ---------- Шаги ---------- */
.cq{container-type:inline-size}
.steps{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:step}
.steps li{position:relative;padding:28px 0 28px 64px;border-top:1px solid var(--line);counter-increment:step}
.steps li::before{content:counter(step);position:absolute;left:0;top:24px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--gold);color:var(--gold);font:500 1rem/1 var(--font-body)}
.steps h3{font-size:var(--t-h4);margin-bottom:6px}
.steps p{color:var(--ink-2);font-size:var(--t-sm);max-width:36ch}
@container (min-width:820px){
  .steps{grid-template-columns:repeat(4,1fr);gap:28px}
  .steps li{padding:76px 0 0;border-top:0}
  .steps li::before{top:0}
  .steps li::after{content:"";position:absolute;left:56px;right:-16px;top:22px;height:1px;background:var(--line-2)}
  .steps li:last-child::after{display:none}
}

/* ---------- Блок «Дизайн интерьера» ---------- */
.feature{display:grid;gap:clamp(28px,5vw,64px);align-items:center}
.feature__media{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:var(--bg-2)}
.feature__media img{width:100%;height:100%;object-fit:cover}
.feature__media figcaption{position:absolute;left:16px;bottom:16px;padding:6px 12px;border-radius:999px;background:rgba(19,17,15,.7);color:#F1EAE0;font-size:13px;backdrop-filter:blur(6px)}
.feature h2{font-size:var(--t-h2)}
.feature .lead{margin-top:16px}
.links{margin:28px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.links a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}
.links a strong{font-weight:600}
.links a span{color:var(--ink-2);font-size:var(--t-sm)}
.links a i{color:var(--gold);transition:transform .2s var(--ease)}
.links a:hover i{transform:translateX(4px)}
@media (min-width:900px){.feature{grid-template-columns:1fr 1.1fr}.feature__media{aspect-ratio:4/5}}

/* ---------- Полоса связи ---------- */
.contact-band{display:grid;gap:28px;padding:clamp(32px,5vw,56px);border-radius:var(--r-lg);background:var(--ink);color:var(--bg)}
.contact-band h2{font-size:var(--t-h2);color:inherit;max-width:24ch}
.contact-band p{color:color-mix(in srgb,var(--bg) 72%,transparent);margin-top:12px;max-width:46ch}
.contact-band .btn{border-color:color-mix(in srgb,var(--bg) 35%,transparent);color:var(--bg)}
.contact-band .btn:hover{border-color:var(--bg)}
.contact-band .btn--gold{color:#17130F}
@media (min-width:900px){.contact-band{grid-template-columns:1.4fr 1fr;align-items:end}.contact-band .actions{justify-content:flex-end}}

/* ---------- Внутренние страницы: шапка страницы ---------- */
.page-head{padding-block:clamp(40px,6vw,80px) clamp(28px,4vw,48px)}
.page-head h1{font-size:var(--t-h1);font-weight:500;max-width:18ch}
.page-head .lead{margin-top:18px}
.page-head--doc h1{font-size:var(--t-h2);max-width:24ch}

/* ---------- Страница программы ---------- */
.program{display:grid;gap:clamp(32px,5vw,64px);align-items:start}
.program__body>*+*{margin-top:clamp(36px,5vw,56px)}
.program__body h2{font-size:var(--t-h3);margin-bottom:16px}
.program__body p+p{margin-top:14px}
.program__body .prose{max-width:65ch;color:var(--ink);line-height:1.7}
.check{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.check li{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start}
.check li i{color:var(--gold);margin-top:5px}
.facts{position:sticky;top:96px;padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}
.facts dl{margin:0;display:grid;gap:18px}
.facts dt{font-size:var(--t-xs);color:var(--ink-2)}
.facts dd{margin:2px 0 0;font:600 var(--t-md)/1.3 var(--font-body)}
.facts dd.big{font:600 2.5rem/1 var(--font-serif)}
.facts .actions{margin-top:24px;flex-direction:column}
.facts .btn{width:100%}
.facts .note{margin-top:14px;font-size:var(--t-xs);color:var(--ink-2)}
@media (min-width:900px){.program{grid-template-columns:1fr 360px}}
@media (max-width:899px){.facts{position:static;order:-1;padding:22px}.facts dl{grid-template-columns:1fr 1fr}.facts dl>div:first-child{grid-column:1/-1}}
.related{margin-top:clamp(56px,8vw,96px)}
.related h2{font-size:var(--t-h3);margin-bottom:20px}

/* ---------- Нижняя панель заявки (мобильные, страницы программ) ---------- */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:850;display:none;align-items:center;justify-content:space-between;gap:12px;
  padding:10px var(--gutter) max(10px,env(safe-area-inset-bottom));background:var(--hd-bg);border-top:1px solid var(--line);
  backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);transform:translateY(110%);transition:transform .3s var(--ease)}
.mcta.is-visible{transform:none}
.mcta span{display:flex;flex-direction:column;font-size:var(--t-xs);color:var(--ink-2);line-height:1.2}
.mcta strong{font:600 1.125rem/1.2 var(--font-body);color:var(--ink)}
.mcta .btn{min-height:44px}
@media (max-width:899px){.mcta{display:flex}body.has-mcta #abt-fab{display:none}body.has-mcta #abt-footer{padding-bottom:72px}}
@media (prefers-reduced-motion:reduce){.mcta{transition:none}}

/* ---------- О нас ---------- */
.about-grid{display:grid;gap:clamp(32px,5vw,64px)}
.about-grid .prose p{font-size:var(--t-md);line-height:1.6;max-width:60ch}
.about-grid .prose p+p{margin-top:16px}
.principles{display:grid;gap:0;margin:0;padding:0;list-style:none}
.principles li{padding:22px 0;border-top:1px solid var(--line)}
.principles h3{font-size:var(--t-h4);margin-bottom:6px}
.principles p{color:var(--ink-2)}
.req{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0}
.req>div{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.req dt{color:var(--ink-2);font-size:var(--t-sm)}
.req dd{margin:0;font-weight:500}
.contacts-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.contacts-list a{display:flex;gap:12px;align-items:center;padding:10px 0;text-decoration:none;font-size:var(--t-md)}
.contacts-list i{width:20px;color:var(--gold)}
.contacts-list a:hover{color:var(--gold)}
.map{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10;background:var(--bg-2)}
.map iframe{width:100%;height:100%;border:0;display:block}
html[data-theme="dark"] .map iframe{filter:invert(.9) hue-rotate(180deg) saturate(.6)}
@media (min-width:900px){.about-grid{grid-template-columns:1.3fr 1fr}.about-grid--even{grid-template-columns:1fr 1fr}.principles{grid-template-columns:repeat(3,1fr);gap:32px}}

/* ---------- Юридические документы ---------- */
.doc-layout{display:grid;gap:40px;align-items:start}
.doc-toc{font-size:var(--t-sm);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 18px}
.doc-toc summary{font-weight:600;cursor:pointer}
.doc-toc ol{margin-top:10px!important}
.doc-toc ol{margin:0;padding:0;list-style:none;border-left:1px solid var(--line)}
.doc-toc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:1px solid transparent;color:var(--ink-2);text-decoration:none}
.doc-toc a:hover,.doc-toc a.is-active{color:var(--ink);border-left-color:var(--gold)}
.doc{max-width:68ch;font-size:var(--t-base);line-height:1.72}
.doc h2{font-size:var(--t-h4);font-family:var(--font-body);font-weight:650;letter-spacing:0;margin:2.2em 0 .7em;scroll-margin-top:96px}
.doc h3{font-size:var(--t-base);font-family:var(--font-body);font-weight:650;letter-spacing:0;margin:1.6em 0 .5em}
.doc h2:first-child{margin-top:0}
.doc p{margin:0 0 .9em}
.doc ul,.doc ol{margin:0 0 1em;padding-left:1.4em}
.doc li{margin:.3em 0}
.doc a{color:var(--gold);text-underline-offset:3px}
.doc hr{border:0;border-top:1px solid var(--line);margin:2.5em 0 1.5em}
.doc table{width:100%;border-collapse:collapse;font-size:var(--t-sm);margin:1em 0}
.doc th,.doc td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.doc .doc-links{display:flex;flex-wrap:wrap;gap:8px}
.doc .doc-links a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;font-size:var(--t-sm)}
.doc .doc-links a:hover{border-color:var(--gold);color:var(--gold)}
@media (min-width:1000px){.doc-layout{grid-template-columns:260px 1fr}.doc-toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;border:0;padding:0}.doc-toc summary{pointer-events:none;list-style:none;margin-bottom:4px}.doc-toc summary::-webkit-details-marker{display:none}}

/* ---------- 404 ---------- */
.nf{min-height:60vh;display:grid;align-content:center;gap:20px;padding-block:80px}
.nf__code{font:500 clamp(6rem,4rem + 10vw,12rem)/.8 var(--font-serif);color:var(--gold)}
.nf h1{font-size:var(--t-h2)}
.nf .tags a{text-decoration:none;color:var(--ink)}
.nf .tags li:hover{border-color:var(--gold)}

/* ---------- Печать ---------- */
@media print{
  #abt-header,#abt-footer,#abt-fab,#abt-drawer,.doc-toc,.skip-link{display:none!important}
  body.abt26{background:#fff;color:#000}
}
