/*
Theme Name: Прозрачные Деньги
Theme URI: https://danilsedov.ru
Author: Данил Седов
Author URI: https://danilsedov.ru
Description: Независимый финансовый сайт-разоблачитель: как банки зарабатывают на клиентах. Лёгкая классическая тема без фронтенд-фреймворков, локальные шрифты, светлая и тёмная дизайн-система.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: prozrachnye-dengi
Tags: blog, custom-logo, custom-menu, footer-widgets, translation-ready, full-width-template
*/

/* ===================================================================
   ДИЗАЙН-ТОКЕНЫ
   Светлая тема — безопасный базовый слой и fallback без JS.
   Тёмная тема сохраняет исходную палитру проекта.
   =================================================================== */
:root{
  color-scheme:light;
  --bg:#BED0DC; --surface:#E5EDF3; --surface2:#CCD9E3;
  --card:#EEF4F8; --card-deep:#DCE7EF; --well:rgba(164,184,199,.34);
  --text:#15202C; --muted:#5D6E80; --accent:#326BE8; --accent-text:#194FAF; --hover-title:#16459B;
  --danger:#C9433A; --good:#237B58; --orange:#C96932;
  --line:rgba(36,56,73,.17); --line-strong:rgba(36,56,73,.28);
  --muted-soft:rgba(72,91,108,.82); --muted-faint:rgba(72,91,108,.66);
  --accent-soft:rgba(57,117,246,.13); --accent-border:rgba(42,103,232,.42);
  --accent-ink:#FFFFFF; --segment-body:#CFDAE3; --thumb-border:rgba(255,255,255,.98);
  --nav-bg:rgba(214,227,236,.82); --nav-bg-scrolled:rgba(226,236,243,.94);
  --grid-line:transparent; --surface-sheen:rgba(255,255,255,.76);
  --danger-soft:rgba(201,67,58,.1); --good-soft:rgba(35,123,88,.12);
  --pad:120px;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Manrope',system-ui,sans-serif;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0B0D11; --surface:#14171D; --surface2:#1B1F27;
  --card:#14171D; --card-deep:#0F1217; --well:rgba(11,13,17,.3);
  --text:#F1F4F8; --muted:#9CA6B5; --accent:#FBBF4A; --accent-text:#FBBF4A; --hover-title:#FFE3A8;
  --danger:#F77161; --good:#5ACF9A; --orange:#F79E61;
  --line:rgba(241,244,248,.06); --line-strong:rgba(241,244,248,.13);
  --muted-soft:rgba(156,166,181,.82); --muted-faint:rgba(156,166,181,.68);
  --accent-soft:rgba(251,191,74,.12); --accent-border:rgba(251,191,74,.3);
  --accent-ink:#0B0D11; --segment-body:rgba(241,244,248,.9); --thumb-border:rgba(255,255,255,.92);
  --nav-bg:rgba(11,13,17,.8); --nav-bg-scrolled:rgba(11,13,17,.92);
  --grid-line:rgba(255,255,255,.012); --surface-sheen:rgba(255,255,255,.04);
  --danger-soft:rgba(247,113,97,.12); --good-soft:rgba(90,207,154,.16);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#E6EDF3;background:var(--bg);color:#17212D;color:var(--text);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
::selection{background:#FBBF4A;background:var(--accent);color:#171A1F;color:var(--accent-ink)}

/* ===== nav ===== */
nav.site-nav{display:flex;align-items:center;justify-content:space-between;
  padding:22px var(--pad);position:sticky;top:0;z-index:50;
  background:rgba(230,237,243,.86);background:var(--nav-bg);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;transition:background-color .3s,border-color .3s,box-shadow .3s}
nav.site-nav.scrolled{border-bottom-color:var(--line)}
.logo{order:1;font-weight:800;font-size:20px;letter-spacing:-.01em}
.logo a{display:inline-flex;align-items:center;gap:10px}
.logo img{max-height:34px;width:auto}
.nav-tools{order:3;display:flex;align-items:center;gap:10px;margin-left:18px}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;
  background:#F7FAFC;background:var(--surface);color:#17212D;color:var(--text);align-items:center;justify-content:center;
  flex-direction:column;gap:5px;cursor:pointer;transition:border-color .2s,background .2s}
.nav-toggle:hover,.nav-toggle:focus-visible{border-color:rgba(251,191,74,.45);outline:none}
.nav-toggle__bar{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}
.navlinks{order:2;display:flex;flex:1;align-items:center;justify-content:flex-end;gap:24px}
.navlinks a{font-weight:500;font-size:15px;color:var(--muted);transition:.2s}
.navlinks a:hover,.navlinks .current-menu-item>a{color:var(--text)}
.navlinks ul{list-style:none;display:flex;align-items:center;gap:28px;margin:0;padding:0}
.btn{font-family:var(--sans);font-weight:600;cursor:pointer;border:none;transition:.2s;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.btn-accent{background:#FBBF4A;background:var(--accent);color:#171A1F;color:var(--accent-ink)}
.btn-accent:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-ghost{background:#DCE5ED;background:var(--surface2);color:#17212D;color:var(--text);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--line-strong)}
.nav-cta{padding:10px 18px;border-radius:8px;font-size:14px}
.navlinks .nav-cta,.navlinks .nav-cta:hover{color:var(--accent-ink)}

/* Переключатель темы скрыт без JS/поддержки CSS-переменных: fallback остаётся светлым. */
.theme-switch{display:none;position:relative;align-items:center;gap:4px;padding:4px;
  border:1px solid var(--line);border-radius:12px;background:var(--surface2)}
.theme-capable .theme-switch{display:flex}
.theme-option{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border:0;border-radius:9px;background:transparent;color:var(--muted);
  cursor:pointer;transition:color .2s,background-color .2s,box-shadow .2s,transform .2s}
.theme-option__icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.theme-option:hover,.theme-option:focus-visible{color:var(--text);outline:none}
.theme-option:focus-visible{box-shadow:0 0 0 2px var(--accent)}
html[data-theme-mode="light"] .theme-option[data-theme-choice="light"],
html[data-theme-mode="auto"] .theme-option[data-theme-choice="auto"],
html[data-theme-mode="dark"] .theme-option[data-theme-choice="dark"]{
  color:var(--accent-ink);background:var(--accent);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.48),3px 5px 12px rgba(44,53,62,.2)}
.theme-option::after{content:attr(title);position:absolute;left:50%;top:calc(100% + 9px);
  z-index:80;max-width:180px;padding:6px 9px;border-radius:7px;background:var(--text);color:var(--bg);
  font-size:11px;line-height:1.2;white-space:nowrap;opacity:0;visibility:hidden;
  transform:translate(-50%,-3px);pointer-events:none;transition:opacity .16s,transform .16s}
.theme-option:hover::after,.theme-option:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* ===== hero ===== */
.hero{display:grid;grid-template-columns:560px 1fr;gap:64px;align-items:center;
  padding:72px var(--pad);position:relative}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:100px;
  background:var(--accent-soft);border:1px solid var(--accent-border);
  color:var(--accent-text);font-weight:500;font-size:13px;width:fit-content}
.badge .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}
h1{font-family:var(--serif);font-weight:900;font-size:60px;line-height:1.05;
  letter-spacing:-.025em;margin:28px 0}
.lead{font-size:18px;line-height:1.66;color:var(--muted);margin-bottom:28px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.hero-btns .btn{padding:15px 24px;border-radius:10px;font-size:15px}

/* glowing card */
.glow-card{background:#F7FAFC;background:var(--card);border:1.5px solid var(--accent-border);
  border-radius:24px;padding:36px;
  box-shadow:0 0 70px rgba(251,191,74,.2),0 24px 48px rgba(56,70,84,.25)}
.gc-top{font-weight:600;font-size:17px;margin-bottom:18px}
.gc-label{font-weight:500;font-size:14px;color:var(--muted);margin-bottom:8px}
.gc-big{font-family:var(--serif);font-weight:900;font-size:56px;letter-spacing:-.025em;
  color:var(--danger);line-height:1;margin-bottom:18px}

/* stacked bar */
.stack{display:flex;gap:4px;height:64px;border-radius:14px;overflow:hidden;margin-bottom:16px}
.stack .seg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  transition:flex-basis .5s cubic-bezier(.4,0,.2,1)}
.stack .seg .t{font-weight:600;font-size:13px;color:var(--accent-ink)}
.stack .seg .v{font-weight:500;font-size:12px;color:rgba(23,26,31,.72)}
.seg-body{background:var(--segment-body)}
.seg-over{background:var(--danger)}
.note{font-size:12px;line-height:1.45;color:var(--muted-faint)}

/* ===== sections ===== */
section{padding:80px var(--pad)}
.sec-surface{background:#F7FAFC;background:var(--surface)}
.kicker{font-weight:600;font-size:13px;letter-spacing:.08em;color:var(--accent-text);
  text-transform:uppercase;margin-bottom:10px}
h2{font-family:var(--serif);font-weight:600;font-size:38px;letter-spacing:-.02em;margin-bottom:40px}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

.principle{background:#F7FAFC;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px}
.sec-surface .principle{background:var(--card-deep)}
.principle .num{font-family:var(--serif);font-weight:900;font-size:44px;letter-spacing:-.02em;
  color:var(--accent-text);line-height:1;margin-bottom:16px}
.principle h3{font-weight:600;font-size:20px;margin-bottom:12px}
.principle p{font-size:15px;line-height:1.55;color:var(--muted)}

.calc-card{background:#F7FAFC;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;
  transition:.25s;cursor:pointer;display:flex;flex-direction:column;gap:12px}
.calc-card:hover{border-color:var(--accent-border);transform:translateY(-3px)}
.calc-card--disabled{cursor:default}
.tag{display:inline-flex;padding:6px 12px;border-radius:100px;background:var(--accent-soft);
  color:var(--accent-text);font-weight:500;font-size:12px;width:fit-content}
.calc-card h3{font-weight:600;font-size:18px}
.calc-card p{font-size:14px;line-height:1.5;color:var(--muted)}

.article{background:#F7FAFC;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;
  display:flex;flex-direction:column;gap:16px;transition:.25s;cursor:pointer}
.article:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.article :is(h2,h3){font-weight:600;font-size:19px;line-height:1.37}
.article .meta{font-size:13px;color:var(--muted);margin-top:auto}
.article__thumb{aspect-ratio:16/9;margin:-28px -28px 2px;border-radius:18px 18px 12px 12px;
  overflow:hidden;background:var(--surface2)}
.article__thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}

.service{background:#F7FAFC;background:var(--card);border:1px solid var(--accent-border);border-radius:20px;
  padding:48px;display:flex;gap:48px;align-items:center;
  transition:transform .42s cubic-bezier(.22,1,.36,1),border-color .32s ease,box-shadow .42s ease}
.service .stext{flex:1}
.service h2{font-size:32px;margin:16px 0}
.service p{font-size:16px;line-height:1.6;color:var(--muted)}
.service .btn{padding:16px 28px;border-radius:10px;font-size:15px;white-space:nowrap}

/* ===== footer ===== */
footer.site-footer{padding:56px var(--pad)}
.foot-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;
  gap:24px;flex-wrap:wrap}
.foot-links{display:flex;gap:28px;flex-wrap:wrap}
.foot-links a{font-size:14px;color:var(--muted)}
.foot-links a:hover{color:var(--text)}
.foot-links ul{list-style:none;display:flex;gap:28px;flex-wrap:wrap;margin:0;padding:0}
.divider{height:1px;background:var(--line);margin-bottom:20px}
.disclaimer{font-size:12px;line-height:1.5;color:var(--muted-faint);max-width:1000px}
.foot-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:32px}
.foot-widgets .widget{font-size:14px;color:var(--muted)}
.foot-widgets .widget-title{font-weight:600;font-size:14px;color:var(--text);
  margin-bottom:14px;text-transform:uppercase;letter-spacing:.06em}
