/* ============================================================
   АКСАЕВ ГЛАСС – ремонт и полировка стёкол · Краснодарский край
   Стиль: Glassmorphism dark · графит + янтарь
   ============================================================ */

/* -------- Шрифты -------- */
@font-face{ font-family:"Lora"; src:url("../fonts/Lora-Variable.ttf") format("truetype-variations"); font-weight:400 700; font-display:swap; font-style:normal; }
@font-face{ font-family:"Lora"; src:url("../fonts/Lora-Italic-Variable.ttf") format("truetype-variations"); font-weight:400 700; font-display:swap; font-style:italic; }
@font-face{ font-family:"Druzhok"; src:url("../fonts/Druzhok-Regular.woff2") format("woff2"),url("../fonts/Druzhok-Regular.ttf") format("truetype"),url("../fonts/Druzhok-Regular.otf") format("opentype"); font-display:swap; }
@font-face{ font-family:"Buyan"; src:url("../fonts/Buyan-Bold.woff2") format("woff2"),url("../fonts/Buyan-Bold.ttf") format("truetype"),url("../fonts/Buyan-Bold.otf") format("opentype"); font-display:swap; }

/* -------- Токены -------- */
:root{
  --bg:#0E0F12; --bg2:#14161A; --surface:#1A1C21; --surface2:#22252B;
  --glass:rgba(26,28,33,.55); --glass-strong:rgba(20,22,26,.85);
  --border:rgba(255,255,255,.08); --border2:rgba(255,255,255,.16);
  --text:#F4F4F2; --muted:#9AA0A6; --dim:#5C616B;
  --accent:#F5A524; --accent2:#FFD27A; --glow:rgba(245,165,36,.35); --glow2:rgba(245,165,36,.6);

  --display:"Druzhok","Bowlby One",Impact,"Arial Black",sans-serif;
  --bold:"Buyan","Russo One",Impact,"Arial Black",sans-serif;
  --body:"Lora",Georgia,"Times New Roman",serif;

  --container:1280px;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-pill:999px;
  --shadow-md:0 12px 32px rgba(0,0,0,.35);
  --shadow-lg:0 28px 64px rgba(0,0,0,.5);
  --ease:cubic-bezier(.22,1,.36,1);
  --dur:400ms;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ background:var(--bg); color:var(--text); font-family:var(--body);
  font-size:clamp(1.0625rem,1rem+.4vw,1.1875rem); line-height:1.7; -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; overflow-x:hidden; min-height:100vh; position:relative; }
img,svg,video{ display:block; max-width:100%; height:auto; }
button{ background:none; border:none; cursor:pointer; color:inherit; font:inherit; }
a{ color:inherit; text-decoration:none; }
ul,ol{ list-style:none; }
input,select,textarea,button{ font:inherit; color:inherit; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }

body::before{ content:""; position:fixed; inset:-10%; z-index:0; pointer-events:none;
  background:radial-gradient(60% 40% at 80% 0%, rgba(245,165,36,.1), transparent 60%),
             radial-gradient(50% 50% at 10% 100%, rgba(245,165,36,.05), transparent 60%); }
main,header,footer{ position:relative; z-index:1; }

/* -------- Утилиты -------- */
.container{ width:100%; max-width:var(--container); margin:0 auto; padding-inline:clamp(20px,4vw,48px); }
.glass{ background:var(--glass); backdrop-filter:blur(20px) saturate(140%); -webkit-backdrop-filter:blur(20px) saturate(140%); border:1px solid var(--border); }
.skip-link{ position:absolute; top:-200%; left:16px; background:var(--accent); color:#1a1a1a; padding:12px 20px;
  border-radius:var(--r-md); font-family:var(--bold); text-transform:uppercase; z-index:120; transition:top var(--dur) var(--ease); }
.skip-link:focus{ top:16px; }

/* -------- Заголовки секций -------- */
.section-head{ text-align:center; margin-bottom:clamp(48px,8vw,88px); max-width:760px; margin-inline:auto; }
.section-head--left{ text-align:left; margin-inline:0; max-width:none; }
.section-title{ font-family:var(--display); font-weight:400; font-size:clamp(2.4rem,1.5rem+4.2vw,4.75rem);
  line-height:1.05; letter-spacing:-.02em; margin-bottom:20px; text-wrap:balance; }
