.icon { display: inline-block; flex: 0 0 auto; width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.75; vertical-align: middle; }
a, button, summary, input, select, textarea { transition: color var(--duration-control) var(--ease-standard), background-color var(--duration-control) var(--ease-standard), border-color var(--duration-control) var(--ease-standard), box-shadow var(--duration-control) var(--ease-standard), transform var(--duration-control) var(--ease-standard), text-decoration-color var(--duration-control) var(--ease-standard); }
a:hover { color: var(--paper); background-color: var(--garnet-deep); text-decoration-color: var(--brass); }
a:active { color: var(--paper); background-color: var(--garnet); }
a:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; text-decoration: underline; text-decoration-color: var(--brass); }
button:hover { border-color: var(--brass); background-color: var(--garnet-deep); color: var(--paper); }
button:active { background-color: var(--ink); color: var(--paper); box-shadow: inset 0 0 0 2px var(--brass); }
button:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
button:disabled { opacity: .58; box-shadow: none; transform: none; }
.skip-link { position: fixed; inset-block-start: .75rem; inset-inline-start: var(--gutter); z-index: var(--z-skip); max-width: calc(100vw - var(--gutter) * 2); padding: .875rem 1.25rem; min-height: 44px; background: var(--paper); color: var(--ink); font-weight: 700; border: 2px solid var(--brass); transform: translateY(-180%); }
.skip-link:focus-visible { transform: translateY(0); background: var(--paper); color: var(--ink); outline-offset: 3px; }
.skip-link:hover { background: var(--garnet); color: var(--paper); }
.skip-link:active { background: var(--garnet-deep); color: var(--paper); }

.site-header { position: sticky; inset-block-start: 0; z-index: var(--z-header); background: var(--ink); color: var(--paper); border-block-end: 1px solid var(--brass); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.75rem; min-height: var(--header-height); padding-block: 1rem; transition: min-height 180ms var(--ease-standard), padding 180ms var(--ease-standard); }
.site-header.is-condensed .header-inner, .site-header[data-condensed='true'] .header-inner { min-height: 4.75rem; padding-block: .625rem; }
.brand { display: inline-flex; align-items: center; flex: 0 1 auto; min-width: 0; min-height: 44px; padding-block: .375rem; text-decoration: none; }
.brand img { height: 2.1rem; width: auto; max-width: 100%; object-fit: contain; object-position: left center; }
.brand:hover { background: transparent; box-shadow: 0 2px 0 var(--brass); }
.brand:active { background: var(--surface); box-shadow: 0 3px 0 var(--garnet); }
.brand:focus-visible { outline-color: var(--brass); outline-offset: 6px; }
.site-nav { min-width: 0; }
.nav-list { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: .125rem 1.125rem; }
.nav-list a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .625rem .25rem; border-block-end: 2px solid transparent; font-family: var(--pera-ace); font-size: .8125rem; font-weight: 500; line-height: 1.65; letter-spacing: .035em; text-transform: uppercase; text-decoration: none; }
.nav-list a:hover { color: var(--paper); background: var(--surface); border-block-end-color: var(--brass); }
.nav-list a:active { background: var(--garnet-deep); border-block-end-color: var(--paper); }
.nav-list a:focus-visible { outline-color: var(--brass); outline-offset: 3px; background: var(--surface); }
.nav-list a[aria-current='page'] { border-block-end-color: var(--brass); }
.nav-toggle { display: none; flex: 0 0 auto; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .625rem .75rem; background: transparent; color: var(--paper); border: 1px solid var(--line); font-size: .8125rem; line-height: 1.5; }
.nav-toggle:hover { border-color: var(--brass); background: var(--surface); }
.nav-toggle:active { border-color: var(--paper); background: var(--garnet-deep); box-shadow: inset 0 0 0 1px var(--brass); }
.nav-toggle:focus-visible { outline-color: var(--brass); outline-offset: 3px; }
.nav-toggle[aria-expanded='true'] { background: var(--garnet); border-color: var(--garnet); }
.nav-toggle__close { display: none; }
.nav-toggle[aria-expanded='true'] .nav-toggle__open { display: none; }
.nav-toggle[aria-expanded='true'] .nav-toggle__close { display: inline-block; }

