/*
Theme Name: PHZAPPA
Theme URI: https://phzappa.com
Author: PHZAPPA
Description: Двуязычная (RU/EN) тема для PHZAPPA — контрактная разработка и производство АФС, готовых лекарственных форм и пищевой продукции с акцентом на формирование интеллектуальной собственности заказчика. Палитра и форм-фактор вдохновлены Polaroid OneStep (70–80-е), отсылки к Фрэнку Заппе.
Version: 2.9.2
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: phzappa
*/

/* ============================================================
   TOKENS — вытянуты из фото Polaroid OneStep
   ============================================================ */
:root{
  --burnt:#B86B2A;        /* жжёный оранжевый фон, матовый */
  --burnt-deep:#9A551E;   /* тень фона */
  --burnt-glow:#C9803A;   /* свет фона */
  --shell:#EDE6D8;        /* кремовый корпус */
  --shell-2:#E2D9C7;      /* теневая грань корпуса */
  --char:#1A1714;         /* угольно-чёрный бампер */
  --char-2:#2A251F;
  --shutter:#C0392B;      /* красная кнопка спуска — главный CTA */
  --shutter-deep:#9E2B20;
  --ink:#241F1A;          /* основной текст на кремовом */
  --ink-dim:#6B6155;      /* приглушённый текст */
  --line:rgba(36,31,26,.14);
  --line-strong:rgba(36,31,26,.26);

  /* спектр Polaroid — абстрактная сигнатура, не логотип */
  --sp1:#7B4FA0; --sp2:#3D7CC9; --sp3:#3FA66A; --sp4:#E7C24B; --sp5:#E08A3C;

  --display:"Space Grotesk",system-ui,sans-serif;
  --body:"Newsreader",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;

  --maxw:1180px;
  --gutter:clamp(20px,5vw,60px);
  --radius:22px;          /* скругление «корпуса» камеры */
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--burnt);
  background-attachment:fixed;
  color:var(--ink);
  font-family:var(--body);
  font-size:18px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

a{color:var(--shutter);text-decoration:none}
a:hover{color:var(--shutter-deep)}
img{max-width:100%;display:block}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}
:focus-visible{outline:3px solid var(--shutter);outline-offset:3px}

/* engraved label — как гравировка POLAROID LAND CAMERA */
.engraved{
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.34em;
  font-size:.7rem;color:var(--ink-dim);
}

/* spectral bar — фирменная радужная полоса */
.spectrum{display:flex;width:100%;height:6px;border-radius:3px;overflow:hidden}
.spectrum i{flex:1}
.spectrum i:nth-child(1){background:var(--sp1)}
.spectrum i:nth-child(2){background:var(--sp2)}
.spectrum i:nth-child(3){background:var(--sp3)}
.spectrum i:nth-child(4){background:var(--sp4)}
.spectrum i:nth-child(5){background:var(--sp5)}
.spectrum.vert{flex-direction:column;width:6px;height:100%}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:sticky;top:0;z-index:100}
.site-header .bar{
  background:var(--char);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px;gap:24px}
.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}
.brand .lens{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 38% 34%,#4a443c 0 22%,#16120f 60%,#000 100%);
  border:2px solid var(--shell-2);
  box-shadow:0 0 0 2px var(--char),0 2px 6px rgba(0,0,0,.5);
}
.brand .name{font-family:var(--display);font-weight:700;font-size:1.25rem;letter-spacing:.04em;color:var(--shell)}
.brand .name b{color:var(--shutter)}

