/* components/SiteHeader.astro */
html.ls-menu-open { overflow: hidden; }
  .ls-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgb(17 17 17 / 14%); background: var(--ls-color-brand-soft); }
  .ls-header a { text-decoration: none; }
  .ls-header__notice { min-height: 2rem; color: var(--ls-color-paper); background: var(--ls-color-ink); font-size: .6875rem; font-weight: 600; letter-spacing: .095em; text-transform: uppercase; }
  .ls-header__notice .ls-container { display: flex; min-height: 2rem; align-items: center; justify-content: center; }
  .ls-header__notice p { display: flex; align-items: center; gap: .6rem; margin: 0; }
  .ls-header__notice p span { width: .35rem; height: .35rem; border-radius: 50%; background: #82d39c; }
  .ls-header__notice-links { display: none; align-items: center; gap: 1.5rem; }
  .ls-header__notice-links a { display: inline-flex; align-items: center; gap: .4rem; color: inherit; letter-spacing: .045em; text-transform: none; }
  .ls-header__bar { display: grid; min-height: 4.5rem; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; }
  .ls-header__logo { display: inline-flex; width: fit-content; }
  .ls-header__logo img { width: 10.25rem; height: auto; }
  .ls-header__desktop, .ls-header__actions { display: none; }
  .ls-header__toggle { display: inline-flex; min-width: 5.25rem; min-height: 2.75rem; align-items: center; justify-content: center; gap: .55rem; padding: 0 .85rem; border: 1px solid var(--ls-color-ink); border-radius: var(--ls-radius-round); color: var(--ls-color-ink); background: transparent; font: inherit; font-size: .75rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
  .ls-header__close-icon { display: none; }
  .ls-header__toggle[aria-expanded='true'] .ls-header__menu-icon { display: none; }
  .ls-header__toggle[aria-expanded='true'] .ls-header__close-icon { display: block; }
  .ls-header__backdrop { position: fixed; z-index: 1; inset: 6.5rem 0 0; width: 100%; border: 0; background: rgb(17 17 17 / 42%); backdrop-filter: blur(2px); }
  .ls-header__backdrop[hidden], .ls-header__mobile[hidden] { display: none; }
  .ls-header__mobile { position: fixed; z-index: 2; top: 6.5rem; right: 0; bottom: 0; width: min(100%, 27rem); padding: 1.5rem var(--ls-gutter) 2rem; overflow: auto; background: var(--ls-color-paper); box-shadow: -1.5rem 0 4rem rgb(17 17 17 / 16%); }
  .ls-header__mobile nav { display: flex; min-height: 100%; flex-direction: column; }
  .ls-header__mobile-intro { margin: 0 0 .85rem; color: var(--ls-color-brand-dark); font-size: .6875rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
  .ls-header__mobile-main, .ls-header__mobile-main ul { padding: 0; margin: 0; list-style: none; }
  .ls-header__mobile-main > li { border-bottom: 1px solid var(--ls-color-line); }
  .ls-header__mobile-main > li > a, .ls-header__mobile-products > summary { display: flex; min-height: 3.45rem; align-items: center; justify-content: space-between; color: var(--ls-color-ink); font-family: var(--ls-font-display); font-size: 1.35rem; font-weight: 500; letter-spacing: -.025em; list-style: none; }
  .ls-header__mobile-main a[aria-current='page'] { color: var(--ls-color-brand-dark); }
  .ls-header__mobile-products > summary::-webkit-details-marker { display: none; }
  .ls-header__mobile-products > summary svg { transition: transform var(--ls-motion-fast) ease; }
  .ls-header__mobile-products[open] > summary svg { transform: rotate(180deg); }
  .ls-header__mobile-products ul { padding: 0 0 .85rem; }
  .ls-header__mobile-products li + li { border-top: 1px solid var(--ls-color-line); }
  .ls-header__mobile-products li a { display: flex; min-height: 2.65rem; align-items: center; gap: .8rem; font-size: .875rem; font-weight: 600; }
  .ls-header__mobile-products li span { color: var(--ls-color-brand-dark); font-size: .625rem; letter-spacing: .08em; }
  .ls-header__mobile-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin-top: 1.4rem; }
  .ls-header__mobile-actions a { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; gap: .45rem; padding: .75rem; border: 1px solid var(--ls-color-ink); border-radius: var(--ls-radius-control); font-size: .6875rem; font-weight: 700; letter-spacing: .055em; text-align: center; text-transform: uppercase; }
  .ls-header__mobile-actions a:first-child { color: var(--ls-color-paper); background: var(--ls-color-ink); }
  .ls-header__mobile-actions a:last-child { color: var(--ls-color-ink); background: transparent; }
  .ls-header__mobile-contact { display: grid; gap: .3rem; margin-top: auto; padding-top: 2rem; color: var(--ls-color-ink-soft); font-size: .75rem; }
  .ls-header__mobile-contact span { font-size: .625rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
  .ls-header__mobile-contact a { color: var(--ls-color-ink); }

  @media (min-width: 64rem) {
    .ls-header__notice .ls-container { justify-content: space-between; }
    .ls-header__notice-links { display: flex; }
    .ls-header__bar { min-height: 5rem; grid-template-columns: 10rem 1fr auto; gap: 1rem; }
    .ls-header__logo img { width: min(12rem, 100%); }
    .ls-header__desktop { display: flex; align-items: center; justify-content: center; }
    .ls-header__links { display: flex; align-items: center; gap: .8rem; padding: 0; margin: 0; list-style: none; }
    .ls-header__links > li > a, .ls-header__collections > summary { position: relative; display: flex; min-height: 5rem; align-items: center; gap: .32rem; color: var(--ls-color-ink); font-size: .75rem; font-weight: 600; letter-spacing: .01em; white-space: nowrap; list-style: none; cursor: pointer; }
    .ls-header__links > li > a::after, .ls-header__collections > summary::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--ls-color-brand-dark); content: ''; transform: scaleX(0); transition: transform var(--ls-motion-fast) ease; }
    .ls-header__links > li > a:hover::after, .ls-header__links > li > a[aria-current='page']::after, .ls-header__collections[open] > summary::after { transform: scaleX(1); }
    .ls-header__collections { position: relative; }
    .ls-header__collections > summary::-webkit-details-marker { display: none; }
    .ls-header__collections > summary svg { transition: transform var(--ls-motion-fast) ease; }
    .ls-header__collections[open] > summary svg { transform: rotate(180deg); }
    .ls-header__panel { position: absolute; top: calc(100% + .75rem); left: 50%; width: min(39rem, calc(100vw - 4rem)); padding: 1.35rem; border: 1px solid var(--ls-color-line); border-radius: var(--ls-radius-card); background: var(--ls-color-paper); box-shadow: var(--ls-shadow-dialog); transform: translateX(-31%); }
    .ls-header__panel::before { position: absolute; top: -.8rem; right: 0; left: 0; height: .8rem; content: ''; }
    .ls-header__panel-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: .2rem .2rem 1rem; border-bottom: 1px solid var(--ls-color-line); }
    .ls-header__panel-head div { display: grid; gap: .2rem; }
    .ls-header__panel-head span, .ls-header__private-label > span:first-child { color: var(--ls-color-brand-dark); font-size: .625rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
    .ls-header__panel-head strong { font-family: var(--ls-font-display); font-size: 1.25rem; font-weight: 500; }
    .ls-header__panel-head > a { display: inline-flex; align-items: center; gap: .35rem; padding-bottom: .1rem; border-bottom: 1px solid currentColor; font-size: .6875rem; font-weight: 700; text-transform: uppercase; }
    .ls-header__panel ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: .55rem; padding: 1rem 0; margin: 0; list-style: none; }
    .ls-header__panel ul a { display: grid; min-height: 4rem; grid-template-columns: 1.75rem 1fr auto; align-items: center; gap: .6rem; padding: .75rem .8rem; border-radius: var(--ls-radius-control); background: #f8f5f1; transition: background var(--ls-motion-fast) ease, color var(--ls-motion-fast) ease; }
    .ls-header__panel ul a:hover { color: var(--ls-color-paper); background: var(--ls-color-ink); }
    .ls-header__panel ul span { color: var(--ls-color-brand-dark); font-size: .625rem; letter-spacing: .08em; }
    .ls-header__panel ul a:hover span { color: var(--ls-color-brand-soft); }
    .ls-header__panel ul strong { font-size: .8125rem; font-weight: 600; }
    .ls-header__private-label { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .18rem 1rem; padding: 1rem; border-radius: var(--ls-radius-control); color: var(--ls-color-ink); background: var(--ls-color-brand-soft); }
    .ls-header__private-label > span:first-child { grid-column: 1 / -1; }
    .ls-header__private-label strong { font-family: var(--ls-font-display); font-size: 1.05rem; font-weight: 500; }
    .ls-header__private-label > span:last-child { display: inline-flex; align-items: center; gap: .3rem; font-size: .6875rem; font-weight: 700; text-transform: uppercase; }
    .ls-header__actions { display: flex; align-items: center; gap: .65rem; }
	    .ls-header__search { display: inline-flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border: 0; border-radius: 0; color: var(--ls-color-ink); }
    .ls-header__quote { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: .45rem; padding: .7rem 1rem; border: 1px solid var(--ls-color-ink); border-radius: var(--ls-radius-control); color: var(--ls-color-paper); background: var(--ls-color-ink); font-size: .6875rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; transition: background var(--ls-motion-fast) ease; }
    .ls-header__quote:hover { background: var(--ls-color-brand-dark); }
    .ls-header__toggle, .ls-header__mobile, .ls-header__backdrop { display: none !important; }
  }
  @media (min-width: 80rem) {
    .ls-header__bar { grid-template-columns: 12rem 1fr auto; gap: clamp(1.25rem, 2.7vw, 2.75rem); }
    .ls-header__links { gap: clamp(1.1rem, 2vw, 1.9rem); }
    .ls-header__links > li > a, .ls-header__collections > summary { font-size: .8125rem; }
  }

/* components/SiteFooter.astro */
.ls-footer {
    color: var(--ls-color-paper);
    background: var(--ls-color-ink);
  }

  .ls-footer__cta {
    color: var(--ls-color-ink);
    background: var(--ls-color-brand-soft);
  }

  .ls-footer__cta-inner {
    display: flex;
    min-height: 14rem;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: var(--ls-space-6);
  }

  .ls-footer__cta h2 {
    max-width: 48rem;
    margin: 0;
    font-size: var(--ls-text-2xl);
  }

  .ls-footer__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--ls-space-7);
    padding-block: var(--ls-space-8);
  }

  .ls-footer__brand img {
    width: 13rem;
    height: auto;
    margin-bottom: var(--ls-space-5);
    filter: brightness(0) invert(1);
  }

  .ls-footer__brand,
  .ls-footer__grid > :last-child { grid-column: 1 / -1; }

  .ls-footer__brand p {
    max-width: 28rem;
    color: rgb(255 255 255 / 70%);
    font-size: var(--ls-text-sm);
  }

  .ls-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ls-space-3);
    margin-top: var(--ls-space-6);
  }

  .ls-footer__social a {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid rgb(255 255 255 / 24%);
    border-radius: 50%;
    color: var(--ls-color-paper);
    line-height: 1;
    transition: color var(--ls-motion-fast), background-color var(--ls-motion-fast), border-color var(--ls-motion-fast), transform var(--ls-motion-fast);
  }

  .ls-footer .ls-footer__social a:hover {
    border-color: var(--ls-color-paper);
    background: rgb(255 255 255 / 10%);
    color: var(--ls-color-paper);
    text-decoration: none;
    transform: translateY(-2px);
  }

  .ls-footer__social a:focus-visible {
    outline: 2px solid var(--ls-color-paper);
    outline-offset: 3px;
  }

  .ls-footer h2 {
    margin-bottom: var(--ls-space-4);
    font-family: var(--ls-font-body);
    font-size: var(--ls-text-caption);
    font-weight: 600;
    letter-spacing: var(--ls-tracking-label);
    text-transform: uppercase;
  }

  .ls-footer ul {
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .ls-footer li + li {
    margin-top: var(--ls-space-2);
  }

  .ls-footer a {
    color: rgb(255 255 255 / 78%);
    font-size: var(--ls-text-sm);
    line-height: 1.7;
    text-decoration-color: transparent;
    transition: color var(--ls-motion-fast), text-decoration-color var(--ls-motion-fast);
  }

  .ls-footer a:hover {
    color: var(--ls-color-paper);
    text-decoration-color: currentColor;
  }

  .ls-footer__legal {
    display: flex;
    min-height: 4.5rem;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: var(--ls-space-4);
    border-top: 1px solid rgb(255 255 255 / 15%);
    color: rgb(255 255 255 / 60%);
    font-size: var(--ls-text-xs);
  }

  .ls-footer__legal p {
    margin: 0;
  }

  @media (min-width: 48rem) {
    .ls-footer__cta-inner,
    .ls-footer__legal {
      align-items: center;
      flex-direction: row;
      justify-content: space-between;
    }

    .ls-footer__grid {
      grid-template-columns: 1.5fr 1fr 1fr;
    }

    .ls-footer__brand {
      grid-column: 1 / -1;
    }
  }

  @media (min-width: 64rem) {
    .ls-footer__grid {
      grid-template-columns: 2fr 1fr 1fr 1.35fr;
    }

    .ls-footer__brand,
    .ls-footer__grid > :last-child { grid-column: auto; }
  }

/* components/ContactDock.astro */
.ls-contact-dock {
    position: fixed;
    z-index: 40;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(6rem, calc(env(safe-area-inset-bottom) + 5rem));
    display: grid;
    justify-items: center;
    gap: .625rem;
  }

  .ls-contact-dock__channels {
    display: none;
    gap: .625rem;
  }

  .ls-contact-dock[data-open='true'] .ls-contact-dock__channels {
    display: grid;
  }

  .ls-contact-dock a,
  .ls-contact-dock button {
    position: relative;
    display: flex;
    width: 3.375rem;
    height: 3.375rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: var(--ls-radius-round);
    color: var(--ls-color-paper);
    box-shadow: 0 8px 24px rgb(17 17 17 / 18%);
    text-decoration: none;
    transition: transform var(--ls-motion-fast) ease, box-shadow var(--ls-motion-fast) ease;
  }

  .ls-contact-dock__email { background: #ff4f69; }
  .ls-contact-dock__whatsapp { background: #32d86c; }
  .ls-contact-dock__messenger { background: #168df0; }
  .ls-contact-dock__instagram { background: linear-gradient(145deg, #7546e8 5%, #e23b8e 48%, #ff9a35 92%); }
  .ls-contact-dock button { background: #86cd91; }

  .ls-contact-dock a:hover,
  .ls-contact-dock button:hover {
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 10px 28px rgb(17 17 17 / 24%);
  }

  .ls-contact-dock a span {
    position: absolute;
    top: 50%;
    right: calc(100% + .625rem);
    width: max-content;
    padding: .375rem .625rem;
    border-radius: .25rem;
    color: var(--ls-color-paper);
    background: var(--ls-color-ink);
    font-size: var(--ls-text-caption);
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.3;
    opacity: 0;
    pointer-events: none;
    transform: translate(.25rem, -50%);
    transition: opacity var(--ls-motion-fast) ease, transform var(--ls-motion-fast) ease;
  }

  .ls-contact-dock a:hover span,
  .ls-contact-dock a:focus-visible span {
    opacity: 1;
    transform: translate(0, -50%);
  }

  .ls-contact-dock__toggle-label {
    position: absolute;
    top: calc(100% + .375rem);
    right: 50%;
    display: inline-flex;
    width: max-content;
    align-items: center;
    padding: 0;
    color: var(--ls-color-paper);
    background: transparent;
    box-shadow: none;
    font-size: var(--ls-text-xs);
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.4;
    pointer-events: none;
    text-shadow: 0 1px 4px rgb(17 17 17 / 70%);
    transform: translateX(50%);
    white-space: nowrap;
  }

  .ls-contact-dock__close-icon { display: none; }
  .ls-contact-dock[data-open='true'] .ls-contact-dock__open-icon { display: none; }
  .ls-contact-dock[data-open='true'] .ls-contact-dock__close-icon { display: block; }
  .ls-contact-dock[data-open='true'] .ls-contact-dock__toggle-label { display: none; }

  @media (min-width: 64rem) {
    .ls-contact-dock {
      top: 50%;
      right: max(1rem, env(safe-area-inset-right));
      bottom: auto;
      transform: translateY(-50%);
    }
  }

/* components/BackToTop.astro */
.ls-back-to-top {
    position: fixed;
    z-index: 40;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    display: inline-flex;
    width: 3rem;
    height: 3rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--ls-color-ink);
    border-radius: var(--ls-radius-round);
    color: var(--ls-color-paper);
    background: var(--ls-color-ink);
    box-shadow: 0 8px 24px rgb(17 17 17 / 18%);
    cursor: pointer;
    transition: transform var(--ls-motion-fast) ease, box-shadow var(--ls-motion-fast) ease;
  }

  .ls-back-to-top[hidden] { display: none; }

  .ls-back-to-top:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgb(17 17 17 / 24%);
  }

  @media (min-width: 48rem) {
    .ls-back-to-top {
      right: max(1.5rem, env(safe-area-inset-right));
      bottom: max(1.5rem, env(safe-area-inset-bottom));
    }
  }

/* components/Button.astro */
.ls-button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: var(--ls-space-3);
    border: 1px solid transparent;
    border-radius: var(--ls-radius-control);
    font-size: var(--ls-text-xs);
    font-weight: 600;
    letter-spacing: var(--ls-tracking-control);
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    transition: color var(--ls-motion-fast), background var(--ls-motion-fast), border-color var(--ls-motion-fast), transform var(--ls-motion-fast);
  }

  .ls-button:hover {
    transform: translateY(-2px);
  }

  .ls-button--regular {
    padding: 0.9rem 1.5rem;
  }

  .ls-button--small {
    min-height: 2.75rem;
    padding: 0.7rem 1.1rem;
    font-size: var(--ls-text-caption);
  }

  .ls-button--primary {
    color: var(--ls-color-paper);
    background: var(--ls-color-ink);
  }

  .ls-button--primary:hover {
    background: var(--ls-color-brand-dark);
  }

  .ls-button--secondary {
    color: var(--ls-color-ink);
    border-color: currentColor;
    background: transparent;
  }

  .ls-button--secondary:hover {
    color: var(--ls-color-paper);
    border-color: var(--ls-color-ink);
    background: var(--ls-color-ink);
  }

  .ls-button--quiet {
    min-height: auto;
    padding-inline: 0;
    border-radius: 0;
    color: var(--ls-color-brand-dark);
  }

  .ls-button--quiet:hover {
    color: var(--ls-color-ink);
  }

/* components/Breadcrumbs.astro */
.ls-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ls-space-2);
    padding: 0;
    margin: 0;
    color: var(--ls-color-ink-soft);
    font-size: var(--ls-text-xs);
    line-height: var(--ls-leading-small);
    list-style: none;
  }

  .ls-breadcrumbs li:not(:last-child)::after {
    margin-left: var(--ls-space-2);
    color: var(--ls-color-line);
    content: '/';
  }

  .ls-breadcrumbs a:hover {
    color: var(--ls-color-brand-dark);
  }

/* components/Pagination.astro */
.ls-pagination,
  .ls-pagination ol {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--ls-space-2);
  }

  .ls-pagination {
    flex-wrap: wrap;
  }

  .ls-pagination ol {
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .ls-pagination a,
  .ls-pagination span {
    display: inline-flex;
    min-width: 2.75rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ls-color-line);
    border-radius: var(--ls-radius-round);
    text-decoration: none;
  }

  .ls-pagination a:hover,
  .ls-pagination span[aria-current='page'] {
    color: var(--ls-color-paper);
    border-color: var(--ls-color-ink);
    background: var(--ls-color-ink);
  }

  .ls-pagination__direction {
    width: auto;
    padding-inline: var(--ls-space-4);
  }

/* components/EmptyState.astro */
.ls-empty-state {
    max-width: 42rem;
    padding: var(--ls-space-7);
    margin-inline: auto;
    border: 1px solid var(--ls-color-line);
    border-radius: var(--ls-radius-card);
    background: var(--ls-color-brand-soft);
    text-align: center;
  }

  .ls-empty-state__mark {
    margin-bottom: var(--ls-space-3);
    color: var(--ls-color-brand-dark);
    font-size: var(--ls-text-2xl);
  }

  .ls-empty-state h2 {
    margin-bottom: var(--ls-space-3);
    font-size: var(--ls-text-xl);
  }

  .ls-empty-state > p:not(.ls-empty-state__mark) {
    margin-bottom: var(--ls-space-5);
    color: var(--ls-color-ink-soft);
  }

/* components/Dialog.astro */
.ls-dialog {
    width: min(40rem, calc(100% - 2rem));
    max-height: calc(100dvh - 2rem);
    padding: 0;
    overflow: auto;
    border: 0;
    border-radius: var(--ls-radius-card);
    color: var(--ls-color-ink);
    background: var(--ls-color-paper);
    box-shadow: var(--ls-shadow-dialog);
  }

  .ls-dialog::backdrop {
    background: rgb(17 17 17 / 62%);
    backdrop-filter: blur(4px);
  }

  .ls-dialog__panel {
    position: relative;
    padding: var(--ls-space-6);
  }

  .ls-dialog__close {
    position: absolute;
    top: var(--ls-space-4);
    right: var(--ls-space-4);
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid var(--ls-color-line);
    border-radius: var(--ls-radius-round);
    background: var(--ls-color-paper);
  }

  .ls-dialog h2 {
    padding-right: var(--ls-space-7);
    margin-bottom: var(--ls-space-5);
    font-size: var(--ls-text-2xl);
  }

  @media (min-width: 48rem) {
    .ls-dialog__panel {
      padding: var(--ls-space-7);
    }
  }

/* components/FormField.astro */
.ls-field {
    display: grid;
    min-width: 0;
    gap: var(--ls-space-2);
  }

  .ls-field label {
    font-size: var(--ls-text-xs);
    font-weight: 600;
    letter-spacing: 0.04em;
  }

  .ls-field input,
  .ls-field select,
  .ls-field textarea {
    width: 100%;
    min-height: 3.25rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--ls-color-line);
    border-radius: var(--ls-radius-control);
    background: var(--ls-color-paper);
    font-size: var(--ls-text-sm);
    letter-spacing: 0;
  }

  .ls-field textarea {
    min-height: 9rem;
    resize: vertical;
  }

  .ls-field input,
  .ls-field select,
  .ls-field textarea {
    min-width: 0;
    max-width: 100%;
  }

  .ls-field input:focus,
  .ls-field select:focus,
  .ls-field textarea:focus {
    border-color: var(--ls-color-focus) !important;
    outline: 0 !important;
    box-shadow: inset 0 0 0 1px var(--ls-color-focus);
  }

  .ls-field p {
    margin: 0;
    color: var(--ls-color-ink-soft);
    font-size: var(--ls-text-xs);
  }

  .ls-field--error input,
  .ls-field--error select,
  .ls-field--error textarea {
    border-color: var(--ls-color-danger);
  }

  .ls-field--error p {
    color: var(--ls-color-danger);
  }