.button, .btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.25rem; max-width: 100%; min-height: 52px; padding: .875rem 1.5rem; border: 1px solid var(--garnet); border-radius: 0; background: var(--garnet); color: var(--paper); font-family: var(--pera-3f2); font-size: var(--text-sm); font-weight: 500; line-height: 1.6; text-align: start; text-decoration: none; cursor: pointer; transition: background-color var(--duration-control) var(--ease-standard), border-color var(--duration-control) var(--ease-standard), color var(--duration-control) var(--ease-standard), transform var(--duration-control) var(--ease-standard), box-shadow var(--duration-control) var(--ease-standard); }
.button > span, .btn > span { min-width: 0; }
.button:hover, .btn:hover { background: var(--garnet-deep); color: var(--paper); border-color: var(--brass); transform: translateY(-2px); box-shadow: 0 6px 14px rgb(0 0 0 / .28); }
.button:active, .btn:active { background: var(--ink); border-color: var(--brass); color: var(--paper); transform: translateY(1px); box-shadow: inset 0 -2px 0 var(--brass); }
.button:focus-visible, .btn:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; border-color: var(--paper); }
.button--outline, .button--secondary, .btn--secondary { color: inherit; background: transparent; border-color: currentColor; }
.button--outline:hover, .button--secondary:hover, .btn--secondary:hover { background: var(--surface); border-color: var(--brass); color: var(--paper); }
.button--outline:active, .button--secondary:active, .btn--secondary:active { background: var(--garnet-deep); border-color: var(--brass); }
.button--paper { color: var(--ink); border-color: var(--paper); background: var(--paper); }
.button--paper:hover { color: var(--paper); background: var(--ink); border-color: var(--brass); }
.button--paper:active { background: var(--surface); color: var(--paper); box-shadow: inset 0 -2px 0 var(--brass); }
.button--small { min-height: 44px; padding: .625rem 1rem; font-size: .8125rem; gap: .75rem; }
.button--wide { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; max-width: 100%; padding-block: .625rem; border-block-end: 1px solid var(--brass); line-height: 1.65; text-decoration: none; }
.text-link:hover { background: var(--garnet-deep); color: var(--paper); border-block-end-color: var(--paper); }
.text-link:active { background: var(--garnet); color: var(--paper); box-shadow: inset 0 -2px 0 var(--brass); }
.text-link:focus-visible { outline-color: var(--focus); outline-offset: 4px; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; min-width: 44px; padding: .625rem; border: 1px solid var(--line); background: transparent; color: inherit; font-size: .8125rem; line-height: 1.5; }
.icon-button:hover { background: var(--garnet-deep); border-color: var(--brass); color: var(--paper); }
.icon-button:active { background: var(--ink); border-color: var(--paper); box-shadow: inset 0 0 0 1px var(--brass); }
.icon-button:focus-visible { outline-color: var(--focus); outline-offset: 3px; }
.action-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.action-row > * { min-width: 0; }