.foot-widgets ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot-widgets a{color:var(--muted)}
.foot-widgets a:hover{color:var(--text)}

/* ===================================================================
   LIVE INTERACTIVE LAYER (из эталона)
   =================================================================== */
/* Прогрессивное улучшение: контент скрываем только когда JS активен (класс .js на <html>).
   Без JS .reveal остаётся видимым — критично для SEO/доступности. */
.js .reveal{opacity:0;transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

.hero-glow{position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(251,191,74,.10),transparent 60%);
  pointer-events:none;filter:blur(20px);transform:translate(-50%,-50%);
  left:70%;top:40%;z-index:0}
.hero>*:not(.hero-glow){position:relative;z-index:1}

.glow-card{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease;
  transform-style:preserve-3d;will-change:transform}
.glow-card .gc-big,.glow-card .stack,.glow-card .gc-top{transform:translateZ(40px)}
.glow-card .gc-label,.glow-card .note{transform:translateZ(20px)}
/* Hero-карточкой управляет JS-наклон (rAF). У transform НЕ должно быть CSS-перехода
   и задержки (иначе .js .reveal/.d2 навешивают transform .7s + delay .16s и каждый
   кадр наклона лагает). Анимируем только появление (opacity) и тень; transform — мгновенно. */
#heroCard{transition:opacity .7s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease;transition-delay:0s}

