/**
 * Atlas type scale — single source of truth for readable B2B sizes.
 * Loaded late so it wins over page CSS with oversized clamps (54–92px heroes).
 * Fonts: Manrope (UI) + Cormorant Garamond (display) — match demo / portals.
 */
:root{
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:Manrope,Arial,Helvetica,sans-serif;

  --fs-body:15px;
  --lh-body:1.55;
  --fs-small:12px;
  --fs-eyebrow:10px;
  --tracking-eyebrow:.08em;
  --fs-ui:12.5px;
  --fs-btn:12px;

  /* Section / page titles */
  --fs-h1:clamp(2rem,3.2vw,2.85rem);       /* ~32–46px */
  --fs-h2:clamp(1.45rem,2.4vw,2.15rem);    /* ~23–34px */
  --fs-h3:1.0625rem;                       /* 17px */

  /* Heroes only — larger but capped */
  --fs-hero:clamp(2.15rem,4vw,3.35rem);    /* ~34–54px */
  --fs-hero-sub:clamp(1.55rem,2.8vw,2.35rem);
}

html{font-size:16px}

body,
body.atlas-public{
  font-family:var(--sans) !important;
  font-size:var(--fs-body) !important;
  line-height:var(--lh-body) !important;
  font-weight:400;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* —— Display family —— */
body.atlas-public h1,
body.atlas-public h2,
.atlas-category-page h1,
.atlas-category-page h2,
.atlas-inventory-hub h1,
.atlas-inventory-hub h2,
.atlas-about-page h1,
.atlas-about-page h2,
.atlas-hiw-page h1,
.atlas-hiw-page h2,
.atlas-why-page h1,
.atlas-why-page h2,
.atlas-service-page h1,
.atlas-service-page h2,
.atlas-contact-page h1,
.atlas-contact-page h2,
.atlas-buyer-page h1,
.atlas-buyer-page h2,
.atlas-buyer-req h1,
.atlas-buyer-req h2,
.atlas-buyer-register h1,
.atlas-buyer-register h2,
.atlas-buyer-cg h1,
.atlas-buyer-cg h2,
.atlas-buyer-reviews h1,
.atlas-buyer-reviews h2,
.atlas-rfq-page h1,
.atlas-rfq-page h2,
.atlas-login-page h1,
.atlas-login-page h2,
.atlas-legal-buyer-terms h1,
.atlas-legal-buyer-terms h2{
  font-family:var(--serif) !important;
  font-weight:700 !important;
  letter-spacing:-.02em !important;
  line-height:1.12 !important;
}

/* —— Default H1 / H2 (sections) —— */
body.atlas-public h1,
.atlas-category-page h1,
.atlas-inventory-hub h1,
.atlas-about-page h1,
.atlas-hiw-page h1,
.atlas-why-page h1,
.atlas-service-page h1,
.atlas-contact-page h1,
.atlas-buyer-page h1,
.atlas-buyer-req h1,
.atlas-buyer-register h1,
.atlas-buyer-cg h1,
.atlas-buyer-reviews h1,
.atlas-rfq-page h1,
.atlas-login-page h1,
.head h2,
.center h2,
.cta h2,
.final-cta h2,
.split-copy h2,
body.atlas-public h2,
.atlas-category-page h2,
.atlas-inventory-hub h2,
.atlas-about-page h2,
.atlas-hiw-page h2,
.atlas-why-page h2,
.atlas-service-page h2,
.atlas-contact-page h2,
.atlas-buyer-page h2,
.atlas-buyer-req h2,
.atlas-buyer-register h2,
.atlas-buyer-cg h2,
.atlas-buyer-reviews h2,
.atlas-rfq-page h2{
  font-size:var(--fs-h2) !important;
}

body.atlas-public h1,
.atlas-category-page h1,
.atlas-inventory-hub h1,
.atlas-about-page h1,
.atlas-hiw-page h1,
.atlas-why-page h1,
.atlas-service-page h1,
.atlas-contact-page h1,
.atlas-buyer-page h1,
.atlas-buyer-req h1,
.atlas-buyer-register h1,
.atlas-buyer-cg h1,
.atlas-buyer-reviews h1,
.atlas-rfq-page h1,
.atlas-login-page h1,
.page-hero h1,
.marketing-hero h1{
  font-size:var(--fs-h1) !important;
  margin-top:0;
}

/* —— Heroes (slightly larger scale) —— */
.hero h1,
.hero-copy h1,
.ar-hero h1,
.ar-hero-copy h1,
.ct-hero h1,
.cg-hero h1,
.rv-hero h1,
.ps-hero h1,
.rfq-hero-copy h1,
.auth-copy h1,
.legal-hero h1,
.shipping-hero h1,
body.home .hero-copy h1,
.atlas-inventory-hub .ar-hero-copy h1,
.atlas-contact-page .ct-hero h1,
.atlas-buyer-req .hero-copy h1,
.atlas-buyer-register .hero h1,
.atlas-buyer-cg .cg-hero h1,
.atlas-buyer-reviews .hero-copy h1,
.atlas-buyer-reviews .rv-hero h1,
.atlas-buyer-reviews .ps-hero h1,
.atlas-buyer-reviews .cg-hero h1,
.atlas-rfq-page .hero-copy h1,
.atlas-rfq-page .rfq-hero-copy h1,
.atlas-rfq-page .ps-hero h1,
.atlas-login-page .auth-copy h1,
.atlas-legal-buyer-terms .legal-hero h1,
.atlas-legal-buyer-terms .shipping-hero h1{
  font-size:var(--fs-hero) !important;
  line-height:1.05 !important;
  letter-spacing:-.025em !important;
}

/* Hero / dark section support titles */
.hero-ops h3,
.dialog h2,
.overlay .dialog h2{
  font-family:var(--serif) !important;
  font-size:var(--fs-hero-sub) !important;
}

/* —— H3 / cards —— */
body.atlas-public h3,
.atlas-category-page h3,
.atlas-inventory-hub h3,
.card h3,
.hero-panel h3,
.hero-card h3,
.ar-hero-card h3,
.category h3,
.service h3,
.benefit h3,
.process-step h3,
.portal h3,
.doc b,
.atlas-product-card h3{
  font-size:var(--fs-h3) !important;
  font-family:var(--sans) !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  line-height:1.3 !important;
}

body.atlas-public p,
.atlas-category-page p,
.atlas-inventory-hub p,
.atlas-contact-page p,
.atlas-buyer-page p{
  font-size:var(--fs-body) !important;
  line-height:var(--lh-body) !important;
}

.eyebrow,
.atlas-category-page .eyebrow,
.atlas-inventory-hub .eyebrow,
.atlas-contact-page .eyebrow,
.atlas-buyer-page .eyebrow{
  font-family:var(--sans) !important;
  font-size:var(--fs-eyebrow) !important;
  font-weight:800 !important;
  letter-spacing:var(--tracking-eyebrow) !important;
}

.brand strong{
  font-family:var(--sans) !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
}
.brand small{
  font-size:9px !important;
  letter-spacing:.12em !important;
  font-weight:600;
}

.menu a,
.nav-primary a{
  font-family:var(--sans) !important;
  font-size:var(--fs-ui) !important;
  font-weight:700 !important;
}

.btn,
a.btn,
button.btn,
.atlas-category-page .btn,
.atlas-inventory-hub .btn,
.filter,
.filter-reset{
  font-family:var(--sans) !important;
  font-size:var(--fs-btn) !important;
  font-weight:800 !important;
  letter-spacing:.01em;
}

.top{font-size:11px !important}
.site-footer-source,
.site-footer-source p,
.site-footer-source a,
.site-footer-source li{font-size:var(--fs-small) !important;line-height:1.5}
.site-footer-source h4{
  font-family:var(--sans) !important;
  font-size:11px !important;
  font-weight:800;
  letter-spacing:.08em;
}

.card p,
.trust-item small,
.condition small,
.check p,
.faq small,
.faq-item small,
.meta,
.atlas-product-card .meta{font-size:var(--fs-small) !important;line-height:1.45}
.atlas-product-card .price{font-size:20px !important;font-family:var(--sans) !important}

/* Homepage section titles */
body.home .head h2,
body.home .center h2,
body.home #categories .head h2,
body.home #services h2,
body.home #process h2,
body.home #portal .head h2,
body.home #global h2,
body.home #documents .head h2,
body.home #payments .head h2,
body.home #buyer-advantages .head h2,
body.home #inventory-standards h2,
body.home #faq h2,
body.home #reviews .head h2,
body.home #tracking .head h2,
body.home #testimonials h2,
body.home #contact h2,
body.home .rfq h2{
  font-size:var(--fs-h2) !important;
}

@media(max-width:760px){
  :root{
    --fs-body:14.5px;
    --fs-h1:clamp(1.75rem,6.5vw,2.25rem);
    --fs-h2:clamp(1.35rem,5vw,1.85rem);
    --fs-hero:clamp(1.9rem,8vw,2.55rem);
    --fs-hero-sub:clamp(1.35rem,5vw,1.75rem);
  }
}

/* FAQ answers — loaded last so page CSS cannot keep them collapsed */
.faq-item.reveal,
button.faq.reveal,
.faq-list .reveal,
.faq .reveal,
#faq .reveal,
#faqs .reveal,
.wrap.reveal:has(.wi-faq),
.wrap.reveal:has(.faq-list),
.wrap.reveal:has(.faq-item),
.wrap.reveal:has(button.faq){
  opacity:1 !important;
  transform:none !important;
}
.faq-item.open small,
button.faq.open small,
.faq > button.open small,
.faq-list > button.open small,
.rv-faq button.open small,
.ps-faq button.open small{
  display:block !important;
  max-height:none !important;
  opacity:1 !important;
  overflow:visible !important;
  height:auto !important;
  margin-top:8px;
  transition:none !important;
}
.faq-item.open > i,
.faq-item.open > svg,
button.faq.open > i,
button.faq.open > svg,
.faq > button.open > i,
.faq > button.open > svg,
.faq-list > button.open > i,
.faq-list > button.open > svg,
.wi-faq-item.open .wi-faq-q i,
.wi-faq-item.open .wi-faq-q svg,
.cg-faq-item.open .cg-faq-q i,
.cg-faq-item.open .cg-faq-q svg,
.rfq-faq-item.open .rfq-faq-q i,
.rfq-faq-item.open .rfq-faq-q svg{
  transform:rotate(45deg);
}
.wi-faq-item.open .wi-faq-a,
.cg-faq-item.open .cg-faq-a,
.rfq-faq-item.open .rfq-faq-a{
  max-height:none !important;
  opacity:1 !important;
  overflow:visible !important;
  height:auto !important;
  transition:none !important;
}
