@font-face { font-family: 'Podkova'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/assets/fonts/Podkova-cyrillic-ext.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Podkova'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/assets/fonts/Podkova-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Podkova'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/assets/fonts/Podkova-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Podkova'; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/assets/fonts/Podkova-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/GolosText-400-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/GolosText-400-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/GolosText-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/GolosText-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ---------- токены ---------- */
/* Гильош: защищённая бумага ценного бланка, тонкие сетки линий, номинал и печать. Синий взят из логотипа клиента */
:root{
  --paper:#E9EFF7;
  --paper-2:#F6F8FC;
  --white:#FFFFFF;
  --ink:#0E2247;
  --ink-2:#3A4E73;
  --ink-3:#56698C;
  --guil:#2658A1;
  --guil-2:#7FA0D2;
  --guil-3:#B7CAE6;
  --deep:#16336B;
  --rule:#C3D1E6;
  --sky:#CFE0F7;
  --err:#9B2C2C;
  --ok:#1E6B3A;
  --on-blue:rgba(255,255,255,.88);
  --on-blue-2:rgba(255,255,255,.74);
  --display:'Podkova',Rockwell,'Roboto Slab',Georgia,serif;
  --sans:'Golos Text',system-ui,-apple-system,'Segoe UI',sans-serif;
  --maxw:1440px;
  --pad:clamp(16px,4vw,56px);
  --pad-x:max(var(--pad),calc((100% - var(--maxw)) / 2));
  --gut:clamp(16px,1.8vw,28px);
  --sec:clamp(64px,8vw,124px);
  --hdr-h:74px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  /* двойная рамка бланка: тонкая линия, поле бумаги, вторая линия */
  --frame:0 0 0 1px var(--guil-3),0 0 0 7px var(--paper),0 0 0 8px var(--guil-2);
  --frame-2:0 0 0 1px var(--guil-3),0 0 0 7px var(--paper-2),0 0 0 8px var(--guil-2);
}

/* ---------- база ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none;transition:color .25s var(--ease)}
img,svg{display:block;max-width:100%}
picture{display:contents}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--guil);color:#fff}
:focus-visible{outline:2px solid var(--guil);outline-offset:3px}
.wrap{padding-inline:var(--pad-x)}
.cap{font:600 11.5px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.h2{font:700 clamp(36px,4.6vw,68px)/1 var(--display);letter-spacing:-.02em;text-wrap:balance}
.h2 em{font-style:normal;color:var(--guil)}
.lead{color:var(--ink-2);max-width:62ch}
.arrow{width:18px;height:18px;flex:none;transition:transform .35s var(--ease)}

/* гильош: линии тонкие и не толстеют при масштабе */
svg[data-guil]{overflow:visible}
svg[data-guil] path{fill:none;stroke:currentColor;stroke-width:.7;vector-effect:non-scaling-stroke}
/* микротекст: издалека линия, вблизи надпись, как на рамке защищённого бланка */
.micro{display:block;overflow:hidden;white-space:nowrap;font:600 6.5px/1 var(--sans);letter-spacing:.12em;color:var(--guil-2);user-select:none}

/* ---------- кнопки ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 26px;
  font:700 16.5px/1.1 var(--display);letter-spacing:.01em;border:0;border-radius:2px;cursor:pointer;text-align:center;
  transition:background-color .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease);
}
.btn:hover .arrow{transform:translateX(4px)}
.btn-deep{background:var(--deep);color:#fff;box-shadow:inset 0 0 0 4px var(--deep),inset 0 0 0 5px rgba(255,255,255,.45)}
.btn-deep:hover{background:var(--guil);box-shadow:inset 0 0 0 4px var(--guil),inset 0 0 0 5px rgba(255,255,255,.5)}
.btn-line{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--guil);color:var(--guil);background:var(--paper-2)}
.btn-white{background:#fff;color:var(--deep)}
.btn-white:hover{background:var(--paper)}

/* ---------- шапка ---------- */
.hdr{position:sticky;top:0;z-index:60;background:var(--paper-2);border-bottom:1px solid var(--rule)}
.hdr-in{display:flex;align-items:center;gap:clamp(18px,2.2vw,36px);height:var(--hdr-h);padding-inline:var(--pad-x)}
.logo{flex:none}
.logo img{height:44px;width:auto}
.nav{margin-inline:auto}
.menu{display:flex;align-items:center;gap:clamp(4px,.9vw,14px)}
.mi{position:relative}
.mi-top{
  position:relative;display:inline-flex;align-items:center;gap:6px;padding:10px 8px;
  font:500 15px/1.2 var(--sans);white-space:nowrap;background:none;border:0;cursor:pointer;color:var(--ink);
}
.mi-top::after{content:"";position:absolute;left:8px;right:8px;bottom:4px;height:1px;background:var(--guil);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.mi-top svg{width:9px;height:6px;opacity:.55;transition:transform .25s var(--ease)}
.mi-top:hover,.mi-top[aria-expanded="true"]{color:var(--guil)}
.mi-top:hover::after,.mi-top[aria-expanded="true"]::after{transform:scaleX(1)}
.mi-top[aria-expanded="true"] svg{transform:rotate(180deg)}
.sub{
  position:absolute;top:calc(100% + 14px);left:-12px;z-index:70;min-width:270px;padding:18px;
  background:var(--paper-2);box-shadow:0 0 0 1px var(--guil-3),0 0 0 6px var(--paper-2),0 0 0 7px var(--guil-2),0 30px 60px -30px rgba(14,34,71,.35);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
}
.sub::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.sub-lead{display:block;padding:0 6px 12px;margin-bottom:10px;border-bottom:1px solid var(--rule);font:700 20px/1.15 var(--display)}
.sub-lead span{display:block;margin-top:5px;font:400 13px/1.4 var(--sans);color:var(--ink-3)}
.sub-lead:hover{color:var(--guil)}
.sub-list{display:flex;flex-direction:column}
.sub-list.cols2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;min-width:440px}
.sub-list a{display:block;padding:7px 6px;font-size:15px;color:var(--ink-2)}
.sub-list a:hover{color:var(--guil);background:var(--paper)}
.mi:last-child .sub,.mi:nth-last-child(2) .sub{left:auto;right:-12px}
@media (hover:hover) and (pointer:fine){
  .mi:hover>.sub,.mi:focus-within>.sub{opacity:1;visibility:visible;transform:none}
}
.mi.open>.sub{opacity:1;visibility:visible;transform:none}
.nav-foot{display:none}
.hdr-act{display:flex;align-items:center;gap:18px;flex:none}
.hdr-tel{font:700 16px/1 var(--display);white-space:nowrap}
.hdr-tel:hover{color:var(--guil)}
.hdr .btn{min-height:44px;padding:0 18px;font-size:15px}
.burger{display:none;width:46px;height:46px;border:0;box-shadow:inset 0 0 0 1.5px var(--ink);background:none;cursor:pointer;place-items:center;margin-left:auto;flex:none}
.burger i,.burger i::before,.burger i::after{display:block;width:18px;height:1.5px;background:var(--ink);transition:transform .35s var(--ease),background-color .2s}
.burger i{position:relative}
.burger i::before,.burger i::after{content:"";position:absolute;left:0}
.burger i::before{top:-6px}
.burger i::after{top:6px}
.burger[aria-expanded="true"] i{background:transparent}
.burger[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] i::after{transform:translateY(-6px) rotate(-45deg)}

/* ---------- первый экран главной ---------- */
.hero{position:relative;padding-top:clamp(36px,4.4vw,72px);padding-bottom:clamp(40px,5vw,72px)}
.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);align-items:center}
.hero-text{grid-column:1 / span 7;position:relative;z-index:2}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px}
.hero-meta span{display:inline-flex;align-items:center;gap:18px}
.hero-meta span+span::before{content:"";width:5px;height:5px;transform:rotate(45deg);background:var(--guil)}
.hero h1{margin:22px 0 26px;font:800 clamp(54px,8.4vw,132px)/.92 var(--display);letter-spacing:-.03em}
.hero h1 span{display:block}
.hero h1 .b{color:var(--guil)}
.hero-sub{font:700 clamp(21px,1.8vw,26px)/1.25 var(--display);max-width:30ch;text-wrap:balance}
.hero-lead{margin-top:16px;color:var(--ink-2);max-width:52ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-note{margin-top:18px;font-size:14px;line-height:1.5;color:var(--ink-3);max-width:46ch}

/* розетка с окном под фото, как на ценной бумаге */
.medal{grid-column:8 / span 5;position:relative;aspect-ratio:1;justify-self:center;width:min(100%,560px)}
.medal>svg{position:absolute;inset:0;width:100%;height:100%}
.medal .r1{color:var(--guil);opacity:.8}
.medal .r2{color:var(--guil-2)}
.medal .r3{color:var(--guil)}
.medal .rot-a,.medal .rot-b{transform-origin:50% 50%;will-change:transform}
@supports (animation-timeline:scroll()){
  .medal .rot-a{animation:turn linear both;animation-timeline:scroll(root);animation-range:0 1200px}
  .medal .rot-b{animation:turn-back linear both;animation-timeline:scroll(root);animation-range:0 1200px}
}
@keyframes turn{to{transform:rotate(24deg)}}
@keyframes turn-back{to{transform:rotate(-18deg)}}
.window{position:absolute;inset:22%;border-radius:50%;overflow:hidden;background:var(--paper-2);box-shadow:0 0 0 1.5px var(--guil),0 0 0 7px var(--paper),0 0 0 8px var(--guil-2)}
.window img{width:100%;height:100%;object-fit:cover}

/* лента гильоша между разделами */
.band-g{position:relative;height:74px;color:var(--guil-2);overflow:hidden}
.band-g svg{width:100%;height:100%}

/* ---------- калькулятор: бланк с номиналом ---------- */
.calc-sec{padding-block:clamp(56px,7vw,110px) var(--sec)}
.calc{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);background:var(--paper-2);box-shadow:0 0 0 1px var(--guil),0 0 0 7px var(--paper-2),0 0 0 8px var(--guil-2)}
.calc-in{padding:clamp(26px,3.2vw,48px)}
.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:28px}
.calc-fields label{display:block}
.calc-fields .full{grid-column:1 / -1}
.fld-cap{display:block;margin-bottom:8px;font:600 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
select{
  appearance:none;-webkit-appearance:none;width:100%;border:0;border-radius:0;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%230E2247' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;
  box-shadow:inset 0 0 0 1px var(--rule);padding:15px 42px 15px 16px;font-size:17px;font-weight:500;line-height:1.35;cursor:pointer;transition:box-shadow .25s var(--ease);
}
select:hover{box-shadow:inset 0 0 0 1px var(--guil)}
select:focus{outline:none;box-shadow:inset 0 0 0 2px var(--guil)}
.calc-note{margin-top:22px;font-size:13.5px;line-height:1.55;color:var(--ink-3);max-width:62ch}
.calc-out{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:clamp(26px,3.2vw,48px);background:var(--deep);color:#fff}
.calc-out svg[data-guil]{position:absolute;right:-38%;top:-34%;width:110%;height:auto;aspect-ratio:1;color:rgba(255,255,255,.2);pointer-events:none}
.calc-out>*{position:relative}
.denom{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;overflow:hidden}
.denom .n{display:inline-block;font:800 clamp(72px,7vw,112px)/.85 var(--display);letter-spacing:-.03em}
.denom .n.tick{animation:tick .55s var(--ease-out)}
@keyframes tick{from{transform:translateY(45%);opacity:0}to{transform:none;opacity:1}}
.denom .cur{font:700 21px var(--display);color:var(--on-blue)}
.calc-hint{margin-top:10px;font-size:15px;line-height:1.45;color:var(--on-blue)}
.calc-out .btn{width:100%;justify-content:space-between}

/* ---------- бланки с номиналом: услуги на главной и карточки разделов ---------- */
.svc{padding-bottom:var(--sec)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(24px,3vw,44px)}
.more{display:inline-flex;align-items:center;gap:10px;font:700 16px/1 var(--display);color:var(--guil)}
.more:hover .arrow{transform:translateX(4px)}
.sheet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;box-shadow:var(--frame)}
.bill{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:280px;padding:26px 26px 24px;background:var(--paper-2);box-shadow:0 0 0 1px var(--guil-3);transition:background-color .35s var(--ease)}
.bill svg[data-guil]{position:absolute;width:112px;height:112px;right:14px;top:14px;color:var(--guil-3);transition:transform 1.2s var(--ease-out),color .35s var(--ease)}
a.bill:hover{background:#fff}
a.bill:hover svg[data-guil]{transform:rotate(30deg) scale(1.06);color:var(--guil-2)}
.bill>*:not(svg){position:relative}
.bill .cap{color:var(--guil)}
.bill h3{margin-top:12px;font:700 clamp(22px,1.9vw,28px)/1.1 var(--display);letter-spacing:-.01em;max-width:11ch}
.bill .cap+h3{margin-top:12px}
.bill>p:not(.face){margin-top:12px;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.face{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:22px}
.face b{font:800 clamp(40px,3.6vw,56px)/.85 var(--display);letter-spacing:-.03em;color:var(--ink);white-space:nowrap}
.face small{font-size:13px;line-height:1.35;color:var(--ink-3);max-width:16ch}
.bill.feat{grid-row:span 2;background:var(--deep);color:#fff}
.bill.feat svg[data-guil]{width:560px;height:560px;right:-250px;top:auto;bottom:-250px;color:rgba(255,255,255,.16)}
a.bill.feat:hover{background:var(--deep)}
a.bill.feat:hover svg[data-guil]{color:rgba(255,255,255,.22)}
.bill.feat .cap{color:var(--on-blue-2)}
.bill.feat h3{font-size:clamp(28px,2.6vw,38px)}
.bill.feat>p:not(.face){color:var(--on-blue)}
.incl{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.incl li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.45;color:rgba(255,255,255,.9)}
.incl li::before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;transform:rotate(45deg);box-shadow:0 0 0 1.5px rgba(255,255,255,.8)}
.bill.feat .face b{font-size:clamp(72px,6.6vw,104px);color:#fff}
.bill.feat .face small{color:var(--on-blue)}

/* ---------- адвокатам: волна гильоша на цвете логотипа ---------- */
.adv{position:relative;overflow:hidden;background:var(--guil);color:#fff;padding-block:clamp(64px,8vw,124px)}
.adv>svg[data-guil]{position:absolute;inset:0;width:100%;height:100%;color:rgba(255,255,255,.13)}
.adv-grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);align-items:end}
.adv-main{grid-column:1 / span 8}
.adv .cap{color:var(--on-blue-2)}
.adv .h2{margin-top:16px}
.adv .h2 em{color:var(--sky)}
.adv-side{grid-column:9 / span 4}
.adv-side p{font-size:16px;line-height:1.6;color:var(--on-blue)}
.adv-side .btn{margin-top:26px}

/* ---------- порядок работы: печати с номером ---------- */
.proc{padding-block:var(--sec)}
.page-grid+.proc{padding-top:0}
.seals{--n:5;position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));column-gap:var(--gut);margin-top:clamp(34px,4vw,56px)}
.seals::before{content:"";position:absolute;left:52px;right:0;top:52px;height:1px;background:var(--guil-2)}
.seal{position:relative;display:flex;flex-direction:column;align-items:flex-start}
.seal-m{position:relative;display:grid;place-items:center;width:104px;height:104px;background:var(--paper)}
.seal-m svg{position:absolute;inset:0;width:100%;height:100%;color:var(--guil);transition:transform 1.4s var(--ease-out)}
.seal:hover .seal-m svg{transform:rotate(45deg)}
.seal-m b{position:relative;font:800 30px/1 var(--display);color:var(--ink);width:56px;height:56px;border-radius:50%;background:var(--paper);display:grid;place-items:center;box-shadow:0 0 0 1px var(--guil)}
.seal h3{margin-top:22px;font:700 clamp(23px,2vw,28px)/1.1 var(--display)}
.term{display:inline-block;margin-top:10px;padding:5px 10px;box-shadow:inset 0 0 0 1px var(--guil);font:600 11px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--guil)}
.seal p{margin-top:12px;font-size:15.5px;line-height:1.55;color:var(--ink-2)}