/* ===== Hero-тизер: синхронные ползунок + редактируемое поле ===== */
.teaser{display:flex;flex-direction:column;gap:16px;margin:18px 0 22px}
.teaser-row{display:flex;flex-direction:column;gap:10px}
.trow-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.trow-top label{font-weight:500;font-size:14px;color:var(--muted)}
.teaser-field{width:150px;text-align:right;font-family:var(--sans);font-weight:600;font-size:16px;
  color:#17212D;color:var(--text);background:#DCE5ED;background:var(--surface2);
  border:1px solid var(--line);border-radius:9px;
  padding:8px 12px;transition:border-color .2s;-moz-appearance:textfield}
.teaser-field--sm{width:150px} /* единая ширина с полем суммы — поля не «гуляют» */
.teaser-field:focus{outline:none;border-color:rgba(251,191,74,.55)}
.teaser-range{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:100px;
  background:linear-gradient(90deg,var(--accent) 0 var(--fill,50%),var(--surface2) var(--fill,50%) 100%);
  outline:none;cursor:pointer}
.teaser-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;
  background:var(--accent);border:2px solid var(--thumb-border);box-shadow:0 0 12px rgba(251,191,74,.65);
  cursor:pointer;transition:transform .1s}
.teaser-range::-webkit-slider-thumb:active{transform:scale(1.12)}
.teaser-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);
  border:2px solid var(--thumb-border);box-shadow:0 0 12px rgba(251,191,74,.65);cursor:pointer}
.teaser-range:focus-visible{box-shadow:0 0 0 3px rgba(251,191,74,.3)}
.teaser-cta{width:100%;padding:14px 20px;border-radius:10px;font-size:15px;margin-top:6px}

.gc-big,.rbig{font-variant-numeric:tabular-nums}

.btn-accent{position:relative;overflow:hidden}
.btn-accent::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);transition:left .6s ease}
.btn-accent:hover::after{left:140%}

.calc-card,.article{transition:transform .34s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .34s}
.calc-card:hover,.article:hover{box-shadow:0 16px 42px rgba(50,64,78,.28)}
.calc-card--disabled:hover{border-color:var(--line);box-shadow:none;transform:none}
.article[aria-disabled="true"]{cursor:default}
.article[aria-disabled="true"]:hover{border-color:var(--line);box-shadow:none;transform:none}

/* ===== Бегущее свечение по рамке карточек (.calc-card, .article) =====
   Тонкое кольцо строго по контуру через mask-технику: conic-gradient заливает
   псевдоэлемент, маска оставляет только рамку (padding-кольцо). При наведении —
   плавно зажигается и светлый сегмент бежит по кругу (анимируем только угол).
   В покое — погашено (видна обычная тонкая граница карточки). Не просвечивает
   сквозь непрозрачный фон карточки и не конфликтует с hover-трансформом. */
@property --pd-angle{ syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes pd-border-spin{ to{ --pd-angle:360deg } }
.calc-card,.article{ position:relative; }
.calc-card::before,.article::before{
  content:""; position:absolute; inset:-1.5px; border-radius:inherit; padding:1.5px;
  background:conic-gradient(from var(--pd-angle),
    transparent 0deg,#FFE3A8 30deg,rgba(255,255,255,.9) 62deg,#FFE3A8 95deg,transparent 155deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
          mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .3s ease; pointer-events:none; z-index:2;
}
.calc-card:hover::before,.article:hover::before{ opacity:1; animation:pd-border-spin 5s linear infinite; }
.calc-card--disabled:hover::before{ opacity:0; animation:none; }
@media(prefers-reduced-motion:reduce){
  .calc-card:hover::before,.article:hover::before{ animation:none; }
}

@media(prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .glow-card,.hero-glow,.btn-accent::after{transition:none!important}
  html{scroll-behavior:auto}
}

/* ===================================================================
   КОНТЕНТ СТАТЕЙ / WORDPRESS (index.php, single, page)
   =================================================================== */
.content-wrap{padding:64px var(--pad);max-width:1160px;margin:0 auto}
.entry{background:var(--surface);border:1px solid var(--line);border-radius:18px;
  padding:32px;margin-bottom:24px}
.entry-title{font-family:var(--serif);font-weight:700;font-size:30px;
  line-height:1.18;letter-spacing:-.02em;margin-bottom:12px}
.entry-title a:hover{color:var(--accent-text)}
.entry-meta{font-size:13px;color:var(--muted);margin-bottom:16px}
.entry-content{font-size:16px;line-height:1.7;color:var(--text)}
.entry-content p{margin:0 0 18px}
.entry-content h1{font-family:var(--serif);font-weight:700;font-size:40px;
  line-height:1.12;letter-spacing:-.02em;margin:0 0 32px}
.entry-content h2{font-size:28px;margin:32px 0 16px}
.entry-content h3{font-family:var(--serif);font-weight:600;font-size:22px;margin:28px 0 14px}
.entry-content a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.entry-content ul,.entry-content ol{margin:0 0 18px 22px;color:var(--text)}
.entry-content li{margin-bottom:8px}
.entry-content blockquote{border-left:4px solid var(--accent);padding:8px 0 8px 20px;
  margin:0 0 18px;color:var(--muted);font-style:italic}
.entry-content img{border-radius:12px}
.read-more{color:var(--accent-text);font-weight:600;font-size:15px;margin-top:auto}
.page-title{font-family:var(--serif);font-weight:700;font-size:40px;
  letter-spacing:-.02em;margin-bottom:32px}
.pagination{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.pagination .page-numbers{padding:8px 14px;border-radius:8px;border:1px solid var(--line);
  color:var(--muted);font-weight:600;font-size:14px}
.pagination .page-numbers.current{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.pagination a.page-numbers:hover{border-color:rgba(251,191,74,.4);color:var(--text)}
.no-content{font-size:16px;color:var(--muted)}

.pd-section-lead{max-width:760px;font-size:18px;line-height:1.65;color:var(--muted)}
.pd-hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:28px 0}
.pd-hub-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;
  display:flex;flex-direction:column;gap:12px;min-height:220px;text-decoration:none!important;
  transition:border-color .25s,transform .25s,box-shadow .25s}
.pd-hub-card:hover{border-color:var(--accent-border);box-shadow:var(--neo-inset),var(--neo-shadow-hover),var(--neo-glow);transform:translateY(-4px)}
.pd-hub-card--muted{background:var(--card-deep);opacity:.86}
.pd-hub-card--muted:hover{border-color:var(--line);box-shadow:none;transform:none}
.pd-hub-card h2{font-family:var(--sans);font-weight:700;font-size:20px;line-height:1.25;margin:4px 0 0;color:var(--text)}
.pd-hub-card p{font-size:15px;line-height:1.55;color:var(--muted);margin:0}
.pd-hub-card__action{margin-top:auto;font-weight:700;font-size:14px;color:var(--accent-text)}
.pd-hub-note{font-size:14px;line-height:1.55;color:var(--muted-soft);max-width:760px}

/* ===== WP служебные классы ===== */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);
  width:1px;height:1px;overflow:hidden;word-wrap:normal!important}
