/* Botanical: readable type at every viewport, bounded wide-screen content. */
body:not(.editorial){font-size:16px}
body:not(.editorial) :is(.concept-bar,.concept-bar a,.concept-bar>span,header nav,.store-link,.eyebrow,.hero .eyebrow,.hero-foot,.art-caption,.art-bottom,.ribbon,.tag,.product-number,.volume,.product-copy .eyebrow,.product-copy>a,.text-link,.filters button,.filters span,.catalogue-card p,.catalogue-more,footer p,footer>div,footer small,.purpose-tabs button span,.purpose-caption,.purpose-card .eyebrow,.purpose-card li,.purpose-card summary,.criteria-list li>span,.direction-link){font-size:14px}
body:not(.editorial) :is(.hero-description,.button,.section-heading>p,.product-copy p:not(.eyebrow),.ingredient-copy>p:not(.eyebrow),.purpose-tabs button,.criteria-intro>p:not(.eyebrow),.criteria-list p,.direction-card p,.recommendation-panel>p:not(.eyebrow),.recommendation-panel .button){font-size:16px;line-height:1.7}
body:not(.editorial) :is(.product-copy h3,.criteria-list h3){font-size:23px;line-height:1.4}
body:not(.editorial) :is(.purpose-card h3,.direction-card h3){font-size:20px;line-height:1.45;min-height:0}
body:not(.editorial) .catalogue-card h3{font-size:18px;line-height:1.5}
body:not(.editorial) .eyebrow{letter-spacing:1.2px;line-height:1.6}
body:not(.editorial) .concept-bar{height:auto;min-height:50px;gap:16px;flex-wrap:wrap}
body:not(.editorial) .concept-bar nav{min-height:50px}
body:not(.editorial) header{gap:24px}
body:not(.editorial) header nav{gap:22px}
body:not(.editorial) .store-link{white-space:nowrap}
body:not(.editorial) .hero-description{max-width:440px}
body:not(.editorial) .hero-foot{gap:20px}
body:not(.editorial) .art-caption{left:12%;right:12%;gap:12px;letter-spacing:.8px}
body:not(.editorial) .ribbon{flex-wrap:wrap;align-items:center;letter-spacing:1px}
body:not(.editorial) .section-heading>p{max-width:410px}
body:not(.editorial) .product-copy p:not(.eyebrow){max-width:360px}
body:not(.editorial) .ingredient-photo span{font-size:14px;letter-spacing:1px}
body:not(.editorial) .purpose-caption{max-width:850px}
body:not(.editorial) .purpose-card .eyebrow{letter-spacing:.4px}
body:not(.editorial) .purpose-card li{line-height:1.65;padding-block:10px}
body:not(.editorial) .purpose-card li:before{top:19px}
body:not(.editorial) .purpose-card summary{gap:12px;align-items:center}
body:not(.editorial) .direction-card p{min-height:0;max-width:340px}
body:not(.editorial) .direction-card{display:flex;flex-direction:column}
body:not(.editorial) .direction-link{margin-top:auto;padding-top:24px}
body:not(.editorial) .criteria{display:block;max-width:none;padding:80px 4%}
.criteria-inner{display:contents}
body:not(.editorial) .criteria-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,5vw,80px);max-width:1240px;margin-inline:auto}
body:not(.editorial) .criteria-intro>p:not(.eyebrow){max-width:390px}
body:not(.editorial) .criteria-list p{max-width:560px}
body:not(.editorial) .criteria-list li{padding-block:22px;grid-template-columns:32px minmax(0,1fr);gap:16px}
body:not(.editorial) .criteria-list li:first-child{padding-top:0}
body:not(.editorial) .criteria-list li:last-child{padding-bottom:0}
body:not(.editorial) .recommendation-panel{max-width:680px}
body:not(.editorial) .recommendation-panel>p:not(.eyebrow){max-width:470px}
@media(max-width:1100px){
 body:not(.editorial) header{flex-wrap:wrap;height:auto;min-height:100px;padding-block:16px;gap:12px}
 body:not(.editorial) header nav{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:12px 24px}
 body:not(.editorial) .concept-note{display:none}
 body:not(.editorial) .purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 body:not(.editorial) .concept-bar{padding:8px 5%;gap:6px}
 body:not(.editorial) .concept-bar>span{max-width:none;width:100%;font-size:14px}
 body:not(.editorial) .concept-bar nav{min-height:40px}
 body:not(.editorial) .concept-bar a{padding:8px 16px}
 body:not(.editorial) header{min-height:80px;flex-wrap:nowrap}
 body:not(.editorial) .brand img{width:110px}
 body:not(.editorial) .store-link{padding:8px 10px;font-size:14px}
 body:not(.editorial) .store-link span{margin-left:4px}
 body:not(.editorial) .hero h1{font-size:clamp(40px,10vw,55px)}
 body:not(.editorial) .hero-description{max-width:none}
 body:not(.editorial) .hero-foot{flex-wrap:wrap;gap:16px}
 body:not(.editorial) .art-caption{top:44px;left:15%;right:15%;font-size:14px;line-height:1.4;letter-spacing:0}
 body:not(.editorial) .art-caption>span:first-child{max-width:150px}
 body:not(.editorial) .art-caption>span:last-child{white-space:nowrap}
 body:not(.editorial) .ribbon{white-space:normal;gap:12px;justify-content:center}
 body:not(.editorial) .ribbon span{max-width:42%}
 body:not(.editorial) :is(.purpose-grid,.direction-grid){grid-template-columns:1fr}
 body:not(.editorial) .purpose-card{padding:25px}
 body:not(.editorial) .purpose-card ul{margin:18px 0 22px}
 body:not(.editorial) .purpose-card h3{font-size:22px}
 body:not(.editorial) .direction-card{padding:28px;border-right:0;border-bottom:1px solid var(--line)}
 body:not(.editorial) .direction-card:last-child{border-bottom:0}
 body:not(.editorial) .direction-card h3{overflow-wrap:normal}
 body:not(.editorial) .criteria{padding:55px 6%}
 body:not(.editorial) .criteria-inner{grid-template-columns:minmax(0,1fr);gap:35px}
 body:not(.editorial) .criteria-list h3{font-size:21px}
 body:not(.editorial) .criteria-list li{gap:12px;grid-template-columns:25px minmax(0,1fr)}
 body:not(.editorial) .recommendation-panel{padding:32px 22px}
 body:not(.editorial) .recommendation-panel .button{padding:14px 18px;gap:12px}
 body:not(.editorial) .catalogue-card h3{font-size:18px}
 body:not(.editorial) footer{grid-template-columns:1fr;gap:24px}
 body:not(.editorial) footer>div{justify-content:start}
}
