/* Mobile refinements shared by every public-site section. */
html { scroll-padding-top: 86px; }
body { overflow-x: hidden; }
img { max-width: 100%; }
.menu-toggle { min-width: 46px; min-height: 46px; cursor: pointer; border-radius: 10px; }
.menu-toggle:focus-visible, .site-navigation a:focus-visible, .button:focus-visible { outline: 3px solid #55b6ff; outline-offset: 3px; }

@media (max-width: 800px) {
    body.menu-open { overflow: hidden; }
    .site-header { height: 82px; }
    .site-header.scrolled { height: 72px; }
    .site-brand img { width: 154px; height: 62px; }
    .menu-toggle { display: block; position: relative; z-index: 2; }
    .menu-toggle span { transition: transform .2s ease, opacity .2s ease; transform-origin: center; }
    .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
    .site-navigation {
        top: 82px;
        right: 18px;
        max-height: calc(100dvh - 98px);
        padding: 14px;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .site-header.scrolled .site-navigation { top: 72px; }
    .site-navigation > a { display: flex; min-height: 46px; padding: 0 12px; align-items: center; border-radius: 8px; }
    .site-navigation > a:not(.button):hover { background: rgba(255,255,255,.06); }
    .site-navigation .nav-login { margin-top: 7px; border-top: 1px solid rgba(255,255,255,.1); border-radius: 0; }
    .site-navigation .button { min-height: 48px; margin-top: 8px; }
    .section { padding-right: 22px; padding-left: 22px; }
    .hero { padding-right: 22px; padding-left: 22px; }
    .hero h1 { max-width: 680px; }
    .hero-copy { max-width: 620px; }
    .proof-strip { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .proof-strip::-webkit-scrollbar { display: none; }
    .proof-strip span, .proof-strip i { flex: 0 0 auto; }
    .section-heading, .tour-heading, .showcase-heading, .guide-intro, .current-capabilities-heading { gap: 0; }
    .feature-card, .price-card, .contact-form, .showcase-card, .product-window, .guide-step { border-radius: 16px; }
    .contact-form input, .contact-form select, .contact-form textarea { min-height: 48px; font-size: 16px; }
    .contact-form textarea { min-height: 150px; }
    .contact-form .button { width: 100%; }
    .site-footer { padding-right: 22px; padding-left: 22px; }
}

@media (max-width: 520px) {
    html { scroll-padding-top: 76px; }
    .site-header { width: calc(100% - 28px); height: 76px; }
    .site-header.scrolled { height: 68px; padding-right: 14px; padding-left: 14px; }
    .site-brand img, .site-header.scrolled .site-brand img { width: 135px; height: 54px; }
    .site-navigation, .site-header.scrolled .site-navigation { top: 68px; right: 10px; width: calc(100vw - 20px); max-height: calc(100dvh - 80px); }
    .hero { min-height: 800px; padding-top: 126px; padding-bottom: 50px; }
    .hero h1 { font-size: clamp(2.8rem, 14.5vw, 3.7rem); line-height: .94; letter-spacing: -.065em; }
    .hero-copy { margin-top: 24px; font-size: .94rem; line-height: 1.65; }
    .hero-actions { width: 100%; margin-top: 28px; gap: 16px; }
    .hero-actions .button { width: 100%; }
    .hero-actions .text-link { align-self: center; }
    .hero-visual { top: 510px; right: auto; left: 50%; width: 650px; opacity: .82; transform: translateX(-50%) scale(.52); transform-origin: top center; }
    .proof-strip { min-height: 66px; padding: 17px 18px; }
    .section { padding: 68px 18px; }
    .section-heading h2, .labels-copy h2, .security-copy h2, .cta-section h2,
    .workspace-copy h2, .pricing-heading h2, .contact-copy h2, .tour-heading h2,
    .guide-intro h2, .showcase-heading h2, .current-capabilities-heading h2 { font-size: clamp(2.15rem, 11vw, 2.75rem); }
    .eyebrow { margin-bottom: 15px; }
    .feature-grid, .pricing-grid, .integration-grid, .showcase-gallery { margin-top: 36px; }
    .feature-card, .price-card { padding: 24px; }
    .labels-section { gap: 18px; }
    .label-demo { width: 125%; transform: scale(.78); }
    .security-section { gap: 42px; }
    .security-grid article { padding: 25px; }
    .audience-grid article { padding: 28px 4px; }
    .workspace-preview { padding: 20px; }
    .workspace-preview-head { align-items: flex-start; gap: 12px; }
    .product-window-content { padding: 16px; }
    .product-preview-heading strong { font-size: 1.05rem; }
    .product-preview-stats { gap: 7px; }
    .product-preview-stats span { padding: 12px; }
    .preview-record-card { padding: 17px; }
    .preview-record-card dl > div { grid-template-columns: 88px 1fr; }
    .showcase-card-wide .showcase-image, .showcase-image { height: 220px; }
    .showcase-copy { grid-template-columns: 34px 1fr; gap: 13px; padding: 20px 18px; }
    .showcase-number { width: 34px; height: 34px; }
    .guide-step { min-height: auto; }
    .contact-section { gap: 36px; }
    .contact-form { padding: 20px; }
    .contact-form fieldset span { min-height: 48px; }
    .cta-section { padding: 60px 18px; gap: 36px; }
    .cta-actions { width: 100%; min-width: 0; }
    .site-footer { grid-template-columns: 1fr; padding: 50px 18px 24px; row-gap: 36px; }
    .footer-brand { grid-column: auto; }
    .footer-links { min-width: 0; }
    .footer-links a { min-height: 38px; display: flex; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media (max-width: 800px) {
    .site-navigation .nav-actions {
        display: grid;
        width: 100%;
        margin: 8px 0 0;
        padding: 12px 0 0;
        gap: 10px;
        border-top: 1px solid rgba(255,255,255,.1);
        border-left: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .site-navigation .nav-action { min-height: 48px; padding: 0 12px; }
}

@media (max-width: 520px) {
    .site-navigation .nav-actions { grid-template-columns: 1fr; }
    .footer-links .facebook-link { min-height: 48px; padding-right: 15px; padding-left: 13px; }
}