.skip-link{position:absolute;left:-9999px;z-index:999;padding:12px 18px;
  background:var(--accent);color:var(--accent-ink);font-weight:600;border-radius:0 0 8px 0}
.skip-link:focus{left:0;top:0}
.alignleft{float:left;margin:0 24px 18px 0}
.alignright{float:right;margin:0 0 18px 24px}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignwide{margin-left:-60px;margin-right:-60px;max-width:none;width:auto}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;width:100vw}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:13px;color:var(--muted);margin-top:8px}
.sticky,.gallery-caption,.bypostauthor{display:block}

/* ===================================================================
   ЛОНГРИД (single.php) — узкая колонка для чтения ~680px
   =================================================================== */
.article-wrap{max-width:920px;padding:44px 40px 88px}
.longread-shell{display:block;max-width:760px;margin:0 auto}
.longread-main,.longread{min-width:0;width:100%}
.longread{max-width:none;margin:0}
.longread-rail{display:none}
.longread-rail__eyebrow{font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent-text);margin-bottom:18px}
.longread-rail__meta{display:grid;gap:14px;margin:0 0 22px}
.longread-rail__meta div{display:grid;gap:3px}
.longread-rail__meta dt{font-size:12px;color:var(--muted-faint)}
.longread-rail__meta dd{margin:0;color:var(--text);font-weight:600}
.longread-rail__links{display:grid;gap:10px}
.longread-rail__links a{display:flex;align-items:center;justify-content:space-between;gap:10px;
  color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:10px 12px;
  transition:border-color .2s,color .2s,background .2s}
.longread-rail__links a::after{content:"→";color:var(--accent-text)}
.longread-rail__links a:hover{color:var(--text);border-color:rgba(251,191,74,.28);background:rgba(251,191,74,.05)}

/* Хлебные крошки */
.pd-crumbs{max-width:none;margin:0 0 28px}
.pd-crumbs__list{list-style:none;display:flex;flex-wrap:wrap;align-items:center;
  gap:6px;margin:0;padding:0;font-size:13px;color:var(--muted)}
.pd-crumbs__item{display:inline-flex;align-items:center;gap:6px}
.pd-crumbs__item a{color:var(--muted);transition:color .2s}
.pd-crumbs__item a:hover{color:var(--accent-text)}
.pd-crumbs__sep{color:var(--muted-faint)}
.pd-crumbs__item--current{display:none}
.pd-crumbs__item:nth-last-child(2) .pd-crumbs__sep{display:none}
.pd-crumbs--rank-math .rank-math-breadcrumb p{display:flex;flex-wrap:wrap;align-items:center;
  gap:6px;margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.pd-crumbs--rank-math .rank-math-breadcrumb a{color:var(--muted);transition:color .2s}
.pd-crumbs--rank-math .rank-math-breadcrumb a:hover{color:var(--accent-text)}
.pd-crumbs--rank-math .rank-math-breadcrumb .separator{color:var(--muted-faint)}

/* Шапка статьи */
.longread__header{max-width:none;margin:0 0 34px}
.longread__cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.longread__cats .tag{transition:filter .2s}
.longread__cats .tag:hover{filter:brightness(1.12)}
.longread__title{font-family:var(--serif);font-weight:700;font-size:44px;
  line-height:1.12;letter-spacing:0;margin-bottom:16px}
.longread__dek{max-width:none;font-size:20px;line-height:1.6;color:var(--muted);margin:0 0 20px}
.longread__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:14px;color:var(--muted)}
.longread__dot{color:var(--muted-faint)}

/* Обложка */
.longread__cover{max-width:none;margin:0 0 44px}
.longread__cover img{width:100%;border-radius:18px;display:block;box-shadow:0 22px 70px rgba(0,0,0,.32)}

/* Тело лонгрида — крупный текст, увеличенный line-height */
.longread__content{max-width:none;margin:0;font-size:18px;line-height:1.72}
.longread__content p{margin:0 0 24px}
.longread__content h2{font-family:var(--serif);font-weight:700;font-size:28px;
  line-height:1.22;letter-spacing:0;margin:44px 0 16px}
.longread__content h3{font-family:var(--serif);font-weight:600;font-size:21px;
  line-height:1.25;margin:36px 0 14px}
.longread__content ul,.longread__content ol{margin:0 0 22px 24px}
.longread__content li{margin-bottom:10px}
.longread__content ul li::marker{color:var(--accent-text)}
.longread__content ol li::marker{color:var(--accent-text);font-weight:700}
.longread__content blockquote{border-left:4px solid var(--accent);
  padding:6px 0 6px 22px;margin:28px 0;color:var(--muted);font-style:italic;font-size:18px}
.longread__content a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.longread__content a:hover{text-decoration-thickness:2px}
.longread__content img{max-width:100%;border-radius:14px;display:block;margin:8px auto}
.longread__content figure{margin:34px 0}
.longread__content figure img{width:100%;height:auto;margin:0}
.longread__content figcaption,.longread__cover figcaption{font-size:13px;line-height:1.5;
  color:var(--muted-soft);margin-top:10px;text-align:center}
.longread__content figure.alignwide,.longread__content .alignwide{
  width:min(980px,calc(100vw - 48px));max-width:none;margin-left:50%;transform:translateX(-50%)}
.longread__content figure.alignfull,.longread__content .alignfull{
  width:100vw;max-width:100vw;margin-left:50%;transform:translateX(-50%);border-radius:0}
.longread__content figure.alignfull img,.longread__content .alignfull img{border-radius:0}
.longread__content hr{border:none;height:1px;background:var(--line);margin:40px 0}

/* Подвал статьи */
.longread__related{max-width:none;margin:64px 0 0;padding-top:30px;border-top:1px solid var(--line)}
.longread__related-title{font-family:var(--serif);font-weight:600;font-size:24px;
  margin-bottom:24px}