.section-title .am{ color:var(--accent); }
.section-lead{ color:var(--muted); font-size:clamp(1rem,.95rem+.3vw,1.2rem); max-width:60ch; margin-inline:auto; }
.section-head--left .section-lead{ margin-inline:0; }

/* -------- Кнопки -------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:16px 28px; border-radius:var(--r-pill);
  font-family:var(--bold); font-size:.95rem; text-transform:uppercase; letter-spacing:.08em;
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);
  position:relative; overflow:hidden; cursor:pointer; white-space:nowrap; }
.btn--primary{ background:linear-gradient(135deg,var(--accent),var(--accent2)); color:#1a1a1a; box-shadow:0 12px 32px var(--glow); }
.btn--primary:hover{ transform:translateY(-2px); box-shadow:0 18px 44px var(--glow2); }
.btn--primary:active{ transform:translateY(0); }
.btn--ghost{ background:var(--glass); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid var(--border2); color:var(--text); }
.btn--ghost:hover{ border-color:var(--accent); color:var(--accent); }
.btn--block{ width:100%; }
.btn--xl{ padding:20px 40px; font-size:1.05rem; }
.btn--magnetic{ will-change:transform; }
.btn--primary::after{ content:""; position:absolute; inset:0; transform:translateX(-100%); transition:transform 800ms var(--ease);
  background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%); }
.btn--primary:hover::after{ transform:translateX(100%); }

/* -------- Header -------- */
.header{ position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(14,15,18,.6);
  backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-bottom:1px solid transparent; transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease); }
.header.is-scrolled{ background:rgba(14,15,18,.85); border-bottom-color:var(--border); }
.header__inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:80px; }
.brand{ display:inline-flex; align-items:center; gap:12px; font-family:var(--bold); letter-spacing:.02em; font-size:1.25rem; text-transform:uppercase; }
.brand__text{ display:inline-flex; align-items:baseline; gap:7px; }
.brand__name{ color:var(--text); }
.brand__accent{ color:var(--accent); font-family:var(--display); font-size:1.35em; letter-spacing:-.02em; }
.nav{ display:flex; gap:8px; }
.nav__link{ padding:10px 18px; border-radius:var(--r-pill); color:var(--muted); font-size:1.1rem; font-family:var(--body);
  transition:color .2s var(--ease), background .2s var(--ease); }
.nav__link:hover{ color:var(--text); background:var(--surface); }
.nav__link.is-current{ color:var(--accent); }
.phone-pill{ display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:var(--r-pill);
  border:1px solid var(--border2); font-family:var(--bold); font-size:1rem; color:var(--text); transition:all .2s var(--ease); }
.phone-pill:hover{ border-color:var(--accent); color:var(--accent); box-shadow:0 0 0 4px var(--glow); }
.phone-pill svg{ color:var(--accent); }
.burger{ display:none; width:40px; height:40px; padding:8px; }
.burger span{ display:block; height:2px; background:var(--text); border-radius:2px; margin:5px 0; transition:all .2s var(--ease); }
.burger[aria-expanded="true"] span:nth-child(1){ transform:rotate(45deg) translate(5px,5px); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:rotate(-45deg) translate(6px,-6px); }

