/* Hero: photo stage under an even dark sheet, copy left + request form card right, then the secondary rule and
 * the trust strip on the page background. --ocf-hero-height is the stage's minimum height on desktop. */
.ocf-hero {
    display: flex;
    flex-direction: column;
    background: var(--ocf-bg);
}

.ocf-hero__stage {
    position: relative;
    display: flex;
    align-items: center;
    min-height: min(var(--ocf-hero-height), calc(100svh - var(--cardinal-header-offset) - var(--wp-admin-bar-offset) + 120px));
    overflow: hidden;
    color: var(--ocf-heading-alt);
    background: var(--cardinal-band);
}

.ocf-hero__media,
.ocf-hero__shade {
    position: absolute;
    inset: 0;
}

.ocf-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ocf-hero__shade {
    background: var(--cardinal-overlay-light);
}

.ocf-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, calc(var(--ocf-space-unit) * 32.5));
    gap: calc(var(--ocf-grid-gap) * 2.333);
    align-items: center;
    padding-block: calc(var(--ocf-grid-gap) * 4);
}

.ocf-hero__content {
    max-width: var(--ocf-hero-content-width);
}

/* Bordered eyebrow tag in the secondary color. */
.cardinal-tag {
    display: inline-flex;
    margin-bottom: calc(var(--ocf-grid-gap) * 1);
    padding: calc(var(--ocf-space-unit) * 0.5) calc(var(--ocf-space-unit) * 0.875);
    border: calc(var(--card-border-width) * 1.333) solid var(--ocf-secondary);
    color: var(--ocf-secondary);
}

.ocf-hero .ocf-hero__headline {
    color: inherit;
    font-size: clamp(var(--font-h1-size), 4.6vw, calc(var(--font-h1-size) * 1.1));
    line-height: 0.95;
}

.ocf-hero__intro {
    margin: calc(var(--ocf-grid-gap) * 1) 0 calc(var(--ocf-grid-gap) * 1.333);
    color: var(--ocf-heading-alt);
    font-size: var(--font-body-size);
    line-height: var(--ocf-font-body-line);
}

.ocf-hero .ocf-actions {
    gap: calc(var(--ocf-space-unit) * 0.75);
}

.cardinal-call svg {
    width: calc(var(--ocf-space-unit) * 1);
    height: calc(var(--ocf-space-unit) * 1);
}

.ocf-hero__rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(var(--ocf-space-unit) * 0.625);
    margin-top: calc(var(--ocf-grid-gap) * 1);
    color: var(--ocf-body-alt);
    font-family: var(--ocf-font-heading), system-ui, sans-serif;
    font-size: var(--cardinal-label-size);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--cardinal-label-tracking);
    text-transform: uppercase;
}

.ocf-hero__rating strong { color: var(--ocf-heading-alt); }
.ocf-hero__stars { color: var(--cardinal-star); letter-spacing: 0.12em; }

/* Form card: page-colored card with a heading-colored frame (styles shared with contact-form.css). */
.ocf-hero__form {
    min-width: 0;
}

/* Trust strip: up to three hero_check_items as check-circle statements. */
.ocf-hero-proof {
    background: var(--ocf-bg);
    color: var(--ocf-heading);
}

.ocf-hero-proof__bar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ocf-grid-gap);
    margin-block: 0;
    padding-block: calc(var(--ocf-grid-gap) * 1.667) calc(var(--ocf-grid-gap) * 0.5);
    list-style: none;
}

.ocf-hero-proof__bar li {
    display: flex;
    align-items: center;
    gap: calc(var(--ocf-space-unit) * 0.875);
    min-height: calc(var(--ocf-space-unit) * 5.25);
    padding: calc(var(--ocf-space-unit) * 1.125) calc(var(--ocf-space-unit) * 1.375);
    /* Card layering: alt-surface panel with the card hairline and a solid offset "second sheet" in the border color. */
    border: var(--card-border-width) solid var(--ocf-border);
    border-radius: var(--card-radius);
    background: var(--cardinal-bg-alt);
    box-shadow: calc(var(--card-border-width) * 4) calc(var(--card-border-width) * 4) 0 var(--ocf-border-light);
    font-family: var(--ocf-font-heading), system-ui, sans-serif;
    font-size: clamp(calc(var(--font-h3-size) * 0.9), 1.67vw, calc(var(--font-h3-size) * 1.083));
    font-weight: var(--ocf-font-h2-weight);
    line-height: 1.07;
    text-transform: uppercase;
}

