/* Local Google Fonts face is reserved for the owner-approved trial display text. */
@font-face {
  font-family: "Fira Sans Extra Condensed";
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url("assets/fonts/fira-sans-extra-condensed-black-italic.ttf") format("truetype");
}
/* Landing values reuse the Workado/B24 design-system tokens. */
:root{--landing-max:1240px}html{scroll-behavior:smooth}body{overflow-x:hidden;color:var(--ui-text-high)}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(calc(100% - 48px),var(--landing-max));margin:auto}.topbar{background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}.topbar-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:182px}.topbar nav{display:flex;gap:32px;color:var(--ui-text-medium);font-size:14px;font-weight:500}.topbar nav a:hover,.text-link:hover,footer a:hover{color:var(--ui-primary)}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:10px 20px;border-radius:var(--ui-control-radius);background:var(--ui-primary);color:#fff;font-weight:600;box-shadow:0 4px 10px rgb(var(--ui-primary-rgb)/24%);border:1px solid var(--ui-primary);transition:background .15s,transform .15s}.button:hover{background:var(--ui-primary-hover);transform:translateY(-1px);color:#fff}.button-outline{background:var(--ui-surface);box-shadow:none;color:var(--ui-primary)}.button-outline:hover{background:var(--ui-primary-soft);color:var(--ui-primary)}.hero{min-height:630px;padding-top:82px;padding-bottom:82px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:56px}.eyebrow,.kicker{font-size:12px;font-weight:700;letter-spacing:.09em;color:var(--ui-primary);text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:9px;background:var(--ui-primary-soft);padding:9px 12px;border-radius:var(--ui-control-radius);letter-spacing:.03em;text-transform:none}.dot{width:7px;height:7px;border-radius:50%;background:var(--ui-primary)}h1,h2,h3,p{margin-top:0}h1{max-width:650px;font-size:clamp(40px,4.3vw,62px);line-height:1.07;letter-spacing:-.035em;margin:24px 0}.lead{font-size:18px;line-height:1.65;color:var(--ui-text-medium);max-width:610px;margin-bottom:28px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.text-link{font-weight:600;color:var(--ui-primary)}.hero-foot{display:flex;gap:20px;margin-top:40px;color:var(--ui-text-secondary);font-size:13px}.hero-foot span+span{border-left:1px solid var(--ui-border-strong);padding-left:20px}.hero-art{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-card-radius);padding:24px;box-shadow:var(--ui-shadow-raised);position:relative}.diagram-top,.diagram-bottom,.window-head,.source,.window-brand{display:flex;align-items:center}.diagram-top,.diagram-bottom{justify-content:space-between}.diagram-label{font-size:14px;font-weight:700}.mini-tag{font-size:11px;color:var(--ui-text-secondary);background:var(--ui-background);padding:5px 8px;border-radius:var(--ui-control-radius)}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.source{flex-wrap:wrap;gap:10px;border:1px solid var(--ui-border);border-radius:var(--ui-card-radius);padding:14px;min-width:0}.source-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--ui-control-radius);font-weight:700;font-size:18px}.source strong,.source small{display:block}.source small{font-size:12px;color:var(--ui-text-secondary)}.source-message{width:100%;font-size:12px;color:var(--ui-text-medium);background:var(--ui-background);padding:8px;border-radius:var(--ui-control-radius);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow{display:flex;align-items:center;justify-content:center;gap:10px;height:76px}.flow>span{height:1px;background:var(--ui-border-strong);flex:1}.flow-pill{font-size:11px;color:var(--ui-primary);font-weight:600;background:var(--ui-primary-soft);padding:7px 10px;border-radius:var(--ui-control-radius);white-space:nowrap}.bitrix-window{border:1px solid var(--ui-border);border-radius:var(--ui-card-radius);overflow:hidden}.window-head{justify-content:space-between;padding:13px 16px;background:var(--ui-background);border-bottom:1px solid var(--ui-border)}.window-brand{gap:10px}.b24-mark{width:38px;height:38px;background:var(--ui-primary);color:#fff;border-radius:var(--ui-control-radius);display:grid;place-items:center;font-size:18px;font-weight:700}.window-brand strong,.window-brand small{display:block}.window-brand strong{font-size:13px}.window-brand small{font-size:11px;color:var(--ui-text-secondary)}.window-dots{color:var(--ui-text-secondary);letter-spacing:2px}.chat-row{display:flex;gap:10px;padding:16px 16px 0}.avatar{width:30px;height:30px;flex:none;border-radius:50%;background:var(--ui-primary-soft);color:var(--ui-primary);display:grid;place-items:center;font-size:12px;font-weight:700}.bubble{max-width:82%;padding:9px 12px;border-radius:var(--ui-control-radius);background:var(--ui-background)}.bubble small,.bubble strong{display:block}.bubble small{color:var(--ui-text-secondary);font-size:11px}.bubble strong{font-size:12px;margin-top:3px}.second .avatar{background:var(--ui-info-soft);color:var(--ui-info)}.reply{margin:18px 16px 16px;border:1px solid var(--ui-border-strong);color:var(--ui-text-secondary);font-size:12px;padding:11px 12px;border-radius:var(--ui-control-radius);display:flex;justify-content:space-between}.reply span{color:var(--ui-primary)}.diagram-bottom{gap:8px;margin-top:18px;color:var(--ui-text-secondary);font-size:11px;justify-content:flex-start}.diagram-bottom img{width:18px}.section{padding-top:88px;padding-bottom:88px}.section-tint{background:var(--ui-surface)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section-head h2,.bonus h2,.contact-copy h2{font-size:clamp(30px,3.1vw,42px);line-height:1.18;letter-spacing:-.025em;margin:12px 0 0}.section-head p{max-width:350px;color:var(--ui-text-secondary);margin:0 0 4px}.card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-card-radius);box-shadow:0 2px 8px rgb(20 48 65 / 7%);padding:24px}.audience h3{font-size:19px;line-height:1.3;margin:0 0 10px}.audience p,.step p{font-size:14px;line-height:1.6;color:var(--ui-text-medium);margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.step{border-top:2px solid var(--ui-primary-soft);padding-top:18px}.step span{color:var(--ui-primary);font-weight:700;font-size:14px}.step h3{font-size:18px;margin:18px 0 9px}.audience{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.audience .card{min-height:230px}.icon-tile{width:42px;height:42px;border-radius:var(--ui-control-radius);display:grid;place-items:center;background:var(--ui-primary-soft);color:var(--ui-primary);font-size:22px;margin-bottom:28px}.bonus{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:48px;background:var(--ui-primary-soft);padding:44px;border-radius:var(--ui-card-radius)}.bonus p{color:var(--ui-text-medium);max-width:560px;margin:16px 0 26px}.checklist-preview{background:var(--ui-surface);border-radius:var(--ui-card-radius);padding:22px;box-shadow:var(--ui-shadow-card)}.checklist-preview div{padding:13px 4px;border-bottom:1px solid var(--ui-border);font-size:14px;font-weight:500}.checklist-preview div:last-child{border-bottom:0}.checklist-preview span{color:var(--ui-primary);margin-right:11px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-copy p{font-size:16px;color:var(--ui-text-medium);max-width:510px;margin:22px 0}.contact-note{display:flex;gap:12px;max-width:500px;background:var(--ui-primary-soft);padding:16px;border-radius:var(--ui-card-radius);font-size:13px;color:var(--ui-text-medium)}.contact-note span{color:var(--ui-primary);font-weight:700}.contact-form{padding:30px;box-shadow:var(--ui-shadow-card)}.contact-form h3{font-size:22px;margin-bottom:20px}.contact-form label{display:block;font-size:13px;font-weight:600;margin:15px 0 7px}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid var(--ui-border-strong);border-radius:var(--ui-control-radius);background:var(--ui-surface);padding:12px;color:var(--ui-text-high);font:inherit;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--ui-primary);outline-offset:1px}.contact-form .button{width:100%;margin-top:20px;cursor:pointer}.form-hint{font-size:11px;color:var(--ui-text-secondary);margin:13px 0 0}footer{background:var(--ui-surface);border-top:1px solid var(--ui-border)}.footer-inner{display:flex;align-items:center;gap:12px;min-height:78px;font-size:12px;color:var(--ui-text-secondary)}.footer-inner img{width:22px}.footer-inner a{margin-left:auto}a:focus-visible,button:focus-visible{outline:2px solid var(--ui-primary);outline-offset:3px}
@media(max-width:1020px){.hero{grid-template-columns:1fr;gap:36px;padding-top:64px;padding-bottom:64px}.hero-copy{max-width:760px}.hero-art{max-width:660px;width:100%;margin:auto}.steps{grid-template-columns:repeat(2,1fr)}.contact-section{gap:36px}}
@media(max-width:680px){.container{width:min(calc(100% - 32px),var(--landing-max))}.topbar-inner{height:68px}.brand img{width:146px}.topbar nav{display:none}.header-cta{font-size:11px;min-height:38px;padding:7px 9px}.hero{padding-top:48px;padding-bottom:56px;min-height:auto}.eyebrow{font-size:10px}h1{font-size:38px;line-height:1.12}.lead{font-size:16px}.hero-actions{align-items:stretch;gap:16px}.hero-actions .button{width:100%}.hero-foot{display:block;margin-top:28px}.hero-foot span{display:block}.hero-foot span+span{border:0;padding:0;margin-top:7px}.hero-art{padding:16px}.source-grid{gap:8px}.source{padding:9px;gap:6px}.source-icon{width:30px;height:30px;font-size:16px}.source strong{font-size:12px}.source-message{font-size:10px}.flow-pill{font-size:10px}.section{padding-top:64px;padding-bottom:64px}.section-head{display:block}.section-head h2,.bonus h2,.contact-copy h2{font-size:31px}.section-head p{margin-top:14px}.steps,.audience,.bonus,.contact-section{grid-template-columns:1fr}.step{padding-bottom:8px}.audience .card{min-height:0}.bonus{padding:26px;gap:26px}.contact-section{gap:28px}.contact-form{padding:22px}}
@media(max-width:360px){.header-cta{font-size:10px}.brand img{width:126px}h1{font-size:34px}.source-message{font-size:9px}}