.nav-links{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.nav-links a{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(237,230,216,.62)}
.nav-links a:hover{color:var(--shell)}

.lang-toggle{display:flex;border:1px solid rgba(237,230,216,.3);border-radius:3px;overflow:hidden}
.lang-toggle a{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;padding:6px 10px;color:rgba(237,230,216,.6)}
.lang-toggle a.active{background:var(--shutter);color:#fff;font-weight:600}

.nav-toggle{display:none;background:none;border:1px solid rgba(237,230,216,.3);color:var(--shell);width:42px;height:36px;border-radius:3px;cursor:pointer;font-size:1.1rem}

@media(max-width:880px){
  .nav-links{
    position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;
    background:var(--char);padding:0 var(--gutter);max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .nav-links.open{max-height:440px;padding:12px var(--gutter) 18px}
  .nav-links li{width:100%;padding:13px 0;border-bottom:1px solid rgba(237,230,216,.12)}
  .nav-links li:last-child{border-bottom:none}
  .nav-toggle{display:block}
}

/* ============================================================
   HERO — корпус камеры
   ============================================================ */
.hero{padding:clamp(34px,5vw,56px) 0 clamp(20px,3vw,34px)}
.camera{
  background:var(--shell);
  border-radius:var(--radius);
  box-shadow:0 26px 56px rgba(40,20,6,.34);
  overflow:hidden;
  position:relative;
}
/* чёрные бамперы сверху и снизу — верх и низ камеры */
.camera .bumper{background:var(--char);height:26px;display:flex;align-items:center;padding:0 clamp(20px,4vw,40px)}
.camera .bumper.bottom{height:auto;padding:14px clamp(20px,4vw,40px);justify-content:center}
.camera .bumper.bottom .engraved{color:rgba(237,230,216,.5)}
.camera .bumper .vfind{width:64px;height:10px;border-radius:3px;background:#000;opacity:.6}

.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(28px,4vw,52px);align-items:center;padding:clamp(34px,5vw,58px) clamp(24px,4vw,48px)}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr;gap:34px}}

.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--burnt-deep);margin-bottom:20px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--shutter)}

.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(2.3rem,5.4vw,4rem);line-height:1.04;letter-spacing:-.01em;margin:0 0 22px;color:var(--ink)}
.hero h1 em{font-style:normal;color:var(--shutter)}
.hero .lead{font-size:clamp(1.04rem,1.8vw,1.26rem);color:var(--ink-dim);max-width:36ch;margin:0 0 32px}
.hero-cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap}

/* красная кнопка спуска */
.shutter-btn{
  display:inline-flex;align-items:center;gap:14px;background:none;border:none;cursor:pointer;font-family:inherit;padding:0;
}
.shutter-btn .dot{
  width:58px;height:58px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 38% 32%,#e2685a 0 18%,var(--shutter) 50%,var(--shutter-deep) 100%);
  box-shadow:0 6px 0 var(--shutter-deep),0 10px 18px rgba(120,20,10,.5);
  transition:transform .12s ease,box-shadow .12s ease;
}
.shutter-btn:hover .dot{transform:translateY(2px);box-shadow:0 4px 0 var(--shutter-deep),0 7px 12px rgba(120,20,10,.5)}
.shutter-btn:active .dot{transform:translateY(6px);box-shadow:0 0 0 var(--shutter-deep)}
.shutter-btn .lbl{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-align:left}

.btn-link{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-bottom:2px solid var(--shutter);padding-bottom:3px}
.btn-link:hover{color:var(--shutter)}