.longread__related .grid3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.longread__back{max-width:none;margin:34px 0 0}
.longread__back .btn{padding:12px 18px;border-radius:10px}

/* ===================================================================
   КОНТЕНТ-ШОРТКОДЫ (the_content)
   =================================================================== */
/* [pd_personal] — врезка «Личный опыт» */
.pd-personal{background:var(--surface2);border:1px solid var(--line);
  border-left:4px solid var(--accent);border-radius:0 14px 14px 0;
  padding:22px 26px;margin:32px 0}
.pd-personal__label{display:inline-flex;align-items:center;gap:8px;
  font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent-text);margin-bottom:12px}
.pd-personal__label::before{content:"";width:6px;height:6px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 8px var(--accent)}
.pd-personal__body{font-size:17px;line-height:1.7;color:var(--text)}
.pd-personal__body p:last-child{margin-bottom:0}

/* [pd_calc_cta] — блок «Посчитай сам» */
.pd-calc-cta{background:linear-gradient(180deg,var(--accent-soft),var(--card));
  border:1px solid var(--accent-border);border-radius:18px;padding:30px;margin:42px 0;
  box-shadow:0 0 40px rgba(251,191,74,.08)}
.pd-calc-cta__tag{display:inline-flex;padding:6px 12px;border-radius:100px;
  background:var(--accent-soft);color:var(--accent-text);font-weight:500;
  font-size:12px;margin-bottom:14px}
.pd-calc-cta__title{font-family:var(--serif);font-weight:600;font-size:24px;
  margin-bottom:10px}
.pd-calc-cta__desc{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:20px}
.pd-calc-cta__btn{width:fit-content;min-width:260px;padding:14px 24px;border-radius:10px;
  font-size:15px;color:var(--accent-ink)!important;text-decoration:none!important}
.longread__content .pd-calc-cta__desc{margin-bottom:20px}
.longread__content .pd-calc-cta__btn{text-decoration:none}

/* [pd_faq] — нативный аккордеон на <details> */
.pd-faq{display:flex;flex-direction:column;gap:12px;margin:56px 0;padding:0}
.pd-faq__title{font-family:var(--serif);font-weight:600;font-size:26px;margin:0 0 6px}
.pd-qa{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:14px;
  width:100%;min-width:0;overflow:hidden;transition:border-color .2s}
.pd-faq>.pd-qa{align-self:stretch;display:flex;flex:0 0 auto;
  width:100%;min-width:0;max-width:100%}
.pd-qa[open]{border-color:rgba(251,191,74,.3)}
.pd-qa__q{display:block;cursor:pointer;list-style:none;padding:18px 52px 18px 22px;position:relative;
  font-family:var(--sans);font-weight:700;font-size:16px;line-height:1.45;
  color:var(--text);user-select:none}
.pd-qa__q::-webkit-details-marker{display:none}
.pd-qa__q::after{content:"+";position:absolute;right:22px;top:50%;
  transform:translateY(-50%);font-family:var(--sans);font-weight:600;font-size:24px;
  line-height:1;color:var(--accent-text);transition:transform .2s}
.pd-qa[open] .pd-qa__q::after{content:"−"}
.pd-qa__q:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.pd-qa__a{padding:0 22px 20px;font-size:16px;line-height:1.7;color:var(--muted)}
.pd-qa__a p:last-child{margin-bottom:0}
.pd-qa__a a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}

/* ===================================================================
   АРХИВЫ / БЛОГ / ПОИСК / 404
   =================================================================== */
.archive-wrap{max-width:1160px}
.archive-head{margin-bottom:36px;max-width:760px}
.archive-desc{font-size:17px;line-height:1.6;color:var(--muted);margin-top:4px}
.cards-grid{align-items:stretch}
.cards-grid .article{height:100%}
.article-excerpt{font-size:14px;line-height:1.55;color:var(--muted)}
.cards-grid .article .meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* Поиск */
.pd-search{display:flex;gap:10px;flex-wrap:wrap;max-width:520px}
.pd-search__input{flex:1;min-width:200px;background:var(--surface2);
  border:1px solid var(--line);border-radius:10px;padding:13px 16px;
  color:var(--text);font-family:var(--sans);font-size:15px;transition:border-color .2s}
.pd-search__input::placeholder{color:var(--muted-faint)}
.pd-search__input:focus{outline:none;border-color:rgba(251,191,74,.55)}
.pd-search__btn{padding:13px 22px;border-radius:10px;font-size:15px}

/* Пустое состояние поиска */
.empty-state{max-width:560px}
.empty-state .empty-actions{margin:24px 0}
.empty-state .longread__back{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}

/* 404 */
.error-wrap{max-width:720px;text-align:center}
.error-404__code{font-family:var(--serif);font-weight:900;font-size:120px;
  line-height:1;letter-spacing:-.03em;color:var(--accent-text);
  text-shadow:0 0 60px rgba(251,191,74,.35);margin-bottom:8px}
.error-404 .page-title{margin-bottom:16px}
.error-404__lead{font-size:18px;line-height:1.65;color:var(--muted);
  max-width:520px;margin:0 auto 28px}
.error-404__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:28px}
.error-404__actions .btn{padding:14px 24px;border-radius:10px;font-size:15px}
.error-404__search{display:flex;justify-content:center}
.error-404__search .pd-search{margin:0 auto}

/* ===================================================================
   АДАПТИВ (из эталона)
   =================================================================== */
