/* Shared typography and heading components for all six DIVERTISY pages. */
:root{
  --type-label:.75rem;
  --type-label-color:#92928e;
  --type-small:.875rem;
  --type-body:1rem;
  --type-lead:clamp(1rem,1.35vw,1.125rem);
  --type-title:clamp(2rem,4.2vw,3.5rem);
  --type-card-title:clamp(1.625rem,3vw,2.25rem);
}
body{font-size:var(--type-body)}

/* Navigation and actions use the same sizes on every page and screen. */
.nav-links,.nav-cta,.mobile-menu a,
.btn,.warranty-page .btn{font-size:var(--type-label);letter-spacing:.08em;line-height:1.5}
.btn,.warranty-page .btn{min-height:48px;text-align:center}
.hero-actions,.product-actions{min-width:0}

/* Small labels are intentionally compact, but never 8–10px. */
.eyebrow,.inline-cta .eyebrow,.warranty-page .eyebrow,.product-type,.product-badge,.keyword-kicker,
.warranty-page .keyword-kicker,.launch-tag,.hero-kicker,
.spec span,.detail-spec span,.feature span,
.size-card small,.size-card a,.product-page-link a,.text-link,
.principle-num,.benefit-card .num,.warranty-num,.warranty-page .warranty-num,
.field label,.form-privacy,.footer-col h4,.warranty-page .footer-col h4,
.footer-copy,.warranty-page .footer-copy,.warranty-safety .eyebrow,
.warranty-page-links>span,.warranty-note strong{
  font-size:var(--type-label);line-height:1.6;letter-spacing:.08em;
}
.pack-contents,.product-note{font-size:var(--type-label);line-height:1.6;letter-spacing:.05em}
.pack-contents::before{flex-shrink:0}
/* One breadcrumb component for pages and anchored sections. */
.breadcrumbs{
  position:relative;z-index:1;width:100%;margin:0 0 32px;
  font-size:var(--type-label);font-weight:400;line-height:1.6;letter-spacing:.08em;
  text-align:left;text-transform:uppercase;color:var(--type-label-color);
}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;list-style:none;margin:0;padding:0}
.breadcrumbs li{display:flex;align-items:baseline;gap:8px;min-width:0;max-width:100%}
.breadcrumbs li:not(:last-child){flex-shrink:0}
.breadcrumbs li:last-child{flex:1 1 8ch}
.breadcrumbs .breadcrumb-separator{flex-shrink:0;color:var(--type-label-color)}
.breadcrumbs a:hover{color:#fff}
.breadcrumbs [aria-current="page"]{min-width:0;overflow-wrap:anywhere;color:rgba(255,255,255,.66)}
/* Page and anchor-section introductions use the same plain eyebrow. */
.eyebrow{font-weight:650;margin:0 0 18px}
.eyebrow,.inline-cta .eyebrow,.warranty-safety .eyebrow{color:var(--type-label-color)}
.hero-kicker{white-space:normal;text-align:center;width:calc(100% - 48px)}

/* Product facts and ordinary reading text share a consistent scale. */
.supporting,.page-hero-copy .supporting,.warranty-page .page-hero-copy .supporting,
.product-desc,.guide-copy,.prose,.seo-intro,.faq-answer,.warranty-page .faq-answer,
.warranty-page .warranty-card li,.warranty-next p:not(.eyebrow),
.claim-step p,.warranty-safety p:not(.eyebrow),.warranty-final-cta p{
  font-size:var(--type-body);line-height:1.75;
}
.hero .supporting{letter-spacing:.03em}
.section-copy,.warranty-page .section-copy{font-size:var(--type-lead);line-height:1.75}
.spec strong,.detail-spec b,.warranty-hero-facts strong{font-size:var(--type-body);line-height:1.4}
.spec,.detail-spec{min-width:0;overflow-wrap:anywhere}
.feature b{font-size:var(--type-small);line-height:1.5}
.principle p,.business-card p,.benefit-card p,.sales-path p,.size-card p,
.inline-cta p,.business-cta p,.wholesale-hero-card li,
.contact-point,.contact-note,.form-status,.footer-tagline,.warranty-page .footer-tagline,
.footer-col a,.warranty-page .footer-col a,.warranty-badge p,.warranty-note p,
.warranty-hero-facts span,.warranty-page-links a{
  font-size:var(--type-small);line-height:1.65;
}
.field input,.field select,.field textarea{font-size:var(--type-body);line-height:1.5;min-width:0}
.field{min-width:0}

/* One complete title style for page h1s and main section/anchor h2s. */
.heading-title{
  margin:0;max-width:880px;font-family:inherit;
  font-size:var(--type-title);font-weight:500;line-height:1.12;letter-spacing:-.04em;
  color:var(--paper);text-align:left;text-indent:0;text-transform:none;
  text-shadow:none;text-wrap:balance;overflow-wrap:break-word;animation:none;
}
.product-name{font-size:clamp(1.875rem,3vw,2.5rem);line-height:1.12}
.inline-cta h2,.inline-cta h3,.wholesale-hero-card h2,.warranty-final-cta h2{
  font-size:var(--type-card-title);line-height:1.2;
}
.principle h2,.business-card h3,.benefit-card h3,.sales-path h3,.business-cta h3,.claim-step h3{
  font-size:1.25rem;line-height:1.3;
}
.warranty-page-cards .warranty-card h3,.warranty-next h3,.warranty-safety h2{
  font-size:clamp(1.375rem,2.4vw,1.75rem);line-height:1.25;
}
.faq-item summary,.warranty-page .faq-item summary{font-size:1.0625rem;line-height:1.5}
.warranty-badge span,.warranty-page-badge>span{
  font-size:var(--type-label);line-height:1.6;letter-spacing:.08em;
}

@media(max-width:620px){
  .breadcrumbs{margin-bottom:24px}
  .faq-item summary,.warranty-page .faq-item summary{font-size:var(--type-body)}
  .btn,.warranty-page .btn{padding:12px 18px}
  .section-copy,.warranty-page .section-copy{font-size:var(--type-body)}
}

/* Keep product terminology together when body copy wraps. */
.nowrap{white-space:nowrap}
