/* Self-hosted fonts (variable, one file per subset covers all weights). */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("fonts/manrope-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("fonts/manrope-latin.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: "Source Serif 4"; font-style: normal; font-weight: 600 700; font-display: swap; src: url("fonts/sourceserif4-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 600 700; font-display: swap; src: url("fonts/sourceserif4-latin.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 {
  color-scheme: light;
  --font-display: "Source Serif 4";
  --paper: #f5f3ec;
  --surface: #fffdf8;
  --ink: #18221d;
  --ink-soft: #4e5a52;
  --muted: #606b63;
  --line: #dcded4;
  --line-strong: #cbd0c5;
  --green: #1d593c;
  --green-dark: #13432c;
  --green-soft: #e7eee5;
  --sage-soft: var(--green-soft);
  --surface-soft: var(--inset);
  --serif: var(--font-display);
  --danger: #94483e;
  --danger-soft: #f4e5e1;
  --sand: #f1ece0;
  /* Cabinet foundation: единая шкала каркаса, ширин, отступов и радиусов. */
  --sidebar-width: 232px;
  --cabinet-gutter: clamp(28px, 4vw, 64px);
  --cabinet-wide: 1320px;
  --cabinet-reading: 900px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --radius-control: 8px;
  --radius-card: 12px;
  /* Кабинет: шкала поверхностей на пять ступеней. Глубину даёт тон, тень
     добавляется только поднятым слоям и всегда в паре с поверхностью. */
  --nav: #f5f3ec;
  --nav-raised: #e7eee5;
  --nav-line: #d7d9cf;
  --nav-ink: #18221d;
  --nav-ink-soft: #4e5a52;
  --nav-ink-quiet: #7b857d;
  --sunken: #e9e5d9;
  --raised: #fffdf7;
  --inset: #f2efe4;
  --hover: #ffffff;
  --green-bright: #2b7350;
  --amber: #7d5a1a;
  --amber-soft: #f6ecd5;
  --shadow-raised: 0 1px 2px rgb(18 25 21 / 5%), 0 4px 14px rgb(18 25 21 / 5%);
  --shadow-hover: 0 2px 4px rgb(18 25 21 / 7%), 0 12px 28px rgb(18 25 21 / 9%);
  font-family: "Manrope", "Segoe UI", sans-serif;
  background: var(--paper);
  color: var(--ink);
}

/* Goal-first public onboarding */
.preview-plan-screen{width:min(100%,1240px);margin:0 auto;padding:20px 0 64px}.preview-plan-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}.preview-plan-head h1{max-width:850px;margin:0 0 10px;font-size:clamp(40px,4.5vw,62px);line-height:1.08}.preview-plan-source{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:12px;font-weight:800}.preview-plan-source:before{width:7px;height:7px;border-radius:50%;background:var(--green);content:""}.preview-plan-card,.preview-plan-next{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 16px 40px rgba(49,43,31,.08)}.preview-plan-confirm{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.preview-plan-identity{display:grid;grid-template-columns:56px minmax(0,1fr);gap:15px;align-items:center;padding:24px;background:var(--sage-soft)}.preview-plan-identity>span{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--serif);font-size:24px}.preview-plan-identity h2{margin:0 0 4px;font-size:29px;font-weight:400}.preview-plan-identity p{margin:0;color:var(--muted);font-size:12px}.preview-plan-fields{display:grid;grid-template-columns:1fr 1fr}.preview-plan-fields label{min-height:164px;padding:22px 24px;border-top:1px solid var(--line)}.preview-plan-fields label:nth-child(odd){border-right:1px solid var(--line)}.preview-plan-fields label>span{display:block;margin-bottom:9px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.preview-plan-fields textarea{width:100%;min-height:82px;border:0;padding:0;background:transparent;font-size:16px;font-weight:700;line-height:1.45;resize:none;outline:0}.preview-plan-card>footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-top:1px solid var(--line);background:var(--surface-soft)}.preview-plan-card>footer p{max-width:540px;margin:0;color:var(--muted);font-size:11px}.preview-plan-card button,.preview-plan-access button{min-height:48px;border:1px solid var(--ink);border-radius:10px;padding:0 20px;background:var(--ink);color:#fff;font-weight:800}.preview-plan-next{position:sticky;top:22px;padding:24px}.preview-plan-next h2{margin:0 0 18px;font-size:28px;font-weight:400}.preview-plan-next ol{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.preview-plan-next li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:700}.preview-plan-next li span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--sage-soft);color:var(--green)}.preview-plan-goal{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.preview-plan-objectives>header{padding:24px 26px 19px;border-bottom:1px solid var(--line)}.preview-plan-objectives>header h2{margin:0 0 7px;font-size:31px;font-weight:400}.preview-plan-objectives>header p{margin:0;color:var(--muted);font-size:12px}.preview-plan-option{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:center;min-height:83px;padding:14px 26px;border-bottom:1px solid var(--line);cursor:pointer}.preview-plan-option:last-child{border-bottom:0}.preview-plan-option:has(input:checked){background:var(--sage-soft)}.preview-plan-option>input,.preview-plan-duration input{position:absolute;opacity:0}.preview-plan-option>i{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--paper)}.preview-plan-option:has(input:checked)>i{border:10px solid var(--green)}.preview-plan-option b,.preview-plan-option small{display:block}.preview-plan-option b{margin-bottom:3px}.preview-plan-option small{color:var(--muted)}.preview-plan-option textarea{display:none;width:100%;min-height:68px;margin-top:10px;border:1px solid var(--line);border-radius:9px;padding:11px;background:var(--paper)}.preview-plan-option:has(input[value=custom]:checked) textarea{display:block}.preview-plan-settings{position:sticky;top:22px}.preview-plan-settings>section{padding:24px;border-bottom:1px solid var(--line)}.preview-plan-setting-label{display:flex;justify-content:space-between;gap:12px}.preview-plan-setting-label>span{color:var(--muted);font-size:10px}.preview-plan-duration{display:grid;grid-template-columns:1fr 1fr;gap:9px}.preview-plan-duration label{position:relative}.preview-plan-duration span{min-height:54px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;font-size:10px;font-weight:800;text-align:center;text-transform:uppercase}.preview-plan-duration label:has(input:checked) span{border-color:var(--green);background:var(--sage-soft);box-shadow:inset 0 0 0 1px var(--green)}.preview-plan-date{width:100%;height:46px;margin-top:9px;border:1px solid var(--line);border-radius:9px;padding:0 11px;background:var(--paper)}.preview-plan-counter{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;min-height:62px;overflow:hidden;border:1px solid var(--line);border-radius:10px}.preview-plan-counter button{min-height:0;border:0;border-radius:0;padding:0;background:var(--surface-soft);color:var(--green);font-size:22px}.preview-plan-counter>div{display:flex;align-items:baseline;justify-content:center;gap:8px;border-right:1px solid var(--line);border-left:1px solid var(--line)}.preview-plan-counter strong{font-family:var(--serif);font-size:32px;font-weight:400}.preview-plan-counter span{color:var(--muted);font-size:10px}.preview-plan-settings>section>p:last-child{margin:10px 0 0;color:var(--muted);font-size:10px}.preview-plan-settings>footer{display:block;background:var(--paper)}.preview-plan-settings>footer button{width:100%}.preview-plan-screen--access{max-width:900px}.preview-plan-access{display:grid;grid-template-columns:minmax(0,1fr) 330px}.preview-plan-access>div{padding:34px}.preview-plan-access h2{margin:0 0 12px;font-size:38px;font-weight:400;line-height:1.16}.preview-plan-access>div>p{color:var(--muted)}.preview-plan-access form{display:grid;gap:10px}.preview-plan-access label{display:grid;gap:7px;font-size:11px;font-weight:800}.preview-plan-access input{height:54px;border:1px solid var(--line);border-radius:10px;padding:0 14px;background:var(--surface-soft)}.preview-plan-access form small{color:var(--muted)}.preview-plan-access aside{padding:28px 24px;border-left:1px solid var(--line);background:var(--sage-soft)}.preview-plan-access dl{margin:0}.preview-plan-access dl div{padding:13px 0;border-top:1px solid rgba(24,95,61,.16)}.preview-plan-access dt{color:var(--green);font-size:9px;font-weight:800;text-transform:uppercase}.preview-plan-access dd{margin:3px 0 0;font-size:12px;font-weight:700}
@media(max-width:900px){.preview-plan-confirm,.preview-plan-goal{grid-template-columns:1fr}.preview-plan-next,.preview-plan-settings{position:static}.preview-plan-head{display:block}.preview-plan-source{margin-top:16px}}
@media(max-width:700px){.preview-plan-screen{padding-top:8px}.preview-plan-fields{grid-template-columns:1fr}.preview-plan-fields label:nth-child(odd){border-right:0}.preview-plan-card>footer{align-items:stretch;flex-direction:column}.preview-plan-card>footer button{width:100%}.preview-plan-access{grid-template-columns:1fr}.preview-plan-access aside{border-top:1px solid var(--line);border-left:0}}
.preview-plan-settings>.preview-plan-recommendation{padding:26px 24px 22px;border-bottom:1px solid var(--line)}.preview-plan-recommendation .eyebrow{margin-bottom:11px}.preview-plan-recommendation h2{margin:0 0 9px;font-size:30px;font-weight:400;line-height:1.18}.preview-plan-recommendation>p:last-of-type{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.preview-plan-recommendation>p strong{color:var(--ink)}.preview-plan-settings .preview-plan-settings-toggle{min-height:auto;margin-top:15px;border:0;padding:0;background:transparent;color:var(--green);font-size:12px;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.preview-plan-settings [data-plan-settings-details][hidden]{display:none}.preview-plan-settings [data-plan-settings-details]>section{padding:24px;border-bottom:1px solid var(--line)}.preview-plan-settings [data-plan-settings-details]>section>p:last-child{margin:10px 0 0;color:var(--muted);font-size:10px}
.preview-plan-style-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.preview-plan-styles>header{padding:24px 26px 19px;border-bottom:1px solid var(--line)}.preview-plan-styles>header h2{margin:0 0 7px;font-size:31px;font-weight:400}.preview-plan-styles>header p{margin:0;color:var(--muted);font-size:12px}.preview-plan-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.preview-plan-style-option{position:relative;min-width:0;cursor:pointer}.preview-plan-style-option>input{position:absolute;opacity:0;pointer-events:none}.preview-plan-style-card{position:relative;display:block;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.preview-plan-style-option:hover .preview-plan-style-card{border-color:#8fa697;transform:translateY(-2px)}.preview-plan-style-option>input:checked+.preview-plan-style-card{border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green),0 10px 26px rgb(24 95 61 / 11%)}.preview-plan-style-option>input:focus-visible+.preview-plan-style-card{outline:3px solid rgb(24 95 61 / 22%);outline-offset:3px}.preview-plan-style-card>i{position:absolute;z-index:20;top:12px;right:12px;width:28px;height:28px;display:none;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:14px;font-style:normal;font-weight:900;box-shadow:0 4px 12px rgb(18 44 34 / 24%)}.preview-plan-style-option>input:checked+.preview-plan-style-card>i{display:grid}.preview-plan-style-visual{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--surface-soft)}.preview-plan-style-visual img{display:block;width:100%;height:100%;object-fit:cover}.preview-plan-style-copy{display:block;min-height:92px;padding:14px 15px 16px;background:var(--surface)}.preview-plan-style-copy b,.preview-plan-style-copy small{display:block}.preview-plan-style-copy b{margin-bottom:5px;font-size:14px}.preview-plan-style-copy small{color:var(--muted);font-size:11px;line-height:1.45}.preview-plan-style-summary dl{margin:0}.preview-plan-style-summary dl div{padding:13px 0;border-top:1px solid var(--line)}.preview-plan-style-summary dl div:first-child{padding-top:0;border-top:0}.preview-plan-style-summary dt{color:var(--green);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.preview-plan-style-summary dd{margin:3px 0 0;font-size:12px;font-weight:700;line-height:1.45}
@media(max-width:900px){.preview-plan-style-layout{grid-template-columns:1fr}.preview-plan-style-layout .preview-plan-settings{position:static}}
@media(max-width:700px){.preview-plan-style-grid{grid-template-columns:1fr;padding:12px}}
.onboarding-business{max-width:1050px}.onboarding-business .onboarding-back{display:inline-flex;margin:0 0 26px}.onboarding-business__head{margin-bottom:24px}.onboarding-business__form{overflow:visible}.onboarding-business__form-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:24px 26px;border-bottom:1px solid var(--line)}.onboarding-business__form-head h2{margin:0;font-size:31px;font-weight:400}.onboarding-business__form-head>p{max-width:360px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.onboarding-business__error{margin:18px 24px 0}.onboarding-business__fields .onboarding-business__field--wide{grid-column:1/-1;min-height:108px;border-right:0}.onboarding-business__fields input{width:100%;height:46px;border:0;padding:0;background:transparent;font-size:18px;font-weight:700;outline:0}.onboarding-business__fields small.error{display:block;margin-top:7px}
@media(max-width:700px){.onboarding-business__form-head{display:block}.onboarding-business__form-head>p{margin-top:10px}.onboarding-business__fields .onboarding-business__field--wide{grid-column:auto}}

* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); }
.page-shell { width: min(100% - 32px, 720px); margin: 0 auto; padding: 30px 0 80px; }
.brand { color: var(--ink); font-size: 18px; font-weight: 800; text-decoration: none; letter-spacing: -.04em; }
.brand span { color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: 0; }
.public-header { display: flex; align-items: center; justify-content: space-between; }
.public-header__login { color: var(--ink-soft); font-size: 13px; font-weight: 800; text-decoration: none; }
.public-header__login:hover { color: var(--green); }
.public-footer { display: flex; width: min(100% - 32px, 1120px); gap: 20px; align-items: center; justify-content: space-between; margin: 0 auto; padding: 24px 0 34px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.public-footer__navs { display: grid; gap: 8px; }
.public-footer nav { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: baseline; }
.public-footer a { color: var(--green); font-weight: 750; text-decoration: none; }
.public-footer a:hover { text-decoration: underline; }
.public-footer p { margin: 0; }
.intro { margin: 74px 0 34px; }
.eyebrow { margin: 0 0 11px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .095em; text-transform: uppercase; }
h1, h2 { font-family: "Source Serif 4", Georgia, serif; }
h1 { max-width: 640px; margin: 0; font-size: clamp(40px, 6vw, 62px); font-weight: 700; line-height: .98; letter-spacing: -.045em; }
h2 { margin: 0 0 8px; font-size: 25px; font-weight: 700; letter-spacing: -.035em; }
.lede { max-width: 610px; margin: 18px 0 0; color: var(--ink-soft); font-size: 17px; line-height: 1.6; }
.card { margin-top: 30px; padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: none; }
.muted, .footnote { color: var(--muted); line-height: 1.55; }
.muted { margin: 0 0 24px; }
form { display: grid; gap: 9px; }
label { margin-top: 12px; font-size: 14px; font-weight: 680; }
input, textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--surface); color: inherit; font: inherit; }
textarea { min-height: 240px; resize: vertical; line-height: 1.55; }
input:focus, textarea:focus { outline: 3px solid #d5ead6; border-color: var(--green); }
button, .secondary-button { display: inline-flex; gap: 8px; justify-content: center; align-items: center; min-height: 46px; margin-top: 18px; padding: 11px 17px; border: 1px solid var(--green); border-radius: 7px; background: var(--green); color: #fff; cursor: pointer; font: inherit; font-size: 14px; font-weight: 800; text-decoration: none; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
button:hover, .secondary-button:hover { border-color: var(--green-dark); background: var(--green-dark); transform: translateY(-1px); }
.error { margin: 0; color: #ae2626; font-size: 14px; }
.confirmation { margin-top: 98px; }
.footnote { margin: 22px 4px 0; font-size: 14px; }
.landing-shell { width: min(100% - 64px, 1140px); padding-top: 30px; }
.landing-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(52px, 7vw, 92px); align-items: start; }
.landing-hero--single { padding: 70px 0 6px; }
.landing-hero h1 { max-width: 660px; margin: 0; font-size: clamp(50px, 5.35vw, 68px); line-height: .98; letter-spacing: -.052em; }
.landing-hero h1 span { color: var(--green); }
.landing-hero .lede { max-width: 545px; margin: 22px 0 0; font-size: 17px; line-height: 1.6; }
.landing-hero__form { display: grid; gap: 8px; max-width: 610px; margin-top: 29px; padding: 15px; border: 1px solid #d3d8cf; border-radius: 6px; background: var(--surface); }
.landing-hero__form label { margin: 0; color: var(--ink-soft); font-size: 12px; }
.landing-hero__form-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.landing-hero__form-row input { min-height: 52px; background: #fffefa; }
.landing-hero__form-row button { min-height: 52px; margin: 0; padding: 0 19px; white-space: nowrap; }
.landing-trust { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 14px 0 0; padding: 0; list-style: none; }
.landing-trust li { position: relative; padding-left: 20px; color: var(--ink-soft); font-size: 13px; font-weight: 680; }
.landing-trust li::before { position: absolute; left: 0; top: 1px; width: 13px; height: 13px; content: ""; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8.6l3.1 3.1L13 4.2' stroke='%231d593c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; }
.landing-sample { display: grid; gap: 18px; padding: 27px 27px 24px; border: 1px solid #cfd7cd; border-radius: 8px; border-top: 4px solid var(--green); background: #fffdfa; box-shadow: 0 18px 44px rgb(24 34 29 / 7%); }
.landing-sample__topline { display: flex; justify-content: space-between; padding-bottom: 13px; border-bottom: 1px solid #d9ddd4; color: #536056; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.landing-sample__source { display: flex; gap: 8px; align-items: center; margin: 0; color: var(--ink-soft); font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
.landing-sample__findings { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.landing-sample__findings li { padding: 13px 15px; border: 1px solid var(--line); border-left: 3px solid #b9c2b8; border-radius: 8px; background: var(--surface); }
.landing-sample__findings li.is-good { border-left-color: var(--green); background: #eef4ec; }
.landing-sample__findings li.is-loss { border-left-color: #b3702f; background: #f8f1e6; }
.landing-sample__findings li.is-next { border-left-color: #2f6ab3; background: #eaf0f7; }
.landing-sample__tag { display: block; margin-bottom: 4px; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.landing-sample__findings .is-good .landing-sample__tag { color: var(--green); }
.landing-sample__findings .is-loss .landing-sample__tag { color: #a3611f; }
.landing-sample__findings .is-next .landing-sample__tag { color: #2f6ab3; }
.landing-sample__findings strong { display: block; font-size: 15px; letter-spacing: -.01em; }
.landing-sample__findings p { margin: 4px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.45; }
.landing-sample__foot { margin: 0; padding-top: 14px; border-top: 1px solid #d9ddd4; color: #59645d; font-size: 12px; line-height: 1.5; }
.landing-demo { margin-top: 108px; }
.landing-demo .landing-section-heading { margin-bottom: 34px; }
.landing-demo__flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.landing-demo__flow li { padding: 22px 22px 24px 0; border-bottom: 1px solid var(--line); }
.landing-demo__flow li + li { padding-left: 22px; border-left: 1px solid var(--line); }
.landing-demo__flow > li > span { display: block; margin-bottom: 12px; color: #97a197; font-family: "Source Serif 4", Georgia, serif; font-size: 15px; font-weight: 700; letter-spacing: .04em; }
.landing-demo__flow strong { display: block; font-size: 16px; letter-spacing: -.01em; }
.landing-demo__flow p { margin: 6px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.landing-form { display: grid; grid-template-columns: minmax(240px, .43fr) minmax(0, 1fr); gap: 44px; align-items: start; padding: 36px 39px 31px; border-radius: 3px; background: var(--ink); color: #fcfbf7; }
.landing-form__heading .eyebrow { margin-bottom: 8px; color: #b9d0b9; }
.landing-form__heading h2 { max-width: 300px; margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: 32px; line-height: 1.05; }
.landing-form form { display: grid; gap: 8px; }
.landing-form label { margin: 0; color: #d9dfd5; font-size: 13px; }
.landing-form__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.landing-form__row input { min-height: 54px; border-color: #fffdf8; background: #fffdf8; color: var(--ink); }
.landing-form__row button { min-height: 54px; margin: 0; border: 1px solid #b8d2b9; background: #b8d2b9; color: #15231b; white-space: nowrap; }
.landing-form__row button:hover { background: #d5e3d2; }
.landing-form__note { grid-column: 2; margin: -2px 0 0; color: #b9c0b9; font-size: 12px; line-height: 1.5; }
.landing-section-heading .eyebrow { margin-bottom: 10px; }
.landing-section-heading h2 { max-width: 460px; margin: 0; font-size: clamp(35px, 4vw, 48px); line-height: 1.02; letter-spacing: -.035em; }
.landing-result { display: grid; grid-template-columns: minmax(255px, .77fr) minmax(0, 1.23fr); gap: 76px; margin-top: 108px; }
.landing-result__items { display: grid; border-top: 1px solid var(--line); }
.landing-result__items article { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 14px; padding: 22px 0 23px; border-bottom: 1px solid var(--line); }
.landing-result__items article > span { grid-row: span 2; color: #839083; font-family: "Source Serif 4", Georgia, serif; font-size: 23px; font-weight: 700; }
.landing-result__items h3 { margin: 0; font-size: 17px; }
.landing-result__items p { max-width: 490px; margin: 6px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.58; }
.landing-process { display: grid; grid-template-columns: minmax(270px, .9fr) minmax(0, 1.1fr); gap: 68px; margin-top: 108px; padding: 46px; border-top: 1px solid #d2d9d0; border-bottom: 1px solid #d2d9d0; background: #e9eee6; }
.landing-process__intro .eyebrow { margin-bottom: 9px; }
.landing-process__intro h2 { max-width: 395px; margin: 0; font-size: 40px; line-height: 1.03; letter-spacing: -.035em; }
.landing-process__intro > p:not(.eyebrow) { max-width: 360px; margin: 16px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.landing-process__steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.landing-process__steps li { display: grid; grid-template-columns: 43px minmax(0, 1fr); gap: 15px; padding: 0 0 21px; border-bottom: 1px solid #c8d1c7; }
.landing-process__steps li + li { padding-top: 21px; }
.landing-process__steps > li > span { color: var(--green); font-family: "Source Serif 4", Georgia, serif; font-size: 24px; font-weight: 700; line-height: 1; }
.landing-process__steps h3 { margin: 0; font-size: 16px; }
.landing-process__steps p { margin: 5px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.landing-audience { display: grid; grid-template-columns: minmax(210px, .58fr) minmax(0, 1.42fr); gap: 68px; margin-top: 108px; }
.landing-audience .eyebrow { margin: 4px 0 0; }
.landing-audience h2 { max-width: 725px; margin: 0; font-size: clamp(37px, 4.5vw, 56px); line-height: 1.01; letter-spacing: -.045em; }
.landing-audience p { max-width: 630px; margin: 20px 0 0; color: var(--ink-soft); font-size: 16px; line-height: 1.65; }
.landing-control { display: grid; grid-template-columns: minmax(260px, .88fr) minmax(0, 1.12fr); gap: 68px; margin-top: 108px; padding: 34px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.landing-control .eyebrow { margin-bottom: 9px; }
.landing-control h2 { max-width: 410px; margin: 0; font-size: 40px; line-height: 1.04; letter-spacing: -.035em; }
.landing-control ul { display: grid; gap: 15px; margin: 2px 0 0; padding: 0; list-style: none; }
.landing-control li { position: relative; padding-left: 27px; color: var(--ink-soft); font-size: 15px; line-height: 1.52; }
.landing-control li::before { position: absolute; left: 0; top: 4px; width: 15px; height: 15px; content: ""; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M5 11L11 5M6 5h5v5' stroke='%231d593c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; }
.landing-final { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 42px; align-items: end; margin-top: 108px; padding: 45px 47px; border-left: 5px solid var(--green); background: #ece9df; }
.landing-final .eyebrow { margin-bottom: 9px; }
.landing-final h2 { max-width: 640px; margin: 0; font-size: clamp(38px, 4vw, 51px); line-height: 1.02; letter-spacing: -.04em; }
.landing-final p:not(.eyebrow) { max-width: 570px; margin: 15px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.58; }
.landing-final .secondary-button { margin: 0 0 4px; white-space: nowrap; }
.landing-login { margin: 0; padding: 21px 0 30px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 13px; }
.landing-login a { color: var(--green); font-weight: 800; text-decoration: none; }
.landing-login a:hover { text-decoration: underline; }
.btn-arrow { flex: 0 0 auto; }
.link-arrow { display: inline-block; width: 15px; height: 12px; margin-left: 4px; vertical-align: -1px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Billing: landing-style plan comparison with sober payment controls. */
.billing-intro { margin-top: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.app-main .billing-intro h1 { margin: 0; font-size: 25px; line-height: 1.16; letter-spacing: -.01em; }
.billing-intro__meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 9px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.billing-desk { margin-top: 14px; }
.billing-main { display: grid; gap: 10px; }
.billing-balance { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(220px, .45fr); gap: 18px; align-items: center; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--raised); box-shadow: var(--shadow-raised); }
.billing-balance--low { border-color: #e3cdc2; background: var(--danger-soft); }
.billing-balance__num { font-family: "Source Serif 4", Georgia, serif; font-size: 42px; font-weight: 700; line-height: 1; }
.billing-balance--low .billing-balance__num { color: var(--danger); }
.billing-balance__say b { display: block; font-size: 15px; font-weight: 800; }
.billing-balance__say p { margin: 4px 0 0; color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.5; }
.billing-balance__rule { display: grid; gap: 2px; padding-left: 18px; border-left: 1px solid var(--line); color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1.45; }
.billing-balance__rule b { color: var(--ink); font-size: 12px; }
.billing-group { margin: 16px 0 2px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.billing-plans-head { display: flex; gap: 20px; align-items: baseline; justify-content: space-between; margin-top: 12px; }
.billing-plans-head .billing-group { flex: 0 0 auto; margin: 0; }
.billing-plans-head > p:last-child { margin: 0; color: var(--muted); font-size: 12px; font-weight: 700; text-align: right; }
.billing-resume { margin: 0; font-size: 12px; font-weight: 700; }
.billing-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.billing-card { display: grid; grid-template-rows: auto auto auto auto auto 1fr auto; min-width: 0; padding: clamp(20px, 2vw, 28px); border: 1px solid #cfd8d0; border-radius: 18px; background: #f3f6f1; box-shadow: var(--shadow-raised); }
.billing-card--factory { border-color: #2d7555; background: #edf5ed; box-shadow: 0 12px 28px rgba(24, 76, 53, .1); }
.billing-card__topline { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.billing-card__tag { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 0; color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.billing-card__tag span { white-space: nowrap; }
.billing-card__badge { flex: 0 0 auto; padding: 6px 10px; border: 1px solid #c8d7cb; border-radius: 999px; color: var(--green); font-size: 10px; font-weight: 800; }
.billing-card--factory .billing-card__badge { border-color: var(--green); background: var(--green); color: #fff; }
.billing-card h3 { margin: 8px 0 0; font-family: "Source Serif 4", Georgia, serif; font-size: clamp(30px, 3vw, 40px); font-weight: 700; line-height: 1; }
.billing-card__lead { min-height: 38px; margin: 8px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.billing-card__volume { display: flex; gap: 14px; align-items: center; margin: 26px 0 20px; color: var(--ink); }
.billing-card__volume strong { font-family: "Source Serif 4", Georgia, serif; font-size: clamp(54px, 5vw, 72px); font-weight: 600; line-height: .86; }
.billing-card__volume span { color: var(--ink-soft); font-size: 11px; font-weight: 800; line-height: 1.45; text-transform: uppercase; }
.billing-card__price { margin: 0 0 20px; padding: 18px 0; border-top: 1px solid #d4dcd4; border-bottom: 1px solid #d4dcd4; font-family: "Source Serif 4", Georgia, serif; font-size: 30px; font-weight: 700; line-height: 1; }
.billing-card__price small { color: var(--muted); font-family: "Manrope", sans-serif; font-size: 12px; font-weight: 700; }
.billing-card__features { display: grid; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.billing-card__features li { position: relative; display: block; padding-left: 24px; color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.45; }
.billing-card__features li::before { position: absolute; top: -.05em; left: 0; color: var(--green); content: "✓"; font-size: 15px; font-weight: 800; }
.billing-card__radar { display: grid; gap: 5px; margin: 0 0 18px; padding: 14px 15px; border: 1px solid #b9d1bf; border-radius: 11px; background: rgba(255, 255, 255, .58); }
.billing-card__radar span { color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.billing-card__radar b { font-family: "Source Serif 4", Georgia, serif; font-size: 17px; line-height: 1.2; }
.billing-card__radar p { margin: 0; color: var(--ink-soft); font-size: 11px; font-weight: 700; line-height: 1.45; }
.billing-card__act { display: grid; gap: 8px; align-content: end; }
.billing-card__act .materials-button { justify-content: center; width: 100%; margin-top: 0; }
.billing-card--business .billing-card__act .materials-button { border: 1px solid var(--green); background: transparent; color: var(--green); }
.billing-card--business .billing-card__act .materials-button:hover { background: var(--green); color: #fff; }
.billing-card__state { color: var(--muted); font-size: 12px; font-weight: 700; }
.billing-card__act form { gap: 10px; }
.billing-card__act form .billing-note { margin: 0; }
.billing-terms { display: flex; gap: 8px; align-items: flex-start; margin: 0; color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 700; line-height: 1.45; }
.billing-terms input[type="checkbox"] { flex: 0 0 16px; width: 16px; height: 16px; min-height: 16px; margin: 1px 0 0; padding: 0; accent-color: var(--green); }
.billing-terms span { min-width: 0; }
.billing-note { margin: 12px 0 0; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1.5; }
.billing-addons { display: grid; }
.billing-addon { display: grid; grid-template-columns: minmax(260px, 1.3fr) auto auto minmax(260px, 1fr); gap: 26px; align-items: center; padding: 20px 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--raised); box-shadow: var(--shadow-raised); }
.billing-addon__copy h3 { margin: 5px 0 4px; font-size: 20px; }
.billing-addon__copy > p:last-child { margin: 0; color: var(--ink-soft); font-size: 11px; font-weight: 700; }
.billing-addon__amount { display: flex; gap: 8px; align-items: baseline; }
.billing-addon__amount strong { font-family: "Source Serif 4", Georgia, serif; font-size: 42px; line-height: 1; }
.billing-addon__amount span { color: var(--muted); font-size: 11px; font-weight: 800; }
.billing-addon .billing-card__price { margin: 0; padding: 0 26px; border: 0; border-right: 1px solid var(--line); border-left: 1px solid var(--line); white-space: nowrap; }
.billing-addon__act { min-width: 0; }
.billing-radar-note { margin: 2px 0 0; padding: 12px 14px; border-left: 3px solid var(--green); background: rgba(238, 244, 236, .72); color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1.5; }
.billing-history { display: grid; gap: 6px; }
.billing-history__row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: baseline; padding: 9px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--sand); font-size: 12px; font-weight: 700; }
.billing-history__row em { color: var(--muted); font-style: normal; font-size: 11px; }
@media (max-width: 1180px) {
  .billing-addon { grid-template-columns: minmax(240px, 1fr) auto auto; }
  .billing-addon__act { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  .billing-balance { grid-template-columns: auto 1fr; }
  .billing-balance__rule { grid-column: 1 / -1; padding: 12px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .billing-cards { grid-template-columns: 1fr; }
  .billing-plans-head { align-items: flex-start; flex-direction: column; gap: 7px; }
  .billing-plans-head > p:last-child { text-align: left; }
}
@media (max-width: 620px) {
  .billing-card__topline { align-items: flex-start; flex-direction: column-reverse; }
  .billing-addon { grid-template-columns: 1fr 1fr; gap: 18px; }
  .billing-addon__copy { grid-column: 1 / -1; }
  .billing-addon .billing-card__price { padding: 0; border: 0; }
  .billing-addon__act { grid-column: 1 / -1; }
}
.factory-head > p.factory-package-balance { padding: 12px 14px; border-left: 3px solid var(--green); background: var(--surface); font-size: 14px; }
.factory-package-composition { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.factory-package-composition span { display: grid; gap: 4px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.factory-package-composition strong { color: var(--green); font-size: 26px; }
.factory-package-composition small { color: var(--ink-soft); line-height: 1.4; }
.billing-order-focus { display: flex; gap: 18px; align-items: center; margin: 20px 0; padding: 15px 17px; border: 1px solid #bdd0bd; border-radius: 10px; background: #eff7ed; font-size: 13px; }
.billing-order-focus span { color: var(--muted); }
.billing-order-focus a { margin-left: auto; color: var(--green); font-weight: 800; }
.billing-history > div { display: grid; grid-template-columns: minmax(0, 1fr) 120px 140px; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.billing-history strong { text-align: right; }
.billing-reservations { display: grid; gap: 12px; }
.billing-reservations article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.billing-reservations article > div { display: grid; gap: 5px; }
.billing-reservations article span, .billing-reservations article small { color: var(--muted); font-size: 12px; }
.billing-reservations article p { max-width: 340px; margin: 0; color: var(--muted); font-size: 12px; }
.billing-reservations form { margin: 0; }

/* Public legal documents: readable, versioned and intentionally non-marketing. */
.legal-shell { width: min(100% - 32px, 900px); }
.legal-document { margin-top: 64px; }
.legal-document__head { padding-bottom: 34px; border-bottom: 1px solid var(--line-strong); }
.legal-document__head h1 { max-width: 780px; font-size: clamp(40px, 5.4vw, 58px); }
.legal-document__meta { margin: 15px 0 0; color: var(--muted); font-size: 13px; font-weight: 700; }
.legal-document__lead { max-width: 760px; margin: 24px 0 0; color: var(--ink-soft); font-size: 17px; line-height: 1.65; }
.legal-document__switcher { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.legal-document__switcher a, .legal-document__switcher span { padding: 8px 11px; border: 1px solid var(--line-strong); border-radius: 7px; color: var(--ink-soft); font-size: 13px; font-weight: 800; text-decoration: none; }
.legal-document__switcher span { border-color: var(--green); background: var(--green); color: #fff; }
.legal-document > section { padding: 34px 0 4px; }
.legal-document > section + section { border-top: 1px solid var(--line); }
.legal-document section h2 { margin-bottom: 17px; font-size: 27px; }
.legal-document section p, .legal-document section li { color: var(--ink-soft); font-size: 16px; line-height: 1.72; }
.legal-document section p { margin: 0 0 13px; }
.legal-document section ul { display: grid; gap: 6px; margin: 0 0 16px; padding-left: 22px; }
.legal-document section a { color: var(--green); font-weight: 720; }
.legal-document > section.legal-callout { margin: 30px 0 0; padding: 25px 28px; border: 1px solid #bcd0bd; border-left: 4px solid var(--green); border-radius: 10px; background: #edf4eb; }
.legal-price-table { margin: 4px 0 23px; border-top: 1px solid var(--line-strong); }
.legal-price-table > div { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(260px, 1.3fr) 100px; gap: 16px; align-items: start; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.5; }
.legal-price-table span { color: var(--ink-soft); }
.legal-price-table b { text-align: right; white-space: nowrap; }
.legal-document section p.legal-formula { max-width: 650px; padding: 16px 18px; border-left: 3px solid var(--green); background: var(--surface); color: var(--ink); font-weight: 780; }
.legal-requisites dl { margin: 0; }
.legal-requisites dl div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.legal-requisites dt { color: var(--muted); font-size: 13px; font-weight: 800; }
.legal-requisites dd { margin: 0; color: var(--ink); font-size: 14px; overflow-wrap: anywhere; }
.cookie-consent[hidden], .cookie-consent [hidden] { display: none; }
.cookie-consent { position: fixed; z-index: 1200; right: 24px; bottom: 24px; left: 24px; display: grid; grid-template-columns: minmax(0, 1fr) auto; width: min(calc(100% - 48px), 940px); gap: 26px; align-items: center; margin: 0 auto; padding: 20px 22px; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--surface); box-shadow: 0 18px 55px rgb(24 34 29 / 18%); }
.cookie-consent__copy { max-width: 590px; }
.cookie-consent__copy strong { display: block; margin-bottom: 5px; font-size: 14px; }
.cookie-consent__copy p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.55; }
.cookie-consent__copy a { color: var(--green); font-weight: 800; }
.cookie-consent__actions { display: flex; gap: 8px; align-items: center; }
.cookie-consent__button { min-height: 44px; margin: 0; padding: 0 15px; border: 1px solid var(--green); border-radius: 8px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.cookie-consent__button--necessary { background: transparent; color: var(--green); }
.cookie-consent__button--allow { background: var(--green); color: #fff; }
.cookie-consent__button:hover { background: var(--green-dark); color: #fff; transform: none; }
.cookie-consent[data-saving="true"] { opacity: .72; }
.cookie-consent__button:disabled { cursor: wait; }
@media (min-width: 761px) {
  [data-cookie-notice-actions] .cookie-consent__button { min-width: 120px; min-height: 48px; font-size: 14px; }
}
.personal-data-consent { display: flex !important; min-height: 0 !important; gap: 9px; align-items: flex-start; margin: 4px 0 1px; padding: 0 !important; border: 0 !important; color: var(--ink-soft); font-size: 11px; font-weight: 650; line-height: 1.5; cursor: pointer; }
.personal-data-consent input[type="checkbox"] { flex: 0 0 17px; width: 17px; height: 17px; min-height: 17px; margin: 1px 0 0; padding: 0; accent-color: var(--green); }
.personal-data-consent span { min-width: 0; }
.personal-data-consent a { color: var(--green); font-weight: 800; }
.personal-data-consent__error { margin: -2px 0 3px; }
@media (max-width: 760px) {
  .billing-card--addon { grid-column: auto; }
  .billing-order-focus { align-items: flex-start; flex-direction: column; }
  .billing-order-focus a { margin-left: 0; }
  .billing-balance { grid-template-columns: 1fr; }
  .factory-package-composition { grid-template-columns: 1fr; }
  .public-footer { align-items: flex-start; flex-direction: column; }
  .public-footer nav { align-items: center; gap: 4px 12px; }
  .public-footer a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; padding: 4px 0; font-size: 14px; }
  .legal-document { margin-top: 44px; }
  .legal-price-table > div { grid-template-columns: 1fr; gap: 5px; }
  .legal-price-table b { text-align: left; }
  .legal-requisites dl div { grid-template-columns: 1fr; gap: 4px; }
  .cookie-consent { right: 12px; bottom: 12px; left: 12px; grid-template-columns: 1fr; width: auto; gap: 15px; padding: 17px; }
  .cookie-consent__actions { display: grid; grid-template-columns: 1fr; }
  .cookie-consent__button { width: 100%; }
}

.public-reading { width: min(100% - 32px, 1120px); margin: 40px auto; padding: 24px 0; border-top: 1px solid var(--line); }
.public-reading h2 { margin: 0 0 18px; font-size: clamp(22px, 4vw, 30px); }
.public-reading ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
.public-reading a { display: flex; align-items: center; min-height: 44px; color: var(--green); font-size: 16px; line-height: 1.5; text-underline-offset: 3px; }
.public-reading a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

/* Landing V2: the free three-post offer. Kept separate from the cabinet's UI. */
.landing-shell--v2 { width: min(100% - 64px, 1290px); padding-top: 0; }
.landing-shell--v2 .public-header { min-height: 84px; border-bottom: 1px solid var(--line); }
.landing-v2-hero { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr); gap: clamp(48px, 8vw, 132px); align-items: center; padding: clamp(64px, 7vw, 94px) 0 78px; }
.landing-v2-hero h1 { max-width: 720px; margin: 0 0 24px; font-size: clamp(48px, 5.2vw, 68px); line-height: .98; letter-spacing: -.064em; }
.landing-v2-hero__copy { max-width: 615px; margin: 0 0 36px; color: var(--ink-soft); font-size: clamp(17px, 1.35vw, 19px); line-height: 1.48; letter-spacing: -.025em; }
.landing-v2-lead-form, .landing-v2-closing__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 7px; border: 1px solid #b7cbbc; border-radius: 14px; background: var(--surface); box-shadow: 0 6px 0 rgb(29 89 60 / 3%); }
.landing-v2-lead-form { max-width: 640px; }
.landing-v2-lead-form .error { grid-column: 1 / -1; }
.landing-v2-lead-form input, .landing-v2-closing__form input { min-width: 0; min-height: 50px; padding: 13px 15px; border: 0; border-radius: 8px; background: transparent; }
.landing-v2-lead-form input::placeholder, .landing-v2-closing__form input::placeholder { color: #859089; }
.landing-v2-lead-form button, .landing-v2-closing__form button { min-height: 50px; margin: 0; padding: 0 22px; border-radius: 9px; white-space: nowrap; }
.landing-v2-primary-cta { display: inline-flex; gap: 10px; min-height: 58px; padding: 0 25px; align-items: center; justify-content: center; border: 1px solid var(--green); border-radius: 10px; background: var(--green); color: #fff; font-size: 15px; font-weight: 800; text-decoration: none; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.landing-v2-primary-cta:hover { border-color: var(--green-dark); background: var(--green-dark); transform: translateY(-1px); }
.landing-v2-closing .landing-v2-primary-cta { min-width: 220px; }
.landing-v2-form-note { display: flex; gap: 9px; align-items: center; margin: 14px 0 0; color: var(--muted); font-size: 12px; }
.landing-v2-form-note::before { width: 8px; height: 8px; border-radius: 99px; content: ""; background: #4a9c6a; }
.landing-v2-kit { position: relative; display: grid; gap: 0; padding: 24px; border: 1px solid #bbcfbe; border-top: 3px solid var(--green); border-radius: 18px; background: var(--surface); box-shadow: 0 16px 34px rgb(24 34 29 / 8%); }
.landing-v2-kit::after { position: absolute; z-index: -1; inset: 18px -18px -18px 18px; border: 1px solid #d8e2d7; border-radius: 18px; content: ""; background: #eaf0e8; }
.landing-v2-kit__top { display: flex; justify-content: space-between; gap: 20px; align-items: start; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.landing-v2-kit__kicker { margin: 0 0 4px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.landing-v2-kit h2 { margin: 0; font-size: 30px; line-height: 1; letter-spacing: -.045em; }
.landing-v2-stamp, .landing-v2-status { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; color: var(--green); background: var(--green-soft); font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.landing-v2-stamp { padding: 7px 10px; border: 1px solid #b9d3bc; }
.landing-v2-route { display: flex; margin: 20px 0; }
.landing-v2-route span { position: relative; flex: 1; padding-top: 25px; color: #819087; font-size: 11px; font-weight: 700; }
.landing-v2-route span::before { position: absolute; z-index: 1; top: 0; left: 0; width: 13px; height: 13px; border: 1px solid #b3c4b6; border-radius: 50%; content: ""; background: var(--surface); }
.landing-v2-route span:not(:last-child)::after { position: absolute; top: 6px; right: 0; left: 12px; height: 1px; content: ""; background: #ccd8ce; }
.landing-v2-route .is-done { color: var(--green); }
.landing-v2-route .is-done::before { border-color: var(--green); background: var(--green); }
.landing-v2-route .is-now { color: var(--ink); }
.landing-v2-route .is-now::before { border-color: var(--green); background: #e4f0e6; box-shadow: inset 0 0 0 3px var(--green); }
.landing-v2-kit__list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.landing-v2-kit__list li { display: grid; grid-template-columns: 37px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.landing-v2-kit__list li:last-child { border-bottom: 0; }
.landing-v2-kit__number { color: #8b958e; font-family: "Source Serif 4", Georgia, serif; font-size: 21px; font-weight: 700; line-height: 1; letter-spacing: -.04em; }
.landing-v2-kit__list strong { display: block; font-size: 13px; line-height: 1.35; }
.landing-v2-kit__list small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.landing-v2-status.is-waiting { color: #82704c; background: #f4efe2; }
.landing-v2-kit__foot { margin: 16px -4px -3px; padding: 14px 15px; border-left: 3px solid var(--green); background: #f0f5ee; color: #46574d; font-size: 12px; line-height: 1.45; }
.landing-v2-promise { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); gap: 32px; align-items: center; padding: 28px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.landing-v2-promise > p { max-width: 310px; margin: 0; color: #526158; font-size: 14px; line-height: 1.42; }
.landing-v2-promise > div { display: flex; gap: 12px; align-items: center; font-size: 13px; font-weight: 800; }
.landing-v2-promise strong { color: var(--green); font-family: "Source Serif 4", Georgia, serif; font-size: 32px; line-height: 1; letter-spacing: -.05em; }
.landing-v2-how { display: grid; grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr); gap: clamp(40px, 9vw, 140px); padding: 96px 0; border-bottom: 1px solid var(--line); }
.landing-v2-how h2, .landing-v2-result h2 { margin: 0 0 15px; font-size: clamp(36px, 3.7vw, 50px); line-height: 1; letter-spacing: -.06em; }
.landing-v2-how > div > p:not(.eyebrow) { max-width: 390px; margin: 0; color: var(--muted); font-size: 16px; }
.landing-v2-how ol { display: grid; margin: 0; padding: 0; list-style: none; }
.landing-v2-how li { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 20px; align-items: start; padding: 0 0 29px; margin-bottom: 28px; border-bottom: 1px solid var(--line); }
.landing-v2-how li:last-child { margin-bottom: 0; }
.landing-v2-how li > span { padding-top: 1px; color: var(--green); font-family: "Source Serif 4", Georgia, serif; font-size: 30px; font-weight: 700; line-height: 1; letter-spacing: -.05em; }
.landing-v2-how h3 { margin: 0 0 6px; font-family: "Source Serif 4", Georgia, serif; font-size: 22px; line-height: 1.1; letter-spacing: -.04em; }
.landing-v2-how li p { max-width: 500px; margin: 0; color: #5d6c63; font-size: 14px; line-height: 1.55; }
.landing-v2-how li small { padding-top: 6px; color: #79867e; font-size: 11px; font-weight: 800; white-space: nowrap; }
.landing-v2-result { padding: 94px 0 88px; }
.landing-v2-result__heading { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 80px; align-items: end; margin-bottom: 47px; }
.landing-v2-result__heading h2 { margin-bottom: 0; }
.landing-v2-result__heading > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.landing-v2-deliverable { display: grid; grid-template-columns: 1.1fr .9fr; overflow: hidden; border: 1px solid #cfd8cf; border-radius: 18px; background: var(--surface); }
.landing-v2-deliverable > div, .landing-v2-deliverable > aside { padding: 40px; }
.landing-v2-deliverable > aside { display: grid; align-content: space-between; border-left: 1px solid var(--line); background: #edf3eb; }
.landing-v2-deliverable h3 { max-width: 600px; margin: 0 0 30px; font-family: "Source Serif 4", Georgia, serif; font-size: clamp(29px, 2.7vw, 38px); line-height: 1.05; letter-spacing: -.055em; }
.landing-v2-deliverable ul { display: grid; margin: 0; padding: 0; list-style: none; }
.landing-v2-deliverable li { display: grid; grid-template-columns: 23px 1fr; gap: 11px; padding: 13px 0; border-top: 1px solid var(--line); font-size: 14px; font-weight: 700; }
.landing-v2-deliverable li::before { color: var(--green); content: "✓"; }
.landing-v2-deliverable aside > div > p { margin: 0 0 8px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.landing-v2-deliverable aside strong { display: block; font-family: "Source Serif 4", Georgia, serif; font-size: 40px; line-height: .95; letter-spacing: -.065em; }
.landing-v2-deliverable aside > div > span { display: block; margin-top: 13px; color: #5f6d64; font-size: 13px; line-height: 1.5; }
.landing-v2-deliverable aside > p { margin: 0; padding-top: 19px; border-top: 1px solid #cad8ca; color: #3e5245; font-size: 13px; line-height: 1.5; }
.landing-v2-closing { padding: 72px 0 78px; border-top: 1px solid var(--line); text-align: center; }
.landing-v2-closing h2 { max-width: 740px; margin: 0 auto 20px; font-size: clamp(39px, 4.4vw, 56px); line-height: 1; letter-spacing: -.065em; }
.landing-v2-closing > p:not(.eyebrow) { max-width: 600px; margin: 0 auto 30px; color: var(--muted); font-size: 16px; }
.landing-v2-closing__form { width: min(100%, 620px); margin: 0 auto; text-align: left; }
.landing-v2-faq { padding: 84px 0 26px; border-top: 1px solid var(--line); }
.landing-v2-faq__head { max-width: 720px; margin: 0 0 30px; }
.landing-v2-faq__head h2 { margin: 12px 0 0; font-size: clamp(34px, 3.6vw, 48px); line-height: 1.02; letter-spacing: -.055em; }
.landing-v2-faq__list { display: grid; }
.landing-v2-faq details { border-top: 1px solid var(--line); }
.landing-v2-faq details:last-child { border-bottom: 1px solid var(--line); }
.landing-v2-faq summary { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 21px 4px; font-size: 18px; font-weight: 750; cursor: pointer; list-style: none; }
.landing-v2-faq summary::-webkit-details-marker { display: none; }
.landing-v2-faq summary::after { content: "+"; flex: 0 0 auto; color: var(--green); font-size: 24px; font-weight: 500; line-height: 1; transition: transform .18s ease; }
.landing-v2-faq details[open] summary::after { transform: rotate(45deg); }
.landing-v2-faq details p { margin: 0 0 21px; max-width: 720px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.landing-v2-footer { display: flex; justify-content: space-between; gap: 20px; padding: 25px 0 34px; color: #7a867e; border-top: 1px solid var(--line); font-size: 12px; }

/* Главная v3: один экран с рабочим запуском превью и примерами результата. */
.landing-shell--v3 { width: min(calc(100% - 48px), 1440px); padding-top: 0; overflow: hidden; }
.landing-shell--v3 .public-header { min-height: 82px; gap: 18px; border-bottom: 1px solid var(--line); }
.landing-shell--v3 .brand { flex: 0 0 auto; font-size: 20px; white-space: nowrap; }
.landing-v3-header-action { display: inline-flex; min-height: 50px; padding: 0 22px; align-items: center; justify-content: center; border: 1px solid var(--green-dark); border-radius: 13px; background: var(--green-dark); box-shadow: 0 10px 24px rgb(19 67 44 / 18%); color: #fff; font-size: 14px; font-weight: 800; letter-spacing: -.02em; text-decoration: none; white-space: nowrap; transition: transform .18s ease, background .18s ease; }
.landing-v3-header-action:hover { background: #0e3523; transform: translateY(-1px); }
.landing-v3-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(560px, 1fr); gap: clamp(40px, 4.5vw, 72px); align-items: center; min-height: calc(100svh - 82px); padding: 48px 0 36px; }
.landing-v3-hero--home { min-height: clamp(760px, calc(100svh - 82px), 920px); }
.landing-v3-copy { align-self: center; }
.landing-v3-eyebrow { margin: 0 0 18px; color: var(--green); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.landing-v3-hero h1 { max-width: 700px; margin: 0 0 28px; font-size: clamp(48px, 3.85vw, 62px); font-weight: 600; line-height: 1.04; letter-spacing: -.052em; }
.landing-v3-form { display: block; max-width: 640px; }
.landing-v3-form__prompt { position: relative; display: block; max-width: 630px; margin: 0 0 17px; padding-left: 38px; font-size: 17px; font-weight: 750; line-height: 1.45; letter-spacing: -.015em; }
.landing-v3-form__prompt::before { position: absolute; top: -1px; left: 0; color: #ef7d52; content: "↓"; font-size: 25px; font-weight: 800; line-height: 1; }
.landing-v3-form__prompt--plain { padding-left: 0; font-size: 18px; font-weight: 650; }
.landing-v3-form__prompt--plain::before { content: none; }
.landing-v3-form > .error { margin: 0 0 10px 38px; }
.landing-v3-sources { display: grid; gap: 9px; }
.landing-v3-source-row { position: relative; display: flex; align-items: center; }
.landing-v3-source-row input { min-height: 62px; padding: 0 18px; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--surface); font-size: 16px; transition: border-color .18s ease, box-shadow .18s ease; }
.landing-v3-source-row input:focus { outline: 3px solid #d5ead6; outline-offset: 0; border-color: var(--green); box-shadow: 0 0 0 4px rgb(29 89 60 / 12%); }
.landing-v3-source-row input::placeholder { color: #8a958e; }
.landing-v3-source-row:has(.landing-v3-source-remove) input { padding-right: 54px; }
.landing-v3-source-remove { position: absolute; right: 9px; width: 36px; min-height: 36px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--muted); font-size: 22px; font-weight: 500; line-height: 1; }
.landing-v3-source-remove:hover { border: 0; background: var(--sand); color: var(--ink); transform: none; }
.landing-v3-add-source { display: flex; width: max-content; min-height: 0; margin: 12px 0 18px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--green); font-size: 14px; }
.landing-v3-add-source:hover { border: 0; background: transparent; color: var(--green-dark); text-decoration: underline; text-underline-offset: 4px; transform: none; }
.landing-v3-add-source[hidden] { display: none; }
.landing-v7-source-hint { margin: 11px 0 0; color: var(--ink-soft); font-size: 12px; line-height: 1.45; }
.landing-v3-submit { display: flex; width: max-content; min-height: 50px; margin: 0; padding: 0 22px; border-radius: 13px; background: var(--green-dark); box-shadow: 0 10px 24px rgb(19 67 44 / 18%); font-size: 14px; }
.landing-v3-note { margin: 14px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.landing-v3-stage { position: relative; min-height: 635px; isolation: isolate; }
.landing-v3-stage__halo { position: absolute; z-index: -2; inset: 42px 26px 34px 44px; border-radius: 50%; background: #dce8d8; filter: blur(1px); transform: rotate(-6deg); }
.landing-v3-stage__caption { position: absolute; z-index: 6; top: 2px; right: 34px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); box-shadow: 0 12px 32px rgb(50 43 30 / 10%); font-size: 12px; font-weight: 800; }
.landing-v3-card { position: absolute; overflow: hidden; border: 1px solid var(--line); background: #fff; box-shadow: 0 28px 70px rgb(50 43 30 / 13%); transition: transform .22s ease; }
.landing-v3-card:hover { transform: translateY(-5px) rotate(0); }
.landing-v3-card--post { z-index: 3; top: 76px; left: 24px; width: min(390px, 63%); border-radius: 28px; transform: rotate(-3deg); }
.landing-v3-card--carousel { z-index: 4; top: 168px; right: 0; width: min(350px, 57%); border-radius: 26px; transform: rotate(4deg); }
.landing-v3-card--small { z-index: 2; bottom: 18px; left: 92px; display: grid; gap: 8px; width: min(330px, 55%); padding: 18px 20px 20px; border-radius: 24px; transform: rotate(2deg); }
.landing-v3-social-head { display: flex; gap: 11px; align-items: center; padding: 17px 18px 13px; }
.landing-v3-avatar { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--green-dark); color: #fff; font-family: "Source Serif 4", Georgia, serif; font-size: 16px; font-weight: 600; }
.landing-v3-social-head strong, .landing-v3-social-head span { display: block; }
.landing-v3-social-head strong { font-size: 12px; }
.landing-v3-social-head span { color: var(--muted); font-size: 10px; }
.landing-v3-post-visual { display: flex; min-height: 238px; padding: 25px; align-items: flex-end; background: #dce8d8; color: #153122; }
.landing-v3-post-visual span { max-width: 300px; font-family: "Source Serif 4", Georgia, serif; font-size: 35px; font-weight: 600; line-height: 1.08; letter-spacing: -.045em; }
.landing-v3-post-body { padding: 17px 18px 19px; font-size: 12px; line-height: 1.55; }
.landing-v3-carousel-cover { display: flex; min-height: 315px; padding: 25px; flex-direction: column; justify-content: space-between; background: #f0a17d; color: #24170e; }
.landing-v3-carousel-cover small { font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.landing-v3-carousel-cover strong { font-family: "Source Serif 4", Georgia, serif; font-size: 38px; font-weight: 600; line-height: 1.08; letter-spacing: -.05em; }
.landing-v3-carousel-foot { display: flex; padding: 14px 17px; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 700; }
.landing-v3-card--small strong { font-family: "Source Serif 4", Georgia, serif; font-size: 21px; font-weight: 600; line-height: 1.25; }
.landing-v3-card--small span { color: var(--muted); font-size: 11px; }
.landing-v3-signal { position: absolute; z-index: 7; right: 18px; bottom: 2px; max-width: 250px; padding: 14px 17px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: 0 12px 32px rgb(50 43 30 / 10%); font-size: 11px; font-weight: 700; }
.landing-v3-signal b { color: var(--green); }

/* Полный лендинг: витрина результата, сценарии и понятный путь в продукт. */
.landing-shell--v3 { padding-bottom: 88px; }
.landing-v4-nav { display: flex; gap: 22px; align-items: center; margin-left: auto; margin-right: 22px; }
.landing-v4-nav a { flex: 0 0 auto; color: var(--ink-soft); font-size: 13px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.landing-v4-nav a:hover { color: var(--green); }
.landing-v12-mobile-nav { position: relative; z-index: 30; display: none; margin-left: auto; }
.landing-v12-mobile-nav summary {
  display: inline-flex;
  min-width: 84px;
  min-height: 44px;
  padding: 0 14px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--green-dark);
  border-radius: 11px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}
.landing-v12-mobile-nav summary::-webkit-details-marker { display: none; }
.landing-v12-mobile-nav summary i,
.landing-v12-mobile-nav summary i::before,
.landing-v12-mobile-nav summary i::after {
  display: block;
  width: 16px;
  height: 1px;
  background: currentColor;
  content: "";
  transition: transform .18s ease;
}
.landing-v12-mobile-nav summary i { position: relative; }
.landing-v12-mobile-nav summary i::before { position: absolute; top: -5px; }
.landing-v12-mobile-nav summary i::after { position: absolute; top: 5px; }
.landing-v12-mobile-nav[open] summary { background: var(--green-soft); }
.landing-v12-mobile-nav[open] summary i { background: transparent; }
.landing-v12-mobile-nav[open] summary i::before { top: 0; transform: rotate(45deg); }
.landing-v12-mobile-nav[open] summary i::after { top: 0; transform: rotate(-45deg); }
.landing-v12-mobile-nav__panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(290px, calc(100vw - 32px));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fffdf8;
  box-shadow: 0 20px 55px rgb(35 42 35 / 16%);
}
.landing-v12-mobile-nav__panel nav { display: grid; padding: 7px; }
.landing-v12-mobile-nav__panel nav a,
.landing-v12-mobile-nav__account > a {
  display: flex;
  min-height: 48px;
  padding: 0 14px;
  align-items: center;
  border-radius: 8px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}
.landing-v12-mobile-nav__panel nav a:hover,
.landing-v12-mobile-nav__panel nav a:focus-visible,
.landing-v12-mobile-nav__account > a:hover,
.landing-v12-mobile-nav__account > a:focus-visible { background: var(--green-soft); color: var(--green-dark); }
.landing-v12-mobile-nav__account { display: none; gap: 7px; padding: 9px; border-top: 1px solid var(--line); }
.landing-v12-mobile-nav__account > .landing-v12-mobile-nav__primary {
  justify-content: center;
  background: var(--green-dark);
  color: #fff;
}
.landing-v12-mobile-nav__account > .landing-v12-mobile-nav__primary:hover,
.landing-v12-mobile-nav__account > .landing-v12-mobile-nav__primary:focus-visible { background: #0e3523; color: #fff; }
.landing-v4-showcase, .landing-v4-goals, .landing-v4-process, .landing-v4-proof, .landing-v4-pricing, .landing-v4-faq, .landing-v4-final { scroll-margin-top: 24px; }
.landing-v4-showcase { display: grid; grid-template-columns: minmax(245px, .72fr) minmax(0, 1.28fr); gap: clamp(42px, 7vw, 106px); align-items: start; margin-top: 104px; padding: 0 0 108px; border-bottom: 1px solid var(--line); }
.landing-v4-section-head { max-width: 510px; }
.landing-v4-section-head h2, .landing-v4-goals h2, .landing-v4-process h2, .landing-v4-proof h2, .landing-v4-faq h2, .landing-v4-final h2 { margin: 0; font-size: clamp(38px, 3.5vw, 54px); font-weight: 600; line-height: 1.04; letter-spacing: -.047em; }
.landing-v4-section-head > p:last-child, .landing-v4-goals__intro > p:last-child, .landing-v4-process__lead > p:not(.landing-v3-eyebrow), .landing-v4-final p:not(.landing-v3-eyebrow) { margin: 19px 0 0; color: var(--ink-soft); font-size: 16px; line-height: 1.62; }
.landing-v4-showcase__stage { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 20px; background: rgb(255 253 248 / 62%); }
.landing-v4-tabs { display: flex; width: max-content; max-width: 100%; overflow: auto; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.landing-v4-tabs button { min-height: 42px; margin: 0; border: 0; border-right: 1px solid var(--line); border-radius: 0; padding: 0 22px; background: transparent; color: var(--ink-soft); box-shadow: none; font-size: 13px; font-weight: 800; transform: none; }
.landing-v4-tabs button:last-child { border-right: 0; }
.landing-v4-tabs button[aria-selected="true"] { background: var(--green-dark); color: #fff; }
.landing-v4-tabs button:hover { background: var(--green); color: #fff; transform: none; }
.landing-v4-sample { display: grid; grid-template-columns: minmax(180px, .72fr) minmax(360px, 1.28fr); gap: 26px; min-height: 422px; padding: 28px 12px 8px; align-items: stretch; }
.landing-v4-sample[hidden] { display: none; }
.landing-v4-sample__copy { display: flex; flex-direction: column; align-items: flex-start; }
.landing-v4-sample__copy > span, .landing-v4-goal-preview__head > span { color: var(--green); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.landing-v4-sample__copy h3 { margin: 13px 0 0; font-family: "Source Serif 4", Georgia, serif; font-size: clamp(28px, 2.8vw, 39px); font-weight: 600; line-height: 1.06; letter-spacing: -.045em; }
.landing-v4-sample__copy p { margin: 16px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.58; }
.landing-v4-sample__copy small { margin-top: auto; padding-top: 18px; color: var(--muted); font-size: 11px; font-weight: 800; }
.landing-v4-post-sheet { display: grid; gap: 14px; align-content: start; padding: 30px; border: 1px solid #d8ddd3; border-radius: 15px; background: #fffefa; box-shadow: 0 18px 42px rgb(35 42 35 / 8%); transform: rotate(1.2deg); }
.landing-v4-post-sheet b { max-width: 370px; font-family: "Source Serif 4", Georgia, serif; font-size: clamp(27px, 2.8vw, 41px); font-weight: 600; line-height: 1.1; letter-spacing: -.042em; }
.landing-v4-post-sheet p { max-width: 440px; margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.58; }
.landing-v4-post-sheet ul { display: grid; gap: 8px; margin: 4px 0 0; padding: 15px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); list-style: none; }
.landing-v4-post-sheet li { padding-left: 20px; color: var(--ink); font-size: 13px; font-weight: 700; }
.landing-v4-post-sheet li::before { position: absolute; margin-left: -18px; color: var(--green); content: "✓"; }
.landing-v4-post-sheet > span { color: var(--muted); font-size: 11px; font-weight: 800; }
.landing-v4-carousel-stack { position: relative; min-height: 365px; }
.landing-v4-carousel-stack article { position: absolute; inset: 0 auto auto 0; display: flex; width: min(82%, 390px); min-height: 330px; padding: 25px; flex-direction: column; justify-content: space-between; border: 1px solid var(--line); border-radius: 16px; background: #dce8d8; color: #14291c; box-shadow: 0 16px 36px rgb(35 42 35 / 10%); transform: rotate(-2deg); }
.landing-v4-carousel-stack article:nth-child(2) { top: 15px; left: 13%; z-index: -1; background: #f3f0e7; transform: rotate(2deg); }
.landing-v4-carousel-stack article:nth-child(3) { top: 30px; left: 25%; z-index: -2; background: #ece9df; transform: rotate(5deg); }
.landing-v4-carousel-stack small { font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.landing-v4-carousel-stack strong { max-width: 295px; font-family: "Source Serif 4", Georgia, serif; font-size: 37px; font-weight: 600; line-height: 1.07; letter-spacing: -.05em; }
.landing-v4-plan-sheet { display: grid; align-content: start; margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); list-style: none; box-shadow: 0 18px 42px rgb(35 42 35 / 7%); }
.landing-v4-plan-sheet li { display: grid; grid-template-columns: 41px minmax(0, 1fr); gap: 15px; padding: 21px; border-bottom: 1px solid var(--line); }
.landing-v4-plan-sheet li:last-child { border-bottom: 0; }
.landing-v4-plan-sheet li > span { color: #d97855; font-family: "Source Serif 4", Georgia, serif; font-size: 25px; font-weight: 700; }
.landing-v4-plan-sheet b, .landing-v4-plan-sheet small { display: block; }
.landing-v4-plan-sheet b { font-size: 15px; line-height: 1.38; }
.landing-v4-plan-sheet small { margin-top: 5px; color: var(--muted); font-size: 11px; }
.landing-v4-goals { display: grid; grid-template-columns: minmax(215px, .5fr) minmax(270px, .63fr) minmax(0, 1.2fr); gap: 0; margin-top: 108px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.landing-v4-goals__intro { padding: 40px 38px 40px 0; }
.landing-v4-goals__chooser { display: grid; border-left: 1px solid var(--line); }
.landing-v4-goals__chooser button { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 2px 14px; min-height: 130px; margin: 0; padding: 23px; align-content: center; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); box-shadow: none; text-align: left; transform: none; }
.landing-v4-goals__chooser button:last-child { border-bottom: 0; }
.landing-v4-goals__chooser button span { grid-row: span 2; color: var(--green); font-family: "Source Serif 4", Georgia, serif; font-size: 32px; font-weight: 600; }
.landing-v4-goals__chooser button b { font-size: 15px; }
.landing-v4-goals__chooser button small { color: var(--ink-soft); font-size: 12px; font-weight: 650; line-height: 1.4; }
.landing-v4-goals__chooser button.is-active { box-shadow: inset 4px 0 0 var(--green); background: var(--green-soft); }
.landing-v4-goals__chooser button.is-active span { color: #dd734f; }
.landing-v4-goals__chooser button:hover { background: #edf2e9; color: var(--ink); transform: none; }
.landing-v4-goal-preview { display: grid; min-width: 0; padding: 38px; border-left: 1px solid var(--line); background: var(--surface); }
.landing-v4-goal-preview__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.landing-v4-arrow { width: 42px; min-height: 42px; margin: 0; padding: 0; border: 1px solid var(--green); border-radius: 50%; background: transparent; color: var(--green); box-shadow: none; font-size: 21px; }
.landing-v4-arrow:hover { background: var(--green); color: #fff; transform: none; }
.landing-v4-goal-preview h3 { max-width: 600px; margin: 20px 0 23px; font-family: "Source Serif 4", Georgia, serif; font-size: clamp(32px, 3vw, 46px); font-weight: 600; line-height: 1.06; letter-spacing: -.045em; }
.landing-v4-goal-preview__canvas { position: relative; display: flex; min-height: 264px; padding: 28px; align-items: end; overflow: hidden; border-radius: 14px; background: #dce8d8; }
.landing-v4-goal-preview__number { position: absolute; top: -34px; right: 19px; color: rgb(19 67 44 / 14%); font-family: "Source Serif 4", Georgia, serif; font-size: 218px; line-height: 1; }
.landing-v4-goal-preview__card { position: relative; display: grid; gap: 11px; width: min(100%, 390px); padding: 22px; border: 1px solid rgb(24 34 29 / 12%); border-radius: 12px; background: #fffefa; box-shadow: 0 16px 36px rgb(35 42 35 / 12%); }
.landing-v4-goal-preview__card span { color: var(--green); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.landing-v4-goal-preview__card b { font-family: "Source Serif 4", Georgia, serif; font-size: 25px; font-weight: 600; line-height: 1.13; letter-spacing: -.035em; }
.landing-v4-goal-preview__card p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }
.landing-v4-goal-preview__note { margin: 15px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.landing-v4-process { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(44px, 8vw, 126px); margin-top: 108px; padding: 52px; border-radius: 18px; background: #e6ede3; }
.landing-v4-process__lead ul { display: grid; gap: 0; margin: 32px 0 0; padding: 0; border-top: 1px solid #c8d2c5; list-style: none; }
.landing-v4-process__lead li { display: grid; gap: 3px; padding: 13px 0; border-bottom: 1px solid #c8d2c5; }
.landing-v4-process__lead li b { font-size: 13px; }
.landing-v4-process__lead li span { color: var(--ink-soft); font-size: 12px; }
.landing-v4-process__steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.landing-v4-process__steps li { display: grid; grid-template-columns: 48px minmax(170px, .65fr) minmax(180px, .75fr); gap: 16px; padding: 0 0 25px; border-bottom: 1px solid #c8d2c5; }
.landing-v4-process__steps li + li { padding-top: 25px; }
.landing-v4-process__steps li > span { color: var(--green); font-family: "Source Serif 4", Georgia, serif; font-size: 31px; font-weight: 600; line-height: 1; }
.landing-v4-process__steps h3 { margin: 0; font-size: 17px; }
.landing-v4-process__steps p { margin: 6px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.landing-v4-mini-input, .landing-v4-profile-mini, .landing-v4-mini-results { align-self: start; border: 1px solid #c9d4c7; border-radius: 10px; background: #fffefa; }
.landing-v4-mini-input { display: flex; min-height: 49px; padding: 0 12px; align-items: center; justify-content: space-between; color: var(--muted); font-size: 11px; }
.landing-v4-mini-input b { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 7px; background: var(--green-dark); color: #fff; }
.landing-v4-profile-mini { margin: 0; padding: 7px 12px; }
.landing-v4-profile-mini div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 10px; }
.landing-v4-profile-mini div:last-child { border-bottom: 0; }
.landing-v4-profile-mini dt { color: var(--muted); }.landing-v4-profile-mini dd { margin: 0; font-weight: 800; text-align: right; }
.landing-v4-mini-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; padding: 8px; }
.landing-v4-mini-results span { display: grid; min-height: 54px; place-items: center; border: 1px solid var(--line); border-radius: 6px; color: var(--green); font-size: 10px; font-weight: 800; }
.landing-v4-proof { display: grid; grid-template-columns: minmax(255px, .75fr) minmax(0, 1.25fr); gap: clamp(48px, 7vw, 112px); margin-top: 108px; padding-bottom: 104px; border-bottom: 1px solid var(--line); }
.landing-v4-proof__items { display: grid; border-top: 1px solid var(--line); }
.landing-v4-proof__items article { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 0 15px; padding: 23px 0; border-bottom: 1px solid var(--line); }
.landing-v4-proof__items span { grid-row: span 2; color: #df7a55; font-family: "Source Serif 4", Georgia, serif; font-size: 27px; font-weight: 600; }
.landing-v4-proof__items h3 { margin: 0; font-size: 17px; }.landing-v4-proof__items p { max-width: 540px; margin: 6px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.landing-v4-pricing { margin-top: 104px; }.landing-v4-pricing .landing-v4-section-head { max-width: 620px; margin-bottom: 37px; }
.landing-v4-price-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.landing-v4-price-grid article { display: grid; align-content: start; min-height: 320px; padding: 26px 23px; border-right: 1px solid var(--line); }
.landing-v4-price-grid article:first-child { padding-left: 0; }.landing-v4-price-grid article:last-child { border-right: 0; padding-right: 0; }.landing-v4-price-grid article.is-featured { margin: 13px 0; padding-top: 13px; padding-bottom: 13px; background: var(--green-soft); }
.landing-v4-price-grid span { color: var(--green); font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }.landing-v4-price-grid h3 { margin: 11px 0 0; font-family: "Source Serif 4", Georgia, serif; font-size: 28px; font-weight: 600; letter-spacing: -.04em; }.landing-v4-price-grid strong { margin-top: 30px; font-family: "Source Serif 4", Georgia, serif; font-size: 33px; font-weight: 600; letter-spacing: -.04em; }.landing-v4-price-grid strong small { font-family: Manrope, sans-serif; font-size: 12px; letter-spacing: 0; }.landing-v4-price-grid p { margin: 15px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }.landing-v4-price-grid a { margin-top: auto; padding-top: 25px; color: var(--green); font-size: 13px; font-weight: 850; text-decoration: none; }.landing-v4-price-grid a:hover { text-decoration: underline; text-underline-offset: 4px; }
.landing-v4-faq { display: grid; grid-template-columns: minmax(230px, .55fr) minmax(0, 1.45fr); gap: clamp(50px, 10vw, 150px); margin-top: 108px; padding: 0 0 104px; border-bottom: 1px solid var(--line); }.landing-v4-faq details { border-top: 1px solid var(--line); }.landing-v4-faq details:last-child { border-bottom: 1px solid var(--line); }.landing-v4-faq summary { display: flex; min-height: 74px; align-items: center; justify-content: space-between; cursor: pointer; font-size: 16px; font-weight: 800; list-style: none; }.landing-v4-faq summary::-webkit-details-marker { display: none; }.landing-v4-faq summary::after { color: var(--green); content: "+"; font-size: 26px; font-weight: 400; }.landing-v4-faq details[open] summary::after { content: "−"; }.landing-v4-faq details p { max-width: 590px; margin: -3px 40px 22px 0; color: var(--ink-soft); font-size: 14px; line-height: 1.58; }
.landing-v4-final { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; margin-top: 104px; padding: 48px 50px; border-radius: 18px; background: var(--green-dark); color: #fff; }.landing-v4-final .landing-v3-eyebrow { color: #b8d4bd; }.landing-v4-final h2 { max-width: 660px; }.landing-v4-final p:not(.landing-v3-eyebrow) { color: #d4dfd5; }.landing-v4-final a { display: flex; min-height: 58px; padding: 0 23px; align-items: center; gap: 19px; border-radius: 12px; background: #fffdf8; color: var(--green-dark); font-size: 14px; font-weight: 850; text-decoration: none; white-space: nowrap; }.landing-v4-final a span { color: #df7145; font-size: 24px; }.landing-v4-final a:hover { background: #e7eee5; }

@media (max-width: 1120px) {
  .landing-v3-hero { grid-template-columns: minmax(0, 1fr) minmax(470px, 1fr); gap: 30px; }
  .landing-v3-stage { transform: scale(.9); transform-origin: center; }
}
@media (max-width: 900px) {
  .landing-shell--v3 { width: min(calc(100% - 32px), 760px); }
  .landing-v3-hero { grid-template-columns: 1fr; min-height: auto; padding-top: 56px; }
  .landing-v3-copy { max-width: 760px; }
  .landing-v3-stage { width: min(100%, 650px); min-height: 610px; margin: -18px auto 0; transform: none; }
}
@media (max-width: 620px) {
  .landing-shell--v3 { width: calc(100% - 24px); }
  .landing-shell--v3 .public-header { min-height: 68px; }
  .landing-shell--v3 .brand { font-size: 17px; }
  .landing-v3-header-action { min-height: 42px; padding: 0 14px; font-size: 12px; }
  .landing-v3-hero { padding: 45px 0 58px; }
  .landing-v3-eyebrow { font-size: 11px; }
  .landing-v3-hero h1 { font-size: clamp(40px, 12vw, 48px); line-height: 1.04; }
  .landing-v3-form__prompt { padding-left: 31px; font-size: 16px; }
  .landing-v3-form__prompt--plain { padding-left: 0; font-size: 17px; }
  .landing-v3-form__prompt::before { font-size: 22px; }
  .landing-v3-source-row input { min-height: 58px; padding: 0 14px; }
  .landing-v3-submit { width: 100%; }
  .landing-v3-stage { min-height: 540px; margin-top: 10px; }
  .landing-v3-stage__halo { inset: 30px 4px 38px; transform: none; }
  .landing-v3-stage__caption { right: 2px; }
  .landing-v3-card--post { top: 72px; left: 0; width: 73%; }
  .landing-v3-card--carousel { top: 185px; right: 0; width: 62%; }
  .landing-v3-card--small { bottom: 8px; left: 15px; width: 65%; }
  .landing-v3-post-visual { min-height: 170px; padding: 18px; }
  .landing-v3-post-visual span { font-size: 25px; }
  .landing-v3-carousel-cover { min-height: 230px; padding: 18px; }
  .landing-v3-carousel-cover strong { font-size: 27px; }
  .landing-v3-social-head, .landing-v3-post-body { padding: 12px; }
  .landing-v3-signal { display: none; }
}

.onboarding-shell { width: min(100% - 64px, 1040px); padding-top: 34px; }
.onboarding-hero { max-width: 780px; margin: 62px 0 38px; }
.onboarding-hero h1 { max-width: 760px; font-size: clamp(45px, 6vw, 64px); }
.onboarding-back { display: inline-block; margin-bottom: 38px; color: var(--muted); font-size: 13px; font-weight: 750; text-decoration: none; }
.onboarding-back:hover { color: var(--green); }
.onboarding-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.onboarding-path { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 14px; min-height: 136px; padding: 22px; align-items: start; border: 1px solid var(--line-strong); border-radius: 13px; background: rgb(255 253 248 / 58%); color: var(--ink); text-decoration: none; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.onboarding-path:hover { border-color: #9cb6a0; background: var(--surface); transform: translateY(-2px); }
.onboarding-path.is-current { border-color: var(--green); background: #edf3eb; box-shadow: inset 0 3px 0 var(--green); }
.onboarding-path__number { color: var(--green); font-family: "Source Serif 4", Georgia, serif; font-size: 25px; font-weight: 700; line-height: 1; }
.onboarding-path strong { display: block; margin-top: -2px; font-family: "Source Serif 4", Georgia, serif; font-size: 25px; line-height: 1.05; letter-spacing: -.035em; }
.onboarding-path small { display: block; margin-top: 9px; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.onboarding-path > span:last-child { color: var(--green); font-size: 20px; font-weight: 800; }
.onboarding-panel { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); gap: 58px; margin: 28px 0 78px; padding: 34px; border-top: 2px solid var(--green); background: var(--surface); }
.onboarding-panel__intro h2 { max-width: 360px; margin: 0; font-size: 34px; line-height: 1.05; }
.onboarding-panel__intro > p:not(.eyebrow) { max-width: 360px; margin: 14px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.onboarding-form { align-content: start; }
.onboarding-form label { margin-top: 8px; }
.onboarding-form textarea { min-height: 88px; resize: vertical; }
.onboarding-form > small { margin-top: -3px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.onboarding-form > button[type="submit"] { width: max-content; margin-top: 14px; }
.onboarding-form__note { max-width: 520px; margin: 2px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.onboarding-source-fields { display: grid; gap: 16px; }
.onboarding-source-field { display: grid; gap: 7px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.onboarding-source-field__top { display: flex; gap: 14px; align-items: center; justify-content: space-between; }
.onboarding-source-field__top label { margin: 0; }
.onboarding-platform { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.onboarding-source-field__control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.onboarding-source-remove { width: 48px; min-height: 48px; margin: 0; padding: 0; border-color: var(--line-strong); background: transparent; color: var(--muted); font-size: 23px; font-weight: 500; }
.onboarding-source-remove:hover { border-color: #c8a59f; background: var(--danger-soft); color: var(--danger); transform: none; }
.onboarding-add-source { width: max-content; min-height: 38px; margin: 0; padding: 6px 0; border: 0; background: transparent; color: var(--green); }
.onboarding-add-source:hover { border: 0; background: transparent; color: var(--green-dark); transform: none; }
.onboarding-add-source[hidden] { display: none; }
.preview-shell { width: min(100% - 64px, 1040px); padding-top: 34px; }
.preview-state { max-width: 740px; margin: 126px 0; }
.preview-state h1 { max-width: 700px; font-size: clamp(44px, 6vw, 64px); }
.preview-source { display: flex; gap: 9px; align-items: center; max-width: 100%; margin-top: 28px; color: var(--ink-soft); font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.preview-progress { width: min(100%, 510px); height: 4px; margin-top: 30px; overflow: hidden; border-radius: 99px; background: #dfe3dc; }
.preview-progress span { display: block; width: 42%; height: 100%; border-radius: inherit; background: var(--green); animation: preview-loading 1.4s ease-in-out infinite alternate; }
@keyframes preview-loading { from { transform: translateX(-30%); } to { transform: translateX(170%); } }
.preview-state__note { margin: 13px 0 0; color: var(--muted); font-size: 13px; }
.preview-state--recovery { max-width: 800px; }
.preview-state--recovery .preview-source { width: fit-content; max-width: 100%; margin-top: 24px; }
.preview-recovery-actions { display: flex; gap: 20px; align-items: center; margin-top: 26px; }
.preview-recovery-actions .secondary-button { margin: 0; }
.preview-recovery-link { color: var(--green); font-size: 14px; font-weight: 800; text-decoration: none; }
.preview-recovery-link:hover { color: var(--green-dark); text-decoration: underline; text-underline-offset: 4px; }
.preview-retry-source { display: grid; gap: 8px; width: min(100%, 680px); margin-top: 28px; }
.preview-retry-source > label { margin: 0; color: var(--ink); font-size: 14px; font-weight: 800; }
.preview-retry-source__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.preview-retry-source__row input,
.preview-retry-source__row button { min-height: 50px; margin: 0; }
.preview-retry-source > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
/* Превью в один экран. Полоса доверия делает работу бывших четырёх шагов одной
   строкой, цель объясняется цифрой из разбора, а сам разбор уезжает под спойлер:
   сначала результат, потом доказательство. Плотность и токены — как в кабинете. */
.preview-trust { display: flex; flex-wrap: wrap; gap: 5px 11px; align-items: center; margin: 34px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.preview-trust b { color: var(--ink); font-weight: 800; }
.preview-trust__sep { color: var(--line-strong); }
.preview-trust a { color: var(--ink-soft); text-decoration: none; }
.preview-trust a:hover { color: var(--green); text-decoration: underline; }

.preview-goal { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; margin: 16px 0 0; padding: 11px 15px; border: 1px solid var(--line); border-left: 3px solid var(--green); border-radius: var(--radius-card); background: var(--raised); font-size: 13px; font-weight: 700; }
.preview-goal__k { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.preview-goal b { font-weight: 800; }
.preview-goal__why { color: var(--ink-soft); font-weight: 700; }

.preview-wait__title { margin: 14px 0 8px; font-size: clamp(30px, 3.6vw, 40px); line-height: 1.1; }

.preview-proof { margin: 30px 0 0; }
.preview-proof__k { margin: 0 0 10px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.preview-proof__item { margin-bottom: 8px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); }
.preview-proof__item > summary { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; padding: 14px 18px; font-size: 15px; font-weight: 800; cursor: pointer; list-style: none; }
.preview-proof__item > summary::-webkit-details-marker { display: none; }
.preview-proof__item > summary::before { content: "▸"; color: var(--muted); font-size: 12px; }
.preview-proof__item[open] > summary::before { content: "▾"; }
.preview-proof__item > summary:hover { background: var(--hover); }
.preview-proof__n { margin-left: auto; color: var(--muted); font-size: 12px; font-weight: 700; }
.preview-proof__body { padding: 0 18px 16px; }
.preview-proof__body .preview-now__tiles { margin-top: 0; }
.preview-proof__body--review { padding-top: 4px; }

.preview-hero { display: flex; gap: 42px; align-items: end; justify-content: space-between; margin: 96px 0 54px; }
.preview-hero--step { margin: 54px 0 46px; }
.preview-hero h1 { max-width: 700px; font-size: clamp(43px, 5.6vw, 62px); }
.preview-hero .preview-source { flex: 0 1 250px; margin: 0 0 6px; }
.preview-profile { padding: 29px 0; border-top: 2px solid var(--green); border-bottom: 1px solid var(--line); }
.preview-profile__heading { display: flex; gap: 28px; align-items: end; justify-content: space-between; }
.preview-profile__heading .eyebrow { margin-bottom: 7px; }
.preview-profile__heading h2 { margin: 0; font-size: 31px; }
.preview-first-impression { max-width: 760px; margin: 25px 0 0; padding: 0 0 24px; border-bottom: 1px solid var(--line); color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: clamp(24px, 2.4vw, 31px); font-weight: 700; line-height: 1.18; }
.preview-profile__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 28px; }
.preview-profile__facts--content { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 790px; }
.preview-profile__facts article { display: grid; gap: 8px; min-height: 116px; padding: 0 24px; border-left: 1px solid var(--line); }
.preview-profile__facts article:first-child { padding-left: 0; border-left: 0; }
.preview-profile__facts span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.preview-profile__facts strong { font-family: "Source Serif 4", Georgia, serif; font-size: 20px; font-weight: 700; line-height: 1.18; }
.preview-profile__facts p { max-width: 360px; margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.5; }
.preview-content-scope { margin: 20px 0 0; color: var(--green); font-size: 13px; font-weight: 800; }
.preview-clarity { display: grid; grid-template-columns: 154px minmax(0, 1fr); gap: 20px; margin-top: 27px; padding-top: 20px; border-top: 1px solid var(--line); }
.preview-clarity span, .preview-idea__label { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.preview-clarity p { max-width: 610px; margin: -2px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.5; }
.preview-opportunities { display: grid; grid-template-columns: minmax(230px, .65fr) minmax(0, 1.35fr); gap: 54px; margin-top: 60px; }
.preview-opportunities__heading .eyebrow { margin-bottom: 8px; }
.preview-opportunities__heading h2 { margin: 0; font-size: 32px; }
.preview-opportunities__list { display: grid; gap: 22px; }
.preview-opportunities__list article { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; }
.preview-opportunities__list article > span { color: #9ba49b; font-family: "Source Serif 4", Georgia, serif; font-size: 22px; font-weight: 700; }
.preview-opportunities__list strong { display: block; font-size: 16px; line-height: 1.35; }
.preview-opportunities__list p { margin: 6px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.preview-opportunities__list p b { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.preview-opportunities__list .preview-observation__next { margin-top: 11px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--ink); }
.preview-opportunities--stage { margin-top: 0; }
.preview-priority { display: grid; grid-template-columns: minmax(240px, .82fr) minmax(0, 1.18fr); gap: 54px; margin-top: 0; padding: 30px 0; border-top: 2px solid var(--green); border-bottom: 1px solid var(--line); }
.preview-priority__title .eyebrow { margin-bottom: 8px; }
.preview-priority__title h2 { margin: 0; font-size: 32px; line-height: 1.08; }
.preview-priority__body { display: grid; gap: 20px; }
.preview-priority__body > div { padding-top: 17px; border-top: 1px solid var(--line); }
.preview-priority__body > div:first-child { padding-top: 0; border-top: 0; }
.preview-priority__label { margin: 0 0 6px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.preview-priority__body > div > p:last-child { max-width: 620px; margin: 0; color: var(--ink-soft); font-size: 15px; line-height: 1.52; }
.preview-priority__body .preview-priority__test { padding: 18px 20px; border: 1px solid #c9d9ca; background: #edf3eb; }
.preview-priority__test > p:last-child { color: var(--ink); font-weight: 700; }
.preview-idea { display: grid; grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr); gap: 50px; margin-top: 64px; padding: 32px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.preview-idea--stage { margin-top: 0; }
.preview-idea__title .eyebrow { margin-bottom: 8px; }
.preview-idea__title h2 { margin: 0; font-size: 32px; line-height: 1.04; }
.preview-idea__title > p:not(.eyebrow) { margin: 12px 0 0; color: var(--green); font-size: 13px; font-weight: 800; }
.preview-idea__body { min-width: 0; }
.preview-idea__label { margin: 0 0 8px; }
.preview-idea__hook { margin: 0; color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 22px; font-weight: 700; line-height: 1.28; }
.preview-idea__body ol { display: grid; gap: 8px; margin: 8px 0 0; padding-left: 19px; color: var(--ink-soft); font-size: 14px; line-height: 1.5; }
.preview-idea__label--why { margin-top: 22px; }
.preview-idea__why { margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.preview-post-draft { margin-bottom: 18px; padding: 32px; border: 1px solid #bfd1c0; border-top: 3px solid var(--green); border-radius: 12px; background: var(--surface); }
.preview-post-draft__head { display: flex; gap: 24px; align-items: start; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.preview-post-draft__head h2 { max-width: 660px; margin: 0; font-size: 32px; line-height: 1.08; }
.preview-post-draft__head > span { flex: 0 0 auto; padding: 6px 9px; border-radius: 99px; background: var(--green-soft); color: var(--green); font-size: 11px; font-weight: 800; }
.preview-post-draft__text { max-width: 760px; padding: 27px 0; color: var(--ink); font-size: 16px; line-height: 1.75; white-space: pre-line; }
.preview-post-draft__cta { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 18px; padding: 17px 0; border-top: 1px solid var(--line); }
.preview-post-draft__cta strong { color: var(--green); font-size: 11px; letter-spacing: .065em; text-transform: uppercase; }
.preview-post-draft__cta p { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.preview-post-draft__checks { padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.preview-post-draft__checks summary { color: var(--green); cursor: pointer; font-weight: 800; }
.preview-post-draft__checks ul { margin-bottom: 0; line-height: 1.55; }
.preview-goal-posts--blank { margin: 18px 0; }
.preview-source-upgrade { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); gap: 48px; align-items: start; margin-top: 64px; padding: 31px 32px; border-top: 2px solid var(--green); background: #e9eee6; }
.preview-source-upgrade .eyebrow { margin-bottom: 8px; }
.preview-source-upgrade h2 { max-width: 380px; margin: 0; font-size: 31px; line-height: 1.08; }
.preview-source-upgrade > div > p:not(.eyebrow) { max-width: 390px; margin: 12px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.preview-source-upgrade__form { display: grid; gap: 12px; }
.preview-source-choice-list { display: grid; gap: 8px; }
.preview-source-choice { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-top: 1px solid #d1dbd0; cursor: pointer; }
.preview-source-choice:last-child { border-bottom: 1px solid #d1dbd0; }
.preview-source-choice input { width: 17px; min-height: 17px; margin: 3px 0 0; accent-color: var(--green); }
.preview-source-choice strong, .preview-source-choice small, .preview-source-choice .source-url { display: block; }
.preview-source-choice strong { color: var(--green); font-size: 12px; letter-spacing: .055em; }
.preview-source-choice small { margin-top: 3px; color: var(--ink-soft); font-size: 13px; line-height: 1.4; }
.preview-source-choice .source-url { margin-top: 4px; color: var(--muted); font-size: 12px; font-weight: 600; }
.preview-source-upgrade__form button { width: max-content; margin-top: 4px; }
.preview-source-upgrade__note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.preview-selected-sources { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 6px; }
.preview-selected-sources span { padding: 7px 10px; border: 1px solid #bbcfbd; border-radius: 999px; color: var(--green); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.preview-selected-sources--stage { margin-top: 0; padding: 26px 0; border-top: 2px solid var(--green); border-bottom: 1px solid var(--line); }
.preview-source-upgrade--stage { display: block; max-width: 680px; margin-top: 0; padding: 26px 0; border-top: 2px solid var(--green); border-bottom: 1px solid var(--line); background: transparent; }
.preview-source-upgrade--stage .preview-source-upgrade__form { max-width: 640px; }
.preview-source-upgrade--stage .preview-source-choice { padding-right: 2px; }
.preview-stage-actions { display: flex; gap: 22px; align-items: center; justify-content: space-between; margin-top: 34px; }
.preview-stage-actions .secondary-button { margin: 0; }
.preview-stage-actions--final { justify-content: flex-start; margin-top: 20px; }
.preview-back, .preview-skip { color: var(--green); font-size: 13px; font-weight: 800; text-decoration: none; }
.preview-back:hover, .preview-skip:hover { text-decoration: underline; }
.preview-sources { margin-top: 24px; padding: 17px 0 0; border-top: 1px solid var(--line); }
.preview-sources summary { color: var(--green); cursor: pointer; font-size: 13px; font-weight: 800; }
.preview-sources .source-list { margin-top: 18px; }
.preview-cta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr); gap: 48px; align-items: center; margin-top: 66px; padding: 31px 32px; border-top: 2px solid var(--green); background: #e9eee6; }
.preview-cta .eyebrow { margin-bottom: 8px; }
.preview-cta h2 { max-width: 500px; margin: 0; font-size: 32px; }
.preview-cta > div > p:not(.eyebrow) { max-width: 540px; margin: 12px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.preview-cta__stack { max-width: 540px; margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.preview-cta__stack li { position: relative; padding-left: 26px; color: var(--ink); font-size: 14.5px; line-height: 1.4; }
.preview-cta__stack li::before { content: "✓"; position: absolute; left: 0; top: -1px; color: var(--green); font-weight: 800; }
.preview-cta__form form { align-content: start; }
.preview-cta__form label { margin: 0; }
.preview-cta__form button { width: max-content; margin-top: 10px; }
.preview-cta__note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.dashboard-intro { margin-top: 76px; }
/* Тёмная навигация против светлого рабочего поля: фигура и фон появляются
   без единого нового цвета, а карточки контента получают настоящую высоту. */
.cabinet-body { overflow-x: hidden; background: var(--sunken); }
.app-shell { display: grid; width: 100%; max-width: 100%; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100vh; }
.app-sidebar { border-right: 1px solid var(--nav-line); background: var(--nav); }
.app-sidebar__inner { display: flex; position: sticky; top: 0; flex-direction: column; height: 100vh; padding: 30px 18px 20px; }
.app-sidebar .brand { display: block; margin: 0 10px; color: var(--ink); font-size: 17px; letter-spacing: -.045em; }
.app-sidebar .brand::before { content: none; }
.app-nav { display: grid; gap: 3px; margin-top: 38px; }
.app-nav__link { display: flex; min-height: 42px; align-items: center; justify-content: space-between; padding: 0 12px; border: 1px solid transparent; border-radius: 8px; color: var(--nav-ink-soft); font-size: 13px; font-weight: 700; text-decoration: none; transition: background .13s ease, border-color .13s ease, color .13s ease; }
.app-nav__link:hover { border-color: var(--nav-line); background: var(--surface); color: var(--ink); }
.app-nav__link.is-current { border-color: var(--green); background: var(--green); box-shadow: none; color: #fff; }
.app-nav__count { color: var(--nav-ink-quiet); font-size: 11px; font-weight: 800; font-variant-numeric: tabular-nums; }
.app-nav__link.is-current .app-nav__count { color: #dce9df; }
.app-nav__radar-dot { width: 8px; height: 8px; border: 2px solid var(--nav); border-radius: 50%; background: var(--green); box-shadow: 0 0 0 1px rgb(24 95 61 / 20%); }
.app-nav__link.is-current .app-nav__radar-dot { border-color: var(--green); background: #f3cf75; box-shadow: none; }
.sidebar-account { display: grid; gap: 3px; margin: auto 0 0; padding-top: 16px; border-top: 1px solid var(--nav-line); }
.sidebar-account__biz { display: grid; gap: 2px; padding: 0 11px 6px; text-decoration: none; }
.sidebar-account__biz small { color: var(--nav-ink-quiet); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sidebar-account__biz strong { overflow: hidden; color: var(--nav-ink); font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-account__biz:hover strong { color: var(--green); }
.sidebar-account__link { display: flex; min-height: 34px; align-items: center; padding: 0 11px; border-radius: var(--radius-control); color: var(--nav-ink-soft); font-size: 12px; font-weight: 700; text-decoration: none; transition: background .13s ease, color .13s ease; }
.sidebar-account__link:hover { background: var(--nav-raised); color: var(--green-dark); }
.sidebar-account__link.is-current { background: var(--nav-raised); color: var(--green-dark); }
.sidebar-account button.sidebar-account__link { width: 100%; margin: 0; border: 0; background: transparent; font-family: inherit; text-align: left; }
.sidebar-account button.sidebar-account__link:hover { background: var(--nav-raised); transform: none; }
/* Основная область: прижата к sidebar через левый gutter, а не центрирована узкой
   колонкой в пустом поле справа. Ширина ограничена, но контент остаётся слева. */
.app-main { display: flex; min-width: 0; flex-direction: column; }
/* Верхняя полоса всегда на виду: где я и что здесь можно сделать. */
.app-top { display: flex; gap: 18px; min-height: 56px; align-items: center; justify-content: space-between; padding: 0 28px; border-bottom: 1px solid var(--line); background: var(--paper); }
/* Рабочее поле занимает всю ширину: списки и календарь тем полезнее,
   чем больше строк и дней видно без прокрутки. */
.app-work { min-width: 0; width: 100%; margin: 0; padding: 22px 28px 90px; }
/* Страницы для чтения (Бизнес, Настройки) держат комфортную длину строки. */
.app-work--reading { max-width: 1040px; }
.section-tabs { display: inline-flex; max-width: 100%; margin: 0 0 24px; padding: 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-raised); }
.section-tabs__link { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 0 20px; border-radius: 8px; color: var(--ink-soft); font-size: 13px; font-weight: 800; text-decoration: none; transition: background .13s ease, color .13s ease; }
.section-tabs__link:hover { color: var(--ink); }
.section-tabs__link.is-current { background: var(--ink); color: #fff; }
/* Кабинет — рабочий инструмент: H1 не разрастается до лендинговых размеров. */
.app-main h1 { max-width: 640px; font-size: clamp(34px, 4vw, 46px); line-height: 1.02; letter-spacing: -.035em; }
.app-main button, .app-main .secondary-button { min-height: 42px; }
.app-main button:hover, .app-main .secondary-button:hover { transform: none; }
.app-main :focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.app-topline { display: flex; gap: 8px; min-width: 0; align-items: center; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.app-topline__divider { color: #8d968b; }
.app-topline__link { color: var(--ink-soft); text-decoration: none; }
.app-topline__link:hover { color: var(--green); text-decoration: underline; }
.app-topline__current { color: var(--ink); }
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #4f9b63; }

/* --- Общий словарь кабинета ------------------------------------------------
   Одни и те же чипы, панели и сводка используются в списках, плане, тарифах
   и настройках: состояние материала выглядит одинаково, где бы ни встретилось. */
.chip { display: inline-flex; gap: 6px; align-items: center; justify-self: start; padding: 4px 9px; border-radius: 6px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.chip::before { width: 5px; height: 5px; border-radius: 50%; background: currentcolor; content: ""; }
.chip--need { background: var(--danger-soft); color: var(--danger); }
.chip--work { background: var(--amber-soft); color: var(--amber); }
.chip--ok { background: var(--green-soft); color: var(--green); }
.chip--plan { background: #e3e7e0; color: var(--ink-soft); }
.chip--done { background: var(--nav); color: #dbe6da; }

.panel { padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--raised); box-shadow: var(--shadow-raised); }
.panel__head { display: flex; flex-wrap: wrap; gap: 12px; align-items: baseline; justify-content: space-between; margin-bottom: 14px; }
.panel__head h2 { margin: 0; font-size: 19px; font-weight: 700; }
.panel__head p { margin: 3px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; }

.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.stat { padding: 13px 15px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.stat b { display: block; font-size: 24px; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.stat small { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; font-weight: 700; }
.stat--act b { color: var(--danger); }

/* Полоса-уведомление: одно событие, одно действие. */
.notice-strip { display: flex; gap: 12px; align-items: center; margin-top: 14px; padding: 11px 15px; border: 1px solid var(--line); border-left: 3px solid var(--green-bright); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); color: inherit; font-size: 13px; font-weight: 700; text-decoration: none; }
.notice-strip__cta { margin-left: auto; color: var(--green); font-size: 12px; font-weight: 800; }
.notice-strip--warn { border-left-color: var(--amber); }
.radar-setup-prompt { margin-bottom: 20px; border-color: #c7d7c6; border-left-color: var(--green); background: var(--green-soft); }
.radar-setup-prompt > span:first-child { display: grid; gap: 2px; }
.radar-setup-prompt small { color: var(--ink-soft); font-size: 11px; font-weight: 650; line-height: 1.45; }
.radar-setup-prompt:hover { border-color: var(--green); box-shadow: 0 5px 16px rgba(24, 78, 47, .1); }

@media (max-width: 640px) {
  .radar-setup-prompt { align-items: flex-start; flex-direction: column; }
  .radar-setup-prompt .notice-strip__cta { margin-left: 0; }
}

/* Контейнеры контента поднимаются над утопленным полем: пара «поверхность + тень»
   применяется вместе, иначе глубина читается как грязь. */
.cabinet-body .card,
.cabinet-body .billing-balance,
.cabinet-body .billing-card,
.cabinet-body .biz-card,
.cabinet-body .biz-blk,
.cabinet-body .biz-raw,
.cabinet-body .channel,
.cabinet-body .channel-empty,
.cabinet-body .materials-list,
.cabinet-body .materials-empty,
.cabinet-body .materials-factory-progress,
.cabinet-body .plan-empty-state,
.cabinet-body .next-post,
.cabinet-body .calendar,
.cabinet-body .draft-workspace { background: var(--raised); box-shadow: var(--shadow-raised); }
.cabinet-body .billing-card--business { background: #f3f6f1; }
.cabinet-body .billing-card--factory { background: #edf5ed; box-shadow: 0 12px 28px rgba(24, 76, 53, .1); }
/* Поля ввода, наоборот, утоплены в свою карточку. */
.cabinet-body input, .cabinet-body textarea, .cabinet-body select { background: var(--paper); }
.cabinet-body input:focus, .cabinet-body textarea:focus, .cabinet-body select:focus { background: var(--hover); }
.app-main .intro { margin-top: 32px; }
.app-main .dashboard-intro { margin-top: 34px; }
.dashboard-intro h1, .content-intro h1 { max-width: 720px; font-size: clamp(34px, 4vw, 46px); }
.workflow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 34px 0 0; padding: 0; list-style: none; }
.workflow__step { display: grid; gap: 7px; color: #87928b; font-size: 12px; font-weight: 680; }
.workflow__step span { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid #d9e0da; border-radius: 50%; background: #fff; color: #7a877e; font-size: 12px; }
.workflow__step.done { color: #3f6b4d; }
.workflow__step.done span { border-color: #9dc8a8; background: #e7f3e9; color: #1c5e35; }
.workflow__step.active { color: #17211d; }
.workflow__step.active span { border-color: #1c5e35; background: #1c5e35; color: #fff; }
.next-action { display: flex; gap: 34px; align-items: end; justify-content: space-between; margin-top: 34px; padding: 28px 0; border-top: 2px solid var(--green); border-bottom: 1px solid var(--line); background: transparent; }
.next-action.is-waiting { border-top-color: #9ea69d; }
.next-action__copy { min-width: 0; }
.next-action__control { flex: 0 0 auto; padding-bottom: 3px; }
.next-action .eyebrow { margin-bottom: 10px; }
.next-action h2 { max-width: 640px; margin-bottom: 8px; font-size: 31px; }
.next-action__copy > p:not(.eyebrow) { max-width: 640px; margin: 0; color: var(--ink-soft); line-height: 1.55; }
.next-action .secondary-button { margin-top: 0; white-space: nowrap; }
.waiting-note { display: flex; gap: 8px; align-items: center; margin: 0; color: var(--muted); font-size: 13px; font-weight: 700; }
.waiting-note .status-dot { animation: pulse 1.6s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .35; } }
.dashboard-details { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px; margin-top: 46px; padding-top: 24px; border-top: 1px solid var(--line); }
.business-card { min-width: 0; }
.business-card .eyebrow { margin-bottom: 8px; }
.profile-summary p { margin: 9px 0; line-height: 1.45; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-top: 40px; }
.section-heading .eyebrow { margin-bottom: 7px; }
.section-heading a { color: var(--green); font-size: 13px; font-weight: 800; text-decoration: none; }
.section-heading a:hover { text-decoration: underline; }
.today-list { margin-top: 22px; }
.today-list__item { display: grid; grid-template-columns: 74px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 70px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: padding .16s ease, color .16s ease; }
.today-list__item:last-child { border-bottom: 1px solid var(--line); }
.today-list__item:hover { padding: 0 10px; color: var(--green); background: #edece5; }
.today-list__date { color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.today-list__kind { color: var(--muted); font-size: 12px; }

/* ── Пульт: контрол‑рум завода (на фирменном языке) ───────────────────── */
.pult-rail { display: flex; gap: 0; margin: 30px 0 0; padding: 0; list-style: none; }
.pult-rail__step { position: relative; flex: 1; min-width: 0; padding: 0 6px; text-align: center; color: #87928b; font-size: 12px; font-weight: 700; }
.pult-rail__step span { position: relative; z-index: 1; display: grid; width: 30px; height: 30px; margin: 0 auto 10px; place-items: center; border: 1px solid #d9e0da; border-radius: 50%; background: var(--surface); color: #7a877e; font-size: 13px; }
.pult-rail__step::before { content: ""; position: absolute; z-index: 0; top: 15px; left: -50%; width: 100%; height: 2px; background: #d9e0da; }
.pult-rail__step:first-child::before { display: none; }
.pult-rail__step.done { color: #3f6b4d; }
.pult-rail__step.done span { border-color: #9dc8a8; background: #e7f3e9; color: #1c5e35; }
.pult-rail__step.done::before { background: #9dc8a8; }
.pult-rail__step.active { color: var(--ink); }
.pult-rail__step.active span { border-color: #1c5e35; background: #1c5e35; color: #fff; }
.pult-rail__step small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }

/* Каноническая главная: расписанная пачка */
.home-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(240px, .85fr); gap: 30px; align-items: start; margin-top: 30px; }
.home-next { overflow: hidden; padding: 22px 24px; border: 1px solid var(--line); border-top: 3px solid var(--green); border-radius: 12px; background: var(--surface); box-shadow: 0 14px 38px rgb(24 34 29 / 5%); }
.home-next .post-date { margin: 0 0 8px; color: var(--green); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.home-next h3 { margin: 0 0 6px; font-family: "Source Serif 4", Georgia, serif; font-size: 22px; font-weight: 700; line-height: 1.1; letter-spacing: -.03em; }
.home-next .post-kind { margin: 0 0 16px; color: var(--muted); font-size: 13px; }
.home-next .secondary-button { margin: 0; }
.home-next .home-note { margin: 16px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.home-insight { padding: 2px 0 0 16px; border-left: 3px solid #d2b16c; }
.home-insight .eyebrow { margin-bottom: 8px; }
.home-insight h3 { margin: 0 0 8px; font-family: "Source Serif 4", Georgia, serif; font-size: 20px; font-weight: 700; letter-spacing: -.03em; }
.home-insight p { margin: 0 0 10px; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.home-insight a { color: var(--green); font-size: 13px; font-weight: 800; text-decoration: underline; text-decoration-color: #afd0ba; text-underline-offset: 3px; }
.home-insight a:hover { text-decoration-color: var(--green); }
.home-next-batch { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; margin-top: 42px; padding-top: 27px; border-top: 1px solid var(--line); }
.home-next-batch .eyebrow { margin-bottom: 8px; }
.home-next-batch h2 { margin: 0 0 6px; font-size: 26px; }
.home-next-batch p { max-width: 620px; margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.home-next-batch .secondary-button { margin: 0; white-space: nowrap; }

@media (max-width: 640px) {
  .pult-rail__step { font-size: 11px; }
  .home-grid { grid-template-columns: 1fr; gap: 22px; }
  .home-next-batch { grid-template-columns: 1fr; gap: 16px; }
  .home-next-batch .secondary-button { width: 100%; }
}

.content-intro { margin-bottom: 24px; }
.content-rows { margin-top: 30px; border-top: 1px solid var(--line); }
.content-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 16px; align-items: center; min-height: 78px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.content-row:hover { color: var(--green); background: #edece5; }
.content-row__label { color: var(--muted); font-size: 14px; }
.content-row__action { color: var(--green); font-size: 13px; font-weight: 800; }
.content-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 36px; }
.content-stage { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: 1fr auto; gap: 14px 18px; min-height: 170px; padding: 21px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); text-decoration: none; transition: border-color .16s ease, transform .16s ease, background .16s ease; }
.content-stage:hover { border-color: #aebcaf; background: #fffefa; transform: translateY(-2px); }
.content-stage__number { color: #a2aa9e; font-family: "Source Serif 4", Georgia, serif; font-size: 30px; line-height: 1; }
.content-stage__copy { display: grid; align-content: start; gap: 8px; }
.content-stage__copy > span { color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.content-stage__copy strong { font-family: "Source Serif 4", Georgia, serif; font-size: 24px; line-height: 1.12; letter-spacing: -.03em; }
.content-stage__action { grid-column: 2; align-self: end; color: var(--green); font-size: 13px; font-weight: 800; }
.content-goal { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: 34px; padding: 20px 0; border-top: 1px solid var(--line); }
.content-goal .eyebrow { margin-bottom: 7px; }
.content-goal strong { font-family: "Source Serif 4", Georgia, serif; font-size: 22px; font-weight: 700; }
.content-goal a { flex: 0 0 auto; color: var(--green); font-size: 13px; font-weight: 800; text-decoration: none; }
.content-goal a:hover { text-decoration: underline; }
.section-link { margin: 24px 0 0; font-size: 14px; }
.section-link a { color: #1c5e35; font-weight: 650; }
.login-intro { margin-top: 76px; }
.login-card { max-width: 560px; }
.settings-intro { margin-bottom: 30px; }
/* Настройки — узкая страница-справка: вход, пространство и выход. */
.settings-intro { margin-top: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.settings-intro h1 { margin: 0; font-size: 25px; line-height: 1.16; }
.settings-intro__meta { margin: 9px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.settings-narrow { display: grid; gap: 10px; max-width: 720px; margin-top: 14px; }
.settings-card { padding: 16px 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--raised); box-shadow: var(--shadow-raised); }
.settings-card h2 { margin: 0 0 3px; font-size: 15px; font-weight: 800; }
.settings-card__sub { margin: 0 0 14px; color: var(--muted); font-size: 12px; font-weight: 700; }
.settings-rows { display: grid; gap: 8px; }
.settings-row { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 12px; align-items: center; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--sand); }
.settings-row__label { color: var(--muted); font-size: 11px; font-weight: 800; }
.settings-row b { font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.settings-form { margin-top: 14px; }
.settings-form label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.settings-form__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.settings-form__row input, .settings-form__row select { min-height: 38px; box-sizing: border-box; width: 100%; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); font: inherit; font-size: 13px; }
.settings-note { margin: 8px 0 0; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1.5; }
.settings-pending { margin: 14px 0 0; padding: 11px 13px; border: 1px solid #e3d9c2; border-radius: 10px; background: var(--amber-soft); color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.5; }
.settings-exit { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding: 14px 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--sand); }
.settings-exit b { display: block; font-size: 14px; font-weight: 800; }
.settings-exit p { max-width: 46ch; margin: 4px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; line-height: 1.5; }
@media (max-width: 620px) {
  .settings-row, .settings-form__row { grid-template-columns: 1fr; }
}
.settings-section { max-width: 680px; padding: 24px 0; border-top: 1px solid #dfe4de; }
.settings-section > .eyebrow { margin-bottom: 11px; }
.settings-section h2 { margin-bottom: 8px; }
.settings-section > p:not(.eyebrow):not(.muted) { margin: 0; color: #4c5951; line-height: 1.5; }
.settings-list { margin: 0; }
.settings-list > div { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr); gap: 18px; padding: 13px 0; border-top: 1px solid #edf0ed; }
.settings-list > div:first-child { border-top: 0; }
.settings-list dt { color: #637168; font-size: 14px; }
.settings-list dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.settings-note { margin: 15px 0 0; font-size: 14px; }
.settings-link { display: inline-block; margin-top: 17px; color: #1c5e35; font-size: 14px; font-weight: 720; }
.settings-section--exit { margin-top: 16px; }
/* Выход — не главное действие страницы: тихая кнопка, красный только на наведении. */
.settings-section--exit .secondary-button { width: max-content; margin-top: 17px; border-color: var(--line-strong); background: transparent; color: var(--ink-soft); }
.settings-section--exit .secondary-button:hover { border-color: var(--danger); background: var(--danger-soft); color: var(--danger); }

/* Общая инфо-плашка (Бизнес, Площадки) */
.info-note { max-width: 780px; margin: 20px 0 0; padding: 13px 16px; border: 1px solid #bdd0bd; border-left: 3px solid var(--green); border-radius: 10px; background: #eff7ed; color: var(--green-dark); font-size: 13.5px; font-weight: 700; line-height: 1.5; }
.info-note--ok { border-color: #a9c9ae; background: #e7f3e6; }
.info-note--error { border-color: #d7b79f; border-left-color: #9a542d; background: #f9eee6; color: #723d22; }

/* Экран «Бизнес» */
.business-head { display: block; margin: 34px 0 20px; }
.business-head h1 { max-width: none; font-size: clamp(38px, 4vw, 54px); line-height: 1; }
.business-head > div > p:last-child { max-width: 680px; margin: 13px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.55; }
.business-head__cta { display: block; width: max-content; margin-top: 18px; }
.business-head__cta button, .business-head__link { min-height: 42px; margin: 0; }
.biz-desk.business-profile-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.business-profile-layout .biz-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.business-profile-layout .business-foundation, .business-profile-layout .business-services, .business-profile-layout .business-cta, .business-profile-layout .biz-raw { grid-column: 1 / -1; }
.business-foundation { overflow: hidden; border-top: 3px solid var(--green); }
.business-foundation .biz-blk__h h2 { font-size: 29px; }
.business-foundation__rows { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.business-foundation__rows .biz-row { display: block; padding: 18px; border: 0; border-left: 1px solid var(--line); }
.business-foundation__rows .biz-row:first-child { border-left: 0; }
.business-foundation__rows .biz-row dt { margin-bottom: 8px; }
.business-foundation__rows .biz-row dd { min-height: 72px; font-size: 14px; line-height: 1.5; }
.business-foundation__rows .biz-row > button { margin-top: 10px; }
.business-services, .business-cta { padding-block: 19px; }
.business-detail-block, .business-style-block { padding-block: 21px; }
.business-profile-side { position: static; }
.business-extra { overflow: hidden; padding: 0; }
.business-extra > summary { padding: 16px 18px; color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 19px; font-weight: 700; cursor: pointer; list-style: none; }
.business-extra > summary::-webkit-details-marker { display: none; }
.business-extra > summary::after { float: right; color: var(--muted); content: "+"; font-family: "Manrope", sans-serif; }
.business-extra[open] > summary::after { content: "−"; }
.business-extra__body { padding: 0 18px 18px; }
.biz-brief { margin-top: 26px; }
.biz-brief__hint { margin: 8px 0 4px; }
/* Бриф — читаемая форма: поля растягиваются только внутри reading-width. */
.biz-brief__area { min-height: 132px; }
.biz-brief__area--short { min-height: 90px; }
.biz-form-actions { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-top: 16px; }
.biz-form-actions button { margin-top: 0; }
.biz-saved-state { color: var(--muted); font-size: 13px; font-weight: 700; }
.biz-section-head { margin-top: 44px; }
.biz-section-head .eyebrow { margin-bottom: 8px; }
.biz-lower { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 16px; }
.biz-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.biz-card .eyebrow { margin-bottom: 8px; }
.biz-card__label { margin: 0 0 6px; color: var(--muted); font-size: 12px; font-weight: 700; }
.biz-card__title { margin: 0 0 8px; }
.biz-goal-title { margin: 0 0 4px; font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.biz-goal-sub { margin: 0 0 4px; }
.biz-source-list { display: grid; margin: 4px 0 16px; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.biz-source { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.biz-source--empty { display: block; padding: 14px 0; }
.biz-source__platform { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #e8f1e7; color: var(--green); font-size: 11px; font-weight: 800; }
.biz-source__body { min-width: 0; }
.biz-source__body b { display: block; overflow: hidden; font-size: 13px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.biz-source__body span { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; font-weight: 700; }
.biz-source__status { display: inline-flex; align-items: center; gap: 5px; color: var(--green); font-size: 11px; font-weight: 800; white-space: nowrap; }
.biz-source__status::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ""; }

/* Экран «Бизнес»: память о бизнесе — плотные строки, всё видно целиком. */
.biz-intro { margin-top: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.app-main .biz-intro h1 { margin: 0; font-size: 25px; line-height: 1.16; letter-spacing: -.01em; }
.biz-intro__meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 9px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; }

.biz-strip { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 14px 0 0; padding: 11px 15px; border: 1px solid var(--line); border-left: 3px solid var(--green-bright); border-radius: 11px; background: var(--raised); box-shadow: var(--shadow-raised); font-size: 13px; font-weight: 700; }
.biz-strip--warn { border-left-color: var(--danger); }
.biz-strip a { margin-left: auto; color: var(--green); font-size: 12px; font-weight: 800; }

.biz-desk { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 14px; align-items: start; margin-top: 14px; }
.biz-main { display: grid; gap: 10px; min-width: 0; }
.biz-side { position: sticky; top: 16px; display: grid; gap: 12px; }
.biz-desk [hidden] { display: none !important; }

/* Блок = смысловая группа профиля; заголовок несёт назначение, а не ярлык */
.biz-blk { padding: 15px 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--raised); box-shadow: var(--shadow-raised); scroll-margin-top: 20px; }
.biz-blk__h { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: baseline; justify-content: space-between; margin-bottom: 11px; }
.biz-blk__h h2 { margin: 0; font-size: 16px; font-weight: 800; }
.biz-blk__h p { flex: 1 0 100%; margin: 0; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1.5; }
.biz-blk__h p b { color: var(--ink-soft); }
.biz-blk__act { min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: var(--green); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.biz-blk__act:hover { text-decoration: underline; }

.biz-rows { display: grid; gap: 6px; margin: 0; }
.biz-row { display: grid; grid-template-columns: 148px minmax(0, 1fr) auto; gap: 12px; align-items: baseline; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--inset); }
.biz-row > button { min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: var(--muted); font: inherit; font-size: 11px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.biz-row > button:hover { color: var(--green); text-decoration: underline; }
.biz-row .biz-edit--inline textarea { width: 100%; box-sizing: border-box; margin: 0; }

/* Тег с крестиком: убрать пункт — одно нажатие, без диалогов */
.biz-tag form { display: contents; }
.biz-tag button { min-height: 0; margin: 0; padding: 0 0 0 2px; border: 0; background: none; color: var(--muted); font: inherit; font-size: 13px; font-weight: 800; line-height: 1; cursor: pointer; }
.biz-tag button:hover { color: var(--danger); }
.biz-tag-add { display: flex; gap: 6px; align-items: center; margin-top: 7px; }
.biz-tag-add input { flex: 1 1 auto; min-width: 0; min-height: 32px; padding: 0 10px; border: 1px dashed var(--line-strong); border-radius: 999px; background: transparent; font: inherit; font-size: 12px; font-weight: 700; }
.biz-tag-add button { min-height: 0; margin: 0; min-height: 32px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--raised); color: var(--green); font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.biz-tag-add button:hover { border-color: var(--green); background: var(--green-soft); }
.biz-row dt { color: var(--muted); font-size: 11px; font-weight: 800; }
.biz-row dd { margin: 0; font-size: 13px; font-weight: 700; line-height: 1.5; }
.biz-row--empty dd { color: var(--danger); }
.biz-row__origin { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; font-style: normal; font-weight: 700; }

.biz-edit { display: grid; gap: 6px; padding: 13px; border: 1px solid var(--green-bright); border-radius: 11px; background: var(--surface); }
.biz-edit label { font-size: 12px; font-weight: 800; }
.biz-edit__hint { color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1.45; }
.biz-edit textarea, .biz-edit select { width: 100%; box-sizing: border-box; min-height: 38px; margin-bottom: 6px; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--inset); font: inherit; font-size: 13px; font-weight: 700; resize: vertical; }
.biz-edit__act button, .biz-edit__act .secondary-button { min-height: 34px; margin: 0; padding: 0 13px; font-size: 12px; }
.biz-edit__act { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 4px; }
.biz-edit__act > span { margin-left: auto; color: var(--muted); font-size: 11px; font-weight: 700; }

/* Элемент списка: услуга, способ обращения, возражение, факт */
.biz-items { display: grid; gap: 6px; }
.biz-it { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--inset); }
.biz-it b { display: block; font-size: 13px; font-weight: 800; line-height: 1.45; }
.biz-it span { display: block; margin-top: 3px; color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.5; }
.biz-it small { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 700; }
.biz-it--svc { grid-template-columns: minmax(0, 1fr) auto auto; }
.biz-it__price { color: var(--green); font-size: 13px; font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }
.biz-it--default { border-color: #c9d5c8; background: var(--green-soft); }
.biz-it__act .biz-it__mark { display: inline; margin: 0; }
.biz-it__mark { color: var(--green); font-size: 11px; font-weight: 800; white-space: nowrap; }
/* Действия строки — тихие ссылки: главное здесь текст факта, а не кнопки */
.biz-it__act { display: flex; flex-wrap: nowrap; gap: 10px; align-items: center; white-space: nowrap; }
.biz-it__act button { min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: var(--muted); font: inherit; font-size: 11px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.biz-it__act button:hover { color: var(--green); text-decoration: underline; }
.biz-it__act form { display: contents; }

/* Ввод факта стоит НАД списком: добавить факт — главное действие раздела */
.biz-quick { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-bottom: 9px; }
.biz-quick button { margin: 0; }
.biz-quick input { min-height: 38px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--inset); font: inherit; font-size: 13px; font-weight: 700; }
.biz-edit--inline { margin-top: 8px; padding: 10px; }
.biz-edit--inline input { width: 100%; box-sizing: border-box; min-height: 36px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--inset); font: inherit; font-size: 13px; font-weight: 700; }

.biz-it--obj b::before { content: "«"; }
.biz-it--obj b::after { content: "»"; }
.biz-it--obj > div > span::before { color: var(--green-bright); content: "→ "; font-weight: 800; }

/* Источник факта: подтверждён публично или заявлен владельцем */
.biz-src { display: inline-flex; align-items: center; padding: 2px 7px; border-radius: 5px; font-size: 10px; font-weight: 800; }
.biz-src--owner { background: var(--amber-soft); color: var(--amber); }
.biz-src--public { background: var(--green-soft); color: var(--green); }

.biz-sub { margin: 12px 0 6px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.biz-blk .biz-sub:first-of-type { margin-top: 0; }
.biz-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.biz-tag { display: inline-flex; align-items: center; padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--inset); font-size: 12px; font-weight: 700; }
.biz-empty { margin: 0; color: var(--muted); font-size: 12px; font-weight: 700; line-height: 1.5; }

.biz-style-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--inset); }
.biz-style-row b { display: block; font-size: 13px; font-weight: 800; }
.biz-style-row span { display: block; margin-top: 3px; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.biz-style-preview { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: center; margin-bottom: 6px; }
.biz-style-preview p { margin: 0; color: var(--ink-soft); font-size: 12px; font-weight: 700; }

/* Свёрнутый разбор: наблюдения о данных, в тексты они не идут */
.biz-raw { border: 1px solid var(--line); border-radius: 14px; background: var(--inset); }
.biz-raw > summary { padding: 13px 17px; font-size: 13px; font-weight: 800; cursor: pointer; list-style: none; }
.biz-raw > summary::-webkit-details-marker { display: none; }
.biz-raw > summary::before { color: var(--muted); content: "▸ "; }
.biz-raw[open] > summary::before { content: "▾ "; }
.biz-raw__in { padding: 0 17px 15px; }
.biz-raw__in .biz-empty { margin-bottom: 12px; }
.biz-raw dl { display: grid; gap: 8px; margin: 0; }
.biz-raw dl > div { display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 12px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--raised); }
.biz-raw dt { color: var(--muted); font-size: 11px; font-weight: 800; }
.biz-raw dd { margin: 0; color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.5; }

/* Добавление пункта блока: поля в строку, действие — справа */
.biz-add { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.biz-add input { flex: 1 1 140px; min-width: 0; min-height: 34px; padding: 0 11px; border: 1px dashed var(--line-strong); border-radius: 9px; background: transparent; font: inherit; font-size: 12px; font-weight: 700; }
.biz-add button { min-height: 0; margin: 0; min-height: 34px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--raised); color: var(--green); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.biz-add button:hover { border-color: var(--green); background: var(--green-soft); }
.business-cta__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; max-width: 760px; margin-top: 12px; }
.business-cta__form input { min-height: 42px; border-style: solid; background: var(--surface); font-size: 13px; }
.business-cta__form button { min-height: 42px; padding-inline: 18px; border-color: var(--green); background: var(--green); color: #fff; }
.business-cta__form button:hover { background: var(--green-dark); color: #fff; }

.biz-stops { display: flex; flex-wrap: wrap; gap: 6px; }
.biz-stop { display: inline-flex; gap: 5px; align-items: center; padding: 5px 10px; border-radius: 999px; background: var(--danger-soft); color: var(--danger); font-size: 12px; font-weight: 800; }
.biz-stop--kind { background: #e3e7e0; color: var(--ink-soft); }
.biz-stop form { display: contents; }
.biz-stop button { min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: currentColor; font: inherit; font-size: 13px; line-height: 1; opacity: .6; cursor: pointer; }
.biz-stop button:hover { opacity: 1; }
.biz-stop-add { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px; margin-top: 11px; }
.biz-stop-add input, .biz-stop-add select { min-height: 34px; padding: 0 9px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--inset); font: inherit; font-size: 12px; font-weight: 700; }
.biz-stop-add button { min-width: 34px; height: 34px; min-height: 0; margin: 0; padding: 0; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--raised); color: var(--green); font: inherit; font-size: 15px; font-weight: 800; cursor: pointer; }
.biz-stop-add button:hover { border-color: var(--green); background: var(--green-soft); }

.biz-how { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.biz-how li { position: relative; padding-left: 14px; color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.45; }
.biz-how li::before { position: absolute; left: 0; color: var(--green-bright); content: "·"; font-weight: 800; }
.biz-how b { color: var(--ink); }

.biz-digest { display: grid; gap: 7px; }
.biz-digest a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: baseline; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--inset); color: inherit; font-size: 12px; font-weight: 700; text-decoration: none; }
.biz-digest a:hover { border-color: var(--line-strong); background: var(--hover); }
.biz-digest b { color: var(--green); font-weight: 800; font-variant-numeric: tabular-nums; }
.biz-digest a.is-empty b { color: var(--danger); }

.biz-srcs { display: grid; gap: 6px; }
.biz-srcs div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--inset); font-size: 12px; font-weight: 700; }
.biz-srcs span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.biz-srcs em { color: var(--muted); font-style: normal; font-size: 10px; font-weight: 800; }
.biz-srcs em.is-work { color: var(--amber); }

@media (max-width: 1100px) {
  .biz-desk { grid-template-columns: 1fr; }
  .biz-side { position: static; }
}
@media (max-width: 640px) {
  .business-head { margin-top: 25px; }
  .business-head__cta, .business-head__cta button, .business-head__link { width: 100%; }
  .business-foundation__rows { grid-template-columns: 1fr; }
  .business-profile-layout .biz-main { grid-template-columns: 1fr; }
  .business-profile-layout .business-foundation, .business-profile-layout .business-services, .business-profile-layout .business-cta, .business-profile-layout .biz-raw { grid-column: auto; }
  .business-foundation__rows .biz-row { border-left: 0; border-top: 1px solid var(--line); }
  .business-foundation__rows .biz-row:first-child { border-top: 0; }
  .biz-row { grid-template-columns: 1fr; gap: 4px; }
  .biz-it { grid-template-columns: 1fr; }
  .business-cta__form { grid-template-columns: 1fr; }
  .biz-edit__act { align-items: stretch; flex-direction: column; }
  .biz-edit__act > span { margin: 2px 0 0; text-align: center; }
}

/* Экран «Площадки публикации» */
/* Площадки как раздел: строка на канал, состояние словами, одно действие. */
.channels-intro { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; justify-content: space-between; margin-top: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.channels-intro h1 { margin: 0; font-size: 25px; line-height: 1.16; }
.channels-intro__meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 9px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.channels-desk { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 14px; align-items: start; margin-top: 14px; }
.channels-list { display: grid; gap: 10px; }
.channels-side { position: sticky; top: 16px; display: grid; gap: 12px; }
.channel-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--raised); box-shadow: var(--shadow-raised); }
.channel-row:hover { background: var(--hover); box-shadow: var(--shadow-hover); }
.channel-row__mark { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; background: var(--nav); color: var(--nav-ink); font-size: 12px; font-weight: 800; }
.channel-row__body { min-width: 0; }
.channel-row__name { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.channel-row__name b { font-size: 15px; font-weight: 800; }
.channel-row__name span { color: var(--muted); font-size: 12px; font-weight: 700; }
.channel-row__state { margin: 5px 0 0; color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.45; }
.channel-row__actions { display: grid; gap: 6px; justify-items: stretch; min-width: 176px; }
.channel-row__actions form { display: contents; }
.channel-row__actions .materials-button { justify-content: center; width: 100%; }
.channel-auto { display: flex; gap: 10px; align-items: center; margin: 10px 0 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--sand); color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.45; }
.channel-auto__dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--green-bright); }
.channel-auto--off .channel-auto__dot { background: var(--muted); }
.channel-auto b { color: var(--ink); }
.channel-pending { display: grid; gap: 10px; justify-items: start; padding: 14px 16px; border: 1px solid #cbdcc9; border-radius: 13px; background: var(--green-soft); color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.5; }
.channel-pending p { margin: 0; }
.channel-pending__note { color: var(--muted); font-size: 11px; }
.channels-how { display: grid; gap: 9px; margin: 0; padding-left: 18px; color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.45; }
.channels-note { margin: 12px 0 0; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1.5; }
.channels-add { display: grid; gap: 6px; }
.channels-add .materials-button { justify-content: center; width: 100%; }
.channels-add p { margin: 0 0 8px; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1.5; }
.panel__head b { font-size: 19px; font-weight: 700; font-family: "Source Serif 4", Georgia, serif; }
.panel__head span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 700; }
@media (max-width: 1100px) {
  .channels-desk { grid-template-columns: 1fr; }
  .channels-side { position: static; }
}
@media (max-width: 720px) {
  .channel-row { grid-template-columns: 44px minmax(0, 1fr); }
  .channel-row__actions { grid-column: 1 / -1; }
}
.channel-list { display: grid; gap: 14px; margin-top: 28px; }
.channel-actions { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin-top: 22px; }
.channel-actions .secondary-button { margin-top: 0; }
.channel-actions p { margin: 0; max-width: 620px; font-size: 12px; }
.channel { max-width: 780px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.channel-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.channel-name { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: center; }
.channel-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: #e8f1e7; color: var(--green); font-size: 12px; font-weight: 800; }
.channel-title strong { display: block; font-size: 17px; }
.channel-title span { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
.channel-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; background: #e8f1e7; color: var(--green); font-size: 11px; font-weight: 800; white-space: nowrap; }
.channel-status::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ""; }
.channel-status--needs_reconnect, .channel-status--no_rights { background: #f7ecd9; color: #8b6128; }
.channel-status--revoked { background: #eceee9; color: var(--muted); }
.channel-body { padding: 18px 22px 20px; }
.channel-caps { display: grid; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.channel-caps li { position: relative; padding-left: 24px; font-size: 13px; }
.channel-caps li::before { position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #e8f1e7; color: var(--green); content: "✓"; font-size: 11px; font-weight: 800; }
.channel-hint { margin: 0; color: var(--muted); font-size: 12px; }
.channel-disconnect { margin-top: 14px; }
.channel-disconnect .materials-button { color: var(--muted); }
.channel-disconnect .materials-button:hover { color: var(--danger); }
.channel-empty { max-width: 640px; margin-top: 28px; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.channel-empty p { margin: 0 0 8px; line-height: 1.55; }
.channel-empty p:last-child { margin-bottom: 0; }
.vk-community-form { max-width: 720px; margin-top: 28px; }
.vk-community-list { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
.vk-community { display: grid; grid-template-columns: auto 48px minmax(0, 1fr); gap: 12px; align-items: center; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); cursor: pointer; }
.vk-community:has(input:checked) { border-color: var(--green); background: #f1f7ef; box-shadow: 0 0 0 1px var(--green); }
.vk-community input { width: 18px; height: 18px; margin: 0; accent-color: var(--green); }
.vk-community img { width: 48px; height: 48px; border-radius: 12px; object-fit: cover; }
.vk-community .channel-mark { width: 48px; height: 48px; }
.vk-community strong, .vk-community small { display: block; overflow-wrap: anywhere; }
.vk-community small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.vk-community-actions { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-top: 18px; }
.vk-community-actions button, .vk-community-actions .settings-link { margin-top: 0; }
.source-url { overflow-wrap: anywhere; color: #26372e; font-weight: 650; }
.honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.source-list, .source-choice-list { display: grid; gap: 12px; }
.source-item, .source-choice { display: grid; gap: 3px; padding: 14px; border: 1px solid #dfe4de; border-radius: 10px; }
.source-item span, .source-choice small { color: #637168; }
.source-choice { grid-template-columns: 22px 1fr; cursor: pointer; }
.source-choice input { width: 18px; min-height: 18px; margin: 3px 0 0; }
.observation + .observation { margin-top: 22px; }
.observation .muted { margin: 7px 0 0; }
.idea-card { border-color: #c9ddcf; }
.save-card { margin-bottom: 12px; }
.compact-button { min-height: 42px; margin-top: 8px; padding: 9px 14px; }
.goal-summary { margin: 20px 0 10px; }
.goal-choice-list { display: grid; gap: 12px; }
.goal-choice { display: grid; grid-template-columns: 22px 1fr; gap: 10px; padding: 16px; border: 1px solid #dfe4de; border-radius: 10px; cursor: pointer; }
.goal-choice input { width: 18px; min-height: 18px; margin: 3px 0 0; }
.goal-choice strong, .goal-choice small, .goal-choice span { display: block; }
.goal-choice small { color: #3f6b4d; font-weight: 720; }
.goal-why { margin-top: 7px; line-height: 1.45; }
.goal-detail { margin-top: 6px; color: #637168; font-size: 14px; line-height: 1.4; }
.idea-list, .idea-choice-list { display: grid; gap: 14px; }
.compact-card { margin-top: 0; }
.idea-choice { display: grid; grid-template-columns: 22px 1fr; gap: 10px; padding: 16px; border: 1px solid #dfe4de; border-radius: 10px; cursor: pointer; }
.idea-choice input { width: 18px; min-height: 18px; margin: 3px 0 0; }
.idea-choice strong, .idea-choice small, .idea-choice span { display: block; }
.idea-choice small { color: #3f6b4d; font-weight: 720; }
.idea-hook { margin-top: 7px; font-weight: 650; line-height: 1.45; }
.idea-detail { margin-top: 6px; color: #637168; font-size: 14px; line-height: 1.4; }
.draft-card { margin-top: 18px; }
.drafts-intro { margin-bottom: 28px; }
.drafts-summary { display: flex; align-items: stretch; gap: 0; margin: 32px 0 42px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.drafts-summary > div { display: grid; align-content: center; gap: 4px; min-width: 120px; padding: 16px 24px 16px 0; color: var(--muted); font-size: 12px; }
.drafts-summary > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.drafts-summary__number { color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 28px; font-weight: 700; line-height: 1; }
.drafts-summary a { margin-left: auto; align-self: center; color: var(--green); font-size: 13px; font-weight: 800; text-decoration: none; }
.drafts-summary a:hover { text-decoration: underline; }
.drafts-list { display: grid; gap: 24px; }
.draft-workspace { padding: 25px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.draft-workspace.is-approved { border-color: #bfd0be; }
.draft-workspace__header { display: flex; align-items: start; justify-content: space-between; gap: 24px; padding-bottom: 21px; border-bottom: 1px solid var(--line); }
.draft-workspace__header .eyebrow { max-width: 720px; margin-bottom: 8px; }
.draft-workspace__header h2 { margin: 0; font-size: 31px; line-height: 1.06; }
.draft-status { flex: 0 0 auto; margin-top: 2px; padding: 6px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.draft-status.is-review { background: #f2e9d7; color: #7b531e; }
.draft-status.is-approved { background: var(--green-soft); color: var(--green); }
.draft-status.is-pending { background: #edf0eb; color: #59635c; }
.draft-status.is-problem { background: #f7e7e5; color: #a13c35; }
.draft-workspace__body { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr); gap: 28px; padding-top: 22px; }
.draft-editor { align-content: start; }
.draft-editor label { margin-top: 8px; }
.draft-editor textarea { min-height: 386px; }
.draft-editor__notice { margin: 3px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.draft-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.draft-actions button { margin-top: 8px; }
.draft-preview { min-width: 0; padding: 18px; border: 1px solid #dddcd4; border-radius: 9px; background: #eeece5; }
.draft-preview .eyebrow { margin-bottom: 10px; }
.draft-preview__post { padding: 16px; border-radius: 7px; background: #fff; box-shadow: 0 2px 8px rgb(24 34 29 / 6%); }
.draft-preview__meta { display: flex; gap: 9px; align-items: center; color: #566259; font-size: 12px; font-weight: 700; line-height: 1.3; }
.draft-preview__meta small { color: var(--muted); font-size: 11px; font-weight: 600; }
.draft-preview__avatar { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-family: "Source Serif 4", Georgia, serif; font-size: 17px; }
.draft-preview__text { max-height: 405px; margin: 16px 0 0; overflow: auto; color: #26322a; font-size: 13px; line-height: 1.55; white-space: pre-line; }
.draft-preview__cta { margin: 14px 0 0; color: var(--green); font-size: 13px; font-weight: 800; line-height: 1.45; }
.draft-preview__hint { margin: 12px 2px 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.draft-state { display: flex; gap: 8px; align-items: center; margin: 22px 0 0; color: var(--muted); font-size: 14px; }
.draft-text { margin: 20px 0; white-space: pre-line; line-height: 1.6; }
.review-note { margin: 0 0 4px; padding: 12px 14px; border-left: 3px solid #b38849; border-radius: 0 7px 7px 0; background: #fbf7ee; line-height: 1.5; }
.approval-state { display: inline-block; margin: 0; padding: 5px 9px; border-radius: 999px; background: #eef2ed; color: #526158; font-size: 12px; font-weight: 800; }
.approval-state.approved { background: var(--green-soft); color: var(--green); }
.warning-confirm { display: flex; gap: 9px; align-items: flex-start; margin-top: 10px; padding: 12px; border-radius: 9px; background: #fff7e7; color: #57451e; font-size: 14px; line-height: 1.45; }
.warning-confirm input { width: 18px; min-height: 18px; margin: 1px 0 0; }
.image-panel { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.image-panel__heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.image-panel__heading .eyebrow { margin-bottom: 7px; }
.image-panel h3 { margin: 0; font-size: 25px; }
.image-panel__heading > p { max-width: 370px; margin: 0 0 3px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.image-panel__items { display: grid; gap: 14px; margin-top: 16px; }
.image-option { display: flex; gap: 18px; align-items: end; }
.image-option__controls { display: grid; justify-items: start; gap: 12px; min-width: min(100%, 286px); }
.post-image { display: block; width: min(100%, 400px); height: auto; aspect-ratio: 4 / 5; object-fit: cover; margin: 0; border-radius: 8px; background: #eef2ed; }
.cover-style-picker { width: min(100%, 286px); }
.cover-style-picker__label { margin: 0 0 7px; color: var(--ink-soft); font-size: 12px; font-weight: 800; }
.cover-style-picker__options { display: grid; gap: 6px; }
.cover-style-picker__options form { margin: 0; }
.cover-style-option { display: grid; width: 100%; min-height: 56px; gap: 2px; margin: 0; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.cover-style-option strong { font-size: 12px; line-height: 1.2; }
.cover-style-option small { color: var(--muted); font-size: 11px; font-weight: 600; line-height: 1.35; }
.cover-style-option:hover { border-color: var(--green); background: var(--green-soft); transform: none; }
.cover-style-option.is-selected { border-color: var(--green); background: var(--green-soft); box-shadow: inset 3px 0 0 var(--green); }
.cover-style-option.is-selected:disabled { cursor: default; opacity: 1; }
.image-panel__waiting { display: flex; gap: 8px; align-items: center; margin: 4px 0; color: var(--muted); font-size: 13px; }
.plan-intro { margin-bottom: 30px; }
.plan-intro__heading { display: flex; gap: 28px; align-items: end; justify-content: space-between; }
/* Заголовок в одну строку рядом с кнопкой действия: снимаем общий cap ширины и уменьшаем кегль. */
.plan-intro h1 { max-width: none; font-size: clamp(24px, 2.4vw, 38px); line-height: 1.06; text-wrap: balance; }
.plan-add-button { flex: 0 0 auto; margin: 0; white-space: nowrap; }
.plan-ready { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 30px; align-items: end; margin-top: 28px; padding: 24px 0; border-top: 2px solid var(--green); border-bottom: 1px solid var(--line); background: transparent; }
.plan-ready .eyebrow { margin-bottom: 8px; }
.plan-ready h2 { margin-bottom: 6px; font-size: 29px; }
.plan-ready p:not(.eyebrow) { max-width: 600px; margin: 0; color: var(--ink-soft); line-height: 1.5; }
.plan-ready form { display: block; }
.plan-ready button { margin: 0; white-space: nowrap; }
.plan-error { margin-top: 22px; }
.plan-weeks { display: grid; gap: 46px; margin-top: 44px; }
.plan-week__header { display: flex; align-items: end; justify-content: space-between; margin-bottom: 13px; }
.plan-week__header .eyebrow { margin: 0; }
.plan-week__header h2 { margin: 0; color: var(--muted); font-family: "Manrope", "Segoe UI", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0; }
.plan-week__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.plan-day { display: flex; min-width: 0; min-height: 218px; flex-direction: column; gap: 5px; padding: 9px 7px 10px; background: var(--raised); }
.plan-day.is-weekend { background: #faf9f4; }
.plan-day__header { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.plan-day__header h3 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: 17px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.plan-day__header p { margin: 0; color: var(--muted); font-size: 11px; }
/* Запись дня — маленькая карточка публикации: обложка, заголовок, состояние. */
.plan-entry { position: relative; display: grid; gap: 6px; margin: 0; padding: 0 0 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); overflow: hidden; overflow-wrap: anywhere; text-decoration: none; transition: box-shadow .13s ease, border-color .13s ease, transform .1s ease; }
.plan-entry:hover { border-color: var(--line-strong); box-shadow: var(--shadow-hover); transform: translateY(-1px); }
.plan-entry strong { display: -webkit-box; overflow: hidden; padding: 0 8px; font-size: 11.5px; font-weight: 750; line-height: 1.28; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.plan-entry .chip { margin: 0 8px; padding: 3px 7px; font-size: 10px; }
.plan-entry .chip::before { width: 4px; height: 4px; }
.plan-entry__cover { position: relative; display: block; width: 100%; height: 44px; margin: 0; overflow: hidden; }
.plan-entry__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.plan-entry__cover i { position: absolute; right: 5px; top: 5px; padding: 1px 6px; border-radius: 999px; background: rgb(255 255 255 / 82%); color: var(--ink); font-size: 9px; font-style: normal; font-weight: 800; }
.plan-entry__cover.is-working { background: repeating-linear-gradient(135deg, #ece8da 0 6px, #e0dbcb 6px 12px); }
.plan-entry.own { border-color: #e3d9c3; border-left-color: #a47741; background: #fbf8f1; }
.plan-entry__type { margin: 0; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.plan-entry__title { color: var(--ink); font-size: 13px; font-weight: 800; line-height: 1.35; text-decoration: none; }
.plan-entry__title:hover { color: var(--green); text-decoration: underline; }
.plan-entry__state, .plan-entry__notes { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.45; }
.plan-entry__details { margin-top: 4px; }
.plan-entry__details summary { color: var(--green); cursor: pointer; font-size: 11px; font-weight: 800; }
.plan-editor { margin-top: 10px; gap: 6px; }
.plan-editor label { margin-top: 4px; font-size: 12px; }
.plan-editor input, .plan-editor textarea { min-height: 38px; padding: 8px; border-radius: 7px; font-size: 13px; }
.plan-editor textarea { min-height: 72px; }
.plan-editor .compact-button { min-height: 38px; margin-top: 5px; padding: 8px 10px; font-size: 13px; }
.plan-entry__publish { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.plan-entry__publish form { margin: 0; }
.plan-action { display: inline-flex; align-items: center; justify-content: center; min-height: 0; margin: 0; padding: 5px 9px; border: 1px solid #cdd8c8; border-radius: 6px; background: #fff; color: var(--green); font-size: 11px; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; }
.plan-action:hover { border-color: var(--green); background: #eef4ea; color: var(--green-dark); transform: none; }
.plan-action--go { border-color: var(--green); background: var(--green); color: #fff; }
.plan-action--go:hover { background: var(--green-dark); border-color: var(--green-dark); color: #fff; }
.plan-entry__published { margin: 7px 0 0; color: var(--green-dark); font-size: 11px; font-weight: 800; }
.plan-entry__undo { min-height: 0; margin: 3px 0 0; padding: 3px 7px; border: 0; background: none; color: var(--muted); font-size: 11px; font-weight: 700; }
.plan-entry__undo:hover { background: none; color: var(--ink); text-decoration: underline; transform: none; }
.plan-entry[draggable="true"] { cursor: grab; }
.plan-entry.is-dragging { opacity: .45; }
.plan-day.is-drop-target { background: #eef4ea; outline: 2px dashed var(--green); outline-offset: -4px; }
.plan-empty { display: inline-flex; width: max-content; min-height: 0; margin: auto 0 0; padding: 10px 0 0; border: 0; border-radius: 0; background: transparent; color: var(--green); font-size: 12px; font-weight: 800; text-align: left; }
.plan-empty:hover { border: 0; background: transparent; color: var(--green-dark); transform: none; text-decoration: underline; }
.material-dialog { width: min(100% - 32px, 530px); padding: 0; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); color: var(--ink); box-shadow: 0 24px 80px rgb(24 34 29 / 24%); }
.material-dialog::backdrop { background: rgb(24 34 29 / 38%); backdrop-filter: blur(2px); }
.material-dialog__header { display: flex; grid-template-columns: minmax(0, 1fr) auto; align-items: start; justify-content: space-between; gap: 18px; padding: 24px 26px 18px; border-bottom: 1px solid var(--line); }
.material-dialog__header .eyebrow { margin-bottom: 7px; }
.material-dialog__header h2 { margin: 0; font-size: 28px; }
.material-dialog__close { display: grid; width: 32px; min-height: 32px; margin: 0; padding: 0; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); font-size: 22px; font-weight: 400; line-height: 1; }
.material-dialog__close:hover { border-color: var(--line-strong); background: #f0efe9; color: var(--ink); transform: none; }
.material-form { padding: 20px 26px 26px; }
.material-form label span { color: var(--muted); font-weight: 500; }
.material-form textarea { min-height: 116px; }
.material-form button { width: max-content; margin-top: 17px; }
.material-form__hint { margin: 0 0 4px; color: var(--ink-soft); font-size: 14px; line-height: 1.5; }

/* ===== Рабочий экран /plan: ближайший материал → очередь → календарь + инспектор ===== */
.plan-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; margin: 0; padding: 9px 15px; border-radius: 8px; font-size: 12px; font-weight: 800; text-decoration: none; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.plan-cta--primary { border: 1px solid var(--green); background: var(--green); color: #fff; }
.plan-cta--primary:hover { border-color: var(--green-dark); background: var(--green-dark); color: #fff; transform: none; }
.plan-cta--secondary { border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink-soft); }
.plan-cta--secondary:hover { border-color: var(--muted); background: var(--surface); color: var(--ink); transform: none; }
.plan-cta--ghost { min-height: 0; padding: 4px 0; border: 0; background: none; color: var(--muted); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.plan-cta--ghost:hover { background: none; color: var(--ink); transform: none; }

/* Пустые состояния кабинета выглядят одинаково: пунктир = «здесь появится контент». */
.plan-empty-state { margin-top: 28px; padding: 28px; border: 1px dashed var(--line-strong); border-radius: 12px; background: rgb(255 253 248 / 55%); }
.plan-empty-state h2 { margin: 4px 0 6px; font-size: 25px; }
.plan-empty-state p:not(.eyebrow) { max-width: 560px; margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
.plan-empty-state__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.plan-calm { margin: 0; padding: 16px 18px; border: 1px dashed var(--line-strong); border-radius: 11px; color: var(--ink-soft); background: rgb(255 253 248 / 60%); font-size: 13px; font-weight: 700; }

.command-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .85fr); gap: 16px; margin-top: 26px; align-items: stretch; }
.command-grid--single { grid-template-columns: 1fr; }
.command-grid > .plan-calm { grid-column: 1 / -1; }

/* Комплект в работе — вторичный статус: компактная строка, а не карточка на пол-экрана. */
.plan-cycle-strip { display: flex; align-items: center; gap: 10px; margin-top: 20px; padding: 11px 16px; border: 1px solid var(--line); border-radius: 11px; background: #f2f5f0; color: var(--ink-soft); font-size: 12.5px; font-weight: 700; text-decoration: none; }
.plan-cycle-strip:hover { border-color: var(--muted); background: #eef2ec; transform: none; }
.plan-cycle-strip__dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.plan-cycle-strip__text { color: var(--ink); }
.plan-cycle-strip__cta { margin-left: auto; color: var(--green); font-weight: 800; white-space: nowrap; }

.next-post { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: 0 14px 36px rgb(29 43 33 / 6%); }
.next-post__copy { display: flex; flex-direction: column; min-width: 0; padding: 22px 24px 20px; }
.next-post h2 { max-width: 680px; margin: 6px 0 8px; font-size: 25px; line-height: 1.07; }
.next-post__meta { margin: 0 0 16px; color: var(--ink-soft); font-size: 13px; font-weight: 700; }
.next-post__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }

.decision-list { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: rgb(255 253 248 / 65%); }
.decision { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 14px 16px; }
.decision + .decision { border-top: 1px solid var(--line); }
.decision__n { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--amber-soft, #f7ecd9); color: var(--amber, #8b6128); font-size: 11px; font-weight: 800; }
.decision--muted .decision__n { background: #e9ece6; color: var(--muted); }
.decision__copy { min-width: 0; }
.decision__copy b { display: block; font-size: 12.5px; overflow-wrap: anywhere; }
.decision__copy span { display: block; margin-top: 2px; color: var(--muted); font-size: 11.5px; line-height: 1.4; }
.decision__action { margin: 0; min-height: 36px; padding: 7px 12px; white-space: nowrap; }
.decision form { margin: 0; }

.section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: 36px; }
.section-head .eyebrow { margin-bottom: 6px; }
.section-head h2 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: 28px; line-height: 1; letter-spacing: -.03em; }

/* Календарь — обзор, инспектор — деталь. Сбоку он стоит только там, где не
   отнимает ширину у недели: иначе уезжает вниз и день остаётся читаемым. */
.plan-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 14px; align-items: start; }
@media (min-width: 1500px) { .plan-workspace { grid-template-columns: minmax(0, 1fr) 300px; } }
@media (max-width: 1499px) { .inspector-wrap { position: static; max-width: 640px; } }
.calendar { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--raised); box-shadow: var(--shadow-raised); }
.plan-week { padding: 16px 16px 4px; }
.plan-week + .plan-week { border-top: 1px solid var(--line); }
.week__label { margin: 0 0 11px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.plan-week__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: transparent; }
.plan-day { display: flex; min-width: 0; min-height: 140px; flex-direction: column; padding: 9px 9px 8px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fffefa; }
.plan-day.is-weekend { background: #f7f6f0; }
.plan-day.is-today { background: #f0f6ef; }
.plan-day__header { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; margin-bottom: 8px; }
.plan-day__header h3 { margin: 0; font-family: "Manrope", sans-serif; font-size: 13px; font-weight: 800; letter-spacing: -.02em; }
.plan-day.is-today .plan-day__header h3 { color: var(--green); }
.plan-day__header p { margin: 0; color: var(--muted); font-size: 11px; font-weight: 700; }

.plan-entry { display: block; margin: 0 0 6px; padding: 8px 9px 7px; border: 1px solid transparent; border-radius: 7px; background: #edf4ea; color: var(--ink); text-decoration: none; overflow-wrap: anywhere; }
.plan-entry:hover, .plan-entry.is-selected { border-color: var(--green); background: #e4efe1; transform: none; }
.plan-entry.own { background: var(--blue-soft, #e9eff0); }
.plan-entry.own:hover, .plan-entry.own.is-selected { border-color: var(--blue, #345e67); background: #e0e8e9; }
.plan-entry__type { display: block; color: var(--green); font-size: 8.5px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.plan-entry.own .plan-entry__type { color: var(--blue, #345e67); }
.plan-entry strong { display: -webkit-box; margin-top: 3px; overflow: hidden; font: 700 12px/1.2 "Source Serif 4", Georgia, serif; letter-spacing: -.01em; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.plan-entry__state { display: block; margin-top: 4px; overflow: hidden; color: var(--ink-soft); font-size: 9.5px; font-weight: 700; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.plan-entry[draggable="true"] { cursor: grab; }
.plan-entry.is-dragging { opacity: .45; }
.plan-day.is-drop-target { background: #eef4ea; outline: 2px dashed var(--green); outline-offset: -4px; }
/* Пустой день: без постоянной кнопки — заполняем ячейку кликабельной зоной, «+» только при наведении/фокусе. */
/* Свободный день не прячется: пунктирная зона видна всегда — план должен
   показывать дыры в ритме, а не маскировать их пустотой. */
.day-add { display: grid; flex: 1; width: 100%; min-height: 44px; margin: 0; padding: 0; place-items: center; border: 1px dashed var(--line-strong); border-radius: 9px; background: transparent; color: var(--muted); font-size: 11px; font-weight: 700; line-height: 1; cursor: pointer; transition: color .12s ease, background .12s ease, border-color .12s ease; }
.plan-day:hover .day-add, .day-add:focus-visible { border-color: var(--muted); color: var(--ink-soft); }
.day-add:hover { border-color: var(--green-bright); background: var(--paper); color: var(--green); }

.inspector-wrap { position: sticky; top: 20px; }
.inspector { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-muted); }
.inspector__top { padding: 19px 20px 16px; border-bottom: 1px solid var(--line); }
.inspector__top h3 { margin: 0 0 7px; font-size: 22px; line-height: 1.06; }
.inspector__meta { margin: 0; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.inspector .status { display: inline-flex; align-items: center; gap: 6px; margin-top: 11px; padding: 5px 9px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 11px; font-weight: 800; }
.inspector .status::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ""; }
.inspector__body { padding: 17px 20px 20px; }
.inspector__body form { margin: 0; }
.inspector__notes { margin: 0 0 15px; color: var(--ink-soft); font-size: 12.5px; line-height: 1.55; overflow-wrap: anywhere; }
.inspector__cover { margin-bottom: 15px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; aspect-ratio: 1 / 1; background: #eef2ed; }
.inspector__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.inspector__actions { display: grid; gap: 8px; }
.inspector__actions .plan-cta { width: 100%; }
.inspector__line { margin: 17px 0; border: 0; border-top: 1px solid var(--line); }
.inspector__form { display: grid; gap: 6px; }
.inspector__form label { margin-top: 6px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.inspector__form input, .inspector__form textarea { width: 100%; min-height: 40px; padding: 9px 10px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); color: var(--ink); font: inherit; font-size: 13px; }
.inspector__form textarea { min-height: 76px; resize: vertical; line-height: 1.5; }
.inspector__form .plan-cta { margin-top: 8px; width: max-content; }
.inspector__publish { width: 100%; }
.inspector__published { margin: 0 0 10px; color: var(--green-dark); font-size: 12.5px; font-weight: 800; }
.inspector__foot { margin: 12px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.publication-list__title { margin: 0 0 10px; font-size: 13px; }
.publication-list { display: grid; gap: 9px; }
.publication-channel { padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.publication-channel--needs_action { border-color: #dfbd83; background: #fffaf0; }
.publication-channel--published, .publication-channel--manual_published { border-color: #b9d1c1; background: #f4f8f3; }
.publication-channel__head { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 9px; align-items: center; }
.publication-channel__head span:nth-child(2) { min-width: 0; }
.publication-channel__head b, .publication-channel__head small { display: block; }
.publication-channel__head small { overflow: hidden; margin-top: 2px; color: var(--muted); font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.publication-channel__head > strong { color: var(--ink-soft); font-size: 10.5px; }
.publication-channel__provider { display: grid; width: 34px; height: 30px; place-items: center; border-radius: 8px; font-size: 10px; font-weight: 900; }
.publication-channel__provider--telegram { background: #e6f2fa; color: #1478a8; }
.publication-channel__provider--max { background: #f0e5f8; color: #8a2db4; }
.publication-channel__error { margin: 9px 0 0; color: #9c5d16; font-size: 11px; line-height: 1.4; }
.publication-channel__actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.publication-channel__actions form { display: grid; gap: 6px; }
.publication-channel__actions .plan-cta { min-height: 34px; padding: 7px 10px; font-size: 11px; }
.publication-channel__confirm { display: flex; max-width: 220px; gap: 6px; align-items: flex-start; color: var(--ink-soft); font-size: 10.5px; line-height: 1.35; }
.publication-channel__confirm input { margin-top: 2px; }

/* ===== Материалы: единая библиотека, ручной текстовый vertical slice ===== */
.materials-intro { display: flex; gap: 32px; align-items: end; justify-content: space-between; margin-top: 34px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.materials-intro .lede, .material-create-intro .lede, .material-editor-intro .lede { margin-top: 10px; font-size: 14px; line-height: 1.55; }
.materials-intro__actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.materials-button { display: inline-flex; min-height: 44px; margin: 0; padding: 9px 15px; align-items: center; justify-content: center; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); color: var(--ink-soft); font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.materials-button:hover { border-color: var(--muted); background: var(--surface); color: var(--ink); transform: none; }
.materials-button--primary { border-color: var(--green); background: var(--green); color: #fff; }
.materials-button--primary:hover { border-color: var(--green-dark); background: var(--green-dark); color: #fff; }
.materials-button--danger { border-color: var(--danger); background: var(--danger); color: #fff; }
.materials-button--danger:hover { border-color: #77372f; background: #77372f; color: #fff; }
/* Заблокированная кнопка обязана выглядеть заблокированной: иначе человек жмёт
   её и решает, что кабинет сломался. Hover гасим — на disabled он всё равно
   срабатывает и возвращал кнопке активный вид. */
.materials-button:disabled { opacity: .45; cursor: not-allowed; }
.materials-button:disabled:hover { border-color: var(--line-strong); background: var(--surface); color: var(--ink-soft); }
.materials-button--primary:disabled:hover { border-color: var(--green); background: var(--green); color: #fff; }
.materials-button--danger:disabled:hover { border-color: var(--danger); background: var(--danger); color: #fff; }
.materials-goal { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; margin: 15px 0 0; color: var(--muted); font-size: 11px; }
.materials-goal strong { color: var(--ink-soft); }
.materials-goal a { margin-left: 3px; color: var(--green); font-weight: 800; }
.materials-notice, .materials-error { margin: 20px 0 0; padding: 12px 15px; border-radius: 9px; font-size: 12px; font-weight: 700; line-height: 1.5; }
.materials-notice { border: 1px solid #bdd0bd; background: #eff7ed; color: var(--green-dark); }
.materials-error { border: 1px solid #dec0ba; background: var(--danger-soft); color: var(--danger); }
.materials-factory-progress { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .4fr); gap: 20px; align-items: center; margin-top: 18px; padding: 14px 18px; border: 1px solid #c7d7c4; border-radius: 12px; background: var(--green-soft); }
.materials-factory-progress h2 { margin: 4px 0 7px; font-size: 25px; line-height: 1.08; }
.materials-factory-progress__copy h2 { margin: 2px 0 4px; font-size: 17px; }
.materials-factory-progress__copy > p:last-child { max-width: 610px; margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.materials-factory-progress__status progress { display: block; width: 100%; height: 8px; overflow: hidden; border: 0; border-radius: 999px; background: #d8e1d5; color: var(--green); }
.materials-factory-progress__status progress::-webkit-progress-bar { border-radius: 999px; background: #d8e1d5; }
.materials-factory-progress__status progress::-webkit-progress-value { border-radius: 999px; background: var(--green); }
.materials-factory-progress__status progress::-moz-progress-bar { border-radius: 999px; background: var(--green); }
.materials-factory-progress__status > div { display: flex; flex-wrap: wrap; gap: 6px 13px; margin-top: 9px; color: var(--muted); font-size: 9.5px; }
.materials-factory-progress__status strong { color: var(--ink); }
/* Автопилот: предложение и его состояния. Тон спокойнее, чем у прогресса
   запуска — это не работа в процессе, а настройка подписки. */
.materials-autopilot { display: flex; flex-wrap: wrap; gap: 18px; align-items: end; justify-content: space-between; margin-top: 22px; padding: 20px 22px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); }
.materials-autopilot h2 { margin: 4px 0 7px; font-size: 22px; line-height: 1.1; }
.materials-autopilot__copy > p:last-child { max-width: 610px; margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.materials-autopilot--paused { border-color: #d8c39a; background: #fbf5e9; }
.materials-autopilot__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.materials-library { margin-top: 38px; }
.materials-library__head { display: flex; flex-wrap: wrap; gap: 18px; align-items: end; justify-content: space-between; margin-bottom: 13px; }
.materials-library__head h2 { margin: 0; font-size: 29px; line-height: 1; }
.materials-filters { display: flex; flex-wrap: wrap; gap: 5px; }
.materials-filters a { display: inline-flex; min-height: 36px; padding: 7px 12px; align-items: center; border: 1px solid transparent; border-radius: 999px; color: var(--muted); font-size: 11px; font-weight: 800; text-decoration: none; }
.materials-filters a:hover { border-color: var(--line); color: var(--ink); }
.materials-filters a.is-active { border-color: #a9bca9; background: var(--green-soft); color: var(--green); }
.materials-list { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.materials-row + .materials-row { border-top: 1px solid var(--line); }
/* Кнопка живёт вне ссылки строки: вложенная кнопка в <a> невалидна. */
.materials-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.materials-row__slot { margin: 0; padding-right: 14px; }
.materials-group__go { display: inline-flex; align-items: center; min-height: 30px; margin-left: auto; padding: 0 12px; border: 1px solid var(--green); border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 12px; font-weight: 800; text-decoration: none; }
.materials-group__go:hover { background: var(--green); color: #fff; }
.materials-row--slot .materials-row__main { grid-template-columns: 44px minmax(0, 1fr) 116px 92px 118px; }
.materials-row__slot .materials-button { white-space: nowrap; }
@media (max-width: 1180px) {
  .materials-row { grid-template-columns: minmax(0, 1fr); }
  .materials-row__slot { padding: 0 14px 12px; }
  .materials-row__slot .materials-button { justify-content: center; width: 100%; }
}
.materials-row__main { display: grid; grid-template-columns: 44px minmax(0, 1fr) 132px 96px 128px 86px; gap: 14px; align-items: center; min-height: 62px; padding: 9px 14px; color: var(--ink); text-decoration: none; transition: background .13s ease; }
.materials-row__main:hover { background: var(--hover); }
/* Миниатюра обложки: пока визуала нет — стабильная цветная плашка, а не серый прямоугольник. */
.materials-cover { position: relative; overflow: hidden; width: 44px; height: 44px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgb(18 25 21 / 9%); }
.materials-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.materials-cover--tone0 { background: linear-gradient(150deg, #1d4a34, #357451); }
.materials-cover--tone1 { background: linear-gradient(150deg, #efe1cb, #e2cfae); }
.materials-cover--tone2 { background: linear-gradient(150deg, #7d3b28, #a8543a); }
.materials-cover--tone3 { background: linear-gradient(150deg, #dde6e1, #c4d2cb); }
.materials-cover.is-working { background: repeating-linear-gradient(135deg, #ece8da 0 6px, #e0dbcb 6px 12px); }

/* Заголовок группы в библиотеке и блок действий в верхней полосе. */
.materials-group { display: flex; gap: 9px; align-items: baseline; margin: 20px 2px 8px; }
.materials-group b { font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.materials-group span { color: var(--muted); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.materials-group:first-of-type { margin-top: 8px; }
.app-top__actions { display: flex; gap: 8px; align-items: center; }
.app-top__actions .materials-button { min-height: 34px; padding: 0 13px; }

/* Сегменты фильтров, поиск и плотная строка библиотеки — язык направления B. */
.segs { display: inline-flex; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: var(--raised); }
.segs a { display: inline-flex; gap: 6px; min-height: 30px; align-items: center; padding: 0 11px; border-radius: 7px; color: var(--muted); font-size: 12px; font-weight: 800; text-decoration: none; transition: background .12s ease, color .12s ease; }
.segs a:hover { color: var(--ink); }
.segs a.is-on { background: var(--nav); color: #f1f4ec; }
.segs em { font-style: normal; opacity: .6; font-variant-numeric: tabular-nums; }
.materials-bar { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; margin-top: 22px; }
.materials-bar__note { margin: 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.materials-bar__note a { color: var(--green); }
.materials-bar__note b { color: var(--ink); font-weight: 800; }
.app-search input { min-width: 210px; height: 34px; min-height: 34px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--raised); font-size: 12px; font-weight: 600; }
.materials-row__next { color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.materials-row__date em { display: block; color: var(--muted); font-size: 11px; font-style: normal; font-weight: 700; }
.materials-row__go { justify-self: end; color: var(--green); font-size: 12px; font-weight: 800; opacity: 0; transition: opacity .13s ease; }
.materials-row__main:hover .materials-row__go { opacity: 1; }
.visually-hidden { position: absolute; overflow: hidden; clip-path: inset(50%); width: 1px; height: 1px; white-space: nowrap; }
@media (max-width: 1100px) {
  .materials-row__main { grid-template-columns: 44px minmax(0, 1fr) 116px; }
  .materials-row__next, .materials-row__date, .materials-row__go { display: none; }
}

.materials-row__copy { min-width: 0; }
.materials-row__copy strong { display: block; overflow: hidden; font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.materials-row__copy small { display: block; margin-top: 3px; color: var(--muted); font-size: 9.5px; }
.materials-row__next { display: block; margin-top: 7px; color: var(--green); font-size: 9.5px; font-weight: 800; }
.materials-row__date { color: var(--muted); font-size: 11px; font-weight: 700; }
.materials-status { display: inline-flex; width: max-content; flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; background: #eceee9; color: var(--muted); font-size: 11px; font-weight: 800; }
.materials-status.is-new { background: var(--green-soft); color: var(--green); }
.materials-status.is-review { background: #f5ead7; color: #8a632a; }
.materials-status.is-ready { background: var(--green-soft); color: var(--green); }
.materials-status.is-planned { background: #e8eff0; color: #345e67; }
.materials-status.is-archived { background: var(--danger-soft); color: var(--danger); }
.materials-row__arrow { color: var(--green); font-size: 18px; }
.materials-row__archive-actions { display: flex; flex-wrap: wrap; gap: 6px 10px; padding: 0 16px 13px; }
.materials-row__archive-actions form { display: block; margin: 0; }
.materials-row__retry { display: flex; gap: 12px; align-items: center; justify-content: flex-end; padding: 0 52px 12px 16px; color: var(--danger); font-size: 9.5px; }
.materials-row__retry form { display: block; margin: 0; }
.materials-link-action { min-height: 0 !important; margin: 0 !important; padding: 4px 0 !important; border: 0 !important; background: none !important; color: var(--green) !important; font-size: 11px !important; text-decoration: underline; text-underline-offset: 3px; }
.materials-link-action.is-danger { color: var(--danger) !important; }
.materials-library__note { margin: 10px 2px 0; color: var(--muted); font-size: 11px; }
.materials-empty { padding: 28px; border: 1px dashed var(--line-strong); border-radius: 12px; background: rgb(255 253 248 / 55%); }
.materials-empty h3 { margin: 0 0 6px; font-family: "Source Serif 4", Georgia, serif; font-size: 25px; }
.materials-empty p { max-width: 560px; margin: 0 0 16px; color: var(--ink-soft); font-size: 13px; }
.materials-empty--page { margin-top: 70px; border-style: solid; background: var(--surface); }
.materials-empty--page h1 { margin-bottom: 12px; }
.material-editor-top { display: flex; gap: 18px; align-items: center; justify-content: space-between; margin-top: 28px; color: var(--muted); font-size: 11px; font-weight: 700; }
.material-editor-top a { color: var(--green); text-decoration: none; }
.material-create-form { gap: 0; }
.material-editor-intro--new { align-items: start; }
.material-editor-form--new { display: grid; gap: 22px; }
.material-create-format { min-width: 0; margin: 0; padding: 0 0 22px; border: 0; border-bottom: 1px solid var(--line); }
.material-create-format legend { margin-bottom: 10px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.material-create-format .material-format-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.material-editor-fields--new { padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.material-editor-fields--new textarea { min-height: 300px; }
.material-create-assets { display: grid; grid-template-columns: minmax(180px, 230px) minmax(0, 1fr); gap: 24px; align-items: center; }
.material-create-assets h2 { margin: 3px 0 5px; font-size: 24px; }
.material-create-assets p:last-child { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.material-form-section { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 28px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.material-form-section__title h2 { font-size: 23px; line-height: 1.05; }
.material-form-section__title p:last-child { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.material-form-section__body { display: grid; gap: 7px; }
.material-form-section__body label { margin-top: 8px; font-size: 11px; }
.material-form-section__body label:first-child { margin-top: 0; }
.material-form-section__body textarea { min-height: 280px; background: var(--surface); }
.material-format-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.material-format-option { position: relative; display: block; margin: 0; }
.material-format-option input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; }
.material-format-option span { display: block; min-height: 112px; padding: 15px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--surface); cursor: pointer; }
.material-format-option input:checked + span { border-color: var(--green); background: var(--green-soft); box-shadow: inset 0 0 0 1px var(--green); }
.material-format-option input:focus-visible + span { outline: 2px solid var(--green); outline-offset: 2px; }
.material-format-option strong, .material-format-option small { display: block; }
.material-format-option strong { font-size: 11px; }
.material-format-option small { margin-top: 5px; color: var(--muted); font-size: 9.5px; line-height: 1.4; }
.material-form-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; margin-top: 20px; }
.material-form-actions form { display: block; margin: 0; }
.material-editor-intro { display: flex; gap: 28px; align-items: end; justify-content: space-between; margin-top: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.material-editor-intro h1 { max-width: 26ch; font-size: 25px; line-height: 1.16; }
.material-editor-intro__queue { padding: 3px 9px; border: 1px solid #cbdcc9; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 11px; font-weight: 800; }
.material-editor-intro__meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 9px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.material-editor-intro__meta .materials-status { margin: 0; }
.material-editor-form { margin-top: 24px; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.material-editor-fields { display: grid; gap: 7px; }
.material-editor-fields label { margin-top: 10px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.material-editor-fields label:first-of-type { margin-top: 0; }
.material-editor-fields textarea { min-height: 420px; }
.material-editor-fields select { min-height: 44px; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); font: inherit; }
.material-composer { margin-top: 24px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.material-composer__source { padding: 24px; }
.material-composer__section-head { display: flex; gap: 24px; align-items: start; justify-content: space-between; margin-bottom: 18px; }
.material-composer__section-head h2 { margin: 3px 0 0; font-size: 27px; }
.material-composer__section-head > span { max-width: 220px; color: var(--muted); font-size: 11px; line-height: 1.45; text-align: right; }
.material-composer__text-label { display: block; margin-bottom: 7px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.material-composer textarea { width: 100%; min-height: 285px; resize: vertical; }
.material-composer__fieldset { min-width: 0; margin: 22px 0 0; padding: 0; border: 0; }
.material-composer__fieldset legend { margin-bottom: 9px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.material-composer__choices { display: grid; gap: 9px; }
.material-composer__choices--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.material-composer__choices--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.material-composer__choices--visual { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.material-composer__choice { position: relative; display: block; min-width: 0; margin: 0; padding: 14px 15px; border: 1px solid var(--line); border-radius: 10px; background: #fdfcf8; cursor: pointer; }
.material-composer__choice:hover { border-color: #a9bca9; }
.material-composer__choice:has(input:checked) { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); background: var(--green-soft); }
.material-composer__choice:focus-within { outline: 2px solid var(--green); outline-offset: 2px; }
.material-composer__choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.material-composer__choice strong, .material-composer__choice small { display: block; }
.material-composer__choice strong { overflow-wrap: anywhere; font-size: 11px; }
.material-composer__choice small { margin-top: 4px; overflow-wrap: anywhere; color: var(--muted); font-size: 11px; line-height: 1.4; }
.material-composer__reveal { margin-top: 10px; }
.material-composer__reveal[hidden] { display: none; }
.material-composer__reveal .material-upload-drop { width: 100%; box-sizing: border-box; }
.material-composer__style { display: grid; grid-template-columns: minmax(180px, 260px) minmax(0, 1fr); gap: 5px 14px; align-items: center; padding: 13px 14px; border: 1px dashed #a9bca9; border-radius: 9px; background: var(--green-soft); }
.material-composer__style label { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.material-composer__style select { min-height: 42px; padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); font: inherit; }
.material-composer__style small { grid-column: 2; color: var(--muted); font-size: 8.5px; line-height: 1.4; }
.material-composer__current-assets { display: flex; gap: 14px; align-items: center; justify-content: space-between; margin-top: 10px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 9px; background: #fbfaf5; }
.material-composer__current-assets > span { color: var(--muted); font-size: 11px; font-weight: 800; }
.material-composer__current-assets > div { display: flex; gap: 7px; overflow-x: auto; }
.material-composer__current-assets img { width: 52px; height: 52px; flex: 0 0 auto; border-radius: 7px; object-fit: cover; }
.material-composer__current-video { max-width: 150px; padding: 8px; overflow: hidden; border-radius: 7px; background: var(--green-soft); color: var(--green); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.material-composer__decisions { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 4px 24px 24px; border-top: 1px solid var(--line); background: #fbfaf5; }
.material-composer__footer { display: flex; gap: 24px; align-items: center; justify-content: space-between; padding: 17px 24px; border-top: 1px solid var(--line); background: #f1f5ed; }
.material-composer__footer p { max-width: 610px; margin: 0; color: var(--ink-soft); font-size: 9.5px; line-height: 1.5; }
.material-composer__footer > div { display: flex; flex: 0 0 auto; gap: 8px; }
.material-review { margin-top: 24px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.material-review__head { display: flex; gap: 20px; align-items: start; justify-content: space-between; padding: 22px 24px 16px; }
.material-review__head h2 { margin: 3px 0 0; font-size: 27px; }
.material-review__format { flex: 0 0 auto; padding: 7px 11px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 11px; font-weight: 800; }
.material-review__text { padding: 0 24px 24px; overflow-wrap: anywhere; color: var(--ink); font-size: 14px; line-height: 1.65; white-space: pre-wrap; }
.material-review__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; padding: 14px 24px; border-top: 1px solid var(--line); background: #fbfaf5; }
.material-copy-status { min-height: 1.4em; color: var(--green); font-size: 11px; font-weight: 700; }
.material-review__edit { border-top: 1px solid var(--line); background: #fbfaf5; }
.material-review__edit > summary { padding: 14px 24px; color: var(--green); font-size: 11px; font-weight: 800; cursor: pointer; }
.material-review__edit > .material-editor-form { margin: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: var(--surface); }
.material-review__edit .material-editor-fields > small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.material-review__progress { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.material-review__progress span { padding: 10px 12px; border-left: 1px solid var(--line); color: var(--muted); font-size: 11px; font-weight: 800; text-align: center; }
.material-review__progress span:first-child { border-left: 0; }
.material-review__progress span.is-current { background: var(--green-soft); color: var(--green); }
.material-review__progress span.is-done { color: var(--green); }
.material-review__back { display: inline-block; margin-top: 10px; color: var(--green); font-size: 9.5px; font-weight: 800; text-decoration: none; }
.material-assets { margin-top: 18px; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.material-assets__head { display: flex; gap: 24px; align-items: start; justify-content: space-between; }
.material-assets__head h2 { margin: 3px 0 5px; font-size: 25px; }
.material-assets__head p:last-child { max-width: 650px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.material-assets__count { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; background: #eceee9; color: var(--muted); font-size: 11px; font-weight: 800; }
.material-assets__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.material-asset-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fbfaf5; }
.material-asset-card__preview { position: relative; display: grid; place-items: center; overflow: hidden; aspect-ratio: 4 / 3; background: #e8ebe5; }
.material-asset-card__preview img, .material-asset-card__preview video { display: block; width: 100%; height: 100%; object-fit: cover; }
.material-asset-card__preview video { background: #202521; }
.material-asset-card__hero { position: absolute; top: 9px; left: 9px; padding: 5px 7px; border-radius: 999px; background: rgb(28 88 58 / 90%); color: #fff; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.material-asset-card__video-label { position: absolute; right: 9px; bottom: 9px; padding: 5px 7px; border-radius: 6px; background: rgb(22 28 24 / 78%); color: #fff; font-size: 8px; font-weight: 700; }
.material-asset-card__body { padding: 11px; }
.material-asset-card__body > strong { display: block; overflow: hidden; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.material-asset-card__body > small { display: block; margin-top: 3px; color: var(--muted); font-size: 8.5px; }
.material-asset-card__actions { display: flex; flex-wrap: wrap; gap: 5px 10px; align-items: center; margin-top: 10px; }
.material-asset-card__actions form { display: block; margin: 0; }
.material-asset-card__actions a, .material-asset-card__actions button { width: auto; min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: var(--green); font: inherit; font-size: 8.5px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.material-asset-card__actions button:hover { background: none; color: var(--green-dark); transform: none; }
.material-asset-card__actions .is-danger { color: var(--danger); }
.material-assets__empty { display: grid; gap: 4px; margin-top: 18px; padding: 18px; border: 1px dashed var(--line-strong); border-radius: 9px; color: var(--ink-soft); }
.material-assets__empty strong { font-size: 11px; }
.material-assets__empty span { color: var(--muted); font-size: 9.5px; }
.material-upload-form { display: flex; gap: 9px; align-items: stretch; margin-top: 12px; }
.material-upload-drop { display: flex; flex: 1; gap: 11px; align-items: center; min-width: 0; margin: 0; padding: 12px 14px; border: 1px dashed #a9bca9; border-radius: 9px; background: var(--green-soft); cursor: pointer; }
.material-upload-drop:hover { border-color: var(--green); }
.material-upload-drop input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; }
.material-upload-drop input:focus-visible + .material-upload-drop__icon { outline: 2px solid var(--green); outline-offset: 3px; }
.material-upload-drop__icon { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--surface); color: var(--green); font-size: 18px; }
.material-upload-drop strong, .material-upload-drop small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.material-upload-drop strong { color: var(--ink); font-size: 10.5px; }
.material-upload-drop small { max-width: 540px; margin-top: 3px; color: var(--muted); font-size: 8.5px; }
.material-upload-form > .materials-button { flex: 0 0 auto; }
.material-assets__locked { margin: 14px 0 0; padding: 10px 12px; border-radius: 8px; background: #f1f1eb; color: var(--muted); font-size: 9.5px; line-height: 1.5; }
.material-factory { margin-top: 18px; padding: 19px 22px; border: 1px solid #cbd5c4; border-radius: 12px; background: #f1f5ed; }
.material-factory__head { display: flex; gap: 20px; align-items: start; justify-content: space-between; }
.material-factory__head h2 { margin: 2px 0 4px; font-size: 22px; }
.material-factory__head p:last-child { max-width: 650px; margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.material-factory__status { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; background: #e2e8de; color: var(--green); font-size: 8.5px; font-weight: 800; }
.material-factory__status.is-failed { background: var(--danger-soft); color: var(--danger); }
.material-factory__status.is-stale, .material-factory__status.is-cancelled { background: #f5ead7; color: #8a632a; }
.material-factory__action { display: block; margin-top: 14px; }
.material-factory__progress { display: flex; gap: 10px; align-items: center; margin-top: 14px; padding-top: 13px; border-top: 1px solid #d5ded0; }
.material-factory__progress > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.material-factory__progress strong { font-size: 10.5px; }
.material-factory__progress small { color: var(--muted); font-size: 8.5px; }
.material-factory__progress form { margin: 0 0 0 auto; }
.material-factory__spinner { width: 15px; height: 15px; flex: 0 0 auto; border: 2px solid #bdd0bd; border-top-color: var(--green); border-radius: 50%; animation: material-spin .8s linear infinite; }
@keyframes material-spin { to { transform: rotate(360deg); } }
.material-factory__result { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 14px 18px; align-items: center; margin-top: 14px; padding-top: 14px; border-top: 1px solid #d5ded0; }
.material-factory__result > div { display: grid; gap: 2px; }
.material-factory__result > div span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.material-factory__result > div strong { font-family: "Source Serif 4", Georgia, serif; font-size: 21px; }
.material-factory__result > p { margin: 0; color: var(--ink-soft); font-size: 10.5px; line-height: 1.5; }
.material-factory__result > ul { grid-column: 2 / -1; margin: -5px 0 0; padding-left: 16px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.material-factory__result form { margin: 0; }
.material-factory__applied { color: var(--green) !important; font-weight: 800; }
.material-factory__message { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin-top: 14px; padding-top: 13px; border-top: 1px solid #d5ded0; color: var(--ink-soft); font-size: 11px; }
.material-factory__message > div { display: grid; gap: 3px; }
.material-factory__message > div span { color: var(--muted); }
.material-factory__message form { flex: 0 0 auto; margin: 0; }
.material-factory__message.is-error strong { color: var(--danger); }
.material-draft { background: var(--surface); }
.material-draft__start { display: flex; gap: 12px; align-items: center; }
.material-draft__start form { margin: 0; }
.material-draft__start > small { max-width: 520px; color: var(--muted); font-size: 8.5px; line-height: 1.45; }
.material-draft__preview { display: grid; gap: 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #d5ded0; }
.material-draft__preview-head { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 10px 14px; align-items: baseline; }
.material-draft__preview-head > span { padding: 5px 7px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 8px; font-weight: 800; text-align: center; text-transform: uppercase; }
.material-draft__preview-head h3 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: 22px; line-height: 1.1; }
.material-draft__slides { display: flex; gap: 8px; overflow-x: auto; padding: 2px 1px 8px; scroll-snap-type: x proximity; }
.material-draft__slide { position: relative; display: flex; width: 188px; min-height: 170px; flex: 0 0 188px; flex-direction: column; gap: 6px; overflow: hidden; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #fbfaf5; scroll-snap-align: start; }
.material-draft__slide > span { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid #b9cbb7; border-radius: 50%; color: var(--green); font-size: 11px; font-weight: 800; }
.material-draft__slide small { color: var(--green); font-size: 7.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.material-draft__slide strong { font-family: "Source Serif 4", Georgia, serif; font-size: 17px; line-height: 1.08; }
.material-draft__slide p { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.45; }
.material-draft__slide em { margin-top: auto; color: var(--green); font-size: 8.5px; font-style: normal; font-weight: 800; }
.material-draft__text { display: grid; grid-template-columns: 135px minmax(0, 1fr); gap: 14px; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.material-draft__text > span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.material-draft__text p { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: 10.5px; line-height: 1.6; white-space: pre-line; }
.material-draft__questions { padding: 12px 14px; border-radius: 8px; background: #f8eedc; color: #6f552b; font-size: 11px; }
.material-draft__questions ul { margin: 6px 0 0; padding-left: 16px; line-height: 1.5; }
.material-draft__actions { display: flex; gap: 12px; align-items: center; }
.material-draft__actions form { margin: 0; }
.material-draft__actions > span { color: var(--muted); font-size: 8.5px; }
.material-draft__visual-launch { display: grid; width: min(100%, 620px); grid-template-columns: minmax(210px, 300px) auto; gap: 6px 10px; align-items: end; }
.material-draft__visual-launch label { grid-column: 1; color: var(--muted); font-size: 8.5px; font-weight: 800; }
.material-draft__visual-launch select { grid-column: 1; min-height: 42px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 8px; background: #fffdf8; color: var(--ink); font: inherit; }
.material-draft__visual-launch .materials-button { grid-column: 2; grid-row: 2; }
.material-draft__visual-launch small { grid-column: 1 / -1; max-width: 560px; color: var(--muted); font-size: 8.5px; line-height: 1.45; }
.material-visual { background: #f7f4ec; }
.material-visual__start { display: grid; grid-template-columns: minmax(190px, 300px) auto; gap: 6px 10px; align-items: end; margin-top: 14px; padding-top: 14px; border-top: 1px solid #ddd7c9; }
.material-visual__start label, .material-visual__again label { grid-column: 1; color: var(--muted); font-size: 8.5px; font-weight: 800; }
.material-visual__start select { grid-column: 1; }
.material-visual__start .materials-button { grid-column: 2; grid-row: 2; }
.material-visual__preview { display: grid; gap: 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #ddd7c9; }
.material-visual__preview-head { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.material-visual__preview-head span { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.material-visual__preview-head strong { color: var(--muted); font-size: 11px; }
.material-visual__preview-meta { display: flex; gap: 10px; align-items: center; }
.material-visual__zip { min-height: 34px; padding: 7px 11px; font-size: 11px; }
.material-visual__cover-wrap { display: grid; width: min(100%, 360px); gap: 7px; }
.material-visual__cover { display: block; width: min(100%, 360px); height: auto; border: 1px solid var(--line); border-radius: 10px; background: #e9e6dc; box-shadow: 0 12px 30px rgb(31 49 38 / 9%); }
.material-visual__cover-open { position: relative; display: block; width: 100%; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 10px; background: transparent; cursor: zoom-in; }
.material-visual__cover-open:hover { transform: none; }
.material-visual__cover-open:focus-visible { outline: 3px solid rgb(30 96 63 / 24%); outline-offset: 3px; }
.material-visual__cover-open > span { position: absolute; right: 10px; bottom: 10px; padding: 7px 10px; border-radius: 999px; background: rgb(255 253 248 / 90%); color: var(--green); font-size: 8.5px; font-weight: 800; box-shadow: 0 4px 14px rgb(23 36 29 / 12%); }
.material-visual__cover-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 7px; align-items: start; }
.material-visual__slides { display: flex; gap: 9px; overflow-x: auto; padding: 2px 1px 10px; scroll-snap-type: x proximity; }
.material-visual__slides figure { display: grid; width: 210px; flex: 0 0 210px; gap: 7px; align-content: start; margin: 0; scroll-snap-align: start; }
.material-visual__slide-image { position: relative; }
.material-visual__slide-open { display: block; width: 100%; margin: 0; padding: 0; border: 0; border-radius: 9px; background: transparent; cursor: zoom-in; }
.material-visual__slide-open:hover { transform: none; }
.material-visual__slide-open:focus-visible { outline: 3px solid rgb(30 96 63 / 24%); outline-offset: 3px; }
.material-visual__slides img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 9px; background: #e9e6dc; }
.material-visual__slide-number { position: absolute; right: 8px; bottom: 8px; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: rgb(255 255 255 / 88%); color: var(--green); font-size: 11px; font-weight: 800; }
.material-visual__slide-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 7px; align-items: start; }
.material-visual__slide-download { display: flex; min-height: 34px; align-items: center; justify-content: center; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); font-size: 8.5px; font-weight: 800; text-align: center; text-decoration: none; }
.material-visual__slide-download:hover { border-color: var(--green); color: var(--green); }
.material-visual__slide-menu { width: 100%; }
.material-visual__slide-menu summary { display: flex; min-height: 34px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: var(--ink); font-size: 11px; font-weight: 800; cursor: pointer; list-style: none; }
.material-visual__slide-menu summary::-webkit-details-marker { display: none; }
.material-visual__slide-menu summary::after { margin-left: 6px; content: "↓"; color: var(--green); }
.material-visual__slide-menu[open] summary { border-color: var(--green); color: var(--green); }
.material-visual__slide-menu-items { display: grid; gap: 2px; margin-top: 5px; padding: 5px; border: 1px solid var(--line); border-radius: 8px; background: #fffdf8; box-shadow: 0 10px 22px rgb(31 49 38 / 10%); }
.material-visual__slide-menu-items form { margin: 0; }
.material-visual__slide-menu-items a, .material-visual__slide-menu-items button { display: flex; width: 100%; min-height: 30px; align-items: center; justify-content: flex-start; padding: 6px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--ink); font: inherit; font-size: 8.5px; font-weight: 700; text-align: left; text-decoration: none; cursor: pointer; }
.material-visual__slide-menu-items a:hover, .material-visual__slide-menu-items button:hover { background: var(--green-soft); color: var(--green); }
.material-carousel-viewer { width: min(calc(100% - 28px), 980px); max-height: calc(100vh - 28px); padding: 0; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 14px; background: #f8f5ec; color: var(--ink); box-shadow: 0 26px 90px rgb(22 36 29 / 34%); }
.material-carousel-viewer::backdrop { background: rgb(16 25 21 / 68%); backdrop-filter: blur(3px); }
.material-carousel-viewer__head { display: flex; gap: 18px; align-items: center; justify-content: space-between; padding: 13px 16px; border-bottom: 1px solid var(--line); }
.material-carousel-viewer__head > div { display: flex; gap: 9px; align-items: baseline; }
.material-carousel-viewer__head span { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.material-carousel-viewer__head strong { font-size: 11px; }
.material-carousel-viewer__head button { display: grid; width: 34px; min-height: 34px; margin: 0; padding: 0; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); font-size: 21px; line-height: 1; }
.material-carousel-viewer__body { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; gap: 13px; align-items: center; justify-items: center; min-height: 0; padding: 14px 16px; background: #25271f; }
.material-carousel-viewer__body img { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 190px); border-radius: 9px; background: #e9e6dc; object-fit: contain; }
.material-carousel-viewer__nav { display: grid; width: 40px; min-height: 40px; margin: 0; padding: 0; place-items: center; border: 1px solid rgb(255 255 255 / 35%); border-radius: 50%; background: rgb(255 255 255 / 9%); color: white; font-size: 18px; }
.material-carousel-viewer__nav:hover { border-color: white; background: rgb(255 255 255 / 17%); color: white; transform: none; }
.material-carousel-viewer__foot { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 12px 16px; border-top: 1px solid var(--line); }
.material-carousel-viewer__foot p { max-width: 680px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.material-carousel-viewer__foot .materials-button { flex: 0 0 auto; }
.material-carousel-viewer--cover .material-carousel-viewer__body { grid-template-columns: minmax(0, 1fr); }
.material-visual__slide-editor { display: grid; gap: 14px; max-width: 720px; padding: 18px; border: 1px solid #b9ccb9; border-radius: 10px; background: var(--green-soft); }
.material-visual__slide-editor h3 { margin: 3px 0 0; font: 700 clamp(22px, 3vw, 30px)/1.05 Georgia, serif; }
.material-visual__slide-editor > p { max-width: 620px; margin: -4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.material-visual__slide-editor-form { display: grid; gap: 7px; }
.material-visual__slide-editor-form label { margin-top: 5px; color: var(--muted); font-size: 8.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.material-visual__slide-editor-form textarea, .material-visual__slide-editor-form input[type="text"], .material-visual__slide-editor-form input[type="file"] { width: 100%; border: 1px solid var(--line); border-radius: 8px; background: #fffdf8; color: var(--ink); font: inherit; }
.material-visual__slide-editor-form textarea { min-height: 62px; padding: 10px 12px; resize: vertical; }
.material-visual__slide-editor-form input[type="text"] { min-height: 42px; padding: 8px 11px; }
.material-visual__slide-editor-form input[type="file"] { padding: 10px; }
.material-visual__slide-editor-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 8px; }
.material-visual__warning { max-width: 680px; margin: 0; padding: 10px 12px; border-radius: 8px; background: #f7e9ce; color: #755522; font-size: 11px; line-height: 1.5; }
.material-visual__again { display: grid; grid-template-columns: minmax(190px, 280px) auto; gap: 6px 10px; align-items: end; margin-top: 12px; }
.material-visual__again select { grid-column: 1; }
.material-visual__again .materials-button { grid-column: 2; grid-row: 2; }
.material-publish-kit { display: flex; gap: 24px; align-items: center; justify-content: space-between; margin-top: 18px; padding: 20px 22px; border: 1px solid #b9ccb9; border-radius: 12px; background: #f7f4ec; }
.material-publish-kit h2 { margin: 4px 0 5px; font-size: 25px; }
.material-publish-kit p:last-child { max-width: 560px; margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.material-publish-kit__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.material-publish-kit__actions .material-copy-status { flex-basis: 100%; text-align: right; }
.material-next-step { display: flex; gap: 24px; align-items: center; justify-content: space-between; margin-top: 18px; padding: 20px 22px; border: 1px solid #bdd0bd; border-radius: 12px; background: #eff7ed; }
.material-next-step h2 { margin-bottom: 5px; font-size: 23px; }
.material-next-step p:last-child { margin: 0; color: var(--ink-soft); font-size: 11px; }
.material-next-step__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; justify-content: flex-end; }
.material-next-step__actions form { display: block; margin: 0; }
.material-plan-form { display: flex !important; gap: 7px; align-items: end; }
.material-plan-form label { display: grid; gap: 4px; margin: 0; color: var(--muted); font-size: 11px; font-weight: 800; }
.material-plan-form input { width: 150px; min-height: 42px; }
.material-danger-zone { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.material-danger-zone summary { width: max-content; color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 800; }
.material-danger-zone form { display: block; margin-top: 8px; }
.material-archive-card { margin-top: 26px; padding: 26px; border: 1px solid #dec0ba; border-radius: 12px; background: var(--surface); }
.material-archive-card h2 { font-size: 28px; }
.material-archive-card > p:last-of-type { max-width: 620px; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }

@media (max-width: 980px) {
  .material-composer__decisions { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 760px) {
  .materials-intro, .material-editor-intro, .material-publish-kit, .material-next-step { display: block; }
  .materials-factory-progress { grid-template-columns: 1fr; gap: 17px; padding: 17px; }
  .materials-factory-progress h2 { font-size: 22px; }
  .materials-intro__actions, .material-publish-kit__actions, .material-next-step__actions { justify-content: flex-start; margin-top: 18px; }
  .material-publish-kit__actions .material-copy-status { text-align: left; }
  .materials-intro__actions .materials-button { flex: 1; }
  .materials-library__head { display: block; }
  .materials-filters { margin-top: 14px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  .materials-filters a { flex: 0 0 auto; }
  .materials-row__main { grid-template-columns: minmax(0, 1fr) auto 16px; gap: 9px; min-height: 68px; padding: 11px 13px; }
  .materials-row__date { display: none; }
  .materials-row__copy strong { white-space: normal; }
  .material-form-section { grid-template-columns: 1fr; gap: 14px; }
  .material-format-options { grid-template-columns: 1fr; }
  .material-create-format .material-format-options { grid-template-columns: 1fr; }
  .material-format-option span { min-height: 0; }
  .material-editor-intro .materials-status { margin-top: 14px; }
  .material-editor-form { padding: 16px; }
  .material-editor-fields textarea { min-height: 320px; }
  .material-create-assets { grid-template-columns: 1fr; gap: 12px; }
  .material-assets { padding: 16px; }
  .material-assets__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .material-upload-form { display: grid; }
  .material-upload-form > .materials-button { width: 100%; }
  .material-factory__result { grid-template-columns: 1fr; }
  .material-factory__result > ul { grid-column: auto; margin-top: 0; }
  .material-factory__result form .materials-button { width: 100%; }
  .material-draft__text { grid-template-columns: 1fr; gap: 6px; }
  .material-draft__actions { align-items: stretch; flex-direction: column; }
  .material-draft__actions form, .material-draft__actions .materials-button { width: 100%; }
  .material-draft__visual-launch { grid-template-columns: 1fr; }
  .material-draft__visual-launch .materials-button { grid-column: 1; grid-row: auto; }
  .material-draft__visual-launch small { grid-column: 1; }
  .material-visual__start, .material-visual__again { grid-template-columns: 1fr; }
  .material-visual__start .materials-button, .material-visual__again .materials-button { grid-column: 1; grid-row: auto; width: 100%; }
  .material-form-actions { justify-content: stretch; }
  .material-form-actions .materials-button, .material-form-actions form, .material-form-actions form .materials-button { width: 100%; }
  .material-plan-form { display: grid !important; width: 100%; }
  .material-plan-form input { width: 100%; }
  .material-composer__section-head, .material-composer__footer { align-items: stretch; flex-direction: column; }
  .material-composer__section-head > span { max-width: none; text-align: left; }
  .material-composer__choices--three, .material-composer__choices--two, .material-composer__decisions { grid-template-columns: 1fr; }
  .material-composer__decisions { gap: 0; }
  .material-composer__footer > div { justify-content: flex-end; }
  .material-review__head { align-items: stretch; flex-direction: column; }
  .material-review__format { width: max-content; }
  .material-composer__current-assets { align-items: stretch; flex-direction: column; }
}

@media (max-width: 520px) {
  .material-assets__head { display: block; }
  .material-assets__count { margin-top: 10px; }
  .material-assets__grid { grid-template-columns: 1fr; }
  .material-factory__head, .material-factory__message { display: block; }
  .material-factory__status { margin-top: 10px; }
  .material-factory__message form { margin-top: 10px; }
  .material-factory__message form .materials-button { width: 100%; }
  .material-draft__start { align-items: stretch; flex-direction: column; }
  .material-draft__start .materials-button { width: 100%; }
  .material-draft__preview-head { grid-template-columns: 1fr; }
  .material-draft__preview-head > span { width: max-content; }
  .material-draft__slide { width: 78vw; flex-basis: 78vw; }
  .material-visual__slides figure { width: 76vw; flex-basis: 76vw; }
  .material-visual__preview-head, .material-visual__preview-meta { align-items: stretch; }
  .material-visual__preview-head { flex-direction: column; }
  .material-visual__preview-meta { justify-content: space-between; }
  .material-carousel-viewer__body { grid-template-columns: 34px minmax(0, 1fr) 34px; gap: 6px; padding: 9px 7px; }
  .material-carousel-viewer__nav { width: 32px; min-height: 32px; }
  .material-carousel-viewer__foot { align-items: stretch; flex-direction: column; }
  .material-carousel-viewer__foot .materials-button { width: 100%; }
  .material-composer__source, .material-composer__decisions { padding-right: 16px; padding-left: 16px; }
  .material-composer__footer { padding: 16px; }
  .material-composer__footer > div { display: grid; grid-template-columns: 1fr; }
  .material-composer__style { grid-template-columns: 1fr; }
  .material-composer__style small { grid-column: auto; }
  .material-review__head, .material-review__text { padding-right: 16px; padding-left: 16px; }
  .material-review__actions { padding-right: 16px; padding-left: 16px; }
  .material-review__actions .materials-button { width: 100%; }
  .material-publish-kit__actions .materials-button { width: 100%; }
  .material-review__progress { grid-template-columns: 1fr; }
  .material-review__progress span { border-top: 1px solid var(--line); border-left: 0; }
  .material-review__progress span:first-child { border-top: 0; }
}

/* Календарь не сжимаем ради инспектора: на узком desktop инспектор уходит под него. */
@media (max-width: 1179px) {
  .command-grid, .plan-workspace { grid-template-columns: 1fr; }
  .inspector-wrap { position: static; top: auto; }
}
@media (max-width: 760px) {
  .next-post { display: block; }
  .next-post__date { display: flex; align-items: baseline; gap: 8px; min-width: 0; padding: 14px 20px; border-right: 0; border-bottom: 1px solid var(--line); text-align: left; }
  .next-post__date b { font-size: 30px; }
  .decision { grid-template-columns: 30px minmax(0, 1fr); }
  .decision__action { grid-column: 2; width: max-content; }
}
@media (min-width: 761px) and (max-width: 1020px) {
  /* На планшете шапка страницы складывается в колонку: кнопки перестают наезжать на подзаголовок. */
  .materials-intro, .material-editor-intro, .plan-intro__heading, .materials-library__head { align-items: start; flex-direction: column; gap: 16px; }
  .materials-intro__actions { justify-content: flex-start; }
}
@media (min-width: 761px) and (max-width: 900px) {
  .landing-hero { grid-template-columns: 1fr; gap: 40px; }
  .landing-hero--single { padding: 60px 0 6px; }
  .landing-demo__flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-demo__flow li { padding: 20px 18px 22px; border-left: 1px solid var(--line); }
  .landing-demo__flow li:nth-child(2n+1) { border-left: 0; padding-left: 0; }
  .landing-v2-hero { grid-template-columns: 1fr; gap: 62px; padding-top: 80px; }
  .landing-v2-kit { max-width: 620px; }
  .landing-v2-promise { gap: 17px; }
  .landing-v2-how { gap: 55px; }
  .landing-v2-result__heading { gap: 40px; }
}
@media (max-width: 760px) {
  .landing-shell, .preview-shell { width: min(100% - 32px, 700px); }
  .landing-hero { grid-template-columns: 1fr; gap: 36px; }
  .landing-hero--single { min-height: auto; margin: 0; padding: 50px 0 34px; }
  .landing-hero h1 { font-size: clamp(43px, 10vw, 62px); }
  .landing-form { grid-template-columns: 1fr; gap: 24px; padding: 29px 25px 25px; }
  .landing-form__note { grid-column: auto; }
  .landing-result, .landing-process, .landing-control, .landing-audience { grid-template-columns: 1fr; gap: 30px; margin-top: 68px; }
  .landing-demo { margin-top: 68px; }
  .landing-demo__flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-demo__flow li { padding: 20px 18px 22px; border-left: 1px solid var(--line); }
  .landing-demo__flow li:nth-child(2n+1) { border-left: 0; padding-left: 0; }
  .landing-process { padding: 30px 25px; }
  .landing-final { margin-top: 68px; }
  .preview-state { margin: 84px 0; }
  .preview-hero { display: grid; gap: 18px; align-items: start; margin: 64px 0 42px; }
  .preview-flow { margin-top: 40px; }
  .preview-hero .preview-source { max-width: 100%; }
  .preview-profile__facts { grid-template-columns: 1fr; gap: 16px; }
  .preview-profile__facts article, .preview-profile__facts article:first-child { min-height: 0; padding: 0 0 16px; border: 0; border-bottom: 1px solid var(--line); }
  .preview-profile__facts article:last-child { padding-bottom: 0; border-bottom: 0; }
  .preview-clarity { grid-template-columns: 1fr; gap: 7px; }
  .preview-opportunities, .preview-priority { grid-template-columns: 1fr; gap: 24px; margin-top: 48px; }
  .preview-idea, .preview-source-upgrade { grid-template-columns: 1fr; gap: 26px; margin-top: 48px; }
  .preview-cta { grid-template-columns: 1fr; gap: 24px; margin-top: 52px; padding: 26px; }
  .preview-stage-actions { align-items: flex-start; flex-direction: column-reverse; gap: 16px; }
  .app-shell { display: block; }
  .app-sidebar { border-right: 0; }
  .app-sidebar__inner { flex-flow: row wrap; position: static; align-items: center; height: auto; padding: 18px 16px 0; }
  .app-sidebar .brand { flex: 1 0 100%; margin: 0 4px 4px; }
  /* Края навигации затемняются только когда есть что доскроллить. */
  .app-nav { display: flex; flex: 1 1 180px; gap: 4px; min-width: 0; margin: 16px -4px 0; overflow-x: auto; padding-bottom: 12px;
    background:
      linear-gradient(90deg, var(--nav) 45%, rgb(245 243 236 / 0%)) left / 28px 100% no-repeat local,
      linear-gradient(270deg, var(--nav) 45%, rgb(245 243 236 / 0%)) right / 28px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%, rgb(24 34 29 / 18%), rgb(24 34 29 / 0%)) left / 14px 100% no-repeat scroll,
      radial-gradient(farthest-side at 100% 50%, rgb(24 34 29 / 18%), rgb(24 34 29 / 0%)) right / 14px 100% no-repeat scroll; }
  /* На тач-экранах цели пальца не меньше 44px. */
  .app-nav__link { display: inline-flex; flex: 0 0 auto; min-height: 44px; align-items: center; }
  .materials-filters a { min-height: 44px; padding: 0 14px; }
  .materials-link-action { min-height: 44px !important; padding: 12px 0 !important; }
  .app-topline__link { display: inline-flex; min-height: 40px; align-items: center; }
  /* Настройки остаются доступны с телефона: имя пространства уже есть в хлебных крошках. */
  .sidebar-account { display: block; flex: 0 0 auto; margin: 16px 0 0 8px; padding: 0 0 12px 10px; border-top: 0; border-left: 1px solid var(--nav-line); }
  .sidebar-account__biz { display: none; }
  .sidebar-account__link { display: inline-flex; align-items: center; min-height: 44px; }
  .landing-shell--v2 { width: min(100% - 36px, 620px); }
  .landing-shell--v2 .public-header { min-height: 70px; }
  .landing-v2-hero { grid-template-columns: 1fr; gap: 62px; padding: 58px 0 64px; }
  .landing-v2-hero h1 { font-size: clamp(44px, 10vw, 62px); }
  .landing-v2-promise { grid-template-columns: 1fr 1fr; gap: 16px 22px; }
  .landing-v2-promise > p { grid-column: 1 / -1; max-width: none; }
  .landing-v2-how, .landing-v2-result__heading { grid-template-columns: 1fr; }
  .landing-v2-how { gap: 36px; padding: 86px 0; }
  .landing-v2-result { padding: 85px 0; }
  .landing-v2-deliverable { grid-template-columns: 1fr; }
  .landing-v2-deliverable > aside { gap: 40px; border-top: 1px solid var(--line); border-left: 0; }
  .landing-v2-how li { grid-template-columns: 42px minmax(0, 1fr); gap: 15px; }
  .landing-v2-how li small { grid-column: 2; padding-top: 0; }
  .app-top { padding: 10px 16px; }
  .app-work, .app-work--reading { width: 100%; max-width: none; margin: 0; padding: 18px 16px 64px; }
  .section-tabs { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; width: 100%; margin-bottom: 18px; }
  .section-tabs__link { min-width: 0; padding-inline: 10px; text-align: center; }
  .app-main .intro { margin-top: 26px; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-main .dashboard-intro { margin-top: 30px; }
  .next-action { display: grid; gap: 18px; align-items: start; }
  .next-action__control { padding: 0; }
  .plan-intro__heading { display: grid; align-items: start; }
  .plan-add-button { width: max-content; }
  .plan-ready { display: grid; gap: 18px; align-items: start; }
  .draft-workspace__body { grid-template-columns: 1fr; }
  .draft-preview { max-width: 620px; }
  .image-panel__heading { align-items: start; flex-direction: column; gap: 8px; }
}
@media (max-width: 520px) {
  .landing-shell, .preview-shell { width: min(100% - 24px, 700px); }
  .landing-hero--single { padding-top: 38px; }
  .landing-form__row { grid-template-columns: 1fr; }
  .landing-form__row button { width: 100%; }
  .landing-hero__form-row { grid-template-columns: 1fr; }
  .landing-hero__form-row button { width: 100%; }
  .landing-document { padding: 24px 21px; box-shadow: none; }
  .landing-document__title strong { font-size: 24px; }
  .landing-result, .landing-process, .landing-control, .landing-audience { gap: 24px; margin-top: 54px; }
  .landing-demo { margin-top: 54px; }
  .landing-demo__flow { grid-template-columns: 1fr; }
  .landing-demo__flow li, .landing-demo__flow li:nth-child(2n+1) { padding: 18px 0; border-left: 0; }
  .landing-section-heading h2, .landing-process__intro h2, .landing-control h2, .landing-audience h2, .landing-final h2 { font-size: 31px; }
  .landing-process { padding: 25px 23px; }
  .landing-final { grid-template-columns: 1fr; gap: 24px; margin-top: 54px; padding: 27px 23px; }
  .landing-final .secondary-button { width: 100%; }
  .landing-after h2, .preview-profile__heading h2, .preview-opportunities__heading h2, .preview-idea__title h2, .preview-cta h2 { font-size: 29px; }
  .preview-state { margin: 62px 0; }
  .preview-recovery-actions { align-items: stretch; flex-direction: column; gap: 15px; }
  .preview-recovery-actions .secondary-button { width: 100%; }
  .preview-retry-source__row { grid-template-columns: 1fr; }
  .preview-retry-source__row button { width: 100%; }
  .preview-hero h1 { font-size: 42px; }
  .preview-profile__heading { display: block; }
  .preview-profile__heading h2 { margin-top: 8px; }
  .preview-idea { padding: 23px; }
  .preview-source-upgrade, .preview-cta { margin-left: -12px; margin-right: -12px; padding: 24px; }
  .preview-source-upgrade--stage { margin-left: 0; margin-right: 0; padding: 23px 0; }
  .preview-cta__form button { width: 100%; }
  .preview-source-upgrade__form button { width: 100%; }
  .preview-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .preview-flow__step { padding: 10px 8px; }
  .preview-flow__step:first-child { padding-left: 8px; }
  .dashboard-details { grid-template-columns: 1fr; }
  .biz-lower { grid-template-columns: 1fr; }
  .channel-head { flex-direction: column; }
  .today-list__item { grid-template-columns: 56px minmax(0, 1fr); gap: 10px; padding: 10px 0; }
  .today-list__kind { grid-column: 2; }
  .content-row { grid-template-columns: 82px minmax(0, 1fr); gap: 10px; padding: 12px 0; }
  .content-row__action { grid-column: 2; }
  .content-board { grid-template-columns: 1fr; }
  .content-stage { min-height: 145px; }
  .content-goal { align-items: start; flex-direction: column; gap: 12px; }
  .drafts-summary { flex-wrap: wrap; gap: 0; margin-bottom: 30px; }
  .drafts-summary > div { min-width: 33.333%; padding: 14px 10px; }
  .drafts-summary > div + div { padding-left: 10px; }
  .drafts-summary a { width: 100%; margin: 0; padding: 13px 0; border-top: 1px solid var(--line); }
  .draft-workspace { padding: 19px; }
  .draft-workspace__header { gap: 14px; }
  .draft-workspace__header h2 { font-size: 27px; }
  .draft-status { font-size: 11px; }
  .draft-editor textarea { min-height: 300px; }
  .image-option { align-items: start; flex-direction: column; }
  .settings-list > div { grid-template-columns: 1fr; gap: 4px; }
  .workflow { gap: 3px; }
  .workflow__step { font-size: 11px; }
  .workflow__step span { width: 23px; height: 23px; }
  .next-action { padding: 22px 0; }
  .next-action h2 { font-size: 28px; }
  .page-shell { width: min(100% - 24px, 700px); }
  .intro { margin-top: 56px; }
  .card { padding: 22px; }
  .landing-shell--v2 { width: calc(100% - 28px); }
  .landing-v2-lead-form, .landing-v2-closing__form { grid-template-columns: 1fr; }
  .landing-v2-lead-form button, .landing-v2-closing__form button { width: 100%; }
  .landing-v2-primary-cta { width: 100%; }
  .landing-v2-kit { padding: 18px; }
  .landing-v2-kit h2 { font-size: 29px; }
  .landing-v2-kit__list li { grid-template-columns: 30px minmax(0, 1fr); }
  .landing-v2-kit__list .landing-v2-status { grid-column: 2; justify-self: start; }
  .landing-v2-promise > div { font-size: 12px; }
  .landing-v2-deliverable > div, .landing-v2-deliverable > aside { padding: 26px 23px; }
  .landing-v2-footer { flex-direction: column; }
  .onboarding-shell { width: calc(100% - 28px); }
  .onboarding-hero { margin-top: 42px; }
  .onboarding-back { margin-bottom: 28px; }
  .onboarding-paths { grid-template-columns: 1fr; }
  .onboarding-path { min-height: 0; padding: 19px; }
  .onboarding-panel { grid-template-columns: 1fr; gap: 28px; padding: 27px 20px; }
  .onboarding-form > button[type="submit"] { width: 100%; }
}

/* Закрытая продуктовая аналитика первого комплекта. */
.analytics-intro { display: flex; gap: 32px; align-items: end; justify-content: space-between; margin-top: 38px; }
.analytics-intro h1 { margin-bottom: 10px; }
.analytics-intro .lede { max-width: 660px; margin: 0; }
.analytics-operations-link { margin: 14px 0 0; font-size: 12px; font-weight: 800; }
.analytics-periods { display: flex; flex: 0 0 auto; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 9px; background: #eeece5; }
.analytics-periods__link { padding: 8px 11px; border-radius: 6px; color: var(--muted); font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.analytics-periods__link:hover { color: var(--ink); }
.analytics-periods__link.is-current { background: var(--surface); color: var(--green); box-shadow: 0 1px 4px rgb(24 34 29 / 8%); }
.analytics-headline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 38px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--line); }
.analytics-headline article { display: grid; align-content: start; min-height: 166px; padding: 22px 24px; background: var(--surface); }
.analytics-headline span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.analytics-headline strong { margin-top: 18px; color: var(--green); font-family: "Source Serif 4", Georgia, serif; font-size: 43px; line-height: .95; letter-spacing: -.04em; }
.analytics-headline small { margin-top: 11px; color: var(--ink-soft); font-size: 12px; line-height: 1.4; }
.analytics-section { margin-top: 44px; }
.analytics-section__heading { display: flex; gap: 24px; align-items: end; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.analytics-section__heading .eyebrow { margin-bottom: 7px; }
.analytics-section__heading h2 { margin: 0; font-size: 27px; }
.analytics-section__heading > p { margin: 0 0 2px; color: var(--muted); font-size: 12px; }
.analytics-funnel { margin: 0; padding: 0; list-style: none; }
.analytics-funnel li { display: grid; grid-template-columns: 34px minmax(220px, 1fr) 72px 150px; gap: 16px; align-items: center; min-height: 78px; border-bottom: 1px solid var(--line); }
.analytics-funnel__number { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid #cad5cb; border-radius: 50%; color: var(--green); font-size: 12px; font-weight: 800; }
.analytics-funnel__copy { display: grid; gap: 4px; }
.analytics-funnel__copy strong { font-size: 14px; }
.analytics-funnel__copy small, .analytics-funnel__conversion { color: var(--muted); font-size: 11px; }
.analytics-funnel > li > b { font-family: "Source Serif 4", Georgia, serif; font-size: 27px; text-align: right; }
.analytics-funnel__conversion { text-align: right; }
.analytics-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px; }
.analytics-breakdown { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.analytics-breakdown--compact { grid-template-columns: 1fr; gap: 0; margin-top: 4px; }
.analytics-breakdown article { display: flex; gap: 14px; align-items: center; justify-content: space-between; min-height: 92px; padding: 17px 18px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.analytics-breakdown--compact article { min-height: 56px; padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.analytics-breakdown article div { display: grid; gap: 5px; }
.analytics-breakdown article strong { font-size: 13px; }
.analytics-breakdown article small { color: var(--muted); font-size: 11px; }
.analytics-breakdown article b { font-family: "Source Serif 4", Georgia, serif; font-size: 28px; }
.analytics-caption { margin: 10px 0 0; color: var(--muted); font-size: 11px; }
.analytics-route-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.analytics-route-grid article { display: grid; align-content: start; min-height: 128px; padding: 17px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.analytics-route-grid strong { color: var(--green); font-family: "Source Serif 4", Georgia, serif; font-size: 31px; line-height: 1; }
.analytics-route-grid span { margin-top: 12px; font-size: 12px; font-weight: 800; line-height: 1.3; }
.analytics-route-grid small { margin-top: 6px; color: var(--muted); font-size: 11px; }
.analytics-empty { margin-top: 42px; padding: 34px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.analytics-empty .eyebrow { margin-bottom: 8px; }
.analytics-empty h2 { margin-bottom: 8px; }
.analytics-empty p:last-child { max-width: 620px; margin: 0; color: var(--ink-soft); }
.analytics-privacy { margin: 42px 0 0; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.55; }

@media (max-width: 900px) {
  .analytics-route-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .analytics-columns { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 680px) {
  .billing-reservations article { grid-template-columns: 1fr; }
  .billing-reservations form button { width: 100%; }
  .analytics-intro { display: grid; align-items: start; }
  .analytics-periods { width: max-content; max-width: 100%; overflow-x: auto; }
  .analytics-headline { grid-template-columns: 1fr; }
  .analytics-headline article { min-height: 132px; }
  .analytics-funnel li { grid-template-columns: 32px minmax(0, 1fr) 48px; gap: 10px; padding: 14px 0; }
  .analytics-funnel__conversion { grid-column: 2 / -1; text-align: left; }
  .analytics-breakdown { grid-template-columns: 1fr; }
  .analytics-route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .plan-week__grid { grid-template-columns: 1fr; border-right: 1px solid var(--line); }
  .plan-day { min-height: 0; border-left: 0; }
  .plan-day__header { margin-bottom: 4px; }
  .plan-entry { max-width: 520px; }
  .plan-empty { margin-top: 14px; }
}

/* Four-step public content diagnosis. Keep the result editorial, but let each
   screen behave like a short, scannable consultation rather than a raw report. */
.preview-shell { width: min(100% - 64px, 1080px); }
.preview-hero--step { gap: 30px; margin: 62px 0 34px; }
.preview-hero h1 { max-width: 680px; font-size: clamp(43px, 5vw, 58px); }
.preview-hero--opportunity h1 { max-width: 640px; font-size: clamp(28px, 3vw, 38px); line-height: 1.08; }
.preview-hero .lede { max-width: 630px; font-size: 16px; line-height: 1.62; }
.preview-source--chip { width: max-content; max-width: 100%; margin: 0; padding: 9px 12px; border: 1px solid #cbdacf; border-radius: 999px; background: #edf4ed; color: var(--green); font-size: 12px; text-decoration: none; }
.preview-source--chip:hover { border-color: #9cbba3; color: var(--green-dark); }

.preview-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .66fr); gap: 32px; align-items: end; }
.preview-section-heading h2 { margin: 0; font-size: clamp(28px, 3vw, 36px); line-height: 1.05; }
.preview-section-heading > p { max-width: 380px; margin: 0 0 3px; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.preview-section-heading--compact { margin-bottom: 22px; }

.preview-overview { margin-top: 0; padding: 30px; border: 1px solid var(--line); border-top: 3px solid var(--green); border-radius: 18px; background: var(--surface); }
.preview-prefill-note { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; margin: 20px 0 8px; padding: 16px 18px; border: 1px solid #c4d5c5; border-radius: 12px; background: #edf3eb; }
.preview-prefill-note > div:first-child { max-width: 650px; }
.preview-prefill-note strong { display: block; color: var(--green-dark); font-size: 14px; }
.preview-prefill-note p { margin: 4px 0 0; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }
.preview-prefill-note__sources { display: flex; flex-wrap: wrap; gap: 7px; }
.preview-prefill-note__sources a, .preview-prefill-note__sources span { padding: 6px 9px; border: 1px solid #b8cdb9; border-radius: 999px; color: var(--green); font-size: 11px; font-weight: 800; text-decoration: none; }
.preview-prefill-note__sources a:hover { border-color: var(--green); }
.preview-overview__sources { display: grid; gap: 28px; margin-top: 30px; }
.preview-overview__source + .preview-overview__source { padding-top: 28px; border-top: 1px solid var(--line); }
.preview-source-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.preview-platform-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 8px; border: 1px solid #cbdacf; border-radius: 999px; background: #edf4ed; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .075em; }
.preview-source-row .source-url { color: var(--ink-soft); font-size: 13px; font-weight: 700; text-decoration: none; }
.preview-source-row .source-url:hover { color: var(--green); text-decoration: underline; }
.preview-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.preview-stat-grid > div { display: grid; align-content: start; min-height: 94px; gap: 8px; padding: 16px; border: 1px solid #e0e3da; border-radius: 12px; background: #f6f6f0; }
.preview-stat-grid span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.preview-stat-grid strong { color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 22px; line-height: 1.1; letter-spacing: -.025em; }
.preview-stat-grid strong small { color: var(--ink-soft); font-family: "Manrope", "Segoe UI", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0; }
.preview-stat-grid strong .preview-stat-grid__phrase { display: block; color: var(--ink); font-size: 15px; line-height: 1.35; }
.preview-content-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.preview-content-group { padding: 20px; border: 1px solid #e0e3da; border-radius: 14px; background: #fafaf5; }
.preview-content-group h3 { margin: 0 0 14px; font-size: 14px; letter-spacing: -.015em; }
.preview-evidence-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.preview-evidence-list > li { padding: 12px 0; border-top: 1px solid var(--line); }
.preview-evidence-list > li:first-child { padding-top: 0; border-top: 0; }
.preview-evidence-list > li:last-child { padding-bottom: 0; }
.preview-evidence-list__main { display: flex; gap: 10px; align-items: baseline; justify-content: space-between; }
.preview-evidence-list__main strong { font-size: 14px; line-height: 1.35; }
.preview-evidence-list__main span { flex: 0 0 auto; color: var(--muted); font-size: 11px; white-space: nowrap; }
.preview-evidence { margin-top: 8px; }
.preview-evidence summary { width: max-content; max-width: 100%; color: var(--green); cursor: pointer; font-size: 12px; font-weight: 800; list-style: none; }
.preview-evidence summary::-webkit-details-marker { display: none; }
.preview-evidence summary::before { display: inline-block; width: 15px; content: "›"; font-size: 16px; line-height: 10px; transition: transform .16s ease; }
.preview-evidence[open] summary::before { transform: rotate(90deg); }
.preview-evidence ul { display: grid; gap: 9px; margin: 12px 0 0; padding: 0; list-style: none; }
.preview-evidence li { padding: 11px 12px; border-left: 2px solid #c8d9c9; background: #eef3ec; }
.preview-evidence p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.48; }
.preview-evidence a { display: inline-block; margin-top: 7px; color: var(--green); font-size: 12px; font-weight: 800; text-decoration: none; }
.preview-evidence a:hover { text-decoration: underline; }
.preview-empty-note { margin: 26px 0 0; padding: 18px 20px; border: 1px dashed #bdc9bd; border-radius: 12px; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }

.preview-response { display: grid; gap: 18px; }
.preview-response-source { padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.preview-hero--response { margin: 44px 0 26px; }
.preview-hero--response h1 { max-width: 840px; font-size: clamp(42px, 4.4vw, 56px); }
.preview-section-heading--response { display: block; margin-bottom: 20px; }
.preview-response-insight { margin-top: 18px; padding: 16px 20px; border: 1px solid #d1ddd0; border-radius: 12px; background: #f0f5ef; }
.preview-response-insight .eyebrow { margin-bottom: 6px; }
.preview-response-insight > p:last-child { max-width: 720px; margin: 0; color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 18px; font-weight: 700; line-height: 1.32; }
.preview-response-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin-top: 14px; }
.preview-response-card { display: flex; min-width: 0; flex-direction: column; padding: 20px; border: 1px solid #dbe3d9; border-radius: 14px; background: #fbfbf7; }
.preview-response-card.is-primary { border-color: #b8d1bd; border-top: 3px solid var(--green); background: #edf4ed; }
.preview-response-card.is-primary .preview-response-card__signal { color: #216947; }
.preview-response-card__signal { margin: 0; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.preview-response-card h3 { margin: 11px 0 0; color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 18px; line-height: 1.28; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.preview-response-card__summary { margin: 12px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.45; }
.preview-response-card__lift { margin: 10px 0 0; color: var(--green); font-size: 15px; line-height: 1.4; }
.preview-response-card__lift strong { font-weight: 800; font-size: 19px; }
.preview-format-badge { align-self: flex-start; display: inline-block; padding: 3px 9px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.preview-winner-metrics { display: flex; flex-wrap: wrap; gap: 16px 20px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #e4e9e0; }
.preview-winner-metrics b { display: block; font-family: "Source Serif 4", Georgia, serif; font-size: 22px; color: var(--ink); line-height: 1.1; }
.preview-winner-metrics span { font-size: 12px; color: var(--ink-soft); }
.preview-winner-link { margin-top: 14px; color: var(--green); font-size: 13px; font-weight: 700; text-decoration: none; }
.preview-winner-link:hover { text-decoration: underline; }
.preview-response-insight--why .eyebrow { margin-bottom: 8px; }
.preview-response-insight--why > p { max-width: 760px; margin: 0; color: #243027; font-family: inherit; font-size: 15px; font-weight: 400; line-height: 1.55; }
.preview-why-confirm { margin-top: 12px !important; font-weight: 700 !important; color: var(--green-dark) !important; }
.preview-why-fine { margin-top: 12px !important; font-size: 12.5px !important; color: #5c6a60 !important; font-style: italic; }
.preview-response-hook { margin-top: 18px; padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.preview-response-hook h2 { margin: 4px 0 0; font-size: 24px; }
.preview-response-hook > p:last-child { max-width: 620px; margin: 10px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.5; }
.preview-offtopic-note { margin: 14px 0 0; padding: 12px 16px; border-left: 3px solid var(--line-strong); background: #faf8f2; color: var(--ink-soft); font-size: 13.5px; line-height: 1.5; }
.preview-cabinet-tease { margin: 22px 0 0; padding: 13px 17px; border-left: 3px solid var(--green); border-radius: 0 8px 8px 0; background: var(--green-soft); color: var(--ink); font-size: 14px; line-height: 1.5; }
.preview-cabinet-tease b { color: var(--green-dark); }
.preview-goal__chips { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.preview-goal__chip { position: relative; display: flex; flex-direction: column; gap: 5px; padding: 20px; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--surface); cursor: pointer; }
.preview-goal__chip.is-recommended { border-color: #b8d1bd; background: var(--green-soft); }
.preview-goal__chip input { position: absolute; opacity: 0; pointer-events: none; }
.preview-goal__chip:has(input:checked) { border: 2px solid var(--green); padding: 19px; }
.preview-goal__chip-title { font-family: "Source Serif 4", Georgia, serif; font-size: 21px; color: var(--ink); }
.preview-goal__chip-desc { color: var(--ink-soft); font-size: 13.5px; line-height: 1.4; }
.preview-goal__form button { margin-top: 22px; }
.preview-goal-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 18px; }
.preview-goal-posts .preview-idea--stage { margin: 0; }
.preview-response-card__patterns { margin-top: 18px; padding-top: 15px; border-top: 1px solid #e0e3da; }
.preview-response-card__patterns > p, .preview-response-card__next > p { margin: 0; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.preview-response-card__patterns ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 9px 0 0; padding: 0; list-style: none; }
.preview-response-card__patterns li { padding: 5px 7px; border: 1px solid #d5dfd4; border-radius: 999px; color: var(--green); font-size: 11px; font-weight: 800; line-height: 1.25; }
.preview-response-card__next { margin-top: auto; padding-top: 18px; }
.preview-response-card__next strong { display: block; margin-top: 8px; color: var(--ink); font-size: 13px; line-height: 1.52; }
.preview-evidence--response { margin-top: 17px; padding-top: 14px; border-top: 1px solid #e0e3da; }
.preview-response-card__calculation { margin: 10px 0 0 !important; color: var(--ink-soft); font-size: 12px !important; line-height: 1.5 !important; }
.preview-response-analysis { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px; margin-top: 14px; }
.preview-response-analysis > section { padding: 18px; border: 1px solid #dbe3d9; border-radius: 12px; background: #fbfbf7; }
.preview-response-analysis__hypothesis { background: #fffdf8 !important; }
.preview-response-analysis__hypothesis > p:not(.preview-opportunity-card__label) { margin: 0 0 12px; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.preview-response-analysis__hypothesis > p:last-child { margin-bottom: 0; color: var(--ink); }
.preview-response-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.preview-response-stats div { padding-right: 8px; border-right: 1px solid #dfe6dd; }
.preview-response-stats div:last-child { padding-right: 0; border-right: 0; }
.preview-response-stats dt { color: var(--muted); font-size: 11px; font-weight: 800; line-height: 1.35; text-transform: uppercase; letter-spacing: .045em; }
.preview-response-stats dd { margin: 7px 0 0; color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 22px; font-weight: 700; line-height: 1; }
.preview-response-secondary { max-width: 760px; margin: 18px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
.preview-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: none; }
.preview-post-grid--signals { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 880px; }
.preview-post-card { display: flex; min-width: 0; flex-direction: column; padding: 18px; border: 1px solid #e0e3da; border-radius: 14px; background: #fbfbf7; }
.preview-post-card.is-pinned { border-color: #dfd3b6; background: #fffaf0; }
.preview-post-card__top { display: flex; justify-content: space-between; gap: 8px; align-items: start; }
.preview-post-card__top > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.preview-post-card__number { color: #90a093; font-family: "Source Serif 4", Georgia, serif; font-size: 22px; font-weight: 700; line-height: 1; }
.preview-post-card__signal-label { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.preview-post-card__tag { display: inline-flex; padding: 4px 6px; border: 1px solid #d5dfd4; border-radius: 999px; color: var(--green); font-size: 11px; font-weight: 800; line-height: 1.2; }
.preview-post-card__tag--pinned { border-color: #e0cfad; color: #8a641e; }
.preview-post-card__tag--signal { border-color: #b8d4bd; background: #edf5eb; }
.preview-post-card__excerpt { display: -webkit-box; margin: 16px 0 0; overflow: hidden; color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 17px; font-weight: 700; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.preview-post-card__topic { min-height: 32px; margin: 10px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.preview-primary-signal { display: grid; gap: 3px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #e0e3da; }
.preview-primary-signal > span { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.preview-primary-signal > strong { color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 26px; line-height: 1; }
.preview-primary-signal small { color: var(--ink-soft); font-family: "Manrope", sans-serif; font-size: 12px; font-weight: 700; }
.preview-metric-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.preview-metric-list--secondary { margin-top: 10px; }
.preview-metric-list span { padding: 5px 7px; border-radius: 6px; background: #edf1eb; color: var(--ink-soft); font-size: 11px; font-weight: 700; line-height: 1.2; }
.preview-metric-list b { color: var(--ink); font-size: 11px; }
.preview-post-card__notice { margin: 12px 0 0; color: #7c6a45; font-size: 11px; line-height: 1.45; }
.preview-post-card__link { margin-top: auto; padding-top: 15px; color: var(--green); font-size: 12px; font-weight: 800; text-decoration: none; }
.preview-post-card__link:hover { text-decoration: underline; }

.preview-opportunity-stage { margin-top: 0; }
.preview-opportunity-card { padding: 30px; border: 1px solid #c9d9ca; border-top: 3px solid var(--green); border-radius: 18px; background: #edf4ed; }
.preview-opportunity-card__header { display: flex; gap: 24px; align-items: start; justify-content: space-between; }
.preview-opportunity-card h2 { max-width: 720px; margin: 0; font-size: clamp(24px, 2.6vw, 30px); line-height: 1.1; }
.preview-opportunity-card__body { display: flex; flex-direction: column; gap: 12px; margin-top: 22px; }
.preview-opportunity-card__body > div { padding: 16px 18px; border-radius: 12px; }
.preview-opportunity-card__label { margin: 0 0 6px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.preview-opportunity-card__body > div > p:last-child { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.52; }
/* Разрыв — крупно и на белом: это то, чего не хватает. */
.preview-opportunity-block--gap { border: 1px solid #d1ddd0; background: #fffdf8; }
.preview-opportunity-block--gap > p:last-child { color: var(--ink); font-size: 16px; line-height: 1.5; }
/* Действие — зелёный акцент средней силы: насыщенный фон + толстая полоса. */
.preview-opportunity-block--action { background: #d8e8dc; border: 1px solid #b6d1bc; border-left: 6px solid var(--green); }
.preview-opportunity-block--action .preview-opportunity-card__label { color: var(--green-dark); }
.preview-opportunity-block--action > p:last-child { color: var(--ink); font-size: 16.5px; line-height: 1.5; font-weight: 700; }
/* Смысл — тихая поддержка без рамки. */
.preview-opportunity-block--why { padding: 6px 2px 0; }
.preview-evidence--wide { grid-column: 1 / -1; margin: 2px 0 0; padding: 16px 18px; border: 1px solid #d1ddd0; border-radius: 12px; background: #f8fbf7; }
.preview-evidence--wide ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.preview-opportunity-card__basis { margin: 0 0 12px !important; color: var(--ink-soft); font-size: 13px !important; line-height: 1.5 !important; }
.preview-alternative { margin-top: 12px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.preview-alternative summary { color: var(--green); cursor: pointer; font-size: 13px; font-weight: 800; }
.preview-alternative p { max-width: 660px; margin: 10px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }

.preview-idea { gap: 46px; margin-top: 0; padding: 34px; border-radius: 18px; }
.preview-idea__title h2 { font-size: clamp(30px, 3.35vw, 40px); }
.preview-idea__hook { font-size: 23px; }
.preview-cta { margin-top: 42px; padding: 32px; border-radius: 18px; border: 1px solid #c9d9ca; border-top: 3px solid var(--green); }
.preview-cta h2 { font-size: clamp(28px, 3vw, 38px); line-height: 1.08; }
.preview-stage-actions { min-height: 72px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.preview-stage-actions__hint { max-width: 430px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.preview-stage-actions .secondary-button { min-height: 48px; border-radius: 9px; }
.preview-stage-actions--final { min-height: 0; margin-top: 18px; padding-top: 0; border-top: 0; }

@media (max-width: 900px) {
  .preview-section-heading, .preview-opportunity-card__body, .preview-response-analysis { grid-template-columns: 1fr; }
  .preview-section-heading > p { max-width: 620px; }
  .preview-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .preview-response-cards { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
  .preview-post-grid { grid-template-columns: 1fr; }
  .preview-post-card__excerpt { -webkit-line-clamp: 3; }
  .preview-evidence--wide ul { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .preview-shell { width: min(100% - 28px, 700px); }
  .preview-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 28px; }
  .preview-flow__step, .preview-flow__step:first-child { min-height: 46px; padding: 10px 8px; }
  .preview-flow__step small { font-size: 11px; }
  .preview-hero--step { margin: 44px 0 28px; }
  .preview-hero h1 { font-size: clamp(39px, 12vw, 48px); }
  .preview-hero .lede { font-size: 15px; }
    .preview-overview, .preview-response-source, .preview-opportunity-card, .preview-idea, .preview-cta { padding: 21px; border-radius: 15px; }
  .preview-stat-grid, .preview-content-groups { grid-template-columns: 1fr; }
  .preview-response-cards { grid-template-columns: 1fr; }
  .preview-stat-grid > div { min-height: 80px; }
  .preview-content-group { padding: 17px; }
  .preview-evidence-list__main { display: grid; gap: 4px; }
  .preview-evidence-list__main span { white-space: normal; }
  .preview-opportunity-card__header { display: grid; gap: 14px; }
  .preview-opportunity-card__body { margin-top: 20px; }
  .preview-opportunity-card__body > div { min-height: 0; }
  .preview-response-stats { grid-template-columns: 1fr; gap: 12px; }
  .preview-response-stats div { padding: 0 0 10px; border-right: 0; border-bottom: 1px solid #dfe6dd; }
  .preview-response-stats div:last-child { padding-bottom: 0; border-bottom: 0; }
  .preview-stage-actions { align-items: stretch; flex-direction: column-reverse; gap: 14px; }
  .preview-stage-actions .secondary-button { width: 100%; }
  .preview-stage-actions__hint { max-width: none; }
  .preview-cta { margin-left: 0; margin-right: 0; }
  .preview-cta__form button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .preview-flow, .preview-flow__step, .preview-evidence summary::before { transition: none; }
  .preview-progress span { animation: none; }
}

/* Живой онбординг: реальные этапы без полной перезагрузки страницы. */
.preview-live { padding: 42px 0 68px; }
.preview-live__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 26px; }
.preview-live__head > div { max-width: 720px; }
.preview-live__head h1 { max-width: 720px; margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: clamp(38px, 4.4vw, 54px); font-weight: 700; line-height: 1.04; letter-spacing: -.025em; }
.preview-live__head .lede { margin: 12px 0 0; font-size: 15px; }
.preview-live__source { flex: 0 0 auto; max-width: 330px; overflow: hidden; padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.preview-live__source::before { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--green); content: ""; }
.preview-live__layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 20px; align-items: start; }

.preview-business, .preview-making { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: 0 15px 36px rgba(45, 48, 40, .07); }
.preview-business__head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.preview-business__head h2 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
.preview-business__head span { color: var(--muted); font-size: 10px; font-weight: 800; }
.preview-business.is-ready .preview-business__head span { color: var(--green); }
.preview-business__identity { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 14px; align-items: center; padding: 21px 22px; border-bottom: 1px solid var(--line); background: #edf4eb; }
.preview-business__letter { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: #fff; font-family: "Source Serif 4", Georgia, serif; font-size: 20px; font-weight: 700; transition: transform .25s ease, background .25s ease; }
.preview-business.is-ready .preview-business__letter { background: var(--green); transform: scale(1.04); }
.preview-business__identity h2 { margin: 0 0 3px; font-family: "Source Serif 4", Georgia, serif; font-size: 24px; line-height: 1.16; }
.preview-business__identity p { margin: 0; color: var(--muted); font-size: 11px; }
.preview-business__facts { display: grid; grid-template-columns: 1fr 1fr; }
.preview-business__fact { min-height: 125px; padding: 20px 22px; border-bottom: 1px solid var(--line); transition: background .22s ease, opacity .22s ease; }
.preview-business__fact:nth-child(odd) { border-right: 1px solid var(--line); }
.preview-business__fact--wide { grid-column: 1 / -1; min-height: 104px; border-right: 0; }
.preview-business__fact--wide:nth-child(odd) { border-right: 0; }
.preview-business__fact > span { display: block; margin-bottom: 10px; color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.preview-business__fact strong { display: block; font-size: 15px; line-height: 1.45; }
.preview-business__fact.is-pending { background: #faf9f4; opacity: .58; }
.preview-business__services { display: flex; flex-wrap: wrap; gap: 7px; }
.preview-business__services b { padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: #f7f4eb; font-size: 10px; }
.preview-business__services em { color: var(--muted); font-size: 11px; font-style: normal; }
.preview-business__foot { padding: 14px 22px; color: var(--muted); font-size: 10px; }
.preview-business__foot p { margin: 0; }
.preview-business__foot--complete { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.preview-business__foot--complete p { max-width: 330px; }
.preview-business__foot--complete button { padding: 10px 14px; border: 0; border-radius: 9px; background: var(--ink); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }

.preview-making__top { padding: 21px 22px 18px; border-bottom: 1px solid var(--line); }
.preview-making__top h2 { margin: 0 0 5px; font-family: "Source Serif 4", Georgia, serif; font-size: 25px; line-height: 1.16; }
.preview-making__top > p:last-of-type { margin: 0; color: var(--muted); font-size: 11px; }
.preview-making__meter { margin-top: 17px; }
.preview-making__meter-copy { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 8px; }
.preview-making__meter-copy strong { color: var(--ink); font-size: 11px; }
.preview-making__meter-copy span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.preview-making__meter-track { position: relative; height: 7px; overflow: hidden; border-radius: 999px; background: #e2e5dc; }
.preview-making__meter-track > span { position: relative; display: block; height: 100%; min-width: 16%; overflow: hidden; border-radius: inherit; background: var(--green); transition: width .5s ease; }
.preview-making__meter-track > span::after { position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, rgb(255 255 255 / 45%) 48%, transparent 76%); content: ""; animation: preview-meter-flow 1.45s linear infinite; }
.preview-making__list { margin: 0; padding: 0; list-style: none; }
.preview-making__item { display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; gap: 11px; align-items: center; min-height: 67px; padding: 12px 18px; border-bottom: 1px solid var(--line); transition: background .2s ease; }
.preview-making__mark { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; background: #f7f4eb; color: var(--muted); font-size: 10px; font-weight: 800; transition: .2s ease; }
.preview-making__item strong { display: block; font-size: 12px; }
.preview-making__item small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.preview-making__state { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.preview-making__item.is-done .preview-making__mark { border-color: var(--green); background: var(--green); color: #fff; }
.preview-making__item.is-done .preview-making__state { color: var(--green); }
.preview-making__item.is-active { background: #fff8f1; }
.preview-making__item.is-active .preview-making__mark { border-color: #ef7d52; background: #ef7d52; color: #fff; animation: preview-live-pulse 1.6s ease-in-out infinite; }
.preview-making__item.is-active .preview-making__state { color: #b85a36; }
.preview-making__note { margin: 17px 18px 19px; padding: 12px 13px; border-left: 2px solid var(--green); background: #edf4eb; color: #536158; font-size: 10px; line-height: 1.5; }

.biz-welcome { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 14px; align-items: center; margin: 0 0 22px; padding: 17px 19px; border: 1px solid #b8d2bd; border-radius: 14px; background: #e3eee0; }
.biz-welcome__n { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-family: "Source Serif 4", Georgia, serif; font-size: 18px; font-weight: 700; }
.biz-welcome h2 { margin: 0; font-size: 15px; letter-spacing: -.015em; }
.biz-welcome p { max-width: 720px; margin: 3px 0 0; color: #536158; font-size: 11px; line-height: 1.5; }
.biz-welcome a { color: var(--green); font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.biz-welcome a:hover { text-decoration: underline; }

@keyframes preview-live-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239, 125, 82, .22); }
  50% { box-shadow: 0 0 0 7px rgba(239, 125, 82, 0); }
}

/* Focused Today and automatic Radar. */
.today-focus-head,
.radar-simple-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin: 0 0 26px; }
.today-focus-head h1,
.radar-simple-head h1 { max-width: none; font-size: clamp(42px, 5vw, 64px); line-height: 1; }
.today-focus-head > p:last-child,
.radar-simple-head > div > p:last-child { max-width: 720px; margin: 12px 0 0; color: var(--ink-soft); font-size: 16px; line-height: 1.55; }
.radar-simple-head > span { flex: 0 0 auto; margin-bottom: 6px; padding: 11px 15px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink-soft); font-size: 12px; font-weight: 750; }

.today-focus-card,
.today-processing,
.radar-topics,
.radar-watch { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-raised); }
.today-focus-card__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.today-focus-card__head h2 { margin: 0; font-size: 28px; }
.today-focus-card__head .eyebrow { margin-bottom: 5px; }
.today-focus-status { flex: 0 0 auto; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.today-main-topic { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 34px; padding: 30px; }
.today-main-topic__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.today-main-topic__meta span { padding: 6px 10px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.today-main-topic__meta small { color: var(--muted); font-size: 12px; font-weight: 700; }
.today-main-topic h2 { max-width: 760px; margin-bottom: 13px; font-size: clamp(30px, 3.4vw, 47px); line-height: 1.03; }
.today-main-topic article > p { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: 15px; line-height: 1.65; }
.today-main-topic__source { display: inline-block; margin-top: 16px; color: var(--green); font-size: 12px; font-weight: 800; text-decoration: none; }
.today-main-topic__decision,
.today-ready-material__action { align-self: stretch; padding: 22px; border: 1px solid #cbdccf; border-radius: 13px; background: var(--green-soft); }
.today-main-topic__decision strong,
.today-ready-material__action strong { display: block; margin-bottom: 20px; font-size: 14px; line-height: 1.55; }
.today-main-topic__decision form + form { margin-top: 10px; }
.today-main-topic__decision .materials-button,
.today-ready-material__action .materials-button { width: 100%; justify-content: center; text-align: center; }
.today-link-button { border: 0; background: transparent; color: var(--green); font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; }
.today-focus-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 24px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 13px; }
.today-focus-card__footer a { color: var(--green); font-weight: 800; text-decoration: none; }
.today-ready-material { display: grid; grid-template-columns: 170px minmax(0, 1fr) 300px; gap: 26px; align-items: center; padding: 28px 30px; }
.today-ready-material__mark { display: grid; min-height: 176px; padding: 20px; align-content: space-between; border-radius: 13px; background: linear-gradient(145deg, #dce8d8, #f0a07e); color: var(--ink); }
.today-ready-material__mark span { font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.today-ready-material__mark strong { font-family: "Source Serif 4", Georgia, serif; font-size: 64px; line-height: .8; }
.today-ready-material__copy h2 { margin-bottom: 12px; font-size: clamp(28px, 3vw, 42px); line-height: 1.08; }
.today-ready-material__copy > p:last-child { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.today-focus-card--empty { padding: 34px; }
.today-focus-card--empty h2 { font-size: 34px; }
.today-focus-card--empty > p:not(.eyebrow) { color: var(--ink-soft); }
.today-processing { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 18px; padding: 20px 24px; }
.today-processing > div { min-width: 0; flex: 1; }
.today-processing h2 { margin-bottom: 3px; font-size: 21px; }
.today-processing p:not(.eyebrow) { margin: 0; overflow: hidden; color: var(--ink-soft); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.today-processing > a { flex: 0 0 auto; color: var(--green); font-size: 13px; font-weight: 800; text-decoration: none; }
.today-processing__progress { overflow: hidden; height: 5px; margin-top: 13px; border-radius: 999px; background: #dce3da; }
.today-processing__progress span { display: block; width: 62%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--green), #8fac9a, var(--green)); background-size: 200% 100%; animation: today-progress 1.7s linear infinite; }
@keyframes today-progress { to { background-position: -200% 0; } }

.radar-plan-strip { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 18px; padding: 24px 30px; border: 1px solid #cbdccf; border-radius: 16px; background: var(--green-soft); }
.radar-plan-strip h2 { margin-bottom: 5px; font-size: clamp(28px, 3.2vw, 42px); }
.radar-plan-strip p:last-child { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: 13px; }
.radar-plan-strip > .materials-button { flex: 0 0 auto; }
.radar-plan-strip__meta { display: flex; flex: 0 0 auto; align-items: center; gap: 22px; }
.radar-plan-strip__meta span { display: grid; gap: 3px; font-family: "Source Serif 4", Georgia, serif; font-size: 20px; }
.radar-plan-strip__meta small { color: var(--green); font-family: "Manrope", "Segoe UI", sans-serif; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.radar-plan-strip__meta a { color: var(--green); font-size: 12px; font-weight: 850; text-decoration: none; }
.radar-topics__head { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding: 25px 28px 21px; border-bottom: 1px solid var(--line); }
.radar-topics__head p:last-child { margin: 0; color: var(--ink-soft); font-size: 13px; }
.radar-topics__head > strong { display: grid; flex: 0 0 auto; min-width: 70px; justify-items: center; font-family: "Source Serif 4", Georgia, serif; font-size: 46px; line-height: .8; }
.radar-topics__head > strong span { margin-top: 10px; color: var(--green); font-family: "Manrope", "Segoe UI", sans-serif; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.radar-topic { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(220px, .8fr) 230px; gap: 28px; align-items: center; padding: 24px 28px; }
.radar-topic + .radar-topic { border-top: 1px solid var(--line); }
.radar-topic.is-primary { background: #eef4ec; }
.radar-topic__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.radar-topic__meta span { padding: 5px 9px; border-radius: 999px; background: #e5e9e1; color: var(--green); font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.radar-topic__meta small { color: var(--muted); font-size: 11px; font-weight: 700; }
.radar-topic__copy h3 { margin: 0 0 7px; font-family: "Source Serif 4", Georgia, serif; font-size: clamp(24px, 2.5vw, 34px); font-weight: 600; line-height: 1.08; letter-spacing: -.03em; }
.radar-topic__copy > p { margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
.radar-topic__evidence { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-top: 13px; }
.radar-topic__evidence small { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.radar-topic__evidence a { padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--green); font-size: 10px; font-weight: 800; line-height: 1.2; text-decoration: none; }
.radar-topic__evidence a:hover { border-color: var(--green); background: var(--green-soft); }
.radar-topic__proposal small { display: block; margin-bottom: 8px; color: var(--green); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.radar-topic__proposal strong { font-size: 12px; line-height: 1.5; }
.radar-topic__actions { display: grid; justify-items: stretch; gap: 8px; }
.radar-topic__actions .materials-button { justify-content: center; text-align: center; }
.radar-topic__actions form { margin: 0; }
.radar-topic__actions button { width: 100%; }
.radar-topic__dismiss { color: var(--muted); }
.notice-strip--warning { border-color: #e4c3a8; background: #fff5e8; color: #7b4828; }
.radar-simple-empty { padding: 34px; text-align: center; }
.radar-simple-empty h3 { margin: 0 0 7px; font-family: "Source Serif 4", Georgia, serif; font-size: 28px; }
.radar-simple-empty p { margin: 0 auto 18px; max-width: 620px; color: var(--ink-soft); line-height: 1.55; }

.radar-watch { margin-top: 20px; }
.radar-watch__head { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 26px 30px; border-bottom: 1px solid var(--line); }
.radar-watch__head h2 { font-size: clamp(30px, 3.5vw, 44px); }
.radar-watch__head p:last-child { margin: 3px 0 0; color: var(--ink-soft); font-size: 13px; }
.radar-add-organization { position: relative; flex: 0 0 auto; }
.radar-add-organization > summary { list-style: none; color: var(--green); font-size: 12px; font-weight: 850; cursor: pointer; }
.radar-add-organization > summary::-webkit-details-marker { display: none; }
.radar-add-organization form { position: absolute; z-index: 5; top: 28px; right: 0; width: min(420px, 80vw); padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-hover); }
.radar-add-organization label span { display: block; margin-bottom: 6px; color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.radar-add-organization input { width: 100%; }
.radar-watch-actor + .radar-watch-actor { border-top: 1px solid var(--line); }
.radar-watch-actor > summary { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto 18px; gap: 15px; align-items: center; padding: 18px 24px; list-style: none; cursor: pointer; }
.radar-watch-actor > summary::-webkit-details-marker { display: none; }
.radar-watch-actor > summary:hover { background: #fafbf6; }
.radar-watch-actor__letter { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--green); color: white; font-family: "Source Serif 4", Georgia, serif; font-size: 18px; font-weight: 700; }
.radar-watch-actor__name { display: grid; min-width: 0; gap: 3px; }
.radar-watch-actor__name strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.radar-watch-actor__name small { overflow: hidden; color: var(--ink-soft); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.radar-watch-actor__platforms { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.radar-watch-actor__platforms i { padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-soft); font-size: 9px; font-style: normal; font-weight: 800; }
.radar-watch-actor__chevron { width: 8px; height: 8px; border-right: 1.5px solid var(--ink-soft); border-bottom: 1.5px solid var(--ink-soft); transform: rotate(45deg); transition: transform .2s ease; }
.radar-watch-actor[open] .radar-watch-actor__chevron { transform: rotate(225deg); }
.radar-watch-actor__body { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 2px 24px 20px 79px; }
.radar-watch-actor__body > div { display: grid; gap: 6px; }
.radar-watch-actor__body a { color: var(--ink-soft); font-size: 11px; text-decoration: none; }
.radar-watch-actor__body form button { border: 0; background: transparent; color: var(--danger); font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.radar-watch__hint { margin: 0; padding: 14px 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }

@media (max-width: 980px) {
  .today-main-topic { grid-template-columns: 1fr; }
  .today-ready-material { grid-template-columns: 150px minmax(0, 1fr); }
  .today-ready-material__action { grid-column: 1 / -1; }
  .radar-topic { grid-template-columns: minmax(0, 1fr) 220px; }
  .radar-topic__actions { grid-column: 2; }
}
@media (max-width: 700px) {
  .today-focus-head,
  .radar-simple-head,
  .radar-plan-strip,
  .radar-topics__head,
  .radar-watch__head { align-items: flex-start; flex-direction: column; gap: 13px; }
  .today-focus-card__head,
  .today-main-topic,
  .today-ready-material,
  .today-focus-card__footer,
  .today-processing,
  .radar-topic,
  .radar-watch__head { padding-right: 18px; padding-left: 18px; }
  .today-ready-material { grid-template-columns: 1fr; }
  .today-ready-material__mark { min-height: 150px; }
  .today-ready-material__action { grid-column: auto; }
  .today-focus-card__footer,
  .today-processing { align-items: flex-start; flex-direction: column; }
  .radar-plan-strip__meta { width: 100%; justify-content: space-between; }
  .radar-plan-strip > .materials-button { width: 100%; justify-content: center; }
  .radar-topics__head > strong { display: flex; align-items: baseline; gap: 8px; justify-items: initial; }
  .radar-topics__head > strong span { margin: 0; }
  .radar-topic { grid-template-columns: 1fr; }
  .radar-topic__actions { grid-column: auto; }
  .radar-watch-actor > summary { grid-template-columns: 38px minmax(0, 1fr) 16px; padding-right: 18px; padding-left: 18px; }
  .radar-watch-actor__platforms { grid-column: 2; justify-content: start; }
  .radar-watch-actor__chevron { grid-column: 3; grid-row: 1; }
  .radar-watch-actor__body { align-items: flex-start; flex-direction: column; padding-left: 71px; }
  .radar-add-organization form { right: auto; left: 0; width: min(420px, calc(100vw - 64px)); }
}

@keyframes preview-meter-flow {
  from { transform: translateX(-100%); }
  to { transform: translateX(100%); }
}

@media (max-width: 900px) {
  .preview-live__layout { grid-template-columns: 1fr; }
  .preview-making { order: -1; }
}

@media (max-width: 640px) {
  .preview-live { padding: 28px 0 48px; }
  .preview-live__head { display: block; }
  .preview-live__head h1 { font-size: clamp(34px, 10vw, 43px); }
  .preview-live__source { display: inline-block; margin-top: 14px; max-width: 100%; }
  .preview-live__layout { gap: 14px; }
  .preview-making__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    padding: 14px 16px 15px;
  }
  .preview-making__top > .eyebrow,
  .preview-making__top > p:last-of-type,
  .preview-making__list,
  .preview-making__note { display: none; }
  .preview-making__top h2 {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    overflow: hidden;
    font-size: 18px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .preview-making__meter,
  .preview-making__meter-copy { display: contents; }
  .preview-making__meter-copy strong {
    grid-column: 1;
    grid-row: 2;
  }
  .preview-making__meter-copy span {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    white-space: nowrap;
  }
  .preview-making__meter-track {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .preview-business__facts { grid-template-columns: 1fr; }
  .preview-business__fact, .preview-business__fact:nth-child(odd) { grid-column: auto; border-right: 0; }
  .preview-business__fact { min-height: 0; }
  .preview-business__foot--complete { align-items: flex-start; flex-direction: column; }
  .biz-welcome { grid-template-columns: 38px minmax(0, 1fr); }
  .biz-welcome a { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .preview-making__item.is-active .preview-making__mark { animation: none; }
  .preview-making__meter-track > span::after { animation: none; }
  .preview-making__meter-track > span { transition: none; }
}

/* Превью, шаг 1 — «Главное в вашем контенте» */
.preview-now__head { display: flex; justify-content: space-between; gap: 40px; align-items: flex-start; }
.preview-now__intro { max-width: 620px; }
.preview-now__intro h1 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 44px; line-height: 1.05; letter-spacing: -.02em; color: var(--ink); }
.preview-now__intro .lede { margin: 14px 0 0; }
.preview-now__source { min-width: 210px; padding-left: 20px; border-left: 1px solid var(--line); }
.preview-now__source-k { margin: 0 0 4px; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.preview-now__source-v { margin: 0; font-weight: 800; color: var(--ink); font-size: 14px; }
.preview-now__source-s { margin: 2px 0 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.preview-now__source-link { display: inline-block; margin-top: 6px; color: var(--green); font-weight: 600; font-size: 12px; text-decoration: none; }
.preview-now__source-link:hover { text-decoration: underline; }
.preview-now__card { margin-top: 20px; border: 1px solid #dbe2d8; border-top: 3px solid var(--green); border-radius: 14px; background: #fdfdfb; overflow: hidden; }
.preview-now__tiles { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); }
.preview-now__tile { padding: 15px 24px; border-right: 1px solid var(--line); }
.preview-now__tile:last-child { border-right: 0; }
.preview-now__tile-k { margin: 0 0 8px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.preview-now__tile-v { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 24px; color: var(--ink); }
.preview-now__tile-s { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.preview-now__cols { display: grid; grid-template-columns: 1fr 1fr; }
.preview-now__col { padding: 20px 28px; }
.preview-now__col:first-child { border-right: 1px solid var(--line); }
.preview-now__col h2 { margin: 0 0 4px; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 23px; color: var(--ink); }
.preview-now__row { padding: 11px 0; border-top: 1px solid #edf0ea; }
.preview-now__row:first-of-type { border-top: 0; }
.preview-now__row-head { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; }
.preview-now__row-title { font-weight: 800; color: var(--ink); font-size: 15px; }
.preview-now__row-n { color: var(--muted); font-size: 13px; white-space: nowrap; }
.preview-now__note { margin-top: 14px; padding: 11px 15px; border-radius: 10px; background: #eef4ea; color: var(--ink-soft, #3f4c45); font-size: 13px; line-height: 1.45; }
.preview-now__note b { color: var(--ink); }
.preview-now__gap { padding: 16px 26px 18px; border-top: 1px solid #e0d3ad; background: #f3e9cf; box-shadow: inset 4px 0 0 #c19a3e; }
.preview-now__gap-k { margin: 0 0 10px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #7d5f1c; }
.preview-now__gap-rows { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px 28px; }
.preview-now__gap-row { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; padding: 5px 0; border-bottom: 1px dashed #e6dcc0; color: #4a4d47; font-weight: 700; font-size: 15px; }
.preview-now__gap-row.is-zero { color: #9a9e96; }
.preview-now__gap-n { color: #a98b3f; font-size: 13px; font-weight: 600; white-space: nowrap; }
.preview-now__gap-row.is-zero .preview-now__gap-n { color: #b7ac8e; }
.preview-now__gap-note { margin: 12px 0 0; font-size: 13px; line-height: 1.45; color: #4a4d47; }
.preview-now__gap-note b { color: var(--ink); }
.preview-now__foot { display: flex; justify-content: center; align-items: center; gap: 32px; margin-top: 20px; padding-top: 24px; border-top: 1px solid var(--line); }
.preview-now__foot-title { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 19px; line-height: 1.3; color: var(--ink); white-space: nowrap; }
.preview-now__foot .secondary-button { margin-top: 0; padding: 13px 26px; font-size: 15px; white-space: nowrap; }
@media (max-width: 820px) {
  .preview-now__head { flex-direction: column; }
  .preview-now__source { min-width: 0; border-left: 0; padding-left: 0; }
  .preview-now__tiles { grid-template-columns: 1fr 1fr; }
  .preview-now__cols { grid-template-columns: 1fr; }
  .preview-now__gap-rows { grid-template-columns: 1fr; }
  .preview-now__col:first-child { border-right: 0; border-bottom: 1px solid var(--line); }
  .preview-now__intro h1 { font-size: 34px; }
  .preview-now__foot { flex-direction: column; gap: 16px; text-align: center; }
  .preview-now__foot-title { white-space: normal; }
}

/* Превью, шаг 2 — «Разбор ваших топовых постов» */
.s2-title { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 36px; line-height: 1.05; letter-spacing: -.02em; color: var(--ink); }
.s2-lede { margin: 12px 0 0; max-width: 640px; color: var(--muted); font-size: 16px; line-height: 1.5; }
.s2-card { margin-top: 16px; padding: 2px 26px 14px; border: 1px solid #dbe2d8; border-top: 3px solid var(--green); border-radius: 14px; background: #fdfdfb; }
.s2-post { display: grid; grid-template-columns: 0.95fr 1.15fr; gap: 28px; padding: 12px 0; border-top: 1px solid #edf0ea; }
.s2-post:first-child, .s2-more .s2-post:first-child { border-top: 0; }
.s2-post__left { display: flex; gap: 16px; }
.s2-post__num { font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 20px; color: #b9c4b4; }
.s2-post__theme { margin: 0; font-weight: 800; color: var(--ink); font-size: 16px; line-height: 1.35; }
.s2-post__meta { margin: 10px 0 0; color: var(--muted); font-size: 13px; }
.s2-post__meta a { color: var(--green); font-weight: 700; text-decoration: none; }
.s2-post__right { display: flex; flex-direction: column; gap: 8px; }
.s2-box { padding: 8px 13px; border-radius: 10px; font-size: 13px; line-height: 1.4; color: var(--ink-soft, #3f4c45); }
.s2-box p { margin: 0; }
.s2-box__k { font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 5px; }
.s2-box--good { background: #eef4ea; }
.s2-box--good .s2-box__k { color: var(--green); }
.s2-box--try { background: #fff; border: 1px solid #dbe2d8; }
.s2-box--try .s2-box__k { color: var(--muted); }
.s2-more { padding: 12px 0 0; }
.s2-more > summary { list-style: none; cursor: pointer; color: var(--green); font-weight: 800; font-size: 14px; }
.s2-more > summary::-webkit-details-marker { display: none; }
.s2-pattern { margin-top: 14px; padding: 14px 22px; border-radius: 12px; background: #eef4ea; }
.s2-pattern__k { margin: 0 0 10px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--green); }
.s2-pattern__move { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; margin: 0; overflow-x: auto; }
.s2-seg { flex: 0 0 auto; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 15px; color: var(--ink); background: #fff; border: 1px solid #cfe0c6; border-radius: 8px; padding: 5px 11px; white-space: nowrap; }
.s2-arrow { flex: 0 0 auto; color: var(--green); font-weight: 800; font-size: 16px; }
.s2-pattern__note { margin: 12px 0 0; color: var(--ink-soft, #3f4c45); font-size: 14px; line-height: 1.5; }
.s2-foot { position: relative; display: flex; align-items: center; justify-content: center; gap: 26px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.s2-foot__back { position: absolute; left: 0; color: var(--muted); font-weight: 700; font-size: 13px; text-decoration: none; }
.s2-foot__title { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 19px; color: var(--ink); }
.s2-foot .secondary-button { margin-top: 0; padding: 13px 26px; font-size: 15px; white-space: nowrap; }
@media (max-width: 860px) {
  .s2-post { grid-template-columns: 1fr; gap: 12px; }
  .s2-title { font-size: 30px; }
  .s2-foot { flex-direction: column; gap: 14px; }
  .s2-foot__back { position: static; }
  .s2-foot__title { white-space: normal; text-align: center; }
}

/* Превью, шаг 3 — «Ваша цель» */
.s3-title { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 44px; line-height: 1.05; letter-spacing: -.02em; color: var(--ink); }
.s3-lede { margin: 16px 0 0; max-width: 680px; }
.s3-bridge { display: grid; grid-template-columns: 1fr 1fr; margin-top: 24px; border: 1px solid #cfe0c6; border-radius: 14px; background: #eef4ea; overflow: hidden; }
.s3-bridge__take { padding: 20px 24px; border-right: 1px solid #cfe0c6; }
.s3-bridge__change { padding: 20px 24px; }
.s3-bridge__change--solo { grid-column: 1 / -1; }
.s3-bridge__move { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 4px 0 0; }
.s3-bridge .s3-seg { font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 19px; color: var(--ink); }
.s3-bridge .s3-arrow { color: var(--green); font-weight: 800; font-size: 18px; }
.s3-bridge__note { margin: 8px 0 0; color: var(--ink-soft, #3f4c45); font-size: 13.5px; line-height: 1.5; }
.s3-bridge__change h2 { margin: 4px 0 6px; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 20px; color: var(--ink); }
.s3-bridge__change p { margin: 0; color: var(--ink-soft, #3f4c45); font-size: 14px; line-height: 1.5; }
.s3-choose { display: grid; grid-template-columns: 1fr 1fr; margin-top: 24px; border: 1px solid #dbe2d8; border-radius: 14px; background: #fdfdfb; overflow: hidden; }
.s3-choose__cards { padding: 24px 28px; border-right: 1px solid var(--line); }
.s3-choose__heading { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; margin-bottom: 14px; }
.s3-choose__heading h2 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 23px; color: var(--ink); }
.s3-choose__heading p { max-width: 260px; margin: 0; text-align: right; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
.s3-card { position: relative; display: flex; gap: 14px; padding: 16px 18px; margin-top: 12px; border: 1px solid #dbe2d8; border-radius: 12px; cursor: pointer; transition: border-color .15s, background .15s; }
.s3-card:first-of-type { margin-top: 0; }
.s3-card input { position: absolute; opacity: 0; pointer-events: none; }
.s3-card__mark { position: relative; flex: 0 0 auto; width: 20px; height: 20px; margin-top: 2px; border: 2px solid #c3ccc0; border-radius: 50%; }
.s3-card.is-selected { border-color: var(--green); background: #f4f8f1; }
.s3-card.is-selected .s3-card__mark { border-color: var(--green); background: var(--green); }
.s3-card.is-selected .s3-card__mark::after { content: "✓"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 12px; font-weight: 800; }
.s3-card input:focus-visible + .s3-card__mark { outline: 2px solid var(--green); outline-offset: 2px; }
.s3-card__title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-weight: 800; color: var(--ink); font-size: 16px; }
.s3-card__badge { padding: 3px 9px; border-radius: 20px; background: #dff0d6; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.s3-card__desc { display: block; margin-top: 4px; color: var(--ink-soft, #4a5750); font-size: 13.5px; line-height: 1.45; }
.s3-briefs { padding: 24px 28px; }
.s3-brief { display: none; }
.s3-brief.is-active { display: block; }
.s3-brief h3 { margin: 4px 0 14px; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 26px; color: var(--ink); }
.s3-brief__task { padding: 12px 14px; border-radius: 10px; background: #eef4ea; margin-bottom: 4px; }
.s3-brief__task p, .s3-brief__row p { margin: 0; color: var(--ink-soft, #3f4c45); font-size: 13.5px; line-height: 1.5; }
.s3-brief__task b { color: var(--ink); }
.s3-brief__row { padding: 12px 14px; border-top: 1px solid #edf0ea; }
.s3-brief__row:first-of-type { border-top: 0; }
.s3-brief__k { margin: 0 0 4px; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.s3-briefs__fine { margin: 14px 0 0; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
.s3-foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.s3-foot__left { display: flex; flex-direction: column; gap: 6px; }
.s3-foot__back { color: var(--muted); font-weight: 700; font-size: 13px; text-decoration: none; }
.s3-foot__line { display: none; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 21px; color: var(--ink); }
.s3-foot__line.is-active { display: block; }
.s3-foot .secondary-button { margin-top: 0; padding: 14px 26px; font-size: 15px; white-space: nowrap; }
@media (max-width: 860px) {
  .s3-bridge, .s3-choose { grid-template-columns: 1fr; }
  .s3-bridge__take { border-right: 0; border-bottom: 1px solid #cfe0c6; }
  .s3-choose__cards { border-right: 0; border-bottom: 1px solid var(--line); }
  .s3-choose__heading { flex-direction: column; }
  .s3-choose__heading p { text-align: left; max-width: none; }
  .s3-title { font-size: 32px; }
  .s3-foot { flex-direction: column; align-items: stretch; }
}

/* Превью, шаг 4 — «Готовый пост» */
.s4-title { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 44px; line-height: 1.05; letter-spacing: -.02em; color: var(--ink); }
.s4-lede { margin: 16px 0 0; max-width: 640px; }
.s4-brief { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 24px; border: 1px solid #cfe0c6; border-radius: 12px; background: #eef4ea; overflow: hidden; }
.s4-brief__cell { padding: 14px 18px; border-right: 1px solid #cfe0c6; }
.s4-brief__cell:last-child { border-right: 0; }
.s4-brief .eyebrow { margin: 0; }
.s4-brief__v { margin: 3px 0 0; color: var(--ink); font-weight: 700; font-size: 14px; line-height: 1.4; }
.s4-main { display: grid; grid-template-columns: 1.35fr 1fr; gap: 22px; margin-top: 22px; align-items: start; }
.s4-draft { position: relative; padding: 22px 26px; border: 1px solid #dbe2d8; border-radius: 14px; background: #fff; }
.s4-draft__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.s4-draft__head .eyebrow { margin: 0; }
.s4-draft__head .secondary-button { margin-top: 0; }
.s4-draft__title { margin: 12px 0 2px; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 25px; line-height: 1.2; color: var(--ink); }
.s4-draft__format { margin: 0 0 14px; color: var(--muted); font-size: 13px; }
.s4-draft__text { white-space: pre-wrap; color: var(--ink); font-size: 15px; line-height: 1.65; }
.s4-draft__cta { margin: 14px 0 0; font-weight: 700; color: var(--ink); }
.s4-draft__note { margin: 18px 0 0; padding: 10px 14px; border-left: 3px solid var(--green); background: #f4f8f1; color: var(--ink-soft, #3f4c45); font-size: 13px; line-height: 1.5; }
.s4-side__h { margin: 0 0 12px; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 22px; color: var(--ink); }
.s4-side__row { padding: 12px 14px; margin-bottom: 8px; border-radius: 10px; background: #eef4ea; }
.s4-side__row p { margin: 0; color: var(--ink-soft, #3f4c45); font-size: 13.5px; line-height: 1.5; }
.s4-side__k { margin: 0 0 4px; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--green); }
.s4-check { margin-top: 18px; }
.s4-check ul { margin: 0; padding-left: 18px; color: var(--ink-soft, #3f4c45); font-size: 13.5px; line-height: 1.6; }
.s4-alt { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.s4-alt > summary { list-style: none; cursor: pointer; color: var(--green); font-weight: 800; font-size: 14px; }
.s4-alt > summary::-webkit-details-marker { display: none; }
.s4-alt__k { margin: 12px 0 4px; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.s4-alt__title { margin: 0; font-weight: 800; color: var(--ink); font-size: 15px; }
.s4-alt__desc { margin: 4px 0 0; color: var(--ink-soft, #3f4c45); font-size: 13.5px; line-height: 1.5; }
/* Комплект — вкладки-статусы */
.s4-batch { margin-top: 26px; }
.s4-batch__lead { margin: 0 0 12px; }
.s4-batch__lead h2 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-weight: 800; font-size: 19px; color: var(--ink); }
.s4-batch__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.s4-chip { position: relative; display: block; width: 100%; text-align: left; padding: 15px 16px; border: 1px solid #dbe2d8; border-radius: 12px; background: var(--surface); color: inherit; font: inherit; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
.s4-chip:hover { border-color: var(--green); }
.s4-chip.is-ready { border-color: var(--green); background: #eef4ea; }
.s4-chip.is-active { border-color: var(--green); box-shadow: 0 0 0 3px #d5ead6; }
.s4-chip__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.s4-chip__n { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.s4-chip.is-ready .s4-chip__n { color: var(--green); }
.s4-chip__badge { font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; background: #e5e9e2; color: var(--muted); }
.s4-chip.is-ready .s4-chip__badge { background: var(--green); color: #fff; }
.s4-chip__role { display: block; margin: 9px 0 0; font-size: 13px; color: var(--ink-soft, #4e5a52); line-height: 1.35; }
/* Сцена: слева пост (вкладки), справа «почему» (вкладки) + CTA-карточка */
.s4-stage { display: grid; grid-template-columns: 1.35fr 1fr; gap: 22px; margin-top: 22px; align-items: start; }
.s4-stage__col { min-width: 0; }
.s4-panel { display: none; }
.s4-panel.is-active { display: block; }
.s4-lock-head { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; border: 1px dashed #b7c6b4; border-radius: 8px; color: var(--ink-soft, #4e5a52); font-size: 12px; font-weight: 700; background: #f4f8f1; }
.s4-draft__flags { margin: 10px 0 0; padding: 10px 14px 10px 32px; border-left: 3px solid #c9a94a; background: #faf6e6; color: var(--ink-soft, #3f4c45); font-size: 12.5px; line-height: 1.55; }
.s4-draft__flags li { margin: 2px 0; }
.s4-draft__section-label { margin-top: 16px; }
.s4-preview-cover { margin-top: 22px; padding-top: 19px; border-top: 1px solid var(--line); }
.s4-preview-cover > .eyebrow { margin-bottom: 7px; }
.s4-preview-cover h3 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: 22px; line-height: 1.16; color: var(--ink); }
.s4-preview-cover > p:not(.eyebrow), .s4-preview-cover__ready > div > p { margin: 6px 0 0; color: var(--ink-soft, #4e5a52); font-size: 13px; line-height: 1.45; }
.s4-preview-cover__waiting { display: flex; gap: 8px; align-items: center; }
.s4-preview-cover__ready { display: grid; grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); gap: 20px; align-items: start; }
.s4-preview-cover__open { position: relative; display: block; width: 100%; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 9px; background: transparent; cursor: zoom-in; }
.s4-preview-cover__open:hover { transform: none; }
.s4-preview-cover__open:focus-visible { outline: 3px solid rgb(30 96 63 / 24%); outline-offset: 3px; }
.s4-preview-cover__open > img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--green-soft); }
.s4-preview-cover__open > span { position: absolute; right: 9px; bottom: 9px; padding: 6px 9px; border-radius: 999px; background: rgb(255 253 248 / 91%); color: var(--green); font-size: 11px; font-weight: 800; box-shadow: 0 4px 14px rgb(23 36 29 / 12%); }
.s4-preview-cover__once { max-width: 260px; }
.s4-preview-cover__hint { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.s4-style-form { margin-top: 13px; }
.s4-style-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.s4-style-form legend { margin-bottom: 8px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.s4-style-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.s4-style-option { position: relative; min-width: 0; cursor: pointer; }
.s4-style-option > input { position: absolute; opacity: 0; pointer-events: none; }
.s4-style-option > span { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 9px; row-gap: 3px; min-height: 76px; padding: 7px; border: 1px solid var(--line); border-radius: 9px; background: #fffdf8; }
.s4-style-option .factory-style-example { grid-row: 1 / span 2; width: 48px; }
.s4-style-option b { align-self: end; overflow-wrap: anywhere; color: var(--ink); font-size: 11px; line-height: 1.25; }
.s4-style-option small { align-self: start; overflow-wrap: anywhere; color: var(--muted); font-size: 11px; line-height: 1.35; }
.s4-style-option:hover > span { border-color: #9fb3a3; }
.s4-style-option > input:checked + span { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); background: var(--green-soft); }
.s4-style-option > input:focus-visible + span { outline: 2px solid var(--green); outline-offset: 2px; }
/* CTA-карточка в правой колонке */
.s4-cta-card { margin-top: 16px; padding: 22px 22px 24px; border: 1px solid #c9d9ca; border-top: 3px solid var(--green); border-radius: 14px; background: #e9eee6; }
.s4-cta-card .eyebrow { margin-bottom: 8px; }
.s4-cta-card h3 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: 22px; font-weight: 800; line-height: 1.12; color: var(--ink); }
.s4-cta-card__stack { margin: 14px 0 4px; padding: 0; list-style: none; display: grid; gap: 8px; }
.s4-cta-card__stack li { position: relative; padding-left: 24px; color: var(--ink); font-size: 13.5px; line-height: 1.4; }
.s4-cta-card__stack li::before { content: "✓"; position: absolute; left: 0; top: -1px; color: var(--green); font-weight: 800; }
.s4-cta-card label { display: block; margin: 14px 0 6px; color: var(--ink-soft, #4e5a52); font-size: 12px; font-weight: 700; }
.s4-cta-card button, .s4-cta-card .secondary-button { width: 100%; }
.s4-cta-card__note { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
@media (max-width: 860px) {
  .s4-brief { grid-template-columns: 1fr; }
  .s4-brief__cell { border-right: 0; border-bottom: 1px solid #cfe0c6; }
  .s4-main, .s4-stage, .s4-batch__row { grid-template-columns: 1fr; }
  .s4-title { font-size: 32px; }
}
@media (max-width: 560px) {
  .s4-preview-cover__ready { grid-template-columns: 1fr; }
  .s4-preview-cover__open { max-width: 360px; }
}

/* Финал бесплатного онбординга: готовый материал и один следующий шаг. */
.preview-result { padding: 28px 0 72px; }
.preview-result__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.preview-result__head > div { max-width: 760px; }
.preview-result__head h1 { max-width: 720px; margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: clamp(38px, 4.2vw, 52px); font-weight: 700; line-height: 1.04; letter-spacing: -.025em; }
.preview-result__head .lede { margin: 11px 0 0; font-size: 15px; }
.preview-result__source { flex: 0 0 auto; padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink); font-size: 11px; font-weight: 800; }
.preview-result__source::before { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--green); content: ""; }
.preview-result__progress { margin-bottom: 18px; padding: 15px 18px; border: 1px solid #cbdacb; border-radius: 13px; background: #edf4eb; }
.preview-result__progress-copy { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 9px; }
.preview-result__progress-copy strong { font-size: 13px; }
.preview-result__progress-copy span { color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.preview-result__progress-track { height: 7px; overflow: hidden; border-radius: 999px; background: #d6dfd3; }
.preview-result__progress-track span { position: relative; display: block; width: 86%; height: 100%; overflow: hidden; border-radius: inherit; background: var(--green); }
.preview-result__progress-track span::after { position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, rgb(255 255 255 / 45%) 48%, transparent 76%); content: ""; animation: preview-meter-flow 1.45s linear infinite; }
.preview-result__layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .72fr); gap: 20px; align-items: start; }
.preview-result__material, .preview-result__signup { border: 1px solid var(--line); border-radius: 17px; background: var(--surface); box-shadow: 0 15px 36px rgba(45, 48, 40, .07); }
.preview-result__material { overflow: hidden; }
.preview-result__material-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 19px 22px; border-bottom: 1px solid var(--line); }
.preview-result__material-head .eyebrow { margin-bottom: 5px; }
.preview-result__material-head h2 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: 22px; line-height: 1.1; }
.preview-result__ready { display: inline-flex; align-items: center; gap: 7px; color: var(--green); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.preview-result__ready i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.preview-result__post { display: flex; flex-direction: column; gap: 24px; align-items: stretch; padding: 24px; }
.preview-result__copy { width: min(100%, 720px); margin-inline: auto; }
.preview-result__cover { position: relative; display: block; width: min(100%, 460px); margin-inline: auto; padding: 0; overflow: hidden; border: 0; border-radius: 11px; background: transparent; cursor: zoom-in; }
.preview-result__cover:hover { transform: none; }
.preview-result__cover:focus-visible { outline: 3px solid rgb(30 96 63 / 24%); outline-offset: 3px; }
.preview-result__cover img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--green-soft); }
.preview-result__cover span { position: absolute; right: 9px; bottom: 9px; padding: 6px 9px; border-radius: 999px; background: rgb(255 253 248 / 92%); color: var(--green); font-size: 10px; font-weight: 800; box-shadow: 0 4px 14px rgb(23 36 29 / 12%); }
.preview-result__copy .eyebrow { margin-bottom: 8px; }
.preview-result__copy h2 { margin: 0 0 7px; font-family: "Source Serif 4", Georgia, serif; font-size: clamp(24px, 2.3vw, 31px); line-height: 1.1; letter-spacing: -.018em; }
.preview-result__text { white-space: pre-wrap; color: var(--ink); font-size: 16px; line-height: 1.62; }
.preview-result__cta { margin: 15px 0 0; color: var(--ink); font-size: 16px; font-weight: 800; line-height: 1.5; }
.preview-result__cover-note { margin: 0 24px 20px; padding: 11px 14px; border-left: 3px solid var(--green); background: #f2f7f0; color: var(--ink-soft, #3f4c45); font-size: 13px; line-height: 1.5; }
.preview-result__checks { margin: 0 24px 20px; padding-top: 14px; border-top: 1px solid var(--line); }
.preview-result__checks summary { color: var(--green); font-size: 12px; font-weight: 800; cursor: pointer; }
.preview-result__checks p, .preview-result__checks ul { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.preview-result__checks ul { padding-left: 19px; }
.preview-result__actions { display: flex; gap: 10px; padding: 17px 24px 21px; border-top: 1px solid var(--line); }
.preview-result__actions .secondary-button, .preview-result__photo-button { width: auto; min-height: 42px; margin: 0; padding: 10px 16px; }
.preview-result__photo-button { border: 0; background: transparent; color: var(--green); box-shadow: none; }
.preview-result__photo-button:hover { background: #edf4eb; transform: none; }
.preview-result__signup { position: sticky; top: 20px; padding: 25px 25px 23px; border-top: 3px solid var(--green); background: #edf4eb; }
.preview-result__signup .eyebrow { margin-bottom: 8px; }
.preview-result__signup h2 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: 27px; line-height: 1.08; letter-spacing: -.02em; }
.preview-result__signup > p:not(.eyebrow):not(.preview-result__cabinet-note) { margin: 11px 0 0; color: var(--ink-soft, #4e5a52); font-size: 13px; line-height: 1.5; }
.preview-result__signup ul { display: grid; gap: 9px; margin: 18px 0 3px; padding: 0; list-style: none; }
.preview-result__signup li { position: relative; padding-left: 24px; color: var(--ink); font-size: 13px; line-height: 1.4; }
.preview-result__signup li::before { position: absolute; left: 0; color: var(--green); font-weight: 800; content: "✓"; }
.preview-result__signup label { display: block; margin: 17px 0 6px; color: var(--ink-soft, #4e5a52); font-size: 11px; font-weight: 800; }
.preview-result__signup button { width: 100%; }
.preview-result__signup-note { margin: 9px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.preview-result__cabinet-note { margin: 16px 0 0; padding: 12px 13px; border-left: 2px solid var(--green); background: rgb(255 255 255 / 50%); color: var(--muted); font-size: 11px; line-height: 1.5; }
@media (max-width: 900px) {
  .preview-result__layout { grid-template-columns: 1fr; }
  .preview-result__signup { position: static; }
}
@media (max-width: 640px) {
  .preview-result { padding: 25px 0 48px; }
  .preview-result__head { display: block; }
  .preview-result__head h1 { font-size: clamp(34px, 10vw, 43px); }
  .preview-result__source { display: inline-block; margin-top: 14px; }
  .preview-result__post { padding: 18px; }
  .preview-result__cover { max-width: 360px; margin-inline: auto; }
  .preview-result__material-head { align-items: flex-start; }
  .preview-result__actions { flex-direction: column; padding-inline: 18px; }
  .preview-result__actions .secondary-button, .preview-result__photo-button { width: 100%; }
  .preview-result__cover-note, .preview-result__checks { margin-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .preview-result__progress-track span::after { animation: none; }
}

/* Первый комплект: проверка постов и частичное добавление в план (batch.html).
   Один открытый пост за раз, остальное — компактный переключатель. */
.app-main .intro.batch-intro { margin-top: 30px; }
.batch-intro .lede { margin-top: 12px; }
.batch-h1 { margin: 4px 0 0; max-width: 760px; font-size: clamp(27px, 2.7vw, 40px); line-height: 1.08; }

/* Assembling: спокойный список без прыжков, счётчик обновляет polling. */
.assembling-list { display: grid; gap: 2px; margin-top: 30px; border-top: 1px solid var(--line); }
.assembling-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 2px; border-bottom: 1px solid var(--line); }
.assembling-row__n { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.assembling-row__state { display: inline-flex; gap: 8px; align-items: center; color: var(--muted); font-size: 13px; font-weight: 700; }
.assembling-row__ok { color: var(--green); }

.batch-review { margin-top: 44px; padding-bottom: 40px; }  /* спокойный отступ от лида + запас под липкую панель */
.review-head { display: flex; align-items: baseline; justify-content: space-between; gap: 22px; margin-top: 28px; }
.review-head .eyebrow { margin-bottom: 7px; }
.review-head h2 { margin: 0; font-size: 29px; letter-spacing: -.02em; }
.review-count { margin: 0; color: var(--ink-soft); font-size: 13px; font-weight: 700; white-space: nowrap; }
.review-count b { color: var(--ink); }

/* Компактный переключатель постов — не чекбоксы: пост уже готов. */
.post-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.post-choice { display: block; min-height: 0; margin: 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: inherit; text-align: left; cursor: pointer; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.post-choice:hover { border-color: #afbcaf; transform: translateY(-1px); }
.post-choice.is-active { border-color: var(--green); background: #f2f7f1; }
.post-choice.is-selected { border-color: var(--green); }
.post-choice__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.post-choice__num { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.post-choice__status { padding: 3px 8px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 11px; font-weight: 800; white-space: nowrap; }
.post-choice.is-planned .post-choice__status { background: #eaf1e8; color: var(--green-dark); }
.post-choice.is-rework .post-choice__status { background: #f2e9d7; color: #7b531e; }
.post-choice.is-selected .post-choice__status { background: var(--green); color: #fff; }
.post-choice strong { display: -webkit-box; margin-top: 10px; overflow: hidden; font-family: "Source Serif 4", Georgia, serif; font-size: 18px; line-height: 1.15; letter-spacing: -.015em; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* Один раскрытый пост: текст+обложка слева, панель действий справа. */
.review-stack { margin-top: 16px; }
.review-panel { display: none; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: 0 14px 36px rgb(29 43 33 / 6%); }
.review-panel.is-active { display: grid; grid-template-columns: minmax(0, 1fr) 280px; }
.review-content { min-width: 0; padding: 27px 30px 30px; }
.review-post-head { display: flex; align-items: start; justify-content: space-between; gap: 15px; padding-bottom: 21px; border-bottom: 1px solid var(--line); }
.review-post-head .eyebrow { margin-bottom: 7px; }
.review-post-head h2 { max-width: 620px; margin: 0; font-size: 30px; line-height: 1.08; letter-spacing: -.025em; }
.status-badge { flex: 0 0 auto; margin-top: 2px; padding: 6px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.status-badge--ready { background: var(--green-soft); color: var(--green); }
.status-badge--planned { background: #eaf1e8; color: var(--green-dark); }
.status-badge--rework { background: #f2e9d7; color: #7b531e; }

.view-tabs { display: flex; gap: 5px; margin-top: 18px; }
.view-tab { min-height: 0; margin: 0; padding: 7px 11px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-size: 12px; font-weight: 800; cursor: pointer; }
.view-tab:hover { background: #eeece5; color: var(--ink); transform: none; }
.view-tab.is-active { background: #eeece5; color: var(--ink); }

.review-view[hidden] { display: none; }  /* иначе display:grid/flex перебивает [hidden] */
.review-view--split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); gap: 20px; margin-top: 14px; }
/* Пост целиком: CTA — естественная концовка внутри текста, без вложенного скролла. */
.review-copy { padding: 19px 20px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.review-copy__text { margin: 0; color: #334139; font-size: 13.5px; line-height: 1.62; white-space: pre-line; }
.review-copy__cta { margin: 14px 0 0; padding: 12px 14px; border-left: 3px solid var(--green); background: #f3f8f1; color: var(--green-dark); font-size: 13px; font-weight: 800; line-height: 1.45; }
.review-cover { margin: 0; }
.review-cover__img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border: 1px solid var(--line); border-radius: 11px; background: #eef2ed; }
.review-view--large { margin-top: 14px; }
.review-view--large .review-cover { width: min(100%, 360px); }

.action-rail { display: flex; flex-direction: column; padding: 28px 24px; border-left: 1px solid var(--line); background: #f0f0ea; }
.action-rail .eyebrow { margin-bottom: 7px; }
.action-rail h3 { margin: 0; font-size: 22px; line-height: 1.08; letter-spacing: -.02em; }
.action-rail__hint { margin: 12px 0 0; color: var(--ink-soft); font-size: 12.5px; line-height: 1.55; }
.action-rail__list { display: grid; gap: 9px; margin-top: 22px; }
.action-rail__safe { margin: 3px 2px 5px; color: var(--muted); font-size: 11.5px; line-height: 1.4; }
.action-select { min-height: 44px; margin: 0; padding: 10px 14px; border: 1px solid var(--green); border-radius: 8px; background: var(--green); color: #fff; font-size: 13px; font-weight: 800; cursor: pointer; }
.action-select:hover { background: var(--green-dark); border-color: var(--green-dark); }
.action-select[aria-pressed="true"] { background: transparent; color: var(--green); }
.action-select[aria-pressed="true"]:hover { background: var(--green-soft); }
.action-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; margin: 0; padding: 9px 14px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); color: var(--ink-soft); font: inherit; font-size: 13px; font-weight: 700; text-decoration: none; cursor: pointer; }
.action-secondary:hover { border-color: var(--muted); background: var(--surface); color: var(--ink); transform: none; }
.action-rail form { margin: 0; }
.action-rail__note { margin-top: auto; padding-top: 20px; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
.plan-format { display: grid; gap: 7px; margin: 0 0 18px; padding: 0 0 18px; border: 0; border-bottom: 1px solid var(--line); }
.plan-format legend { margin-bottom: 7px; padding: 0; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.plan-format__option { display: flex; gap: 9px; align-items: flex-start; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); cursor: pointer; }
.plan-format__option:has(input:checked) { border-color: var(--green); background: var(--green-soft); }
.plan-format__option input { width: auto; min-height: 0; margin: 3px 0 0; accent-color: var(--green); }
.plan-format__option span { display: grid; gap: 2px; min-width: 0; }
.plan-format__option b { color: var(--ink); font-size: 12.5px; }
.plan-format__option small { color: var(--muted); font-size: 10.5px; line-height: 1.35; }

/* Встроенная правка поста: read-only ↔ редактор в той же карточке. */
.review-editor { display: none; }
.review-panel.is-editing .review-readonly { display: none; }
.review-panel.is-editing .review-editor { display: block; }
.rail-edit { display: none; }
.review-panel.is-editing .rail-view { display: none; }
.review-panel.is-editing .rail-edit { display: block; }

.review-saved { display: flex; align-items: center; gap: 9px; margin: 16px 0 0; padding: 11px 13px; border: 1px solid #c4d9c4; border-radius: 9px; background: #eff7ed; color: var(--green-dark); font-size: 12.5px; font-weight: 700; line-height: 1.45; }

.work-label { display: flex; align-items: center; gap: 9px; margin: 4px 0 12px; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.work-label span { padding: 3px 7px; border-radius: 999px; background: #f5ead7; color: #7e571e; font-size: 9.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.post-editor__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(220px, .92fr); gap: 18px; }
.post-editor__fields { min-width: 0; }
.field-label { display: block; margin: 15px 0 7px; color: var(--ink); font-size: 11px; font-weight: 800; }
.field-label:first-child { margin-top: 0; }
.review-editor textarea { width: 100%; min-height: 340px; padding: 14px 15px; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; color: var(--ink); font: inherit; font-size: 13px; line-height: 1.58; resize: vertical; }
.review-editor input { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; color: var(--ink); font: inherit; }
.post-editor__fields [aria-describedby] { border-color: #cf6b60; box-shadow: 0 0 0 3px rgb(207 107 96 / 15%); }
.field-error { margin: 8px 0 0; color: #a12b21; font-size: 12px; font-weight: 700; line-height: 1.4; }
.editor-hint { margin: 14px 0 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fbfaf5; color: var(--ink-soft); font-size: 11.5px; line-height: 1.42; }

.post-editor__preview { display: grid; gap: 12px; align-content: start; min-width: 0; }
.vk-preview { padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #f0f0ea; }
.vk-preview__label { margin: 0 0 9px; color: var(--green); font-size: 9.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vk-card { padding: 14px; border-radius: 8px; background: #fff; box-shadow: 0 6px 15px rgb(40 50 42 / 7%); }
.vk-card__text { margin: 0; overflow-wrap: anywhere; color: #46524a; font-size: 12px; line-height: 1.55; white-space: pre-line; }
.vk-card__cta { margin: 12px 0 0; padding-top: 11px; overflow-wrap: anywhere; border-top: 1px solid #e8eee6; color: var(--green); font-size: 12px; font-weight: 800; line-height: 1.45; white-space: pre-line; }
.vk-card__cta:empty { display: none; }

.batch-sticky { position: fixed; left: var(--sidebar-width); right: 0; bottom: 0; z-index: 20; display: flex; align-items: center; gap: 20px; padding: 13px var(--cabinet-gutter); border-top: 1px solid var(--line-strong); background: color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter: blur(8px); }
.batch-sticky__status { color: var(--ink-soft); font-size: 13px; font-weight: 700; }
.batch-sticky__spacer { flex: 1; }
.batch-sticky__rebuild { margin: 0; }
.quiet-link { min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: var(--muted); font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.quiet-link:hover { background: none; color: var(--ink-soft); transform: none; }
.batch-sticky__cta { min-height: 46px; margin: 0; padding: 0 18px; border: 1px solid var(--green); border-radius: 8px; background: var(--green); color: #fff; font-size: 13px; font-weight: 800; cursor: pointer; }
.batch-sticky__cta:hover { background: var(--green-dark); border-color: var(--green-dark); }
.batch-sticky__cta:disabled { opacity: .5; cursor: default; }
.batch-sticky__cta:disabled:hover { background: var(--green); border-color: var(--green); transform: none; }

.plan-batch-notice { margin: 20px 0 0; padding: 13px 16px; border: 1px solid #bdd0bd; border-left: 3px solid var(--green); border-radius: 10px; background: #eff7ed; color: var(--green-dark); font-size: 13.5px; font-weight: 700; line-height: 1.5; }
.plan-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(104px, 32%); gap: 8px; margin: 0 0 14px; padding: 0 0 6px; overflow-x: auto; list-style: none; scroll-snap-type: inline mandatory; }
.plan-carousel li { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--sand); scroll-snap-align: start; }
.plan-carousel img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.plan-carousel li span { position: absolute; right: 6px; bottom: 6px; min-width: 22px; padding: 3px 6px; border-radius: 999px; background: rgb(16 20 12 / 78%); color: #fff; font-size: 11px; font-weight: 800; text-align: center; }
.plan-carousel__caption { margin: 0 0 14px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--sand); }
.plan-carousel__caption .eyebrow { margin: 0 0 5px; }
.plan-carousel__caption > p:last-child { margin: 0; color: var(--ink-soft); font-size: 12.5px; line-height: 1.5; white-space: pre-line; }

@media (max-width: 900px) {
  .review-head { align-items: start; flex-direction: column; gap: 8px; }
  .review-panel.is-active { grid-template-columns: 1fr; }
  .action-rail { border-left: 0; border-top: 1px solid var(--line); }
}
/* Sticky-панель: без sidebar (mobile) выравнивается по левому краю окна. */
@media (max-width: 760px) {
  .batch-sticky { left: 0; }
}
@media (max-width: 640px) {
  .post-switcher { grid-template-columns: 1fr; }
  .review-content { padding: 22px 18px; }
  .review-view--split { grid-template-columns: 1fr; }
  .post-editor__grid { grid-template-columns: 1fr; }
  .review-editor textarea { min-height: 240px; }
  .batch-sticky { flex-wrap: wrap; gap: 10px; padding: 12px 18px; }
  .batch-sticky__status { width: 100%; }
  .batch-sticky__spacer { display: none; }
  .batch-sticky__rebuild { margin-right: auto; }
  .batch-sticky__cta { flex: 1; }
  .batch-review { padding-bottom: 120px; }  /* панель переносится в 2 строки */
}

/* --- Визуальный профиль: A1 (блок стиля в брифе) и A3 (стиль обложки в карточке) --- */
/* A1 — спокойный компактный блок формы вместо нативной рамки fieldset. */
.biz-style { margin-top: 22px; padding: 16px 18px; border: 0; border-radius: var(--radius-card); background: var(--sand); }
.biz-style legend { float: none; padding: 0; margin-bottom: 4px; font-size: 14px; font-weight: 800; color: var(--ink); }
.biz-style > .muted { margin: 0 0 12px; font-size: 13px; }
.biz-style label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; color: var(--ink-soft); }
.biz-style select,
.cover-style select { width: auto; min-width: 240px; max-width: 360px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--surface); color: inherit; font: inherit; }
.biz-style__hint { margin: 8px 0 0; font-size: 13px; }

/* A3 — закрытый вид: одна компактная строка «Стиль обложки… · Изменить». */
.cover-style { margin: 14px 0 4px; font-size: 13px; line-height: 1.5; }
.cover-style__line { display: inline; margin: 0; color: var(--muted); }
.cover-style__edit { display: inline; }
.cover-style__edit summary { display: inline; margin-left: 4px; color: var(--green); font-weight: 700; cursor: pointer; list-style: none; }
.cover-style__edit summary::-webkit-details-marker { display: none; }
.cover-style__edit summary::before { content: "· "; color: var(--muted); font-weight: 400; }
/* A3 — раскрытый вид: небольшая светлая панель. */
.cover-style__edit[open] { display: block; margin-top: 10px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--surface); }
.cover-style__edit[open] summary { display: inline-block; margin: 0 0 12px; }
.cover-style__edit[open] summary::before { content: ""; }
.cover-style__form { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0; }
.cover-style__form + .cover-style__form { margin-top: 10px; }
.cover-style__form .field-label { flex: 0 0 100%; margin: 0; font-size: 12px; font-weight: 700; color: var(--ink-soft); }
.cover-style__form button { width: auto; min-height: 42px; margin-top: 0; }
/* основная кнопка перегенерации — зелёная-первичная (перебивает .action-secondary). */
.cover-style__form:first-of-type button { border-color: var(--green); background: var(--green); color: #fff; }
.cover-style__form:first-of-type button:hover { border-color: var(--green-dark); background: var(--green-dark); }
/* вторичная кнопка «Наследовать…» — светлая, не на всю ширину. */
.cover-style__form:last-of-type button { border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink-soft); font-weight: 700; }
.cover-style__form:last-of-type button:hover { border-color: var(--green); background: var(--green-soft); color: var(--ink); }
.cover-style__hint { margin: 12px 0 0; color: var(--muted); font-size: 12px; }

/* Предупреждение по обложке в карточке (P1: pending / OCR needs_confirm). */
.cover-warn { margin: 12px 0 0; padding: 10px 12px; border: 1px solid #e6c98a; border-left: 3px solid #d9a441; border-radius: 8px; background: #fbf3e2; color: #7a5a1e; font-size: 12.5px; line-height: 1.45; }
.cover-warn--confirm { display: flex; gap: 9px; align-items: flex-start; cursor: pointer; }
.cover-warn--confirm input { width: auto; min-height: 0; margin: 2px 0 0; }

/* --- Материалы: автоматический подбор Завода --- */
.factory-topline { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 18px 0 42px; color: var(--muted); font-size: 12px; font-weight: 700; }
.factory-topline a { color: var(--green); text-decoration: none; }
.factory-intro { max-width: 900px; margin-bottom: 34px; }
.factory-intro h1 { max-width: 720px; margin: 8px 0 10px; font-family: var(--serif); font-size: clamp(42px, 5vw, 66px); font-weight: 650; letter-spacing: -.045em; line-height: .98; }
.factory-intro > p:last-child { max-width: 760px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.5; }
.factory-form { overflow: hidden; margin-bottom: 42px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.factory-section { display: grid; grid-template-columns: minmax(190px, 260px) minmax(0, 1fr); gap: 44px; padding: 28px 32px; border-bottom: 1px solid var(--line); }
.factory-section__title h2 { margin: 0 0 6px; font-family: var(--serif); font-size: 25px; line-height: 1.05; }
.factory-section__title p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.factory-section__body { min-width: 0; }
.factory-goal { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; padding: 16px 18px; border: 1px solid #c6d5c6; border-radius: 10px; background: var(--green-soft); }
.factory-goal div { display: grid; gap: 4px; }
.factory-goal small { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.factory-goal strong { font-size: 15px; line-height: 1.35; }
.materials-button--quiet { min-height: 38px; padding: 0 13px; background: transparent; }
.factory-counts { display: flex; gap: 10px; }
.factory-count { position: relative; cursor: pointer; }
.factory-count input { position: absolute; opacity: 0; pointer-events: none; }
.factory-count span { display: grid; width: 52px; height: 46px; place-items: center; border: 1px solid var(--line-strong); border-radius: 9px; background: #fffdf8; color: var(--ink-soft); font-size: 14px; font-weight: 800; transition: border-color .15s ease, background .15s ease; }
.factory-count input:checked + span { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); background: var(--green-soft); color: var(--green); }
.factory-count input:focus-visible + span { outline: 2px solid var(--green); outline-offset: 2px; }
.factory-help { margin: 11px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.factory-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.factory-choice { position: relative; min-width: 0; cursor: pointer; }
.factory-choice input { position: absolute; opacity: 0; pointer-events: none; }
.factory-choice span { display: grid; align-content: start; min-height: 106px; padding: 15px 16px; overflow-wrap: anywhere; border: 1px solid var(--line); border-radius: 10px; background: #fffdf8; transition: border-color .15s ease, background .15s ease; }
.factory-choice strong { font-size: 13px; line-height: 1.25; }
.factory-choice small { margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.factory-choice input:checked + span { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); background: var(--green-soft); }
.factory-choice input:focus-visible + span { outline: 2px solid var(--green); outline-offset: 2px; }
.factory-style-picker { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 11px; background: #fffdf8; }
.factory-style-picker__summary { display: grid; grid-template-columns: 66px minmax(0, 1fr) auto; gap: 13px; align-items: center; min-height: 88px; padding: 10px 13px 10px 10px; cursor: pointer; list-style: none; }
.factory-style-picker__summary::-webkit-details-marker { display: none; }
.factory-style-picker__summary:hover { background: #faf9f3; }
.factory-style-picker__summary:focus-visible { outline: 2px solid var(--green); outline-offset: -3px; }
.factory-style-picker__example { display: block; }
.factory-style-picker__example .factory-style-example { width: 66px; }
.factory-style-picker__current { display: grid; gap: 5px; min-width: 0; }
.factory-style-picker__current > small { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.factory-style-picker__current > span:last-child { overflow-wrap: anywhere; color: var(--muted); font-size: 11px; line-height: 1.4; }
.factory-style-picker__action { display: flex; gap: 8px; align-items: center; color: var(--green); font-size: 11px; font-weight: 850; white-space: nowrap; }
.factory-style-picker__action i { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid #b8c7b9; border-radius: 50%; font-size: 15px; font-style: normal; transition: transform .15s ease; }
.factory-style-picker[open] .factory-style-picker__action i { transform: rotate(180deg); }
.factory-style-picker[open] .factory-style-picker__summary { background: var(--green-soft); }
.factory-style-fieldset { min-width: 0; margin: 0; padding: 14px; border: 0; border-top: 1px solid var(--line); }
.factory-style-fieldset legend { padding: 0 4px; color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.factory-style-options { display: grid; grid-template-columns: 1fr; gap: 8px; }
.factory-style-option { position: relative; min-width: 0; cursor: pointer; }
.factory-style-option > input { position: absolute; opacity: 0; pointer-events: none; }
.factory-style-option__card { position: relative; display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 13px; min-height: 96px; padding: 9px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fffdf8; transition: border-color .15s ease, background .15s ease; }
.factory-style-option__card > .factory-style-example { width: 68px; }
.factory-style-option:hover .factory-style-option__card { border-color: #9fb3a3; }
.factory-style-option > input:checked + .factory-style-option__card { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); background: var(--green-soft); }
.factory-style-option > input:focus-visible + .factory-style-option__card { outline: 2px solid var(--green); outline-offset: 2px; }
.factory-style-option__copy { display: grid; align-content: center; gap: 7px; min-width: 0; padding-right: 8px; }
.factory-style-option__name { display: flex; flex-wrap: wrap; gap: 5px 7px; align-items: center; }
.factory-style-option__name strong { overflow-wrap: anywhere; font-size: 12px; line-height: 1.25; }
.factory-style-option__name em { padding: 3px 6px; border-radius: 999px; background: #dfeadf; color: var(--green); font-size: 7px; font-style: normal; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.factory-style-option__copy > small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.factory-style-option__check { position: absolute; top: 8px; right: 8px; display: none; width: 19px; height: 19px; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-size: 11px; font-weight: 900; }
.factory-style-option > input:checked + .factory-style-option__card .factory-style-option__check { display: grid; }

/* Один сюжет во всех образцах: меняются только палитра, фактура и композиция. */
.factory-style-example { position: relative; display: block; width: 84px; aspect-ratio: 4 / 5; align-self: center; overflow: hidden; border: 1px solid rgba(31, 42, 34, .2); border-radius: 5px; background: #ede4cf; color: #18231c; isolation: isolate; }
.factory-style-example__grid,
.factory-style-example__subject,
.factory-style-example__accent,
.factory-style-example__kicker,
.factory-style-example strong,
.factory-style-example small { position: absolute; z-index: 2; }
.factory-style-example__kicker { top: 9px; left: 8px; font-size: 5px; font-weight: 900; letter-spacing: .09em; }
.factory-style-example strong { left: 8px; right: 7px; top: 26px; font-family: var(--serif); font-size: 11px; line-height: .95; letter-spacing: -.035em; }
.factory-style-example small { right: 7px; bottom: 7px; padding: 2px 4px; background: rgba(255, 253, 248, .86); font-size: 5px; font-weight: 900; text-transform: uppercase; }

.factory-style-example--illustrated { background: #ddc694; color: #382815; }
.factory-style-example--illustrated::before { position: absolute; inset: 0; z-index: 0; background: repeating-linear-gradient(158deg, transparent 0 5px, rgba(61, 42, 20, .13) 5px 6px), radial-gradient(circle at 55% 76%, rgba(77, 50, 22, .26), transparent 34%); content: ""; }
.factory-style-example--illustrated .factory-style-example__subject { right: 8px; bottom: 12px; width: 35px; height: 42px; border: 1px solid #4b351b; border-radius: 45% 45% 12% 12%; background: repeating-linear-gradient(130deg, transparent 0 3px, rgba(56, 39, 17, .48) 3px 4px); transform: rotate(-4deg); }
.factory-style-example--illustrated .factory-style-example__subject::before { position: absolute; top: -14px; left: 8px; width: 18px; height: 18px; border: 1px solid #4b351b; border-radius: 48%; background: #d8c08d; content: ""; }
.factory-style-example--illustrated .factory-style-example__accent { left: 7px; bottom: 19px; width: 37px; height: 25px; border: 1px solid #4b351b; background: rgba(235, 217, 173, .55); transform: rotate(3deg); }
.factory-style-example--illustrated strong { right: 10px; font-size: 11px; text-shadow: 0 0 .01px currentColor; }

.factory-style-example--editorial_signal { background: #f3efe5; color: #151a16; }
.factory-style-example--editorial_signal .factory-style-example__grid { inset: 0; z-index: 0; background: linear-gradient(90deg, transparent 32%, rgba(28, 36, 30, .12) 32% 33%, transparent 33% 66%, rgba(28, 36, 30, .12) 66% 67%, transparent 67%), linear-gradient(rgba(28, 36, 30, .12) 1px, transparent 1px); background-size: 100% 100%, 100% 19px; }
.factory-style-example--editorial_signal .factory-style-example__subject { right: -5px; bottom: 10px; width: 43px; height: 57px; border-radius: 28px 28px 5px 5px; background: #1e2922; clip-path: polygon(30% 0, 71% 0, 85% 28%, 100% 100%, 0 100%, 12% 30%); }
.factory-style-example--editorial_signal .factory-style-example__accent { right: 8px; top: 8px; width: 17px; height: 17px; border: 4px solid #c29c50; border-radius: 50%; }
.factory-style-example--editorial_signal strong { top: 34px; right: 24px; font-family: Arial, sans-serif; font-size: 12px; font-weight: 900; line-height: .86; text-transform: uppercase; }
.factory-style-example--editorial_signal small { left: 8px; right: auto; background: #c29c50; color: #161a17; }

.factory-style-example--documentary_workshop { border-color: #ad9e86; background: linear-gradient(135deg, #847864, #bcae98 48%, #5f5c50); color: #1e211c; }
.factory-style-example--documentary_workshop::before { position: absolute; inset: 0; z-index: 0; background: linear-gradient(15deg, rgba(38, 31, 23, .48) 0 23%, transparent 24%), radial-gradient(ellipse at 72% 30%, #d5c7ae 0 11%, #7c6f5e 12% 26%, transparent 27%), linear-gradient(95deg, transparent 15%, rgba(244, 226, 190, .25) 15% 18%, transparent 18%); filter: saturate(.78); content: ""; }
.factory-style-example--documentary_workshop .factory-style-example__subject { left: -10px; right: -10px; bottom: 0; height: 31px; background: linear-gradient(8deg, #514434, #8a745b); border-top: 2px solid rgba(244, 228, 201, .45); }
.factory-style-example--documentary_workshop .factory-style-example__accent { left: 9px; top: 65px; width: 34px; height: 3px; background: #a53e2d; transform: rotate(-4deg); }
.factory-style-example--documentary_workshop .factory-style-example__kicker { top: 10px; padding: 3px 5px; background: #f0e6d2; clip-path: polygon(0 5%, 94% 0, 100% 90%, 5% 100%); }
.factory-style-example--documentary_workshop strong { top: 31px; right: 12px; padding: 6px 6px 8px; background: #efe4cf; font-family: Arial, sans-serif; font-size: 11px; font-weight: 900; line-height: .92; text-transform: uppercase; clip-path: polygon(2% 2%, 100% 0, 96% 95%, 0 100%); }

.factory-style-example--paper_collage { border-color: #8d765e; background: #efe4c8; color: #181b17; }
.factory-style-example--paper_collage::before { position: absolute; inset: -5px; z-index: 0; background: linear-gradient(124deg, #db604a 0 34%, transparent 34%), linear-gradient(20deg, transparent 0 47%, #d1a640 47% 72%, transparent 72%), linear-gradient(160deg, transparent 0 58%, #4b8b84 58% 79%, transparent 79%); clip-path: polygon(0 4%, 100% 0, 95% 31%, 100% 68%, 92% 100%, 2% 94%, 7% 61%); content: ""; }
.factory-style-example--paper_collage .factory-style-example__subject { right: 3px; bottom: -4px; width: 41px; height: 58px; background: #24241e; clip-path: polygon(38% 0, 68% 4%, 79% 25%, 68% 38%, 88% 100%, 7% 100%, 22% 40%, 15% 22%); filter: drop-shadow(0 0 0 #f5edd9) drop-shadow(2px 0 0 #f5edd9) drop-shadow(-2px 0 0 #f5edd9); }
.factory-style-example--paper_collage .factory-style-example__accent { left: 5px; bottom: 7px; width: 47px; height: 22px; border: 2px solid #1d241e; border-width: 2px 0 0; border-radius: 50%; transform: rotate(-8deg); }
.factory-style-example--paper_collage .factory-style-example__kicker { top: 7px; padding: 3px 5px; background: #f2e6c9; transform: rotate(-2deg); }
.factory-style-example--paper_collage strong { top: 30px; left: 5px; right: 10px; padding: 4px 5px; background: #f4ead2; font-family: Arial, sans-serif; font-size: 11px; font-weight: 900; line-height: .9; text-transform: uppercase; transform: rotate(-1deg); clip-path: polygon(2% 3%, 100% 0, 96% 100%, 0 93%); }
.factory-style-example--paper_collage small { background: #d7ac42; transform: rotate(2deg); }
.factory-context { margin: 0; border-top: 1px solid var(--line); }
.factory-context > div { display: grid; grid-template-columns: minmax(135px, .42fr) minmax(0, 1fr); gap: 22px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.factory-context dt { color: var(--ink); font-size: 12px; font-weight: 800; line-height: 1.35; }
.factory-context dd { margin: 0; overflow-wrap: anywhere; color: var(--muted); font-size: 11px; line-height: 1.45; }
.factory-direction-toggle { margin-top: 13px; }
.factory-direction { display: none; margin-top: 13px; }
.factory-direction.is-open { display: grid; gap: 6px; }
.factory-direction label { color: var(--ink-soft); font-size: 11px; font-weight: 800; }
.factory-direction textarea { min-height: 105px; resize: vertical; }
.factory-actions { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 20px 32px; background: #f6f7f1; }
.factory-actions > p { max-width: 660px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.factory-actions > div { display: flex; flex: 0 0 auto; gap: 10px; align-items: center; }
.factory-actions form { margin: 0; }
.factory-blocked { max-width: 760px; margin-top: 30px; padding: 28px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.factory-blocked h2 { margin: 8px 0; font-family: var(--serif); font-size: 31px; line-height: 1.1; }
.factory-blocked > p:not(.eyebrow) { margin: 0 0 20px; color: var(--muted); line-height: 1.55; }
.factory-intro--topics { margin-bottom: 24px; }
.factory-topics-wait { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 12px; align-items: center; max-width: 720px; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-raised); }
.factory-topics-wait p { grid-column: 2; margin: 0; color: var(--muted); font-size: 12px; }
.factory-topics-form { max-width: 1040px; }
.factory-topics-list { display: grid; gap: 12px; }
.factory-topic-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(270px, 320px); gap: 20px; align-items: center; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--raised); box-shadow: var(--shadow-raised); }
.factory-topic-card__number { color: var(--green); font-family: var(--serif); font-size: 24px; font-weight: 700; }
.factory-topic-card__copy { min-width: 0; }
.factory-topic-card__copy h2 { margin: 4px 0 7px; font-family: var(--serif); font-size: 25px; line-height: 1.08; }
.factory-topic-card__copy > p:last-child:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.factory-topic-format { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.factory-topic-format legend { grid-column: 1 / -1; margin-bottom: 2px; color: var(--ink-soft); font-size: 11px; font-weight: 800; }
.factory-topic-format legend span { color: var(--green); }
.factory-topic-format__choice { position: relative; min-width: 0; cursor: pointer; }
.factory-topic-format__choice input { position: absolute; opacity: 0; pointer-events: none; }
.factory-topic-format__choice > span { display: grid; gap: 2px; min-height: 62px; padding: 11px 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); }
.factory-topic-format__choice strong { font-size: 12px; }
.factory-topic-format__choice small { color: var(--muted); font-size: 10px; line-height: 1.3; }
.factory-topic-format__choice input:checked + span { border-color: var(--green); background: var(--green-soft); box-shadow: inset 0 0 0 1px var(--green); }
.factory-actions--topics { margin-top: 16px; border: 1px solid var(--line); border-radius: 14px; }

@media (max-width: 900px) {
  .factory-section { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 680px) {
  .factory-topline { align-items: flex-start; flex-direction: column; margin-bottom: 28px; }
  .factory-intro h1 { font-size: 43px; }
  .factory-intro > p:last-child { font-size: 15px; }
  .factory-section { padding: 22px 18px; }
  .factory-format-grid { grid-template-columns: 1fr; }
  .factory-choice span { min-height: 0; }
  .factory-style-picker__summary { grid-template-columns: 72px minmax(0, 1fr); }
  .factory-style-picker__example .factory-style-example { width: 72px; }
  .factory-style-picker__action { grid-column: 2; justify-content: space-between; }
  .factory-style-option__card { grid-template-columns: 72px minmax(0, 1fr); }
  .factory-style-option__card > .factory-style-example { width: 72px; }
  .factory-goal { align-items: flex-start; flex-direction: column; }
  .factory-context > div { grid-template-columns: 1fr; gap: 4px; }
  .factory-actions { align-items: stretch; flex-direction: column; padding: 18px; }
  .factory-actions > div { align-items: stretch; flex-direction: column-reverse; }
  .factory-actions .materials-button { justify-content: center; width: 100%; }
  .factory-actions--preview > div { width: 100%; }
  .factory-topic-card { grid-template-columns: 32px minmax(0, 1fr); gap: 14px 10px; padding: 18px; }
  .factory-topic-format { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
}

/* C1.5 — текстовый предпросмотр карусели в карточке батча */
.cpanel { display: flex; flex-direction: column; gap: 12px; }
.cpanel__muted { color: var(--muted, #6b6b6b); font-size: 0.9rem; }
.cpanel__head { display: flex; align-items: center; gap: 10px; }
.cpanel__ver { font-weight: 600; }
.cpanel__warn { color: #8a4b00; background: #fff4e5; border-radius: 8px; padding: 8px 12px; }
.cpanel__errs, .cpanel__warns { margin: 0; padding-left: 18px; }
.cpanel__errs { color: #a12b2b; }
.cpanel__caption { border-top: 1px solid var(--line, #e6e2d8); padding-top: 8px; }
.cpanel__tech { font-size: 0.85rem; color: var(--muted, #6b6b6b); }
.cpanel__history { font-size: 0.9rem; }
.cpanel__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cslides { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cslide { border: 1px solid var(--line, #e6e2d8); border-radius: 10px; padding: 12px 14px; background: #fff; }
.cslides--muted .cslide { opacity: 0.75; }
.cslide__meta { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted, #6b6b6b); margin: 0 0 6px; }
.cslide__src { margin-left: 8px; }
.cslide__headline { font-weight: 600; font-size: 1.05rem; margin: 0 0 4px; }
.cslide__quote { margin: 0 0 4px; font-style: italic; border-left: 3px solid var(--accent, #d8c77a); padding-left: 10px; }
.cslide__body { margin: 0 0 4px; }
.cslide__cta { margin: 4px 0 0; font-weight: 600; }
.cslide__list { margin: 4px 0 0; padding-left: 18px; }
.cslide__versus { display: flex; gap: 8px; align-items: baseline; }
.cslide__versus em { color: var(--muted, #6b6b6b); font-style: normal; }

/* C2 — готовая визуальная карусель: горизонтальный просмотр нативных 4:5 слайдов. */
.cvisual { display: grid; gap: 12px; margin: 2px 0 8px; }
.cvisual__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.cvisual__head .eyebrow, .cvisual__head .cpanel__muted { margin: 0; }
.cvisual__head-tools { display: grid; justify-items: end; gap: 8px; }
.cvisual__toolbar { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.cvisual__toolbar .action-secondary { min-height: 36px; padding: 7px 11px; }
.cvisual__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 31%);
  gap: 12px;
  margin: 0;
  padding: 0 0 8px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  list-style: none;
  scrollbar-width: thin;
}
.cvisual__item { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--sand); scroll-snap-align: start; }
.cvisual__open { display: block; width: 100%; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.cvisual__open:hover { border: 0; background: transparent; transform: none; }
.cvisual__open:focus-visible { outline: 3px solid var(--green); outline-offset: -3px; }
.cvisual__item img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .18s ease; }
.cvisual__open:hover img { transform: scale(1.015); }
.cvisual__count, .cvisual__download { position: absolute; bottom: 9px; z-index: 1; padding: 4px 8px; border-radius: 999px; background: rgb(16 20 12 / 78%); color: #fff; font-size: 11px; font-weight: 800; line-height: 1.35; }
.cvisual__count { right: 9px; }
.cvisual__download { left: 9px; text-decoration: none; }
.cvisual__download:hover { background: var(--green); color: #fff; }
.cvisual__approve { display: flex; flex: 1 1 100%; flex-wrap: wrap; gap: 9px 14px; align-items: center; }
.cvisual__approve label { display: flex; gap: 8px; align-items: flex-start; color: var(--ink-soft); font-size: 12.5px; line-height: 1.4; }
.cvisual__approve input { width: auto; min-height: 0; margin-top: 2px; }

/* C2.1 — крупный просмотр без ухода со страницы: стрелки, клавиатура и свайп. */
.cvisual-lightbox {
  width: min(1180px, calc(100vw - 32px));
  height: min(920px, calc(100vh - 32px));
  max-width: none;
  max-height: none;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 16px;
  background: #11150f;
  color: #fff;
  box-shadow: 0 28px 90px rgb(0 0 0 / 42%);
}
.cvisual-lightbox::backdrop { background: rgb(11 14 10 / 82%); backdrop-filter: blur(3px); }
.cvisual-lightbox__shell { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; }
.cvisual-lightbox__head, .cvisual-lightbox__foot { display: flex; align-items: center; gap: 12px; padding: 12px 16px; }
.cvisual-lightbox__head { justify-content: space-between; border-bottom: 1px solid rgb(255 255 255 / 12%); }
.cvisual-lightbox__close { min-height: 36px; margin: 0; padding: 7px 11px; border-color: rgb(255 255 255 / 28%); background: transparent; color: #fff; }
.cvisual-lightbox__close:hover { border-color: #fff; background: rgb(255 255 255 / 8%); }
.cvisual-lightbox__stage { display: grid; grid-template-columns: 54px minmax(0, 1fr) 54px; align-items: center; min-height: 0; overflow: hidden; padding: 12px; background: #090c08; touch-action: pan-y; }
.cvisual-lightbox__stage img { display: block; width: auto; max-width: 100%; height: 100%; min-height: 0; max-height: 100%; margin: auto; object-fit: contain; user-select: none; }
.cvisual-lightbox__arrow { width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 1px solid rgb(255 255 255 / 24%); border-radius: 50%; background: rgb(255 255 255 / 8%); color: #fff; font-size: 30px; line-height: 1; }
.cvisual-lightbox__arrow:hover { border-color: #fff; background: rgb(255 255 255 / 16%); }
.cvisual-lightbox__arrow--next { justify-self: end; }
.cvisual-lightbox__foot { justify-content: space-between; border-top: 1px solid rgb(255 255 255 / 12%); }
.cvisual-lightbox__foot .cpanel__muted { margin: 0; color: rgb(255 255 255 / 62%); }
.cvisual-lightbox__foot .action-secondary { min-height: 36px; border-color: rgb(255 255 255 / 25%); background: rgb(255 255 255 / 8%); color: #fff; }

/* C1.5 — переключатель версий и read-only панель scheduled */
.cver-switch { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.cver-tab { border: 1px solid var(--line, #e6e2d8); background: #fff; border-radius: 999px; padding: 4px 12px; font-size: 0.85rem; cursor: pointer; }
.cver-tab.is-active { background: var(--ink, #10140c); color: #fff; border-color: var(--ink, #10140c); }
.cver { display: flex; flex-direction: column; gap: 10px; }
.cpanel-standalone { padding: 16px; border: 1px solid var(--line, #e6e2d8); border-radius: 12px; background: #faf8f2; margin-bottom: 14px; }

@media (max-width: 760px) {
  .cvisual__head { flex-direction: column; gap: 7px; }
  .cvisual__head-tools { width: 100%; justify-items: start; }
  .cvisual__toolbar { justify-content: flex-start; }
  .cvisual__track { grid-auto-columns: minmax(230px, 78%); }
  .cvisual-lightbox { width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
  .cvisual-lightbox__stage { grid-template-columns: 42px minmax(0, 1fr) 42px; padding: 8px; }
  .cvisual-lightbox__arrow { width: 36px; height: 36px; min-height: 36px; font-size: 25px; }
  .cvisual-lightbox__foot { flex-wrap: wrap; }
  .cvisual-lightbox__foot .cpanel__muted { display: none; }
}

/* Самостоятельный генератор изображений по описанию. */
.image-generator-entry { gap: 8px; }
.image-generator-entry > span { color: var(--green); font-size: 15px; }
.image-generator-entry > small {
  padding: 3px 6px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.image-generator-breadcrumb {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 24px 0 26px;
  color: var(--muted);
  font-size: 11px;
}
.image-generator-breadcrumb a { color: var(--green); font-weight: 800; }
.image-generator-intro {
  display: flex;
  gap: 32px;
  align-items: end;
  justify-content: space-between;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--line);
}
.image-generator-intro h1 {
  max-width: 850px;
  margin: 8px 0 6px;
  font-family: var(--serif);
  font-size: clamp(42px, 4.3vw, 68px);
  font-weight: 650;
  line-height: .97;
  letter-spacing: -.045em;
}
.image-generator-intro .lede { max-width: 790px; margin: 0; }
.image-generator-intro > span {
  flex: 0 0 auto;
  margin-bottom: 4px;
  padding: 8px 11px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green);
  font-size: 11px;
  font-weight: 800;
}
.image-generator-notice { margin-top: 18px; }
.image-generator-notice a { margin-left: 8px; color: var(--green); font-weight: 800; }
.image-generator-error { max-width: 900px; margin-top: 18px; }
.image-generator-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .95fr);
  gap: 20px;
  align-items: start;
  margin-top: 24px;
}
.image-generator-form,
.image-generator-result {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}
.image-generator-section { padding: 25px 28px; border-bottom: 1px solid var(--line); }
.image-generator-section__head {
  display: flex;
  gap: 24px;
  align-items: start;
  justify-content: space-between;
  margin-bottom: 20px;
}
.image-generator-section__head h2,
.image-generator-result h2,
.image-generator-recent h2,
.image-generator-dialog h2 {
  margin: 6px 0 0;
  font-family: var(--serif);
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: -.025em;
}
.image-generator-section__head > small {
  max-width: 230px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
  text-align: right;
}
.image-generator-label,
.image-generator-fieldset legend,
.image-generator-exact-text > span {
  display: block;
  margin-bottom: 7px;
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.image-generator-form textarea {
  display: block;
  width: 100%;
  min-height: 138px;
  padding: 15px;
  resize: vertical;
}
.image-generator-prompt-meta {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
}
.image-generator-fieldset { min-width: 0; margin: 18px 0 0; padding: 0; border: 0; }
.image-generator-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.image-generator-choice,
.image-generator-style,
.image-generator-format {
  position: relative;
  display: block;
  cursor: pointer;
}
.image-generator-choice input,
.image-generator-style input,
.image-generator-format input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.image-generator-choice > span {
  display: grid;
  grid-template-columns: minmax(82px, .42fr) minmax(0, 1fr);
  gap: 12px;
  min-height: 63px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fffdfa;
}
.image-generator-choice strong { font-size: 14px; line-height: 1.25; }
.image-generator-choice small { color: var(--muted); font-size: 12px; line-height: 1.4; }
.image-generator-choice input:checked + span,
.image-generator-format input:checked + span {
  border-color: var(--green);
  background: var(--green-soft);
  box-shadow: inset 0 0 0 1px var(--green);
}
.image-generator-choice input:focus-visible + span,
.image-generator-format input:focus-visible + span {
  outline: 3px solid rgb(30 100 69 / 25%);
  outline-offset: 2px;
}
.image-generator-exact-text {
  display: grid;
  gap: 2px;
  margin-top: 12px;
  padding: 13px;
  border: 1px solid #d5ded2;
  border-radius: 10px;
  background: #f5f8f2;
}
.image-generator-exact-text[hidden] { display: none; }
.image-generator-exact-text input { min-height: 42px; }
.image-generator-caption { margin: 9px 0 0; color: var(--muted); font-size: 12px; }
.image-generator-style-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.image-generator-style {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 56px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fffdfa;
}
.image-generator-style:has(input:checked) {
  border-color: var(--green);
  background: var(--green-soft);
  box-shadow: inset 0 0 0 1px var(--green);
}
.image-generator-style:has(input:focus-visible) {
  outline: 3px solid rgb(30 100 69 / 25%);
  outline-offset: 2px;
}
.image-generator-style__swatch {
  width: 32px;
  height: 40px;
  border-radius: 4px;
  background: #e7d5ad;
}
.image-generator-style--paper .image-generator-style__swatch {
  background: linear-gradient(145deg, #c94f38 0 40%, #eddfb6 41% 62%, #2f7a79 63%);
}
.image-generator-style--editorial .image-generator-style__swatch {
  background: linear-gradient(90deg, #efe9da 0 66%, #c29c50 66%);
}
.image-generator-style--engraving .image-generator-style__swatch {
  background: repeating-linear-gradient(25deg, #e1c990 0 3px, #5e4528 3px 4px);
}
.image-generator-style--documentary .image-generator-style__swatch {
  background: radial-gradient(circle at 34% 27%, #d4b88b 0 12%, transparent 13%), linear-gradient(145deg, #4a5147, #b69b74);
}
.image-generator-style strong { display: block; font-size: 13px; line-height: 1.25; }
.image-generator-style small { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; line-height: 1.25; }
.image-generator-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.image-generator-format > span {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 45px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fffdfa;
  color: var(--muted);
  font-size: 12px;
}
.image-generator-format strong { color: var(--ink); font-size: 14px; }
.image-generator-form__footer {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 28px;
  background: #f3f7f0;
}
.image-generator-form__footer p {
  max-width: 520px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.image-generator-form__footer button { flex: 0 0 auto; gap: 7px; }
.image-generator-result { position: sticky; top: 18px; }
.image-generator-result__head {
  display: flex;
  gap: 18px;
  align-items: start;
  justify-content: space-between;
  padding: 20px;
}
.image-generator-result h2 { max-width: 310px; overflow-wrap: anywhere; font-size: 25px; }
.image-generator-status {
  flex: 0 0 auto;
  padding: 7px 9px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}
.image-generator-status.is-failed { background: #f9e7e2; color: #8a3428; }
.image-generator-stage {
  display: grid;
  min-height: 420px;
  place-items: center;
  padding: 34px;
  border-block: 1px solid var(--line);
  background: #ebe9e1;
}
.image-generator-stage img {
  display: block;
  width: 100%;
  max-height: 620px;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgb(39 46 39 / 18%);
  object-fit: contain;
}
.image-generator-stage__open { width: fit-content; max-width: 100%; max-height: 620px; justify-self: center; }
.image-generator-stage .image-generator-stage__open > img { width: auto; max-width: 100%; }
.image-generator-stage .image-generator-stage__open > span { font-size: 12px; }
.image-generator-stage.is-4-5 img { aspect-ratio: 4 / 5; }
.image-generator-stage.is-1-1 img { aspect-ratio: 1; }
.image-generator-stage.is-16-9 img { aspect-ratio: 16 / 9; }
.image-generator-loading,
.image-generator-empty {
  display: grid;
  max-width: 260px;
  justify-items: center;
  text-align: center;
}
/* Осталась от экрана тем: теперь её крутит спиннер генератора картинок. */
@keyframes factory-spin { to { transform: rotate(360deg); } }
.image-generator-loading > span {
  width: 42px;
  height: 42px;
  margin-bottom: 13px;
  border: 3px solid #c8d5c9;
  border-top-color: var(--green);
  border-radius: 50%;
  animation: factory-spin .9s linear infinite;
}
.image-generator-loading strong,
.image-generator-empty strong { font-family: var(--serif); font-size: 23px; }
.image-generator-loading small,
.image-generator-empty p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.image-generator-empty form { margin-top: 15px; }
.image-generator-result__actions { display: grid; grid-template-columns: .8fr 1.4fr; gap: 8px; padding: 14px 18px 8px; }
.image-generator-result__actions .materials-button { justify-content: center; }
.image-generator-result__note { margin: 0; padding: 0 18px 16px; color: var(--muted); font-size: 12px; text-align: center; }
.image-generator-recent { margin: 30px 0 70px; padding-top: 28px; border-top: 1px solid var(--line); }
.image-generator-recent > header { display: flex; gap: 30px; align-items: end; justify-content: space-between; }
.image-generator-recent > header > p { max-width: 470px; margin: 0; color: var(--muted); font-size: 12px; text-align: right; }
.image-generator-recent__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.image-generator-recent__grid > a {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 94px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
  text-decoration: none;
}
.image-generator-recent__grid > a:hover,
.image-generator-recent__grid > a.is-current { border-color: #9eb5a4; background: #fbfcf8; }
.image-generator-recent__grid img { width: 72px; height: 72px; border-radius: 6px; object-fit: cover; }
.image-generator-recent__grid strong { display: block; overflow-wrap: anywhere; font-size: 12px; line-height: 1.3; }
.image-generator-recent__grid small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.image-generator-recent__empty { margin: 14px 0 0; color: var(--muted); font-size: 12px; }
.image-generator-dialog {
  width: min(650px, calc(100vw - 28px));
  max-height: min(760px, calc(100dvh - 28px));
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--surface);
  box-shadow: 0 28px 80px rgb(18 24 18 / 28%);
}
.image-generator-dialog::backdrop { background: rgb(19 25 20 / 48%); backdrop-filter: blur(2px); }
.image-generator-dialog > header {
  display: flex;
  gap: 24px;
  align-items: start;
  justify-content: space-between;
  padding: 23px;
  border-bottom: 1px solid var(--line);
}
.image-generator-dialog > header p:last-child { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.image-generator-dialog > header > button {
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border-radius: 50%;
  font-size: 24px;
}
.image-generator-dialog > .form-error { margin: 16px 20px 0; }
.image-generator-dialog__list { max-height: 510px; padding: 10px; overflow-y: auto; }
.image-generator-dialog__list form { margin: 0; }
.image-generator-dialog__list button {
  display: flex;
  width: 100%;
  min-height: 62px;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.image-generator-dialog__list button:hover { background: var(--green-soft); transform: none; }
.image-generator-dialog__list strong { display: block; font-size: 13px; }
.image-generator-dialog__list small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.image-generator-dialog__list button > span:last-child { flex: 0 0 auto; color: var(--green); font-size: 12px; font-weight: 800; }
.image-generator-dialog__empty { padding: 25px; }
.image-generator-dialog__empty p { margin: 0 0 16px; color: var(--muted); font-size: 11px; }

@media (max-width: 980px) {
  .image-generator-workspace { grid-template-columns: 1fr; }
  .image-generator-result { position: static; }
  .image-generator-stage img { width: auto; max-width: 100%; }
}
@media (max-width: 680px) {
  .image-generator-entry > small { display: none; }
  .image-generator-breadcrumb { margin: 18px 0 24px; }
  .image-generator-intro { align-items: start; flex-direction: column; gap: 14px; padding-bottom: 22px; }
  .image-generator-intro h1 { font-size: 43px; }
  .image-generator-intro > span { margin: 0; }
  .image-generator-section { padding: 21px 15px; }
  .image-generator-section__head { flex-direction: column; gap: 6px; }
  .image-generator-section__head > small { max-width: none; text-align: left; }
  .image-generator-section__head h2 { font-size: 27px; }
  .image-generator-choice-grid,
  .image-generator-style-grid,
  .image-generator-format-grid { grid-template-columns: 1fr; }
  .image-generator-choice > span { min-height: 58px; }
  .image-generator-style { grid-template-columns: 42px minmax(0, 1fr); min-height: 64px; padding: 10px; }
  .image-generator-style__swatch { width: 42px; height: 44px; }
  .image-generator-format > span { min-height: 48px; }
  .image-generator-form__footer { align-items: stretch; flex-direction: column; padding: 17px 15px; }
  .image-generator-form__footer button { justify-content: center; width: 100%; min-height: 44px; }
  .image-generator-result__head { padding: 17px 15px; }
  .image-generator-result h2 { font-size: 23px; }
  .image-generator-stage { min-height: 330px; padding: 13px; }
  .image-generator-result__actions { grid-template-columns: 1fr; padding: 12px 15px 7px; }
  .image-generator-result__actions .materials-button { min-height: 44px; }
  .image-generator-recent > header { align-items: start; flex-direction: column; gap: 8px; }
  .image-generator-recent > header > p { text-align: left; }
  .image-generator-recent__grid { grid-template-columns: 1fr; }
  .image-generator-dialog { width: 100vw; max-width: none; max-height: 100dvh; margin: auto 0 0; border-radius: 15px 15px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  .image-generator-loading > span { animation: none; }
}

/* New Material: content → format → visual */
.material-flow { margin-top: 24px; }
.material-flow__stepper { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: 12px 12px 0 0; background: var(--surface); }
.material-flow__stepper button { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 1px 10px; min-height: 76px; align-content: center; padding: 14px 18px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); text-align: left; }
.material-flow__stepper button:last-child { border-right: 0; }
.material-flow__stepper button:not(:disabled) { cursor: pointer; }
.material-flow__stepper button:disabled { cursor: default; opacity: .62; }
.material-flow__stepper button.is-current { background: var(--green-soft); }
.material-flow__stepper button.is-complete { color: var(--green); }
.material-flow__stepper button > span { display: grid; width: 27px; height: 27px; grid-row: 1 / 3; align-items: center; justify-content: center; border: 1px solid var(--line-strong); border-radius: 50%; font-size: 11px; font-weight: 800; }
.material-flow__stepper button.is-current > span, .material-flow__stepper button.is-complete > span { border-color: var(--green); background: var(--green); color: #fff; }
.material-flow__stepper strong { font-size: 12px; }
.material-flow__stepper small { color: var(--muted); font-size: 11px; line-height: 1.35; }
/* Секции вместо шагов: порядок тот же, но всё видно сразу. Активная раскрыта,
   остальные свёрнуты в строку — рекомендация, а не принуждение. */
.sec { margin-top: 10px; border: 1px solid var(--line); border-radius: 14px; background: var(--raised); box-shadow: var(--shadow-raised); overflow: hidden; }
.sec.is-now { border-color: #c9d5c8; box-shadow: var(--shadow-hover); }
.sec__h { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 14px 18px; cursor: pointer; }
.sec__h:focus-visible { outline: 2px solid var(--green-bright); outline-offset: -2px; }
.sec__n { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--muted); font-size: 11px; font-weight: 800; }
.sec.is-now .sec__n { border-color: var(--green); background: var(--green); color: #fff; }
.sec__t { min-width: 0; }
.sec__t b { display: block; font-size: 15px; font-weight: 800; }
.sec__t > span { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; font-weight: 700; }
.sec__state { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.sec.is-now .sec__state { color: var(--green); }
.sec__body { border-top: 1px solid var(--line); }
.sec--folded .sec__body { display: none; }
.sec .material-flow__main { padding: 18px; }
.material-flow__handoff { display: flex; justify-content: flex-end; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
/* Строка состояния: что уже заполнено, без переключения экранов. */
.material-flow__stepline { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.material-flow__stepline i { display: inline-flex; gap: 7px; align-items: center; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--raised); color: var(--muted); font-size: 11px; font-style: normal; font-weight: 700; }
.material-flow__stepline i b { color: var(--ink); font-weight: 800; }
.material-flow__stepline i.is-done { border-color: #cbdcc9; color: var(--ink-soft); }
.material-flow__stepline i.is-done::before { color: var(--green-bright); content: "✓"; font-weight: 800; }
.material-flow__stepline i.is-now { border-color: var(--green); background: var(--green-soft); color: var(--green); }
.material-flow__stepline i.is-now b, .material-flow__stepline i.is-done b { color: var(--green); }
.material-flow__note { margin: 18px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; line-height: 1.5; }
.material-flow__main { min-width: 0; padding: 30px; }
.material-flow__main > h2 { margin: 4px 0 7px; font-size: 30px; }
.material-flow__lede { max-width: 690px; margin: 0 0 24px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.material-flow__main > textarea, .material-flow__panel textarea { width: 100%; box-sizing: border-box; resize: vertical; }
.material-flow__main > textarea { min-height: 285px; }
.material-flow__panel textarea { min-height: 112px; }
.material-flow__meta { display: flex; justify-content: flex-end; margin-top: 6px; color: var(--muted); font-size: 11px; }
.material-flow__decision { margin: 24px 0 0; padding: 0; border: 0; }
.material-flow__decision legend, .material-flow__styles legend { margin-bottom: 9px; color: var(--ink); font-size: 11px; font-weight: 800; }
.material-flow__choice-grid { display: grid; gap: 9px; }
.material-flow__choice-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.material-flow__source-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.material-flow__choice { display: block; min-height: 82px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fdfcf8; color: var(--ink); cursor: pointer; text-align: left; }
.material-flow__choice:hover, .material-flow__format:hover { border-color: #9caf9d; transform: none; }
.material-flow__choice.is-selected, .material-flow__format.is-selected { padding: 13px; border: 2px solid var(--green); background: var(--green-soft); }
.material-flow__choice strong, .material-flow__choice small { display: block; }
.material-flow__choice strong { font-size: 12px; }
.material-flow__choice small { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.material-flow__actions { display: flex; gap: 20px; align-items: center; justify-content: space-between; margin-top: 28px; padding-top: 17px; border-top: 1px solid var(--line); }
.material-flow__actions > p { max-width: 540px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.material-flow__actions > div { display: flex; flex: 0 0 auto; gap: 8px; }
.material-flow__aside { min-width: 0; padding: 30px 22px; border-left: 1px solid var(--line); background: #f7f6f0; }
.material-flow__aside > span { display: block; margin-bottom: 10px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.material-flow__aside article { margin-bottom: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.material-flow__aside article > strong { font-size: 12px; }
.material-flow__aside article > p { max-height: 190px; margin: 7px 0 0; overflow: hidden; color: var(--ink-soft); font-size: 11px; line-height: 1.55; white-space: pre-line; }
.material-flow__aside > small { display: block; color: var(--muted); font-size: 11px; line-height: 1.5; }
.material-flow__format-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.material-flow__format { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); min-height: 185px; gap: 7px 14px; align-content: start; padding: 20px; border: 1px solid var(--line); border-radius: 11px; background: #fdfcf8; color: var(--ink); cursor: pointer; text-align: left; }
.material-flow__format > span { display: grid; width: 48px; height: 48px; grid-row: 1 / 4; align-items: center; justify-content: center; border-radius: 8px; background: var(--green-soft); color: var(--green); font-size: 20px; font-weight: 800; }
.material-flow__format > strong { margin-top: 2px; font-size: 18px; }
.material-flow__format > p { margin: 0; font-size: 11px; }
.material-flow__format > small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.material-flow__format > em { position: absolute; top: 12px; right: 12px; padding: 5px 8px; border-radius: 999px; background: #e7eee3; color: var(--green); font-size: 8px; font-style: normal; font-weight: 800; }
.material-flow__format-summary { display: flex; gap: 10px; align-items: center; }
.material-flow__format-summary > b { display: grid; width: 34px; height: 34px; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 7px; background: var(--green-soft); color: var(--green); }
.material-flow__format-summary span, .material-flow__format-summary strong, .material-flow__format-summary small { display: block; }
.material-flow__format-summary strong { font-size: 11px; }
.material-flow__format-summary small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.material-flow__panel { margin-top: 16px; padding: 20px; border: 1px dashed #aebcac; border-radius: 10px; background: #f1f5ed; }
.material-flow__panel[hidden] { display: none; }
.material-flow__panel > header { display: flex; gap: 16px; align-items: start; justify-content: space-between; margin-bottom: 17px; }
.material-flow__panel > header strong, .material-flow__panel > header small { display: block; }
.material-flow__panel > header strong { font-size: 13px; }
.material-flow__panel > header small { max-width: 520px; margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.material-flow__segmented { display: flex; flex: 0 0 auto; padding: 3px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.material-flow__segmented button, .material-flow__text-options button { min-height: 34px; padding: 7px 11px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: 11px; font-weight: 800; cursor: pointer; }
.material-flow__segmented button.is-selected, .material-flow__text-options button.is-selected { background: var(--green-soft); color: var(--green); }
.material-flow__derived { padding: 14px; border-left: 2px solid var(--green); background: var(--surface); color: var(--ink-soft); font-size: 11px; line-height: 1.55; }
.material-flow__derived strong, .material-flow__derived span { display: block; }
.material-flow__derived strong { margin-bottom: 4px; color: var(--ink); }
.material-flow__footnote { margin: 9px 0 0; color: var(--muted); font-size: 11px; }
.material-flow__text-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.material-flow__text-options button { min-height: 44px; border: 1px solid var(--line); background: var(--surface); text-align: left; }
.material-flow__text-options button.is-selected { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.material-flow__panel input[type="text"] { width: 100%; min-height: 44px; box-sizing: border-box; }
.material-flow__styles { margin: 17px 0 0; padding: 0; border: 0; }
.material-flow__styles > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.material-flow__styles label { position: relative; display: block; cursor: pointer; }
.material-flow__styles input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.material-flow__styles label > span { display: block; min-height: 58px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.material-flow__styles input:checked + span { padding: 9px; border: 2px solid var(--green); background: var(--green-soft); }
.material-flow__styles strong, .material-flow__styles small { display: block; }
.material-flow__styles strong { font-size: 11px; }
.material-flow__styles small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.3; }
.material-flow__library { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.material-flow__library button { display: grid; gap: 7px; padding: 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); cursor: pointer; text-align: left; }
.material-flow__library button.is-selected { padding: 7px; border: 2px solid var(--green); background: var(--green-soft); }
.material-flow__library img { width: 100%; aspect-ratio: 4 / 5; border-radius: 6px; object-fit: cover; }
.material-flow__library span { overflow: hidden; font-size: 8.5px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.material-flow__empty { margin: 0; color: var(--muted); font-size: 11px; }
.material-flow__cancel { display: block; margin: 12px 0 0 auto; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 11px; text-decoration: underline; cursor: pointer; }
.image-generator-result__actions form, .image-generator-result__actions form .materials-button { width: 100%; }

@media (max-width: 980px) {
  .material-flow__screen { grid-template-columns: 1fr; }
  .material-flow__aside { border-top: 1px solid var(--line); border-left: 0; }
  .material-flow__source-grid, .material-flow__styles > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .material-flow__stepper button { display: flex; min-height: 52px; align-items: center; padding: 9px; }
  .material-flow__stepper button > span { width: 25px; height: 25px; flex: 0 0 auto; }
  .material-flow__stepper strong { font-size: 11px; }
  .material-flow__stepper small { display: none; }
  .material-flow__main, .material-flow__aside { padding: 20px 15px; }
  .material-flow__main > h2 { font-size: 26px; }
  .material-flow__main > textarea { min-height: 230px; }
  .material-flow__choice-grid--two, .material-flow__format-grid, .material-flow__source-grid, .material-flow__styles > div, .material-flow__library { grid-template-columns: 1fr; }
  .material-flow__format { min-height: 148px; }
  .material-flow__actions, .material-flow__panel > header { align-items: stretch; flex-direction: column; }
  .material-flow__actions > div { display: grid; grid-template-columns: 1fr; }
  .material-flow__actions .materials-button { justify-content: center; width: 100%; }
  .material-flow__segmented { display: grid; grid-template-columns: 1fr 1fr; }
  .material-flow__library button { grid-template-columns: 58px minmax(0, 1fr); align-items: center; }
  .material-flow__library img { width: 58px; }
}

/* Превью материала под площадки: одна карточка на площадку, лимиты честные. */
/* Площадки — один сегмент-контрол: переключение, а не список кнопок. */
.platform-preview__tabs { display: flex; flex-wrap: wrap; box-sizing: border-box; width: fit-content; max-width: calc(100% - 36px); margin: 0 18px 12px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: var(--sunken); }
.platform-preview__tab { display: inline-flex; gap: 5px; align-items: center; min-height: 30px; padding: 0 11px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.platform-preview__tab.is-current { background: var(--nav); color: var(--nav-ink); }
.platform-preview__tab small { font-size: 10px; font-weight: 700; opacity: .7; }
.platform-preview__tab.is-current { border-color: var(--ink); background: var(--ink); color: #fff; }
.platform-preview__panel { padding: 0 24px 24px; }
.platform-preview__panel.is-hidden { display: none; }
.platform-preview__note { margin: 0 0 12px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.platform-preview__note--warn { color: #8a4b1f; }
.platform-preview__card { max-width: 420px; border: 1px solid var(--line-strong); border-radius: 14px; overflow: hidden; background: var(--surface, #fff); }
.platform-preview__cover { display: block; width: 100%; height: auto; }
.platform-preview__author { display: flex; gap: 8px; align-items: center; padding: 11px 13px 9px; }
.platform-preview__ava { display: grid; width: 30px; height: 30px; flex: none; place-items: center; border-radius: 50%; background: var(--green-bright); color: #fff; font-family: "Source Serif 4", Georgia, serif; font-size: 14px; font-weight: 700; }
.platform-preview__who { min-width: 0; }
.platform-preview__who b { display: block; overflow: hidden; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.platform-preview__who > span { display: block; color: var(--muted); font-size: 10px; font-weight: 700; }
.platform-preview__frame { display: grid; height: 178px; place-items: center; margin: 0; background: repeating-linear-gradient(135deg, #f0eee4 0 8px, #e9e6da 8px 16px); color: var(--muted); font-size: 11px; font-weight: 800; line-height: 1.5; text-align: center; }
.platform-preview__skeleton { display: grid; gap: 7px; padding: 12px 13px 16px; }
.platform-preview__skeleton span { height: 9px; border-radius: 4px; background: #eceadf; }
.platform-preview__skeleton span:nth-child(2) { width: 86%; }
.platform-preview__skeleton span:nth-child(3) { width: 64%; }
.platform-preview__text { padding: 12px 14px; overflow-wrap: anywhere; font-size: 14px; line-height: 1.6; white-space: pre-wrap; }
.platform-preview__rest.is-hidden { display: none; }
.platform-preview__text.is-hidden, .platform-preview__skeleton.is-hidden, .platform-preview__more.is-hidden { display: none; }
.platform-preview__more { margin: 0; padding: 0 14px 12px; border: 0; background: none; color: var(--accent, #2f6d4f); font: inherit; font-size: 13px; cursor: pointer; }
.platform-preview__more:hover { text-decoration: underline; }
.platform-preview__meta { margin: 10px 0 0; color: var(--muted); font-size: 12px; }
/* --- План: переключатель режимов, месяц и список ------------------------- */
.plan-bar { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; margin-top: 22px; }
.plan-bar__title { margin: 0; font-size: 22px; font-weight: 700; }
.plan-bar__nav { display: flex; gap: 10px; align-items: center; }
.plan-nav-btn { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--raised); color: var(--ink-soft); font-size: 14px; font-weight: 800; text-decoration: none; }
.plan-nav-btn:hover { border-color: var(--muted); background: var(--hover); color: var(--ink); }
.month-cell__n u { margin-left: auto; color: var(--muted); font-size: 10px; font-weight: 800; text-decoration: none; }
.month-cell.is-past .plan-pill { opacity: .58; }
.month-cell.is-past .plan-pill:hover { opacity: 1; }

.calendar--month { padding: 10px; }
.month-grid__wd { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); padding: 0 2px 8px; }
.month-grid__wd span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.month-grid__wd span:nth-child(n+6) { color: var(--danger); }
.month-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); border-radius: 10px; background: var(--line); overflow: hidden; }
.month-cell { position: relative; display: flex; min-height: 118px; flex-direction: column; gap: 3px; padding: 6px 6px 8px; background: var(--raised); }
.month-cell.is-outside { background: #f6f3e9; }
.month-cell.is-outside .month-cell__n { color: #b3b9ae; }
.month-cell.is-weekend { background: #faf8f0; }
.month-cell.is-today { box-shadow: inset 0 0 0 2px var(--green-bright); }
.month-cell.is-drop-target { background: var(--green-soft); box-shadow: inset 0 0 0 2px var(--green-bright); }
.month-cell__n { display: flex; gap: 6px; align-items: center; margin-bottom: 2px; color: var(--ink-soft); font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.month-cell__n em { padding: 1px 5px; border-radius: 4px; background: var(--green-soft); color: var(--green); font-size: 9px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.month-cell__more { padding-left: 4px; color: var(--muted); font-size: 10px; font-weight: 800; }
.month-cell__add { position: absolute; right: 5px; top: 4px; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: 14px; font-weight: 700; cursor: pointer; opacity: 0; transition: opacity .12s ease, background .12s ease; }
.month-cell:hover .month-cell__add { opacity: 1; }
.month-cell__add:hover { background: var(--sunken); color: var(--green); }

/* Плитка публикации: одинаковая в месяце и в списке */
.plan-pill { display: grid; grid-template-columns: 18px minmax(0, 1fr) 8px; gap: 6px; align-items: center; padding: 4px 5px; border-radius: 7px; background: var(--paper); color: inherit; text-decoration: none; transition: background .12s ease, box-shadow .12s ease; }
.plan-pill:hover { background: var(--hover); box-shadow: var(--shadow-raised); }
.plan-pill.is-selected { box-shadow: inset 0 0 0 1px var(--green); }
.plan-pill__cover { position: relative; height: 18px; border-radius: 4px; overflow: hidden; box-shadow: inset 0 0 0 1px rgb(18 25 21 / 10%); }
.plan-pill__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.plan-pill__cover.is-working { background: repeating-linear-gradient(135deg, #ece8da 0 5px, #e0dbcb 5px 10px); }
.plan-pill__body { min-width: 0; }
.plan-pill__time { margin-right: 5px; color: var(--muted); font-size: 10px; font-weight: 800; font-variant-numeric: tabular-nums; }
.plan-pill__body b { display: block; overflow: hidden; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.plan-pill__dot { width: 7px; height: 7px; border-radius: 50%; }
.plan-pill__dot.is-ok { background: var(--green-bright); }
.plan-pill__dot.is-work { background: var(--amber); }
.plan-pill__dot.is-done { background: #9aa398; }

.plan-list { display: grid; gap: 4px; margin-top: 14px; }
.plan-list__day { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; align-items: start; padding: 11px 14px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.plan-list__date b { font-family: "Source Serif 4", Georgia, serif; font-size: 19px; font-weight: 700; font-variant-numeric: tabular-nums; }
.plan-list__date span { display: block; color: var(--muted); font-size: 11px; font-weight: 700; }
.plan-list__items { display: grid; gap: 4px; }
.plan-list .plan-pill { grid-template-columns: 26px minmax(0, 1fr) 8px; padding: 6px 8px; }
.plan-list .plan-pill__cover { height: 26px; }
.plan-list .plan-pill__body b { font-size: 12.5px; }

@media (max-width: 900px) {
  .month-cell { min-height: 92px; }
  .plan-list__day { grid-template-columns: 1fr; gap: 8px; }
}
.material-planned-for { display: inline-flex; gap: 6px; align-items: center; margin: 10px 0 0; padding: 6px 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 12px; font-weight: 700; }
.material-planned-for b { font-weight: 800; }

/* Полка «ждут даты» под календарём и легенда состояний. */
.shelf { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: center; margin-top: 14px; padding: 12px 16px; border: 1px dashed var(--line-strong); border-radius: 14px; background: var(--paper); }
.shelf__title b { display: block; font-size: 13px; font-weight: 800; }
.shelf__title span { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; font-weight: 700; }
.shelf__row { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; }
.shelf__tile { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 9px; align-items: center; flex: 0 0 auto; max-width: 280px; padding: 7px 11px 7px 7px; border: 1px solid var(--line); border-radius: 10px; background: var(--raised); box-shadow: var(--shadow-raised); color: inherit; text-decoration: none; transition: box-shadow .13s ease, transform .1s ease; }
.shelf__tile:hover { box-shadow: var(--shadow-hover); transform: translateY(-1px); }
.shelf__cover { position: relative; height: 30px; border-radius: 6px; overflow: hidden; box-shadow: inset 0 0 0 1px rgb(18 25 21 / 10%); }
.shelf__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.shelf__tile b { display: block; overflow: hidden; font-size: 12px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.shelf__tile span span { display: block; color: var(--muted); font-size: 11px; font-weight: 700; }
.shelf__auto { flex: 0 0 auto; }

.plan-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 12px; color: var(--muted); font-size: 11px; font-weight: 700; }
.plan-legend i { display: inline-flex; gap: 6px; align-items: center; font-style: normal; }
.plan-legend__dot { width: 7px; height: 7px; border-radius: 50%; }
.plan-legend__dot.is-ok { background: var(--green-bright); }
.plan-legend__dot.is-work { background: var(--amber); }
.plan-legend__dot.is-need { background: var(--danger); }
.plan-legend__dot.is-done { background: #9aa398; }

/* Кикер на обложке записи: что это по данным, которые есть. */
.plan-entry__cover b { position: absolute; left: 6px; bottom: 5px; padding: 2px 6px; border-radius: 4px; background: rgb(255 255 255 / 86%); color: var(--ink); font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.plan-day.is-past .plan-entry { opacity: .6; }
.plan-day.is-past .plan-entry:hover { opacity: 1; }
.plan-entry__when { padding: 0 8px; color: var(--muted); font-size: 10px; font-weight: 800; font-variant-numeric: tabular-nums; }

/* Рабочий стол материала: слева работа, справа результат и условия выпуска. */
.material-desk { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 14px; align-items: start; margin-top: 10px; }
.material-desk__side { position: sticky; top: 16px; display: grid; gap: 12px; }
.material-desk__side .platform-preview { margin-top: 0; }
.material-release { padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--raised); box-shadow: var(--shadow-raised); }
.material-release__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; justify-content: space-between; }
.material-release__head b { font-size: 15px; font-weight: 800; }
.material-release__head span { color: var(--muted); font-size: 11px; font-weight: 700; }
.material-release__date { margin: 10px 0 0; font-family: "Source Serif 4", Georgia, serif; font-size: 21px; font-weight: 700; font-variant-numeric: tabular-nums; }
.material-release__note { margin: 8px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; line-height: 1.5; }
/* Итог экрана: одна кнопка результата и причина, если она недоступна. */
/* Кнопка результата всегда под рукой: экран длинный, а решение одно. */
.material-finish { grid-column: 1; position: sticky; bottom: 12px; z-index: 3; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-top: 14px; padding: 14px 18px; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--raised); box-shadow: var(--shadow-hover); }
.material-finish p { flex: 1 1 220px; max-width: 70ch; margin: 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.material-finish [hidden] { display: none; }
.material-finish form { margin: 0; }
.materials-button--lg { min-height: 44px; padding: 0 22px; font-size: 14px; }
.material-release__form { display: grid; gap: 8px; margin-top: 10px; }
.material-release__channels { min-width: 0; margin: 2px 0 0; padding: 0; border: 0; }
.material-release__channels legend { margin-bottom: 6px; color: var(--muted); font-size: 11px; font-weight: 800; }
.material-release__channel-list { display: grid; gap: 6px; }
.material-release__channel { display: grid; grid-template-columns: auto 34px minmax(0, 1fr); gap: 8px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); cursor: pointer; }
.material-release__channel input { width: 16px; height: 16px; margin: 0; accent-color: var(--green); }
.material-release__channel-mark { display: grid; width: 34px; height: 30px; place-items: center; border-radius: 8px; font-size: 10px; font-weight: 900; }
.material-release__channel-mark--telegram { background: #e6f2fa; color: #1478a8; }
.material-release__channel-mark--max { background: #f0e5f8; color: #8a2db4; }
.material-release__channel b, .material-release__channel small { display: block; }
.material-release__channel small { overflow: hidden; margin-top: 2px; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.material-release__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, auto); gap: 8px; }
.material-release__row input { min-height: 38px; box-sizing: border-box; width: 100%; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); font: inherit; font-size: 13px; }
.material-release__form > .materials-button { justify-content: center; width: 100%; }
.material-release__actions { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.material-release__actions form { display: contents; }
.material-release__actions .materials-button { width: 100%; justify-content: center; }

/* Утверждённая карточка готового материала: текст и визуал читаются вместе. */
.goal-material { margin-top: 20px; }
.goal-material__head { display: flex; gap: 24px; align-items: flex-start; justify-content: space-between; margin-bottom: 18px; }
.goal-material__head h1 { max-width: 890px; margin: 5px 0 0; font-family: var(--font-display), Georgia, serif; font-size: clamp(34px, 4vw, 50px); font-weight: 500; line-height: 1.07; letter-spacing: -.03em; }
.goal-material__status { flex: 0 0 auto; margin-top: 4px; padding: 7px 11px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.goal-material__context { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(180px, .65fr) minmax(150px, .45fr); overflow: hidden; margin-bottom: 18px; border: 1px solid #c7d7c6; border-radius: var(--radius-card); background: var(--green-soft); }
.goal-material__context > div { min-height: 82px; padding: 16px 18px; }
.goal-material__context > div + div { border-left: 1px solid #c7d7c6; }
.goal-material__context small { display: block; margin-bottom: 6px; color: var(--green); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.goal-material__context strong { display: block; font-size: 12px; line-height: 1.45; }
.goal-material__post { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr); gap: 18px; align-items: start; }
.goal-material__carousel { display: grid; grid-template-columns: minmax(360px, .85fr) minmax(0, 1.15fr); gap: 18px; align-items: start; }
.goal-material__card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.goal-material__card > header { display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; padding: 18px 20px 15px; border-bottom: 1px solid var(--line); }
.goal-material__card > header h3 { margin: 0 0 3px; font-family: var(--font-display), Georgia, serif; font-size: 25px; font-weight: 500; }
.goal-material__card > header p { margin: 0; color: var(--muted); font-size: 10px; }
.goal-material__card > header a { flex: 0 0 auto; color: var(--green); font-size: 10px; font-weight: 800; text-decoration: none; }
.goal-material__copy-card .material-review__text { min-height: 520px; padding: 22px 24px 28px; font-size: 14px; line-height: 1.72; }
.material-copy-tabs { display: flex; flex: 0 0 auto; gap: 4px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: var(--inset); }
.material-copy-tabs button { padding: 7px 9px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.material-copy-tabs button.is-active { background: var(--green-dark); color: #fff; }
.material-copy-tabs small { font-size: 9px; font-weight: 700; opacity: .75; }
.material-copy-note { margin: 20px 0 0; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.material-copy-status { display: flex; min-height: 180px; flex-direction: column; gap: 8px; align-items: flex-start; justify-content: center; padding: 24px; color: var(--muted); }
.material-copy-status b { color: var(--ink); font-size: 16px; }
.material-release-copy { margin: 0; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.material-release-copy summary { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 13px 16px; cursor: pointer; }
.material-release-copy summary span { color: var(--green); font-size: 12px; font-weight: 800; }
.material-release-copy > div { max-height: 260px; overflow: auto; padding: 16px; border-top: 1px solid var(--line); white-space: pre-wrap; font-size: 13px; line-height: 1.65; }
.material-release-copy > a { display: inline-block; margin: 0 16px 16px; color: var(--green); font-size: 12px; font-weight: 800; }
.goal-material__visual-card { padding-bottom: 17px; }
.goal-material__cover { display: block; width: calc(100% - 34px); margin: 17px auto 0; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--inset); cursor: zoom-in; }
.goal-material__cover img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.goal-material__visual-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 17px 0; }
.goal-material__visual-actions .materials-button { justify-content: center; width: 100%; margin: 0; }
.goal-material__date { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin: 15px 17px 0; padding-top: 14px; border-top: 1px solid var(--line); }
.goal-material__date small { display: block; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.goal-material__date strong { display: block; margin-top: 3px; font-size: 12px; }
.goal-material__date a { color: var(--green); font-size: 9px; font-weight: 800; text-decoration: none; }
.goal-material__slide-stage { padding: 17px 17px 0; }
.goal-material__slide-stage button { display: block; position: relative; width: 100%; padding: 0; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 11px; background: var(--inset); cursor: zoom-in; }
.goal-material__slide-stage img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.goal-material__slide-stage span { position: absolute; top: 10px; left: 10px; padding: 6px 8px; border-radius: 6px; background: rgb(255 253 248 / 92%); color: var(--green); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.goal-material__slides { display: grid; grid-template-columns: repeat(6, minmax(42px, 1fr)); gap: 10px 6px; align-items: start; padding: 10px 17px 17px; }
.goal-material__slide-item { display: grid; min-width: 0; gap: 6px; align-content: start; }
.goal-material__slides button { display: block; position: relative; width: 100%; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 7px; background: var(--inset); cursor: pointer; }
.goal-material__slides button.is-active { border-color: var(--green); }
.goal-material__slides img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.goal-material__slides button > span { position: absolute; right: 4px; bottom: 4px; display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; background: rgb(255 253 248 / 92%); color: var(--green); font-size: 8px; font-weight: 800; }
.goal-material__slide-download { display: grid; min-height: 34px; padding: 7px 5px; place-items: center; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--surface); color: var(--green); font-size: 10px; font-weight: 800; line-height: 1; text-align: center; text-decoration: none; }
.goal-material__slide-download:hover { border-color: var(--green); background: var(--green-soft); color: var(--green); }
.goal-material__slide-download.is-downloaded { border-color: #b9d3bd; background: var(--green-soft); }
.goal-material__actions { display: flex; gap: 18px; align-items: center; justify-content: space-between; margin-top: 18px; padding: 17px 20px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.goal-material__actions p { margin: 0; color: var(--ink-soft); font-size: 11px; }
.goal-material__actions > div, .material-carousel-viewer__foot > div { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.goal-material__actions form, .material-carousel-viewer__foot form { display: contents; }
.goal-material__actions .materials-button { margin: 0; }
.material-carousel-viewer__foot [data-carousel-upload-link] { text-decoration: none; }

@media (max-width: 960px) {
  .goal-material__post, .goal-material__carousel { grid-template-columns: 1fr; }
  .goal-material__visual-card, .goal-material__slides-card { grid-row: 1; }
  .goal-material__cover { max-width: 420px; }
  .goal-material__copy-card .material-review__text { min-height: 0; }
}

@media (max-width: 680px) {
  .goal-material__head, .goal-material__actions { align-items: flex-start; flex-direction: column; }
  .goal-material__card > header { align-items: flex-start; flex-direction: column; }
  .material-copy-tabs { width: 100%; }
  .material-copy-tabs button { flex: 1; }
  .material-release-copy summary { align-items: flex-start; flex-direction: column; }
  .goal-material__context { grid-template-columns: 1fr; }
  .goal-material__context > div + div { border-top: 1px solid #c7d7c6; border-left: 0; }
  .goal-material__slides { grid-template-columns: repeat(3, minmax(55px, 1fr)); }
  .goal-material__actions > div { width: 100%; justify-content: stretch; }
  .goal-material__actions .materials-button, .goal-material__actions form { width: 100%; }
  .goal-material__actions .materials-button { justify-content: center; }
}

/* Goal-first Today: one active plan, one current action. */
.campaign-today-head { display: flex; gap: 28px; align-items: end; justify-content: space-between; margin-bottom: 22px; }
.campaign-today-head h1 { font-size: clamp(42px, 5vw, 58px); }
.campaign-today-head p:not(.eyebrow) { max-width: 700px; margin: 10px 0 0; color: var(--ink-soft); font-size: 14px; }
.campaign-today-head time { padding-bottom: 6px; color: var(--muted); font-size: 11px; font-weight: 750; }
.campaign-today-goal { display: grid; grid-template-columns: minmax(0, 1.55fr) repeat(3, minmax(130px, .55fr)); overflow: hidden; margin-bottom: 20px; border: 1px solid #c7d7c6; border-radius: var(--radius-card); background: var(--green-soft); box-shadow: var(--shadow-raised); }
.campaign-today-goal > div { min-height: 92px; padding: 17px 20px; }
.campaign-today-goal > div + div { border-left: 1px solid #c7d7c6; }
.campaign-today-goal small { display: block; margin-bottom: 6px; color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.campaign-today-goal strong { display: block; font-size: 14px; }
.campaign-today-goal__main strong { font-family: var(--font-display), Georgia, serif; font-size: 20px; line-height: 1.25; }
.campaign-today-goal > div > span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.campaign-today-goal__progress { overflow: hidden; height: 4px; margin-top: 10px; border-radius: 999px; background: rgb(255 255 255 / 72%); }
.campaign-today-goal__progress span { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.campaign-today-focus, .campaign-today-next { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.campaign-today-focus > header { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 18px 23px; border-bottom: 1px solid var(--line); }
.campaign-today-focus > header h2 { margin-bottom: 3px; font-size: 25px; }
.campaign-today-focus > header p { margin: 0; color: var(--muted); font-size: 10px; }
.campaign-today-focus > header > span { padding: 6px 9px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.campaign-today-focus__body { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(250px, .55fr); gap: 34px; align-items: center; padding: 31px 32px; }
.campaign-today-meta { display: flex; gap: 9px; align-items: center; margin-bottom: 12px; color: var(--muted); }
.campaign-today-meta span { padding: 5px 8px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.campaign-today-meta small { font-size: 9px; font-weight: 750; }
.campaign-today-focus__body article > h2 { max-width: 680px; margin-bottom: 10px; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.08; }
.campaign-today-focus__body article > p { max-width: 700px; margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.65; }
.campaign-today-focus__body aside { padding: 20px; border: 1px solid var(--line); border-radius: 11px; background: var(--inset); }
.campaign-today-focus__body aside > small { display: block; margin-bottom: 7px; color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.campaign-today-focus__body aside > strong { display: block; margin-bottom: 16px; font-size: 12px; line-height: 1.5; }
.campaign-today-focus__body aside .materials-button { justify-content: center; width: 100%; margin: 0; text-align: center; }
.campaign-today-focus--empty { padding: 36px; }
.campaign-today-focus--empty h2 { font-size: 34px; }
.campaign-today-focus--empty > p:not(.eyebrow) { max-width: 620px; color: var(--ink-soft); }
.campaign-today-working { overflow: hidden; height: 6px; margin-top: 16px; border-radius: 999px; background: #dce2da; }
.campaign-today-working span { display: block; width: 66%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--green), #91ad9b, var(--green)); background-size: 200% 100%; animation: campaign-work 1.6s linear infinite; }
.campaign-today-working__note { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; }
@keyframes campaign-work { to { background-position: -200% 0; } }
.campaign-today-next { margin-top: 18px; }
.campaign-today-next > header { display: flex; gap: 20px; align-items: end; justify-content: space-between; padding: 18px 22px 15px; border-bottom: 1px solid var(--line); }
.campaign-today-next > header h2 { margin-bottom: 3px; font-size: 23px; }
.campaign-today-next > header p { margin: 0; color: var(--muted); font-size: 10px; }
.campaign-today-next > header a, .campaign-today-radar > a { color: var(--green); font-size: 10px; font-weight: 800; text-decoration: none; }
.campaign-today-next__row { display: grid; grid-template-columns: 34px minmax(0, 1fr) 130px 64px; gap: 14px; align-items: center; min-height: 70px; padding: 12px 22px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.campaign-today-next__row:last-child { border-bottom: 0; }
.campaign-today-next__row:hover { background: var(--hover); }
.campaign-today-next__number { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--muted); font-family: var(--font-display), Georgia, serif; font-size: 12px; }
.campaign-today-next__row b { display: block; font-size: 12px; }
.campaign-today-next__row > span > small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; font-weight: 550; }
.campaign-today-next__format { font-size: 10px; }
.campaign-today-next__format small { color: var(--green) !important; font-size: 8px !important; font-weight: 800 !important; text-transform: uppercase; }
.campaign-today-next__row time { justify-self: end; color: var(--muted); font-size: 9px; font-weight: 750; }
.campaign-today-radar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; margin-top: 18px; padding: 19px 22px; border: 1px solid #c7d7c6; border-radius: var(--radius-card); background: var(--green-soft); }
.campaign-today-radar .eyebrow { margin-bottom: 4px; }
.campaign-today-radar h2 { margin-bottom: 4px; font-size: 21px; }
.campaign-today-radar p:last-child { margin: 0; color: var(--ink-soft); font-size: 11px; }

/* Standalone Today: one ready material, shown as the actual social asset. */
.today-simple-shell { width: min(1120px, 100%); margin-inline: auto; }
.campaign-today-head--simple { align-items: center; }
.today-view-switch { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: var(--raised); }
.today-view-switch a, .today-view-switch span { display: inline-flex; min-height: 36px; padding: 0 15px; align-items: center; justify-content: center; border-radius: 7px; color: var(--muted); font-size: 10px; font-weight: 800; text-decoration: none; }
.today-view-switch a:hover { background: var(--hover); color: var(--ink); }
.today-view-switch span { background: var(--green); color: #fff; }
.today-ready { overflow: hidden; border: 1px solid #c7d7c6; border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.today-ready__head { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid #c7d7c6; background: var(--green-soft); }
.today-ready__head h2 { margin-bottom: 3px; font-size: 27px; }
.today-ready__head p { margin: 0; color: var(--muted); font-size: 10px; }
.today-ready__head > span { display: inline-flex; gap: 7px; align-items: center; color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.today-ready__head i { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.today-ready__body { display: grid; grid-template-columns: 220px minmax(0, 1fr) 245px; gap: 28px; align-items: center; padding: 28px; }
.today-ready__cover { display: block; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; aspect-ratio: 4 / 5; background: var(--inset); color: var(--ink); text-decoration: none; box-shadow: 0 10px 28px rgb(31 47 38 / 8%); }
.today-ready__cover--carousel::before, .today-ready__cover--carousel::after { position: absolute; z-index: -1; inset: 5px -6px -5px 6px; content: ""; border: 1px solid var(--line); border-radius: 10px; background: var(--raised); }
.today-ready__cover--carousel::after { inset: 10px -11px -10px 11px; opacity: .7; }
.today-ready__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.today-ready__cover > span { display: flex; height: 100%; padding: 24px; align-items: center; font-family: var(--font-display), Georgia, serif; font-size: 25px; line-height: 1.08; }
.today-ready__copy .eyebrow { margin-bottom: 10px; }
.today-ready__copy h2 { max-width: 520px; margin-bottom: 12px; font-size: clamp(29px, 3vw, 39px); line-height: 1.08; }
.today-ready__copy > p:last-child { max-width: 560px; margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.6; }
.today-ready__action { padding: 20px; border: 1px solid #c7d7c6; border-radius: 11px; background: var(--green-soft); }
.today-ready__action strong { display: block; margin-bottom: 17px; font-size: 12px; line-height: 1.45; }
.today-ready__action .materials-button { justify-content: center; width: 100%; margin: 0; }
.today-ready-radar { display: flex; gap: 24px; align-items: center; justify-content: space-between; margin-top: 18px; padding: 18px 22px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); color: var(--ink); text-decoration: none; box-shadow: var(--shadow-raised); }
.today-ready-radar strong, .today-ready-radar small { display: block; }
.today-ready-radar strong { margin-bottom: 3px; font-size: 12px; }
.today-ready-radar small { color: var(--muted); font-size: 9px; }
.today-ready-radar b { color: var(--green); font-size: 10px; white-space: nowrap; }
.today-radar-signals { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; margin-top: 18px; padding: 20px 22px; border: 1px solid #c7d7c6; border-radius: var(--radius-card); background: var(--green-soft); color: var(--ink); text-decoration: none; }
.today-radar-signals:hover { border-color: #8fa697; background: #edf4ec; }
.today-radar-signals span, .today-radar-signals b { display: block; }
.today-radar-signals small { display: block; margin-bottom: 6px; color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.today-radar-signals strong { display: block; margin-bottom: 5px; font-family: "Source Serif 4", Georgia, serif; font-size: 23px; line-height: 1.1; letter-spacing: -.03em; }
.today-radar-signals em { display: block; max-width: 640px; color: var(--ink-soft); font-size: 11px; font-style: normal; line-height: 1.45; }
.today-radar-signals b { min-width: 130px; color: var(--green); font-size: 10px; line-height: 1.55; text-align: right; white-space: nowrap; }
.today-radar-signals b i { display: block; color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 28px; font-style: normal; line-height: .95; }

/* Materials library: real assets only; topics remain in Plan. */
.mlib-head { display: flex; gap: 28px; align-items: end; justify-content: space-between; margin-bottom: 24px; }
.mlib-head h1 { font-size: clamp(42px, 5vw, 58px); }
.mlib-head p:not(.eyebrow) { margin: 10px 0 0; color: var(--ink-soft); font-size: 14px; }
.mlib-head > .materials-button { flex: 0 0 auto; margin: 0 0 3px; }
.mlib-toolbar { display: grid; grid-template-columns: minmax(230px, 1fr) auto; gap: 14px; align-items: center; margin-bottom: 20px; }
.mlib-search { display: block; position: relative; }
.mlib-search::before { position: absolute; z-index: 1; left: 15px; top: 50%; content: "⌕"; color: var(--muted); font-size: 21px; transform: translateY(-55%); }
.mlib-search input { min-height: 46px; padding-left: 42px; background: var(--raised); }
.mlib-filters { display: flex; gap: 3px; padding: 4px; border: 1px solid var(--line); border-radius: 9px; background: var(--raised); }
.mlib-filters a { display: inline-flex; gap: 5px; align-items: center; min-height: 36px; padding: 0 9px; border-radius: 6px; color: var(--muted); font-size: 9px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.mlib-filters a:hover { color: var(--ink); background: var(--inset); }
.mlib-filters a.is-active { background: var(--ink); color: #fff; }
.mlib-filters a span { opacity: .62; }
.mlib-review, .mlib-library, .mlib-empty { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.mlib-review { margin-bottom: 20px; border-color: #c7d7c6; }
.mlib-section-head { display: flex; gap: 20px; align-items: end; justify-content: space-between; padding: 18px 22px 15px; border-bottom: 1px solid var(--line); }
.mlib-section-head h2 { margin-bottom: 3px; font-size: 26px; }
.mlib-section-head p { margin: 0; color: var(--muted); font-size: 10px; }
.mlib-section-head > span { padding: 6px 9px; border-radius: 999px; background: #fff0e8; color: #a95535; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.mlib-review__item { display: grid; grid-template-columns: 205px minmax(0, 1fr) 200px; gap: 26px; align-items: center; padding: 22px; background: linear-gradient(90deg, var(--green-soft), var(--raised) 72%); }
.mlib-review__item + .mlib-review__item { border-top: 1px solid var(--line); }
.mlib-cover-wrap { display: block; position: relative; align-self: start; aspect-ratio: 4 / 5; color: var(--ink); text-decoration: none; }
.mlib-cover-wrap.is-carousel::before, .mlib-cover-wrap.is-carousel::after { position: absolute; inset: 7px 1px 7px 8px; content: ""; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); transform: rotate(3deg); }
.mlib-cover-wrap.is-carousel::after { inset: 3px 5px 3px 4px; transform: rotate(1.5deg); }
.mlib-cover { display: block; position: absolute; z-index: 1; inset: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--green-soft); }
.mlib-cover--tone0 { background: linear-gradient(150deg, #dde9d9 0 55%, #e1ae67 55% 58%, #f5eee1 58%); }
.mlib-cover--tone1 { background: linear-gradient(150deg, #f1e4d3, #d7c2a1); }
.mlib-cover--tone2 { background: linear-gradient(150deg, #f3dfd4, #ec9b76); }
.mlib-cover--tone3 { background: linear-gradient(150deg, #e2eae0, #bdcec1); }
.mlib-cover.is-working { background: repeating-linear-gradient(135deg, #ece8da 0 8px, #e0dbcb 8px 16px); }
.mlib-cover img { width: 100%; height: 100%; object-fit: cover; }
.mlib-cover b { display: block; position: absolute; z-index: 1; left: 14px; right: 14px; top: 50%; font-family: var(--font-display), Georgia, serif; font-size: 21px; line-height: 1.12; transform: translateY(-50%); }
.mlib-cover > small { position: absolute; z-index: 2; left: 13px; top: 13px; color: var(--green); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.mlib-meta { display: flex; gap: 8px; align-items: center; margin: 0 0 10px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.mlib-meta span { padding: 5px 8px; border-radius: 999px; background: var(--green-soft); color: var(--green); }
.mlib-review__copy h3 { margin: 0 0 9px; font-family: var(--font-display), Georgia, serif; font-size: 30px; line-height: 1.1; letter-spacing: -.03em; }
.mlib-review__copy > p:not(.mlib-meta) { max-width: 650px; margin: 0 0 10px; color: var(--ink-soft); font-size: 12px; line-height: 1.65; }
.mlib-plan-link { color: var(--green); font-size: 9px; font-weight: 800; text-decoration: none; }
.mlib-review__action { padding: 18px; border: 1px solid var(--line); border-radius: 11px; background: rgb(255 253 248 / 86%); }
.mlib-review__action > small { display: block; margin-bottom: 7px; color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.mlib-review__action > strong { display: block; margin-bottom: 15px; font-size: 11px; line-height: 1.5; }
.mlib-review__action .materials-button { justify-content: center; width: 100%; margin: 0; text-align: center; }
.mlib-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mlib-card { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 18px; min-height: 250px; padding: 20px; border-bottom: 1px solid var(--line); }
.mlib-card:nth-child(odd) { border-right: 1px solid var(--line); }
.mlib-card:nth-last-child(-n + 2) { border-bottom: 0; }
.mlib-card__body { display: flex; min-width: 0; flex-direction: column; }
.mlib-card h3 { margin: 0 0 7px; font-size: 21px; line-height: 1.2; }
.mlib-card h3 a { color: var(--ink); text-decoration: none; }
.mlib-card__excerpt { display: -webkit-box; overflow: hidden; margin: 0 0 10px; color: var(--ink-soft); font-size: 10px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.mlib-card footer { display: flex; gap: 10px; align-items: center; justify-content: space-between; margin-top: auto; }
.mlib-card footer > a { min-height: 34px; display: inline-flex; align-items: center; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 7px; color: var(--green); font-size: 9px; font-weight: 800; text-decoration: none; }
.mlib-card footer form { display: block; margin: 0; }
.mlib-card footer form button { min-height: 34px; margin: 0; padding: 0 10px; border-color: var(--line-strong); background: var(--surface); color: var(--green); font-size: 9px; }
.mlib-card footer form button.is-danger { color: var(--danger); }
.mlib-archive-actions { display: flex; gap: 6px; }
.mlib-status { display: inline-flex; gap: 6px; align-items: center; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.mlib-status::before { width: 6px; height: 6px; content: ""; border-radius: 50%; background: var(--line-strong); }
.mlib-status.is-ready, .mlib-status.is-published { color: var(--green); }
.mlib-status.is-ready::before, .mlib-status.is-published::before { background: var(--green); }
.mlib-status.is-processing { color: #a95535; }
.mlib-status.is-processing::before { background: #ef7b4c; }
.mlib-progress { overflow: hidden; height: 5px; margin: 11px 0 7px; border-radius: 999px; background: #dce2da; }
.mlib-progress span { display: block; width: 64%; height: 100%; border-radius: inherit; background: var(--green); animation: campaign-work 1.6s ease-in-out infinite alternate; }
.mlib-working-note { color: var(--muted); font-size: 8px; }
.mlib-empty { padding: 70px 24px; text-align: center; }
.mlib-empty h2 { font-size: 34px; }
.mlib-empty > p:not(.eyebrow) { max-width: 520px; margin: 0 auto 22px; color: var(--muted); font-size: 12px; }
.mlib-empty .materials-button { margin: 0; }

@media (max-width: 1080px) {
  .campaign-today-goal { grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(110px, .5fr)); }
  .mlib-toolbar { grid-template-columns: 1fr; }
  .mlib-filters { overflow-x: auto; scrollbar-width: none; }
  .mlib-filters::-webkit-scrollbar { display: none; }
  .mlib-review__item { grid-template-columns: 170px minmax(0, 1fr) 180px; }
  .mlib-grid { grid-template-columns: 1fr; }
  .today-ready__body { grid-template-columns: 190px minmax(0, 1fr) 220px; gap: 20px; }
  .mlib-card:nth-child(odd) { border-right: 0; }
  .mlib-card:nth-last-child(2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .campaign-today-head, .mlib-head { align-items: flex-start; flex-direction: column; }
  .campaign-today-head time { padding: 0; }
  .campaign-today-goal { grid-template-columns: repeat(3, 1fr); }
  .campaign-today-goal__main { grid-column: 1 / -1; border-bottom: 1px solid #c7d7c6; }
  .campaign-today-goal > div:nth-child(2) { border-left: 0; }
  .campaign-today-focus__body { grid-template-columns: 1fr; gap: 20px; padding: 24px 20px; }
  .campaign-today-next__row { grid-template-columns: 32px minmax(0, 1fr) 60px; padding: 13px 17px; }
  .campaign-today-next__format { grid-column: 2; }
  .campaign-today-next__row time { grid-column: 3; grid-row: 1 / 3; }
  .campaign-today-radar { grid-template-columns: 1fr; gap: 14px; }
  .today-ready__body { grid-template-columns: 180px minmax(0, 1fr); }
  .today-ready__action { grid-column: 1 / -1; display: flex; gap: 18px; align-items: center; justify-content: space-between; }
  .today-ready__action strong { margin: 0; }
  .today-ready__action .materials-button { width: auto; min-width: 220px; }
  .mlib-head > .materials-button { width: 100%; justify-content: center; }
  .mlib-review__item { grid-template-columns: 150px minmax(0, 1fr); gap: 18px; }
  .mlib-review__action { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 180px; gap: 16px; align-items: center; }
  .mlib-review__action > strong { margin: 0; }
}

@media (max-width: 520px) {
  .campaign-today-goal { grid-template-columns: 1fr; }
  .campaign-today-goal__main { grid-column: auto; }
  .campaign-today-goal > div + div { border-top: 1px solid #c7d7c6; border-left: 0; }
  .campaign-today-focus > header, .campaign-today-next > header { align-items: flex-start; flex-direction: column; }
  .campaign-today-head--simple { gap: 16px; }
  .today-view-switch { width: 100%; }
  .today-view-switch a, .today-view-switch span { flex: 1; }
  .today-ready__head { align-items: flex-start; padding: 17px; }
  .today-ready__body { grid-template-columns: 1fr; padding: 18px; }
  .today-ready__cover { width: min(72vw, 260px); }
  .today-ready__action { grid-column: auto; display: block; }
  .today-ready__action strong { margin-bottom: 15px; }
  .today-ready__action .materials-button { width: 100%; min-width: 0; }
  .today-ready-radar { align-items: flex-start; flex-direction: column; gap: 10px; }
  .today-radar-signals { grid-template-columns: 1fr; gap: 13px; }
  .today-radar-signals b { text-align: left; }
  .campaign-today-next__row { grid-template-columns: 30px minmax(0, 1fr); }
  .campaign-today-next__format, .campaign-today-next__row time { grid-column: 2; grid-row: auto; justify-self: start; }
  .mlib-section-head { align-items: flex-start; flex-direction: column; gap: 7px; }
  .mlib-review__item { grid-template-columns: 1fr; padding: 17px; }
  .mlib-review__item > .mlib-cover-wrap { width: 58%; min-width: 180px; }
  .mlib-review__copy h3 { font-size: 26px; }
  .mlib-review__action { grid-column: auto; display: block; }
  .mlib-review__action > strong { margin-bottom: 15px; }
  .mlib-card { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 16px; }
  .mlib-cover b { right: 9px; left: 9px; font-size: 14px; }
  .mlib-cover > small { top: 8px; left: 8px; font-size: 7px; }
  .mlib-card h3 { font-size: 18px; }
  .mlib-card__excerpt { -webkit-line-clamp: 3; }
  .mlib-card footer { align-items: flex-start; flex-direction: column; }
  .mlib-card footer > a { width: 100%; justify-content: center; }
}
.material-release__actions .material-plan-form { display: grid; gap: 6px; }
.material-release__actions .material-plan-form label { font-size: 12px; color: var(--muted); }
.material-release__actions .material-plan-form input { width: 100%; }
.material-release__auto--manual { border-color: #e3d9c2; background: var(--amber-soft); }
.material-release__auto { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--ink-soft); font-size: 12px; font-weight: 700; line-height: 1.45; }
@media (max-width: 1100px) {
  .material-desk { grid-template-columns: 1fr; }
  .material-desk__side { position: static; }
}

/* Экран запуска: состав комплекта и дни ритма. */
.factory-run { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; }
.factory-run__field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--muted); }
.factory-run__field input { width: 120px; padding: 9px 12px; border: 1px solid var(--line-strong); border-radius: 10px; font: inherit; }
.factory-run__field--time { margin-top: 14px; }
.factory-run__total { width: 100%; margin: 0; color: var(--muted); font-size: 13px; }
.factory-run__total.is-warn { color: #8a4b1f; }
.factory-run--recommended { align-items: stretch; }
.factory-run--recommended .factory-run__field { min-width: 190px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--sand); }
.factory-run--recommended .factory-run__field strong { color: var(--ink); font-size: 15px; }
.factory-rhythm { display: flex; flex-wrap: wrap; gap: 8px; }
.factory-rhythm__day { position: relative; }
.factory-rhythm__day input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.factory-rhythm__day span { display: block; min-width: 44px; padding: 9px 12px; border: 1px solid var(--line-strong); border-radius: 999px; text-align: center; font-size: 13px; }
.factory-rhythm__day.is-active span,
.factory-rhythm__day:has(input:checked) span { border-color: var(--ink); background: var(--ink); color: #fff; }
.factory-rhythm__day:has(input:focus-visible) span { outline: 2px solid var(--green); outline-offset: 2px; }
/* «Дальше»: две настройки, каждая снимает с человека ещё одно действие. */
.factory-switch { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 11px; align-items: start; max-width: 640px; padding: 13px 15px; border: 1px solid var(--line-strong); border-radius: 10px; cursor: pointer; }
.factory-switch + .factory-switch { margin-top: 10px; }
.factory-switch:has(input:checked) { border-color: var(--green); background: var(--green-soft); }
.factory-switch:has(input:focus-visible) { outline: 2px solid var(--green); outline-offset: 2px; }
.factory-switch input { width: 18px; min-height: 18px; height: 18px; margin: 2px 0 0; }
.factory-switch strong { display: block; font-size: 14px; }
.factory-switch small { display: block; margin-top: 4px; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }

/* Сегодня: короткая очередь решений, а не второй экран аналитики. */
.today-head { max-width: 760px; padding: 12px 0 16px; }
.app-main .today-head h1 { max-width: none; font-size: 34px; line-height: 1.08; }
.today-head > p:not(.eyebrow) { max-width: 720px; margin: 8px 0 0; color: var(--ink-soft); font-size: 14px; font-weight: 650; line-height: 1.55; }
.today-error { margin: 14px 0 0; padding: 11px 14px; border: 1px solid #e2c4bd; border-radius: var(--radius-control); background: var(--danger-soft); }
.today-status { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 14px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.today-status a { display: grid; gap: 3px; min-width: 0; padding: 13px 16px; color: inherit; text-decoration: none; }
.today-status a + a { border-left: 1px solid var(--line); }
.today-status a:hover { background: var(--hover); }
.today-status small, .today-opportunity__proposal small, .today-result small { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.today-status b { font-size: 13px; }
.today-status span { overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.today-board, .today-results, .radar-settings-card { border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.today-board__head, .today-results > header { display: flex; gap: 20px; align-items: end; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.today-board__head .eyebrow, .today-results .eyebrow { margin-bottom: 3px; }
.today-board__head h2, .today-results h2 { margin: 0; font-size: 23px; }
.today-board__head > span { color: var(--muted); font-size: 10px; font-weight: 700; }
.today-opportunities { display: grid; }
.today-opportunity { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(200px, .65fr) minmax(208px, auto); gap: 22px; align-items: center; padding: 17px 20px; }
.today-opportunity + .today-opportunity { border-top: 1px solid var(--line); }
.today-opportunity.is-primary { background: var(--green-soft); }
.today-opportunity__meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.today-opportunity__meta span { padding: 4px 8px; border-radius: 999px; background: var(--inset); color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.today-opportunity.is-primary .today-opportunity__meta span { background: #d6e5d6; }
.today-opportunity__meta small { color: var(--muted); font-size: 9px; font-weight: 750; }
.today-opportunity h3 { margin: 7px 0 0; font-family: "Source Serif 4", Georgia, serif; font-size: 20px; line-height: 1.08; letter-spacing: -.02em; }
.today-opportunity__copy > p { max-width: 760px; margin: 6px 0 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.today-opportunity__evidence { max-width: 760px; margin-top: 8px; color: var(--muted); font-size: 9px; }
.today-opportunity__evidence summary { width: max-content; color: var(--green); cursor: pointer; font-weight: 800; }
.today-opportunity__evidence > div { display: grid; gap: 6px; padding-top: 7px; }
.today-opportunity__evidence blockquote { display: grid; gap: 3px; margin: 0; padding: 7px 9px; border-left: 2px solid var(--green); background: var(--raised); }
.today-opportunity__evidence blockquote span { color: var(--green); font-size: 8px; font-weight: 800; }
.today-opportunity__evidence blockquote p { margin: 0; color: var(--ink-soft); font-size: 9px; line-height: 1.45; }
.today-opportunity__evidence blockquote a { width: max-content; color: var(--green); font-size: 8px; font-weight: 800; text-decoration: none; }
.today-opportunity__evidence blockquote a:hover { text-decoration: underline; }
.today-opportunity__proposal { display: grid; gap: 4px; }
.today-opportunity__proposal b { font-size: 11px; line-height: 1.45; }
.today-opportunity__actions { display: grid; gap: 5px; min-width: 0; justify-items: stretch; }
.today-opportunity__actions form { display: block; min-width: 0; margin: 0; }
.today-opportunity__actions .materials-button { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 38px; padding: 7px 10px; line-height: 1.25; white-space: normal; }
.today-link-button, .today-dismiss { width: 100%; min-height: 26px !important; margin: 0 !important; padding: 2px 7px !important; border: 0 !important; background: transparent !important; color: var(--green) !important; font-size: 10px !important; }
.today-dismiss { color: var(--muted) !important; font-weight: 650 !important; }
.today-link-button:hover, .today-dismiss:hover { text-decoration: underline; }
.today-empty { padding: 34px 20px; text-align: center; }
.today-empty h3 { margin: 0; font-family: "Source Serif 4", Georgia, serif; font-size: 22px; }
.today-empty p { max-width: 560px; margin: 7px auto 15px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.today-results { margin-top: 14px; }
.today-results > header a { color: var(--green); font-size: 11px; font-weight: 800; text-decoration: none; }
.today-result { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 13px 20px; color: inherit; text-decoration: none; }
.today-result + .today-result { border-top: 1px solid var(--line); }
.today-result:hover { background: var(--hover); }
.today-result span { display: grid; gap: 3px; }
.today-result b { font-size: 13px; }
.today-result strong { color: var(--green); font-size: 11px; }

/* Конкуренты: профиль рынка, состояние и управляемые внешние источники. */
.radar-head { padding-bottom: 12px; }
.radar-overview { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr); gap: 14px; margin-bottom: 14px; }
.radar-overview > article, .radar-sources-card { border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.radar-overview > article { min-height: 150px; padding: 20px; }
.radar-overview h2 { max-width: 760px; margin: 7px 0 8px; font-size: 22px; line-height: 1.2; }
.radar-overview p:not(.eyebrow) { max-width: 650px; margin: 0 0 12px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.radar-overview a:not(.materials-button) { color: var(--green); font-size: 11px; font-weight: 750; text-decoration: none; }
.radar-sources-card { overflow: hidden; }
.radar-sources-card__head { display: flex; gap: 30px; align-items: end; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.radar-sources-card__head h2 { margin: 3px 0 0; font-size: 23px; }
.radar-sources-card__head > p { max-width: 430px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.radar-source-group + .radar-source-group { border-top: 1px solid var(--line); }
.radar-source-group__head { display: flex; gap: 18px; align-items: center; justify-content: space-between; padding: 14px 20px 9px; background: var(--inset); }
.radar-source-group__head h3 { margin: 0; font-size: 14px; }
.radar-source-group__head p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.radar-source-group__head > span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: var(--raised); color: var(--green); font-size: 10px; font-weight: 800; }
.radar-source-row { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 13px; align-items: center; padding: 13px 20px; }
.radar-source-row + .radar-source-row { border-top: 1px solid var(--line); }
.radar-source-row.is-muted { opacity: .68; }
.radar-source-row__platform { display: grid; width: 42px; height: 32px; place-items: center; border-radius: 8px; background: var(--green-soft); color: var(--green); font-size: 9px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.radar-source-row__body { display: grid; min-width: 0; gap: 2px; }
.radar-source-row__body strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.radar-source-row__body a { overflow: hidden; color: var(--muted); font-size: 9px; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.radar-source-row__body p { margin: 2px 0 0; color: var(--ink-soft); font-size: 10px; }
.radar-source-row__actions { display: flex; gap: 5px; }
.radar-source-row__actions form { margin: 0; }
.radar-source-row__actions button { min-height: 30px; padding: 5px 9px; border: 1px solid var(--line-strong); border-radius: 8px; background: transparent; color: var(--green); font: inherit; font-size: 9px; font-weight: 750; cursor: pointer; }
.radar-source-row__actions button:hover { background: var(--hover); }
.radar-source-row__actions button.is-danger { color: var(--muted); }
.radar-actor-group + .radar-actor-group { border-top: 1px solid var(--line); }
.radar-actor-list { display: grid; }
.radar-actor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .48fr); gap: 24px; align-items: center; padding: 18px 20px; }
.radar-actor + .radar-actor { border-top: 1px solid var(--line); }
.radar-actor.is-candidate { background: color-mix(in srgb, var(--green-soft) 35%, var(--raised)); }
.radar-actor__main { display: grid; min-width: 0; gap: 8px; }
.radar-actor__title { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; }
.radar-actor__title > div { display: grid; min-width: 0; gap: 5px; }
.radar-actor__title strong { overflow: hidden; font-family: var(--serif); font-size: 19px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.radar-actor__kind { width: max-content; padding: 3px 7px; border-radius: 999px; background: var(--inset); color: var(--ink-soft); font-size: 8px; font-weight: 800; letter-spacing: .04em; }
.radar-actor__status { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; background: var(--sand); color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.radar-actor__status.is-active { background: var(--green-soft); color: var(--green); }
.radar-actor__main > p { max-width: 740px; margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.radar-actor__channels { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 140px)); gap: 7px; max-width: 620px; }
.radar-actor__channel { display: grid; gap: 2px; min-width: 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: inherit; text-decoration: none; }
.radar-actor__channel:hover { border-color: var(--green); background: var(--hover); }
.radar-actor__channel span { color: var(--green); font-size: 10px; font-weight: 850; }
.radar-actor__channel small { color: var(--muted); font-size: 8px; font-weight: 700; }
.radar-actor__posts { max-width: 900px; border-top: 1px solid var(--line); }
.radar-actor__posts summary { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 9px 0 2px; color: var(--muted); font-size: 9px; cursor: pointer; }
.radar-actor__posts summary span { font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.radar-actor__posts summary strong { color: var(--green); font-size: 9px; }
.radar-actor__post-list { display: grid; gap: 7px; padding-top: 9px; }
.radar-actor__post { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 18px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--inset); }
.radar-actor__post header { display: flex; gap: 8px; align-items: center; grid-column: 1 / -1; color: var(--muted); font-size: 8px; }
.radar-actor__post header span { padding: 2px 6px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-weight: 850; }
.radar-actor__post p { grid-column: 1 / -1; margin: 0; color: var(--ink); font-size: 11px; line-height: 1.45; }
.radar-actor__post-result { display: grid; gap: 2px; }
.radar-actor__post-result strong { color: var(--green); font-size: 9px; }
.radar-actor__post-result small { color: var(--muted); font-size: 8px; }
.radar-post-audience { grid-column: 1 / -1; margin-top: 2px; border-top: 1px solid var(--line); }
.radar-post-audience summary { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding-top: 8px; color: var(--muted); cursor: pointer; font-size: 8px; }
.radar-post-audience summary span { font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.radar-post-audience summary strong { color: var(--green); font-size: 8px; }
.radar-post-audience__list { display: grid; gap: 6px; padding-top: 8px; }
.radar-post-audience__list blockquote { display: grid; gap: 4px; margin: 0; padding: 8px 9px; border-left: 2px solid var(--green); border-radius: 0 7px 7px 0; background: var(--raised); }
.radar-post-audience__list blockquote span { color: var(--green); font-size: 7px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.radar-post-audience__list blockquote p { margin: 0; color: var(--ink-soft); font-size: 9px; line-height: 1.45; }
.radar-post-audience__more { color: var(--muted); font-size: 8px; }
.radar-post-audience__empty { margin: 8px 0 0 !important; padding: 8px 9px; border-radius: 7px; background: var(--raised); color: var(--muted) !important; font-size: 8px !important; }
.radar-actor__post > a { align-self: end; color: var(--green); font-size: 8px; font-weight: 800; text-decoration: none; }
.radar-actor__post-empty { margin: 0; padding: 10px 12px; border-radius: 8px; background: var(--inset); color: var(--muted); font-size: 9px; line-height: 1.5; }
.radar-actor:not(.is-candidate) .radar-actor__main { grid-column: 1 / -1; }
.radar-actor__controls { display: grid; gap: 9px; justify-items: end; }
.radar-actor__role { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: end; margin: 0; }
.radar-actor__role label { display: grid; gap: 3px; }
.radar-actor__role label span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.radar-actor__role select { min-height: 34px; padding: 5px 8px; font-size: 10px; }
.radar-actor__role button, .radar-actor__remove { min-height: 34px; padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: 8px; background: transparent; color: var(--green); font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; }
.radar-actor__decisions { display: flex; gap: 7px; justify-content: flex-end; }
.radar-actor__decisions form { margin: 0; }
.radar-actor__decisions .materials-button { min-height: 34px; padding: 6px 12px; font-size: 9px; }
.radar-actor__remove { color: var(--muted); }
.radar-actor__settings { grid-column: 1 / -1; width: 100%; color: var(--muted); font-size: 9px; }
.radar-actor__settings summary { width: max-content; margin-left: auto; color: var(--green); cursor: pointer; font-weight: 800; }
.radar-actor__settings[open] { padding-top: 9px; border-top: 1px solid var(--line); }
.radar-actor__settings[open] summary { margin-bottom: 12px; }
.radar-actor__settings-body { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(240px, .65fr); gap: 20px; }
.radar-actor__platform-settings > header { display: grid; gap: 3px; margin-bottom: 9px; }
.radar-actor__platform-settings > header strong { color: var(--ink); font-size: 12px; }
.radar-actor__platform-settings > header small { font-size: 9px; line-height: 1.45; }
.radar-actor__platform-head { grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px !important; }
.radar-actor__platform-head > div { display: grid; gap: 3px; }
.radar-actor__platform-head form { margin: 0; }
.radar-actor__platform-head button { min-height: 30px; padding: 5px 9px; border: 1px solid var(--line-strong); border-radius: 8px; background: transparent; color: var(--green); font: inherit; font-size: 8px; font-weight: 800; cursor: pointer; }
.radar-actor__platform-head button:disabled { opacity: .55; cursor: wait; }
.radar-actor__platform-list { overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--raised); }
.radar-actor__platform-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 9px 10px; }
.radar-actor__platform-row + .radar-actor__platform-row { border-top: 1px solid var(--line); }
.radar-actor__platform-row > div:first-child { display: grid; min-width: 0; gap: 2px; }
.radar-actor__platform-row > div:first-child strong { color: var(--ink); font-size: 10px; }
.radar-actor__platform-row a { overflow: hidden; color: var(--muted); font-size: 8px; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.radar-actor__platform-row > div:first-child small { color: var(--ink-soft); font-size: 8px; line-height: 1.35; }
.radar-actor__platform-row > span { color: var(--muted); font-size: 8px; font-weight: 750; }
.radar-actor__platform-actions { display: flex; gap: 4px; }
.radar-actor__platform-actions form { margin: 0; }
.radar-actor__platform-actions button { min-height: 28px; padding: 4px 7px; border: 1px solid var(--line-strong); border-radius: 7px; background: transparent; color: var(--green); font: inherit; font-size: 8px; font-weight: 800; cursor: pointer; }
.radar-actor__platform-actions button.is-danger { border-color: transparent; color: var(--muted); }
.radar-actor__platform-actions button.is-primary { border-color: var(--green); background: var(--green); color: white; }
.radar-actor__platform-empty { margin: 0; padding: 14px; color: var(--muted); }
.radar-actor__platform-add { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; align-items: end; margin: 9px 0 0; }
.radar-actor__platform-add label { display: grid; gap: 4px; }
.radar-actor__platform-add label span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.radar-actor__platform-add input { width: 100%; min-height: 34px; padding: 6px 8px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--raised); color: var(--ink); font: inherit; font-size: 10px; }
.radar-actor__platform-add .materials-button { min-height: 34px; padding: 6px 10px; font-size: 9px; }
.radar-actor__organization-settings { padding-left: 20px; border-left: 1px solid var(--line); }
.radar-actor__organization-remove { margin: 14px 0 0; padding-top: 10px; border-top: 1px solid var(--line); }
.radar-actor__settings .radar-actor__remove { min-height: 28px; padding: 3px 7px; border: 0; }
.radar-empty { padding: 30px 20px 20px; text-align: center; }
.radar-empty h3 { margin: 0; font-size: 18px; }
.radar-empty p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.radar-add-source { display: grid; grid-template-columns: minmax(210px, .8fr) minmax(260px, 1.5fr) minmax(180px, .7fr) auto; gap: 12px; align-items: end; padding: 17px 20px; border-top: 1px solid var(--line); background: var(--inset); }
.radar-add-source__title h3 { margin: 0; font-size: 14px; }
.radar-add-source__title p { margin: 3px 0 0; color: var(--muted); font-size: 9px; line-height: 1.4; }
.radar-add-source label { display: grid; gap: 5px; }
.radar-add-source label > span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.radar-add-source input, .radar-add-source select { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--raised); color: var(--ink); font: inherit; font-size: 11px; }
.radar-add-source .materials-button { min-height: 40px; white-space: nowrap; }

@media (max-width: 1000px) {
  .today-opportunity { grid-template-columns: minmax(0, 1fr) 150px; }
  .today-opportunity__proposal { grid-column: 1; }
  .today-opportunity__actions { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 1200px) {
  .radar-overview { grid-template-columns: 1fr; }
  .radar-actor { grid-template-columns: 1fr; gap: 14px; }
  .radar-actor__controls { max-width: none; justify-items: start; }
  .radar-actor__decisions { justify-content: flex-start; }
  .radar-actor__settings summary { margin-left: 0; }
}
@media (max-width: 720px) {
  .today-status, .radar-overview { grid-template-columns: 1fr; }
  .today-status a + a { border-top: 1px solid var(--line); border-left: 0; }
  .today-opportunity { grid-template-columns: 1fr; gap: 12px; }
  .today-opportunity__proposal, .today-opportunity__actions { grid-column: auto; grid-row: auto; }
  .today-opportunity__actions { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; }
  .today-board__head, .today-results > header { align-items: flex-start; flex-direction: column; gap: 6px; }
  .radar-sources-card__head { align-items: flex-start; flex-direction: column; gap: 7px; }
  .radar-source-row { grid-template-columns: 44px minmax(0, 1fr); }
  .radar-source-row__actions { grid-column: 2; }
  .radar-actor { grid-template-columns: 1fr; gap: 14px; }
  .radar-actor__controls { max-width: none; }
  .radar-actor__title { align-items: flex-start; }
  .radar-actor__settings-body { grid-template-columns: 1fr; }
  .radar-actor__organization-settings { padding: 13px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .radar-actor__platform-head { grid-template-columns: 1fr; align-items: start; }
  .radar-actor__platform-head button { width: 100%; }
  .radar-actor__platform-row { grid-template-columns: minmax(0, 1fr) auto; }
  .radar-actor__platform-actions { grid-column: 1 / -1; }
  .radar-actor__platform-add { grid-template-columns: 1fr; }
  .radar-actor__post { grid-template-columns: 1fr; }
  .radar-actor__post > a { justify-self: start; }
  .radar-add-source { grid-template-columns: 1fr; }
}
/* Goal-first campaign plan */
.campaign-page{width:100%;max-width:1240px;margin:0 auto;padding:36px 34px 54px;color:#13231b}
.campaign-hero{max-width:880px;margin-bottom:30px}.campaign-hero h1,.campaign-ready-head h1,.campaign-building h1{font-family:var(--font-display,Georgia,serif);font-size:clamp(42px,5vw,68px);font-weight:500;line-height:1.02;letter-spacing:-.035em;margin:10px 0 18px}.campaign-hero>p:last-child,.campaign-ready-head>div>p:last-child,.campaign-building>p{max-width:760px;font-size:18px;line-height:1.5;color:#58655e}.campaign-page .eyebrow{color:#08623d;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.campaign-create{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.campaign-card{background:#fffdf8;border:1px solid #d9d7cc;border-radius:22px;overflow:hidden;box-shadow:0 14px 36px rgba(25,43,34,.06)}.campaign-card__head{padding:26px 30px 20px}.campaign-card__head h2{font-family:var(--font-display,Georgia,serif);font-size:36px;font-weight:500;margin:0 0 6px}.campaign-card__head p{margin:0;color:#758078}.campaign-choice{display:grid;grid-template-columns:32px 1fr;gap:16px;align-items:center;padding:20px 30px;border-top:1px solid #e0ded5;cursor:pointer;transition:background .18s ease}.campaign-choice:hover,.campaign-choice:has(input:checked){background:#eaf3e9}.campaign-choice input{position:absolute;opacity:0}.campaign-choice__mark{width:30px;height:30px;border:1px solid #bac4bb;border-radius:50%;background:#fff}.campaign-choice input:checked+.campaign-choice__mark{border:9px solid #176b48}.campaign-choice b{display:block;font-size:17px;margin-bottom:4px}.campaign-choice small{display:block;color:#748078;font-size:13px}.campaign-custom{padding:20px 30px;border-top:1px solid #e0ded5}.campaign-custom label{display:block;font-weight:700;margin-bottom:8px}.campaign-custom textarea{width:100%;box-sizing:border-box;border:1px solid #cfcfc4;border-radius:12px;padding:13px;background:#fffdf9;font:inherit;resize:vertical}
.campaign-settings{position:sticky;top:72px}.campaign-settings fieldset{border:0;margin:0;padding:22px 28px;border-bottom:1px solid #dedcd2}.campaign-settings legend,.campaign-count__legend{padding:0;color:#176b48;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.campaign-deadlines{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.campaign-deadlines label{cursor:pointer}.campaign-deadlines input{position:absolute;opacity:0}.campaign-deadlines span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:58px;border:1px solid #d1d0c6;border-radius:12px;background:#fffdf8;color:#154b36;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.campaign-deadlines input:checked+span{border-color:#176b48;background:#edf5eb;box-shadow:inset 0 0 0 1px #176b48}.campaign-date{width:100%;box-sizing:border-box;margin-top:12px;padding:12px;border:1px solid #d1d0c6;border-radius:10px;background:#fff}.campaign-count__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.campaign-count__head>span:last-child{color:#7b817d;font-size:11px}.campaign-quantity{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;overflow:hidden;border:1px solid #c8cbc2;border-radius:12px;background:#fff}.campaign-quantity button{min-height:58px;border:0;background:#f7f5ed;color:#176b48;font-size:24px}.campaign-quantity button:first-child{border-right:1px solid #dedcd2}.campaign-quantity button:last-child{border-left:1px solid #dedcd2}.campaign-quantity button:hover{background:#edf5eb}.campaign-quantity button:disabled{color:#adb5af;cursor:default}.campaign-quantity>div{display:flex;align-items:baseline;justify-content:center;gap:8px}.campaign-quantity strong{font-family:var(--font-display,Georgia,serif);font-size:34px;font-weight:500}.campaign-quantity span{color:#7b817d;font-size:11px}.campaign-count>p{margin:10px 0 0;font-size:11px;line-height:1.5;color:#7b817d}.campaign-primary,.campaign-secondary{display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;border:0;border-radius:12px;font:700 15px/1.2 inherit;text-decoration:none;cursor:pointer}.campaign-primary{width:calc(100% - 56px);min-height:54px;margin:24px 28px 10px;background:#176b48;color:#fff}.campaign-settings__note{margin:0;padding:0 28px 24px;color:#7b817d;font-size:11px;line-height:1.5}.campaign-primary:hover{background:#0f583a}.campaign-primary--link{width:auto;margin:18px 0 0;padding:0 24px}.campaign-secondary{min-height:46px;padding:0 18px;border:1px solid #c9cbc4;color:#174f39;background:#fffdf8}.campaign-error{padding:14px 18px;border-radius:12px;background:#fff0e8;color:#9b3518;font-weight:700}
.campaign-building{max-width:820px;margin:70px auto;padding:54px;background:#fffdf8;border:1px solid #d9d7cc;border-radius:24px;text-align:center;box-shadow:0 18px 50px rgba(25,43,34,.07)}.campaign-building>p{margin-left:auto;margin-right:auto}.campaign-progress{height:9px;margin:34px 0 16px;border-radius:99px;background:#dfe5dd;overflow:hidden}.campaign-progress span{display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#176b48,#83a692,#176b48);background-size:200% 100%;animation:campaign-loading 1.4s linear infinite}@keyframes campaign-loading{to{background-position:-200% 0}}
.campaign-next-state{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 22px;padding:22px 26px;border:1px solid #cbd7cc;border-radius:18px;background:#edf5eb}.campaign-next-state--working{background:#f4f0e7;border-color:#ddd5c7}.campaign-next-state--payment{background:#fff8ec;border-color:#e7d4b4}.campaign-next-state h2{margin:4px 0 5px;font-family:var(--font-display,Georgia,serif);font-size:28px;font-weight:500;line-height:1.08}.campaign-next-state p:last-child{margin:0;color:#5d6861;line-height:1.45}.campaign-next-state .campaign-primary--link,.campaign-next-state .campaign-secondary{flex:0 0 auto;margin:0;white-space:nowrap}.campaign-next-state .campaign-primary--link{min-height:48px}
.campaign-ready-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:20px 24px;border:1px solid #cbd7cc;border-radius:18px;background:#fffdf8}.campaign-ready-head h1{max-width:820px;margin:5px 0 7px;font-size:clamp(27px,3vw,38px);line-height:1.08}.campaign-ready-head>div>p:last-child{margin:0;font-size:14px;line-height:1.35}.campaign-ready-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.campaign-topic-list{background:#fffdf8;border:1px solid #d9d7cc;border-radius:20px;overflow:hidden}.campaign-topic{display:grid;grid-template-columns:54px minmax(0,1fr) 90px 78px;gap:14px;align-items:center;padding:19px 20px;border-bottom:1px solid #dfddd4;color:#14241c;text-decoration:none;transition:background .16s ease,transform .16s ease}.campaign-topic:last-child{border-bottom:0}.campaign-topic:hover,.campaign-topic.is-selected{background:#edf5eb}.campaign-topic:hover{transform:translateX(3px)}.campaign-topic__number{font-family:var(--font-display,Georgia,serif);font-size:25px;color:#df7145}.campaign-topic__main small{display:block;color:#657168;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.campaign-topic__main b{font-family:var(--font-display,Georgia,serif);font-size:22px;font-weight:500;line-height:1.15}.campaign-topic__format,.campaign-topic__status{font-size:12px;font-weight:700;color:#69736d}.campaign-topic__status{padding:7px;border-radius:99px;background:#eeeae1;text-align:center}.campaign-topic__status.is-work{background:#fff0df;color:#9c4b20}.campaign-topic__status.is-ready{background:#dbefdf;color:#176b48}.campaign-topic-detail{position:sticky;top:88px;padding:28px;background:#fffdf8;border:1px solid #d9d7cc;border-radius:20px;box-shadow:0 14px 36px rgba(25,43,34,.06)}.campaign-topic-detail h2{font-family:var(--font-display,Georgia,serif);font-size:34px;font-weight:500;line-height:1.08;margin:10px 0 16px}.campaign-topic-detail>p:not(.eyebrow){color:#5d6861;line-height:1.5}.campaign-topic-detail dl{border-top:1px solid #dfddd4;margin:20px 0 0}.campaign-topic-detail dl div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #dfddd4}.campaign-topic-detail dt{color:#758078}.campaign-topic-detail dd{margin:0;font-weight:700;text-align:right}.campaign-topic-detail form .campaign-primary{width:100%;margin:22px 0 8px}.campaign-topic-detail>small{display:block;color:#78817c;text-align:center}.campaign-detail-status{padding:12px 14px;background:#edf5eb;border-radius:10px;color:#176b48!important;font-weight:700}
@media(max-width:900px){.campaign-page{padding:28px 20px 60px}.campaign-create,.campaign-ready-layout{grid-template-columns:1fr}.campaign-settings,.campaign-topic-detail{position:static}.campaign-ready-head{align-items:start;flex-direction:column}.campaign-topic{grid-template-columns:42px minmax(0,1fr) 68px}.campaign-topic__format{display:none}}
@media(max-width:560px){.campaign-page{padding:22px 14px 50px}.campaign-hero h1,.campaign-building h1{font-size:40px}.campaign-create{gap:16px}.campaign-card__head,.campaign-choice,.campaign-custom{padding-left:20px;padding-right:20px}.campaign-deadlines span{min-height:52px}.campaign-next-state{align-items:stretch;flex-direction:column;padding:20px}.campaign-next-state .campaign-primary--link,.campaign-next-state .campaign-secondary{width:100%}.campaign-topic{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:16px}.campaign-topic__status{grid-column:2;justify-self:start}.campaign-topic__main b{font-size:19px}.campaign-building{padding:34px 22px;margin:30px auto}}

/* Multi-task campaign production */
.campaign-taskbar{position:relative;margin:0 0 16px;padding:0;border:0;background:transparent}
.campaign-taskbar__head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:10px}
.campaign-taskbar__head>div:first-child{display:flex;align-items:baseline;gap:10px}
.campaign-taskbar__head b{color:#173126;font-size:13px;font-weight:800}
.campaign-taskbar__head>div:first-child span{color:#6c7771;font-size:11px;font-weight:700}
.campaign-taskbar__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.campaign-taskbar__tab{display:flex;min-width:0;min-height:58px;box-sizing:border-box;flex-direction:column;justify-content:center;gap:3px;padding:9px 14px;border:1px solid #d4d7cf;border-radius:12px;background:#fffdf8;color:#183127;text-decoration:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.campaign-taskbar__tab span{font-size:14px;font-weight:750;line-height:1.35;text-wrap:balance}
.campaign-taskbar__tab small{color:#718078;font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.campaign-taskbar__tab:hover{border-color:#a9c7b2;background:#f7faf5}
.campaign-taskbar__tab.is-current{border-color:#8eb59a;background:#eaf3e9;box-shadow:inset 0 0 0 1px rgba(23,107,72,.08)}
.campaign-taskbar__tab.is-archived:not(.is-current){opacity:.68}
.campaign-taskbar__new{display:flex;min-height:46px;box-sizing:border-box;align-items:center;justify-content:center;flex:0 0 auto;padding:0 18px;border:1px solid #c9cbc4;border-radius:12px;background:#fffdf8;color:#0e623f;font-weight:800;text-decoration:none;white-space:nowrap;cursor:pointer;list-style:none}
.campaign-taskbar__new::-webkit-details-marker{display:none}
.campaign-taskbar__new:hover,.campaign-new-picker[open]>.campaign-taskbar__new{border-color:#8fb29a;background:#edf5eb}
.campaign-taskbar__actions{position:relative;display:flex;align-items:center;gap:12px}
.campaign-taskbar__actions>form{margin:0}
.campaign-replace-dialog{width:min(520px,calc(100vw - 32px));padding:0;border:1px solid #cdd2c9;border-radius:20px;background:#fffdf8;color:#173126;box-shadow:0 24px 80px rgba(19,35,27,.24)}
.campaign-replace-dialog::backdrop{background:rgba(19,35,27,.42);backdrop-filter:blur(2px)}
.campaign-replace-dialog__body{padding:30px}.campaign-replace-dialog__body h2{margin:8px 0 14px;font-family:var(--font-display,Georgia,serif);font-size:32px;font-weight:500;line-height:1.08}.campaign-replace-dialog__body>p:not(.eyebrow){margin:8px 0;color:#5d6861;line-height:1.5}.campaign-replace-dialog__body>p b{color:#173126}.campaign-replace-dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.campaign-replace-dialog__actions .campaign-primary--link{width:auto;min-height:46px;margin:0}.campaign-replace-dialog__actions .campaign-secondary{min-width:110px}
.campaign-launch-notice{display:flex;align-items:center;gap:12px;margin:-18px 0 28px;padding:12px 16px;border:1px solid #b9d1bf;border-radius:12px;background:#edf5eb;color:#17583d;font-size:12px;line-height:1.45}
.campaign-launch-notice b{font-size:13px}
.campaign-launch-notice span{color:#5b6b62}
.campaign-new-picker{position:relative}
.campaign-new-picker__panel{position:absolute;z-index:20;top:54px;right:0;width:min(390px,calc(100vw - 40px));box-sizing:border-box;padding:20px;border:1px solid #cdd2c9;border-radius:16px;background:#fffdf8;box-shadow:0 18px 46px rgba(25,43,34,.16)}
.campaign-new-picker__panel>b{display:block;font-family:var(--font-display,Georgia,serif);font-size:21px;font-weight:500;line-height:1.15}
.campaign-new-picker__panel>p{margin:7px 0 15px;color:#647068;font-size:12px;line-height:1.5}
.campaign-new-picker__panel form{margin:0}
.campaign-new-picker__panel form+form{margin-top:7px}
.campaign-new-picker__panel button{width:100%;min-height:44px;padding:9px 12px;border:1px solid #d7d9d1;border-radius:10px;background:#f6f5ef;color:#154b36;font:700 12px/1.35 inherit;text-align:left;cursor:pointer}
.campaign-new-picker__panel button:hover{border-color:#91b19a;background:#edf5eb}
.campaign-ready-head__actions{display:flex;align-items:center;gap:10px}
.campaign-ready-head__actions form{margin:0}
.campaign-balance-summary{display:grid;grid-template-columns:auto minmax(90px,130px);align-items:center;gap:10px;min-height:54px;box-sizing:border-box;padding:8px 14px;border:1px solid #cbd7cc;border-radius:13px;background:#edf5eb;color:#176b48}.campaign-balance-summary strong{font-family:var(--font-display,Georgia,serif);font-size:30px;font-weight:500;line-height:1}.campaign-balance-summary span{font-size:11px;font-weight:800;line-height:1.25}
.campaign-archive-badge{padding:9px 13px;border-radius:99px;background:#f0ede5;color:#6d756f;font-size:11px;font-weight:800}
.campaign-batch{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 12px;padding:13px 16px;border:1px solid #cbd6cd;border-radius:12px;background:#f7faf5}
.campaign-batch>div{display:flex;align-items:baseline;gap:12px}
.campaign-batch span{color:#607068;font-size:12px}
.campaign-batch .campaign-primary{margin:0}
.campaign-batch .campaign-primary:disabled{background:#b7c5bc;cursor:not-allowed}
.campaign-topic-shell{position:relative}
.campaign-topic-row{display:grid;grid-template-columns:minmax(0,1fr)}
.campaign-topic-shell.has-selector-slot .campaign-topic-row{grid-template-columns:48px minmax(0,1fr)}
.campaign-topic-row:has(.campaign-topic.is-selected){background:#edf5eb}
.campaign-topic-select-slot{display:grid;min-height:82px;place-items:center;border-bottom:1px solid #dfddd4;background:transparent}
.campaign-topic-select{position:relative;display:grid;width:28px;height:28px;place-items:center;cursor:pointer;pointer-events:auto}
.campaign-topic-select input{position:absolute;width:1px;height:1px;opacity:0}
.campaign-topic-select span{display:block;width:18px;height:18px;border:1px solid #97a59c;border-radius:5px;background:#fffdf8;box-shadow:inset 0 0 0 3px #fffdf8}
.campaign-topic-select input:checked+span{border-color:#176b48;background:#176b48}
.campaign-topic-select input:focus-visible+span{outline:3px solid rgba(23,107,72,.25);outline-offset:2px}
.campaign-topic-select input:disabled+span{opacity:.35;cursor:not-allowed}
.campaign-topic-shell.has-selector-slot .campaign-topic{grid-column:2;padding-left:8px}
.campaign-topic-shell.has-selector-slot .campaign-topic:hover{padding-left:11px}
@media(max-width:1100px){.campaign-create{grid-template-columns:1fr}.campaign-settings{position:static}}
@media(max-width:900px){.campaign-taskbar{margin-bottom:16px}.campaign-taskbar__head{align-items:flex-start}.campaign-taskbar__tabs{grid-template-columns:1fr}.campaign-new-picker__panel{right:0}.campaign-ready-head__actions{flex-wrap:wrap}}
@media(max-width:560px){.campaign-taskbar__head{align-items:stretch;flex-direction:column;gap:10px}.campaign-taskbar__actions{justify-content:space-between}.campaign-taskbar__new{min-height:44px}.campaign-launch-notice{align-items:flex-start;flex-direction:column;gap:3px;margin-top:-14px}.campaign-ready-head__actions{width:100%}.campaign-ready-head__actions .campaign-secondary{width:auto}.campaign-batch{align-items:stretch;flex-direction:column}.campaign-batch>div{justify-content:space-between}.campaign-batch .campaign-primary{width:100%}.campaign-topic-shell.has-selector-slot .campaign-topic-row{grid-template-columns:42px minmax(0,1fr)}.campaign-topic-select-slot{min-height:78px}.campaign-topic-shell.has-selector-slot .campaign-topic{padding-left:4px}.campaign-topic-shell.has-selector-slot .campaign-topic:hover{padding-left:7px}}

@media (max-width: 1120px) {
  .landing-v4-nav { display: none; }
  .landing-v12-mobile-nav { display: block; }
  .landing-v4-showcase { grid-template-columns: minmax(220px, .68fr) minmax(0, 1.32fr); gap: 45px; }
  .landing-v4-goals { grid-template-columns: minmax(210px, .6fr) minmax(255px, .72fr) minmax(0, 1.15fr); }
  .landing-v4-goal-preview { padding: 28px; }
  .landing-v4-process { gap: 46px; padding: 40px; }
  .landing-v4-process__steps li { grid-template-columns: 42px minmax(155px, .7fr) minmax(150px, .7fr); }
}
@media (max-width: 900px) {
  .landing-v4-showcase, .landing-v4-proof, .landing-v4-faq { grid-template-columns: 1fr; gap: 32px; }
  .landing-v4-showcase { margin-top: 72px; padding-bottom: 74px; }
  .landing-v4-showcase__stage { max-width: 720px; }
  .landing-v4-goals { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
  .landing-v4-goals__intro { grid-column: 1 / -1; padding: 34px 0 26px; }
  .landing-v4-goal-preview { border-top: 1px solid var(--line); }
  .landing-v4-process { grid-template-columns: 1fr; margin-top: 76px; }
  .landing-v4-process__lead { max-width: 620px; }
  .landing-v4-process__steps { max-width: 720px; }
  .landing-v4-proof, .landing-v4-pricing, .landing-v4-faq { margin-top: 76px; }
  .landing-v4-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-v4-price-grid article { min-height: 275px; padding: 23px; border-bottom: 1px solid var(--line); }
  .landing-v4-price-grid article:nth-child(odd) { padding-left: 0; }.landing-v4-price-grid article:nth-child(even) { border-right: 0; padding-right: 0; }
  .landing-v4-price-grid article.is-featured { margin: 0; padding-top: 23px; padding-bottom: 23px; }
}
@media (max-width: 620px) {
  .landing-shell--v3 { padding-bottom: 54px; }
  .landing-v4-showcase { margin-top: 54px; }
  .landing-v4-section-head h2, .landing-v4-goals h2, .landing-v4-process h2, .landing-v4-proof h2, .landing-v4-faq h2, .landing-v4-final h2 { font-size: 38px; }
  .landing-v4-section-head > p:last-child, .landing-v4-goals__intro > p:last-child, .landing-v4-process__lead > p:not(.landing-v3-eyebrow), .landing-v4-final p:not(.landing-v3-eyebrow) { font-size: 14px; }
  .landing-v4-showcase__stage { padding: 10px; border-radius: 14px; }
  .landing-v4-tabs { width: 100%; }.landing-v4-tabs button { flex: 1; padding: 0 12px; font-size: 12px; }
  .landing-v4-sample { grid-template-columns: 1fr; min-height: 0; gap: 23px; padding: 25px 7px 7px; }
  .landing-v4-sample__copy small { margin-top: 8px; padding-top: 0; }.landing-v4-post-sheet { padding: 22px; transform: none; }.landing-v4-post-sheet b { font-size: 31px; }.landing-v4-carousel-stack { min-height: 305px; }.landing-v4-carousel-stack article { min-height: 275px; padding: 20px; }.landing-v4-carousel-stack strong { font-size: 31px; }.landing-v4-plan-sheet li { padding: 16px; }
  .landing-v4-goals { display: block; margin-top: 66px; }.landing-v4-goals__intro { padding: 32px 0 25px; }.landing-v4-goals__chooser { border-top: 1px solid var(--line); border-left: 0; }.landing-v4-goals__chooser button { min-height: 94px; grid-template-columns: 42px minmax(0, 1fr); padding: 17px 0; }.landing-v4-goals__chooser button.is-active { padding-left: 15px; }.landing-v4-goal-preview { padding: 26px 0; border-left: 0; }.landing-v4-goal-preview h3 { font-size: 34px; }.landing-v4-goal-preview__canvas { min-height: 238px; padding: 18px; }.landing-v4-goal-preview__number { top: -18px; right: 0; font-size: 174px; }.landing-v4-goal-preview__card { padding: 18px; }.landing-v4-goal-preview__card b { font-size: 22px; }
  .landing-v4-process { margin-top: 66px; padding: 28px 20px; border-radius: 14px; }.landing-v4-process__lead ul { margin-top: 25px; }.landing-v4-process__steps { margin-top: 29px; }.landing-v4-process__steps li { grid-template-columns: 34px minmax(0, 1fr); gap: 11px; padding-bottom: 20px; }.landing-v4-process__steps li + li { padding-top: 20px; }.landing-v4-process__steps li > span { font-size: 26px; }.landing-v4-mini-input, .landing-v4-profile-mini, .landing-v4-mini-results { grid-column: 2; margin-top: 5px; }
  .landing-v4-proof, .landing-v4-pricing, .landing-v4-faq { margin-top: 66px; padding-bottom: 66px; }.landing-v4-proof__items article { padding: 19px 0; }.landing-v4-price-grid { grid-template-columns: 1fr; }.landing-v4-price-grid article, .landing-v4-price-grid article:nth-child(odd), .landing-v4-price-grid article:nth-child(even) { min-height: 0; padding: 21px 0; border-right: 0; }.landing-v4-price-grid article.is-featured { margin: 0 -12px; padding: 21px 12px; }.landing-v4-price-grid strong { margin-top: 18px; }.landing-v4-price-grid a { margin-top: 0; padding-top: 17px; }.landing-v4-faq { gap: 27px; }.landing-v4-faq summary { min-height: 65px; font-size: 14px; }.landing-v4-final { grid-template-columns: 1fr; gap: 27px; margin-top: 66px; padding: 33px 25px; border-radius: 14px; }.landing-v4-final a { justify-content: space-between; width: 100%; }
}

/* Второй проход: возвращаем масштабы и композиционную смелость утверждённых мокапов. */
@media (min-width: 901px) {
  .landing-v3-hero { grid-template-columns: minmax(470px, .86fr) minmax(610px, 1.14fr); gap: clamp(28px, 3.5vw, 64px); }
  .landing-v3-hero h1 { max-width: 740px; font-size: clamp(56px, 4.6vw, 76px); line-height: .99; }
  .landing-v3-form__prompt { max-width: 590px; font-size: 18px; }
  .landing-v3-stage { min-height: 690px; }
  .landing-v3-stage__halo { inset: 28px 3px 22px 16px; border-radius: 43% 51% 48% 45%; }
  .landing-v3-card--post { top: 70px; left: 8px; width: min(425px, 63%); }
  .landing-v3-card--carousel { top: 150px; width: min(386px, 56%); }
  .landing-v3-card--small { bottom: 18px; left: 105px; width: min(365px, 54%); }
  .landing-v3-post-visual { min-height: 272px; }
  .landing-v3-carousel-cover { min-height: 347px; }
  .landing-v4-showcase { grid-template-columns: minmax(270px, .77fr) minmax(0, 1.23fr); gap: clamp(52px, 6vw, 104px); }
  .landing-v4-showcase__stage { padding: 20px; border-radius: 24px; }
  .landing-v4-sample { min-height: 460px; grid-template-columns: minmax(205px, .68fr) minmax(410px, 1.32fr); padding: 35px 16px 13px; }
  .landing-v4-sample__copy h3 { font-size: clamp(33px, 3vw, 46px); }
  .landing-v4-post-sheet { padding: 36px; border-radius: 18px; }
  .landing-v4-goals__intro { padding-top: 54px; padding-bottom: 54px; }
  .landing-v4-goals__chooser button { min-height: 143px; padding: 28px; }
  .landing-v4-goal-preview { padding: 46px; }
  .landing-v4-goal-preview h3 { max-width: 650px; font-size: clamp(39px, 3.4vw, 55px); }
  .landing-v4-goal-preview__canvas { min-height: 305px; padding: 34px; }
  .landing-v4-goal-preview__card { width: min(100%, 430px); padding: 25px; }
  .landing-v4-process { padding: 64px; border-radius: 24px; }
  .landing-v4-process__steps li { padding-bottom: 30px; }
  .landing-v4-process__steps li + li { padding-top: 30px; }
  .landing-v4-final { padding: 58px 62px; border-radius: 24px; }
}

.landing-v3-stage::before { position: absolute; z-index: -1; top: 52px; right: 8%; width: 40%; height: 54%; border: 1px solid rgb(29 89 60 / 14%); border-radius: 48% 46% 54% 42%; content: ""; transform: rotate(12deg); }
.landing-v3-post-visual { position: relative; overflow: hidden; background: linear-gradient(132deg, #dbe8d7 0%, #eef2e6 60%, #cadbc8 100%); }
.landing-v3-post-visual::after { position: absolute; right: -25px; bottom: -23px; width: 164px; height: 164px; border: 20px solid rgb(29 89 60 / 13%); border-radius: 50%; content: ""; }
.landing-v3-post-visual span { position: relative; z-index: 1; }
.landing-v3-carousel-cover { position: relative; overflow: hidden; background: #ef9b78; }
.landing-v3-carousel-cover::after { position: absolute; top: -42px; right: -38px; width: 165px; height: 165px; border: 1px solid rgb(36 23 14 / 25%); border-radius: 50%; content: ""; }
.landing-v4-showcase__stage { background: linear-gradient(125deg, rgb(255 253 248 / 82%), rgb(231 238 229 / 58%)); box-shadow: 0 22px 55px rgb(35 42 35 / 5%); }
.landing-v4-post-sheet { position: relative; overflow: hidden; }
.landing-v4-post-sheet::after { position: absolute; right: -50px; bottom: -80px; width: 255px; height: 255px; border: 28px solid #e6ede3; border-radius: 50%; content: ""; }
.landing-v4-post-sheet > * { position: relative; z-index: 1; }
.landing-v4-goals { border-top-width: 2px; }
.landing-v4-goal-preview__canvas { background: linear-gradient(140deg, #d9e7d5, #ecf1e8); }
.landing-v4-process { box-shadow: inset 0 0 0 1px rgb(29 89 60 / 4%); }
.landing-v4-price-grid article { transition: background .18s ease, transform .18s ease; }
.landing-v4-price-grid article:hover { background: var(--surface); transform: translateY(-3px); }
.landing-v4-price-grid article.is-featured:hover { background: #dfeade; }
@media (max-width: 620px) {
  .landing-v3-stage::before { display: none; }
  .landing-v3-post-visual::after { width: 110px; height: 110px; border-width: 14px; }
  .landing-v4-showcase__stage, .landing-v4-process, .landing-v4-final { box-shadow: none; }
}

/* Секция задач: композиция мокапа, а не прежняя трёхколоночная раскладка. */
.landing-v4-goals { display: block; margin-top: 128px; border: 0; }
.landing-v4-goals__heading { margin: 0 0 30px; }
.landing-v4-goals__heading h2 { max-width: 980px; font-size: clamp(50px, 5.4vw, 82px); line-height: .98; }
.landing-v12-section-promise {
  max-width: 720px;
  margin: 22px 0 0;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.58;
}
.landing-v4-goals__body { display: grid; grid-template-columns: minmax(290px, .43fr) minmax(0, 1.57fr); gap: 16px; }
.landing-v4-goals__chooser { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.landing-v4-goals__chooser button { min-height: 143px; padding: 25px 28px; border-bottom-color: var(--line); }
.landing-v4-goals__chooser button.is-active { box-shadow: inset 5px 0 0 var(--green); background: linear-gradient(110deg, #eef4eb, #e3eddf); }
.landing-v4-goal-preview { min-height: 0; padding: 38px 43px 32px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.landing-v4-goal-preview h3 { max-width: 770px; margin-top: 28px; margin-bottom: 28px; font-size: clamp(40px, 4vw, 63px); line-height: 1.03; }
.landing-v4-goal-preview__canvas { min-height: 320px; padding: 38px; border-radius: 16px; }
.landing-v4-goal-preview__number { top: -29px; right: 22px; font-size: 255px; }
.landing-v4-goal-preview__card { width: min(100%, 485px); padding: 27px; border-radius: 14px; }
.landing-v4-goal-preview__card b { font-size: 30px; }
.landing-v4-goal-preview__note { margin-top: 16px; }
@media (min-width: 1600px) {
  .landing-shell--v3 { width: min(calc(100% - 104px), 1920px); }
  .landing-v4-goals__body { grid-template-columns: 390px minmax(0, 1fr); }
  .landing-v4-goal-preview { padding: 46px 52px 38px; }
}
@media (max-width: 900px) {
  .landing-v4-goals { margin-top: 82px; }
  .landing-v4-goals__body { grid-template-columns: minmax(230px, .64fr) minmax(0, 1.36fr); }
  .landing-v4-goals__chooser { border-radius: 10px; }
  .landing-v4-goal-preview { padding: 30px; }
}
@media (max-width: 620px) {
  .landing-v4-goals { margin-top: 66px; }
  .landing-v4-goals__heading { margin-bottom: 22px; }
  .landing-v4-goals__heading h2 { font-size: 42px; }
  .landing-v12-section-promise { margin-top: 17px; font-size: 14px; }
  .landing-v4-goals__body { display: block; }
  .landing-v4-goals__chooser { border-radius: 10px 10px 0 0; }
  .landing-v4-goals__chooser button { min-height: 96px; padding: 17px; }
  .landing-v4-goal-preview { border-top: 0; border-radius: 0 0 10px 10px; padding: 26px 18px 20px; }
  .landing-v4-goal-preview h3 { margin-top: 21px; font-size: 34px; }
  .landing-v4-goal-preview__canvas { min-height: 245px; padding: 18px; }
  .landing-v4-goal-preview__number { font-size: 182px; }
  .landing-v4-goal-preview__card { padding: 18px; }
  .landing-v4-goal-preview__card b { font-size: 23px; }
}

/* Единая подача для hero и блока шагов: крупная редакционная типографика + UI-артефакты. */
.landing-v4-header-actions { display: flex; flex: 0 0 auto; gap: 12px; align-items: center; }
.landing-v4-header-login { display: inline-flex; min-height: 50px; padding: 0 22px; align-items: center; justify-content: center; border: 1px solid var(--green-dark); border-radius: 13px; color: var(--green-dark); font-size: 14px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.landing-v4-header-login:hover { background: var(--green-soft); }
.landing-v3-source-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.landing-v3-source-row .landing-v3-submit { min-height: 62px; margin: 0; white-space: nowrap; }
.landing-v4-process { position: relative; grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr); gap: clamp(48px, 7vw, 114px); padding: clamp(38px, 5vw, 76px); }
.landing-v4-process__lead h2 { max-width: 490px; font-size: clamp(52px, 5.4vw, 86px); line-height: .99; }
.landing-v4-process__lead > p:not(.landing-v3-eyebrow) { max-width: 440px; font-size: 16px; }
.landing-v4-process__lead ul { max-width: 440px; }
.landing-v4-process__lead li { padding: 17px 0; }
.landing-v4-process__steps li { grid-template-columns: 92px minmax(220px, .76fr) minmax(275px, .88fr); gap: 25px; padding-bottom: 31px; }
.landing-v4-process__steps li + li { padding-top: 31px; }
.landing-v4-process__steps li > span { font-size: 73px; letter-spacing: -.07em; }
.landing-v4-process__steps h3 { font-family: "Source Serif 4", Georgia, serif; font-size: 28px; font-weight: 600; line-height: 1.13; letter-spacing: -.03em; }
.landing-v4-process__steps p { font-size: 15px; line-height: 1.53; }
.landing-v4-mini-input { min-height: 60px; padding: 0 18px; font-size: 13px; }.landing-v4-mini-input b { width: 34px; height: 34px; border-radius: 8px; }
.landing-v4-profile-mini { padding: 10px 18px; }.landing-v4-profile-mini div { padding: 10px 0; font-size: 12px; }
.landing-v4-mini-results { gap: 9px; padding: 11px; }.landing-v4-mini-results span { min-height: 66px; font-size: 11px; }
.landing-v4-process__cta { display: flex; grid-column: 1 / -1; min-height: 136px; margin-top: 18px; padding: 25px 30px; align-items: center; justify-content: space-between; gap: 30px; border-radius: 16px; background: var(--green-dark); color: #fff; }
.landing-v4-process__cta span, .landing-v4-process__cta strong, .landing-v4-process__cta p { display: block; }.landing-v4-process__cta span { color: #bad7c0; font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.landing-v4-process__cta strong { margin-top: 5px; font-family: "Source Serif 4", Georgia, serif; font-size: clamp(30px, 2.7vw, 43px); font-weight: 600; line-height: 1.06; letter-spacing: -.04em; }.landing-v4-process__cta p { margin: 7px 0 0; color: #d5e0d6; font-size: 14px; }.landing-v4-process__cta a { display: flex; min-height: 72px; padding: 0 27px; align-items: center; gap: 28px; border-radius: 12px; background: #fffdf8; color: var(--ink); font-family: "Source Serif 4", Georgia, serif; font-size: 21px; font-weight: 600; text-decoration: none; white-space: nowrap; }.landing-v4-process__cta a b { color: #dd714d; font-family: Manrope, sans-serif; font-size: 27px; font-weight: 500; }
@media (max-width: 900px) { .landing-v4-process__steps li { grid-template-columns: 60px minmax(180px, 1fr) minmax(200px, .8fr); gap: 16px; }.landing-v4-process__steps li > span { font-size: 48px; }.landing-v4-process__cta { min-height: 0; }.landing-v4-process__cta a { min-height: 58px; font-size: 17px; } }
@media (max-width: 620px) { .landing-v4-header-login { min-height: 42px; padding: 0 13px; font-size: 12px; }.landing-v4-header-actions .landing-v3-header-action { display: none; }.landing-v3-source-row { grid-template-columns: 1fr; gap: 10px; }.landing-v3-source-row .landing-v3-submit { width: 100%; min-height: 54px; }.landing-v4-process__steps li { grid-template-columns: 39px minmax(0, 1fr); gap: 12px; }.landing-v4-process__steps li > span { font-size: 31px; }.landing-v4-process__steps h3 { font-size: 21px; }.landing-v4-process__steps p { font-size: 13px; }.landing-v4-mini-input, .landing-v4-profile-mini, .landing-v4-mini-results { grid-column: 2; }.landing-v4-process__cta { display: grid; padding: 24px 20px; }.landing-v4-process__cta strong { font-size: 31px; }.landing-v4-process__cta a { justify-content: space-between; width: 100%; min-height: 58px; padding: 0 18px; font-size: 17px; } }

@media (max-width: 620px) {
  .landing-v4-header-actions { display: none; }
  .landing-v12-mobile-nav__account { display: grid; }
}

/* The editorial two-column process becomes a single continuous story on tablets and phones. */
@media (max-width: 900px) {
  .landing-v4-process { grid-template-columns: minmax(0, 1fr); }
  .landing-v4-process__lead, .landing-v4-process__steps, .landing-v4-process__steps li { min-width: 0; }
}

@media (max-width: 620px) {
  .landing-v4-process { padding: 28px 20px; }
  .landing-v4-process__cta { min-width: 0; }
  .landing-v4-process__cta a { min-width: 0; gap: 12px; white-space: normal; }
}

/* Landing density pass: keep the mockup's compact editorial canvas on wide screens. */
@media (min-width: 1600px) {
  .landing-shell--v3 { width: min(calc(100% - 64px), 1600px); }
}

@media (min-width: 1180px) {
  .landing-v3-hero {
    grid-template-columns: minmax(500px, .88fr) minmax(0, 1.12fr);
    min-height: 640px;
    gap: clamp(46px, 4vw, 70px);
    padding: 46px 0 58px;
  }
  .landing-v3-hero h1 { max-width: 670px; font-size: clamp(56px, 4vw, 68px); line-height: 1.01; }
  .landing-v3-stage { min-height: 540px; }
  .landing-v3-stage__halo { inset: 35px 18px 18px 28px; }
  .landing-v3-card--post { top: 46px; left: 7%; width: min(315px, 44%); }
  .landing-v3-card--carousel { top: 112px; right: 4%; width: min(300px, 42%); }
  .landing-v3-card--small { bottom: 16px; left: 23%; width: min(290px, 42%); }
}

.landing-shell--v3 .brand {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -.035em;
}

.landing-v3-post-visual,
.landing-v3-carousel-cover { display: block; min-height: 0; padding: 0; aspect-ratio: 4 / 5; background: #eee9dd; }
.landing-v3-post-visual::after,
.landing-v3-carousel-cover::after { display: none; }
.landing-v3-post-visual img,
.landing-v3-carousel-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.landing-v3-card--small { grid-template-columns: 68px minmax(0, 1fr); gap: 14px; padding: 10px; align-items: center; }
.landing-v3-card--small img { display: block; width: 68px; aspect-ratio: 4 / 5; border-radius: 13px; object-fit: cover; }
.landing-v3-card--small div { display: grid; gap: 5px; }
.landing-v3-card--small strong { font-size: 18px; }
.landing-v3-card--small { z-index: 5; }

.landing-v4-real-cover { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 18px 42px rgb(35 42 35 / 8%); transform: rotate(.7deg); }
.landing-v4-real-cover img { display: block; width: 100%; height: 405px; object-fit: cover; object-position: center; }
.landing-v4-real-cover figcaption { padding: 12px 15px; color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.landing-v4-carousel-stack--real article { min-height: 0; padding: 0; overflow: hidden; aspect-ratio: 4 / 5; background: var(--surface); }
.landing-v4-carousel-stack--real article img { display: block; width: 100%; height: 100%; object-fit: cover; }
.landing-v4-carousel-stack--real article:first-child { z-index: 3; width: min(72%, 390px); }
.landing-v4-carousel-stack--real article:nth-child(2) { z-index: 2; left: 14%; width: min(72%, 390px); }
.landing-v4-carousel-stack--real article:nth-child(3) { z-index: 1; left: 28%; width: min(72%, 390px); }

@media (max-width: 1179px) and (min-width: 901px) {
  .landing-v3-hero { grid-template-columns: minmax(390px, .9fr) minmax(0, 1.1fr); }
  .landing-v3-stage { min-width: 0; transform: scale(.88); transform-origin: center right; }
}

@media (max-width: 620px) {
  .landing-shell--v3 .brand { font-size: 21px; }
  .landing-v3-card--small { grid-template-columns: 54px minmax(0, 1fr); }
  .landing-v3-card--small img { width: 54px; border-radius: 9px; }
  .landing-v3-card--small strong { font-size: 15px; }
  .landing-v4-real-cover { transform: none; }
  .landing-v4-real-cover img { height: auto; aspect-ratio: 4 / 5; }
}

/* A real C2 carousel replaces the two decorative hero chips. */
.landing-v3-card--factory-carousel {
  z-index: 6;
  bottom: -10px;
  left: 28%;
  width: min(320px, 46%);
  overflow: visible;
  border: 0;
  border-radius: 22px;
  background: transparent;
  box-shadow: none;
  transform: rotate(1.4deg);
}
.landing-v3-factory-stack {
  position: relative;
  aspect-ratio: 4 / 5;
}
.landing-v3-factory-stack img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid var(--line);
  border-radius: 22px 22px 0 0;
  background: var(--surface);
  box-shadow: 0 22px 52px rgb(50 43 30 / 14%);
  object-fit: cover;
  opacity: 0;
  pointer-events: none;
  transform: translate(40px, -24px) rotate(7deg) scale(.96);
  transition: opacity .24s ease, transform .32s ease;
}
.landing-v3-factory-stack img.is-active { z-index: 3; opacity: 1; pointer-events: auto; transform: none; cursor: pointer; }
.landing-v3-factory-stack img.is-next { z-index: 2; opacity: 1; transform: translate(18px, -11px) rotate(3deg) scale(.985); }
.landing-v3-factory-stack img.is-after { z-index: 1; opacity: 1; transform: translate(36px, -22px) rotate(6deg) scale(.97); }
.landing-v3-card--factory-carousel .landing-v3-carousel-foot {
  position: relative;
  z-index: 4;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 22px 22px;
  background: var(--surface);
}
.landing-v3-factory-foot { gap: 10px; }
.landing-v3-factory-nav { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.landing-v3-factory-nav b { min-width: 35px; color: var(--ink); font-size: 10px; text-align: center; }
.landing-v3-factory-nav button {
  display: inline-flex;
  width: 27px;
  height: 27px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--green-dark);
  border-radius: 50%;
  background: transparent;
  color: var(--green-dark);
  font: 700 13px/1 Manrope, sans-serif;
  cursor: pointer;
}
.landing-v3-factory-nav button:hover { background: var(--green-dark); color: #fff; }

@media (min-width: 1180px) {
  .landing-v3-card--factory-carousel {
    bottom: -20px;
    left: 28%;
    width: min(315px, 45%);
  }
}

@media (max-width: 620px) {
  .landing-v3-card--factory-carousel {
    bottom: -4px;
    left: 20%;
    width: min(225px, 56%);
  }
  .landing-v3-factory-stack img { border-radius: 13px 13px 0 0; }
  .landing-v3-factory-stack img.is-next { transform: translate(10px, -7px) rotate(2.5deg) scale(.985); }
  .landing-v3-factory-stack img.is-after { transform: translate(20px, -14px) rotate(5deg) scale(.97); }
  .landing-v3-card--factory-carousel .landing-v3-carousel-foot {
    padding: 8px 9px;
    border-radius: 0 0 13px 13px;
    font-size: 8px;
  }
  .landing-v3-factory-nav { gap: 4px; }
  .landing-v3-factory-nav button { width: 24px; height: 24px; font-size: 11px; }
  .landing-v3-factory-nav b { min-width: 30px; font-size: 8px; }
}

/* The second-screen examples show complete 4:5 masters, never a cropped thumbnail. */
.landing-v4-real-cover {
  width: min(100%, 370px);
  align-self: start;
  justify-self: center;
}
.landing-v4-real-cover img {
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  object-position: center;
}

.landing-v4-carousel-viewer {
  display: grid;
  min-width: 0;
  justify-items: center;
  align-content: start;
  gap: 16px;
}
.landing-v4-carousel-stack--real.landing-v4-carousel-stack--interactive {
  width: min(100%, 370px);
  min-height: 0;
  aspect-ratio: 4 / 5;
}
.landing-v4-carousel-stack--real.landing-v4-carousel-stack--interactive article {
  inset: 0;
  width: 100%;
  min-height: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate(42px, 8px) rotate(6deg) scale(.965);
  transition: opacity .24s ease, transform .32s ease;
}
.landing-v4-carousel-stack--interactive article.is-active {
  z-index: 3;
  opacity: 1;
  pointer-events: auto;
  transform: none;
  cursor: pointer;
}
.landing-v4-carousel-stack--interactive article.is-next {
  z-index: 2;
  opacity: 1;
  transform: translate(22px, 5px) rotate(3deg) scale(.982);
}
.landing-v4-carousel-stack--interactive article.is-after {
  z-index: 1;
  opacity: 1;
  transform: translate(42px, 10px) rotate(6deg) scale(.965);
}
.landing-v4-carousel-controls {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 12px;
}
.landing-v4-carousel-controls button {
  display: inline-flex;
  width: 42px;
  min-height: 42px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--green-dark);
  border-radius: 50%;
  background: var(--surface);
  color: var(--green-dark);
  box-shadow: none;
  font: 750 17px/1 Manrope, sans-serif;
  cursor: pointer;
}
.landing-v4-carousel-controls button:hover { background: var(--green-dark); color: #fff; transform: none; }
.landing-v4-carousel-controls span { min-width: 48px; color: var(--ink); font-size: 12px; font-weight: 800; text-align: center; }

@media (max-width: 620px) {
  .landing-v4-real-cover { width: min(100%, 340px); }
  .landing-v4-carousel-stack--real.landing-v4-carousel-stack--interactive { width: min(88vw, 330px); }
  .landing-v4-carousel-stack--interactive article.is-next { transform: translate(12px, 4px) rotate(2.5deg) scale(.985); }
  .landing-v4-carousel-stack--interactive article.is-after { transform: translate(24px, 8px) rotate(5deg) scale(.97); }
}

/* Campaign plan: a topic opens in the list instead of displacing it with a side inspector. */
.campaign-next-state form { flex: 0 0 auto; }
.campaign-primary--inline { width: auto; min-height: 48px; margin: 0; padding: 0 24px; white-space: nowrap; }
.campaign-settings--fixed { padding-top: 28px; }
.campaign-settings--fixed > .eyebrow { margin: 0 28px 14px; }
.campaign-settings--fixed h2 { margin: 0 28px 10px; font-family: var(--font-display, Georgia, serif); font-size: 34px; font-weight: 500; line-height: 1.06; }
.campaign-settings--fixed > p:not(.eyebrow):not(.campaign-settings__note) { margin: 0 28px; color: #657168; line-height: 1.5; }
.campaign-topic-list { background: #fffdf8; border: 1px solid #d9d7cc; border-radius: 20px; overflow: hidden; }
.campaign-topic { width: 100%; display: grid; grid-template-columns: 54px minmax(0, 1fr) 92px 108px 20px; gap: 14px; align-items: center; padding: 19px 20px; border: 0; border-bottom: 1px solid #dfddd4; background: transparent; color: #14241c; text-align: left; font: inherit; cursor: pointer; transition: background .16s ease, padding .16s ease; }
.campaign-topic:hover, .campaign-topic.is-selected { background: #edf5eb; }
.campaign-topic:hover { padding-left: 23px; }
.campaign-topic__arrow { color: #718078; font-size: 22px; line-height: 1; opacity: 0; transform: translateX(-4px); transition: .16s ease; }
.campaign-topic:hover .campaign-topic__arrow, .campaign-topic.is-selected .campaign-topic__arrow { opacity: 1; transform: translateX(0); }
.campaign-topic-drawer { border-bottom: 1px solid #d9d7cc; background: #f6faf4; }
.campaign-topic-drawer__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 18px 26px 0; }
.campaign-topic-drawer__head .eyebrow { margin: 0; }
.campaign-topic-drawer__close { display: inline-flex; width: 42px; min-width: 42px; min-height: 42px; align-items: center; justify-content: center; padding: 0; border: 1px solid #cbc9be; border-radius: 50%; background: #fffdf8; color: #164a36; font: 400 24px/1 inherit; cursor: pointer; }
.campaign-topic-drawer__body { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 42px; align-items: start; padding: 14px 26px 26px; }
.campaign-topic-drawer h2 { margin: 0 0 13px; font-family: var(--font-display, Georgia, serif); font-size: clamp(29px, 3vw, 38px); font-weight: 500; line-height: 1.03; }
.campaign-topic-drawer__body > div > p { margin: 0; color: #59675f; font-size: 16px; line-height: 1.55; }
.campaign-topic-drawer__actions dl { display: grid; gap: 0; margin: 0 0 16px; border-top: 1px solid #d9d7cc; }
.campaign-topic-drawer__actions dl div { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid #d9d7cc; }
.campaign-topic-drawer__actions dt { color: #748078; }
.campaign-topic-drawer__actions dd { margin: 0; font-weight: 700; text-align: right; }
.campaign-topic-drawer__actions .campaign-detail-status { margin: 0 0 10px; }
.campaign-topic-drawer__actions .campaign-primary { width: 100%; min-height: 52px; margin: 0; }
.campaign-topic-drawer__actions .campaign-primary--link { display: flex; width: 100%; padding: 0 18px; }
.campaign-ready-head__count { margin: 0; color: #58655e; font-size: 14px; line-height: 1.35; }
.campaign-ready-head__mobile-hint { display: none; }
.campaign-topic__status.is-action { background: #e3eee5; color: #176b48; }
.campaign-topic__status.is-error { background: var(--danger-soft); color: var(--danger); }
.campaign-topic__status.is-locked { background: #eeeae1; color: #69736d; }
@media (max-width: 900px) {
  .campaign-topic { grid-template-columns: 42px minmax(0, 1fr) 74px 22px; }
  .campaign-topic__status { display: none; }
  .campaign-topic__format { display: block; }
  .campaign-topic-drawer__body { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 560px) {
  .campaign-next-state form { width: 100%; }
  .campaign-primary--inline { width: 100%; }
  .campaign-topic { grid-template-columns: 34px minmax(0, 1fr) auto 20px; gap: 10px; padding: 16px; }
  .campaign-topic:hover { padding-left: 16px; }
  .campaign-topic__number { font-size: 22px; }
  .campaign-topic__main b { font-size: 19px; }
  .campaign-topic__format { color: #617067; font-size: 10px; font-weight: 800; white-space: nowrap; }
  .campaign-topic__arrow { opacity: 1; transform: none; }
  .campaign-topic-drawer__head { padding: 16px 16px 0; }
  .campaign-topic-drawer__body { display: block; padding: 12px 16px 24px; }
  .campaign-topic-drawer h2 { font-size: 30px; }
  .campaign-topic-drawer__body > div > p { font-size: 14px; }
  .campaign-topic-drawer__actions { margin-top: 20px; }
}

@media (max-width: 560px) {
  .app-main:has(.campaign-page) .app-top { display: none; }
  .app-main:has(.campaign-page) .app-work { padding-top: 10px; }
  .app-main:has(.campaign-page) .section-tabs {
    min-height: 0;
    margin-bottom: 10px;
    padding: 3px;
    border-radius: 10px;
  }
  .app-main:has(.campaign-page) .section-tabs__link {
    min-height: 36px;
    padding-inline: 8px;
    border-radius: 7px;
    font-size: 12px;
  }
  .app-main:has(.campaign-page) .section-tabs__count { display: none; }
  .campaign-page { padding: 0 0 50px; }
  .campaign-taskbar { margin-bottom: 10px; }
  .campaign-taskbar__head {
    align-items: center;
    flex-direction: row;
    gap: 8px;
    margin-bottom: 6px;
  }
  .campaign-taskbar__head > div:first-child { display: none; }
  .campaign-taskbar__actions {
    width: 100%;
    justify-content: flex-end;
  }
  .campaign-taskbar__new {
    min-height: 32px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 11px;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .campaign-taskbar__tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
  }
  .campaign-taskbar__tab {
    min-height: 50px;
    padding: 8px 11px;
    flex: 0 0 min(80vw, 320px);
    border-radius: 10px;
  }
  .campaign-taskbar__tab:only-child { flex-basis: 100%; }
  .campaign-taskbar__tab small { font-size: 8px; }
  .campaign-taskbar__tab span { font-size: 12px; line-height: 1.25; }
  .campaign-ready-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin-bottom: 10px;
    padding: 11px 12px;
    border-radius: 12px;
  }
  .campaign-ready-head > div:first-child { min-width: 0; }
  .campaign-ready-head .eyebrow,
  .campaign-ready-head h1 { display: none; }
  .campaign-ready-head__count { font-size: 12px; font-weight: 800; }
  .campaign-ready-head__mobile-hint {
    display: block;
    margin: 3px 0 0;
    color: #657168;
    font-size: 10px;
    line-height: 1.35;
  }
  .campaign-ready-head__actions { width: auto; }
  .campaign-balance-summary {
    min-height: 40px;
    grid-template-columns: auto minmax(66px, 88px);
    gap: 7px;
    padding: 5px 8px;
    border-radius: 9px;
  }
  .campaign-balance-summary strong { font-size: 23px; }
  .campaign-balance-summary span { font-size: 9px; }
  .campaign-next-state {
    align-items: center;
    flex-direction: row;
    gap: 10px;
    margin-bottom: 10px;
    padding: 11px 12px;
    border-radius: 12px;
  }
  .campaign-next-state > div { min-width: 0; }
  .campaign-next-state .eyebrow,
  .campaign-next-state p:last-child { display: none; }
  .campaign-next-state h2 { margin: 0; font-size: 17px; }
  .campaign-next-state form { width: auto; flex: 0 0 auto; }
  .campaign-next-state .campaign-primary--inline {
    width: auto;
    min-height: 40px;
    padding: 0 12px;
    font-size: 12px;
  }
  .campaign-next-state--payment { align-items: stretch; flex-direction: column; }
  .campaign-batch {
    align-items: center;
    flex-direction: row;
    gap: 8px;
    margin-bottom: 10px;
    padding: 9px 10px;
    border-radius: 10px;
  }
  .campaign-batch > div { display: grid; gap: 1px; }
  .campaign-batch span { font-size: 10px; }
  .campaign-batch .campaign-primary {
    width: auto;
    min-height: 40px;
    padding: 0 12px;
    font-size: 11px;
  }
  .campaign-topic-list { border-radius: 12px; }
  .campaign-topic {
    grid-template-columns: 34px minmax(0, 1fr) auto 20px;
    grid-template-areas:
      "number main main arrow"
      ". status format arrow";
    column-gap: 9px;
    row-gap: 7px;
    padding: 13px 12px;
  }
  .campaign-topic:hover { padding-left: 12px; }
  .campaign-topic__number { grid-area: number; }
  .campaign-topic__main { min-width: 0; grid-area: main; }
  .campaign-topic__format {
    grid-area: format;
    align-self: center;
  }
  .campaign-topic__status {
    display: inline-flex;
    min-height: 23px;
    grid-area: status;
    align-items: center;
    justify-self: start;
    padding: 3px 8px;
    font-size: 9px;
    line-height: 1.2;
    white-space: nowrap;
  }
  .campaign-topic__arrow {
    grid-area: arrow;
    align-self: center;
  }
}

/* Landing v5: one clear promise, one proof chain, three honest pricing choices. */
.landing-v5-hero-lead {
  max-width: 640px;
  margin: -8px 0 25px;
  color: var(--ink-soft);
  font-size: 17px;
  line-height: 1.58;
}
.landing-v5-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 14px 0 0;
  padding: 0;
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  list-style: none;
}
.landing-v5-trust li { position: relative; padding-left: 18px; }
.landing-v5-trust li::before {
  position: absolute;
  top: 1px;
  left: 0;
  color: var(--green);
  content: "✓";
  font-weight: 900;
}
.landing-v3-stage--focused .landing-v3-card--post {
  z-index: 2;
  top: 78px;
  left: 3%;
  width: min(345px, 49%);
  opacity: .96;
  transform: rotate(-2.5deg);
}
.landing-v3-stage--focused .landing-v3-card--factory-carousel {
  z-index: 6;
  bottom: 9px;
  left: 41%;
  width: min(350px, 50%);
  transform: rotate(1deg);
}
.landing-v3-stage--focused .landing-v3-stage__caption { right: 5%; }

.landing-v13-niche-stage { min-height: 620px; }
.landing-v13-niche-stage .landing-v3-stage__halo { inset: 56px 4% 58px 3%; border-radius: 46% 54% 49% 45%; }
.landing-v13-niche-deck { position: absolute; inset: 20px 0 18px; }
.landing-v13-niche-deck__cards { position: absolute; inset: 0 0 76px; }
.landing-v13-niche-card {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: min(420px, 62%);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 1px solid rgb(75 83 74 / 17%);
  border-radius: 24px;
  background: #fffdf8;
  box-shadow: 0 28px 70px rgb(50 43 30 / 17%);
  cursor: pointer;
  transform-origin: center;
  transition: transform .62s cubic-bezier(.22, .75, .22, 1), opacity .4s ease, filter .4s ease, box-shadow .4s ease;
}
.landing-v13-niche-card img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .32s ease;
}
.landing-v13-niche-card img.is-visible { opacity: 1; }
.landing-v13-niche-card.is-active { z-index: 5; opacity: 1; filter: none; transform: translate(-50%, -50%) rotate(0) scale(1); }
.landing-v13-niche-card.is-prev { z-index: 3; opacity: .9; filter: saturate(.88) brightness(.97); transform: translate(-88%, -49%) rotate(-8deg) scale(.84); }
.landing-v13-niche-card.is-next { z-index: 4; opacity: .94; filter: saturate(.92) brightness(.98); transform: translate(-12%, -49%) rotate(8deg) scale(.84); }
.landing-v13-niche-card.is-back { z-index: 2; opacity: .62; filter: saturate(.75) brightness(.97); transform: translate(-50%, -58%) rotate(2deg) scale(.78); }
.landing-v13-niche-card.is-active:hover { box-shadow: 0 34px 82px rgb(50 43 30 / 22%); }
.landing-v13-niche-card:focus-visible { outline: 3px solid #d99b2b; outline-offset: 5px; }
.landing-v13-niche-deck__footer {
  position: absolute;
  z-index: 8;
  right: 50%;
  bottom: 0;
  display: flex;
  width: min(490px, 84%);
  min-height: 62px;
  padding: 11px 12px 11px 17px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgb(255 253 248 / 94%);
  box-shadow: 0 18px 45px rgb(50 43 30 / 13%);
  transform: translateX(50%);
  backdrop-filter: blur(10px);
}
.landing-v13-niche-deck__footer > div:first-child { min-width: 0; }
.landing-v13-niche-deck__footer b, .landing-v13-niche-deck__footer span { display: block; }
.landing-v13-niche-deck__footer b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.landing-v13-niche-deck__footer > div:first-child span { margin-top: 2px; color: var(--ink-soft); font-size: 10px; }
.landing-v13-niche-deck__footer i { font-style: normal; }
.landing-v13-niche-deck__niches { display: flex; flex: 0 0 auto; align-items: center; gap: 5px; }
.landing-v13-niche-deck__niches button {
  width: 8px;
  height: 8px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #aeb8af;
  box-shadow: none;
  transition: width .2s ease, background .2s ease;
}
.landing-v13-niche-deck__niches button.is-active { width: 20px; background: var(--green-dark); }
.landing-v13-niche-deck__niches button:hover { border: 0; background: var(--green); transform: none; }
.landing-v13-niche-deck__nav { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.landing-v13-niche-deck__nav > span { min-width: 46px; color: var(--ink); font-size: 10px; font-weight: 800; text-align: center; }
.landing-v13-niche-deck__nav button {
  display: inline-flex;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--green-dark);
  border-radius: 50%;
  background: transparent;
  color: var(--green-dark);
  font: 750 14px/1 Manrope, sans-serif;
}
.landing-v13-niche-deck__nav button:hover { background: var(--green-dark); color: #fff; }

@media (max-width: 900px) {
  .landing-v13-niche-stage { width: min(100%, 680px); min-height: 620px; }
  .landing-v13-niche-card { width: min(390px, 64%); }
}

@media (max-width: 620px) {
  .landing-v13-niche-stage { min-height: 500px; margin-top: 16px; }
  .landing-v13-niche-deck { inset: 10px 0 5px; }
  .landing-v13-niche-deck__cards { bottom: 65px; }
  .landing-v13-niche-card { width: min(265px, 68%); border-radius: 16px; }
  .landing-v13-niche-card.is-prev { transform: translate(-83%, -48%) rotate(-7deg) scale(.8); }
  .landing-v13-niche-card.is-next { transform: translate(-17%, -48%) rotate(7deg) scale(.8); }
  .landing-v13-niche-card.is-back { transform: translate(-50%, -56%) rotate(2deg) scale(.73); }
  .landing-v13-niche-deck__footer { width: min(330px, 88%); min-height: 56px; padding: 9px 10px 9px 14px; border-radius: 13px; }
  .landing-v13-niche-deck__footer b { font-size: 12px; }
  .landing-v13-niche-deck__niches { display: none; }
  .landing-v13-niche-deck__nav button { width: 29px; height: 29px; }
}

.landing-v5-origin {
  margin-top: 84px;
  padding: 0 0 104px;
  border-bottom: 1px solid var(--line);
}
.landing-v5-origin__head {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 7vw, 106px);
  align-items: start;
  margin-bottom: 42px;
}
.landing-v5-origin__head .landing-v3-eyebrow { align-self: start; }
.landing-v5-origin__head > p:last-child {
  grid-column: 2;
  max-width: 690px;
  margin: 0;
  color: var(--ink);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 500;
  line-height: 1.34;
  letter-spacing: -.025em;
}
.landing-v5-origin__flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.landing-v5-origin__flow > article {
  display: flex;
  min-width: 0;
  padding: 30px clamp(22px, 2.5vw, 38px) 28px;
  flex-direction: column;
  border-right: 1px solid var(--line);
}
.landing-v5-origin__flow > article:first-child { padding-left: 0; }
.landing-v5-origin__flow > article:last-child { padding-right: 0; border-right: 0; }
.landing-v5-origin__flow > article > span {
  color: var(--green);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.landing-v5-origin__flow h3 {
  min-height: 2.25em;
  margin: 13px 0 22px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(27px, 2.3vw, 35px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.04em;
}
.landing-v5-origin__flow > article > p {
  margin: auto 0 0;
  padding-top: 21px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.55;
}
.landing-v5-source-card,
.landing-v5-profile-card,
.landing-v5-result-card {
  min-height: 196px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 14px 34px rgb(35 42 35 / 7%);
}
.landing-v5-source-card {
  display: flex;
  padding: 22px;
  flex-direction: column;
  justify-content: center;
}
.landing-v5-source-card b {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.15;
}
.landing-v5-source-card small { margin-top: 9px; color: var(--ink-soft); font-size: 12px; }
.landing-v5-source-note {
  margin-top: 28px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--green);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.4;
}
.landing-v5-profile-card { margin: 0; padding: 10px 18px; }
.landing-v5-profile-card div {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.landing-v5-profile-card div:last-child { border-bottom: 0; }
.landing-v5-profile-card dt { color: var(--muted); }
.landing-v5-profile-card dd { margin: 0; font-weight: 800; line-height: 1.4; }
.landing-v5-result-card {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 18px;
  padding: 12px;
  align-items: center;
  background: #edf3ea;
}
.landing-v5-result-card img {
  display: block;
  width: 116px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 9px;
  box-shadow: 0 10px 24px rgb(38 32 23 / 12%);
}
.landing-v5-result-card b {
  display: block;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.12;
}
.landing-v5-result-card small { display: block; margin-top: 13px; color: var(--ink-soft); font-size: 10px; line-height: 1.45; }

.landing-v4-showcase { margin-top: 104px; }
.landing-v4-price-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.landing-v4-price-grid article { min-height: 390px; }
.landing-v4-price-grid ul {
  display: grid;
  gap: 10px;
  margin: 16px 0 22px;
  padding: 17px 0 0;
  border-top: 1px solid var(--line);
  list-style: none;
}
.landing-v4-price-grid li {
  position: relative;
  padding-left: 18px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.48;
}
.landing-v4-price-grid li::before { position: absolute; left: 0; color: var(--green); content: "✓"; font-weight: 900; }

@media (min-width: 901px) {
  .landing-v3-hero { min-height: min(760px, calc(100svh - 82px)); }
}

@media (max-width: 900px) {
  .landing-v5-origin__head { grid-template-columns: 1fr; gap: 22px; }
  .landing-v5-origin__head > p:last-child { grid-column: 1; margin: 0; }
  .landing-v5-origin__flow { grid-template-columns: 1fr; }
  .landing-v5-origin__flow > article,
  .landing-v5-origin__flow > article:first-child,
  .landing-v5-origin__flow > article:last-child { padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .landing-v5-origin__flow > article:last-child { border-bottom: 0; }
  .landing-v5-origin__flow h3 { min-height: 0; }
  .landing-v5-source-card, .landing-v5-profile-card, .landing-v5-result-card { width: min(100%, 620px); min-height: 0; }
  .landing-v4-price-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .landing-v4-price-grid article,
  .landing-v4-price-grid article:nth-child(odd),
  .landing-v4-price-grid article:nth-child(even) { min-height: 360px; padding: 23px 18px; border-right: 1px solid var(--line); }
  .landing-v4-price-grid article:last-child { border-right: 0; }
}

@media (max-width: 620px) {
  .landing-v5-hero-lead { margin-top: -5px; font-size: 15px; }
  .landing-v5-trust { display: grid; gap: 7px; font-size: 11px; }
  .landing-v3-stage--focused { min-height: 500px; }
  .landing-v3-stage--focused .landing-v3-card--post { top: 64px; left: 0; width: 66%; }
  .landing-v3-stage--focused .landing-v3-card--factory-carousel { bottom: 0; left: 35%; width: min(235px, 61%); }
  .landing-v3-stage--focused .landing-v3-stage__caption { right: 0; max-width: 230px; text-align: center; }
  .landing-v5-origin { margin-top: 54px; padding-bottom: 66px; }
  .landing-v5-origin__head { margin-bottom: 25px; }
  .landing-v5-origin__head > p:last-child { font-size: 21px; }
  .landing-v5-result-card { grid-template-columns: 92px minmax(0, 1fr); gap: 14px; }
  .landing-v5-result-card img { width: 92px; }
  .landing-v5-result-card b { font-size: 19px; }
  .landing-v4-price-grid { grid-template-columns: 1fr; }
  .landing-v4-price-grid article,
  .landing-v4-price-grid article:nth-child(odd),
  .landing-v4-price-grid article:nth-child(even) { min-height: 0; padding: 24px 0; border-right: 0; }
  .landing-v4-price-grid article.is-featured { margin: 0 -12px; padding: 24px 12px; }
}

/* Landing v6: a transparent generated example, rendered by the production image pipeline. */
.landing-v6-case {
  margin-top: 104px;
  padding: clamp(42px, 5vw, 78px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(135deg, #f6f3eb 0%, #edf3ea 100%);
}
.landing-v6-case__head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(310px, .8fr);
  gap: clamp(36px, 6vw, 90px);
  align-items: end;
  margin-bottom: 48px;
}
.landing-v6-case__head h2 {
  max-width: 850px;
  margin: 12px 0 0;
  font-size: clamp(42px, 4.3vw, 66px);
  font-weight: 600;
  line-height: 1.01;
  letter-spacing: -.052em;
}
.landing-v6-case__head > p {
  max-width: 590px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.65;
}
.landing-v6-case__body {
  display: grid;
  grid-template-columns: minmax(250px, .62fr) minmax(0, 1.38fr);
  gap: clamp(34px, 5vw, 78px);
  padding-top: 38px;
  border-top: 1px solid var(--line);
}
.landing-v6-case__brief > span {
  color: var(--green);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.landing-v6-case__brief { display: flex; min-width: 0; flex-direction: column; }
.landing-v6-case__brief h3 {
  margin: 13px 0 25px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(29px, 2.5vw, 39px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.04em;
}
.landing-v6-case__brief dl { margin: 0; border-top: 1px solid var(--line); }
.landing-v6-case__brief dl div {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
  line-height: 1.45;
}
.landing-v6-case__brief dt { color: var(--muted); }
.landing-v6-case__brief dd { margin: 0; font-weight: 750; }
.landing-v6-case__brief > p {
  margin: 25px 0 0;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.6;
}
.landing-v6-case__summary {
  margin-top: 28px;
  padding: 24px 0 0;
  border-top: 1px solid var(--line);
}
.landing-v6-case__summary span,
.landing-v6-case__summary small { display: block; }
.landing-v6-case__summary span { color: var(--green); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.landing-v6-case__summary strong { display: block; margin-top: 10px; font-family: "Source Serif 4", Georgia, serif; font-size: 24px; font-weight: 600; line-height: 1.15; }
.landing-v6-case__summary small { margin-top: 9px; color: var(--ink-soft); font-size: 11px; line-height: 1.45; }
.landing-v6-case__outputs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 34px);
  align-items: start;
}
.landing-v6-case__post,
.landing-v6-case__carousel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgb(19 72 52 / 16%);
  border-radius: 15px;
  background: #fffdf8;
  box-shadow: 0 22px 55px rgb(39 39 30 / 12%);
}
.landing-v6-case__label {
  display: flex;
  min-height: 56px;
  padding: 0 16px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
}
.landing-v6-case__label span { color: var(--green); font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.landing-v6-case__label b { color: var(--ink-soft); font-weight: 750; }
.landing-v6-case__label i { font-style: normal; }
.landing-v6-case__post img,
.landing-v6-case__stack img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  background: #e8e0d2;
}
.landing-v6-case__post > p {
  min-height: 62px;
  margin: 0;
  padding: 18px 16px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
}
.landing-v6-case__stack { position: relative; aspect-ratio: 4 / 5; background: #e8e0d2; }
.landing-v6-case__stack img {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .24s ease;
  pointer-events: none;
}
.landing-v6-case__stack img.is-active { opacity: 1; pointer-events: auto; }
.landing-v6-case__controls {
  display: flex;
  min-height: 62px;
  padding: 9px 18px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.landing-v6-case__controls p { min-width: 0; margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.35; }
.landing-v6-case__controls > div { display: flex; flex: 0 0 auto; gap: 8px; }
.landing-v6-case__controls button {
  display: inline-flex;
  height: 44px;
  width: 44px;
  flex: 0 0 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--green-dark);
  border-radius: 50%;
  background: transparent;
  color: var(--green-dark);
  box-shadow: none;
  font: 750 16px/1 Manrope, sans-serif;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}
.landing-v6-case__controls button:hover { background: var(--green-dark); color: #fff; transform: none; }

@media (max-width: 900px) {
  .landing-v6-case__head,
  .landing-v6-case__body { grid-template-columns: 1fr; }
  .landing-v6-case__head { gap: 22px; }
  .landing-v6-case__brief { max-width: 650px; }
  .landing-v6-case__outputs { max-width: 760px; }
}

@media (max-width: 620px) {
  .landing-v6-case { margin: 72px -10px 0; padding: 34px 18px; border-radius: 18px; }
  .landing-v6-case__head { margin-bottom: 30px; }
  .landing-v6-case__head h2 { font-size: 38px; }
  .landing-v6-case__head > p { font-size: 14px; }
  .landing-v6-case__body { gap: 32px; padding-top: 26px; }
  .landing-v6-case__outputs { grid-template-columns: 1fr; gap: 24px; }
  .landing-v6-case__post,
  .landing-v6-case__carousel { width: min(100%, 390px); margin: 0 auto; }
}

/* Landing v9 case: a real post and a complete six-slide carousel. */
.landing-v9-case__outputs { grid-template-columns: minmax(0, 1fr); }
.landing-v10-case__switcher {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgb(19 72 52 / 16%);
  border-radius: 15px;
  background: #fffdf8;
  box-shadow: 0 22px 55px rgb(39 39 30 / 12%);
}
.landing-v10-case .landing-v6-case__body { display: block; }
.landing-v10-case .landing-v6-case__outputs { width: 100%; max-width: none; }
.landing-v10-case__tabs {
  display: flex;
  gap: 7px;
  padding: 9px;
  border-bottom: 1px solid var(--line);
  background: rgb(238 242 233 / 70%);
}
.landing-v10-case__tabs button {
  display: inline-flex;
  width: auto;
  min-width: 138px;
  min-height: 44px;
  margin: 0;
  padding: 0 20px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--ink-soft);
  box-shadow: none;
  font: 800 13px/1 Manrope, sans-serif;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.landing-v10-case__tabs button span { color: var(--muted); font-size: 10px; letter-spacing: .08em; }
.landing-v10-case__tabs button:hover { border-color: rgb(19 72 52 / 18%); background: rgb(255 253 248 / 74%); color: var(--green-dark); transform: none; }
.landing-v10-case__tabs button.is-active {
  border-color: rgb(19 72 52 / 18%);
  background: #fffdf8;
  color: var(--green-dark);
  box-shadow: 0 4px 14px rgb(39 39 30 / 7%);
}
.landing-v10-case__tabs button.is-active span { color: #d56a46; }
.landing-v10-case__tabs button:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.landing-v10-case__panel {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  animation: landing-case-panel-in .2s ease-out;
}
.landing-v10-case__panel[hidden] { display: none; }
@keyframes landing-case-panel-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
.landing-v9-case__post-body {
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(300px, 1.28fr);
  min-width: 0;
}
.landing-v9-case__post-body figure {
  min-width: 0;
  margin: 0;
  border-right: 1px solid var(--line);
  background: #eee7da;
}
.landing-v9-case__post-body figure img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
  background: #ded6c7;
}
.landing-v9-case__post-body figcaption {
  padding: 14px 16px 16px;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.45;
}
.landing-v9-case__post-copy {
  min-width: 0;
  padding: clamp(24px, 3vw, 42px);
}
.landing-v9-case__post-copy > span,
.landing-v9-case__carousel-copy > span {
  color: var(--green);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.landing-v9-case__post-copy h3,
.landing-v9-case__carousel-copy h3 {
  margin: 10px 0 22px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(27px, 2.6vw, 38px);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.035em;
}
.landing-v9-case__post-copy p {
  margin: 0 0 16px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.72;
}
.landing-v10-case__reader-button {
  display: flex;
  width: 100%;
  min-height: 58px;
  margin-top: 22px;
  padding: 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--green-dark);
  box-shadow: none;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}
.landing-v10-case__reader-button:hover { color: var(--green); transform: none; box-shadow: none; }
.landing-v10-case__reader-button:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.landing-v10-case__reader-button span { font-size: 18px; }
.landing-v9-case__post-copy .landing-v9-case__post-cta {
  margin-top: 22px;
  padding: 16px 18px;
  border-left: 3px solid #d56a46;
  background: #f7f0e6;
  color: var(--ink);
  font-weight: 700;
}
.landing-v9-case__carousel-body {
  display: block;
  padding: clamp(28px, 4vw, 58px);
}
.landing-v9-case__carousel-copy p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.65;
}
.landing-v9-case__carousel-copy ul {
  display: grid;
  gap: 0;
  margin: 26px 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}
.landing-v9-case__carousel-copy li {
  position: relative;
  padding: 12px 0 12px 20px;
  border-bottom: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 12px;
}
.landing-v9-case__carousel-copy li::before {
  position: absolute;
  top: 12px;
  left: 0;
  color: var(--green);
  content: "✓";
  font-weight: 900;
}
.landing-v9-case__carousel-viewer {
  width: min(100%, 560px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgb(19 72 52 / 13%);
  border-radius: 13px;
  background: #fffdf8;
  box-shadow: 0 18px 40px rgb(39 39 30 / 10%);
}

.landing-v10-case__dialog {
  width: min(760px, calc(100vw - 32px));
  max-height: min(86vh, 900px);
  padding: 0;
  overflow: hidden;
  border: 1px solid rgb(19 72 52 / 16%);
  border-radius: 18px;
  background: #fffdf8;
  color: var(--ink);
  box-shadow: 0 28px 80px rgb(12 37 27 / 24%);
}
.landing-v10-case__dialog::backdrop {
  background: rgb(12 29 22 / 58%);
  backdrop-filter: blur(3px);
}
.landing-v10-case__dialog-card {
  display: flex;
  max-height: min(86vh, 900px);
  flex-direction: column;
}
.landing-v10-case__dialog-card > header {
  display: flex;
  padding: 22px 24px 20px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--line);
  background: #fffdf8;
}
.landing-v10-case__dialog-card > header span {
  color: var(--green);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.landing-v10-case__dialog-card > header h3 {
  margin: 6px 0 0;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -.035em;
}
.landing-v10-case__dialog-card > header button {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  padding: 0;
  place-items: center;
  border: 1px solid var(--green);
  border-radius: 50%;
  background: transparent;
  color: var(--green-dark);
  box-shadow: none;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.landing-v10-case__dialog-card > header button:hover { background: #edf3eb; transform: none; box-shadow: none; }
.landing-v10-case__dialog-card > header button:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.landing-v10-case__dialog-copy {
  padding: 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.landing-v10-case__dialog-copy p {
  margin: 0 0 18px;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.72;
}
.landing-v10-case__dialog-copy p:last-child { margin-bottom: 0; }

@media (max-width: 1050px) {
  .landing-v9-case__post-body { grid-template-columns: 1fr; }
  .landing-v9-case__post-body figure {
    display: grid;
    grid-template-columns: minmax(220px, 340px) minmax(0, 1fr);
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .landing-v9-case__post-body figcaption { align-self: end; }
}

@media (max-width: 620px) {
  .landing-v10-case__tabs { padding: 7px; }
  .landing-v10-case__tabs button { min-width: 0; padding: 0 12px; flex: 1 1 0; }
  .landing-v9-case__post,
  .landing-v9-case__carousel { width: 100%; }
  .landing-v9-case__post-body figure { display: block; }
  .landing-v9-case__post-copy { padding: 24px 18px; }
  .landing-v9-case__post-copy h3,
  .landing-v9-case__carousel-copy h3 { font-size: 29px; }
  .landing-v9-case__post-copy p { font-size: 12px; }
  .landing-v9-case__carousel-body { padding: 20px 12px 12px; }
  .landing-v6-case__controls { padding: 10px 14px; }
  .landing-v6-case__controls p { max-width: 145px; }
  .landing-v10-case__dialog { width: calc(100vw - 20px); max-height: 90vh; border-radius: 14px; }
  .landing-v10-case__dialog-card { max-height: 90vh; }
  .landing-v10-case__dialog-card > header { padding: 18px; }
  .landing-v10-case__dialog-card > header h3 { font-size: 28px; }
  .landing-v10-case__dialog-copy { padding: 20px 18px; }
  .landing-v10-case__dialog-copy p { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .landing-v10-case__panel { animation: none; }
}

/* Static source examples: informative, never styled like editable fields. */
.landing-v4-mini-sources {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  align-self: start;
}
.landing-v4-mini-sources span {
  display: flex;
  min-height: 50px;
  padding: 8px 12px;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #9cad9e;
  border-bottom: 1px solid #9cad9e;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}

/* Landing v6 final: decisive close with result, value and two honest start paths. */
.landing-v4-final.landing-v6-final {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: clamp(36px, 5vw, 72px);
  min-height: 0;
  padding: clamp(38px, 4vw, 56px);
  overflow: hidden;
  align-items: center;
  border: 1px solid #cfd8ce;
  border-radius: 22px;
  background: linear-gradient(135deg, #f5f7f2 0%, #edf2ea 100%);
  color: var(--ink);
  box-shadow: 0 22px 55px rgb(35 42 35 / 8%);
}
.landing-v4-final.landing-v6-final::after {
  display: none;
}
.landing-v6-final__copy,
.landing-v6-final__actions { position: relative; z-index: 1; }
.landing-v4-final.landing-v6-final h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(40px, 4vw, 58px);
  line-height: 1;
}
.landing-v4-final.landing-v6-final .landing-v3-eyebrow { margin-bottom: 12px; color: var(--green); }
.landing-v4-final.landing-v6-final .landing-v6-final__copy > p:not(.landing-v3-eyebrow) {
  max-width: 650px;
  margin-top: 17px;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.58;
}
.landing-v6-final__copy ul {
  display: flex;
  margin: 23px 0 0;
  padding: 0;
  color: var(--green-dark);
  list-style: none;
}
.landing-v6-final__copy li {
  padding: 0 22px;
  border-left: 1px solid rgb(20 72 47 / 18%);
  font-size: 13px;
  font-weight: 800;
}
.landing-v6-final__copy li:first-child { padding-left: 0; border-left: 0; }
.landing-v6-final__actions {
  align-self: center;
  padding: 22px;
  border: 1px solid #d6ddd3;
  border-radius: 15px;
  background: rgb(255 253 248 / 78%);
}
.landing-v4-final.landing-v6-final .landing-v6-final__primary {
  display: flex;
  width: 100%;
  min-height: 66px;
  padding: 0 22px;
  align-items: center;
  justify-content: space-between;
  border-radius: 11px;
  background: var(--green-dark);
  color: #fff;
  font-size: 15px;
  font-weight: 850;
  text-decoration: none;
  white-space: normal;
}
.landing-v4-final.landing-v6-final .landing-v6-final__primary:hover { background: #093d29; }
.landing-v4-final.landing-v6-final .landing-v6-final__primary span { color: #fff; font-size: 26px; }
.landing-v4-final.landing-v6-final .landing-v6-final__secondary {
  display: block;
  min-height: 0;
  margin-top: 20px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 750;
  text-align: center;
  text-decoration: underline;
  text-decoration-color: rgb(20 72 47 / 35%);
  text-underline-offset: 5px;
  white-space: normal;
}
.landing-v4-final.landing-v6-final .landing-v6-final__secondary:hover { background: transparent; text-decoration-color: var(--green-dark); }
.landing-v6-final__actions small {
  display: block;
  margin-top: 21px;
  color: var(--ink-soft);
  font-size: 10px;
  line-height: 1.45;
  text-align: center;
}

@media (max-width: 900px) {
  .landing-v4-final.landing-v6-final { grid-template-columns: 1fr; min-height: 0; }
  .landing-v6-final__actions { width: min(100%, 520px); }
}

@media (max-width: 620px) {
  .landing-v4-mini-sources { grid-column: 2; width: 100%; margin-top: 5px; }
  .landing-v4-mini-sources span { min-height: 44px; padding: 7px 6px; font-size: 10px; }
  .landing-v4-final.landing-v6-final { margin-top: 72px; padding: 32px 22px; border-radius: 18px; }
  .landing-v4-final.landing-v6-final h2 { font-size: 41px; }
  .landing-v4-final.landing-v6-final .landing-v6-final__copy > p:not(.landing-v3-eyebrow) { font-size: 14px; }
  .landing-v6-final__copy ul { margin-top: 25px; }
  .landing-v6-final__copy li { padding: 0 11px; font-size: 11px; }
  .landing-v6-final__actions { padding: 16px; }
}

/* Keep the editorial process layout intact on laptops and browser zoom,
   while letting every step artifact shrink inside the section. */
@media (min-width: 901px) and (max-width: 1180px) {
  .landing-v4-process {
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: 32px;
    padding: 40px;
  }
  .landing-v4-process__lead h2 { font-size: clamp(48px, 5.4vw, 64px); }
  .landing-v4-process__steps,
  .landing-v4-process__steps li { min-width: 0; }
  .landing-v4-process__steps li {
    grid-template-columns: 60px minmax(145px, 1fr) minmax(180px, .9fr);
    gap: 16px;
  }
  .landing-v4-process__steps li > span { font-size: 52px; }
  .landing-v4-process__steps h3 { font-size: 24px; }
  .landing-v4-mini-sources,
  .landing-v4-profile-mini,
  .landing-v4-mini-results { min-width: 0; width: 100%; }
  .landing-v4-profile-mini dd { overflow-wrap: anywhere; }
  .landing-v4-mini-results { gap: 6px; padding: 8px; }
  .landing-v4-mini-results span { min-width: 0; padding: 5px; }
}

/* Готовые посты под четыре бизнес-задачи. */
.landing-v7-goal-post {
  padding: 34px 38px 28px;
  background: linear-gradient(135deg, #fffefa 0%, #f6f8f2 100%);
}
.landing-v4-goal-preview.landing-v7-goal-post h3 {
  max-width: 720px;
  margin: 18px 0 20px;
  font-size: clamp(34px, 3.25vw, 50px);
}
.landing-v7-goal-post__context {
  display: flex;
  gap: 9px 15px;
  padding: 12px 0 15px;
  align-items: center;
  border-top: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: 11px;
}
.landing-v7-goal-post__context span {
  color: var(--green);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.landing-v7-goal-post__context b { color: var(--ink); font-size: 11px; }
.landing-v7-goal-post__context small { margin-left: auto; color: var(--ink-soft); font-size: 10px; }
.landing-v7-goal-post__material {
  display: grid;
  grid-template-columns: minmax(320px, .86fr) minmax(410px, 1.14fr);
  gap: 20px;
  align-items: start;
}
.landing-v7-goal-post__visual {
  position: relative;
  overflow: hidden;
  margin: 0;
  align-self: start;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #ecefe8;
  box-shadow: 0 18px 40px rgb(35 42 35 / 10%);
}
.landing-v7-goal-post__visual img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}
.landing-v7-goal-post__visual figcaption {
  position: absolute;
  right: 11px;
  bottom: 11px;
  padding: 7px 9px;
  border-radius: 7px;
  background: rgb(255 253 248 / 91%);
  color: var(--green-dark);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .02em;
}
.landing-v7-goal-post__copy {
  display: flex;
  min-width: 0;
  padding: 21px 24px 22px;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fffefa;
  box-shadow: 0 18px 40px rgb(35 42 35 / 7%);
}
.landing-v7-goal-post__copy > header {
  display: flex;
  gap: 11px;
  padding-bottom: 15px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.landing-v7-goal-post__copy > header > span {
  display: grid;
  width: 35px;
  height: 35px;
  flex: 0 0 35px;
  place-items: center;
  border-radius: 50%;
  background: var(--green-dark);
  color: #fff;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 17px;
}
.landing-v7-goal-post__copy > header b,
.landing-v7-goal-post__copy > header small { display: block; }
.landing-v7-goal-post__copy > header b { font-size: 11px; }
.landing-v7-goal-post__copy > header small { margin-top: 2px; color: var(--ink-soft); font-size: 9px; }
.landing-v7-goal-post__text {
  padding: 16px 1px 4px;
  color: #29352e;
  font-size: 12px;
  line-height: 1.56;
}
.landing-v7-goal-post__text p { margin: 0 0 10px; }
.landing-v7-goal-post__cta {
  margin: auto 0 0;
  padding: 13px 14px;
  border-left: 3px solid #dd734f;
  background: #f1f5ed;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.45;
}
.landing-v7-goal-post .landing-v4-goal-preview__note {
  margin: 17px 0 0;
  padding: 14px 16px;
  border-radius: 9px;
  background: #eaf1e6;
  color: #365044;
  font-size: 12px;
}
.landing-v7-goal-post .landing-v4-goal-preview__note b { color: var(--green-dark); }

@media (min-width: 1600px) {
  .landing-v7-goal-post__material { grid-template-columns: minmax(370px, .85fr) minmax(520px, 1.15fr); }
  .landing-v7-goal-post__text { font-size: 13px; }
}

@media (max-width: 1180px) {
  .landing-v4-goals__body { display: block; }
  .landing-v4-goals__chooser { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-radius: 12px 12px 0 0; }
  .landing-v4-goals__chooser button { min-height: 108px; padding: 18px 20px; border-right: 1px solid var(--line); border-bottom: 0; }
  .landing-v4-goals__chooser button:last-child { border-right: 0; }
  .landing-v4-goals__chooser button.is-active { box-shadow: inset 0 5px 0 var(--green); }
  .landing-v4-goal-preview.landing-v7-goal-post { border-top: 0; border-radius: 0 0 12px 12px; }
  .landing-v7-goal-post__material { grid-template-columns: minmax(310px, .86fr) minmax(390px, 1.14fr); }
  .landing-v7-goal-post__copy { padding: 18px; }
  .landing-v7-goal-post__text { font-size: 11px; line-height: 1.5; }
}

@media (max-width: 900px) {
  .landing-v4-goals__chooser { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-v4-goals__chooser button:nth-child(2) { border-right: 0; }
  .landing-v4-goals__chooser button:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .landing-v7-goal-post__context { align-items: flex-start; flex-direction: column; }
  .landing-v7-goal-post__context small { margin-left: 0; }
  .landing-v7-goal-post__material { grid-template-columns: 1fr; }
  .landing-v7-goal-post__visual { width: min(100%, 480px); justify-self: center; }
}

@media (max-width: 620px) {
  .landing-v7-goal-post { padding: 26px 16px 20px; }
  .landing-v4-goals__heading h2 { font-size: 36px; }
  .landing-v4-goal-preview.landing-v7-goal-post h3 { font-size: 31px; }
  .landing-v4-goals__chooser {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .landing-v4-goals__chooser button {
    grid-template-columns: 31px minmax(0, 1fr);
    gap: 2px 9px;
    min-height: 104px;
    padding: 15px 13px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .landing-v4-goals__chooser button:nth-child(even) { border-right: 0; }
  .landing-v4-goals__chooser button:nth-last-child(-n + 2) { border-bottom: 0; }
  .landing-v4-goals__chooser button span { font-size: 27px; }
  .landing-v4-goals__chooser button b { font-size: 14px; line-height: 1.2; }
  .landing-v4-goals__chooser button small { font-size: 10px; }
  .landing-v4-goals__chooser button.is-active { box-shadow: inset 0 4px 0 var(--green); }
  .landing-v7-goal-post__visual { max-height: none; }
  .landing-v7-goal-post__visual img { object-fit: contain; }
  .landing-v7-goal-post__copy { padding: 18px; }
  .landing-v7-goal-post__text { font-size: 12px; }
}

/* Landing Radar: concrete premium value between product flow and pricing. */
.landing-radar {
  scroll-margin-top: 24px;
  margin-top: 104px;
  padding: clamp(34px, 5vw, 64px);
  border: 1px solid #cad5c8;
  border-radius: 24px;
  background: linear-gradient(135deg, rgb(255 253 248 / 96%), rgb(239 244 235 / 94%));
  box-shadow: 0 18px 50px rgb(34 47 39 / 8%);
}
.landing-radar__head {
  display: block;
}
.landing-radar__copy h2 {
  max-width: 1080px;
  margin: 0;
  font-size: clamp(42px, 4.3vw, 66px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.048em;
}
.landing-radar__copy > p:not(.landing-v3-eyebrow) {
  max-width: 760px;
  margin: 23px 0 0;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.62;
}
.landing-radar__copy ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 27px 0 0;
  padding: 0;
  list-style: none;
}
.landing-radar__copy li {
  padding: 9px 13px;
  border: 1px solid #c9d7cb;
  border-radius: 999px;
  background: rgb(255 255 255 / 58%);
  color: #315042;
  font-size: 11px;
  font-weight: 800;
}
.landing-radar__benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 46px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.landing-radar__benefits article {
  padding: 27px clamp(20px, 2.5vw, 31px);
  border-right: 1px solid var(--line);
}
.landing-radar__benefits article:first-child { padding-left: 0; }
.landing-radar__benefits article:last-child { padding-right: 0; border-right: 0; }
.landing-radar__benefits span {
  color: var(--green);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.landing-radar__benefits h3 {
  margin: 9px 0 0;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(23px, 2vw, 28px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.03em;
}
.landing-radar__benefits p {
  margin: 10px 0 0;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.5;
}
.landing-radar__tariffs {
  display: flex;
  margin-top: 22px;
  padding: 17px 19px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-radius: 11px;
  background: #dfece3;
  color: #29493a;
}
.landing-radar__tariffs p {
  max-width: 820px;
  margin: 0;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.5;
}
.landing-radar__tariffs b { color: var(--green-dark); }
.landing-radar__tariffs a {
  flex: 0 0 auto;
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}
.landing-radar__tariffs a:hover { text-decoration: underline; text-underline-offset: 4px; }
.landing-radar__note {
  max-width: 760px;
  margin: 23px 0 0;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.55;
}
@media (max-width: 720px) {
  .landing-radar { margin-top: 66px; padding: 29px 20px; border-radius: 16px; }
  .landing-radar__copy h2 { font-size: 39px; }
  .landing-radar__copy > p:not(.landing-v3-eyebrow) { font-size: 14px; }
  .landing-radar__benefits { grid-template-columns: 1fr; }
  .landing-radar__benefits article,
  .landing-radar__benefits article:first-child,
  .landing-radar__benefits article:last-child { padding: 21px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .landing-radar__benefits article:last-child { border-bottom: 0; }
  .landing-radar__tariffs { align-items: flex-start; flex-direction: column; gap: 12px; }
}

/* Landing v8: бесплатная проба отдельно от двух платных ритмов. */
.landing-v8-pricing .landing-v4-section-head { max-width: 700px; margin-bottom: 32px; }
.landing-v8-pricing .landing-v4-section-head h2 { max-width: 650px; font-size: clamp(40px, 3.8vw, 54px); }
.landing-v8-pricing__start {
  display: grid;
  grid-template-columns: minmax(360px, 1.15fr) minmax(330px, .9fr) auto;
  gap: clamp(24px, 3vw, 46px);
  min-height: 148px;
  padding: 24px 28px;
  align-items: center;
  border: 1px solid #c7d7c6;
  border-radius: 17px;
  background: linear-gradient(115deg, #f3f5ef 0%, #faf9f4 72%);
}
.landing-v8-pricing__start-copy > span,
.landing-v8-pricing__paid-head > span,
.landing-v8-plan header span {
  color: var(--green);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.landing-v8-pricing__start h3 {
  margin: 7px 0 0;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(27px, 2.3vw, 35px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.04em;
}
.landing-v8-pricing__start-copy p {
  max-width: 640px;
  margin: 10px 0 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.55;
}
.landing-v8-pricing__start ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.landing-v8-pricing__start li {
  position: relative;
  padding-left: 21px;
  color: #365044;
  font-size: 14px;
  line-height: 1.45;
}
.landing-v8-pricing__start li::before {
  position: absolute;
  left: 0;
  color: var(--green);
  content: "✓";
  font-weight: 900;
}
.landing-v8-pricing__start > a,
.landing-v8-plan > a {
  display: flex;
  min-height: 54px;
  padding: 0 18px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border-radius: 11px;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}
.landing-v8-pricing__start > a {
  background: var(--green-dark);
  color: #fff;
  box-shadow: 0 12px 26px rgb(20 72 47 / 15%);
}
.landing-v8-pricing__start > a:hover { background: #093d29; transform: translateY(-2px); }
.landing-v8-pricing__start > a b,
.landing-v8-plan > a b { font-size: 20px; font-weight: 500; }
.landing-v8-pricing__paid-head {
  display: flex;
  margin: 42px 0 14px;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.landing-v8-pricing__paid-head p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.5;
}
.landing-v8-pricing__plans {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.landing-v8-plan {
  display: grid;
  min-height: 472px;
  padding: clamp(25px, 2.7vw, 36px);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
}
.landing-v8-plan--business { background: linear-gradient(135deg, #f8f8f4 0%, #f1f3ee 100%); }
.landing-v8-plan--factory {
  border: 2px solid var(--green);
  background: linear-gradient(145deg, #f5f8f2 0%, #e5efe6 100%);
  color: var(--ink);
  box-shadow: 0 18px 42px rgb(20 72 47 / 12%);
}
.landing-v8-plan header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}
.landing-v8-plan header > b {
  padding: 8px 10px;
  border: 1px solid rgb(20 72 47 / 18%);
  border-radius: 999px;
  color: var(--green-dark);
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.landing-v8-plan--factory header > b {
  border-color: var(--green);
  background: var(--green);
  color: #fff;
}
.landing-v8-plan--factory header span { color: var(--green); }
.landing-v8-plan h3 {
  margin: 8px 0 0;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(34px, 2.9vw, 45px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.045em;
}
.landing-v8-plan header p {
  margin: 10px 0 0;
  color: var(--ink-soft);
  font-size: 14px;
}
.landing-v8-plan--factory header p { color: var(--ink-soft); }
.landing-v8-plan__volume {
  display: flex;
  margin-top: 33px;
  align-items: end;
  gap: 17px;
}
.landing-v8-plan__volume > strong {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(62px, 5.2vw, 82px);
  font-weight: 600;
  line-height: .72;
  letter-spacing: -.08em;
}
.landing-v8-plan__volume > span {
  padding-bottom: 1px;
  color: var(--ink-soft);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.35;
}
.landing-v8-plan--factory .landing-v8-plan__volume > span { color: var(--ink-soft); }
.landing-v8-plan__price {
  display: flex;
  margin-top: 27px;
  padding: 15px 0;
  align-items: baseline;
  gap: 9px;
  border-top: 1px solid rgb(24 34 29 / 13%);
  border-bottom: 1px solid rgb(24 34 29 / 13%);
}
.landing-v8-plan--factory .landing-v8-plan__price { border-color: rgb(24 34 29 / 13%); }
.landing-v8-plan__price strong {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -.035em;
}
.landing-v8-plan__price small { color: var(--ink-soft); font-size: 12px; font-weight: 750; }
.landing-v8-plan--factory .landing-v8-plan__price small { color: var(--ink-soft); }
.landing-v8-plan ul {
  display: grid;
  gap: 11px;
  margin: 18px 0 24px;
  padding: 0;
  list-style: none;
}
.landing-v8-plan li {
  position: relative;
  padding-left: 21px;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.45;
}
.landing-v8-plan li::before {
  position: absolute;
  left: 0;
  color: var(--green);
  content: "✓";
  font-weight: 900;
}
.landing-v8-plan--factory li { color: var(--ink-soft); }
.landing-v8-plan--factory li::before { color: var(--green); }
.landing-v8-plan__radar {
  margin: -4px 0 23px;
  padding: 18px 19px;
  border: 1px solid #a9c5ae;
  border-radius: 12px;
  background: rgb(255 255 255 / 68%);
}
.landing-v8-plan__radar > span {
  color: var(--green);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.landing-v8-plan__radar > strong {
  display: block;
  max-width: 520px;
  margin-top: 7px;
  color: var(--green-dark);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 21px;
  font-weight: 650;
  line-height: 1.18;
}
.landing-v8-plan__radar ul { gap: 7px; margin: 13px 0 0; }
.landing-v8-plan__radar li { font-size: 12px; }
.landing-v8-plan > a { margin-top: auto; }
.landing-v8-plan--business > a { border: 1px solid var(--green-dark); background: transparent; color: var(--green-dark); }
.landing-v8-plan--factory > a { border: 1px solid var(--green-dark); background: var(--green-dark); color: #fff; box-shadow: 0 12px 26px rgb(20 72 47 / 16%); }
.landing-v8-plan > a:hover { filter: brightness(.96); transform: translateY(-2px); }

@media (max-width: 1050px) {
  .landing-v8-pricing__start { grid-template-columns: minmax(300px, 1fr) minmax(270px, .85fr); }
  .landing-v8-pricing__start > a { grid-column: 1 / -1; justify-content: center; }
  .landing-v8-plan { min-height: 470px; padding: 27px; }
  .landing-v8-plan header { display: block; }
  .landing-v8-plan header > b { display: inline-block; margin-top: 16px; }
}

@media (max-width: 720px) {
  .landing-v8-pricing__start { grid-template-columns: 1fr; padding: 27px 24px; }
  .landing-v8-pricing__start > a { grid-column: 1; }
  .landing-v8-pricing__paid-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .landing-v8-pricing__plans { grid-template-columns: 1fr; }
  .landing-v8-plan { min-height: 0; }
  .landing-v8-plan__volume > strong { font-size: 72px; }
  .landing-v8-plan > a { margin-top: 8px; }
}

@media (max-width: 420px) {
  .landing-v8-pricing__start { padding: 24px 18px; }
  .landing-v8-pricing__start > a,
  .landing-v8-plan > a { min-height: 54px; padding: 0 16px; font-size: 13px; white-space: normal; }
  .landing-v8-plan { padding: 25px 20px; border-radius: 14px; }
  .landing-v8-plan__volume { gap: 13px; }
  .landing-v8-plan__volume > strong { font-size: 64px; }
  .landing-v8-plan__volume > span { font-size: 12px; }
}

/* Compact gallery of complete carousel series. */
.landing-v11-carousels {
  margin-top: 104px;
  padding: clamp(34px, 4.4vw, 62px);
  overflow: hidden;
  border: 1px solid rgb(20 72 47 / 13%);
  border-radius: 24px;
  background: linear-gradient(135deg, #f8f6f0 0%, #edf3e9 100%);
}
.landing-v11-carousels__head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: clamp(32px, 6vw, 88px);
  padding-bottom: 30px;
  align-items: end;
  border-bottom: 1px solid var(--line);
}
.landing-v11-carousels__head h2 {
  max-width: 760px;
  margin: 12px 0 0;
  color: var(--ink);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(42px, 4.35vw, 64px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em;
}
.landing-v11-carousels__head > p {
  max-width: 480px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.55;
}
.landing-v11-carousels__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
  align-items: stretch;
}
.landing-v11-carousel {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border: 1px solid rgb(20 72 47 / 15%);
  border-radius: 16px;
  background: #fffdf8;
  box-shadow: 0 18px 42px rgb(35 42 35 / 8%);
}
.landing-v11-carousel__copy {
  min-height: 176px;
  padding: 21px 21px 18px;
}
.landing-v11-carousel__copy > span {
  color: var(--green);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.landing-v11-carousel__copy h3 {
  margin: 10px 0 12px;
  color: var(--ink);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(23px, 2vw, 30px);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.035em;
}
.landing-v11-carousel__copy p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.48;
}
.landing-v11-carousel__copy p b { color: var(--green-dark); }
.landing-v11-carousel__viewer {
  margin: 0 17px 17px;
  align-self: end;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #eee8dc;
}
.landing-v11-carousel__viewer .landing-v6-case__stack { width: 100%; }
.landing-v11-carousel__controls {
  display: flex;
  min-height: 58px;
  padding: 8px 10px 8px 14px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--line);
  background: #fffdf8;
}
.landing-v11-carousel__controls > span {
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 750;
}
.landing-v11-carousel__controls i {
  color: var(--green-dark);
  font-style: normal;
}
.landing-v11-carousel__controls > div { display: flex; gap: 7px; }
.landing-v11-carousel__controls button {
  display: inline-flex;
  width: 42px;
  height: 42px;
  min-height: 42px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--green-dark);
  border-radius: 50%;
  background: transparent;
  color: var(--green-dark);
  box-shadow: none;
  font: 750 15px/1 Manrope, sans-serif;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}
.landing-v11-carousel__controls button:hover,
.landing-v11-carousel__controls button:focus-visible {
  background: var(--green-dark);
  color: #fff;
  transform: none;
}

@media (max-width: 1050px) {
  .landing-v11-carousels__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-v11-carousel:last-child {
    grid-column: 1 / -1;
    grid-template-columns: minmax(260px, .72fr) minmax(320px, 1.28fr);
    grid-template-rows: 1fr;
  }
  .landing-v11-carousel:last-child .landing-v11-carousel__copy {
    min-height: 0;
    padding: 30px;
    align-self: center;
  }
  .landing-v11-carousel:last-child .landing-v11-carousel__viewer { margin: 17px; }
}

@media (max-width: 800px) {
  .landing-v11-carousels__head { grid-template-columns: 1fr; gap: 18px; }
  .landing-v11-carousels__head > p { max-width: 620px; }
}

@media (max-width: 680px) {
  .landing-v11-carousels {
    margin: 72px -10px 0;
    padding: 30px 18px;
    border-radius: 18px;
  }
  .landing-v11-carousels__head { padding-bottom: 24px; }
  .landing-v11-carousels__head h2 { font-size: clamp(38px, 12vw, 50px); }
  .landing-v11-carousels__head > p { font-size: 13px; }
  .landing-v11-carousels__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 22px; }
  .landing-v11-carousel,
  .landing-v11-carousel:last-child {
    width: min(100%, 430px);
    margin-inline: auto;
    grid-column: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
  .landing-v11-carousel__copy,
  .landing-v11-carousel:last-child .landing-v11-carousel__copy {
    min-height: 0;
    padding: 20px 19px 17px;
  }
  .landing-v11-carousel__copy h3 { font-size: 26px; }
  .landing-v11-carousel:last-child .landing-v11-carousel__viewer,
  .landing-v11-carousel__viewer { margin: 0 14px 14px; }
}

/* Aggregated Today production dashboard */
.production-task-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 20px}.production-task-strip a{display:flex;min-height:105px;flex-direction:column;justify-content:center;padding:18px 20px;border:1px solid #c9d8cb;border-radius:17px;background:#edf5eb;color:#14241c;text-decoration:none}.production-task-strip a:hover{border-color:#79a489;box-shadow:0 8px 22px rgba(25,43,34,.06)}.production-task-strip small{color:#0e623f;font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.production-task-strip strong{margin:5px 0 6px;font-family:var(--font-display,Georgia,serif);font-size:21px;font-weight:550;line-height:1.1}.production-task-strip span{color:#657168;font-size:11px}.production-board{margin:0 0 20px;padding:0;border:1px solid #d9d7cc;border-radius:20px;background:#fffdf8;overflow:hidden}.production-board>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid #dfddd4}.production-board>header .eyebrow{margin:0 0 3px}.production-board>header h2{margin:0;font-family:var(--font-display,Georgia,serif);font-size:28px;font-weight:550}.production-board>header p:last-child{margin:4px 0 0;color:#657168;font-size:11px}.production-board>header>b{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#edf5eb;color:#0e623f;font-family:var(--font-display,Georgia,serif);font-size:20px}.production-board__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.production-card{display:flex;min-width:0;flex-direction:column;padding:20px 24px;border-right:1px solid #dfddd4;border-bottom:1px solid #dfddd4}.production-card:nth-child(2n){border-right:0}.production-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:14px}.production-card>div:first-child small{overflow:hidden;color:#657168;font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.production-card>div:first-child span{flex:0 0 auto;padding:5px 8px;border-radius:99px;background:#edf5eb;color:#0e623f;font-size:9px;font-weight:850;text-transform:uppercase}.production-card h3{margin:16px 0 6px;font-family:var(--font-display,Georgia,serif);font-size:24px;font-weight:550;line-height:1.08}.production-card>p{margin:0 0 16px;color:#657168;font-size:11px}.production-card .materials-button{margin-top:auto}.production-card .campaign-today-working{margin:0 0 16px}.production-card--working>div:first-child span{background:#fff0df;color:#9c4b20}.production-board--failed{border-color:#e4c9bd}.production-card--failed>div:first-child span{background:#fff0e8;color:#9b3518}.production-card form{margin-top:auto}.production-card form .materials-button{width:100%}
.production-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 20px;border:1px solid #ccd8cd;border-radius:17px;background:#f4f7f2;overflow:hidden}.production-summary>div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:13px;padding:16px 20px;border-right:1px solid #d7ded7}.production-summary>div:last-child{border-right:0}.production-summary small{grid-column:2;color:#0e623f;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.production-summary strong{grid-row:1/3;align-self:center;color:#14241c;font-family:var(--font-display,Georgia,serif);font-size:34px;font-weight:550;line-height:1}.production-summary span{grid-column:2;color:#657168;font-size:10px;line-height:1.4}.production-summary__problem{background:#fff6ef}.production-summary__problem small,.production-summary__problem strong{color:#9b3518}
.production-board>summary{display:flex;min-height:112px;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;cursor:pointer;list-style:none}.production-board>summary::-webkit-details-marker{display:none}.production-board>summary:hover{background:#fbfdf9}.production-board>summary:focus-visible{outline:3px solid rgba(14,98,63,.22);outline-offset:-3px}.production-board>summary>span:first-child{display:grid;gap:3px}.production-board>summary .eyebrow{margin:0}.production-board>summary strong{font-family:var(--font-display,Georgia,serif);font-size:28px;font-weight:550;line-height:1.1}.production-board>summary small{color:#657168;font-size:11px}.production-board__summary-action{display:flex;flex:0 0 auto;align-items:center;gap:12px}.production-board__summary-action b{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#edf5eb;color:#0e623f;font-family:var(--font-display,Georgia,serif);font-size:21px;font-weight:550}.production-board__summary-action i{display:grid;width:32px;height:32px;place-items:center;color:#0e623f;font-family:Arial,sans-serif;font-size:22px;font-style:normal;transition:transform .18s ease}.production-board[open]>.production-board__grid{border-top:1px solid #dfddd4}.production-board[open] .production-board__summary-action i{transform:rotate(180deg)}
.today-radar-panel{margin:24px 0 0;border:1px solid #c8d7ca;border-radius:20px;background:#f2f7f0;overflow:hidden}.today-radar-panel--full{border-color:#2d7555;background:#edf5ed;box-shadow:0 12px 28px rgba(24,76,53,.08)}.today-radar-panel>header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;border-bottom:1px solid #d3ded4}.today-radar-panel>header .eyebrow{margin:0 0 3px}.today-radar-panel>header h2{margin:0;font-family:var(--font-display,Georgia,serif);font-size:25px;font-weight:550;line-height:1.15}.today-radar-panel__count{display:flex;flex:0 0 auto;align-items:baseline;gap:7px;color:#0e623f;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.today-radar-panel__count b{font-family:var(--font-display,Georgia,serif);font-size:31px;font-weight:550;line-height:1}.today-radar-panel__count--quiet{padding:7px 10px;border-radius:99px;background:#e3eee2}.today-radar-panel__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:26px;padding:24px}.today-radar-panel__body article>small{color:#0e623f;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.today-radar-panel__body h3{max-width:760px;margin:7px 0 8px;font-family:var(--font-display,Georgia,serif);font-size:31px;font-weight:550;line-height:1.08}.today-radar-panel__body article>p{max-width:720px;margin:0;color:#657168;font-size:12px;line-height:1.55}.today-radar-panel__recommendation{display:grid;gap:5px;margin-top:18px;padding:14px 16px;border-left:3px solid #2d7555;background:rgba(255,255,255,.52)}.today-radar-panel__recommendation span{color:#0e623f;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.today-radar-panel__recommendation strong{font-size:12px;line-height:1.55}.today-radar-panel__body aside{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:10px;padding:16px;border:1px solid #cbd8cc;border-radius:14px;background:rgba(255,255,255,.58)}.today-radar-panel__body aside form{display:block}.today-radar-panel__body aside .materials-button{justify-content:center;width:100%;margin:0}.today-radar-panel__body aside>a:not(.materials-button){color:#0e623f;font-size:10px;font-weight:800;text-align:center;text-decoration:none}.today-radar-panel__lock{color:#58675e;font-size:10px;font-weight:700;line-height:1.5}.today-radar-panel__empty{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 24px}.today-radar-panel__empty div{display:grid;gap:4px}.today-radar-panel__empty strong{font-family:var(--font-display,Georgia,serif);font-size:21px}.today-radar-panel__empty span{color:#657168;font-size:11px}.today-radar-panel__empty>a{color:#0e623f;font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}
@media(max-width:800px){.production-task-strip,.production-board__grid,.production-summary{grid-template-columns:1fr}.production-card{border-right:0}.production-board>header{align-items:flex-start}.production-board>summary{min-height:96px;padding:17px 18px}.production-board>summary strong{font-size:23px}.production-board__summary-action{gap:7px}.production-board__summary-action b{width:36px;height:36px;font-size:19px}.production-board__summary-action i{width:26px;height:26px}.production-card h3{font-size:22px}.production-summary>div{border-right:0;border-bottom:1px solid #d7ded7}.production-summary>div:last-child{border-bottom:0}.today-radar-panel>header,.today-radar-panel__empty{align-items:flex-start;flex-direction:column}.today-radar-panel__body{grid-template-columns:1fr;padding:20px}.today-radar-panel__body h3{font-size:26px}}

/* Collapsible Radar slice on Today */
.today-radar-panel>summary{display:flex;min-height:112px;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;cursor:pointer;list-style:none}.today-radar-panel>summary::-webkit-details-marker{display:none}.today-radar-panel>summary:hover{background:rgba(255,255,255,.24)}.today-radar-panel>summary:focus-visible{outline:3px solid rgba(14,98,63,.22);outline-offset:-3px}.today-radar-panel>summary>span:first-child{display:grid;gap:3px}.today-radar-panel>summary .eyebrow{margin:0}.today-radar-panel>summary strong{font-family:var(--font-display,Georgia,serif);font-size:28px;font-weight:550;line-height:1.1}.today-radar-panel>summary small{color:#657168;font-size:11px;line-height:1.45}.today-radar-panel__summary-action{display:flex;flex:0 0 auto;align-items:center;gap:12px}.today-radar-panel__summary-action i{display:grid;width:32px;height:32px;place-items:center;color:#0e623f;font-family:Arial,sans-serif;font-size:22px;font-style:normal;transition:transform .18s ease}.today-radar-panel[open] .today-radar-panel__summary-action i{transform:rotate(180deg)}.today-radar-panel[open]>.today-radar-panel__grid{border-top:1px solid #d3ded4}.today-radar-panel__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.today-radar-panel__grid--single{grid-template-columns:1fr}.today-radar-card{display:flex;min-width:0;flex-direction:column;padding:22px 24px;border-right:1px solid #d3ded4;border-bottom:1px solid #d3ded4;background:rgba(255,255,255,.38)}.today-radar-card:nth-child(2n){border-right:0}.today-radar-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:14px}.today-radar-card>div:first-child small{color:#0e623f;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.today-radar-card>div:first-child span{padding:5px 8px;border-radius:99px;background:#e2eee1;color:#0e623f;font-size:9px;font-weight:850;text-transform:uppercase}.today-radar-card h3{margin:15px 0 7px;font-family:var(--font-display,Georgia,serif);font-size:25px;font-weight:550;line-height:1.1}.today-radar-card>p{margin:0 0 17px;color:#657168;font-size:11px;line-height:1.55}.today-radar-card__actions,.today-radar-card__locked{display:grid;gap:10px;margin-top:auto;padding-top:18px}.today-radar-card__actions>form,.today-radar-card__actions>.materials-button{display:block;width:100%}.today-radar-card__actions>form .materials-button{width:100%}.today-radar-card__actions>div{display:flex;align-items:center;justify-content:center;gap:22px}.today-radar-card__actions>div form{margin:0}.today-radar-card__actions .today-link-button{color:#0e623f;font-size:10px;font-weight:800}.today-radar-card__locked .materials-button{justify-content:center}.today-radar-panel>footer{padding:15px 24px;text-align:right}.today-radar-panel>footer a{color:#0e623f;font-size:10px;font-weight:800;text-decoration:none}
.today-radar-card__dismiss-form{margin:0}.today-radar-card__dismiss-form .today-link-button{width:100%}
@media(max-width:800px){.today-radar-panel>summary{min-height:98px;align-items:flex-start;padding:17px 18px}.today-radar-panel>summary strong{font-size:23px}.today-radar-panel__summary-action{gap:7px}.today-radar-panel__count{align-items:center}.today-radar-panel__count b{font-size:25px}.today-radar-panel__count span{display:none}.today-radar-panel__summary-action i{width:26px;height:26px}.today-radar-panel__grid{grid-template-columns:1fr}.today-radar-card{border-right:0;padding:20px 18px}.today-radar-card h3{font-size:23px}.today-radar-card__actions>div{justify-content:flex-start;gap:16px}.today-radar-panel>footer{text-align:left}}
/* Results pilot: one decision first, evidence on demand. */
.results-page { width: 100%; max-width: 1440px; }
.results-head { display: flex; gap: 28px; align-items: flex-end; justify-content: space-between; padding: 26px 0 22px; }
.results-head > div:first-child { min-width: 0; }
.results-head .eyebrow { margin-bottom: 9px; }
.app-main .results-head h1 { max-width: 760px; font-size: clamp(34px, 4vw, 48px); }
.results-head > div:first-child > p:last-child { max-width: 760px; margin: 14px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.58; }
.results-source-tools { display: flex; flex: 0 0 auto; gap: 8px; align-items: center; }
.results-source-pill, .results-source-select { min-height: 42px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--raised); color: var(--ink); font-size: 12px; font-weight: 800; box-shadow: var(--shadow-raised); }
.results-source-pill { display: inline-flex; max-width: 310px; align-items: center; padding: 0 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.results-source-select { width: min(310px, 36vw); padding: 0 34px 0 12px; }
.results-refresh { display: block; margin: 0; }
.app-main .results-refresh-button { width: 42px; min-height: 42px; margin: 0; border-color: var(--line); padding: 0; background: var(--raised); color: var(--green); box-shadow: var(--shadow-raised); }
.results-refresh-button svg, .results-open-post svg { width: 18px; height: 18px; }
.results-notice { margin: 0 0 14px; padding: 11px 14px; border: 1px solid #c7d7c6; border-left: 3px solid var(--green); border-radius: var(--radius-control); background: var(--green-soft); color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.results-source-panel[hidden] { display: none; }
.results-state { margin-top: 10px; padding: 28px 30px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.results-state h2 { max-width: 720px; margin: 0; font-size: 30px; }
.results-state > p:not(.eyebrow) { max-width: 760px; margin: 13px 0 0; color: var(--ink-soft); line-height: 1.58; }
.results-state__actions { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin-top: 22px; }
.results-state__actions form { display: block; }
.results-state__actions .materials-button { margin: 0; }
.results-recommendation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .34fr); overflow: hidden; margin-top: 10px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.results-recommendation__body { min-width: 0; padding: clamp(28px, 3.5vw, 46px); }
.results-signal-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.results-signal-meta > span { display: inline-flex; min-height: 25px; align-items: center; padding: 0 9px; border-radius: 6px; background: var(--green); color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.results-signal-meta small { color: var(--muted); font-size: 10px; font-weight: 700; }
.results-recommendation h2 { max-width: 780px; margin: 25px 0 0; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.05; letter-spacing: -.04em; }
.results-recommendation__summary { max-width: 800px; margin: 17px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.65; }
.results-actions { display: flex; flex-wrap: wrap; gap: 13px 19px; align-items: center; margin-top: 27px; }
.results-actions form { display: block; margin: 0; }
.results-actions .materials-button { margin: 0; }
.results-text-button { display: inline-flex; min-height: 42px; align-items: center; border: 0; margin: 0; padding: 0; background: transparent; color: var(--green); cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.results-text-button:hover { border: 0; background: transparent; color: var(--green-dark); }
.results-proof { padding: 31px 28px; border-left: 1px solid var(--line); background: var(--green-soft); }
.results-proof > span { color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.results-proof__lift { margin-top: 22px; }
.results-proof__lift strong { display: block; font-family: var(--serif); font-size: clamp(42px, 4vw, 58px); line-height: .9; letter-spacing: -.05em; }
.results-proof__lift p { margin: 9px 0 0; color: var(--ink-soft); font-size: 11px; font-weight: 700; line-height: 1.45; }
.results-proof dl { margin: 23px 0 0; padding-top: 17px; border-top: 1px solid rgb(29 89 60 / 17%); }
.results-proof dl div { display: flex; gap: 14px; justify-content: space-between; margin-top: 9px; font-size: 11px; }
.results-proof dl div:first-child { margin-top: 0; }
.results-proof dt { color: var(--muted); }
.results-proof dd { margin: 0; font-weight: 800; text-align: right; }
.results-calculation { grid-column: 1 / -1; border-top: 1px solid var(--line); }
.results-calculation > summary, .results-evidence > summary { display: flex; min-height: 54px; align-items: center; gap: 9px; padding: 0 22px; color: var(--green); cursor: pointer; font-size: 12px; font-weight: 800; list-style: none; }
.results-calculation > summary::-webkit-details-marker, .results-evidence > summary::-webkit-details-marker { display: none; }
.results-calculation > summary::before, .results-evidence > summary::before { content: "+"; font-size: 18px; font-weight: 500; }
.results-calculation[open] > summary::before, .results-evidence[open] > summary::before { content: "−"; }
.results-calculation > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.results-calculation p { min-width: 0; margin: 0; padding: 18px 22px; }
.results-calculation p + p { border-left: 1px solid var(--line); }
.results-calculation small, .results-calculation strong { display: block; }
.results-calculation small { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.results-calculation strong { margin-top: 5px; font-size: 11px; line-height: 1.5; }
.results-evidence { overflow: hidden; margin-top: 14px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); scroll-margin-top: 18px; }
.results-example-list { border-top: 1px solid var(--line); }
.results-example-row { display: grid; grid-template-columns: 118px minmax(0, 1fr) 180px 38px; gap: 18px; align-items: center; min-height: 92px; padding: 16px 22px; }
.results-example-row + .results-example-row { border-top: 1px solid var(--line); }
.results-example-row time { color: var(--muted); font-size: 10px; line-height: 1.45; }
.results-example-row time strong { display: block; color: var(--ink); font-size: 11px; }
.results-example-row > p { min-width: 0; margin: 0; overflow: hidden; font-size: 12px; font-weight: 700; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.results-example-result { padding-left: 18px; border-left: 1px solid var(--line); }
.results-example-result strong, .results-example-result span { display: block; }
.results-example-result strong { font-family: var(--serif); font-size: 25px; line-height: 1; }
.results-example-result span { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.results-open-post { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: var(--radius-control); color: var(--green); text-decoration: none; }
.results-open-post:hover { border-color: var(--green); background: var(--green-soft); }
.results-support { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; margin-top: 14px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--raised); box-shadow: var(--shadow-raised); }
.results-support > div { min-width: 0; padding: 17px 21px; }
.results-support > div + div { border-left: 1px solid var(--line); }
.results-support small, .results-support strong { display: block; }
.results-support small { margin-bottom: 4px; color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.results-support strong { font-size: 11px; line-height: 1.5; }

@media (max-width: 1024px) {
  .results-head { align-items: flex-start; flex-direction: column; }
  .results-source-tools { width: 100%; }
  .results-source-select { width: auto; max-width: none; flex: 1; }
  .results-source-pill { max-width: none; flex: 1; }
  .results-recommendation { grid-template-columns: 1fr; }
  .results-proof { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 6px 24px; border-top: 1px solid var(--line); border-left: 0; }
  .results-proof > span, .results-proof__lift { grid-column: 1; }
  .results-proof dl { grid-column: 2; grid-row: 1 / 3; margin-top: 0; padding: 0 0 0 22px; border-top: 0; border-left: 1px solid rgb(29 89 60 / 17%); }
}

@media (max-width: 720px) {
  .results-head { padding-top: 12px; }
  .app-main .results-head h1 { font-size: 34px; }
  .results-source-tools { align-items: stretch; }
  .results-source-pill { white-space: normal; }
  .results-recommendation__body, .results-proof { padding: 24px 20px; }
  .results-recommendation h2 { font-size: 32px; }
  .results-actions { align-items: stretch; flex-direction: column; }
  .results-actions form, .results-actions .materials-button { width: 100%; }
  .results-text-button { justify-content: flex-start; }
  .results-proof { display: block; }
  .results-proof dl { margin-top: 22px; padding: 17px 0 0; border-top: 1px solid rgb(29 89 60 / 17%); border-left: 0; }
  .results-calculation > div { grid-template-columns: 1fr; }
  .results-calculation p + p { border-top: 1px solid var(--line); border-left: 0; }
  .results-example-row { grid-template-columns: minmax(0, 1fr) 38px; gap: 12px; padding: 17px 18px; }
  .results-example-row time, .results-example-row > p, .results-example-result { grid-column: 1; }
  .results-example-result { padding: 10px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .results-open-post { grid-column: 2; grid-row: 1; }
  .results-support { grid-template-columns: 1fr; }
  .results-support > div + div { border-top: 1px solid var(--line); border-left: 0; }
}

/* Search-intent landing pages: one useful page per distinct product task. */
.seo-landing-shell { width: min(100% - 56px, 1240px); padding-top: 0; }
.seo-landing-shell .public-header { min-height: 80px; border-bottom: 1px solid var(--line); }
.seo-landing-nav { display: flex; gap: 24px; margin-left: auto; }
.seo-landing-nav a, .seo-landing-login { color: var(--ink-soft); font-size: 12px; font-weight: 800; text-decoration: none; }
.seo-landing-nav a:hover, .seo-landing-login:hover { color: var(--green); }
.seo-landing-login { margin-left: 32px; padding: 10px 15px; border: 1px solid var(--line-strong); border-radius: 9px; }
.seo-landing { padding-bottom: 56px; }
.seo-breadcrumbs { display: flex; gap: 9px; align-items: center; padding-top: 24px; color: var(--muted); font-size: 11px; }
.seo-breadcrumbs a { color: var(--green); text-decoration: none; }
.seo-breadcrumbs span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seo-hero { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(380px, .97fr); gap: clamp(48px, 7vw, 92px); align-items: center; padding: clamp(58px, 7vw, 90px) 0 92px; }
.seo-eyebrow { margin: 0 0 12px; color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.seo-hero h1 { max-width: 700px; font-size: clamp(46px, 5.2vw, 70px); line-height: .96; }
.seo-hero__lead { max-width: 650px; margin: 25px 0 0; color: var(--ink-soft); font-size: 17px; line-height: 1.62; }
.seo-source-form { max-width: 690px; margin-top: 31px; }
.seo-source-form > label { margin: 0; color: var(--ink); font-size: 13px; }
.seo-source-form > div:not(.honeypot) { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 7px; border: 1px solid #b7cbbc; border-radius: 13px; background: var(--surface); }
.seo-source-form input { min-width: 0; min-height: 50px; border: 0; background: transparent; }
.seo-source-form button { min-height: 50px; margin: 0; padding: 0 22px; border-radius: 8px; white-space: nowrap; }
.seo-source-form > small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.seo-highlights { display: flex; flex-wrap: wrap; gap: 9px 20px; margin: 18px 0 0; padding: 0; list-style: none; }
.seo-highlights li { position: relative; padding-left: 19px; color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.seo-highlights li::before { position: absolute; left: 0; top: 2px; width: 12px; height: 12px; border-radius: 50%; content: ""; background: var(--green-soft); box-shadow: inset 0 0 0 4px var(--green); }
.seo-preview { overflow: hidden; border: 1px solid #c7d1c5; border-radius: 20px; background: var(--surface); box-shadow: 0 24px 52px rgb(32 45 37 / 10%); transform: rotate(1deg); }
.seo-preview > header, .seo-preview > footer { display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; }
.seo-preview > header { border-bottom: 1px solid var(--line); }
.seo-preview > header p { margin: 0; font-size: 13px; font-weight: 800; }
.seo-preview > header span { color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.seo-preview > footer { border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.seo-preview > footer b { color: var(--green); }
.seo-plan-preview { padding: 12px 20px 18px; }
.seo-plan-preview > p { margin: 5px 0 13px; color: var(--muted); font-size: 10px; }
.seo-plan-preview ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.seo-plan-preview li { display: grid; grid-template-columns: 29px minmax(0, 1fr); gap: 11px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.seo-plan-preview li > span { color: var(--green); font-family: var(--serif); font-size: 17px; }
.seo-plan-preview b, .seo-plan-preview small { display: block; }
.seo-plan-preview b { font-size: 11px; }
.seo-plan-preview small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.seo-post-preview { display: grid; grid-template-columns: minmax(0, .78fr) minmax(145px, .42fr); min-height: 410px; margin: 0; padding: 24px; background: #e8ede5; }
.seo-post-preview img { width: 100%; height: 100%; max-height: 410px; border-radius: 12px; object-fit: cover; box-shadow: 0 12px 30px rgb(26 37 31 / 14%); }
.seo-post-preview figcaption { display: flex; justify-content: flex-end; flex-direction: column; padding: 22px 0 8px 19px; }
.seo-post-preview figcaption b, .seo-post-preview figcaption span { display: block; }
.seo-post-preview figcaption b { font-family: var(--serif); font-size: 24px; line-height: 1.02; }
.seo-post-preview figcaption span { margin-top: 10px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.seo-carousel-preview { padding: 31px 28px 23px; background: #e8ede5; }
.seo-carousel-preview__stack { position: relative; width: min(78%, 310px); aspect-ratio: 4 / 5; margin: 0 auto; }
.seo-carousel-preview__stack img { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 13px; object-fit: cover; box-shadow: 0 16px 34px rgb(24 35 29 / 14%); }
.seo-carousel-preview__stack img:nth-child(1) { transform: translate(28px, -9px) rotate(5deg); }
.seo-carousel-preview__stack img:nth-child(2) { transform: translate(14px, -5px) rotate(2deg); }
.seo-carousel-preview__stack img:nth-child(3) { transform: rotate(-1deg); }
.seo-carousel-preview > p { margin: 22px 0 0; color: var(--muted); font-size: 10px; text-align: center; }
.seo-result, .seo-how, .seo-difference, .seo-faq, .seo-related { padding: 92px 0; border-top: 1px solid var(--line); }
.seo-section-heading { display: grid; grid-template-columns: minmax(0, .8fr) minmax(360px, 1.2fr); column-gap: 60px; }
.seo-section-heading .seo-eyebrow { grid-column: 1; }
.seo-section-heading h2 { grid-column: 1; max-width: 500px; margin: 0; font-size: clamp(36px, 4.2vw, 54px); line-height: 1; }
.seo-section-heading > p:last-child { grid-column: 2; grid-row: 1 / 3; max-width: 610px; margin: 22px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.65; }
.seo-deliverables { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 54px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.seo-deliverables article { display: grid; grid-template-columns: 42px minmax(0, 1fr); padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgb(255 253 248 / 42%); }
.seo-deliverables article > span { grid-row: 1 / 3; color: var(--green); font-family: var(--serif); font-size: 20px; }
.seo-deliverables h3, .seo-difference h3 { margin: 0; font-size: 18px; }
.seo-deliverables p, .seo-difference article p { margin: 10px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 1.65; }
.seo-how, .seo-difference, .seo-faq { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 72px; }
.seo-how h2, .seo-difference h2, .seo-faq h2, .seo-related h2 { max-width: 470px; margin: 0; font-size: clamp(34px, 3.8vw, 48px); line-height: 1.03; }
.seo-how ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.seo-how li { display: grid; grid-template-columns: 43px minmax(0, 1fr); gap: 17px; padding: 23px 0; border-bottom: 1px solid var(--line); }
.seo-how li > span { color: var(--green); font-family: var(--serif); font-size: 22px; }
.seo-how h3 { margin: 0; font-size: 17px; }
.seo-how li p { margin: 6px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.seo-difference > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.seo-difference article { padding: 25px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.seo-faq > div { border-top: 1px solid var(--line); }
.seo-faq details { border-bottom: 1px solid var(--line); }
.seo-faq summary { position: relative; padding: 22px 42px 22px 0; cursor: pointer; font-size: 15px; font-weight: 800; list-style: none; }
.seo-faq summary::-webkit-details-marker { display: none; }
.seo-faq summary::after { position: absolute; top: 18px; right: 4px; color: var(--green); content: "+"; font-family: var(--serif); font-size: 24px; }
.seo-faq details[open] summary::after { content: "−"; }
.seo-faq details p { max-width: 690px; margin: -4px 42px 23px 0; color: var(--ink-soft); font-size: 13px; line-height: 1.65; }
.seo-related > header { display: flex; gap: 40px; align-items: end; justify-content: space-between; }
.seo-related > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 34px; }
.seo-related a { position: relative; display: grid; gap: 7px; min-height: 150px; padding: 25px 55px 25px 25px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); text-decoration: none; }
.seo-related a:hover { border-color: var(--green); transform: translateY(-2px); }
.seo-related a span { color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.seo-related a b { align-self: end; font-family: var(--serif); font-size: 25px; line-height: 1.06; }
.seo-related a i { position: absolute; right: 23px; bottom: 24px; color: var(--green); font-size: 24px; font-style: normal; }
.seo-closing { display: grid; grid-template-columns: minmax(270px, .76fr) minmax(0, 1.24fr); gap: 60px; align-items: center; margin-top: 18px; padding: 48px; border-radius: 18px; background: var(--ink); color: #fff; }
.seo-closing h2 { margin: 0; font-size: clamp(34px, 3.7vw, 49px); line-height: 1.02; }
.seo-closing > div > p:last-child { margin: 15px 0 0; color: #c5cec7; font-size: 12px; }
.seo-closing .seo-eyebrow { color: #a9d0b4; }
.seo-closing .seo-source-form { margin: 0; }
.seo-closing .seo-source-form > label { color: #e4e9e5; }
.seo-closing .seo-source-form > small { color: #b6c0b9; }

@media (max-width: 980px) {
  .seo-landing-nav { display: none; }
  .seo-landing-login { margin-left: auto; }
  .seo-hero { grid-template-columns: 1fr; }
  .seo-preview { width: min(100%, 620px); margin: 0 auto; transform: none; }
  .seo-section-heading { display: block; }
  .seo-section-heading > p:last-child { margin-top: 20px; }
  .seo-how, .seo-difference, .seo-faq { grid-template-columns: 1fr; gap: 38px; }
  .seo-closing { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .seo-landing-shell { width: min(100% - 28px, 620px); }
  .seo-landing-shell .public-header { min-height: 68px; }
  .seo-breadcrumbs { padding-top: 17px; }
  .seo-hero { gap: 46px; padding: 48px 0 68px; }
  .seo-hero h1 { font-size: clamp(42px, 13vw, 58px); }
  .seo-source-form > div:not(.honeypot) { grid-template-columns: 1fr; }
  .seo-source-form button { width: 100%; }
  .seo-highlights { display: grid; }
  .seo-post-preview { grid-template-columns: 1fr; }
  .seo-post-preview figcaption { padding: 18px 0 0; }
  .seo-result, .seo-how, .seo-difference, .seo-faq, .seo-related { padding: 68px 0; }
  .seo-deliverables, .seo-difference > div, .seo-related > div { grid-template-columns: 1fr; }
  .seo-deliverables article { padding: 24px 19px; }
  .seo-related > header { display: block; }
  .seo-closing { gap: 35px; padding: 31px 22px; }
}

/* Blog: editorial reading surface on the same visual system as the product. */
.blog-shell { width: min(100% - 48px, 1120px); }
.blog-shell .public-header .brand { display: inline-flex; align-items: center; min-height: 44px; }
.blog-header-nav { display: flex; gap: 22px; align-items: center; }
.blog-header-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 7px; color: var(--ink-soft); font-size: 12px; font-weight: 800; text-decoration: none; }
.blog-header-nav a:hover { color: var(--green); }
.blog-header-nav .blog-header-nav__cta { padding: 10px 14px; border: 1px solid var(--green); border-radius: 7px; background: var(--green); color: #fff; }
.blog-shell a:focus-visible, .blog-shell + .public-footer a:focus-visible { border-radius: 3px; outline: 3px solid #ce9831; outline-offset: 3px; }
.blog-index-hero { display: grid; grid-template-columns: minmax(0, .92fr) minmax(320px, .58fr); gap: 70px; align-items: end; padding: 104px 0 68px; border-bottom: 1px solid var(--line); }
.blog-index-hero .eyebrow { grid-column: 1 / -1; margin-bottom: -48px; }
.blog-index-hero h1 { max-width: 760px; font-size: clamp(48px, 6vw, 76px); }
.blog-index-hero__offer { max-width: 470px; margin-bottom: 4px; }
.blog-index-hero__offer p { margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.65; }
.blog-index-hero__offer .secondary-button { margin: 25px 0 0; }
.blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 0 92px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--line); }
.blog-card { display: grid; grid-template-rows: auto 1fr; min-width: 0; background: var(--paper); }
.blog-card--lead { grid-column: 1 / -1; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); }
.blog-card__cover { display: block; min-height: 280px; overflow: hidden; background: #e5e9e1; }
.blog-card__cover img { display: block; width: 100%; height: 100%; min-height: 280px; max-height: 500px; object-fit: cover; transition: transform .25s ease; }
.blog-card__cover:hover img { transform: scale(1.015); }
.blog-card__copy { display: flex; flex-direction: column; min-height: 330px; padding: 34px; }
.blog-card--lead .blog-card__copy { min-height: 430px; justify-content: center; padding: 48px; }
.blog-card--lead.blog-card--text { grid-template-columns: 1fr; }
.blog-card--lead.blog-card--text .blog-card__copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .62fr); grid-template-rows: auto auto auto; gap: 0 64px; min-height: 0; padding: 44px 48px; }
.blog-card--lead.blog-card--text .blog-card__meta { grid-column: 1 / -1; }
.blog-card--lead.blog-card--text h2 { grid-row: 2 / 4; }
.blog-card--lead.blog-card--text .blog-card__copy > p:not(.blog-card__meta) { grid-column: 2; grid-row: 2; margin-top: 0; }
.blog-card--lead.blog-card--text .blog-card__link { grid-column: 2; grid-row: 3; margin-top: 0; }
.blog-card__meta { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin: 0 0 25px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.blog-card__meta span { color: var(--green); }
.blog-card h2 { margin: 0; font-size: clamp(29px, 3vw, 41px); line-height: 1.02; }
.blog-card h2 a { color: var(--ink); text-decoration: none; }
.blog-card h2 a:hover { color: var(--green); }
.blog-card h2 a:visited, .blog-card__link:visited, .blog-related a:visited { color: #4b6855; }
.blog-card__copy > p:not(.blog-card__meta) { max-width: 580px; margin: 17px 0 28px; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }
.blog-card__link { display: inline-flex; align-items: center; width: fit-content; min-height: 44px; margin-top: auto; color: var(--green); font-size: 12px; font-weight: 850; text-decoration: none; }
.blog-card__link span { margin-left: 5px; }
.blog-empty { max-width: 760px; margin: 72px 0 104px; padding: 45px; border-left: 4px solid var(--green); background: #ebece4; }
.blog-empty p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.6; }
.blog-index-cta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr); gap: 80px; align-items: center; margin: 24px 0 86px; padding: 36px 42px; border: 1px solid #c7d7c6; border-radius: 17px; background: linear-gradient(115deg, #f3f5ef 0%, #faf9f4 72%); color: var(--ink); }
.blog-index-cta h2 { max-width: 590px; margin: 0; font-size: clamp(34px, 3.4vw, 44px); line-height: 1.02; }
.blog-index-cta .eyebrow { color: var(--green); }
.blog-index-cta > div:last-child p { margin: 0 0 20px; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.blog-index-cta .secondary-button { margin: 0; background: var(--green-dark); color: #fff; box-shadow: 0 12px 26px rgb(20 72 47 / 15%); }
.blog-preview-banner { display: flex; gap: 18px; align-items: center; margin-top: 24px; padding: 12px 16px; border: 1px solid #d8bd84; border-radius: 7px; background: #fff0cf; font-size: 12px; }
.blog-preview-banner span { color: var(--ink-soft); }
.blog-preview-banner a { display: inline-flex; align-items: center; min-height: 44px; margin-left: auto; color: var(--green); font-weight: 800; }
.blog-breadcrumbs { display: flex; gap: 9px; padding-top: 54px; color: var(--muted); font-size: 11px; }
.blog-breadcrumbs a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; padding: 0 7px; color: var(--green); text-decoration: none; }
.blog-article__header { max-width: 900px; padding: 64px 0 38px; }
.blog-article__header h1 { max-width: 900px; font-size: clamp(48px, 6.3vw, 78px); }
.blog-article__excerpt { max-width: 760px; margin: 25px 0 0; color: var(--ink-soft); font-size: 19px; line-height: 1.62; }
.blog-article__meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 27px 0 0; color: var(--muted); font-size: 11px; font-weight: 750; }
.blog-article__cover { margin: 0; overflow: hidden; background: #e5e9e1; }
.blog-article__cover img { display: block; width: 100%; max-height: 660px; object-fit: cover; }
.blog-article__layout { max-width: 720px; margin: 36px auto 0; }
.blog-prose { max-width: 720px; color: #27342d; font-family: "Source Serif 4", Georgia, serif; font-size: 19px; line-height: 1.78; }
.blog-prose > *:first-child { margin-top: 0; }
.blog-prose h2 { margin: 58px 0 18px; color: var(--ink); font-size: 37px; line-height: 1.08; }
.blog-prose h3 { margin: 38px 0 13px; color: var(--ink); font-family: Manrope, Arial, sans-serif; font-size: 21px; line-height: 1.3; }
.blog-prose p { margin: 0 0 25px; }
.blog-prose a { color: var(--green); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.blog-prose a:hover { color: var(--ink); }
.blog-prose ul, .blog-prose ol { margin: 0 0 28px; padding-left: 27px; }
.blog-prose li { margin: 8px 0; padding-left: 5px; }
.blog-prose blockquote { margin: 38px 0; padding: 25px 30px; border-left: 4px solid var(--green); background: #e9eee6; color: var(--ink); font-size: 24px; font-weight: 700; line-height: 1.45; }
.blog-sources { margin-top: 64px; padding-top: 26px; border-top: 1px solid var(--line); font-family: Manrope, Arial, sans-serif; }
.blog-sources h2 { margin: 0 0 15px; font-size: 23px; }
.blog-sources ul { margin: 0; padding: 0; list-style: none; }
.blog-sources li { margin: 5px 0; padding: 0; }
.blog-sources a { display: inline-flex; align-items: center; min-height: 44px; color: var(--green); font-size: 12px; }
.blog-article-cta { max-width: 940px; margin: 90px auto 0; padding: 47px 50px; border-left: 5px solid var(--green); background: #e9e7df; }
.blog-article-cta h2 { max-width: 700px; margin: 0; font-size: clamp(36px, 4vw, 49px); line-height: 1.04; }
.blog-article-cta > p:not(.eyebrow) { max-width: 650px; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.blog-related { margin: 95px 0 45px; padding-top: 42px; border-top: 1px solid var(--line); }
.blog-related h2 { font-size: 39px; }
.blog-related > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 25px; background: var(--line); }
.blog-related a { position: relative; display: grid; min-height: 210px; padding: 27px 43px 27px 27px; background: var(--paper); color: var(--ink); text-decoration: none; }
.blog-related a span { color: var(--green); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.blog-related a strong { align-self: end; font-family: "Source Serif 4", Georgia, serif; font-size: 24px; line-height: 1.08; }
.blog-related a i { position: absolute; right: 24px; bottom: 25px; color: var(--green); font-style: normal; }
.blog-shell + .public-footer a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; padding: 0 7px; }

@media (max-width: 820px) {
  .blog-header-nav a:first-child { display: none; }
  .blog-index-hero, .blog-card--lead, .blog-index-cta { grid-template-columns: 1fr; }
  .blog-index-hero { gap: 24px; padding-top: 72px; }
  .blog-index-hero .eyebrow { margin-bottom: 0; }
  .blog-card--lead .blog-card__copy { min-height: 340px; padding: 34px; }
  .blog-card--lead.blog-card--text .blog-card__copy { display: flex; min-height: 0; padding: 34px; }
  .blog-related > div { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .blog-shell { width: min(100% - 28px, 1120px); }
  .blog-header-nav { gap: 13px; }
  .blog-index-hero h1, .blog-article__header h1 { font-size: 44px; }
  .blog-article__header { padding: 50px 0 30px; }
  .blog-article__layout { margin-top: 26px; }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-card--lead { grid-column: auto; }
  .blog-card__copy { min-height: 300px; padding: 27px 20px; }
  .blog-index-cta, .blog-article-cta { gap: 28px; padding: 32px 23px; }
  .blog-preview-banner { align-items: start; flex-direction: column; }
  .blog-preview-banner a { margin-left: 0; }
  .blog-prose { font-size: 18px; }
  .blog-prose h2 { font-size: 32px; }
  .blog-prose blockquote { padding: 22px; font-size: 21px; }
}

@media (max-width: 360px) {
  .blog-header-nav a:not(:last-child) { display: none; }
}

/* Homepage preview of real materials from selected business niches. */
.landing-v13-niches {
  margin-top: 104px;
  padding: clamp(36px, 4.4vw, 62px);
  overflow: hidden;
  border: 1px solid rgb(20 72 47 / 13%);
  border-radius: 24px;
  background: #eef2ea;
}
.landing-v13-niches__head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: clamp(32px, 6vw, 88px);
  align-items: end;
  padding-bottom: 30px;
  border-bottom: 1px solid #cbd5c8;
}
.landing-v13-niches__head h2 {
  max-width: 790px;
  margin: 12px 0 0;
  color: var(--ink);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(42px, 4.35vw, 64px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em;
}
.landing-v13-niches__intro { align-self: end; }
.landing-v13-niches__intro p {
  max-width: 470px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.55;
}
.landing-v13-niches__intro > a {
  display: inline-flex;
  min-height: 48px;
  margin-top: 22px;
  padding: 0 17px;
  align-items: center;
  gap: 18px;
  border: 1px solid var(--green-dark);
  border-radius: 10px;
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}
.landing-v13-niches__intro > a span { font-size: 18px; }
.landing-v13-niches__intro > a:hover,
.landing-v13-niches__intro > a:focus-visible { background: var(--green-dark); color: #fff; }
.landing-v13-niches__rail {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 20px);
  margin-top: 30px;
}
.landing-v13-niche-material { min-width: 0; color: var(--ink); text-decoration: none; }
.landing-v13-niche-material figure { display: grid; height: 100%; margin: 0; grid-template-rows: auto 1fr; }
.landing-v13-niche-material img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  border: 1px solid rgb(20 72 47 / 14%);
  border-radius: 12px;
  object-fit: cover;
  transition: transform .22s ease, border-color .22s ease;
}
.landing-v13-niche-material figcaption { display: flex; min-height: 154px; padding: 15px 2px 0; flex-direction: column; }
.landing-v13-niche-material figcaption > span {
  color: var(--green);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .07em;
  line-height: 1.35;
  text-transform: uppercase;
}
.landing-v13-niche-material figcaption > strong {
  display: block;
  margin-top: 9px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(18px, 1.55vw, 24px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.landing-v13-niche-material figcaption > small {
  display: flex;
  margin-top: auto;
  padding-top: 14px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--ink-soft);
  font-size: 10px;
  font-weight: 750;
}
.landing-v13-niche-material figcaption b { color: var(--green); font-size: 16px; font-weight: 700; }
.landing-v13-niche-material:hover img { border-color: var(--green); transform: translateY(-3px); }
.landing-v13-niche-material:hover figcaption > strong { color: var(--green-dark); }
.landing-v13-niche-material:focus-visible { border-radius: 12px; outline: 3px solid rgb(29 89 60 / 45%); outline-offset: 4px; }

@media (max-width: 1100px) {
  .landing-v13-niches__rail { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 18px; }
  .landing-v13-niche-material figcaption { min-height: 132px; }
}

@media (max-width: 800px) {
  .landing-v13-niches__head { grid-template-columns: 1fr; gap: 18px; }
  .landing-v13-niches__intro p { max-width: 620px; }
}

@media (max-width: 680px) {
  .landing-v13-niches { margin: 72px -10px 0; padding: 30px 18px; border-radius: 18px; }
  .landing-v13-niches__head { padding-bottom: 24px; }
  .landing-v13-niches__head h2 { font-size: clamp(38px, 12vw, 50px); }
  .landing-v13-niches__intro p { font-size: 13px; }
  .landing-v13-niches__intro > a { width: 100%; justify-content: space-between; }
  .landing-v13-niches__rail {
    margin: 24px -18px 0;
    padding: 0 18px 12px;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(230px, 76vw);
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .landing-v13-niche-material { scroll-snap-align: start; }
  .landing-v13-niche-material figcaption { min-height: 128px; }
  .landing-v13-niche-material figcaption > strong { font-size: 23px; }
}
/* First-party human support widget */
.support-widget:not(.is-ready) { display: none; }
.support-widget [hidden] { display: none; }
.support-widget {
  position: fixed;
  z-index: 240;
  right: 24px;
  bottom: 22px;
  font-family: "Manrope", "Segoe UI", sans-serif;
}
.support-widget__launcher {
  position: relative;
  min-height: 52px;
  margin: 0;
  padding: 8px 18px 8px 9px;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  box-shadow: 0 10px 30px rgb(18 25 21 / 22%);
  font-size: 13px;
  letter-spacing: -.01em;
}
.support-widget__launcher:hover {
  border-color: rgb(255 255 255 / 24%);
  background: #26332c;
  transform: translateY(-1px);
}
.support-widget__launcher:focus-visible,
.support-widget__close:focus-visible,
.support-widget__form button:focus-visible,
.support-widget__messages:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 3px;
}
.support-widget__launcher-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--green-bright);
}
.support-widget__launcher-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linejoin: round;
}
.support-widget__launcher i {
  position: absolute;
  top: 0;
  right: 2px;
  width: 11px;
  height: 11px;
  border: 2px solid var(--surface);
  border-radius: 50%;
  background: #df6b50;
}
.support-widget__panel {
  position: absolute;
  right: 0;
  bottom: 64px;
  display: grid;
  width: min(380px, calc(100vw - 32px));
  height: min(610px, calc(100vh - 110px));
  min-height: 390px;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 24px 70px rgb(18 25 21 / 20%), 0 3px 12px rgb(18 25 21 / 10%);
  transform-origin: right bottom;
  animation: support-widget-enter .16s ease-out;
}
.support-widget__head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 44px;
  gap: 11px;
  align-items: start;
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: var(--green-soft);
}
.support-widget__avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-family: var(--font-display), Georgia, serif;
  font-size: 20px;
  font-weight: 700;
}
.support-widget__identity {
  min-width: 0;
}
.support-widget__identity strong,
.support-widget__identity span,
.support-widget__identity small {
  display: block;
}
.support-widget__identity strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.support-widget__identity > span {
  margin-top: 2px;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.35;
}
.support-widget__identity small {
  margin-top: 5px;
  color: var(--green);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.35;
}
.support-widget__close {
  width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ink-soft);
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}
.support-widget__close:hover {
  background: rgb(24 34 29 / 7%);
  color: var(--ink);
}
.support-widget__messages {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: auto;
  padding: 18px 16px;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.support-widget__message {
  max-width: 86%;
}
.support-widget__message p {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px 12px 12px 4px;
  background: var(--green-soft);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.48;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.support-widget__message time {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.support-widget__message--visitor {
  align-self: flex-end;
}
.support-widget__message--visitor p {
  border-radius: 12px 12px 4px 12px;
  background: var(--ink);
  color: #fff;
}
.support-widget__message--visitor time {
  text-align: right;
}
.support-widget__message--system {
  align-self: center;
  max-width: 94%;
}
.support-widget__message--system p {
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--sand);
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}
.support-widget__status {
  min-height: 18px;
  margin: 0;
  padding: 1px 16px 4px;
  color: var(--muted);
  font-size: 12px;
}
.support-widget__status.is-error { color: var(--danger); }
.support-widget__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
  padding: 11px 12px 12px;
  border-top: 1px solid var(--line);
  background: var(--surface);
}
.support-widget__form textarea {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 44px;
  min-height: 44px;
  max-height: 120px;
  margin: 0;
  padding: 11px 12px;
  resize: none;
  border-color: var(--line-strong);
  border-radius: 11px;
  background: var(--inset);
  font-size: 16px;
  line-height: 1.45;
}
.support-widget__consent {
  display: flex;
  grid-column: 1 / -1;
  grid-row: 2;
  gap: 8px;
  align-items: flex-start;
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
  cursor: pointer;
}
.support-widget__consent input {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  min-height: 16px;
  margin: 1px 0 0;
  padding: 0;
  accent-color: var(--green);
}
.support-widget__consent a {
  color: var(--green);
  font-weight: 750;
}
.support-widget__form textarea::placeholder { color: var(--muted); }
.support-widget__form button {
  grid-column: 2;
  grid-row: 1;
  width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border-radius: 11px;
  font-size: 17px;
}
.support-widget__form button span:first-child {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.support-widget__form button:disabled {
  cursor: wait;
  opacity: .58;
}
@keyframes support-widget-enter {
  from { opacity: 0; transform: translateY(8px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 620px) {
  .support-widget {
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
  }
  .support-widget__launcher {
    min-height: 50px;
    padding-right: 14px;
  }
  .support-widget__panel {
    right: 0;
    bottom: 62px;
    width: calc(100vw - 24px);
    height: min(640px, calc(100dvh - 90px));
    border-radius: 16px;
  }
}
@media (max-height: 520px) {
  .support-widget__panel {
    height: calc(100dvh - 88px);
    min-height: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .support-widget__panel { animation: none; }
  .support-widget__launcher { transition: none; }
}
/* Landing v14: one real example from a public source to finished materials. */
.landing-v14-process {
  scroll-margin-top: 24px;
  margin-top: 84px;
  padding: clamp(34px, 4.6vw, 70px);
  border: 1px solid #d8e2d5;
  border-radius: 28px;
  background: #e7eee4;
  box-shadow: inset 0 0 0 1px rgb(29 89 60 / 3%);
}
.landing-v14-process__head {
  display: grid;
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
  gap: clamp(34px, 6vw, 92px);
  align-items: start;
  margin-bottom: 42px;
}
.landing-v14-process__head .landing-v3-eyebrow { margin: 7px 0 0; }
.landing-v14-process__head h2 {
  max-width: 860px;
  margin: 0;
  font-size: clamp(42px, 4.1vw, 64px);
  font-weight: 600;
  line-height: 1.01;
  letter-spacing: -.052em;
}
.landing-v14-process__head > div > p {
  max-width: 730px;
  margin: 19px 0 0;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.62;
}
.landing-v14-process__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 24px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.landing-v14-process__steps::before {
  position: absolute;
  top: 39px;
  right: 15%;
  left: 15%;
  height: 1px;
  background: #c3d1c1;
  content: "";
}
.landing-v14-step {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 600px;
  padding: clamp(20px, 2vw, 30px);
  flex-direction: column;
  border: 1px solid #d2dcd0;
  border-radius: 20px;
  background: var(--surface);
  box-shadow: 0 18px 42px rgb(35 42 35 / 8%);
}
.landing-v14-step__number {
  position: relative;
  z-index: 2;
  display: grid;
  width: 78px;
  height: 78px;
  place-items: center;
  border: 1px solid #c9d7c7;
  border-radius: 50%;
  background: var(--surface);
  color: var(--green);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.065em;
}
.landing-v14-step__eyebrow {
  margin: 23px 0 0;
  color: var(--green);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.landing-v14-step h3 {
  margin: 9px 0 0;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(27px, 2.25vw, 36px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.04em;
}
.landing-v14-step__copy {
  margin: 13px 0 24px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.55;
}
.landing-v14-source,
.landing-v14-profile,
.landing-v14-result {
  min-height: 292px;
  margin-top: auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #f4f2e9;
}
.landing-v14-source { background: #fff; }
.landing-v14-social__cover {
  position: relative;
  display: flex;
  min-height: 82px;
  padding: 13px;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  overflow: hidden;
  background: linear-gradient(135deg, #dce8f8 0%, #edf3fb 48%, #dce9e2 100%);
}
.landing-v14-social__cover::before,
.landing-v14-social__cover::after {
  position: absolute;
  border-radius: 50%;
  content: "";
}
.landing-v14-social__cover::before {
  right: 12%;
  bottom: -56px;
  width: 142px;
  height: 142px;
  border: 1px solid rgb(255 255 255 / 72%);
  box-shadow: 0 0 0 22px rgb(255 255 255 / 17%);
}
.landing-v14-social__cover::after {
  right: -23px;
  top: -34px;
  width: 92px;
  height: 92px;
  background: rgb(29 89 60 / 8%);
}
.landing-v14-social__network,
.landing-v14-social__status {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  font-size: 8px;
  font-weight: 800;
}
.landing-v14-social__network { gap: 7px; color: #395066; }
.landing-v14-social__network b {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 8px;
  background: #087fff;
  color: #fff;
  font-size: 9px;
}
.landing-v14-social__status {
  min-height: 27px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgb(255 255 255 / 80%);
  color: #587063;
}
.landing-v14-social__profile {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 10px;
  margin-top: -28px;
  padding: 0 15px;
  align-items: end;
}
.landing-v14-social__avatar {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--green-dark);
  color: #fff;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 25px;
}
.landing-v14-social__profile div { min-width: 0; padding-bottom: 4px; }
.landing-v14-social__profile strong,
.landing-v14-social__profile div > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.landing-v14-social__profile strong { font-size: 11px; }
.landing-v14-social__profile div > span { margin-top: 2px; color: var(--muted); font-size: 8px; }
.landing-v14-social__profile i {
  margin-bottom: 5px;
  color: #78909c;
  font-size: 12px;
  font-style: normal;
  letter-spacing: 1px;
}
.landing-v14-social__description {
  margin: 12px 15px 11px;
  color: #3c4943;
  font-size: 10px;
  line-height: 1.45;
}
.landing-v14-social__post {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 8px;
  margin: 0 11px;
  padding: 9px 10px;
  border-radius: 10px;
  background: #f3f6f8;
}
.landing-v14-social__post > span {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 50%;
  background: var(--green-dark);
  color: #fff;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 12px;
}
.landing-v14-social__post b,
.landing-v14-social__post small { display: block; }
.landing-v14-social__post b { font-size: 8px; }
.landing-v14-social__post small { margin-top: 1px; color: var(--muted); font-size: 7px; }
.landing-v14-social__post p {
  margin: 5px 0 0;
  color: var(--ink);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.3;
}
.landing-v14-social__link {
  display: flex;
  min-height: 34px;
  margin-top: 9px;
  padding: 0 13px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #e2e7e9;
  color: #4577a9;
  font-size: 8px;
}
.landing-v14-social__link b { color: var(--green); font-size: 7px; text-transform: uppercase; }
.landing-v14-profile {
  display: flex;
  padding: 0;
  flex-direction: column;
  background: #fffdf8;
}
.landing-v14-profile header {
  display: flex;
  gap: 11px;
  padding: 15px 16px 13px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.landing-v14-profile header > span {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--green-dark);
  color: #fff;
  font-size: 16px;
  font-weight: 800;
}
.landing-v14-profile header b,
.landing-v14-profile header small { display: block; }
.landing-v14-profile header b { font-size: 12px; }
.landing-v14-profile header small { margin-top: 3px; color: var(--ink-soft); font-size: 8px; }
.landing-v14-profile dl { margin: 0; }
.landing-v14-profile dl div {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 14px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
  line-height: 1.35;
}
.landing-v14-profile dt span,
.landing-v14-profile dt small { display: block; }
.landing-v14-profile dt span { color: var(--ink); font-size: 9px; font-weight: 800; }
.landing-v14-profile dt small {
  width: max-content;
  max-width: 100%;
  margin-top: 4px;
  padding: 3px 6px;
  border-radius: 999px;
  background: #e8f0f8;
  color: #4b769c;
  font-size: 7px;
  font-weight: 700;
  line-height: 1.2;
}
.landing-v14-profile dd { margin: 0; font-weight: 800; }
.landing-v14-profile footer {
  display: flex;
  margin-top: auto;
  padding: 12px 16px 13px;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 8px;
}
.landing-v14-profile footer b { color: var(--green); text-align: right; }
.landing-v14-result { position: relative; min-height: 292px; padding: 15px; }
.landing-v14-result__plan {
  position: absolute;
  z-index: 3;
  top: 15px;
  left: 15px;
  width: 62%;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: 0 13px 28px rgb(35 42 35 / 10%);
}
.landing-v14-result__plan > span {
  color: var(--green);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.landing-v14-result__plan > strong {
  display: block;
  margin-top: 7px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.1;
}
.landing-v14-result__plan ol { margin: 10px 0 0; padding: 0; list-style: none; }
.landing-v14-result__plan li {
  padding: 8px 0;
  border-top: 1px solid var(--line);
  font-size: 8px;
  line-height: 1.35;
}
.landing-v14-result__plan li b {
  display: block;
  margin-bottom: 3px;
  color: var(--green);
  font-size: 7px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.landing-v14-result__badge {
  position: absolute;
  z-index: 5;
  top: 17px;
  right: 10px;
  padding: 7px 9px;
  border-radius: 999px;
  background: var(--green-dark);
  color: #fff;
  font-size: 8px;
  font-weight: 800;
}
.landing-v14-result__image {
  position: absolute;
  width: 42%;
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
  box-shadow: 0 15px 30px rgb(35 42 35 / 13%);
}
.landing-v14-result__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.landing-v14-result__image--post { z-index: 1; right: 35px; bottom: -28px; transform: rotate(-7deg); }
.landing-v14-result__image--carousel { z-index: 2; right: -4px; bottom: -20px; transform: rotate(5deg); }
.landing-v14-process__foot {
  display: flex;
  gap: 28px;
  padding-top: 28px;
  align-items: center;
  justify-content: flex-end;
}
.landing-v14-process__foot a {
  display: flex;
  min-height: 58px;
  padding: 0 21px;
  align-items: center;
  gap: 20px;
  border-radius: 12px;
  background: var(--green-dark);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.landing-v14-process__foot a:hover { background: #0e3523; transform: translateY(-1px); }
.landing-v14-process__foot a b { color: #f2a181; font-size: 20px; }

@media (max-width: 1050px) {
  .landing-v14-process { padding: 42px 32px; }
  .landing-v14-process__head { grid-template-columns: 1fr; gap: 18px; }
  .landing-v14-process__head .landing-v3-eyebrow { margin: 0; }
  .landing-v14-step { min-height: 570px; padding: 20px; }
  .landing-v14-step__number { width: 64px; height: 64px; font-size: 31px; }
  .landing-v14-process__steps::before { top: 32px; }
  .landing-v14-source, .landing-v14-profile, .landing-v14-result { min-height: 270px; }
  .landing-v14-profile dl div { grid-template-columns: 88px minmax(0, 1fr); gap: 9px; }
}

@media (max-width: 780px) {
  .landing-v14-process { margin-top: 64px; }
  .landing-v14-process__steps { grid-template-columns: 1fr; }
  .landing-v14-process__steps::before {
    top: 38px;
    bottom: 38px;
    left: 38px;
    width: 1px;
    height: auto;
  }
  .landing-v14-step { min-height: 0; }
  .landing-v14-step h3 { font-size: 32px; }
  .landing-v14-step__copy { max-width: 520px; }
  .landing-v14-source, .landing-v14-profile, .landing-v14-result { min-height: 310px; }
  .landing-v14-process__foot { align-items: stretch; flex-direction: column; }
  .landing-v14-process__foot a { justify-content: space-between; width: 100%; }
}

@media (max-width: 620px) {
  .landing-v14-process {
    margin: 54px -12px 0;
    padding: 34px 16px 22px;
    border-radius: 20px;
  }
  .landing-v14-process__head { margin-bottom: 28px; }
  .landing-v14-process__head h2 { font-size: 37px; }
  .landing-v14-process__head > div > p { font-size: 14px; }
  .landing-v14-step { padding: 19px; border-radius: 16px; }
  .landing-v14-step__number { width: 58px; height: 58px; font-size: 28px; }
  .landing-v14-process__steps::before { top: 29px; left: 29px; }
  .landing-v14-step h3 { font-size: 28px; }
  .landing-v14-source, .landing-v14-profile, .landing-v14-result { min-height: 288px; }
  .landing-v14-social__cover { min-height: 86px; }
  .landing-v14-result__plan { width: 64%; }
  .landing-v14-result__badge { max-width: 86px; border-radius: 9px; line-height: 1.25; }
}

/* Homepage conversion pass: explicit form outcome and a dedicated content-plan preview. */
.landing-v3-form__result-note {
  max-width: 640px;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.landing-v15-plan {
  scroll-margin-top: 24px;
  margin-top: clamp(82px, 9vw, 132px);
  padding: 0 0 clamp(86px, 9vw, 132px);
  border-bottom: 1px solid var(--line);
}
.landing-v15-plan__head {
  display: grid;
  grid-template-columns: minmax(190px, .52fr) minmax(0, 1.48fr);
  gap: clamp(34px, 6vw, 92px);
  align-items: start;
}
.landing-v15-plan__head .landing-v3-eyebrow { margin: 8px 0 0; }
.landing-v15-plan__head h2 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(42px, 4.6vw, 70px);
  font-weight: 600;
  line-height: 1.01;
  letter-spacing: -.052em;
}
.landing-v15-plan__head > p:last-child {
  grid-column: 2;
  max-width: 690px;
  margin: -12px 0 0;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.62;
}
.landing-v15-plan__board {
  margin-top: 42px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid #cbd8ca;
  border-radius: 22px;
  background: #e7eee4;
  box-shadow: 0 24px 60px rgb(35 42 35 / 8%);
}
.landing-v15-plan__board-head {
  display: flex;
  min-height: 112px;
  padding: 22px 24px;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  border: 1px solid var(--line);
  border-radius: 14px 14px 0 0;
  background: #fffdf8;
}
.landing-v15-plan__board-head > div > span {
  color: var(--green);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.landing-v15-plan__board-head h3 {
  margin: 7px 0 0;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(26px, 2.6vw, 38px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.04em;
}
.landing-v15-plan__board-head dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(92px, 1fr));
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
}
.landing-v15-plan__board-head dl div { min-width: 110px; padding: 13px 16px; }
.landing-v15-plan__board-head dl div + div { border-left: 1px solid var(--line); }
.landing-v15-plan__board-head dt {
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.landing-v15-plan__board-head dd { margin: 5px 0 0; font-size: 13px; font-weight: 850; }
.landing-v15-plan__weeks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1px;
  background: var(--line);
}
.landing-v15-plan__weeks > article {
  min-width: 0;
  padding: 20px;
  background: #fffdf8;
}
.landing-v15-plan__weeks > article > header {
  display: flex;
  min-height: 49px;
  padding-bottom: 15px;
  align-items: center;
  gap: 11px;
  border-bottom: 1px solid var(--line);
}
.landing-v15-plan__weeks > article > header > span {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid #c7d7c6;
  border-radius: 50%;
  color: var(--green);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 18px;
  font-weight: 600;
}
.landing-v15-plan__weeks header b,
.landing-v15-plan__weeks header small { display: block; }
.landing-v15-plan__weeks header b { font-size: 12px; }
.landing-v15-plan__weeks header small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.landing-v15-plan__weeks ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.landing-v15-plan__weeks li { min-height: 105px; padding: 17px 1px; border-bottom: 1px solid var(--line); }
.landing-v15-plan__weeks li:last-child { border-bottom: 0; }
.landing-v15-plan__weeks li span {
  display: block;
  margin-bottom: 7px;
  color: var(--green);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.landing-v15-plan__weeks li b { font-size: 11px; line-height: 1.45; }
.landing-v15-plan__board-foot {
  display: flex;
  min-height: 72px;
  padding: 16px 22px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 14px 14px;
  background: #fffdf8;
}
.landing-v15-plan__board-foot p { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.landing-v15-plan__board-foot p b { color: var(--ink); }
.landing-v15-plan__board-foot > span {
  flex: 0 0 auto;
  padding: 8px 11px;
  border-radius: 999px;
  background: var(--green-dark);
  color: #fff;
  font-size: 9px;
  font-weight: 850;
  white-space: nowrap;
}

@media (max-width: 1120px) {
  .landing-v15-plan__weeks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-v15-plan__weeks > article:nth-child(3) { border-top: 1px solid var(--line); }
  .landing-v15-plan__weeks > article:nth-child(even) { border-left: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .landing-v15-plan { margin-top: 72px; padding-bottom: 78px; }
  .landing-v15-plan__head { grid-template-columns: 1fr; gap: 16px; }
  .landing-v15-plan__head .landing-v3-eyebrow { margin: 0; }
  .landing-v15-plan__head h2 { font-size: clamp(38px, 10vw, 52px); }
  .landing-v15-plan__head > p:last-child { grid-column: 1; margin: 0; font-size: 14px; }
  .landing-v15-plan__board { margin-top: 30px; padding: 9px; border-radius: 17px; }
  .landing-v15-plan__board-head { align-items: flex-start; flex-direction: column; }
  .landing-v15-plan__board-head dl { width: 100%; }
}

@media (max-width: 560px) {
  .landing-v3-form__result-note { font-size: 11px; }
  .landing-v15-plan__board-head { padding: 19px 17px; }
  .landing-v15-plan__board-head dl { grid-template-columns: 1fr; }
  .landing-v15-plan__board-head dl div { min-width: 0; }
  .landing-v15-plan__board-head dl div + div { border-top: 1px solid var(--line); border-left: 0; }
  .landing-v15-plan__weeks { grid-template-columns: 1fr; }
  .landing-v15-plan__weeks > article:nth-child(n) { border-top: 1px solid var(--line); border-left: 0; }
  .landing-v15-plan__weeks > article:first-child { border-top: 0; }
  .landing-v15-plan__board-foot { align-items: flex-start; flex-direction: column; }
}

/* The homepage preview follows the real campaign-plan screen from the cabinet. */
.landing-v15-plan__head {
  display: block;
  max-width: none;
}
.landing-v15-plan__head .landing-v3-eyebrow { margin: 0 0 18px; }
.landing-v15-plan__head h2 {
  max-width: 1080px;
  font-size: clamp(50px, 5.4vw, 82px);
  line-height: .98;
}
.landing-v15-plan__head > p:last-child {
  max-width: 760px;
  margin: 22px 0 0;
  font-size: 16px;
  line-height: 1.58;
}
.landing-v15-plan__product {
  margin-top: 38px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid #cbd8ca;
  border-radius: 22px;
  background: #e7eee4;
  box-shadow: 0 24px 60px rgb(35 42 35 / 8%);
  pointer-events: none;
  user-select: none;
}
.landing-v15-plan__product .eyebrow {
  margin: 0;
  color: #08623d;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.landing-v15-plan__product .campaign-ready-head { margin: 0 0 12px; }
.landing-v15-plan__product .campaign-ready-head h3 {
  max-width: 780px;
  margin: 5px 0 7px;
  font-family: var(--font-display, Georgia, serif);
  font-size: clamp(27px, 3vw, 38px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.landing-v15-plan__product .campaign-next-state { margin-bottom: 12px; }
.landing-v15-plan__bonus {
  flex: 0 0 auto;
  padding: 10px 13px;
  border-radius: 999px;
  background: var(--green-dark);
  color: #fff;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.landing-v15-plan__product .campaign-topic-list { border-radius: 16px; }
.landing-v15-plan__product .campaign-topic { cursor: default; }
.landing-v15-plan__product .campaign-topic:hover {
  padding-left: 20px;
  background: transparent;
}
.landing-v15-plan__product .campaign-topic__arrow {
  opacity: 1;
  transform: none;
}
.landing-v15-plan__more {
  display: flex;
  min-height: 64px;
  padding: 0 20px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #f6f5ef;
  color: #435149;
}
.landing-v15-plan__more span {
  color: #df7145;
  font-family: var(--font-display, Georgia, serif);
  font-size: 19px;
}
.landing-v15-plan__more b { font-size: 12px; }

@media (max-width: 900px) {
  .landing-v15-plan__product { padding: 10px; }
  .landing-v15-plan__product .campaign-topic:hover { padding-left: 20px; }
}

@media (max-width: 760px) {
  .landing-v15-plan__head h2 { font-size: clamp(38px, 10vw, 52px); }
  .landing-v15-plan__head > p:last-child { margin-top: 18px; font-size: 14px; }
  .landing-v15-plan__product { margin-top: 30px; border-radius: 17px; }
}

@media (max-width: 560px) {
  .landing-v15-plan__product { padding: 7px; border-radius: 14px; }
  .landing-v15-plan__product .campaign-ready-head { padding: 18px; }
  .landing-v15-plan__product .campaign-ready-head h3 { font-size: 24px; }
  .landing-v15-plan__product .campaign-next-state { gap: 14px; padding: 18px; }
  .landing-v15-plan__bonus { align-self: flex-start; }
  .landing-v15-plan__product .campaign-topic:hover { padding-left: 16px; }
  .landing-v15-plan__more { min-height: 58px; padding: 0 12px; }
}

/* Homepage: autopublishing from the real publication-plan workflow. */
.landing-v16-autopost {
  margin-top: 104px;
  padding: clamp(36px, 4.4vw, 62px);
  overflow: hidden;
  border: 1px solid rgb(20 72 47 / 13%);
  border-radius: 24px;
  background: #f8f6f0;
  color: var(--ink);
}
.landing-v16-autopost__head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: clamp(32px, 6vw, 88px);
  padding-bottom: 32px;
  align-items: end;
  border-bottom: 1px solid var(--line);
}
.landing-v16-autopost__head .landing-v3-eyebrow { color: var(--green); }
.landing-v16-autopost__head h2 {
  max-width: 850px;
  margin: 12px 0 0;
  color: var(--ink);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(42px, 4.35vw, 64px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em;
}
.landing-v16-autopost__head > p {
  max-width: 470px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.58;
}
.landing-v16-autopost__demo {
  margin-top: 30px;
  padding: 14px;
  border: 1px solid #cbd8ca;
  border-radius: 19px;
  background: #dfe9dd;
  box-shadow: 0 22px 54px rgb(4 25 16 / 22%);
  color: var(--ink);
  pointer-events: none;
  user-select: none;
}
.landing-v16-autopost__toolbar {
  display: flex;
  min-height: 92px;
  padding: 18px 21px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border: 1px solid #d4d7cd;
  border-radius: 13px 13px 0 0;
  background: #fffdf8;
}
.landing-v16-autopost__toolbar > div span,
.landing-v16-autopost__toolbar > div b { display: block; }
.landing-v16-autopost__toolbar > div span {
  color: var(--green);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.landing-v16-autopost__toolbar > div b {
  margin-top: 6px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(26px, 2.6vw, 37px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.035em;
}
.landing-v16-autopost__ready {
  display: inline-flex;
  min-height: 42px;
  padding: 0 14px;
  align-items: center;
  gap: 9px;
  border: 1px solid #d5d9d0;
  border-radius: 11px;
  background: #f5f7f1;
  color: #35483f;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.landing-v16-autopost__ready i,
.landing-v16-release footer > i {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #18704c;
}
.landing-v16-autopost__workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 12px;
  margin-top: 12px;
}
.landing-v16-calendar,
.landing-v16-release {
  overflow: hidden;
  border: 1px solid #d4d7cd;
  border-radius: 13px;
  background: #fffdf8;
}
.landing-v16-calendar > header {
  display: flex;
  min-height: 60px;
  padding: 0 15px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid #dddcd3;
}
.landing-v16-calendar > header > div { display: flex; align-items: center; gap: 12px; }
.landing-v16-calendar > header > div span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #d7d7ce;
  border-radius: 50%;
  color: var(--green-dark);
  font-size: 18px;
}
.landing-v16-calendar > header b { font-size: 12px; }
.landing-v16-calendar > header small {
  padding: 7px 9px;
  border-radius: 8px;
  background: #e8f0e5;
  color: var(--green-dark);
  font-size: 9px;
  font-weight: 850;
}
.landing-v16-calendar__days {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.landing-v16-calendar__days > article {
  min-width: 0;
  min-height: 342px;
  padding: 13px 10px;
  border-right: 1px solid #e0ded5;
  background: #faf9f4;
}
.landing-v16-calendar__days > article:last-child { border-right: 0; }
.landing-v16-calendar__days > article.is-current { background: #edf4ea; }
.landing-v16-calendar__days > article > strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #657168;
  font-size: 9px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.landing-v16-calendar__days > article > strong b {
  color: #1d3429;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 18px;
  font-weight: 500;
}
.landing-v16-calendar__empty {
  margin: 112px 0 0;
  color: #a0a7a1;
  font-size: 9px;
  text-align: center;
}
.landing-v16-calendar__entry {
  margin-top: 42px;
  padding: 10px;
  border: 1px solid #d9d7cd;
  border-radius: 10px;
  background: #fffdf8;
  box-shadow: 0 9px 22px rgb(27 45 35 / 7%);
}
.landing-v16-calendar__entry--quiet { margin-top: 82px; }
.landing-v16-calendar__entry > small,
.landing-v16-calendar__entry > b { display: block; }
.landing-v16-calendar__entry > small,
.landing-v16-calendar__entry div > small {
  color: #6d786f;
  font-size: 8px;
  font-weight: 750;
}
.landing-v16-calendar__entry > b,
.landing-v16-calendar__entry div > b {
  display: block;
  margin-top: 7px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.12;
}
.landing-v16-calendar__entry > span {
  display: inline-flex;
  margin-top: 14px;
  padding: 5px 7px;
  border-radius: 99px;
  background: #eeeae1;
  color: #69736d;
  font-size: 8px;
  font-weight: 800;
}
.landing-v16-calendar__entry.is-selected {
  margin-top: 14px;
  padding: 7px;
  border-color: #8eb59a;
  box-shadow: inset 0 0 0 1px rgb(23 107 72 / 8%), 0 10px 24px rgb(27 45 35 / 10%);
}
.landing-v16-calendar__entry.is-selected > img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 176px;
  aspect-ratio: 4 / 5;
  border-radius: 7px;
  object-fit: cover;
}
.landing-v16-calendar__entry.is-selected > div { padding: 9px 3px 3px; }
.landing-v16-calendar__entry.is-selected p { display: flex; gap: 5px; margin: 10px 0 0; }
.landing-v16-calendar__entry.is-selected i,
.landing-v16-release__channels i {
  display: inline-grid;
  min-width: 27px;
  height: 20px;
  padding: 0 5px;
  place-items: center;
  border-radius: 6px;
  background: #dceee4;
  color: #176b48;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
}
.landing-v16-release { padding: 18px; }
.landing-v16-release > p {
  margin: 0 0 14px;
  color: var(--green);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.landing-v16-release__material {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding-bottom: 17px;
  border-bottom: 1px solid #dfddd4;
}
.landing-v16-release__material img {
  display: block;
  width: 82px;
  height: auto;
  aspect-ratio: 4 / 5;
  border-radius: 9px;
  object-fit: cover;
}
.landing-v16-release__material span {
  color: var(--green);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.landing-v16-release__material h3 {
  margin: 7px 0 8px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(19px, 1.8vw, 25px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.025em;
}
.landing-v16-release__material small { color: #6e7972; font-size: 9px; }
.landing-v16-release__channels { display: grid; gap: 8px; margin-top: 15px; }
.landing-v16-release__channels > div {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 9px;
  padding: 10px;
  align-items: center;
  border: 1px solid #deddd4;
  border-radius: 10px;
  background: #f8f7f1;
}
.landing-v16-release__channels i { width: 34px; height: 28px; }
.landing-v16-release__channels i.is-max { background: #eee7f4; color: #67427e; }
.landing-v16-release__channels span b,
.landing-v16-release__channels span small { display: block; }
.landing-v16-release__channels span b { font-size: 10px; }
.landing-v16-release__channels span small { margin-top: 3px; color: #7c847f; font-size: 8px; }
.landing-v16-release__channels strong {
  color: #176b48;
  font-size: 8px;
  font-weight: 850;
}
.landing-v16-release footer {
  display: flex;
  min-height: 55px;
  margin-top: 15px;
  padding: 0 12px;
  align-items: center;
  gap: 10px;
  border-radius: 10px;
  background: #e7f1e5;
}
.landing-v16-release footer span b,
.landing-v16-release footer span small { display: block; }
.landing-v16-release footer span b { color: #155b3e; font-size: 10px; }
.landing-v16-release footer span small { margin-top: 3px; color: #647169; font-size: 8px; }
.landing-v16-autopost__benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 28px 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  list-style: none;
}
.landing-v16-autopost__benefits li {
  display: flex;
  min-height: 72px;
  padding: 0 20px;
  align-items: center;
  gap: 14px;
  border-right: 1px solid var(--line);
}
.landing-v16-autopost__benefits li:first-child { padding-left: 0; }
.landing-v16-autopost__benefits li:last-child { border-right: 0; }
.landing-v16-autopost__benefits span {
  color: var(--green);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 20px;
}
.landing-v16-autopost__benefits b { color: var(--ink); font-size: 11px; line-height: 1.4; }

@media (max-width: 1000px) {
  .landing-v16-autopost__workspace { grid-template-columns: 1fr; }
  .landing-v16-release__material { grid-template-columns: 96px minmax(0, 1fr); }
  .landing-v16-release__material img { width: 96px; }
}

@media (max-width: 800px) {
  .landing-v16-autopost__head { grid-template-columns: 1fr; gap: 18px; }
  .landing-v16-autopost__head > p { max-width: 620px; }
}

@media (max-width: 680px) {
  .landing-v16-autopost { margin: 72px -10px 0; padding: 30px 18px; border-radius: 18px; }
  .landing-v16-autopost__head { padding-bottom: 24px; }
  .landing-v16-autopost__head h2 { font-size: clamp(38px, 12vw, 50px); }
  .landing-v16-autopost__head > p { font-size: 13px; }
  .landing-v16-autopost__demo { margin-top: 24px; padding: 8px; border-radius: 15px; }
  .landing-v16-autopost__toolbar { min-height: 0; padding: 16px; align-items: flex-start; flex-direction: column; }
  .landing-v16-autopost__toolbar > div b { font-size: 27px; }
  .landing-v16-calendar > header { align-items: flex-start; flex-direction: column; justify-content: center; padding-top: 12px; padding-bottom: 12px; }
  .landing-v16-calendar__days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-v16-calendar__days > article:nth-child(1),
  .landing-v16-calendar__days > article:nth-child(4) { display: none; }
  .landing-v16-calendar__days > article { min-height: 310px; }
  .landing-v16-calendar__days > article:nth-child(3) { border-right: 0; }
  .landing-v16-release { padding: 15px; }
  .landing-v16-release__channels > div { grid-template-columns: 38px minmax(0, 1fr); }
  .landing-v16-release__channels strong { grid-column: 2; }
  .landing-v16-autopost__benefits { grid-template-columns: 1fr; }
  .landing-v16-autopost__benefits li,
  .landing-v16-autopost__benefits li:first-child { min-height: 58px; padding: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .landing-v16-autopost__benefits li:last-child { border-bottom: 0; }
}

/* Landing v17: the hero shows the whole promise from a business link to ready content. */
.landing-v3-hero--home h1 {
  max-width: 780px;
  font-size: clamp(42px, 2.8vw, 48px);
  line-height: 1.06;
}
.landing-v18-problem {
  max-width: 760px;
  margin: 0 0 24px;
  color: var(--ink);
  font-size: clamp(27px, 2vw, 32px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.landing-v17-stage { min-height: 620px; }
.landing-v17-stage::before { display: none; }
.landing-v17-stage .landing-v3-stage__halo {
  inset: 35px 0 22px 8%;
  border-radius: 45% 52% 46% 51%;
  background: linear-gradient(145deg, #dce9d8, #edf1e7);
}
.landing-v17-story { position: absolute; inset: 0; }
.landing-v17-source,
.landing-v17-result,
.landing-v17-scan {
  border: 1px solid var(--line);
  background: rgb(255 253 248 / 97%);
  box-shadow: 0 24px 58px rgb(35 42 35 / 13%);
}
.landing-v17-source {
  position: absolute;
  z-index: 2;
  top: 24px;
  left: 3%;
  width: min(520px, 76%);
  min-height: 134px;
  overflow: hidden;
  border-radius: 19px;
  transform: rotate(-1.2deg);
}
.landing-v17-source::before {
  position: absolute;
  inset: 0 0 auto;
  height: 57px;
  background: linear-gradient(135deg, #dbe8f8, #eaf1f8 55%, #dce9df);
  content: "";
}
.landing-v17-source__profile {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 36px 46px minmax(0, 1fr) auto;
  gap: 10px;
  padding: 19px 18px 15px;
  align-items: center;
}
.landing-v17-source__network,
.landing-v17-source__avatar {
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 850;
}
.landing-v17-source__network {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #087fff;
  font-size: 11px;
}
.landing-v17-source__avatar {
  width: 46px;
  height: 46px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--green-dark);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 20px;
}
.landing-v17-source__profile div { min-width: 0; }
.landing-v17-source__profile strong,
.landing-v17-source__profile small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.landing-v17-source__profile strong { font-size: 12px; }
.landing-v17-source__profile small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.landing-v17-source__profile > b {
  padding: 7px 9px;
  border-radius: 999px;
  background: rgb(255 255 255 / 82%);
  color: #586b60;
  font-size: 8px;
  white-space: nowrap;
}
.landing-v17-source__url {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 43px;
  padding: 0 18px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid #e0e5e2;
  background: #fff;
  color: #467aa9;
  font-size: 10px;
}
.landing-v17-source__url b {
  color: var(--green);
  font-size: 8px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.landing-v17-scan {
  position: absolute;
  z-index: 6;
  top: 171px;
  left: 34%;
  display: flex;
  min-width: 245px;
  min-height: 62px;
  padding: 10px 16px 10px 11px;
  align-items: center;
  gap: 10px;
  border-radius: 16px;
}
.landing-v17-scan::before,
.landing-v17-scan::after {
  position: absolute;
  left: 30px;
  width: 2px;
  background: #e38964;
  content: "";
}
.landing-v17-scan::before { top: -28px; height: 28px; }
.landing-v17-scan::after { bottom: -35px; height: 35px; }
.landing-v17-scan > span {
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  place-items: center;
  border-radius: 50%;
  background: var(--green-dark);
  color: #fff;
  font-size: 19px;
  font-weight: 850;
}
.landing-v17-scan strong,
.landing-v17-scan small { display: block; }
.landing-v17-scan strong { font-size: 12px; }
.landing-v17-scan small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.landing-v17-result {
  position: absolute;
  z-index: 4;
  top: 267px;
  right: 0;
  width: min(650px, 92%);
  min-height: 335px;
  overflow: hidden;
  border-radius: 24px;
}
.landing-v17-result > header {
  display: flex;
  min-height: 70px;
  padding: 14px 18px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--line);
}
.landing-v17-result > header span,
.landing-v17-result > header strong { display: block; }
.landing-v17-result > header span {
  color: var(--green);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.landing-v17-result > header strong {
  margin-top: 4px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.05;
}
.landing-v17-result > header > b {
  display: grid;
  min-width: 0;
  min-height: 32px;
  padding: 0 12px;
  place-items: center;
  border-radius: 999px;
  background: var(--green-dark);
  color: #fff;
  font-size: 11px;
  white-space: nowrap;
}
.landing-v17-result__body {
  display: grid;
  grid-template-columns: minmax(205px, .92fr) minmax(220px, 1.08fr);
  gap: 14px;
  min-height: 222px;
  padding: 14px;
  background: #f2f1e9;
}
.landing-v17-plan {
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 12px 28px rgb(35 42 35 / 8%);
}
.landing-v17-plan > span {
  color: var(--green);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.landing-v17-plan > strong {
  display: block;
  margin-top: 7px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.04;
}
.landing-v17-plan ul { margin: 11px 0 0; padding: 0; list-style: none; }
.landing-v17-plan li {
  padding: 7px 0;
  border-top: 1px solid var(--line);
  font-size: 8px;
  line-height: 1.3;
}
.landing-v17-plan li b {
  display: block;
  margin-bottom: 2px;
  color: var(--green);
  font-size: 7px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.landing-v17-materials { position: relative; min-width: 0; min-height: 222px; }
.landing-v17-material {
  position: absolute;
  width: min(150px, 58%);
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 16px 32px rgb(35 42 35 / 14%);
}
.landing-v17-material img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.landing-v17-material figcaption {
  position: absolute;
  right: 7px;
  bottom: 7px;
  left: 7px;
  padding: 6px 7px;
  border-radius: 8px;
  background: rgb(255 253 248 / 91%);
  color: var(--green-dark);
  font-size: 8px;
  font-weight: 850;
  text-align: center;
  backdrop-filter: blur(8px);
}
.landing-v17-material--post { z-index: 1; top: 25px; left: 1%; transform: rotate(-7deg); }
.landing-v17-material--carousel { z-index: 2; top: 4px; right: 1%; transform: rotate(5deg); }
.landing-v17-result > footer {
  display: flex;
  min-height: 43px;
  padding: 0 17px;
  align-items: center;
  gap: 8px;
  border-top: 1px solid var(--line);
  background: #fffdf8;
}
.landing-v17-result > footer span {
  padding: 5px 8px;
  border-radius: 999px;
  background: #e7efe5;
  color: var(--green-dark);
  font-size: 8px;
  font-weight: 800;
}
.landing-v17-result > footer b { margin-left: auto; color: var(--green); font-size: 9px; }

@media (min-width: 901px) {
  .landing-v3-hero--home { min-height: auto; padding-top: 0; padding-bottom: 20px; }
  .landing-v3-hero--home + .landing-v14-process { margin-top: 36px; }
  .landing-v3-hero--home .landing-v3-submit { padding-right: 18px; padding-left: 18px; font-size: 13px; }
}

@media (min-width: 1180px) {
  .landing-v3-hero--home {
    grid-template-columns: minmax(560px, 1.02fr) minmax(0, .98fr);
    gap: clamp(36px, 3vw, 54px);
  }
}

@media (max-width: 1179px) and (min-width: 901px) {
  .landing-v17-source { width: 84%; }
  .landing-v17-source__profile { grid-template-columns: 36px 46px minmax(0, 1fr); }
  .landing-v17-source__profile > b { display: none; }
}

@media (max-width: 620px) {
  .landing-v3-hero--home h1 { font-size: clamp(34px, 10vw, 40px); }
  .landing-v18-problem { margin-bottom: 18px; font-size: 22px; }
  .landing-v17-stage { min-height: 575px; margin-top: 20px; }
  .landing-v17-stage .landing-v3-stage__halo { inset: 24px 0 18px; }
  .landing-v17-source { top: 0; left: 0; width: 94%; min-height: 124px; border-radius: 16px; }
  .landing-v17-source__profile { grid-template-columns: 32px 42px minmax(0, 1fr); gap: 8px; padding: 15px 13px 13px; }
  .landing-v17-source__network { width: 32px; height: 32px; border-radius: 9px; font-size: 10px; }
  .landing-v17-source__avatar { width: 42px; height: 42px; font-size: 18px; }
  .landing-v17-source__profile > b { display: none; }
  .landing-v17-source__url { min-height: 40px; padding: 0 13px; font-size: 9px; }
  .landing-v17-source__url b { font-size: 7px; }
  .landing-v17-scan { top: 145px; left: 12%; min-width: 220px; min-height: 57px; }
  .landing-v17-scan::before { top: -22px; height: 22px; }
  .landing-v17-scan::after { bottom: -27px; height: 27px; }
  .landing-v17-scan > span { width: 36px; height: 36px; flex-basis: 36px; font-size: 17px; }
  .landing-v17-result { top: 229px; width: 100%; min-height: 330px; border-radius: 18px; }
  .landing-v17-result > header { min-height: 62px; padding: 12px 13px; }
  .landing-v17-result > header strong { font-size: 17px; }
  .landing-v17-result__body { grid-template-columns: minmax(135px, .92fr) minmax(145px, 1.08fr); gap: 9px; min-height: 218px; padding: 9px; }
  .landing-v17-plan { padding: 11px; border-radius: 11px; }
  .landing-v17-plan > strong { font-size: 18px; }
  .landing-v17-plan li { padding: 6px 0; font-size: 7px; }
  .landing-v17-materials { min-height: 218px; }
  .landing-v17-material { width: min(110px, 68%); border-radius: 10px; }
  .landing-v17-material figcaption { font-size: 7px; }
  .landing-v17-material--post { top: 31px; left: 0; }
  .landing-v17-material--carousel { top: 7px; right: 0; }
  .landing-v17-result > footer { min-height: 42px; padding: 0 11px; }
  .landing-v17-result > footer span:first-child { display: none; }
  .landing-v17-result > footer b { font-size: 8px; }
}