@media(max-width:1100px){
  :root{--pad:24px}
  .hero{grid-template-columns:1fr;gap:40px}
  .hero>*{min-width:0}
  .hero-glow{display:none}
  h1{font-size:44px;overflow-wrap:break-word}
  .grid3,.grid4{grid-template-columns:1fr 1fr}
  .service{flex-direction:column;align-items:flex-start;gap:24px}
  .foot-widgets{grid-template-columns:1fr 1fr}
  .alignwide{margin-left:0;margin-right:0}
  .article-wrap{max-width:820px}
  .longread-shell{display:block}
  .longread-rail{display:none}
  .longread-rail__eyebrow{margin-bottom:0}
  .longread-rail__meta{grid-template-columns:repeat(2,auto);gap:18px;margin:0}
  .longread-rail__links{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
  .longread__header,.pd-crumbs{max-width:none}
  .longread__title{font-size:38px;line-height:1.14}
  .longread__content{font-size:18px}
  .longread__content figure.alignwide,.longread__content .alignwide{
    width:100%;max-width:100%;margin-left:0;transform:none}
  .pd-faq>.pd-qa{width:100%!important;min-width:100%!important;max-width:100%}
  .longread__related .grid3{grid-template-columns:1fr 1fr}
}
@media(max-width:840px){
	nav.site-nav{padding:16px var(--pad);flex-wrap:wrap}
	.nav-toggle{display:inline-flex}
	.nav-tools{order:2;margin-left:auto}
	.navlinks{display:none;width:100%;align-items:stretch;flex-direction:column;gap:14px;
		order:3;margin-top:16px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
  .site-nav.is-open .navlinks{display:flex}
  .navlinks ul{width:100%;align-items:stretch;flex-direction:column;gap:10px}
  .navlinks a{display:block;font-size:16px;padding:8px 0}
  .navlinks .nav-cta{display:inline-flex;width:100%;padding:12px 18px}
	.theme-option::after{display:none}
}
@media(max-width:760px){
  .grid3,.grid4{grid-template-columns:1fr}
  h1{font-size:36px}
  .foot-widgets{grid-template-columns:1fr}
  .foot-top{flex-direction:column;align-items:flex-start}
  .service{padding:32px 24px}
  .entry{padding:24px}
  .entry-content h1{font-size:32px}
  .pd-hub-grid{grid-template-columns:1fr}
  .longread-rail{display:none}
  .longread__header{margin-bottom:26px}
  .longread__title{font-size:32px;line-height:1.12}
  .longread__dek{font-size:18px;line-height:1.55}
  .longread__cover{margin-bottom:30px}
  .longread__content{font-size:17px;line-height:1.72}
  .longread__content h2{font-size:25px;margin:34px 0 14px}
  .longread__content h3{font-size:20px}
  .longread__content figure.alignwide,.longread__content .alignwide,
  .longread__content figure.alignfull,.longread__content .alignfull{
    width:100%;max-width:100%;margin-left:0;transform:none}
  .longread__content figure.alignfull img,.longread__content .alignfull img{border-radius:14px}
  .longread__related .grid3{grid-template-columns:1fr}
  .pd-calc-cta__btn{width:100%;min-width:0}
  .error-404__code{font-size:84px}
  .pd-calc-cta,.pd-personal{padding:20px}
  .pd-qa__q{font-size:17px;padding:16px 46px 16px 18px}
}
/* ===== Мобильный адаптив форм и контейнеров (<=600px) ===== */
@media(max-width:600px){
  /* контейнер контента (страницы калькуляторов/статьи) — меньше боковой отступ,
     не впритык к краю (~14px) */
  .content-wrap{padding:40px 14px}
  /* hero-тизер: лейбл сверху на всю ширину (не жмётся), поле под ним на всю ширину */
  .trow-top{flex-direction:column;align-items:stretch;gap:6px}
  .trow-top label{white-space:normal}
  .teaser-field,.teaser-field--sm{width:100%;text-align:left}
  /* меньше внутренний padding светящейся карточки на узком экране */
  .glow-card{padding:24px}
  .gc-big{font-size:clamp(38px,12vw,46px);line-height:.98}
}
@media(max-width:360px){
	.pd-site-brand__text{display:none}
	.theme-option{width:30px;height:30px}
}

/* ===================================================================
   NEO-TACTILE DEPTH LAYER
   Lightweight directional light and raised surfaces. Pointer light is
   driven by one requestAnimationFrame loop in front.js.
   =================================================================== */
:root{
  --neo-edge:rgba(255,255,255,.94);
  --neo-edge-soft:rgba(255,255,255,.68);
  --neo-edge-dark:rgba(72,96,115,.38);
  --neo-shadow-close:9px 13px 17px rgba(34,52,67,.27);
  --neo-shadow-far:18px 25px 32px rgba(34,52,67,.24);
  --neo-shadow-hover:22px 31px 38px rgba(34,52,67,.32);
  --neo-inset:inset 1px 1px 0 var(--neo-edge),inset -1px -1px 0 var(--neo-edge-dark);
  --neo-glow:0 0 28px rgba(84,241,255,.5);
  --neo-panel-border:rgba(58,84,104,.2);
  --neo-control-shadow:var(--neo-inset),8px 12px 17px rgba(34,52,67,.25);
  --neo-well-shadow:inset 4px 6px 11px rgba(67,91,109,.3),inset -1px -1px 0 rgba(255,255,255,.78);
  --neo-disabled-shadow:inset 4px 6px 12px rgba(67,91,109,.28),inset -1px -1px 0 rgba(255,255,255,.7);
  --neo-nav-shadow:0 10px 18px rgba(34,52,67,.2),inset 0 -1px 0 rgba(255,255,255,.72);
  --neo-nav-shadow-scrolled:0 16px 25px rgba(34,52,67,.27),inset 0 -1px 0 rgba(255,255,255,.82);
  --neo-cursor:rgba(84,241,255,.1);
  --neo-cursor-soft:rgba(84,241,255,.03);
  --light-x:50%;
  --light-y:20%;
}
html[data-theme="dark"]{
  --neo-edge:rgba(255,255,255,.12);
  --neo-edge-soft:rgba(255,255,255,.055);
  --neo-edge-dark:rgba(0,0,0,.72);
  --neo-shadow-close:10px 14px 26px rgba(0,0,0,.55);
  --neo-shadow-far:24px 34px 76px rgba(0,0,0,.58);
  --neo-shadow-hover:28px 42px 88px rgba(0,0,0,.68);
  --neo-glow:0 0 42px rgba(251,191,74,.19);
  --neo-panel-border:rgba(255,255,255,.08);
  --neo-control-shadow:var(--neo-inset),5px 8px 17px rgba(0,0,0,.38);
  --neo-well-shadow:inset 3px 4px 11px rgba(0,0,0,.48),inset -1px -1px 0 rgba(255,255,255,.04);
  --neo-disabled-shadow:inset 3px 4px 13px rgba(0,0,0,.46),inset -1px -1px 0 rgba(255,255,255,.04);
  --neo-nav-shadow:0 10px 30px rgba(0,0,0,.32),inset 0 -1px 0 rgba(255,255,255,.03);
  --neo-nav-shadow-scrolled:0 17px 42px rgba(0,0,0,.55),inset 0 -1px 0 rgba(255,255,255,.06);
  --neo-cursor:rgba(255,227,168,.14);
  --neo-cursor-soft:rgba(251,191,74,.04);
}

body{
  background-color:var(--bg);
  background-image:
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:40px 40px;
}
html:not([data-theme="dark"]) body{
  background-image:
    linear-gradient(118deg,rgba(255,255,255,.86) 0%,rgba(237,247,252,.5) 27%,transparent 47%),
    linear-gradient(152deg,transparent 0%,transparent 40%,rgba(84,225,239,.15) 58%,transparent 77%),
    linear-gradient(34deg,rgba(50,107,232,.1) 0%,rgba(50,107,232,.04) 20%,transparent 43%),
    linear-gradient(145deg,#E2EDF4 0%,#C7D9E4 51%,#A9BDCA 100%);
  background-size:cover;
}
html:not([data-theme="dark"]) .sec-surface{
  background:rgba(218,230,238,.56);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62),inset 0 -1px 0 rgba(57,78,94,.08);
}
.hero{overflow:clip}

nav.site-nav{
  box-shadow:var(--neo-nav-shadow);
}
nav.site-nav.scrolled{
  background:var(--nav-bg-scrolled);
  box-shadow:var(--neo-nav-shadow-scrolled);
}

.nav-toggle,
.btn-ghost,
.teaser-field{
  box-shadow:var(--neo-control-shadow);
}
.nav-toggle:active,
.btn-ghost:active{
  transform:translateY(1px);
  box-shadow:var(--neo-well-shadow);
}

.btn-accent{
  border:1px solid rgba(255,227,168,.52);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.42),
    inset -1px -1px 0 rgba(80,52,0,.22),
    6px 9px 20px rgba(72,63,39,.25),
    0 0 22px rgba(251,191,74,.13);
}
.btn-accent:hover{
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.5),
    inset -1px -1px 0 rgba(80,52,0,.2),
    9px 14px 28px rgba(72,63,39,.31),
    0 0 30px rgba(251,191,74,.2);
}
.btn-accent:active{
  transform:translateY(1px);
  box-shadow:inset 2px 3px 6px rgba(80,52,0,.3),0 0 16px rgba(251,191,74,.13);
}