/* -------- Hero (стиль ③ Glassmorphism) -------- */
.hero{ position:relative; min-height:100dvh; padding-top:clamp(120px,18vh,170px); padding-bottom:80px;
  display:flex; align-items:center; text-align:center; overflow:hidden;
  background:radial-gradient(75% 60% at 50% 32%, #1B1E25 0%, var(--bg) 68%); }
.hero__photo{ position:absolute; inset:0; z-index:0; opacity:.16; }
.hero__photo img{ width:100%; height:100%; object-fit:cover; filter:saturate(.4); }
.hero__shine{ position:absolute; inset:0; z-index:0; opacity:0; transition:opacity .5s var(--ease); pointer-events:none;
  --mx:50%; --my:40%;
  -webkit-mask-image:radial-gradient(240px 240px at var(--mx) var(--my), #000 0%, rgba(0,0,0,.5) 55%, transparent 100%);
  mask-image:radial-gradient(240px 240px at var(--mx) var(--my), #000 0%, rgba(0,0,0,.5) 55%, transparent 100%); }
.hero__shine img{ width:100%; height:100%; object-fit:cover; filter:saturate(1.1) brightness(1.15) contrast(1.05); }
.hero.is-lit .hero__shine{ opacity:.75; }
.hero__spot{ position:absolute; top:-20%; left:50%; transform:translateX(-50%); width:min(820px,120vw); height:min(820px,120vw);
  z-index:0; pointer-events:none; background:radial-gradient(circle, var(--glow2) 0, transparent 60%); filter:blur(20px); animation:breathe 6s var(--ease) infinite; }
@keyframes breathe{ 0%,100%{ opacity:.6; transform:translateX(-50%) scale(1); } 50%{ opacity:1; transform:translateX(-50%) scale(1.08); } }
.hero__inner{ position:relative; z-index:2; max-width:960px; margin-inline:auto; display:flex; flex-direction:column; align-items:center; }
.hero__badge{ display:inline-flex; align-items:center; gap:10px; padding:10px 18px; border-radius:var(--r-pill);
  background:var(--glass); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid var(--border2); font-size:.95rem; margin-bottom:34px; }
.hero__badge .dot{ width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px var(--glow); animation:pulse 2s var(--ease) infinite; }
@keyframes pulse{ 0%,100%{ box-shadow:0 0 0 4px var(--glow); } 50%{ box-shadow:0 0 0 10px transparent; } }
.hero__title{ font-family:var(--display); font-weight:400; font-size:clamp(3rem,1.6rem+6.2vw,6rem); line-height:.95; text-wrap:balance;
  letter-spacing:-.03em; margin-bottom:26px; text-shadow:0 0 60px rgba(245,165,36,.22); }
.hero__title .am{ color:var(--accent); }
.hero__title{ position:relative; }
.polish{ display:block; }
.polish--dull{ position:absolute; inset:0; z-index:0; filter:blur(5px) brightness(.55) saturate(.5); opacity:.5; pointer-events:none; user-select:none; }
.polish--clear{ position:relative; z-index:1; }
html.js .polish--clear{ clip-path:inset(-10% 100% -10% 0); animation:polishReveal 1.7s var(--ease) .4s forwards; }
.polish-edge{ position:absolute; top:-6%; bottom:-6%; left:0; width:3px; border-radius:2px; opacity:0; pointer-events:none;
  background:linear-gradient(180deg,transparent,var(--accent2) 25%,var(--accent) 75%,transparent);
  box-shadow:0 0 18px var(--glow2), 0 0 44px var(--glow); }
html.js .polish-edge{ animation:polishEdge 1.7s var(--ease) .4s forwards; }
@keyframes polishReveal{ to{ clip-path:inset(-10% -2% -10% 0); } }
@keyframes polishEdge{ 0%{ left:0; opacity:0; } 12%{ opacity:1; } 88%{ opacity:1; } 100%{ left:100%; opacity:0; } }
.hero__lead{ font-size:clamp(1.15rem,1rem+.7vw,1.5rem); color:var(--muted); max-width:50ch; margin:0 auto 44px; }
.hero__actions{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-bottom:52px; }
.hero__ticker{ width:100%; max-width:880px; margin-inline:auto; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); }
.hero__ticker-track{ display:flex; align-items:center; gap:28px; width:max-content;
  font-family:var(--bold); text-transform:uppercase; letter-spacing:.08em; font-size:1rem; color:var(--muted);
  animation:ticker 28s linear infinite; }
.hero__ticker-track span{ white-space:nowrap; }
.hero__ticker-track i{ font-style:normal; color:var(--accent); font-size:.7em; }
@keyframes ticker{ to{ transform:translateX(-50%); } }

/* -------- Секции – ритм -------- */
section{ padding-block:clamp(72px,11vw,150px); }

/* -------- Services -------- */
.services{ background:linear-gradient(180deg,var(--bg) 0%, var(--bg2) 100%); }
.bento{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; }
.card{ position:relative; padding:24px; border-radius:var(--r-lg); background:var(--glass);
  backdrop-filter:blur(18px) saturate(140%); -webkit-backdrop-filter:blur(18px) saturate(140%); border:1px solid var(--border);
  overflow:hidden; transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
  display:flex; flex-direction:column; gap:10px; }
.card__head{ display:flex; align-items:center; gap:14px; }
.card::before{ content:""; position:absolute; top:0; left:0; right:0; height:2px; opacity:0; transition:opacity var(--dur) var(--ease);
  background:linear-gradient(90deg,transparent,var(--accent),transparent); }
.card::after{ content:""; position:absolute; top:-50%; left:-50%; width:200%; height:200%; transform:translateX(-100%);
  transition:transform 1200ms var(--ease); pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.07) 50%,transparent 60%); }
.card:hover{ transform:translateY(-4px); border-color:var(--border2); }
.card:hover::before{ opacity:1; }
.card:hover::after{ transform:translateX(50%); }
.card__icon{ width:44px; height:44px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--r-sm);
  background:rgba(245,165,36,.08); color:var(--accent); }
.card__icon svg{ width:24px; height:24px; }
.card__title{ font-family:var(--display); font-weight:400; font-size:clamp(1.4rem,1.1rem+.6vw,1.85rem); line-height:1.15; }
.card__text{ color:var(--muted); font-size:1rem; line-height:1.65; }
.card__list{ display:flex; flex-direction:column; gap:6px; margin:8px 0; }
.card__list li{ position:relative; padding-left:24px; font-size:.95rem; }
.card__list li::before{ content:""; position:absolute; left:0; top:.6em; width:14px; height:2px; background:var(--accent); border-radius:2px; }
.card__price{ margin-top:auto; padding-top:8px; font-family:var(--bold); font-size:1.1rem; color:var(--accent); }
.card__price small{ color:var(--muted); font-family:var(--body); font-size:.78rem; }

.services__note{ margin-top:24px; padding:22px 28px; border-radius:var(--r-lg); display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  justify-content:space-between; background:var(--glass); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid var(--border2); }
.services__note p{ color:var(--muted); margin:0; }
.services__note strong{ color:var(--text); font-family:var(--bold); font-weight:400; }

/* -------- Before / After -------- */
.ba{ background:var(--bg2); }
.ba__gallery{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin-top:clamp(40px,6vw,64px); }
.ba__gallery figure{ margin:0; }
.ba__gallery img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r-md); border:1px solid var(--border); }
.ba__gallery figcaption{ font-size:.85rem; color:var(--muted); margin-top:10px; line-height:1.5; }
.ba__stage{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:48px; align-items:center; }
.ba__slider{ position:relative; aspect-ratio:4/3; border-radius:var(--r-lg); overflow:hidden; user-select:none; -webkit-user-select:none;
  touch-action:none; cursor:ew-resize; border:1px solid var(--border2); background:var(--surface); --pos:50%; }