/* лицевая панель с объективом */
.faceplate{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.lens-big{
  width:min(78%,300px);aspect-ratio:1/1;border-radius:50%;
  background:radial-gradient(circle at 42% 36%,#6f675c 0 6%,#2b2620 30%,#0b0907 70%,#000 100%);
  border:6px solid var(--shell-2);
  box-shadow:0 0 0 3px var(--char),0 18px 36px rgba(0,0,0,.4),0 0 50px rgba(216,131,36,.25) inset;
  position:relative;display:flex;align-items:center;justify-content:center;
}
.lens-big::after{content:"";position:absolute;width:34%;aspect-ratio:1/1;border-radius:50%;border:1px solid rgba(216,131,36,.4)}
.lens-rings{position:absolute;width:96%;height:96%;left:2%;top:2%;overflow:visible}
.lens-rings .ring{transform-origin:100px 100px}
.lens-rings .ring-outer{animation:spin 40s linear infinite}
.lens-rings .ring-iris{animation:spin-rev 26s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spin-rev{to{transform:rotate(-360deg)}}
@media (prefers-reduced-motion:reduce){
  .lens-rings .ring-outer,.lens-rings .ring-iris{animation:none}
}
.lens-spectrum{position:absolute;bottom:6%;left:50%;transform:translateX(-50%);width:14px;height:30%;border-radius:4px;z-index:2}

/* ============================================================
   STATS BAR
   ============================================================ */
.stats{background:var(--char);border-radius:14px;margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
@media(max-width:680px){.stats{grid-template-columns:repeat(2,1fr)}}
.stats .cell{padding:24px 22px;border-right:1px solid rgba(237,230,216,.1)}
.stats .cell:last-child{border-right:none}
.stats .n{font-family:var(--display);font-weight:700;font-size:1.9rem;color:var(--shell);line-height:1}
.stats .n em{font-style:normal;color:var(--shutter)}
.stats .l{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(237,230,216,.55);margin-top:8px;line-height:1.4}
.partners-line{font-family:var(--body);font-size:1.08rem;color:var(--shell);text-align:center;max-width:62ch;margin:22px auto 0;opacity:.92}

/* ============================================================
   SECTIONS
   ============================================================ */
.section{padding:clamp(34px,5vw,58px) 0;position:relative}
.panel{
  background:var(--shell);
  border-radius:var(--radius);padding:clamp(34px,5vw,64px);
  box-shadow:0 18px 40px rgba(40,20,6,.22);
}
.section-head{margin-bottom:42px;max-width:62ch}
.section-tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--shutter);display:flex;align-items:center;gap:10px;margin-bottom:16px}
.section-tag .num{color:var(--ink-dim)}
.section h2,.section-head h3{font-family:var(--display);font-weight:600;font-size:clamp(1.7rem,3.5vw,2.6rem);line-height:1.1;margin:0 0 14px;color:var(--ink);letter-spacing:-.01em}
.section h2 em{font-style:normal;color:var(--shutter)}
.section .intro{color:var(--ink-dim);font-size:1.1rem}

/* capability cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:820px){.cards{grid-template-columns:1fr}}
.card{background:#fff;border-radius:16px;padding:30px 26px;box-shadow:0 4px 0 var(--shell-2),0 10px 24px rgba(58,28,8,.12);transition:transform .2s ease}
.card:hover{transform:translateY(-4px)}
.card .icon{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 40% 34%,#4a443c 0 24%,#16120f 70%,#000 100%);border:2px solid var(--shell-2);margin-bottom:18px}
.card .cn{font-family:var(--mono);font-size:.66rem;color:var(--burnt-deep);letter-spacing:.16em;margin-bottom:10px}
.card h3{font-family:var(--display);font-weight:600;font-size:1.28rem;margin:0 0 10px;color:var(--ink)}
.card p{margin:0;color:var(--ink-dim);font-size:1rem;line-height:1.55}

/* IP grid */
.ip-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,52px);align-items:start}
@media(max-width:820px){.ip-grid{grid-template-columns:1fr}}
.ip-list{list-style:none;margin:0;padding:0}
.ip-list li{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.ip-list li:last-child{border-bottom:none}
.ip-list .k{font-family:var(--mono);color:var(--shutter);font-size:.82rem;flex-shrink:0;width:46px}
.ip-list .v strong{display:block;font-family:var(--display);font-weight:500;color:var(--ink);font-size:1.1rem;margin-bottom:4px}
.ip-list .v span{color:var(--ink-dim);font-size:.98rem}
.ip-quote{background:var(--char);border-radius:16px;padding:32px;position:relative;overflow:hidden}
.ip-quote .sp{position:absolute;left:0;top:0;bottom:0;width:6px}
.ip-quote p{font-family:var(--display);font-size:1.24rem;line-height:1.45;font-style:italic;margin:0 0 16px;color:var(--shell);padding-left:14px}
.ip-quote .cite{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:rgba(237,230,216,.55);text-transform:uppercase;padding-left:14px}

/* process — «один шаг» */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border-radius:16px;padding:26px 22px;position:relative;box-shadow:0 4px 0 var(--shell-2)}
.step .sn{width:42px;height:42px;border-radius:50%;background:var(--shutter);color:#fff;font-family:var(--display);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:16px;box-shadow:0 4px 0 var(--shutter-deep)}
.step h3{font-family:var(--display);font-weight:600;font-size:1.1rem;margin:0 0 8px;color:var(--ink)}
.step p{margin:0;color:var(--ink-dim);font-size:.95rem;line-height:1.5}

/* pipeline locked */
.pipeline{background:var(--char);border-radius:var(--radius);padding:clamp(42px,6vw,78px) clamp(26px,5vw,58px);text-align:center;position:relative;overflow:hidden}
.pipeline .topspec{position:absolute;top:0;left:0;right:0;height:6px}
.pipeline .lockmark{width:52px;height:52px;margin:0 auto 22px;color:var(--shutter)}
.pipeline .status{display:inline-block;font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--shutter);padding:6px 14px;border-radius:3px;margin-bottom:22px}
.pipeline h2,.pipeline h3{font-family:var(--display);font-weight:600;font-size:clamp(1.5rem,3.2vw,2.2rem);margin:0 0 14px;color:var(--shell)}
.pipeline p{color:rgba(237,230,216,.7);max-width:54ch;margin:0 auto 26px;font-size:1.06rem}
.pipeline .ghost-rows{display:flex;flex-direction:column;gap:10px;max-width:520px;margin:32px auto 0}
.pipeline .grow{height:34px;border:1px solid rgba(237,230,216,.14);border-radius:4px;position:relative;overflow:hidden}
.pipeline .grow .redact{position:absolute;inset:7px 12px;background:rgba(237,230,216,.06);border-radius:2px}
.pipeline .grow .redact::before{content:"████  ████████  ██████";font-family:var(--mono);color:rgba(237,230,216,.1);font-size:.78rem;line-height:20px;display:block}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,52px)}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}
.contact .field{margin-bottom:18px}
.contact label{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:8px}
.contact input,.contact textarea{width:100%;background:#fff;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink);font-family:var(--body);font-size:1rem;padding:13px 14px}
.contact input:focus,.contact textarea:focus{border-color:var(--shutter);outline:none}
.contact textarea{resize:vertical;min-height:120px}
.coords{list-style:none;margin:0;padding:0}
.coords li{padding:16px 0;border-bottom:1px solid var(--line)}
.coords .k{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--burnt-deep);display:block;margin-bottom:6px}
.coords .v{font-family:var(--display);font-size:1.14rem;color:var(--ink)}