.badge,
.tag{
  box-shadow:inset 1px 1px 0 rgba(255,227,168,.3),4px 6px 13px rgba(72,88,104,.16);
}

.glow-card{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(145deg,var(--surface-sheen),transparent 36%),
    var(--card);
  border-color:var(--accent-border);
  box-shadow:var(--neo-inset),var(--neo-shadow-close),var(--neo-shadow-far),0 0 68px rgba(251,191,74,.2);
}
.glow-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  pointer-events:none;
  background:radial-gradient(330px circle at var(--light-x) var(--light-y),
    var(--neo-cursor),transparent 58%);
}
.glow-card>*{position:relative;z-index:1}
.teaser-row{
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--well);
  box-shadow:var(--neo-well-shadow);
}
.teaser-field:focus{
  box-shadow:var(--neo-inset),0 0 0 3px rgba(251,191,74,.12),0 0 20px rgba(251,191,74,.1);
}
.teaser-range{
  box-shadow:inset 2px 3px 7px rgba(79,94,109,.35),inset 0 1px 0 var(--neo-edge-soft);
}
.teaser-range::-webkit-slider-thumb{
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.48),
    4px 7px 14px rgba(57,69,81,.34),0 0 16px rgba(251,191,74,.52);
}
.teaser-range::-moz-range-thumb{
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.48),
    4px 7px 14px rgba(57,69,81,.34),0 0 16px rgba(251,191,74,.52);
}
.glow-card .stack{
  border:1px solid var(--line);
  box-shadow:var(--neo-well-shadow),5px 8px 16px rgba(72,88,104,.16);
}

.principle,
.calc-card,
.article,
.service,
.entry,
.pd-hub-card{
  isolation:isolate;
  border-color:var(--neo-panel-border);
  box-shadow:var(--neo-inset),var(--neo-shadow-close),var(--neo-shadow-far);
}
.principle,
.calc-card,
.article,
.service{
  overflow:visible;
}
.principle{
  background:
    linear-gradient(145deg,var(--surface-sheen),transparent 42%),
    var(--card);
}
.sec-surface .principle,
.calc-card,
.service{
  background:
    linear-gradient(145deg,var(--surface-sheen),transparent 44%),
    var(--card);
}
.article{
  background:
    linear-gradient(145deg,var(--surface-sheen),transparent 44%),
    var(--card);
}
.calc-card--disabled,
.article[aria-disabled="true"]{
  box-shadow:var(--neo-disabled-shadow);
}
.service{
  border-color:var(--accent-border);
  box-shadow:var(--neo-inset),var(--neo-shadow-close),var(--neo-shadow-far),0 0 38px rgba(251,191,74,.1);
}

.pd-light-surface{
  position:relative;
  isolation:isolate;
}
.pd-light-surface::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(280px circle at var(--light-x) var(--light-y),
    var(--neo-cursor),var(--neo-cursor-soft) 34%,transparent 68%);
  transition:opacity .2s ease;
}
.pd-light-surface.is-lit::after{opacity:1}
.pd-light-surface>*{position:relative;z-index:1}
.calc-card.pd-light-surface::before,
.article.pd-light-surface::before{z-index:3}

@media(hover:hover) and (pointer:fine){
  .calc-card:not(.calc-card--disabled):hover,
  .article:not([aria-disabled="true"]):hover,
  .service:hover{
    transform:translateY(-6px);
    border-color:var(--accent-border);
    box-shadow:var(--neo-inset),var(--neo-shadow-hover),var(--neo-glow);
  }
  .service:hover{transform:translateY(-4px)}
  .calc-card h3,
  .article :is(h2,h3){
    transition:transform .3s cubic-bezier(.22,1,.36,1),color .22s ease;
  }
  .calc-card:not(.calc-card--disabled):hover h3,
  .article:not([aria-disabled="true"]):hover :is(h2,h3){
    transform:translateY(-2px);
    color:var(--hover-title);
  }
}

@media(max-width:1100px){
  .principle,
  .calc-card,
  .article,
  .service,
  .entry,
  .pd-hub-card{
    box-shadow:var(--neo-inset),var(--neo-shadow-close),var(--neo-shadow-far);
  }
}

@media(max-width:840px){
  nav.site-nav{box-shadow:var(--neo-nav-shadow)}
  .navlinks{
    box-shadow:var(--neo-inset),var(--neo-shadow-close);
  }
}

@media(max-width:640px){
  body{background-size:32px 32px}
  .glow-card{
    box-shadow:var(--neo-inset),var(--neo-shadow-close),var(--neo-shadow-far),
      0 0 36px rgba(251,191,74,.15);
  }
  .teaser-row{padding:12px}
  .principle,
  .calc-card,
  .article,
  .service{
    transform:none!important;
    box-shadow:var(--neo-inset),var(--neo-shadow-close);
  }
  .pd-light-surface::after{display:none}
}

@media(prefers-reduced-motion:reduce){
  .pd-light-surface::after{display:none}
  .principle,
  .calc-card,
  .article,
  .service,
  .principle .num,
  .calc-card h3,
  .article :is(h2,h3){transition:none!important;transform:none!important}
}