/* Brand-colored artwork stays behind the hero copy and routing diagram. */
.hero { position: relative; isolation: isolate; }
.hero::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
  pointer-events: none;
  background: url("assets/hero-abstract.svg?v=20261005-vivid") center / cover no-repeat;
}
.source-icon img { width: 100%; height: 100%; object-fit: contain; }
.b24-mark { background: transparent; overflow: hidden; }
.b24-mark img { width: 100%; height: 100%; object-fit: cover; }

/* Native dialog supplies focus trapping and Escape; styles use the existing tokens. */
.checklist-dialog {
  width: min(620px, calc(100vw - 32px));
  max-height: min(90vh, 780px);
  padding: 24px;
  overflow: auto;
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-card-radius);
  background: var(--ui-surface);
  color: var(--ui-text-high);
  box-shadow: var(--ui-shadow-raised);
}
.checklist-dialog::backdrop { background: rgb(20 48 65 / 50%); }
.dialog-header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.dialog-header h2 { font-size: 30px; line-height: 1.2; margin: 8px 0 0; }
button.dialog-close {
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  border: 0;
  background: var(--ui-background);
  box-shadow: none;
  color: var(--ui-text-medium);
  font-size: 26px;
  line-height: 1;
}
button.dialog-close:hover:not(:disabled) { background: var(--ui-primary-soft); color: var(--ui-primary); transform: none; box-shadow: none; }
.checklist-dialog > p { color: var(--ui-text-medium); font-size: 14px; margin: 16px 0; }
.checklist-dialog .checklist-progress { color: var(--ui-primary); font-weight: 700; }
.checklist-items { display: grid; gap: 8px; }
.checklist-items label {
  display: flex;
  align-items: start;
  gap: 12px;
  min-height: 56px;
  padding: 12px;
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-card-radius);
  cursor: pointer;
}
.checklist-items label:has(input:checked) { background: var(--ui-primary-soft); border-color: var(--ui-primary); }
.checklist-items input { width: 20px; height: 20px; margin: 1px 0 0; flex: none; accent-color: var(--ui-primary); }
.checklist-items strong, .checklist-items small { display: block; }
.checklist-items strong { font-size: 14px; }
.checklist-items small { margin-top: 3px; color: var(--ui-text-secondary); font-size: 12px; line-height: 1.4; }
.dialog-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.dialog-actions button.button-outline {
  background: var(--ui-surface);
  border: 1px solid var(--ui-primary);
  box-shadow: none;
  color: var(--ui-primary);
}
.dialog-actions button.button-outline:hover { background: var(--ui-primary-soft); }
@media (max-width: 680px) {
  .checklist-dialog { padding: 20px; }
  .dialog-actions { display: grid; }
  .dialog-actions .button { width: 100%; }
}

