/*
Theme Name: dds_nordicsustainabilityinvestigator.com
Author: Анна Линдстрём
Description: Тема онлайн-журнала об устойчивом строительстве в стилистике полевого инженерного журнала: бумага с миллиметровкой, штампы, чертёжные линии.
Version: 1.1
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nsinv
*/

/* ---------- Шрифты (вложены в тему) ---------- */
@font-face{font-family:"Oswald";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/oswald-cyrillic-500-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Oswald";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/oswald-latin-500-normal.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:"Oswald";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/oswald-cyrillic-700-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Oswald";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/oswald-latin-700-normal.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:"PT Serif";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/pt-serif-cyrillic-400-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/pt-serif-latin-400-normal.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:"PT Serif";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/pt-serif-cyrillic-400-italic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Serif";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/pt-serif-latin-400-italic.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:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/pt-serif-cyrillic-700-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/pt-serif-latin-700-normal.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:"PT Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/pt-mono-cyrillic-400-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"PT Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/pt-mono-latin-400-normal.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:"Caveat";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/caveat-cyrillic-500-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Caveat";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/caveat-latin-500-normal.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:#EDE7D8;
    --paper-hi:#F4EFE2;
    --paper-lo:#E4DDCB;
    --grid:#C9D6C3;
    --green:#1F3A2E;
    --pine:#14251D;
    --forest:#22332A;
    --blue:#1B2E3C;
    --ink:#20261F;
    --muted:#6B7263;
    --ochre:#C97B2E;
    --moss:#7A9A5B;
    --line:#A8C686;
    --line-2:#8C8570;
    --light:#F2EDDF;
    --light-muted:#B9C2AE;
    --btn:#2E4A3A;
    --f-head:"Oswald","Arial Narrow","Roboto Condensed",Impact,sans-serif;
    --f-body:"PT Serif",Georgia,"Times New Roman",serif;
    --f-mono:"PT Mono","Courier New",Courier,monospace;
    --f-hand:"Caveat","Segoe Print","Comic Sans MS",cursive;
}

/* ---------- Скрытие по атрибуту hidden (до основных стилей) ---------- */
.cookie-banner[hidden]{display:none !important}
[hidden]{display:none !important}

/* ---------- База ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none !important}}
body{
    margin:0;
    overflow-x:hidden;
    font-family:var(--f-body);
    font-size:1.0625rem;
    line-height:1.75;
    color:var(--ink);
    background-color:var(--paper);
    background-image:
        url("images/paper-grain.png"),
        radial-gradient(ellipse at 0 0,rgba(140,133,112,.16),transparent 38%),
        radial-gradient(ellipse at 100% 100%,rgba(140,133,112,.14),transparent 40%),
        linear-gradient(rgba(201,214,195,.75) 1px,transparent 1px),
        linear-gradient(90deg,rgba(201,214,195,.75) 1px,transparent 1px),
        linear-gradient(rgba(201,214,195,.35) 1px,transparent 1px),
        linear-gradient(90deg,rgba(201,214,195,.35) 1px,transparent 1px);
    background-size:256px 256px,100% 100%,100% 100%,40px 40px,40px 40px,8px 8px,8px 8px;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration-color:var(--ochre);text-underline-offset:.2em}
a:hover{color:var(--ochre)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px dashed var(--ochre);outline-offset:3px}
p{margin:0 0 1.1em}
h1,h2,h3,h4,h5,h6{
    font-family:var(--f-head);
    font-weight:700;
    line-height:1.15;
    margin:1.6em 0 .6em;
    color:var(--ink);
    letter-spacing:.01em;
    overflow-wrap:break-word;
    hyphens:auto;
}
h1{font-size:clamp(2rem,4.5vw,3.4rem);text-transform:uppercase}
h2{font-size:clamp(1.6rem,3vw,2.2rem)}
h3{font-size:1.4rem}
h4{font-size:1.2rem}
ul,ol{padding-left:1.4em;margin:0 0 1.2em}
li{margin-bottom:.35em}
p,li,dd,td,th,blockquote,figcaption{overflow-wrap:break-word;hyphens:auto}
table{width:100%;border-collapse:collapse;margin:0 0 1.5em;border:1.5px solid var(--ink);background:var(--paper-hi)}
th,td{border:1px solid var(--line-2);padding:.6em .8em;text-align:left;vertical-align:top}
th{font-family:var(--f-mono);font-weight:400;text-transform:uppercase;letter-spacing:.04em;font-size:.88rem;background:var(--paper-lo)}
hr{border:0;border-top:1px dashed var(--line-2);margin:2em 0}
code,kbd,pre{font-family:var(--f-mono);font-size:.92em}
pre{background:var(--forest);color:var(--light);padding:1em 1.2em;overflow:auto;border-left:4px solid var(--ochre)}
blockquote{margin:1.6em 0;padding:1.1em 1.4em 1.1em 1.6em;border-left:4px solid var(--moss);background:rgba(122,154,91,.1);font-style:italic}
blockquote p:last-child{margin-bottom:0}
.nsi-sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nsi-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ochre);color:var(--ink);padding:.6em 1em;font-family:var(--f-mono)}
.nsi-skip:focus{left:1rem;top:1rem}

/* Контейнер ширины — единственное место ограничения */
.shell{width:min(92%,1240px);margin-inline:auto}

