/* Larrysman Plugin Styles — Part 1
   Based on target3 design, scoped to body.larrysman-page
   --max: 1280px (plugin override)
   ============================================= */

/* =============================================
   CSS Custom Properties
   ============================================= */
body.larrysman-page {
  --navy: #062f4c;
  --navy-2: #0b527f;
  --navy-3: #173b5a;
  --accent: #155f92;
  --accent-light: #3d89b7;
  --ink: #0f1821;
  --muted: #586572;
  --steel: #5f7282;
  --line: #d4dfe7;
  --surface: #f4f8fb;
  --surface-2: #edf3f7;
  --soft: #f4f6f8;
  --panel: #ffffff;
  --ok: #2f6f63;
  --shadow: 0 18px 45px rgba(7, 62, 100, 0.12);
  --radius: 2px;
  --max: 1280px;
  --font-sans: Inter, "Noto Sans SC", "Segoe UI", sans-serif;
}

/* =============================================
   Bilingual Show/Hide
   ============================================= */
/* Non-Chinese languages: hide .zh, show .en as fallback */
[data-lang]:not([data-lang="zh"]) .zh { display: none !important; }
/* Chinese: hide .en */
[data-lang="zh"] .en { display: none !important; }
/* Extra-language HTML blocks (article body, etc.) */
[data-lang-block] { display: none !important; }
[data-lang="ja"] [data-lang-block="ja"],
[data-lang="ko"] [data-lang-block="ko"],
[data-lang="de"] [data-lang-block="de"],
[data-lang="fr"] [data-lang-block="fr"],
[data-lang="it"] [data-lang-block="it"],
[data-lang="ar"] [data-lang-block="ar"],
[data-lang="ru"] [data-lang-block="ru"] { display: block !important; }

/* =============================================
   Reset & Base
   ============================================= */
body.larrysman-page * { box-sizing: border-box; }

body.larrysman-page html,
html body.larrysman-page {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body.larrysman-page {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: #fff;
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.4;
}

body.larrysman-page img { max-width: 100%; }
body.larrysman-page a { color: inherit; text-decoration: none; }
body.larrysman-page button,
body.larrysman-page input,
body.larrysman-page select { font: inherit; }

body.larrysman-page .site-header,
body.larrysman-page main,
body.larrysman-page section,
body.larrysman-page .footer {
  width: 100%;
  max-width: 100%;
}

body.larrysman-page .container {
  width: calc(100% - 34px);
  max-width: var(--max);
  margin: 0 auto;
}

body.larrysman-page .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
}

/* =============================================
   Image filters
   ============================================= */
body.larrysman-page .product-image,
body.larrysman-page .application-image,
body.larrysman-page .factory-image,
body.larrysman-page .article-image {
  position: relative;
  isolation: isolate;
  background-position: center;
  background-size: cover;
  filter: saturate(.86) contrast(1.06) brightness(.96) grayscale(.08);
}
body.larrysman-page .product-image::after,
body.larrysman-page .application-image::after,
body.larrysman-page .factory-image::after,
body.larrysman-page .article-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5,31,50,.04), rgba(5,31,50,.18)),
    linear-gradient(120deg, rgba(18,92,138,.08), rgba(255,255,255,0));
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* =============================================
   Top Bar
   ============================================= */