.ba__pane{ position:absolute; inset:0; }
.ba__pane img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.ba__pane--before{ clip-path:inset(0 calc(100% - var(--pos)) 0 0); z-index:2; }
.ba__pane--after{ z-index:1; }
.ba__handle{ position:absolute; top:0; bottom:0; left:var(--pos); transform:translateX(-50%); width:56px; z-index:3;
  display:flex; flex-direction:column; align-items:center; cursor:ew-resize; }
.ba__handle-line{ flex:1; width:2px; background:linear-gradient(180deg,transparent,var(--accent) 30%,var(--accent) 70%,transparent); }
.ba__handle-grip{ width:48px; height:48px; border-radius:50%; background:var(--accent); color:#1a1a1a; display:inline-flex;
  align-items:center; justify-content:center; box-shadow:0 0 0 4px rgba(14,15,18,.4),0 0 24px var(--glow2); transition:transform .2s var(--ease); }
.ba__slider:hover .ba__handle-grip{ transform:scale(1.1); }
.ba__label{ position:absolute; top:16px; padding:6px 14px; background:var(--glass-strong); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border:1px solid var(--border2); border-radius:var(--r-pill); font-family:var(--bold); font-size:.78rem; letter-spacing:.1em; z-index:4; pointer-events:none; }
.ba__label--before{ left:16px; color:var(--accent); }
.ba__label--after{ right:16px; color:var(--text); }
.ba__caption h3{ font-family:var(--display); font-weight:400; font-size:clamp(1.5rem,1.2rem+.8vw,2.2rem); line-height:1.15; margin-bottom:16px; }
.ba__caption p{ color:var(--muted); margin-bottom:24px; }
.ba__meta{ display:flex; flex-direction:column; gap:8px; padding-top:16px; border-top:1px solid var(--border); }
.ba__meta span{ font-size:.95rem; color:var(--muted); }
.ba__meta strong{ color:var(--text); font-family:var(--bold); font-weight:400; font-size:.85em; letter-spacing:.05em; text-transform:uppercase; margin-right:6px; }