/* footer */
.site-footer{background:var(--char);margin-top:30px}
.footer-in{padding:46px 0 56px}
.footer-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.footer-grid .meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:rgba(237,230,216,.5);text-align:right}
.footer-grid .meta a{color:rgba(237,230,216,.5)}
.footer-grid .meta a:hover{color:var(--shutter)}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ============================================================
   FOOTER (расширенный)
   ============================================================ */
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(24px,4vw,52px);padding-bottom:32px;border-bottom:1px solid rgba(237,230,216,.12)}
@media(max-width:820px){.footer-top{grid-template-columns:1fr;gap:28px}}
.mol-anim{display:flex;align-items:center}
.mol-anim img{width:190px;height:127px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.25))}
@media(max-width:820px){.mol-anim{justify-content:center}}
.footer-col .fc-h{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--shutter);margin-bottom:14px}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{padding:6px 0;font-size:.96rem;color:rgba(237,230,216,.72)}
.footer-col a{color:rgba(237,230,216,.72)}
.footer-col a:hover{color:var(--shell)}
.footer-col .req li{font-family:var(--mono);font-size:.78rem;letter-spacing:.02em;color:rgba(237,230,216,.6)}
.linkbtn{background:none;border:none;padding:0;cursor:pointer;font-family:var(--body);font-size:.96rem;color:rgba(237,230,216,.72);text-decoration:underline;text-underline-offset:3px}
.linkbtn:hover{color:var(--shell)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:24px;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:rgba(237,230,216,.5)}