/* ---------- фото в гильошной раме ---------- */
.photo{position:relative;overflow:hidden;background:var(--paper-2);box-shadow:0 0 0 1px var(--guil-2),0 0 0 6px var(--paper),0 0 0 7px var(--guil-3)}
.photo img{width:100%;height:100%;object-fit:cover}
.strip{display:grid;grid-template-columns:1.2fr .9fr 1.2fr;gap:calc(var(--gut) + 14px);align-items:end;padding-bottom:var(--sec)}
.strip .photo:nth-child(1),.strip .photo:nth-child(3){aspect-ratio:4/3}
.strip .photo:nth-child(2){aspect-ratio:3/4}

/* ---------- отзывы: печать с оценкой ---------- */
.rev{padding-bottom:var(--sec)}
.rev-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);align-items:center}
.rev-main{grid-column:1 / span 7}
/* отзыв набран плотным шрифтом без засечек, в синих кавычках: так читается легче */
.q{margin-top:clamp(30px,3.4vw,48px)}
.q blockquote,.rev-card blockquote{position:relative;font:600 clamp(21px,2vw,28px)/1.32 var(--sans);letter-spacing:-.01em;color:var(--ink)}
.q blockquote::before,.rev-card blockquote::before{content:'"';position:absolute;right:100%;margin-right:.18em;color:var(--guil);font-weight:800}
.q blockquote::after,.rev-card blockquote::after{content:'"';color:var(--guil);font-weight:800}
.q figcaption{margin-top:14px}
.rev-more{margin-top:clamp(28px,3vw,40px)}
.score{grid-column:9 / span 4;position:relative;aspect-ratio:1;display:grid;place-items:center;text-align:center;width:min(100%,420px);justify-self:center}
.score svg[data-guil]{position:absolute;inset:0;width:100%;height:100%;color:var(--guil)}
.score .core{position:relative;display:grid;place-items:center;align-content:center;width:58%;aspect-ratio:1;border-radius:50%;background:var(--paper);box-shadow:0 0 0 1.5px var(--guil),0 0 0 6px var(--paper),0 0 0 7px var(--guil-2)}
.score-n{font:800 clamp(64px,6vw,92px)/.9 var(--display);color:var(--guil)}
.score .cap{margin-top:8px}
.score-t{grid-column:8 / span 5;margin-top:28px;font-size:15.5px;line-height:1.55;color:var(--ink-2);text-align:center;max-width:40ch;justify-self:center}

