:root {
  --jrt-ink: #0b1d31;
  --jrt-ink-2: #17324d;
  --jrt-blue: #146fe8;
  --jrt-blue-dark: #0958c5;
  --jrt-sky: #eaf3fd;
  --jrt-paper: #f5f8fc;
  --jrt-white: #ffffff;
  --jrt-line: #d7e2ee;
  --jrt-muted: #52677c;
  --jrt-max: 1240px;
  --jrt-r-sm: 12px;
  --jrt-r-md: 16px;
  --jrt-r-lg: 22px;
  --jrt-shadow: 0 18px 48px rgba(11, 29, 49, 0.09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--jrt-paper);
  color: var(--jrt-ink);
  font-family: Inter, "Aptos", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
::selection { background: #b8d8ff; color: #071525; }
a { text-underline-offset: 0.18em; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid #63a4ff; outline-offset: 3px; }

/* Homepage: make DOM order and visual order agree. */
#main-content {
  display: block !important;
  min-height: 100vh;
}
#main-content > * { order: initial !important; }
#main-content > .homeNewHifi,
#main-content > .homeWirelessNew,
#main-content > .hifiIemLine,
#main-content > .buyerCommitments:empty { display: none !important; }

.topContactBar,
.nav,
.receptionHero,
.homePriorityInquiry,
.quickInquiryStrip,
.productFamilyDeck,
.unifiedCollections,
.headsetLine,
.productCollection,
.homeFeaturedModelLinks,
.homeResources,
.homeRfqGuide,
.process,
.contact,
footer {
  width: min(calc(100% - 40px), var(--jrt-max));
  margin-inline: auto;
}

.topContactBar { border-radius: 0 0 var(--jrt-r-sm) var(--jrt-r-sm); }
.nav {
  position: sticky;
  top: 0;
  z-index: 30;
  border: 1px solid rgba(215, 226, 238, 0.88);
  border-radius: var(--jrt-r-md);
  box-shadow: 0 10px 30px rgba(11, 29, 49, 0.08);
  backdrop-filter: blur(14px);
}

.receptionHero,
.homePriorityInquiry,
.productFamilyDeck,
.unifiedCollections,
.headsetLine,
.productCollection,
.homeFeaturedModelLinks,
.homeResources,
.homeRfqGuide,
.process,
.contact {
  margin-top: 28px !important;
  border-radius: var(--jrt-r-lg) !important;
  overflow: hidden;
}

.productFamilyDeck,
.unifiedCollections,
.headsetLine,
.productCollection,
.homeResources,
.homeRfqGuide,
.process,
.contact {
  padding: clamp(28px, 4vw, 56px) !important;
}

.unifiedCollectionsHead,
.collectionHead,
.headsetIntro,
.homeResourcesHead,
.processHead,
.contactIntro {
  margin-bottom: 28px !important;
}

.unifiedCollectionsHead h2,
.collectionHead h3,
.headsetIntro h2,
.homeResourcesHead h2,
.processHead h2,
.contactIntro h2 {
  max-width: 16ch;
  margin: 0 0 12px !important;
  font-size: clamp(36px, 5vw, 68px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.035em !important;
}

.unifiedCollectionsHead p,
.collectionHead p,
.headsetIntro p,
.homeResourcesHead p,
.processHead p,
.contactIntro p {
  max-width: 66ch;
  color: var(--jrt-muted) !important;
}

.collectionGrid,
.compactHeadsetGrid,
.productFamilyGrid,
.homeResourceGrid {
  gap: 18px !important;
}

.collectionCard,
.compactHeadsetCard,
.productFamilyCard,
.homeResourceGrid article {
  border: 1px solid var(--jrt-line) !important;
  border-radius: var(--jrt-r-md) !important;
  background: var(--jrt-white) !important;
  box-shadow: none !important;
  overflow: hidden;
}

.collectionCard:hover,
.compactHeadsetCard:hover,
.productFamilyCard:hover,
.homeResourceGrid article:hover {
  border-color: #9fc4f2 !important;
  box-shadow: var(--jrt-shadow) !important;
  transform: translateY(-2px);
}

.collectionCard img,
.compactHeadsetCard img,
.productFamilyCard img {
  background: #f7f9fc;
  object-fit: contain !important;
}

.collectionCard p,
.compactHeadsetCard p,
.productFamilyCard p { color: var(--jrt-muted) !important; }

.collectionActions a,
.cardActions a,
.receptionActions a,
.productHeroActions a,
.productNavCta,
.productFinalCta a,
.productQuickInquiry button,
.navCta {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px !important;
  font-weight: 800;
  letter-spacing: 0.01em;
}

/* Product and manufacturer landing pages. */
.productLanding { background: var(--jrt-paper) !important; color: var(--jrt-ink); }
.productNav,
.productHero,
.productProcurementBar,
.productOverview,
.productOptions,
.hSeries,
.hifiNewSeries,
.hifiFastModels,
.g7FastModels,
.productWorkflow,
.productFaq,
.productRelated,
.productQuickInquiry,
.productFinalCta,
.productFooter,
.productGuideLinks,
.oemComparisonLink,
.wirelessModelGuideDownload,
.allModelsArticlePromo {
  width: min(calc(100% - 40px), var(--jrt-max)) !important;
  margin-inline: auto !important;
}

.productNav {
  position: sticky;
  top: 0;
  z-index: 30;
  border: 1px solid rgba(215, 226, 238, 0.9);
  border-radius: var(--jrt-r-md);
  box-shadow: 0 10px 30px rgba(11, 29, 49, 0.08);
}

.productHero,
.productOverview,
.productOptions,
.hSeries,
.hifiNewSeries,
.hifiFastModels,
.g7FastModels,
.productWorkflow,
.productFaq,
.productRelated,
.productQuickInquiry,
.productFinalCta,
.productGuideLinks,
.oemComparisonLink,
.wirelessModelGuideDownload,
.allModelsArticlePromo {
  margin-top: 28px !important;
  border-radius: var(--jrt-r-lg) !important;
  overflow: hidden;
}

.productHero { min-height: auto !important; padding: clamp(32px, 5vw, 68px) !important; }
.productHeroCopy h1,
.productSectionHead h2,
.hSeriesHead h2,
.hifiFastModelsHead h2,
.g7FastModelsHead h2 {
  max-width: 18ch;
  letter-spacing: -0.035em !important;
  line-height: 1 !important;
}
.productHeroCopy p,
.productSectionHead p,
.hSeriesHead p,
.hifiFastModelsHead p,
.g7FastModelsHead p { max-width: 68ch; }

.productOptionsGrid,
.hSeriesGrid,
.hifiNewSeriesGrid,
.hifiFastModelsGrid,
.g7FastModelsGrid,
.productWorkflowGrid {
  gap: 18px !important;
}
.productOptionImage,
.hSeriesCard,
.hifiFastModel,
.g7FastModel {
  border: 1px solid var(--jrt-line) !important;
  border-radius: var(--jrt-r-md) !important;
  box-shadow: none !important;
  background: var(--jrt-white) !important;
  overflow: hidden;
}
.productOptionImage img,
.hSeriesImage img,
.hifiFastModel img,
.g7FastModel img { object-fit: contain !important; background: #f7f9fc; }

.productQuickInquiryForm input,
.productQuickInquiryForm select,
.productQuickInquiryForm textarea,
.rfqForm input,
.rfqForm select,
.rfqForm textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 48px;
  border: 1px solid #bfcddd !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--jrt-ink) !important;
}
.productQuickInquiryRow > label,
.productQuickInquiryForm label,
.rfqForm label { min-width: 0; }
.productQuickInquiryForm input::placeholder,
.rfqForm input::placeholder { font-size: 14px; }
.productQuickInquiryConsent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.productQuickInquiryConsent input[type="checkbox"] {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 2px 0 0 !important;
  flex: 0 0 18px !important;
}
.productQuickInquiryConsent span {
  min-width: 0;
  line-height: 1.45;
}

/* Article and buyer-guide pages: quieter reading surface. */
article { color: var(--jrt-ink); }
article p, article li { max-width: 72ch; }
article h1, article h2, article h3 { letter-spacing: -0.025em; line-height: 1.12; }

/* Homepage hero: keep the product and message readable at every viewport. */
#main-content > .receptionHero {
  display: grid !important;
  grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr) !important;
  align-items: center !important;
  gap: clamp(34px, 5vw, 76px) !important;
  min-height: auto !important;
  padding: clamp(50px, 6vw, 84px) 5vw !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #f7f9fc 0%, #fff 58%, #edf4ff 100%) !important;
}
#main-content > .receptionHero::before,
#main-content > .receptionHero::after { display: none !important; }
#main-content > .receptionHero > img {
  position: relative !important;
  inset: auto !important;
  order: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: 560px !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
  padding: clamp(18px, 3vw, 36px) !important;
  border: 1px solid var(--jrt-line) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: var(--jrt-shadow) !important;
}
#main-content > .receptionHero > .receptionOverlay {
  position: relative !important;
  z-index: 2 !important;
  order: 1 !important;
  width: 100% !important;
  max-width: 720px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
}
.receptionLogo { margin: 0 0 24px !important; padding: 0 !important; border: 0 !important; }
.receptionLogo > strong { font-size: clamp(48px, 5vw, 74px) !important; }
.receptionLogo > small { display: block !important; color: #526174 !important; }
.receptionOverlay h2 {
  max-width: 690px !important;
  margin: 18px 0 20px !important;
  color: var(--jrt-ink) !important;
  font-size: clamp(48px, 5.8vw, 86px) !important;
  line-height: .92 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: anywhere !important;
}
.receptionOverlay > p { max-width: 650px !important; color: #425167 !important; }
.receptionFacts { display: flex !important; flex-wrap: wrap !important; gap: 9px !important; }
.receptionActions { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; }
.receptionConcept { display: none !important; }

@media (max-width: 820px) {
  body { font-size: 15px; }
  .topContactBar,
  .nav,
  .receptionHero,
  .homePriorityInquiry,
  .quickInquiryStrip,
  .productFamilyDeck,
  .unifiedCollections,
  .headsetLine,
  .productCollection,
  .homeFeaturedModelLinks,
  .homeResources,
  .homeRfqGuide,
  .process,
  .contact,
  footer,
  .productNav,
  .productHero,
  .productProcurementBar,
  .productOverview,
  .productOptions,
  .hSeries,
  .hifiNewSeries,
  .hifiFastModels,
  .g7FastModels,
  .productWorkflow,
  .productFaq,
  .productRelated,
  .productQuickInquiry,
  .productFinalCta,
  .productFooter,
  .productGuideLinks,
  .oemComparisonLink,
  .wirelessModelGuideDownload,
  .allModelsArticlePromo {
    width: min(calc(100% - 24px), var(--jrt-max)) !important;
  }
  .nav, .productNav { position: relative; }
  .productFamilyDeck,
  .unifiedCollections,
  .headsetLine,
  .productCollection,
  .homeResources,
  .homeRfqGuide,
  .process,
  .contact { padding: 26px 16px !important; }
  .collectionGrid,
  .compactHeadsetGrid,
  .productFamilyGrid,
  .homeResourceGrid,
  .productOptionsGrid,
  .hSeriesGrid,
  .hifiNewSeriesGrid,
  .hifiFastModelsGrid,
  .g7FastModelsGrid,
  .productWorkflowGrid { grid-template-columns: 1fr !important; }
  .collectionCard img,
  .compactHeadsetCard img,
  .productOptionImage img,
  .hSeriesImage img { min-height: 240px; max-height: 360px; }

  #main-content > .receptionHero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    padding: 22px 18px 42px !important;
  }
  #main-content > .receptionHero > img {
    justify-self: center !important;
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }
  #main-content > .receptionHero > .receptionOverlay { max-width: none !important; }
  .receptionLogo { gap: 12px !important; margin-bottom: 18px !important; }
  .receptionLogo > strong { font-size: 48px !important; }
  .receptionLogo > small { max-width: 190px !important; font-size: 7px !important; }
  .receptionOverlay > span { font-size: 9px !important; }
  .receptionOverlay h2 {
    margin: 14px 0 16px !important;
    font-size: clamp(38px, 10.5vw, 52px) !important;
    line-height: .96 !important;
  }
  .receptionOverlay > p { font-size: 14px !important; line-height: 1.65 !important; }
  .receptionOverlay > p::after { font-size: 9px !important; line-height: 1.5 !important; }
  .receptionFacts { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .receptionFacts b { min-width: 0 !important; padding: 9px 10px !important; font-size: 8px !important; }
  .receptionActions { display: grid !important; grid-template-columns: 1fr !important; width: 100% !important; }
  .receptionActions a { justify-content: center !important; width: 100% !important; min-height: 48px !important; }
}

@media (max-width: 430px) {
  #main-content > .receptionHero { padding-inline: 14px !important; }
  #main-content > .receptionHero > img { width: min(100%, 300px) !important; }
  .receptionLogo > small { display: none !important; }
  .receptionOverlay h2 { font-size: clamp(34px, 11vw, 44px) !important; }
}
