:root{
  --bg:#ecebe5;
  --paper:#f8f6ef;
  --ink:#12362a;
  --muted:#617269;
  --line:#cfd5c9;
  --soft:#e8ebe1;
  --accent:#1f6147;
  --accent2:#dfe8dc;
  --white:#fff;
  --teal:#2FA6A3;
  --gold:#D9A441;
  --shadow:0 14px 34px rgba(25,53,42,.07);
  --radius:17px;
  --max:1180px;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:94px;
}

body.st-public{
  margin:0;
  background:#f3f1e9;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.45;
}

body.st-public *,
body.st-public *::before,
body.st-public *::after{
  box-sizing:border-box;
}

body.st-public button,
body.st-public a,
body.st-public input,
body.st-public textarea,
body.st-public select{
  font:inherit;
}

body.st-public button{color:inherit}
body.st-public a{color:inherit;text-decoration:none}
body.st-public section[id]{scroll-margin-top:94px}

body.st-public .shell{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding:0 26px;
}

body.st-public h1{
  font-size:52px;
  line-height:1.02;
  letter-spacing:-.045em;
  margin:0 0 18px;
}

body.st-public h2{
  font-size:31px;
  line-height:1.08;
  letter-spacing:-.035em;
  margin:0 0 14px;
}

body.st-public h3{
  font-size:19px;
  line-height:1.25;
  margin:0 0 9px;
}

body.st-public .page-hero{
  padding:66px 0 58px;
  border-bottom:1px solid var(--line);
}

body.st-public .hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  gap:42px;
  align-items:stretch;
}

body.st-public .eyebrow{
  font-size:10px;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:850;
  margin-bottom:12px;
}

body.st-public .eyebrow--compact{margin-bottom:7px}
body.st-public .eyebrow--tight{margin-bottom:6px}
body.st-public .eyebrow--on-dark{color:#aebdb5}

body.st-public .hero-category{
  font-size:14px;
  font-weight:800;
  color:var(--accent);
  margin-bottom:10px;
}

body.st-public .lead{
  font-size:18px;
  line-height:1.52;
  color:var(--muted);
  max-width:790px;
  margin:0;
}

body.st-public .micro{
  font-size:10px;
  color:var(--muted);
  margin-top:11px;
}

body.st-public .cta-row{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:22px;
}

body.st-public .btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--accent);
  background:var(--accent);
  color:#fff;
  padding:11px 15px;
  border-radius:7px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease;
}

body.st-public .btn.secondary{
  background:transparent;
  color:var(--ink);
  border-color:var(--line);
}

body.st-public .btn.light{
  background:#fff;
  color:var(--ink);
  border-color:#fff;
}

body.st-public .btn--on-dark{
  color:#fff !important;
  border-color:rgba(255,255,255,.35) !important;
}

body.st-public .card,
body.st-public .panel,
body.st-public .hero-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

body.st-public .hero-card{padding:24px}

body.st-public .tag{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  background:var(--accent2);
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.04em;
}

body.st-public .page-section{
  padding:64px 0;
  border-bottom:1px solid var(--line);
}

body.st-public .section-head{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:30px;
  margin-bottom:28px;
  align-items:start;
}

body.st-public .section-head p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}

/* Header */
body.st-public .site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(243,241,233,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(207,213,201,.90);
}

body.st-public .site-topbar{
  min-height:76px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:34px;
}

body.st-public .site-brand{
  display:inline-flex;
  flex-direction:column;
  gap:5px;
  min-width:max-content;
  line-height:1;
}

body.st-public .site-brand-name{
  font-size:22px;
  font-weight:900;
  letter-spacing:.065em;
  line-height:1;
}

body.st-public .site-brand-tagline{
  font-size:10px;
  line-height:1.2;
  color:var(--muted);
  font-weight:650;
  letter-spacing:.015em;
}

body.st-public .site-nav-desktop{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:25px;
  font-size:13px;
  min-width:0;
}

