/* API bindings around the customer-approved Omni stylesheet in style.css. */
[hidden] { display: none !important; }
html[data-cms-state="loading"] [data-cms-main],
html[data-cms-state="loading"] .footer-grid,
html[data-cms-state="loading"] .logo-img { visibility: hidden; }
html[data-cms-state="error"] [data-cms-main] { display: none; }
.cms-status { padding-block: 105px 24px; text-align: center; }
.cms-status[hidden] { display: none; }
.cms-status p { margin-bottom: 12px; }
.cms-empty { padding-block: 30px; text-align: center; }
.logo-img { width: 120px; height: 40px; object-fit: contain; }
.nav-actions { gap: 8px; }
.nav-actions .cta-btn { margin-inline-start: 0; }
.cms-item-image { display: block; max-width: 100%; height: auto; margin-block: 12px; border-radius: var(--radius-lg); }
.cms-hero-extra { margin-block: 12px; }
.cms-pricing-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.contact-info-text { display: block; text-decoration: none; overflow-wrap: anywhere; }
a.contact-info-text:hover { color: var(--primary-color); }
.contact-form-container, .contact-info-container { min-width: 0; }
.contact-submit { min-height: 44px; width: 100%; }
.contact-submit:disabled { cursor: wait; opacity: .65; }
.contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-captcha { margin-block: 20px; padding: 16px; border: 1px solid var(--border-color); border-radius: var(--radius-lg); background: var(--bg-light); }
.contact-captcha-status { margin-bottom: 10px; color: var(--text-secondary); font-size: 14px; }
.contact-captcha-widget altcha-widget { display: block; max-width: 100%; }
.contact-captcha-retry { min-height: 40px; padding-inline: 14px; margin-bottom: 10px; border: 1px solid var(--primary-color); border-radius: var(--radius-md); background: white; color: var(--primary-color); font: inherit; cursor: pointer; }
.contact-captcha-retry:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 2px; }
.mobile-menu-overlay.open { display: block; }
.page-hero { padding-top: 125px; padding-bottom: 45px; background: linear-gradient(135deg, #f0f9ff, #e0f2fe); text-align: center; }
.page-hero .section-subtitle { margin-top: 12px; }
.packages-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.cms-section .hero-actions { margin-top: 24px; }
.footer-grid .footer-col { min-width: 0; }
@media (min-width: 900px) {
    .contact-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: start; }
}
@media (max-width: 1180px) {
    .nav-menu { gap: 14px; }
    .nav-link { font-size: 13px; }
}
@media (max-width: 992px) {
    .nav-menu { display: none; }
    .mobile-menu-btn { display: block; }
    .packages-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .nav-actions { display: none; }
    .packages-grid { grid-template-columns: 1fr; }
    .hero .container { width: 100%; }
}
