@layer theme {
  :root, :host { --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji"; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace; --spacing: .25rem; --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }
}
@layer base {
  *, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  ::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }
  html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings, normal); font-variation-settings: var(--default-font-variation-settings, normal); -webkit-tap-highlight-color: transparent; }
  hr { height: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings, normal); font-variation-settings: var(--default-mono-font-variation-settings, normal); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  progress { vertical-align: baseline; }
  summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
  ::placeholder { color: currentcolor; }
  @supports (color: color-mix(in lab, red, red)) {
  ::placeholder { color: color-mix(currentcolor, transparent); }
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit { padding-block: 0px; }
  ::-webkit-datetime-edit-year-field { padding-block: 0px; }
  ::-webkit-datetime-edit-month-field { padding-block: 0px; }
  ::-webkit-datetime-edit-day-field { padding-block: 0px; }
  ::-webkit-datetime-edit-hour-field { padding-block: 0px; }
  ::-webkit-datetime-edit-minute-field { padding-block: 0px; }
  ::-webkit-datetime-edit-second-field { padding-block: 0px; }
  ::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }
  ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }
  ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; }
  ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }
}
@layer components;
@layer utilities {
  .visible { visibility: visible; }
  .absolute { position: absolute; }
  .container { width: 100%; }
  @media (min-width: 40rem) {
  .container { max-width: 40rem; }
}
  @media (min-width: 48rem) {
  .container { max-width: 48rem; }
}
  @media (min-width: 64rem) {
  .container { max-width: 64rem; }
}
  @media (min-width: 80rem) {
  .container { max-width: 80rem; }
}
  @media (min-width: 96rem) {
  .container { max-width: 96rem; }
}
  .mt-1 { margin-top: var(--spacing); }
  .mt-2 { margin-top: calc(var(--spacing) * 2); }
  .block { display: block; }
  .hidden { display: none; }
  .resize { resize: both; }
  .truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
  .pt-141 { padding-top: calc(var(--spacing) * 141); }
}
:root { --font-site: Arial, Helvetica, "Microsoft YaHei", sans-serif; --ink: #112934; --muted: #607078; --teal: #258b8d; --teal-deep: #0e5d68; --aqua: #e6f2f1; --line: #d8e5e3; --sand: #f6f7f2; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { color: var(--ink); font-family: var(--font-site); background: rgb(255, 255, 255); margin: 0px; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.serif { font-family: var(--font-site); }
.container { width: min(1160px, 100% - 48px); margin-inline: auto; }
.eyebrow { color: var(--teal); letter-spacing: 0.16em; text-transform: uppercase; font-size: 12px; font-weight: 700; }
.section-title { letter-spacing: -0.045em; margin: 12px 0px 0px; font-size: clamp(34px, 4.2vw, 58px); font-weight: 500; line-height: 0.98; }
.section-copy { color: var(--muted); font-size: 16px; line-height: 1.7; }
.btn { letter-spacing: 0.1em; text-transform: uppercase; border: 1px solid rgba(0, 0, 0, 0); align-items: center; gap: 10px; min-height: 48px; padding: 0px 22px; font-size: 12px; font-weight: 700; transition: transform 0.2s, background 0.2s, color 0.2s; display: inline-flex; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--teal); color: rgb(255, 255, 255); }
.btn-primary:hover { background: var(--teal-deep); }
.btn-light { color: var(--ink); background: rgb(255, 255, 255); }
.btn-outline { border-color: var(--ink); }
.btn-outline:hover { background: var(--ink); color: rgb(255, 255, 255); }
.arrow { font-size: 17px; line-height: 1; }
@media (prefers-reduced-motion: no-preference) {
  .reveal { animation: 0.8s ease 0s 1 normal both running rise; }
  @keyframes rise { 
  0% { opacity: 0; transform: translateY(18px); }
  100% { opacity: 1; transform: translateY(0px); }
}
}
@media (max-width: 700px) {
  .container { width: min(100% - 32px, 1160px); }
  .section-title { font-size: 38px; }
}
.site-header { z-index: 10; border-bottom: 1px solid var(--line); background: rgb(255, 255, 255); height: 84px; position: relative; }
.header-inner { justify-content: space-between; align-items: center; height: 100%; display: flex; }
.brand { color: var(--ink); align-items: center; gap: 9px; display: flex; }
.brand img { object-fit: contain; }
.brand span { flex-direction: column; gap: 2px; display: flex; }
.brand strong { letter-spacing: 0.12em; font-size: 18px; }
.brand small { letter-spacing: 0.13em; color: rgb(97, 114, 123); font-size: 8px; }
.main-nav { align-items: center; gap: 34px; display: flex; }
.main-nav a, .header-cta { color: rgb(36, 62, 72); font-size: 12px; }
.main-nav a:hover { color: var(--teal); }
.header-cta { background: var(--ink); color: rgb(255, 255, 255); align-items: center; gap: 12px; padding: 13px 17px; display: flex; }
.menu-toggle, .mobile-contact { display: none; }
.hero { background: rgb(242, 246, 244); position: relative; overflow: hidden; }
.hero-content { z-index: 1; grid-template-columns: 1fr 1fr; align-items: center; height: min(690px, -84px + 100vh); min-height: 590px; display: grid; position: relative; }
.hero-copy { max-width: 520px; padding-bottom: 18px; }
.hero-copy h1 { letter-spacing: -0.055em; margin: 26px 0px 24px; font-size: clamp(62px, 7vw, 94px); font-weight: 400; line-height: 0.91; }
.hero-copy h1 em, .section-title i, .cta h2 i, .contact-intro h1 i { color: var(--teal); font-style: normal; font-weight: 400; }
.hero-copy > p { color: rgb(89, 108, 115); max-width: 470px; margin: 0px 0px 28px; font-size: 16px; line-height: 1.72; }
.hero-actions { gap: 12px; display: flex; }
.hero-visual { background-image: url("../images/manufacturing-partner.jpg"); background-position: 50% 55%; background-size: cover; align-self: stretch; min-height: 440px; margin: 0px -140px 0px 20px; position: relative; }
.hero-visual::after { content: ""; background: linear-gradient(90deg, rgba(242, 246, 244, 0) 50%, rgba(16, 40, 49, 0.098)); position: absolute; inset: 0px; }
.hero-note { z-index: 1; background: rgb(255, 255, 255); align-items: flex-start; gap: 19px; padding: 22px 26px; display: flex; position: absolute; bottom: 112px; left: -35px; box-shadow: rgba(29, 60, 61, 0.094) 0px 18px 50px; }
.hero-note span { color: var(--teal); font-size: 12px; }
.hero-note strong { font-family: var(--font-site); font-size: 22px; font-weight: 400; line-height: 1.1; }
.hero-image-label { z-index: 1; color: rgb(255, 255, 255); letter-spacing: 0.13em; text-shadow: rgba(16, 40, 49, 0.5) 0px 1px 8px; font-size: 10px; font-weight: 700; position: absolute; bottom: 28px; right: 150px; }
.hero-bottom { color: rgb(94, 112, 119); letter-spacing: 0.08em; text-transform: uppercase; border-top: 1px solid rgb(220, 231, 228); justify-content: space-between; align-items: center; height: 74px; font-size: 11px; display: flex; }
.intro-band { padding: 105px 0px 112px; }
.intro-grid { grid-template-columns: 1fr 0.8fr; align-items: end; gap: 100px; display: grid; }
.intro-grid .section-copy { max-width: 430px; margin-bottom: 3px; }
.intro-grid .section-copy p { margin: 0px 0px 19px; }
.text-link { border-bottom: 1px solid var(--ink); align-items: center; gap: 18px; padding-bottom: 9px; font-size: 12px; font-weight: 700; display: inline-flex; }
.text-link span { color: var(--teal); font-size: 17px; }
.animal-focus { background: rgb(233, 242, 239); padding: 100px 0px 110px; }
.section-head { justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 44px; display: flex; }
.section-head > .section-copy { max-width: 380px; margin: 0px 0px 2px; }
.focus-grid { grid-template-columns: 1fr 1fr; gap: 20px; display: grid; }
.focus-card { color: rgb(255, 255, 255); background-position: center center; background-size: cover; justify-content: space-between; align-items: flex-end; height: 350px; padding: 31px; display: flex; position: relative; overflow: hidden; }
.focus-card::before { content: ""; background: linear-gradient(0deg, rgba(16, 40, 49, 0.85) 0%, rgba(16, 40, 49, 0) 80%); transition: opacity 0.3s; position: absolute; inset: 0px; }
.focus-card:hover::before { opacity: 0.8; }
.focus-card > * { z-index: 1; position: relative; }
.focus-card > div > span { letter-spacing: 0.14em; font-size: 10px; }
.focus-card h3 { font: 400 38px/1.02 var(--font-site); margin: 14px 0px 8px; }
.focus-card p { color: rgb(231, 239, 236); margin: 0px; font-size: 13px; }
.focus-card > svg { margin-bottom: 4px; }
.veterinary { background-image: url("../images/facility.webp"); }
.pet { background-image: url("../images/pet-health-hero.webp"); background-position: 50% 43%; }
.portfolio { padding: 110px 0px 120px; }
.category-list { border-top: 1px solid var(--line); }
.category-row { border-bottom: 1px solid var(--line); grid-template-columns: 72px 1fr auto; align-items: center; gap: 20px; padding: 23px 4px; transition: padding 0.2s, color 0.2s; display: grid; }
.category-row:hover { color: var(--teal); padding-inline: 12px; }
.category-number { color: var(--teal); font-size: 11px; }
.category-row h3 { font: 400 24px var(--font-site); margin: 0px 0px 5px; }
.category-row p { color: var(--muted); margin: 0px; font-size: 13px; }
.pet-showcase { background: rgb(243, 245, 239); padding: 110px 0px; }
.pet-grid { grid-template-columns: 0.78fr 1.22fr; align-items: center; gap: 75px; display: grid; }
.pet-copy .section-copy { max-width: 420px; margin: 22px 0px; }
.pet-stats { gap: 50px; margin: 31px 0px; display: flex; }
.pet-stats > div { flex-direction: column; gap: 5px; display: flex; }
.pet-stats strong { font: 400 34px var(--font-site); color: var(--teal); }
.pet-stats span { color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; font-size: 11px; }
.pet-products { grid-template-columns: 1fr 1fr; gap: 25px 17px; display: grid; }
.pet-product { grid-template-columns: 135px 1fr; align-items: center; gap: 13px; display: grid; }
.pet-product-image { background: rgb(255, 255, 255); height: 145px; position: relative; overflow: hidden; }
.pet-product-image img { object-fit: contain; padding: 12px; transition: transform 0.3s; }
.pet-product:hover img { transform: scale(1.05); }
.pet-product > div:last-child span, .product-card-copy > span { color: var(--teal); text-transform: uppercase; letter-spacing: 0.08em; font-size: 9px; }
.pet-product h3 { font: 400 17px/1.13 var(--font-site); margin: 7px 0px; }
.pet-product small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.capability { padding: 110px 0px; }
.capability-grid { grid-template-columns: 1fr 1fr; align-items: center; gap: 75px; display: grid; }
.capability-image { aspect-ratio: 1.12 / 1; position: relative; overflow: hidden; }
.capability-image img { object-fit: cover; }
.capability-copy .section-copy { max-width: 450px; margin: 23px 0px; }
.capability-points { flex-direction: column; gap: 15px; margin: 30px 0px; display: flex; }
.capability-points div { font: 17px var(--font-site); color: rgb(47, 81, 89); align-items: center; gap: 14px; display: flex; }
.capability-points svg { color: var(--teal); stroke-width: 1.5px; }
.process { background: rgb(234, 242, 240); padding: 100px 0px 112px; }
.process-grid { border-top: 1px solid rgb(185, 210, 207); grid-template-columns: repeat(6, 1fr); display: grid; }
.process-step { border-right: 1px solid rgb(185, 210, 207); grid-template-columns: 1fr auto; align-content: space-between; min-height: 145px; padding: 18px 13px; display: grid; }
.process-step:first-child { border-left: 1px solid rgb(185, 210, 207); }
.process-step > span { color: var(--teal); font-size: 11px; }
.process-step > svg { color: var(--teal); }
.process-step h3 { font: 400 17px/1.2 var(--font-site); grid-column: 1 / 3; align-self: end; max-width: 130px; margin: 0px; }
.cta { background: var(--teal-deep); color: rgb(255, 255, 255); padding: 84px 0px; }
.cta .eyebrow { color: rgb(159, 212, 202); }
.cta-inner { justify-content: space-between; align-items: center; display: flex; }
.cta h2 { margin: 15px 0px 0px; font-size: 57px; font-weight: 400; line-height: 0.98; }
.cta h2 i { color: rgb(162, 216, 207); }
.site-footer { color: rgb(255, 255, 255); background: rgb(16, 40, 49); padding: 55px 0px 20px; }
.footer-top { justify-content: space-between; padding-bottom: 50px; display: flex; }
.footer-brand { color: rgb(255, 255, 255); }
.footer-brand small { color: rgb(162, 179, 183); }
.footer-top > div:first-child > p { font: normal 19px var(--font-site); color: rgb(138, 193, 184); margin-top: 20px; }
.footer-links { gap: 90px; display: flex; }
.footer-links > div { flex-direction: column; gap: 13px; display: flex; }
.footer-links span { text-transform: uppercase; letter-spacing: 0.13em; color: rgb(138, 193, 184); margin-bottom: 6px; font-size: 10px; }
.footer-links a { color: rgb(224, 231, 229); font-size: 12px; }
.footer-bottom { color: rgb(167, 182, 185); border-top: 1px solid rgba(255, 255, 255, 0.145); justify-content: space-between; padding-top: 16px; font-size: 10px; display: flex; }
.page-hero { background: rgb(240, 245, 242); padding: 88px 0px 68px; }
.page-hero h1 { letter-spacing: -0.05em; margin: 22px 0px; font-size: clamp(58px, 8vw, 94px); font-weight: 400; line-height: 0.95; }
.page-hero h1 i { color: var(--teal); font-weight: 400; }
.page-hero p { max-width: 660px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.page-hero-links { flex-wrap: wrap; gap: 8px 22px; margin-top: 32px; display: flex; }
.page-hero-links a { border-bottom: 1px solid var(--line); align-items: center; gap: 5px; padding: 9px 0px; font-size: 12px; display: flex; }
.catalog-section { padding-top: 62px; padding-bottom: 90px; }
.product-search { border-bottom: 1px solid var(--line); min-height: 58px; color: var(--teal); align-items: center; gap: 12px; margin: 20px 0px 30px; display: flex; }
.product-search input { min-width: 0px; color: var(--ink); background: none; border: 0px; outline: 0px; flex: 1 1 0%; font-size: 14px; }
.product-search input::placeholder { color: rgb(131, 145, 150); }
.product-search > span { color: var(--muted); font-size: 11px; }
.product-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 33px 20px; display: grid; }
.product-card { border-bottom: 1px solid var(--line); padding-bottom: 15px; }
.product-card-image { background: rgb(245, 247, 243); height: 240px; position: relative; overflow: hidden; }
.product-card-image img { object-fit: contain; padding: 17px; transition: transform 0.3s; }
.product-card:hover .product-card-image img { transform: scale(1.05); }
.product-initial { height: 100%; font: 90px var(--font-site); color: rgb(134, 184, 176); background: linear-gradient(140deg, rgb(228, 239, 237), rgb(245, 246, 241)); place-items: center; display: grid; }
.product-card-copy { padding-top: 14px; }
.product-card-copy h2 { font: 400 21px/1.15 var(--font-site); margin: 8px 0px; }
.product-card-copy p { color: var(--muted); margin: 0px 0px 15px; font-size: 11px; }
.product-card-copy > div { text-transform: uppercase; letter-spacing: 0.06em; color: var(--teal); align-items: center; gap: 7px; font-size: 10px; display: flex; }
.empty-state { color: var(--muted); padding: 40px 0px; }
.catalog-cta { background: rgb(234, 242, 240); padding: 32px 0px; }
.catalog-cta > .container { justify-content: space-between; align-items: center; display: flex; }
.catalog-cta h2 { font: 400 26px var(--font-site); margin: 0px 0px 7px; }
.catalog-cta p { color: var(--muted); margin: 0px; font-size: 13px; }
.category-hero { padding: 55px 0px 72px; }
.back-link { color: var(--muted); align-items: center; gap: 8px; margin-bottom: 32px; font-size: 12px; display: inline-flex; }
.category-hero .back-link { display: flex; }
.category-hero h1 { font-size: clamp(48px, 6vw, 76px); }
.category-empty { max-width: 600px; padding: 30px 0px; }
.category-empty h2 { margin: 14px 0px; font-size: 42px; font-weight: 400; }
.category-empty p { color: var(--muted); max-width: 500px; margin-bottom: 28px; line-height: 1.7; }
.detail-page { padding: 38px 0px 100px; }
.detail-grid { grid-template-columns: 1.1fr 0.9fr; align-items: start; gap: 70px; padding-top: 20px; display: grid; }
.detail-image { aspect-ratio: 1.15 / 1; background: rgb(244, 246, 242); margin-bottom: 30px; position: relative; }
.detail-image img { object-fit: contain; padding: 35px; }
.detail-info h1 { margin: 12px 0px 18px; font-size: clamp(42px, 5vw, 64px); font-weight: 400; line-height: 0.98; }
.spec-list { border-top: 1px solid var(--line); margin: 30px 0px; }
.spec-list div { border-bottom: 1px solid var(--line); grid-template-columns: 170px 1fr; gap: 15px; padding: 14px 0px; font-size: 13px; display: grid; }
.spec-list dt { color: var(--muted); }
.spec-list dd { margin: 0px; }
.detail-note { color: var(--muted); align-items: flex-start; gap: 9px; font-size: 12px; line-height: 1.5; display: flex; }
.detail-note svg { color: var(--teal); flex: 0 0 auto; }
.detail-inquiry { background: rgb(242, 246, 243); padding: 28px; }
.detail-inquiry h2 { font: 400 31px var(--font-site); margin: 12px 0px; }
.detail-inquiry > p { color: var(--muted); margin: 0px 0px 25px; font-size: 13px; line-height: 1.6; }
.inquiry-form { flex-direction: column; gap: 15px; display: flex; }
.inquiry-form label { color: rgb(66, 89, 98); flex-direction: column; gap: 7px; font-size: 11px; display: flex; }
.inquiry-form input, .inquiry-form textarea, .inquiry-form select { border: 1px solid var(--line); width: 100%; color: var(--ink); outline-color: var(--teal); background: rgb(255, 255, 255); border-radius: 0px; padding: 12px; font-size: 13px; }
.inquiry-form textarea { resize: vertical; }
.inquiry-form button { cursor: pointer; width: max-content; }
.inquiry-form > small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.form-confirmation { border-left: 3px solid var(--teal); background: rgb(255, 255, 255); padding: 22px; }
.form-confirmation p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.form-confirmation button { border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--teal); color: var(--teal); cursor: pointer; background: none; padding: 4px 0px; }
.contact-page { background: rgb(243, 246, 243); padding: 85px 0px 100px; }
.contact-grid { grid-template-columns: 0.9fr 1fr; gap: 100px; display: grid; }
.contact-intro h1 { margin: 22px 0px; font-size: clamp(54px, 6vw, 76px); font-weight: 400; line-height: 0.95; }
.contact-intro > p { max-width: 440px; color: var(--muted); line-height: 1.7; }
.contact-details { flex-direction: column; gap: 22px; margin-top: 45px; display: flex; }
.contact-details > div { flex-direction: column; gap: 7px; display: flex; }
.contact-details span { color: var(--teal); letter-spacing: 0.12em; text-transform: uppercase; font-size: 10px; font-weight: 700; }
.contact-details a, .contact-details p { color: rgb(52, 78, 86); max-width: 370px; margin: 0px; font-size: 13px; line-height: 1.6; }
.contact-form-panel { background: rgb(255, 255, 255); padding: 35px; }
.contact-form-panel > .eyebrow { margin-bottom: 24px; }
@media (max-width: 950px) {
  .main-nav { gap: 18px; }
  .hero-visual { margin-right: -120px; }
  .hero-copy h1 { font-size: 72px; }
  .pet-grid, .capability-grid { gap: 35px; }
  .pet-product { grid-template-columns: 110px 1fr; }
  .pet-product-image { height: 130px; }
  .process-grid { grid-template-columns: repeat(3, 1fr); row-gap: 0px; }
  .process-step:nth-child(4) { border-left: 1px solid rgb(185, 210, 207); }
  .product-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .contact-grid { gap: 45px; }
}
@media (max-width: 700px) {
  .site-header { height: 72px; }
  .brand img { width: 36px; height: 36px; }
  .brand strong { font-size: 16px; }
  .main-nav { border-bottom: 1px solid var(--line); background: rgb(255, 255, 255); flex-direction: column; align-items: stretch; gap: 0px; padding: 12px 24px 22px; display: none; position: absolute; top: 72px; left: 0px; right: 0px; }
  .main-nav.is-open { display: flex; }
  .main-nav > a { border-bottom: 1px solid var(--line); padding: 14px 0px; font-size: 14px; }
  .mobile-contact { justify-content: space-between; align-items: center; color: var(--teal) !important; display: flex !important; }
  .header-cta { margin-left: auto; margin-right: 12px; padding: 10px 12px; font-size: 10px; }
  .menu-toggle { color: var(--ink); background: none; border: 0px; place-items: center; width: 42px; height: 42px; display: grid; }
  .hero-content { flex-direction: column; align-items: stretch; gap: 38px; height: auto; min-height: 0px; padding-top: 65px; display: flex; }
  .hero-copy { padding: 0px; }
  .hero-copy .eyebrow { letter-spacing: 0.12em; font-size: 9px; }
  .hero-copy h1 { margin: 21px 0px 17px; font-size: 58px; }
  .hero-copy > p { margin-bottom: 20px; font-size: 14px; }
  .hero-actions { gap: 8px; }
  .btn { min-height: 45px; padding: 0px 14px; font-size: 10px; }
  .hero-visual { background-position: center center; height: 320px; min-height: 0px; margin: 0px -16px; }
  .hero-note { padding: 14px 18px; bottom: 35px; left: 16px; }
  .hero-note strong { font-size: 18px; }
  .hero-image-label { font-size: 8px; bottom: 15px; right: 14px; }
  .hero-bottom { flex-direction: column; align-items: flex-start; gap: 9px; height: auto; padding: 15px 0px; font-size: 9px; }
  .intro-band, .animal-focus, .portfolio, .pet-showcase, .capability, .process { padding: 70px 0px; }
  .intro-grid { grid-template-columns: 1fr; gap: 22px; }
  .intro-grid .section-title { font-size: 40px; }
  .intro-grid .section-copy { font-size: 14px; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 28px; }
  .section-head > .section-copy { font-size: 14px; }
  .focus-grid { grid-template-columns: 1fr; gap: 12px; }
  .focus-card { height: 280px; padding: 22px; }
  .focus-card h3 { font-size: 31px; }
  .category-row { grid-template-columns: 35px 1fr auto; gap: 8px; padding: 18px 0px; }
  .category-row h3 { font-size: 20px; }
  .category-row p { font-size: 11px; line-height: 1.45; }
  .pet-grid, .capability-grid { grid-template-columns: 1fr; gap: 35px; }
  .pet-copy .section-title { font-size: 39px; }
  .pet-stats { margin: 23px 0px; }
  .pet-products { gap: 14px 10px; }
  .pet-product { display: block; }
  .pet-product-image { height: 145px; }
  .pet-product h3 { font-size: 15px; }
  .pet-product small { font-size: 9px; }
  .pet-product > div:last-child { padding-top: 10px; }
  .capability-image { aspect-ratio: 1.2 / 1; }
  .capability-points { gap: 13px; }
  .capability-points div { font-size: 15px; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .process-step { min-height: 120px; padding: 14px 10px; }
  .process-step:nth-child(3), .process-step:nth-child(5) { border-left: 1px solid rgb(185, 210, 207); }
  .process-step h3 { font-size: 15px; }
  .cta { padding: 60px 0px; }
  .cta-inner { flex-direction: column; align-items: flex-start; gap: 26px; }
  .cta h2 { font-size: 43px; }
  .footer-top { flex-direction: column; gap: 33px; padding-bottom: 30px; }
  .footer-links { flex-wrap: wrap; gap: 28px; }
  .footer-links > div { min-width: 145px; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .page-hero { padding: 60px 0px 45px; }
  .page-hero h1 { font-size: 59px; }
  .page-hero p { font-size: 14px; }
  .page-hero-links { gap: 7px 14px; }
  .page-hero-links a { font-size: 10px; }
  .catalog-section { padding-top: 42px; padding-bottom: 60px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px 12px; }
  .product-card-image { height: 180px; }
  .product-initial { font-size: 62px; }
  .product-card-copy h2 { font-size: 17px; }
  .catalog-cta > .container { flex-direction: column; align-items: flex-start; gap: 18px; }
  .detail-page { padding-top: 25px; }
  .detail-grid { grid-template-columns: 1fr; gap: 28px; }
  .detail-image { aspect-ratio: 1.1 / 1; margin-bottom: 23px; }
  .detail-info h1 { font-size: 44px; }
  .detail-inquiry { padding: 22px; }
  .spec-list div { grid-template-columns: 115px 1fr; font-size: 11px; }
  .category-hero { padding: 38px 0px 48px; }
  .category-hero .back-link { margin-bottom: 24px; }
  .category-hero h1 { font-size: 46px; }
  .contact-page { padding: 58px 0px; }
  .contact-grid { grid-template-columns: 1fr; gap: 35px; }
  .contact-intro h1 { font-size: 54px; }
  .contact-details { gap: 16px; margin-top: 30px; }
  .contact-form-panel { padding: 22px; }
}
.service-sections { padding: 85px 0px; }
.service-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; display: grid; }
.service-grid article { border-top: 1px solid var(--line); padding-top: 17px; }
.service-grid article > span { color: var(--teal); font-size: 11px; }
.service-grid h2 { margin: 26px 0px 13px; font-size: 30px; font-weight: 400; line-height: 1.04; }
.service-grid p, .sample-note p { color: var(--muted); max-width: 310px; font-size: 14px; line-height: 1.7; }
.service-process { padding-top: 85px; }
.sample-note { padding: 70px 0px; }
.sample-note > .container { grid-template-columns: 1fr 1fr; align-items: end; gap: 80px; display: grid; }
.sample-note h2 { margin: 15px 0px 0px; font-size: 44px; font-weight: 400; }
.sample-note p { margin: 0px; }
.quality-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; padding-top: 85px; padding-bottom: 95px; display: grid; }
.quality-grid article { border-top: 1px solid var(--line); padding-top: 20px; }
.quality-grid svg { color: var(--teal); stroke-width: 1.5px; }
.quality-grid h2 { margin: 28px 0px 12px; font-size: 29px; font-weight: 400; }
.quality-grid p { color: var(--muted); font-size: 14px; line-height: 1.7; }
.document-band { background: rgb(234, 242, 240); padding: 75px 0px; }
.document-band > .container { justify-content: space-between; align-items: end; gap: 30px; display: flex; }
.document-band h2 { margin: 14px 0px; font-size: 50px; font-weight: 400; line-height: 0.98; }
.document-band p { max-width: 430px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.quality-note { padding: 55px 0px; }
.quality-note > .container { justify-content: space-between; align-items: center; gap: 40px; display: flex; }
.quality-note p { max-width: 610px; color: var(--muted); margin: 0px; font-size: 12px; line-height: 1.7; }
.about-story { padding: 90px 0px; }
.about-grid { grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; display: grid; }
.about-grid > img { aspect-ratio: 1.3 / 1; object-fit: cover; width: 100%; height: auto; }
.about-grid .section-copy { font-size: 14px; }
.about-metrics { background: var(--teal-deep); color: rgb(255, 255, 255); padding: 50px 0px; }
.metric-row { grid-template-columns: repeat(4, 1fr); gap: 20px; display: grid; }
.metric-row > div { flex-direction: column; gap: 8px; display: flex; }
.metric-row strong { font: 400 44px var(--font-site); color: rgb(159, 212, 202); }
.metric-row span { text-transform: uppercase; letter-spacing: 0.1em; color: rgb(216, 232, 228); font-size: 10px; }
.resource-list { padding-top: 65px; padding-bottom: 110px; }
.resource-row { border-bottom: 1px solid var(--line); padding: 28px 0px; display: block; }
.resource-row > span { letter-spacing: 0.13em; color: var(--teal); text-transform: uppercase; font-size: 10px; }
.resource-row h2 { justify-content: space-between; align-items: center; gap: 15px; margin: 15px 0px 9px; font-size: 33px; font-weight: 400; display: flex; }
.resource-row h2 svg { color: var(--teal); flex: 0 0 auto; }
.resource-row p { color: var(--muted); margin: 0px; font-size: 13px; }
.resource-row:hover h2 { color: var(--teal); }
@media (max-width: 700px) {
  .service-sections { padding: 60px 0px; }
  .service-grid { grid-template-columns: 1fr; gap: 38px; }
  .service-grid h2 { font-size: 27px; }
  .sample-note > .container, .quality-note > .container { grid-template-columns: 1fr; gap: 22px; display: grid; }
  .sample-note h2 { font-size: 38px; }
  .quality-grid { grid-template-columns: 1fr; gap: 36px; padding-top: 60px; padding-bottom: 65px; }
  .document-band { padding: 55px 0px; }
  .document-band > .container { flex-direction: column; align-items: flex-start; }
  .document-band h2 { font-size: 42px; }
  .quality-note { padding: 45px 0px; }
  .about-story { padding: 60px 0px; }
  .about-grid { grid-template-columns: 1fr; gap: 35px; }
  .metric-row { grid-template-columns: 1fr 1fr; gap: 28px; }
  .metric-row strong { font-size: 37px; }
  .resource-list { padding-top: 40px; }
  .resource-row h2 { font-size: 26px; }
}
.home-header { backdrop-filter: blur(14px); background: rgba(255, 255, 255, 0.93); border-color: rgba(255, 255, 255, 0.25); position: absolute; inset: 0px 0px auto; }
.hero { color: rgb(255, 255, 255); background: rgb(22, 60, 70); }
.hero-content { align-items: center; height: min(820px, 100svh); min-height: 680px; padding-top: 84px; display: flex; }
.hero-copy { z-index: 2; max-width: 650px; padding: 0px 0px 20px; position: relative; }
.hero-copy h1 { font-family: var(--font-site); letter-spacing: -0.045em; margin: 0px 0px 26px; font-size: clamp(54px, 5.5vw, 78px); font-weight: 500; line-height: 1.06; }
.hero-copy h1 em { color: rgb(169, 225, 209); font-style: normal; }
.hero-copy > p { color: rgb(226, 238, 237); max-width: 510px; line-height: 1.8; }
.hero-visual { z-index: 0; background-image: url("../images/laboratory.webp"); background-position: center center; min-height: 0px; margin: 0px; position: absolute; inset: 0px calc(-50vw + (0.5 * min(1160px, -48px + 100vw))); }
.hero-visual::after { background: linear-gradient(90deg, rgba(16, 46, 59, 0.9) 0%, rgba(20, 56, 69, 0.74) 38%, rgba(22, 66, 75, 0.196) 72%, rgba(22, 66, 75, 0.063) 100%); }
.hero-note { display: none; }
.hero-image-label { color: rgb(240, 247, 245); font-size: 9px; bottom: 90px; right: 5%; }
.hero-bottom { z-index: 2; color: rgb(218, 232, 230); border-color: rgba(255, 255, 255, 0.25); margin-top: -74px; position: relative; }
.hero .btn-primary { background: rgb(43, 146, 145); }
.hero .btn-light { color: rgb(255, 255, 255); background: none; border-color: rgba(255, 255, 255, 0.6); }
.hero .btn-light:hover { color: var(--ink); background: rgb(255, 255, 255); }
.nav-products { position: relative; }
.nav-product-trigger { align-items: center; gap: 3px; display: flex; }
.nav-product-trigger button { color: inherit; cursor: pointer; background: none; border: 0px; place-items: center; width: 28px; height: 36px; display: grid; }
.main-nav [aria-current="page"] { color: var(--teal); }
.product-dropdown { border: 1px solid var(--line); background: rgb(255, 255, 255); min-width: 295px; padding: 12px 22px; position: absolute; top: calc(100% + 20px); left: -22px; box-shadow: rgba(16, 40, 49, 0.133) 0px 16px 40px; }
.product-dropdown a { border-bottom: 1px solid var(--line); justify-content: space-between; align-items: center; gap: 18px; padding: 15px 0px; display: flex; }
.product-dropdown a:last-child { border: 0px; }
.specification-catalog { border-top: 1px solid var(--line); margin-top: 30px; }
.specification-heading, .specification-row { border-bottom: 1px solid var(--line); grid-template-columns: 2fr 1.2fr 0.65fr 24px; align-items: center; gap: 24px; padding: 22px 14px; display: grid; }
.specification-heading { color: var(--muted); text-transform: uppercase; letter-spacing: 0.09em; background: rgb(241, 246, 243); font-size: 10px; }
.specification-row h2 { font: 400 23px/1.2 var(--font-site); margin: 0px; }
.specification-row > span { color: var(--muted); font-size: 13px; }
.specification-row strong { font-size: 15px; font-weight: 500; }
.specification-row svg { color: var(--teal); }
.specification-row:hover { background: rgb(244, 248, 245); }
.specification-row:hover h2 { color: var(--teal); }
:focus-visible { outline: 2px solid var(--teal); outline-offset: 4px; }
.product-search:focus-within { border-color: var(--teal); }
.service-options { margin: 24px 0px 32px; padding: 0px; list-style: none; }
.service-options li { border-bottom: 1px solid var(--line); color: rgb(54, 88, 97); padding: 14px 0px; font-size: 14px; }
.service-options li::before { content: "↗"; color: var(--teal); margin-right: 14px; }
@media (max-width: 950px) {
  .main-nav { gap: 15px; }
  .hero-copy h1 { font-size: 65px; }
}
@media (max-width: 700px) {
  .hero-content { justify-content: center; gap: 0px; height: 90svh; min-height: 680px; padding-top: 100px; display: flex; }
  .hero-copy { max-width: 100%; padding-bottom: 20px; }
  .hero-copy h1 { margin: 0px 0px 22px; font-size: 49px; line-height: 1.06; }
  .hero-copy > p { max-width: 340px; font-size: 14px; }
  .hero-visual { background-position: 62% center; height: auto; margin: 0px; inset: 0px -16px; }
  .hero-visual::after { background: linear-gradient(90deg, rgba(16, 46, 59, 0.91), rgba(20, 56, 69, 0.61)); }
  .hero-image-label { display: none; }
  .hero-bottom { flex-flow: wrap; align-items: center; gap: 6px 16px; height: 74px; padding: 12px 0px; font-size: 8px; }
  .hero-bottom span:first-child { width: 100%; }
  .nav-product-trigger { border-bottom: 1px solid var(--line); justify-content: space-between; }
  .nav-product-trigger > a { padding: 14px 0px; font-size: 14px; }
  .nav-product-trigger button { width: 44px; height: 44px; }
  .product-dropdown { box-shadow: none; background: rgb(244, 248, 245); border: 0px; min-width: 0px; padding: 0px 0px 4px 14px; position: static; }
  .product-dropdown a { padding: 13px 10px; font-size: 12px; }
  .specification-heading { display: none; }
  .specification-row { grid-template-columns: 1fr auto; gap: 9px 15px; padding: 22px 4px; }
  .specification-row h2 { grid-column: 1; font-size: 22px; }
  .specification-row > span { grid-column: 1; font-size: 12px; }
  .specification-row strong { color: var(--teal); grid-column: 1; font-size: 14px; }
  .specification-row svg { grid-area: 1 / 2 / 4; }
  .pet { background-position: 60% center; }
  .product-search > span { white-space: nowrap; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, ::before, ::after { transition: none !important; animation: auto ease 0s 1 normal none running none !important; }
}
i, em { font-style: normal; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-site); }
.hero-copy h1, .page-hero h1, .contact-intro h1, .detail-info h1, .section-title, .intro-grid .section-title, .pet-copy .section-title, .cta h2, .category-empty h2, .document-band h2, .sample-note h2 { letter-spacing: -0.025em; font-weight: 600; line-height: 1.12; }
h1 i, h1 em, h2 i, h2 em { font-weight: inherit; }
.focus-card h3, .category-row h3, .pet-product h3, .product-card-copy h2, .process-step h3, .service-grid h2, .quality-grid h2, .detail-inquiry h2, .resource-row h2, .specification-row h2, .catalog-cta h2 { letter-spacing: -0.015em; font-weight: 600; line-height: 1.25; }
:root { --ink: #303633; --muted: #717873; --teal: #29963d; --teal-deep: #19782d; --line: #e0e7df; --aqua: #eef7ef; }
body { color: var(--ink); }
main * { min-width: 0px; }
.site-header > .header-inner { width: 100%; max-width: none; margin-inline: 0px; }
.site-header.navigation-open { color: var(--ink); background: rgb(255, 255, 255) !important; }
.site-header.navigation-open .header-cta, .site-header.navigation-open .menu-toggle { color: var(--ink); }
.contact-grid > *, .detail-grid > *, .about-grid > *, .sample-note > .container > *, .catalog-cta > .container > * { min-width: 0px; max-width: 100%; }
.container { width: min(1240px, 85%); }
h1, h2, h3, h4, h5, h6 { white-space: nowrap; min-width: 0px; max-width: 100%; font-family: var(--font-site); font-style: normal; display: block; letter-spacing: 0px !important; line-height: 1.3 !important; }
h1 *, h2 *, h3 * { font-family: inherit; font-style: normal !important; font-weight: inherit !important; }
.heading { font-family: var(--font-site); }
.section-title { font-size: 34px; font-weight: 500; }
.eyebrow { letter-spacing: 0.07em; color: rgb(111, 120, 113); font-size: 13px; font-weight: 400; }
.site-header { z-index: 100; background: rgb(255, 255, 255); border-bottom: 1px solid rgb(238, 238, 238); height: 78px; transition: background 0.3s, box-shadow 0.3s, color 0.3s; position: fixed; inset: 0px 0px auto; }
.header-inner { gap: 35px; width: 100%; padding-right: 7.5%; }
.site-header .brand { background: var(--teal); color: rgb(255, 255, 255); flex-shrink: 0; height: 100%; padding: 0px 28px; }
.site-header .brand small { color: rgb(232, 243, 232); }
.site-header .brand img { background: rgb(255, 255, 255); border-radius: 50%; padding: 3px; }
.site-header .main-nav { gap: 27px; margin-left: auto; }
.site-header .main-nav a { font-size: 14px; }
.site-header.image-header:not(.is-scrolled):not(.navigation-open) { backdrop-filter: blur(8px); color: rgb(255, 255, 255); background: rgba(16, 46, 38, 0.243); border: 0px; height: 68px; top: 12px; }
.image-header:not(.is-scrolled):not(.navigation-open) .main-nav a, .image-header:not(.is-scrolled):not(.navigation-open) .nav-product-trigger button, .image-header:not(.is-scrolled):not(.navigation-open) .menu-toggle { color: rgb(255, 255, 255); }
.site-header.is-scrolled { box-shadow: rgba(18, 51, 29, 0.063) 0px 3px 20px; }
.site-header .header-cta { color: inherit; background: none; padding: 0px; font-size: 13px; }
.header-cta svg { border: 1px solid; border-radius: 50%; width: 30px; height: 30px; padding: 6px; }
.main-nav [aria-current="page"], .main-nav a:hover { color: var(--teal) !important; }
.nav-products { align-items: center; height: 78px; display: flex; position: static; }
.image-header:not(.is-scrolled) .nav-products { height: 68px; }
.product-dropdown { width: 100%; min-width: 0px; color: var(--ink); border: 0px; grid-template-columns: 1fr 2fr; gap: 70px; padding: 36px 7.5% 42px; animation: 0.25s ease 0s 1 normal both running menu-in; display: grid; top: 100%; left: 0px; box-shadow: rgba(22, 44, 36, 0.125) 0px 20px 35px; }
.dropdown-intro strong { font-size: 26px; font-weight: 500; }
.dropdown-intro p { color: var(--muted); margin: 16px 0px; font-size: 14px; }
.product-dropdown .dropdown-intro > a { color: var(--teal); display: inline-flex; }
.dropdown-links { grid-template-columns: 1fr 1fr; gap: 0px 36px; display: grid; }
.dropdown-links a { font-size: 14px !important; }
@keyframes menu-in { 
  0% { opacity: 0; transform: translateY(-12px); }
  100% { opacity: 1; transform: none; }
}
.reference-hero { color: rgb(255, 255, 255); background: rgb(32, 58, 49); height: 100svh; min-height: 650px; position: relative; overflow: hidden; }
.hero-scenes, .hero-scene { position: absolute; inset: 0px; }
.hero-scene { opacity: 0; transition: opacity 1.2s; }
.hero-scene.is-active { opacity: 1; }
.hero-scene img { object-fit: cover; transform: scale(1.02); }
.hero-scene.is-active img { animation: 8s ease-out 0s 1 normal both running scene-drift; }
.hero-scenes::after { content: ""; background: linear-gradient(90deg, rgba(16, 43, 41, 0.46) 0%, rgba(20, 58, 37, 0.1) 75%); position: absolute; inset: 0px; }
@keyframes scene-drift { 
  0% { transform: scale(1.07); }
  100% { transform: scale(1); }
}
.reference-hero-copy { animation: 0.75s ease 0s 1 normal both running copy-rise; position: relative; top: 42%; }
.reference-hero-copy h1 { max-width: 100%; margin: 0px 0px 20px; font-size: 48px; font-weight: 500; }
.reference-hero-copy p { color: rgb(255, 255, 255); max-width: 600px; margin: 0px 0px 30px; font-size: 17px; line-height: 1.85; }
@keyframes copy-rise { 
  0% { opacity: 0; transform: translateY(24px); }
  100% { opacity: 1; transform: none; }
}
.hero-link-row { align-items: center; gap: 36px; display: flex; }
.round-link { align-items: center; gap: 12px; font-size: 14px; display: inline-flex; }
.round-arrow { background: var(--teal); color: rgb(255, 255, 255); border-radius: 50%; flex-shrink: 0; justify-content: center; align-items: center; width: 50px; height: 50px; transition: background 0.25s, transform 0.3s; display: inline-flex; }
.round-link:hover .round-arrow { background: var(--teal-deep); transform: translateX(4px); }
.hero-secondary { border-bottom: 1px solid rgba(255, 255, 255, 0.5); padding: 8px 0px; font-size: 14px; }
.dark-link { color: var(--ink); }
.hero-baseline { border-top: 1px solid rgba(255, 255, 255, 0.333); align-items: center; gap: 35px; padding-top: 20px; font-size: 13px; display: flex; position: absolute; bottom: 28px; left: 7.5%; }
.hero-baseline > span { margin-right: auto; }
.slide-controls { align-items: center; gap: 6px; display: flex; }
.slide-controls button { color: rgb(255, 255, 255); cursor: pointer; background: none; border: 0px; place-items: center; width: 35px; height: 40px; display: grid; }
.slide-controls button > span { background: rgba(255, 255, 255, 0.376); width: 22px; height: 3px; transition: background 0.3s; }
.slide-controls [aria-pressed="true"] > span { background: rgb(255, 255, 255); }
.scroll-cue { color: var(--teal); background: rgb(255, 255, 255); border-radius: 50%; place-items: center; width: 50px; height: 50px; transition: transform 0.3s; display: grid; }
.scroll-cue:hover { transform: translateY(5px); }
.home-section { padding: 95px 0px; scroll-margin-top: 78px; }
.reference-section-head { margin-bottom: 36px; }
.reference-section-head h2, .company-overview h2 { margin: 16px 0px 18px; font-size: 32px; font-weight: 500; }
.reference-section-head > p { color: var(--muted); margin: 0px; font-size: 16px; line-height: 1.75; }
.section-kicker { color: rgb(119, 126, 120); margin-bottom: 15px; font-size: 18px; display: block; }
.reference-section-head.centered { text-align: center; }
.business-highlights { background: radial-gradient(at 100% 10%, rgb(232, 245, 232) 0%, rgba(0, 0, 0, 0) 35%), rgb(255, 255, 255); }
.highlight-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 18px; display: grid; }
.highlight-card { background: rgb(255, 255, 255); border: 1px solid rgb(231, 233, 229); border-radius: 16px; min-width: 0px; padding: 22px 18px 18px; transition: box-shadow 0.35s, transform 0.35s; }
.highlight-card:hover { transform: translateY(-5px); box-shadow: rgba(33, 60, 34, 0.063) 0px 18px 45px; }
.card-overline { color: rgb(139, 146, 140); font-size: 13px; }
.highlight-card h3 { margin: 20px 0px 12px; font-size: 22px; font-weight: 500; }
.highlight-card > p { color: rgb(116, 122, 117); min-height: 76px; font-size: 14px; line-height: 1.8; }
.outline-label { border: 1px solid var(--teal); color: var(--teal); border-radius: 20px; align-items: center; gap: 8px; margin: 14px 0px 25px; padding: 6px 12px; font-size: 12px; display: inline-flex; }
.highlight-image { border-radius: 12px; height: 230px; position: relative; overflow: hidden; }
.highlight-image img { object-fit: cover; transition: transform 0.7s; }
.highlight-card:hover img { transform: scale(1.06); }
.business-highlights .round-link { margin-top: 30px; }
.company-overview { background: rgb(246, 250, 246); }
.company-overview-grid { grid-template-columns: 1.1fr 1fr; align-items: start; gap: 90px; display: grid; }
.company-overview p { color: rgb(107, 116, 109); margin: 25px 0px; font-size: 16px; line-height: 1.85; }
.company-overview .round-link { margin-top: 20px; }
.reference-metrics { grid-template-columns: 1fr 1fr; gap: 38px 45px; display: grid; }
.reference-metrics > div { border-top: 1px solid rgb(207, 217, 205); padding: 20px 0px; }
.reference-metrics svg { stroke-width: 1.2px; width: 38px; height: 38px; color: var(--teal); display: block; }
.reference-metrics strong { color: var(--teal); margin: 16px 0px 4px; font-size: 58px; font-weight: 400; display: block; }
.reference-metrics strong span { vertical-align: super; font-size: 20px; }
.reference-metrics p { margin: 5px 0px; font-size: 14px; }
.health-mosaic { background: linear-gradient(rgb(246, 250, 246), rgb(255, 255, 255)); }
.mosaic-grid { grid-template-columns: 1fr 1.35fr 1fr; gap: 20px; min-height: 440px; display: grid; }
.mosaic-grid > a, .mosaic-services > a { border-radius: 20px; position: relative; overflow: hidden; }
.mosaic-photo { color: rgb(255, 255, 255); background: rgb(33, 79, 49); flex-direction: column; justify-content: space-between; padding: 24px; display: flex; }
.mosaic-photo::after { content: ""; background: linear-gradient(rgba(13, 49, 44, 0.19), rgba(13, 49, 44, 0.6)); position: absolute; inset: 0px; }
.mosaic-photo img { object-fit: cover; transition: transform 0.6s; }
.mosaic-photo:hover img { transform: scale(1.05); }
.mosaic-photo h3 { z-index: 1; margin: 0px; font-size: 22px; font-weight: 500; position: relative; }
.mosaic-bottom { z-index: 1; justify-content: space-between; align-items: center; gap: 10px; font-size: 13px; display: flex; position: relative; }
.mosaic-pet { background: rgb(227, 240, 223); grid-template-rows: auto minmax(160px, 1fr) auto; gap: 20px; padding: 25px; display: grid; }
.mosaic-pet-copy { min-width: 0px; position: relative; }
.mosaic-pet h3 { margin: 10px 0px; font-size: 27px; font-weight: 500; }
.mosaic-pet p { color: rgb(108, 117, 109); margin: 0px; font-size: 14px; }
.mosaic-pet-media { min-width: 0px; position: relative; }
.mosaic-pet-media img { object-fit: contain; object-position: center center; }
.mosaic-pet > .round-arrow { justify-self: end; position: relative; }
.mosaic-services { gap: 20px; display: grid; }
.mosaic-services > a { background: rgb(227, 240, 223); padding: 26px; display: block; }
.mosaic-services h3 { margin: 10px 0px; font-size: 23px; font-weight: 500; }
.mosaic-services p { color: rgb(95, 113, 98); margin: 10px 0px; font-size: 13px; line-height: 1.7; }
.mosaic-services svg { color: var(--teal); stroke-width: 1.3px; }
.mosaic-services > a > svg:last-child { position: absolute; bottom: 18px; right: 20px; }
.industry-section { background: linear-gradient(rgb(255, 255, 255), rgb(239, 247, 238)); }
.industry-grid { grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 12px; display: grid; }
.industry-card { color: rgb(255, 255, 255); border-radius: 20px; height: 390px; position: relative; overflow: hidden; }
.industry-card > img { object-fit: cover; transition: transform 0.7s; }
.industry-card::after { content: ""; background: linear-gradient(rgba(0, 0, 0, 0), rgba(21, 53, 37, 0.686)); position: absolute; inset: 0px; }
.industry-card > div { z-index: 2; transition: transform 0.35s; position: absolute; bottom: 30px; left: 18px; right: 18px; }
.industry-card h3 { margin: 0px 0px 12px; font-size: 17px; font-weight: 500; }
.industry-card p { opacity: 0; max-height: 0px; margin: 0px; font-size: 13px; line-height: 1.7; transition: max-height 0.4s, opacity 0.4s; }
.industry-card .round-arrow { width: 36px; height: 36px; margin-top: 18px; }
.industry-card:hover img, .industry-card:focus-visible img { transform: scale(1.08); }
.industry-card:hover p, .industry-card:focus-visible p { opacity: 1; max-height: 140px; }
.additional-portfolios { color: rgb(109, 120, 110); flex-wrap: wrap; gap: 25px; margin-top: 30px; font-size: 13px; display: flex; }
.additional-portfolios a { color: var(--teal); }
.reference-pet-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; display: grid; }
.reference-pet-card { border: 1px solid var(--line); border-radius: 16px; min-width: 0px; padding: 24px; transition: border-color 0.3s; }
.reference-pet-card:hover { border-color: var(--teal); }
.reference-pet-card > div { background: rgb(246, 250, 245); border-radius: 12px; height: 270px; margin-bottom: 24px; position: relative; overflow: hidden; }
.reference-pet-card img { object-fit: contain; padding: 20px; transition: transform 0.6s; }
.reference-pet-card:hover img { transform: scale(1.06); }
.reference-pet-card > span { color: var(--teal); font-size: 12px; }
.reference-pet-card h3 { margin: 10px 0px; font-size: 23px; font-weight: 500; }
.reference-pet-card p { color: var(--muted); font-size: 13px; }
.pet-detail-link { align-items: center; gap: 10px; margin-top: 22px; display: flex; }
.working-together { background: rgb(247, 250, 246); }
.collaboration-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 20px; display: grid; }
.collaboration-card { color: rgb(255, 255, 255); border-radius: 20px; height: 380px; position: relative; overflow: hidden; }
.collaboration-card::after { content: ""; background: linear-gradient(rgba(0, 0, 0, 0), rgba(18, 49, 36, 0.65)); position: absolute; inset: 0px; }
.collaboration-card img { object-fit: cover; transition: transform 0.8s; }
.collaboration-card:hover img { transform: scale(1.06); }
.collaboration-card h3 { z-index: 2; margin: 0px; font-size: 21px; font-weight: 500; position: absolute; bottom: 34px; left: 24px; right: 72px; }
.collaboration-card > .round-arrow { z-index: 2; width: 40px; height: 40px; position: absolute; bottom: 24px; right: 18px; }
.reference-cta { color: rgb(255, 255, 255); background: linear-gradient(90deg, rgba(22, 58, 37, 0.6), rgba(22, 58, 37, 0.4)), url("../images/manufacturing-partner.jpg") 50% 60% / cover; padding: 110px 0px; }
.reference-cta h2 { margin: 0px 0px 20px; font-size: 38px; font-weight: 500; }
.reference-cta p { margin: 0px 0px 30px; font-size: 16px; }
.will-reveal { opacity: 0; transition: opacity 0.8s, transform 0.8s; transform: translateY(32px); }
.will-reveal.is-visible { opacity: 1; transform: none; }
.site-footer { color: var(--ink); background: rgb(247, 249, 246); padding: 65px 0px 25px; }
.footer-brand, .footer-links a { color: var(--ink); }
.footer-top > div:first-child > p { font-family: var(--font-site); color: var(--teal); font-style: normal; }
.footer-links span { color: var(--muted); }
.footer-bottom { color: rgb(124, 132, 126); border-color: rgb(220, 228, 219); }
.footer-links a:hover { color: var(--teal); }
.page-hero { color: rgb(255, 255, 255); background: linear-gradient(90deg, rgba(18, 60, 50, 0.43), rgba(18, 60, 50, 0.15)), url("../images/laboratory.webp") center center / cover; align-items: center; min-height: 610px; padding: 150px 0px 90px; display: flex; position: relative; }
.page-hero > .container { min-width: 0px; position: relative; }
.page-hero h1, .category-hero h1 { max-width: 100%; margin: 20px 0px; font-size: 44px; font-weight: 500; }
.page-hero h1 i, .page-hero p, .page-hero .eyebrow, .page-hero .back-link { color: rgb(255, 255, 255); }
.page-hero p { max-width: 740px; font-size: 16px; line-height: 1.85; }
.page-hero .back-link { margin-bottom: 38px; }
.page-hero-links a { color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.314); }
.category-hero { background-position: center center; background-size: cover; min-height: 85svh; }
.category-hero .btn { margin-top: 18px; }
.btn { letter-spacing: 0px; text-transform: none; border-radius: 28px; min-height: 48px; padding: 0px 24px; font-size: 14px; font-weight: 400; }
.btn-primary { background: var(--teal); }
.btn-outline { border-color: var(--teal); color: var(--teal); }
.text-link { color: var(--teal); }
.catalog-section { padding: 75px 0px 90px; }
.product-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 28px; }
.product-card { border: 1px solid var(--line); border-radius: 16px; min-width: 0px; padding: 20px; }
.product-card-image { border-radius: 10px; height: 280px; }
.product-card-copy h2 { font-size: 23px; font-weight: 500; }
.specification-row { grid-template-columns: minmax(0px, 2fr) minmax(0px, 1.2fr) 0.65fr 24px; }
.specification-row h2 { font-size: 21px; font-weight: 500; }
.category-empty { max-width: 800px; }
.category-empty h2 { font-size: 30px; }
.detail-page { padding-top: 120px; }
.detail-grid { grid-template-columns: minmax(0px, 1.15fr) minmax(0px, 0.85fr); gap: 55px; }
.detail-info h1 { font-size: 36px; font-weight: 500; }
.detail-inquiry { background: rgb(240, 246, 238); border-radius: 16px; }
.detail-inquiry h2 { font-size: 26px; }
.detail-image { border-radius: 16px; }
.service-grid, .quality-grid, .about-grid { gap: 35px; }
.service-grid article, .quality-grid article { min-width: 0px; }
.service-grid h2, .quality-grid h2 { font-size: 26px; font-weight: 500; }
.resource-row h2 { padding-right: 35px; font-size: 27px; display: block; position: relative; }
.resource-row h2 svg { position: absolute; top: 5px; right: 0px; }
.process-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.process-step h3 { max-width: 100%; font-size: 18px; }
.sample-note h2, .document-band h2 { font-size: 32px; }
.contact-page { background: rgb(245, 249, 243); padding-top: 155px; }
.contact-grid { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: 70px; }
.contact-intro h1 { font-size: 39px; font-weight: 500; }
.contact-form-panel { border-radius: 18px; }
.contact-intro > p { max-width: 100%; }
.contact-details { margin-top: 40px; }
.inquiry-form input, .inquiry-form textarea, .inquiry-form select { border-radius: 5px; font-size: 14px; }
.about-metrics { color: var(--ink); background: rgb(239, 247, 237); }
.metric-row strong { color: var(--teal); font-family: var(--font-site); }
.metric-row span { color: var(--muted); }
@media (max-width: 1100px) {
  .header-inner { gap: 20px; padding-right: 3%; }
  .site-header .brand { padding: 0px 18px; }
  .site-header .main-nav { gap: 17px; }
  .site-header .main-nav a { font-size: 12px; }
  .container { width: 90%; }
  .hero-baseline { left: 5%; }
  .company-overview-grid { gap: 45px; }
  .mosaic-grid { gap: 12px; }
  .mosaic-services > a { padding: 20px; }
  .industry-card > div { left: 12px; right: 12px; }
  .collaboration-card h3 { left: 16px; right: 62px; }
  .reference-hero-copy h1 { font-size: 42px; }
}
@media (max-width: 800px) {
  .site-header, .site-header.image-header:not(.is-scrolled):not(.navigation-open) { height: 68px; top: 0px; }
  .header-inner { gap: 12px; padding-right: 16px; }
  .site-header .brand { padding: 0px 16px; }
  .site-header .brand strong { font-size: 16px; }
  .site-header .brand small { font-size: 7px; }
  .site-header .header-cta { margin: 0px 0px 0px auto; font-size: 12px; }
  .menu-toggle { color: inherit; background: none; border: 0px; place-items: center; width: 40px; height: 40px; display: grid; }
  .site-header .main-nav { color: var(--ink); background: rgb(255, 255, 255); max-height: calc(-68px + 100svh); margin: 0px; padding: 15px 5% 25px; display: none; position: absolute; top: 68px; left: 0px; right: 0px; overflow: auto; }
  .site-header .main-nav.is-open { flex-direction: column; align-items: stretch; gap: 0px; display: flex; }
  .main-nav > a { border-bottom: 1px solid var(--line); padding: 14px 0px; }
  .site-header .main-nav a { font-size: 14px; }
  .mobile-contact { justify-content: space-between; display: flex !important; }
  .nav-products, .image-header:not(.is-scrolled) .nav-products { height: auto; display: block; }
  .nav-product-trigger { border-bottom: 1px solid var(--line); justify-content: space-between; }
  .nav-product-trigger > a { padding: 14px 0px; }
  .nav-product-trigger button { width: 44px; height: 44px; }
  .product-dropdown { box-shadow: none; background: rgb(243, 248, 240); padding: 12px 14px; display: block; position: static; }
  .dropdown-intro { display: none; }
  .dropdown-links { display: block; }
  .dropdown-links a { font-size: 13px !important; }
  .reference-hero { min-height: 650px; }
  .reference-hero-copy { top: 36%; }
  .reference-hero-copy h1 { font-size: 36px; }
  .reference-hero-copy p { max-width: 80%; font-size: 15px; }
  .hero-baseline { flex-wrap: wrap; gap: 10px; font-size: 11px; bottom: 22px; }
  .hero-baseline > span { width: calc(100% - 60px); }
  .hero-baseline .scroll-cue { position: absolute; top: 20px; right: 0px; }
  .slide-controls { order: 3; }
  .hero-link-row { gap: 22px; }
  .round-link { font-size: 13px; }
  .hero-secondary { font-size: 12px; }
  .home-section { padding: 65px 0px; }
  .reference-section-head h2, .company-overview h2 { font-size: 28px; }
  .reference-section-head > p { font-size: 14px; }
  .highlight-grid { grid-template-columns: 1fr; gap: 20px; }
  .highlight-card > p { min-height: 0px; }
  .highlight-image { height: 240px; }
  .company-overview-grid { grid-template-columns: 1fr; gap: 35px; }
  .reference-metrics { gap: 20px 30px; }
  .reference-metrics strong { font-size: 46px; }
  .company-overview p { font-size: 14px; }
  .mosaic-grid { grid-template-columns: 1fr 1fr; }
  .mosaic-photo, .mosaic-pet { min-height: 380px; }
  .mosaic-services { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .mosaic-services > a { min-height: 210px; }
  .industry-grid { scroll-snap-type: x mandatory; gap: 15px; padding: 0px 0px 15px; display: flex; overflow-x: auto; }
  .industry-card { scroll-snap-align: start; flex: 0 0 66%; height: 370px; }
  .industry-card h3 { font-size: 22px; }
  .industry-card p { opacity: 1; max-height: none; }
  .reference-pet-grid { grid-template-columns: 1fr; }
  .reference-pet-card h3 { font-size: 22px; }
  .collaboration-grid { grid-template-columns: 1fr; }
  .collaboration-card { height: 330px; }
  .collaboration-card h3 { font-size: 23px; }
  .reference-cta { padding: 75px 0px; }
  .reference-cta h2 { font-size: 30px; }
  .section-kicker { font-size: 16px; }
  .page-hero { min-height: 520px; padding: 125px 0px 65px; }
  .page-hero h1, .category-hero h1 { font-size: 34px; }
  .page-hero p { font-size: 14px; }
  .category-hero { min-height: 650px; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card-image { height: 260px; }
  .product-card-copy h2 { font-size: 23px; }
  .detail-grid, .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .detail-page { padding-top: 100px; }
  .detail-info h1 { font-size: 34px; }
  .contact-page { padding-top: 115px; }
  .contact-intro h1 { font-size: 34px; }
  .service-grid, .quality-grid, .about-grid { grid-template-columns: 1fr; }
  .service-grid h2, .quality-grid h2 { font-size: 24px; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .process-step h3 { font-size: 17px; }
  .specification-row { grid-template-columns: minmax(0px, 1fr) auto; }
  .specification-row h2 { font-size: 21px; }
  .specification-row > span, .specification-row strong { grid-column: 1; }
  .specification-row svg { grid-area: 1 / 2 / 4; }
  .specification-heading { display: none; }
  .resource-row h2 { font-size: 24px; }
  .footer-top { flex-direction: column; gap: 32px; }
  .footer-links { flex-wrap: wrap; gap: 35px; }
  .footer-bottom { flex-direction: column; gap: 12px; }
  .sample-note > .container { grid-template-columns: 1fr; gap: 25px; }
}
@media (max-width: 480px) {
  .mosaic-grid { grid-template-columns: 1fr; }
  .mosaic-services { grid-column: auto; grid-template-columns: 1fr; }
  .mosaic-photo, .mosaic-pet { min-height: 370px; }
  .reference-hero-copy h1 { font-size: 32px; }
  .hero-link-row { gap: 15px; }
  .round-arrow { width: 45px; height: 45px; }
  .reference-hero-copy p { max-width: 100%; }
  .site-header .brand small { display: none; }
  .site-header .brand { gap: 7px; }
  .site-header .brand img { width: 32px; height: 32px; }
  .header-inner { gap: 8px; }
  .contact-form-panel { padding: 24px; }
  .reference-pet-card { padding: 18px; }
  .additional-portfolios { gap: 13px; }
  .page-hero-links { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-scene.is-active img, .reference-hero-copy, .product-dropdown { animation: auto ease 0s 1 normal none running none; }
  .will-reveal { opacity: 1; transition: none; transform: none; }
  .hero-scene { transition: none; }
}
@media (max-width: 800px) {
  .contact-grid, .detail-grid, .about-grid, .sample-note > .container { grid-template-columns: minmax(0px, 1fr); }
  .catalog-cta > .container { align-items: stretch; }
  .process-grid { grid-template-columns: minmax(0px, 1fr); }
  .process-step { min-height: 95px; }
  .process-step h3 { font-size: 18px; }
}
.mobile-hero-caption { display: none; }
.portfolio-directory { background: rgb(246, 250, 246); }
.portfolio-directory-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 0px 50px; display: grid; }
.portfolio-directory-item { border-top: 1px solid rgb(217, 228, 218); padding: 28px 36px 28px 0px; position: relative; }
.portfolio-directory-item > span { color: var(--teal); font-size: 12px; }
.portfolio-directory-item h3 { margin: 12px 0px; font-size: 23px; font-weight: 500; }
.portfolio-directory-item p { color: var(--muted); font-size: 14px; line-height: 1.8; }
.portfolio-directory-item > svg { color: var(--teal); transition: transform 0.25s; position: absolute; top: 32px; right: 0px; }
.portfolio-directory-item:hover > svg { transform: translate(3px, -3px); }
.manufacturing-intro { grid-template-columns: minmax(0px, 2fr) minmax(0px, 1fr); align-items: center; gap: 70px; display: grid; }
.manufacturing-intro > .round-link { justify-self: end; }
.factory-gallery { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; display: grid; }
.factory-gallery figure { background: rgb(243, 247, 243); border-radius: 12px; margin: 0px; overflow: hidden; }
.factory-gallery img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; height: auto; transition: transform 0.6s; }
.factory-gallery figure:hover img { transform: scale(1.025); }
.factory-gallery figcaption { color: var(--muted); padding: 12px 18px; font-size: 12px; }
.capability-strip { border-block: 1px solid var(--line); grid-template-columns: repeat(3, minmax(0px, 1fr)); margin-top: 32px; display: grid; }
.capability-strip > div { border-right: 1px solid var(--line); padding: 26px 16px; }
.capability-strip strong { color: var(--teal); font-size: 24px; font-weight: 500; display: block; }
.capability-strip span { color: var(--muted); margin-top: 10px; font-size: 13px; display: block; }
.section-footnote, .image-caption { color: var(--muted); margin-top: 18px; font-size: 12px; line-height: 1.7; }
.quality-showcase { background: rgb(244, 248, 244); }
.quality-showcase > .container > .round-link { margin-top: 30px; }
.document-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 25px; display: grid; }
.document-card { border: 1px solid var(--line); background: rgb(255, 255, 255); border-radius: 12px; overflow: hidden; }
.document-preview { cursor: pointer; background: rgb(236, 240, 235); border: 0px; width: 100%; height: 300px; display: block; position: relative; }
.document-preview img { object-fit: contain; padding: 20px 28px; transition: transform 0.3s; }
.document-preview:hover img { transform: scale(1.025); }
.document-preview > span { color: var(--teal-deep); white-space: nowrap; background: rgb(255, 255, 255); border-radius: 24px; align-items: center; gap: 8px; padding: 10px 16px; font-size: 12px; display: flex; position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); box-shadow: rgba(0, 0, 0, 0.067) 0px 3px 15px; }
.document-copy { padding: 24px; }
.document-copy h3 { margin: 12px 0px; font-size: 22px; font-weight: 500; }
.document-copy p { color: var(--muted); font-size: 13px; line-height: 1.7; }
.document-copy dl { margin: 20px 0px; font-size: 12px; }
.document-copy dl > div { justify-content: space-between; gap: 12px; margin: 8px 0px; display: flex; }
.document-copy dt { color: var(--muted); }
.document-copy dd { overflow-wrap: anywhere; text-align: right; margin: 0px; }
.document-download { color: var(--teal-deep); align-items: center; gap: 8px; padding: 10px 0px; font-size: 13px; display: inline-flex; }
.filter-chips { flex-wrap: wrap; gap: 10px; margin-bottom: 28px; display: flex; }
.filter-chips button { border: 1px solid var(--line); cursor: pointer; background: rgb(255, 255, 255); border-radius: 30px; padding: 12px 18px; font-size: 13px; }
.filter-chips button[aria-pressed="true"] { color: rgb(255, 255, 255); background: var(--teal-deep); border-color: var(--teal-deep); }
.document-dialog { width: min(900px, 94vw); max-height: 92svh; color: var(--ink); border: 0px; border-radius: 14px; margin: auto; padding: 24px; }
.document-dialog::backdrop { backdrop-filter: blur(4px); background: rgba(10, 30, 27, 0.79); }
.document-dialog-bar { justify-content: space-between; align-items: center; gap: 16px; display: flex; }
.document-dialog-bar button { cursor: pointer; background: rgb(239, 245, 239); border: 0px; border-radius: 50%; padding: 10px; }
.document-dialog > p { color: var(--muted); font-size: 13px; }
.document-full-image img { width: 100%; height: auto; display: block; }
.document-dialog-actions { flex-wrap: wrap; gap: 24px; padding-top: 18px; display: flex; }
.document-dialog-actions a { color: var(--teal-deep); align-items: center; gap: 8px; font-size: 14px; display: inline-flex; }
.workflow-steps { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 35px 45px; display: grid; }
.workflow-steps article { border-top: 1px solid rgb(200, 216, 202); padding-top: 24px; }
.workflow-steps article > span { color: var(--teal); font-size: 35px; font-weight: 400; }
.workflow-steps h3 { margin: 16px 0px 12px; font-size: 21px; font-weight: 500; }
.workflow-steps p { color: var(--muted); font-size: 14px; line-height: 1.8; }
.global-markets { background: rgb(234, 244, 235); }
.global-markets-layout { grid-template-columns: 1fr 1fr; gap: 80px; display: grid; }
.global-markets .round-link { margin-top: 28px; }
.market-regions { grid-template-columns: 1fr 1fr; gap: 28px; display: grid; }
.market-regions article { border-top: 1px solid rgb(191, 212, 194); padding-top: 18px; }
.market-regions h3 { margin: 0px 0px 12px; font-size: 22px; font-weight: 500; }
.market-regions p { color: rgb(90, 108, 95); font-size: 14px; line-height: 1.8; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { cursor: pointer; justify-content: space-between; gap: 20px; padding: 24px 0px; font-size: 17px; list-style: none; display: flex; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary svg { color: var(--teal); flex-shrink: 0; }
.faq-list details[open] summary svg { transform: rotate(90deg); }
.faq-list details > p { color: var(--muted); max-width: 900px; margin: 0px; padding-bottom: 24px; font-size: 15px; line-height: 1.9; }
.catalog-filters { background: rgb(242, 247, 242); border-radius: 12px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; margin: 20px 0px; padding: 24px; display: grid; }
.catalog-filters label { color: rgb(75, 91, 80); flex-direction: column; gap: 10px; font-size: 12px; display: flex; }
.catalog-filters select { font: 14px var(--font-site); width: 100%; color: var(--ink); background: rgb(255, 255, 255); border: 1px solid rgb(213, 223, 214); border-radius: 5px; padding: 13px 10px; }
.catalog-results-bar { justify-content: space-between; align-items: center; gap: 15px; margin: -8px 0px 30px; font-size: 13px; display: flex; }
.catalog-results-bar label { align-items: center; gap: 8px; display: flex; }
.catalog-results-bar button { color: var(--teal-deep); cursor: pointer; background: none; border: 0px; padding: 10px 0px; }
.catalog-browser .product-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.catalog-browser .product-card-image { background: rgb(250, 251, 249); border: 1px solid rgb(233, 238, 232); border-radius: 10px; height: 235px; }
.catalog-browser .product-card-copy h2 { font-size: 21px; }
.catalog-browser .product-card-copy p { overflow-wrap: anywhere; }
.catalog-browser .specification-row, .catalog-browser .specification-heading { grid-template-columns: minmax(0px, 1.6fr) minmax(0px, 1fr) minmax(0px, 1fr) 22px; gap: 22px; }
.catalog-browser .specification-row h2 { font-size: 20px; }
.catalog-name > p { color: var(--muted); margin: 10px 0px 0px; font-size: 12px; line-height: 1.7; }
.product-full-name { color: var(--muted); font-size: 16px; line-height: 1.8; }
.catalog-browser .specification-row strong { overflow-wrap: anywhere; font-size: 13px; line-height: 1.7; }
.catalog-pagination { justify-content: center; align-items: center; gap: 24px; margin-top: 35px; font-size: 14px; display: flex; }
.catalog-pagination button { border: 1px solid var(--line); cursor: pointer; background: rgb(255, 255, 255); border-radius: 6px; padding: 12px 20px; }
.catalog-pagination button:disabled { opacity: 0.4; cursor: default; }
.category-overview { grid-template-columns: minmax(0px, 1.4fr) minmax(0px, 1fr); gap: 80px; padding-block: 65px 10px; display: grid; }
.category-overview h2 { margin: 12px 0px; font-size: 30px; font-weight: 500; }
.category-overview p { color: var(--muted); font-size: 15px; line-height: 1.9; }
.category-overview ul { margin: 0px; padding: 0px; list-style: none; }
.category-overview li { border-bottom: 1px solid var(--line); align-items: center; gap: 12px; padding: 15px 0px; font-size: 15px; display: flex; }
.category-overview li > span { background: var(--teal); border-radius: 50%; flex-shrink: 0; width: 7px; height: 7px; }
.category-buying-note { border-top: 1px solid var(--line); justify-content: space-between; align-items: center; gap: 40px; padding-block: 50px 75px; display: flex; }
.category-buying-note h2 { font-size: 28px; font-weight: 500; }
.category-buying-note p { color: var(--muted); max-width: 700px; font-size: 15px; line-height: 1.8; }
.category-buying-note > .btn { flex-shrink: 0; }
.aesthetic-projects { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; display: grid; }
.aesthetic-projects article { border: 1px solid var(--line); border-radius: 10px; padding: 28px; }
.aesthetic-projects h3 { font-size: 23px; font-weight: 500; }
.aesthetic-projects p { color: var(--muted); font-size: 15px; line-height: 1.8; }
.aesthetic-projects a { color: var(--teal); align-items: center; gap: 8px; font-size: 14px; display: inline-flex; }
.lingyoo-brand { grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; padding-block: 45px; display: grid; }
.lingyoo-brand > img { width: 100%; height: auto; }
.lingyoo-brand h2 { font-size: 30px; font-weight: 500; }
.lingyoo-brand p { color: var(--muted); font-size: 15px; line-height: 1.9; }
.packaging-options { margin-top: 28px; }
.packaging-options h2 { font-size: 24px; font-weight: 500; }
.variant-list > div { border-bottom: 1px solid var(--line); grid-template-columns: 80px minmax(0px, 1fr); gap: 16px; padding: 12px 0px; font-size: 14px; display: grid; }
.variant-list span { color: var(--teal-deep); }
.variant-list p { margin: 0px; }
.related-product-documents { padding-top: 40px; }
.related-products { padding-block: 40px 80px; }
.related-products h2 { font-size: 28px; font-weight: 500; }
.related-products > div { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 15px; display: grid; }
.related-products a { border: 1px solid var(--line); flex-direction: column; gap: 10px; padding: 20px; display: flex; }
.related-products small { color: var(--muted); }
@media (max-width: 1000px) {
  .document-grid, .catalog-browser .product-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .global-markets-layout, .manufacturing-intro { gap: 35px; }
}
@media (max-width: 700px) {
  .reference-hero { height: auto; min-height: 0px; color: var(--ink); background: rgb(255, 255, 255); margin-top: 64px; padding-top: 56.25%; overflow: visible; }
  .reference-hero .hero-scenes { aspect-ratio: 16 / 9; height: auto; bottom: auto; overflow: hidden; }
  .reference-hero .reference-hero-copy { color: rgb(255, 255, 255); align-items: center; width: 90%; height: 56.25vw; padding-bottom: 30px; display: flex; position: absolute; top: 0px; left: 5%; }
  .reference-hero .reference-hero-copy h1 { margin: 0px; font-size: 29px; }
  .reference-hero .reference-hero-copy > p, .reference-hero .reference-hero-copy > .hero-link-row { display: none; }
  .reference-hero .hero-baseline { color: rgb(255, 255, 255); border: 0px; justify-content: flex-end; width: 90%; height: 42px; padding: 0px; top: calc(-46px + 56.25vw); bottom: auto; left: 5%; }
  .reference-hero .hero-baseline > span, .reference-hero .scroll-cue { display: none; }
  .mobile-hero-caption { border-bottom: 1px solid var(--line); padding: 20px 5% 25px; display: block; }
  .mobile-hero-caption > p { color: var(--muted); margin: 0px 0px 18px; font-size: 14px; line-height: 1.8; }
  .mobile-hero-caption .hero-link-row { justify-content: space-between; gap: 12px; }
  .mobile-hero-caption .round-link, .mobile-hero-caption .hero-secondary { font-size: 12px; }
  .mobile-hero-caption .round-arrow { width: 36px; height: 36px; }
  .mobile-hero-caption .hero-secondary { border-color: var(--line); color: var(--ink); }
  .site-header.image-header:not(.is-scrolled):not(.navigation-open) { height: 64px; color: var(--ink); backdrop-filter: none; background: rgb(255, 255, 255); top: 0px; }
  .image-header:not(.is-scrolled):not(.navigation-open) .menu-toggle { color: var(--ink); }
  .category-hero { min-height: 0px; padding: 105px 0px 38px; }
  .category-hero .page-hero-links { margin-top: 15px; }
  .portfolio-directory-grid, .manufacturing-intro, .factory-gallery, .workflow-steps, .global-markets-layout, .document-grid, .category-overview, .aesthetic-projects, .lingyoo-brand { grid-template-columns: minmax(0px, 1fr); gap: 25px; }
  .portfolio-directory-item h3 { font-size: 23px; }
  .manufacturing-intro > .round-link { justify-self: start; margin-bottom: 15px; }
  .capability-strip { grid-template-columns: 1fr; }
  .capability-strip > div { border-right: 0px; border-bottom: 1px solid var(--line); padding: 20px 0px; }
  .capability-strip strong { font-size: 25px; }
  .market-regions { grid-template-columns: 1fr; }
  .document-grid { margin-bottom: 25px; }
  .document-dialog { padding: 18px; }
  .document-dialog-bar strong { font-size: 15px; }
  .catalog-filters { grid-template-columns: 1fr; padding: 18px; }
  .catalog-browser .product-grid { grid-template-columns: minmax(0px, 1fr); }
  .catalog-browser .product-card-image { height: 250px; }
  .catalog-browser .specification-row { grid-template-columns: minmax(0px, 1fr) 20px; gap: 12px; padding: 22px 0px; }
  .catalog-browser .specification-row h2 { font-size: 21px; }
  .catalog-browser .specification-row .catalog-name { grid-column: 1; }
  .catalog-browser .specification-heading { display: none; }
  .category-overview { padding-top: 40px; }
  .category-overview h2, .lingyoo-brand h2 { font-size: 27px; }
  .category-buying-note { flex-direction: column; align-items: stretch; gap: 18px; }
  .related-products > div { grid-template-columns: 1fr; }
  .product-search { gap: 8px; }
  .product-search > input { flex: 1 1 0%; width: 0px; }
}
@media (prefers-reduced-motion: reduce) {
  .factory-gallery img, .document-preview img { transition: none; }
}
.industry-accordion { gap: 12px; width: 100%; height: 490px; display: flex; }
.industry-panel { isolation: isolate; color: rgb(255, 255, 255); background: rgb(38, 69, 54); border-radius: 20px; flex: 1 1 0%; min-width: 0px; transition: flex-grow 0.65s cubic-bezier(0.22, 0.61, 0.36, 1); position: relative; overflow: hidden; }
.industry-panel.is-expanded { flex-grow: 4.5; }
.industry-panel > img { object-fit: cover; object-position: center center; z-index: -2; transition: transform 0.8s; }
.industry-panel.is-expanded > img { transform: scale(1.035); }
.industry-panel::after { content: ""; z-index: -1; background: linear-gradient(rgba(9, 37, 29, 0.333), rgba(9, 37, 29, 0.094) 45%, rgba(9, 37, 29, 0.52)); transition: background 0.5s; position: absolute; inset: 0px; }
.industry-panel.is-expanded::after { background: linear-gradient(rgba(8, 39, 30, 0.85) 0%, rgba(18, 61, 39, 0.376) 55%, rgba(13, 48, 37, 0.72) 100%); }
.industry-panel-heading { width: 100%; max-width: none; margin: 0px; font-weight: 500; position: absolute; inset: 0px; font-size: 15px !important; }
.industry-panel-heading button { width: 100%; color: inherit; font: inherit; cursor: pointer; white-space: nowrap; background: none; border: 0px; justify-content: center; align-items: center; gap: 10px; padding: 12px 3px; display: flex; position: absolute; inset: 0px; }
.industry-panel-heading button > svg { display: none; }
.industry-panel.is-expanded .industry-panel-heading { width: calc(100% - 60px); height: 40px; inset: 28px 30px auto; }
.industry-panel.is-expanded .industry-panel-heading button { justify-content: flex-start; padding: 0px; font-size: 18px; }
.industry-panel-content { opacity: 0; visibility: hidden; flex-direction: column; justify-content: space-between; transition: opacity 0.2s, transform 0.3s, visibility 0.2s; display: flex; position: absolute; inset: 90px 30px 30px; transform: translateY(12px); }
.industry-panel.is-expanded .industry-panel-content { opacity: 1; visibility: visible; transition: opacity 0.4s 0.22s, transform 0.5s 0.18s, visibility; transform: none; }
.industry-panel-description { text-wrap: pretty; max-width: 570px; margin: 0px; font-size: clamp(20px, 2vw, 28px); line-height: 1.5; }
.industry-panel-links { flex-wrap: wrap; align-items: center; gap: 10px; display: flex; }
.industry-panel-links > a { border: 1px solid rgba(255, 255, 255, 0.66); border-radius: 30px; align-items: center; gap: 7px; padding: 12px 15px; font-size: 12px; transition: background 0.2s, color 0.2s; display: inline-flex; }
.industry-panel-links > a:hover { color: var(--teal-deep); background: rgb(255, 255, 255); }
.industry-panel-links > .industry-portfolio-link { border-color: rgba(0, 0, 0, 0); flex-basis: 100%; width: fit-content; margin-top: 8px; padding-left: 0px; }
.industry-panel-links > .industry-portfolio-link:hover { color: rgb(255, 255, 255); background: none; text-decoration: underline; }
.industry-panel-heading button:focus-visible { outline-offset: -5px; border-radius: 14px; outline: rgb(255, 255, 255) solid 2px; }
@media (min-width: 801px) and (max-width: 1100px) {
  .industry-accordion { gap: 8px; height: 450px; }
  .industry-panel { border-radius: 14px; }
  .industry-panel.is-expanded { flex-grow: 3.6; }
  .industry-panel-heading { font-size: 12px !important; }
  .industry-panel.is-expanded .industry-panel-heading { width: calc(100% - 44px); left: 22px; right: 22px; }
  .industry-panel-content { bottom: 24px; left: 22px; right: 22px; }
  .industry-panel-description { font-size: 21px; }
}
@media (max-width: 800px) {
  .industry-accordion { flex-direction: column; gap: 10px; height: auto; }
  .industry-panel { border-radius: 14px; flex: 0 0 auto; width: 100%; height: 68px; transition: height 0.5s cubic-bezier(0.22, 0.61, 0.36, 1); }
  .industry-panel.is-expanded { flex: 0 0 auto; height: 400px; }
  .industry-panel-heading { font-size: 17px !important; }
  .industry-panel-heading button { justify-content: space-between; padding: 20px 24px; }
  .industry-panel-heading button > svg { display: block; }
  .industry-panel.is-expanded .industry-panel-heading { width: calc(100% - 48px); inset: 18px 24px auto; }
  .industry-panel.is-expanded .industry-panel-heading button { justify-content: space-between; font-size: 18px; }
  .industry-panel.is-expanded .industry-panel-heading button > svg { transform: rotate(45deg); }
  .industry-panel-content { inset: 78px 24px 24px; }
  .industry-panel-description { font-size: 22px; line-height: 1.5; }
  .industry-panel-links { gap: 8px; }
  .industry-panel-links > a { padding: 10px 12px; font-size: 12px; }
  .industry-panel-links > .industry-portfolio-link { margin-top: 0px; padding-left: 0px; }
}
@media (max-width: 360px) {
  .industry-panel.is-expanded { height: 420px; }
  .industry-panel-description { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .industry-panel, .industry-panel > img, .industry-panel-content, .industry-panel.is-expanded .industry-panel-content { transition: none; transform: none; }
}
:root { --ink: #213943; --muted: #64747a; --teal: #29963d; --teal-deep: #19782d; --line: #dfe7e5; --surface-cool: #f5f8f8; --motion-ease: cubic-bezier(.22,.61,.36,1); }
.home-section { padding-block: clamp(40px, 3.3vw, 48px); }
.reference-section-head { margin-bottom: 24px; }
.reference-section-head h2, .company-overview h2 { margin: 10px 0px 12px; }
.company-overview, .sourcing-workflow, .global-markets, .buyer-faq { padding-block: 36px; }
.company-overview-grid { gap: 56px; }
.company-overview p { margin: 15px 0px; line-height: 1.7; }
.company-overview .round-link, .business-highlights .round-link, .global-markets .round-link { margin-top: 16px; }
.reference-metrics { gap: 16px 32px; }
.reference-metrics > div { padding: 12px 0px; }
.reference-metrics strong { margin: 10px 0px 4px; font-size: 48px; line-height: 1.25; }
.reference-metrics svg { width: 32px; height: 32px; }
.reference-metrics p { margin: 5px 0px 0px; }
.reference-cta { padding-block: 48px; }
.reference-cta h2 { margin-bottom: 14px; }
.reference-cta p { margin-bottom: 20px; }
.home-inquiry { background: linear-gradient(90deg, rgba(18, 59, 50, 0.93), rgba(18, 59, 50, 0.72)), url("../images/manufacturing-partner.jpg") center center / cover; }
.home-inquiry-layout { grid-template-columns: minmax(0px, 0.8fr) minmax(0px, 1.2fr); align-items: center; gap: 48px; display: grid; }
.home-inquiry-intro { min-width: 0px; }
.home-inquiry-intro .section-kicker { color: rgb(205, 231, 211); margin-bottom: 12px; }
.home-inquiry-intro p { color: rgb(231, 241, 236); max-width: 420px; line-height: 1.75; }
.home-inquiry-email { overflow-wrap: anywhere; text-underline-offset: 5px; font-size: 14px; display: inline-block; }
.home-inquiry-email:hover { text-decoration: underline; }
.home-inquiry-panel { min-width: 0px; color: var(--ink); background: rgb(255, 255, 255); border-radius: 16px; padding: 28px; }
.home-inquiry .inquiry-form { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 16px 20px; display: grid; }
.home-inquiry .inquiry-form label { min-width: 0px; }
:is(.home-inquiry .inquiry-form label:has([name="destination"]), .home-inquiry .inquiry-form label:has(textarea), .home-inquiry .inquiry-form > small) { grid-column: 1 / -1; }
.home-inquiry .inquiry-form input, .home-inquiry .inquiry-form textarea, .home-inquiry .inquiry-form select { background: rgb(247, 249, 248); width: 100%; min-width: 0px; }
.home-inquiry .inquiry-form textarea { min-height: 96px; }
.home-inquiry .inquiry-form > button { place-self: end; max-width: 100%; }
.home-inquiry .inquiry-form > small { font-size: 12px; line-height: 1.6; }
.home-inquiry .form-confirmation p { color: var(--muted); overflow-wrap: anywhere; margin: 12px 0px; font-size: 14px; line-height: 1.7; }
.home-inquiry .form-confirmation button { min-height: 44px; }
.portfolio-directory-item { padding-block: 18px; }
.portfolio-directory-item p { margin-bottom: 0px; }
.portfolio-directory-item > svg { top: 24px; }
.capability-strip { margin-top: 22px; }
.capability-strip > div { padding-block: 18px; }
.workflow-steps { row-gap: 22px; }
.workflow-steps article { padding-top: 16px; }
.workflow-steps h3 { margin: 10px 0px 8px; }
.workflow-steps p, .market-regions p { margin: 8px 0px 0px; }
.market-regions { gap: 20px; }
.market-regions article { padding-top: 14px; }
.market-regions h3 { margin-bottom: 8px; }
.faq-list summary { padding-block: 16px; }
.faq-list details > p { padding-bottom: 16px; }
.about-story, .catalog-section { padding-block: 48px; }
.about-metrics, .service-sections, .process.service-process, .sample-note, .quality-grid, .document-band, .quality-note, .resource-list { padding-block: 36px; }
.service-grid h2, .quality-grid h2 { margin: 16px 0px 10px; }
.process-step { min-height: 110px; }
.resource-row { padding-block: 18px; }
.resource-row h2 { margin-block: 10px 7px; }
.document-band > .container > div { min-width: 0px; max-width: 100%; }
.category-overview { padding-top: 32px; }
.category-buying-note { padding-block: 28px 36px; }
.lingyoo-brand { padding-block: 28px; }
.related-product-documents { padding-top: 24px; }
.related-products { padding-block: 24px 36px; }
.detail-page { padding-bottom: 48px; }
.contact-page { padding-block: 120px 48px; }
.contact-details { margin-top: 26px; }
.site-footer { padding-block: 40px 24px; }
.reference-section-head > p { max-width: 800px; }
.reference-section-head.centered > p { margin-inline: auto; }
.company-overview, .manufacturing-section { background: var(--surface-cool); }
.section-kicker { color: rgb(104, 123, 128); }
.reference-section-head h2, .company-overview h2 { color: var(--ink); }
.reference-metrics > div { border-color: var(--line); }
.site-footer { background: rgb(238, 243, 244); }
.site-header.is-scrolled { box-shadow: rgba(25, 57, 68, 0.047) 0px 5px 24px; }
.will-reveal { opacity: 0; transition-property: ; transition-duration: ; transition-timing-function: ; transition-behavior: ; transition-delay: var(--reveal-delay, 0s); transform: translateY(22px); }
.will-reveal.is-visible { opacity: 1; transform: none; }
.highlight-card, .reference-pet-card, .document-card, .aesthetic-projects article { transition: box-shadow .3s var(--motion-ease),border-color .3s,transform .35s var(--motion-ease),opacity .65s var(--motion-ease); }
.will-reveal:is(.highlight-card, .reference-pet-card, .document-card, .aesthetic-projects article) { transition-delay: var(--reveal-delay, 0s); }
.is-visible:is(.highlight-card, .reference-pet-card, .document-card, .aesthetic-projects article) { transition-delay: 0s; }
.round-arrow { transition: transform .3s var(--motion-ease),background .25s,box-shadow .3s; }
.btn, .filter-chips button, .catalog-pagination button { transition: background 0.25s, color 0.25s, border-color 0.25s, box-shadow 0.25s, transform 0.25s; }
.btn-primary { background: var(--teal-deep); border-radius: 5px; }
.btn:active, .filter-chips button:active, .catalog-pagination button:active { transform: translateY(1px); }
.document-download svg, .text-link svg, .header-cta svg { transition: transform .25s var(--motion-ease); }
.nav-product-trigger button svg { transition: transform 0.25s; }
.nav-product-trigger button[aria-expanded="true"] svg { transform: rotate(180deg); }
.product-dropdown { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .23s,transform .3s var(--motion-ease),visibility 0s .3s; animation: auto ease 0s 1 normal none running none; transform: translateY(-10px); }
.product-dropdown.is-open { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; transform: none; }
.menu-toggle { border-radius: 50%; transition: background 0.2s, color 0.2s; }
.menu-toggle[aria-expanded="true"] { color: var(--teal-deep); background: rgb(237, 245, 238); }
@media (hover: hover) and (pointer: fine) {
  .highlight-card:hover, .reference-pet-card:hover, .document-card:hover, .aesthetic-projects article:hover { border-color: rgb(181, 208, 189); transform: translateY(-4px); box-shadow: rgba(22, 59, 36, 0.063) 0px 16px 34px; }
  .round-link:hover .round-arrow { box-shadow: rgba(35, 124, 55, 0.157) 0px 6px 18px; }
  .btn-primary:hover { background: rgb(18, 96, 39); box-shadow: rgba(35, 124, 55, 0.125) 0px 6px 18px; }
  .document-download:hover svg { transform: translateY(2px); }
  .header-cta:hover svg { transform: translate(2px, -2px); }
  .catalog-pagination button:not(:disabled):hover, .filter-chips button:not([aria-pressed="true"]):hover { background: rgb(237, 246, 238); border-color: rgb(169, 201, 175); }
}
@media (max-width: 800px) {
  .home-inquiry-layout { grid-template-columns: minmax(0px, 1fr); gap: 24px; }
  .home-inquiry-intro p { max-width: 100%; }
  .home-inquiry-panel { padding: 22px; }
  .home-section { padding-block: 32px; }
  .company-overview, .sourcing-workflow, .global-markets, .buyer-faq { padding-block: 28px; }
  .reference-section-head { margin-bottom: 20px; }
  .company-overview-grid { gap: 24px; }
  .company-overview p { margin: 12px 0px; }
  .reference-metrics { gap: 12px 22px; }
  .reference-metrics > div { padding: 10px 0px; }
  .reference-metrics p { margin: 5px 0px 0px; }
  .reference-cta { padding-block: 36px; }
  .about-story, .catalog-section { padding-block: 32px; }
  .about-metrics, .service-sections, .process.service-process, .sample-note, .quality-grid, .document-band, .quality-note, .resource-list { padding-block: 28px; }
  .service-grid, .quality-grid { row-gap: 24px; }
  .category-overview { padding-top: 24px; }
  .category-buying-note, .lingyoo-brand, .related-products { padding-block: 24px; }
  .detail-page { padding-bottom: 32px; }
  .contact-page { padding-block: 100px 32px; }
  .site-footer { padding-block: 32px 20px; }
  .will-reveal { transition-duration: 0.4s; transition-delay: 0s; transform: translateY(12px); }
  .will-reveal.is-visible { transform: none; }
  .site-header .main-nav, .site-header .main-nav.is-open { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .22s,transform .28s var(--motion-ease),visibility 0s .28s; flex-direction: column; align-items: stretch; gap: 0px; display: flex; transform: translateY(-10px); }
  .site-header .main-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; transform: none; box-shadow: rgba(25, 57, 68, 0.07) 0px 14px 24px; }
  .product-dropdown { max-height: 0px; transition: opacity .2s,max-height .3s var(--motion-ease),padding .3s,visibility 0s .3s; padding-block: 0px; overflow: hidden; transform: none; }
  .product-dropdown.is-open { max-height: 560px; padding-block: 12px; transition-delay: 0s; }
  .site-header .main-nav a, .image-header:not(.is-scrolled):not(.navigation-open) .main-nav a { color: var(--ink); }
}
@media (max-width: 480px) {
  .home-inquiry .inquiry-form { grid-template-columns: minmax(0px, 1fr); }
  .home-inquiry .inquiry-form > button { justify-self: stretch; width: 100%; }
  .home-inquiry-panel { padding: 20px; }
}
@media (hover: none) {
  .highlight-card:hover, .reference-pet-card:hover, .document-card:hover, .btn:hover { box-shadow: none; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, ::before, ::after { transition: none !important; animation: auto ease 0s 1 normal none running none !important; }
  .will-reveal, .will-reveal.is-visible { opacity: 1; transform: none; }
}
body { font-size: 17px; }
main p { line-height: 1.7; font-size: 17px !important; }
main .section-footnote, main .image-caption, main .detail-note { font-size: 14px !important; }
.section-kicker, .eyebrow, .card-overline { font-size: 15px; }
.reference-section-head h2, .company-overview h2, .section-title { font-size: 36px; }
.page-hero h1 { font-size: clamp(30px, 3.6vw, 52px); }
.page-hero p { max-width: 900px; font-size: 20px !important; }
.page-hero .btn { margin-top: 24px; }
.page-hero-links { flex-wrap: wrap; gap: 14px 24px; }
.page-hero-links a { font-size: 17px; }
.reference-hero-copy { max-width: 1240px; }
.reference-hero-copy h1 { font-size: clamp(36px, 4.4vw, 64px); }
.reference-hero-copy p { max-width: 850px; font-size: 22px !important; }
.hero-company-name { letter-spacing: 0.05em; margin-bottom: 16px; font-size: 17px; display: block; }
.round-link, .hero-secondary, .outline-label, .mosaic-bottom, .btn, .text-link, .home-inquiry-email, .site-header .main-nav a, .site-header .header-cta { font-size: 16px; }
.site-header .main-nav { gap: 24px; }
.site-header .header-inner { gap: 24px; padding-right: 5%; }
.dropdown-links a { font-size: 16px !important; }
.dropdown-links { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: 0px 24px; }
.dropdown-links a { overflow-wrap: anywhere; }
.header-search-toggle { width: 44px; height: 44px; color: inherit; cursor: pointer; background: none; border: 1px solid; border-radius: 50%; flex-shrink: 0; place-items: center; display: grid; }
.header-search { width: 100%; color: var(--ink); background: rgb(255, 255, 255); padding: 24px max(5%, -620px + 50vw); position: absolute; top: 100%; left: 0px; box-shadow: rgba(25, 57, 68, 0.098) 0px 16px 28px; }
.header-search label { margin-bottom: 12px; font-size: 18px; display: block; }
.header-search > div { gap: 12px; display: flex; }
.header-search input { min-width: 0px; font: inherit; background: rgb(247, 250, 248); border: 1px solid rgb(174, 190, 181); border-radius: 5px; flex: 1 1 0%; padding: 14px 16px; }
.header-search .btn { flex-shrink: 0; }
.reference-metrics strong { white-space: nowrap; font-size: clamp(30px, 3vw, 46px); }
.reference-metrics strong.metric-service { font-size: clamp(25px, 2.4vw, 35px); }
.reference-metrics strong span { font-size: 20px; }
.highlight-card h3, .mosaic-photo h3, .mosaic-services h3 { font-size: 25px; }
.mosaic-grid { grid-template-columns: 1.2fr 1.2fr; }
.mosaic-services { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
.mosaic-photo, .mosaic-pet { min-height: 400px; }
.mosaic-photo { color: var(--ink); background: rgb(246, 248, 247); }
.mosaic-photo img { object-fit: contain; }
.mosaic-photo::after { background: linear-gradient(rgba(246, 248, 247, 0.93), rgba(0, 0, 0, 0) 28%, rgba(0, 0, 0, 0) 75%, rgba(246, 248, 247, 0.93)); }
.mosaic-pet-media { background: rgb(255, 255, 255); border-radius: 10px; overflow: hidden; }
.mosaic-pet { grid-template-rows: auto minmax(200px, 1fr) auto; }
.portfolio-directory-item h3 { font-size: 27px; }
.portfolio-directory-item > span, .additional-portfolios, .pet-detail-link { font-size: 15px; }
.global-markets-layout { grid-template-columns: minmax(0px, 1fr); gap: 24px; }
.global-markets .reference-section-head p { max-width: 1000px; }
.market-regions { grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 24px; }
.industry-panel-links > a { font-size: 15px; }
.industry-panel-description { line-height: 1.5; font-size: 22px !important; }
.industry-panel.is-expanded { flex-grow: 5.5; }
.industry-panel-heading button span { white-space: nowrap; }
.industry-panel:not(.is-expanded) .industry-panel-heading button span { writing-mode: vertical-rl; font-size: 18px; }
.industry-panel.is-expanded .industry-panel-heading button { font-size: 18px; }
.industry-panel-heading button > svg { flex-shrink: 0; margin-right: 5px; }
.industry-panel-content { top: 100px; }
.industry-panel:has(img[src*="lingyoo-four-products"]) { background: rgb(255, 255, 255); }
.industry-panel:has(img[src*="lingyoo-four-products"]) > img { object-fit: contain; }
.industry-panel:has(img[src*="lingyoo-four-products"])::after { background: linear-gradient(rgba(16, 46, 38, 0.875), rgba(16, 46, 38, 0.376) 50%, rgba(16, 46, 38, 0.85)); }
.document-copy h3 { font-size: 24px; }
.document-copy dl, .document-preview > span { font-size: 15px; }
.inquiry-form label, .inquiry-form input, .inquiry-form select, .inquiry-form textarea { font-size: 16px; }
.inquiry-form small, .home-inquiry .inquiry-form > small { font-size: 14px; }
.contact-details a, .contact-details > div > span, .footer-links a { font-size: 16px; }
.footer-bottom { font-size: 14px; }
.whatsapp-qr { width: 240px; max-width: 100%; margin: 16px 0px 0px; }
.whatsapp-qr img { background: rgb(255, 255, 255); width: 100%; height: auto; }
.whatsapp-qr figcaption { color: var(--muted); margin-top: 8px; font-size: 14px; }
.catalog-filters label, .catalog-filters select, .product-search input, .product-search span, .catalog-results-bar, .catalog-pagination, .spec-list dt, .spec-list dd, .variant-list > div, .catalog-browser .specification-row strong, .catalog-browser .specification-row > span { font-size: 16px; }
.aesthetic-search-result { border: 1px solid var(--line); background: rgb(244, 248, 245); border-radius: 12px; padding: 28px; }
@media (max-width: 1100px) {
  .site-header .header-inner { gap: 16px; padding-right: 3%; }
  .site-header .main-nav { gap: 16px; }
  .site-header .brand { padding-inline: 18px; }
  .product-dropdown { grid-template-columns: 1fr 2.5fr; gap: 24px; }
  .market-regions { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 800px) {
  .site-header .header-inner { gap: 12px; }
  .header-search-toggle { margin-left: auto; }
  .site-header .header-cta { display: none; }
  .dropdown-links { grid-template-columns: minmax(0px, 1fr); }
  .product-dropdown.is-open { max-height: 720px; }
  .reference-section-head h2, .company-overview h2, .section-title { font-size: 30px; }
  .industry-panel:not(.is-expanded) .industry-panel-heading button span { writing-mode: horizontal-tb; font-size: inherit; }
  .industry-panel-heading button, .industry-panel.is-expanded .industry-panel-heading button { font-size: 16px; }
  .industry-panel.is-expanded { height: 440px; }
  .industry-panel-description { font-size: 20px !important; }
  .industry-panel-links > a { font-size: 14px; }
  .mosaic-grid, .mosaic-services { grid-template-columns: minmax(0px, 1fr); }
  .mosaic-services { grid-column: auto; }
  .portfolio-directory-grid { grid-template-columns: minmax(0px, 1fr); }
}
@media (max-width: 700px) {
  .reference-hero .reference-hero-copy { flex-direction: column; justify-content: center; align-items: flex-start; padding-bottom: 28px; }
  .reference-hero .reference-hero-copy h1 { font-size: 34px; }
  .hero-company-name { letter-spacing: 0px; max-width: 100%; margin-bottom: 12px; font-size: 12px; }
  .mobile-hero-caption .round-link, .mobile-hero-caption .hero-secondary { font-size: 14px; }
  .page-hero p { font-size: 18px !important; }
  .page-hero-links a { font-size: 16px; }
  .page-hero-links { flex-direction: column; align-items: flex-start; }
  .header-search { padding: 20px 5%; }
  .header-search .btn, .header-search input { padding: 12px; }
  .reference-metrics strong { font-size: 32px; }
  .reference-metrics strong.metric-service { font-size: 25px; }
  .market-regions { grid-template-columns: minmax(0px, 1fr); }
  .global-markets > .container { width: 94%; }
  .mosaic-photo h3 { font-size: 23px; }
  .portfolio-directory-item h3 { font-size: 25px; }
  .contact-intro h1 { font-size: 30px; }
}
@media (max-width: 380px) {
  .industry-panel-heading button, .industry-panel.is-expanded .industry-panel-heading button { font-size: 15px; }
}
/* Preserve native hidden states against component display rules. */
[hidden] { display: none !important; }


/* Healthcare expertise: two large cards plus a stacked service rail. */
.health-mosaic .expertise-mosaic { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,.82fr); min-height: 500px; gap:20px; }
.expertise-mosaic > a, .expertise-mosaic .mosaic-services > a { min-width:0; container-type:inline-size; }
.expertise-mosaic .mosaic-photo { display:grid; grid-template-rows:auto minmax(240px,1fr) auto; gap:20px; background:#fff; min-height:500px; }
.expertise-mosaic .mosaic-photo h3 { grid-row:1; font-size:clamp(13px,4.4cqw,22px); white-space:nowrap; }
.expertise-mosaic .mosaic-photo img { position:relative!important; grid-row:2; height:100%!important; width:100%!important; min-height:0; object-fit:contain; }
.expertise-mosaic .mosaic-photo::after { display:none; }
.expertise-mosaic .mosaic-bottom { grid-row:3; }
.expertise-mosaic .mosaic-pet { grid-template-rows:auto minmax(200px,1fr) auto; min-height:500px; }
.expertise-mosaic .mosaic-pet h3 { font-size:clamp(18px,6.4cqw,27px); white-space:nowrap; }
.expertise-mosaic .mosaic-services { grid-column:auto; grid-template-columns:minmax(0,1fr); grid-template-rows:repeat(2,minmax(0,1fr)); gap:20px; }
.expertise-mosaic .mosaic-services > a { padding:24px 20px 42px; min-height:0; }
.expertise-mosaic .mosaic-services h3 { font-size:clamp(13px,5.5cqw,22px); white-space:nowrap; }
.expertise-mosaic .mosaic-services p { font-size:16px; line-height:1.65; }
@media(max-width:1000px) {
 .health-mosaic .expertise-mosaic { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .expertise-mosaic .mosaic-services { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
}
@media(max-width:600px) {
 .health-mosaic .expertise-mosaic { grid-template-columns:minmax(0,1fr); gap:16px; }
 .expertise-mosaic .mosaic-photo,.expertise-mosaic .mosaic-pet { min-height:420px; }
 .expertise-mosaic .mosaic-services { grid-template-columns:minmax(0,1fr); gap:16px; }
}
