/* IBOS V16.7.4.2 | readable type + configurable page banner. Loaded after visual layers. */
.ibos-visual-theme{--ibos-h1-size:clamp(2.12rem,3.5vw,3.65rem);--ibos-h2-size:clamp(1.72rem,2.55vw,2.42rem);--ibos-h3-size:clamp(1.11rem,1.4vw,1.35rem)}
.ibos-visual-theme :is(h1,h2,h3,h4,h5,h6){max-width:100%;white-space:normal;word-break:normal;overflow-wrap:break-word;hyphens:none;text-wrap:pretty;line-height:1.25;letter-spacing:-.025em}
.ibos-visual-theme :is(.hero-content,.page-hero .container,.page-hero-grid>div,.section-heading,.card-copy,.ecosystem-card-copy,.product-detail-grid>div,.contact-page-info,.contact-form-title,.calc-cost-card,.calc-cost-header,.price-card,.price-card>div,.capability-card-body,.article-copy,.archive-card-copy,.prose){min-width:0;max-width:100%}
.ibos-visual-theme .hero-content h1{font-size:var(--ibos-h1-size)!important;line-height:1.14!important;letter-spacing:-.036em!important;max-width:760px}
.ibos-visual-theme :is(.page-hero h1,.product-detail-grid h1){font-size:clamp(2rem,2.9vw,3rem)!important;line-height:1.18!important;letter-spacing:-.03em!important;max-width:850px}
.ibos-visual-theme .section-heading h2{font-size:var(--ibos-h2-size)!important;line-height:1.24!important;letter-spacing:-.026em!important;max-width:780px}
.ibos-visual-theme :is(.process-head h2,.insights-heading h2,.muted-section h2){font-size:var(--ibos-h2-size)!important;line-height:1.25!important}
.ibos-visual-theme :is(.problem-card h3,.capability-card h3,.process-step h3,.resident-point strong,.ecosystem-card-copy h3,.contact-form-title h2,.contact-page-info h2,.archive-card-copy h2,.article-copy h2,.article-copy h3,.case-info h3,.price-card h3,.calc-cost-header h3,.page-aside h2,.detail-side h2){font-size:var(--ibos-h3-size)!important;line-height:1.35!important;letter-spacing:-.018em!important}
.ibos-visual-theme :is(.prose h2,.detail-content h2){font-size:clamp(1.36rem,1.9vw,1.72rem)!important;line-height:1.35!important}
.ibos-visual-theme :is(.prose h3,.detail-content h3){font-size:clamp(1.16rem,1.4vw,1.35rem)!important;line-height:1.38!important}
.ibos-visual-theme :is(.hero-description,.page-hero p,.section-heading p){font-size:clamp(.94rem,1vw,1.03rem)!important;line-height:1.72!important;max-width:700px;overflow-wrap:break-word}
.ibos-visual-theme :is(.capability-card p,.problem-card p,.process-step p,.ecosystem-card-copy p,.page-aside p,.contact-page-info p,.article-copy p,.archive-card-copy p){line-height:1.66;overflow-wrap:break-word}
.ibos-visual-theme :is(.price-card,.calc-cost-card,.calc-cost-details,.calc-results,.form-grid,.contact-card,.capability-card,.process-step,.ecosystem-product,.article-card,.archive-card){min-width:0;max-width:100%}
.ibos-visual-theme :is(.calc-cost-details dd,.price-bottom strong,.price-amount,.calc-cost-total strong,.calc-results strong){overflow-wrap:anywhere;max-width:100%}
/* The front-facing banner is decorative; titles and descriptions are live WP text. */
.ibos-visual-theme.ibos-has-page-banner :is(.page-hero,.product-detail-hero){position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(112deg,var(--ibos-bg) 5%,var(--ibos-section-tint) 100%)}
.ibos-visual-theme.ibos-has-page-banner :is(.page-hero,.product-detail-hero)::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(90deg,var(--ibos-bg) 0%,color-mix(in srgb,var(--ibos-bg) 94%,transparent) 26%,transparent 74%),var(--ibos-page-banner-image);background-position:center,right center;background-size:100% 100%,cover;background-repeat:no-repeat;opacity:.94}
.ibos-visual-theme.ibos-has-page-banner :is(.page-hero,.product-detail-hero)>.container{position:relative;z-index:1}
.ibos-visual-theme.ibos-has-page-banner .page-hero :is(h1,p,.breadcrumbs,.eyebrow){position:relative;z-index:1}
.ibos-visual-theme.ibos-has-page-banner .page-hero :is(h1,p){max-width:min(720px,58%)}
.ibos-visual-theme.ibos-banner-style-subtle :is(.page-hero,.product-detail-hero)::before{opacity:.45}
/* On pages already containing an explicit image, avoid duplication. */
.ibos-visual-theme.ibos-has-page-banner .page-hero-grid>.page-hero-image{display:none}
.ibos-visual-theme.ibos-has-page-banner .page-hero-grid{display:block}
@media(max-width:1024px){
 .ibos-visual-theme{--ibos-h1-size:clamp(2rem,4.25vw,3.05rem);--ibos-h2-size:clamp(1.62rem,3vw,2.14rem);--ibos-h3-size:clamp(1.06rem,2vw,1.28rem)}
 .ibos-visual-theme .section-heading h2{max-width:100%}
 .ibos-visual-theme.ibos-has-page-banner .page-hero :is(h1,p){max-width:65%}
}
@media(max-width:767px){
 .ibos-visual-theme{--ibos-h1-size:clamp(1.85rem,7.6vw,2.25rem);--ibos-h2-size:clamp(1.42rem,6vw,1.81rem);--ibos-h3-size:clamp(1.06rem,4.8vw,1.28rem)}
 .ibos-visual-theme .hero-content h1{font-size:var(--ibos-h1-size)!important;line-height:1.19!important;letter-spacing:-.02em!important}
 .ibos-visual-theme :is(.page-hero h1,.product-detail-grid h1){font-size:clamp(1.74rem,7.1vw,2.13rem)!important;line-height:1.23!important;letter-spacing:-.02em!important;max-width:100%}
 .ibos-visual-theme :is(.section-heading h2,.process-head h2,.insights-heading h2){font-size:var(--ibos-h2-size)!important;line-height:1.3!important}
 .ibos-visual-theme .section-heading p{font-size:.96rem!important;line-height:1.65!important}
 .ibos-visual-theme :is(.hero-description,.page-hero p){font-size:.94rem!important;line-height:1.64!important}
 .ibos-visual-theme :is(.eyebrow,.tiny-label,.process-count,.capability-num,.section-side-number){letter-spacing:.08em}
 .ibos-visual-theme :is(.prose h2,.detail-content h2){font-size:1.38rem!important}
 .ibos-visual-theme :is(.prose h3,.detail-content h3){font-size:1.14rem!important}
 .ibos-visual-theme :is(.process-step,.capability-card,.problem-card,.price-card,.calc-cost-card,.ecosystem-product){min-width:0}
 .ibos-visual-theme .price-amount{font-size:clamp(1.8rem,7vw,2.45rem)!important}
 .ibos-visual-theme .calc-results{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .ibos-visual-theme :is(.hero-content,.hero-grid,.page-hero-grid,.section-heading,.process-step,.process-head,.calc-cost-card,.contact-page-grid){min-width:0}
 .ibos-visual-theme.ibos-has-page-banner .page-hero{padding-bottom:172px!important;min-height:335px}
 .ibos-visual-theme.ibos-has-page-banner .page-hero :is(h1,p){max-width:100%}
 .ibos-visual-theme.ibos-has-page-banner .page-hero::before{inset:auto 0 0;height:156px;opacity:.96;background-image:linear-gradient(180deg,var(--ibos-bg) 0%,transparent 48%),var(--ibos-page-banner-image);background-position:center,right center;background-size:100% 100%,auto 172px}
 .ibos-visual-theme.ibos-has-page-banner .page-hero .breadcrumbs{margin-bottom:18px}
 .ibos-visual-theme.ibos-has-page-banner .product-detail-hero::before{opacity:.18}
}
@media(max-width:430px){
 .ibos-visual-theme{--ibos-h1-size:clamp(1.7rem,7.2vw,2.03rem);--ibos-h2-size:clamp(1.35rem,5.7vw,1.63rem);--ibos-h3-size:clamp(1.02rem,4.7vw,1.2rem)}
 .ibos-visual-theme :is(.section-heading h2,.page-hero h1,.hero-content h1){text-wrap:pretty}
 .ibos-visual-theme .calc-results{grid-template-columns:minmax(0,1fr)}
 .ibos-visual-theme .price-amount{font-size:1.86rem!important}
 .ibos-visual-theme .brand-wordmark{font-size:clamp(1.5rem,6.8vw,1.95rem)!important}
}
