/* Original composition is preserved. Only brand, contrast and CRM integration. */
:root { color-scheme:dark; }
.section-light { --red:#357a16; --red-bright:#2b6b13; }
.header-cta,.button-primary,.print-card-name,.step-card-red { color:#080b13; }
.mobile-chat-cta { color:#080b13; }
.step-card-red p { color:rgba(8,11,19,.8); }
.step-card-red .step-number,.film-tag-red { color:#080b13; }
.scope-list li:is(:hover,:focus-visible,.is-active),.scope-list li:is(:hover,:focus-visible,.is-active)::after { color:#080b13; }
.lead-dialog-close:focus-visible { color:#080b13; }
.section-light .button-primary { background:#80d944; color:#080b13; }
.section-light .button-primary:hover { background:#a9ff63; }
.impulse-logo { display:block; width:210px; height:auto; object-fit:contain; }
.brand-lockup { padding:12px 15px; }
.role-identity { display:flex; align-items:center; gap:15px; height:68px; margin-bottom:26px; }
.role-identity .impulse-logo { width:min(100%,300px); height:auto; object-fit:contain; }
.role-identity strong { font-size:clamp(22px,2.4vw,36px); font-weight:900; letter-spacing:-.05em; }
.role-identity-print { color:#080b13; }
.footer-brand-logo { display:block; width:220px; height:auto; margin-bottom:12px; }
.proof-tall img[src$="guest-tote.webp"] { object-position:20% center; }
.format-card-main img[src$="press-operator.webp"] { object-position:62% center; }
.gallery-stage img[src$="guest-tote.webp"],.gallery-stage img[src$="hoodie-print.webp"] { object-fit:contain; }
.footer-links { flex-wrap:wrap; max-width:470px; }
.footer-inner { grid-template-columns:1fr 1fr minmax(0,1.3fr); }
.impulse-contact-label { font-size:12px; font-weight:800; text-transform:uppercase; color:var(--muted); }
.impulse-dialog-phone { padding:15px 16px; display:block; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.2); border-radius:13px; font-size:24px; font-weight:800; }
.popup-form>.button { width:100%; }
.impulse-form-note { margin:18px 0 0; font-size:12px; color:#565d68; line-height:1.7; overflow-wrap:anywhere; }
.impulse-form-note a { text-decoration:underline; text-underline-offset:3px; }
.impulse-crm-card { padding:18px; min-width:0; }
.bitrix-form-state { padding:25px 10px; color:#565d68; font-size:14px; }
.bitrix-form-mount.is-ready>.bitrix-form-state { display:none; }
.bitrix-form-fallback { padding:20px; color:#080b13; font-size:14px; }
.bitrix-form-fallback a { display:inline-block; padding:8px; margin:5px; background:#d9f4c5; border-radius:6px; }
.impulse-crm-card .b24-form-wrapper { box-shadow:none!important; background:transparent!important; }
.impulse-crm-card .b24-form-btn { background:#80d944!important; color:#080b13!important; border-radius:999px!important; }
.impulse-crm-card .b24-form-control { border-radius:13px!important; }
.impulse-crm-card .b24-form-header-title { color:#080b13!important; }
.feedback .impulse-crm-card h2 { font-size:24px; line-height:1.25; letter-spacing:-.03em; text-transform:none; margin:0; }
.legal-footer { padding-bottom:28px; }
@media(max-width:720px) { .brand-lockup .impulse-logo { width:170px; }.brand-lockup { padding:10px; }.footer-inner { grid-template-columns:1fr; }.footer-links { justify-content:flex-start; }.impulse-crm-card { padding:10px; }.impulse-dialog-phone { font-size:22px; } }
@media(max-width:350px) { .brand-lockup .impulse-logo { width:145px; }.header-cta { padding:9px; } }

/* Catalog entry points continue the approved landing typography and palette. */
.event-catalog { background:#121722; padding-block:88px; }
.event-catalog-heading { display:grid; grid-template-columns:1.35fr 1fr; gap:48px; align-items:end; }
.event-catalog-heading h2 { font-size:clamp(32px,4.4vw,68px); }
.event-catalog-heading h2 span { color:var(--red-bright); }
.event-catalog-intro { max-width:46ch; margin:0 0 4px; color:#c4c8d1; font-size:18px; line-height:1.6; }
.event-catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:44px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.event-catalog-card { display:flex; flex-direction:column; align-items:flex-start; padding:28px; min-width:0; transition:background .2s; }
.event-catalog-card + .event-catalog-card { border-left:1px solid var(--line); }
.event-catalog-card:hover,.event-catalog-card:focus-visible { background:#1d2832; }
.event-catalog-card:focus-visible { outline:3px solid var(--red-bright); outline-offset:-4px; }
.event-catalog-icon { width:72px; height:72px; margin-bottom:28px; padding:10px; border-radius:16px; background:var(--paper); }
.event-catalog-card h3 { margin:0 0 8px; font-size:clamp(19px,1.8vw,26px); line-height:1.15; letter-spacing:-.035em; }
.event-catalog-card p { margin:0 0 30px; color:#b4bbc7; font-size:14px; line-height:1.5; }
.event-catalog-go { display:flex; justify-content:space-between; gap:20px; width:100%; margin-top:auto; color:var(--red-bright); font-size:13px; font-weight:800; }
.event-catalog-bottom { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:28px; }
.event-catalog-bottom p { margin:0; color:#b4bbc7; font-size:14px; }
.event-catalog-bottom .button { flex-shrink:0; }
@media(max-width:1000px) { .event-catalog-heading { grid-template-columns:1fr; gap:24px; }.event-catalog-intro { max-width:65ch; }.event-catalog-card { padding:24px 18px; } }
@media(max-width:720px) { .event-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:30px; }.event-catalog-card:nth-child(3) { border-left:0; }.event-catalog-card:nth-child(n+3) { border-top:1px solid var(--line); }.event-catalog-card { padding:22px 16px; }.event-catalog-icon { width:60px; height:60px; margin-bottom:20px; }.event-catalog-card h3 { font-size:21px; }.event-catalog-card p { font-size:13px; margin-bottom:24px; }.event-catalog-intro { font-size:16px; }.event-catalog-bottom { align-items:flex-start; flex-direction:column; gap:20px; } }
@media(prefers-reduced-motion:reduce) { .event-catalog-card { transition:none; } }