/* The hero explains the message route in one short sequence. */
@media (prefers-reduced-motion: no-preference) {
  .hero-copy .eyebrow,
  .hero-copy h1,
  .hero-copy .lead,
  .hero-copy .hero-actions,
  .hero-art .flow-pill,
  .hero-art .bitrix-window {
    animation: hero-reveal 320ms ease-out both;
  }

  .hero-copy h1 { animation-delay: 70ms; }
  .hero-copy .lead { animation-delay: 140ms; }
  .hero-copy .hero-actions { animation-delay: 210ms; }
  .hero-art .flow-pill { animation-delay: 380ms; }
  .hero-art .bitrix-window { animation-delay: 480ms; }

  @keyframes hero-reveal {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }


}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button { transition: none; }
  .button:hover { transform: none; }
}

.contact-form .consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5;margin-top:18px}
.contact-form .consent input{width:17px;height:17px;flex:none;margin:2px 0 0;accent-color:var(--ui-primary)}
.consent a,.legal-page a{color:var(--ui-primary);text-decoration:underline}
.website-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-form .button:disabled{opacity:.6;cursor:wait}
.footer-inner a{margin-left:0}.footer-inner a:first-of-type{margin-left:auto}
.legal-page{max-width:820px;padding-top:72px;padding-bottom:92px;line-height:1.65}
.legal-page h1{font-size:clamp(32px,4vw,46px);line-height:1.18}
.legal-page h2{font-size:24px;margin:32px 0 10px}
.legal-page p{color:var(--ui-text-medium)}
@media(max-width:680px){.footer-inner{flex-wrap:wrap;gap:10px;padding:18px 0}.footer-inner a:first-of-type{margin-left:0}.legal-page{padding-top:48px;padding-bottom:64px}}