/* ---------- Кнопки и ссылки ---------- */
.nsi-btn{
    display:inline-block;
    font-family:var(--f-mono);
    font-size:.92rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    line-height:1.3;
    color:var(--light);
    text-decoration:none;
    text-align:center;
    padding:.6em 1.15em;
    border:2px solid var(--ink);
    border-radius:0;
    background-color:var(--btn);
    background-image:repeating-linear-gradient(-45deg,rgba(242,237,223,.16) 0 2px,transparent 2px 6px);
    box-shadow:3px 3px 0 var(--ink);
    cursor:pointer;
    transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease;
}
.nsi-btn:hover{color:var(--light);background-color:var(--green);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.nsi-btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}
.nsi-btn-sm{font-size:.8rem;padding:.45em .85em}
.nsi-link-more{
    font-family:var(--f-mono);
    font-size:.95rem;
    color:var(--green);
    text-decoration:none;
    border-bottom:1.5px dashed var(--ochre);
    padding-bottom:.1em;
}
.nsi-link-more::after{content:" →";color:var(--ochre)}
.nsi-link-more:hover{color:var(--ochre);border-bottom-style:solid}

/* Заголовки секций — штамп в рамке */
.nsi-stamp{
    display:inline-block;
    margin:0 0 1.8rem;
    padding:.28em .75em .3em;
    font-family:var(--f-mono);
    font-weight:400;
    font-size:clamp(1.15rem,2.2vw,1.55rem);
    text-transform:uppercase;
    letter-spacing:.08em;
    line-height:1.2;
    color:var(--ink);
    border:2.5px solid currentColor;
    box-shadow:inset 0 0 0 3px transparent,inset 0 0 0 4px rgba(32,38,31,.35);
    transform:rotate(-.6deg);
    max-width:100%;
}
.nsi-stamp-light{color:var(--light);box-shadow:inset 0 0 0 3px transparent,inset 0 0 0 4px rgba(242,237,223,.35)}

/* ---------- Шапка ---------- */
.nsi-head{
    background-color:var(--green);
    background-image:radial-gradient(ellipse at 20% 0,rgba(168,198,134,.08),transparent 60%);
    border-bottom:4px solid var(--line);
    color:var(--light);
    position:relative;
}
.nsi-head-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.1rem 0;flex-wrap:wrap}
.nsi-brand{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--light);min-width:0;flex:1 1 420px;max-width:660px}
.nsi-brand:hover{color:var(--light)}
.nsi-brand-mark{flex:0 0 auto;width:64px}
.nsi-brand-mark img,.nsi-logo-svg{width:64px;height:auto}
.nsi-brand-text{display:flex;flex-direction:column;min-width:0;gap:.25rem}
.nsi-brand-name{
    font-family:var(--f-mono);
    font-size:.98rem;
    line-height:1.35;
    color:var(--line);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.nsi-brand-desc{
    font-family:var(--f-body);
    font-size:.8rem;
    line-height:1.45;
    color:var(--light-muted);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.nsi-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.8rem}
.nsi-nav-list li{margin:0}
.nsi-nav-list a{
    font-family:var(--f-mono);
    font-size:.95rem;
    color:var(--light);
    text-decoration:none;
    padding:.3em 0;
    border-bottom:2px solid transparent;
    transition:border-color .15s,color .15s;
}
.nsi-nav-list a:hover{color:var(--line);border-bottom-color:var(--line)}
.nsi-nav-list .current-menu-item>a,.nsi-nav-list .current_page_item>a{border-bottom-color:var(--line)}
.nsi-menu-toggle{
    display:none;
    align-items:center;
    gap:.6rem;
    font-family:var(--f-mono);
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--light);
    background:transparent;
    border:2px solid var(--line);
    padding:.45em .8em;
    cursor:pointer;
}
.nsi-menu-bars,.nsi-menu-bars::before,.nsi-menu-bars::after{display:block;width:20px;height:2px;background:var(--line);position:relative}
.nsi-menu-bars::before,.nsi-menu-bars::after{content:"";position:absolute;left:0}
.nsi-menu-bars::before{top:-6px}
.nsi-menu-bars::after{top:6px}

/* ---------- Главная: общая ширина 85% ---------- */
.nsi-front-shell{width:min(85%,1240px)}
.front-section{padding:4.5rem 0;position:relative}

