/* OBM.systems installation styling. Do not copy into the upstream platform CSS.
   Install as central's client-owned site-assets/css/custom.css after review.
   Colours and fonts remain owned by Design & branding. */

.root-canvas .site-header :is(.site-header__cta, .site-nav-toggle) {
    border-radius: 999px;
    padding: 12px 24px;
    min-height: 48px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

:is(.obm-home-hero, .obm-home-platform, .obm-home-feature,
    .obm-home-team-heading, .obm-home-team-demo, .obm-home-team-outcomes,
    .obm-home-commerce-heading, .obm-home-commerce-demo, .obm-home-closing) {
    position: relative;
    isolation: isolate;
}
:is(.obm-home-hero, .obm-home-platform, .obm-home-feature,
    .obm-home-team-heading, .obm-home-team-demo, .obm-home-team-outcomes,
    .obm-home-commerce-heading, .obm-home-commerce-demo, .obm-home-closing) .block-wrapper {
    padding: 0;
}
:is(.obm-home-hero, .obm-home-feature, .obm-home-team-heading, .obm-home-team-outcomes) .block-column {
    padding: 0;
}
:is(.obm-home-hero, .obm-home-feature, .obm-home-team-heading, .obm-home-team-outcomes) > .block-columns__grid {
    display: flex;
    align-items: center;
    gap: 0;
}
:is(.obm-home-hero, .obm-home-feature, .obm-home-team-heading, .obm-home-team-outcomes) > .block-columns__grid > .block-column {
    max-width: none;
}
:is(.obm-home-hero, .obm-home-feature, .obm-home-team-heading, .obm-home-team-outcomes) .block-column__inner {
    padding-inline: clamp(18px, 2.5vw, 40px);
}
[class*="obm-home-"] :is(h1, h2, h3) {
    font-family: var(--font-heading);
    font-weight: 500;
    letter-spacing: -.048em;
    margin: 0;
}
[class*="obm-home-"] :is(h1, h2) span { color: var(--section-link-colour); }
[class*="obm-home-"] .block-rich-text p {
    margin: 26px 0 0;
    line-height: 1.85;
    text-wrap: pretty;
}
[class*="obm-home-"] .block-buttons { padding: 32px 0 0; }
[class*="obm-home-"] .block-button-item__link {
    border-radius: 999px;
    padding: 17px 27px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}
.obm-home-hero {
    --obm-home-texture: url('https://central.obm.systems/uploads/forest-texture-20260912133144.png');
    padding: 46px var(--page-gutter) 112px;
}
.obm-home-hero > .block-columns__grid { min-height: 620px; }
.obm-home-hero h1 { font-size: clamp(61px, 7.1vw, 102px); line-height: 1.05; }
.obm-home-hero .block-rich-text p { font-size: 18px; }
.obm-home-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -120px 0 -80px;
    background: var(--obm-home-texture, none) center top / cover;
    filter: grayscale(1) brightness(1.35) contrast(1.15);
    mix-blend-mode: luminosity;
    opacity: .78;
    mask-image: linear-gradient(var(--main-background) 0%, var(--main-background) 42%, transparent 100%);
    pointer-events: none;
}
.obm-home-platform { min-height: 780px; display: grid; place-items: center; padding: 150px var(--page-gutter); text-align: center; overflow: clip; }
.obm-home-platform h2 { font-size: clamp(52px, 6.2vw, 88px); line-height: 1.05; }
.obm-home-platform .block-section__inner { position: relative; }
.obm-home-platform .block-rich-text, .obm-home-platform .block-buttons { position: relative; z-index: 1; }
.obm-home-platform .block-rich-text { text-shadow: 0 2px 4px var(--main-background), 0 0 32px var(--main-background); }
.obm-home-platform .block-model { position: absolute; width: min(880px, 100vw); left: 50%; top: 50%; translate: -50% -50%; z-index: 0; }
.obm-home-feature { padding: 112px var(--page-gutter); }
.obm-home-feature > .block-columns__grid { max-width: 1210px; }
.obm-home-feature h2 { font-size: clamp(36px, 4vw, 57px); line-height: 1.13; }
.obm-home-feature .block-rich-text p { max-width: 420px; }
.obm-home-feature .block-rich-text p + p { font-size: 13px; color: var(--section-heading-colour); }
:is(.obm-home-customers, .obm-home-marketing, .obm-home-social) { margin-inline: 17px; width: calc(100% - 34px); border-radius: 34px; }
.obm-home-team-heading { padding: 132px var(--page-gutter) 0; }
.obm-home-team-heading > .block-columns__grid { align-items: end; }
.obm-home-team-heading h2 { font-size: clamp(42px, 4.8vw, 68px); line-height: 1.13; }
.obm-home-team-heading .block-column:last-child .block-rich-text { max-width: 380px; margin-left: auto; }
.obm-home-team-demo { padding: 36px var(--page-gutter) 0; }
.obm-home-team-outcomes { padding: 22px var(--page-gutter) 125px; }
.obm-home-team-outcomes .block-rich-text p { margin-top: 12px; font-size: 14px; }
.obm-home-commerce-heading { padding: 130px var(--page-gutter) 0; text-align: center; margin-inline: 17px; width: calc(100% - 34px); border-radius: 34px 34px 0 0; }
.obm-home-commerce-heading h2 { font-size: clamp(44px, 4.9vw, 70px); line-height: 1.13; }
.obm-home-commerce-heading .block-rich-text p { max-width: 490px; margin-inline: auto; }
.obm-home-commerce-demo { margin-inline: 17px; width: calc(100% - 34px); padding: 36px var(--page-gutter) 145px; border-radius: 0 0 34px 34px; }
.obm-home-commerce-demo .block-section__inner { max-width: 1110px; }
.obm-home-closing { padding: 115px var(--page-gutter); text-align: center; }
.obm-home-closing h2 { font-size: clamp(39px, 5.6vw, 77px); line-height: 1.16; }
.obm-home-closing .block-rich-text p { font-size: 17px; }
[class*="obm-home-"] .block-image__inner { padding: 0; }
[class*="obm-home-"] .block-image img { width: 100%; height: auto; }