/* A fixed conversation area keeps the diagram still throughout the loop. */
.hero-art .chat-messages { min-height: 156px; position: relative; }
.hero-art .chat-row { transition: opacity 200ms ease-out; }
.hero-art[data-stage="empty"] .chat-row,
.hero-art[data-stage="signal"] .chat-row,
.hero-art[data-stage="transfer"] .chat-row,
.hero-art[data-stage="typing"] .manager-answer { opacity: 0; }
.hero-art[data-stage="fade"] .chat-messages { opacity: 0; transition: opacity 400ms ease-out; }
.hero-art[data-stage="signal"][data-channel="telegram"] .source[data-channel="telegram"],
.hero-art[data-stage="signal"][data-channel="max"] .source[data-channel="max"] { animation: source-signal 500ms ease-in-out 2; }
@keyframes source-signal {
  50% { background: var(--ui-primary-soft); border-color: var(--ui-primary); box-shadow: 0 0 0 4px rgb(var(--ui-primary-rgb) / 12%); }
}
.message-orb { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--ui-primary); z-index: 2; pointer-events: none; }
.manager-typing { position: absolute; left: 56px; top: 88px; display: flex; gap: 4px; }
.manager-typing[hidden] { display: none; }
.manager-typing span { width: 6px; height: 6px; border-radius: 50%; background: var(--ui-text-secondary); animation: manager-dot 900ms ease-in-out infinite; }
.manager-typing span:nth-child(2) { animation-delay: 150ms; }
.manager-typing span:nth-child(3) { animation-delay: 300ms; }
@keyframes manager-dot { 0%, 60%, 100% { opacity: .3; } 30% { opacity: 1; } }
.hero-art .reply .reply-text { color: var(--ui-text-secondary); }
.hero-art[data-stage="typing"] .reply-text { color: var(--ui-text-high); }
.hero-art[data-stage="typing"] .reply-text::after { content: "|"; color: var(--ui-primary); animation: manager-dot 700ms infinite; }
@media (prefers-reduced-motion: reduce) {
  .hero-art .chat-row { transition: none; }
  .hero-art .manager-typing, .hero-art .message-orb { display: none; }
}