/* components/InquiryForm.astro */
.ls-inquiry-form, .ls-inquiry-form__row { display: grid; min-width: 0; gap: var(--ls-space-4); }
  .ls-inquiry-form > *, .ls-inquiry-form__row > * { min-width: 0; }
  .ls-inquiry-form__row { grid-template-columns: 1fr; }
  .ls-inquiry-form__honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
  .cf-turnstile { min-height: 4.0625rem; }
  .ls-inquiry-form__status { min-height: 1.5em; margin: 0; color: var(--ls-color-ink-soft); font-size: var(--ls-text-sm); }
  .ls-inquiry-form__status[data-state='error'] { color: var(--ls-color-danger); }
  .ls-inquiry-form__status[data-state='success'] { color: var(--ls-color-success); font-weight: 600; }
  .ls-inquiry-form button[disabled] { opacity: .55; cursor: wait; transform: none; }
  @media (min-width: 48rem) { .ls-inquiry-form__row { grid-template-columns: 1fr 1fr; } }

/* components/ProductInquiryDialog.astro */
.ls-inquiry-product { display: grid; gap: var(--ls-space-1); padding: var(--ls-space-4); margin-bottom: var(--ls-space-5); border-radius: var(--ls-radius-control); background: var(--ls-color-brand-soft); }
  .ls-inquiry-product span { color: var(--ls-color-brand-dark); font-size: var(--ls-text-caption); font-weight: 600; letter-spacing: var(--ls-tracking-label); text-transform: uppercase; }
  .ls-inquiry-product strong { font-family: var(--ls-font-display); font-size: var(--ls-text-card); font-weight: 500; }
  .ls-inquiry-product small { color: var(--ls-color-ink-soft); }