/* -------- Process -------- */
.process{ background:linear-gradient(180deg,var(--bg2) 0%, var(--bg) 100%); }
.timeline{ display:grid; gap:24px; max-width:880px; margin-inline:auto; }
.timeline__item{ display:grid; grid-template-columns:96px 1fr; gap:24px; align-items:start; padding:28px; border-radius:var(--r-lg);
  background:var(--glass); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border:1px solid var(--border); position:relative; }
.timeline__item::before{ content:""; position:absolute; left:60px; top:100%; width:2px; height:24px; opacity:.6;
  background:linear-gradient(180deg,var(--accent),transparent); }
.timeline__item:last-child::before{ display:none; }
.timeline__num{ font-family:var(--display); font-size:clamp(2.5rem,2rem+1vw,3.5rem); line-height:1; color:var(--accent); text-shadow:0 0 24px var(--glow); }
.timeline__body h3{ font-family:var(--display); font-weight:400; font-size:1.5rem; margin-bottom:8px; }
.timeline__body p{ color:var(--muted); }

/* -------- Why -------- */
.why{ background:var(--bg); }
.why__rows{ max-width:1080px; border-top:1px solid var(--border); }
.why__row{ position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 60px; align-items:center;
  gap:clamp(16px,3vw,48px); padding:clamp(26px,4vw,44px) clamp(8px,1.5vw,20px);
  border-bottom:1px solid var(--border); overflow:hidden; cursor:default;
  transition:transform var(--dur) var(--ease); --rx:50%; --ry:50%; }
.why__row::before{ content:""; position:absolute; inset:0; opacity:0; transition:opacity var(--dur) var(--ease); pointer-events:none;
  background:radial-gradient(360px 200px at var(--rx) var(--ry), rgba(245,165,36,.14), transparent 70%); }
.why__row:hover{ transform:translateX(10px); }
.why__row:hover::before{ opacity:1; }
.why__row h3{ font-family:var(--display); font-weight:400; font-size:clamp(1.5rem,1.2rem+1.4vw,2.4rem); line-height:1.1;
  text-wrap:balance; transition:color var(--dur) var(--ease); }
.why__row:hover h3{ color:var(--accent); }
.why__row p{ color:var(--muted); font-size:1rem; max-width:44ch; }
.why__glyph{ justify-self:end; color:var(--dim); opacity:0; transform:translateX(-14px);
  transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), color var(--dur) var(--ease); }
.why__row:hover .why__glyph{ opacity:1; transform:translateX(0); color:var(--accent); }

/* -------- Pricing -------- */
.pricing{ background:var(--bg2); }
.pricing__table{ max-width:920px; margin-inline:auto; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--border);
  background:var(--glass); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
.pricing__row{ display:grid; grid-template-columns:1.6fr 1fr .8fr; gap:24px; padding:20px 28px; border-bottom:1px solid var(--border);
  align-items:center; transition:background .2s var(--ease); }