.ocf-hero-proof__icon {
    display: inline-grid;
    flex-shrink: 0;
    place-items: center;
    width: calc(var(--ocf-space-unit) * 2.125);
    height: calc(var(--ocf-space-unit) * 2.125);
    border: calc(var(--card-border-width) * 1.333) solid var(--ocf-link);
    border-radius: var(--radius-full);
    color: var(--ocf-link);
}

.ocf-hero-proof__icon svg {
    width: calc(var(--ocf-space-unit) * 1.125);
    height: calc(var(--ocf-space-unit) * 1.125);
}

@media (max-width: 1080px) {
    .ocf-hero__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: calc(var(--ocf-grid-gap) * 2);
        padding-block: calc(var(--ocf-grid-gap) * 3);
    }

    .ocf-hero__content { max-width: none; }

    .ocf-hero-proof__bar li { justify-content: flex-start; }
}

@media (max-width: 767px) {
    .ocf-hero__stage { min-height: 0; }

    .ocf-hero__shade { background: var(--cardinal-overlay); }

    .ocf-hero__grid { padding-block: calc(var(--ocf-grid-gap) * 2.333); }

    .ocf-hero .ocf-actions > * { flex: 1 1 100%; }

    .ocf-hero-proof__bar {
        grid-template-columns: minmax(0, 1fr);
        gap: calc(var(--ocf-grid-gap) * 0.75);
        padding-block: calc(var(--ocf-grid-gap) * 1.333);
    }
}

