/* Homepage only. Shared header, catalog templates and form behavior stay unchanged. */
.pb-home { color: #191919; background: #fff; font-size: 16px; line-height: 1.55; font-weight: 400; }
.pb-home *, .pb-home *::before, .pb-home *::after { box-sizing: border-box; letter-spacing: 0; }
.pb-home :is(h1,h2,h3,p) { margin: 0; }
.pb-home :is(h1,h2,h3) { color: #191919; font-weight: 600; text-wrap: pretty; }
.pb-home h2 { font-size: 32px; line-height: 1.2; }
.pb-home a { color: inherit; text-decoration: none; }
.pb-home a:hover { color: #cc0605; }
.pb-home a:focus-visible { outline: 2px solid #cc0605; outline-offset: 4px; }
.pb-home svg { flex: 0 0 20px; }
.pb-home .pb-home-eyebrow { font-size: 12px; font-weight: 600; line-height: 1.5; color: #5c5c5c; }

.pb-home .pb-home-hero { padding: 0; }
.pb-home-hero__stage { position: relative; min-height: 530px; padding-top: 40px; padding-bottom: 40px; }
.pb-home-hero__scene { position: absolute; inset: 0; overflow: hidden; pointer-events: none; isolation: isolate; }
.pb-home-hero__slide { position: absolute; inset: 0; opacity: 0; z-index: 0; transition: opacity 1200ms ease-in-out; }
.pb-home-hero__slide.is-leaving { opacity: 1; z-index: 1; }
.pb-home-hero__slide.is-active { opacity: 1; z-index: 2; }
.pb-home-hero__image { position: absolute; width: 680px; height: 680px; max-width: none; right: -16px; top: -92px; object-fit: contain; }
.pb-home .pb-home-hero__image--contained { width: 48%; height: calc(100% - 40px); right: 0; top: 4px; object-fit: contain; }
.pb-home-hero__copy { position: relative; width: 580px; max-width: 50%; }
body.pb-white-ui .pb-home .pb-home-hero__copy { background-color: transparent !important; }
.pb-home-hero h1 { font-size: 80px; line-height: 1.04; margin: 21px 0 22px; }
.pb-home .pb-home-lead { max-width: 485px; color: #4b4b4b; font-size: 19px; line-height: 1.55; }
.pb-home-hero__actions { display: flex; align-items: center; gap: 24px; margin-top: 30px; flex-wrap: wrap; }
.pb-home .pb-home-primary { display: inline-flex; align-items: center; width: auto; min-width: 0; gap: 22px; min-height: 52px; padding: 13px 20px; font-size: 15px; font-weight: 600; }
.pb-home-text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 600; line-height: 1.5; min-height: 44px; }
.pb-home-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.pb-home .pb-home-hero__note { color: #606060; font-size: 13px; margin-top: 17px; }

.pb-home-section-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.pb-home-section-head p { font-size: 16px; color: #616161; margin-top: 13px; }
.pb-home .pb-home-tile h3 a::after { content: ""; position: absolute; inset: 0; }
.pb-home .pb-home-tile h3 a:focus-visible::after { outline: 2px solid #cc0605; outline-offset: 4px; }
.pb-home :is(.pb-home-gost,.pb-home-ptfe,.pb-home-fittings) { padding-top: 72px; padding-bottom: 72px; }
body.pb-white-ui .pb-home :is(.pb-home-gost,.pb-home-ptfe,.pb-home-fittings) { border-top: 1px solid #dedede; border-radius: 0 !important; }
/* Minimum tracks include the longest caption, its marker and the text inset. */
.pb-home :is(.pb-home-gost__grid,.pb-home-ptfe__grid,.pb-home-fittings__grid) { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--pb-home-card-min)),1fr)); }
.pb-home-gost__grid { --pb-home-card-min: 164px; gap: 30px 22px; }
.pb-home-ptfe__grid { --pb-home-card-min: 299px; gap: 28px; }
/* Keep the three fitting tiles the same width as the four PTFE tiles above. */
.pb-home-fittings__grid { --pb-home-card-min: 299px; gap: 28px; }
.pb-home .pb-home-fittings__grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,var(--pb-home-card-min)),1fr)); }
@media (min-width: 1344px) {
  .pb-home .pb-home-fittings__grid { grid-template-columns: repeat(3,calc((100% - 84px)/4)); justify-content: space-between; }
}
.pb-home .pb-home-tile > :is(h3,p) { margin-inline-start: 20px; }
.pb-home-tile { position: relative; min-width: 0; }
.pb-home-tile__media { height: 200px; margin-bottom: 20px; }
.pb-home-tile__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.pb-home .pb-home-tile h3 { position: static; font-size: 21px; line-height: 1.3; text-wrap: auto; }
.pb-home-tile p { font-size: 14px; line-height: 1.5; color: #646464; margin-top: 10px; }
.pb-home-tile:hover h3 { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.pb-home-gost .pb-home-tile__media { height: 130px; margin-bottom: 15px; }
.pb-home .pb-home-gost h3 { font-size: 16px; line-height: 1.35; }
.pb-home .pb-home-fittings h3 { max-inline-size: calc(17.5em + 14px); }
.pb-home-other { display: flex; gap: 14px 28px; align-items: center; flex-wrap: wrap; margin-top: 28px; font-size: 14px; }
.pb-home-other > span { color: #666; }
.pb-home-other a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.pb-home-other a:hover { text-decoration: underline; text-underline-offset: 4px; }
.pb-home-catalog__search { display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px; align-items: center; margin-top: 32px; }
.pb-home-catalog__search p { display: grid; gap: 3px; }
.pb-home-catalog__search strong { font-size: 16px; font-weight: 600; }
.pb-home-catalog__search span { font-size: 14px; color: #666; }
.pb-home .pb-search-bar { display: flex; gap: 0; margin: 0; overflow: hidden; border: 1px solid #dedede; }
.pb-home .pb-search-bar input { flex: 1; min-width: 0; width: 0; min-height: 50px; padding: 12px 16px; font-size: 16px; }
.pb-home .pb-search-bar button { flex: 0 0 90px; min-width: 90px; min-height: 50px; padding: 12px 16px; font-size: 14px; }
body.pb-white-ui .pb-home .pb-search-bar input { border: 0 !important; border-radius: 0 !important; }
body.pb-white-ui .pb-home .pb-search-bar button { border-width: 0 0 0 1px !important; border-radius: 0 !important; }

.pb-home-request { padding-top: 48px; padding-bottom: 64px; scroll-margin-top: 140px; }
body.pb-white-ui .pb-home .pb-home-request { border-top: 1px solid #dedede; border-radius: 0 !important; }
.pb-home-request__grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); grid-template-areas: "copy form" "details form"; gap: 24px 80px; align-items: start; }
.pb-home-request__copy { grid-area: copy; }
.pb-home-request__details { grid-area: details; }
.pb-home-request .pb-home-form { grid-area: form; }
.pb-home-request h2 { margin-top: 14px; font-size: 36px; max-width: 350px; }
.pb-home-request__copy > p:not(.pb-home-eyebrow) { color: #555; margin-top: 22px; max-width: 430px; }
.pb-home-email { display: inline-flex; align-items: center; gap: 16px; font-size: 28px; font-weight: 600; margin-top: 22px; }
.pb-home-email:hover { text-decoration: underline; text-underline-offset: 5px; }
.pb-home-order-info { margin: 0 0 20px; }
.pb-home-order-info dt:first-child { margin-top: 0; }
.pb-home-order-info dt { font-size: 15px; font-weight: 600; margin: 20px 0 6px; }
.pb-home-order-info dd { margin: 0; color: #606060; font-size: 14px; line-height: 1.55; max-width: 400px; }
.pb-home .pb-home-form { min-width: 0; margin: 0; padding: 0; border: 0; box-shadow: none; }
.pb-home #pb-file { scroll-margin-top: 150px; }

@media (max-width: 1200px) {
  .pb-home-hero__stage { min-height: 520px; padding-top: 45px; }
  .pb-home-hero__image { width: 650px; height: 505px; right: -75px; }
  .pb-home-hero h1 { font-size: 68px; }
  .pb-home-hero__copy { max-width: 52%; }
  .pb-home .pb-home-lead { font-size: 18px; }
  .pb-home-hero__actions { gap: 16px; }
}
@media (max-width: 1120px) {
  .pb-home-fittings .pb-home-tile__media { height: 165px; }
  .pb-home .pb-home-fittings h3 { font-size: 19px; }
}
@media (max-width: 1000px) {
  .pb-home-hero__stage { min-height: 465px; padding-top: 35px; padding-bottom: 30px; }
  .pb-home-hero__image { width: 390px; height: 425px; right: -36px; top: 18px; }
  .pb-home-hero h1 { font-size: 58px; }
  .pb-home-hero__copy { max-width: 46%; }
  .pb-home .pb-home-eyebrow { font-size: 11px; }
  .pb-home .pb-home-lead { font-size: 16px; }
  .pb-home-hero__actions { gap: 8px 16px; margin-top: 22px; }
  .pb-home-hero__actions .pb-home-text-link { min-height: 36px; }
  .pb-home-catalog__search { grid-template-columns: 1fr 1.2fr; gap: 24px; }
  .pb-home-request__grid { gap: 24px 40px; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
  .pb-home-request h2 { font-size: 30px; }
  .pb-home-email { font-size: 24px; }
}
/* Do not add a column just before the shared gutter changes at 700px. */
@media (max-width: 704px) {
  .pb-home :is(.pb-home-ptfe__grid,.pb-home-fittings__grid) { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 700px) {
  .pb-home-hero__stage { min-height: 0; padding-top: 22px; padding-bottom: 290px; }
  .pb-home-hero__copy { width: auto; max-width: none; }
  .pb-home-hero h1 { font-size: 55px; line-height: 1.02; margin-top: 15px; margin-bottom: 18px; }
  .pb-home .pb-home-lead { max-width: 470px; }
  .pb-home-hero__actions { gap: 12px 20px; margin-top: 23px; }
  .pb-home .pb-home-primary { font-size: 14px; padding: 12px; gap: 12px; min-height: 48px; }
  .pb-home-text-link { font-size: 14px; gap: 6px; }
  .pb-home .pb-home-hero__note { font-size: 12px; margin-top: 12px; }
  .pb-home-hero__scene { top: auto; height: 270px; bottom: 0; }
  .pb-home-hero__image { width: 340px; height: 260px; right: -4px; top: -8px; }
  .pb-home .pb-home-hero__image--contained { width: 100%; height: calc(100% - 24px); top: 0; right: 0; }
  .pb-home h2 { font-size: 26px; }
  .pb-home-section-head { gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
  .pb-home-section-head p { font-size: 15px; }
  .pb-home :is(.pb-home-gost,.pb-home-ptfe,.pb-home-fittings) { padding-top: 48px; padding-bottom: 48px; }
  .pb-home .pb-home-tile > :is(h3,p) { margin-inline-start: 16px; }
  .pb-home-gost__grid { --pb-home-card-min: 156px; gap: 24px 16px; }
  .pb-home-gost .pb-home-tile__media { height: 110px; }
  .pb-home :is(.pb-home-ptfe__grid,.pb-home-fittings__grid) { gap: 26px 20px; }
  .pb-home-tile__media { height: 145px; margin-bottom: 16px; }
  .pb-home .pb-home-tile h3 { font-size: 18px; }
  .pb-home .pb-home-gost h3 { font-size: 16px; }
  .pb-home-tile p { font-size: 13px; }
  .pb-home-fittings .pb-home-tile__media { height: 145px; }
  .pb-home .pb-home-fittings h3 { font-size: 18px; }
  .pb-home-other { gap: 4px 20px; margin-top: 22px; }
  .pb-home-other > span { flex-basis: 100%; }
  .pb-home-catalog__search { grid-template-columns: 1fr; gap: 14px; margin-top: 26px; }
  .pb-home .pb-search-bar button { flex-basis: 76px; min-width: 76px; padding: 10px; }
  .pb-home .pb-search-bar input { padding: 10px 12px; }
  .pb-home-request { padding-top: 34px; padding-bottom: 38px; scroll-margin-top: 95px; }
  .pb-home-request__grid { grid-template-columns: 1fr; grid-template-areas: "copy" "form" "details"; gap: 28px; }
  .pb-home-request h2 { font-size: 30px; max-width: none; }
  .pb-home-request__copy > p:not(.pb-home-eyebrow) { font-size: 15px; margin-top: 18px; }
  .pb-home-email { font-size: 25px; margin-top: 16px; }
  .pb-home-order-info { margin-top: 0; }
}
@media (max-width: 360px) {
  .pb-home .pb-home-ptfe h3 { font-size: 16px; }
  .pb-home-hero h1 { font-size: 48px; }
  .pb-home-hero__actions { gap: 6px; }
  .pb-home-hero__actions .pb-home-text-link { margin-top: 3px; }
  .pb-home-hero__image { right: -28px; }
  .pb-home-fittings .pb-home-tile__media { height: 105px; }
  .pb-home .pb-home-fittings h3 { font-size: 16px; }
}
@media (max-width: 500px) {
  .pb-home-gost .pb-home-tile__media { height: 120px; }
}
@media (prefers-reduced-motion: no-preference) {
  .pb-home a { transition: color .16s ease; }
}
@media (max-width: 700px) and (max-height: 740px) {
  .pb-home-hero__stage { padding-top: 16px; padding-bottom: 220px; }
  .pb-home-hero__actions { margin-top: 16px; }
  .pb-home .pb-home-hero__note { display: none; }
  .pb-home-hero__scene { height: 210px; }
  .pb-home-hero__image { width: 220px; height: 160px; top: -2px; right: 4px; }
}
@media (min-width: 1001px) and (max-height: 800px) {
  .pb-home-hero__stage { min-height: 480px; padding-top: 24px; padding-bottom: 24px; }
  .pb-home-hero h1 { font-size: 72px; margin-top: 18px; margin-bottom: 18px; }
  .pb-home-hero__image { width: 610px; height: 610px; top: -82px; right: -10px; }
  .pb-home-hero__actions { margin-top: 24px; }
}