/* ============================================================
   FORM CONSENT
   ============================================================ */
.consent-row{display:flex;gap:12px;align-items:flex-start;margin:6px 0 20px;cursor:pointer}
.consent-row input{margin-top:5px;width:18px;height:18px;flex-shrink:0;accent-color:var(--shutter)}
.consent-row span{font-size:.92rem;color:var(--ink-dim);line-height:1.5}
.consent-row a{color:var(--shutter)}

/* ============================================================
   COOKIE BANNER
   ============================================================ */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--char);border-top:1px solid rgba(237,230,216,.14);box-shadow:0 -12px 30px rgba(0,0,0,.3);animation:ckup .4s ease}
@keyframes ckup{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.cookie-banner{animation:none}}
.cookie-inner{max-width:var(--maxw);margin:0 auto;padding:18px var(--gutter);display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cookie-text{margin:0;flex:1;min-width:260px;color:rgba(237,230,216,.82);font-size:.96rem;line-height:1.5}
.cookie-text a{color:var(--shutter)}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-ck{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:11px 18px;border-radius:4px;cursor:pointer;border:1px solid rgba(237,230,216,.3);background:transparent;color:var(--shell);transition:transform .12s ease}
.btn-ck:hover{transform:translateY(-1px)}
.btn-ck-primary{background:var(--shutter);border-color:var(--shutter);color:#fff;font-weight:600}
.btn-ck-primary:hover{background:var(--shutter-deep)}
.btn-ck-ghost{color:rgba(237,230,216,.7)}

/* COOKIE MODAL */
.cookie-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,12,4,.6);backdrop-filter:blur(3px)}
.cookie-modal[hidden],.cookie-banner[hidden]{display:none !important}
.cm-card{background:var(--shell);border-radius:var(--radius);max-width:520px;width:100%;padding:clamp(26px,4vw,40px);position:relative;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.cm-spec{position:absolute;top:0;left:0;right:0;height:6px}
.cm-card h3{font-family:var(--display);font-weight:600;font-size:1.4rem;margin:6px 0 22px;color:var(--ink)}
.cm-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.cm-info strong{display:block;font-family:var(--display);font-weight:600;font-size:1.04rem;color:var(--ink);margin-bottom:4px}
.cm-info span{font-size:.9rem;color:var(--ink-dim);line-height:1.45}
.cm-card .btn-ck-primary{margin-top:22px;width:100%;justify-content:center;text-align:center}

/* toggle switch */
.switch{position:relative;flex-shrink:0;width:46px;height:26px;cursor:pointer}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch .track{position:absolute;inset:0;background:#c9bfae;border-radius:20px;transition:background .2s ease}
.switch .track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.switch input:checked + .track{background:var(--shutter)}
.switch input:checked + .track::after{transform:translateX(20px)}
.switch.is-locked{opacity:.7;cursor:not-allowed}

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.legal-page .panel{max-width:860px;margin:0 auto}
.back-link{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--shutter);display:inline-block;margin-bottom:22px}
.legal-title{font-family:var(--display);font-weight:700;font-size:clamp(1.7rem,3.5vw,2.5rem);color:var(--ink);margin:0 0 24px;line-height:1.1}
.legal-body{color:var(--ink);font-size:1.04rem;line-height:1.66}
.legal-body h2{font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--ink);margin:30px 0 10px}
.legal-body p{margin:0 0 14px;color:#3a342c}
.legal-body a{color:var(--shutter)}

/* ============================================================
   JOURNAL (блог)
   ============================================================ */
.journal-head{max-width:64ch;margin-bottom:30px}
.journal-h1{font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,4vw,2.9rem);color:var(--shell);line-height:1.08;margin:0 0 14px;letter-spacing:-.01em}
.journal .intro{color:rgba(237,230,216,.82)}

