/* Shared spacing and typography; each page keeps its own content and theme settings. */
:root{--layout-width:1600px;--layout-gutter:24px;--layout-gap:16px;--layout-border:#d4e5ec;--layout-muted:#657d88}
body{font-size:15px;line-height:1.7}
main{min-width:0}
#main-content>section:not(.home-block),#main-content>.article-detail{width:min(var(--layout-width),calc(100% - var(--layout-gutter)*2));max-width:none;margin:0 auto;padding:28px 0 36px}
#main-content>.home-block{width:min(var(--layout-width),calc(100% - var(--layout-gutter)*2));max-width:none;margin:0 auto 20px;padding:24px}
#main-content>.home-hero-block{margin-top:22px;padding:0}
#main-content>.cta.home-block{margin:0 auto 28px;padding:24px}
body>.topline,body>header,body>footer{padding-left:max(var(--layout-gutter),calc((100% - var(--layout-width))/2));padding-right:max(var(--layout-gutter),calc((100% - var(--layout-width))/2))}
body>.topline{padding-top:6px;padding-bottom:6px;font-size:11px}
body>header{gap:24px;padding-top:18px;padding-bottom:18px}
.brand{flex:none;font-size:21px;gap:10px}
.brand small{font-size:8px;letter-spacing:1.3px}
.logo{font-size:26px;padding:5px 10px}
.site-nav{gap:7px;padding:0;min-width:0}
.nav-top-link{padding:9px 12px;font-size:14px}
body>header>.button{flex:none;font-size:14px;padding:11px 20px}
.nav-item:nth-last-child(-n+2) .nav-dropdown-small{left:auto;right:0}
h1{font-size:clamp(28px,2.8vw,42px);line-height:1.3;letter-spacing:-.025em;margin:12px 0 18px;overflow-wrap:anywhere}
h2{font-size:25px;line-height:1.4;margin:10px 0}
h3{font-size:19px;line-height:1.45}
.intro{font-size:16px;line-height:1.8;max-width:1100px}
.eyebrow,.module-number{font-size:10px;letter-spacing:.12em}
.eyebrow{margin-bottom:8px}
.section-head{margin-bottom:18px}
.grid{gap:var(--layout-gap)}
.grid>*,.split>*,.form-section>*,.article-content>*{min-width:0}
.card{padding:20px}
.card h3{margin:0 0 10px}
.card .arrow{margin-top:16px}
.button,button{padding:10px 18px;font-size:14px}
.tag{font-size:11px;line-height:1.5}
.breadcrumbs{margin:0 0 16px;padding:9px 13px;font-size:12px;gap:6px}
.breadcrumbs strong{overflow-wrap:anywhere}
.notice,.empty{padding:14px 16px;margin:16px 0;font-size:13px;line-height:1.7}
.filters{gap:10px;margin-bottom:20px;flex-wrap:wrap}
input,select,textarea{padding:10px 12px;font-size:14px;min-width:0}
label{font-size:14px;margin-bottom:14px}
.home-block .section-head h2,.category-overview-title h2{font-size:28px;line-height:1.35}
.home-block .section-head p,.category-overview-title p{font-size:13px;line-height:1.65}
.category-overview-title{margin:0 0 18px}
.category-overview-grid,.category-overview-all,.home-article-grid{gap:var(--layout-gap);align-items:stretch}
.category-overview-card,.home-products .category-overview-card,.home-articles .category-overview-card{padding:18px;box-shadow:none}
.category-overview-head{padding-bottom:10px;gap:10px}
.category-overview-head h3,.home-products .category-overview-head h3,.home-articles .category-overview-head h3{font-size:20px}
.category-overview-list>a{font-size:14px;padding:9px 0;line-height:1.5}
.home-products .category-overview-list>a,.home-articles .category-overview-list>a{padding:7px 0;font-size:13px;line-height:1.5}
.home-product-grid{gap:var(--layout-gap)}
main>.home-support{gap:28px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.home-support h2{font-size:27px}
.home-support .problem-list a{padding:11px 4px}
.cta h2{font-size:25px}
.cta .button{flex:none}
.hero-slide-copy h2{font-size:clamp(24px,2.4vw,34px)}
.hero-copy{padding:24px}
.hero-copy h1{font-size:clamp(30px,3vw,44px)}
.hero-copy p{font-size:15px;line-height:1.8}
.catalog-hero,.product-category-index .catalog-hero,.article-catalog-hero{margin-bottom:22px}
.catalog-hero-content,.article-catalog-copy{padding:32px;max-width:1050px}
.catalog-hero.no-background .catalog-hero-content{max-width:1050px}
.catalog-hero h1,.article-catalog-hero h1{font-size:clamp(32px,3.4vw,48px);line-height:1.25;letter-spacing:-.02em;margin:0 0 12px}
.catalog-hero .intro,.article-catalog-hero .intro{font-size:16px;line-height:1.75;max-width:960px}
.catalog-jump,.catalog-hero .catalog-jump,.article-category-jump{gap:8px;margin:18px 0 0}
.catalog-jump a,.article-category-jump a{padding:8px 12px;font-size:13px}
.product-category-page .breadcrumbs{margin:0 0 18px}
.catalog-group,.article-catalog-group{margin:22px 0 30px}
.catalog-heading,.article-catalog-heading{margin-bottom:14px;gap:12px}
.catalog-heading h2,.article-catalog-heading h2{font-size:26px;margin:0 0 10px}
.catalog-heading span,.article-catalog-heading span{font-size:12px}
.catalog-heading-main{gap:12px}
.product-catalog-card{padding:20px;box-shadow:none}
.product-catalog-card h3{font-size:20px;margin:0 0 10px}
.product-card-summary{margin:0 0 10px;font-size:14px;line-height:1.7}
.product-card-detail{margin-top:10px}
.product-card-detail>span{margin-bottom:4px;font-size:11px;letter-spacing:0}
.product-card-detail>div,.product-card-detail p{font-size:13px;line-height:1.7}
.product-card-dosage strong{font-size:18px}
.product-card-dosage small{font-size:11px}
.article-tools{padding:14px 16px;gap:18px;margin:0 0 22px}
.article-tools .filters{gap:8px}
.article-tools input{min-width:180px}
.article-catalog-grid{gap:var(--layout-gap)}
.article-catalog-card{min-height:0;padding:20px;gap:0}
.article-catalog-card .tag{align-self:flex-start}
.article-catalog-card h3{font-size:19px;margin:12px 0 9px}
.article-catalog-card p{font-size:14px;line-height:1.7}
.article-catalog-card .arrow{padding-top:16px;font-size:12px}
.product-primary{gap:var(--layout-gap);padding:16px}
.product-hero{padding:24px}
.product-hero h1{font-size:clamp(30px,3vw,42px);margin:10px 0 12px}
.product-hero .intro{max-width:none;font-size:16px;line-height:1.8}
.product-id{font-size:11px;margin-top:12px}
.product-module{padding:22px;box-shadow:none}
.product-module h2{font-size:22px;margin:7px 0 12px}
.product-module p,.product-formatted{font-size:15px;line-height:1.8}
.dosage-value{font-size:23px;margin:4px 0 10px}
.consult-card h2{font-size:18px}
.consult-card p{font-size:13px;line-height:1.7}
.consult-card .button{margin-top:16px;font-size:13px;padding:10px 16px}
.series-products,.product-detail .related-reading{max-width:none;margin:18px 0 0;padding:20px}
.series-heading{margin-bottom:14px;gap:14px}
.series-heading h2{font-size:20px}
.series-heading p{font-size:12px;color:var(--layout-muted)}
.series-grid,.related-reading-grid{gap:12px}
.series-item{min-height:0;padding:12px 14px}
.related-reading-card{padding:16px;gap:7px}
.related-reading-card strong{font-size:14px;color:#526b77}
.related-reading-card small{font-size:12px;color:var(--layout-muted)}
.article-header{padding:24px;background:#fff;border:1px solid var(--layout-border);margin-bottom:18px}
.article-header h1{font-size:clamp(27px,2.6vw,38px);line-height:1.4;margin:0 0 12px;max-width:1200px}
.article-header .intro{margin:0 0 10px;max-width:none;font-size:16px;line-height:1.8}
.article-header .article-meta{font-size:11px;color:var(--layout-muted);margin:0}
.article-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.article-detail .article-body{margin:0;padding:24px;background:#fff;border:1px solid var(--layout-border);font-size:16px;overflow-wrap:anywhere}
.article-body h2{font-size:23px;line-height:1.5;margin:26px 0 10px;padding-top:20px}
.article-body>h2:first-child{margin-top:0;padding-top:0;border:0}
.article-body h3{font-size:20px;line-height:1.5;margin:20px 0 8px}
.article-body p{max-width:none;line-height:1.9;margin:8px 0 16px}
.article-body>:last-child{margin-bottom:0}
.article-body ul,.article-body ol{line-height:1.85;margin:12px 0;padding-left:24px}
.article-body blockquote{padding:14px 18px;margin:18px 0;font-size:15px}
.article-body hr{margin:24px 0}
.article-body img{max-width:100%;height:auto}
.article-aside{display:grid;gap:14px;position:sticky;top:18px}
.article-aside .notice{margin:0;padding:16px;font-size:12px;line-height:1.8}
.article-aside .notice strong{display:block;font-size:14px;color:#766022;margin-bottom:7px}
.article-reference{width:100%;max-width:none;margin:0;padding:16px;background:#edf7fb;border:1px solid var(--layout-border)}
.article-reference h2{font-size:16px;margin:0 0 8px;color:#526d7b}
.article-reference .article-sources{font-size:12px;line-height:1.75;margin:0;padding-left:18px}
.article-aside>.button{font-size:13px;text-align:center}
.article-supplement{margin-top:20px;padding:20px;border:1px solid var(--layout-border);background:#edf5f8}
.article-supplement h2{font-size:19px;margin:0 0 14px;color:#526d7b}
.article-supplement .article-section-heading{display:block;border:0;padding:0;margin:0 0 14px}
.article-supplement .article-section-heading span{display:block;font-size:10px;margin-bottom:4px}
.article-supplement .article-section-heading h2{margin:0;font-size:19px}
.article-detail .article-related-products,.article-detail .article-related-reading{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.article-detail .article-related-products>a,.article-detail .article-related-reading>a{padding:16px;background:#fff;gap:7px}
.article-detail .article-related-products strong,.article-detail .article-related-reading strong{font-size:14px;line-height:1.5;color:#526b77}
.article-detail .article-related-products small,.article-detail .article-related-reading small{font-size:12px;color:var(--layout-muted)}
.article-detail .article-related-products.count-1,.article-detail .article-related-reading.count-1{grid-template-columns:1fr}
.article-detail .article-related-products.count-2,.article-detail .article-related-reading.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.article-detail .article-related-products.count-3,.article-detail .article-related-reading.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.reading .intro{max-width:1100px;margin-bottom:22px}
.form-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;align-items:start}
.form-section>div{padding:24px;background:#edf7fb;border:1px solid var(--layout-border)}
.form-section>form{padding:24px;background:#fff;border:1px solid var(--layout-border)}
.form-section h1{margin-top:6px;font-size:34px}
.form-section p{font-size:15px}
.form-section .contact-product-context{margin-top:20px;padding:16px}
.form-section .check{font-size:12px;flex-wrap:wrap}
.admin-workspace h1{font-size:30px;margin:16px 0 12px}
.admin-workspace>.admin-panel{max-width:none}
.admin-nav{margin:0 0 20px;padding:8px;gap:6px}
.admin-nav a{padding:8px 12px;font-size:13px}
.admin-intro{max-width:none;font-size:14px;margin:0 0 20px}
.admin-panel summary{padding:14px 18px;font-size:16px}
.admin-panel form{padding:20px;gap:4px 18px;max-width:none}
.admin-panel>p,.admin-panel>.lead{margin:12px 18px}
.admin-module{min-height:0;padding:20px}
.admin-module strong{font-size:24px}
.product-rich-field{margin:6px 0 12px}
.product-rich-input{min-height:96px;padding:12px;font-size:15px}
.article-editor textarea{min-height:420px;font-size:15px}
.article-editor-toolbar,.product-format-toolbar{gap:6px}
body>footer{gap:24px;padding-top:24px;padding-bottom:24px;flex-wrap:wrap;font-size:14px}
body>footer a{display:inline-block;margin:0 18px 8px 0;font-size:12px}
body>footer small{margin-top:10px;font-size:11px}
body>footer p{margin:6px 0 0;font-size:12px}
@media(max-width:1150px){
  body>header{flex-wrap:wrap;gap:14px}
  .site-nav{display:flex;order:3;width:100%;justify-content:center;flex-wrap:wrap;overflow:visible;gap:8px}
  .site-nav .nav-item{position:static}
  .nav-dropdown{top:100%;left:var(--layout-gutter);right:var(--layout-gutter);width:auto;max-height:65vh;overflow:auto}
  .nav-item:nth-last-child(-n+2) .nav-dropdown-small{left:var(--layout-gutter);right:var(--layout-gutter)}
  .article-tools{grid-template-columns:1fr}
  .article-content{grid-template-columns:minmax(0,1fr) 260px;gap:16px}
  .category-overview-grid,.category-overview-all,.home-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  :root{--layout-gutter:20px}
  .article-content{grid-template-columns:1fr}
  .article-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .article-aside>.button{grid-column:1/-1;justify-self:start}
  .article-detail .article-related-products,.article-detail .article-related-reading,.article-detail .article-related-products.count-3,.article-detail .article-related-reading.count-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-primary{display:block}
  .product-hero{margin-bottom:16px}
  .product-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .product-aside{display:block;margin-top:16px}
  .product-main .product-module:nth-child(1),.product-main .product-module:nth-child(2){grid-column:auto}
  .product-main .product-module:last-child{grid-column:1/-1}
  .consult-card{height:auto}
  main>.home-support{grid-template-columns:1fr;gap:18px}
  .form-section{grid-template-columns:1fr;gap:18px}
  .article-tools .filters{display:flex;flex-wrap:wrap}
}
@media(max-width:640px){
  :root{--layout-gutter:14px;--layout-gap:12px}
  #main-content>section:not(.home-block),#main-content>.article-detail{padding:18px 0 26px}
  #main-content>.home-block,#main-content>.cta.home-block{padding:18px;margin-bottom:14px}
  #main-content>.home-hero-block{padding:0;margin-top:16px}
  body>header{padding-top:14px;padding-bottom:12px;gap:12px}
  .brand{font-size:18px;gap:8px}
  .brand small{font-size:6px;letter-spacing:.8px}
  .logo{font-size:23px;padding:5px 8px}
  body>header>.button{padding:9px 12px;font-size:12px}
  .site-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .nav-top-link{font-size:12px;padding:8px 5px;width:100%;text-align:center}
  .nav-dropdown{padding:14px}
  .nav-dropdown-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  h1{font-size:28px;letter-spacing:0}
  .home-block .section-head h2,.category-overview-title h2{font-size:25px}
  .home-block .section-head{gap:12px;flex-wrap:wrap;align-items:baseline}
  .home-block .section-head>.text-link{margin:0}
  .category-overview-grid,.category-overview-all,.home-article-grid,.grid,.product-main,.article-catalog-grid,.series-grid,.related-reading-grid{grid-template-columns:1fr}
  .category-overview-head h3{font-size:19px}
  .catalog-hero-content,.article-catalog-copy{padding:22px}
  .catalog-hero h1,.article-catalog-hero h1{font-size:32px}
  .catalog-hero .intro,.article-catalog-hero .intro{font-size:14px}
  .catalog-jump a,.article-category-jump a{padding:7px 9px;font-size:12px}
  .catalog-heading h2,.article-catalog-heading h2{font-size:23px}
  .catalog-heading-main{gap:10px}
  .product-catalog-card,.article-catalog-card{padding:18px}
  .product-catalog-card h3,.article-catalog-card h3{font-size:19px}
  .product-primary{padding:12px}
  .product-hero,.product-module{padding:18px}
  .product-hero h1{font-size:30px}
  .product-hero .intro{font-size:14px}
  .product-module h2{font-size:20px}
  .product-module p,.product-formatted{font-size:14px}
  .product-main .product-module:last-child{grid-column:auto}
  .series-products,.product-detail .related-reading{padding:16px}
  .series-heading{display:block}
  .series-heading .text-link{margin-top:8px}
  .article-header,.article-detail .article-body{padding:18px}
  .article-header h1{font-size:27px;line-height:1.4}
  .article-header .intro{font-size:14px}
  .article-detail .article-body{font-size:15px}
  .article-body h2{font-size:21px}
  .article-body h3{font-size:18px}
  .article-aside{grid-template-columns:1fr}
  .article-supplement{padding:16px;margin-top:16px}
  .article-detail .article-related-products,.article-detail .article-related-reading,.article-detail .article-related-products.count-2,.article-detail .article-related-products.count-3,.article-detail .article-related-reading.count-2,.article-detail .article-related-reading.count-3{grid-template-columns:1fr}
  .article-related-products.count-1>a{display:flex}
  .article-tools .filters{display:grid;grid-template-columns:1fr;width:100%}
  .article-tools input{min-width:0;width:100%}
  .form-section>div,.form-section>form{padding:18px}
  .form-section h1,.admin-workspace h1{font-size:27px}
  .admin-nav{flex-wrap:wrap;overflow:visible}
  .admin-nav a{padding:7px 9px;font-size:12px}
  .admin-panel summary{padding:13px;font-size:15px;flex-wrap:wrap;gap:8px}
  .admin-panel summary span{overflow-wrap:anywhere}
  .admin-panel form{padding:16px;grid-template-columns:1fr}
  .article-editor textarea{min-height:360px}
  body>footer{display:block}
  body>footer>div+div{margin-top:16px}
}
