/*
Theme Name: dds_sitecanal8.com
Theme URI: https://sitecanal8.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: kinodom
*/

/* ===== Шрифты ===== */
@font-face{font-family:"Oswald";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/oswald-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:"Oswald";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/oswald-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:"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:600;font-display:swap;src:url("fonts/oswald-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:"Oswald";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/oswald-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+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:"Roboto Condensed";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/roboto-condensed-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:"Roboto Condensed";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/roboto-condensed-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:"Roboto Condensed";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/roboto-condensed-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:"Roboto Condensed";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/roboto-condensed-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:"Roboto Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/roboto-condensed-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:"Roboto Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/roboto-condensed-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:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/ibm-plex-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:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/ibm-plex-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:"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+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{
  --kd-ink:#16222B;
  --kd-grid:#2E4650;
  --kd-tracing:#E8E4D8;
  --kd-on-dark:#F2EFE4;
  --kd-on-light:#1B2A32;
  --kd-muted:#7C8F94;
  --kd-signal:#E8542F;
  --kd-signal-dark:#C9431F;
  --kd-brass:#C9A227;
  --kd-rule:#3D5A63;
  --kd-emerald:#17352F;
  --kd-graphite:#1C1F24;
  --kd-panel:#1D2D37;
  --kd-tracing-deep:#DDD8C8;
  --kd-muted-light:#56686E;
  --kd-head:"Oswald","Arial Narrow","Roboto Condensed",sans-serif;
  --kd-text:"Roboto Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --kd-mono:"IBM Plex Mono",ui-monospace,"Consolas",monospace;
  --kd-pad:clamp(1.25rem,4vw,3rem);
}

/* ===== Служебные правила [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(--kd-text);
  font-size:1.0625rem;
  line-height:1.6;
  color:var(--kd-on-dark);
  background-color:var(--kd-ink);
  background-image:
    linear-gradient(rgba(46,70,80,.55) 1px,transparent 1px),
    linear-gradient(90deg,rgba(46,70,80,.55) 1px,transparent 1px),
    linear-gradient(rgba(46,70,80,.22) 1px,transparent 1px),
    linear-gradient(90deg,rgba(46,70,80,.22) 1px,transparent 1px);
  background-size:60px 60px,60px 60px,12px 12px,12px 12px;
  background-position:-1px -1px;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4,h5,h6{font-family:var(--kd-head);font-weight:500;line-height:1.12;margin:0 0 .6em;letter-spacing:.01em}
h1,h2,h3,h4,p,li,dd,dt,figcaption,blockquote{overflow-wrap:break-word;hyphens:auto}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px dashed var(--kd-signal);outline-offset:3px}

.kd-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--kd-signal);color:#fff;padding:.6rem 1rem;font-family:var(--kd-head);text-transform:uppercase}
.kd-skip:focus{left:1rem;top:1rem}

/* ===== Контейнер ===== */
.kd-shell{
  width:min(92%,1280px);
  margin-inline:auto;
  position:relative;
  border-left:1px solid var(--kd-rule);
  border-right:1px solid var(--kd-rule);
}
.kd-shell::before,.kd-shell::after{
  content:"";position:absolute;top:0;bottom:0;width:10px;pointer-events:none;
  background-image:repeating-linear-gradient(180deg,var(--kd-rule) 0 1px,transparent 1px 24px);
}
.kd-shell::before{left:-11px}
.kd-shell::after{right:-11px}

/* ===== Кнопки и ссылки ===== */
.kd-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4em;
  position:relative;
  padding:.62em 1.25em .58em;
  font-family:var(--kd-head);font-weight:500;font-size:.95rem;line-height:1.1;
  letter-spacing:.08em;text-transform:uppercase;text-decoration:none;text-align:center;
  color:#fff;background:var(--kd-signal);
  border:2px solid var(--kd-signal);
  box-shadow:inset 0 0 0 2px var(--kd-signal),inset 0 0 0 3px rgba(255,255,255,.85);
  cursor:pointer;
  transition:transform .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.kd-btn:hover{background:var(--kd-ink);color:var(--kd-on-dark);transform:translate(2px,2px);box-shadow:inset 0 0 0 2px var(--kd-ink),inset 0 0 0 3px var(--kd-signal)}
.kd-btn:active{transform:translate(3px,3px)}
.kd-btn--sm{font-size:.82rem;padding:.5em .95em .46em}

.kd-link{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--kd-head);font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:.92rem;
  text-decoration:none;color:inherit;
  border-bottom:1px solid currentColor;padding-bottom:.15em;
  transition:color .15s ease,gap .15s ease;
}
.kd-link::after{
  content:"";width:.5em;height:.5em;flex:none;
  border-top:2px solid var(--kd-signal);border-right:2px solid var(--kd-signal);
  transform:translateY(.05em);
}
.kd-link:hover{color:var(--kd-signal);gap:.75em}

