/* Shared chrome for public pages other than the two marketing home pages. */
body:not(.landing-page) { min-width:320px; overflow-x:hidden; background:#f7f4ee; color:#211f1b; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body:not(.landing-page) .shell { width:min(1160px,calc(100% - 48px)); margin-inline:auto; }
body:not(.landing-page) header { position:sticky; top:0; z-index:30; border-bottom:1px solid #e1d8cc; background:#f7f4eedd; backdrop-filter:blur(12px); }
body:not(.landing-page) .topbar { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
body:not(.landing-page) .brand { display:inline-flex; align-items:center; gap:8px; color:#211f1b; font-size:20px; font-weight:750; letter-spacing:-.06em; text-decoration:none; }
body:not(.landing-page) .brand-mark { width:30px; height:30px; object-fit:contain; }
body:not(.landing-page) .brand span { font-size:0; } body:not(.landing-page) .brand span::after { content:"огонёк"; font-size:20px; }
body:not(.landing-page) nav { display:flex; align-items:center; gap:18px; }
body:not(.landing-page) nav a { color:#554f47; font-size:14px; text-decoration:none; transition:color .2s; }
body:not(.landing-page) nav a:hover,body:not(.landing-page) nav a[aria-current="page"] { color:#211f1b; }
body:not(.landing-page) .public-cta { order:3; padding:10px 15px; border-radius:999px; background:#df5736; color:#fff; font-weight:700; }
body:not(.landing-page) .language-switch { order:2; padding:6px 9px; border:1px solid #d8cfc2; border-radius:999px; }
body:not(.landing-page) nav a:not(.public-cta):not(.language-switch) { order:1; }
body:not(.landing-page) main { padding-top:42px; padding-bottom:74px; }
body:not(.landing-page) .hero { min-height:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,.55fr); gap:34px; align-items:start; padding:38px 0 28px; }
body:not(.landing-page) .hero h1 { color:#211f1b; font-size:clamp(37px,4.5vw,60px); line-height:1; letter-spacing:-.065em; }
body:not(.landing-page) .eyebrow { color:#d75031; font-size:11px; font-weight:800; letter-spacing:.12em; }
body:not(.landing-page) .lead,body:not(.landing-page) .meta { color:#6e675e; }
body:not(.landing-page) .hero-panel { min-height:0; border:1px solid #e2d8cb; border-radius:20px; background:#fffdf9; box-shadow:none; }
body:not(.landing-page) .content { width:min(820px,100%); margin:15px 0 0; border:1px solid #e1d8cc; border-radius:20px; background:#fffdf9; box-shadow:none; }
body:not(.landing-page) .content h2 { color:#211f1b; letter-spacing:-.035em; }
body:not(.landing-page) .content p,body:not(.landing-page) .content li { color:#625b52; }
body:not(.landing-page) .how-main { padding-top:0; }
body:not(.landing-page) .how-page .how-hero,body:not(.landing-page) .how-page .how-section { width:min(1160px,calc(100% - 48px)); margin-inline:auto; }
body:not(.landing-page) .how-page .how-hero { padding-top:64px; }
body:not(.landing-page) .how-page .how-primary-action { background:#df5736; color:#fff; }
body:not(.landing-page) footer { border-top:1px solid #ddd5ca; background:#f7f4ee; }
body:not(.landing-page) .footer-row { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:22px; color:#6a625a; font-size:13px; }
body:not(.landing-page) .footer-row > div { display:flex; flex-wrap:wrap; gap:14px; } body:not(.landing-page) .footer-row a { color:inherit; text-decoration:none; }
body:not(.landing-page) a:focus-visible { outline:3px solid #211f1b; outline-offset:3px; }
@media (max-width:760px) { body:not(.landing-page) .shell,body:not(.landing-page) .how-page .how-hero,body:not(.landing-page) .how-page .how-section { width:calc(100% - 32px); } body:not(.landing-page) .topbar { min-height:62px; } body:not(.landing-page) nav { gap:8px; } body:not(.landing-page) nav a:not(.public-cta):not(.language-switch) { display:none; } body:not(.landing-page) .public-cta { padding:9px 12px; } body:not(.landing-page) main { padding-top:20px; padding-bottom:48px; } body:not(.landing-page) .hero { grid-template-columns:1fr; padding-top:28px; } body:not(.landing-page) .hero-panel { display:none; } body:not(.landing-page) .content { padding:22px; border-radius:15px; } body:not(.landing-page) .how-page .how-hero { padding-top:42px; } body:not(.landing-page) .footer-row { min-height:0; padding-block:24px; align-items:flex-start; flex-direction:column; } }
@media (max-width:760px) { body:not(.landing-page) .topbar { align-items:flex-start; padding-block:12px; } body:not(.landing-page) nav { justify-content:flex-end; flex-wrap:wrap; } body:not(.landing-page) nav a:not(.public-cta):not(.language-switch) { display:inline; } }

/* The desktop navigation keeps its existing inline layout; mobile uses details/summary. */
body:not(.landing-page) .mobile-nav { display:contents; }
body:not(.landing-page) .mobile-nav > summary { display:none; }
body:not(.landing-page) .mobile-nav > nav { display:flex; }
@media (max-width:760px) {
  body:not(.landing-page) .mobile-nav > summary { display:inline-flex!important; }
  body:not(.landing-page) .mobile-nav[open] > nav { display:flex!important; }
  body:not(.landing-page) .topbar { align-items:center; padding-block:10px; }
  body:not(.landing-page) .mobile-nav { position:relative; display:block; margin-left:auto; }
  body:not(.landing-page) .mobile-nav > summary {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:44px;
    min-height:42px;
    padding:8px 10px;
    border:1px solid #d8cfc2;
    border-radius:999px;
    color:#211f1b;
    cursor:pointer;
    font-size:13px;
    font-weight:700;
    list-style:none;
  }
  body:not(.landing-page) .mobile-nav > summary::-webkit-details-marker { display:none; }
  body:not(.landing-page) .mobile-nav > summary::after { content:"☰"; color:#d75031; font-size:16px; line-height:1; }
  body:not(.landing-page) .mobile-nav[open] > summary::after { content:"×"; font-size:20px; }
  body:not(.landing-page) .mobile-nav > nav { display:none; }
  body:not(.landing-page) .mobile-nav[open] > nav {
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    z-index:40;
    display:flex;
    width:min(300px,calc(100vw - 32px));
    max-height:calc(100vh - 82px);
    padding:10px;
    overflow:auto;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    border:1px solid #d8cfc2;
    border-radius:16px;
    background:#fffdf9;
    box-shadow:0 16px 32px rgba(54,39,25,.16);
  }
  body:not(.landing-page) .mobile-nav > nav > a,
  body:not(.landing-page) .mobile-nav > nav > a:not(.public-cta):not(.language-switch) {
    display:block;
    order:initial;
    padding:11px 12px;
    border-radius:10px;
    font-size:15px;
  }
  body:not(.landing-page) .mobile-nav > nav > .public-cta { padding:11px 12px; }
  body:not(.landing-page) .mobile-nav > nav > .language-switch { padding:10px 12px; }
}

/* Checkbox/label menu: a single desktop nav becomes a reliable no-JS mobile disclosure. */
body:not(.landing-page) .mobile-nav-toggle,
body:not(.landing-page) .mobile-nav-trigger { display:none; }
@media (max-width:760px) {
  body:not(.landing-page) .topbar { position:relative; align-items:center; }
  body:not(.landing-page) .mobile-nav-toggle { position:absolute; inline-size:1px; block-size:1px; opacity:0; }
  body:not(.landing-page) .mobile-nav-trigger {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:44px;
    min-height:42px;
    margin-left:auto;
    padding:8px 10px;
    border:1px solid #d8cfc2;
    border-radius:999px;
    color:#211f1b;
    cursor:pointer;
    font-size:13px;
    font-weight:700;
  }
  body:not(.landing-page) .mobile-nav-trigger::after { content:"☰"; color:#d75031; font-size:16px; line-height:1; }
  body:not(.landing-page) .mobile-nav-toggle:checked + .mobile-nav-trigger::after { content:"×"; font-size:20px; }
  body:not(.landing-page) .mobile-nav-toggle:focus-visible + .mobile-nav-trigger { outline:3px solid #211f1b; outline-offset:3px; }
  body:not(.landing-page) .topbar > nav { display:none!important; }
  body:not(.landing-page) .mobile-nav-toggle:checked ~ nav {
    position:absolute;
    top:calc(100% - 2px);
    right:0;
    z-index:40;
    display:flex!important;
    width:min(300px,calc(100vw - 32px));
    max-height:calc(100vh - 82px);
    padding:10px;
    overflow:auto;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    border:1px solid #d8cfc2;
    border-radius:16px;
    background:#fffdf9;
    box-shadow:0 16px 32px rgba(54,39,25,.16);
  }
  body:not(.landing-page) .topbar > nav > a { display:block; order:initial; padding:11px 12px; border-radius:10px; font-size:15px; }
}