/* ---------- вопросы ---------- */
.faq{padding-bottom:var(--sec)}
.faq-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut)}
.faq-intro{grid-column:1 / span 4}
.faq-intro p{margin-top:16px;color:var(--ink-2);max-width:30ch}
.faq-grid .faq-list{grid-column:5 / span 8}
.faq-list{border-top:3px double var(--guil-2)}
details{border-bottom:1px solid var(--rule)}
summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;cursor:pointer;list-style:none;font:700 clamp(19px,1.6vw,22px)/1.3 var(--display)}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--guil)}
.pm{position:relative;flex:none;width:30px;height:30px;transform:rotate(45deg);box-shadow:inset 0 0 0 1px var(--guil);transition:transform .45s var(--ease),background-color .3s}
.pm::before,.pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--guil);transform:translate(-50%,-50%) rotate(45deg)}
.pm::after{transform:translate(-50%,-50%) rotate(-45deg)}
details[open] .pm{background:var(--guil);transform:rotate(225deg)}
details[open] .pm::before,details[open] .pm::after{background:#fff;transform:translate(-50%,-50%) rotate(-45deg)}
.ans{padding:0 50px 22px 0;color:var(--ink-2);max-width:76ch}
details[open] .ans{animation:ans .5s var(--ease-out)}
@keyframes ans{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.src-note{margin-top:20px;font-size:13.5px;line-height:1.55;color:var(--ink-3);max-width:70ch}
.src-note a{color:var(--guil);text-decoration:underline;text-underline-offset:3px}
.src-note a:hover{color:var(--deep)}

/* ---------- заявка и подвал: светлая бумага ---------- */
.end{position:relative;overflow:hidden;background:#fff;border-top:3px double var(--guil-2)}
.end>svg[data-guil]{position:absolute;width:1100px;height:1100px;right:-420px;top:-340px;color:rgba(38,88,161,.09);pointer-events:none}
.lead-sec{position:relative;padding-block:var(--sec)}
.lead-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);align-items:start}
.lead-info{grid-column:1 / span 5}
.lead-info .h2{font-size:clamp(48px,6.4vw,100px);line-height:.9;letter-spacing:-.03em}
.lead-info>p{margin-top:20px;color:var(--ink-2);max-width:40ch}
.contacts{margin-top:30px;display:flex;flex-direction:column;gap:6px}
.contacts a:first-child{font:800 clamp(26px,2.4vw,34px)/1.2 var(--display);color:var(--ink)}
.contacts a:hover{color:var(--guil)}
.contacts .soft{color:var(--ink-2)}
.lead-info .photo{margin-top:34px;width:min(100%,360px);aspect-ratio:16/10}
.form{grid-column:7 / span 6;background:var(--paper-2);padding:clamp(24px,3vw,42px);display:flex;flex-direction:column;gap:18px;box-shadow:0 0 0 1px var(--guil),0 0 0 7px var(--paper-2),0 0 0 8px var(--guil-2)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form label{display:block}
.form input,.form textarea{width:100%;border:0;border-radius:0;background:#fff;box-shadow:inset 0 0 0 1px var(--rule);padding:15px 16px;font-size:17px;line-height:1.4;transition:box-shadow .25s var(--ease)}
.form textarea{resize:vertical;min-height:130px}
.form input::placeholder,.form textarea::placeholder{color:#6E7F9C}
.form input:focus,.form textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--guil)}
.form .btn{width:100%;justify-content:space-between}
.form-msg{font-size:14px;color:var(--guil)}
.form-msg:empty{display:none}
.ftr{position:relative;background:var(--paper);padding-top:clamp(48px,5vw,72px);padding-bottom:36px;border-top:1px solid var(--rule)}
.ftr-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gut)}
.ftr-col{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:15px}
.ftr-col .cap{margin-bottom:6px}
.ftr-col a,.ftr-col span{color:var(--ink-2)}
.ftr-col a:hover{color:var(--guil)}
.legal{margin-top:clamp(36px,4vw,56px);font-size:13px;line-height:1.6;color:var(--ink-3);max-width:96ch}
.ftr .micro{margin-top:32px}
.ftr .micro::before{content:"LEGISPRO CONSULTING GROUP - SACRAMENTO, CALIFORNIA - LEGISPRO CONSULTING GROUP - SACRAMENTO, CALIFORNIA - LEGISPRO CONSULTING GROUP - SACRAMENTO, CALIFORNIA - LEGISPRO CONSULTING GROUP - SACRAMENTO, CALIFORNIA - LEGISPRO CONSULTING GROUP - SACRAMENTO, CALIFORNIA - LEGISPRO CONSULTING GROUP - SACRAMENTO, CALIFORNIA - LEGISPRO CONSULTING GROUP - SACRAMENTO, CALIFORNIA - LEGISPRO CONSULTING GROUP - SACRAMENTO, CALIFORNIA - LEGISPRO CONSULTING GROUP - SACRAMENTO, CALIFORNIA - LEGISPRO CONSULTING GROUP - SACRAMENTO, CALIFORNIA"}
.ftr-logo{height:46px;width:auto}
.ftr-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:24px}
.dev-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;color:var(--ink-3);transition:color .3s var(--ease)}
.dev-link:hover{color:var(--guil)}
.dev-logo{width:22px;height:18px;flex:none;background-color:currentColor;-webkit-mask:url('/assets/img/insemantic-logo.svg') no-repeat center/contain;mask:url('/assets/img/insemantic-logo.svg') no-repeat center/contain}

