:root{--batch-body:"Libre Franklin",Arial,sans-serif;--batch-display:Georgia,serif;--batch-ink:#26313a;--batch-muted:#4f5b62;--batch-accent:#3f647d;--batch-bg:#f3f1e9;--batch-surface:#e5e9e7;--batch-line:#d4d2c9;--batch-action-ink:#ffffff}

/* Bounded interior identity and quote readability, October 2026. */
html body.portfolio-inner{background:var(--batch-bg)!important;color:var(--batch-ink)!important;font-family:var(--batch-body)!important;line-height:1.6}
html body.portfolio-inner .top{background:var(--batch-bg)!important;border-bottom:1px solid var(--batch-line)!important;color:var(--batch-ink)!important}
html body.portfolio-inner .top .wrap{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:20px!important;min-height:100px!important;padding-block:18px!important;max-width:1380px!important}
html body.portfolio-inner .top .portfolio-brand{display:flex!important;align-items:center!important;gap:13px!important;position:static!important;transform:none!important;min-width:0!important;max-width:350px!important;width:auto!important;height:auto!important;flex:0 1 auto!important;order:0!important;text-decoration:none!important;color:var(--batch-ink)!important;font-family:var(--batch-body)!important}
html body.portfolio-inner .portfolio-brand :is(strong,.brand-txt,.brand-word){display:block;font:700 25px/1.12 var(--batch-display)!important;letter-spacing:-.025em!important;white-space:normal!important;color:inherit!important}
html body.portfolio-inner .portfolio-brand :is(small,.brand-sub){display:block;margin-top:6px;font:500 13px/1.35 var(--batch-body)!important;letter-spacing:0!important;text-transform:none!important;color:var(--batch-muted)!important}
html body.portfolio-inner .portfolio-brand :is(svg,.brand-mark,.guide-mark,.bb-brand-mark){width:50px!important;height:54px!important;flex:none!important}
html body.portfolio-inner .portfolio-brand svg{display:block}
html body.portfolio-inner .top nav{order:1!important;flex:1 1 auto!important;display:flex!important;flex-wrap:wrap!important;gap:8px 14px!important;justify-content:flex-end!important;overflow:visible!important;mask-image:none!important;max-width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
html body.portfolio-inner .top nav a{font:600 15px/1.4 var(--batch-body)!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important;color:var(--batch-ink)!important;background:transparent!important;padding:10px 5px!important;border:0!important;border-radius:0!important;text-decoration:none!important;min-height:44px!important}
html body.portfolio-inner .top nav a[aria-current="page"]{text-decoration:underline!important;text-underline-offset:6px!important;text-decoration-thickness:2px!important;color:var(--batch-ink)!important}
html body.portfolio-inner .top nav .cta{display:inline-flex!important;background:var(--batch-accent)!important;color:var(--batch-action-ink)!important;border-radius:8px!important;padding:10px 14px!important}
html body.portfolio-inner .top .phone{order:2!important;flex:none!important;margin:0!important;font:700 15px/1.4 var(--batch-body)!important;color:var(--batch-ink)!important;background:transparent!important;padding:10px 5px!important;border:0!important;min-height:44px!important;white-space:nowrap!important}
html body.portfolio-inner .top .phone svg{width:18px!important;height:18px!important}
html body.portfolio-inner :is(.page-head,.quote-aside,.section-tint){background:var(--batch-surface)!important;color:var(--batch-ink)!important;border-color:var(--batch-line)!important}
html body.portfolio-inner :is(h1,h2,h3){font-family:var(--batch-display)!important;color:var(--batch-ink);letter-spacing:-.025em!important}
html body.portfolio-inner .page-head h1{font-size:clamp(30px,3vw,44px)!important;line-height:1.15!important}
html body.portfolio-inner :is(.page-head p,.quote-aside p,.quote-aside li,.quote-aside dd,.hint,.form-next,.quote .small){font:400 16px/1.6 var(--batch-body)!important;color:var(--batch-muted)!important;max-width:72ch!important;opacity:1!important}
html body.portfolio-inner .field label{font:600 16px/1.5 var(--batch-body)!important;letter-spacing:0!important;text-transform:none!important;color:var(--batch-ink)!important}
html body.portfolio-inner .field :is(.req,.opt){font:500 14px/1.5 var(--batch-body)!important;letter-spacing:0!important;text-transform:none!important;color:var(--batch-muted)!important;opacity:1!important}
html body.portfolio-inner .field :is(input,textarea,select){background:#fff!important;color:var(--batch-ink)!important;border:1px solid var(--batch-muted)!important;border-radius:8px!important;font:400 17px/1.5 var(--batch-body)!important}
html body.portfolio-inner :is(.quote button,.btn,.actionbar .btn){background:var(--batch-accent)!important;color:var(--batch-action-ink)!important;border-color:var(--batch-accent)!important;border-radius:8px!important;font:700 16px/1.4 var(--batch-body)!important;letter-spacing:0!important;text-transform:none!important;min-height:48px!important}
html body.portfolio-inner .actionbar{background:var(--batch-bg)!important;border-top:1px solid var(--batch-line)!important}
html body.portfolio-inner .actionbar .btn.ghost{background:var(--batch-bg)!important;color:var(--batch-ink)!important;border:1px solid var(--batch-ink)!important}
html body.portfolio-inner .quote-aside{border:0!important;border-radius:10px!important}
html body.portfolio-inner .quote-aside :is(a,dt){color:var(--batch-ink)!important;font-size:16px!important;letter-spacing:0!important;text-transform:none!important}
html body.portfolio-inner .site-foot{background:var(--batch-ink)!important;color:#fff!important}
html body.portfolio-inner .site-foot :is(h2,p,a,.foot-phone){color:#fff!important}
html body.portfolio-inner :focus-visible{outline:3px solid var(--batch-accent)!important;outline-offset:4px!important}
html body.portfolio-inner ::selection{background:var(--batch-accent);color:var(--batch-action-ink)}
@media(max-width:900px){html body.portfolio-inner .top .wrap{gap:14px!important}html body.portfolio-inner .top nav{flex-basis:100%!important;justify-content:flex-start!important;order:3!important}html body.portfolio-inner .top .phone{margin-left:auto!important}html body.portfolio-inner .portfolio-brand{max-width:calc(100% - 44px)!important}html body.portfolio-inner .top .phone.only-wide{font-size:0!important;min-width:44px!important}html body.portfolio-inner .top .phone.only-wide svg{width:22px!important;height:22px!important}}
@media(max-width:480px){html body.portfolio-inner .top .wrap{padding-block:14px!important;gap:12px!important}html body.portfolio-inner .portfolio-brand :is(strong,.brand-txt,.brand-word){font-size:22px!important}html body.portfolio-inner .top nav a{font-size:14px!important}html body.portfolio-inner .actionbar .btn{font-size:14px!important;white-space:normal!important}html body.portfolio-inner .quote-aside{padding:22px!important}}

/* Confirmed inherited contrast and generated-label conflicts. */
html body.portfolio-inner .top nav .cta[aria-current="page"]{color:var(--batch-action-ink)!important}
html body.portfolio-inner .page-head h1,html body.portfolio-inner .quote-aside h2{color:var(--batch-ink)!important}
html body.portfolio-inner .quote-aside h2{font-size:20px!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important}
html body.portfolio-inner .quote-aside a{font-family:var(--batch-body)!important;font-weight:700!important}

/* October 2026: repair verified interior contrast without changing layout. */
html body.portfolio-inner .cta-band h2{color:#ffffff!important}