.kd-kicker{
  display:inline-block;
  font-family:var(--kd-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--kd-muted-light);
  padding:.2em .6em;border:1px solid currentColor;margin-bottom:.9rem;
}
.kd-kicker--brass{color:var(--kd-brass)}
.kd-num{font-family:var(--kd-head);font-weight:500;color:var(--kd-brass);letter-spacing:.02em}

/* ===== Шапка ===== */
.kd-header{
  position:relative;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding:clamp(2rem,5vw,3.5rem) var(--kd-pad) clamp(2rem,4.5vw,3.2rem);
  border-bottom:1px solid var(--kd-rule);
}
.kd-header__mark{
  position:absolute;top:.7rem;left:var(--kd-pad);
  font-family:var(--kd-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--kd-muted);
}
.kd-brand{display:flex;align-items:center;gap:clamp(1rem,3vw,2.2rem);min-width:0;flex:1 1 auto}
.kd-brand__logo{flex:none;color:var(--kd-on-dark);display:block;line-height:0;transition:color .2s ease}
.kd-brand__logo:hover{color:var(--kd-signal)}
.kd-brand__svg{width:clamp(72px,9vw,128px);height:auto}
.kd-brand__img{width:clamp(72px,9vw,128px);height:auto;object-fit:contain}
.kd-brand__text{min-width:0;max-width:52rem}
.kd-brand__name{
  font-family:var(--kd-head);font-weight:500;text-transform:uppercase;
  font-size:clamp(1.15rem,2.1vw,1.85rem);line-height:1.18;letter-spacing:.02em;
  margin:0 0 .65rem;color:var(--kd-on-dark);
}
.kd-brand__name a{text-decoration:none}
.kd-brand__name a:hover{color:var(--kd-brass)}
.kd-brand__desc{margin:0;font-size:.95rem;line-height:1.5;color:rgba(242,239,228,.78);max-width:46rem}

.kd-nav{flex:none;position:relative}
.kd-nav__list{list-style:none;margin:0;padding:0 0 0 1.4rem;border-left:1px solid var(--kd-rule);display:flex;flex-direction:column;gap:.35rem}
.kd-nav__list a{
  display:inline-block;position:relative;
  font-family:var(--kd-head);font-size:1.18rem;font-weight:400;letter-spacing:.02em;
  color:var(--kd-on-dark);text-decoration:none;padding:.12em 0;
  transition:color .15s ease,transform .15s ease;
}
.kd-nav__list a::before{
  content:"";position:absolute;left:-1.4rem;top:50%;width:0;height:2px;background:var(--kd-signal);transition:width .15s ease;
}
.kd-nav__list a:hover,.kd-nav__list .current-menu-item>a{color:var(--kd-brass);transform:translateX(4px)}
.kd-nav__list a:hover::before,.kd-nav__list .current-menu-item>a::before{width:1rem}
.kd-nav__toggle{
  display:none;align-items:center;gap:.6rem;
  background:transparent;border:2px solid var(--kd-on-dark);box-shadow:inset 0 0 0 2px var(--kd-ink),inset 0 0 0 3px var(--kd-rule);
  padding:.5rem .85rem;cursor:pointer;
  font-family:var(--kd-head);text-transform:uppercase;letter-spacing:.08em;font-size:.9rem;
}
.kd-nav__bars,.kd-nav__bars::before,.kd-nav__bars::after{display:block;width:20px;height:2px;background:currentColor;position:relative}
.kd-nav__bars::before,.kd-nav__bars::after{content:"";position:absolute;left:0}
.kd-nav__bars::before{top:-6px}
.kd-nav__bars::after{top:6px}

/* ===== Главная: секции ===== */
.kd-sec{position:relative;padding:clamp(2.75rem,6vw,4.75rem) 0}
.kd-sec__inner{width:85%;margin-left:auto;margin-right:auto}
.kd-sec__pad{padding:clamp(2rem,4vw,3rem) clamp(1.25rem,3.5vw,3rem)}
.kd-sec--paper{
  background-color:var(--kd-tracing);
  background-image:
    linear-gradient(rgba(61,90,99,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(61,90,99,.07) 1px,transparent 1px);
  background-size:16px 16px;
  color:var(--kd-on-light);
}
.kd-sec--graphite{background:var(--kd-graphite);color:var(--kd-on-dark)}
.kd-sec--emerald{
  background-color:var(--kd-emerald);
  background-image:radial-gradient(rgba(242,239,228,.05) 1px,transparent 1.5px);
  background-size:14px 14px;
  color:var(--kd-on-dark);
}
.kd-sec__head{position:relative;margin-bottom:clamp(1.5rem,3vw,2.5rem);padding-right:7rem}
.kd-sec__head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-right:0}
.kd-sec__title{
  font-family:var(--kd-head);font-weight:500;text-transform:uppercase;
  font-size:clamp(1.9rem,4.4vw,3.5rem);line-height:1.04;letter-spacing:.005em;margin:0;
}
.kd-sec__lead{margin:1rem 0 0;max-width:46rem;font-size:.98rem;color:rgba(242,239,228,.8)}
.kd-stamp{
  position:absolute;right:0;top:0;
  font-family:var(--kd-mono);font-size:.7rem;line-height:1.35;letter-spacing:.12em;text-transform:uppercase;text-align:center;
  color:var(--kd-brass);
  border:2px solid currentColor;outline:1px solid currentColor;outline-offset:3px;
  padding:.45rem .65rem;transform:rotate(-6deg);
}