/* Обложка */
.nsi-cover{padding:3.5rem 0 3rem;border-bottom:1px dashed var(--line-2)}
.nsi-cover-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:2.5rem;align-items:start}
.nsi-cover-text{min-width:0;position:relative;z-index:2}
.nsi-cover-kicker{font-family:var(--f-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .8rem}
.nsi-cover-title{
    margin:0;
    font-size:clamp(2.6rem,7.2vw,6.4rem);
    line-height:.98;
    color:var(--green);
    text-transform:uppercase;
    letter-spacing:-.005em;
    text-shadow:1px 0 0 rgba(31,58,46,.35),-.5px .5px 0 rgba(31,58,46,.25);
    margin-right:-22%;
    hyphens:manual;
}
.nsi-cover-note{
    font-family:var(--f-hand);
    font-weight:500;
    font-size:clamp(1.4rem,2.4vw,1.9rem);
    line-height:1.15;
    color:#3B4E44;
    margin:1.6rem 0 1.4rem 32%;
    transform:rotate(-5deg);
    position:relative;
    max-width:18rem;
}
.nsi-cover-note::after{
    content:"";
    display:block;
    width:85%;
    height:7px;
    margin-top:.5rem;
    border-top:2.5px solid #3B4E44;
    border-radius:50% 50% 0 0/100% 100% 0 0;
    transform:rotate(-2deg);
}
.nsi-cover-lead{font-size:.98rem;line-height:1.8;color:var(--muted);max-width:34rem;margin:0 0 1.1rem}
.nsi-cover-photo{
    margin:1.2rem 0 0;
    background:var(--paper-hi);
    border:1px solid var(--line-2);
    padding:.9rem .9rem .7rem;
    box-shadow:4px 6px 0 rgba(32,38,31,.16);
    transform:rotate(1.2deg);
    position:relative;
    min-width:0;
}
.nsi-cover-photo img{width:100%;aspect-ratio:1/1;object-fit:cover}
.nsi-cover-photo figcaption{font-family:var(--f-mono);font-size:.78rem;line-height:1.4;color:var(--muted);margin-top:.6rem}
.nsi-tape{
    position:absolute;
    top:-14px;
    left:50%;
    width:110px;
    height:30px;
    margin-left:-55px;
    background:rgba(214,205,170,.82);
    border-left:1px dashed rgba(140,133,112,.5);
    border-right:1px dashed rgba(140,133,112,.5);
    transform:rotate(-3deg);
    z-index:2;
    box-shadow:0 1px 2px rgba(32,38,31,.15);
}

/* Блок 1 — Анатомия стены */
.nsi-anatomy{border-bottom:1px dashed var(--line-2)}
.nsi-anatomy-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:3rem;align-items:stretch}
.nsi-wall{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 3.2rem;align-items:stretch;min-width:0}
.nsi-wall-fig{position:relative;padding-left:3.2rem}
.nsi-wall-fig img{width:clamp(180px,22vw,300px);aspect-ratio:614/732;object-fit:cover;border:1.5px solid var(--ink);box-shadow:3px 3px 0 rgba(32,38,31,.18)}
.nsi-dim{position:absolute;left:.4rem;top:0;bottom:0;width:1.6rem;border-left:1.5px solid var(--ink)}
.nsi-dim::before,.nsi-dim::after{content:"";position:absolute;left:-7px;width:13px;border-top:1.5px solid var(--ink)}
.nsi-dim::before{top:0}
.nsi-dim::after{bottom:0}
.nsi-dim-label{
    position:absolute;
    top:50%;
    left:-1.55rem;
    transform:translateY(-50%) rotate(-90deg);
    font-family:var(--f-mono);
    font-size:.82rem;
    white-space:nowrap;
    background:var(--paper);
    padding:0 .3rem;
    color:var(--ink);
}
.nsi-wall-layers{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-width:0;
    padding-block:.4rem;
}
.nsi-wall-layers li{
    position:relative;
    margin:0;
    font-family:var(--f-mono);
    font-size:.95rem;
    line-height:1.3;
    display:flex;
    align-items:center;
    gap:.6rem;
}
.nsi-wall-layers li::before{
    content:"";
    position:absolute;
    right:100%;
    top:50%;
    width:3rem;
    border-top:1px solid var(--line-2);
}
.nsi-wall-n{
    flex:0 0 1.55rem;
    width:1.55rem;
    height:1.55rem;
    border:1.3px solid var(--ink);
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:.78rem;
    background:var(--paper-hi);
}
.nsi-scale{margin:0;border-left:1.5px solid var(--line-2);padding-left:2.2rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.4rem;min-width:0}
.nsi-scale-item{border-bottom:1px solid var(--line-2);padding-bottom:1.1rem}
.nsi-scale-item:last-child{border-bottom:0;padding-bottom:0}
.nsi-scale dt{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;color:var(--ink)}
.nsi-scale dd{margin:0}
.nsi-scale-num{display:block;font-family:var(--f-head);font-weight:700;font-size:clamp(2.4rem,4vw,3.4rem);line-height:1.05;color:var(--green)}
.nsi-scale-cap{display:block;font-size:.84rem;line-height:1.5;color:var(--muted);margin-top:.2rem}

