/* Corporate information pages. Native Odoo navigation and forms remain in place. */
.bn-corporate-page { --bn-paper:#fafbf8; --bn-warm:#fff2e7; --bn-ink:#163e33; --bn-muted:#5e7067; --bn-line:#dce5de; }
.bn-corporate-page [id] { scroll-margin-top:130px; }
.bn-corporate-page .bn-about-title-row { grid-template-columns:1.15fr .85fr; gap:8%; }
.bn-corporate-page .bn-about-title-row h1 { font-size:clamp(44px,5.1vw,74px); line-height:1.24; }
.bn-corporate-page .bn-about-title-row p { max-width:470px; text-wrap:pretty; }
.bn-product-diptych { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.bn-product-diptych figure { min-width:0; }
.bn-product-diptych img { width:100%; aspect-ratio:1567/1004; object-fit:contain; border-radius:4px; background:#f8f7f3; }
.bn-product-diptych figcaption { display:flex; gap:24px; padding:18px 0; border-bottom:1px solid var(--bn-line); font-size:13px; }
.bn-product-diptych figcaption span { color:#a55a36; font-size:11px; }
.bn-service-visual { display:grid; grid-template-columns:1.15fr .85fr; align-items:stretch; }
.bn-service-visual > figure { min-height:400px; position:relative; }
.bn-service-visual img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center top; }
.bn-service-visual > div { padding:56px 40px; background:#f3f7f3; display:flex; flex-direction:column; align-items:start; justify-content:center; }
.bn-service-visual h2 { font-size:clamp(27px,2.7vw,38px); }
.bn-service-visual p { margin:24px 0 14px; font-size:14px; }
.bn-page-entries { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:48px; padding-bottom:40px; }
.bn-page-entries > a { display:flex; align-items:start; gap:18px; border-bottom:1px solid var(--bn-line); padding:24px 24px 28px; transition:background .2s; }
.bn-page-entries > a:first-child { padding-left:0; }
.bn-page-entries > a:last-child { padding-right:0; }
.bn-page-entries > a > span:last-child { margin-left:auto; font-size:22px; line-height:1; color:var(--bn-action); }
.bn-page-entries .bn-entry-num { font-size:10px; line-height:28px; color:#7a877e; }
.bn-page-entries h2 { font-size:19px; line-height:1.45; letter-spacing:-.02em; margin-bottom:12px; }
.bn-page-entries p { font-size:12px; line-height:1.8; }
.bn-page-entries > a:hover h2 { color:var(--bn-action); }
.bn-page-reading { display:grid; grid-template-columns:.8fr 1.2fr; gap:12%; align-items:start; }
.bn-page-details { background:#fbfcfa; margin-top:24px; }
.bn-page-reading > div:first-child { position:sticky; top:150px; }
.bn-page-reading .bn-section-note { margin-top:26px; max-width:270px; font-size:13px; }
.bn-page-meta { display:flex; flex-wrap:wrap; gap:10px 24px; font-size:11px; color:#718177; border-bottom:1px solid var(--bn-line); padding-bottom:20px; margin-bottom:32px; }
.bn-published-copy .bionovo-rich-text h2 { font-size:23px; line-height:1.5; letter-spacing:-.02em; margin:32px 0 14px; font-weight:500; }
.bn-published-copy .bionovo-rich-text h2:first-child { margin-top:0; }
.bn-published-copy .bionovo-rich-text p { font-size:15px; line-height:2; }
.bn-published-copy .bionovo-rich-text a { color:#a64517; text-decoration:underline; text-underline-offset:4px; }
.bn-published-copy .bionovo-rich-text p:last-child { margin-bottom:0; }
.bn-reading-tail { margin-top:28px; }
.bn-page-cta { background:var(--bn-warm); padding:64px 0; }
.bn-page-cta > .bn-container { display:flex; justify-content:space-between; align-items:center; gap:48px; }
.bn-page-cta p { margin-top:20px; font-size:14px; }
.bn-page-cta .bn-brand-button { flex:none; }
.bn-legal-section { border-top:1px solid var(--bn-line); margin:0; }
.bn-legal-index { position:sticky; top:145px; padding:32px; background:#eef4ef; }
.bn-legal-index .bn-brand-link { display:flex; justify-content:space-between; padding:20px 0; }
.bn-legal-index p { font-size:12px; margin-top:28px; }
.bn-contact-surface { background:#fcf7f1; padding:64px 0 80px; }
.bn-contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; align-items:start; }
.bn-contact-information h2 { font-size:44px; letter-spacing:-.04em; }
.bn-contact-information .bn-company-name { font-size:13px; margin:12px 0 24px; }
.bn-direct-contact > a,.bn-direct-contact > div { display:block; padding:22px 0; border-top:1px solid #dedfd5; }
.bn-direct-contact span { display:block; font-size:11px; margin-bottom:10px; color:#63766a; }
.bn-direct-contact strong { display:block; font-size:24px; font-weight:400; line-height:1.4; letter-spacing:-.02em; overflow-wrap:anywhere; }
.bn-direct-contact p { font-size:14px; color:var(--bn-ink); }
.bn-direct-contact a:hover strong { color:var(--bn-action); }
.bn-contact-picture { margin-top:20px!important; }
.bn-contact-picture img { width:100%; aspect-ratio:1.85; object-fit:cover; object-position:center 55%; }
.bn-contact-picture figcaption { padding-top:12px; font-size:11px; color:#6e7b72; }
.bn-other-contact { margin-top:22px; font-size:12px; border-top:1px solid var(--bn-line); padding-top:18px; }
.bn-other-contact summary { cursor:pointer; color:#647568; }
.bn-other-contact a { display:block; margin-top:14px; overflow-wrap:anywhere; }
.bn-contact-form { background:#fff; padding:40px; border-top:3px solid #dca477; box-shadow:0 12px 40px #153e3305; }
.bn-form-intro { margin-bottom:30px; }
.bn-form-intro h2 { font-size:29px; }
.bn-form-intro p { font-size:12px; margin-top:13px; }
.bn-contact-form .s_website_form > .container { padding:0; }
.bn-contact-form .s_website_form_label { width:auto!important; display:block; margin-bottom:9px; font-size:13px; font-weight:500; color:var(--bn-ink); }
.bn-contact-form .s_website_form_mark { color:#b54816; }
.bn-contact-form .s_website_form_rows { --gutter-x:24px; --bs-gutter-x:24px; }
.bn-contact-form .s_website_form_field { margin-bottom:22px!important; }
.bn-contact-form .form-control { min-height:48px; border:1px solid #dce3dc; border-radius:4px; background:#fcfdfa; padding:12px 14px; font-size:14px; color:var(--bn-ink); box-shadow:none; }
.bn-contact-form textarea.form-control { min-height:150px; resize:vertical; }
.bn-contact-form .form-control:focus { border-color:#59826c; box-shadow:0 0 0 3px #e8f0e9; background:#fff; }
.bn-contact-form .s_website_form_submit .s_website_form_label { display:none; }
.bn-contact-form .s_website_form_submit { display:flex; flex-wrap:wrap; align-items:center; gap:18px; text-align:left!important; }
.bn-contact-form .s_website_form_send { display:inline-flex; align-items:center; justify-content:space-between; gap:40px; background:#193f33; border:1px solid #193f33; border-radius:999px; padding:15px 25px; font-size:14px; color:#fff; }
.bn-contact-form .s_website_form_send:hover { background:#285646; }
.bn-contact-form .s_website_form_send span { font-size:20px; line-height:1; }
.bn-contact-form .bn-form-privacy { font-size:11px; line-height:1.8; margin-top:24px; color:#6b7c71; }
.bn-form-privacy a { text-decoration:underline; text-underline-offset:3px; }
.bn-contact-next { display:grid; grid-template-columns:1fr 1fr; gap:12%; }
.bn-contact-next > div:last-child { display:grid; }
.bn-contact-next .bn-brand-link { justify-content:space-between; padding:20px 0; }
@media(max-width:1199px) { .bn-service-visual > div { padding:32px; }.bn-contact-grid { gap:6%; }.bn-contact-form { padding:30px; }.bn-page-reading { gap:8%; }.bn-page-entries > a { padding:20px 15px; gap:12px; } }
@media(max-width:991px) { .bn-corporate-page .bn-about-title-row { grid-template-columns:1fr; gap:26px; }.bn-corporate-page .bn-about-title-row h1 { font-size:54px; }.bn-service-visual { grid-template-columns:1fr; }.bn-service-visual > figure { min-height:360px; }.bn-service-visual > div { padding:36px; }.bn-product-diptych { gap:20px; }.bn-page-entries { grid-template-columns:1fr; padding-top:30px; padding-bottom:24px; }.bn-page-entries > a { padding:23px 0; }.bn-page-entries p { font-size:13px; }.bn-page-entries h2 { margin-bottom:6px; }.bn-page-reading { grid-template-columns:1fr; gap:36px; }.bn-page-reading > div:first-child,.bn-legal-index { position:static; }.bn-page-reading .bn-section-note { max-width:480px; margin-top:18px; }.bn-legal-index { padding:28px; }.bn-contact-grid { grid-template-columns:1fr; gap:36px; }.bn-contact-information { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }.bn-contact-information > .bn-eyebrow,.bn-contact-information > h2,.bn-contact-information > p { grid-column:1/-1; }.bn-contact-picture { margin:0!important; }.bn-contact-picture img { aspect-ratio:1/1; }.bn-other-contact { grid-column:1/-1; }.bn-contact-form { padding:36px; }.bn-page-cta > .bn-container { align-items:start; }.bn-page-cta h2 { font-size:32px; }.bn-contact-next { gap:7%; } }
@media(max-width:575px) { .bn-corporate-page [id] { scroll-margin-top:98px; }.bn-corporate-page .bn-about-title-row h1 { font-size:40px; line-height:1.25; }.bn-product-diptych { gap:16px; grid-template-columns:1fr; }.bn-product-diptych figcaption { padding:13px 0 18px; font-size:12px; }.bn-service-visual > figure { min-height:265px; }.bn-service-visual > div { padding:28px 24px; }.bn-service-visual h2 { font-size:28px; }.bn-service-visual p { font-size:13px; margin-top:18px; }.bn-page-entries { padding-top:20px; }.bn-page-entries > a { gap:20px; }.bn-page-entries h2 { font-size:19px; }.bn-page-entries p { font-size:12px; }.bn-page-details { margin-top:8px; }.bn-page-reading { gap:28px; }.bn-published-copy .bionovo-rich-text h2 { font-size:21px; margin-top:28px; }.bn-published-copy .bionovo-rich-text p { font-size:14px; line-height:1.95; }.bn-page-meta { font-size:10px; margin-bottom:25px; padding-bottom:18px; }.bn-page-cta { padding:48px 0; }.bn-page-cta > .bn-container { flex-direction:column; gap:26px; }.bn-page-cta h2 { font-size:29px; }.bn-page-cta p { font-size:13px; }.bn-legal-index { padding:24px; }.bn-contact-surface { padding:38px 0 50px; }.bn-contact-information { display:block; }.bn-contact-information h2 { font-size:39px; }.bn-contact-information .bn-company-name { font-size:12px; }.bn-direct-contact strong { font-size:23px; }.bn-contact-picture { margin-top:22px!important; }.bn-contact-picture img { aspect-ratio:1.8; }.bn-contact-form { padding:26px 20px; }.bn-form-intro h2 { font-size:26px; }.bn-contact-form .s_website_form_field { margin-bottom:19px!important; }.bn-contact-form .form-control { font-size:16px; }.bn-contact-form .s_website_form_send { width:100%; justify-content:center; }.bn-contact-next { grid-template-columns:1fr; gap:24px; } }
@media(max-width:359px) { .bn-corporate-page .bn-about-title-row h1 { font-size:35px; }.bn-contact-form { padding:23px 16px; }.bn-service-visual > div { padding:24px 20px; } }
@media(min-width:992px) { html[lang^="en"] .bn-corporate-page .bn-about-title-row h1 { font-size:clamp(42px,4.2vw,64px); text-wrap:initial; } }
