/*
Theme Name: BIA R3 Charcoal
Template: blocksy
Version: 3.0
License: GNU General Public License v2 or later
*/
/* Free Blocksy integration. Accepted concepts.css remains byte-identical to R3. */
:root{--bia-header-height:94px;--theme-font-family:Arial,Helvetica,sans-serif;--theme-text-color:#f4f0e7;--theme-headings-color:#f4f0e7;--theme-link-initial-color:#e4b86b;--theme-link-hover-color:#f2d39e;--theme-content-spacing:0;--theme-block-spacing:0}
body{font-family:Arial,Helvetica,sans-serif;--theme-font-size:17px;background:#171916;color:#f4f0e7}
#main-container,#main{background:#171916}main>.ct-container,main>.ct-container-full{width:100%;max-width:none;padding:0;margin:0}article.page,.entry-content{width:100%;max-width:none!important;margin:0;padding:0}.hero-section{display:none}
.entry-content :where(.wp-block-group,.wp-block-image,.wp-block-list){margin-block:0}.entry-content .wp-block-group{min-width:0}.entry-content p{margin-top:0;margin-bottom:1em}.entry-content h1,.entry-content h2,.entry-content h3{color:inherit;font-weight:400;font-family:Arial,Helvetica,sans-serif;line-height:1.1;margin-top:0}.entry-content h1{line-height:1.12;margin-bottom:26px}.entry-content h2{margin-bottom:.83em}.entry-content h3{margin-bottom:1em}.entry-content .eyebrow{margin-bottom:22px}.entry-content .section-lede{margin:20px 0 0}.entry-content .hero-actions p,.entry-content .contrast-grid p,.entry-content .service-preview p{margin:0}.entry-content .hero-panel p{margin-bottom:8px}.entry-content .section-head h2{margin-bottom:0}.entry-content .callout-band>p{margin:0}.entry-content .callout-band>p:last-child .btn{margin-top:12px}.entry-content .knowledge-path{list-style:none;padding:0}.entry-content .knowledge-path li{margin:0}.entry-content .hero-actions{margin-top:34px}
.entry-content figure{margin:0}.entry-content figure picture{height:100%;width:100%}.entry-content figure img{display:block;width:100%;height:100%;object-fit:cover;max-width:100%}.entry-content .inner-art img{object-position:50% 52%}.entry-content .hero-art img{object-position:75% center}.entry-content .btn{color:inherit}.entry-content .btn.primary{color:#171916}.entry-content .text-link{color:#e4b86b}
#header{position:sticky!important;top:0!important;z-index:100;display:block;height:auto;padding:0;background:#171916;border-bottom:1px solid #454945}.bia-header{height:94px;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.bia-header>a{flex-shrink:0}.bia-header img{width:165px;height:43px;object-fit:contain}.bia-header nav{display:flex;align-items:center;gap:34px;margin-left:auto}.bia-header a{font:14px/1.65 Arial,sans-serif;text-decoration:none;color:#f4f0e7}.bia-header a:hover,.bia-header a[aria-current]{color:#e4b86b}.bia-header nav a:last-child{border-left:1px solid #454945;padding-left:22px}.bia-menu{display:none}.bia-skip{position:absolute;top:-200px;left:12px;background:#f4f0e7;color:#171916;padding:12px;z-index:200}.bia-skip:focus{top:12px}.bia-header :focus-visible,.site-footer :focus-visible{outline:3px solid #e4b86b;outline-offset:5px}.split-section :focus-visible,.contrast-band :focus-visible{outline-color:#79541c}
html{scroll-padding-top:calc(var(--bia-header-height) + 32px)}.entry-content [id]{scroll-margin-top:calc(var(--bia-header-height) + 32px)}body.admin-bar #header{top:32px!important}.site-footer p,.site-footer a{color:inherit}.site-footer .footer-logo img{height:auto}.entry-content .contact-form{pointer-events:auto}.entry-content input:disabled,.entry-content textarea:disabled,.entry-content select:disabled{opacity:1;color:#171916;background:#f4f0e7}
@media(max-width:900px){.bia-header{height:auto;min-height:94px;flex-wrap:wrap;gap:12px}.bia-header nav{gap:17px;flex-wrap:wrap;width:100%;margin:0}.bia-js .bia-menu{display:block;background:transparent;border:1px solid #e4b86b;color:#f4f0e7;padding:7px 14px}.bia-js .bia-header nav{display:none}.bia-js .bia-header nav.is-open{display:flex}.bia-header nav a:last-child{padding-left:16px}html:not(.bia-js){--bia-header-height:180px}}
@media(max-width:782px){body.admin-bar #header{top:46px!important}}
@media(max-width:600px){#wpadminbar{position:fixed!important}.bia-header{min-height:80px;padding:12px 5%}.bia-header img{width:132px;height:43px}.bia-header a{font-size:13px}.entry-content .hero-art img{object-position:82% 50%}.entry-content .knowledge-intro{margin-top:30px}.entry-content .knowledge-path{margin-top:28px}.entry-content .contrast-grid{margin-top:30px}.entry-content .founder-card{margin-top:30px}.entry-content .founders-home>p{margin-top:30px}.entry-content .callout-band>p{margin-top:24px}.entry-content .section-head>p{margin-top:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-art img{transform:none!important}}
/* Blocksy constrained-layout defaults must not inset accepted full-width bands. */
body .entry-content.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none;margin-left:0!important;margin-right:0!important}
body .entry-content>.wp-block-group{width:100%}
.entry-content .section-head{margin-bottom:32px}
.entry-content .service-card,.entry-content .service-detail{margin:35px 0}
/* Native Blocksy control height must accommodate the reviewed padding/labels. */
.entry-content .contact-form input:not([type=hidden]),.entry-content .contact-form select{height:52px;min-height:52px;padding:12px;line-height:1.4;box-sizing:border-box;border-radius:0;border:1px solid var(--line)}
.entry-content .contact-form .error{display:none;margin:14px 0;color:#ffd6cf;font-weight:700}.entry-content .contact-form .error[data-visible="true"]{display:block}.entry-content .contact-form .confirmation{padding:28px;border:1px solid var(--line);background:#242b26}.entry-content .contact-form .challenge[data-state="verified"] .challenge-status{color:#cce8cc}.entry-content .contact-form .challenge[data-state="error"] .challenge-status,.entry-content .contact-form .challenge[data-state="expired"] .challenge-status{color:#ffd6cf}

/* R10 native-block integration for approved R5 layout. */
.entry-content{position:relative;isolation:isolate}
.r5.page-contact .entry-content>.contact-layout{width:44%}
.r5.page-contact .entry-content>.contact-scene{width:100%;margin:0}
.r5.page-contact .entry-content>.page-hero{width:100%}
.r5 .entry-content .service-card,.r5 .entry-content .service-detail{margin:0}
.r5 .entry-content .service-detail{padding:0;border:0}
.r5 .entry-content .feature-art img{height:auto;object-fit:contain}
.r5 .entry-content .inner-art img{object-position:62% 55%}
@media(max-width:1000px){.r5.page-contact .entry-content>.contact-layout{width:52%}}
@media(max-width:700px){.r5.page-contact .entry-content{display:flex;flex-direction:column}.r5.page-contact .entry-content>.contact-layout{width:100%}.r5.page-contact main{display:block}.r5 .entry-content .inner-art img{object-position:63% 58%}}

.bia-local-state{padding:10px 5%;background:#f4f0e7;color:#171916;font:14px/1.5 Arial,sans-serif}

/* BIA-1225 / R11: scoped founder-review corrections only. */
.r5.page-home .service-preview::before{content:counter(services)}
/* Core image blocks carry an inline-size constraint independent of group bands. */
body.r5.page-services .entry-content>.services-panorama{width:100%;max-width:none;margin-inline:0!important;padding:0}
.r5.page-services .entry-content>.services-panorama img{width:100%;max-width:none;height:100%;object-fit:cover}
.r5.page-services #ways-to-start .section-head>div{width:100%}
.r5.page-services #ways-to-start h2{max-width:none}
.r5.page-services #ways-to-start .steps-grid{margin-top:clamp(24px,2.5vw,36px)}
.r5.page-services .knowledge-specialty-head{grid-template-columns:1fr 1fr;gap:65px}
@media(max-width:900px){.r5.page-services .knowledge-specialty-head{gap:35px}}

/* R11 selected art: picture occupies panorama, mobile uses supplied 1.6 crop. */
.r5.page-services .services-panorama picture{display:block;width:100%;height:100%}

/* BIA-1229 / R12: shared eyebrow / first-heading-line grid.
   Native group blocks remain editable. Flatten only the neutral heading wrapper
   into named grid tracks; no section-specific pixel offsets. */
@media(min-width:601px){
 .r5 .entry-content :is(.split-section,.founders-home,.callout-band,.knowledge-specialty-head){grid-template-rows:auto auto 1fr;row-gap:0;align-items:start}
 .r5 .entry-content :is(.split-section,.founders-home,.callout-band,.knowledge-specialty-head)>div:first-child{display:contents}
 .r5 .entry-content :is(.split-section,.founders-home,.callout-band,.knowledge-specialty-head)>div:first-child>.eyebrow{grid-column:1;grid-row:1}
 .r5 .entry-content :is(.split-section,.founders-home,.callout-band,.knowledge-specialty-head)>div:first-child>h2{grid-column:1;grid-row:2/4;text-box:trim-start cap alphabetic}
 .r5 .entry-content :is(.split-section,.founders-home,.callout-band,.knowledge-specialty-head)>p{grid-column:2;grid-row:2;margin-top:0;align-self:start;text-box:trim-start cap alphabetic}
 .r5 .entry-content .callout-band>p:last-child{grid-row:3;text-box:normal;margin-top:24px}
 .r5 .entry-content .split-section>.inner-art{grid-row:4;grid-column:1/-1;margin-top:60px}
}
/* A tall right detail column must not distribute extra row height between
   the left title and description. The remaining track absorbs the height. */
.r5 .entry-content .service-card{grid-template-rows:auto auto 1fr}
.r5 .entry-content .service-card-head{grid-row:1;align-self:start}
.r5 .entry-content .service-card-head h2{margin-bottom:24px}
.r5 .entry-content .service-outcome{grid-row:2;align-self:start}
.r5 .entry-content .service-detail{grid-row:1/4}

/* BIA-1232 / R13: remove duplicate stack trailing padding; retain content-sized cards and their own separation. */
.r5.page-services .entry-content .services-stack{padding-bottom:0}
