/* OCF Lightning — neutral global primitives.
   Purpose: provide an OCF-safe starting point without a strong visual opinion. */

:root {
    --nav-height: var(--ocf-nav-height, 4.5rem);
    --wp-admin-bar-offset: 0px;
    --wp-admin-bar-gap: 0px;

    --font-h1-size: var(--ocf-font-h1-size, clamp(34px, 5vw, 63px));
    --font-h2-size: var(--ocf-font-h2-size, clamp(28px, 3vw, 36px));
    --font-h3-size: var(--ocf-font-h3-size, 20px);
    --font-body-size: var(--ocf-font-body-size, 18px);
    --font-label-size: 16px;
    --font-button-size: 16px;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    --container-max: 1300px;
    --container-pad: clamp(1rem, 4vw, 2rem);
    --section-pad: var(--ocf-section-pad, clamp(3rem, 8vw, 6rem));
    --grid-gap: 1.25rem;

    --radius-sm: var(--ocf-radius-sm, 8px);
    --radius: var(--ocf-radius, 8px);
    --radius-lg: var(--ocf-radius-lg, 8px);
    --radius-full: 999px;

    --button-radius: var(--ocf-button-radius, 8px);
    --button-border-width: 0px;
    --button-border-color: transparent;
    --button-shadow: var(--ocf-button-shadow, 0 0.45rem 1rem color-mix(in srgb, var(--ocf-heading) 12%, transparent));
    --button-shadow-hover: var(--ocf-button-shadow-hover, 0 0.7rem 1.35rem color-mix(in srgb, var(--ocf-heading) 16%, transparent));
    --button-transform-hover: translateY(-1px);
    --button-letter-spacing: 0;
    --button-text-transform: none;

    --card-radius: var(--ocf-card-radius, 8px);
    --card-radius-lg: var(--ocf-card-radius-lg, 8px);
    --card-border-width: 1px;
    --card-border-color: var(--ocf-border-light);
    --card-border-color-subtle: var(--ocf-border-light);
    --card-shadow: var(--ocf-card-shadow, 0 0.18rem 0.55rem color-mix(in srgb, var(--ocf-heading) 7%, transparent));
    --card-shadow-hover: var(--ocf-card-shadow-hover, 0 0.45rem 1rem color-mix(in srgb, var(--ocf-heading) 10%, transparent));
    --card-transform-hover: translateY(-2px);

    --image-radius: var(--ocf-image-radius, 8px);
    --image-shadow: var(--ocf-image-shadow, var(--card-shadow));
    --media-overlay-opacity: 0;
    --media-light-overlay-opacity: 0.72;
    --gradient-media-dark: linear-gradient(90deg, color-mix(in srgb, var(--ocf-bg-dark) 86%, transparent) 0%, color-mix(in srgb, var(--ocf-bg-dark) 68%, transparent) 44%, color-mix(in srgb, var(--ocf-bg-dark) 34%, transparent) 100%);
    --gradient-media-dark-reverse: linear-gradient(90deg, color-mix(in srgb, var(--ocf-bg-dark) 34%, transparent) 0%, color-mix(in srgb, var(--ocf-bg-dark) 68%, transparent) 56%, color-mix(in srgb, var(--ocf-bg-dark) 86%, transparent) 100%);
    --gradient-media-dark-even: linear-gradient(0deg, color-mix(in srgb, var(--ocf-bg-dark) 62%, transparent), color-mix(in srgb, var(--ocf-bg-dark) 62%, transparent));
    --gradient-media-light: linear-gradient(90deg, color-mix(in srgb, var(--ocf-bg) 88%, transparent) 0%, color-mix(in srgb, var(--ocf-bg) 70%, transparent) 46%, color-mix(in srgb, var(--ocf-bg) 30%, transparent) 100%);
    --gradient-media-light-reverse: linear-gradient(90deg, color-mix(in srgb, var(--ocf-bg) 30%, transparent) 0%, color-mix(in srgb, var(--ocf-bg) 70%, transparent) 54%, color-mix(in srgb, var(--ocf-bg) 88%, transparent) 100%);
    --gradient-media-light-even: linear-gradient(0deg, color-mix(in srgb, var(--ocf-bg) 72%, transparent), color-mix(in srgb, var(--ocf-bg) 72%, transparent));
    --gradient-media-light-transparent: linear-gradient(90deg, var(--ocf-bg) 0%, color-mix(in srgb, var(--ocf-bg) 98%, transparent) 34%, color-mix(in srgb, var(--ocf-bg) 58%, transparent) 56%, transparent 78%);
    --gradient-hero-dark: linear-gradient(90deg, color-mix(in srgb, var(--ocf-bg-dark) 94%, transparent) 0%, color-mix(in srgb, var(--ocf-bg-dark) 86%, transparent) 34%, color-mix(in srgb, var(--ocf-bg-dark) 58%, transparent) 58%, color-mix(in srgb, var(--ocf-bg-dark) 30%, transparent) 76%, color-mix(in srgb, var(--ocf-bg-dark) 12%, transparent) 100%), linear-gradient(180deg, color-mix(in srgb, var(--ocf-bg-dark) 32%, transparent) 0%, color-mix(in srgb, var(--ocf-bg-dark) 54%, transparent) 100%);
    --gradient-primary-fade: linear-gradient(90deg, color-mix(in srgb, var(--ocf-bg-dark) 82%, transparent) 0%, color-mix(in srgb, var(--ocf-bg-dark) 58%, transparent) 48%, color-mix(in srgb, var(--ocf-bg-dark) 32%, transparent) 66%, color-mix(in srgb, var(--ocf-bg-dark) 12%, transparent) 82%, transparent 100%), linear-gradient(90deg, color-mix(in srgb, var(--ocf-primary) 78%, transparent) 0%, color-mix(in srgb, var(--ocf-primary) 54%, transparent) 46%, color-mix(in srgb, var(--ocf-primary) 30%, transparent) 64%, color-mix(in srgb, var(--ocf-primary) 10%, transparent) 82%, transparent 100%);
    --gradient-primary: linear-gradient(135deg, var(--ocf-primary) 0%, var(--ocf-primary-hover) 100%);
    --gradient-primary-reverse: linear-gradient(135deg, var(--ocf-primary-hover) 0%, var(--ocf-primary) 100%);
    --gradient-primary-soft: linear-gradient(135deg, color-mix(in srgb, var(--ocf-primary) 16%, var(--ocf-bg)) 0%, var(--ocf-bg) 100%);
    --gradient-primary-soft-reverse: linear-gradient(135deg, var(--ocf-bg) 0%, color-mix(in srgb, var(--ocf-primary) 16%, var(--ocf-bg)) 100%);
    --gradient-primary-secondary: linear-gradient(135deg, var(--ocf-primary) 0%, var(--ocf-secondary, var(--ocf-primary-hover)) 100%);
    --gradient-secondary-primary: linear-gradient(135deg, var(--ocf-secondary, var(--ocf-primary-hover)) 0%, var(--ocf-primary) 100%);
    --gradient-dark-primary: linear-gradient(135deg, var(--ocf-bg-dark) 0%, color-mix(in srgb, var(--ocf-primary) 62%, var(--ocf-bg-dark)) 100%);
    --gradient-primary-dark: linear-gradient(135deg, color-mix(in srgb, var(--ocf-primary) 62%, var(--ocf-bg-dark)) 0%, var(--ocf-bg-dark) 100%);
    --gradient-surface: linear-gradient(180deg, var(--ocf-bg-alt) 0%, var(--ocf-bg) 100%);
    --gradient-surface-reverse: linear-gradient(180deg, var(--ocf-bg) 0%, var(--ocf-bg-alt) 100%);
    --ocf-primary: var(--ocf-accent, #0F766E);
    --ocf-primary-hover: var(--ocf-accent-hover, #115e59);
    --ocf-primary-contrast: var(--ocf-heading-alt, #ffffff);
    --ocf-label: var(--ocf-body);
    --ocf-label-alt: var(--ocf-body-alt);
    --ocf-dark-label: var(--ocf-dark-body);
    --duration: 180ms;
    --ease: ease;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --ocf-bg: var(--ocf-dark-bg, #111111);
    --ocf-bg-alt: var(--ocf-dark-bg-alt, #18181b);
    --ocf-bg-dark: var(--ocf-dark-bg, #111111);
    --ocf-heading: var(--ocf-dark-heading, #ffffff);
    --ocf-body: var(--ocf-dark-body, #F8FAFC);
    --ocf-label: var(--ocf-body);
    --ocf-border: var(--ocf-dark-border, #3d3d3d);
    --ocf-border-light: var(--ocf-dark-border-light, #292929);
    --ocf-heading-alt: var(--ocf-dark-heading, #ffffff);
    --ocf-body-alt: var(--ocf-dark-body, #F8FAFC);
    --ocf-label-alt: var(--ocf-body-alt);
    --ocf-border-alt: var(--ocf-dark-border-light, #292929);
}

*, *::before, *::after { box-sizing: border-box; }
html {
    max-width: 100%;
    overflow-x: clip;
    scroll-behavior: smooth;
}
[id] { scroll-margin-top: 5rem; }

body {
    margin: 0;
    padding-top: calc(var(--nav-height) + var(--wp-admin-bar-gap));
    max-width: 100%;
    overflow-x: clip;
    background: var(--ocf-bg);
    color: var(--ocf-body);
    font-family: var(--ocf-font-body), system-ui, sans-serif;
    font-size: var(--font-body-size);
    font-weight: var(--ocf-font-body-weight, var(--font-weight-medium));
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.admin-bar {
    --wp-admin-bar-offset: 32px;
    margin-top: 0 !important;
}

img, svg, video, iframe { max-width: 100%; }
img { display: block; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.ocf-hero__form,
.ocf-simple-form,
.booking-wizard,
.hero-form-card,
.ocf-field,
.ocf-phone-combo,
.bw-phone-combo {
    min-width: 0;
    max-width: 100%;
}

.container-global {
    width: min(100% - (var(--container-pad) * 2), var(--container-max));
    margin-inline: auto;
}

.section-padding {
    padding-block: var(--section-pad);
}

.ocf-section {
    position: relative;
    background: var(--ocf-bg);
}

:where([data-ocf-field]) {
    color: var(--field-color, currentColor);
    font-family: var(--field-font-family, inherit);
    font-size: var(--field-font-size, inherit);
    font-weight: var(--field-font-weight, inherit);
    font-style: var(--field-font-style, inherit);
    text-decoration: var(--field-text-decoration, inherit);
}

.page-section--default { background: var(--ocf-bg); }
.page-section--alt { background: var(--ocf-bg-alt); }
.ocf-gradient--media-dark { background: var(--gradient-media-dark); }
.ocf-gradient--media-dark-reverse { background: var(--gradient-media-dark-reverse); }
.ocf-gradient--media-dark-even { background: var(--gradient-media-dark-even); }
.ocf-gradient--media-light { background: var(--gradient-media-light); }
.ocf-gradient--media-light-reverse { background: var(--gradient-media-light-reverse); }
.ocf-gradient--media-light-even { background: var(--gradient-media-light-even); }
.ocf-gradient--media-light-transparent { background: var(--gradient-media-light-transparent); }
.ocf-gradient--hero-dark { background: var(--gradient-hero-dark); }
.ocf-gradient--primary-fade { background: var(--gradient-primary-fade); }
.ocf-gradient--primary { background: var(--gradient-primary); }
.ocf-gradient--primary-reverse { background: var(--gradient-primary-reverse); }
.ocf-gradient--primary-soft { background: var(--gradient-primary-soft); }
.ocf-gradient--primary-soft-reverse { background: var(--gradient-primary-soft-reverse); }
.ocf-gradient--primary-secondary { background: var(--gradient-primary-secondary); }
.ocf-gradient--secondary-primary { background: var(--gradient-secondary-primary); }
.ocf-gradient--dark-primary { background: var(--gradient-dark-primary); }
.ocf-gradient--primary-dark { background: var(--gradient-primary-dark); }
.ocf-gradient--surface { background: var(--gradient-surface); }
.ocf-gradient--surface-reverse { background: var(--gradient-surface-reverse); }

.eyebrow {
    display: inline-flex;
    margin-bottom: 1rem;
    color: var(--ocf-primary);
    font-size: var(--ocf-font-eyebrow-size, var(--font-label-size));
    font-weight: var(--ocf-font-eyebrow-weight, var(--font-weight-bold));
    letter-spacing: 0;
    text-transform: uppercase;
}

.heading-1,
.heading-2,
.heading-3 {
    margin: 0;
    color: var(--ocf-heading);
    font-family: var(--ocf-font-heading), system-ui, sans-serif;
    font-weight: var(--font-weight-bold);
    line-height: 1.08;
    letter-spacing: 0;
}

.heading-1 {
    font-size: var(--font-h1-size);
    font-weight: var(--ocf-font-h1-weight, var(--font-weight-bold));
}

.heading-2 {
    font-size: var(--font-h2-size);
    font-weight: var(--ocf-font-h2-weight, var(--font-weight-bold));
}

.heading-3 {
    font-size: var(--font-h3-size);
    font-weight: var(--ocf-font-h3-weight, var(--font-weight-bold));
}

.text-body,
.prose,
.page-content-body {
    color: var(--ocf-body);
    font-size: var(--font-body-size);
    font-weight: var(--ocf-font-body-weight, var(--font-weight-medium));
}

.prose {
    max-width: 68ch;
}

.prose > * + *,
.page-content-body > * + * {
    margin-top: 1rem;
}

.prose a[href],
.page-content-body a[href] {
    color: var(--ocf-primary);
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.16em;
}

.prose a[href]:hover,
.page-content-body a[href]:hover {
    color: var(--ocf-primary-hover);
}

.prose img,
.page-content-body img,
.wp-post-image {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    border-radius: var(--image-radius);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.text-label {
    color: var(--ocf-label);
    font-size: var(--font-label-size);
    font-weight: var(--font-weight-semibold);
}

.btn-primary,
.btn-secondary,
.nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    border: var(--button-border-width) solid var(--button-border-color);
    border-radius: var(--button-radius);
    padding: 0.75rem 1rem;
    box-shadow: var(--button-shadow);
    font-size: var(--font-button-size);
    font-weight: var(--font-weight-semibold);
    line-height: 1.2;
    letter-spacing: var(--button-letter-spacing);
    text-transform: var(--button-text-transform);
    transition: background var(--duration) var(--ease), color var(--duration) var(--ease), border-color var(--duration) var(--ease), transform var(--duration) var(--ease);
}

.btn-primary,
.nav-cta {
    background: var(--ocf-primary);
    border-color: transparent;
    color: var(--ocf-heading-alt);
}

.btn-primary:hover,
.nav-cta:hover {
    background: var(--ocf-primary-hover);
    box-shadow: var(--button-shadow-hover);
    transform: var(--button-transform-hover);
}

.btn-secondary {
    background: transparent;
    border: 1px solid currentColor;
    box-shadow: none;
    color: var(--ocf-heading);
}

.btn-secondary:hover {
    background: color-mix(in srgb, currentColor 8%, transparent);
    border-color: var(--ocf-primary);
    box-shadow: none;
    color: var(--ocf-primary);
    transform: var(--button-transform-hover);
}

.btn-lg {
    min-height: 3rem;
    padding-inline: 1.25rem;
}

.btn-primary svg,
.btn-secondary svg,
.nav-cta svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.ocf-card {
    border: var(--card-border-width) solid var(--card-border-color);
    border-radius: var(--card-radius);
    background: var(--ocf-bg);
    box-shadow: var(--card-shadow);
}

.ocf-honeypot,
.bw-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.ocf-form-status {
    min-height: 1.25rem;
    color: var(--ocf-label);
    font-size: var(--font-label-size);
}

.page-content-narrow,
.not-found-panel {
    width: min(100%, 760px);
    margin-inline: auto;
}

.ocf-standard-page {
    background: var(--ocf-bg);
}

.ocf-standard-page__content {
    width: min(100%, 920px);
    max-width: none;
}

.page-featured-media {
    margin-bottom: 2rem;
}

.page-featured-media img,
.page-featured-media .wp-post-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--image-radius);
    box-shadow: var(--image-shadow);
}

.not-found-panel { text-align: center; }
.not-found-text { margin: 1rem auto 1.5rem; }
.not-found-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

.reveal,
.reveal-delay-1,
.reveal-delay-2,
.reveal-delay-3 {
    opacity: 1;
    transform: none;
}

@media (max-width: 720px) {
    :root { --nav-height: var(--ocf-nav-height-mobile, 4rem); }
    .container-global,
    .ocf-hero__grid,
    .ocf-hero__content,
    .ocf-hero__form {
        width: calc(100vw - 2rem);
        max-width: calc(100vw - 2rem);
    }
    .ocf-hero__headline {
        font-size: var(--field-font-size, var(--font-h1-size));
        max-width: 100%;
        overflow-wrap: break-word;
    }
    .ocf-hero__headline span {
        display: inline;
    }
    .ocf-hero__headline span:not(:last-child)::after {
        content: " ";
    }
    .ocf-about__headline,
    .ocf-cta__headline {
        font-size: var(--field-font-size, var(--font-h2-size));
    }
    .ocf-page-header__headline {
        font-size: var(--field-font-size, var(--font-h1-size));
        overflow-wrap: break-word;
    }
    .hero-form-card,
    .ocf-simple-form,
    .booking-wizard {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }
    .ocf-phone-combo,
    .bw-phone-combo {
        display: grid;
        grid-template-columns: minmax(0, 7rem) minmax(0, 1fr);
    }
}

@media screen and (max-width: 782px) {
    body.admin-bar { --wp-admin-bar-offset: 46px; }
}

/* OCF_AGENT_BLOCK:wbm-websites-hub START */
.page-id-81 .ocf-standard-page__content{width:100%}
.wbm-websites{--wh-navy:#0c3c6c;--wh-sky:#33affb;--wh-line:#c7d1dd}
.wbm-websites section{margin-block:clamp(2.75rem,6vw,5.5rem);scroll-margin-top:7rem}
.wbm-websites .wh-hero{margin-top:0;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(1.5rem,5vw,4rem)}
.wbm-websites h1{font-size:clamp(2.25rem,4.5vw,4.25rem);line-height:1.08;color:var(--wh-navy)}
.wbm-websites h2{color:var(--wh-navy);margin-bottom:.85rem}
.wbm-websites .wh-kicker{color:var(--wh-navy);font-weight:700}
.wbm-websites .wh-gallery,.wbm-websites .wh-pair{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.wbm-websites .wh-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.wbm-websites .wh-card,.wbm-websites .wh-band,.wbm-websites .wh-close{padding:clamp(1rem,3vw,2.25rem);border-radius:16px;background:#f3f8fc}
.wbm-websites .wh-card{background:#fff;border:1px solid var(--wh-line);box-shadow:0 6px 18px rgb(12 60 108 / 8%)}
.wbm-websites .wh-preview{position:relative;aspect-ratio:8/5;overflow:hidden;border-radius:10px;margin-bottom:1rem}
.wbm-websites .wh-preview img{display:block;width:100%;height:100%;object-fit:cover;margin:0}
.wbm-websites .wh-overlay{position:absolute;right:.65rem;bottom:.65rem;background:var(--wh-navy);color:white;border-radius:6px;padding:.4rem .65rem;font-size:.85rem}
.wbm-websites .wh-price{color:var(--wh-navy);font-weight:700;font-size:1.45rem}
.wbm-websites .wh-pending{display:block;font-weight:600;color:var(--wh-navy)}
.wbm-websites .wh-pending small{display:block}
.wbm-websites .wh-process li+li{margin-top:.75rem}
.wbm-websites details{border-bottom:1px solid var(--wh-line);padding:.5rem 0}
.wbm-websites summary{cursor:pointer;min-height:44px;padding:.45rem 0;font-weight:600}
.wbm-websites .wh-close{background:var(--wh-navy);color:white;margin-bottom:0}
.wbm-websites .wh-close h2,.wbm-websites .wh-close a{color:white}
.wbm-websites .wh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.wbm-websites a.wh-button,.wbm-websites a.wh-button:is(:visited,:hover,:focus,:active){display:inline-flex;align-items:center;min-height:44px;padding:.65rem 1rem;border-radius:8px;background:#0c3c6c;color:white;text-decoration:none}
.wbm-websites a.wh-button:hover{background:#12385e}
.wbm-websites .wh-close a.wh-button{background:white;color:#0c3c6c}
.wbm-websites :focus-visible{outline:3px solid #1976ae;outline-offset:3px}
.wbm-websites .wh-close :focus-visible{outline-color:#33affb}
@media(max-width:950px){.wbm-websites .wh-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.wbm-websites .wh-hero,.wbm-websites .wh-gallery,.wbm-websites .wh-pair{grid-template-columns:1fr}}
/* OCF_AGENT_BLOCK:wbm-websites-hub END */

/* OCF_AGENT_BLOCK:wbm-websites-refinement START */
.wbm-websites .wh-hero img{border:1px solid #c7d1dd;box-shadow:0 12px 32px rgb(12 60 108 / 13%)}
.wbm-websites .wh-gallery article.wh-card{padding:.75rem;transition:box-shadow .18s ease}
.wbm-websites .wh-gallery article.wh-card:hover,.wbm-websites .wh-gallery article.wh-card:focus-within{box-shadow:0 10px 28px rgb(12 60 108 / 16%)}
.wbm-websites .wh-gallery article.wh-card h3{padding-inline:.35rem;margin:.6rem 0 .35rem}
.wbm-websites .wh-pair .wh-card{display:flex;flex-direction:column;border-top:4px solid #33affb}
.wbm-websites .wh-pair .wh-button{align-self:flex-start;margin-top:auto}
.wbm-websites .wh-pair .wh-price{font-size:clamp(1.5rem,2.8vw,2.25rem)}
.wbm-websites .wh-process{counter-reset:wh-step;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;padding:0;margin-top:1.5rem}
.wbm-websites .wh-process li{counter-increment:wh-step;margin:0;padding:1rem;border:1px solid #c7d1dd;border-radius:12px;background:white}
.wbm-websites .wh-process li::before{content:counter(wh-step);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#0c3c6c;color:white;margin-bottom:.65rem;font-weight:700}
.wbm-websites .wh-process li p{margin:.4rem 0 0}
.wbm-websites .wh-pair a.wh-button:is(:link,:visited,:hover,:focus,:active){color:white;text-decoration:none}
@media(max-width:950px){.wbm-websites .wh-process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.wbm-websites .wh-process{grid-template-columns:1fr}}
/* OCF_AGENT_BLOCK:wbm-websites-refinement END */

/* OCF_AGENT_BLOCK:wbm-websites-live-demos START */
.wbm-websites #website-designs .wh-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.wbm-websites #website-designs .wh-preview{display:block;width:100%;aspect-ratio:960/667}
.wbm-websites #website-designs .wh-preview img{border-radius:0}
.wbm-websites #website-designs .wh-card h3{padding:0;margin:0}
.wbm-websites #website-designs .wh-demo-industry{margin:.4rem 0 1rem}
.wbm-websites #website-designs .wh-button{margin-top:auto;gap:.5rem}
/* OCF_AGENT_BLOCK:wbm-websites-live-demos END */

/* OCF_AGENT_BLOCK:wbm-websites-hero-image-fit START */
.wbm-websites .wh-hero > * { min-width: 0; }
.wbm-websites .wh-hero > img { width: 100%; max-width: 100%; height: auto; max-height: none; object-fit: contain; }
@media (max-width: 650px) { .wbm-websites .wh-hero { grid-template-columns: minmax(0, 1fr); } }
/* OCF_AGENT_BLOCK:wbm-websites-hero-image-fit END */

/* OCF_AGENT_BLOCK:wbm-websites-faq START */
.wbm-websites .wh-faq details{padding:.35rem clamp(.75rem,2vw,1.25rem);background:#f3f8fc;border:1px solid #c7d1dd;border-radius:10px}
.wbm-websites .wh-faq details+details{margin-top:.65rem}
.wbm-websites .wh-faq summary{color:#0c3c6c;padding:.65rem 0}
.wbm-websites .wh-faq details > p{max-width:72ch;margin:.25rem 0 1rem}
.wbm-websites .wh-hero > p{min-width:0;margin:0}
.wbm-websites .wh-hero > p > img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
/* OCF_AGENT_BLOCK:wbm-websites-faq END */

/* OCF_AGENT_BLOCK:wbm-growth-stages START */
.wbm-growth-stages { padding-block: clamp(2.5rem,5vw,4.5rem); background:#f3f8fc; }
.wbm-growth-stages h2 { margin:0 0 .65rem; color:var(--ocf-heading); }
.wbm-growth-stages h3 { margin:0 0 .55rem; font-size:clamp(1.05rem,1.55vw,1.3rem); }
.wbm-growth-stages p { margin:0; }
.wbm-growth-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,2vw,2rem); list-style:none; margin:calc(1.75rem + 10px) 0 0; padding:0; }
.wbm-growth-track li { position:relative; border-top:2px solid #c7d1dd; padding-top:1rem; }
.wbm-growth-number { display:block; margin-bottom:.5rem; color:#0c3c6c; font-weight:700; font-size:.85rem; letter-spacing:.1em; }
.wbm-growth-track li::before { content:""; position:absolute; inset: -2px auto auto 0; width:2.25rem; height:2px; background:#33affb; }
.wbm-growth-track li p { font-size:1rem; line-height:1.55; }
@media(max-width:950px){.wbm-growth-track{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.25rem}}
@media(max-width:520px){.wbm-growth-track{grid-template-columns:1fr;gap:1rem}.wbm-growth-track li{padding-top:.75rem}}
/* OCF_AGENT_BLOCK:wbm-growth-stages END */

/* OCF_AGENT_BLOCK:wbm-service-pathways START */
.wbm-service-pathways{padding-block:clamp(2.5rem,5vw,4.5rem) clamp(.75rem,2vw,1.5rem);background:#fff}
.wbm-service-pathways h2{margin:0 0 .65rem;color:var(--ocf-heading)}
.wbm-service-pathways p{margin:0}
.wbm-pathways-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,2vw,1.5rem);margin-top:1.75rem}
.wbm-pathway{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(1.15rem,2.5vw,2rem);border:1px solid #c7d1dd;border-radius:var(--card-radius-lg,16px);min-width:0}
.wbm-pathway .wbm-pathway-label{font-size:.78rem;font-weight:700;letter-spacing:.1em;color:#0c3c6c;margin-bottom:.65rem}
.wbm-pathway h3{margin:0 0 .65rem;font-size:clamp(1.1rem,1.6vw,1.35rem)}
.wbm-pathway h3+p{margin-bottom:1.25rem;font-size:1rem;line-height:1.55}
.wbm-pathway a.btn-primary{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin-top:auto;width:min(240px,100%);height:48px;min-height:48px;padding:0 .5rem;line-height:1.15;text-align:center;white-space:normal}
.wbm-pathway a.btn-primary:is(:link,:visited,:hover,:focus,:active){color:#fff;background:#0c3c6c;text-decoration:none}
.wbm-pathway a.btn-primary:hover{background:#12385e}
.wbm-pathway a.btn-primary:focus-visible{outline:2px solid #0c3c6c;outline-offset:3px}
@media(max-width:760px){.wbm-pathways-grid{grid-template-columns:1fr}}
/* OCF_AGENT_BLOCK:wbm-service-pathways END */

/* OCF_AGENT_BLOCK:wbm-home-about-paragraphs START */
#about .ocf-about__body > .wbm-home-about-paragraphs { grid-column:2; grid-row:2; align-self:start; max-width:36rem; }
#about .wbm-home-about-paragraphs > p { margin:0; }
#about .wbm-home-about-paragraphs > p + p { margin-top:1rem; }
#about .wbm-home-about-paragraphs > p:last-child { font-weight:700; }
@media(max-width:980px){#about .ocf-about__body > .wbm-home-about-paragraphs{grid-column:1;grid-row:auto;order:2}}
/* OCF_AGENT_BLOCK:wbm-home-about-paragraphs END */

/* OCF_AGENT_BLOCK:wbm-bold-hero START */
.wbm-bold-hero{display:grid;align-items:center;min-height:clamp(31.25rem,39vw,35rem);padding:clamp(3.25rem,7vw,5rem) 0;text-align:center;color:white;background:radial-gradient(ellipse at 75% 120%,#18507d 0%,#0c3c6c 68%) #0c3c6c}
.wbm-bold-hero .wbm-bold-eyebrow{margin:0 0 1rem;color:#bce6ff;font-size:.82rem;font-weight:700;letter-spacing:.14em}
.wbm-bold-hero h1{margin:0 auto;color:white;max-width:19ch;font-family:var(--ocf-font-heading),Poppins,sans-serif;font-size:clamp(2.4rem,6vw,5.25rem);font-weight:700;line-height:1.04;letter-spacing:-.045em}
.wbm-bold-hero h1 span{color:#33affb;white-space:nowrap}
.wbm-bold-hero .wbm-bold-intro{margin:1.25rem auto 0;max-width:65ch;color:#edf7ff;font-size:clamp(1rem,1.55vw,1.2rem);line-height:1.6}
.wbm-bold-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem 1.6rem;margin-top:1.6rem}
.wbm-bold-actions p{margin:0}
.wbm-bold-hero .wbm-bold-actions a.btn-primary:is(:link,:visited,:hover,:focus,:active){background:#33affb;color:#092b4e;text-decoration:none}
.wbm-bold-hero .wbm-bold-actions a.btn-primary:hover{background:#78ccff}
.wbm-bold-actions p a{color:white;font-weight:700;text-decoration:none;text-underline-offset:.2em}
.wbm-bold-actions p a:hover{text-decoration:underline;text-decoration-thickness:1px}
.wbm-bold-actions a:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:600px){.wbm-bold-hero{min-height:0}.wbm-bold-hero h1{max-width:15ch}.wbm-bold-actions{flex-direction:column}.wbm-bold-hero h1 span{white-space:normal}}
/* OCF_AGENT_BLOCK:wbm-bold-hero END */

/* OCF_AGENT_BLOCK:wbm-about-brand START */
.home #about .ocf-about__media:has(.wbm-about-brand){border:0;border-radius:14px;background:#0c3c6c;box-shadow:0 16px 35px rgba(12,60,108,.18),0 4px 10px rgba(12,60,108,.08)}
.wbm-about-brand{container-type:inline-size;display:grid;place-items:center;aspect-ratio:3/2;padding:7% 8%;background:#0c3c6c}
.wbm-about-brand p{margin:0;color:#fff;font-family:Poppins,var(--ocf-font-heading),sans-serif;font-size:clamp(1.36rem,12.75cqi,5.95rem);font-weight:800;line-height:.98;letter-spacing:-.045em;text-align:left}
.wbm-about-brand span{display:block;white-space:nowrap}
.wbm-about-brand span:nth-child(n+3){color:#33affb}
@media(max-width:600px){.home #about .ocf-about__media:has(.wbm-about-brand){box-shadow:0 9px 24px rgba(12,60,108,.14),0 3px 8px rgba(12,60,108,.07)}}
/* OCF_AGENT_BLOCK:wbm-about-brand END */

/* OCF_AGENT_BLOCK:wbm-accessibility-foundations START */
/* Accessibility foundations. Preserve resting design; show controls on keyboard focus. */
.wbm-skip-link { position:fixed; top:12px; left:12px; z-index:1000001; padding:12px 18px; background:#fff; color:#0C3C6C; border:2px solid #0C3C6C; border-radius:6px; transform:translateY(-180%); }
.wbm-skip-link:focus { transform:none; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #0C3C6C; outline-offset:3px; box-shadow:0 0 0 2px #fff; }
:where(main,[id],a,button,input,select,textarea,summary,[tabindex]) { scroll-margin-top:120px; }
.wbm-auto p > a:not([class]) { text-decoration:underline; text-underline-offset:3px; }
.error404 .btn-secondary { color:#0C3C6C; border-color:#0C3C6C; }
.footer-bottom-links { flex-wrap:wrap; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
/* OCF_AGENT_BLOCK:wbm-accessibility-foundations END */

/* OCF_AGENT_BLOCK:wbm-accessible-cookie-text START */
.cmplz-cookiebanner .cmplz-category-title, #cmplz-manage-consent-container .cmplz-category-title { color:#0C3C6C !important; }
.cmplz-cookiebanner .cmplz-always-active, #cmplz-manage-consent-container .cmplz-always-active { color:#216e39 !important; }
/* OCF_AGENT_BLOCK:wbm-accessible-cookie-text END */

/* OCF_AGENT_BLOCK:wbm-cookie-focus-clearance START */
body:has(main :focus-visible, .site-footer :focus-visible, #main-nav :focus-visible) #cmplz-manage-consent { visibility:hidden; }
/* OCF_AGENT_BLOCK:wbm-cookie-focus-clearance END */

/* OCF_AGENT_BLOCK:wbm-mobile-brand-panel START */
@media (max-width:640px) {
  .home #about .ocf-about__media:has(.wbm-about-brand) {
    display: grid;
  }
  .home #about .wbm-about-brand {
    align-self: stretch;
    aspect-ratio: auto;
    min-height: 100%;
  }
  .home #about .wbm-about-brand p {
    font-size: clamp(2rem, 16cqi, 3.75rem);
  }
}
/* OCF_AGENT_BLOCK:wbm-mobile-brand-panel END */
