/* Shared reading controls and responsive typography on all public pages. */
html{font-size:calc(16px * var(--reading-scale,1))}
main p,main li,main label,main input,main textarea,main select{font-size:1rem;line-height:1.7}
main p,main a,dd,.contact-people a{overflow-wrap:anywhere}
.contact-people a,.home-page .contact-people a{font-size:.9375rem}
.eyebrow,.program .eyebrow{letter-spacing:.08em}
.section>* ,.industry-columns>div,.program,.contact>div{min-width:0}
.partner-loop{min-height:19rem;max-width:25rem}
.partner-loop>div{width:58%;max-width:12rem}
.partner-loop span{font-size:.875rem;line-height:1.5}
.partner-loop strong{font-size:1.375rem}
.cycle-node span{font-size:.875rem;max-width:100%;padding:3px}
.cycle-center span{font-size:.875rem}
.quality-cycle{max-width:32rem}
.cycle-center{inset:32% 29%}
.cycle-center strong{font-size:.9375rem}
.cycle-node{width:31%;height:29%}
.flow-step small,.process li>span{font-size:1rem;font-weight:600}
.flow-step{min-height:7rem}
.hero-foot{position:relative;left:auto;right:auto;bottom:auto;margin:0 7%;flex-wrap:wrap}
.master-hero{flex-wrap:wrap}
.master-hero .hero-foot{width:86%}
:focus-visible{outline:3px solid #b45b00;outline-offset:4px}
.contact :focus-visible{outline-color:#ffd18c}
.reading-launch{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:8px;border:2px solid #fff;border-radius:999px;padding:12px 16px;background:#203c29;color:#fff;box-shadow:0 3px 16px #0004;font:600 16px/1.4 Arial,sans-serif;min-height:48px}
.reading-launch svg{width:24px;height:24px;flex-shrink:0}
.reading-dialog{position:fixed;inset:auto 18px 82px auto;margin:0;width:min(360px,calc(100vw - 36px));max-height:calc(100dvh - 115px);overflow:auto;padding:24px;border:2px solid #304f32;border-radius:12px;background:#fff;color:#182c1c;font:16px/1.5 Arial,sans-serif;z-index:70;box-shadow:0 8px 32px #0004}
.reading-dialog::backdrop{background:#10241570}
.reading-dialog h2{font:700 22px/1.3 Arial,sans-serif;letter-spacing:0;margin:0 35px 20px 0}
.reading-dialog button{font:600 16px/1.4 Arial,sans-serif;color:#182c1c;background:#edf2e8;border:1px solid #839475;border-radius:6px;padding:10px;min-height:44px}
.reading-dialog .reading-close{position:absolute;right:10px;top:10px;padding:4px 12px;font-size:24px;background:#fff}
.reading-dialog p{font-size:16px;margin:0 0 8px}
.reading-scale{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.reading-scale output{flex:1;text-align:center;font-weight:700}
.reading-dialog .reading-toggle,.reading-dialog .reading-reset{display:block;width:100%;text-align:left;margin-top:10px}
.reading-dialog button[aria-pressed=true]{background:#203c29;color:#fff;border-color:#203c29}
.reading-dialog button:disabled{opacity:.5;cursor:default}
html.reading-links main a,html.reading-links nav a,html.reading-links footer a{text-decoration:underline!important;text-underline-offset:.2em;text-decoration-thickness:2px}
html.reading-contrast body,html.reading-contrast body :where(header,main,footer,section,article,div,form,details,summary,p,span,small,strong,em,h1,h2,h3,h4,a,label,dl,dt,dd,li){background-color:#000!important;background-image:none!important;color:#fff!important;opacity:1!important;border-color:#fff!important;text-shadow:none!important}
html.reading-contrast :where(a,button,input,textarea,select){background:#000!important;color:#ffed83!important;border-color:#fff!important}
html.reading-contrast .hero-shade{background:#000!important}
html.reading-contrast :focus-visible{outline-color:#ffed83}
html.reading-contrast svg{color:#ffed83}
html.reading-contrast .reading-dialog,html.reading-contrast .reading-dialog *{background:#000!important;color:#fff!important}
html.reading-contrast .reading-dialog button[aria-pressed=true]{outline:2px solid #ffed83;outline-offset:-4px}
html[data-reading-enlarged] .quality-cycle{display:grid;grid-template-columns:1fr 1fr;gap:16px;aspect-ratio:auto}
html[data-reading-enlarged] .quality-cycle .cycle-track{display:none}
html[data-reading-enlarged] .cycle-node,html[data-reading-enlarged] .cycle-center{position:static;width:auto;height:auto;border-radius:8px;padding:12px}
html[data-reading-enlarged] .cycle-center{grid-column:1/-1}
html[data-reading-enlarged] .about,html[data-reading-enlarged] .process,html[data-reading-enlarged] .contact,html[data-reading-enlarged] .detail-section,html[data-reading-enlarged] .crogrill-feature{grid-template-columns:1fr}
html[data-reading-enlarged] .industry-columns,html[data-reading-enlarged] .program-grid{grid-template-columns:1fr}
html[data-reading-enlarged] .applications-visual{width:86%;margin:0 7%}
html[data-reading-enlarged] .master-hero .hero-copy{width:100%}
html[data-reading-enlarged] .partnership-cycle{grid-template-columns:1fr}
@media(min-width:1151px){header{height:auto;min-height:100px;flex-wrap:wrap;gap:15px}header nav{flex-wrap:wrap;justify-content:center;flex:1}html[data-reading-enlarged] header{position:relative}html[data-reading-enlarged] header nav{flex-basis:100%;order:3}}
@media(max-width:800px){.quality-cycle{max-width:30rem}.quality-cycle .cycle-center{inset:33% 28%}.cycle-center .line-icon{width:30px;height:30px}.cycle-node .line-icon{width:36px;height:36px}.cycle-node span{font-size:.875rem}.cycle-center strong,.cycle-center span{font-size:.875rem}.hero-foot{gap:12px}.facts{flex-wrap:wrap;gap:20px}.eudr-date strong{white-space:normal}.reading-launch{right:12px;bottom:12px}.reading-launch span{display:none}}
@media(max-width:500px){/* Retain the connected circular diagram on phones. Enlarged reading mode keeps its separate flowing layout above. */
.quality-cycle .cycle-node span{font-size:clamp(.6875rem,3.1vw,.875rem);line-height:1.3;padding:3px}
.quality-cycle .cycle-center{inset:32% 28%;padding:2px}
.quality-cycle .cycle-center .line-icon{width:24px;height:24px;flex-shrink:0}
.quality-cycle .cycle-center strong,.quality-cycle .cycle-center span{font-size:clamp(.625rem,2.8vw,.8125rem);line-height:1.3}
.quality-cycle .cycle-center span{margin-top:4px}
.quality-cycle .cycle-track circle{stroke:#95ab82}
.partner-loop>div{width:60%}.partner-loop strong{font-size:1.125rem}.application-nodes{grid-template-columns:1fr 1fr}.eudr-readiness{grid-template-columns:1fr}.company-data-grid{grid-template-columns:1fr}.company-data-full{grid-column:auto}}

@media(min-width:801px) and (max-width:1100px){.about,.process{grid-template-columns:1fr}.quality-cycle{width:100%;max-width:30rem}}

/* Bound translated copy to the clear centre, away from all five outer labels. */
.quality-cycle .cycle-center{inset:28% 32%;min-width:0;min-height:0;padding:3px;border-radius:12px}
.quality-cycle .cycle-center strong,.quality-cycle .cycle-center>span{display:block;width:100%;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;hyphens:auto;text-wrap:balance;flex-shrink:0}
.quality-cycle .cycle-center strong{max-width:14ch}
.quality-cycle .cycle-center>.line-icon{flex-shrink:0}
html[data-reading-enlarged] .quality-cycle .cycle-center strong{max-width:14ch}