/* Light reference treatment. Dark-theme declarations above remain untouched. */
html:not([data-theme="dark"]) .theme-option[data-theme-choice="light"][aria-checked="true"],
html:not([data-theme="dark"])[data-theme-mode="auto"] .theme-option[data-theme-choice="auto"]{
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.64),
    8px 11px 16px rgba(34,52,67,.28),
    0 0 22px rgba(84,241,255,.62);
}
html:not([data-theme="dark"]) .btn-accent{
  border-color:rgba(183,247,255,.86);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.58),
    inset -1px -1px 0 rgba(16,54,139,.34),
    9px 13px 18px rgba(34,52,67,.3),
    0 0 22px rgba(84,241,255,.42);
}
html:not([data-theme="dark"]) .btn-accent:hover{
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.68),
    inset -1px -1px 0 rgba(16,54,139,.3),
    12px 17px 22px rgba(34,52,67,.34),
    0 0 30px rgba(84,241,255,.58);
}
html:not([data-theme="dark"]) .btn-accent:active{
  box-shadow:inset 3px 4px 7px rgba(13,48,128,.38),0 0 17px rgba(84,241,255,.42);
}
html:not([data-theme="dark"]) .badge,
html:not([data-theme="dark"]) .tag{
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.58),
    7px 10px 15px rgba(34,52,67,.22),
    0 0 16px rgba(84,241,255,.28);
}
html:not([data-theme="dark"]) .nav-toggle:hover,
html:not([data-theme="dark"]) .nav-toggle:focus-visible,
html:not([data-theme="dark"]) .teaser-field:focus,
html:not([data-theme="dark"]) .pd-search__input:focus{
  border-color:rgba(57,117,246,.58);
}
html:not([data-theme="dark"]) .hero-glow{
  background:radial-gradient(circle,rgba(84,241,255,.07),transparent 60%);
}
html:not([data-theme="dark"]) .glow-card{
  box-shadow:var(--neo-inset),var(--neo-shadow-close),var(--neo-shadow-far),
    0 0 46px rgba(84,241,255,.56);
}
html:not([data-theme="dark"]) .service{
  box-shadow:var(--neo-inset),var(--neo-shadow-close),var(--neo-shadow-far),
    0 0 30px rgba(84,241,255,.28);
}
html:not([data-theme="dark"]) .teaser-field:focus{
  box-shadow:var(--neo-inset),0 0 0 3px rgba(57,117,246,.16),0 0 22px rgba(84,241,255,.38);
}
html:not([data-theme="dark"]) .teaser-range:focus-visible{
  box-shadow:0 0 0 3px rgba(57,117,246,.26),0 0 18px rgba(84,241,255,.34);
}
html:not([data-theme="dark"]) .teaser-range::-webkit-slider-thumb{
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.62),
    6px 9px 14px rgba(34,52,67,.32),0 0 18px rgba(84,241,255,.72);
}
html:not([data-theme="dark"]) .teaser-range::-moz-range-thumb{
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.62),
    6px 9px 14px rgba(34,52,67,.32),0 0 18px rgba(84,241,255,.72);
}
html:not([data-theme="dark"]) .calc-card::before,
html:not([data-theme="dark"]) .article::before{
  background:conic-gradient(from var(--pd-angle),
    transparent 0deg,#5CF5FF 30deg,rgba(255,255,255,.96) 62deg,#326BE8 96deg,transparent 156deg,transparent 360deg);
}
html:not([data-theme="dark"]) .pagination a.page-numbers:hover,
html:not([data-theme="dark"]) .longread-rail__links a:hover,
html:not([data-theme="dark"]) .pd-qa[open]{
  border-color:rgba(57,117,246,.38);
}
html:not([data-theme="dark"]) .longread-rail__links a:hover{
  background:rgba(57,117,246,.06);
}
html:not([data-theme="dark"]) .pd-calc-cta{
  box-shadow:var(--neo-inset),var(--neo-shadow-close),0 0 28px rgba(84,241,255,.24);
}
html:not([data-theme="dark"]) .error-404__code{
  text-shadow:0 0 42px rgba(84,241,255,.52);
}

@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  html:not([data-theme="dark"]){
    --surface:rgba(229,238,245,.72);
    --surface2:rgba(196,213,225,.72);
    --card:rgba(240,246,250,.87);
    --card-deep:rgba(218,231,239,.82);
    --well:rgba(164,184,199,.3);
    --nav-bg:rgba(214,227,236,.68);
    --nav-bg-scrolled:rgba(226,236,243,.82);
    --surface-sheen:rgba(255,255,255,.58);
  }
  html:not([data-theme="dark"]) nav.site-nav{
    -webkit-backdrop-filter:blur(18px) saturate(125%);
    backdrop-filter:blur(18px) saturate(125%);
    border-bottom-color:rgba(255,255,255,.42);
  }
  html:not([data-theme="dark"]) .glow-card,
  html:not([data-theme="dark"]) .service,
  html:not([data-theme="dark"]) .entry{
    -webkit-backdrop-filter:blur(15px) saturate(118%);
    backdrop-filter:blur(15px) saturate(118%);
    background-clip:padding-box;
  }
  html:not([data-theme="dark"]) .glow-card,
  html:not([data-theme="dark"]) .service{
    border-color:rgba(138,225,239,.64);
    outline:1px solid rgba(255,255,255,.56);
    outline-offset:-2px;
  }
  html:not([data-theme="dark"]) .glow-card{
    background:
      linear-gradient(118deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.16) 22%,transparent 43%),
      linear-gradient(305deg,rgba(84,225,239,.11),transparent 42%),
      var(--card);
  }
  html:not([data-theme="dark"]) .service,
  html:not([data-theme="dark"]) .entry{
    background:
      linear-gradient(124deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.1) 25%,transparent 45%),
      var(--surface);
  }
}

@media(max-width:640px){
  html:not([data-theme="dark"]) body{background-size:cover}
  html:not([data-theme="dark"]) .glow-card{
    box-shadow:var(--neo-inset),var(--neo-shadow-close),0 0 30px rgba(84,241,255,.42);
  }
  @supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
    html:not([data-theme="dark"]) nav.site-nav{
      -webkit-backdrop-filter:none;
      backdrop-filter:none;
    }
    html:not([data-theme="dark"]) .glow-card,
    html:not([data-theme="dark"]) .service,
    html:not([data-theme="dark"]) .entry{
      -webkit-backdrop-filter:none;
      backdrop-filter:none;
    }
  }
}