/* ---------- внутренние страницы ---------- */
.crumbs{padding-top:clamp(18px,2.4vw,30px);font-size:13.5px}
.crumbs ul{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--ink-3)}
.crumbs li+li::before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;transform:rotate(45deg) translateY(-2px);background:var(--guil-2)}
.crumbs a{color:var(--ink-2)}
.crumbs a:hover{color:var(--guil)}
.crumbs [aria-current]{color:var(--ink-3)}

.page-head{position:relative;padding-top:clamp(22px,2.8vw,40px);padding-bottom:clamp(34px,4.4vw,64px)}
.page-head .cap{margin-bottom:14px}
.page-head h1{position:relative;font:800 clamp(40px,5.6vw,84px)/.95 var(--display);letter-spacing:-.03em;max-width:19ch;text-wrap:balance;margin:0 0 22px}
.page-head .lead{position:relative;font-size:clamp(17px,1.35vw,19px);line-height:1.55}
.page-head .hero-cta{position:relative}
.head-guil{position:absolute;right:calc(var(--pad-x) - 120px);top:50%;width:min(46vw,520px);aspect-ratio:1;transform:translateY(-50%);color:var(--guil-3);pointer-events:none}
.head-guil svg{width:100%;height:100%}
.inner-top{position:relative;overflow:hidden}