.pricing__row:last-child{ border-bottom:none; }
.pricing__row:not(.pricing__row--head):hover{ background:var(--surface); }
.pricing__row--head{ background:var(--surface2); font-family:var(--bold); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); }
.pricing__row b{ font-family:var(--bold); font-weight:400; color:var(--accent); font-size:1.1em; }
.pricing__row span:last-child{ color:var(--muted); font-size:.95rem; }
.pricing__foot{ text-align:center; margin-top:24px; color:var(--muted); font-size:.92rem; }

/* -------- About -------- */
.about{ background:linear-gradient(180deg,var(--bg2) 0%, var(--bg) 100%); }
.about__grid{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(40px,6vw,80px); align-items:center; }
.about__content{ max-width:56ch; }
.about__text{ color:var(--muted); font-size:1.05rem; margin-bottom:20px; }
.about__cta{ margin-top:16px; }
.about__cert{ position:relative; border-radius:var(--r-lg); overflow:hidden; background:var(--surface); border:1px solid var(--border2);
  padding:24px; }
.about__cert img{ border-radius:var(--r-md); margin-bottom:16px; }
.about__cert figcaption{ font-family:var(--bold); font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); text-align:center; }

/* -------- FAQ -------- */
.faq{ background:linear-gradient(180deg,var(--bg) 0%, var(--bg2) 100%); }
.faq__list{ max-width:880px; margin-inline:auto; display:flex; flex-direction:column; gap:12px; }
.faq__item{ background:var(--glass); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid var(--border);
  border-radius:var(--r-md); overflow:hidden; transition:border-color var(--dur) var(--ease); }
.faq__item[open]{ border-color:var(--accent); }
.faq__item summary{ padding:22px 24px; cursor:pointer; font-family:var(--bold); font-weight:400; font-size:1.05rem;
  display:flex; align-items:center; justify-content:space-between; gap:16px; list-style:none; }
.faq__item summary::-webkit-details-marker{ display:none; }
.faq__item summary::after{ content:"+"; font-family:var(--display); font-size:1.8rem; color:var(--accent);
  transition:transform var(--dur) var(--ease); flex-shrink:0; line-height:.5; width:24px; text-align:center; }
.faq__item[open] summary::after{ transform:rotate(45deg); }
.faq__item p{ padding:0 24px 24px; color:var(--muted); }

/* -------- Contacts -------- */
.contacts{ background:var(--bg2); }
.contacts__icon{ width:48px; height:48px; border-radius:var(--r-md); background:rgba(245,165,36,.1); color:var(--accent);
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }

/* -------- Contacts: плашки -------- */
.contacts__list{ display:flex; flex-direction:column; gap:12px; max-width:480px; margin-inline:auto; }
.contacts__item{ display:flex; align-items:center; justify-content:flex-start; gap:16px; padding:16px 26px; border-radius:var(--r-lg);
  background:var(--glass); backdrop-filter:blur(18px) saturate(140%); -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--border); position:relative; overflow:hidden; width:100%;
  transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.contacts__item::after{ content:""; position:absolute; top:-50%; left:-50%; width:200%; height:200%; transform:translateX(-100%);
  transition:transform 900ms var(--ease); pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.07) 50%,transparent 60%); }
.contacts__item:hover{ transform:translateY(-4px); border-color:var(--accent); box-shadow:0 14px 36px var(--glow); }
.contacts__item:hover::after{ transform:translateX(50%); }
.contacts__icon{ width:52px; height:52px; flex-shrink:0; border-radius:var(--r-md); background:rgba(245,165,36,.1); color:var(--accent);
  display:inline-flex; align-items:center; justify-content:center; transition:transform var(--dur) var(--ease); }
.contacts__item:hover .contacts__icon{ transform:scale(1.1) rotate(-4deg); }
.contacts__icon--max{ background:none; }
.contacts__body{ display:flex; flex-direction:column; gap:2px; text-align:left; }
.contacts__label{ font-size:.76rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }
.contacts__value{ font-family:var(--bold); font-size:clamp(1.05rem,1rem+.4vw,1.3rem); color:var(--text); transition:color var(--dur) var(--ease); }
a.contacts__item:hover .contacts__value{ color:var(--accent); }

