/*
 * TripleIT Builder managed homepage layout.
 * The Builder owns page-specific composition from v0.4.6 onward.
 * Global theme tokens/header/footer remain in TripleIT Theme.
 */

body.home .tripleit-main,
body.home .tripleit-managed-section {
    width: 100%;
    max-width: none;
}

body.home .tripleit-managed-section > .tripleit-container,
body.home .tripleit-managed-section > .wp-block-group.tripleit-container,
body.home .tripleit-managed-section .tripleit-container {
    width: min(calc(100% - 48px), 1280px) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
}

body.home .tripleit-managed-section .tripleit-container > *,
body.home .tripleit-media-split > *,
body.home .tripleit-asymmetric > *,
body.home .tripleit-contact-grid > * {
    min-width: 0 !important;
    max-width: none !important;
}

/* Services. 3 cards on row one, 2 equal wide cards on row two. */
body.home #services .tripleit-service-list {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

body.home #services .tripleit-service-card {
    grid-column: span 2 !important;
    min-height: 250px;
}

body.home #services .tripleit-service-card:nth-child(4),
body.home #services .tripleit-service-card:nth-child(5) {
    grid-column: span 3 !important;
}

/* Company Profile. Text LEFT, large film RIGHT. */
body.home #about-tripleit .tripleit-media-split {
    width: min(calc(100% - 48px), 1280px) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
    gap: clamp(48px, 5vw, 78px) !important;
    align-items: center !important;
}

body.home #about-tripleit .tripleit-media-split__copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 470px !important;
    margin: 0 !important;
    text-align: left !important;
}

body.home #about-tripleit .tripleit-media-split__media {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 0 !important;
}

body.home #about-tripleit .tripleit-video-shell,
body.home #about-tripleit .tripleit-video-frame {
    width: 100% !important;
}

/* Data Centre. Copy LEFT, visual RIGHT. */
body.home #data-centre .tripleit-asymmetric--infrastructure {
    width: min(calc(100% - 48px), 1280px) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr) !important;
    gap: clamp(48px, 6vw, 86px) !important;
    align-items: center !important;
}

body.home #data-centre .tripleit-editorial {
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: 590px !important;
    margin: 0 !important;
}

body.home #data-centre .tripleit-abstract-panel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-height: 390px;
    margin: 0 !important;
}

/* Smart Hands. Three stacked cards LEFT, copy RIGHT. */
body.home #smart-hands .tripleit-asymmetric--smart-hands {
    width: min(calc(100% - 48px), 1280px) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
    gap: clamp(52px, 6vw, 90px) !important;
    align-items: center !important;
}

body.home #smart-hands .tripleit-support-stack {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 0 !important;
}

body.home #smart-hands .tripleit-editorial {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 610px !important;
    margin: 0 !important;
    text-align: left !important;
}

body.home #smart-hands .tripleit-editorial .tripleit-section-title,
body.home #smart-hands .tripleit-editorial .tripleit-lead,
body.home #smart-hands .tripleit-editorial .tripleit-expand {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Contact. Direct Contact LEFT, full form RIGHT. */
body.home #contact .tripleit-contact-grid {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 46px auto 0 !important;
    display: grid !important;
    grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr) !important;
    gap: 32px !important;
    align-items: stretch !important;
}

body.home #contact .tripleit-contact-card {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

body.home #contact .tripleit-contact-form-column {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

body.home #contact .tripleit-contact-form-shell {
    width: 100% !important;
    height: 100% !important;
}

/* Prevent the page from turning into oversized empty bands. */
body.home #about-tripleit,
body.home #data-centre,
body.home #smart-hands,
body.home #contact {
    min-height: 0 !important;
}

body.home #about-tripleit,
body.home #data-centre,
body.home #smart-hands {
    padding-block: clamp(78px, 6.5vw, 104px) !important;
}

body.home #contact {
    padding-block: clamp(82px, 7vw, 112px) !important;
}

/* Content must never disappear if entrance motion fails to initialise. */
body.home .tripleit-reveal,
body.home .tripleit-stagger,
body.home .tripleit-stagger > * {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Laptop/tablet. Keep side-by-side until the viewport genuinely becomes narrow. */
@media (max-width: 980px) {
    body.home #services .tripleit-service-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.home #services .tripleit-service-card,
    body.home #services .tripleit-service-card:nth-child(4),
    body.home #services .tripleit-service-card:nth-child(5) {
        grid-column: span 1 !important;
    }

    body.home #services .tripleit-service-card:last-child {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 860px) {
    body.home #about-tripleit .tripleit-media-split,
    body.home #data-centre .tripleit-asymmetric--infrastructure,
    body.home #smart-hands .tripleit-asymmetric--smart-hands,
    body.home #contact .tripleit-contact-grid {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    body.home #about-tripleit .tripleit-media-split__copy,
    body.home #about-tripleit .tripleit-media-split__media,
    body.home #data-centre .tripleit-editorial,
    body.home #data-centre .tripleit-abstract-panel,
    body.home #smart-hands .tripleit-support-stack,
    body.home #smart-hands .tripleit-editorial,
    body.home #contact .tripleit-contact-card,
    body.home #contact .tripleit-contact-form-column {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body.home #about-tripleit .tripleit-media-split__copy,
    body.home #data-centre .tripleit-editorial,
    body.home #smart-hands .tripleit-editorial {
        max-width: 680px !important;
    }
}

@media (max-width: 767px) {
    body.home .tripleit-managed-section > .tripleit-container,
    body.home .tripleit-managed-section > .wp-block-group.tripleit-container,
    body.home .tripleit-managed-section .tripleit-container,
    body.home #about-tripleit .tripleit-media-split,
    body.home #data-centre .tripleit-asymmetric--infrastructure,
    body.home #smart-hands .tripleit-asymmetric--smart-hands {
        width: min(calc(100% - 40px), 1280px) !important;
    }

    body.home #services .tripleit-service-list {
        grid-template-columns: 1fr !important;
    }

    body.home #services .tripleit-service-card,
    body.home #services .tripleit-service-card:last-child {
        grid-column: 1 !important;
    }
}