.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(30px,4.5vw,80px);align-items:start;padding-bottom:var(--sec)}
.page-main{min-width:0}
.page-main>*+*{margin-top:clamp(40px,4.4vw,64px)}

.prose{max-width:72ch}
.prose h2{font:700 clamp(27px,2.7vw,38px)/1.08 var(--display);letter-spacing:-.015em;margin:0 0 16px}
.prose * + h2{margin-top:clamp(34px,3.6vw,48px)}
.prose p{color:var(--ink-2);margin-bottom:14px}
.prose p:last-child{margin-bottom:0}
.prose ul{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.prose ul:last-child{margin-bottom:0}
.prose ul li{position:relative;padding-left:24px;color:var(--ink-2)}
.prose ul li::before{content:"";position:absolute;left:3px;top:.62em;width:7px;height:7px;transform:rotate(45deg);box-shadow:0 0 0 1.5px var(--guil)}

.faq-block .faq-h2{font:700 clamp(27px,2.7vw,38px)/1.08 var(--display);letter-spacing:-.015em;margin-bottom:20px}

.side{position:sticky;top:calc(var(--hdr-h) + 24px);display:flex;flex-direction:column;gap:26px}
.side>div{position:relative;background:var(--paper-2);padding:26px 24px;box-shadow:var(--frame)}
.side .cap{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--guil)}
.side .cap svg{width:16px;height:16px;flex:none}
.side-sum{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.side-sum span{font:800 56px/.85 var(--display);letter-spacing:-.03em;white-space:nowrap}
.side-sum em{font-style:normal;font-size:13.5px;line-height:1.35;color:var(--ink-3);max-width:16ch}
.side-price .btn{width:100%;justify-content:space-between}
.side-note{margin-top:14px;font-size:13.5px;line-height:1.5;color:var(--ink-3)}
.side-lead{margin-bottom:18px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.side-nav ul{display:flex;flex-direction:column}
.side-nav li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--rule);font-size:15px}
.side-nav li:last-child{border-bottom:none}
.side-nav li a{color:var(--ink-2)}
.side-nav li a:hover{color:var(--guil)}
.side-nav li span{font:800 17px/1 var(--display);color:var(--ink);white-space:nowrap}
.side-all{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font:700 15px/1 var(--display);color:var(--guil)}
.side-all:hover .arrow{transform:translateX(4px)}
.side-call .side-tel{display:block;font:800 24px/1.2 var(--display);margin-bottom:6px}
.side-call .side-tel:hover,.side-call .side-mail:hover{color:var(--guil)}
.side-call .side-mail{display:block;color:var(--ink-2);margin-bottom:6px;font-size:15px}
.side-call span{color:var(--ink-3);font-size:14px}

