/* Independent page layouts for BIOVITA LAB v2. */
.logo-crop{width:194px}.header-inner{gap:18px}#main-nav{gap:25px}#main-nav>[aria-current="page"],.nav-solutions-top>[aria-current="page"]{color:#456b19;text-decoration:underline;text-underline-offset:7px}.nav-solutions{position:relative}.nav-solutions-top{display:flex;align-items:center;gap:2px}.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;min-width:24px;height:44px;min-height:44px;padding:0;border:0;background:transparent;line-height:1;color:var(--forest)}.submenu-toggle svg{display:block;width:12px;height:12px;transition:transform .2s}.submenu-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}.solutions-submenu{position:absolute;right:-90px;top:calc(100% + 16px);width:330px;background:white;border:1px solid var(--line);box-shadow:0 16px 35px #002d241c;padding:10px;z-index:25}.solutions-submenu a{display:block;padding:13px 15px;line-height:1.5;font-size:.9rem}.solutions-submenu a:hover{background:var(--soft)}[hidden]{display:none!important}.hero-eyebrow{max-width:490px}.hero-footnote{letter-spacing:.13em}.content-section>h2{margin-bottom:32px}.content-section>p:not(.eyebrow){max-width:960px;margin-bottom:22px;color:var(--muted)}.content-section>p.lead{font-size:1.15rem}.content-section .text-link{display:inline-block;margin-top:10px;font-size:.9rem;color:var(--forest);font-weight:600;border-bottom:1px solid #bacaae;padding-bottom:4px}.three-grid,.two-grid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.two-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-card{padding:30px;background:white;border:1px solid var(--line);border-radius:3px;display:flex;flex-direction:column}.card-index{font-size:.8rem;letter-spacing:.12em;color:#5a8139;margin-bottom:30px}.content-card h3{font-size:1.65rem;line-height:1.22;margin-bottom:20px;letter-spacing:-.035em}.content-card>p:not(.card-index){font-size:1rem;color:var(--muted)}.content-card>p:last-child:has(a){margin-top:auto;padding-top:20px}.soft-section{background:var(--soft)}.pain-section{max-width:1350px;margin:auto}.pain-section h2{max-width:1040px;font-size:clamp(2rem,3.5vw,3.5rem)}.journey-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px;margin-top:45px}.journey-grid h3{font-size:1.3rem;line-height:1.25;letter-spacing:-.025em}.journey-grid .workflow-step>p:last-child{font-size:.95rem}.dark-section{background:var(--forest);color:#fff}.dark-section .eyebrow{color:var(--lime)}.dark-section>p:not(.eyebrow){color:#d4e4d9}.ip-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:36px}.ip-principles p{border-top:1px solid #ffffff55;padding-top:20px;color:#e1eadf}.faq-list{max-width:980px}.faq-list .wp-block-details{font-size:1rem;padding-top:20px;margin-top:20px}.faq-list summary{font-size:1.05rem;line-height:1.5}.faq-list details>p{padding:0 30px 12px 0;color:var(--muted);line-height:1.8}.cta-band{background:#d3edb8;display:flex;justify-content:space-between;gap:40px;align-items:center}.cta-band h2{font-size:clamp(2rem,3.4vw,3.4rem);margin-bottom:20px}.cta-band .wp-block-button__link{background:var(--forest);border-color:var(--forest);color:white;min-width:210px}.cta-band p:last-child{max-width:600px;color:#395539}.page-hero{background:var(--deep);color:white;padding-top:35px;padding-bottom:70px;position:relative}.breadcrumb{font-size:.8rem;color:#d2e3d9;margin-bottom:60px}.breadcrumb .text-link{font-weight:400}.breadcrumb span{padding:0 12px;color:#89a696}.page-hero>.eyebrow{color:var(--lime)}.page-hero h1{font-size:clamp(2.7rem,5.3vw,5.5rem);max-width:1100px;margin-bottom:30px;line-height:1.08}.page-hero h1 em{color:var(--lime)}.page-lead{font-size:1.125rem;color:#d3e1d7;max-width:800px}.reading-section{max-width:1200px;margin:auto;min-height:340px}.reading-section>p:not(.eyebrow){line-height:1.85}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:42px;align-items:center}.experience-number{font:clamp(5rem,9vw,8rem)/1 Georgia,serif;color:var(--forest);letter-spacing:-.07em;margin-bottom:15px}.experience-stat h3{font-size:1.3rem;letter-spacing:-.02em}.expertise-list h3{font-size:1.25rem;padding:23px 0;border-bottom:1px solid #c9d6c8}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:45px}.capability-item{border-top:1px solid #b8cbb9;padding:24px 0}.capability-item .card-index{margin-bottom:20px}.capability-item h3{font-size:1.15rem;line-height:1.45;letter-spacing:-.015em}.assessment-list{max-width:1000px}.assessment-row{display:grid;grid-template-columns:65px 1fr;gap:20px;border-top:1px solid var(--line);padding:28px 0}.assessment-row .card-index{padding-top:7px;margin:0}.assessment-row h3{font-size:1.6rem;margin-bottom:14px}.assessment-row>div>p{color:var(--muted)}.contact-methods,.contact-location{padding:30px;background:var(--soft)}.contact-methods h3,.contact-location h3{font-size:1.25rem;letter-spacing:-.02em;margin-top:30px}.contact-methods h3:first-child,.contact-location h3:first-child{margin-top:0}.contact-methods .contact-link{margin-top:12px;margin-bottom:12px;overflow-wrap:anywhere}.contact-location>p{margin:12px 0 25px;color:var(--muted)}.quotation-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--soft);align-items:start}.quotation-intro{position:sticky;top:145px}.quotation-intro h2{font-size:3rem;margin-bottom:28px}.quotation-intro>p:not(.eyebrow){margin-bottom:24px;color:var(--muted)}.quotation-intro .contact-link{margin-top:0;overflow-wrap:anywhere}.quotation-form{min-width:0;padding:38px}.form-heading h2{font-size:1.6rem;letter-spacing:-.03em;line-height:1.2;margin-bottom:12px}.form-heading>p{font-size:.875rem;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-form input{display:block;width:100%;border:1px solid #ced7cd;border-radius:2px;background:#f8faf6;padding:12px;font-size:1rem;color:var(--ink);min-height:48px}.project-form textarea,.project-form select{font-size:1rem}.project-form input:focus-visible{outline:3px solid #559d00;outline-offset:3px}.quotation-form label{font-size:.875rem}.quotation-form label span{font-weight:400;color:var(--muted)}.quotation-form textarea{min-height:80px}.quotation-form .form-note{font-size:.85rem}.quotation-form .project-submit{min-height:50px;font-size:.95rem}.copy-draft{background:#e7f1dd;border:1px solid #bdcdb2;color:var(--forest);padding:10px 16px;margin-top:14px}.quotation-form [role="status"]{margin-top:12px;font-size:.875rem;color:var(--muted)}.quotation-form #email-draft{background:#fff;line-height:1.6;font-size:.9rem}.footer-links{display:flex!important;flex-direction:row!important;gap:18px;flex-wrap:wrap}.site-footer{flex-wrap:wrap}.site-footer>p{order:4;flex-basis:100%;padding-top:14px;border-top:1px solid var(--line)}.site-footer>div>a{margin-bottom:5px}.site-footer a{font-size:.875rem}.page-hero .breadcrumb a:hover,.site-footer a:hover{text-decoration:underline}#main-nav .nav-cta[aria-current="page"]{color:#fff}
/* Give every desktop navigation label the same height and vertical center. */
@media(min-width:801px){
  #main-nav>a,.nav-solutions-top,.nav-solutions-top>a{display:flex;align-items:center;min-height:44px;line-height:1;white-space:nowrap}
  #main-nav>.nav-cta{padding-top:0;padding-bottom:0}
}
@media(max-width:1100px){#main-nav{gap:17px}.header-inner{padding-left:24px;padding-right:24px}.journey-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quotation-layout{gap:35px}.content-card{padding:24px}.quotation-form{padding:28px}}
@media(max-width:800px){.logo-crop{width:168px}#main-nav{gap:0;max-height:calc(100dvh - 78px);overflow-y:auto}.nav-solutions{width:100%}.nav-solutions-top{justify-content:space-between}.nav-solutions-top>a{flex:1}.submenu-toggle{min-width:48px;min-height:48px}.solutions-submenu{position:static;width:auto;box-shadow:none;margin:0 12px 12px;background:var(--soft);padding:5px}.solutions-submenu a{font-size:.9rem}.three-grid,.two-grid,.team-grid,.quotation-layout{grid-template-columns:1fr}.content-card h3{font-size:1.7rem}.journey-grid{grid-template-columns:1fr 1fr}.ip-principles{grid-template-columns:1fr;gap:20px}.cta-band{display:block}.cta-band .wp-block-buttons{margin-top:28px}.page-hero{padding-top:24px;padding-bottom:52px}.breadcrumb{margin-bottom:38px;font-size:.75rem;line-height:1.9}.page-hero h1{font-size:clamp(2.6rem,7vw,3.9rem)}.page-lead{font-size:1.05rem}.capability-grid{grid-template-columns:1fr 1fr}.team-grid{gap:25px}.quotation-intro{position:static}.quotation-intro h2{font-size:2.4rem}.quotation-form{padding:25px}.form-grid{grid-template-columns:1fr;gap:0}.footer-links{flex-basis:100%}.assessment-row{grid-template-columns:35px 1fr;gap:15px}.assessment-row h3{font-size:1.35rem}.contact-methods,.contact-location{padding:25px}.hero-eyebrow{max-width:360px}}
@media(max-width:420px){.journey-grid,.capability-grid{grid-template-columns:1fr}.hero-footnote{letter-spacing:.08em}.quotation-layout{padding-left:18px;padding-right:18px}.quotation-form{padding:20px}.page-hero h1{font-size:2.6rem}.content-card{padding:24px}.footer-links{gap:12px 18px}}
/* September 2026 diagrams and technical service visuals. */
.science-icon,.diagram-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#087343;color:white;border-radius:50%;width:76px;height:76px}
.science-icon svg{width:46px;height:46px}.diagram-icon{width:38px;height:38px}.diagram-icon svg{width:26px;height:26px}
.card-icon-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.card-icon-row .card-index{margin:0;border:1px solid #d7e5cc;border-radius:30px;padding:4px 11px;font-size:.7rem;background:#f6faef}
.technical-visual{height:160px;display:flex;align-items:center;justify-content:center;background:#eaf3e4;border-radius:6px;margin-bottom:25px;color:#147b45;overflow:hidden}
.technical-visual svg{height:135px;width:100%;max-width:300px}.visual-commercialization{background:#074a35;color:#c7ef70}.visual-assessment{background:radial-gradient(circle,#e5f3d8,#f3f7ed)}
.solution-visual-card{transition:transform .25s,box-shadow .25s,border-color .25s}.solution-visual-card:focus-within{border-color:#62a13d;box-shadow:0 12px 30px #08472c14}
@media(hover:hover) and (pointer:fine){.solution-visual-card:hover{transform:translateY(-6px);border-color:#62a13d;box-shadow:0 16px 35px #08472c18}}
.content-section>p.diagram-intro{max-width:900px;color:var(--muted);font-size:1.05rem;margin-top:-8px;margin-bottom:40px}.diagram-intro:after{content:'';display:block;width:54px;height:3px;background:#8bc344;margin-top:25px;border-radius:3px}
.problems-diagram{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.problem-card{background:linear-gradient(145deg,#f2f8e9,#fff);border-top:4px solid #5b9d35;border-radius:4px 4px 12px 12px;padding:25px 20px;box-shadow:0 8px 25px #184e2810}
.problem-card h3{font-size:1.2rem;line-height:1.35;letter-spacing:-.025em;margin:24px 0 16px}.problem-card>p{font-size:.9rem;color:var(--muted);line-height:1.7}.problems-section{background:#fff}
.process-section{background:#fafcf8}.process-diagram{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 64px;padding-top:12px}
.process-node{position:relative;min-height:242px;border:1px solid #dfe8dd;border-radius:12px;background:#fff;padding:28px;box-shadow:0 8px 24px #134a2210}
.process-node:nth-child(odd){background:#f2f8ed}.process-node:after{content:'';position:absolute;height:3px;width:64px;left:100%;top:50%;background:#88bd42}
.process-node:nth-child(3):after{height:46px;width:3px;left:50%;top:100%}.process-node:nth-child(4){grid-row:2;grid-column:3}.process-node:nth-child(5){grid-row:2;grid-column:2}.process-node:nth-child(6){grid-row:2;grid-column:1;background:#087343;color:white}
.process-node:nth-child(4):after,.process-node:nth-child(5):after{left:auto;right:100%}.process-node:last-child:after{display:none}
.diagram-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.diagram-card-top .card-index{margin:0}.process-node h3{font-size:1.4rem;line-height:1.25;margin-bottom:16px;letter-spacing:-.025em}.process-node>p{font-size:.95rem;color:var(--muted)}
.process-node:last-child>p{color:#e2f1de}.process-node:last-child .card-index{color:#d7f49f}.process-node:last-child .diagram-icon{color:#245130;background:#c7ef70}
.pathway-section{background:radial-gradient(ellipse at top right,#eff7e4 0,transparent 42%),#fcfdfb}.pathway-diagram{max-width:1040px;margin:40px auto 0}.pathway-step{position:relative;display:grid;grid-template-columns:52px 1fr;gap:26px;align-items:center;margin-bottom:18px}
.pathway-step:before{content:'';position:absolute;left:25px;top:50%;width:2px;height:calc(100% + 18px);background:#a6cd7d}.pathway-step:last-child:before{display:none}.pathway-number{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#087343;color:white;font-size:.85rem;font-weight:600}
.pathway-step:nth-child(2) .pathway-number{background:#398b42}.pathway-step:nth-child(3) .pathway-number{background:#508f35}.pathway-step:nth-child(4) .pathway-number{background:#648f28}.pathway-step:nth-child(5) .pathway-number,.pathway-step:nth-child(6) .pathway-number{background:#91c438;color:#173a2d}
.pathway-copy{border-left:4px solid #3f944b;border-radius:0 8px 8px 0;box-shadow:0 5px 18px #1545250d;background:#fff;padding:24px 28px}.pathway-step:nth-child(odd) .pathway-copy{background:#f0f7e8}.pathway-copy h3{text-transform:uppercase;font-size:1.18rem;letter-spacing:.025em;line-height:1.4;color:#397a35;margin-bottom:8px}.pathway-copy>p{font-size:1rem;color:var(--muted)}
.pathway-step:last-child .pathway-copy{background:#087343;border-color:#c7ef70}.pathway-step:last-child h3{color:white}.pathway-step:last-child .pathway-copy>p{color:#e2f1de}
.expertise-item{padding:23px 0;border-bottom:1px solid #c9d6c8}.expertise-item h3{padding:0;border:0;margin-bottom:9px}.expertise-item>p{color:var(--muted);font-size:1rem}.facility-photo{margin:40px 0}.facility-photo img{width:100%;height:auto;aspect-ratio:2/1;border-radius:8px}
.vitality-framework{padding-top:60px;padding-bottom:20px}.vitality-diagram{max-width:1100px;margin:0 auto}.vitality-diagram img{width:100%;height:auto}.diagram-caption{max-width:970px;margin:25px auto 0;text-align:center;font-size:1.05rem;color:var(--muted);line-height:1.8}.vitality-mobile{display:none}
.challenge-options{min-width:0;border:0;padding:0;margin:25px 0 0}.challenge-options legend{font-size:.875rem;font-weight:600;padding:0;margin-bottom:12px}.challenge-options legend span{font-weight:400;color:var(--muted);font-size:.8rem}.challenge-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.quotation-form .challenge-option{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px;border:1px solid #dce5d5;border-radius:4px;cursor:pointer;background:#f8faf6;line-height:1.5}.quotation-form .challenge-option:has(input:checked){border-color:#42834d;background:#eef6e8}.quotation-form .challenge-option span{color:var(--ink);font-size:.85rem}
.quotation-form .challenge-option input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:2px 0 0;padding:0;accent-color:#087343}
@media(max-width:1100px){.problems-diagram{grid-template-columns:repeat(3,minmax(0,1fr))}.process-diagram{column-gap:35px}.process-node{padding:23px}.process-node:after{width:35px}.process-node h3{font-size:1.25rem}.challenge-grid{grid-template-columns:1fr}}
@media(max-width:800px){
 .problems-diagram{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-card{padding:24px 20px}.process-diagram{grid-template-columns:1fr;gap:24px}.process-node:nth-child(n){grid-column:auto;grid-row:auto;min-height:0;padding:25px}.process-node:nth-child(n):after{left:42px;right:auto;top:100%;width:3px;height:24px}.process-node:last-child:after{display:none}.process-node h3{font-size:1.4rem}.diagram-card-top{margin-bottom:18px}
 .pathway-step{grid-template-columns:40px 1fr;gap:15px}.pathway-number{width:40px;height:40px;font-size:.75rem}.pathway-step:before{left:19px}.pathway-copy{padding:20px}.pathway-copy h3{font-size:1rem}.pathway-copy>p{font-size:.95rem}.facility-photo{margin:30px 0}
 .vitality-diagram{display:none}.vitality-mobile{display:block}.vitality-center{max-width:280px;margin:0 auto 25px;text-align:center;padding:20px;border-radius:40px;background:#087343;color:#fff;font-size:1.25rem;font-weight:600}.vitality-node-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.vitality-node{display:flex;flex-direction:column;align-items:center;gap:14px;border:1px solid #dce9d2;border-radius:10px;background:#f5f9f0;padding:22px 12px;text-align:center;font-size:.9rem;font-weight:600}.vitality-node:last-child{grid-column:1/-1}.vitality-node .diagram-icon{width:48px;height:48px}.vitality-node .diagram-icon svg{width:32px;height:32px}.diagram-caption{text-align:left;font-size:1rem}.vitality-framework{padding-top:45px}.content-section>p.diagram-intro{font-size:1rem}
}
@media(max-width:460px){.problems-diagram{grid-template-columns:1fr}.problem-card{display:grid;grid-template-columns:38px 1fr;gap:10px 18px}.problem-card .diagram-icon{grid-row:span 2}.problem-card h3{margin:0;font-size:1.15rem}.problem-card>p{grid-column:2}.pathway-copy{padding:18px 16px}.challenge-options legend span{display:block;margin-top:5px}}
@media(prefers-reduced-motion:reduce){.solution-visual-card:hover{transform:none}}