/* -------- Footer -------- */
.footer{ background:var(--bg); border-top:1px solid var(--border); padding-block:48px; }
.footer__inner{ display:grid; grid-template-columns:1fr auto 1fr; gap:32px; align-items:center; }
.footer__brand p{ color:var(--muted); font-size:.9rem; margin-top:8px; }
.footer__nav{ display:flex; gap:24px; flex-wrap:wrap; justify-content:center; }
.footer__nav a{ color:var(--muted); font-size:.95rem; }
.footer__nav a:hover{ color:var(--accent); }
.footer__copy{ text-align:right; font-size:.85rem; color:var(--muted); }

/* -------- Floating -------- */
.floating-max{ position:fixed; bottom:24px; right:24px; width:60px; height:60px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; z-index:90; box-shadow:0 12px 32px rgba(94,92,255,.4);
  transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.floating-max img{ width:100%; height:100%; border-radius:50%; }
.contacts__icon--max{ background:none; }
.floating-max::before{ content:""; position:absolute; inset:-8px; border-radius:50%; border:2px solid #6A5CFF; opacity:0; animation:max-ring 2.4s var(--ease) infinite; }
@keyframes max-ring{ 0%{ transform:scale(.9); opacity:.8; } 100%{ transform:scale(1.4); opacity:0; } }
.floating-max:hover{ transform:scale(1.08); }
.to-top{ position:fixed; bottom:24px; right:100px; width:48px; height:48px; border-radius:50%; background:var(--surface);
  border:1px solid var(--border2); color:var(--text); display:inline-flex; align-items:center; justify-content:center; z-index:90;
  opacity:0; pointer-events:none; transform:translateY(20px); transition:all var(--dur) var(--ease); }
.to-top.is-visible{ opacity:1; pointer-events:auto; transform:translateY(0); }
.to-top:hover{ background:var(--accent); color:#1a1a1a; border-color:var(--accent); }

/* -------- Reveal -------- */
html.js .reveal{ opacity:0; transform:translateY(28px); transition:opacity 700ms var(--ease), transform 700ms var(--ease); }
html.js .reveal.is-in{ opacity:1; transform:translateY(0); }

/* -------- Responsive -------- */
@media(max-width:1024px){
  .ba__stage{ grid-template-columns:1fr; gap:24px; }
  .about__grid{ grid-template-columns:1fr; gap:40px; }
  }
@media(max-width:768px){
  .why__row{ grid-template-columns:1fr; gap:8px; }
  .why__glyph{ display:none; }
  .nav{ display:none; }
  .nav.is-open{ display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:var(--glass-strong);
    backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:1px solid var(--border); padding:20px; gap:0; }
  .nav.is-open .nav__link{ padding:16px; border-radius:var(--r-md); }
  .burger{ display:inline-flex; flex-direction:column; justify-content:center; align-items:center; }
  .phone-pill span{ display:none; }
  .phone-pill{ padding:10px; }
  .timeline__item{ grid-template-columns:64px 1fr; padding:20px; }
  .pricing__row{ grid-template-columns:1.4fr 1fr; padding:16px 20px; gap:12px; }
  .pricing__row span:last-child{ grid-column:1 / -1; padding-top:4px; font-size:.85rem; }
  .pricing__row--head span:nth-child(3){ display:none; }
  .footer__inner{ grid-template-columns:1fr; text-align:center; }
  .footer__copy{ text-align:center; }
  .to-top{ right:24px; bottom:96px; width:44px; height:44px; }
}
@media(max-width:480px){
  .hero{ padding-top:108px; }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  html.js .reveal{ opacity:1; transform:none; }
  .hero__photo img{ transform:none !important; }
  html.js .polish--clear{ clip-path:none; animation:none; }
  .polish--dull, .polish-edge{ display:none; }
  .hero__ticker-track{ animation:none; }
  .hero__shine{ display:none; }
}

/* -------- Страница политики -------- */
.legal{ padding-bottom:clamp(72px,10vw,120px); }
.legal__body h2{ font-family:var(--bold); font-weight:400; font-size:1.2rem; color:var(--text); margin:32px 0 10px; }
.legal__body p{ color:var(--muted); margin-bottom:12px; }
.legal__body a{ color:var(--accent); text-decoration:underline; }