/* карточки раздела и блок "Смотрите также" */
.hub{padding-bottom:var(--sec)}
.hub .sheet{grid-template-columns:repeat(3,minmax(0,1fr));box-shadow:none}
.hub .bill{min-height:230px}
.also{padding-bottom:var(--sec)}
.also .h2{margin-bottom:clamp(24px,3vw,40px)}
.also-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}
.also-grid .bill{min-height:190px}
/* в карточках разделов узор занимает угол, заголовок резервирует под него место, текст идёт ниже */
.hub .bill svg[data-guil],.also-grid .bill svg[data-guil]{width:72px;height:72px;right:16px;top:16px}
.hub .bill h3,.also-grid .bill h3{max-width:none;margin-top:0;padding-right:84px;min-height:72px}
.also-grid .face{flex-wrap:nowrap;white-space:nowrap}
.also-grid .face small{max-width:none}
.also-grid .face b{font-size:clamp(36px,3vw,46px)}

/* баннер-призыв на синем */
.cta{padding-bottom:var(--sec)}
.banner{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,3vw,48px);align-items:center;padding:clamp(34px,4.4vw,64px);background:var(--guil);color:#fff;box-shadow:0 0 0 1px var(--guil),0 0 0 7px var(--paper),0 0 0 8px var(--guil-2)}
.banner>svg[data-guil]{position:absolute;inset:0;width:100%;height:100%;color:rgba(255,255,255,.14);pointer-events:none}
.banner>*:not(svg){position:relative}
.banner .h2{font-size:clamp(32px,3.8vw,56px);max-width:22ch}
.banner .h2 em{color:var(--sky)}
.banner .btn{white-space:nowrap}

