/* Approved logo and a quieter, more readable page rhythm. */
html{scroll-padding-top:112px}
.brand,.report-brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;line-height:1.4;white-space:normal}
.brand-logo{display:block;width:126px;height:auto;max-width:100%;object-fit:contain}
.brand .brand-sub,.report-brand .brand-sub{font-size:.75rem;line-height:1.5;letter-spacing:.02em;margin:0;max-width:190px;white-space:normal;font-weight:400}
header:has(#navigation){height:auto;min-height:100px;padding:12px 5%;gap:24px;background:#ffffffed;flex-wrap:nowrap}
header #navigation{position:static;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 20px;font-size:.875rem;padding:0;box-shadow:none;background:none}
header .nav-contact{padding:10px 16px;white-space:nowrap}
footer .brand-logo{width:136px}
.report-header{height:auto;min-height:100px;gap:20px;flex-wrap:wrap}
.hero{height:auto;min-height:620px;max-height:none;padding-top:24px;padding-bottom:76px}
.hero-copy{max-width:58%;padding-top:82px;padding-bottom:40px}
.hero h1{font-size:clamp(2.15rem,4.2vw,3.5rem);line-height:1.5;margin:12px 0 24px;letter-spacing:.025em}
.hero-description{max-width:34em;font-size:1rem;line-height:1.9}
.hero-top span:last-child{font-size:.75rem}
.hero-bottom{justify-content:flex-end}
.hero-bottom a{font-size:.875rem}
.hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px 24px}
.hero-actions .text-link{gap:12px}
.hero-actions .faq-primary-button{font-size:1rem;padding:11px 18px;min-height:46px}
.section{padding-top:64px;padding-bottom:64px;scroll-margin-top:112px}
.section-label{margin-bottom:34px}
.section h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.65;letter-spacing:.02em}
.section h3{font-size:clamp(1.125rem,1.8vw,1.375rem);line-height:1.65}
.intro-grid{align-items:center}
.intro-body p,.activity-body p{font-size:1rem;line-height:1.95}
.activity-title{font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.6}
.activity-list summary{padding-top:20px;padding-bottom:20px}
.activity-body{padding-bottom:24px}
.lemon-service .lemon-lead{font-size:1rem;line-height:1.85}
.lemon-service-body>p{line-height:1.9;margin-bottom:18px}
.lemon-service-body .lemon-terms{font-size:.875rem;line-height:1.8}
.membership-cards h3{font-size:1.5rem}
.membership-entry h2{margin-bottom:28px}
.subhero h1,.benefit-hero h1,.member-intro h1{font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.55}
.sublead,.benefit-lead{font-size:1rem;line-height:1.9;max-width:46em}
.faq-section{padding-top:40px;padding-bottom:28px}
.faq-section h2{font-size:clamp(1.25rem,2.2vw,1.5rem);margin-bottom:20px}
.faq-item summary{font-size:1rem;line-height:1.8;padding-top:20px;padding-bottom:20px;gap:16px}
.faq-number{font-size:.875rem}
.faq-answer{padding-bottom:24px}
.faq-answer p,.faq-answer li{font-size:1rem;line-height:1.9}
.faq-answer a{font-size:1rem;text-underline-offset:4px}
.faq-item:target{scroll-margin-top:112px}
.faq-toc a{font-size:.875rem;line-height:1.7}
.faq-section .text-link{margin-top:24px;gap:16px}
.join h2{font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.6}
.join>p,.join-grid>div>p{max-width:42em;line-height:1.9}
.join-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:22px}
.join-actions .solid-button,.join-actions .text-link{margin:0}
.join-actions .text-link{gap:12px}
.about dl>div{font-size:1rem}
.publications-section h2{font-size:clamp(1.5rem,2.5vw,2rem)}
.publication-card h3{font-size:clamp(1.25rem,2.2vw,1.625rem)}
.news-section h2{font-size:clamp(1.5rem,2.5vw,2rem)}
.news-section h3{font-size:clamp(1.125rem,2vw,1.5rem)}
.contact-dialog-header h2{font-size:1.375rem}
@media(max-width:1100px){
  header:has(#navigation){min-height:100px;flex-wrap:nowrap}
  header .menu-toggle{display:block;font-size:.875rem;padding:9px 12px;min-height:44px;flex-shrink:0}
  header #navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 5%;background:#fff;box-shadow:0 10px 16px #20344014}
  header #navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:1rem}
  header #navigation a{padding:12px 14px}
}
@media(max-width:760px){
  header:has(#navigation){padding:10px 5%;gap:12px;min-height:94px}
  header .brand-logo,.report-header .brand-logo{width:112px}
  .brand .brand-sub,.report-brand .brand-sub{font-size:.75rem;letter-spacing:0}
  .report-header{min-height:94px}
  .hero{height:auto;min-height:650px;padding:22px 6% 76px}
  .hero-copy{max-width:100%;padding-top:208px;padding-bottom:20px}
  .hero h1{font-size:clamp(2rem,8.8vw,2.6rem);line-height:1.5}
  .hero-art{top:42px;right:10%;width:64%;height:180px}
  .hero-art img{width:190px;max-height:none}
  .hero .motion-control{bottom:56px}
  .hero-bottom{bottom:16px}
  .hero-actions{gap:12px 18px;flex-direction:row;align-items:center}
  .hero-actions .faq-primary-button{font-size:.9375rem;white-space:normal;padding:10px 14px}
  .hero-actions .text-link{font-size:.9375rem;gap:8px}
  .hero-description{max-width:100%;font-size:1rem}
  .section{padding:48px 6%}
  .section-label{margin-bottom:28px;gap:12px}
  .section-label span:last-child{font-size:.875rem}
  .section h2{font-size:1.5rem}
  .faq-section{padding-top:32px;padding-bottom:24px}
  .faq-section h2{font-size:1.25rem}
  .faq-item summary{gap:12px;font-size:1rem}
  .faq-answer{padding:0 4px 24px 36px}
  .join h2{font-size:1.5rem}
  .join-grid{gap:24px}
  .subhero h1,.benefit-hero h1,.member-intro h1{font-size:1.875rem}
  .sublead,.benefit-lead{font-size:1rem}
  .membership-cards h3{font-size:1.375rem}
  .lemon-service-body .solid-button{white-space:normal;font-size:1rem}
  footer .brand-sub{white-space:normal}
}