/* Блок 2 — Журнал объектов */
.nsi-log{
    background-color:var(--forest);
    background-image:linear-gradient(rgba(168,198,134,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(168,198,134,.05) 1px,transparent 1px);
    background-size:40px 40px;
    color:var(--light);
}
.nsi-log-intro{font-size:.95rem;color:var(--light-muted);margin:-.6rem 0 1.6rem;max-width:44rem}
.nsi-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}
.nsi-log-row{
    margin:0;
    display:grid;
    grid-template-columns:8.5rem 13rem minmax(0,1fr) auto;
    align-items:center;
    gap:0;
    padding:.75rem 1.2rem;
    background-color:var(--paper);
    background-image:url("images/paper-grain.png"),repeating-linear-gradient(-45deg,rgba(140,133,112,.07) 0 2px,transparent 2px 7px);
    color:var(--ink);
    font-family:var(--f-mono);
    font-size:.98rem;
    line-height:1.4;
    border:1px solid #CFC7B2;
    box-shadow:0 2px 0 rgba(0,0,0,.25);
}
.nsi-log-row:nth-child(2){transform:translateX(-4px)}
.nsi-log-row:nth-child(3){transform:translateX(3px)}
.nsi-log-row>span{min-width:0;padding:0 1rem}
.nsi-log-row>span:first-child{padding-left:0}
.nsi-log-date,.nsi-log-place{border-right:1px solid var(--line-2)}
.nsi-log-place{color:var(--muted)}
.nsi-log-stamp{
    font-size:.85rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--green);
    border:2px double var(--green);
    padding:.2em .6em !important;
    transform:rotate(-3deg);
    white-space:nowrap;
    opacity:.88;
}

/* Последние записи */
.nsi-latest-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}
.nsi-cards{display:grid;gap:2.6rem 2.4rem}
.nsi-cards-front{grid-template-columns:repeat(3,minmax(0,1fr))}
.nsi-cards-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.layout-single .nsi-cards-list{grid-template-columns:repeat(3,minmax(0,1fr))}

.card{display:flex;flex-direction:column;overflow:hidden}
.card-body{flex:1}
.nsi-card{
    position:relative;
    overflow:visible;
    background-color:var(--paper-hi);
    background-image:url("images/paper-grain.png");
    border:1px solid #BDB49C;
    padding:1.6rem 1.2rem 1.2rem;
    box-shadow:3px 5px 0 rgba(32,38,31,.14);
    transform:rotate(-1.2deg);
    transition:transform .2s ease,box-shadow .2s ease;
    min-width:0;
}
.nsi-card:nth-child(3n+2){transform:rotate(.9deg)}
.nsi-card:nth-child(3n){transform:rotate(-.5deg)}
.nsi-card::before{
    content:"";
    position:absolute;
    top:-13px;
    left:50%;
    width:92px;
    height:26px;
    margin-left:-46px;
    background:rgba(214,205,170,.85);
    border-left:1px dashed rgba(140,133,112,.5);
    border-right:1px dashed rgba(140,133,112,.5);
    transform:rotate(2deg);
    z-index:2;
}
.nsi-card:hover{transform:rotate(0) translateY(-4px);box-shadow:5px 9px 0 rgba(32,38,31,.18)}
.nsi-card-thumb{position:relative;overflow:hidden;border:1px solid rgba(32,38,31,.25)}
.nsi-card-thumb a{display:block}
.nsi-card-img,.nsi-card-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;filter:saturate(.9)}
.nsi-card-num{
    position:absolute;
    top:.55rem;
    left:.55rem;
    font-family:var(--f-mono);
    font-size:.82rem;
    background:var(--paper-hi);
    color:var(--ink);
    padding:.12em .5em;
    border:1px solid var(--line-2);
}
.nsi-card-pin{
    position:absolute;
    top:.55rem;
    right:.55rem;
    font-family:var(--f-mono);
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    background:var(--ochre);
    color:var(--ink);
    padding:.15em .5em;
}
.nsi-card-body{display:flex;flex-direction:column;min-width:0;padding-top:1rem}
.nsi-card-title{font-family:var(--f-mono);font-weight:400;font-size:1.15rem;line-height:1.35;margin:0 0 .6rem;text-transform:none}
.nsi-card-title a{color:var(--ink);text-decoration:none;background-image:linear-gradient(var(--ochre),var(--ochre));background-size:0 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s}
.nsi-card-title a:hover{background-size:100% 1.5px;color:var(--ink)}
.nsi-card-excerpt{font-size:.92rem;line-height:1.7;color:var(--muted);flex:1}
.card-excerpt p{margin:0 0 .5em;background:none}
.nsi-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:.9rem}
.nsi-card-date{font-family:var(--f-mono);font-size:.85rem;color:var(--muted)}
.nsi-empty{font-family:var(--f-mono);color:var(--muted)}