/* таблица цен */
.prices{padding-bottom:var(--sec)}
.price-h2{font:700 clamp(27px,2.7vw,38px)/1.08 var(--display);letter-spacing:-.015em;margin:clamp(40px,4.4vw,64px) 0 18px}
.price-h2:first-child{margin-top:0}
.ptable{background:var(--paper-2);box-shadow:var(--frame);overflow-x:auto}
.ptable table{width:100%;border-collapse:collapse;font-size:16px}
.ptable th{text-align:left;padding:14px 22px;border-bottom:1px solid var(--guil-3);font:600 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ptable th:last-child,.ptable td:last-child{text-align:right}
.ptable td{padding:15px 22px;border-bottom:1px solid var(--rule);vertical-align:baseline}
.ptable tr:last-child td{border-bottom:none}
.ptable tbody tr:hover{background:#fff}
.ptable td a:hover{color:var(--guil)}
.ptable .t-term{color:var(--ink-3);font-size:14.5px;white-space:nowrap}
.ptable .t-price{font:800 24px/1 var(--display);white-space:nowrap}
.prices .calc-note{margin-top:28px;max-width:70ch}

/* отзывы на отдельной странице */
.rev-list{display:flex;flex-direction:column;gap:30px}
.rev-card{padding:30px 30px 26px 46px;background:var(--paper-2);box-shadow:var(--frame)}
.rev-card blockquote{font-size:clamp(18px,1.5vw,20px);line-height:1.45}
.rev-card figcaption{margin-top:14px}

/* ---------- адаптив ---------- */
@media (max-width:1240px){
  .menu{gap:2px}
  .mi-top{font-size:14.5px;padding-inline:7px}
  .hdr-tel{display:none}
  .sheet{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1100px){
  .nav{
    position:fixed;inset:var(--hdr-h) 0 auto;margin:0;display:flex;flex-direction:column;align-items:stretch;
    background:var(--paper-2);border-bottom:1px solid var(--rule);padding:6px var(--pad-x) 24px;
    max-height:calc(100dvh - var(--hdr-h));overflow-y:auto;transform:translateY(-130%);transition:transform .4s var(--ease);
    box-shadow:0 24px 40px -30px rgba(14,34,71,.4);
  }
  .js .nav.open{transform:none}
  .menu{flex-direction:column;align-items:stretch;gap:0}
  .mi{border-bottom:1px solid var(--rule)}
  .mi-top{width:100%;justify-content:space-between;padding:15px 0;font-size:18px}
  .mi-top::after{display:none}
  .mi-top svg{width:11px;height:7px;opacity:.7}
  .sub{position:static;min-width:0;padding:0 0 14px;box-shadow:none;background:none;opacity:1;visibility:visible;transform:none;display:none}
  .sub::before{display:none}
  .mi.open>.sub{display:block}
  .sub-lead{padding:0 0 10px;font-size:18px}
  .sub-list.cols2{grid-template-columns:1fr;min-width:0}
  .sub-list a{padding:9px 0;font-size:16px}
  .sub-list a:hover{background:none}
  .nav-foot{display:flex;flex-direction:column;gap:12px;margin-top:22px}
  .nav-tel{font:800 22px/1.2 var(--display);color:var(--ink)}
  .hdr-act{display:none}
  .js .burger{display:grid}
  .hero-text,.medal{grid-column:1 / -1}
  .medal{width:min(100%,460px);margin-top:48px}
  .calc{grid-template-columns:1fr}
  .sheet,.hub .sheet{grid-template-columns:1fr 1fr}
  .bill.feat{grid-row:auto;grid-column:1 / -1}
  .adv-main,.adv-side{grid-column:1 / -1}
  .adv-side{margin-top:24px}
  .seals{grid-template-columns:1fr 1fr;row-gap:44px}
  .seals::before{display:none}
  .rev-main,.score,.score-t{grid-column:1 / -1}
  .score{margin-top:48px;width:min(100%,360px)}
  .faq-intro,.faq-grid .faq-list{grid-column:1 / -1}
  .faq-grid .faq-list{margin-top:28px}
  .lead-info,.form{grid-column:1 / -1}
  .form{margin-top:44px}
  .ftr-cols{grid-template-columns:1fr 1fr;row-gap:36px}
  .page-grid{grid-template-columns:1fr}
  .side{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px}
  .also-grid{grid-template-columns:1fr 1fr}
  .banner{grid-template-columns:1fr}
  .banner .btn{justify-self:start}
}
@media (max-width:640px){
  :root{--hdr-h:64px}
  body{font-size:16.5px}
  .logo img{height:36px}
  .hero-meta{flex-direction:column;gap:6px;font-size:11px}
  .hero-meta span+span::before{display:none}
  .calc{box-shadow:0 0 0 1px var(--guil)}
  .calc-fields{grid-template-columns:1fr}
  .sheet,.hub .sheet,.also-grid{grid-template-columns:1fr}
  .bill,.hub .bill,.also-grid .bill{min-height:0}
  .seals{grid-template-columns:1fr}
  .seal{display:grid;grid-template-columns:88px 1fr;column-gap:18px;align-items:start}
  .seal>*{grid-column:2;justify-self:start}
  .seal-m{grid-column:1;grid-row:1 / span 3;width:84px;height:84px}
  .seal-m b{width:46px;height:46px;font-size:24px}
  .seal h3{margin-top:4px}
  .strip{grid-template-columns:1fr 1fr}
  .strip .photo:nth-child(3){grid-column:1 / -1;aspect-ratio:16/10}
  .form .row{grid-template-columns:1fr}
  .ftr-cols{grid-template-columns:1fr}
  .ans{padding-right:0}
  .head-guil{right:-170px;top:28%;width:340px;opacity:.35}
  .side{grid-template-columns:1fr}
  .rev-card{padding:24px 20px 22px 34px}
  .ptable{overflow-x:visible}
  .ptable table,.ptable tbody{display:block;width:100%}
  .ptable thead{display:none}
  .ptable tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:15px 16px;border-bottom:1px solid var(--rule)}
  .ptable tr:last-child{border-bottom:none}
  .ptable td{display:block;padding:0;border:none;text-align:left}
  .ptable td:first-child{flex:1 0 100%;font-weight:500;line-height:1.4}
  .ptable .t-term{font-size:14px;white-space:normal}
  .ptable .t-price{margin-left:auto;font-size:22px;text-align:right}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
}
.src-note+.src-note{margin-top:6px}

/* ---------- форма: прикреплённые файлы ---------- */
.files{display:flex;flex-direction:column}
.files-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.form .files-drop{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;box-shadow:inset 0 0 0 1px var(--guil-2);border-radius:0;cursor:pointer;transition:box-shadow .25s var(--ease),background-color .25s var(--ease)}
.files-drop svg{width:26px;height:26px;flex:none;color:var(--guil)}
.files-drop b{display:block;font:700 16px/1.25 var(--display);color:var(--ink)}
.files-drop small{display:block;margin-top:3px;font-size:13.5px;line-height:1.4;color:var(--ink-3)}
.files-drop:hover,.files-drop.is-over{box-shadow:inset 0 0 0 2px var(--guil);background:var(--paper-2)}
.files-input:focus-visible+.files-drop{outline:2px solid var(--guil);outline-offset:3px}
.files-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.files-list:empty{display:none}
.files-list li{display:flex;align-items:baseline;gap:10px;padding:9px 12px;background:#fff;box-shadow:inset 0 0 0 1px var(--rule);font-size:14.5px}
.files-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.files-list li small{flex:none;color:var(--ink-3)}
.files-list li button{flex:none;border:0;background:none;padding:0;font:600 13px/1 var(--sans);color:var(--guil);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.files-list li button:hover{color:var(--deep)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ts:empty{display:none}
.form-msg.is-err{color:var(--err)}
.form-msg.is-ok{color:var(--ok);font-weight:600}
.form.is-busy .btn{opacity:.7;cursor:progress}
