/* == index.html == */
/* главная — монументальные полосы во всю ширину, без коробок и скруглений */
.mo{--r:0;--rs:0}
.mo footer{margin-top:0}
.mo .full{width:100%}

/* герой-слайдер */
.hero{position:relative;background:var(--deep);color:#fff;overflow:hidden;height:min(78vh,660px)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;pointer-events:none;display:flex;align-items:center}
.slide.on{opacity:1;pointer-events:auto}
.slide .bgi{position:absolute;inset:0}
.slide .bgi img{width:100%;height:100%;object-fit:cover}
.slide .bgi::after{content:'';position:absolute;inset:0;background:linear-gradient(80deg,rgba(10,22,56,.95) 10%,rgba(10,22,56,.75) 52%,rgba(10,22,56,.3) 100%)}
.slide .in{position:relative;z-index:2;padding:40px 0 90px;width:100%}
.slide .eyebrow{color:var(--gold)}
.slide h1,.slide .sl-h{color:#fff;font-size:clamp(30px,4.4vw,56px);max-width:18ch;line-height:1.1;margin:14px 0 0;font-weight:800;letter-spacing:-.02em}
.slide h1 u,.slide .sl-h u{text-decoration:none;border-bottom:4px solid var(--gold);padding-bottom:3px}
.slide .sub{color:rgba(255,255,255,.85);font-size:clamp(15.5px,1.3vw,18.5px);max-width:50ch;margin-top:20px}
.slide .big{font-size:clamp(40px,5.6vw,76px);font-weight:800;color:var(--gold);letter-spacing:-.02em;line-height:1;margin:18px 0 8px}
.slide .act{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.slide .act .btn{border-radius:0;padding:16px 32px}
/* управление */
.hero .nav-ar{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:52px;height:52px;border:1.5px solid rgba(255,255,255,.4);background:rgba(10,22,56,.4);color:#fff;font-size:20px;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center}
.hero .nav-ar:hover{background:var(--gold);border-color:var(--gold);color:var(--deep)}
.hero .prev{left:clamp(10px,2vw,28px)}
.hero .next{right:clamp(10px,2vw,28px)}
.hero .dots{position:absolute;left:0;right:0;bottom:34px;z-index:5;display:flex;gap:10px;justify-content:center}
.hero .dots button{width:46px;height:4px;border:0;background:rgba(255,255,255,.3);cursor:pointer;transition:.25s;padding:0}
.hero .dots button.on{background:var(--gold)}
.hero .count{position:absolute;right:clamp(18px,3vw,44px);bottom:26px;z-index:5;font-size:13px;color:rgba(255,255,255,.6);letter-spacing:.1em}
.hero .count b{color:var(--gold);font-size:17px}

/* полоса цифр — светлая прослойка после слайдера */
.numband{background:#fff;border-bottom:1px solid var(--line)}
.numband .in{display:grid;grid-template-columns:repeat(4,1fr)}
.numband .n{padding:38px 26px 42px 0;border-right:1px solid var(--line);position:relative}
.numband .n::before{content:'';display:block;width:34px;height:4px;background:var(--gold);margin-bottom:16px}
.numband .n:last-child{border-right:0}
.numband .n:not(:first-child){padding-left:26px}
.numband b{font-size:clamp(28px,3vw,44px);font-weight:800;color:var(--royal);display:block;line-height:1;letter-spacing:-.02em}
.numband span{font-size:13px;color:var(--mut);display:block;margin-top:8px;max-width:22ch}

/* о фирме — миссия и ценности с фото офиса */
.mission{background:#fff;border-bottom:1px solid var(--line)}
.mission .in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,72px);padding:clamp(56px,7vw,92px) 0;align-items:center}
.mission h2{font-size:clamp(26px,3.1vw,38px);max-width:16ch}
.mission .val{margin-top:22px;padding-left:18px;border-left:3px solid var(--gold)}
.mission .val b{display:block;font-size:15.5px;color:var(--ink);font-weight:800}
.mission .val p{font-size:14.5px;color:var(--mut);margin-top:3px;max-width:56ch}
.mission .ph{position:relative}
.mission .ph::before{content:'';position:absolute;right:-14px;bottom:-14px;left:36px;top:36px;border:2px solid var(--gold)}
.mission .ph img{position:relative;width:100%;aspect-ratio:4/3.1;object-fit:cover}

/* видео о фирме */
.video{position:relative;min-height:clamp(320px,46vw,480px);display:flex;align-items:center;justify-content:center;background:var(--deep);overflow:hidden;cursor:pointer;border:0;width:100%;padding:0}
.video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;transition:transform .5s,opacity .3s}
.video:hover img{transform:scale(1.03);opacity:.55}
.video::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(10,22,56,.15),rgba(10,22,56,.65))}
.video .play{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:18px;color:#fff;font-family:var(--f)}
.video .play .circle{width:92px;height:92px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;transition:.25s;box-shadow:0 0 0 0 rgba(232,179,60,.5);animation:pulse 2.4s infinite}
.video:hover .play .circle{transform:scale(1.08)}
.video .play .circle::before{content:'';display:block;width:0;height:0;border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent var(--deep);margin-left:6px}
.video .play b{font-size:clamp(19px,2vw,26px);font-weight:800;letter-spacing:-.01em}
.video .play span{font-size:13.5px;color:rgba(255,255,255,.75)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(232,179,60,.45)}70%{box-shadow:0 0 0 26px rgba(232,179,60,0)}100%{box-shadow:0 0 0 0 rgba(232,179,60,0)}}
.vmodal{position:fixed;inset:0;z-index:600;background:rgba(10,18,38,.92);display:none;align-items:center;justify-content:center;padding:22px}
.vmodal.on{display:flex}
.vmodal .box{width:min(960px,100%);aspect-ratio:16/9;background:#000;position:relative}
.vmodal iframe{width:100%;height:100%;border:0}
.vmodal .stub{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;text-align:center;padding:24px;font-family:var(--f)}
.vmodal .stub b{font-size:20px;font-weight:800}
.vmodal .stub p{font-size:14.5px;color:rgba(255,255,255,.7);max-width:44ch}
.vmodal .close{position:absolute;top:-46px;right:0;background:none;border:0;color:#fff;font-size:30px;cursor:pointer;line-height:1}
@media(prefers-reduced-motion:reduce){.video .play .circle{animation:none}}

/* практики — карточки с фото со старого сайта */
.dirs{background:var(--bg);border-bottom:1px solid var(--line)}
.dirs .in{padding:clamp(56px,7vw,92px) 0}
.dirs .hdr{text-align:center;max-width:640px;margin:0 auto clamp(28px,4vw,46px)}
.dirs h2{font-size:clamp(26px,3.1vw,38px)}
.dirs .hdr p{color:var(--mut);margin-top:12px}
.svc-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{background:#fff;border:1px solid var(--line);display:block;transition:.2s;overflow:hidden}
.svc:hover{border-color:var(--royal);box-shadow:0 12px 30px rgba(27,63,158,.12)}
.svc figure{aspect-ratio:16/8.5;overflow:hidden;background:#E9EDF3;margin:0}
.svc img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.svc:hover img{transform:scale(1.05)}
.svc .bd{display:block;padding:18px 20px 20px}
.svc b{display:block;font-size:17px;font-weight:800;color:var(--ink)}
.svc:hover b{color:var(--royal)}
.svc p{display:block;font-size:13.5px;color:var(--mut);margin-top:5px}
.svc .go{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;color:var(--royal)}
.dirs .all-link{text-align:center;margin-top:30px}

/* семейные споры — фирменный блок специализации */
.fam{background:#fff;border-bottom:1px solid var(--line)}
.fam .in{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,4.5vw,72px);padding:clamp(50px,6.5vw,84px) 0;align-items:center}
.fam .ph{position:relative}
.fam .ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fam .ph i{position:absolute;left:16px;bottom:16px;font-style:normal;background:var(--gold);color:var(--deep);font-size:12px;font-weight:800;padding:6px 13px}
.fam h2{font-size:clamp(24px,2.8vw,36px);max-width:18ch}
.fam p{color:var(--mut);margin-top:14px;max-width:56ch;font-size:15.5px}
.fam .act{margin-top:24px}

/* дела — тёмная полоса, большие числа, тонкие золотые линии */
.matters{background:var(--deep);color:#fff}
.matters .in{padding:clamp(56px,7vw,96px) 0}
.matters .hdr{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,52px)}
.matters h2{color:#fff;font-size:clamp(26px,3.1vw,40px)}
.matters .hdr a{color:var(--gold);font-weight:700;font-size:14.5px;border-bottom:2px solid rgba(232,179,60,.4);padding-bottom:3px}
.matters .hdr a:hover{border-color:var(--gold)}
.mrows{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.mr{border-left:3px solid var(--gold);padding-left:22px}
.mr b{font-size:clamp(24px,2.4vw,34px);font-weight:800;color:#fff;display:block;line-height:1.05;letter-spacing:-.02em}
.mr .t{font-size:12px;color:rgba(255,255,255,.5);margin:10px 0 8px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.mr h3{color:#fff;font-size:16.5px;font-weight:700;line-height:1.35}
.mr p{font-size:13.5px;color:rgba(255,255,255,.65);margin-top:8px}

/* цитата — светлая секция с фото в кадре */
.quote{background:var(--bg);border-bottom:1px solid var(--line)}
.quote .in{display:block;max-width:820px;margin:0 auto;padding:clamp(50px,6.5vw,84px) 0;text-align:center}
.quote .txt .mark{font-size:72px;font-weight:800;color:var(--gold);line-height:.6;display:block;margin-bottom:16px}
.quote blockquote{font-size:clamp(21px,2.6vw,31px);font-weight:800;line-height:1.3;letter-spacing:-.015em;color:var(--royal);max-width:30ch;margin:0 auto}
.quote cite{display:inline-block;font-style:normal;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--mut);min-width:260px}
.quote cite b{color:var(--ink);font-size:15.5px;display:block;font-weight:800}

/* команда — карточки с цветными фото */
.people{background:#fff}
.people .in{padding:clamp(56px,7vw,96px) 0}
.people h2{font-size:clamp(26px,3.1vw,40px);text-align:center}
.people .sub{text-align:center;color:var(--mut);margin:12px auto 0;max-width:52ch}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:clamp(30px,4vw,52px)}
.pg{display:block;border:1px solid var(--line);background:#fff;transition:.2s}
.pg:hover{border-color:var(--royal);box-shadow:0 10px 28px rgba(27,63,158,.12)}
.pg figure{position:relative;aspect-ratio:3/3.2;overflow:hidden;background:#E9EDF3;margin:0}
.pg img{width:100%;height:100%;object-fit:cover;object-position:center 10%;transition:transform .4s}
.pg:hover img{transform:scale(1.04)}
.pg figure i{position:absolute;left:12px;bottom:12px;font-style:normal;background:var(--gold);color:var(--deep);font-size:11px;font-weight:800;padding:4px 10px}
.pg .cap{display:block;padding:15px 17px 17px}
.pg .cap b{display:block;font-size:16px;font-weight:800;color:var(--ink)}
.pg:hover .cap b{color:var(--royal)}
.pg .cap span{font-size:12.5px;color:var(--mut)}

/* как мы работаем */
.steps{background:var(--bg);border-top:1px solid var(--line)}
.steps .in{padding:clamp(50px,6.5vw,84px) 0}
.steps .hdr{text-align:center;max-width:640px;margin:0 auto clamp(28px,4vw,48px)}
.steps h2{font-size:clamp(25px,2.9vw,37px)}
.steps .hdr p{color:var(--mut);margin-top:12px}
.st-g{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.st-g::before{content:'';position:absolute;left:calc(12.5% + 26px);right:calc(12.5% + 26px);top:26px;height:2px;background:var(--line)}
.stp{padding:0 22px;text-align:center;position:relative}
.stp .num{width:52px;height:52px;border-radius:50%;background:#fff;border:2px solid var(--gold);color:var(--royal);font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;position:relative;z-index:1}
.stp:first-child .num{background:var(--gold);color:var(--deep)}
.stp b{display:block;font-size:16.5px;font-weight:800;color:var(--ink);margin-bottom:7px}
.stp p{font-size:13.5px;color:var(--mut);max-width:26ch;margin:0 auto}
.stp .note{display:inline-block;margin-top:10px;font-size:11.5px;font-weight:700;color:var(--gold-d);background:#F6EED8;padding:4px 10px}

/* отзывы */
.trev{background:#fff;border-top:1px solid var(--line)}
.trev .in{padding:clamp(50px,6.5vw,84px) 0}
.trev .hdr{text-align:center;max-width:640px;margin:0 auto clamp(26px,3.6vw,42px)}
.trev h2{font-size:clamp(25px,2.9vw,37px)}
.trev-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tr{border:1px solid var(--line);background:#fff;padding:26px;position:relative}
.tr::before{content:'«';position:absolute;right:20px;top:4px;font-size:54px;font-weight:800;color:var(--gold);opacity:.45;line-height:1}
.tr p{font-size:14.5px;color:var(--text)}
.tr .who{margin-top:16px;padding-top:13px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mut)}
.tr .who b{display:block;font-size:13.5px;color:var(--ink);font-weight:800}

/* вопросы и ответы */
.faq{background:#fff;border-top:1px solid var(--line)}
.faq .in{padding:clamp(50px,6.5vw,84px) 0;max-width:860px;margin:0 auto}
.faq .hdr{text-align:center;margin-bottom:clamp(26px,3.6vw,42px)}
.faq h2{font-size:clamp(25px,2.9vw,37px)}
.faq details{border:1px solid var(--line);background:#fff;margin-bottom:12px}
.faq details[open]{border-color:var(--gold)}
.faq summary{list-style:none;cursor:pointer;padding:20px 58px 20px 24px;position:relative;font-size:16.5px;font-weight:800;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq details[open] summary{color:var(--royal)}
.faq summary::after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);width:30px;height:30px;background:var(--bg);color:var(--royal);font-size:20px;font-weight:400;display:flex;align-items:center;justify-content:center}
.faq details[open] summary::after{content:'–';background:var(--gold);color:var(--deep)}
.faq .a{padding:0 24px 22px;font-size:14.5px;color:var(--text)}
.faq .a p{margin-bottom:10px;max-width:66ch}
.faq .a p:last-child{margin-bottom:0}

/* финальный призыв */
.final{background:var(--deep);color:#fff}
.final .in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);padding:clamp(56px,7vw,90px) 0;align-items:center}
.final h2{color:#fff;font-size:clamp(26px,3.1vw,40px);max-width:16ch}
.final .ls{color:rgba(255,255,255,.75);margin-top:14px;max-width:44ch}
.final .pts{margin-top:24px;display:grid;gap:12px}
.final .pts div{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:rgba(255,255,255,.9)}
.final .pts svg{width:18px;height:18px;stroke:var(--gold);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 18px;margin-top:2px}
.final .frm{border-radius:0;box-shadow:none}
.final .frm .btn{border-radius:0}
.final .fr input,.final .fr textarea{border-radius:0}

@media(max-width:1020px){
  .numband .in{grid-template-columns:1fr 1fr}
  .numband .n{border-bottom:1px solid var(--line)}
  .dirs .in{grid-template-columns:1fr;gap:26px}
  .mrows{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr 1fr}
  .final .in{grid-template-columns:1fr}
}
@media(max-width:1020px){
  .hero .nav-ar{display:none}
  .mission .in,.fam .in{grid-template-columns:1fr}
  .svc-g{grid-template-columns:1fr 1fr}
  .trev-g{grid-template-columns:1fr}
  .st-g{grid-template-columns:1fr 1fr;gap:28px 0}
  .st-g::before{display:none}
}
@media(max-width:640px){
  .svc-g{grid-template-columns:1fr}
}
@media(max-width:620px){
  .slide .in{padding:70px 0 96px}
  .slide .act .btn{width:100%}
  .numband .in,.dcols{grid-template-columns:1fr;columns:1}
  .pgrid{grid-template-columns:1fr}
}

/* == kontakty.html == */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}@media(max-width:1020px){.grid2{grid-template-columns:1fr}}
/* == контентные страницы (услуги, статьи) == */
.prose p{margin-bottom:16px;font-size:16px}
.prose h2{font-size:clamp(20px,2.2vw,26px);margin:30px 0 14px;color:var(--royal)}
.prose ul{margin:0 0 18px;padding-left:0;list-style:none}
.prose li{padding:9px 0 9px 26px;position:relative;border-bottom:1px solid var(--line);font-size:15.5px}
.prose li:last-child{border-bottom:0}
.prose li::before{content:'';position:absolute;left:4px;top:17px;width:9px;height:9px;background:var(--gold)}
.prose strong{color:var(--ink)}


/* == аватары-инициалы (до фотосессии) == */
.avx{position:relative;aspect-ratio:3/3.4;background:linear-gradient(160deg,var(--deep),var(--royal));display:flex;align-items:center;justify-content:center;margin:0;overflow:hidden}
.avx b{font-size:clamp(34px,4vw,52px);font-weight:800;color:var(--gold);letter-spacing:.04em}
.avx i{position:absolute;left:12px;bottom:12px;font-style:normal;background:var(--gold);color:var(--deep);font-size:11.5px;font-weight:800;padding:5px 10px}
.tm .avx{aspect-ratio:3/2.6}
.founder-note{margin-top:10px;padding:10px 12px;background:#F6EED8;border-left:3px solid var(--gold);font-size:12.5px;color:#7a6420;font-style:italic}

/* == фото-карточки команды == */
.phv{position:relative;aspect-ratio:3/3.2;margin:0;overflow:hidden}
.phv img{width:100%;height:100%;object-fit:cover;display:block}
.phv i{position:absolute;left:12px;bottom:12px;font-style:normal;background:var(--gold);color:var(--deep);font-size:11.5px;font-weight:800;padding:5px 10px}

@media(max-width:680px){.mission .ph::before{right:0;left:16px;top:16px}.hero{height:640px}.slide .big{font-size:34px}.slide .in{padding:24px 0 84px}}

/* == практики: типографические карточки без фото == */
.svc-t{padding:0;background:#fff}
.svc-t .bd{display:block;padding:30px 26px 26px}
.svc-t .num{display:block;font-style:normal;font-size:13px;letter-spacing:.14em;font-weight:800;color:var(--gold-d);margin-bottom:14px;position:relative;padding-bottom:12px}
.svc-t .num::after{content:'';position:absolute;left:0;bottom:0;width:34px;height:3px;background:var(--gold)}
.svc-t b{font-size:19px}
.svc-t p{min-height:44px}
.svc-t .go{display:inline-block;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--royal);opacity:0;transform:translateX(-6px);transition:.2s}
.svc-t:hover .go{opacity:1;transform:none}
.svc-t:hover{border-color:var(--gold)}


/* == SEO-тексты внизу главной == */
.seo{background:#fff;border-top:1px solid var(--line)}
.seo .in{padding:clamp(44px,5.5vw,70px) 0}
.seo-g{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.seo h2{font-size:18px;margin-bottom:12px;color:var(--royal)}
.seo p{font-size:13.5px;color:var(--mut);line-height:1.7}
@media(max-width:900px){.seo-g{grid-template-columns:1fr}}