/* Блок 3 — Устойчивое развитие */
.nsi-sustain{
    background-color:var(--blue);
    background-image:linear-gradient(rgba(242,237,223,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(242,237,223,.04) 1px,transparent 1px);
    background-size:24px 24px;
    color:var(--light);
}
.nsi-sustain-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:3rem;align-items:center}
.nsi-sustain-quote{margin:0;padding:0 2.6rem 0 0;border:0;border-right:1px solid rgba(242,237,223,.25);background:none;font-style:normal}
.nsi-sustain-quote p{font-family:var(--f-mono);font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.45;color:var(--light);margin:0 0 1rem}
.nsi-sustain-quote footer{font-size:.88rem;color:var(--light-muted);font-style:italic}
.nsi-prints{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0}
.nsi-print{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.nsi-print-num{
    font-family:var(--f-head);
    font-weight:700;
    font-size:clamp(2.4rem,4.6vw,3.8rem);
    line-height:1;
    color:var(--light);
    opacity:.92;
    text-shadow:1px 1px 0 rgba(0,0,0,.25),-1px 0 0 rgba(242,237,223,.25);
}
.nsi-print-cap{font-family:var(--f-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--light-muted);margin-top:.4rem;border:1px solid rgba(242,237,223,.35);padding:.1em .5em}
.nsi-print-axis{flex:1 1 auto;min-width:1rem;max-width:3.5rem;border-top:1.5px solid rgba(242,237,223,.4);align-self:center;margin-bottom:1.6rem}
.nsi-sustain-note{margin:2.4rem 0 0;font-size:.92rem;color:var(--light-muted);max-width:52rem;border-top:1px dashed rgba(242,237,223,.25);padding-top:1.2rem}

/* Блок 4 — Сравнение материалов */
.nsi-matrix-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.nsi-matrix-table{min-width:620px;margin:0;background:transparent;border:1.5px solid var(--ink)}
.nsi-matrix-table th,.nsi-matrix-table td{border:1px solid var(--line-2);padding:.75rem 1rem;vertical-align:middle}
.nsi-matrix-table thead th{background:rgba(228,221,203,.6);font-size:.92rem}
.nsi-matrix-table tbody th{font-family:var(--f-mono);text-transform:none;letter-spacing:0;font-size:.98rem;background:transparent;width:22%}
.nsi-matrix-table td{white-space:nowrap}
.nsi-hatch{
    display:inline-block;
    vertical-align:middle;
    height:1.15rem;
    width:calc(var(--w) * 1%);
    max-width:calc(100% - 7.5rem);
    min-width:2.2rem;
    border:1px solid var(--ink);
    background-image:repeating-linear-gradient(-45deg,var(--ink) 0 1.3px,transparent 1.3px var(--g));
    margin-right:.6rem;
}
.nsi-h1{--g:10px;--w:22}
.nsi-h2{--g:7.5px;--w:40}
.nsi-h3{--g:5.5px;--w:58}
.nsi-h4{--g:4.2px;--w:76}
.nsi-h5{--g:3.2px;--w:92}
.nsi-hatch-label{font-family:var(--f-mono);font-size:.74rem;color:var(--muted);vertical-align:middle}
.nsi-matrix-note{font-size:.82rem;color:var(--muted);margin:.8rem 0 0;font-style:italic}

/* ---------- Внутренние страницы ---------- */
.nsi-inner{padding:2rem 0 4.5rem}
.nsi-crumbs{font-family:var(--f-mono);font-size:.85rem;color:var(--muted);margin-bottom:2rem;padding:.5rem 0;border-bottom:1px dashed var(--line-2)}
.nsi-crumbs a{color:var(--green);text-decoration:none;border-bottom:1px dashed var(--ochre)}
.nsi-crumbs a:hover{color:var(--ochre)}
.nsi-crumbs .sep{color:var(--ochre);margin:0 .25rem}
.layout-with-sidebar{display:grid;grid-template-columns:minmax(0,67fr) minmax(0,27fr);gap:0 6%;align-items:start}
.layout-single{display:block}
.layout-single .content-area{width:85%;margin-left:auto;margin-right:auto}
.content-area{min-width:0}
.nsi-page-head{margin-bottom:2.4rem}
.nsi-page-kicker{font-family:var(--f-mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .4rem}
.nsi-page-title{margin:0;color:var(--green);font-size:clamp(2.1rem,5vw,3.8rem);line-height:1}
.nsi-page-intro{margin-top:1rem;color:var(--muted)}

.nsi-sheet{
    background-color:var(--paper-hi);
    background-image:url("images/paper-grain.png");
    border:1px solid #BDB49C;
    box-shadow:4px 6px 0 rgba(32,38,31,.12);
    padding:2.4rem 2.6rem;
    margin-bottom:2.4rem;
    position:relative;
}
.nsi-entry-head{margin-bottom:1.6rem;padding-bottom:1.2rem;border-bottom:1.5px solid var(--ink)}
.nsi-entry-meta{font-family:var(--f-mono);font-size:.85rem;color:var(--muted);margin:0 0 .6rem;display:flex;gap:1.2rem;flex-wrap:wrap}
.nsi-entry-cat a{color:var(--green);text-decoration:none;border:1px solid var(--line-2);padding:.05em .5em}
.nsi-entry-title{margin:0;font-size:clamp(1.9rem,4vw,3rem);line-height:1.08;color:var(--green)}
.nsi-entry-thumb{margin:0 0 1.8rem;border:1px solid var(--line-2);padding:.6rem;background:var(--paper)}
.nsi-entry-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover}
.entry-content{min-width:0}
.entry-content>*:first-child{margin-top:0}
.entry-content h2{border-bottom:1px dashed var(--line-2);padding-bottom:.3em}
.entry-content h2::before{content:"§ ";color:var(--ochre);font-family:var(--f-mono);font-weight:400}
.entry-content ul{list-style:none;padding-left:1.6em}
.entry-content ul li{position:relative}
.entry-content ul li::before{content:"";position:absolute;left:-1.25em;top:.72em;width:.6em;border-top:2px solid var(--moss)}
.entry-content ol li::marker{font-family:var(--f-mono);color:var(--ochre)}
.entry-content img{border:1px solid var(--line-2)}
.entry-content figure{margin:1.8em 0}
.entry-content figcaption{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);margin-top:.5rem}
.entry-content .wp-block-table{overflow-x:auto}
.entry-content a{text-decoration-style:dashed}
.nsi-entry-tags{margin-top:2rem;padding-top:1rem;border-top:1px dashed var(--line-2);display:flex;flex-wrap:wrap;gap:.5rem}
.nsi-entry-tags a{font-family:var(--f-mono);font-size:.85rem;text-decoration:none;color:var(--green);border:1px solid var(--line-2);padding:.15em .6em;background:var(--paper)}
.nsi-entry-tags a:hover{background:var(--green);color:var(--light)}
.nsi-page-links{margin-top:1.6rem;font-family:var(--f-mono)}
.nsi-post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin-bottom:2.4rem}
.nsi-post-nav a{display:block;padding:1rem 1.2rem;border:1.5px solid var(--ink);background:var(--paper-hi);text-decoration:none;color:var(--ink);font-family:var(--f-mono);font-size:.95rem;line-height:1.4;box-shadow:3px 3px 0 rgba(32,38,31,.2);transition:transform .12s,box-shadow .12s}
.nsi-post-nav a:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 rgba(32,38,31,.2);color:var(--green)}
.nsi-post-nav span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ochre);margin-bottom:.3rem}
.nsi-post-nav-next{text-align:right;grid-column:2}