/* OCF_AGENT_BLOCK:rooted-leadflow-hero START */
.ocf-hero__grid { grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr); gap:48px; padding-block:64px; }
.ocf-hero__content { max-width:none; min-width:0; }
.ocf-hero .ocf-hero__headline { font-size:clamp(36px,3.6vw,52px); line-height:1.12; text-transform:none; letter-spacing:-.035em; color:#fff; }
.ocf-hero__intro { font-size:18px; line-height:1.65; max-width:620px; color:var(--ocf-heading-alt); }
.rlf-app-line { font-size:16px; line-height:1.6; color:var(--ocf-heading-alt); margin:0 0 24px; }
.rlf-audience { font-size:14px; line-height:1.6; margin-top:20px; color:var(--ocf-body-alt); }
.ocf-hero__shade { background:linear-gradient(90deg,rgba(11,24,16,.80),rgba(11,24,16,.62)); }
.ocf-hero__stage { min-height:0; }
.rlf-phone { width:100%; max-width:370px; margin:0 auto; padding:20px; border:2px solid var(--ocf-secondary); border-radius:28px; background:var(--ocf-dark-bg-alt); box-shadow:0 24px 50px #0004; color:var(--ocf-heading-alt); }
.rlf-phone__header { font-weight:700; font-size:18px; padding:6px 0 18px; border-bottom:1px solid var(--ocf-dark-border); text-align:center; }
.rlf-phone__messages { display:flex; flex-direction:column; gap:10px; padding:14px 0; }
.rlf-message { margin:0; padding:11px 13px; border-radius:14px; max-width:92%; font-size:14px; line-height:1.5; }
.rlf-message--business { align-self:flex-start; background:var(--ocf-dark-bg); border:1px solid var(--ocf-dark-border); }
.rlf-message--customer { align-self:flex-end; background:var(--ocf-primary); color:var(--ocf-primary-contrast); }
.rlf-message--event { align-self:center; color:var(--ocf-secondary); font-size:12px; padding:2px; }
.rlf-message--notification { width:100%; max-width:100%; background:var(--ocf-dark-bg); border-left:3px solid var(--ocf-secondary); border-radius:8px; font-weight:600; }
.rlf-phone figcaption { font-size:12px; text-align:center; padding-top:6px; color:var(--ocf-body-alt); }
@media(max-width:1080px) { .ocf-hero__grid {grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:28px;} }
@media(max-width:767px) { .ocf-hero__grid {grid-template-columns:1fr;gap:32px;padding-block:40px;} .ocf-hero .ocf-hero__headline{font-size:clamp(30px,7.5vw,42px);line-height:1.16;} .ocf-hero__intro{font-size:17px;} .rlf-phone{max-width:370px;} }
/* OCF_AGENT_BLOCK:rooted-leadflow-hero END */

/* OCF_AGENT_BLOCK:rbm-hero-phone-status-v1 START */
.rlf-phone{border:7px solid #a7cf55!important;border-radius:42px!important;padding:10px 17px 20px!important;position:relative;box-shadow:0 0 0 2px #293b2c,0 24px 50px #0005!important}.rlf-phone:before{content:"9:41";display:block;text-align:left;padding:2px 6px 9px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.03em}.rlf-phone:after{content:"";position:absolute;top:13px;right:19px;width:41px;height:13px;background:linear-gradient(to top,#fff 0 45%,transparent 45%) left bottom/4px 7px no-repeat,linear-gradient(to top,#fff 0 70%,transparent 70%) 7px bottom/4px 9px no-repeat,linear-gradient(to top,#fff 0 90%,transparent 90%) 14px bottom/4px 11px no-repeat;opacity:.95;pointer-events:none}.rlf-phone__header{padding-top:12px!important}.rlf-phone figcaption{padding-top:12px!important}@media(max-width:767px){.rlf-phone{padding:10px 13px 18px!important}}
/* OCF_AGENT_BLOCK:rbm-hero-phone-status-v1 END */

/* OCF_AGENT_BLOCK:hero-iphone-icons START */
.ocf-hero .rlf-phone{padding:0 15px 19px!important;border-radius:48px!important;border:7px solid #a7cf55!important;overflow:hidden;max-width:370px!important}.ocf-hero .rlf-phone:before,.ocf-hero .rlf-phone:after{content:none!important}.rlf-hero-status{height:48px;display:flex;align-items:flex-start;justify-content:space-between;padding:13px 7px 0;position:relative;font-size:12px;font-weight:800;color:#fff}.rlf-hero-island{position:absolute;left:50%;top:5px;transform:translateX(-50%);width:91px;height:23px;background:#050505;border-radius:30px}.rlf-hero-indicators{display:flex;gap:6px;align-items:center}.rlf-hero-bars{width:19px;height:12px;background:linear-gradient(#fff,#fff) 0 8px/3px 4px no-repeat,linear-gradient(#fff,#fff) 5px 5px/3px 7px no-repeat,linear-gradient(#fff,#fff) 10px 2px/3px 10px no-repeat,linear-gradient(#fff,#fff) 15px 0/3px 12px no-repeat}.rlf-hero-wifi{width:16px;height:13px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath d='M1 5Q10 -2 19 5M4 9Q10 4 16 9M8 13Q10 11 12 13' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}.rlf-hero-battery{width:18px;height:10px;border:1.5px solid #fff;border-radius:3px;background:linear-gradient(#fff,#fff) 2px center/12px 6px no-repeat;position:relative}.rlf-hero-battery:after{content:'';position:absolute;right:-4px;top:2px;width:2px;height:4px;background:#fff;border-radius:1px}.rlf-hero-contact{position:relative;display:flex;align-items:center;flex-direction:column;padding:0 10px 13px;border-bottom:1px solid #484e47;gap:5px}.rlf-hero-leaf{display:block;width:49px;height:49px;border-radius:50%;background:#103b2b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M31 56V27' stroke='%2398CE66' stroke-width='4' stroke-linecap='round' fill='none'/%3E%3Cpath d='M31 35C13 35 8 22 10 9c14 0 24 8 21 26Z' fill='%2398CE66'/%3E%3Cpath d='M32 44C34 25 47 18 57 20c0 15-8 25-25 24Z' fill='%237DBA55'/%3E%3C/svg%3E") center/32px 32px no-repeat}.ocf-hero .rlf-hero-contact .rlf-phone__header{border:0!important;padding:0!important;margin:0!important;font-size:15px!important;line-height:1.3!important}.rlf-hero-back{position:absolute;left:1px;top:18px;color:#65a7ff;font-size:35px;line-height:28px}.rlf-hero-camera{position:absolute;right:0;top:22px;width:28px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 22'%3E%3Crect x='1.5' y='3' width='19' height='16' rx='3' fill='none' stroke='%2365A7FF' stroke-width='2'/%3E%3Cpath d='M21 8l7-4v14l-7-4Z' fill='none' stroke='%2365A7FF' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.ocf-hero .rlf-phone__messages{padding-top:12px!important}@media(max-width:400px){.ocf-hero .rlf-phone{padding-inline:11px!important}.rlf-hero-island{width:76px}}
/* OCF_AGENT_BLOCK:hero-iphone-icons END */