.seal { display: grid; place-items: center; flex: 0 0 auto; width: clamp(4.5rem, 10vw, 8rem); aspect-ratio: 1; padding: .875rem; border: 2px solid var(--garnet); outline: 1px solid var(--brass); outline-offset: -7px; background: transparent; transform: rotate(-7deg); }
.seal::before { content: ''; display: block; width: 100%; aspect-ratio: 1; background: url('../logo-mark.svg') center / contain no-repeat; }
.seal--small { width: 4rem; padding: .75rem; }
.seal--paper { background-color: var(--paper); }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; align-items: start; margin-block-end: clamp(2rem, 5vw, 4.5rem); }
.section-heading > * { min-width: 0; }
.section-heading .eyebrow { margin-block-end: 1rem; }
.section-heading__copy { max-width: var(--measure); margin-block-start: 1.5rem; color: var(--text-muted); }
.section-heading .seal { margin-block-start: .375rem; }
.section-number { display: inline-flex; align-items: center; min-height: 44px; padding: .625rem .875rem; border: 1px solid var(--brass); font-family: var(--pera-ace); font-size: .75rem; line-height: 1.5; color: var(--text-muted); }
.line-tag, .tag, .badge { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: .625rem .875rem; border: 1px solid var(--line); color: var(--text-muted); font-family: var(--pera-ace); font-size: .75rem; font-weight: 500; line-height: 1.5; letter-spacing: .06em; text-transform: uppercase; }
a.tag, button.tag, a.badge { text-decoration: none; cursor: pointer; }
a.tag:hover, button.tag:hover, a.badge:hover { background: var(--garnet-deep); color: var(--paper); border-color: var(--brass); }
a.tag:active, button.tag:active, a.badge:active { background: var(--garnet); color: var(--paper); border-color: var(--paper); }
a.tag:focus-visible, button.tag:focus-visible, a.badge:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
.line-tag { background: var(--garnet-deep); border-color: var(--garnet); color: var(--paper); }
.offer-list { border-block-start: 2px solid var(--brass); }
.offer-row { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 5vw, 4.5rem); padding-block: clamp(2rem, 5vw, 4rem); border-block-end: 2px solid var(--brass); align-items: center; }
.offer-row > * { min-width: 0; }
.offer-row__body { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
.offer-row__title { font-size: var(--text-3xl); }
.offer-row__copy { max-width: 32rem; color: var(--text-muted); }
.offer-row__media { min-width: 0; }
.offer-row__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.product { border-block-start: 2px solid var(--brass); padding-block: clamp(2.5rem, 6vw, 5rem); }
.product__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: start; gap: var(--block-gap); }
.product__grid > * { min-width: 0; }
.product__image img { width: 100%; height: auto; object-fit: cover; }
.product__body { display: flex; flex-direction: column; gap: 1.5rem; align-items: flex-start; }
.product__title { font-size: var(--text-2xl); }
.product__code { font-family: var(--pera-ace); font-size: var(--text-xs); color: var(--text-muted); letter-spacing: .06em; }
.product__price { font-family: var(--pera-ace); font-size: clamp(1.5rem, 2.4vw, 2.5rem); font-weight: 500; line-height: 1.4; font-variant-numeric: tabular-nums; }
.product__basis { display: block; margin-block-start: .5rem; font-family: var(--pera-3f2); font-size: .8125rem; font-weight: 400; color: var(--text-muted); line-height: 1.8; }
.product__note { padding-inline-start: 1rem; border-inline-start: 2px solid var(--brass); color: var(--text-muted); font-size: var(--text-sm); }
.product-detail { margin-block-start: 2rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: end; }
.product-detail figcaption { max-width: 30rem; }
.spec-table { width: 100%; font-size: var(--text-sm); line-height: 1.85; border-block-start: 1px solid var(--brass); }
.spec-table th, .spec-table td { padding: 1rem .75rem 1rem 0; border-block-end: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
.spec-table th { width: 34%; color: var(--text-muted); font-weight: 400; }
.spec-table td:last-child { padding-inline-end: 0; }
.spec-table caption { text-align: start; margin-block-end: .75rem; font-size: .8125rem; font-weight: 500; color: var(--text-muted); }
.spec-list { width: 100%; border-block-start: 1px solid var(--brass); }
.spec-list > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 1rem; padding-block: 1rem; border-block-end: 1px solid var(--line); font-size: var(--text-sm); }
.spec-list dt { color: var(--text-muted); }
.spec-list dd { min-width: 0; }
.notice { padding: 1.25rem 1.5rem; border: 1px solid var(--line); border-inline-start: 3px solid var(--brass); font-size: var(--text-sm); line-height: 1.9; }
.notice > * + * { margin-block-start: .75rem; }
.notice--warning { border-inline-start-color: var(--garnet); }
.notice--error { border-color: var(--error); color: var(--error); }
.notice--success { border-color: var(--success); color: var(--success); }
.breadcrumbs { margin-block-end: 2rem; font-size: .75rem; color: var(--text-muted); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; }
.breadcrumbs li { display: inline-flex; gap: .75rem; align-items: center; min-width: 0; }
.breadcrumbs li + li::before { content: '/'; color: var(--ash); }
.breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .25rem; text-decoration: none; }
.breadcrumbs a:hover { background: var(--surface); color: var(--paper); text-decoration: underline; text-decoration-color: var(--brass); }
.breadcrumbs a:active { background: var(--garnet-deep); }
.breadcrumbs a:focus-visible { outline-color: var(--focus); outline-offset: 2px; }