/* components/ProductCard.astro */
.ls-product-card {
    min-width: 0;
  }

  .ls-product-card__media {
    display: block;
    overflow: hidden;
    aspect-ratio: 1;
    border-radius: var(--ls-radius-card);
    border: 1px solid rgb(17 17 17 / 8%);
    background: var(--ls-color-paper);
  }

  .ls-product-card__media img {
    width: 100%;
    height: 100%;
    padding: clamp(.5rem, 1.5vw, 1rem);
    object-fit: contain;
    transition: transform var(--ls-motion-base);
  }

  .ls-product-card:hover .ls-product-card__media img {
    transform: scale(1.035);
  }

  .ls-product-card__body {
    padding: var(--ls-space-4) var(--ls-space-2) 0;
  }

  .ls-product-card p {
    margin-bottom: var(--ls-space-2);
    color: var(--ls-color-brand-dark);
    font-size: var(--ls-text-caption);
    font-weight: 600;
    letter-spacing: var(--ls-tracking-label);
    text-transform: uppercase;
  }

  .ls-product-card h3 {
    margin-bottom: var(--ls-space-3);
    font-size: var(--ls-text-card);
    line-height: 1.12;
  }

  .ls-product-card h3 a {
    text-decoration: none;
  }

  .ls-product-card__link {
    display: inline-flex;
    align-items: center;
    gap: var(--ls-space-2);
    color: var(--ls-color-ink-soft);
    font-size: var(--ls-text-sm);
    font-weight: 500;
    text-decoration: none;
  }

  .ls-product-card__link:hover {
    color: var(--ls-color-brand-dark);
  }