@media (max-width: 800px) {
    :is(.obm-home-hero, .obm-home-feature, .obm-home-team-heading, .obm-home-team-outcomes) > .block-columns__grid { row-gap: 30px; }
    :is(.obm-home-hero, .obm-home-feature, .obm-home-team-heading, .obm-home-team-outcomes) > .block-columns__grid > .block-column { flex-basis: 100%; max-width: 100%; }
    :is(.obm-home-hero, .obm-home-feature, .obm-home-team-heading, .obm-home-team-outcomes) .block-column__inner { padding-inline: 0; }
    .obm-home-hero { padding-block: 38px 45px; }
    .obm-home-hero > .block-columns__grid { min-height: 0; }
    .obm-home-hero h1 { font-size: clamp(48px, 10vw, 75px); }
    .obm-home-hero .block-rich-text p { font-size: 16px; }
    .obm-home-platform { min-height: 680px; padding-block: 100px; }
    .obm-home-platform h2 { font-size: clamp(42px, 8vw, 64px); }
    .obm-home-feature { padding-block: 65px; }
    :is(.obm-home-marketing, .obm-home-social) .block-column:first-child { order: 2; }
    :is(.obm-home-feature, .obm-home-team-heading, .obm-home-commerce-heading) h2 { font-size: clamp(32px, 6.5vw, 42px); }
    .obm-home-team-heading { padding-top: 83px; }
    .obm-home-team-heading .block-column:last-child .block-rich-text { max-width: none; }
    .obm-home-team-outcomes { padding-bottom: 83px; }
    .obm-home-commerce-heading { padding-top: 83px; text-align: left; }
    .obm-home-commerce-demo { padding-bottom: 90px; }
    .obm-home-closing { padding-block: 83px; }
}