.inquiry-form, .fit-form, .data-request-form { min-width: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.form-field, .field { display: flex; flex-direction: column; gap: .625rem; min-width: 0; }
.form-field--full, .field--full { grid-column: 1 / -1; }
.form-field label, .field label, .field-label { display: block; font-size: .875rem; font-weight: 500; line-height: 1.75; }
.field-required { display: inline-block; margin-inline-start: .625rem; padding: .125rem .375rem; background: var(--paper); color: var(--garnet-deep); font-size: .6875rem; font-weight: 700; vertical-align: .1em; }
.field-optional { display: inline-block; margin-inline-start: .625rem; color: var(--text-muted); font-size: .75rem; }
input:not([type='checkbox']):not([type='radio']):not([type='hidden']), select, textarea { width: 100%; max-width: 100%; min-width: 0; min-height: 52px; padding: .875rem 1rem; border: 1px solid var(--line); background: var(--ink); color: var(--paper); font-family: var(--pera-3f2); font-size: 1rem; line-height: 1.6; box-shadow: none; }
textarea { min-height: 10rem; }
select { padding-inline-end: 2rem; }
input::placeholder, textarea::placeholder { color: var(--ash); opacity: 1; }
input:not([type='hidden']):hover, select:hover, textarea:hover { border-color: var(--brass); background-color: var(--surface); }
input:not([type='hidden']):active, select:active, textarea:active { border-color: var(--paper); background-color: var(--surface); box-shadow: inset 0 -2px 0 var(--brass); }
input:not([type='hidden']):focus-visible, select:focus-visible, textarea:focus-visible { border-color: var(--brass); outline: 2px solid var(--focus); outline-offset: 3px; background-color: var(--surface); }
input[aria-invalid='true'], select[aria-invalid='true'], textarea[aria-invalid='true'] { border-color: var(--error); box-shadow: inset 3px 0 0 var(--error); }
.form-error, .field-error { margin: 0; color: var(--error); font-size: .8125rem; font-weight: 500; line-height: 1.75; }
.form-error:empty, .field-error:empty { display: none; }
.form-hint, .field-hint { color: var(--text-muted); font-size: .8125rem; line-height: 1.8; }
.form-section { margin-block-start: 2rem; padding-block-start: 1.5rem; border-block-start: 1px solid var(--line); }
.form-section legend { padding-inline-end: 1rem; font-family: var(--pera-508); font-size: var(--text-lg); }
.checkbox-field, .radio-field { display: flex; align-items: flex-start; gap: .875rem; min-height: 44px; padding-block: .75rem; font-size: .875rem; line-height: 1.85; cursor: pointer; }
.checkbox-field input, .radio-field input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-block-start: .25rem; accent-color: var(--garnet); cursor: pointer; }
.checkbox-field:hover, .radio-field:hover { color: var(--paper); background-color: var(--garnet-deep); }
.checkbox-field:active, .radio-field:active { background-color: var(--surface); }
.checkbox-field:focus-within, .radio-field:focus-within { outline: 1px solid var(--brass); outline-offset: 4px; }
.checkbox-field a, .radio-field a { text-decoration-color: var(--brass); text-decoration-thickness: 1px; }
.form-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin-block-start: 1.5rem; }
.form-actions p { flex: 1 1 15rem; min-width: 0; font-size: .8125rem; color: var(--text-muted); }
.form-summary { border: 1px solid var(--error); padding: 1.25rem; margin-block-end: 1.5rem; color: var(--error); }
.form-summary a { display: inline-block; min-height: 44px; padding-block: .5rem; }
.form-summary:empty { display: none; }
.form-status { margin-block-start: 1rem; font-size: .875rem; }
.form-status:empty { display: none; }
.inquiry-form[aria-busy='true'] { cursor: progress; }
.inquiry-form[aria-busy='true'] .button { opacity: .7; }
.on-light :is(input:not([type='checkbox']):not([type='radio']):not([type='hidden']), select, textarea), .section--paper :is(input:not([type='checkbox']):not([type='radio']):not([type='hidden']), select, textarea) { background: var(--paper); border-color: #78786f; color: var(--ink); color-scheme: light; }
.on-light :is(input, select, textarea):hover, .section--paper :is(input, select, textarea):hover { border-color: var(--garnet); background: #e7e1d4; }
.on-light :is(input, select, textarea):active, .section--paper :is(input, select, textarea):active { border-color: var(--ink); box-shadow: inset 0 -2px 0 var(--garnet); }
.on-light :is(input, select, textarea):focus-visible, .section--paper :is(input, select, textarea):focus-visible { border-color: var(--garnet); background: var(--paper); outline-color: var(--garnet); }
.on-light .checkbox-field:hover, .section--paper .checkbox-field:hover { background: #e7e1d4; color: var(--ink); }
.on-light .checkbox-field:active, .section--paper .checkbox-field:active { background: #d9d1c1; }

.filter-bar { display: flex; flex-wrap: wrap; gap: .75rem; padding-block: 1.5rem; border-block: 1px solid var(--line); }
.filter-chip { min-height: 44px; padding: .625rem 1rem; border: 1px solid var(--line); background: transparent; color: inherit; font-size: .8125rem; line-height: 1.6; }
.filter-chip[aria-pressed='true'] { border-color: var(--garnet); background: var(--garnet); color: var(--paper); }
.filter-chip:hover { border-color: var(--brass); background: var(--garnet-deep); color: var(--paper); }
.filter-chip:active { background: var(--ink); border-color: var(--brass); box-shadow: inset 0 -2px 0 var(--brass); }
.filter-chip:focus-visible { outline-color: var(--focus); outline-offset: 3px; }
.tabs { min-width: 0; }
.tab-list, [role='tablist'] { display: flex; flex-wrap: wrap; gap: .5rem; border-block-end: 1px solid var(--brass); padding-block-end: .75rem; }
.tab, [role='tab'] { min-height: 44px; max-width: 100%; padding: .75rem 1.25rem; border: 1px solid var(--line); background: transparent; color: inherit; font-size: .875rem; line-height: 1.7; }
.tab[aria-selected='true'], [role='tab'][aria-selected='true'] { background: var(--garnet); color: var(--paper); border-color: var(--garnet); }
.tab:hover, [role='tab']:hover { background: var(--garnet-deep); color: var(--paper); border-color: var(--brass); }
.tab:active, [role='tab']:active { background: var(--ink); color: var(--paper); box-shadow: inset 0 -2px 0 var(--brass); }
.tab:focus-visible, [role='tab']:focus-visible { outline-color: var(--focus); outline-offset: 3px; }
.tab-panel, [role='tabpanel'] { padding-block-start: 2rem; }
.faq-item { border-block-end: 1px solid var(--line); }
.faq-item:first-child { border-block-start: 1px solid var(--brass); }
.faq-item summary, .faq-trigger { display: flex; width: 100%; align-items: flex-start; justify-content: space-between; gap: 1.5rem; min-height: 64px; padding: 1.25rem .5rem; background: transparent; border: 0; color: inherit; cursor: pointer; list-style: none; font-family: var(--pera-508); font-size: var(--text-lg); line-height: 1.7; text-align: start; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover, .faq-trigger:hover { background: var(--surface); color: var(--paper); box-shadow: inset 3px 0 0 var(--brass); }
.faq-item summary:active, .faq-trigger:active { background: var(--garnet-deep); color: var(--paper); box-shadow: inset 3px 0 0 var(--paper); }
.faq-item summary:focus-visible, .faq-trigger:focus-visible { outline-color: var(--focus); outline-offset: 3px; }
.faq-item summary .icon, .faq-trigger .icon { margin-block-start: .35rem; transition: transform 160ms var(--ease-standard); }
.faq-item[open] summary .icon, .faq-trigger[aria-expanded='true'] .icon { transform: rotate(180deg); }
.faq-answer { padding: .25rem .5rem 2rem; max-width: var(--measure); color: var(--text-muted); }
.faq-answer > * + * { margin-block-start: 1rem; }

.site-footer { position: relative; padding-block: clamp(3rem, 5vw, 5rem) 1.5rem; background: var(--ink); color: var(--paper); border-block-start: 1px solid var(--brass); }
.footer-main { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, .8fr); gap: 3rem; padding-block-end: 3rem; }
.footer-main > * { min-width: 0; }
.footer-brand .brand img { height: 2.5rem; }
.footer-brand p { max-width: 25rem; margin-block-start: 1.5rem; color: var(--text-muted); font-size: .875rem; line-height: 1.9; }
.footer-signature { display: flex; align-items: center; gap: 1.25rem; margin-block-start: 2rem; }
.footer-signature p { margin: 0; color: var(--paper); font-family: var(--pera-508); font-size: .9375rem; }
.footer-heading { font-family: var(--pera-ace); font-size: .8125rem; font-weight: 500; letter-spacing: .075em; color: var(--text-muted); margin-block-end: 1rem; }
.footer-address { font-size: .875rem; line-height: 1.95; overflow-wrap: anywhere; }
.footer-address p + p { margin-block-start: .5rem; }
.footer-address a { display: inline-flex; gap: .625rem; align-items: center; min-height: 44px; max-width: 100%; padding-block: .5rem; text-decoration: none; font-size: .875rem; }
.footer-links { display: grid; grid-template-columns: minmax(0, 1fr); gap: .125rem; }
.footer-links a, .footer-legal a, .footer-legal button { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: .625rem .25rem; border: 0; background: transparent; color: var(--text-muted); text-decoration: none; line-height: 1.65; text-align: start; font-size: .8125rem; }
.footer-links a:hover, .footer-legal a:hover, .footer-legal button:hover, .footer-address a:hover { background: var(--surface); color: var(--paper); box-shadow: inset 0 -1px 0 var(--brass); }
.footer-links a:active, .footer-legal a:active, .footer-legal button:active, .footer-address a:active { background: var(--garnet-deep); color: var(--paper); box-shadow: inset 0 -2px 0 var(--brass); }
.footer-links a:focus-visible, .footer-legal a:focus-visible, .footer-legal button:focus-visible, .footer-address a:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; color: var(--paper); }
.footer-legal { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; align-items: center; padding-block: 1.25rem; border-block: 1px solid var(--line); }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 1rem 2rem; padding-block-start: 1.5rem; color: var(--text-muted); font-size: .75rem; line-height: 1.85; }
.footer-bottom p { max-width: 34rem; }
.footer-copyright { font-family: var(--pera-ace); font-size: .75rem; }

.cookie-banner { position: fixed; inset-inline: 0; inset-block-end: 0; z-index: var(--z-consent); max-height: 33vh; overflow-y: auto; padding: .75rem var(--gutter) max(.75rem, env(safe-area-inset-bottom)); border-block-start: 1px solid var(--brass); background: var(--paper); color: var(--ink); color-scheme: light; }
.cookie-banner__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1.5rem; max-width: var(--shell-max); margin-inline: auto; }
.cookie-banner__copy { flex: 1 1 20rem; font-size: .8125rem; line-height: 1.6; margin: 0; }
.cookie-banner__copy a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: .25rem; color: var(--garnet-deep); text-decoration-color: var(--garnet); }
.cookie-banner__copy a:hover { color: var(--paper); background: var(--garnet); }
.cookie-banner__copy a:active { color: var(--paper); background: var(--garnet-deep); }
.cookie-banner__copy a:focus-visible { outline-color: var(--garnet); outline-offset: 2px; }
.cookie-banner__actions { display: flex; flex: 0 1 auto; flex-wrap: wrap; gap: .5rem; }
.cookie-banner__actions button { flex: 1 1 auto; min-height: 44px; padding: .625rem 1.25rem; border: 1px solid var(--ink); font-size: .8125rem; font-weight: 500; line-height: 1.5; background: var(--paper); color: var(--ink); }
.cookie-banner__actions button[data-a6a256-accept] { background: var(--ink); color: var(--paper); }
.cookie-banner__actions button:hover { background: var(--garnet); color: var(--paper); border-color: var(--garnet); }
.cookie-banner__actions button:active { background: var(--garnet-deep); color: var(--paper); border-color: var(--ink); box-shadow: inset 0 -2px 0 var(--brass); }
.cookie-banner__actions button:focus-visible { outline: 2px solid var(--garnet); outline-offset: 3px; }
.consent-status { font-size: .8125rem; color: var(--text-muted); }
body:has([data-a6a256]:not([hidden])) { --consent-offset: 6rem; padding-block-end: var(--consent-offset); }