.hero-art .manager-answer strong { font-weight: 400; }
.hero-art .manager-answer strong b { font-weight: 700; }

/* Open two-column composition: the particle field tells the same story as the copy. */
.why-section { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.why-visual { min-width: 0; position: relative; }
.why-channels { display: flex; justify-content: center; gap: 24px; color: var(--ui-text-secondary); font-size: 12px; }
.why-channels span { display: flex; align-items: center; gap: 8px; }
.why-particles { width: 100%; display: block; overflow: visible; }
.particle-nodes { fill: var(--ui-primary); }
.particle-links { stroke: var(--ui-primary); stroke-width: .7; fill: none; }
.why-visual-caption { display: flex; justify-content: center; align-items: center; gap: 8px; color: var(--ui-text-secondary); font-size: 12px; }
.why-status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ui-primary); }
.why-copy h2 { font-size: clamp(30px,3.1vw,42px); line-height: 1.18; letter-spacing: -.025em; margin: 16px 0 20px; }
.why-intro { font-size: 16px; line-height: 1.65; color: var(--ui-text-medium); margin-bottom: 28px; }
.why-benefits article { display: flex; gap: 16px; padding: 20px 0; border-top: 1px solid var(--ui-border); }
.why-benefits article:last-child { padding-bottom: 0; }
.why-benefit-number { color: var(--ui-primary); font-size: 12px; font-weight: 600; padding-top: 3px; }
.why-benefits h3 { font-size: 17px; line-height: 1.4; margin: 0 0 8px; }
.why-benefits p { color: var(--ui-text-secondary); font-size: 14px; line-height: 1.6; margin: 0; }
@media (max-width: 1020px) { .why-section { gap: 32px; } }
@media (max-width: 680px) {
  .why-section { grid-template-columns: 1fr; gap: 40px; }
  .why-visual { max-width: 440px; width: 100%; margin: auto; }
  .why-copy h2 { font-size: 31px; }
}

/* Keep the cabinet label intact and let the existing logo scale on narrow screens. */
.topbar .brand { min-width: 0; }
.header-cta { flex-shrink: 0; white-space: nowrap; }
.header-cta svg { flex-shrink: 0; }
.footer-inner { flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; padding: 24px; }
.footer-seller { display: flex; align-items: center; gap: 16px; flex: 1 1 360px; min-width: 0; line-height: 1.65; }
.footer-seller img { flex-shrink: 0; }
.footer-contacts { display: flex; flex-wrap: wrap; gap: 12px; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 24px; align-items: center; margin-left: auto; }
.footer-inner .footer-seller a, .footer-inner .footer-links a { margin-left: 0; }

/* Stack navigation below the seller when the desktop groups no longer fit. */
@media (max-width: 680px) {
  .footer-inner { padding: 24px 0; }
  .footer-seller { flex-basis: 100%; }
  .footer-links { justify-content: flex-start; margin-left: 0; gap: 16px; }
}

/* Public prices mirror the verified catalogue snapshot; manager seats are shared. */
.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pricing-label { display: flex; align-items: center; gap: 12px; color: var(--ui-primary); }
.pricing-label h3 { margin: 0; font-size: 22px; color: var(--ui-text-high); }
.pricing-card p { margin: 20px 0 24px; font-size: 14px; color: var(--ui-text-medium); }
.pricing-amount { font-size: 32px; line-height: 1.2; font-weight: 700; }
.pricing-amount span { font-size: 14px; font-weight: 400; color: var(--ui-text-secondary); }
.pricing-year { margin-top: 12px; font-size: 14px; color: var(--ui-text-medium); }
.pricing-summary { display: flex; align-items: center; gap: 32px; margin-top: 24px; padding: 24px; background: var(--ui-primary-soft); border-radius: var(--ui-card-radius); }
.pricing-summary h3 { margin: 0 0 12px; font-size: 18px; }
.pricing-summary p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--ui-text-medium); }
.pricing-summary .button { flex-shrink: 0; }
@media (max-width: 680px) {
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-summary { flex-direction: column; align-items: stretch; gap: 24px; }
}