/* фильтр рубрик */
.journal-cats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.journal-cats .jc{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border:1px solid rgba(237,230,216,.22);border-radius:20px;color:rgba(237,230,216,.72);background:transparent}
.journal-cats .jc:hover{border-color:var(--shutter);color:var(--shell)}
.journal-cats .jc.active{background:var(--shutter);border-color:var(--shutter);color:#fff}

/* сетка карточек */
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:880px){.journal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.journal-grid{grid-template-columns:1fr}}

.jcard{background:var(--shell);border-radius:16px;overflow:hidden;box-shadow:0 4px 0 var(--shell-2),0 14px 30px rgba(40,20,6,.18);transition:transform .2s ease}
.jcard:hover{transform:translateY(-4px)}
.jcard-link{display:flex;flex-direction:column;height:100%;color:inherit}
.jcard-thumb{aspect-ratio:3/4;overflow:hidden;background:var(--char);display:flex;align-items:center;justify-content:center}
.jcard-thumb img{width:100%;height:100%;object-fit:cover}
.jcard-thumb--ph{display:flex;align-items:flex-end}
.jcard-thumb--ph .spectrum{height:10px}
.jcard-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.jcard-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:12px}
.jcard-cat{color:var(--shutter);font-weight:500}
.jcard-title{font-family:var(--display);font-weight:600;font-size:1.04rem;line-height:1.3;color:var(--ink);margin:0 0 10px}
.jcard-excerpt{font-size:.96rem;color:var(--ink-dim);line-height:1.5;margin:0 0 16px;flex:1}
.jcard-more{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--shutter)}

/* пагинация */
.pagination{margin-top:36px}
.pagination .nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.pagination a,.pagination span{font-family:var(--mono);font-size:.8rem;padding:9px 14px;border-radius:6px;border:1px solid rgba(237,230,216,.22);color:rgba(237,230,216,.8)}
.pagination a:hover{border-color:var(--shutter);color:var(--shell)}
.pagination .current{background:var(--shutter);border-color:var(--shutter);color:#fff}

/* ============================================================
   SINGLE (статья) — журнальная вёрстка
   ============================================================ */
.single .panel{padding-top:clamp(30px,4vw,48px)}
.single-wrap{max-width:920px;margin:0 auto}

/* хлебные крошки */
.crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.crumbs a{color:var(--ink-dim);transition:color .15s ease}
.crumbs a:hover{color:var(--shutter)}
.crumbs span:not(.cur){opacity:.4}
.crumbs .cur{color:var(--shutter);max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* мета */
.single-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:18px}
.single-meta > *{display:inline-flex;align-items:center}
.single-meta .single-cat{color:#fff;background:var(--shutter);padding:5px 11px;border-radius:3px;font-weight:600;letter-spacing:.08em}
.single-meta .single-cat:hover{background:var(--shutter-deep)}
.single-meta time::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--ink-dim);margin-right:10px;vertical-align:middle}
.single-meta .meta-min::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--ink-dim);margin-right:10px;vertical-align:middle}

/* заголовок и лид */
.single-title{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1.16;color:var(--ink);margin:0 0 18px;letter-spacing:-.01em}
.single-lead{font-family:var(--body);font-size:clamp(1.16rem,2.2vw,1.4rem);line-height:1.5;color:var(--ink-dim);margin:0 0 26px;font-style:italic}

