:root{--c-ink: #17181a;--c-ink-deep: #0b0c0d;--c-ink-soft: #35373a;--c-muted: #6b6c6f;--c-meta: #85868a;--c-canvas: #ffffff;--c-on-ink: #f4f2ed;--c-surface: #f4f2ed;--c-surface-deep: #eae6de;--c-border: #dcd7cd;--c-border-strong: #b9b3a7;--c-accent: #a65128;--c-accent-hover: #8f4520;--c-accent-tint: #f3e4db;--c-success: #1f6b45;--c-success-tint: #e4efe8;--c-danger: #b3261e;--c-danger-tint: #f8e5e2;--c-rule-ink-surface: rgba(244, 242, 237, .16);--c-text-ink-surface: rgba(244, 242, 237, .72);--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-display-xl: clamp(34px, 7vw, 64px);--fs-display-lg: clamp(28px, 5vw, 48px);--fs-headline-lg: clamp(26px, 4vw, 36px);--fs-headline-md: 28px;--fs-headline-sm: 21px;--fs-body-lg: 18px;--fs-body-md: 16px;--fs-body-sm: 14px;--fs-label-md: 14px;--fs-label-caps: 12px;--fs-price: 18px;--fs-data-sm: 13px;--w-regular: 400;--w-medium: 500;--w-semibold: 600;--r-none: 0px;--r-sm: 2px;--r-md: 4px;--r-lg: 8px;--r-full: 999px;--sp-xxs: 4px;--sp-xs: 8px;--sp-sm: 12px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--sp-2xl: 48px;--sp-3xl: 64px;--sp-4xl: 96px;--sp-5xl: 128px;--gutter: 20px;--container-max: 1240px;--header-h: 64px;--shadow-lift: 0 1px 2px rgba(23, 24, 26, .06);--shadow-float: 0 16px 40px rgba(23, 24, 26, .14)}@media (min-width: 1024px){:root{--gutter: 40px;--header-h: 72px;--fs-headline-md: 28px}}@media (min-width: 640px) and (max-width: 1023px){:root{--gutter: 32px}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:var(--fs-body-md);font-weight:var(--w-regular);line-height:1.6;color:var(--c-ink);background:var(--c-canvas)}img{max-width:100%;display:block}h1,h2,h3,h4,p,dl,dd,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--c-ink);outline-offset:2px}.on-ink-surface :focus-visible,.btn--primary:focus-visible,.filter-chip--active:focus-visible{outline-color:var(--c-on-ink)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}.band{padding-block:var(--sp-3xl)}.band--paper{background:var(--c-surface)}.band--ink{background:var(--c-ink);color:var(--c-on-ink);padding-block:var(--sp-3xl)}@media (min-width: 1024px){.band,.band--ink{padding-block:var(--sp-4xl)}}.section-head{margin-bottom:var(--sp-2xl);padding-bottom:var(--sp-lg);border-bottom:1px solid var(--c-border)}.section-head__row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.section-index{display:block;font-size:var(--fs-label-caps);font-weight:var(--w-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--c-accent);margin-bottom:var(--sp-xs)}.section-head__title{font-size:var(--fs-headline-lg);font-weight:var(--w-semibold);line-height:1.12;letter-spacing:-.02em}.section-head__intro{margin-top:var(--sp-sm);max-width:65ch;color:var(--c-muted);font-size:var(--fs-body-md)}.header{position:sticky;top:0;z-index:50;height:var(--header-h);background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border)}.header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg)}.wordmark{display:flex;flex-direction:column;line-height:1.1}.wordmark__name{font-size:18px;font-weight:var(--w-semibold);letter-spacing:.06em}.wordmark__tag{font-size:var(--fs-label-caps);font-weight:var(--w-medium);letter-spacing:.09em;text-transform:uppercase;color:var(--c-muted);display:none}@media (min-width: 1024px){.wordmark__tag{display:block}}.nav-desktop{display:none;align-items:center;gap:var(--sp-xl)}.nav-desktop a{font-size:var(--fs-label-md);font-weight:var(--w-medium);padding:var(--sp-xs) 0;border-bottom:1px solid transparent}.nav-desktop a:hover{border-bottom-color:var(--c-border-strong)}.nav-desktop a.active{border-bottom-color:var(--c-ink)}.hamburger{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center}@media (min-width: 1024px){.nav-desktop{display:flex}.hamburger{display:none}}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:flex-end}.drawer__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0b0c0d66}.drawer__panel{position:relative;width:min(360px,88vw);height:100%;background:var(--c-canvas);padding:var(--sp-lg);display:flex;flex-direction:column;box-shadow:var(--shadow-float)}.drawer__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-md)}.drawer__links{flex:1;overflow-y:auto}.drawer__links a{display:flex;align-items:center;min-height:56px;font-size:var(--fs-body-md);font-weight:var(--w-medium);border-bottom:1px solid var(--c-surface-deep)}.drawer__links a.active{color:var(--c-accent)}.drawer__cta{margin-top:var(--sp-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-xs);height:48px;padding:0 var(--sp-lg);border-radius:var(--r-md);font-size:var(--fs-label-md);font-weight:var(--w-medium);line-height:1.4;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,transform 60ms ease}.btn:disabled{background:var(--c-surface-deep);color:var(--c-meta);cursor:not-allowed}.btn--primary{background:var(--c-ink);color:var(--c-on-ink)}.btn--primary:hover:not(:disabled){background:var(--c-ink-soft);color:var(--c-canvas)}.btn--primary:active:not(:disabled){background:var(--c-ink-deep);transform:translateY(1px)}.btn--secondary{background:var(--c-canvas);color:var(--c-ink);border:1px solid var(--c-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--c-surface);border-color:var(--c-ink)}.btn--secondary:active:not(:disabled){background:var(--c-surface-deep)}.btn--compact{height:40px;padding:0 var(--sp-md)}.btn--block{width:100%}.btn .spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--r-full);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn--text{height:auto;padding:var(--sp-xxs) 0;color:var(--c-ink);border-bottom:1px solid var(--c-ink);border-radius:0;gap:var(--sp-xxs)}.btn--text:hover{color:var(--c-ink-soft);border-bottom-color:var(--c-ink-soft)}.btn--text svg{transition:transform .12s ease}.btn--text:hover svg{transform:translate(2px)}.hero{display:grid;gap:var(--sp-2xl);padding-block:var(--sp-3xl)}@media (min-width: 1024px){.hero{grid-template-columns:7fr 5fr;align-items:center;gap:var(--sp-3xl);padding-block:var(--sp-4xl)}}.hero__index{display:block;font-size:var(--fs-label-caps);font-weight:var(--w-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--c-accent);margin-bottom:var(--sp-md)}.hero__title{font-size:var(--fs-display-xl);font-weight:var(--w-semibold);line-height:1.02;letter-spacing:-.03em;max-width:20ch}.hero__lede{margin-top:var(--sp-lg);font-size:var(--fs-body-lg);color:var(--c-muted);max-width:52ch}.hero__actions{margin-top:var(--sp-xl);display:flex;flex-wrap:wrap;gap:var(--sp-md)}.hero__media{position:relative}.hero__frame{border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);overflow:hidden;aspect-ratio:4 / 3}.hero__frame img{width:100%;height:100%;object-fit:cover}.hero__caption{margin-top:var(--sp-xs);font-size:var(--fs-data-sm);color:var(--c-meta);letter-spacing:.01em}.cat-grid{display:grid;gap:var(--sp-lg);grid-template-columns:1fr}@media (min-width: 640px){.cat-grid{grid-template-columns:repeat(3,1fr)}}.cat-card{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-canvas);padding:var(--sp-lg);display:block;transition:border-color .12s ease}.cat-card:hover{border-color:var(--c-border-strong)}.cat-card__index{font-size:var(--fs-label-caps);font-weight:var(--w-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--c-accent)}.cat-card h3{margin-top:var(--sp-sm);font-size:var(--fs-headline-sm);font-weight:var(--w-semibold);letter-spacing:-.01em}.cat-card p{margin-top:var(--sp-xs);font-size:var(--fs-body-sm);color:var(--c-muted);min-height:42px}.cat-card__count{margin-top:var(--sp-md);font-size:var(--fs-data-sm);color:var(--c-ink-soft);font-variant-numeric:tabular-nums}.product-grid{display:grid;gap:var(--sp-lg);grid-template-columns:1fr}@media (min-width: 640px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.product-grid{grid-template-columns:repeat(4,1fr)}}.product-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-canvas);transition:border-color .12s ease,box-shadow .12s ease}.product-card:hover{border-color:var(--c-border-strong);box-shadow:var(--shadow-lift)}.product-card__link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.product-card__media{background:var(--c-surface);border-bottom:1px solid var(--c-surface-deep);border-radius:var(--r-sm) var(--r-sm) 0 0;overflow:hidden;aspect-ratio:4 / 3}.product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .24s cubic-bezier(.22,.61,.36,1)}.product-card:hover .product-card__media img{transform:scale(1.015)}.product-card__body{padding:var(--sp-md) var(--sp-md) var(--sp-sm);display:flex;flex-direction:column;gap:var(--sp-xs);flex:1}.product-card__cat{font-size:var(--fs-label-caps);font-weight:var(--w-medium);letter-spacing:.09em;text-transform:uppercase;color:var(--c-muted)}.product-card__name{font-size:var(--fs-headline-sm);font-weight:var(--w-semibold);line-height:1.3;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.product-card__spec{margin-top:auto;border-top:1px solid var(--c-surface-deep);padding-top:var(--sp-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);position:relative;z-index:2}.product-card__price{font-size:var(--fs-price);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums lining-nums}.product-card__price-note{display:block;font-size:var(--fs-data-sm);font-weight:var(--w-regular);color:var(--c-muted);letter-spacing:.01em}.badge-moq{display:inline-flex;align-items:center;height:24px;padding:0 var(--sp-xs);border-radius:var(--r-sm);background:var(--c-surface-deep);color:var(--c-ink-soft);font-size:var(--fs-label-caps);font-weight:var(--w-medium);letter-spacing:.09em;text-transform:uppercase;font-variant-numeric:tabular-nums;white-space:nowrap}.product-card__enquire{position:relative;z-index:2;margin:0 var(--sp-md) var(--sp-md);align-self:flex-end;font-size:var(--fs-label-md);font-weight:var(--w-medium);display:inline-flex;align-items:center;gap:var(--sp-xxs);padding:var(--sp-xxs) 0;min-height:44px}.product-card__enquire:hover{text-decoration:underline;text-underline-offset:4px}.catalog-layout{display:grid;gap:var(--sp-xl);grid-template-columns:1fr}@media (min-width: 1024px){.catalog-layout{grid-template-columns:264px 1fr;gap:var(--sp-2xl);align-items:start}}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-xs)}.filter-chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--sp-md);border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-canvas);color:var(--c-ink);font-size:var(--fs-label-md);font-weight:var(--w-medium);transition:background-color .12s ease,border-color .12s ease}.filter-chip:hover{border-color:var(--c-border-strong)}.filter-chip--active{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-on-ink)}.filter-rail{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-canvas);padding:var(--sp-lg)}@media (min-width: 1024px){.filter-rail-col{align-self:stretch}.filter-rail-col>div{height:100%}.filter-rail{position:sticky;top:calc(var(--header-h) + 24px);max-height:calc(100vh - var(--header-h) - 48px);overflow-y:auto}}.filter-rail__title{font-size:var(--fs-label-caps);font-weight:var(--w-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--c-muted);margin-bottom:var(--sp-sm)}.filter-rail__group{padding-bottom:var(--sp-md);margin-bottom:var(--sp-md);border-bottom:1px solid var(--c-surface-deep)}.filter-rail__group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.filter-rail__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-xs);min-height:44px;width:100%;text-align:left;font-size:var(--fs-label-md);font-weight:var(--w-medium);color:var(--c-ink);border-left:2px solid transparent;padding-left:var(--sp-xs)}.filter-rail__row:hover{color:var(--c-ink-deep)}.filter-rail__row--active{font-weight:var(--w-semibold);border-left-color:var(--c-accent)}.filter-rail__count{font-size:var(--fs-data-sm);color:var(--c-muted);font-variant-numeric:tabular-nums}.filter-clear{margin-top:var(--sp-sm);font-size:var(--fs-label-md);font-weight:var(--w-medium);display:inline-flex;align-items:center;gap:var(--sp-xxs);min-height:44px}.filter-clear:hover{text-decoration:underline;text-underline-offset:4px}.result-count{font-size:var(--fs-data-sm);color:var(--c-muted);font-variant-numeric:tabular-nums;margin-bottom:var(--sp-md)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-xs);font-size:var(--fs-data-sm);color:var(--c-muted);margin-bottom:var(--sp-lg)}.breadcrumb a{color:var(--c-ink)}.breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}.breadcrumb__sep{color:var(--c-meta)}.detail-grid{display:grid;gap:var(--sp-2xl);grid-template-columns:1fr}@media (min-width: 1024px){.detail-grid{grid-template-columns:7fr 5fr;align-items:start}}.detail__media{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);overflow:hidden;aspect-ratio:4 / 3}.detail__media img{width:100%;height:100%;object-fit:cover}.spec-panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-lg)}@media (min-width: 1024px){.spec-panel{position:sticky;top:calc(var(--header-h) + 24px);max-height:calc(100vh - var(--header-h) - 48px);overflow-y:auto}}.spec-panel__cat{font-size:var(--fs-label-caps);font-weight:var(--w-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--c-accent)}.spec-panel__name{margin-top:var(--sp-xs);font-size:var(--fs-headline-lg);font-weight:var(--w-semibold);line-height:1.12;letter-spacing:-.02em}.spec-panel__price{margin-top:var(--sp-md);font-size:var(--fs-price);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums}.spec-panel__price-note{font-size:var(--fs-data-sm);font-weight:var(--w-regular);color:var(--c-muted)}.spec-list{margin-top:var(--sp-lg);border-top:1px solid var(--c-border)}.spec-list__row{display:flex;justify-content:space-between;gap:var(--sp-md);padding:var(--sp-sm) 0;border-bottom:1px solid var(--c-border);font-size:var(--fs-body-sm)}.spec-list__row dt{color:var(--c-muted)}.spec-list__row dd{color:var(--c-ink);font-variant-numeric:tabular-nums;text-align:right}.spec-panel__actions{margin-top:var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-sm)}.detail__desc{margin-top:var(--sp-xl);max-width:65ch;color:var(--c-ink-soft)}.feature-grid{display:grid;gap:var(--sp-lg);grid-template-columns:1fr}@media (min-width: 640px){.feature-grid{grid-template-columns:repeat(2,1fr)}}.feature-grid--ink{gap:var(--sp-xl)}.feature-card{border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-lg);background:var(--c-canvas)}.feature-grid--ink .feature-card{background:transparent;border-color:var(--c-rule-ink-surface)}.feature-card__icon{color:var(--c-ink);margin-bottom:var(--sp-sm)}.feature-grid--ink .feature-card__icon{color:var(--c-on-ink)}.feature-card h3{font-size:var(--fs-headline-sm);font-weight:var(--w-semibold);letter-spacing:-.01em}.feature-card p{margin-top:var(--sp-xs);font-size:var(--fs-body-sm);color:var(--c-muted)}.feature-grid--ink .feature-card p{color:var(--c-text-ink-surface)}.ink-cta__title{font-size:var(--fs-display-lg);font-weight:var(--w-semibold);line-height:1.06;letter-spacing:-.025em;max-width:24ch}.ink-cta__lede{margin-top:var(--sp-md);max-width:56ch;color:var(--c-text-ink-surface);font-size:var(--fs-body-md)}.ink-cta__actions{margin-top:var(--sp-xl);display:flex;flex-wrap:wrap;gap:var(--sp-md)}.ink-cta .btn--primary{background:var(--c-on-ink);color:var(--c-ink)}.ink-cta .btn--primary:hover:not(:disabled){background:var(--c-canvas);color:var(--c-ink)}.ink-cta .btn--secondary{background:transparent;color:var(--c-on-ink);border-color:var(--c-rule-ink-surface)}.ink-cta .btn--secondary:hover:not(:disabled){border-color:var(--c-on-ink);background:#f4f2ed14}.about-grid{display:grid;gap:var(--sp-2xl);grid-template-columns:1fr}@media (min-width: 1024px){.about-grid{grid-template-columns:4fr 8fr}}.about-index{display:flex;flex-direction:column;gap:var(--sp-xs);font-size:var(--fs-data-sm);color:var(--c-muted);font-variant-numeric:tabular-nums}.about-index li{display:flex;gap:var(--sp-sm);padding:var(--sp-sm) 0;border-bottom:1px solid var(--c-border)}.about-copy h2{font-size:var(--fs-headline-md);font-weight:var(--w-semibold);letter-spacing:-.015em}.about-copy p{margin-top:var(--sp-md);max-width:65ch;color:var(--c-ink-soft)}.about-copy blockquote{margin:var(--sp-lg) 0 0;padding-left:var(--sp-md);border-left:2px solid var(--c-accent);color:var(--c-muted);font-size:var(--fs-body-sm);max-width:60ch}.steps{counter-reset:step;display:grid;gap:var(--sp-md)}.steps li{display:grid;grid-template-columns:48px 1fr;gap:var(--sp-md);align-items:start;border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-md)}.steps li:before{counter-increment:step;content:"0" counter(step);font-size:var(--fs-price);font-weight:var(--w-semibold);font-variant-numeric:tabular-nums;color:var(--c-accent);line-height:1.3}.steps h3{font-size:var(--fs-headline-sm);font-weight:var(--w-semibold);letter-spacing:-.01em}.steps p{margin-top:var(--sp-xxs);font-size:var(--fs-body-sm);color:var(--c-muted)}.form{max-width:640px;display:grid;gap:var(--sp-lg)}.field{display:grid;gap:var(--sp-xs)}.field label{font-size:var(--fs-label-md);font-weight:var(--w-medium)}.field .optional{color:var(--c-muted);font-weight:var(--w-regular)}.input,.select,.textarea{width:100%;min-height:48px;padding:var(--sp-sm);border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-canvas);color:var(--c-ink);font:inherit;font-size:var(--fs-body-md)}.input:hover,.select:hover,.textarea:hover{border-color:var(--c-ink)}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-ink);outline:2px solid var(--c-ink);outline-offset:2px}.textarea{min-height:128px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--c-ink) 50%),linear-gradient(135deg,var(--c-ink) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:var(--sp-xl)}.field--error .input,.field--error .textarea,.field--error .select{border-color:var(--c-danger)}.field__error{display:flex;align-items:flex-start;gap:var(--sp-xs);font-size:var(--fs-body-sm);color:var(--c-danger)}.form-pair{display:grid;gap:var(--sp-lg);grid-template-columns:1fr}@media (min-width: 640px){.form-pair{grid-template-columns:1fr 1fr}}.error-summary{border:1px solid var(--c-danger);background:var(--c-danger-tint);color:var(--c-danger);border-radius:var(--r-md);padding:var(--sp-md);font-size:var(--fs-body-sm)}.error-summary h3{font-size:var(--fs-label-md);font-weight:var(--w-semibold);margin-bottom:var(--sp-xs)}.error-summary a{text-decoration:underline;text-underline-offset:3px}.success-panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-xl)}.success-panel__icon{color:var(--c-success);margin-bottom:var(--sp-md)}.success-panel h2{font-size:var(--fs-headline-md);font-weight:var(--w-semibold);letter-spacing:-.015em}.success-panel p{margin-top:var(--sp-sm);color:var(--c-ink-soft)}.success-panel .btn{margin-top:var(--sp-lg)}.compo-message{margin-top:var(--sp-md);background:var(--c-canvas);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-md);font-family:var(--font);font-size:var(--fs-body-sm);line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto}.ready-actions{margin-top:var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-sm)}.ready-actions-row{display:flex;justify-content:space-between;gap:var(--sp-md);flex-wrap:wrap}.contact-channels{display:grid;gap:var(--sp-sm);margin-bottom:var(--sp-xl)}.contact-channel{display:flex;align-items:center;gap:var(--sp-md);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-md)}.contact-channel__icon{color:var(--c-ink-soft);display:inline-flex}.contact-channel a,.contact-channel span{font-size:var(--fs-body-md);font-weight:var(--w-medium);color:var(--c-ink)}.contact-channel a:hover{text-decoration:underline;text-underline-offset:4px}.contact-channel__label{font-size:var(--fs-data-sm);color:var(--c-muted)}.empty-state{grid-column:1 / -1;max-width:420px;margin-inline:auto;text-align:center;padding:var(--sp-3xl) var(--sp-lg)}.empty-state__icon{color:var(--c-border-strong);margin:0 auto var(--sp-md);display:block}.empty-state h3{font-size:var(--fs-headline-sm);font-weight:var(--w-semibold);letter-spacing:-.01em}.empty-state p{margin-top:var(--sp-xs);color:var(--c-muted)}.empty-state__actions{margin-top:var(--sp-lg);display:flex;flex-direction:column;align-items:center;gap:var(--sp-sm)}.page-404{min-height:calc(100vh - var(--header-h));display:flex;align-items:center}.page-404__inner{width:100%;max-width:640px;margin-inline:auto;text-align:center;padding-block:var(--sp-3xl)}.page-404__code{font-size:var(--fs-label-caps);font-weight:var(--w-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--c-accent)}.page-404 h1{margin-top:var(--sp-md);font-size:var(--fs-display-lg);font-weight:var(--w-semibold);line-height:1.06;letter-spacing:-.025em}.page-404 p{margin-top:var(--sp-md);color:var(--c-muted)}.page-404__actions{margin-top:var(--sp-xl);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-md)}.page-404__links{margin-top:var(--sp-lg);display:flex;justify-content:center;flex-wrap:wrap;gap:var(--sp-lg);font-size:var(--fs-label-md);font-weight:var(--w-medium)}.page-404__links a{display:inline-flex;align-items:center;min-height:44px}.page-404__links a:hover{text-decoration:underline;text-underline-offset:4px}.footer{background:var(--c-ink);color:var(--c-on-ink);padding-block:var(--sp-3xl)}.footer__grid{display:grid;gap:var(--sp-xl);grid-template-columns:1fr}@media (min-width: 640px){.footer__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}.footer__brand p{margin-top:var(--sp-sm);font-size:var(--fs-body-sm);color:var(--c-text-ink-surface);max-width:34ch}.footer h4{font-size:var(--fs-label-caps);font-weight:var(--w-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--c-text-ink-surface);margin-bottom:var(--sp-sm)}.footer ul{display:grid;gap:var(--sp-xs)}.footer ul a{display:inline-flex;align-items:center;min-height:32px;font-size:var(--fs-body-sm);color:var(--c-text-ink-surface)}.footer ul a:hover{color:var(--c-on-ink)}.footer__legal{margin-top:var(--sp-2xl);padding-top:var(--sp-lg);border-top:1px solid var(--c-rule-ink-surface);font-size:var(--fs-data-sm);color:var(--c-text-ink-surface);display:flex;flex-wrap:wrap;gap:var(--sp-md);justify-content:space-between}.skeleton{position:relative;overflow:hidden;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.alert{display:flex;align-items:flex-start;gap:var(--sp-sm);border-radius:var(--r-md);padding:var(--sp-md);font-size:var(--fs-body-sm)}.alert--success{background:var(--c-success-tint);color:var(--c-success)}.alert--error{background:var(--c-danger-tint);color:var(--c-danger)}.filter-trigger{display:inline-flex;margin-bottom:var(--sp-md)}.rail-desktop{display:none}@media (min-width: 1024px){.filter-trigger{display:none}.rail-desktop{display:block}}.footer-contact{display:inline-flex;align-items:center;gap:var(--sp-xs);word-break:break-all}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.fab{position:fixed;right:var(--gutter);bottom:var(--gutter);z-index:60}.fab__main{display:inline-flex;align-items:center;gap:var(--sp-xs);height:52px;padding:0 20px 0 16px;border:none;border-radius:var(--r-full);background:var(--c-ink);color:var(--c-on-ink);font-family:inherit;font-size:var(--fs-label-md);font-weight:var(--w-semibold);cursor:pointer;box-shadow:var(--shadow-float);transition:background-color .12s ease,transform .12s ease}.fab__main:hover{background:var(--c-ink-deep);transform:translateY(-1px)}.fab__main:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.fab__menu{position:absolute;bottom:calc(100% + 12px);right:0;list-style:none;margin:0;padding:8px;display:flex;flex-direction:column;gap:4px;min-width:236px;background:var(--c-canvas);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-float);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .14s ease,transform .14s ease}.fab__menu:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:12px}.fab:hover .fab__menu,.fab:focus-within .fab__menu,.fab--open .fab__menu{opacity:1;transform:translateY(0);pointer-events:auto}.fab__item{display:flex;align-items:center;gap:var(--sp-sm);padding:10px 12px;border-radius:var(--r-md);text-decoration:none;color:var(--c-ink);transition:background-color .12s ease}.fab__item:hover{background:var(--c-surface)}.fab__item--whatsapp{background:var(--c-success-tint)}.fab__item--whatsapp:hover{background:#d9e8de}.fab__ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:var(--r-full);background:var(--c-surface);color:var(--c-ink)}.fab__item--whatsapp .fab__ico{background:var(--c-success);color:#fff}.fab__txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}.fab__txt strong{font-size:var(--fs-label-md);font-weight:var(--w-semibold)}.fab__txt small{font-size:12px;color:var(--c-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 480px){.fab__main-label{display:none}.fab__main{width:52px;height:52px;padding:0;justify-content:center}.fab__menu{min-width:210px}}
