/* IFI · shared visual polish, October 2026. Keep existing routes and actions. */
:root { --ifi-focus: #c4b5fd; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--ifi-focus); outline-offset: 4px; }
.hero-description { color: #d2ccd9; }
.hero-benefits { color: #b2aaba; }
.hero-actions > a, .hero-actions > button { box-shadow: none !important; border-radius: 16px; }
.hero-title { letter-spacing: -.045em; line-height: 1.06; }
.hero-title .shiny-text { background: none !important; -webkit-text-fill-color: #c4a2f7; color: #c4a2f7; animation: none !important; }
.plan-card { box-shadow: none; }
.plan-card:hover { transform: translateY(-2px); }
[role="dialog"][aria-label="Уведомление о cookies"], [role="dialog"][aria-label="Cookie notice"] { --ifi-focus: #d8b4fe; }
@media (max-width: 639px) {
 .hero-title { font-size: clamp(2.2rem, 8.5vw, 3rem); max-width: 390px; }
 .hero-description { max-width: 350px; line-height: 1.65; }
 .hero-actions { gap: 12px; }
 .hero-benefits { line-height: 1.6; }
 [role="dialog"][aria-label="Уведомление о cookies"] > div,
 [role="dialog"][aria-label="Cookie notice"] > div { gap: 10px; padding: 16px; border-radius: 20px; box-shadow: 0 8px 32px #0006; background: #121016; }
 [role="dialog"][aria-label="Уведомление о cookies"] > div > div:first-child,
 [role="dialog"][aria-label="Cookie notice"] > div > div:first-child { display: none; }
 [role="dialog"][aria-label="Уведомление о cookies"] p,
 [role="dialog"][aria-label="Cookie notice"] p { margin: 0; font-size: 13px; line-height: 1.5; }
 [role="dialog"][aria-label="Уведомление о cookies"] > div > div:last-child,
 [role="dialog"][aria-label="Cookie notice"] > div > div:last-child { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 8px; }
 [role="dialog"][aria-label="Уведомление о cookies"] button,
 [role="dialog"][aria-label="Cookie notice"] button { min-height: 44px; padding: 8px !important; font-size: 12px; white-space: normal; box-shadow: none !important; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (max-width:639px) {
 .hero-copy { width: 100%; }
 div:has(> .hero-copy) { min-height: auto; align-items: center; padding-top: 140px; padding-bottom: 128px; }
 .hero-title { max-width: 350px; }
}
