/*
Theme Name: dds_sensoriumvr.com
Theme URI: https://sensoriumvr.com/
Author: Дмитрий Волков
Description: Тема аналитического портала о застройщиках и новостройках: чертёж-атлас города, карта сроков сдачи, разбор объектов и рейтинг застройщиков.
Version: 1.1
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: sensvr
*/

/* ---------- Шрифты ---------- */
@font-face{font-family:"Russo One";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/russo-one-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:"Russo One";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/russo-one-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+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/ibm-plex-sans-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:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/ibm-plex-sans-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+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/ibm-plex-sans-cyrillic-600-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/ibm-plex-mono-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:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/ibm-plex-mono-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+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Переменные ---------- */
:root{
  --night:#101C2C;
  --night-deep:#0E1826;
  --foot:#0A121C;
  --grid:#1E3A52;
  --grid-wide:#274A66;
  --paper:#E8EDF0;
  --sheet:#F5F8FA;
  --tracing:#EFE3C2;
  --text:#E8EDF0;
  --muted:#7E9AB0;
  --ink:#13212F;
  --ink-muted:#5C7285;
  --lime:#D6F24A;
  --coral:#F2584B;
  --teal:#35C4B5;
  --steel:#8FB0C6;
  --amber:#F2A23C;
  --paper-line:#B9CCD8;
  --font-head:"Russo One","Arial Narrow","Roboto Condensed",Arial,sans-serif;
  --font-body:"IBM Plex Sans","Segoe UI",Roboto,Arial,sans-serif;
  --font-mono:"IBM Plex Mono",Consolas,"Courier New",monospace;
}

/* ---------- Базовые стили ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  overflow-x:hidden;
  color:var(--text);
  font:400 16px/1.7 var(--font-body);
  background-color:var(--night);
  background-image:
    linear-gradient(rgba(39,74,102,.55) 1px,transparent 1px),
    linear-gradient(90deg,rgba(39,74,102,.55) 1px,transparent 1px),
    linear-gradient(rgba(30,58,82,.55) 1px,transparent 1px),
    linear-gradient(90deg,rgba(30,58,82,.55) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px;
}
img{max-width:100%;height:auto}
p{margin:0 0 1em}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:400;line-height:1.15;margin:1.4em 0 .6em;letter-spacing:.01em}
h1{font-size:clamp(1.9rem,4vw,2.9rem)}
h2{font-size:clamp(1.45rem,2.6vw,2rem)}
h3{font-size:1.3rem}
h4{font-size:1.1rem}
p,li,dd,td,th,h1,h2,h3,h4,figcaption,blockquote{overflow-wrap:break-word;hyphens:auto}
a{color:var(--lime);text-decoration:underline dotted;text-underline-offset:4px;text-decoration-thickness:1px;transition:color .15s}
a:hover{color:#fff;text-decoration-style:solid}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
::selection{background:var(--lime);color:var(--ink)}

.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--lime);color:var(--ink);padding:.6rem 1rem;font-weight:600}
.skip-link:focus{left:1rem;top:1rem}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Один контейнер ширины на весь сайт */
.shell{width:min(85%,1240px);margin-inline:auto}

/* ---------- Кнопки ---------- */
.btn,
.comment-form .submit,
.search-form button{
  display:inline-flex;align-items:center;gap:.6em;
  padding:.85em 1.6em;
  font:400 .95rem/1.2 var(--font-head);
  text-transform:uppercase;letter-spacing:.06em;text-decoration:none;
  color:var(--ink);background:var(--lime);
  border:2px solid var(--ink);
  outline:2px solid var(--lime);outline-offset:3px;
  box-shadow:7px 7px 0 rgba(214,242,74,.35);
  border-radius:0;cursor:pointer;
  transition:transform .15s,box-shadow .15s,background .15s;
}
.btn:hover,
.comment-form .submit:hover,
.search-form button:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 rgba(214,242,74,.5);color:var(--ink);background:#E4FA73}
.btn-sm{padding:.55em 1em;font-size:.78rem;outline-offset:2px;box-shadow:4px 4px 0 rgba(53,196,181,.45)}
.btn-sm:hover{box-shadow:1px 1px 0 rgba(53,196,181,.6)}
.btn-ghost{background:transparent;color:var(--lime);border-color:var(--lime);outline-color:rgba(214,242,74,.4)}
.btn-ghost:hover{background:var(--lime);color:var(--ink)}
.btn .arrow{font-family:var(--font-body);font-size:1.15em;line-height:1}

/* ---------- Шапка ---------- */
.site-header{position:relative;border-bottom:1px solid var(--grid-wide);background:rgba(16,28,44,.92)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:repeating-linear-gradient(90deg,var(--grid-wide) 0 1px,transparent 1px 12px)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.4rem 0}
.brand{display:flex;align-items:center;gap:1.1rem;min-width:0;text-decoration:none;color:inherit}
.brand:hover{color:inherit}
.brand-mark{flex:0 0 auto;width:88px;height:72px;display:block}
.brand-mark svg,.brand-logo{width:100%;height:100%;display:block;object-fit:contain}
.brand-text{min-width:0;max-width:44ch}
.brand-name{display:block;font:400 clamp(.95rem,1.4vw,1.15rem)/1.25 var(--font-head);text-transform:uppercase;color:#fff;letter-spacing:.02em}
.brand-desc{display:block;margin-top:.35rem;font-size:.82rem;line-height:1.45;color:var(--muted)}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:stretch}
.main-nav li{position:relative}
.main-nav li+li{border-left:1px solid var(--grid-wide)}
.main-nav a{display:block;padding:.9rem 1.3rem;font:400 .9rem/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.06em;color:var(--steel);text-decoration:none}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:var(--lime)}
.main-nav .current-menu-item>a,.main-nav .current_page_item>a{text-decoration:underline solid var(--lime);text-decoration-thickness:3px;text-underline-offset:9px}
.nav-toggle{display:none;align-items:center;gap:.5rem;background:transparent;color:var(--lime);border:2px solid var(--lime);padding:.55rem .9rem;font:400 .8rem/1 var(--font-head);text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.nav-toggle-bars{width:18px;height:12px;background:linear-gradient(var(--lime),var(--lime)) top/100% 2px no-repeat,linear-gradient(var(--lime),var(--lime)) center/100% 2px no-repeat,linear-gradient(var(--lime),var(--lime)) bottom/100% 2px no-repeat}

/* ---------- Заголовки секций ---------- */
.band{position:relative;padding:4.5rem 0}
.sec-head{position:relative;margin-bottom:2.4rem}
.sec-num{position:absolute;left:-3.6rem;top:.2rem;font:500 .9rem/1 var(--font-mono);color:var(--lime);letter-spacing:.06em}
.sec-title{display:inline-block;margin:0;font-size:clamp(1.6rem,3.6vw,2.6rem);text-transform:uppercase;line-height:1.1;padding-bottom:.35rem;border-bottom:5px solid var(--lime)}
.sec-lead{max-width:62ch;margin:1rem 0 0;color:var(--muted)}
.band-paper .sec-num,.band-tracing .sec-num{color:var(--ink-muted)}
.band-paper .sec-title,.band-tracing .sec-title{color:var(--ink);border-bottom-color:#A9C93A}
.band-paper .sec-lead,.band-tracing .sec-lead{color:var(--ink-muted)}

/* ---------- Блок 1: план квартала ---------- */
.band-hero{padding:3rem 0 0;overflow:hidden;border-bottom:1px solid var(--grid-wide)}
.hero-stage{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:2rem;align-items:center;position:relative}
.hero-copy{position:relative;z-index:2;padding:2rem 0 3rem}
.hero-copy .sec-num{top:-1.6rem}
.hero-title{margin:0 0 1.4rem;hyphens:manual;font-size:clamp(2.1rem,4.6vw,4.4rem);line-height:1.02;text-transform:uppercase;color:#fff;padding-bottom:.6rem;border-bottom:6px solid var(--lime);display:inline-block}
.hero-copy p{font-size:1.12rem;max-width:34ch;color:var(--text);margin-bottom:2rem}
.hero-visual{position:relative;min-width:0;padding:1rem 0 2rem}
.hero-plan{position:relative;width:74%;margin:0}
.hero-plan img{display:block;width:100%;height:auto;aspect-ratio:894/884;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 72% 70% at 52% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 72% 70% at 52% 50%,#000 58%,transparent 100%)}
.plan-tag{position:absolute;display:inline-block;padding:.25rem .55rem;font:500 .72rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:rgba(10,18,28,.88);border:1px solid currentColor}
.plan-tag.is-late{color:var(--coral);left:46%;top:3.5%}
.plan-tag.is-ok{color:var(--teal)}
.plan-tag.tag-a{left:12%;top:65%}
.plan-tag.tag-b{left:56%;top:68.5%}
.plan-tag.tag-c{left:79%;top:69.5%}
.compass{position:absolute;right:0;top:0;width:70px;height:70px;opacity:.85}
.vr-scope{position:absolute;right:0;top:12%;width:44%;aspect-ratio:1/1;z-index:1}
.vr-scope img{position:absolute;inset:11%;width:78%;height:78%;object-fit:cover;border-radius:50%;display:block}
.vr-scope::before{content:"";position:absolute;inset:4%;border-radius:50%;border:3px solid var(--lime);box-shadow:0 0 0 7px rgba(16,28,44,.85),0 0 0 8px rgba(214,242,74,.35)}
.vr-scope::after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(rgba(214,242,74,.9) 0 .6deg,transparent .6deg 6deg);-webkit-mask:radial-gradient(circle,transparent 46.5%,#000 47%,#000 50%,transparent 50.5%);mask:radial-gradient(circle,transparent 46.5%,#000 47%,#000 50%,transparent 50.5%)}
.vr-cross{position:absolute;inset:0;pointer-events:none}
.vr-cross::before,.vr-cross::after{content:"";position:absolute;background:var(--lime)}
.vr-cross::before{left:-6%;right:-6%;top:50%;height:2px;-webkit-mask:linear-gradient(90deg,#000 0 8%,transparent 8% 92%,#000 92%);mask:linear-gradient(90deg,#000 0 8%,transparent 8% 92%,#000 92%)}
.vr-cross::after{top:-6%;bottom:-6%;left:50%;width:2px;-webkit-mask:linear-gradient(#000 0 8%,transparent 8% 92%,#000 92%);mask:linear-gradient(#000 0 8%,transparent 8% 92%,#000 92%)}
.vr-label{position:absolute;right:-2%;bottom:-6%;padding:.45rem .9rem;font:400 .95rem/1 var(--font-head);color:var(--lime);background:var(--night);border:2px solid var(--lime);outline:1px solid rgba(214,242,74,.4);outline-offset:3px}
.vr-label::before{content:"";position:absolute;right:100%;top:50%;width:46px;height:30px;border-left:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:translateY(-100%)}
.hero-ruler{position:relative;margin-top:1rem;padding:0 0 1.6rem;border-top:1px solid var(--grid-wide)}
.ruler-ticks{height:22px;background:
  repeating-linear-gradient(90deg,var(--steel) 0 2px,transparent 2px 20%) 0 0/100% 22px no-repeat,
  repeating-linear-gradient(90deg,rgba(143,176,198,.85) 0 1px,transparent 1px 2%) 0 8px/100% 14px no-repeat,
  repeating-linear-gradient(90deg,rgba(143,176,198,.45) 0 1px,transparent 1px .5%) 0 15px/100% 7px no-repeat;
  border-bottom:2px solid var(--steel)}
.ruler-nums{display:flex;justify-content:space-between;margin-top:.4rem;font:500 .78rem/1 var(--font-mono);color:var(--muted)}

/* ---------- Блок 2: карта сроков (светлая бумага) ---------- */
.band-paper{color:var(--ink);background-color:var(--paper);background-image:
  linear-gradient(rgba(92,114,133,.22) 1px,transparent 1px),
  linear-gradient(90deg,rgba(92,114,133,.22) 1px,transparent 1px),
  linear-gradient(rgba(92,114,133,.1) 1px,transparent 1px),
  linear-gradient(90deg,rgba(92,114,133,.1) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px}
.band-paper a{color:#1E5A86}
.deadline-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,280px);gap:2.4rem;align-items:start}
.deadline-scroll{overflow-x:auto;padding-bottom:.6rem}
.deadline-chart{position:relative;min-width:620px;height:230px}
.dl-years{position:absolute;left:0;right:0;top:0;height:24px}
.dl-years span{position:absolute;transform:translateX(-50%);font:500 .85rem/1 var(--font-mono);color:var(--ink-muted)}
.dl-axis{position:absolute;left:0;right:0;top:150px;height:20px;border-bottom:2px solid #4D6A82;background:
  repeating-linear-gradient(90deg,#4D6A82 0 1px,transparent 1px 2%) 0 100%/100% 9px no-repeat,
  repeating-linear-gradient(90deg,#4D6A82 0 2px,transparent 2px 20%) 0 100%/100% 20px no-repeat}
.dl-flag{position:absolute;top:84px;height:86px;color:var(--c);border-left:2px solid var(--c);transform:translateX(-1px)}
.dl-flag b{position:absolute;left:0;top:0;padding:.3rem 1.1rem .3rem .55rem;font:500 .74rem/1.2 var(--font-mono);text-transform:lowercase;color:#fff;background:var(--c);white-space:nowrap;clip-path:polygon(0 0,100% 0,86% 50%,100% 100%,0 100%)}
.dl-flag b span{color:#fff}
.dl-flag small{position:absolute;left:-1.2rem;top:96px;width:2.4rem;text-align:center;font:500 .7rem/1 var(--font-mono);color:var(--ink-muted)}
.dl-flag.is-late{--c:var(--coral)}
.dl-flag.is-ok{--c:#1E9E91}
.dl-flag.is-plan{--c:#6F93AD}
.dl-note{margin:1rem 0 0;font-size:.9rem;color:var(--ink-muted);max-width:70ch}
.legend-sheet{position:relative;padding:1.4rem 1.6rem;background:rgba(245,248,250,.7);border:1px solid #8AA5BA;outline:1px solid rgba(138,165,186,.5);outline-offset:4px;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.legend-sheet h3{margin:0 0 .9rem;font-size:.95rem;text-transform:uppercase;color:var(--ink)}
.legend-sheet ul{list-style:none;margin:0;padding:0}
.legend-sheet li{display:flex;align-items:center;gap:.8rem;margin:.55rem 0;color:var(--ink)}
.legend-sheet i{flex:0 0 20px;width:20px;height:20px;display:block}
.legend-sheet .k-ok{background:var(--teal)}
.legend-sheet .k-late{background:var(--coral)}
.legend-sheet .k-plan{background:#8FB0C6}

/* ---------- Последние записи ---------- */
.band-posts{background:linear-gradient(180deg,rgba(14,24,38,.55),rgba(16,28,44,0))}
.posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2rem}
.posts-empty{color:var(--muted)}
.card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;color:var(--ink);background:var(--sheet);border:2px solid var(--grid);box-shadow:8px 8px 0 rgba(30,58,82,.9);padding:1.1rem 1.1rem 1.2rem;transition:transform .18s,box-shadow .18s}
.card:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 rgba(214,242,74,.55)}
.card::before{content:"";position:absolute;left:0;top:0;width:24px;height:24px;background:linear-gradient(135deg,var(--night) 50%,#C3D1DC 50%);z-index:2}
.card::after{content:"";position:absolute;right:0;bottom:0;width:20px;height:20px;background:linear-gradient(315deg,var(--night) 50%,#C3D1DC 50%)}
.card-thumb{position:relative;margin:0 0 1.1rem}
.card-thumb a{display:block}
.card-thumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;clip-path:polygon(0 0,50% 0,58% 13%,100% 13%,100% 100%,0 100%);filter:saturate(.9)}
.card-thumb::before,.card-thumb::after{content:"";position:absolute;width:16px;height:16px;border:3px solid #9DB3C4;z-index:1}
.card-thumb::before{left:-5px;bottom:-5px;border-right:0;border-top:0}
.card-thumb::after{right:-5px;bottom:-5px;border-left:0;border-top:0}
.card-stamp{position:absolute;right:0;top:-.15rem;font:500 .85rem/1 var(--font-mono);color:#6E97B6;letter-spacing:.03em}
.card-body{flex:1;display:flex;flex-direction:column;min-width:0}
.card-title{margin:0 0 .6rem;font:600 1.1rem/1.35 var(--font-body)}
.card-title a{color:var(--ink);text-decoration:none}
.card-title a:hover{color:#1E5A86;text-decoration:underline dotted}
.card-excerpt{flex:1;font-size:.95rem;color:#2C4256}
.card-excerpt p{margin:0 0 .5em;background:none}
.card-excerpt a{color:#1E5A86}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}
.card-rule{flex:1;height:10px;position:relative;max-width:110px}
.card-rule::before{content:"";position:absolute;left:0;right:16px;top:50%;border-top:2px dotted #9BC93A}
.card-rule::after{content:"→";position:absolute;right:0;top:50%;transform:translateY(-55%);color:#86B02A;font-size:1.1rem;line-height:1}
.card .btn-sm{background:#B9E04A;outline-color:#8FC23A;color:var(--ink)}

/* ---------- Блок 3: разбор объекта ---------- */
.band-object{background:linear-gradient(180deg,var(--night-deep),rgba(14,24,38,.4));border-top:1px solid var(--grid-wide);border-bottom:1px solid var(--grid-wide)}
.object-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:2.6rem;align-items:center}
.cutaway-frame{position:relative}
.cutaway{position:relative;margin:0;border:1px solid var(--grid-wide);background:rgba(10,18,28,.35);padding:0}
.cutaway img{display:block;width:74%;height:auto;aspect-ratio:1040/732;object-fit:cover;margin-left:8%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 92%,transparent 100%)}
.callout{position:absolute;height:2px;background:currentColor}
.callout::before{content:"";position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:currentColor;transform:translateY(-50%);box-shadow:0 0 0 4px rgba(16,28,44,.6)}
.callout::after{content:"";position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:currentColor;transform:translateY(-50%)}
.callout.to-left::before{left:-6px}.callout.to-left::after{right:-6px}
.callout.to-right::before{right:-6px}.callout.to-right::after{left:-6px}
.callout span{position:absolute;bottom:.55rem;font:600 1rem/1 var(--font-body);white-space:nowrap;padding:.15rem .35rem;background:rgba(14,24,38,.75)}
.callout.to-left span{left:0}
.callout.to-right span{right:0}
.co-facade{color:var(--lime);left:3%;width:40.2%;top:33%}
.co-yard{color:var(--teal);left:3%;width:38.9%;top:66%}
.co-glazing{color:var(--teal);left:69.6%;width:25.4%;top:25.2%}
.co-engineering{color:var(--coral);left:70%;width:25%;top:62%}
.cutaway figcaption{padding:.8rem 1rem;font-size:.85rem;color:var(--muted);border-top:1px solid var(--grid-wide)}
.object-side p{color:var(--text)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin:1.4rem 0 0;padding:0;list-style:none}
.detail-grid li{position:relative;min-width:0}
.detail-grid img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--grid-wide)}
.detail-grid span{position:absolute;left:.5rem;bottom:.5rem;padding:.2rem .5rem;font:500 .72rem/1.2 var(--font-mono);text-transform:uppercase;color:var(--night);background:var(--lime)}
.detail-grid li:nth-child(2) span,.detail-grid li:nth-child(4) span{background:var(--teal)}
.detail-grid li:nth-child(3) span{background:var(--coral);color:#fff}

/* ---------- Блок 4: рейтинг (калька) ---------- */
.band-tracing{color:var(--ink);background-color:var(--tracing);background-image:
  linear-gradient(rgba(30,58,82,.12) 1px,transparent 1px),
  linear-gradient(90deg,rgba(30,58,82,.12) 1px,transparent 1px);
  background-size:24px 24px,24px 24px}
.rating-wrap{overflow-x:auto;padding:1.2rem 1.4rem;background:rgba(255,253,245,.45);border:1px solid #6F8BA2;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.rating{width:100%;min-width:760px;border-collapse:collapse;font-size:.95rem;color:var(--ink)}
.rating th,.rating td{border:1px solid #7E99AE;padding:.75rem .9rem;text-align:left;vertical-align:middle}
.rating th{font:400 .78rem/1.2 var(--font-head);text-transform:uppercase;letter-spacing:.05em;color:#2A3D50;background:rgba(30,58,82,.06)}
.rating td.num,.rating th.num{text-align:center;font-family:var(--font-mono)}
.rating td.c,.rating th.c{text-align:center}
.score-bar{display:block;height:12px;width:100%;min-width:140px;background:#fff;border:1px solid #8FA6B8}
.score-bar i{display:block;height:100%}
.dot{display:inline-block;width:18px;height:18px;border-radius:50%;vertical-align:middle;box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
.dot.d5{background:#26B3A3}.dot.d4{background:#7CCB55}.dot.d3{background:#C9E04A}.dot.d2{background:var(--amber)}.dot.d1{background:var(--coral)}
.rating-note{margin:1rem 0 0;font-size:.9rem;color:var(--ink-muted);max-width:80ch}

/* ---------- Внутренние страницы ---------- */
.site-main{padding:2.4rem 0 4.5rem}
.breadcrumbs{margin:0 0 1.6rem;font:500 .82rem/1.5 var(--font-mono);color:var(--muted)}
.breadcrumbs a{color:var(--steel)}
.breadcrumbs a:hover{color:var(--lime)}
.breadcrumbs .sep{margin:0 .45rem;color:var(--lime)}
.breadcrumbs span:last-child{color:var(--text)}
.layout-with-sidebar{display:grid;grid-template-columns:minmax(0,67fr) minmax(0,27fr);column-gap:6%;align-items:start}
.layout-single{display:block}
.content-area{min-width:0}
.page-head{margin-bottom:2rem}
.page-head h1{margin:0;text-transform:uppercase;padding-bottom:.4rem;border-bottom:5px solid var(--lime);display:inline-block}
.page-head p{margin:.8rem 0 0;color:var(--muted)}
.list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem}
.layout-single .list-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

.sheet{position:relative;color:var(--ink);background:var(--sheet);border:2px solid var(--grid);box-shadow:10px 10px 0 rgba(30,58,82,.9);padding:2.6rem 2.8rem}
.sheet::after{content:"";position:absolute;right:0;bottom:0;width:26px;height:26px;background:linear-gradient(315deg,var(--night) 50%,#C3D1DC 50%)}
.sheet-stamp{position:absolute;right:1.4rem;top:1.1rem;padding:.25rem .6rem;font:500 .8rem/1 var(--font-mono);color:#4F7A99;border:1px solid #9DB3C4}
.entry-title{margin:0 0 1rem;color:var(--ink);font-size:clamp(1.6rem,3.4vw,2.4rem);padding-right:7rem}
.entry-meta{margin:0 0 1.6rem;font:500 .85rem/1.5 var(--font-mono);color:var(--ink-muted)}
.entry-thumb{margin:0 0 1.8rem}
.entry-thumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid #9DB3C4}
.entry-content{font-size:1.04rem;line-height:1.8;color:#1D2E3E}
.entry-content h2,.entry-content h3,.entry-content h4{color:var(--ink)}
.entry-content h2{border-left:5px solid #A9C93A;padding-left:.8rem}
.entry-content a{color:#1E5A86}
.entry-content a:hover{color:var(--ink)}
.entry-content ul,.entry-content ol{padding-left:1.4rem;margin:0 0 1.2em}
.entry-content li{margin:.3em 0}
.entry-content ul li::marker{color:#1E9E91}
.entry-content blockquote{margin:1.6em 0;padding:1.2rem 1.6rem;background:var(--night);color:var(--text);border-left:6px solid var(--lime);font-size:1.08rem}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem}
.entry-content th,.entry-content td{border:1px solid #8FA6B8;padding:.6rem .8rem;text-align:left}
.entry-content th{background:#E1E9EF;font-weight:600}
.entry-content img{display:block;height:auto}
.entry-content figure{margin:1.6em 0}
.entry-content figcaption{font-size:.85rem;color:var(--ink-muted);margin-top:.4rem}
.entry-content pre{overflow-x:auto;background:#0E1826;color:var(--text);padding:1rem;font-family:var(--font-mono);font-size:.9rem}
.entry-content hr{border:0;border-top:2px dashed #9DB3C4;margin:2em 0}
.entry-tags{margin-top:2rem;font:500 .85rem/1.6 var(--font-mono);color:var(--ink-muted)}
.entry-tags a{color:#1E5A86}
.post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:2.4rem}
.post-nav a{display:block;padding:1rem 1.2rem;border:1px solid var(--grid-wide);background:rgba(14,24,38,.7);color:var(--text);text-decoration:none}
.post-nav a:hover{border-color:var(--lime)}
.post-nav small{display:block;font:500 .75rem/1.4 var(--font-mono);color:var(--lime);text-transform:uppercase;margin-bottom:.3rem}
.post-nav .next{text-align:right}

/* Сайдбар */
.sidebar{min-width:0;padding:1.6rem 1.5rem;background:var(--night-deep);border:1px solid var(--grid-wide);border-top:4px solid var(--lime);color:var(--text)}
.sidebar .widget{margin-bottom:2rem}
.sidebar .widget:last-child{margin-bottom:0}
.sidebar .widget-title{margin:0 0 1rem;font-size:1rem;text-transform:uppercase;color:#fff;padding-bottom:.5rem;border-bottom:2px solid var(--grid-wide)}
.sidebar ul{list-style:none;margin:0;padding:0}
.sidebar li{padding:.55rem 0;border-bottom:1px dashed var(--grid-wide);color:var(--text)}
.sidebar a{color:var(--text);text-decoration:none}
.sidebar a:hover{color:var(--lime)}
.sidebar .post-date{display:block;font:500 .75rem/1.4 var(--font-mono);color:var(--muted)}
.sidebar p{color:var(--text)}

/* Пагинация (type => plain) */
.pager{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.8rem}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.8rem;height:2.8rem;padding:0 .9rem;font:500 .9rem/1 var(--font-mono);color:var(--text);text-decoration:none;background:var(--night-deep);border:2px solid var(--grid-wide);outline:1px solid rgba(39,74,102,.6);outline-offset:2px}
.pager a.page-numbers:hover{border-color:var(--lime);color:var(--lime)}
.pager .page-numbers.current{background:var(--lime);color:var(--ink);border-color:var(--ink);outline-color:var(--lime)}
.pager .page-numbers.dots{border:0;outline:0;background:none;min-width:auto}

/* Комментарии */
.comments-area{margin-top:2.6rem}
.comments-title,.comment-reply-title{font-size:1.3rem;text-transform:uppercase;color:var(--ink);margin:0 0 1.2rem}
.comment-list{list-style:none;margin:0 0 2rem;padding:0}
.comment-list .children{list-style:none;padding-left:1.6rem;border-left:2px dashed #9DB3C4}
.comment-item{margin:0 0 1.2rem}
.comment-box{padding:1rem 1.2rem;background:#fff;border:1px solid #B9CCD8}
.comment-head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.5rem;font-size:.9rem}
.comment-head img{border-radius:0;display:block}
.comment-author{font-weight:600;color:var(--ink)}
.comment-date{font:500 .78rem/1 var(--font-mono);color:var(--ink-muted)}
.comment-moderation{font-size:.85rem;color:var(--coral)}
.comment-body-text{color:#1D2E3E}
.reply a{font:500 .8rem/1 var(--font-mono);color:#1E5A86}
.comment-form p{margin:0 0 1rem}
.comment-form label{display:block;margin-bottom:.3rem;font-size:.9rem;font-weight:600;color:var(--ink)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;padding:.75rem .9rem;font:inherit;color:var(--ink);background:#fff;border:2px solid #9DB3C4;border-radius:0}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--ink)}
.comment-form .comment-form-cookies-consent{display:flex;gap:.5rem;align-items:flex-start}
.comment-form .comment-form-cookies-consent label{font-weight:400}
.comment-notes,.logged-in-as{font-size:.88rem;color:var(--ink-muted)}
.comment-nav{display:flex;justify-content:space-between;margin:1rem 0}
#cancel-comment-reply-link{margin-left:.8rem;font-size:.85rem}

/* Поиск */
.search-form{display:flex;gap:.8rem;flex-wrap:wrap;max-width:560px}
.search-form input[type=search]{flex:1 1 220px;min-width:0;padding:.8rem 1rem;font:inherit;color:var(--ink);background:var(--sheet);border:2px solid var(--grid-wide);border-radius:0}
.sidebar .search-form button{padding:.7rem 1rem}

/* 404 */
.lost{text-align:left}
.lost-code{font:400 clamp(4rem,14vw,9rem)/1 var(--font-head);color:transparent;-webkit-text-stroke:2px var(--lime);margin:0 0 1rem}
.lost p{color:var(--text);max-width:52ch}
.lost .search-form{margin:1.8rem 0}

/* ---------- Подвал ---------- */
.site-footer{background:var(--foot);border-top:1px solid var(--grid-wide);color:#C9D6E0;padding:3.6rem 0 2rem}
.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.footer-col{min-width:0;padding:0 2rem}
.footer-col:first-child{padding-left:0}
.footer-col+.footer-col{border-left:1px solid var(--grid-wide)}
.site-footer .widget{margin-bottom:1.6rem}
.site-footer .widget-title{margin:0 0 1rem;font-size:1.05rem;text-transform:uppercase;color:#fff}
.site-footer p,.site-footer li,.site-footer .textwidget{color:#C9D6E0;font-size:.92rem;line-height:1.65}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{padding:.25rem 0}
.site-footer li a{color:#AFC3D2;text-decoration:none}
.site-footer li a::before{content:"→";color:var(--lime);margin-right:.6rem}
.site-footer a{color:var(--lime)}
.site-footer a:hover{color:#fff}
.footer-bottom{margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--grid);font:500 .82rem/1.5 var(--font-mono);color:var(--muted)}

/* ---------- Cookie-баннер ---------- */
.cookie-banner[hidden]{display:none!important}
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1.4rem;max-width:920px;margin-inline:auto;padding:1.1rem 1.4rem;color:var(--text);background:var(--night-deep);border:2px solid var(--lime);box-shadow:8px 8px 0 rgba(214,242,74,.25)}
.cookie-banner p{margin:0;font-size:.9rem;line-height:1.5}
.cookie-banner .btn{flex:0 0 auto}

/* ---------- Адаптив ---------- */
@media (max-width:960px){
  .shell{width:min(92%,1240px)}
  .sec-num{position:static;display:block;margin-bottom:.5rem}
  .header-row{flex-wrap:wrap;gap:1rem}
  .nav-toggle{display:inline-flex}
  .main-nav{flex-basis:100%;display:none}
  .main-nav.is-open{display:block}
  .main-nav ul{flex-direction:column;border:1px solid var(--grid-wide)}
  .main-nav li+li{border-left:0;border-top:1px solid var(--grid-wide)}
  .hero-stage{grid-template-columns:minmax(0,1fr)}
  .hero-copy{padding-bottom:0}
  .hero-copy .sec-num{top:auto}
  .deadline-layout{grid-template-columns:minmax(0,1fr)}
  .legend-sheet{max-width:360px}
  .posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .object-layout{grid-template-columns:minmax(0,1fr)}
  .layout-with-sidebar{grid-template-columns:minmax(0,1fr)}
  .sidebar{margin-top:2.6rem}
  .layout-single .list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-cols{grid-template-columns:minmax(0,1fr)}
  .footer-col{padding:1.4rem 0}
  .footer-col+.footer-col{border-left:0;border-top:1px solid var(--grid-wide)}
}
@media (max-width:600px){
  body{font-size:15px}
  .band{padding:3rem 0}
  .band-hero{padding-top:1.6rem}
  .brand-mark{width:60px;height:50px}
  .brand-desc{display:none}
  .hero-plan{width:88%}
  .vr-scope{width:52%;top:auto;bottom:6%}
  .vr-label{font-size:.75rem;padding:.35rem .6rem}
  .vr-label::before{display:none}
  .plan-tag{font-size:.6rem;padding:.15rem .35rem}
  .plan-tag.tag-a,.plan-tag.tag-c{display:none}
  .compass{width:48px;height:48px}
  .ruler-nums span:nth-child(even){visibility:hidden}
  .posts-grid,.list-grid,.layout-single .list-grid{grid-template-columns:minmax(0,1fr)}
  .card{padding:1rem}
  .cutaway img{width:84%;margin-left:4%}
  .callout span{font-size:.72rem}
  .co-facade{left:1%;width:42.9%}
  .co-yard{left:1%;width:41.5%}
  .co-glazing{left:74%;width:25%}
  .co-engineering{left:74.4%;width:24.6%}
  .rating-wrap{padding:.8rem}
  .legend-sheet{padding:1.1rem 1.2rem}
  .sheet{padding:1.6rem 1.2rem;box-shadow:6px 6px 0 rgba(30,58,82,.9)}
  .sheet-stamp{position:static;display:inline-block;margin-bottom:1rem}
  .entry-title{padding-right:0}
  .post-nav{grid-template-columns:minmax(0,1fr)}
  .post-nav .next{text-align:left}
  .cookie-banner{flex-direction:column;align-items:flex-start;padding:1rem 1.1rem}
  .sidebar{padding:1.3rem 1.1rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}