/* Блок 1 — план */
.kd-floor__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,15rem);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.kd-plan{margin:0;min-width:0}
.kd-plan__canvas{position:relative;container-type:inline-size}
.kd-plan img{width:100%;height:auto;aspect-ratio:1404/660;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(180deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(180deg,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect}
.kd-plan__room,.kd-plan__dim{
  position:absolute;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;
  font-family:var(--kd-text);color:var(--kd-on-light);
}
.kd-plan__room{font-size:clamp(6.5px,1.75cqw,15px);font-weight:700;letter-spacing:.01em}
.kd-plan__room--sm{font-size:clamp(6px,1.4cqw,13px)}
.kd-plan__room--plate{background:rgba(232,228,216,.92);border:1px solid var(--kd-rule);padding:.15em .4em;writing-mode:vertical-rl;transform:translate(-50%,-50%) rotate(180deg)}
.kd-plan__dim{font-family:var(--kd-mono);font-size:clamp(7px,1.25cqw,12px);color:#3B4A50;background:var(--kd-tracing);padding:0 .25em}
.kd-plan__dim--v{transform:translate(-50%,-50%) rotate(-90deg)}
.kd-plan__cap{margin-top:1.4rem;font-family:var(--kd-mono);font-size:.74rem;line-height:1.5;color:var(--kd-muted-light)}
.kd-facts{margin:0;padding:.4rem 0 .4rem 1.5rem;border-left:2px solid var(--kd-rule);display:flex;flex-direction:column;gap:1.1rem}
.kd-facts__row dt{font-family:var(--kd-head);font-size:1.15rem;font-weight:500;letter-spacing:.02em;margin:0}
.kd-facts__row dd{margin:.1rem 0 0;font-size:1.02rem;line-height:1.35}
.kd-facts__row dd.kd-num{font-size:1.35rem;color:#9A7A12}
.kd-facts__more{margin-top:.4rem}

/* Блок 2 — шкала */
.kd-ruler{position:relative;margin:clamp(4.5rem,7vw,5.5rem) 0 0;padding-bottom:2.6rem}
.kd-ruler__labels{position:absolute;left:0;right:0;bottom:calc(2.6rem + 1px);height:calc(100% - 2.6rem)}
.kd-ruler__obj{
  position:absolute;transform:translateX(-50%);
  font-family:var(--kd-text);font-size:clamp(.8rem,1.5vw,1.08rem);line-height:1.2;text-align:center;white-space:nowrap;color:var(--kd-on-dark);
}
.kd-ruler__img{width:100%;height:auto;aspect-ratio:2356/132}
.kd-ruler__axis{position:absolute;left:0;right:0;bottom:0;height:2.2rem}
.kd-ruler__axis span{
  position:absolute;top:0;transform:translateX(-50%);
  font-family:var(--kd-head);font-size:clamp(.95rem,1.9vw,1.55rem);color:var(--kd-brass);line-height:1;
}
.kd-ruler__axis span:first-child{transform:none}
.kd-ruler__axis span:last-child{transform:translateX(-100%)}
.kd-ruler__axis::after{content:"млн $";position:absolute;right:0;top:100%;font-family:var(--kd-mono);font-size:.68rem;letter-spacing:.12em;color:var(--kd-muted)}
.kd-scale__list{list-style:none;margin:clamp(2rem,4vw,3rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--kd-rule);border:1px solid var(--kd-rule)}
.kd-scale__list li{background:var(--kd-graphite);padding:1.25rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:.25rem;min-width:0}
.kd-scale__price{font-family:var(--kd-head);font-size:1.9rem;color:var(--kd-brass);line-height:1}
.kd-scale__price::after{content:" млн $";font-family:var(--kd-mono);font-size:.72rem;color:var(--kd-muted);letter-spacing:.08em}
.kd-scale__name{font-family:var(--kd-head);font-size:1.12rem;text-transform:uppercase;letter-spacing:.04em}
.kd-scale__note{font-size:.92rem;color:rgba(242,239,228,.72);line-height:1.45}

/* ===== Карточки ===== */
.kd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:clamp(1.25rem,2.6vw,2.2rem);align-items:stretch}
.kd-cards--front{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.card{display:flex;flex-direction:column}
.kd-card{
  position:relative;overflow:hidden;min-width:0;
  background:#F4F1E7;color:var(--kd-on-light);
  border:1px solid var(--kd-rule);
  box-shadow:0 0 0 4px #F4F1E7,0 0 0 5px rgba(61,90,99,.45);
  margin:5px;
  padding:.9rem .9rem 1.1rem;
  transition:transform .18s ease,box-shadow .18s ease;
}
.kd-card:hover{transform:translate(-3px,-3px);box-shadow:0 0 0 4px #F4F1E7,0 0 0 5px var(--kd-signal),6px 6px 0 5px rgba(22,34,43,.18)}
.kd-card__num{
  position:absolute;top:.9rem;right:.9rem;z-index:2;
  min-width:2.4rem;padding:.2rem .5rem;text-align:center;
  font-family:var(--kd-head);font-size:1.45rem;line-height:1.1;color:var(--kd-brass);
  background:var(--kd-tracing);border-left:1px solid var(--kd-rule);border-bottom:1px solid var(--kd-rule);
}
.kd-card__thumb{overflow:hidden;background:var(--kd-tracing-deep)}
.kd-card__thumb a{display:block}
.kd-card__thumb img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;filter:saturate(.85);transition:transform .4s ease,filter .3s ease}
.kd-card:hover .kd-card__thumb img{transform:scale(1.04);filter:saturate(1)}
.kd-cards--front .kd-card:nth-child(1) .kd-card__thumb img{aspect-ratio:16/10}
.kd-cards--front .kd-card:nth-child(2) .kd-card__thumb img{aspect-ratio:4/3}
.kd-cards--front .kd-card:nth-child(3) .kd-card__thumb img{aspect-ratio:3/2}
.card-body{flex:1;display:flex;flex-direction:column;min-width:0}
.kd-card__body{padding-top:.9rem}
.kd-card__pin{align-self:flex-start;font-family:var(--kd-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--kd-rule);padding:.15rem .5rem;margin-bottom:.5rem}
.kd-card__title{font-family:var(--kd-text);font-weight:700;font-size:1.28rem;line-height:1.2;margin:0 0 .5rem}
.kd-card__title a{text-decoration:none;background-image:linear-gradient(var(--kd-signal),var(--kd-signal));background-size:0 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s ease}
.kd-card__title a:hover{background-size:100% 2px}
.card-excerpt p{margin:0 0 .5em;background:none}
.kd-card__excerpt{font-size:.95rem;line-height:1.45;color:#34454C;flex:1}
.kd-card__excerpt a{color:var(--kd-on-light)}
.kd-card__foot{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;margin-top:.6rem}
.kd-card__date{font-family:var(--kd-mono);font-size:.78rem;color:var(--kd-muted-light);letter-spacing:.04em}
.kd-empty{font-size:1.02rem;padding:1.5rem 1.6rem;border:1px dashed var(--kd-rule);background:rgba(244,241,231,.7);color:var(--kd-on-light)}

/* ===== Блоки 3–4 ===== */
.kd-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.kd-duo>.kd-sec{padding:0}
.kd-sec--bar{border-top:14px solid var(--kd-signal)}
.kd-duo .kd-sec__title{font-size:clamp(1.8rem,3.3vw,2.8rem)}
.kd-section-draw{position:relative;margin:1.6rem 0 0;container-type:inline-size}
.kd-section-draw img{
  width:100%;height:auto;aspect-ratio:1040/740;
  -webkit-mask-image:radial-gradient(ellipse 72% 72% at 55% 52%,#000 62%,transparent 100%);
  mask-image:radial-gradient(ellipse 72% 72% at 55% 52%,#000 62%,transparent 100%);
}
.kd-callout{
  position:absolute;
  font-family:var(--kd-text);font-size:clamp(11px,3.1cqw,17px);line-height:1.2;color:var(--kd-on-dark);
  white-space:nowrap;pointer-events:none;
}
.kd-anatomy__note{margin:1.2rem 0 0;font-size:.95rem;line-height:1.5;color:rgba(242,239,228,.78);border-top:1px solid rgba(242,239,228,.18);padding-top:1rem}
.kd-atlas__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,8.5rem);gap:1.25rem;align-items:center;margin-top:1.6rem}
.kd-map{position:relative;margin:0;container-type:inline-size}
.kd-map img{width:100%;height:auto;aspect-ratio:964/528;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(180deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(180deg,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect}
.kd-map__pin{
  position:absolute;transform:translate(.7em,-50%);
  font-family:var(--kd-text);font-size:clamp(9px,2.6cqw,14px);line-height:1;color:var(--kd-on-light);font-weight:700;
  white-space:nowrap;background:rgba(232,228,216,.88);padding:.12em .3em;pointer-events:none;
}
.kd-map__pin--left{transform:translate(calc(-100% - .7em),-50%)}
.kd-atlas__facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.95rem}
.kd-atlas__facts li{font-size:.86rem;line-height:1.3;color:#34454C;min-width:0}
.kd-atlas__facts .kd-num{display:block;font-size:1.55rem;line-height:1.05;color:#A8861A}

/* ===== Внутренние страницы ===== */
.kd-page{padding:clamp(1.5rem,3vw,2.5rem) var(--kd-pad) clamp(3rem,6vw,4.5rem)}
.kd-crumbs{
  font-family:var(--kd-mono);font-size:.78rem;letter-spacing:.04em;line-height:1.6;
  color:var(--kd-muted);margin-bottom:clamp(1.25rem,3vw,2rem);
}
.kd-crumbs a{color:var(--kd-on-dark);text-decoration:none;border-bottom:1px solid var(--kd-rule)}
.kd-crumbs a:hover{color:var(--kd-brass);border-color:var(--kd-brass)}
.kd-crumbs__sep{color:var(--kd-signal);margin:0 .35em}
.kd-crumbs span:last-child{color:var(--kd-on-dark)}

.kd-layout--sidebar{display:grid;grid-template-columns:minmax(0,67fr) minmax(0,27fr);column-gap:6%;align-items:start}
.kd-layout--single{display:block}
.kd-layout--single>.content-area{width:85%;margin-left:auto;margin-right:auto}
.content-area{
  min-width:0;
  background-color:var(--kd-tracing);
  background-image:
    linear-gradient(rgba(61,90,99,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(61,90,99,.06) 1px,transparent 1px);
  background-size:16px 16px;
  color:var(--kd-on-light);
  padding:clamp(1.5rem,4vw,3rem);
  border-top:6px solid var(--kd-signal);
  position:relative;
}
.content-area::after{
  content:"";position:absolute;right:-1px;bottom:-1px;width:28px;height:28px;
  background:linear-gradient(135deg,transparent 50%,var(--kd-tracing-deep) 50%);
}
.kd-page__head{margin-bottom:clamp(1.5rem,3vw,2.2rem);padding-bottom:1.2rem;border-bottom:1px solid rgba(61,90,99,.35)}
.kd-page__title{font-family:var(--kd-head);font-weight:500;text-transform:uppercase;font-size:clamp(1.9rem,4.2vw,3.2rem);line-height:1.05;margin:0}
.kd-page__desc,.kd-page__intro{margin-top:1rem;color:#34454C}
.kd-page .kd-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}

/* Сайдбар */
.kd-sidebar{min-width:0;background:var(--kd-panel);border:1px solid var(--kd-rule);padding:1.5rem 1.4rem;color:var(--kd-on-dark)}
.kd-sidebar .kd-widget+.kd-widget{margin-top:1.8rem;padding-top:1.5rem;border-top:1px dashed var(--kd-rule)}
.kd-sidebar .kd-widget__title{font-family:var(--kd-head);font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem;color:var(--kd-brass);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--kd-signal);display:inline-block}
.kd-sidebar,.kd-sidebar p,.kd-sidebar li{color:var(--kd-on-dark)}
.kd-sidebar ul{list-style:none;margin:0;padding:0}
.kd-sidebar li{padding:.55rem 0 .55rem 1.1rem;position:relative;border-bottom:1px solid rgba(61,90,99,.6);line-height:1.35}
.kd-sidebar li::before{content:"";position:absolute;left:0;top:1.05em;width:.5rem;height:2px;background:var(--kd-signal)}
.kd-sidebar a{color:var(--kd-on-dark);text-decoration:none}
.kd-sidebar a:hover{color:var(--kd-brass)}
.kd-sidebar .post-date{display:block;font-family:var(--kd-mono);font-size:.74rem;color:#A9B8BC}
.kd-sidebar .kd-search__label{color:var(--kd-on-dark)}

/* Статья */
.kd-article__head{margin-bottom:1.5rem}
.kd-article__meta{font-family:var(--kd-mono);font-size:.8rem;color:var(--kd-muted-light);margin-bottom:.8rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.kd-article__meta a{color:var(--kd-on-light)}
.kd-article__sep{color:var(--kd-signal)}
.kd-article__title{font-family:var(--kd-head);font-weight:500;text-transform:uppercase;font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;margin:0}
.kd-article__cover{margin:0 0 1.8rem;border:1px solid var(--kd-rule);padding:6px;background:#F4F1E7}
.kd-article__cover img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.kd-article__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;padding-top:1.2rem;border-top:1px solid rgba(61,90,99,.35)}
.kd-article__tags a{font-family:var(--kd-mono);font-size:.8rem;text-decoration:none;border:1px solid var(--kd-rule);padding:.2rem .6rem;color:var(--kd-on-light)}
.kd-article__tags a:hover{background:var(--kd-on-light);color:var(--kd-tracing)}

.kd-entry{font-size:1.08rem;line-height:1.68}
.kd-entry>*:last-child{margin-bottom:0}
.kd-entry h2{font-size:clamp(1.5rem,3vw,2rem);text-transform:uppercase;margin:2rem 0 .8rem;padding-left:.8rem;border-left:4px solid var(--kd-signal)}
.kd-entry h3{font-size:1.4rem;margin:1.7rem 0 .7rem}
.kd-entry h4{font-size:1.18rem;margin:1.4rem 0 .6rem}
.kd-entry p{margin:0 0 1.1em}
.kd-entry a{color:#A8391A;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.kd-entry a:hover{color:var(--kd-on-light);text-decoration-color:var(--kd-signal)}
.kd-entry ul,.kd-entry ol{margin:0 0 1.2em;padding-left:1.4em}
.kd-entry li{margin-bottom:.35em}
.kd-entry ul li::marker{color:var(--kd-signal)}
.kd-entry ol li::marker{color:#9A7A12;font-family:var(--kd-head)}
.kd-entry blockquote{
  margin:1.6em 0;padding:1.2rem 1.5rem 1.2rem 1.6rem;
  background:var(--kd-ink);color:var(--kd-on-dark);
  border-left:6px solid var(--kd-brass);
  font-family:var(--kd-head);font-size:1.25rem;line-height:1.4;
}
.kd-entry blockquote p:last-child{margin-bottom:0}
.kd-entry blockquote cite{display:block;margin-top:.6rem;font-family:var(--kd-mono);font-size:.8rem;font-style:normal;color:var(--kd-brass)}
.kd-entry table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.98rem;border:1px solid var(--kd-rule)}
.kd-entry th,.kd-entry td{border:1px solid var(--kd-rule);padding:.6rem .8rem;text-align:left;vertical-align:top}
.kd-entry th{background:var(--kd-ink);color:var(--kd-on-dark);font-family:var(--kd-head);font-weight:500;letter-spacing:.03em}
.kd-entry tr:nth-child(even) td{background:rgba(61,90,99,.07)}
.kd-entry .wp-block-table{overflow-x:auto;margin:1.5em 0}
.kd-entry img{height:auto}
.kd-entry figure{margin:1.6em 0}
.kd-entry figcaption{font-family:var(--kd-mono);font-size:.78rem;color:var(--kd-muted-light);margin-top:.5rem}
.kd-entry pre{overflow-x:auto;background:var(--kd-ink);color:var(--kd-on-dark);padding:1rem;font-family:var(--kd-mono);font-size:.88rem}
.kd-entry code{font-family:var(--kd-mono);font-size:.9em;background:rgba(61,90,99,.12);padding:.05em .3em}
.kd-entry pre code{background:none;padding:0}
.kd-entry hr{border:0;height:10px;margin:2rem 0;background:repeating-linear-gradient(90deg,var(--kd-rule) 0 1px,transparent 1px 10px) bottom/100% 6px no-repeat,linear-gradient(var(--kd-rule),var(--kd-rule)) bottom/100% 1px no-repeat}
.alignleft{float:left;margin:.3em 1.5em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.5em}
.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption-text{font-size:.8rem}
.screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Пагинация */
.kd-pager{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:clamp(2rem,4vw,3rem)}
.kd-pager .page-numbers,.kd-pager>a,.kd-pager>span{
  display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;height:2.6rem;padding:0 .75rem;
  font-family:var(--kd-head);font-size:1.02rem;text-decoration:none;color:var(--kd-on-light);
  border:1px solid var(--kd-rule);box-shadow:inset 0 0 0 2px var(--kd-tracing),inset 0 0 0 3px rgba(61,90,99,.35);
  background:var(--kd-tracing);transition:background-color .15s ease,color .15s ease,transform .15s ease;
}
.kd-pager a.page-numbers:hover,.kd-pager>a:hover{background:var(--kd-on-light);color:var(--kd-tracing);transform:translate(1px,1px)}
.kd-pager .page-numbers.current{background:var(--kd-signal);color:#fff;border-color:var(--kd-signal);box-shadow:inset 0 0 0 2px var(--kd-signal),inset 0 0 0 3px rgba(255,255,255,.85)}
.kd-pager .page-numbers.dots{border:0;box-shadow:none;background:none;min-width:auto}

/* Поиск */
.kd-search{margin:0}
.kd-search__label{display:block;font-family:var(--kd-head);text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;margin-bottom:.45rem}
.kd-search__row{display:flex;gap:.5rem;flex-wrap:wrap}
.kd-search__field{
  flex:1 1 12rem;min-width:0;padding:.65rem .8rem;
  background:#F7F5EE;color:var(--kd-on-light);border:1px solid var(--kd-rule);border-radius:0;
}
.kd-search__field:focus{outline:2px solid var(--kd-signal);outline-offset:0}
.kd-search__btn{flex:none}

/* 404 */
.kd-404{text-align:left}
.kd-404__code{display:flex;gap:.6rem;margin-bottom:1.2rem}
.kd-404__code span{
  font-family:var(--kd-head);font-size:clamp(4rem,12vw,8rem);line-height:1;color:var(--kd-on-light);
  padding:.1em .25em;border:2px solid var(--kd-rule);box-shadow:inset 0 0 0 4px var(--kd-tracing),inset 0 0 0 5px var(--kd-rule);
}
.kd-404__code span:nth-child(2){color:var(--kd-signal)}
.kd-404__text{max-width:40rem;margin:1rem 0 1.6rem;color:#34454C}
.kd-404__home{margin-top:1.6rem}

/* Комментарии */
.kd-comments{margin-top:2rem;padding:clamp(1.5rem,4vw,2.5rem);background:var(--kd-panel);border:1px solid var(--kd-rule);color:var(--kd-on-dark)}
.kd-comments__title,.kd-comments .comment-reply-title{font-family:var(--kd-head);font-weight:500;text-transform:uppercase;font-size:1.5rem;margin:0 0 1.2rem;color:var(--kd-on-dark)}
.kd-comments .comment-reply-title small{display:block;font-size:.8rem;margin-top:.3rem}
.kd-comments .comment-reply-title small a{color:var(--kd-brass)}
.kd-comments__list,.kd-comments__list .children{list-style:none;margin:0;padding:0}
.kd-comments__list .children{margin-left:clamp(1rem,4vw,2.5rem);border-left:1px dashed var(--kd-rule);padding-left:1rem}
.kd-comment__body{padding:1rem 0;border-bottom:1px solid rgba(61,90,99,.7)}
.kd-comment__meta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.5rem}
.kd-comment__meta img{border:1px solid var(--kd-rule)}
.kd-comment__author{font-family:var(--kd-head);font-size:1.05rem}
.kd-comment__date{font-family:var(--kd-mono);font-size:.76rem;color:#A9B8BC}
.kd-comment__wait{font-family:var(--kd-mono);font-size:.8rem;color:var(--kd-brass)}
.kd-comment__text p{margin:0 0 .6em}
.kd-comment__text a,.kd-comments a{color:var(--kd-brass)}
.kd-comment__reply a{font-family:var(--kd-head);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid var(--kd-signal);color:var(--kd-on-dark)}
.kd-comments .comment-respond{margin-top:1.6rem}
.kd-comments .comment-form p{margin:0 0 1rem}
.kd-comments .comment-form label{display:block;font-family:var(--kd-head);font-size:.9rem;letter-spacing:.04em;margin-bottom:.3rem;color:var(--kd-on-dark)}
.kd-comments .comment-form input[type="text"],.kd-comments .comment-form input[type="email"],.kd-comments .comment-form input[type="url"],.kd-comments .comment-form textarea{
  width:100%;padding:.65rem .8rem;background:#F7F5EE;color:var(--kd-on-light);border:1px solid var(--kd-rule);border-radius:0;
}
.kd-comments .comment-form-cookies-consent{display:flex;gap:.5rem;align-items:flex-start}
.kd-comments .comment-form-cookies-consent label{display:inline;font-family:var(--kd-text);font-size:.9rem;letter-spacing:0}
.kd-form-note{font-size:.88rem;color:#C9D3D5}
.kd-comments .comment-navigation .nav-links{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem}

/* ===== Подвал ===== */
.kd-footer{border-top:1px solid var(--kd-rule);padding:clamp(2.5rem,5vw,3.75rem) var(--kd-pad) 1.6rem;color:var(--kd-on-dark)}
.kd-footer__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem)}
.kd-footer__col{min-width:0}
.kd-footer .kd-widget+.kd-widget{margin-top:1.5rem}
.kd-footer .kd-widget__title{font-family:var(--kd-head);font-weight:400;font-size:1.45rem;letter-spacing:.02em;margin:0 0 .8rem;color:var(--kd-on-dark)}
.kd-footer .kd-widget__title::after{content:"";display:block;width:2.5rem;height:2px;background:var(--kd-signal);margin-top:.45rem}
.kd-footer,.kd-footer p,.kd-footer li,.kd-footer .textwidget{color:rgba(242,239,228,.86);font-size:1rem;line-height:1.5}
.kd-footer ul{list-style:none;margin:0;padding:0}
.kd-footer li{margin:.2rem 0}
.kd-footer a{color:var(--kd-on-dark);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}
.kd-footer a:hover{color:var(--kd-brass);border-bottom-color:var(--kd-brass)}
.kd-footer .post-date{display:block;font-family:var(--kd-mono);font-size:.74rem;color:#A9B8BC}
.kd-footer__bottom{
  display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;
  margin-top:clamp(2rem,4vw,3rem);padding-top:1.2rem;border-top:1px dashed var(--kd-rule);
}
.kd-footer__copy{margin:0;font-size:.92rem;color:rgba(242,239,228,.78);max-width:52rem}
.kd-footer__stamp{font-family:var(--kd-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--kd-brass);border:1px solid currentColor;padding:.3rem .55rem}

/* ===== Cookie ===== */
.cookie-banner{
  position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:90;
  width:min(94%,760px);
  display:flex;align-items:center;gap:1.2rem;
  padding:1rem 1.25rem 1rem 1.4rem;
  background:var(--kd-ink);color:var(--kd-on-dark);
  border:1px solid var(--kd-brass);box-shadow:0 0 0 4px var(--kd-ink),0 0 0 5px var(--kd-rule),0 12px 30px rgba(0,0,0,.35);
}
.cookie-banner__text{margin:0;font-size:.92rem;line-height:1.45;flex:1;min-width:0;color:var(--kd-on-dark)}
.cookie-banner__btn{flex:none}

/* ===== Адаптив ===== */
@media (max-width:1100px){
  .kd-duo{grid-template-columns:minmax(0,1fr)}
  .kd-section-draw,.kd-map{max-width:640px}
}
@media (max-width:960px){
  .kd-header{flex-wrap:wrap;align-items:flex-start}
  .kd-nav{width:100%}
  .kd-nav__toggle{display:inline-flex}
  .kd-nav__panel{display:none;margin-top:1rem}
  .kd-nav__panel.is-open{display:block}
  .kd-nav__list{border-left:0;border-top:1px solid var(--kd-rule);padding:.6rem 0 0 1.4rem}
  .kd-floor__grid{grid-template-columns:minmax(0,1fr)}
  .kd-facts{flex-direction:row;flex-wrap:wrap;column-gap:2rem;border-left:0;border-top:2px solid var(--kd-rule);padding:1.2rem 0 0}
  .kd-cards--front{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kd-layout--sidebar{display:block}
  .kd-layout--sidebar .kd-sidebar{margin-top:2rem}
  .kd-layout--single>.content-area{width:100%}
  .kd-scale__list{grid-template-columns:minmax(0,1fr)}
  .kd-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kd-sec__inner{width:88%}
}
@media (max-width:600px){
  body{font-size:1rem}
  .kd-shell{width:100%;border-left:0;border-right:0}
  .kd-shell::before,.kd-shell::after{display:none}
  .kd-header__mark{display:none}
  .kd-header{padding:1.5rem 1rem}
  .kd-brand{align-items:flex-start}
  .kd-brand__svg,.kd-brand__img{width:60px}
  .kd-brand__name{font-size:1.02rem}
  .kd-brand__desc{font-size:.88rem}
  .kd-sec{padding:2.4rem 0}
  .kd-sec__inner{width:auto;padding-left:1rem;padding-right:1rem}
  .kd-sec__pad{padding:2rem 1rem}
  .kd-sec__head{padding-right:0}
  .kd-stamp{position:static;display:inline-block;margin-top:1rem;transform:rotate(-3deg)}
  .kd-sec__title{font-size:1.75rem}
  .kd-plan__dim{display:none}
  .kd-plan__room--plate{padding:.05em .2em}
  .kd-ruler{margin-top:4rem}
  .kd-ruler__obj{font-size:.7rem}
  .kd-ruler__axis span{font-size:.85rem}
  .kd-ruler__axis span:nth-child(even){display:none}
  .kd-cards--front{grid-template-columns:minmax(0,1fr)}
  .kd-cards--front .kd-card .kd-card__thumb img{aspect-ratio:16/10}
  .kd-atlas__grid{grid-template-columns:minmax(0,1fr)}
  .kd-map__pin--la{transform:translate(.7em,-50%)}
  .kd-atlas__facts{flex-direction:row;flex-wrap:wrap;gap:1rem 1.5rem}
  .kd-atlas__facts li{flex:1 1 40%}
  .kd-page{padding:1.2rem 1rem 3rem}
  .content-area{padding:1.4rem 1.1rem}
  .kd-sidebar{padding:1.3rem 1.1rem}
  .kd-footer{padding:2.2rem 1rem 1.4rem}
  .kd-footer__cols{grid-template-columns:minmax(0,1fr)}
  .cookie-banner{flex-direction:column;align-items:stretch;gap:.8rem;bottom:.6rem;padding:1rem}
  .alignleft,.alignright{float:none;margin:1em 0}
}
