@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
  --accent:#e8e8e8;
  --accent-soft:rgba(232,232,232,.18);
  --accent-hover:rgba(255,255,255,.92);
  --accent-ink:#1a1a1a;
}

*{box-sizing:border-box}
body{margin:0;background:#0a0a0a;color:#f5f5f2;font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}

html{scroll-behavior:smooth}

nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:absolute;width:100%;z-index:2;border-bottom:1px solid rgba(255,255,255,.09)}
.logo{font-size:21px;font-weight:900;letter-spacing:-1px}
.logo span{color:var(--accent)}
.links{display:flex;gap:34px;font-size:13px;color:#bdbdb7}
.links a{transition:color .2s}
.links a:hover{color:var(--accent)}
.phone{border:1px solid rgba(255,255,255,.19);padding:13px 20px;border-radius:3px;font-size:12px;font-weight:600;white-space:nowrap;transition:border-color .2s,color .2s}
.phone:hover{border-color:var(--accent-soft);color:var(--accent)}

.hero{min-height:760px;padding:82px 6vw 70px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 42%,#343434 0,#171717 22%,#0a0a0a 55%)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a0a0a 0%,transparent 55%,#0a0a0a 100%);pointer-events:none}
.heroimg{position:absolute;right:0;top:82px;width:65%;height:678px;background:url('img/works/hero.jpg?v=custom3') center/cover no-repeat;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);opacity:.85}
.heroimg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a0a0a 0%,rgba(10,10,10,.4) 40%,transparent 70%)}
.hero-content{position:relative;z-index:1;max-width:720px}
.eyebrow{font-size:11px;letter-spacing:3px;color:var(--accent);opacity:.88;margin-bottom:25px}
.hero h1{font-size:clamp(58px,8vw,116px);line-height:.87;letter-spacing:-.075em;margin:0 0 34px;font-weight:800;min-height:calc(3 * .87em)}
.hero h1::after{content:"";display:block;height:.87em}
.hero h1 .accent{color:var(--accent)}
.hero p{max-width:470px;color:#aaa9a3;line-height:1.65;font-size:15px}
.actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.button{background:var(--accent);color:var(--accent-ink);padding:17px 25px;font-weight:700;font-size:12px;display:inline-block;border:0;cursor:pointer;transition:background .2s}
.button:hover{background:var(--accent-hover)}
.button.dark{background:rgba(255,255,255,.04);color:#eee;border:1px solid rgba(255,255,255,.13);transition:background .2s,border-color .2s,color .2s}
.button.dark:hover{border-color:var(--accent-soft);color:var(--accent);background:rgba(219,223,253,.06)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09);margin:0 6vw}
.stat{padding:27px 20px 27px 0;border-right:1px solid rgba(255,255,255,.09)}
.stat:last-child{border:0}
.stat b{font-size:27px;color:var(--accent)}
.stat span{display:block;color:#777;font-size:11px;margin-top:6px}

.section{padding:120px 6vw}
.section-head{display:flex;justify-content:space-between;gap:30px;margin-bottom:55px}
.kicker{font-size:11px;letter-spacing:2px;color:var(--accent)}
.section h2{font-size:clamp(38px,5vw,70px);line-height:.95;letter-spacing:-.06em;margin:12px 0 0}
.section h2 .accent,.subpage-hero h1 .accent,.contact-box h2 .accent,.process h2 .accent{color:var(--accent)}
.accent{color:var(--accent)}
.intro{max-width:380px;color:#8f8f89;line-height:1.7;font-size:14px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{
  min-height:390px;border:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;justify-content:flex-end;
  background:#0e0e0e;overflow:hidden;position:relative;
}
.card-media{position:absolute;inset:0}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.card:hover .card-media img{transform:scale(1.04)}
.card-media:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,10,10,.96) 0%,rgba(10,10,10,.62) 42%,rgba(10,10,10,.18) 100%);
}
.card-body{
  position:relative;z-index:1;padding:28px;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:390px;
}
.num{color:var(--accent);font-size:11px;margin-bottom:auto;opacity:.9}
.card h3{font-size:25px;margin:0 0 10px;letter-spacing:-.04em}
.card p{color:#85857f;font-size:13px;line-height:1.55;margin:0}

.process{background:#e8e8e2;color:#111;padding:110px 6vw}
.process .kicker{color:#5a5a8a}
.process h2{font-size:clamp(38px,5vw,70px);line-height:.95;letter-spacing:-.06em;margin:12px 0 0}
.process h2 .accent{color:#6a6aad}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#c9c9c3;margin-top:55px}
.step{background:#e8e8e2;padding:25px 22px 35px;min-height:190px}
.step b{font-size:12px;color:#6a6aad}
.step h3{font-size:20px;letter-spacing:-.04em}
.step p{color:#666;font-size:12px;line-height:1.55}

.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:70px}
.ba-item{margin:0}
.ba-item figcaption{margin-top:14px;font-size:11px;letter-spacing:2px;color:var(--accent);text-transform:uppercase}
.ba-slider{
  position:relative;aspect-ratio:4/3;overflow:hidden;cursor:ew-resize;user-select:none;touch-action:none;
  border:1px solid rgba(255,255,255,.08);background:#101010;
}
.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.ba-before-wrap{position:absolute;inset:0 auto 0 0;width:50%;overflow:hidden;z-index:2;border-right:1px solid rgba(255,255,255,.35)}
.ba-before{position:absolute;left:0;top:0;max-width:none;height:100%;object-fit:cover}
.ba-handle{
  position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);
  background:rgba(255,255,255,.85);z-index:3;pointer-events:none;
}
.ba-handle span{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--accent-ink);
  box-shadow:0 0 0 4px rgba(10,10,10,.45);
}
.ba-handle span:before,.ba-handle span:after{
  content:"";position:absolute;top:50%;width:0;height:0;margin-top:-5px;border:5px solid transparent;
}
.ba-handle span:before{right:55%;border-right-color:var(--accent-ink)}
.ba-handle span:after{left:55%;border-left-color:var(--accent-ink)}

.photo-strip{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:12px;margin-top:70px}
.photo{min-height:430px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.photo.photo-pos-polish{background-position:center 36%}
.photo.photo-pos-ceramic{background-position:center 40%}
.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.7))}
.photo .tag{position:absolute;left:22px;bottom:20px;z-index:1;font-size:10px;letter-spacing:2px;color:var(--accent)}
.photo.big{min-height:540px}
.photo.big.photo-pos-polish{background-position:center 38%}

.quote{margin-top:80px;padding:55px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);font-size:clamp(28px,4vw,58px);line-height:1.05;letter-spacing:-.05em;max-width:1000px}
.quote span{color:var(--accent)}
.quote + .photo-strip{margin-top:48px}

.brand-story{padding:120px 6vw;border-top:1px solid rgba(255,255,255,.08)}
.brand-story-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.award-panel{
  display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:40px;align-items:center;
  padding:40px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#12121a 0%,#0a0a0a 60%);
}
.award-panel-visual{border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0d0d12}
.award-panel-visual img{display:block;width:100%;height:auto}
.award-panel-copy .kicker{color:var(--accent)}
.award-panel-copy h2{font-size:clamp(30px,3.8vw,48px);line-height:1;letter-spacing:-.05em;margin:12px 0 16px;font-weight:800}
.award-panel-copy h2 .accent{color:var(--accent)}
.award-panel-copy p{color:#8f8f89;font-size:14px;line-height:1.7;margin:0;max-width:520px}

.founder-panel{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:start;
  padding:48px;border:1px solid rgba(255,255,255,.08);background:#0e0e0e;
}
.founder-copy .kicker{color:var(--accent)}
.founder-copy h2{font-size:clamp(34px,4.5vw,56px);line-height:1;letter-spacing:-.05em;margin:12px 0 0;font-weight:800}
.founder-copy h2 .accent{color:var(--accent)}
.founder-lead{color:#b8b8b2;font-size:16px;line-height:1.65;margin:18px 0 28px;max-width:620px}
.founder-story p{color:#8f8f89;font-size:15px;line-height:1.78;margin:0 0 1.15em}
.founder-story p:last-child{margin-bottom:0}
.founder-visual{position:relative;min-height:480px;border:1px solid rgba(0,0,0,.08);overflow:hidden;background:#ecece8}
.founder-visual-placeholder{
  display:flex;align-items:center;justify-content:center;
  min-height:480px;width:100%;
  background:linear-gradient(180deg,#f6f6f2 0%,#e8e8e2 100%);
  color:rgba(17,17,17,.14);
}
.founder-visual-placeholder svg{width:128px;height:128px}
.founder-visual-caption{
  position:absolute;left:24px;right:24px;bottom:22px;z-index:1;
  font-size:11px;letter-spacing:2px;color:#6a6a64;
}

.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#252525;margin-top:55px}
.price{background:#101010;padding:30px;min-height:280px}
.price .top{display:flex;justify-content:space-between;color:var(--accent);font-size:11px;opacity:.75}
.price h3{font-size:24px;margin:42px 0 12px;letter-spacing:-.04em}
.price strong{font-size:28px;color:var(--accent)}
.price p{color:#777;font-size:12px;line-height:1.6}

.gallery{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-auto-rows:260px;gap:12px;margin-top:50px}
.gallery .g{background-size:cover;background-position:center;position:relative}
.gallery .wide{grid-column:span 2}
.gallery .tall{grid-row:span 2}
.gallery--portfolio{
  grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));
  grid-auto-rows:auto;
  align-items:start;
}
.gallery--portfolio .g{background:#0e0e0e;border:1px solid rgba(255,255,255,.07)}
.gallery--portfolio .g--media{display:block;cursor:zoom-in;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s;position:relative}
.gallery--portfolio .g--media:hover{border-color:rgba(255,255,255,.18);box-shadow:0 8px 32px rgba(0,0,0,.45)}
.gallery--portfolio .g--media img{width:100%;height:auto;display:block;vertical-align:middle}
.gallery--portfolio .g--video video{width:100%;height:auto;max-height:min(75vh,640px);object-fit:contain;display:block;background:#0a0a0a;vertical-align:middle}
.gallery--portfolio .wide,.gallery--portfolio .tall{grid-column:auto;grid-row:auto}
.work-block .section-head h2{font-size:clamp(22px,3vw,34px);line-height:1.1}
html.media-lightbox-open{overflow:hidden}
.media-lightbox{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.92);padding:48px 56px;
}
.media-lightbox[hidden]{display:none!important}
.media-lightbox-stage{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}
.media-lightbox-img{max-width:100%;max-height:calc(100vh - 96px);width:auto;height:auto;object-fit:contain;display:block;user-select:none}
.media-lightbox-close{
  position:absolute;top:16px;right:20px;
  width:44px;height:44px;border:0;background:transparent;color:#fff;
  font-size:36px;line-height:1;cursor:pointer;opacity:.85;
}
.media-lightbox-close:hover{opacity:1}
.media-lightbox-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:72px;border:0;background:rgba(255,255,255,.08);color:#fff;
  font-size:32px;cursor:pointer;border-radius:2px;
}
.media-lightbox-nav:hover{background:rgba(255,255,255,.14)}
.media-lightbox-nav:disabled{opacity:.25;cursor:default}
.media-lightbox-prev{left:12px}
.media-lightbox-next{right:12px}

.reviews-carousel{position:relative;margin-top:28px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:10px 8px;align-items:center}
.reviews-viewport{overflow:hidden;min-width:0}
.reviews-track{display:flex;gap:10px;will-change:transform;align-items:flex-start}
.reviews-track .review{flex:0 0 calc((100% - 20px) / 3);min-width:0}
@media (max-width:1100px){.reviews-track .review{flex-basis:calc((100% - 10px) / 2)}}
@media (max-width:768px){.reviews-track .review{flex-basis:100%}}
.reviews-nav{width:36px;height:36px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#f5f5f2;font-size:22px;line-height:1;cursor:pointer;transition:border-color .2s,background .2s}
.reviews-nav:hover:not(:disabled){border-color:var(--accent-soft);background:rgba(225,6,0,.12)}
.reviews-nav:disabled{opacity:.35;cursor:default}
.reviews-dots{grid-column:1 / -1;display:flex;justify-content:center;align-items:center;gap:10px;color:#666;font-size:12px}
.reviews-dot{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.25);cursor:pointer}
.reviews-dot.is-active{background:var(--accent);transform:scale(1.15)}
.review{border:1px solid rgba(255,255,255,.08);padding:14px 16px;min-height:0;background:#101010;display:flex;flex-direction:column;gap:8px}
.review-stars{letter-spacing:3px;font-size:10px;color:var(--accent);line-height:1}
.review-text{font-size:13px;line-height:1.45;color:#b0b0aa;margin:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.review-meta{color:#666;font-size:11px}

.faq{max-width:900px;margin-top:45px}
.faq details{border-top:1px solid rgba(255,255,255,.09);padding:22px 0}
.faq details:last-child{border-bottom:1px solid rgba(255,255,255,.09)}
.faq summary{cursor:pointer;font-size:16px;font-weight:600;transition:color .2s}
.faq summary:hover{color:inherit}
.process .faq details{border-top:1px solid rgba(0,0,0,.12);padding:22px 0}
.process .faq details:last-child{border-bottom:1px solid rgba(0,0,0,.12)}
.process .faq summary{color:#111}
.process .faq summary:hover,.process .faq details[open] summary{color:#111}
.process .faq p{color:#555;line-height:1.7;max-width:700px}
.faq p{color:#666;line-height:1.7;max-width:700px}

.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#292929;margin-top:50px}
.contact-box>*{background:#111;padding:35px}
.contact-box h2{font-size:clamp(38px,5vw,60px);line-height:.95;letter-spacing:-.06em;margin:12px 0 0}
.contact-box p{color:#777;line-height:1.7}
.contact-info{margin-top:30px;font-size:15px;line-height:2}
.contact-info a{color:#eee;font-weight:600;transition:color .2s}
.contact-info a:hover{color:var(--accent)}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;background:#181818;border:1px solid rgba(255,255,255,.08);color:#eee;padding:16px;margin-bottom:10px;font:inherit;transition:border-color .2s}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--accent-soft)}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form h3{font-size:28px;margin:12px 0 25px;letter-spacing:-.04em}
.contact-note{color:#777;line-height:1.7;margin-top:24px;font-size:14px;max-width:380px}
.site-bottom{
  position:relative;
  overflow:hidden;
  background:#080808;
}
.address-map{
  position:relative;
  background:transparent;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.09);
}
.address-map:before{
  content:"";
  position:absolute;
  right:-8%;
  top:-25%;
  width:560px;
  height:560px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  filter:blur(90px);
  pointer-events:none;
  z-index:0;
}
.address-map:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 110% 75% at 18% 0%,#30302d 0%,#141414 42%,#080808 72%);
  pointer-events:none;
  z-index:0;
}

.site-footer{
  padding:0 6vw 35px;
  background:transparent;
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.1);
}
.footer-grid{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:50px;
  padding:70px 0 55px;
  position:relative;
  z-index:1;
}
.footer-col--brand-hours{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:32px;
}
.footer-phones-block{display:flex;flex-direction:column;gap:14px}
.footer-phones-block b{font-size:11px;letter-spacing:2px;color:var(--accent);opacity:.72;margin-bottom:4px}
.footer-brand-divider{height:1px;background:rgba(255,255,255,.1);margin:4px 0}
.footer-brand-block{display:flex;flex-direction:column;gap:18px}
.footer-hours-block{display:flex;flex-direction:column;gap:14px}
.footer-hours-block b{font-size:11px;letter-spacing:2px;color:var(--accent);opacity:.72;margin-bottom:4px}
.footer-hours-block span{font-size:13px;color:#888;line-height:1.5}
.footer-logo{font-size:28px;font-weight:900;letter-spacing:-1px;color:#f5f5f2;line-height:1}
.footer-col .footer-logo span,.footer-logo span{color:var(--accent);font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit}
.footer-tagline{color:#777;font-size:13px;line-height:1.7;margin:18px 0 22px;max-width:320px}
.footer-social{display:flex;gap:10px;flex-wrap:wrap}
.footer-social a{
  font-size:11px;
  letter-spacing:1px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.12);
  color:#aaa;
  transition:color .2s,border-color .2s;
}
.footer-social a:hover{color:var(--accent);border-color:var(--accent-soft)}
.footer-col{display:flex;flex-direction:column;gap:14px}
.footer-col b{font-size:11px;letter-spacing:2px;color:var(--accent);opacity:.72;margin-bottom:4px}
.footer-col a,.footer-col span{font-size:13px;color:#888;line-height:1.5}
.footer-col a:hover{color:var(--accent)}
.footer-col .footer-phone-inline{font-size:18px;font-weight:700;color:#f5f5f2;letter-spacing:-.02em;transition:color .2s}
.footer-col .footer-phone-inline:hover{color:var(--accent)}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 20px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:11px;
  color:#555;
  letter-spacing:1px;
  position:relative;
  z-index:1;
}
.footer-requisites{font-size:10px;color:#666;letter-spacing:.04em;line-height:1.5;max-width:640px}
.footer-requisites .footer-legal-link{margin-left:6px}
.footer-legal-link{color:#777;text-decoration:none;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.footer-legal-link:hover{color:var(--accent)}
.legal-body{padding-top:82px}
.legal-page{
  position:relative;z-index:1;
  width:100%;max-width:none;margin:0;
  padding:40px 6vw 96px;
  color:#c4c4be;font-size:15px;line-height:1.7;
  box-sizing:border-box;
}
.legal-hero,.legal-index,.legal-doc{
  max-width:720px;
  margin-left:0;
  margin-right:0;
}
.legal-hero{margin-bottom:36px}
.legal-hero h1{
  margin:10px 0 18px;font-size:clamp(32px,5vw,48px);line-height:1.05;
  letter-spacing:-.04em;font-weight:800;color:#f5f5f2;
}
.legal-hero h1 .accent{color:#e10600}
.legal-hero-lead{max-width:560px;margin:0;color:#8f8f89;font-size:15px;line-height:1.6}
.legal-hero-lead a{color:#e8e8e8;text-decoration:underline;text-underline-offset:3px}
.legal-index{
  position:static;display:block;height:auto;width:auto;
  margin:0 0 48px;padding:22px 24px;
  background:#111;border:1px solid rgba(255,255,255,.1);
}
.legal-index-label{
  margin:0 0 14px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#777;
}
.legal-index-list{list-style:none;margin:0;padding:0}
.legal-index-list li{margin:0;border-top:1px solid rgba(255,255,255,.07)}
.legal-index-list li:first-child{border-top:0}
.legal-index-list a{
  display:flex;align-items:flex-start;gap:14px;
  padding:14px 0;color:#d8d8d2;text-decoration:none;line-height:1.4;
}
.legal-index-list a:hover{color:#fff}
.legal-index-list a span{flex:0 0 28px;font-size:12px;font-weight:800;color:#e10600;letter-spacing:.04em;padding-top:1px}
.legal-doc{
  position:relative;display:block;
  scroll-margin-top:100px;
  margin:0 0 40px;padding:36px 0 8px;
  border-top:1px solid rgba(255,255,255,.14);
  background:transparent;
}
.legal-doc-tag{
  margin:0 0 10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#777;
}
.legal-doc h2{
  font-size:clamp(22px,3vw,28px);line-height:1.2;color:#f2f2ee;
  margin:0 0 10px;letter-spacing:-.02em;font-weight:800;
}
.legal-doc h3{
  font-size:13px;color:#f2f2ee;margin:28px 0 8px;
  letter-spacing:.06em;text-transform:uppercase;font-weight:700;
}
.legal-doc p{margin:0 0 12px}
.legal-doc ul{margin:0 0 12px;padding-left:1.2rem}
.legal-doc li{margin-bottom:6px}
.legal-doc a{color:#e8e8e8;text-decoration:underline;text-underline-offset:3px}
.legal-meta{font-size:13px;color:#777;margin:0 0 22px}
.legal-requisites{
  display:block;margin:0 0 20px;padding:16px 18px;
  background:#121212;border:1px solid rgba(255,255,255,.08);
}
.legal-requisites div{display:flex;gap:16px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.legal-requisites div:last-child{border-bottom:0}
.legal-requisites dt{flex:0 0 110px;margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#777}
.legal-requisites dd{margin:0;font-size:14px;color:#ddd;line-height:1.45}
.legal-page-footer{margin-top:0;padding:24px 6vw;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:640px){
  .legal-body{padding-top:72px}
  .legal-index{padding:18px 16px}
  .legal-requisites div{flex-direction:column;gap:2px}
}
.cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:99998;max-width:560px;margin:0 auto;
  display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;
  background:rgba(12,12,14,.96);border:1px solid rgba(255,255,255,.12);border-radius:12px;
  font-size:13px;line-height:1.45;color:#b8b8b2;box-shadow:0 12px 40px rgba(0,0,0,.45);
}
.cookie-banner p{margin:0;flex:1;min-width:200px}
.cookie-banner a{color:var(--accent)}
.cookie-banner-accept{
  border:0;border-radius:8px;padding:10px 18px;cursor:pointer;font:inherit;font-weight:700;
  background:var(--accent,#d71935);color:#fff;white-space:nowrap;
}
.cookie-banner.is-hidden{opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s;pointer-events:none}
@media (max-width:520px){.cookie-banner{left:10px;right:10px;bottom:10px}}

.subpage-hero{padding:180px 6vw 90px;min-height:520px;background:radial-gradient(circle at 75% 50%,#30302d,transparent 35%),#0a0a0a}
.subpage-hero .kicker{color:var(--accent)}
.subpage-hero h1{font-size:clamp(58px,8vw,110px);line-height:.88;letter-spacing:-.07em;margin:15px 0 0;color:#f5f5f2}
.subpage-hero h1 .accent{color:var(--accent)}
.subpage-hero p{max-width:550px;color:#888;line-height:1.7;margin-top:20px}

.service-list{margin-top:55px;border-top:1px solid rgba(255,255,255,.08)}
.service-row{display:grid;grid-template-columns:80px 1fr 130px;gap:20px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.08);align-items:start}
.service-row .idx{color:var(--accent);font-size:11px;opacity:.75}
.service-row h3{margin:0;font-size:25px}
.service-row p{margin:7px 0 0;color:#777;font-size:12px;line-height:1.5}
.service-row .cost{text-align:right;font-size:18px;color:var(--accent)}

.address-map-bg{display:none}
.address-map-inner{padding:120px 6vw 96px;position:relative;z-index:1}
.address-map-grid{display:flex;flex-direction:column;gap:0;align-items:stretch}
.address-map-intro{max-width:480px;position:relative;z-index:1}
.address-map-visual{position:relative;width:100%;max-width:720px;margin:0 0 36px;z-index:1}
.address-map-details-wrap{max-width:480px;position:relative;z-index:1}
.address-map-kicker{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.address-map-line{width:40px;height:1px;background:var(--accent);flex-shrink:0}
.address-map-kicker .kicker{color:var(--accent);margin:0}
.address-map-title{
  font-size:clamp(38px,5vw,70px);font-weight:800;line-height:.95;color:#fff;
  margin:0 0 28px;letter-spacing:-.06em;text-transform:uppercase;
}
.address-map-title span{color:var(--accent)}
.address-map-text{color:#8f8f89;font-size:14px;line-height:1.7;margin:0 0 44px;max-width:380px}
.address-map-divider{height:1px;background:rgba(255,255,255,.08);margin:0 0 32px}
.address-map-details{display:flex;flex-direction:column;gap:28px;margin-bottom:28px;padding-top:0;border-top:none}
.address-map-detail-label{font-size:11px;letter-spacing:2px;color:var(--accent);opacity:.72;display:block;margin-bottom:10px}
.address-map-brand{font-size:21px;font-weight:900;color:#fff;margin:0 0 8px;letter-spacing:-1px}
.address-map-brand span{color:var(--accent)}
.address-map-muted{color:#85857f;font-size:13px;line-height:1.55;margin:0}
.address-map-muted-sm{color:#777;font-size:11px;margin:6px 0 0;line-height:1.5}
.address-map-phone{font-size:21px;font-weight:800;color:#fff;letter-spacing:-.02em;transition:color .2s}
.address-map-phone:hover{color:var(--accent)}
.address-map-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:17px 25px;background:var(--accent);color:var(--accent-ink);
  border-radius:3px;font-size:12px;font-weight:700;align-self:flex-start;
  transition:background .2s,transform .2s;
}
.address-map-btn:hover{background:var(--accent-hover);transform:none}
.address-map-frame{
  display:block;
  position:relative;width:100%;aspect-ratio:1/1;min-height:0;border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);background:#111;
  cursor:pointer;text-decoration:none;color:inherit;
}
.address-map-frame img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s;display:block}
.address-map-frame:hover img{transform:scale(1.02)}
.address-map-pin-label{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%, calc(-100% - 22px));
  pointer-events:none;z-index:2;
}
.address-map-pin-label-text{
  position:relative;display:inline-block;
  padding:3px 6px 2px;
  background:rgba(26,26,26,.94);
  border:1px solid var(--accent-soft);
  border-radius:4px;
  font-size:7px;font-weight:800;letter-spacing:-.15px;
  color:#fff;white-space:nowrap;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}
.address-map-pin-label-text span{color:var(--accent)}
.address-map-pin-label-text::after{
  content:'';position:absolute;left:50%;bottom:-4px;
  transform:translateX(-50%);
  border:4px solid transparent;border-top-color:rgba(26,26,26,.94);
}
.address-map-decor{
  position:absolute;inset:12px -12px -12px 12px;
  border:1px solid var(--accent-soft);border-radius:12px;transform:rotate(1.5deg);z-index:-1;
}

.footer-desktop-only{display:none}
.footer-mobile-only{display:grid}

.address-map-img--desktop{display:none}
.address-map-img--mobile{display:block}

.photo-strip{display:grid}
.gallery{display:grid}

@media(min-width:801px){
  .footer-desktop-only{
    display:grid;
    grid-template-columns:1.35fr 1fr 1fr;
    gap:50px;
    padding:70px 0 55px;
  }
  .footer-mobile-only{display:none}

  .process .kicker{color:#777}
  .process h2 .accent{color:#111}
  .step b{color:#111}

  .services-process .steps-track{margin-top:55px;overflow:visible}
  .services-process .steps{min-width:0;width:100%;margin-top:0}

  .address-map-bg{
    display:block;
    position:absolute;
    inset:0;
    pointer-events:none;
    overflow:hidden;
    z-index:0;
  }
  .address-map-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(64px);
    background:rgba(219,223,253,.05);
  }
  .address-map-glow--tr{top:0;right:0;width:384px;height:384px}
  .address-map-glow--bl{bottom:0;left:0;width:320px;height:320px}
  .address-map-inner{padding:120px 6vw}
  .address-map-grid{
    display:grid;
    grid-template-columns:minmax(260px,.62fr) minmax(0,1.28fr);
    column-gap:72px;
    row-gap:0;
    align-items:start;
  }
  .address-map-intro{
    grid-column:1;
    grid-row:1;
    max-width:420px;
  }
  .address-map-details-wrap{
    grid-column:1;
    grid-row:2;
    max-width:420px;
    margin-top:0;
  }
  .address-map-visual{
    grid-column:2;
    grid-row:1/span 2;
    width:100%;
    max-width:92%;
    margin:0 0 0 auto;
    min-height:0;
    align-self:center;
  }
  .address-map-frame{
    aspect-ratio:880/450;
    min-height:0;
    height:auto;
    width:100%;
  }
  .address-map-frame img{object-fit:cover;object-position:center}
  .address-map-decor{display:block}
  .address-map-text{margin-bottom:28px}
  .address-map-divider{margin:0 0 28px}
  .address-map-details{margin-top:0;margin-bottom:24px;gap:24px}
  .address-map-img--desktop{display:block}
  .address-map-img--mobile{display:none}
  .address-map-pin-label{
    left:50%;
    top:50%;
    transform:translate(-50%,calc(-100% - 32px));
  }
  .address-map-pin-label-text{
    font-size:8px;
    padding:4px 7px 3px;
  }
  .footer-desktop-only .footer-col--brand-hours{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:36px;
  }
}

/* Mobile nav — desktop unchanged */
.nav-burger{display:none}
.nav-mobile-menu{display:none}

@media(max-width:800px){
  .site-nav{
    position:absolute;height:auto;min-height:72px;padding:14px 5vw;
    flex-wrap:wrap;align-items:center;
  }
  .nav-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
  .nav-burger{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:44px;height:44px;padding:0 10px;
    background:transparent;border:1px solid rgba(255,255,255,.19);
    border-radius:3px;cursor:pointer;flex-shrink:0;
  }
  .nav-burger-line{display:block;width:100%;height:2px;background:#f5f5f2;border-radius:1px;transition:transform .2s,opacity .2s}
  .nav-burger[aria-expanded="true"] .nav-burger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-burger[aria-expanded="true"] .nav-burger-line:nth-child(2){opacity:0}
  .nav-burger[aria-expanded="true"] .nav-burger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-mobile-menu{
    display:flex;flex-direction:column;gap:0;
    position:absolute;left:0;right:0;top:100%;
    width:100%;z-index:5;
    background:#0a0a0a;
    padding:0 5vw;
    max-height:0;overflow:hidden;opacity:0;
    border-top:1px solid transparent;
    transition:max-height .3s ease,opacity .25s ease,border-color .25s ease,padding .25s ease;
  }
  .nav-mobile-menu.is-open{
    max-height:320px;opacity:1;padding:8px 5vw 12px;
    border-top-color:rgba(255,255,255,.09);
  }
  .nav-mobile-menu a{
    padding:14px 0;font-size:13px;letter-spacing:1px;
    color:#bdbdb7;border-bottom:1px solid rgba(255,255,255,.06);
  }
  .nav-mobile-menu a:last-child{border-bottom:0;color:var(--accent)}
  body.nav-open{overflow:hidden}

  .logo{font-size:18px}
  .links{display:none}
  .phone{font-size:11px;padding:10px 14px}
  .hero{
    align-items:flex-start;justify-content:flex-start;
    padding:96px 5vw 48px;min-height:auto;
  }
  .heroimg{width:100%;opacity:.45;top:72px;height:calc(100% - 72px)}
  .hero-content{margin-top:0}
  .hero h1{font-size:clamp(40px,11vw,65px);margin-bottom:24px}
  .hero p{font-size:14px}
  .actions{flex-direction:column;width:100%}
  .actions .button,.actions .button.dark{width:100%;text-align:center;box-sizing:border-box}
  .stats{margin:0 5vw;grid-template-columns:1fr 1fr}
  .stat{padding:20px 14px 20px 0}
  .stat b{font-size:22px}
  .section{padding:72px 5vw}
  .section-head{display:block;margin-bottom:36px}
  .intro{margin-top:20px;max-width:none}
  .cards{grid-template-columns:1fr}
  .card{min-height:260px}
  .card-body{min-height:260px}
  .process{padding:72px 5vw;overflow-x:hidden;max-width:100%}
  .process .kicker{color:#777}
  .process h2{font-size:clamp(32px,9vw,52px)}
  .process h2 .accent{color:#111}
  .step b{color:#111}
  .steps{width:100%;max-width:100%;grid-template-columns:1fr;margin-top:36px}
  .step{min-height:auto;padding:22px 18px 28px}
  .services-process .steps-track{margin-top:0;overflow:visible}
  .services-process .steps{margin-top:36px;min-width:0}
  .brand-story{padding:72px 5vw}
  .award-panel{grid-template-columns:1fr;padding:28px 22px;gap:24px}
  .founder-panel{grid-template-columns:1fr;padding:28px 22px;gap:32px}
  .founder-visual,.founder-visual-placeholder{min-height:320px}
  .ba-grid,.photo-strip,.price-grid,.contact-box{grid-template-columns:1fr}
  .reviews-track .review{flex-basis:100%}
  .reviews-carousel{grid-template-columns:1fr;grid-template-rows:auto auto;padding:0 40px}
  .reviews-nav--prev,.reviews-nav--next{position:absolute;top:calc(50% - 14px);transform:translateY(-50%);z-index:2}
  .reviews-nav--prev{left:0}
  .reviews-nav--next{right:0}
  .ba-grid{margin-top:40px}
  .photo-strip{margin-top:40px}
  .photo.big{min-height:340px}
  .photo{min-height:260px}
  .quote{margin-top:48px;padding:36px 0;font-size:clamp(22px,6vw,34px)}
  .gallery{grid-template-columns:1fr;grid-auto-rows:220px}
  .gallery .wide{grid-column:span 1}
  .gallery .tall{grid-row:span 1}
  .subpage-hero{padding:130px 5vw 64px;min-height:auto}
  .subpage-hero h1{font-size:clamp(40px,10vw,72px)}
  .service-list{margin-top:36px}
  .service-row{grid-template-columns:40px 1fr;gap:12px 16px;padding:24px 0}
  .service-row .cost{grid-column:2;text-align:left}
  .service-row .cost{margin-top:8px;font-size:16px}
  .footer-grid{grid-template-columns:1fr;gap:28px;padding:56px 0 36px}
  .footer-col--brand-hours{gap:24px}
  .footer-logo{font-size:24px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
  .site-footer{padding:0 5vw 28px}
  .address-map-inner{padding:72px 5vw 64px}
  .address-map-intro{max-width:none}
  .address-map-text{margin-bottom:28px}
  .address-map-divider{margin-bottom:24px}
  .address-map-visual{max-width:100%}
  .address-map-details-wrap{max-width:none}
  .address-map-decor{display:none}
  .address-map-title{margin-bottom:20px}
  .address-map-details{gap:22px;margin-bottom:24px}
  .address-map-btn{width:100%;align-self:stretch}
  .address-map-pin-label{transform:translate(-50%,calc(-100% - 18px))}
  .address-map-pin-label-text{font-size:7px;padding:3px 6px 2px;white-space:nowrap}
}

@media(max-width:480px){
  .logo{font-size:16px}
  .phone{font-size:10px;padding:8px 10px;letter-spacing:-.02em}
  .stats{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.09);padding:16px 0}
  .stat:last-child{border-bottom:0}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-col--brand-hours{gap:24px}
  .address-map-phone{font-size:18px}
  .address-map-brand{font-size:19px}
}

/* clone-site-tweaks */
.heroimg{opacity:.80}
.heroimg:before{background:linear-gradient(90deg,#0a0a0a 0%,rgba(10,10,10,.3) 40%,transparent 70%)}
.hero:after{background:linear-gradient(90deg,#0a0a0a 0%,transparent 58%,rgba(10,10,10,.75) 100%)}
@media (max-width:768px){
  .heroimg{opacity:.53}
}

.heroimg{background-position:50% 62%!important}

@media (max-width:768px){
  .heroimg{background-position:50% 58%!important}
}

/* red-accent */
:root{
  --accent:#e10600;
  --accent-soft:rgba(225,6,0,.38);
  --accent-hover:#ff1f16;
  --accent-ink:#fff;
}
.process h2 .accent{color:#e10600}
@media (max-width:1024px){.process h2 .accent{color:#e10600}}
@media (max-width:768px){.process h2 .accent{color:#e10600}}
.review .stars{color:var(--accent)}
.faq details[open] summary{color:var(--accent)}
.process .faq details[open] summary{color:#e10600}

/* нейтральные подписи: крупные цифры белым, мелкие номера и лейблы серым */
.stat b{color:#f5f5f2}
.kicker,
.subpage-hero .kicker,
.award-panel-copy .kicker,
.founder-copy .kicker,
.address-map-kicker .kicker{color:#8d8d87}
.num,
.service-row .idx,
.ba-item figcaption,
.address-map-detail-label,
.footer-col b,
.footer-phones-block b,
.footer-hours-block b{color:#8d8d87;opacity:1}
.photo .tag{color:#f5f5f2}
.process .kicker,
.step b{color:#6f6f6a}
@media (max-width:1024px){.process .kicker,.step b{color:#6f6f6a}}
@media (max-width:768px){.process .kicker,.step b{color:#6f6f6a}}
.hero .eyebrow{visibility:hidden}
.heroimg{opacity:.80}
@media (max-width:768px){
  .heroimg{opacity:.53}
}

/* training-page */
.cert-box{display:grid;grid-template-columns:1.05fr .95fr;gap:1px;background:#292929;margin-top:50px}
.cert-box>*{background:#111;padding:35px}
.cert-tabs{display:flex;gap:26px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:32px}
.cert-tab{background:none;border:0;border-bottom:2px solid transparent;color:#7d7d77;font:inherit;font-size:13px;letter-spacing:1px;padding:0 0 14px;cursor:pointer;transition:color .2s,border-color .2s}
.cert-tab:hover{color:#d7d7d2}
.cert-tab.is-active{color:#f5f5f2;border-bottom-color:var(--accent)}
.cert-field label{display:block;font-size:11px;letter-spacing:2px;color:#8d8d87;margin-bottom:12px}
.cert-field input{width:100%;background:#0a0a0a;border:1px solid rgba(255,255,255,.13);color:#f5f5f2;font:inherit;font-size:15px;padding:16px 18px;transition:border-color .2s}
.cert-field input:focus{outline:0;border-color:var(--accent)}
.cert-field .button{margin-top:18px}
.cert-note{color:#777;font-size:13px;line-height:1.7;margin:0 0 18px;max-width:420px}
.cert-hint{color:#5f5f5a;font-size:12px;margin-top:16px}
.cert-msg{margin-top:18px;font-size:13px;color:#e06a5f;min-height:18px}

.cert-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0d0d0d;padding:30px;height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.cert-card:before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 88% 8%,rgba(225,6,0,.5),transparent 42%),
  linear-gradient(135deg,rgba(225,6,0,.18),transparent 55%)}
.cert-card:after{content:"";position:absolute;right:-70px;bottom:-110px;width:280px;height:280px;border:1px solid rgba(225,6,0,.3);transform:rotate(35deg)}
.cert-card>*{position:relative;z-index:1}
.cert-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.cert-card-brand{font-size:16px;font-weight:900;letter-spacing:-.4px;line-height:1.2}
.cert-card-brand span{color:var(--accent)}
.cert-card-brand small{display:block;font-size:8px;letter-spacing:3px;color:#8d8d87;font-weight:600;margin-top:4px}
.cert-card-seal{width:56px;height:56px;border:1px solid var(--accent-soft);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:1px;color:var(--accent);text-align:center;line-height:1.3}
.cert-card h3{margin:0;font-size:clamp(23px,3vw,32px);letter-spacing:-.04em;line-height:1.05}
.cert-card-name{font-size:19px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:12px}
.cert-card-rows{display:grid;gap:7px;font-size:12px;color:#8d8d87}
.cert-card-rows b{color:#e4e4df;font-weight:600}
.cert-card-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.cert-card-sign{font-size:10px;letter-spacing:1px;color:#777;border-top:1px solid rgba(255,255,255,.15);padding-top:8px;min-width:150px}
.cert-qr{width:58px;height:58px;flex:0 0 58px;background-color:#e4e4df;background-image:
  repeating-linear-gradient(90deg,#0a0a0a 0 4px,transparent 4px 8px),
  repeating-linear-gradient(0deg,#0a0a0a 0 4px,transparent 4px 8px)}

.cert-result{display:none;background:#111;border-top:1px solid #292929;padding:35px}
.cert-result.is-visible{display:block}
.cert-status{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:1px;color:#8fbf8a}
.cert-status i{width:26px;height:26px;border:1px solid rgba(143,191,138,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:13px}
.cert-data{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#292929;margin-top:28px}
.cert-data div{background:#0e0e0e;padding:22px}
.cert-data span{display:block;font-size:10px;letter-spacing:2px;color:#8d8d87;margin-bottom:10px}
.cert-data b{font-size:15px;font-weight:600;color:#f5f5f2;line-height:1.4}
.cert-valid{margin-top:1px;background:#0e130e;border:1px solid rgba(143,191,138,.25);color:#8fbf8a;padding:16px 22px;font-size:12px;letter-spacing:1px}

/* admin demo panel */
.crm{display:grid;grid-template-columns:232px 1fr;gap:1px;background:#242424;border:1px solid rgba(255,255,255,.09);margin-top:50px;overflow:hidden}
.crm-side{background:#0d0d0d;padding:26px 0;display:flex;flex-direction:column;gap:26px}
.crm-logo{padding:0 22px;font-size:17px;font-weight:900;letter-spacing:-.5px;line-height:1.1}
.crm-logo span{color:var(--accent)}
.crm-logo small{display:block;font-size:8px;letter-spacing:3px;color:#7d7d77;margin-top:5px}
.crm-nav{position:static;display:flex;flex-direction:column;flex:1;width:auto;height:auto;padding:0;border:0;z-index:auto}
.crm-nav-item{display:flex;align-items:center;gap:12px;background:none;border:0;border-left:3px solid transparent;color:#9a9a94;font:inherit;font-size:13px;text-align:left;padding:13px 22px;cursor:pointer;transition:color .2s,background .2s}
.crm-nav-item:hover{color:#f5f5f2;background:rgba(255,255,255,.03)}
.crm-nav-item.is-active{color:#fff;background:var(--accent);border-left-color:#ff5f57}
.crm-nav-item svg{width:16px;height:16px;flex:0 0 16px;stroke:currentColor;fill:none;stroke-width:1.6}
.crm-user{display:flex;align-items:center;gap:12px;padding:18px 22px 0;border-top:1px solid rgba(255,255,255,.08);margin-top:auto}
.crm-user-av{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.crm-user b{display:block;font-size:13px}
.crm-user span{font-size:11px;color:#7d7d77}

.crm-main{background:#111;padding:26px 28px 32px;min-width:0}
.crm-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.crm-top h3{margin:0 0 6px;font-size:24px;letter-spacing:-.03em}
.crm-top p{margin:0;font-size:13px;color:#7d7d77}
.crm-top-meta{display:flex;align-items:center;gap:14px;font-size:12px;color:#7d7d77}
.crm-bell{width:32px;height:32px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}
.crm-bell:after{content:"";position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--accent)}

.crm-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.crm-card{background:#161616;border:1px solid rgba(255,255,255,.08);padding:20px}
.crm-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#8d8d87}
.crm-card-ico{width:28px;height:28px;border:1px solid rgba(225,6,0,.35);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:12px}
.crm-card b{display:block;font-size:30px;letter-spacing:-.04em;margin:14px 0 8px}
.crm-card small{font-size:11px;color:#6f8f6c}
.crm-card small.is-flat{color:#7d7d77}

.crm-charts{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-top:14px}
.crm-box{background:#161616;border:1px solid rgba(255,255,255,.08);padding:20px}
.crm-box h4{margin:0 0 18px;font-size:15px;font-weight:600;letter-spacing:-.01em}
.crm-chart{width:100%;height:auto;display:block}
.crm-axis{display:flex;justify-content:space-between;font-size:10px;color:#6b6b66;margin-top:8px}
.crm-donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.crm-donut{width:150px;height:150px;flex:0 0 150px;position:relative}
.crm-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.crm-donut-center b{font-size:22px;letter-spacing:-.03em}
.crm-donut-center span{font-size:10px;color:#7d7d77}
.crm-legend{display:grid;gap:10px;font-size:12px;flex:1;min-width:150px}
.crm-legend div{display:flex;align-items:center;gap:10px;color:#9a9a94}
.crm-legend i{width:8px;height:8px;flex:0 0 8px;border-radius:50%}
.crm-legend b{margin-left:auto;color:#e4e4df;font-weight:600}

.crm-table-wrap{margin-top:14px;overflow-x:auto}
.crm-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:660px}
.crm-table th{text-align:left;font-size:10px;letter-spacing:1.5px;color:#7d7d77;font-weight:600;padding:0 14px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.crm-table td{padding:14px;border-bottom:1px solid rgba(255,255,255,.06);color:#c2c2bc;vertical-align:middle}
.crm-table tr:last-child td{border-bottom:0}
.crm-table tr:hover td{background:rgba(255,255,255,.02)}
.crm-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(143,191,138,.3);color:#8fbf8a;font-size:10.5px;letter-spacing:.5px;padding:5px 10px}
.crm-pill.is-wait{border-color:rgba(225,6,0,.4);color:#ef8078}
.crm-link{background:none;border:1px solid rgba(255,255,255,.14);color:#d7d7d2;font:inherit;font-size:11px;padding:7px 14px;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.crm-link:hover{border-color:var(--accent);color:#fff;background:rgba(225,6,0,.16)}

.crm-back{background:none;border:0;color:#9a9a94;font:inherit;font-size:13px;padding:0;margin-bottom:18px;cursor:pointer}
.crm-back:hover{color:#f5f5f2}
.crm-student-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.crm-student-head h3{margin:0;font-size:22px;letter-spacing:-.03em}
.crm-btn{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);color:#e4e4df;font:inherit;font-size:12px;padding:10px 18px;cursor:pointer;transition:border-color .2s,color .2s}
.crm-btn:hover{border-color:var(--accent);color:#fff}
.crm-btn.is-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.crm-btn.is-accent:hover{background:var(--accent-hover)}
.crm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.crm-profile-top{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.crm-avatar{width:64px;height:64px;flex:0 0 64px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:#0d0d0d;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--accent)}
.crm-profile-top h4{margin:0 0 9px;font-size:17px}
.crm-badges{display:flex;flex-wrap:wrap;gap:8px}
.crm-badge{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;letter-spacing:.5px;padding:5px 10px;border:1px solid rgba(255,255,255,.14);color:#a9a9a3}
.crm-badge.is-ok{border-color:rgba(143,191,138,.3);color:#8fbf8a}
.crm-badge.is-accent{border-color:rgba(225,6,0,.4);color:#ef8078}
.crm-fields{display:grid;gap:1px;background:#242424}
.crm-fields div{background:#131313;display:flex;justify-content:space-between;gap:16px;padding:13px 16px;font-size:12.5px}
.crm-fields span{color:#7d7d77}
.crm-fields b{color:#e4e4df;font-weight:600;text-align:right}
.crm-steps{list-style:none;margin:0;padding:0}
.crm-steps li{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:12.5px;color:#c2c2bc}
.crm-steps li:last-child{border-bottom:0}
.crm-steps i{font-style:normal;width:20px;height:20px;flex:0 0 20px;border-radius:50%;border:1px solid rgba(143,191,138,.35);color:#8fbf8a;display:inline-flex;align-items:center;justify-content:center;font-size:10px;margin-right:10px}
.crm-steps time{color:#7d7d77;white-space:nowrap}
.crm-notes p{margin:0 0 14px;font-size:13px;line-height:1.75;color:#9a9a94}
.crm-notes footer{border-top:1px solid rgba(255,255,255,.07);padding-top:14px;text-align:right;font-size:11px;color:#7d7d77}
.crm-notes footer b{display:block;color:#e4e4df;font-size:12.5px;margin-bottom:3px}
.crm-cert-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

.crm-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.crm-input,.crm-select{background:#0d0d0d;border:1px solid rgba(255,255,255,.13);color:#e4e4df;font:inherit;font-size:12.5px;padding:10px 14px;transition:border-color .2s}
.crm-input:focus,.crm-select:focus{outline:0;border-color:var(--accent)}
.crm-input{min-width:230px;flex:1 1 230px}
.crm-toolbar .crm-btn{margin-left:auto}
.crm-empty{padding:26px 0;color:#7d7d77;font-size:13px}
.crm-hint{margin:16px 0 0;font-size:11px;color:#6b6b66}
.crm-kpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#242424}
.crm-kpi div{background:#131313;padding:18px}
.crm-kpi span{display:block;font-size:11px;color:#7d7d77;margin-bottom:8px}
.crm-kpi b{display:block;font-size:24px;letter-spacing:-.03em;margin-bottom:6px}
.crm-kpi small{font-size:11px;color:#6f8f6c}
.crm-bars{display:grid;gap:14px}
.crm-bar span{display:flex;justify-content:space-between;font-size:12px;color:#9a9a94;margin-bottom:7px}
.crm-bar span b{color:#e4e4df;font-weight:600}
.crm-bar i{display:block;height:6px;background:rgba(255,255,255,.07)}
.crm-bar i em{display:block;height:100%;background:var(--accent)}
.crm-months{display:flex;align-items:flex-end;gap:10px;height:170px;margin-top:6px}
.crm-months div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;height:100%}
.crm-months i{display:block;width:100%;background:linear-gradient(180deg,#e10600,rgba(225,6,0,.25))}
.crm-months small{font-size:10px;color:#6b6b66}
.crm-form{display:grid;gap:1px;background:#242424}
.crm-form label{background:#131313;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;font-size:12.5px;color:#7d7d77}
.crm-form label .crm-input,.crm-form label .crm-select{max-width:260px;min-width:0;flex:0 1 260px;text-align:right}
.crm-switch{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.crm-switch:last-child{border-bottom:0}
.crm-switch b{display:block;font-size:12.5px;font-weight:600;color:#e4e4df;margin-bottom:4px}
.crm-switch p{margin:0;font-size:11.5px;color:#7d7d77;line-height:1.5}
.crm-switch button{margin-left:auto;flex:0 0 42px;width:42px;height:22px;border-radius:11px;border:1px solid rgba(255,255,255,.14);background:#0d0d0d;position:relative;cursor:pointer;transition:background .2s,border-color .2s}
.crm-switch button:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#7d7d77;transition:transform .2s,background .2s}
.crm-switch button[aria-pressed="true"]{background:rgba(225,6,0,.25);border-color:var(--accent)}
.crm-switch button[aria-pressed="true"]:after{transform:translateX(20px);background:var(--accent)}
.crm-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,16px);background:#161616;border:1px solid rgba(225,6,0,.4);color:#e4e4df;font-size:12.5px;padding:12px 18px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50}
.crm-toast.is-visible{opacity:1;transform:translate(-50%,0)}

@media (max-width:1180px){
  .crm{grid-template-columns:1fr}
  .crm-side{flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px;padding:18px 20px}
  .crm-nav{flex-direction:row;flex-wrap:wrap;flex:1 1 100%}
  .crm-nav-item{border-left:0;border-bottom:2px solid transparent;padding:10px 14px}
  .crm-nav-item.is-active{border-left:0;border-bottom-color:#ff5f57}
  .crm-user{margin:0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.08);flex:1 1 100%}
  .crm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crm-charts{grid-template-columns:1fr}
}
@media (max-width:1024px){
  .cert-data{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .cert-box{grid-template-columns:1fr}
  .cert-box>*{padding:28px 22px}
  .cert-result{padding:28px 22px}
  .cert-data{grid-template-columns:1fr}
  .crm-main{padding:22px 18px 26px}
  .crm-cards{grid-template-columns:1fr}
  .crm-grid{grid-template-columns:1fr}
  .crm-kpi{grid-template-columns:1fr}
  .crm-form label{flex-direction:column;align-items:stretch;gap:8px}
  .crm-form label .crm-input,.crm-form label .crm-select{max-width:none;flex:1 1 auto;text-align:left}
}