/* Сайдбар */
.nsi-sidebar{
    background-color:var(--paper-lo);
    background-image:url("images/paper-grain.png"),repeating-linear-gradient(0deg,transparent 0 27px,rgba(140,133,112,.18) 27px 28px);
    border:1px solid var(--line-2);
    border-top:6px solid var(--green);
    padding:1.6rem 1.5rem;
    color:var(--ink);
    min-width:0;
}
.nsi-sidebar .nsi-widget{margin-bottom:2rem}
.nsi-sidebar .nsi-widget:last-child{margin-bottom:0}
.nsi-sidebar .nsi-widget-title{
    display:inline-block;
    font-family:var(--f-mono);
    font-weight:400;
    font-size:1rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    border:2px solid var(--ink);
    padding:.2em .6em;
    margin:0 0 1rem;
    color:var(--ink);
}
.nsi-sidebar ul{list-style:none;padding:0;margin:0}
.nsi-sidebar li{padding:.55rem 0;border-bottom:1px dashed var(--line-2);margin:0;line-height:1.45;color:var(--ink)}
.nsi-sidebar li:last-child{border-bottom:0}
.nsi-sidebar a{color:var(--green);text-decoration:none;font-size:.95rem}
.nsi-sidebar a:hover{color:var(--ochre)}
.nsi-sidebar .post-date{display:block;font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}
.nsi-sidebar p,.nsi-sidebar .textwidget{color:var(--ink);font-size:.94rem}

/* Пагинация (type => plain) */
.nsi-pager{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:3rem}
.nsi-pager .page-numbers{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:2.6rem;
    height:2.6rem;
    padding:0 .8rem;
    font-family:var(--f-mono);
    font-size:.95rem;
    color:var(--ink);
    text-decoration:none;
    border:2px solid var(--ink);
    background:var(--paper-hi);
    box-shadow:2px 2px 0 var(--ink);
    transition:transform .12s,box-shadow .12s;
}
.nsi-pager a.page-numbers:hover{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink);color:var(--green)}
.nsi-pager .page-numbers.current{background-color:var(--btn);background-image:repeating-linear-gradient(-45deg,rgba(242,237,223,.16) 0 2px,transparent 2px 6px);color:var(--light)}
.nsi-pager .page-numbers.dots{border:0;box-shadow:none;background:none;min-width:1.5rem;padding:0}

