/**
 * Phone layout — public site (≤575.98px)
 * Compact, readable, no horizontal overflow.
 */

@media (max-width: 575.98px) {
    html,
    body.site-public {
        overflow-x: clip;
    }

    .site-main,
    .home-intro-band,
    .avidico-model-page,
    .ibs,
    .cta-band,
    .page-hero-shell,
    .feature-split__visual {
        overflow-x: clip;
        max-width: 100%;
    }

    .container,
    .container-fluid {
        --bs-gutter-x: 1.15rem;
    }

    .section-space {
        padding: 2.25rem 0;
    }

    .section-space.pt-0 {
        padding-top: 0;
    }

    .section-heading {
        font-size: clamp(1.2rem, 5.6vw, 1.45rem) !important;
        line-height: 1.25 !important;
        letter-spacing: -0.02em;
    }

    .section-copy,
    .lead-copy,
    .page-intro {
        font-size: 0.875rem;
        line-height: 1.6;
    }

    /* ── Nav ── */
    .site-navbar--pill {
        padding: 0.55rem 0;
    }

    .site-navbar__pill {
        padding: 0.4rem 0.65rem 0.4rem 0.75rem;
        gap: 0.5rem;
    }

    .site-navbar--pill .navbar-brand {
        max-width: 8.5rem;
    }

    .brand-mark img.brand-logo {
        width: auto;
        height: 1.55rem;
        max-width: 8.25rem;
        object-fit: contain;
    }

    .site-navbar .navbar-collapse {
        margin-top: 0.65rem;
        padding: 0.65rem 0.75rem;
        border-radius: 0.85rem;
    }

    .site-public:has(.site-navbar--pill) .site-main {
        padding-top: 5.15rem;
    }

    .home-intro-band {
        margin-top: -5.15rem;
        padding-top: 5.15rem;
    }

    /* ── Home hero ── */
    .hero-section--saas.section-space {
        padding-top: 1rem;
        padding-bottom: 1.35rem;
    }

    .hero-section--saas .hero-saas {
        gap: 1rem;
    }

    .hero-saas__main {
        gap: 1rem;
    }

    .hero-section--saas .hero-saas__meta {
        margin-bottom: 0.7rem;
        gap: 0.35rem;
    }

    .hero-section--saas .hero-saas__title {
        margin-bottom: 0.7rem;
        font-size: clamp(1.38rem, 7vw, 1.7rem);
        letter-spacing: 0.03em;
        line-height: 1.08;
    }

    .hero-saas__lead {
        margin-bottom: 1rem !important;
        font-size: 0.875rem;
        line-height: 1.6;
    }

    .hero-saas__actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 0.55rem;
    }

    .hero-saas__actions .btn {
        width: 100%;
        justify-content: center;
        padding: 0.72rem 1rem;
    }

    .hero-saas__visual {
        min-height: 0;
        max-width: 100%;
        width: 100%;
    }

    .hero-convergence,
    .hero-convergence__shell,
    .hero-convergence__inner {
        width: 100%;
        max-width: 100%;
        min-height: 0;
    }

    .hero-ambient__arc,
    .hero-ambient__streak,
    .hero-ambient__dot {
        display: none;
    }

    .hero-saas__stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.4rem;
    }

    .hero-stat,
    .hero-stat:last-child {
        grid-column: auto;
        min-height: 3.15rem;
        padding: 0.55rem 0.4rem 0.55rem 1.85rem;
    }

    .hero-stat__icon {
        left: 0.45rem;
        font-size: 0.85rem;
    }

    .hero-stat__index {
        display: none;
    }

    .hero-stat__value {
        font-size: 0.9rem;
    }

    .hero-stat__label {
        font-size: 0.65rem;
    }

    .hero-saas__trust {
        justify-content: center;
        gap: 0.45rem;
    }

    .hero-saas__trust > span {
        width: 100%;
        text-align: center;
        font-size: 0.7rem;
    }

    .hero-saas__trust ul {
        justify-content: center;
        gap: 0.35rem;
    }

    .hero-saas__trust li {
        padding: 0.28rem 0.55rem;
        font-size: 0.65rem;
    }

    /* ── Service cards ── */
    .services-section-header {
        margin-bottom: 1.35rem;
        text-align: left;
        max-width: none;
    }

    .services-section-header .section-copy,
    .services-section-header .section-heading,
    .services-section-header--group .section-heading {
        margin-left: 0;
        margin-right: 0;
        max-width: none;
    }

    .site-public .service-card.service-card--grid,
    .service-card--grid {
        padding: 1.1rem 1rem 1rem;
    }

    .service-card--grid.service-card--has-proof .service-card__proof {
        height: 5.5rem;
        margin-top: 2.1rem;
        margin-bottom: 0.65rem;
    }

    .home-service-grid {
        --bs-gutter-y: 0.75rem;
    }

    /* ── AVIDICO model stack ── */
    .avidico-model-section {
        padding: 2rem 0 1.5rem;
    }

    .ams-title {
        font-size: clamp(1.45rem, 7vw, 1.85rem) !important;
    }

    .ams-subtitle,
    .ams-positioning {
        max-width: none;
        font-size: 0.875rem;
    }

    .ams-statement {
        max-width: none;
        margin-top: 1.25rem;
    }

    .ams-stack {
        max-width: none;
        padding: 0.5rem 0 0;
    }

    .ams-stack__list {
        gap: 0.95rem;
    }

    .ams-stack__glyph {
        width: 2.4rem;
        height: 2.4rem;
        font-size: 0.85rem;
    }

    .ams-stack__list::before,
    .ams-stack__list::after {
        left: 1.2rem;
    }

    .ams-stack__list::after {
        left: 1.15rem;
    }

    /* ── Feature split decorative scenes ── */
    .feature-split {
        gap: 0.85rem;
        align-items: start;
    }

    .feature-split__visual {
        max-width: 100%;
        margin-top: 0.35rem !important;
    }

    .approach-tech-scene__stage,
    .how-we-work-flow__stage {
        height: 4.15rem;
    }

    .selected-work-era__viewport {
        height: 4.75rem;
        overflow: hidden;
    }

    .principles-timeline {
        margin-top: 1.15rem;
    }

    .principles-timeline__panel {
        padding: 0.85rem 0.75rem 0.95rem;
    }

    .principle-proof {
        height: 3.75rem;
    }

    .process-card,
    .value-card,
    .portfolio-card,
    .pricing-card,
    .info-card,
    .contact-panel,
    .statement-panel,
    .metric-card {
        padding: 1.1rem 1rem;
    }

    .portfolio-card.portfolio-card--compact {
        padding: 0;
    }

    .contact-shell {
        padding-top: 1.15rem;
        padding-bottom: 1.75rem;
    }

    .contact-hero {
        margin-bottom: 1.1rem;
        gap: 1rem;
    }

    .contact-hero__title {
        font-size: 1.4rem;
    }

    .cu-signal {
        height: 14.5rem;
    }

    .contact-form__grid {
        grid-template-columns: 1fr;
        gap: 0.65rem;
    }

    .contact-form {
        gap: 0.65rem;
    }

    .contact-form__submit {
        width: 100%;
        justify-content: center;
    }

    .contact-direct {
        padding: 0.75rem 0.8rem;
    }

    .process-card h3,
    .value-card h3,
    .portfolio-card h3 {
        font-size: 1.05rem;
    }

    /* ── Intelligent Business Systems ── */
    .ibs {
        padding: 1.75rem 0 2.25rem;
    }

    .ibs__lede {
        gap: 1rem;
    }

    .ibs__title {
        font-size: clamp(1.4rem, 7vw, 1.75rem) !important;
    }

    .ibs__tagline {
        font-size: 0.95rem;
    }

    .ibs__subtitle {
        font-size: 0.875rem;
    }

    .ibs__symptoms {
        padding: 0.85rem 0.95rem;
    }

    .ibs__symptoms-list li,
    .ibs-offer__copy p,
    .ibs-offer__emphasis,
    .ibs-operate__text,
    .ibs-diff__lines li {
        font-size: 0.8125rem;
        line-height: 1.55;
    }

    .ibs__premise {
        margin-top: 1.35rem;
        padding-top: 1.1rem;
    }

    .ibs__premise-lead {
        font-size: 1rem;
    }

    .ibs__offerings {
        margin-top: 1.35rem;
    }

    .ibs-offer {
        padding: 1.15rem 0;
        gap: 0;
    }

    .ibs-offer__head {
        margin-bottom: 0.75rem;
    }

    .ibs-offer__headline {
        font-size: 0.875rem;
    }

    .ibs-offer__detail {
        gap: 0.85rem;
    }

    .ibs-offer__manifest {
        padding-top: 0.75rem;
    }

    .ibs-offer__manifest-list {
        grid-template-columns: 1fr;
        gap: 0.28rem;
    }

    .ibs-offer__emphasis {
        flex-direction: column;
        gap: 0.15rem;
        margin-top: 0.85rem;
        padding-top: 0.7rem;
    }

    .ibs-operate {
        margin-top: 0.75rem;
    }

    .ibs-operate__feed {
        height: 1rem;
        grid-template-columns: repeat(4, 1fr);
    }

    .ibs-operate__panel {
        padding: 1rem 0.95rem 1.1rem;
        gap: 1rem;
    }

    .loc-cta {
        flex-direction: column;
        align-items: stretch;
        gap: 0.55rem;
        margin-top: 0.85rem;
    }

    .loc-cta .btn {
        width: 100%;
        justify-content: center;
    }

    .loc-faq-list {
        margin-top: 1rem;
        gap: 1rem;
    }

    .ibs-operate__tags {
        gap: 0.3rem;
    }

    .ibs-operate__tags li {
        padding: 0.22rem 0.5rem;
        font-size: 0.7rem;
    }

    .ibs-diff {
        margin-top: 1.5rem;
        padding-top: 1.35rem;
        gap: 1.35rem;
    }

    .ibs-diff__title {
        font-size: clamp(1.2rem, 6vw, 1.45rem) !important;
    }

    .ibs-diff__equation {
        gap: 0.45rem;
        padding: 0.7rem;
    }

    .ibs-diff__terms {
        gap: 0.3rem;
    }

    .ibs-diff__term,
    .ibs-diff__result {
        font-size: 0.625rem;
        padding: 0.24rem 0.45rem;
    }

    .ibs-map {
        padding: 0.85rem 0.7rem 1rem;
        max-width: none;
    }

    .ibs-map__node,
    .ibs-map__hub,
    .ibs-map__base {
        padding: 0.55rem 0.45rem;
    }

    .ibs-map__node strong,
    .ibs-map__hub strong,
    .ibs-map__base strong {
        font-size: 0.7rem;
    }

    /* ── Inner page heroes ── */
    .page-hero.section-space {
        padding-top: 1.15rem;
        padding-bottom: 1.35rem;
    }

    .page-hero-shell,
    .site-public .page-hero-shell {
        padding: 1.05rem 1rem 1.15rem;
    }

    .page-hero-visual-layout,
    .page-hero--with-ambient .page-hero-visual-layout {
        gap: 0.85rem;
    }

    .page-hero-visual,
    .page-hero--with-ambient .page-hero-visual,
    .page-hero-visual__frame,
    .page-hero--with-ambient .page-hero-visual__frame {
        width: 7.75rem;
        max-width: 7.75rem;
    }

    .page-hero-copy {
        text-align: left;
    }

    .page-hero-copy__title,
    .page-hero-copy .display-title,
    .display-title {
        font-size: clamp(1.28rem, 6.4vw, 1.55rem) !important;
        line-height: 1.22 !important;
    }

    .page-hero-icons {
        gap: 0.45rem;
    }

    .service-hero__proof {
        min-height: 7.5rem;
    }

    /* ── CTA ── */
    .cta-band,
    .cta-band--visual {
        padding: 1.15rem 1rem 1.25rem;
        gap: 0.9rem;
    }

    .cta-band--visual .cta-band__visual {
        width: 8.25rem;
        max-width: 8.25rem;
    }

    .cta-band__actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 0.5rem;
    }

    .cta-band__actions .btn {
        width: 100%;
        justify-content: center;
    }

    /* ── Forms / filters / pricing ── */
    .filter-bar,
    .pricing-switch {
        gap: 0.4rem;
    }

    .filter-pill,
    .pricing-switch__button {
        flex: 1 1 auto;
        justify-content: center;
        text-align: center;
        padding: 0.45rem 0.65rem;
        font-size: 0.75rem;
    }

    .custom-field,
    .form-control {
        min-height: 2.75rem;
        font-size: 1rem;
    }

    .btn,
    .btn-lg {
        padding: 0.75rem 1.05rem;
    }

    /* ── Footer ── */
    .site-footer {
        margin-top: 0.5rem;
        padding: 2.25rem 0 1.15rem;
    }

    .site-footer .brand-mark img.brand-logo {
        height: 1.45rem;
        max-width: 7.5rem;
    }

    .footer-title {
        margin-bottom: 0.65rem;
        font-size: 0.8rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .footer-link {
        margin-bottom: 0.45rem;
        font-size: 0.875rem;
    }

    .footer-copy {
        font-size: 0.8125rem;
        line-height: 1.55;
    }

    .footer-bottom {
        margin-top: 1.25rem;
        font-size: 0.75rem;
    }

    .portfolio-facts > div {
        padding: 0.85rem 0.9rem;
    }
}