body.st-public .site-nav-desktop>a,
body.st-public .site-nav-drop>summary{
  font-weight:760;
  cursor:pointer;
  list-style:none;
  white-space:nowrap;
}

body.st-public .site-nav-drop>summary::-webkit-details-marker{display:none}
body.st-public .site-nav-drop>summary::after{
  content:" ↓";
  font-size:10px;
  color:var(--muted);
}

body.st-public .site-nav-desktop>a:hover,
body.st-public .site-nav-drop>summary:hover,
body.st-public .site-nav-desktop>a.is-active,
body.st-public .site-nav-drop.is-active>summary,
body.st-public .site-nav-drop[open]>summary{
  color:var(--accent);
}

body.st-public .site-nav-drop{position:relative}

body.st-public .site-nav-menu{
  position:absolute;
  top:calc(100% + 16px);
  left:50%;
  transform:translateX(-50%);
  width:340px;
  padding:9px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 18px 46px rgba(18,54,46,.12);
}

body.st-public .site-nav-drop:not([open]) .site-nav-menu{display:none}

body.st-public .site-nav-menu a,
body.st-public .site-nav-menu>.st-nav-placeholder{
  display:block;
  padding:11px 12px;
  border-radius:10px;
}

body.st-public .site-nav-menu a:hover,
body.st-public .site-nav-menu a.is-active{
  background:var(--accent2);
}

body.st-public .site-nav-menu>.st-nav-placeholder{
  color:var(--muted);
  opacity:.72;
  cursor:default;
}

body.st-public .site-nav-menu b,
body.st-public .site-nav-menu small{
  display:block;
}

body.st-public .site-nav-menu b{font-size:13px}

body.st-public .site-nav-menu small{
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
  line-height:1.35;
  font-weight:500;
}

body.st-public .site-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

body.st-public .site-cabinet-placeholder{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 15px;
  border:1px solid var(--ink);
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  opacity:.58;
  cursor:default;
  user-select:none;
}

body.st-public .site-mobile-menu{
  display:none;
  position:relative;
}

body.st-public .site-mobile-menu>summary{
  list-style:none;
  cursor:pointer;
  border:1px solid var(--line);
  border-radius:999px;
  min-height:40px;
  padding:0 13px;
  display:flex;
  align-items:center;
  font-size:12px;
  font-weight:800;
}

body.st-public .site-mobile-menu>summary::-webkit-details-marker{display:none}

body.st-public .site-mobile-panel{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(355px,calc(100vw - 30px));
  max-height:calc(100vh - 100px);
  overflow:auto;
  padding:14px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 18px 46px rgba(18,54,46,.14);
}

body.st-public .site-mobile-menu:not([open]) .site-mobile-panel{display:none}

body.st-public .site-mobile-panel>a,
body.st-public .site-mobile-group>a,
body.st-public .site-mobile-group>.st-nav-placeholder{
  display:block;
  padding:10px 8px;
  border-radius:9px;
  font-size:13px;
  font-weight:650;
}

body.st-public .site-mobile-panel>a:hover,
body.st-public .site-mobile-group>a:hover,
body.st-public .site-mobile-panel>a.is-active,
body.st-public .site-mobile-group>a.is-active{
  background:var(--accent2);
}

body.st-public .site-mobile-group>.st-nav-placeholder{
  color:var(--muted);
  opacity:.72;
  cursor:default;
}

body.st-public .site-mobile-group{
  padding-bottom:10px;
  margin-bottom:8px;
  border-bottom:1px solid var(--line);
}