/* Поиск */
.nsi-search{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.4rem 0}
.nsi-search-field{
    flex:1 1 220px;
    min-width:0;
    font-family:var(--f-mono);
    font-size:1rem;
    padding:.65em .9em;
    border:2px solid var(--ink);
    border-radius:0;
    background:var(--paper);
    color:var(--ink);
}

/* 404 */
.nsi-404{text-align:left}
.nsi-404 .nsi-entry-title{margin:.4rem 0 1.2rem}
.nsi-404-code{font-family:var(--f-head);font-weight:700;font-size:clamp(5rem,16vw,9rem);line-height:1;margin:0;color:transparent;-webkit-text-stroke:2px var(--green);letter-spacing:.04em}

/* Комментарии */
.nsi-comments-title{font-family:var(--f-mono);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:1.2rem;margin-top:0}
.nsi-comment-list,.nsi-comment-list .children{list-style:none;padding:0;margin:0}
.nsi-comment-list .children{padding-left:2rem;border-left:1px dashed var(--line-2);margin-left:.8rem}
.nsi-comment-body{padding:1.1rem 0;border-bottom:1px dashed var(--line-2)}
.nsi-comment-meta{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.6rem;font-family:var(--f-mono);font-size:.88rem}
.nsi-avatar{border:1px solid var(--line-2)}
.nsi-comment-author{font-weight:400;color:var(--ink)}
.nsi-comment-meta time{color:var(--muted)}
.nsi-moderation{font-family:var(--f-mono);font-size:.85rem;color:var(--ochre)}
.nsi-reply a{font-family:var(--f-mono);font-size:.85rem;text-decoration:none;border-bottom:1px dashed var(--ochre)}
.comment-respond{margin-top:1.6rem}
.comment-reply-title{font-family:var(--f-mono);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem}
.comment-reply-title small{margin-left:.8rem;font-size:.8rem;text-transform:none}
.comment-form label{display:block;font-family:var(--f-mono);font-size:.85rem;margin-bottom:.3rem}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{
    width:100%;
    font-family:var(--f-body);
    font-size:1rem;
    padding:.6em .8em;
    border:1.5px solid var(--ink);
    border-radius:0;
    background:var(--paper);
    color:var(--ink);
}
.comment-form-cookies-consent{display:flex;gap:.5rem;align-items:flex-start}
.comment-form-cookies-consent label{display:inline;font-family:var(--f-body);font-size:.88rem}
.comment-form .submit{
    font-family:var(--f-mono);
    font-size:.92rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--light);
    padding:.65em 1.3em;
    border:2px solid var(--ink);
    border-radius:0;
    background-color:var(--btn);
    background-image:repeating-linear-gradient(-45deg,rgba(242,237,223,.16) 0 2px,transparent 2px 6px);
    box-shadow:3px 3px 0 var(--ink);
    cursor:pointer;
}
.comment-form .submit:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.comment-notes,.logged-in-as{font-size:.88rem;color:var(--muted)}

/* ---------- Подвал ---------- */
.nsi-foot{
    background-color:var(--pine);
    background-image:linear-gradient(rgba(168,198,134,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(168,198,134,.035) 1px,transparent 1px);
    background-size:40px 40px;
    color:var(--light);
    padding:3.6rem 0 1.6rem;
    border-top:4px solid var(--green);
}
.nsi-foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.nsi-foot-col{padding:0 2.4rem;border-left:1px solid rgba(168,198,134,.22);min-width:0}
.nsi-foot-col:first-child{padding-left:0;border-left:0}
.nsi-foot .nsi-widget{margin-bottom:1.6rem;color:var(--light)}
.nsi-foot .nsi-widget-title{font-family:var(--f-mono);font-weight:400;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--line);margin:0 0 1rem}
.nsi-foot p,.nsi-foot .textwidget{font-size:.95rem;line-height:1.7;color:var(--light-muted)}
.nsi-foot a{color:var(--light);text-decoration:none;border-bottom:1px dashed rgba(201,123,46,.7)}
.nsi-foot a:hover{color:var(--line);border-bottom-color:var(--line)}
.nsi-foot ul{list-style:none;padding:0;margin:0}
.nsi-foot li{margin:0 0 .45rem;color:var(--light-muted)}
.nsi-foot li a{border-bottom:0;font-size:.95rem}
.nsi-foot li a::before{content:"→ ";color:var(--line)}
.nsi-foot .post-date{display:block;font-size:.78rem;color:var(--light-muted)}
.nsi-copy{
    margin:2.4rem 0 0;
    padding-top:1.2rem;
    border-top:1px solid rgba(168,198,134,.22);
    font-family:var(--f-mono);
    font-size:.78rem;
    line-height:1.55;
    color:var(--light-muted);
}