/* components/ArticleCard.astro */
.ls-article-card {
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--ls-color-line);
    border-radius: var(--ls-radius-card);
    background: var(--ls-color-paper);
  }

  .ls-article-card__media {
    display: block;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: var(--ls-color-subtle);
  }

  .ls-article-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--ls-motion-base);
  }

  .ls-article-card__media--diagram { background: #f1e6d8; }
  .ls-article-card__media--diagram img { object-fit: contain; }

  .ls-article-card:hover img {
    transform: scale(1.035);
  }

  .ls-article-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: var(--ls-space-5);
  }

  .ls-article-card__meta {
    display: flex;
    gap: var(--ls-space-3);
    margin-bottom: var(--ls-space-3);
    color: var(--ls-color-brand-dark);
    font-size: var(--ls-text-caption);
    font-weight: 600;
    letter-spacing: var(--ls-tracking-label);
    text-transform: uppercase;
  }

  .ls-article-card h3 {
    margin-bottom: var(--ls-space-3);
    font-size: var(--ls-text-card);
    line-height: 1.12;
  }

  .ls-article-card h3 a {
    text-decoration: none;
  }

  .ls-article-card__excerpt {
    color: var(--ls-color-ink-soft);
  }

  .ls-article-card__link {
    align-self: flex-start;
    margin-top: auto;
    color: var(--ls-color-brand-dark);
    font-size: var(--ls-text-sm);
    font-weight: 500;
  }