body.st-public .site-mobile-group strong{
  display:block;
  padding:4px 8px 6px;
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

body.st-public .site-mobile-cabinet-placeholder{
  display:block;
  margin-top:8px;
  padding:10px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  text-align:center;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  cursor:default;
}

/* Footer */
body.st-public .site-footer{
  padding:54px 0 26px;
  margin-top:20px;
  background:#10231d;
  color:#fff;
}

body.st-public .site-footer a{color:inherit}

body.st-public .site-footer .site-brand-name{color:#fff}
body.st-public .site-footer .site-brand-tagline{color:#aab7b0}

body.st-public .site-footer-grid{
  display:grid;
  grid-template-columns:1.45fr repeat(3,1fr);
  gap:44px;
  align-items:start;
  padding-bottom:36px;
}

body.st-public .site-footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:22px;
}

body.st-public .site-footer-contact-label{
  margin-bottom:6px;
  color:#8ea097;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

body.st-public .site-footer-contact{
  font-size:13px;
  font-weight:760;
  text-decoration:underline;
  text-underline-offset:3px;
}

body.st-public .site-footer-col{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
}

body.st-public .site-footer-col strong{
  margin-bottom:5px;
  font-size:10px;
  color:#8ea097;
  text-transform:uppercase;
  letter-spacing:.08em;
}

body.st-public .site-footer-col a,
body.st-public .site-footer-col>.st-nav-placeholder{
  font-size:13px;
  color:#e7ece9;
}

body.st-public .site-footer-col>.st-nav-placeholder{
  color:#93a39a;
  opacity:.74;
  cursor:default;
}

body.st-public .site-footer-col a.is-active{
  color:#e7ece9;
  text-decoration:none;
}

body.st-public .site-footer-bottom{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:24px;
  align-items:start;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.13);
  color:#93a39a;
  font-size:11px;
}

body.st-public .site-footer-bottom>span{
  white-space:nowrap;
}

body.st-public .site-footer-legal{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px 16px;
}

body.st-public .site-footer-legal a:hover,
body.st-public .site-footer-contact:hover{
  color:#fff;
  text-decoration:underline;
}

/* Interaction */
@media (hover:hover) and (pointer:fine){
  body.st-public .btn:hover,
  body.st-public .site-mobile-menu>summary:hover{
    transform:translateY(-1px);
    box-shadow:0 7px 18px rgba(18,54,42,.10);
  }
}

body.st-public .btn:active,
body.st-public .site-mobile-menu>summary:active{
  transform:translateY(1px) scale(.992);
  box-shadow:none;
}

body.st-public .btn:focus-visible,
body.st-public .site-mobile-menu>summary:focus-visible,
body.st-public .site-nav-desktop a:focus-visible,
body.st-public .site-nav-drop>summary:focus-visible{
  outline:3px solid rgba(47,166,163,.35);
  outline-offset:3px;
}

@media(max-width:1080px){
  body.st-public .site-topbar{gap:16px}
  body.st-public .site-nav-desktop{gap:14px}
  body.st-public .site-nav-desktop>a,
  body.st-public .site-nav-drop>summary{font-size:12px}
}

@media(max-width:900px){
  body.st-public .site-topbar{
    grid-template-columns:1fr auto;
    min-height:68px;
  }

  body.st-public .site-nav-desktop{display:none}
  body.st-public .site-mobile-menu{display:block}

  body.st-public .hero-grid,
  body.st-public .section-head{
    grid-template-columns:1fr;
  }

  body.st-public .site-footer-grid{
    grid-template-columns:1.25fr 1fr 1fr;
  }

  body.st-public .site-footer-col:last-child{
    grid-column:2/4;
  }
}

@media(max-width:700px){
  body.st-public .shell{padding:0 16px}
  body.st-public .page-hero{padding:48px 0 42px}
  body.st-public h1{font-size:38px}
  body.st-public h2{font-size:27px}
  body.st-public .lead{font-size:16px}
  body.st-public .page-section{padding:48px 0}
  body.st-public .site-brand-tagline{display:none}
  body.st-public .site-brand-name{font-size:19px}
  body.st-public .site-footer{padding-top:42px}

  body.st-public .site-footer-grid{
    grid-template-columns:1fr 1fr;
    gap:28px 20px;
  }

  body.st-public .site-footer-brand{
    grid-column:1/-1;
  }

  body.st-public .site-footer-col:last-child{
    grid-column:auto;
  }

  body.st-public .site-footer-bottom{
    display:block;
  }

  body.st-public .site-footer-legal{
    justify-content:flex-start;
    margin-top:14px;
    gap:10px 14px;
  }
}

@media(max-width:430px){
  body.st-public .site-footer-grid{grid-template-columns:1fr}
  body.st-public .site-footer-col:last-child{grid-column:auto}
  body.st-public .cta-row .btn{width:100%}
}


/* ===== v2.2: утверждённая глобальная шапка/подвал V2 ===== */

/* В админском предпросмотре WordPress шапка не должна заходить под admin bar. */
body.admin-bar.st-public .site-header{top:32px}

/* Любая локальная section-nav получает единый sticky-offset относительно общей шапки. */
body.st-public .st-public-main .section-nav{top:76px !important}
body.admin-bar.st-public .st-public-main .section-nav{top:108px !important}

@media(max-width:1080px){
  body.st-public .site-topbar{gap:18px}
  body.st-public .site-nav-desktop{gap:15px}
  body.st-public .site-nav-desktop>a,
  body.st-public .site-nav-drop>summary{font-size:12px}
}

@media(max-width:980px){
  body.st-public .site-topbar{
    grid-template-columns:1fr auto auto;
  }
  body.st-public .site-nav-desktop{display:none}
  body.st-public .site-mobile-menu{display:block;justify-self:end}

  body.st-public .hero-grid,
  body.st-public .section-head{
    grid-template-columns:1fr;
  }

  body.st-public .site-footer-grid{
    grid-template-columns:1.35fr 1fr 1fr;
  }
  body.st-public .site-footer-col:last-child{
    grid-column:2/4;
  }
}

@media(max-width:782px){
  body.admin-bar.st-public .site-header{top:46px}
  body.admin-bar.st-public .st-public-main .section-nav{top:122px !important}
}

@media(max-width:700px){
  body.st-public .shell{padding:0 16px}
  body.st-public .page-hero{padding:48px 0 42px}
  body.st-public h1{font-size:38px}
  body.st-public h2{font-size:27px}
  body.st-public .lead{font-size:16px}
  body.st-public .page-section{padding:48px 0}

  body.st-public .site-topbar{
    min-height:68px;
    grid-template-columns:1fr auto;
  }
  body.st-public .site-cabinet-placeholder{display:none}
  body.st-public .site-brand-name{font-size:20px}
  body.st-public .site-brand-tagline{font-size:9px}

  body.st-public .st-public-main .section-nav{top:68px !important}
  body.admin-bar.st-public .st-public-main .section-nav{top:114px !important}

  body.st-public .site-footer{padding-top:42px}
  body.st-public .site-footer-grid{
    grid-template-columns:1fr 1fr;
    gap:30px 20px;
  }
  body.st-public .site-footer-brand{grid-column:1/-1}
  body.st-public .site-footer-col:last-child{grid-column:auto}

  body.st-public .site-footer-bottom{
    grid-template-columns:1fr;
  }
  body.st-public .site-footer-legal{
    justify-content:flex-start;
  }
}

@media(max-width:460px){
  body.st-public .site-footer-grid{grid-template-columns:1fr}
  body.st-public .site-footer-brand,
  body.st-public .site-footer-col:last-child{grid-column:auto}
  body.st-public .cta-row .btn{width:100%}
}

/* ===== v2.4: footer links are emphasized only on interaction ===== */
body.st-public .site-footer-col a,
body.st-public .site-footer-col a.is-active{
  color:#e7ece9;
  text-decoration:none;
}

body.st-public .site-footer-col a:hover,
body.st-public .site-footer-col a:focus-visible{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

body.st-public .site-footer-col a:focus-visible{
  outline:2px solid rgba(255,255,255,.65);
  outline-offset:3px;
  border-radius:2px;
}
