/* Readability v8 — loaded last. Shared chrome + secondary-page reading rhythm. */
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-800.woff') format('woff');font-style:normal;font-weight:800;font-display:swap}
:root{--reading-copy:18px;--reading-meta:13px;--reading-control:16px;--reading-measure:68ch;--paper:#f6f3eb;--ink:#073b31;--mint:#c8dfcf;--muted:#40594c;--ac-cream:#f6f3eb;--ac-light:#e3ebdf;--ac-mint:#c8dfcf}
.ac-tools{background:#c8dfcf}
/* These selectors intentionally exclude the independently designed home/menu main. */
body:not(.home-v6):not(.menu-v7){font-size:var(--reading-copy);line-height:1.7}
body:not(.home-v6):not(.menu-v7) main :is(p,li){text-wrap:pretty}
body:not(.home-v6):not(.menu-v7) main :is(.eyebrow,.label,small,.small-copy){font-size:var(--reading-meta);line-height:1.6;letter-spacing:.08em}
body:not(.home-v6):not(.menu-v7) main :is(.button,.pill,.text-link,button,select,input,textarea){font-size:var(--reading-control);line-height:1.45}
body:not(.home-v6):not(.menu-v7) main :is(.button,.pill,.text-link,button,select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),summary){min-height:44px}
body:not(.home-v6):not(.menu-v7) main :is(.plain-card p:not(.eyebrow),.story-card p:not(.eyebrow),.path-card p,.method-card p,.academic-card>p,.product-card>p:not(.product-price),.product-detail-group p,.lab-card>p,.split p:not(.eyebrow),.hours){font-size:var(--reading-copy);line-height:1.7}
body:not(.home-v6):not(.menu-v7) main :is(.page-hero,.section-heading,.split)>:is(div,p){min-width:0}
body:not(.home-v6):not(.menu-v7) main :is(.lede,.section-heading>p,.page-hero p,.split p,.legal-content p){max-width:var(--reading-measure)}
body:not(.home-v6):not(.menu-v7) main :is(.page-hero h1,.article-hero h1){line-height:1.02;overflow-wrap:break-word}
body:not(.home-v6):not(.menu-v7) main :is(.legal-content,.article-content){font-size:var(--reading-copy);line-height:1.8}
body:not(.home-v6):not(.menu-v7) main :is(.article-content .sources,.article-toc,.academy-proof,.path-card>span,.ratio-art small,.lab-card label,.water-result span){font-size:var(--reading-meta);line-height:1.6}
body:not(.home-v6):not(.menu-v7) main :is(.article-toc>a,.knowledge-toc a){min-height:44px;display:flex;align-items:center}
body:not(.home-v6):not(.menu-v7) main :is(.chip-row button,.bean-tabs button,.filter-row,.filter-row select,.choice,.timer-card button:not(.button)){font-size:16px;line-height:1.5}
/* Familiar display face, but with room for multi-line German headings. */
:is(.ac-hero,.recipe-hero,.knowledge-hero) h1{font-size:clamp(64px,7.1vw,108px);line-height:.98;letter-spacing:-.018em;hyphens:auto;overflow-wrap:break-word}
:is(.ac-section-head,.ac-troubleshoot,.ac-tools,.ac-next-action,.ac-related,.recipe-summary,.recipe-equipment,.recipe-howto-head,.recipe-troubles,.recipe-background,.ac-faq) h2,.ac-page-intro h1{line-height:1.02;font-size:clamp(44px,5.2vw,76px)}
:is(.ac-method-card,.ac-library-card,.ac-problems) h3{line-height:1.08;letter-spacing:0}
.recipe-step-copy h3{font-size:clamp(40px,4.6vw,64px);line-height:1.05}
.recipe-step-text .recipe-step-copy h3{font-size:clamp(32px,3.2vw,46px);line-height:1.1}
:is(.ac-hero>div>p:not(.eyebrow),.ac-page-intro>p:not(.eyebrow),.recipe-hero .lede,.knowledge-hero .lede){font-size:clamp(18px,1.6vw,22px);line-height:1.7;max-width:58ch}
:is(.ac-section-head>p,.ac-method-card p,.ac-library-card p,.ac-problems p,.ac-tools p,.ac-next-action p:last-child,.ac-troubleshoot>div:first-child>p:last-child,.recipe-step-copy>p:not(.eyebrow),.recipe-tip,.recipe-tip p,.recipe-troubles details p,.recipe-background details p,.ac-faq details p,.ac-sources li){font-size:var(--reading-copy);line-height:1.75}
:is(.ac-method-card span,.ac-problems b,.ac-library-card .eyebrow,.ac-breadcrumb,.ac-result-bar,.recipe-hero-note,.recipe-facts dt,.recipe-summary .small-copy,.recipe-equipment .small-copy,.recipe-tip b,.recipe-image-note,.recipe-progressbar,.recipe-inline-timer span,.ac-workbench-panel>summary small){font-size:13px;line-height:1.6;letter-spacing:.03em}
:is(.ac-method-picker label,.ac-filters label,.recipe-scale-label,.recipe-controlbar label,.recipe-equipment label,.ac-dropdown>summary,.ac-dropdown-panel a,.ac-nav .ac-tool-link,.knowledge-toc,.ac-faq summary,.ac-sources summary){font-size:16px;line-height:1.5}
:is(.ac-method-picker select,.ac-filters input,.ac-filters select,.recipe-scale-label select,.recipe-controlbar select,.recipe-save,.recipe-view-actions>button,.recipe-step-buttons>button,.recipe-inline-timer button,.ac-result-bar button,.knowledge-hero button[data-save-article]){font-size:16px;min-height:48px}
.ac-nav{gap:20px}.ac-nav-menus{gap:clamp(12px,1.7vw,25px)}
.ac-dropdown-panel{width:min(360px,calc(100vw - 36px))}
.ac-dropdown-panel a{padding:12px 8px;min-height:48px}
.knowledge-content{font-size:var(--reading-copy);line-height:1.8;max-width:var(--reading-measure)}
.knowledge-content :is(p,li){font-size:inherit;line-height:inherit;max-width:var(--reading-measure)}
.knowledge-content h2{line-height:1.08}
:is(.knowledge-content,.article-content) table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:16px;line-height:1.6}
:is(.knowledge-content,.article-content) :is(td,th){min-width:120px;padding:14px 12px;vertical-align:top}
/* Forms preserve validation, conditional fields and checkbox semantics. */
.form-shell{max-width:1100px}
.form-shell :is(label,legend,.consent-row label,.cat-chip,.mode-btn,.ws-chipwahl){font-size:16px;line-height:1.6;font-weight:600}
.form-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font:400 16px/1.6 Manrope,Arial,sans-serif;min-height:50px;padding:13px 15px}
.form-shell textarea{min-height:150px;resize:vertical}
.form-shell :is(.opt,.hint,.field-hint,.privacy-note,.form-note,.field-error,.ws-form-note,.integration-note){font-size:13px;line-height:1.7;letter-spacing:0}
.form-shell :is(.mode-btn,.cat-chip,.ws-chipwahl,button[type=submit]){min-height:48px;font-size:16px}
.form-shell .mode-toggle{flex-wrap:wrap}.form-shell .mode-btn{flex:1 1 200px}
.form-shell .consent-row{min-height:48px;align-items:flex-start}
.form-shell .consent-row label{margin:0;cursor:pointer}
.form-shell :is(.cat-head,.jobs-done p){color:var(--ink)}
.form-shell .integration-note{font-size:14px}
/* Newsletter type is scoped, including the compact home signup. */
body:not(.home-v6):not(.menu-v7) .nl{font-size:var(--reading-copy);--nl-yellow:#b7e8c9;--nl-lime:#dce9d8}
body:not(.home-v6):not(.menu-v7) .nl :is(h1,h2){line-height:1.01}
body:not(.home-v6):not(.menu-v7) .nl :is(.nl-kicker,.nl-terms,.nl-state,.nl-fields small,.nl-form-note){font-size:13px;line-height:1.65}
body:not(.home-v6):not(.menu-v7) .nl :is(.nl-fields label,.nl-fields input,.nl-consent,.nl-submit,.nl-learn,.nl-scroll,.nl-close a,.nl-steps li,.nl-close p:not(.nl-kicker)){font-size:16px;line-height:1.65}
body:not(.home-v6):not(.menu-v7) .nl :is(input:not([type=checkbox]),button){min-height:50px}
/* Chrome is shared by every page. */
.site-header{height:var(--header-size)}
.site-header nav{font-size:16px;gap:clamp(15px,1.7vw,26px)}
.site-header nav .button{font-size:16px;min-height:48px}
.site-header .brand>span{line-height:1.05;font-size:28px}
.site-header .brand small{font-size:13px;line-height:1.3;letter-spacing:.04em;margin-top:3px}
.site-header .global-academy-menu>summary{font-size:16px;min-height:48px}
.global-academy-panel{font-size:16px;line-height:1.5}
.global-academy-panel strong{font-size:13px;line-height:1.5}
.global-academy-panel a{min-height:44px;display:flex;align-items:center}
#nav-toggle{font-size:16px;min-height:48px;min-width:78px}
.site-footer .footer-top h2{font-size:clamp(62px,8vw,114px);line-height:1.01}
.site-footer :is(.footer-grid,.footer-grid p){font-size:17px;line-height:1.75}
.site-footer :is(.footer-grid a,.footer-bottom a){min-height:44px}
.site-footer .footer-bottom{font-size:14px;line-height:1.6}
.site-footer .footer-bottom>div{flex-wrap:wrap;gap:8px 24px}
.site-footer .footer-bottom .footer-brand{font-size:13px;line-height:1.5;letter-spacing:.04em}
.assistant-toggle{font-size:16px;min-height:48px}
#assistant-dialog{font-size:17px;line-height:1.7}
#assistant-dialog>p,#assistant-form>label,#assistant-dialog .assistant-message{font-size:16px;line-height:1.7}
#assistant-dialog :is(.eyebrow,.assistant-bottom small){font-size:13px;line-height:1.6}
#assistant-dialog :is(.button,input,.suggestions button,.assistant-bottom button,.assistant-message .text-link){font-size:16px;line-height:1.5;min-height:44px}
#assistant-dialog .dialog-head button{min-width:44px;min-height:44px}
#assistant-dialog .assistant-bottom{flex-wrap:wrap;align-items:flex-start}
#assistant-dialog .assistant-bottom small{max-width:34ch;flex:1 1 200px}
@media(max-width:1180px){
 :root{--header-size:88px;--header-offset:88px}
 html.chrome-hidden{--header-offset:0px}
 .site-header{height:var(--header-size);padding-inline:5%}
 #nav-toggle{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px}
 .site-header nav{display:none;position:absolute;top:var(--header-size);left:0;right:0;max-height:calc(100svh - var(--header-size));overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:0;padding:20px 5% 30px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 30px #0002;font-size:17px}
 .site-header nav.open,.site-header nav.is-open{display:flex}
 .site-header nav>a:not(.button),.site-header .global-academy-menu>summary{display:flex;min-height:52px;border-bottom:1px solid var(--line);font-size:17px}
 .site-header nav>.button{margin-top:16px;justify-content:center}
 .global-academy-panel{position:static;transform:none;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:20px;gap:20px;box-shadow:none;border:0;background:#e9efe3}
 .global-academy-panel:before{display:none}
 .ac-nav{flex-wrap:wrap;gap:0 20px;padding:10px 5%}
 .ac-home{display:flex;align-items:center;min-height:36px}
 .ac-nav-menus{width:100%;overflow-x:auto;gap:24px;scrollbar-width:thin}
 .ac-dropdown{flex:none}.ac-dropdown>summary{min-height:48px}
 .ac-dropdown-panel{position:fixed;top:calc(var(--header-offset) + 114px);left:5vw;max-height:60svh;width:min(420px,90vw)}
 .recipe-controlbar{top:calc(var(--header-offset) + 114px);flex-wrap:wrap}
 .recipe-step{scroll-margin-top:calc(var(--header-offset) + 290px)}
 .knowledge-toc{font-size:16px;gap:4px 20px}
}
@media(max-width:760px){
 :root{--reading-copy:16px;--header-size:84px;--header-offset:84px}
 .site-header .brand>span{font-size:24px}.site-header .brand img{width:42px;height:42px}.site-header .brand small{font-size:13px;letter-spacing:0}
 .global-academy-panel{grid-template-columns:1fr}
 .site-footer .footer-grid{grid-template-columns:1fr;gap:28px}
 .site-footer .footer-grid>div:last-child{grid-column:auto}
 .site-footer :is(.footer-grid,.footer-grid p){font-size:16px}
 .site-footer .footer-bottom>div{gap:6px 20px}
 :is(.ac-hero,.recipe-hero,.knowledge-hero) h1{font-size:clamp(58px,12vw,84px);line-height:1.02}
 :is(.ac-section-head,.ac-troubleshoot,.ac-tools,.ac-next-action,.ac-related,.recipe-summary,.recipe-equipment,.recipe-howto-head,.recipe-troubles,.recipe-background,.ac-faq) h2,.ac-page-intro h1{font-size:clamp(42px,9vw,64px)}
 :is(.ac-hero>div>p:not(.eyebrow),.recipe-hero .lede,.knowledge-hero .lede){font-size:18px}
 .ac-method-card{display:flex}.ac-method-card img{height:240px;min-height:0}
 .ac-method-card h3,.ac-library-card h3{font-size:36px}
 .recipe-controlbar{position:static}.recipe-inline-timer{flex-wrap:wrap;justify-content:flex-start;gap:10px}
 .recipe-inline-timer output{margin-right:auto}.recipe-inline-timer span{font-size:13px}
 .recipe-step-copy h3{font-size:44px}.recipe-step-text .recipe-step-copy h3{font-size:34px}
 .recipe-step-buttons{flex-wrap:wrap}.recipe-step-buttons>button{flex:1 1 130px}
 .recipe-step{scroll-margin-top:calc(var(--header-offset) + 145px)}
 .knowledge-content h2{font-size:42px;line-height:1.1}
 .form-shell :is(#resForm,#applyForm,#artForm,.ws-form){grid-template-columns:1fr}
 .nl-hero h1{overflow-wrap:break-word}
 #assistant-dialog .input-row{flex-wrap:wrap}#assistant-dialog .input-row input{flex:1 1 180px}#assistant-dialog .input-row button{flex:1 1 90px}
 .assistant-toggle{right:12px;bottom:12px;max-width:calc(100vw - 24px);padding:11px 17px}
}
@media(max-width:380px){.site-header .brand{gap:7px}.site-header .brand>span{font-size:21px}.site-header .brand img{width:35px;height:35px}#nav-toggle{min-width:70px;padding-inline:11px}.recipe-step.recipe-step-text{grid-template-columns:1fr}.recipe-step-text .recipe-step-media{width:54px}.ac-result-bar{align-items:flex-start;flex-direction:column;gap:8px}}
@media print{body:not(.home-v6):not(.menu-v7){font-size:11pt}.site-header,.assistant-toggle{display:none}.knowledge-content,.article-content{font-size:11pt}.recipe-step-copy>p:not(.eyebrow){font-size:11pt}}
/* Resolve page-qualified legacy chrome rules without touching either main. */
html:has(body.home-v6),html:has(body.menu-v7){--header-size:88px;--header-offset:88px}
html.chrome-hidden:has(body.home-v6),html.chrome-hidden:has(body.menu-v7){--header-offset:0px}
:is(body.home-v6,body.menu-v7,body) .site-header{height:var(--header-size);gap:20px}
:is(body.home-v6,body.menu-v7,body) .site-header .brand>span{font-size:28px;line-height:1.05;white-space:nowrap;width:auto}
:is(body.home-v6,body.menu-v7,body) .site-header .brand img{width:48px;height:48px}
:is(body.home-v6,body.menu-v7,body) .site-header nav{font-size:16px;gap:clamp(14px,1.5vw,23px)}
:is(body.home-v6,body.menu-v7,body) .site-header :is(.home-header-order,.menu-header-order){font-size:16px;line-height:1.35;min-height:48px;padding:12px 20px;white-space:nowrap}
:is(body.home-v6,body.menu-v7,body) .site-header #nav-toggle{font-size:16px;min-height:48px;line-height:1.3}
:is(body.home-v6,body.menu-v7,body) .site-footer .footer-grid{font-size:17px;line-height:1.75}
:is(body.home-v6,body.menu-v7,body) .site-footer .footer-grid :is(p,a,strong){font-size:17px;line-height:1.75}
:is(body.home-v6,body.menu-v7,body) .site-footer .footer-grid a{min-height:44px;padding-block:7px}
:is(body.home-v6,body.menu-v7,body) .site-footer .footer-bottom{font-size:14px;line-height:1.6}
:is(body.home-v6,body.menu-v7,body) .site-footer .footer-bottom :is(a,span){font-size:14px;line-height:1.6}
:is(body.home-v6,body.menu-v7,body) .site-footer .footer-bottom a{min-height:44px}
:is(body.home-v6,body.menu-v7,body) .assistant-toggle{font-size:16px;line-height:1.5;min-height:48px;padding:11px 17px}
:is(body.home-v6,body.menu-v7,body) #assistant-dialog .dialog-head h2{font-size:clamp(35px,4vw,58px);line-height:1.1}
@media(max-width:1180px){
 html:has(body.home-v6),html:has(body.menu-v7){--header-size:88px;--header-offset:88px}
 html.chrome-hidden:has(body.home-v6),html.chrome-hidden:has(body.menu-v7){--header-offset:0px}
 :is(body.home-v6,body.menu-v7,body) .site-header nav{top:var(--header-size);max-height:calc(100svh - var(--header-size));margin:0;gap:0;display:none;font-size:17px}
 :is(body.home-v6,body.menu-v7,body) .site-header nav.open,:is(body.home-v6,body.menu-v7,body) .site-header nav.is-open{display:flex}
 :is(body.home-v6,body.menu-v7,body) .site-header #nav-toggle{display:inline-flex;margin-left:auto;font-size:16px;min-width:78px;padding:10px 15px}
 :is(body.home-v6,body.menu-v7,body) .site-header nav :is(a,summary){font-size:17px;min-height:48px}
}
@media(max-width:760px){
 html:has(body.home-v6),html:has(body.menu-v7){--header-size:84px;--header-offset:84px}
 html.chrome-hidden:has(body.home-v6),html.chrome-hidden:has(body.menu-v7){--header-offset:0px}
 :is(body.home-v6,body.menu-v7,body) .site-header{padding-inline:20px;gap:12px}
 :is(body.home-v6,body.menu-v7,body) .site-header .brand>span{font-size:24px}
 :is(body.home-v6,body.menu-v7,body) .site-header .brand img{width:42px;height:42px}
 :is(body.home-v6,body.menu-v7,body) .site-header :is(.home-header-order,.menu-header-order){font-size:16px;padding:11px 15px}
 :is(body.home-v6,body.menu-v7,body) .site-footer .footer-grid{grid-template-columns:1fr;gap:25px}
 :is(body.home-v6,body.menu-v7,body) .site-footer .footer-grid>div:last-child{grid-column:auto;display:block}
 :is(body.home-v6,body.menu-v7,body) .site-footer .footer-grid :is(p,a,strong){font-size:16px}
}
@media(max-width:540px){
 /* Icon brand makes room for the two labelled actions at 320px. */
 :is(body.home-v6,body.menu-v7,body) .site-header{padding-inline:16px;gap:10px}
 :is(body.home-v6,body.menu-v7,body) .site-header .brand>span{display:none}
 :is(body.home-v6,body.menu-v7,body) .site-header .brand img{width:40px;height:40px}
 :is(body.home-v6,body.menu-v7,body) .site-header #nav-toggle{font-size:16px;min-width:70px;padding-inline:11px}
 :is(body.home-v6,body.menu-v7,body) .site-header #nav-toggle:after{content:none}
 :is(body.home-v6,body.menu-v7,body) .site-header :is(.home-header-order,.menu-header-order){font-size:16px;padding-inline:12px}
}
/* Secondary microcopy that carried element-specific sizes in older layers. */
body:not(.home-v6):not(.menu-v7) main :is(.path-card b,.method-card b,.academic-card .label,.academic-card .eyebrow,.product-card .label,.ratio-art small,.recipe-facts dt,.recipe-image-note,.recipe-hero-note){font-size:13px;line-height:1.6}
body:not(.home-v6):not(.menu-v7) main :is(.product-card .button,.article-toc>button,.recipe-view-actions>button,.recipe-step-buttons>button,.recipe-inline-timer button,.ac-result-bar button){font-size:16px;min-height:44px}
@media print{:is(body.home-v6,body.menu-v7,body) .site-header,:is(body.home-v6,body.menu-v7,body) .assistant-toggle{display:none}}