/* автор */
.single-author{display:flex;align-items:center;gap:12px;margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.single-author .sa-dot{width:42px;height:42px;flex-shrink:0;border-radius:50%;background:radial-gradient(circle at 38% 32%,#6f675c 0 8%,#2b2620 36%,#0b0907 78%,#000 100%);border:2px solid var(--shell-2);box-shadow:0 0 0 2px var(--shell)}
.single-author .sa-name{font-family:var(--display);font-weight:600;font-size:1rem;color:var(--ink)}
.single-author .sa-role{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-left:auto}

/* hero-картинка в полный размер */
.single-hero{margin:0 0 34px;border-radius:14px;overflow:hidden;box-shadow:0 14px 34px rgba(40,20,6,.22);background:var(--char);display:flex;flex-direction:column}
.single-hero img{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block;margin:0 auto}
.single-hero figcaption{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--ink-dim);padding:12px 16px;background:#fff;text-align:center}

/* тело статьи */
.single-body{font-family:var(--body);font-size:1.16rem;line-height:1.78;color:#2e2920;max-width:720px}
.single-body > p:first-of-type{font-size:1.24rem;line-height:1.7}
.single-body > p:first-of-type::first-letter{font-family:var(--display);font-weight:700;font-size:3.4em;line-height:.82;float:left;margin:6px 12px 0 0;color:var(--shutter)}
.single-body h2{font-family:var(--display);font-weight:600;font-size:clamp(1.4rem,2.6vw,1.7rem);color:var(--ink);margin:38px 0 14px;letter-spacing:-.01em}
.single-body h3{font-family:var(--display);font-weight:600;font-size:1.28rem;color:var(--ink);margin:30px 0 10px}
.single-body p{margin:0 0 20px}
.single-body img{border-radius:12px;margin:26px 0;width:100%;height:auto}
.single-body figure{margin:26px 0}
.single-body figure img{margin:0}
.single-body figcaption{font-family:var(--mono);font-size:.66rem;color:var(--ink-dim);text-align:center;margin-top:10px;letter-spacing:.04em}
.single-body blockquote{border-left:3px solid var(--shutter);padding:14px 0 14px 24px;margin:28px 0;font-family:var(--display);font-style:italic;font-size:1.3rem;line-height:1.45;color:var(--ink)}
.single-body a{color:var(--shutter);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.single-body a:hover{color:var(--shutter-deep)}
.single-body ul,.single-body ol{margin:0 0 20px 4px;padding-left:24px}
.single-body li{margin:8px 0;padding-left:6px}
.single-body ul li::marker{color:var(--shutter)}
.single-body ol li::marker{color:var(--shutter);font-family:var(--mono);font-weight:600}
.single-body hr{border:none;border-top:1px solid var(--line);margin:34px 0}
.single-body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:1rem}
.single-body th,.single-body td{border:1px solid var(--line);padding:10px 14px;text-align:left}
.single-body th{background:var(--shell-2);font-family:var(--display);font-weight:600}
.single-body code{font-family:var(--mono);font-size:.92em;background:var(--shell-2);padding:2px 6px;border-radius:4px}
.single-body pre{background:var(--char);color:var(--shell);padding:18px;border-radius:10px;overflow-x:auto;margin:24px 0}
.single-body pre code{background:none;color:inherit;padding:0}

/* теги */
.single-tags{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:36px 0 0;padding-top:26px;border-top:1px solid var(--line)}
.single-tags .st-label{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-right:4px}
.single-tags a{font-family:var(--mono);font-size:.72rem;color:var(--ink);background:#fff;border:1px solid var(--line);padding:7px 13px;border-radius:20px;transition:all .15s ease}
.single-tags a:hover{color:#fff;background:var(--shutter);border-color:var(--shutter)}

/* футер статьи */
.single-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.single-share{display:flex;gap:14px;align-items:center;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}
.single-share a{color:var(--shutter)}
.single-footer .back-link{margin:0}

/* похожие */
.related{margin-top:44px}
.related-h{font-family:var(--display);font-weight:600;font-size:1.4rem;color:var(--shell);margin:0 0 20px}