/* ---------- Cookie-баннер ---------- */
.cookie-banner{
    position:fixed;
    left:1rem;
    right:1rem;
    bottom:1rem;
    z-index:90;
    max-width:880px;
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:1.4rem;
    padding:1.1rem 1.4rem;
    background-color:var(--paper-hi);
    background-image:url("images/paper-grain.png");
    color:var(--ink);
    border:2px solid var(--ink);
    box-shadow:5px 5px 0 rgba(20,37,29,.55);
}
.cookie-banner-text{margin:0;font-size:.9rem;line-height:1.55;flex:1;min-width:0}
.cookie-banner-btn{flex:0 0 auto}

/* ---------- Адаптив ---------- */
@media (max-width:960px){
    .nsi-menu-toggle{display:inline-flex}
    .nsi-nav{width:100%;display:none}
    .nsi-nav.is-open{display:block}
    .nsi-nav-list{flex-direction:column;gap:0;padding:.6rem 0 .4rem;border-top:1px solid rgba(168,198,134,.3)}
    .nsi-nav-list a{display:block;padding:.65rem 0;border-bottom:1px dashed rgba(168,198,134,.25)}
    .nsi-brand{flex:1 1 0}

    .nsi-front-shell{width:min(92%,1240px)}
    .nsi-cover-grid{grid-template-columns:minmax(0,1fr)}
    .nsi-cover-title{margin-right:0}
    .nsi-cover-note{margin-left:18%}
    .nsi-cover-photo{max-width:560px}
    .nsi-anatomy-grid{grid-template-columns:minmax(0,1fr)}
    .nsi-scale{border-left:0;padding-left:0;border-top:1.5px solid var(--line-2);padding-top:1.6rem;flex-direction:row;flex-wrap:wrap}
    .nsi-scale-item{flex:1 1 180px;border-bottom:0;padding-bottom:0}
    .nsi-log-row{grid-template-columns:7.5rem minmax(0,1fr) auto;row-gap:.4rem}
    .nsi-log-text{grid-column:1/-1;grid-row:2;padding-left:0 !important}
    .nsi-log-place{border-right:0}
    .nsi-cards-front,.layout-single .nsi-cards-list{grid-template-columns:repeat(2,minmax(0,1fr))}
    .nsi-sustain-grid{grid-template-columns:minmax(0,1fr)}
    .nsi-sustain-quote{border-right:0;padding-right:0;border-bottom:1px solid rgba(242,237,223,.25);padding-bottom:1.6rem}
    .layout-with-sidebar{grid-template-columns:minmax(0,1fr)}
    .nsi-sidebar{margin-top:2.4rem}
    .layout-single .content-area{width:100%}
    .nsi-foot-cols{grid-template-columns:minmax(0,1fr)}
    .nsi-foot-col{padding:0;border-left:0;border-top:1px solid rgba(168,198,134,.22);padding-top:1.4rem}
    .nsi-foot-col:first-child{border-top:0;padding-top:0}
}
@media (max-width:600px){
    body{font-size:1rem}
    .front-section{padding:3rem 0}
    .nsi-cover{padding:2.2rem 0 2rem}
    .nsi-cover-note{margin-left:8%}
    .nsi-wall{grid-template-columns:minmax(0,1fr);gap:1.6rem}
    .nsi-wall-fig{justify-self:center}
    .nsi-wall-fig img{width:200px}
    .nsi-wall-layers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem}
    .nsi-wall-layers li{font-size:.85rem}
    .nsi-wall-layers li::before{display:none}
    .nsi-log-row{grid-template-columns:minmax(0,1fr) auto;padding:.75rem 1rem;font-size:.9rem}
    .nsi-log-date{border-right:0}
    .nsi-log-place{grid-column:1/-1;grid-row:2;padding-left:0 !important}
    .nsi-log-text{grid-row:3}
    .nsi-log-stamp{grid-column:2;grid-row:1}
    .nsi-cards-front,.nsi-cards-list,.layout-single .nsi-cards-list{grid-template-columns:minmax(0,1fr)}
    .nsi-prints{flex-wrap:wrap;justify-content:center;gap:1.2rem}
    .nsi-print-axis{display:none}
    .nsi-sheet{padding:1.6rem 1.3rem}
    .nsi-post-nav{grid-template-columns:minmax(0,1fr)}
    .nsi-post-nav-next{grid-column:1}
    .nsi-sidebar{padding:1.3rem 1.2rem}
    .cookie-banner{flex-direction:column;align-items:stretch;gap:.9rem;padding:1rem 1.1rem}
    .nsi-brand-mark,.nsi-brand-mark img,.nsi-logo-svg{width:48px}
}