body.larrysman-page .top-bar {
  height: 40px;
  color: rgba(255,255,255,.9);
  background: #073e64;
  font-size: 12px;
}
body.larrysman-page .top-bar__inner {
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
body.larrysman-page .top-bar__inner > span { font-weight: 650; letter-spacing: .01em; }
body.larrysman-page .top-bar__contacts {
  display: flex;
  align-items: center;
  gap: 34px;
  margin-left: auto;
}
body.larrysman-page .top-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.2;
}
body.larrysman-page .top-contact-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.larrysman-page .top-contact-link:hover { color: #8fd2f2; }
body.larrysman-page .top-bar select {
  border: 0;
  color: #fff;
  background: transparent;
  font-size: 12px;
}
body.larrysman-page .top-bar option { color: #111; }
body.larrysman-page .language-toggle {
  border: 0;
  padding: 4px 8px;
  color: #fff;
  background: transparent;
  font-size: inherit;
  font-weight: 700;
  cursor: pointer;
}
body.larrysman-page .language-toggle:hover { color: #8fd2f2; }

/* =============================================
   Site Header / Main Nav
   ============================================= */
body.larrysman-page .site-header {
  position: sticky;
  top: 0;
  z-index: 20;
}
body.larrysman-page .main-nav {
  height: 56px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
body.larrysman-page .main-nav__inner {
  height: 56px;
  display: flex;
  align-items: center;
  gap: 18px;
}

/* Brand */
body.larrysman-page .brand,
body.larrysman-page .footer-brand-lockup {
  display: flex;
  align-items: center;
  gap: 9px;
}
body.larrysman-page .brand {
  width: 205px;
  flex: 0 0 205px;
  overflow: hidden;
}
body.larrysman-page .factory-logo {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  object-fit: contain;
}
body.larrysman-page .brand-wordmark {
  display: grid;
  gap: 2px;
  line-height: 1;
}
body.larrysman-page .brand-wordmark strong {
  color: var(--navy);
  font-size: 17px;
  letter-spacing: .02em;
}
body.larrysman-page .brand-wordmark small {
  color: var(--navy-2);
  font-size: 6px;
  font-weight: 700;
}
body.larrysman-page .brand .brand-positioning {
  font-size: 5.5px;
  font-weight: 500;
  letter-spacing: .11em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Legacy brand mark — backward compat */
body.larrysman-page .brand__mark {
  width: 48px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-weight: 900;
  font-size: 20px;
  font-style: italic;
  letter-spacing: 0;
  background: linear-gradient(135deg, var(--accent) 0 45%, var(--navy-2) 46% 100%);
  transform: skewX(-8deg);
  flex-shrink: 0;
}
/* Nav links */
body.larrysman-page .main-nav__links {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: center;
  gap: 14px;
}
body.larrysman-page .main-nav__links a {
  min-width: 0;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  position: relative;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}
body.larrysman-page .main-nav__links a.is-active { color: var(--accent); }
body.larrysman-page .main-nav__links a.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  height: 2px;
  background: var(--accent);
}

/* Nav toggle (hamburger) */
body.larrysman-page .nav-toggle { display: none; }

/* Buttons */
body.larrysman-page .btn {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 2px;
  padding: 7px 16px;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  white-space: normal;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
body.larrysman-page .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 24px rgba(22, 121, 188, 0.24);
}
body.larrysman-page .btn--primary {
  color: #fff;
  background: linear-gradient(90deg, var(--navy-2), var(--accent-light));
}
body.larrysman-page .btn--ghost {
  color: #fff;
  border-color: rgba(255,255,255,.75);
  background: rgba(9,32,53,.26);
}
body.larrysman-page .btn--secondary {
  color: var(--navy);
  background: #fff;
  border-color: var(--line);
}
body.larrysman-page .btn--outline {
  color: var(--accent);
  border-color: var(--accent);
  background: transparent;
}
body.larrysman-page .btn--stacked {
  flex-direction: column;
  gap: 2px;
}
body.larrysman-page .btn--stacked small {
  font-size: 9px;
  text-transform: none;
}
body.larrysman-page .btn__sub {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: none;
}
body.larrysman-page .nav-quote,
body.larrysman-page .main-nav__cta { flex-shrink: 0; }

/* Nav language picker */
body.larrysman-page .nav-language-picker {
  position: relative;
  width: 94px;
  flex: 0 0 94px;
  min-height: 29px;
  display: inline-flex;
}
body.larrysman-page .nav-language-picker::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  width: 6px;
  height: 6px;
  border-right: 2px solid rgba(255,255,255,.9);
  border-bottom: 2px solid rgba(255,255,255,.9);
  transform: translateY(-66%) rotate(45deg);
  pointer-events: none;
}
body.larrysman-page .nav-language-select {
  width: 100%;
  min-height: 29px;
  border: 0;
  border-radius: 2px;
  padding: 7px 25px 7px 12px;
  color: #fff;
  background: linear-gradient(90deg, var(--navy-2), var(--accent-light));
  appearance: none;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  text-align-last: center;
  cursor: pointer;
}
body.larrysman-page .nav-language-select:hover { filter: brightness(1.06); }
body.larrysman-page .nav-language-select option { color: #111; background: #fff; }

/* =============================================
   Hero Section
   ============================================= */
body.larrysman-page .hero {
  position: relative;
  width: 100%;
  max-width: none;
  height: 305px;
  min-height: 305px;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background:
    radial-gradient(ellipse at 72% 52%, rgba(28,57,78,.42), rgba(28,57,78,0) 42%),
    linear-gradient(90deg, #071726 0%, #061521 40%, #081a2a 100%);
}
body.larrysman-page .hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  filter: saturate(1.04) contrast(1.03) brightness(1.02);
}
body.larrysman-page .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,18,31,.96) 0%, rgba(0,18,31,.88) 32%, rgba(0,18,31,.45) 58%, rgba(0,18,31,.12) 100%),
    radial-gradient(ellipse at 18% 45%, rgba(19,60,91,.34), rgba(19,60,91,0) 48%);
  z-index: 1;
  pointer-events: none;
}
body.larrysman-page .hero::after {
  content: none;
}

body.larrysman-page .hero__inner {
  position: relative;
  z-index: 2;
  width: min(100%, 1200px);
  height: 100%;
  min-height: 305px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 58%) minmax(0, 42%);
  align-items: center;
  gap: 0;
  padding: 36px 24px 34px;
}
body.larrysman-page .hero__inner::after {
  display: none;
}
body.larrysman-page .hero__content {
  position: relative;
  z-index: 3;
  width: 100%;
  grid-column: 1;
  min-width: 0;
  max-width: 640px;
  overflow-wrap: normal;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: none;
}
body.larrysman-page .section-kicker {
  margin: 0 0 10px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
body.larrysman-page .hero h1 {
  max-width: 640px;
  min-height: 0;
  margin: 0;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: 0;
  color: #fff;
  white-space: normal;
  text-wrap: normal;
  overflow-wrap: normal;
  word-break: normal;
  text-shadow: 0 3px 14px rgba(0,0,0,.34);
}
body.larrysman-page .hero__cn {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 18px;
  font-weight: 700;
}
body.larrysman-page .hero__subtitle {
  max-width: 46em;
  min-height: 0;
  margin: 14px 0 0;
  font-size: 14px;
  line-height: 1.42;
  color: rgba(255,255,255,.9);
}
body.larrysman-page .hero__subtitle-cn {
  margin: 4px 0 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 14px;
}

/* Hero proof strip */
body.larrysman-page .hero-proof-strip {
  width: fit-content;
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(2, max-content);
  align-items: center;
  justify-content: start;
  column-gap: 32px;
  row-gap: 14px;
  margin-top: 28px;
}
body.larrysman-page .hero-proof-strip article {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.larrysman-page .hero-proof-strip i {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 0;
  color: #69b8f7;
  background: transparent;
  opacity: 1;
}
body.larrysman-page .hero-proof-strip svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.larrysman-page .hero-proof-strip span {
  color: rgba(255,255,255,.78);
  font-size: 8px;
  line-height: 1.25;
  font-weight: 700;
  white-space: nowrap;
  text-shadow: 0 1px 10px rgba(0,0,0,.36);
}
body.larrysman-page .hero__actions { display: flex; gap: 14px; margin-top: 42px; }
body.larrysman-page .hero__actions .btn {
  width: 146px;
  min-height: 40px;
  border-radius: 2px;
  font-size: 9px;
  box-shadow: 0 12px 24px rgba(2,18,30,.22);
}
body.larrysman-page .hero__actions .btn--primary {
  border-color: rgba(36,143,205,.7);
  background: #1f8dca;
}
body.larrysman-page .hero__actions .btn--ghost {
  border-color: rgba(255,255,255,.72);
  background: rgba(2,13,25,.24);
}

/* Bushing CSS art — fallback when no hero image */
body.larrysman-page .bushing {
  position: absolute;
  border-radius: 50% / 18%;
  border: 2px solid rgba(255, 255, 255, 0.45);
  background:
    radial-gradient(ellipse at 50% 17%, rgba(255, 255, 255, 0.75) 0 8%, transparent 9%),
    linear-gradient(90deg, #8e581c, #f0c06d 19%, #9f6428 38%, #ffd17c 56%, #7f4a1a 78%, #d08a37);
}
body.larrysman-page .bushing::before,
body.larrysman-page .bushing::after {
  content: "";
  position: absolute;
  left: 8%; right: 8%;
  border-radius: 50%;
}
body.larrysman-page .bushing::before {
  top: 5%; height: 30%;
  background: radial-gradient(ellipse at center, #1b1511 0 45%, #e4aa5b 47% 63%, rgba(255, 255, 255, 0.45) 65%, transparent 66%);
}
body.larrysman-page .bushing::after {
  bottom: 5%; height: 23%;
  background: radial-gradient(ellipse at center, rgba(15, 13, 12, 0.42), rgba(255, 255, 255, 0.18) 55%, transparent 62%);
}
body.larrysman-page .bushing span {
  position: absolute;
  inset: 26% 9% 18%;
  background-image: radial-gradient(circle, rgba(16, 22, 28, 0.88) 0 10px, transparent 11px);
  background-size: 43px 42px;
  opacity: 0.85;
}
body.larrysman-page .bushing--large { width: 205px; height: 196px; right: 3%; bottom: 20%; }
body.larrysman-page .bushing--holes { width: 180px; height: 210px; right: 31%; bottom: 14%; }
body.larrysman-page .bushing--tall { width: 145px; height: 250px; right: 53%; bottom: 18%; }
body.larrysman-page .bushing--ptfe {
  width: 184px; height: 138px; right: 6%; top: 16%;
  background:
    radial-gradient(ellipse at 50% 16%, rgba(255, 255, 255, 0.86) 0 8%, transparent 9%),
    linear-gradient(90deg, #d8dce1, #ffffff 17%, #8f9ca8 40%, #f7f8f9 55%, #2d343b 78%, #bdc6ce);
}
body.larrysman-page .bushing--ptfe span { display: none; }
body.larrysman-page .bushing--small { width: 104px; height: 98px; right: 72%; bottom: 22%; }
body.larrysman-page .bushing--small span { background-size: 30px 29px; }

/* =============================================
   Compact Section & Section Heading
   ============================================= */
body.larrysman-page .compact-section { padding: 10px 0 0; }

body.larrysman-page .section { padding: 24px 0; }
body.larrysman-page .section--soft {
  background: linear-gradient(180deg, #f8fafc, #eef3f7);
}
body.larrysman-page .section--dark {
  background: linear-gradient(180deg, var(--navy), #0d2538);
  color: #eef5f9;
}
body.larrysman-page .section--dark h2,
body.larrysman-page .section--dark h3 { color: #fff; }

body.larrysman-page .section-heading { margin: 0 0 9px; text-align: center; }
body.larrysman-page .section-heading h2,
body.larrysman-page .panel-heading h2 {
  margin: 0;
  color: var(--navy);
  font-size: 16px;
  line-height: 1.05;
  text-transform: uppercase;
}
body.larrysman-page .section-heading h1 {
  margin: 0;
  color: var(--navy);
  font-size: 16px;
  line-height: 1.05;
  text-transform: uppercase;
}
body.larrysman-page .section-heading p:not(.section-kicker),
body.larrysman-page .panel-heading p {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: 700;
}
body.larrysman-page .section-heading--left {
  text-align: left;
  margin-bottom: 16px;
}
body.larrysman-page .lead {
  color: var(--muted);
  font-size: 16px;
  max-width: 820px;
}

/* =============================================
   Section Variants
   ============================================= */
body.larrysman-page .products-section { padding-top: 13px; }
body.larrysman-page .advantages-section { padding-top: 11px; }
body.larrysman-page .applications-section { padding-top: 11px; }
body.larrysman-page .capability-section { padding-top: 14px; }
body.larrysman-page .conversion-section { padding-top: 14px; }
body.larrysman-page .articles-section { padding: 10px 0 12px; }

/* =============================================
   Product Grid & Cards
   ============================================= */
body.larrysman-page .card-grid { display: grid; gap: 20px; }
body.larrysman-page .card-grid--3,
body.larrysman-page .card-grid--products,
body.larrysman-page .product-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  grid-auto-rows: auto;
}
body.larrysman-page .card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

body.larrysman-page .product-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  background: #fff;
  text-align: center;
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
body.larrysman-page .product-card:hover {
  transform: translateY(-6px);
  border-color: #b7ccda;
  box-shadow: 0 18px 32px rgba(7,62,100,.14);
}
body.larrysman-page .product-image {
  width: 100%;
  height: 124px;
  border-bottom: 1px solid #dce7ee;
}
body.larrysman-page .product-card h3 {
  min-height: 2.4em;
  margin: 12px 10px 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  color: #16344a;
  text-align: center;
  transition: color .24s ease;
}
body.larrysman-page .product-card:hover h3 { color: var(--accent); }
body.larrysman-page .product-card p {
  min-height: 2.7em;
  display: -webkit-box;
  margin: 7px 12px 4px;
  overflow: hidden;
  color: #46535e;
  font-size: 9px;
  line-height: 1.35;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
body.larrysman-page .product-card a {
  display: inline-block;
  margin: auto 6px 10px;
  color: var(--accent);
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}

/* Product card real images */
body.larrysman-page .product-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  border-bottom: 1px solid #dce7ee;
}

/* =============================================
   Media Placeholder (CSS art for product images)
   ============================================= */
body.larrysman-page .media-placeholder {
  aspect-ratio: 1 / 1;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid #e2e2e2;
  background:
    linear-gradient(135deg, #eef2f5, #fff 55%, #dce5ec),
    repeating-linear-gradient(90deg, transparent 0 30px, rgba(13, 44, 70, 0.04) 31px 32px);
}
body.larrysman-page .media-placeholder::before {
  content: "";
  width: 116px;
  height: 104px;
  border-radius: 50% / 18%;
  border: 1px solid rgba(255, 255, 255, 0.75);
  background: linear-gradient(90deg, #8d551d, #efc174 22%, #8b4f19 48%, #ffd17d 67%, #9e6428);
  box-shadow: 0 18px 28px rgba(17, 42, 62, 0.2);
}
body.larrysman-page .media-placeholder::after {
  content: "";
  position: absolute;
  width: 92px;
  height: 34px;
  top: 50%;
  margin-top: -46px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #191511 0 45%, #e1a65a 47% 65%, transparent 67%);
}
body.larrysman-page .media-placeholder span {
  position: absolute;
  width: 90px;
  height: 58px;
  margin-top: 18px;
  background-image: radial-gradient(circle, rgba(17, 23, 30, 0.82) 0 5px, transparent 6px);
  background-size: 26px 24px;
}
body.larrysman-page .media-placeholder--plain span,
body.larrysman-page .media-placeholder--ptfe span,
body.larrysman-page .media-placeholder--steel span { display: none; }
body.larrysman-page .media-placeholder--wrapped::before {
  width: 122px;
  clip-path: polygon(0 0, 83% 0, 100% 26%, 100% 100%, 0 100%);
}
body.larrysman-page .media-placeholder--graphite::before {
  background: linear-gradient(90deg, #83511f, #f4c576 20%, #8b531f 48%, #ffc972 66%, #87501d);
}
body.larrysman-page .media-placeholder--ptfe::before,
body.larrysman-page .media-placeholder--steel::before {
  background: linear-gradient(90deg, #d7dce2, #fff 20%, #89939e 43%, #f5f6f8 62%, #333c46);
}

/* =============================================
   Product Filter Tabs
   ============================================= */
body.larrysman-page .prod-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 4px;
}
body.larrysman-page .prod-filter-tabs--strip {
  gap: 0;
  flex-wrap: nowrap;
}
body.larrysman-page .prod-filter-tabs--strip .prod-tab {
  flex: 1;
  text-align: center;
  border-radius: 0;
  border-right-width: 0;
}
body.larrysman-page .prod-filter-tabs--strip .prod-tab:last-child {
  border-right-width: 1px;
}
@media (min-width: 761px) {
  body.larrysman-page .prod-filter-tabs--strip .prod-tab:first-child { border-radius: 8px 0 0 8px; }
  body.larrysman-page .prod-filter-tabs--strip .prod-tab:last-child  { border-radius: 0 8px 8px 0; }
}
body.larrysman-page .prod-filter-tabs--strip .prod-tab span {
  text-align: center;
  max-width: 100%;
  display: inline-block;
}
body.larrysman-page .prod-tab {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  border-radius: 999px;
  padding: 12px 18px;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.18s, color 0.18s, border-color 0.18s;
}
body.larrysman-page .prod-tab:hover { border-color: var(--accent); color: var(--accent); }
body.larrysman-page .prod-tab.active {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
body.larrysman-page .prod-tab__icon {
  display: block;
  width: 50px;
  height: 50px;
  object-fit: contain;
  margin: 0 auto 6px;
}
body.larrysman-page .prod-tab.active .prod-tab__icon {
  filter: brightness(0) invert(1);
}


/* =============================================
   Advantages Grid
   ============================================= */
body.larrysman-page .advantages-mobile-proof { display: none; }
body.larrysman-page .feature-grid,
body.larrysman-page .advantages-grid {
  height: 61px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border: 1px solid var(--line);
  background: #fff;
}
body.larrysman-page .feature-card,
body.larrysman-page .advantages-grid article {
  display: grid;
  grid-template-columns: 39px 1fr;
  align-items: center;
  border-right: 1px solid var(--line);
  padding: 8px 9px;
}
body.larrysman-page .feature-card:last-child,
body.larrysman-page .advantages-grid article:last-child { border-right: 0; }
body.larrysman-page .feature-card__icon,
body.larrysman-page .advantages-grid i {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  justify-self: center;
  color: var(--navy-2);
  font-style: normal;
}
body.larrysman-page .advantages-grid svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.larrysman-page .advantages-grid span { display: grid; gap: 3px; }
body.larrysman-page .feature-card h3,
body.larrysman-page .advantages-grid strong {
  margin: 0;
  font-size: 8px;
  line-height: 1.05;
}
body.larrysman-page .feature-card p,
body.larrysman-page .advantages-grid small {
  margin: 0;
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
}

/* =============================================
   Application Cards
   ============================================= */
body.larrysman-page .card-grid--applications,
body.larrysman-page .application-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
body.larrysman-page .application-card,
body.larrysman-page .application-grid article {
  height: 138px;
  border: 1px solid var(--line);
  text-align: center;
  background: #fff;
  overflow: hidden;
}
body.larrysman-page .application-image {
  width: 100%;
  height: 83px;
}
body.larrysman-page .application-card img,
body.larrysman-page .application-grid article img {
  width: 100%;
  height: 83px;
  object-fit: cover;
  display: block;
}
body.larrysman-page .application-card h3,
body.larrysman-page .application-grid h3 {
  margin: 7px 7px 0;
  font-size: 9px;
  line-height: 1.2;
  color: #16344a;
}
body.larrysman-page .application-card p,
body.larrysman-page .application-grid p {
  width: calc(100% - 14px);
  margin: 4px auto 0;
  color: #53616e;
  font-size: 8px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Scene CSS art — application card fallback */
body.larrysman-page .scene {
  position: relative;
  height: 83px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(12, 43, 68, 0.22), rgba(22, 121, 188, 0.15)),
    linear-gradient(180deg, #d9e3ea 0 50%, #a8b5bd 51% 100%);
}
body.larrysman-page .scene::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(18deg, transparent 0 45%, rgba(255, 255, 255, 0.34) 46% 48%, transparent 49%),
    repeating-linear-gradient(90deg, rgba(8, 31, 50, 0.12) 0 2px, transparent 2px 38px);
}
body.larrysman-page .scene::after {
  content: "";
  position: absolute;
  left: 10%; bottom: 24%;
  width: 70%; height: 38%;
  border-radius: 7px;
  background: linear-gradient(135deg, var(--accent), #5bb8e0);
  box-shadow: 24px 20px 0 rgba(8, 31, 50, 0.22);
  clip-path: polygon(0 48%, 18% 20%, 58% 20%, 68% 0, 100% 0, 90% 74%, 72% 74%, 72% 100%, 10% 100%);
}
body.larrysman-page .scene--hydraulic::after {
  background: linear-gradient(135deg, #1b5f9a, #52a3d6);
  clip-path: polygon(0 38%, 70% 38%, 70% 18%, 92% 18%, 92% 78%, 70% 78%, 70% 62%, 0 62%);
}
body.larrysman-page .scene--agriculture::after {
  background: linear-gradient(135deg, #437a28, #9abc35);
}
body.larrysman-page .scene--automotive::after {
  background: linear-gradient(135deg, #49515a, #c8d1d8);
  clip-path: polygon(5% 62%, 20% 34%, 60% 34%, 78% 55%, 96% 60%, 92% 78%, 9% 78%);
}
body.larrysman-page .scene--mining::after {
  background: linear-gradient(135deg, #e69a22, #f5c052);
}
body.larrysman-page .scene--mold::after {
  background: linear-gradient(135deg, #56606b, #d8dde3);
  clip-path: circle(45% at 50% 50%);
}

/* =============================================
   Capability / Factory Strength Section
   ============================================= */
body.larrysman-page .section--capability { padding: 14px 0; }
body.larrysman-page .capability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
body.larrysman-page .factory-strength-panel {
  padding: 18px;
  border: 1px solid #d8e5ed;
  background: linear-gradient(180deg, #f7fbfd, #ecf3f7);
}
body.larrysman-page .factory-strength-heading {
  margin-bottom: 18px;
  text-align: center;
}
body.larrysman-page .factory-strength-heading h2 {
  margin: 0;
  color: var(--navy);
  font-size: 20px;
  text-transform: uppercase;
}
body.larrysman-page .factory-strength-heading p {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 700;
}
body.larrysman-page .factory-strength-layout {
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  gap: 24px;
  align-items: stretch;
}
body.larrysman-page .factory-strength-media {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}
body.larrysman-page .factory-strength-media h3,
body.larrysman-page .factory-strength-copy h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 14px;
}
body.larrysman-page .factory-strength-media h3 span,
body.larrysman-page .factory-strength-copy h3 span {
  margin-left: 6px;
  color: #60717e;
  font-size: 11px;
  font-weight: 600;
}
body.larrysman-page .factory-strength-copy {
  padding: 0 0 0 22px;
  border-left: 1px solid #cbdce7;
}
body.larrysman-page .factory-strength-intro {
  margin: 0 0 15px;
  color: #526572;
  font-size: 11px;
  line-height: 1.55;
}

/* factory-* and bushing-* variants */
body.larrysman-page .factory-grid {
  min-height: 280px;
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 14px 10px;
}
body.larrysman-page .factory-grid > div {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 4px;
  text-align: center;
}
body.larrysman-page .factory-image {
  width: 100%;
  height: auto;
  min-height: 96px;
  aspect-ratio: 1.08 / 1;
  margin-bottom: 0;
  border: 1px solid #d7e3ea;
}
body.larrysman-page .factory-grid strong {
  padding: 0 2px;
  color: #16344a;
  font-size: 10px;
  line-height: 1.2;
  text-align: center;
}
body.larrysman-page .factory-grid strong,
body.larrysman-page .factory-grid small { display: block; font-size: 10px; line-height: 1.2; }

/* Legacy factory CSS art */
body.larrysman-page .factory {
  display: block;
  min-height: 140px;
  background:
    linear-gradient(135deg, rgba(20, 34, 51, 0.18), rgba(255, 255, 255, 0.2)),
    linear-gradient(90deg, #cfd8df, #f5f7f9 42%, #9aa7b1);
  position: relative;
  overflow: hidden;
  margin-bottom: 4px;
}
body.larrysman-page .factory::before {
  content: "";
  position: absolute;
  inset: 16px 18px;
  border: 8px solid rgba(12, 43, 68, 0.5);
  border-bottom-width: 22px;
}
body.larrysman-page .factory::after {
  content: "";
  position: absolute;
  left: 14px; right: 14px; bottom: 12px;
  height: 10px;
  background: var(--accent);
}
body.larrysman-page .factory--warehouse::before {
  border-radius: 0;
  border: 0;
  background: repeating-linear-gradient(90deg, rgba(12, 43, 68, 0.64) 0 10px, transparent 10px 20px);
}
body.larrysman-page .factory--packaging::before,
body.larrysman-page .factory--quality::before {
  border-width: 3px;
  border-radius: 50%;
}

/* =============================================
   RFQ / Catalog / Conversion Section
   ============================================= */
body.larrysman-page .catalog-rfq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}
body.larrysman-page .info-panel,
body.larrysman-page .quote-panel {
  min-height: 330px;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 14px;
  border: 1px solid #d8e5ed;
  background: #f5f9fc;
  overflow: visible;
}
body.larrysman-page .panel-heading {
  min-height: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
body.larrysman-page .panel-heading h2 { font-size: 17px; }
body.larrysman-page .panel-heading p { font-size: 13px; }

/* Technical panel */
body.larrysman-page .technical-list,
body.larrysman-page .technical-panel ul {
  display: grid;
  gap: 0;
  margin: 10px 0 14px;
  padding: 0;
  border-top: 1px solid #dbe6ed;
  list-style: none;
}
body.larrysman-page .technical-list li,
body.larrysman-page .technical-panel li {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  border-bottom: 1px solid #dbe6ed;
  padding: 12px 0;
  font-size: 12px;
  line-height: 1.2;
}
body.larrysman-page .technical-panel li i {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  justify-self: center;
  font-style: normal;
}
body.larrysman-page .technical-panel li i svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.larrysman-page .technical-panel li > span { display: block; }
body.larrysman-page .technical-panel li small { color: #777; font-size: 10px; }
body.larrysman-page .technical-panel > a {
  margin-left: 42px;
  color: var(--accent);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

/* Catalog panel + quote panel dark override */
body.larrysman-page .catalog-panel,
body.larrysman-page .quote-panel {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  height: 100%;
  border-color: #0b5d91;
  border-top: 0;
  color: #fff;
  background-color: var(--navy);
  background-image: none;
  box-shadow: 0 12px 28px rgba(7,62,100,.16);
}
body.larrysman-page .catalog-rfq-card {
  height: 100%;
  padding: 14px;
}
body.larrysman-page .catalog-panel .panel-heading { text-align: left; }
body.larrysman-page .catalog-panel .panel-heading h2,
body.larrysman-page .catalog-panel .panel-heading p { color: #fff; }
body.larrysman-page .quote-panel .panel-heading h2,
body.larrysman-page .quote-panel .panel-heading p { color: #fff; }
body.larrysman-page .catalog-content,
body.larrysman-page .rfq-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* Conversion lead */
body.larrysman-page .conversion-lead {
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: 11px;
  line-height: 1.55;
}
body.larrysman-page .conversion-lead--quote {
  margin-bottom: 10px;
  color: #fff;
  font-weight: 700;
}

/* Conversion proof grid */
body.larrysman-page .conversion-proof-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  margin-bottom: 16px;
}
body.larrysman-page .conversion-proof-grid article,
body.larrysman-page .quote-trust-strip span {
  min-width: 0;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
}
body.larrysman-page .conversion-proof-grid article {
  padding: 12px 12px 11px;
}
body.larrysman-page .conversion-proof-grid strong,
body.larrysman-page .conversion-proof-grid span { display: block; }
body.larrysman-page .conversion-proof-grid strong { font-size: 12px; line-height: 1.2; }
body.larrysman-page .conversion-proof-grid span {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
}

/* Catalog list */
body.larrysman-page .catalog-list,
body.larrysman-page .download-list {
  display: grid;
  gap: 8px;
  margin-top: 6px;
}
body.larrysman-page .catalog-list > a,
body.larrysman-page .download-list a {
  min-height: 84px;
  display: grid;
  grid-template-columns: 58px 1fr 24px;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid rgba(255,255,255,.14);
}
body.larrysman-page .catalog-list > a:first-child {
  padding-top: 0;
  border-top: 0;
}
body.larrysman-page .catalog-cover {
  position: relative;
  width: 54px;
  height: 68px;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.7);
  background: #fff;
  box-shadow: 0 8px 18px rgba(0,28,48,.2);
}
body.larrysman-page .catalog-cover span {
  position: absolute;
  inset: 0 0 17px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
body.larrysman-page .catalog-cover::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 24px;
  background: linear-gradient(180deg, rgba(5,47,77,.1), rgba(5,47,77,.9));
}
body.larrysman-page .catalog-cover em {
  position: absolute;
  right: 5px;
  bottom: 4px;
  z-index: 1;
  color: #fff;
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0;
}
body.larrysman-page .catalog-card--bronze .catalog-cover span { background-image: url("../crops/product-2.png"); }
body.larrysman-page .catalog-card--ptfe .catalog-cover span { background-image: url("../crops/product-5.png"); }
body.larrysman-page .catalog-card--graphite .catalog-cover span { background-image: url("../crops/product-4.png"); }
body.larrysman-page .catalog-cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
body.larrysman-page .catalog-list > a > span:not(.catalog-cover),
body.larrysman-page .download-list > a > div { display: grid; gap: 1px; }
body.larrysman-page .catalog-list strong,
body.larrysman-page .download-list strong { color: #fff; font-size: 12px; }
body.larrysman-page .catalog-desc {
  display: block;
  color: rgba(255,255,255,.6);
  font-size: 10px;
  font-style: normal;
  line-height: 1.4;
  margin-top: 1px;
}
body.larrysman-page .catalog-list small,
body.larrysman-page .download-list em {
  display: block;
  color: rgba(255,255,255,.7);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}
body.larrysman-page .catalog-list b { color: rgba(255,255,255,.72); font-size: 9px; }

/* ── Download catalog: featured preview layout ───────────────────────────── */
body.larrysman-page .dl-entries { display: flex; flex-direction: column; flex: 1; min-height: 0; }
body.larrysman-page .dl-entry   { display: none; flex-direction: column; flex: 1; gap: 8px; }
body.larrysman-page .dl-entry.is-active { display: flex; }

/* Featured card — column layout: header row + content row */
body.larrysman-page .dl-card {
  display: flex;
  flex-direction: column;
  background: none;
  border: none;
  border-radius: 0;
  overflow: hidden;
  flex: 1;
  min-height: 0;
}
body.larrysman-page .dl-card-row {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

/* Cover — white paper document appearance, 4:6 ratio with body */
body.larrysman-page .dl-card-cover {
  position: relative;
  flex: 0 0 auto;
  width: 40%;
  aspect-ratio: 114 / 155;
  background: none;
  overflow: hidden;
  align-self: flex-start;
}
body.larrysman-page .dl-card-cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  display: block;
}
/* Placeholder uses product crop when no real cover image */
body.larrysman-page .dl-cover-ph {
  position: absolute;
  inset: 0;
  background-color: #e8f0f7;
  background-repeat: no-repeat;
  background-position: center 60%;
  background-size: 90%;
}
body.larrysman-page .dl-card-cover--bronze   .dl-cover-ph { background-image: url("../crops/product-2.png"); }
body.larrysman-page .dl-card-cover--ptfe     .dl-cover-ph { background-image: url("../crops/product-5.png"); }
body.larrysman-page .dl-card-cover--graphite .dl-cover-ph { background-image: url("../crops/product-4.png"); }
/* "PDF" label bottom-right of placeholder */
body.larrysman-page .dl-card-cover em {
  position: absolute;
  right: 5px; bottom: 5px; z-index: 2;
  color: #5a7898;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .02em;
}

/* Body column */
body.larrysman-page .dl-card-body {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 40%;
  right: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 5px 18px 5px 16px;
  gap: 8px;
  overflow: hidden;
}
body.larrysman-page .dl-card-title {
  display: block;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.01em;
}
body.larrysman-page .dl-card-desc {
  color: rgba(255,255,255,.6);
  font-size: 11.5px;
  line-height: 1.6;
  margin: 0;
  max-height: calc(1.6em * 4);
  overflow: hidden;
}
body.larrysman-page .dl-card-meta {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style: none;
  margin-top: auto;
}
body.larrysman-page .dl-card-meta li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 7px;
}
body.larrysman-page .dl-card-meta li svg {
  width: 32px; height: 32px;
  flex-shrink: 0;
  stroke: #62b8d8;   /* steel-blue accent, legible on dark navy */
  fill: none;
}
body.larrysman-page .dl-meta-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
body.larrysman-page .dl-meta-text strong {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
}
body.larrysman-page .dl-meta-text em {
  font-style: normal;
  font-size: 10px;
  font-weight: 500;
  color: #fff;
  letter-spacing: .03em;
  line-height: 1;
}
/* Download button — full width, bright blue */
body.larrysman-page .dl-card-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 18px;
  margin-top: auto;
  background: #1a75c4;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 6px;
  text-decoration: none;
  transition: background .18s;
  flex-shrink: 0;
}
body.larrysman-page .dl-card-btn:hover { background: #135da0; color: #fff; }
body.larrysman-page .dl-card-btn[aria-disabled="true"] { opacity: .45; pointer-events: none; }
body.larrysman-page .dl-card-btn svg { width: 15px; height: 15px; flex-shrink: 0; }

/* Preview pages strip — fixed height, always 3 images visible */
body.larrysman-page .dl-pages {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 0 0 auto;   /* fixed height, does not grow */
  padding-top: 4px;
}
body.larrysman-page .dl-pages-head {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
  flex-shrink: 0;
  padding: 14px 0 4px;
}
body.larrysman-page .dl-pages-outer {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
}
body.larrysman-page .dl-pages-inner {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  flex: 1;
  min-width: 0;
  scrollbar-width: none;
  align-items: flex-start;
}
body.larrysman-page .dl-pages-inner::-webkit-scrollbar { display: none; }
body.larrysman-page .dl-pages-inner img {
  /* exactly 3 visible at a time: (100% - 2×10px gaps) / 3 */
  flex: 0 0 calc((100% - 20px) / 3);
  width: calc((100% - 20px) / 3);
  height: calc((100% - 20px) / 3); /* same as width → 1:1 square */
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: top center; /* crop from top, centred horizontally */
  border-radius: 3px;
  border: 1px solid rgba(255,255,255,.2);
  cursor: pointer;
  transition: border-color .15s, transform .15s;
}
body.larrysman-page .dl-pages-inner img:hover {
  border-color: rgba(255,255,255,.65);
  transform: translateY(-2px);
}
body.larrysman-page .dl-arr {
  flex-shrink: 0;
  width: 15px; height: 36px;
  display: grid; place-items: center;
  background: none;
  border: none;
  border-radius: 0;
  color: rgba(255,255,255,.55);
  font-size: 36px;
  line-height: 1;
  cursor: pointer;
  transition: color .15s;
  padding: 0;
  user-select: none;
}
body.larrysman-page .dl-arr:hover { color: #fff; }
body.larrysman-page .dl-arr:disabled { opacity: .22; cursor: default; }

/* Multi-item tabs */
body.larrysman-page .dl-tabs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
body.larrysman-page .dl-tab {
  padding: 5px 11px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 4px;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.72);
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
body.larrysman-page .dl-tab.is-active {
  background: #1a75c4;
  border-color: #1a75c4;
  color: #fff;
}
body.larrysman-page .dl-tab:hover:not(.is-active) { background: rgba(255,255,255,.12); }

/* Panel action area */
body.larrysman-page .panel-action-area {
  display: grid;
  gap: 10px;
  margin-top: auto;
  padding-top: 0;
  justify-items: stretch;
}
body.larrysman-page .catalog-rfq-actions { margin-top: auto; }

/* Action note */
body.larrysman-page .action-note {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  width: min(100%, 560px);
  margin: 0;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 4px;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.86);
  font-size: 10px;
  line-height: 1.5;
}
body.larrysman-page .action-note i {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: #a9dbf4;
  font-style: normal;
}
body.larrysman-page .action-note svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.larrysman-page .action-note span { display: block; }

body.larrysman-page .download-all,
body.larrysman-page .quote-form button {
  width: 100%;
  height: 52px;
  min-height: 52px;
  margin: 0;
  border-radius: 4px;
  font-size: 11px;
}

/* White buttons inside dark panels */
body.larrysman-page .catalog-panel .btn--primary,
body.larrysman-page .quote-panel .btn--primary {
  border-color: #fff;
  color: var(--navy);
  background: #fff;
  box-shadow: 0 5px 14px rgba(2,31,51,.22);
}

/* Quote panel */
body.larrysman-page .quote-panel { color: #fff; }
body.larrysman-page .quote-panel .panel-heading { text-align: center; }
body.larrysman-page .quote-trust-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
body.larrysman-page .quote-trust-strip span {
  padding: 10px 8px;
  text-align: center;
}
body.larrysman-page .quote-trust-strip strong,
body.larrysman-page .quote-trust-strip em { display: block; }
body.larrysman-page .quote-trust-strip strong { font-size: 11px; line-height: 1.15; }
body.larrysman-page .quote-trust-strip em {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-style: normal;
}

/* Quote form */
body.larrysman-page .quote-form {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 11px;
  min-height: 0;
}
body.larrysman-page .quote-form label { display: grid; gap: 3px; }
body.larrysman-page .quote-form label span { color: #fff; font-size: 11px; font-weight: 700; }
body.larrysman-page .quote-form input,
body.larrysman-page .quote-form select {
  width: 100%;
  height: 32px;
  min-width: 0;
  border: 1px solid #b9cfdd;
  padding: 5px 8px;
  color: #44515b;
  background: #fff;
  font-size: 11px;
}
body.larrysman-page .file-input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  pointer-events: none;
}
body.larrysman-page .quote-form label .file-upload-field {
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #b9cfdd;
  padding: 4px 7px;
  color: #62717c;
  background: #fff;
  cursor: pointer;
}
body.larrysman-page .file-upload-field b {
  border: 1px solid #9db5c5;
  padding: 3px 8px;
  color: var(--navy);
  background: #eef5f9;
  font-size: inherit;
}
body.larrysman-page .file-upload-field em { font-style: normal; }
body.larrysman-page .quote-form button { padding: 6px; }
body.larrysman-page .quote-form button small { font-size: 10px; }
body.larrysman-page .form-note {
  margin: 8px 0 0;
  color: #cde9f7;
  font-size: 10px;
  line-height: 1.35;
}
body.larrysman-page .form-note:empty { display: none; }

/* =============================================
   Article Cards
   ============================================= */
body.larrysman-page .articles-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 4px 8px;
  position: relative;
  margin-bottom: 8px;
}
body.larrysman-page .articles-heading h2,
body.larrysman-page .articles-heading p {
  grid-column: 2;
  margin: 0;
}
body.larrysman-page .articles-heading > a {
  grid-column: 3;
  grid-row: 1 / span 2;
  justify-self: end;
  color: var(--accent);
  font-size: 6px;
  font-weight: 800;
  text-transform: uppercase;
}
body.larrysman-page .article-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
body.larrysman-page .article-grid article,
body.larrysman-page .article-card {
  height: 120px;
  display: grid;
  grid-template-columns: 36% 1fr;
  gap: 7px;
  padding: 0 5px 0 0;
  background: #f5f6f7;
  overflow: hidden;
}
body.larrysman-page .article-image { width: 100%; height: 120px; }
body.larrysman-page .article-grid article img,
body.larrysman-page .article-card img {
  display: block;
  width: 100%;
  height: 120px;
  object-fit: cover;
}
body.larrysman-page .article-grid .media-placeholder {
  width: 100%;
  height: 120px;
  aspect-ratio: unset;
  border-radius: 0;
  border-bottom: none;
}
body.larrysman-page .article-grid article > div,
body.larrysman-page .article-card > div {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
}
body.larrysman-page .article-grid article h3,
body.larrysman-page .article-card h3 { margin: 10px 0 0; font-size: 13px; line-height: 1.2; }
body.larrysman-page .article-grid article h4,
body.larrysman-page .article-card h4 { margin: 3px 0 0; font-size: 8px; }
body.larrysman-page .article-grid article p,
body.larrysman-page .article-card p {
  margin: 6px 0 4px;
  font-size: 11px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: calc(1.35em * 4);
}
body.larrysman-page .article-grid article a,
body.larrysman-page .article-card a {
  margin-top: auto;
  padding-bottom: 10px;
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

/* =============================================
   Chinese (zh-CN) Locale Overrides
   ============================================= */
html[lang="zh-CN"] body.larrysman-page .main-nav__links a,
html[lang="zh-CN"] body.larrysman-page .btn,
html[lang="zh-CN"] body.larrysman-page .section-heading h2,
html[lang="zh-CN"] body.larrysman-page .panel-heading h2,
html[lang="zh-CN"] body.larrysman-page .factory-strength-heading h2,
html[lang="zh-CN"] body.larrysman-page .articles-heading > a,
html[lang="zh-CN"] body.larrysman-page .technical-panel > a,
html[lang="zh-CN"] body.larrysman-page .product-card a,
html[lang="zh-CN"] body.larrysman-page .article-grid a,
html[lang="zh-CN"] body.larrysman-page .footer h3 {
  text-transform: none;
}
html[lang="zh-CN"] body.larrysman-page .hero h1,
html[lang="zh-CN"] body.larrysman-page .hero__subtitle,
html[lang="zh-CN"] body.larrysman-page .hero-benefits strong,
html[lang="zh-CN"] body.larrysman-page .advantages-grid strong,
html[lang="zh-CN"] body.larrysman-page .conversion-proof-grid strong,
html[lang="zh-CN"] body.larrysman-page .quote-trust-strip strong,
html[lang="zh-CN"] body.larrysman-page .catalog-list strong,
html[lang="zh-CN"] body.larrysman-page .article-grid h3,
html[lang="zh-CN"] body.larrysman-page .article-grid p {
  text-wrap: pretty;
  line-break: strict;
}
html[lang="zh-CN"] body.larrysman-page .quote-form label span,
html[lang="zh-CN"] body.larrysman-page .action-note,
html[lang="zh-CN"] body.larrysman-page .form-note,
html[lang="zh-CN"] body.larrysman-page .contact-list p,
html[lang="zh-CN"] body.larrysman-page .footer__bottom span {
  line-height: 1.72;
}
html[lang="zh-CN"] body.larrysman-page .footer p,
html[lang="zh-CN"] body.larrysman-page .footer a {
  line-height: 1.48;
}

/* =============================================
   Footer
   ============================================= */
body.larrysman-page .footer {
  color: rgba(255,255,255,.76);
  background: linear-gradient(135deg, #063b61, #0b5d91);
}
body.larrysman-page .footer__grid {
  display: grid;
  grid-template-columns: minmax(140px, 1.2fr) repeat(4, minmax(120px, 1fr));
  column-gap: clamp(22px, 1.8vw, 36px);
  row-gap: 28px;
  align-items: start;
  min-height: auto;
  padding-top: clamp(42px, 4.2vw, 72px);
  padding-bottom: clamp(48px, 4.8vw, 82px);
}
body.larrysman-page .footer__grid > * { min-width: 0; }
body.larrysman-page .footer__grid > *:nth-child(2) { padding-left: clamp(16px, 1.6vw, 32px); }
body.larrysman-page .footer__column {
  min-width: 0;
  overflow: visible;
}
body.larrysman-page .footer__column--links {
  display: grid;
  align-content: start;
  gap: 20px;
}

/* Footer toggle (mobile accordion base — always block) */
body.larrysman-page .footer__toggle {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: default;
}
/* Footer panel */
body.larrysman-page .footer__panel {
  display: grid;
  gap: 10px;
}
body.larrysman-page .footer__panel a {
  font-weight: 400;
}
body.larrysman-page .footer__column--contact {
  min-width: 0;
}
body.larrysman-page .footer .footer-brand-lockup {
  width: fit-content;
  margin-bottom: 32px;
  display: grid;
  grid-template-columns: max-content;
  align-items: center;
  justify-content: start;
  column-gap: 0;
  white-space: nowrap;
}
body.larrysman-page .footer .footer-brand-lockup .factory-logo { display: none; }
body.larrysman-page .footer .footer-brand-lockup .factory-logo { width: 62px; height: 62px; }
body.larrysman-page .footer .footer-brand-lockup .brand-wordmark strong,
body.larrysman-page .footer .footer-brand-lockup .brand-wordmark small { color: #fff; }
body.larrysman-page .footer .footer-brand-lockup .brand-wordmark strong {
  font-size: clamp(26px, 1.58vw, 34px);
  line-height: 1;
  letter-spacing: 0;
}
body.larrysman-page .footer .footer-brand-lockup .brand-wordmark small {
  font-size: clamp(9px, .58vw, 11px);
  line-height: 1.15;
  letter-spacing: 0;
}
body.larrysman-page .footer p,
body.larrysman-page .footer a {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: clamp(13px, .78vw, 16px);
  line-height: 1.48;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  max-height: none;
}
body.larrysman-page .footer h3 {
  margin: 0;
  display: flex;
  align-items: flex-start;
  color: #fff;
  font-size: clamp(16px, .95vw, 20px);
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}
body.larrysman-page .footer h3 span {
  margin-left: 0;
  color: rgba(255,255,255,.74);
  font-size: inherit;
  text-transform: none;
}
/* EN/ZH lang spans inside footer h3 are full headings, not sub-labels — override the sub-label rule above */
body.larrysman-page .footer h3 > .en,
body.larrysman-page .footer h3 > .zh {
  font-size: inherit;
  color: inherit;
  margin-left: 0;
  text-transform: inherit;
}
body.larrysman-page .footer a {
  display: block;
  transition: color .18s ease;
}
body.larrysman-page .footer a:hover { color: #fff; }
body.larrysman-page .footer-brand {
  min-width: 0;
  overflow: visible;
}
body.larrysman-page .footer-brand > p {
  max-width: 35ch;
  font-size: clamp(13px, .78vw, 16px);
  line-height: 1.5;
  font-weight: 400;
}
/* Match target3: hide positioning tagline on desktop, only show on mobile (≤600px) */
body.larrysman-page .footer-brand-positioning { display: none; }
body.larrysman-page .footer-brand-meta {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
body.larrysman-page .footer-brand-meta p {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: end;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(13px, .78vw, 16px);
  line-height: 1.28;
  font-weight: 400;
}
body.larrysman-page .footer-brand-meta p::before {
  content: "✓";
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #063b61;
  background: #1da0f2;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  align-self: end;
}
body.larrysman-page .socials { display: flex; gap: 24px; margin-top: 22px; }
body.larrysman-page .socials a {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin: 0;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.08);
  font-size: 21px;
  font-weight: 800;
}
body.larrysman-page .socials a:hover {
  border-color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.16);
}
body.larrysman-page .socials svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.larrysman-page .socials a[aria-label*="YouTube"] svg {
  fill: currentColor;
  stroke: none;
}
/* Legacy socials i */
body.larrysman-page .socials i {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  font-size: 21px;
  font-style: normal;
}
body.larrysman-page .footer-contact-groups {
  gap: 14px;
  padding-top: 14px;
}
body.larrysman-page .footer-contact-group {
  display: grid;
  gap: 6px;
}
body.larrysman-page .footer-contact-group strong {
  display: block;
  color: #fff;
  font-size: clamp(14px, .84vw, 17px);
  line-height: 1.25;
  font-weight: 700;
}
body.larrysman-page .footer-contact-group p,
body.larrysman-page .footer-contact-group a {
  margin: 0;
  overflow-wrap: break-word;
  font-weight: 400;
}
@media (min-width: 769px) {
  body.larrysman-page .footer-brand,
  body.larrysman-page .footer__column--links,
  body.larrysman-page .footer-contact {
    display: flex;
    flex-direction: column;
  }
  body.larrysman-page .footer__column--links,
  body.larrysman-page .footer-contact {
    gap: 16px;
  }
  body.larrysman-page .footer__column--links .footer__panel,
  body.larrysman-page .footer-contact-groups {
    display: grid;
    gap: 10px;
    flex: initial;
    min-height: 0;
    padding-top: 0;
  }
  body.larrysman-page .footer__column--links .footer__panel,
  body.larrysman-page .footer-contact-groups {
    padding-top: calc(1.48em + 10px);
  }
  body.larrysman-page .footer__column--links .footer__panel a {
    display: block;
    min-height: 0;
  }
  body.larrysman-page .footer-contact-group {
    display: grid;
    justify-content: start;
    gap: 6px;
  }
  body.larrysman-page .footer-contact-groups > .footer-contact-group:first-child {
    position: relative;
  }
  body.larrysman-page .footer-contact-groups > .footer-contact-group:first-child > strong {
    position: absolute;
    top: -1.4em;
  }
}
body.larrysman-page .contact-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.larrysman-page .contact-list li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}
body.larrysman-page .contact-list p,
body.larrysman-page .contact-list a {
  margin: 0;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  max-height: none;
}
body.larrysman-page .contact-icon {
  width: 16px;
  height: 16px;
  display: grid;
  place-items: center;
  color: #a8d8f0;
  opacity: .95;
  transform: translateY(4px);
}
body.larrysman-page .contact-icon svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.larrysman-page .footer__bottom {
  min-height: 28px;
  border-top: 1px solid rgba(255,255,255,.16);
}
body.larrysman-page .footer__bottom .container {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px 20px;
  padding: 8px 0;
  font-size: 10px;
}
body.larrysman-page .footer__bottom span {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
body.larrysman-page .footer--hide-bottom .footer__bottom {
  display: none;
}

/* Footer accordion base styles (mobile — always defined but only activated in media queries) */
body.larrysman-page .footer__accordion {
  padding-top: 0;
}

/* =============================================
   Floating Contact Buttons
   ============================================= */
body.larrysman-page .float-contact {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 30;
  display: grid;
  gap: 8px;
}
body.larrysman-page .float-contact a {
  min-width: 150px;
  box-shadow: 0 10px 26px rgba(18, 50, 74, 0.25);
}

/* =============================================
   Product Detail & Article Detail
   ============================================= */
body.larrysman-page .product-detail-hero {
  background: linear-gradient(180deg, #f8fafc, #eef3f7);
  padding: 48px 0;
}
body.larrysman-page .product-detail-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: start;
}
body.larrysman-page .product-detail-layout img {
  width: 100%;
  min-height: 360px;
  object-fit: cover;
  border-radius: var(--radius);
}
body.larrysman-page .product-detail-layout h1 {
  color: var(--navy);
  font-size: 34px;
  line-height: 1.16;
  margin-bottom: 12px;
}
body.larrysman-page .product-detail-layout .desc {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
  margin-top: 16px;
}
body.larrysman-page .product-detail-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 18px;
}
body.larrysman-page .product-detail-back:hover { text-decoration: underline; }

body.larrysman-page .article-detail-hero {
  background: linear-gradient(180deg, var(--navy), var(--navy-2));
  color: #fff;
  padding: 56px 0;
}
body.larrysman-page .article-detail-hero h1 {
  color: #fff;
  font-size: 34px;
  line-height: 1.2;
  margin-bottom: 8px;
}
body.larrysman-page .article-detail-body {
  max-width: 780px;
  margin: 0 auto;
  padding: 48px 0;
  font-size: 16px;
  line-height: 1.8;
  color: var(--ink);
}
body.larrysman-page .article-detail-body p { margin: 0 0 18px; }
body.larrysman-page .article-detail-body img {
  width: 100%;
  border-radius: var(--radius);
  margin: 24px 0;
}

/* =============================================
   Fluent Forms Overrides
   ============================================= */
body.larrysman-page .ff-el-form-control,
body.larrysman-page .ff-el-group .ff-el-form-control {
  border: 1px solid var(--line) !important;
  border-radius: 2px !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  font-family: inherit !important;
  color: var(--ink) !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.larrysman-page .ff-btn-submit {
  background: linear-gradient(90deg, var(--navy-2), var(--accent-light)) !important;
  border: none !important;
  border-radius: 2px !important;
  color: #fff !important;
  font-weight: 800 !important;
  min-height: 46px !important;
  padding: 12px 22px !important;
  font-family: inherit !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}
body.larrysman-page .ff-btn-submit:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 24px rgba(22, 121, 188, 0.24) !important;
}

/* Quote panel — flex chain so the submit button reaches the panel bottom.
   The chain: .rfq-content → .fluentform wrapper → form → fieldset → .ff_submit_btn_wrapper.
   fieldset has a Fluent Forms inline style (min-inline-size:100%) so !important is needed
   to ensure display:flex is not overridden by Fluent Forms public CSS. */
body.larrysman-page .rfq-content > .fluentform {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
/* Target form directly (the <form id="fluentform_N"> element) */
body.larrysman-page .rfq-content form {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  width: 100% !important;
}
/* fieldset is the only child of the form; must also be a flex column */
body.larrysman-page .rfq-content form > fieldset {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  width: 100% !important;
}

/* Quote panel — Fluent Forms white labels + full-width white button */
body.larrysman-page .quote-panel .fluentform .ff-el-input--label label,
body.larrysman-page .quote-panel .fluentform .ff-el-group label {
  color: #fff !important;
}
/* Submit button wrapper pushed to bottom (mirrors target3 .panel-action-area) */
body.larrysman-page .quote-panel .ff_submit_btn_wrapper {
  margin-top: auto !important;
  padding-top: 8px !important;
}
body.larrysman-page .quote-panel .ff-btn-submit {
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  background: #fff !important;
  color: var(--navy) !important;
  border: none !important;
  box-shadow: 0 5px 14px rgba(2,31,51,.22) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  border-radius: 4px !important;
}
body.larrysman-page .quote-panel .ff-btn-submit:hover {
  background: #f0f4f8 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(2,31,51,.28) !important;
}

/* Quote panel — Fluent Forms file upload (for when file field is added to the form) */
body.larrysman-page .quote-panel .ff_upload_field_wrapper {
  min-height: 32px;
  display: flex !important;
  align-items: center !important;
  border: 1px solid #b9cfdd !important;
  background: #fff !important;
  padding: 0 !important;
  overflow: hidden;
}
body.larrysman-page .quote-panel .ff-upload-btn-section {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 4px 7px !important;
  width: 100%;
}
body.larrysman-page .quote-panel .ff-upload-file-btn {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  border: 1px solid #9db5c5 !important;
  padding: 3px 8px !important;
  color: var(--navy) !important;
  background: #eef5f9 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap;
  border-radius: 0 !important;
}
body.larrysman-page .quote-panel .ff-upload-file-btn svg { display: none !important; }
body.larrysman-page .quote-panel .ff-file-count,
body.larrysman-page .quote-panel .ff-upload-btn-section span:last-child {
  color: #62717c !important;
  font-size: 11px !important;
}

/* Quote panel — lazy Turnstile: hide only the widget itself until submit is clicked.
   Scoped directly to .cf-turnstile so no other form content is ever affected. */
body.larrysman-page .quote-panel .cf-turnstile {
  overflow: hidden;
  max-height: 0;
  transition: max-height .35s ease;
}
body.larrysman-page .quote-panel.ls-ts-shown .cf-turnstile {
  max-height: 200px;
}
/* Turnstile plugin injects a <br> spacer after the widget; hide it so it doesn't
   push the submit button away from the panel bottom in flex-column layout. */
body.larrysman-page .quote-panel br.cf-turnstile-br { display: none !important; }

/* =============================================
   Generic Cards & Utilities (inner pages)
   ============================================= */
body.larrysman-page .card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: 0 1px 0 rgba(18, 50, 74, 0.03);
}
body.larrysman-page .card h3 { margin-bottom: 10px; color: var(--navy); }
body.larrysman-page .card p { color: var(--muted); }
body.larrysman-page .two-col {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 36px;
  align-items: center;
}
body.larrysman-page .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
body.larrysman-page .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
body.larrysman-page .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
body.larrysman-page .mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
body.larrysman-page .mini-grid article {
  padding: 12px;
  border: 1px solid #e2e8ee;
  border-radius: var(--radius);
  background: #f8fafc;
}
body.larrysman-page .mini-grid img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  margin-bottom: 4px;
}
body.larrysman-page .mini-grid h3 { margin: 10px 0 2px; color: var(--navy); font-size: 12px; }
body.larrysman-page .mini-grid p { margin: 0; color: var(--muted); font-size: 11px; font-weight: 700; }
body.larrysman-page .capability-panel,
body.larrysman-page .capability-panel--technical {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 12px 34px rgba(15, 45, 71, 0.08);
}
body.larrysman-page .capability-panel--technical {
  background: linear-gradient(180deg, #fff, #f7fafd);
}
body.larrysman-page .capability-layout {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 24px;
}
body.larrysman-page .tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
body.larrysman-page .tag {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
}
body.larrysman-page .spec-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
body.larrysman-page .spec-table th,
body.larrysman-page .spec-table td {
  padding: 13px 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  font-size: 14px;
}
body.larrysman-page .spec-table th {
  width: 28%;
  color: var(--navy);
  background: #eef3f7;
  font-weight: 700;
}
body.larrysman-page .spec-table tr:last-child th,
body.larrysman-page .spec-table tr:last-child td { border-bottom: 0; }
body.larrysman-page .steps {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 12px;
  align-items: stretch;
}
body.larrysman-page .step {
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px 14px;
  min-height: 178px;
}
body.larrysman-page .step strong {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  margin-bottom: 12px;
}
body.larrysman-page .step b { color: var(--navy); display: block; margin-bottom: 8px; line-height: 1.3; }
body.larrysman-page .step p { color: var(--muted); font-size: 13px; line-height: 1.5; }

/* CTA Band */
body.larrysman-page .cta-band {
  background: var(--navy);
  color: #fff;
  border-radius: var(--radius);
  padding: 34px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  box-shadow: var(--shadow);
}
body.larrysman-page .cta-band h2 { color: #fff; font-size: 28px; }
body.larrysman-page .cta-band p { color: #dbe6ee; max-width: 760px; }
body.larrysman-page .cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* Contact/form generic */
body.larrysman-page form:not(.quote-form) { display: grid; gap: 12px; }
body.larrysman-page .form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
body.larrysman-page label:not(.language-select):not(.ff-el-form-check-label) {
  display: grid;
  gap: 6px;
  color: var(--navy);
  font-weight: 700;
  font-size: 13px;
}
body.larrysman-page .fluentform label:not(.language-select) {
  display: inline;
  gap: 0;
}
body.larrysman-page input:not(.quote-form input),
body.larrysman-page select:not(.quote-form select):not(.language-select select),
body.larrysman-page textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 2px;
  min-height: 42px;
  padding: 10px 12px;
  font: inherit;
  color: var(--ink);
  background: #fff;
}
body.larrysman-page textarea { min-height: 120px; resize: vertical; }
/* =========================================================
   larrysman-css-part2.css
   Responsive media queries — ported from target3/style.css
   All selectors scoped under body.larrysman-page
   ========================================================= */

/* ----------------------------------------------------------
   1. @media (min-width: 1280px) — Large desktop
   ---------------------------------------------------------- */
@media (min-width: 1280px) {
  body.larrysman-page .container { width: calc(100% - 64px); max-width: 1280px; }
  body.larrysman-page .top-bar, body.larrysman-page .top-bar__inner { height: 48px; }
  body.larrysman-page .top-bar, body.larrysman-page .top-bar select { font-size: 14px; }
  body.larrysman-page .top-bar__contacts { gap: 48px; }
  body.larrysman-page .top-contact-link { gap: 10px; font-weight: 750; }
  body.larrysman-page .top-contact-icon { width: 18px; height: 18px; flex-basis: 18px; stroke-width: 2.2; }
  body.larrysman-page .main-nav, body.larrysman-page .main-nav__inner { height: 72px; }
  body.larrysman-page .brand { width: 245px; flex-basis: 245px; }
  body.larrysman-page .factory-logo { width: 48px; height: 48px; }
  body.larrysman-page .brand-wordmark strong { font-size: 21px; }
  body.larrysman-page .brand-wordmark small { font-size: 8px; }
  body.larrysman-page .brand .brand-positioning { font-size: 6.5px; }
  body.larrysman-page .main-nav__links { gap: 22px; }
  body.larrysman-page .main-nav__links a { height: 72px; font-size: 12px; }
  body.larrysman-page .main-nav__links a.is-active::after { bottom: 17px; }
  body.larrysman-page .nav-language-picker { width: 124px; flex-basis: 124px; min-height: 40px; }
  body.larrysman-page .nav-language-picker::after { right: 14px; width: 7px; height: 7px; }
  body.larrysman-page .nav-language-select { min-height: 40px; padding: 10px 30px 10px 14px; font-size: 10px; }

  body.larrysman-page .hero { height: 470px; min-height: 470px; }
  body.larrysman-page .hero__inner {
    width: min(100%, 1200px);
    margin: 0 auto;
    height: 100%;
    min-height: 470px;
    grid-template-columns: minmax(0, 59%) minmax(0, 41%);
    padding: 54px 48px 50px;
  }
  body.larrysman-page .hero__content { max-width: 680px; transform: none; }
  body.larrysman-page .hero h1 { max-width: 680px; min-height: 0; font-size: 38px; line-height: 1.08; }
  body.larrysman-page .hero__subtitle { max-width: 46em; min-height: 0; margin-top: 20px; font-size: 16px; line-height: 1.45; }
  body.larrysman-page .hero-proof-strip { width: fit-content; margin-top: 30px; column-gap: 46px; row-gap: 16px; }
  body.larrysman-page .hero-proof-strip article { min-height: 0; padding: 0; gap: 9px; }
  body.larrysman-page .hero-proof-strip i { width: 18px; height: 18px; flex-basis: 18px; }
  body.larrysman-page .hero-proof-strip svg { width: 18px; height: 18px; }
  body.larrysman-page .hero-proof-strip span { font-size: 13px; }
  body.larrysman-page .hero__actions { gap: 16px; margin-top: 34px; }
  body.larrysman-page .hero__actions .btn, body.larrysman-page .hero__actions .btn--ghost { width: 166px; min-height: 42px; font-size: 9px; }
  body.larrysman-page .btn--stacked small { font-size: 10px; }

  body.larrysman-page .compact-section { padding-top: 24px; }
  body.larrysman-page .section-heading { margin-bottom: 16px; }
  body.larrysman-page .section-heading h2 { font-size: 24px; }
  body.larrysman-page .section-heading p { margin-top: 4px; font-size: 15px; }
  body.larrysman-page .product-grid { gap: 20px; }
  body.larrysman-page .product-image { height: auto; }
  body.larrysman-page .product-card h3 { min-height: 34px; margin-top: 14px; font-size: 19px; }
  body.larrysman-page .product-card p { min-height: 36px; margin: 10px 16px 5px; font-size: 12px; line-height: 1.4; }
  body.larrysman-page .product-card a { margin: auto 8px 15px; font-size: 11px; }

  body.larrysman-page .advantages-section, body.larrysman-page .applications-section { padding-top: 20px; }
  body.larrysman-page .advantages-grid { height: 90px; }
  body.larrysman-page .advantages-grid article { grid-template-columns: 50px 1fr; padding: 12px 14px; }
  body.larrysman-page .advantages-grid i { width: 32px; height: 32px; }
  body.larrysman-page .advantages-grid strong, body.larrysman-page .advantages-grid small { font-size: 12px; line-height: 1.2; }
  body.larrysman-page .application-grid { gap: 18px; }
  body.larrysman-page .application-grid article { height: 190px; }
  body.larrysman-page .application-image,
  body.larrysman-page .application-grid article img { height: 132px; }
  body.larrysman-page .application-grid h3 { margin-top: 10px; font-size: 13px; }
  body.larrysman-page .application-grid p { margin-top: 5px; font-size: 10px; }

  body.larrysman-page .capability-section { padding-top: 22px; }
  body.larrysman-page .factory-strength-panel { padding: 26px; }
  body.larrysman-page .factory-strength-heading { margin-bottom: 24px; }
  body.larrysman-page .factory-strength-heading h2 { font-size: 28px; }
  body.larrysman-page .factory-strength-heading p { font-size: 17px; }
  body.larrysman-page .factory-strength-layout { grid-template-columns: 1.16fr .84fr; gap: 34px; }
  body.larrysman-page .factory-strength-media h3, body.larrysman-page .factory-strength-copy h3 { margin-bottom: 17px; font-size: 18px; }
  body.larrysman-page .factory-strength-media h3 span, body.larrysman-page .factory-strength-copy h3 span { font-size: 14px; }
  body.larrysman-page .factory-strength-copy { padding-left: 34px; }
  body.larrysman-page .factory-strength-intro { margin-bottom: 20px; font-size: 13px; }
  body.larrysman-page .capability-grid { gap: 20px; }
  body.larrysman-page .info-panel, body.larrysman-page .quote-panel { min-height: 440px; height: 100%; padding: 22px; }
  body.larrysman-page .catalog-rfq-card { padding: 22px; }
  body.larrysman-page .panel-heading { min-height: 68px; }
  body.larrysman-page .panel-heading h2 { font-size: 23px; }
  body.larrysman-page .panel-heading p { font-size: 16px; }
  body.larrysman-page .factory-grid { min-height: 390px; gap: 20px 14px; }
  body.larrysman-page .factory-image { min-height: 126px; }
  body.larrysman-page .factory-grid strong, body.larrysman-page .factory-grid small { font-size: 13px; line-height: 1.3; }
  body.larrysman-page .technical-panel ul { margin-top: 12px; }
  body.larrysman-page .technical-panel li { grid-template-columns: 44px 1fr; padding: 16px 0; font-size: 15px; }
  body.larrysman-page .technical-panel li i { width: 29px; height: 29px; }
  body.larrysman-page .technical-panel li small { font-size: 14px; }
  body.larrysman-page .technical-panel > a { margin-left: 54px; font-size: 12px; }
  body.larrysman-page .catalog-list { gap: 12px; }
  body.larrysman-page .catalog-list > a { min-height: 108px; grid-template-columns: 78px 1fr 28px; gap: 16px; }
  body.larrysman-page .catalog-cover { width: 72px; height: 90px; }
  body.larrysman-page .catalog-cover span { inset: 0 0 21px; }
  body.larrysman-page .catalog-cover::after { height: 30px; }
  body.larrysman-page .catalog-cover em { right: 7px; bottom: 6px; font-size: 10px; }
  body.larrysman-page .catalog-list strong { font-size: 15px; }
  body.larrysman-page .catalog-list small { font-size: 12px; }
  body.larrysman-page .catalog-list b { font-size: 11px; }
  body.larrysman-page .action-note {
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 11px;
    width: 100%;
    padding: 12px 14px;
    font-size: 13px;
  }
  body.larrysman-page .panel-action-area {
    gap: 14px;
    padding-top: 0;
  }
  body.larrysman-page .action-note i,
  body.larrysman-page .action-note svg {
    width: 22px;
    height: 22px;
  }
  body.larrysman-page .download-all,
  body.larrysman-page .quote-form button,
  body.larrysman-page .quote-panel .ff-btn-submit {
    width: 100%;
    height: 60px !important;
    min-height: 60px !important;
    font-size: 13px;
  }
  body.larrysman-page .quote-panel .ff_submit_btn_wrapper { padding-top: 12px !important; }
  body.larrysman-page .quote-panel .ff_upload_field_wrapper { min-height: 40px !important; }
  body.larrysman-page .quote-panel .ff-upload-btn-section { padding: 5px 9px !important; }
  body.larrysman-page .conversion-lead { font-size: 14px; }
  body.larrysman-page .quote-form { gap: 18px; }
  body.larrysman-page .quote-form label { gap: 4px; }
  body.larrysman-page .quote-form label span { font-size: 13px; }
  body.larrysman-page .quote-form input, body.larrysman-page .quote-form select { height: 40px; padding: 7px 10px; font-size: 13px; }
  body.larrysman-page .file-upload-field { min-height: 40px; padding: 5px 9px; }
  body.larrysman-page .form-note { font-size: 12px; }
  body.larrysman-page .quote-form button { margin-top: 0; }
  body.larrysman-page .quote-form button small { font-size: 12px; }

  body.larrysman-page .articles-section { padding: 18px 0; }
  body.larrysman-page .articles-heading { margin-bottom: 13px; }
  body.larrysman-page .articles-heading > a { top: 7px; font-size: 9px; }
  body.larrysman-page .article-grid { gap: 12px; }
  body.larrysman-page .article-grid article { height: 160px; grid-template-columns: 36% 1fr; gap: 10px; padding-right: 8px; }
  body.larrysman-page .article-grid article img, body.larrysman-page .article-image, body.larrysman-page .article-grid .media-placeholder { height: 160px; }
  body.larrysman-page .article-grid h3 { margin-top: 14px; font-size: 13px; line-height: 1.2; }
  body.larrysman-page .article-grid h4 { margin-top: 4px; font-size: 9px; }
  body.larrysman-page .article-grid p { margin: 8px 0 6px; font-size: 11px; line-height: 1.35; -webkit-line-clamp: 7; max-height: calc(1.35em * 7); }
  body.larrysman-page .article-grid a { font-size: 11px; }

  body.larrysman-page .footer__grid {
    grid-template-columns: minmax(140px, 1.2fr) repeat(4, minmax(120px, 1fr));
    column-gap: clamp(22px, 1.8vw, 36px);
    row-gap: 28px;
    min-height: auto;
    padding-top: clamp(42px, 4.2vw, 72px);
    padding-bottom: clamp(48px, 4.8vw, 82px);
  }
  body.larrysman-page .footer-brand-lockup .factory-logo { width: 62px; height: 62px; }
  body.larrysman-page .footer p,
  body.larrysman-page .footer a { font-size: clamp(13px, .78vw, 16px); line-height: 1.48; }
  body.larrysman-page .footer-brand > p { max-width: 35ch; font-size: clamp(13px, .78vw, 16px); line-height: 1.5; }
  body.larrysman-page .footer-brand-meta p { font-size: clamp(13px, .78vw, 16px); line-height: 1.28; }
  body.larrysman-page .footer h3 { font-size: clamp(16px, .95vw, 20px); line-height: 1.2; font-weight: 700; }
  body.larrysman-page .footer h3 span { font-size: inherit; }
  body.larrysman-page .socials { gap: 24px; margin-top: 22px; }
  body.larrysman-page .socials a { width: 54px; height: 54px; font-size: 21px; }
  body.larrysman-page .socials svg { width: 23px; height: 23px; }
  body.larrysman-page .contact-list { gap: 9px; }
  body.larrysman-page .contact-list li { grid-template-columns: 17px minmax(0, 1fr); gap: 9px; }
  body.larrysman-page .contact-icon { width: 17px; height: 17px; }
  body.larrysman-page .contact-icon svg { width: 15px; height: 15px; }
  body.larrysman-page .footer__bottom, body.larrysman-page .footer__bottom .container { min-height: 34px; }
  body.larrysman-page .footer__bottom .container { font-size: 11px; }
}

/* ----------------------------------------------------------
   2. @media (min-width: 901px) and (max-width: 1279px) — Medium desktop
   ---------------------------------------------------------- */
@media (min-width: 901px) and (max-width: 1279px) {
  body.larrysman-page { font-size: 13px; line-height: 1.45; }
  body.larrysman-page .top-bar, body.larrysman-page .top-bar__inner { height: 44px; }
  body.larrysman-page .top-bar, body.larrysman-page .top-bar select { font-size: 13px; }
  body.larrysman-page .top-bar__contacts { gap: 36px; }
  body.larrysman-page .top-contact-link { gap: 9px; font-weight: 720; }
  body.larrysman-page .top-contact-icon { width: 17px; height: 17px; flex-basis: 17px; }
  body.larrysman-page .hero {
    height: clamp(400px, 34vw, 410px);
    min-height: 400px;
  }
  body.larrysman-page .hero__inner {
    min-height: clamp(400px, 34vw, 410px);
    padding-inline: clamp(24px, 4vw, 48px);
  }
  body.larrysman-page .hero-proof-strip { margin-top: 22px; column-gap: 28px; row-gap: 12px; }
  body.larrysman-page .hero-proof-strip span { font-size: 11px; }
  body.larrysman-page .hero__actions { margin-top: 30px; }
  body.larrysman-page .product-card h3 { font-size: 14px; line-height: 1.2; }
  body.larrysman-page .product-card p { min-height: 42px; font-size: 10px; line-height: 1.45; }
  body.larrysman-page .product-card a { font-size: 9px; }
  body.larrysman-page .application-grid article { height: 152px; }
  body.larrysman-page .application-grid h3 { font-size: 10px; line-height: 1.2; }
  body.larrysman-page .application-grid p { font-size: 9px; }
  body.larrysman-page .advantages-grid { height: 90px; }
  body.larrysman-page .advantages-grid article { grid-template-columns: 50px 1fr; padding: 12px 14px; }
  body.larrysman-page .advantages-grid i { width: 32px; height: 32px; }
  body.larrysman-page .advantages-grid strong, body.larrysman-page .advantages-grid small { font-size: 11px; line-height: 1.2; }
  body.larrysman-page .quote-form label span, body.larrysman-page .quote-form input, body.larrysman-page .quote-form select { font-size: 11px; }
  body.larrysman-page .article-grid article { height: 132px; }
  body.larrysman-page .article-grid h3 { font-size: 13px; line-height: 1.2; }
  body.larrysman-page .article-grid p, body.larrysman-page .article-grid a { font-size: 11px; line-height: 1.35; }
  body.larrysman-page .footer__grid {
    grid-template-columns: minmax(0, 1.2fr) repeat(4, minmax(0, 1fr));
    column-gap: 22px;
    row-gap: 28px;
    min-height: 0;
    padding-top: 52px;
    padding-bottom: 58px;
  }
  body.larrysman-page .footer h3 { font-size: 16px; line-height: 1.2; font-weight: 700; }
  body.larrysman-page .footer p, body.larrysman-page .footer a { font-size: 13px; line-height: 1.48; }
  body.larrysman-page .footer-brand > p { max-width: 32ch; font-size: 13px; line-height: 1.5; }
  body.larrysman-page .footer-brand-meta p { font-size: 13px; line-height: 1.28; }
  body.larrysman-page .footer__bottom .container { font-size: 10px; }
}

/* ----------------------------------------------------------
   3. @media (max-width: 900px) — Tablet
   ---------------------------------------------------------- */
@media (max-width: 900px) {
  body.larrysman-page { font-size: 12px; }
  body.larrysman-page .container { width: calc(100% - 28px); max-width: var(--max); }
  body.larrysman-page .top-bar, body.larrysman-page .top-bar__inner { height: 40px; }
  body.larrysman-page .top-bar { font-size: 11px; }
  body.larrysman-page .top-bar__inner { gap: 12px; }
  body.larrysman-page .top-bar__contacts { display: flex; }
  body.larrysman-page .top-bar__contacts > a, body.larrysman-page .top-bar__contacts > span { display: none; }
  body.larrysman-page .top-bar__contacts:empty { display: none; }
  body.larrysman-page .main-nav__inner { justify-content: space-between; gap: 10px; }
  body.larrysman-page .brand { width: 154px; flex: 1 1 154px; min-width: 0; }
  body.larrysman-page .brand .brand-positioning { font-size: 4.3px; letter-spacing: .09em; }
  body.larrysman-page .nav-toggle {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: block;
    border: 1px solid var(--line);
    border-radius: 2px;
    background: #fff;
    box-shadow: 0 10px 22px rgba(7,62,100,.1);
  }
  body.larrysman-page .nav-toggle span { display: block; width: 18px; height: 2px; margin: 4px auto; background: var(--navy); }
  body.larrysman-page .main-nav__links {
    position: absolute;
    left: 14px;
    right: 14px;
    top: 96px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px;
    border: 1px solid var(--line);
    background: #fff;
    box-shadow: 0 14px 28px rgba(7,62,100,.14);
  }
  body.larrysman-page .main-nav__links.is-open { display: flex; }
  body.larrysman-page .main-nav__links a { height: 34px; padding: 0 7px; font-size: 10px; }
  body.larrysman-page .main-nav__links a.is-active::after { display: none; }
  body.larrysman-page .nav-language-picker { width: 86px; min-width: 86px; flex: 0 0 86px; min-height: 34px; }
  body.larrysman-page .nav-language-picker::after { right: 10px; width: 6px; height: 6px; }
  body.larrysman-page .nav-language-select { min-height: 34px; padding: 6px 24px 6px 11px; font-size: 11px; }
  body.larrysman-page .hero {
    height: auto;
    min-height: 0;
    background:
      radial-gradient(ellipse at 72% 52%, rgba(28,57,78,.42), rgba(28,57,78,0) 42%),
      linear-gradient(90deg, #071726 0%, #061521 40%, #081a2a 100%);
  }
  body.larrysman-page .hero::before {
    inset: 0;
    background:
      linear-gradient(180deg, rgba(0,18,31,.94) 0%, rgba(0,18,31,.82) 38%, rgba(0,18,31,.46) 100%),
      radial-gradient(ellipse at 18% 45%, rgba(19,60,91,.34), rgba(19,60,91,0) 48%);
    filter: none;
    transform: none;
  }
  body.larrysman-page .hero-bg {
    background-position: 68% center;
    filter: saturate(1.04) contrast(1.03) brightness(1.02);
  }
  body.larrysman-page .hero__inner { width: min(100%, 1200px); height: auto; min-height: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0; padding: 38px 14px 30px; }
  body.larrysman-page .hero__inner::after { display: none; }
  body.larrysman-page .hero__content { width: 100%; max-width: none; flex: none; transform: none; }
  body.larrysman-page .hero h1 { max-width: 100%; font-size: 28px; line-height: 1.08; white-space: normal; text-wrap: balance; overflow-wrap: normal; word-break: normal; }
  body.larrysman-page .hero__subtitle { max-width: 42em; margin-top: 14px; font-size: 12px; line-height: 1.5; }
  body.larrysman-page .hero-proof-strip {
    width: min(100%, 430px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 11px;
  }
  body.larrysman-page .hero-proof-strip article { min-height: 0; padding: 0; gap: 7px; }
  body.larrysman-page .hero-proof-strip i { width: 16px; height: 16px; flex-basis: 16px; }
  body.larrysman-page .hero-proof-strip svg { width: 16px; height: 16px; }
  body.larrysman-page .hero-proof-strip span { font-size: 9px; white-space: normal; }
  body.larrysman-page .hero__actions { margin-top: 32px; }
  body.larrysman-page .product-grid, body.larrysman-page .application-grid { grid-template-columns: repeat(2, 1fr); }
  body.larrysman-page .product-image { width: 100%; margin: 0; }
  body.larrysman-page .advantages-grid { height: auto; grid-template-columns: repeat(2, 1fr); }
  body.larrysman-page .advantages-grid article { min-height: 64px; border-bottom: 1px solid var(--line); }
  body.larrysman-page .capability-grid { grid-template-columns: 1fr; }
  body.larrysman-page .catalog-rfq-grid { grid-template-columns: 1fr; }
  body.larrysman-page .factory-strength-layout { grid-template-columns: 1fr; }
  body.larrysman-page .factory-strength-media { height: auto; }
  body.larrysman-page .factory-strength-copy {
    padding: 18px 0 0;
    border-top: 1px solid #cbdce7;
    border-left: 0;
  }
  body.larrysman-page .info-panel, body.larrysman-page .quote-panel { height: auto; min-height: 238px; }
  body.larrysman-page .catalog-list > a { grid-template-columns: 64px 1fr 26px; }
  body.larrysman-page .catalog-cover { width: 58px; height: 72px; }
  body.larrysman-page .dl-card-cover { width: 36%; }
  body.larrysman-page .dl-card-body { left: 36%; padding: 5px 12px 5px 12px; gap: 6px; }
  body.larrysman-page .dl-card-title { font-size: 14px; }
  body.larrysman-page .dl-card-desc { font-size: 11px; }
  body.larrysman-page .dl-card-meta li { gap: 5px; }
  body.larrysman-page .dl-card-meta li svg { width: 26px; height: 26px; }
  body.larrysman-page .dl-meta-text strong { font-size: 12px; }
  body.larrysman-page .dl-meta-text em { font-size: 9px; }
  body.larrysman-page .dl-pages-inner { gap: 8px; }
  body.larrysman-page .dl-pages-inner img { flex: 0 0 calc((100% - 16px) / 3); width: calc((100% - 16px) / 3); }
  body.larrysman-page .dl-card-btn { font-size: 11px; padding: 9px 12px; }
  body.larrysman-page .articles-heading {
    grid-template-columns: 1fr;
    row-gap: 5px;
  }
  body.larrysman-page .articles-heading h2,
  body.larrysman-page .articles-heading p,
  body.larrysman-page .articles-heading > a {
    grid-column: 1;
  }
  body.larrysman-page .articles-heading > a {
    grid-row: auto;
    justify-self: center;
  }
  body.larrysman-page .article-grid { grid-template-columns: 1fr; }
  body.larrysman-page .article-grid article { height: 120px; }
  body.larrysman-page .footer__grid {
    height: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
    row-gap: 24px;
    min-height: 0;
    padding-bottom: 26px;
  }
  body.larrysman-page .footer__column,
  body.larrysman-page .footer-brand,
  body.larrysman-page .footer-contact {
    min-width: 0;
  }
  body.larrysman-page .footer-brand {
    min-height: 262px;
  }
  body.larrysman-page .footer__column--links {
    min-height: 231px;
  }
  body.larrysman-page .footer-contact {
    min-height: 190px;
  }
}

/* ----------------------------------------------------------
   4. @media (max-width: 480px) — Extra-small mobile
   ---------------------------------------------------------- */
@media (max-width: 480px) {
  body.larrysman-page .desktop-only { display: none; }
  body.larrysman-page .hero h1 { max-width: 100%; font-size: 21px; line-height: 1.12; text-wrap: balance; white-space: normal; overflow-wrap: normal; word-break: normal; }
  body.larrysman-page .hero__inner { gap: 0; padding: 34px 14px 26px; }
  body.larrysman-page .hero__subtitle { margin-top: 12px; font-size: 11px; }
  body.larrysman-page .hero__actions { width: 100%; gap: 10px; margin-top: 28px; }
  body.larrysman-page .hero__actions .btn, body.larrysman-page .hero__actions .btn--ghost {
    width: auto;
    flex: 1 1 0;
    min-width: 0;
    min-height: 40px;
    padding: 7px 8px;
    font-size: 8px;
  }
  body.larrysman-page .hero-proof-strip { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; row-gap: 8px; }
  body.larrysman-page .hero-proof-strip article { width: auto; }
  body.larrysman-page .hero-proof-strip i { width: 14px; height: 14px; flex-basis: 14px; }
  body.larrysman-page .hero-proof-strip svg { width: 14px; height: 14px; }
  body.larrysman-page .hero-proof-strip span { font-size: 8px; white-space: normal; }
  body.larrysman-page .application-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(82%, 82%);
    gap: 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    padding-bottom: 6px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  body.larrysman-page .application-grid article {
    width: auto;
    margin: 0;
    scroll-snap-align: start;
  }
  body.larrysman-page .advantages-grid, body.larrysman-page .footer__grid { grid-template-columns: 1fr; }
  body.larrysman-page .advantages-grid article { border-right: 0; }
  body.larrysman-page .factory-grid { min-height: 240px; gap: 12px 6px; }
  body.larrysman-page .factory-strength-panel { min-height: 893px; }
  body.larrysman-page .catalog-list > a { grid-template-columns: 56px 1fr 24px; gap: 10px; }
  body.larrysman-page .catalog-cover { width: 50px; height: 64px; }
  body.larrysman-page .catalog-list strong { font-size: 11px; line-height: 1.18; }
  body.larrysman-page .conversion-section { min-height: 930px; }
  body.larrysman-page .articles-section { min-height: 563px; }
  body.larrysman-page .footer__grid {
    row-gap: 16px;
    padding-top: 20px;
    padding-bottom: 22px;
  }
  body.larrysman-page .footer-brand {
    min-height: 0;
    margin-bottom: 4px;
  }
  body.larrysman-page .footer__column--links,
  body.larrysman-page .footer-contact {
    min-height: 0;
  }
  body.larrysman-page .footer__accordion .contact-list {
    padding-top: 2px;
  }
  body.larrysman-page .footer__bottom { height: auto; padding: 8px 0; }
  body.larrysman-page .footer__bottom .container { height: auto; flex-direction: column; gap: 4px; }
}

/* ----------------------------------------------------------
   5. @media (max-width: 600px) — Small mobile hero adjustments
   ---------------------------------------------------------- */
@media (max-width: 600px) {
  body.larrysman-page .hero h1 { max-width: 100%; font-size: 21px; line-height: 1.12; white-space: normal; overflow-wrap: normal; word-break: normal; }
  body.larrysman-page .hero__actions { width: 100%; gap: 10px; }
  body.larrysman-page .hero__actions .btn,
  body.larrysman-page .hero__actions .btn--ghost {
    width: auto;
    flex: 1 1 0;
    min-width: 0;
  }
}

/* ----------------------------------------------------------
   6. @media (max-width: 768px) — Mobile
   ---------------------------------------------------------- */
@media (max-width: 768px) {
  body.larrysman-page main {
    display: flex;
    flex-direction: column;
  }
  body.larrysman-page .hero { order: 1; }
  body.larrysman-page .advantages-section { order: 2; }
  body.larrysman-page .products-section { order: 3; }
  body.larrysman-page .applications-section { order: 4; }
  body.larrysman-page .capability-section { order: 5; }
  body.larrysman-page .conversion-section { order: 6; }
  body.larrysman-page .articles-section { order: 7; }

  body.larrysman-page .top-bar {
    display: block;
    height: 32px;
    font-size: 10px;
    line-height: 1;
    overflow: hidden;
  }
  body.larrysman-page .top-bar__inner {
    height: 32px;
    display: flex;
    justify-content: stretch;
    gap: 0;
  }
  body.larrysman-page .top-bar__inner > span {
    display: none;
  }
  body.larrysman-page .top-bar__contacts {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-left: 0;
  }
  body.larrysman-page .top-bar__contacts > a {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: rgba(255,255,255,.92);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
  }
  body.larrysman-page .top-contact-icon {
    width: 12px;
    height: 12px;
  }
  body.larrysman-page .main-nav__links {
    top: 88px;
  }

  body.larrysman-page .hero {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: clamp(390px, 62svh, 480px);
    background:
      radial-gradient(ellipse at 20% 24%, rgba(26,82,118,.24), rgba(26,82,118,0) 48%),
      radial-gradient(ellipse at 74% 72%, rgba(22,112,166,.18), rgba(22,112,166,0) 50%),
      linear-gradient(180deg, #071726 0%, #061521 52%, #071726 100%);
  }
  body.larrysman-page .hero::before {
    display: none;
  }
  body.larrysman-page .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    background:
      linear-gradient(180deg, rgba(0,18,31,.98) 0%, rgba(0,18,31,.92) 40%, rgba(0,18,31,.54) 66%, rgba(0,18,31,.22) 100%),
      linear-gradient(90deg, rgba(0,18,31,.96) 0%, rgba(0,18,31,.74) 44%, rgba(0,18,31,.14) 100%);
    pointer-events: none;
  }
  body.larrysman-page .hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: inherit;
    padding: 14px 20px 16px;
    background: transparent;
  }
  body.larrysman-page .hero__content {
    width: 100%;
    max-width: 680px;
    display: flex;
    flex-direction: column;
  }
  body.larrysman-page .hero__content::before {
    content: "";
    order: 0;
    width: 56px;
    height: 6px;
    margin: 0 0 12px;
    border-radius: 999px;
    background: #1f9fda;
    box-shadow: 0 0 22px rgba(31,159,218,.28);
  }
  body.larrysman-page .hero__content::after {
    content: "";
    order: 3;
    width: calc(100% + 40px);
    height: clamp(70px, 18vw, 100px);
    margin: 12px -20px 0;
    border: 0;
    background: transparent;
    pointer-events: none;
  }
  body.larrysman-page .hero h1 {
    order: 1;
    max-width: 13.4em;
    font-size: clamp(26px, 6.7vw, 46px);
    line-height: 1.12;
    letter-spacing: -.018em;
    text-shadow: 0 4px 18px rgba(0,0,0,.36);
  }
  body.larrysman-page .hero h1 br {
    display: initial;
  }
  body.larrysman-page .hero__subtitle br {
    display: none;
  }
  body.larrysman-page .hero__subtitle {
    order: 2;
    max-width: 37ch;
    margin-top: 22px;
    font-size: clamp(14px, 3.6vw, 20px);
    line-height: 1.72;
    color: rgba(255,255,255,.86);
  }
  body.larrysman-page .hero-proof-strip {
    display: none;
  }
  body.larrysman-page .hero-proof-strip article {
    display: grid;
    grid-template-columns: 44px 1fr;
    align-items: center;
    min-height: 52px;
    padding: 11px 0;
    gap: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  body.larrysman-page .hero-proof-strip article + article {
    border-top: 1px solid rgba(255,255,255,.18);
  }
  body.larrysman-page .hero-proof-strip i {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
    color: #1f9fda;
    background: transparent;
  }
  body.larrysman-page .hero-proof-strip svg {
    width: 28px;
    height: 28px;
    stroke-width: 1.75;
  }
  body.larrysman-page .hero-proof-strip span {
    color: rgba(255,255,255,.92);
    font-size: clamp(15px, 4vw, 19px);
    font-weight: 650;
    line-height: 1.25;
    white-space: normal;
    text-shadow: 0 2px 12px rgba(0,0,0,.36);
  }
  body.larrysman-page .hero__actions {
    order: 4;
    width: min(100%, 340px);
    max-width: 340px;
    align-self: center;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 0;
  }
  body.larrysman-page .hero__actions .btn,
  body.larrysman-page .hero__actions .btn--ghost {
    width: 100%;
    min-height: 48px;
    padding: 9px 8px;
    font-size: clamp(10px, 2.8vw, 13px);
    letter-spacing: .045em;
    white-space: nowrap;
  }
  body.larrysman-page .advantages-section {
    padding-top: 14px;
  }
  body.larrysman-page .advantages-mobile-proof {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  body.larrysman-page .advantages-mobile-proof article {
    min-height: 68px;
    display: grid;
    grid-template-columns: 34px 1fr;
    align-items: center;
    padding: 12px 12px 12px 10px;
    border: 1px solid var(--line);
    background: #fff;
  }
  body.larrysman-page .advantages-mobile-proof i {
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    color: var(--navy-2);
    font-style: normal;
  }
  body.larrysman-page .advantages-mobile-proof svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  body.larrysman-page .advantages-mobile-proof span {
    color: #16344a;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
  }
  body.larrysman-page .advantages-grid {
    display: none;
  }

  body.larrysman-page .factory-strength-panel {
    min-height: 0;
    padding: 16px 14px;
  }
  body.larrysman-page .factory-strength-heading {
    margin-bottom: 14px;
  }
  body.larrysman-page .factory-strength-heading h2 {
    font-size: 18px;
  }
  body.larrysman-page .factory-strength-media h3,
  body.larrysman-page .factory-strength-copy h3 {
    margin-bottom: 10px;
    font-size: 13px;
  }
  body.larrysman-page .factory-grid {
    min-height: 0;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(84%, 84%);
    grid-template-columns: none;
    grid-template-rows: none;
    gap: 0 12px;
    overflow-x: auto;
    padding-bottom: 6px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  body.larrysman-page .factory-grid div {
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 6px;
    scroll-snap-align: start;
  }
  body.larrysman-page .factory-image {
    min-height: 0;
    height: clamp(148px, 34vw, 190px);
    aspect-ratio: 1.16 / 1;
  }
  body.larrysman-page .factory-grid strong,
  body.larrysman-page .factory-grid small {
    font-size: 11px;
    line-height: 1.25;
  }

  body.larrysman-page .application-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(84%, 84%);
    gap: 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    padding-bottom: 6px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  body.larrysman-page .application-grid article {
    height: auto;
    min-height: 0;
    margin: 0;
    scroll-snap-align: start;
  }
  body.larrysman-page .application-image,
  body.larrysman-page .application-grid article img {
    height: clamp(138px, 30vw, 176px);
  }
  body.larrysman-page .application-grid h3 {
    margin: 10px 10px 0;
    font-size: 10px;
  }
  body.larrysman-page .application-grid p {
    width: calc(100% - 20px);
    margin: 6px auto 12px;
    font-size: 9px;
    line-height: 1.35;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }

  body.larrysman-page .catalog-rfq-grid {
    display: flex;
    flex-direction: column;
  }
  body.larrysman-page .quote-panel {
    order: 1;
  }
  body.larrysman-page .catalog-panel {
    order: 2;
  }

  body.larrysman-page .footer__grid {
    grid-template-columns: 1fr;
    row-gap: 14px;
    padding-top: 16px;
    padding-bottom: 18px;
  }
  body.larrysman-page .footer__grid > *:nth-child(2) {
    padding-left: 0;
  }
  body.larrysman-page .footer > .container {
    width: calc(100% - 28px);
    max-width: var(--max);
  }
  body.larrysman-page .footer-brand,
  body.larrysman-page .footer__column--links,
  body.larrysman-page .footer-contact {
    min-height: 0;
  }
  body.larrysman-page .footer-brand {
    display: grid;
    justify-items: center;
    margin-bottom: 0;
    text-align: center;
  }
  body.larrysman-page .footer .footer-brand-lockup {
    width: auto;
    margin: 0 0 8px;
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    justify-items: center;
    justify-content: center;
    row-gap: 5px;
    white-space: normal;
  }
  body.larrysman-page .footer .footer-brand-lockup .factory-logo {
    width: 46px;
    height: 46px;
  }
  body.larrysman-page .footer .footer-brand-lockup .brand-wordmark {
    justify-items: center;
    gap: 3px;
  }
  body.larrysman-page .footer .footer-brand-lockup .brand-wordmark strong {
    font-size: 19px;
    letter-spacing: .08em;
  }
  body.larrysman-page .footer .footer-brand-lockup .brand-wordmark small {
    font-size: 7px;
    line-height: 1.2;
    letter-spacing: .11em;
    white-space: nowrap;
  }
  body.larrysman-page .footer-brand-summary {
    display: none;
  }
  body.larrysman-page .footer-brand-positioning {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    color: rgba(255,255,255,.84);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.38;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.larrysman-page .footer-brand-meta {
    justify-items: start;
    gap: 3px;
    margin-top: 10px;
  }
  body.larrysman-page .footer-brand-meta p {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    font-size: 11px;
    line-height: 1.35;
  }
  body.larrysman-page .footer-brand-meta p::before {
    content: "✓";
    color: #b7e5ff;
    font-weight: 900;
  }
  body.larrysman-page .socials {
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
  }
  body.larrysman-page .socials a {
    width: 26px;
    height: 26px;
    font-size: 10px;
  }
  body.larrysman-page .footer__accordion {
    padding-top: 2px;
    border-top: 1px solid rgba(255,255,255,.14);
  }
  body.larrysman-page .footer__toggle {
    position: relative;
    padding: 10px 22px 10px 0;
    cursor: pointer;
  }
  body.larrysman-page .footer__toggle::after {
    content: "";
    position: absolute;
    top: 15px;
    right: 2px;
    width: 8px;
    height: 8px;
    border-right: 2px solid rgba(255,255,255,.72);
    border-bottom: 2px solid rgba(255,255,255,.72);
    transform: rotate(45deg);
    transition: transform .18s ease;
  }
  body.larrysman-page .footer__accordion.is-open .footer__toggle::after {
    transform: rotate(225deg);
  }
  body.larrysman-page .footer__accordion .footer__panel {
    display: none;
    padding-bottom: 4px;
  }
  body.larrysman-page .footer__accordion.is-open .footer__panel {
    display: grid;
  }
}

/* ════════════════════════════════════════════════════════════════════════════
   CPT: Shared page-header / breadcrumb
   ════════════════════════════════════════════════════════════════════════════ */

body.larrysman-page .page-header {
  border-bottom: 1px solid var(--line);
  padding: 14px 0;
}
body.larrysman-page .page-header--after-hero {
  background: #fff;
  padding: 10px 0 0;
}
body.larrysman-page .page-header__title {
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 10px;
}
body.larrysman-page .breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: .83rem;
  color: var(--muted);
}
body.larrysman-page .breadcrumb__list a {
  color: var(--steel);
  text-decoration: none;
}
body.larrysman-page .breadcrumb__list a:hover { color: var(--navy); }
body.larrysman-page .breadcrumb__sep { color: var(--line); }
body.larrysman-page .breadcrumb__list [aria-current="page"] { color: var(--ink); }
body.larrysman-page .article-meta {
  margin-top: 8px;
  font-size: .8rem;
  color: var(--muted);
}

/* ════════════════════════════════════════════════════════════════════════════
   CPT: Shared buttons
   ════════════════════════════════════════════════════════════════════════════ */

body.larrysman-page .btn-accent {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
  white-space: nowrap;
}
body.larrysman-page .btn-accent:hover {
  background: #a07830;
  border-color: #a07830;
  color: #fff;
}
body.larrysman-page .btn-ghost {
  background: transparent;
  color: var(--navy);
  border: 1.5px solid var(--line);
  white-space: nowrap;
}
body.larrysman-page .btn-ghost:hover { border-color: var(--steel); color: var(--ink); }
body.larrysman-page .btn--sm { padding: 6px 16px; font-size: .84rem; }

/* ════════════════════════════════════════════════════════════════════════════
   CPT: Product single
   ════════════════════════════════════════════════════════════════════════════ */

body.larrysman-page .product-single { padding: 48px 0 64px; }
body.larrysman-page .product-layout {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
body.larrysman-page .product-gallery { display: block !important; min-width: 0; }
body.larrysman-page .product-img-wrap {
  display: block !important;
  border-radius: 8px;
  overflow: hidden;
  background: var(--soft);
  border: 1px solid var(--line);
}
body.larrysman-page .product-img { display: block !important; width: 100%; height: auto; object-fit: cover; }
body.larrysman-page .product-img-placeholder {
  aspect-ratio: 4/3;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
}
body.larrysman-page .product-img-placeholder svg { width: 80px; height: 60px; }
body.larrysman-page .product-info { display: flex !important; flex-direction: column; gap: 20px; }
body.larrysman-page .product-info > * { display: block !important; }
body.larrysman-page .product-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.3;
  margin: 0;
}
body.larrysman-page .product-short { display: block !important; color: var(--steel); font-size: 1rem; line-height: 1.7; margin: 0; }
body.larrysman-page .product-tags { display: flex !important; flex-wrap: wrap; gap: 8px; }
body.larrysman-page .product-tag {
  display: inline-block !important;
  padding: 3px 10px;
  border: 1px solid var(--accent);
  border-radius: 20px;
  font-size: .78rem;
  color: var(--accent);
  font-weight: 600;
  letter-spacing: .02em;
}
body.larrysman-page .product-cta { display: flex !important; flex-wrap: wrap; gap: 12px; align-items: center; padding-top: 4px; }
body.larrysman-page .product-cta .btn { font-size: .9rem; padding: 10px 24px; min-height: 44px; }

body.larrysman-page .product-params-section {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid var(--line);
}
body.larrysman-page .product-params-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 20px;
}
body.larrysman-page .product-params { overflow-x: auto; }
body.larrysman-page .params-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
body.larrysman-page .params-table th,
body.larrysman-page .params-table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--line); }
body.larrysman-page .params-table th { width: 36%; font-weight: 600; color: var(--navy); background: var(--soft); }
body.larrysman-page .params-table td { color: var(--ink); }
body.larrysman-page .params-table tbody tr:last-child th,
body.larrysman-page .params-table tbody tr:last-child td { border-bottom: none; }

/* Shared CTA band */
body.larrysman-page .cta-band { background: var(--navy); padding: 40px 0; margin-top: 64px; }
body.larrysman-page .cta-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
body.larrysman-page .cta-band__text h2 { font-size: 1.35rem; font-weight: 700; color: #fff; margin: 0 0 6px; }
body.larrysman-page .cta-band__text p { color: rgba(255,255,255,.72); margin: 0; font-size: .9rem; }

@media (max-width: 900px) {
  body.larrysman-page .product-layout { grid-template-columns: 1fr; gap: 28px; }
  body.larrysman-page .product-single { padding: 28px 0 48px; }
  body.larrysman-page .cta-band__inner { flex-direction: column; align-items: flex-start; }
}

/* ════════════════════════════════════════════════════════════════════════════
   CPT: Article single
   ════════════════════════════════════════════════════════════════════════════ */

body.larrysman-page .article-hero {
  position: relative;
  min-height: 320px;
  background: var(--navy) center / cover no-repeat;
  display: flex;
  align-items: flex-end;
}
body.larrysman-page .article-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,18,31,.3) 0%, rgba(0,18,31,.78) 100%);
}
body.larrysman-page .article-hero__inner { position: relative; z-index: 1; padding: 40px 0 32px; }
body.larrysman-page .article-hero__content { max-width: 760px; }
body.larrysman-page .article-hero__title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px;
  line-height: 1.3;
}
body.larrysman-page .article-hero__excerpt { color: rgba(255,255,255,.82); font-size: 1rem; line-height: 1.65; margin: 0; }

body.larrysman-page .article-single { padding: 40px 0 64px; }
body.larrysman-page .article-layout {
}

body.larrysman-page .entry-content { font-size: 1rem; line-height: 1.8; color: var(--ink); }
body.larrysman-page .entry-content h2 { font-size: 1.35rem; font-weight: 700; color: var(--navy); margin: 2rem 0 .75rem; }
body.larrysman-page .entry-content h3 { font-size: 1.1rem; font-weight: 700; color: var(--navy-2); margin: 1.5rem 0 .6rem; }
body.larrysman-page .entry-content p { margin: 0 0 1.1rem; }
body.larrysman-page .entry-content ul,
body.larrysman-page .entry-content ol { margin: 0 0 1.1rem 1.4rem; padding: 0; }
body.larrysman-page .entry-content li { margin-bottom: .35rem; }
body.larrysman-page .entry-content strong { color: var(--navy); }
body.larrysman-page .entry-content a { color: var(--navy-2); }
body.larrysman-page .entry-content a:hover { color: var(--accent); }
body.larrysman-page .entry-content img { max-width: 100%; height: auto; border-radius: 6px; margin: 1rem 0; }
body.larrysman-page .entry-content figure { margin: 1rem 0; max-width: 100%; }
body.larrysman-page .entry-content figure img { margin: 0; }
body.larrysman-page .entry-content figcaption { font-size: .85rem; color: var(--muted); margin-top: .4rem; text-align: center; }
body.larrysman-page .entry-content .aligncenter,
body.larrysman-page .entry-content figure.aligncenter { display: block; margin-left: auto; margin-right: auto; text-align: center; }
body.larrysman-page .entry-content .alignleft,
body.larrysman-page .entry-content figure.alignleft { float: left; margin: .5rem 1.5rem 1rem 0; }
body.larrysman-page .entry-content .alignright,
body.larrysman-page .entry-content figure.alignright { float: right; margin: .5rem 0 1rem 1.5rem; }
body.larrysman-page .entry-content table { width: 100%; border-collapse: collapse; margin: 1.2rem 0; font-size: .9rem; }
body.larrysman-page .entry-content th,
body.larrysman-page .entry-content td { padding: 8px 12px; border: 1px solid var(--line); text-align: left; }
body.larrysman-page .entry-content th { background: var(--soft); font-weight: 600; color: var(--navy); }

body.larrysman-page .article-footer { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line); }
body.larrysman-page .article-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .9rem;
  color: var(--steel);
  text-decoration: none;
  font-weight: 500;
}
body.larrysman-page .article-back-link:hover { color: var(--navy); }
body.larrysman-page .article-back-link svg {
  width: 16px; height: 16px;
  stroke: currentColor; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}

body.larrysman-page .article-sidebar { display: flex; flex-direction: column; gap: 20px; }
body.larrysman-page .article-sidebar-card {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 20px;
}
body.larrysman-page .article-sidebar-card--contact { background: var(--navy); border-color: var(--navy); }
body.larrysman-page .article-sidebar-card--contact .article-sidebar-title,
body.larrysman-page .article-sidebar-card--contact p { color: rgba(255,255,255,.9); }
body.larrysman-page .article-sidebar-title { font-size: .95rem; font-weight: 700; color: var(--navy); margin: 0 0 10px; }
body.larrysman-page .article-sidebar-card p { font-size: .85rem; line-height: 1.6; color: var(--steel); margin: 0 0 14px; }
body.larrysman-page .article-empty { padding: 40px 0; color: var(--muted); font-style: italic; }

@media (max-width: 900px) {
  body.larrysman-page .article-sidebar { flex-direction: row; flex-wrap: wrap; }
  body.larrysman-page .article-sidebar-card { flex: 1 1 240px; }
  body.larrysman-page .article-hero { min-height: 220px; }
}
@media (max-width: 600px) {
  body.larrysman-page .article-hero { min-height: 160px; }
  body.larrysman-page .article-hero__inner { padding: 28px 0 20px; }
}

/* ── Product body section ────────────────────────────────────────────────── */
body.larrysman-page .product-body-section {
  padding: 48px 0;
  background: var(--soft);
  border-top: 1px solid var(--line);
}
body.larrysman-page .product-body-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--line);
}

/* ── Article index (listing) page ───────────────────────────────────────── */
body.larrysman-page .art-index { padding: 48px 0 72px; }
body.larrysman-page .art-index__header {
  text-align: center;
  margin-bottom: 40px;
}
body.larrysman-page .art-index__header h1 {
  font-size: 2rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 10px;
}
body.larrysman-page .art-index__header p {
  color: var(--muted);
  max-width: 56ch;
  margin: 0 auto;
}
body.larrysman-page .art-index__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
body.larrysman-page .art-index__card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .18s, transform .18s;
}
body.larrysman-page .art-index__card:hover {
  box-shadow: 0 6px 24px rgba(18,50,74,.1);
  transform: translateY(-2px);
}
body.larrysman-page .art-index__card-img {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
body.larrysman-page .art-index__card-img-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
body.larrysman-page .art-index__card-img-placeholder span {
  width: 48px;
  height: 48px;
  opacity: .18;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.larrysman-page .art-index__card-body {
  padding: 20px 22px 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
body.larrysman-page .art-index__card-date {
  font-size: .75rem;
  color: var(--muted);
  margin: 0 0 10px;
}
body.larrysman-page .art-index__card-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.35;
  margin: 0 0 10px;
}
body.larrysman-page .art-index__card-title a {
  color: inherit;
  text-decoration: none;
}
body.larrysman-page .art-index__card-title a:hover { color: var(--accent); }
body.larrysman-page .art-index__card-excerpt {
  font-size: .88rem;
  color: var(--steel);
  line-height: 1.55;
  margin: 0 0 18px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}
body.larrysman-page .art-index__card-link {
  font-size: .8rem;
  font-weight: 700;
  color: var(--accent);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-top: auto;
}
body.larrysman-page .art-index__card-link:hover { opacity: .8; }
body.larrysman-page .art-index__empty {
  text-align: center;
  padding: 60px 0;
  color: var(--muted);
  font-size: 1rem;
  grid-column: 1 / -1;
}
body.larrysman-page .art-index__pagination {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 52px;
  flex-wrap: wrap;
}
body.larrysman-page .art-index__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: .85rem;
  font-weight: 600;
  color: var(--navy);
  text-decoration: none;
  background: var(--panel);
  transition: background .15s, color .15s;
}
body.larrysman-page .art-index__pagination .page-numbers.current,
body.larrysman-page .art-index__pagination .page-numbers:hover {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}
@media (max-width: 1060px) {
  body.larrysman-page .art-index__grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 760px) {
  body.larrysman-page .art-index { padding: 32px 0 56px; }
  body.larrysman-page .art-index__grid { grid-template-columns: 1fr; gap: 16px; }
  body.larrysman-page .art-index__header h1 { font-size: 1.5rem; }
  body.larrysman-page .prod-filter-tabs--strip { flex-wrap: wrap; }
  body.larrysman-page .prod-filter-tabs--strip .prod-tab {
    flex: 0 0 50%;
    border-top-width: 0;
  }
  body.larrysman-page .prod-filter-tabs--strip .prod-tab:nth-child(1),
  body.larrysman-page .prod-filter-tabs--strip .prod-tab:nth-child(2) {
    border-top-width: 1px;
  }
  body.larrysman-page .prod-filter-tabs--strip .prod-tab:nth-child(2n) {
    border-right-width: 1px;
  }
}

/* ── Extra single page ───────────────────────────────────────────────────── */
body.larrysman-page .extra-single { padding: 40px 0 64px; }
body.larrysman-page .extra-cover {
  margin: 0 0 36px;
  border-radius: 10px;
  overflow: hidden;
  max-height: 480px;
  line-height: 0;
}
body.larrysman-page .extra-cover img {
  width: 100%;
  height: auto;
  object-fit: cover;
  max-height: 480px;
}
body.larrysman-page .extra-layout {}
body.larrysman-page .extra-body { max-width: 1280px; width: calc(100% - 64px); }
body.larrysman-page .extra-empty { padding: 40px 0; color: var(--muted); font-style: italic; }

/* ── Floating button ─────────────────────────────────────────────────── */
body.larrysman-page .lrsm-float-btn-wrap {
  position: fixed;
  right: 18px;
  bottom: 100px;
  z-index: 9990;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
body.larrysman-page .lrsm-float-btn {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
  transition: transform .2s;
}
body.larrysman-page .lrsm-float-btn:hover {
  transform: scale(1.06);
}
body.larrysman-page .lrsm-float-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
/* Overlay + chevron shown when panel is open */
body.larrysman-page .lrsm-float-btn-overlay {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(0,0,0,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;
}
body.larrysman-page .lrsm-float-btn-chevron {
  display: block;
  width: 12px;
  height: 12px;
  border-right: 2.5px solid #fff;
  border-bottom: 2.5px solid #fff;
  transform: rotate(45deg);
  margin-top: -5px;
}
body.larrysman-page .lrsm-float-panel {
  display: flex;
  flex-direction: column;
  margin-bottom: 10px;
  width: 200px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(18,50,74,.18);
  overflow: hidden;
  transform-origin: bottom right;
  transform: scale(.85);
  opacity: 0;
  pointer-events: none;
  transition: transform .22s cubic-bezier(.4,0,.2,1), opacity .22s;
}
body.larrysman-page .lrsm-float-panel.is-open {
  transform: scale(1);
  opacity: 1;
  pointer-events: auto;
}
body.larrysman-page .lrsm-float-panel img {
  width: 100%;
  height: auto;
  display: block;
}
body.larrysman-page .lrsm-float-panel img + img {
  border-top: 1px solid var(--line);
}
@media (max-width: 760px) {
  body.larrysman-page .lrsm-float-btn-wrap { right: 16px; bottom: 80px; }
  body.larrysman-page .lrsm-float-panel { width: 160px; }
}