.chat-dock { position: relative; z-index: var(--z-chat); background: var(--ink); padding: 0 var(--gutter) max(1rem, env(safe-area-inset-bottom)); display: flex; justify-content: flex-end; }
.chat-launcher { display: inline-flex; justify-content: center; align-items: center; gap: .625rem; min-height: 48px; max-width: min(100%, 18rem); padding: .75rem 1.125rem; border: 1px solid var(--brass); background: var(--surface); color: var(--paper); font-size: .875rem; font-weight: 500; line-height: 1.6; }
.chat-launcher:hover { background: var(--garnet); color: var(--paper); border-color: var(--paper); transform: translateY(-1px); }
.chat-launcher:active { background: var(--garnet-deep); color: var(--paper); border-color: var(--brass); box-shadow: inset 0 0 0 2px var(--brass); transform: translateY(1px); }
.chat-launcher:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; background: var(--surface); }
.chat-unread { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5rem; min-height: 1.5rem; padding: .125rem .375rem; background: var(--garnet); color: var(--paper); font-family: var(--pera-ace); font-size: .6875rem; line-height: 1.4; }
.chat-panel { position: fixed; z-index: var(--z-chat); inset-inline-end: var(--gutter); inset-block-end: calc(1rem + var(--consent-offset)); display: flex; flex-direction: column; width: min(27rem, calc(100vw - var(--gutter) * 2)); max-height: calc(100dvh - 2rem - var(--consent-offset)); background: var(--paper); color: var(--ink); border: 1px solid var(--brass); color-scheme: light; overflow-y: auto; overscroll-behavior: contain; }
.chat-panel__header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; background: var(--ink); color: var(--paper); border-block-end: 1px solid var(--brass); }
.chat-panel__title { font-family: var(--pera-508); font-size: 1.125rem; line-height: 1.6; }
.chat-panel__subtitle { font-size: .75rem; color: var(--text-muted); margin-block-start: .25rem; }
.chat-panel__intro { padding: 1rem 1.25rem 0; font-size: .8125rem; line-height: 1.85; }
.chat-onboarding { padding: 1.25rem; }
.chat-onboarding .form-field + .form-field { margin-block-start: 1rem; }
.chat-onboarding .checkbox-field { font-size: .75rem; }
.chat-panel input:not([type='checkbox']):not([type='hidden']), .chat-panel textarea { background: var(--paper); color: var(--ink); border-color: #78786f; min-height: 48px; }
.chat-panel :is(input, textarea):hover { background: #e7e1d4; border-color: var(--garnet); }
.chat-panel :is(input, textarea):active { background: #e7e1d4; border-color: var(--ink); box-shadow: inset 0 -2px 0 var(--garnet); }
.chat-panel :is(input, textarea):focus-visible { background: var(--paper); border-color: var(--garnet); outline-color: var(--garnet); }
.chat-panel .checkbox-field:hover { background: #e7e1d4; color: var(--ink); }
.chat-panel .checkbox-field:active { background: #d9d1c1; }
.chat-panel .form-error, .chat-panel .field-error { color: var(--garnet-deep); }
.chat-transcript { display: flex; flex: 1 1 auto; flex-direction: column; gap: 1rem; min-height: 8rem; max-height: 42dvh; padding: 1.25rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: var(--garnet) var(--paper); }
.chat-message { align-self: flex-start; max-width: 92%; border-inline-start: 2px solid var(--brass); padding: .625rem .875rem; background: #e7e1d4; font-size: .875rem; line-height: 1.85; overflow-wrap: anywhere; white-space: pre-wrap; }
.chat-message--outgoing, .chat-message[data-role='visitor'] { align-self: flex-end; background: var(--surface); color: var(--paper); border-inline-start-color: var(--garnet); }
.chat-message__meta { display: block; margin-block-start: .5rem; font-size: .6875rem; font-family: var(--pera-ace); color: var(--muted-on-light); }
.chat-message--outgoing .chat-message__meta { color: var(--text-muted); }
.chat-message--pending { border-inline-start-style: dashed; }
.chat-message--failed { border: 1px solid var(--garnet); }
.chat-message__retry { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .75rem; margin-block-start: .5rem; background: var(--paper); border: 1px solid var(--garnet); color: var(--garnet); font-size: .8125rem; }
.chat-message__retry:hover { background: var(--garnet); color: var(--paper); }
.chat-message__retry:active { background: var(--garnet-deep); color: var(--paper); box-shadow: inset 0 -2px 0 var(--brass); }
.chat-message__retry:focus-visible { outline-color: var(--garnet); outline-offset: 3px; }
.chat-compose { display: flex; flex-direction: column; gap: .75rem; padding: 1rem 1.25rem; border-block-start: 1px solid var(--line-light); }
.chat-compose label { font-size: .8125rem; font-weight: 500; }
.chat-compose textarea { min-height: 5.5rem; max-height: 10rem; }
.chat-compose__actions { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.chat-compose__actions small { font-size: .6875rem; color: var(--muted-on-light); }
.chat-status { padding: .5rem 1.25rem; color: var(--garnet-deep); font-size: .75rem; line-height: 1.8; }
.chat-status:empty { display: none; }
.chat-privacy { padding: 0 1.25rem 1rem; font-size: .6875rem; color: var(--muted-on-light); }
.chat-privacy a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; }
.chat-launcher.is-floating { position: fixed; inset-inline-end: var(--gutter); inset-block-end: calc(1rem + var(--consent-offset)); }
body:has(.site-footer[data-in-view='true']) .chat-launcher.is-floating { position: static; }
body:has([data-a6a256]:not([hidden])) .chat-launcher.is-floating { visibility: hidden; }

.lightbox { width: min(1100px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.25rem; border: 1px solid var(--brass); background: var(--ink); color: var(--paper); }
.lightbox::backdrop { background: rgb(12 21 36 / .94); }
.lightbox__header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-block-end: 1rem; }
.lightbox__image { width: 100%; max-height: 72dvh; object-fit: contain; }
.lightbox__caption { padding-block-start: 1rem; font-size: .875rem; color: var(--text-muted); }
.lightbox-trigger { display: block; width: 100%; padding: 0; border: 1px solid transparent; background: transparent; color: inherit; text-align: start; }
.lightbox-trigger:hover { border-color: var(--brass); background: var(--surface); }
.lightbox-trigger:active { border-color: var(--paper); background: var(--garnet-deep); box-shadow: inset 0 0 0 2px var(--brass); }
.lightbox-trigger:focus-visible { outline-color: var(--focus); outline-offset: 4px; }
.lightbox-trigger__label { display: flex; gap: .75rem; align-items: center; min-height: 44px; padding: .75rem; font-size: .8125rem; }

@media (max-width: 1100px) {
  .header-inner { gap: 1rem; }
  .nav-list { gap: .125rem .625rem; }
  .nav-list a { font-size: .75rem; }
  .footer-main { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2rem; }
  .footer-explore { grid-column: 1 / -1; }
  .footer-explore .footer-links { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; }
}
@media (max-width: 767px) {
  .header-inner { flex-wrap: wrap; column-gap: .625rem; row-gap: 0; }
  .brand img { height: clamp(1.5rem, 4.8vw, 2.1rem); }
  .site-header.is-condensed .header-inner, .site-header[data-condensed='true'] .header-inner { min-height: 4.5rem; padding-block: .625rem; }
  .site-nav { width: 100%; flex-basis: 100%; padding-block-start: .75rem; }
  .nav-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .125rem .75rem; border-block-start: 1px solid var(--line); padding-block: .5rem; }
  .nav-list a { width: 100%; padding: .75rem .25rem; font-size: .875rem; }
  .js .nav-toggle { display: inline-flex; }
  .js [data-635b74][aria-expanded='false'] ~ [data-2d9748] { display: none; }
  .js [data-635b74][aria-expanded='true'] ~ [data-2d9748] { display: block; }
  .section-heading { gap: 1rem; }
  .section-heading .seal { width: 3.75rem; padding: .625rem; }
  .offer-row, .product__grid { grid-template-columns: minmax(0, 1fr); }
  .offer-row__body { gap: 1.25rem; }
  .offer-row__media { order: -1; }
  .product-detail { grid-template-columns: minmax(0, 1fr); }
  .form-grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .form-actions { align-items: stretch; }
  .form-actions .button { width: 100%; }
  .footer-main { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; padding-block-end: 2rem; }
  .footer-explore { grid-column: auto; }
  .footer-brand .brand img { height: clamp(1.75rem, 7.5vw, 2.5rem); }
  .footer-legal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: .25rem .875rem; }
  .footer-legal a, .footer-legal button { font-size: .75rem; }
  .footer-bottom { flex-direction: column; }
  .cookie-banner { padding: .375rem .75rem max(.375rem, env(safe-area-inset-bottom)); }
  .cookie-banner__inner { gap: .125rem .5rem; }
  .cookie-banner__copy { flex-basis: 100%; font-size: .6875rem; display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; }
  .cookie-banner__copy a { padding: .25rem; }
  .cookie-banner__actions { width: 100%; gap: .5rem; }
  .cookie-banner__actions button { flex: 1 1 0; padding: .625rem .5rem; font-size: .75rem; }
  body:has([data-a6a256]:not([hidden])) { --consent-offset: 7.5rem; }
  .chat-panel { inset-inline: .75rem; width: auto; inset-block-end: calc(.75rem + var(--consent-offset)); max-height: calc(100dvh - 1.5rem - var(--consent-offset)); }
  .chat-panel__header { padding: .75rem 1rem; }
  .chat-transcript { padding: 1rem; max-height: 35dvh; }
  .chat-compose { padding: 1rem; }
  .chat-launcher.is-floating { inset-inline-end: 1rem; }
  .notice { padding: 1rem; }
  .action-row .button { flex: 1 1 12rem; }
}
@media (max-width: 359px) {
  .nav-toggle { padding: .625rem .5rem; font-size: .75rem; gap: .375rem; }
  .nav-toggle .icon { width: 1rem; height: 1rem; }
  .brand img { height: 1.5rem; }
  .section-heading { grid-template-columns: minmax(0, 1fr); }
  .section-heading .seal { justify-self: end; }
  .button, .btn { padding-inline: 1rem; gap: .75rem; }
  .spec-table th { width: 37%; }
  .spec-table th, .spec-table td { padding-block: .875rem; font-size: .8125rem; }
  .chat-panel__title { font-size: 1rem; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .chat-panel { inset-block: .5rem; max-height: calc(100dvh - 1rem); }
  .chat-transcript { min-height: 5rem; }
  .cookie-banner__copy { flex-basis: auto; }
  .cookie-banner__actions { width: auto; }
  .cookie-banner__inner { flex-wrap: nowrap; }
}
@media (forced-colors: active) {
  .button, .btn, .tag, .chat-launcher, .cookie-banner, .chat-panel, .nav-toggle, .icon-button { border: 1px solid ButtonText; }
  .nav-list a[aria-current], .tab[aria-selected='true'], .filter-chip[aria-pressed='true'] { outline: 2px solid Highlight; }
  .seal { border-color: CanvasText; }
}
@media print {
  .site-header, .skip-link, .cookie-banner, .chat-dock, .chat-panel, .chat-launcher, .form-actions, .nav-toggle, .filter-bar, .lightbox { display: none !important; }
  .site-footer { padding-block: 1rem; background: transparent; color: #000; }
  .footer-main { display: block; }
  .footer-explore, .footer-signature, .footer-legal { display: none; }
  .footer-brand .brand { display: none; }
  .footer-address { margin-block-start: 1rem; }
  .product__grid { display: block; }
  .product__image { max-width: 60%; margin-block-end: 1rem; }
  .faq-item .faq-answer { display: block !important; }
}