/* Give the pricing section depth using the existing palette and elevation tokens. */
.pricing-section { background: linear-gradient(120deg, var(--brand-navy), var(--brand-blue)); border-block: 1px solid var(--ui-border); }
.pricing-section .section-head { display: block; }
.pricing-section .section-head h2 { max-width: 760px; }
.pricing-section .section-head p { max-width: 680px; margin: 20px 0 0; line-height: 1.65; }
.pricing-card { box-shadow: var(--ui-shadow-raised); border-top: 2px solid var(--ui-primary); transition: box-shadow .15s; }
.pricing-card:hover { box-shadow: var(--ui-shadow-card); }
.pricing-summary { background: #fff; border: 1px solid var(--ui-border); box-shadow: var(--ui-shadow-card); }
.pricing-note { margin: 20px 0 0; max-width: 840px; color: var(--ui-text-secondary); font-size: 13px; line-height: 1.65; }
@media (prefers-reduced-motion: reduce) { .pricing-card { transition: none; } }

/* Approved brand palette: warm highlights and layered light surfaces. */
:root { --brand-ink: #0c0f1e; --brand-navy: #143041; --brand-blue: #214f5f; --brand-earth: #6b504c; --brand-orange: #e2773a; --brand-yellow: #ffcb68; --brand-peach: #fff0e5; }
body { background: var(--ui-background); }
h1 { color: var(--brand-ink); }
.hero-art { background: #fff; box-shadow: 0 20px 48px rgb(20 48 65 / 14%), 0 3px 8px rgb(107 80 76 / 8%); border-top: 3px solid var(--brand-orange); }
.source { background: #fff; }
.window-head { background: var(--brand-navy); color: #fff; }
.window-brand small, .window-dots { color: #dce6e9; }
.bitrix-window { background: #fff; }
.why-visual { background: transparent; border: 0; }
.why-benefit-number { color: var(--brand-earth); }
.section-tint:not(.pricing-section) { background: linear-gradient(120deg, var(--brand-navy), var(--brand-blue)); }
.section-tint:not(.pricing-section) h2, .section-tint:not(.pricing-section) h3, .section-tint:not(.pricing-section) p { color: #fff; }
.section-tint:not(.pricing-section) .kicker { color: var(--brand-yellow); }
.step > span { background: var(--brand-yellow); color: var(--brand-navy); }
.audience .card { border-top: 3px solid var(--brand-blue); }
.audience .card:nth-child(2) { border-top-color: var(--brand-orange); }
.audience .card:nth-child(2) .icon-tile { background: var(--brand-peach); color: var(--brand-earth); }
.audience .card:nth-child(3) { border-top-color: var(--brand-yellow); }
.checklist-section { background: linear-gradient(120deg, var(--brand-orange), var(--brand-yellow)); }
.bonus { background: transparent; padding: 0; border-radius: 0; }
.bonus h2, .bonus p, .bonus .kicker { color: var(--brand-ink); }

.contact-form { border-top: 3px solid var(--brand-orange); }

/* Saturated warm sections use navy text for contrast, without blending blue into yellow. */
.hero-copy .lead, .hero-foot, .hero-copy .text-link, .hero-copy .text-link:hover { color: var(--brand-ink); }

/* Pricing copy sits directly on the dark gradient; white cards retain their dark text. */
.pricing-section .section-head h2, .pricing-section .section-head p, .pricing-section .pricing-note { color: #fff; }
.pricing-section .section-head .kicker { color: var(--brand-yellow); }

/* Owner-approved editorial landing: ember light, white copy, sculptural portrait. */
.landing-editorial {
  --ember-dark: #8b2006;
  --ember-mid: #bc3500;
  --ember-light: #e65400;
  --ember-glow: #ff921a;
  --ember-surface: radial-gradient(ellipse at 57% 95%, #f47a00, transparent 50%), radial-gradient(ellipse at 92% 20%, #e65400, transparent 55%), linear-gradient(125deg, #8b2006, #bc3500 54%, #d94900);
  --ember-elevation: 0 24px 56px rgb(69 13 0 / 24%), 0 0 40px rgb(255 155 54 / 18%);
}
.landing-editorial .topbar { background: var(--ember-dark); border-bottom: 1px solid rgb(255 255 255 / 16%); color: #fff; }
.landing-editorial .brand img { filter: brightness(0) invert(1); }
.landing-editorial .topbar nav, .landing-editorial .topbar nav a:hover { color: #fff; }
.landing-editorial .header-cta { color: #fff; background: rgb(255 255 255 / 8%); border-color: rgb(255 255 255 / 40%); }
.landing-editorial .header-cta:hover { background: rgb(255 255 255 / 18%); }
.hero-surface { background: var(--ember-surface); overflow: hidden; color: #fff; }
.landing-editorial .hero { min-height: 820px; padding-block: 64px; grid-template-columns: 40% 34%; gap: 26%; align-items: start; }
.landing-editorial .hero::before { background: none; width: 640px; height: 640px; top: -390px; left: 56%; bottom: auto; border: 1px solid rgb(255 255 255 / 10%); border-radius: 50%; box-shadow: 0 0 0 100px rgb(255 255 255 / 3%); }
.landing-editorial .hero-copy { position: relative; z-index: 3; min-width: 0; }
.landing-editorial .hero-copy h1 { color: #fff; font-size: clamp(42px, 4.1vw, 60px); line-height: 1.06; }
.landing-editorial .hero-copy .lead { color: #fff; font-size: 17px; line-height: 1.65; }
.landing-editorial .hero-copy .eyebrow { color: #fff; background: rgb(255 255 255 / 10%); border: 1px solid rgb(255 255 255 / 20%); }
.landing-editorial .dot { background: #fff; box-shadow: 0 0 12px rgb(255 255 255 / 65%); }
.landing-editorial .hero-foot, .landing-editorial .hero-copy .text-link, .landing-editorial .hero-copy .text-link:hover { color: #fff; }
.landing-editorial .hero-foot span + span { border-color: rgb(255 255 255 / 28%); }
.landing-editorial .hero-actions { gap: 20px; }
.landing-editorial .hero-actions .button, .landing-editorial .bonus .button {
  background: #fff; color: var(--ember-dark); border-color: #fff;
  box-shadow: 0 0 36px rgb(255 209 161 / 45%), 0 8px 24px rgb(76 15 0 / 16%);
}
.landing-editorial .hero-actions .button:hover, .landing-editorial .bonus .button:hover { background: #fff2e8; color: var(--ember-dark); }
.hero-person { position: absolute; z-index: 1; left: 30%; top: 124px; bottom: 0; width: 480px; pointer-events: none; }
.hero-person img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.landing-editorial .hero-art { min-width: 0; width: 100%; margin: 20px 0 0; z-index: 2; padding: 20px; border: 1px solid rgb(255 255 255 / 85%); box-shadow: var(--ember-elevation); color: var(--ui-text-high); }
.landing-editorial .source-grid { gap: 8px; }
.landing-editorial .source { padding: 10px; }
.landing-editorial .flow { height: 56px; }
.landing-editorial .diagram-bottom { align-items: start; line-height: 1.5; }
.landing-editorial .hero-art .flow-pill { background: #fff0e5; color: var(--ember-dark); }
/* Apply the same illuminated surface to the former yellow-gradient section. */
.landing-editorial .checklist-section { background: var(--ember-surface); color: #fff; }
.landing-editorial .bonus h2, .landing-editorial .bonus p, .landing-editorial .bonus .kicker { color: #fff; }
.landing-editorial .checklist-preview { color: var(--ui-text-high); border: 1px solid rgb(255 255 255 / 85%); box-shadow: var(--ember-elevation); }
.landing-editorial .contact-note { background: linear-gradient(rgb(69 13 0 / 28%), rgb(69 13 0 / 28%)), var(--ember-surface); color: #fff; box-shadow: var(--ember-elevation); }
.landing-editorial .contact-note span { color: #fff; }
.landing-editorial :is(.pricing-card, .pricing-summary, .contact-form, .audience .card) { box-shadow: var(--ui-shadow-raised), 0 0 32px rgb(230 95 8 / 14%); }
.landing-editorial :is(.hero-surface, .topbar, .checklist-section) :is(a, button):focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 1100px) {
  /* Portrait has its own grid cell: it cannot cover either copy or chat controls. */
  .landing-editorial .hero { min-height: auto; grid-template-columns: .8fr 1fr; grid-template-areas: "copy copy" "portrait chat"; gap: 40px 24px; padding-block: 48px 0; align-items: end; }
  .landing-editorial .hero-copy { grid-area: copy; max-width: 780px; }
  .landing-editorial .hero-copy h1 { max-width: 740px; }
  /* Natural image ratio, full-bleed left and flush with the hero's lower edge. */
  .hero-person { grid-area: portrait; position: relative; left: auto; top: auto; bottom: auto; width: calc(100% + 24px); margin-left: -24px; align-self: end; }
  .hero-person img { height: auto; object-fit: contain; }
  .landing-editorial .hero-art { grid-area: chat; margin: 0 0 48px; max-width: none; align-self: start; }
}
@media (max-width: 680px) {
  .landing-editorial .hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "portrait" "chat"; gap: 0; padding-block: 36px 48px; }
  .landing-editorial .hero-copy h1 { font-size: clamp(34px, 9vw, 46px); }
  .landing-editorial .hero-copy .lead { font-size: 16px; }
  .landing-editorial .hero-copy .eyebrow { font-size: 10px; }
  .landing-editorial .hero-foot { margin-top: 24px; }
  /* The portrait reaches both screen edges and ends exactly where the chat starts. */
  .hero-person { width: calc(100% + 32px); margin: 24px -16px 0; }
  .landing-editorial .hero-art { padding: 16px; margin: 0; }
  .landing-editorial .hero-art .source { padding: 8px; }
  .landing-editorial .header-cta { min-height: 44px; }
  .landing-editorial .bonus { padding: 0; }
}

/* Trial promotion uses the hero surface with white copy and layered display type. */
.trial-promo {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 32px;
  margin: 28px 0; padding: 32px;
  border: 1px solid rgb(255 255 255 / 32%); border-radius: var(--ui-card-radius);
  color: #fff; background: linear-gradient(rgb(69 13 0 / 28%), rgb(69 13 0 / 28%)), var(--ember-surface); box-shadow: var(--ember-elevation);
}
.trial-promo[hidden] { display: none; }
.trial-promo-kicker { display: block; margin-bottom: 12px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
/* Black extrusion and white sticker edge follow the reference; the surface stays unchanged. */
.trial-promo-title strong {
  display: grid; width: max-content; max-width: 100%; margin: 20px 0 16px 8px;
  font-family: "Fira Sans Extra Condensed", Roboto, sans-serif; font-style: italic;
  font-size: clamp(54px, 7vw, 96px); font-weight: 900; line-height: .95;
  text-transform: uppercase; color: var(--ui-accent, #FFCB68);
  transform: rotate(-3deg); transform-origin: left center;
  paint-order: stroke fill; -webkit-text-stroke: 10px #000;
  text-shadow: 2px 2px 0 #000, 4px 4px 0 #000, 6px 6px 0 #000, 8px 8px 0 #000, 10px 10px 0 #000;
  filter: drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff);
}
.trial-promo-details p { margin: 0; font-size: 18px; font-weight: 500; line-height: 1.5; color: #fff; }
.trial-promo-details p + p { margin-top: 12px; font-size: 14px; font-weight: 400; }
@media (max-width: 680px) {
  .trial-promo { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 24px; }
  .trial-promo-title strong { font-size: clamp(42px, 13vw, 64px); -webkit-text-stroke-width: 7px; }
  .trial-promo-details p { font-size: 16px; }
}

.contact-max-link{align-items:center;max-width:none;margin-bottom:16px;font-size:16px}
.contact-max-link img{flex:none}
.contact-max-link:hover{filter:brightness(1.06)}
.contact-fields-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.contact-fields-row input{min-width:0}
