:root{
  --ink:#20242c;
  --ink-2:#2c333f;
  --paper:#f7f3ea;
  --paper-2:#efe8da;
  --accent:#a9803f;
  --accent-d:#8c6630;
  --muted:#6b6357;
  --line:#ded4c1;
  --serif:Georgia,'Times New Roman','PT Serif',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:var(--accent-d);}
img{max-width:100%;}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

.wrap{max-width:1140px;margin:0 auto;padding-inline:20px;}
.wrap--narrow{max-width:800px;}
.sec{padding-block:clamp(48px,7vw,92px);}
.sec--soft{background:var(--paper-2);}
.h2{font-family:var(--serif);font-size:clamp(26px,3.6vw,40px);line-height:1.2;text-align:center;margin:0 0 12px;}
.sub{text-align:center;color:var(--muted);max-width:660px;margin:0 auto clamp(24px,4vw,40px);font-size:clamp(15px,1.6vw,18px);}
.eyebrow{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-d);font-weight:700;margin:0 0 16px;}

.btn{display:inline-block;border:2px solid transparent;border-radius:10px;padding:15px 26px;font:700 16px/1 var(--sans);text-decoration:none;cursor:pointer;transition:background .15s ease,transform .15s ease;}
.btn--primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(169,128,63,.28);}
.btn--primary:hover{background:var(--accent-d);transform:translateY(-1px);}

/* шапка */
.sh{background:var(--ink);color:var(--paper);position:sticky;top:0;z-index:50;}
.sh__in{max-width:1140px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.sh__logo{display:flex;align-items:center;gap:10px;color:var(--paper);text-decoration:none;font-family:var(--serif);font-size:19px;font-weight:700;}
.sh__mark{display:inline-grid;place-items:center;width:30px;height:30px;border:1.5px solid var(--accent);border-radius:4px;color:var(--accent);font-size:17px;}
.sh__nav{display:flex;gap:20px;flex-wrap:wrap;}
.sh__nav a{color:rgba(247,243,234,.8);text-decoration:none;font-size:14.5px;}
.sh__nav a:hover{color:#fff;}
@media (max-width:560px){.sh__nav{gap:14px;}.sh__nav a{font-size:13.5px;}}

/* главная: герой и поиск */
.hh{background:radial-gradient(120% 120% at 15% 0%,#fbf8f1 0%,#f2ebdd 100%);border-bottom:1px solid var(--line);padding-block:clamp(56px,9vw,120px);}
.hh__in{text-align:center;}
.hh__title{font-family:var(--serif);font-size:clamp(34px,5.6vw,60px);line-height:1.12;margin:0;}
.hh__title span{color:var(--accent);}
.hh__lead{color:var(--muted);font-size:clamp(16px,1.8vw,19px);max-width:680px;margin:20px auto 32px;}
.hs{display:flex;gap:10px;max-width:620px;margin:0 auto;}
.hs__input{flex:1;min-width:0;border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:15px 16px;font:17px var(--sans);color:var(--ink);}
.hs__input:focus{outline:3px solid rgba(169,128,63,.35);border-color:var(--accent);}
.hs__go{white-space:nowrap;}
@media (max-width:520px){.hs{flex-direction:column;}.hs__go{width:100%;}}
.hh__note{color:var(--accent-d);font-size:14px;font-weight:600;margin:18px 0 0;}

/* каталог */
.cf{display:block;width:100%;max-width:380px;margin:0 auto 26px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 14px;font:15px var(--sans);}
.cf:focus{outline:3px solid rgba(169,128,63,.3);border-color:var(--accent);}
.hcg{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;}
.hc{display:flex;align-items:baseline;gap:10px;height:100%;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 14px;text-decoration:none;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease;}
.hc:hover{border-color:var(--accent);box-shadow:0 6px 16px rgba(32,36,44,.08);}
.hc:focus-visible{outline:3px solid rgba(169,128,63,.4);}
.hc__rank{flex:none;min-width:22px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;}
.hc__name{font-family:var(--serif);font-size:18px;font-weight:700;line-height:1.2;}
@media (max-width:420px){.hcg{grid-template-columns:repeat(2,1fr);}.hc__name{font-size:16px;}}
.hcg__miss,.hcg__more{text-align:center;margin:26px auto 0;max-width:620px;}
.hcg__miss p,.hcg__more p{margin:0 0 14px;color:var(--muted);}
.hcg__miss p{font-family:var(--serif);font-size:20px;color:var(--ink);}
.hcg__more{padding:24px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;}
.hcg__more b{color:var(--ink);}
.hcg__miss:not([hidden]) + .hcg__more{display:none;}

/* шаги, карточки, FAQ */
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 22px 22px 70px;position:relative;display:flex;flex-direction:column;gap:6px;}
.steps li::before{content:counter(s);position:absolute;left:20px;top:20px;width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:700 16px var(--serif);}
.steps b{font-family:var(--serif);font-size:19px;}
.steps span{color:var(--muted);font-size:15px;}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:14px;padding:24px;}
.card h3{font-family:var(--serif);font-size:21px;margin:0 0 8px;}
.card p{margin:0;color:var(--muted);}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:600;}
.faq p{margin:0;padding:0 20px 18px;color:var(--muted);}

/* подвал */
.sf{background:var(--ink);color:rgba(247,243,234,.78);font-size:14px;}
.sf__in{max-width:1140px;margin:0 auto;padding:44px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:28px;}
.sf__logo{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--paper);text-decoration:none;}
.sf__h{font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;}
.sf p{margin:8px 0 0;}
.sf a{color:rgba(247,243,234,.9);}
.sf__copy{font-size:13px;color:rgba(247,243,234,.55);}

/* документы */
.doc{padding-block:clamp(40px,6vw,72px);}
.doc h1{font-family:var(--serif);font-size:clamp(26px,3.4vw,36px);line-height:1.2;}
.doc h2{font-family:var(--serif);font-size:21px;margin-top:32px;}
.doc p{margin:10px 0;}
.nf{text-align:center;}

/* форма заявки */
.om{border:0;border-radius:16px;padding:0;width:min(460px,calc(100vw - 32px));box-shadow:0 30px 80px rgba(0,0,0,.35);}
.om::backdrop{background:rgba(20,22,28,.6);}
.om__form{padding:28px;position:relative;display:flex;flex-direction:column;gap:12px;}
.om__close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--muted);}
.om__title{font-family:var(--serif);font-size:24px;margin:0;}
.om__book{margin:0;font-weight:700;color:var(--accent-d);}
.om__lead{margin:0;color:var(--muted);font-size:14.5px;}
.om__field{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600;}
.om__field input{border:1.5px solid var(--line);border-radius:9px;padding:12px;font:16px var(--sans);}
.om__field input:focus{outline:3px solid rgba(169,128,63,.3);border-color:var(--accent);}
.om__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.om__consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);}
.om__consent input{margin-top:3px;width:18px;height:18px;flex:none;}
.om__submit{border:0;border-radius:10px;background:var(--accent);color:#fff;font:700 16px var(--sans);padding:15px;cursor:pointer;}
.om__submit:hover{background:var(--accent-d);}
.om__submit:disabled{opacity:.6;cursor:wait;}
.om__note{margin:0;font-size:12.5px;color:var(--muted);}
.om__status{margin:0;font-size:14px;font-weight:600;min-height:1em;}
.om__status--ok{color:#2f7a4d;}
.om__status--err{color:#a33;}
