:root { color-scheme: light; --ink: #202423; --muted: #68716d; --line: #dde2df; --paper: #f4f6f4; --green: #285849; --soft-green: #eaf1ed; font-family: "Segoe UI Variable", "Segoe UI", Arial, sans-serif; }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 20px; }
    body { margin: 0; color: var(--ink); background: #fff; font-size: 15px; line-height: 1.55; letter-spacing: 0; -webkit-font-smoothing: antialiased; }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    button, summary { cursor: pointer; }
    img { display: block; max-width: 100%; }
    button, a, input, summary { -webkit-tap-highlight-color: transparent; }
    :focus-visible { outline: 3px solid #478974; outline-offset: 5px; }
    h1, h2, h3, p { margin: 0; }
    .wrap { width: calc(100% - 96px); max-width: 1320px; margin-inline: auto; }
    .icon { width: 20px; height: 20px; flex: 0 0 20px; }
    .white-icon { filter: brightness(0) invert(1); }
    .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    .skip-link { position: absolute; top: -100px; left: 16px; padding: 12px 20px; background: #fff; z-index: 50; }
    .skip-link:focus { top: 12px; }
    .utility { color: #e4e9e6; background: #242b27; font-size: 12px; }
    .utility-inner { min-height: 35px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
    .utility-left, .utility-right, .utility a { display: flex; align-items: center; gap: 8px; }
    .utility-left { gap: 24px; }
    .utility .icon { width: 13px; height: 13px; flex-basis: 13px; opacity: .8; }
    .utility-right { gap: 16px; }
    .utility-right .active-language { font-weight: 700; color: #fff; }
    .utility-right a { min-width: 26px; min-height: 32px; justify-content: center; color: #b9c5be; }
    .site-header { border-bottom: 1px solid var(--line); background: #fff; }
    .header-inner { min-height: 100px; display: flex; align-items: center; justify-content: space-between; gap: 28px; position: relative; }
    .brand { display: flex; align-items: center; gap: 13px; flex-shrink: 0; }
    .brand img { width: 62px; height: 62px; object-fit: contain; }
    .brand-wordmark { display: grid; gap: 1px; }
    .brand-wordmark strong { font-size: 23px; line-height: 1.1; font-weight: 750; }
    .brand-wordmark span { font-size: 11px; color: var(--muted); }
    .desktop-nav { display: flex; gap: 22px; align-items: center; }
    .desktop-nav a { font-size: 13px; font-weight: 550; min-height: 44px; display: flex; align-items: center; gap: 2px; border-bottom: 2px solid transparent; padding-top: 2px; }
    .desktop-nav a:hover { border-color: var(--green); }
    .desktop-nav .icon { width: 13px; height: 13px; flex-basis: 13px; }
    .mobile-menu { display: none; }
    .mobile-menu summary { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 4px; list-style: none; }
    summary::-webkit-details-marker { display: none; }
    .menu-close { display: none; }
    .mobile-menu[open] .menu-open { display: none; }
    .mobile-menu[open] .menu-close { display: block; }
    .mobile-links { position: absolute; right: 0; top: calc(100% - 4px); z-index: 10; width: min(340px, calc(100vw - 32px)); background: white; border: 1px solid var(--line); box-shadow: 0 12px 25px #20242312; padding: 10px; border-radius: 4px; }
    .mobile-links a { display: flex; align-items: center; gap: 4px; padding: 12px 14px; border-radius: 2px; }
    .mobile-links .icon { width: 13px; height: 13px; flex-basis: 13px; }
    .mobile-links a:hover { background: var(--paper); }
    .intro { background: var(--paper); border-bottom: 1px solid var(--line); padding: 34px 0 30px; }
    .intro-copy { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 22px; }
    h1 { font-size: 32px; font-weight: 650; line-height: 1.2; }
    .intro-copy p { font-size: 14px; color: var(--muted); margin-top: 8px; }
    .intro-contact { font-size: 13px; display: flex; align-items: center; gap: 8px; white-space: nowrap; color: var(--green); padding-bottom: 3px; }
    .search { display: flex; align-items: center; gap: 14px; min-height: 60px; padding: 5px 5px 5px 19px; background: #fff; border: 1px solid #ccd4ce; border-radius: 5px; }
    .search > .icon { opacity: .6; }
    .search input { width: 100%; min-width: 0; border: none; outline: none; background: transparent; color: var(--ink); padding: 10px 0; font-size: 16px; }
    .search input::placeholder { color: #758079; opacity: 1; }
    .search:focus-within { outline: 2px solid #478974; outline-offset: 3px; }
    .search button { flex-shrink: 0; align-self: stretch; background: var(--ink); color: #fff; border: 0; border-radius: 3px; padding: 10px 26px; font-weight: 600; display: flex; align-items: center; gap: 22px; }
    .search button:hover { background: var(--green); }
    .quick-links { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; margin-top: 14px; font-size: 12px; color: var(--muted); }
    .quick-links a { display: inline-flex; align-items: center; gap: 3px; min-height: 28px; }
    .quick-links a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
    .quick-links .icon { width: 12px; height: 12px; flex-basis: 12px; opacity: .6; }
    .stock { padding: 42px 0 50px; }
    .section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 25px; }
    .eyebrow { color: var(--green); font-size: 11px; font-weight: 650; text-transform: uppercase; margin-bottom: 6px; }
    h2 { font-size: 27px; line-height: 1.25; font-weight: 650; }
    .text-link { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; min-height: 44px; }
    .text-link:hover { color: var(--green); }
    .text-link .icon { width: 17px; height: 17px; flex-basis: 17px; }
    .stock-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }
    .tabs { display: flex; gap: 25px; }
    .tabs button { font-size: 13px; border: 0; padding: 0 0 13px; min-height: 39px; margin-bottom: -1px; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); }
    .tabs button[aria-pressed="true"] { color: var(--ink); border-color: var(--green); font-weight: 650; }
    .stock-note { font-size: 12px; color: var(--muted); padding-bottom: 12px; }
    .products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; align-content: start; }
    .product-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: #fff; transition: border-color .18s, box-shadow .18s; }
    .product-card:hover { border-color: #a5b6ac; box-shadow: 0 6px 18px #23352b0a; }
    .product-card[hidden] { display: none; }
    .product-image { position: relative; aspect-ratio: 4 / 3; background: #eef1ee; overflow: hidden; }
    .product-image > img { width: 100%; height: 100%; object-fit: contain; }
    .reference { position: absolute; bottom: 11px; left: 11px; background: #fffffff2; border: 1px solid #ffffff80; border-radius: 3px; padding: 3px 8px; font-size: 11px; font-weight: 650; color: #28322c; line-height: 1.5; }
    .product-copy { padding: 17px 17px 15px; display: flex; flex-direction: column; flex: 1; }
    .product-category { font-size: 11px; color: var(--muted); margin-bottom: 6px; }
    .product-copy h3 { font-size: 16px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
    .product-bottom { margin-top: auto; padding-top: 22px; display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; }
    .product-price { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
    .product-price strong { font-size: 17px; font-weight: 650; }
    .product-price del { color: var(--muted); font-size: 12px; }
    .product-price.reduced strong { color: #ad352e; }
    .product-bottom small { display: block; font-size: 10px; color: var(--muted); margin-top: 2px; }
    .card-arrow { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; background: var(--paper); border-radius: 50%; }
    .card-arrow .icon { width: 16px; height: 16px; }
    .stock-footnote { font-size: 11px; color: var(--muted); margin-top: 18px; }
    .categories { padding: 44px 0 48px; background: var(--paper); border-block: 1px solid var(--line); }
    .category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 30px; }
    .category-link { min-width: 0; display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 12px 0; border-bottom: 1px solid #dce2dd; font-size: 13px; }
    .category-link > span:first-child { flex: 1; overflow-wrap: anywhere; }
    .category-count { font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; }
    .category-link .icon { width: 14px; height: 14px; flex-basis: 14px; opacity: .5; }
    .category-link:hover { color: var(--green); border-color: var(--green); }
    .category-link:hover .icon { opacity: 1; }
    .testimonials { padding: 52px 0 45px; }
    .review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
    .review { border: 1px solid var(--line); border-radius: 6px; padding: 24px; position: relative; display: flex; flex-direction: column; background: #fff; }
    .quote-mark { display: block; height: 31px; color: #8fa79b; font-family: Georgia, serif; font-size: 43px; line-height: 1; }
    .review h3 { margin-top: 8px; font-size: 17px; font-weight: 650; }
    .review blockquote { margin: 12px 0 24px; font-size: 14px; color: #5c6560; line-height: 1.75; }
    .review-author { margin-top: auto; display: grid; gap: 3px; padding-top: 16px; border-top: 1px solid #ecf0ed; font-size: 12px; }
    .review-author strong { font-weight: 600; }
    .review-author span { color: var(--muted); font-size: 11px; }
    .review-author:hover strong { text-decoration: underline; text-underline-offset: 4px; }
    .review-controls { text-align: center; margin-top: 20px; }
    .review-controls button { background: transparent; border: 0; color: #55665c; font-size: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 9px 15px; min-height: 42px; }
    .review-controls .icon { width: 15px; height: 15px; }
    .reviews-collapsed .more-review { display: none; }
    .partners { padding: 0 0 52px; }
    .partners-inner { padding-top: 33px; border-top: 1px solid var(--line); }
    .partners h2 { font-size: 15px; font-weight: 600; margin-bottom: 20px; }
    .partner-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
    .partner { border: 1px solid var(--line); border-radius: 4px; min-width: 0; height: 106px; display: flex; align-items: center; justify-content: center; padding: 20px 24px; transition: border-color .18s; }
    .partner:hover { border-color: #94a49b; }
    .partner img { width: 100%; height: 52px; object-fit: contain; }
    .partner.seal img { height: 78px; }
    .partner.shop img { height: 65px; }
    .footer { background: #242b27; color: #f0f3f1; padding: 38px 0 18px; }
    .footer-top { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 38px; border-bottom: 1px solid #ffffff21; padding-bottom: 30px; }
    .footer-brand { font-size: 23px; font-weight: 650; }
    .footer-tagline { color: #b7c2bb; font-size: 12px; margin-top: 6px; max-width: 205px; }
    .footer-top h2 { font-size: 13px; font-weight: 600; margin-bottom: 11px; }
    .footer-top address, .footer-top p, .footer-top a { font-size: 12px; font-style: normal; line-height: 1.85; color: #c6d0c9; }
    .footer-top a:hover { color: #fff; text-decoration: underline; }
    .footer-updates { display: grid; grid-template-columns: 1fr 1.45fr; gap: 70px; padding: 27px 0 29px; }
    .footer-updates h2 { font-size: 20px; margin-bottom: 18px; font-weight: 550; }
    .instagram { display: flex; align-items: center; gap: 15px; }
    .instagram img { height: 37px; width: 37px; flex-shrink: 0; }
    .instagram strong { font-size: 14px; font-weight: 550; display: block; }
    .instagram p { color: #bdc8c0; font-size: 12px; margin-top: 3px; }
    .instagram a { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; margin-top: 4px; }
    .instagram a .icon { height: 13px; width: 13px; }
    .newsletter { border-left: 1px solid #ffffff21; padding-left: 35px; }
    .newsletter h3 { font-size: 14px; font-weight: 550; margin-bottom: 5px; }
    .newsletter p { font-size: 12px; color: #bdc8c0; margin-bottom: 16px; }
    .newsletter-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 30px; min-height: 44px; background: #eff3f0; color: #222a24; border-radius: 3px; font-size: 13px; padding: 10px 17px; font-weight: 600; }
    .newsletter-link:hover { background: #fff; }
    .footer-bottom { border-top: 1px solid #ffffff21; padding-top: 17px; display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 10px; color: #aebbb2; }
    .footer-bottom nav { display: flex; gap: 23px; }
    .footer-bottom a { min-height: 30px; display: inline-flex; align-items: center; }
    @media (min-width: 1600px) { .wrap { max-width: 1400px; } }
    @media (max-width: 1180px) {
      .wrap { width: calc(100% - 64px); }
      .desktop-nav { gap: 15px; }
      .desktop-nav a { font-size: 12px; }
      .brand-wordmark { display: none; }
      .intro-contact { display: none; }
    }
    @media (max-width: 900px) {
      .wrap { width: calc(100% - 48px); }
      .desktop-nav { display: none; }
      .brand-wordmark { display: grid; }
      .mobile-menu { display: block; }
      .header-inner { min-height: 85px; }
      .brand img { width: 54px; height: 54px; }
      h1 { font-size: 28px; }
      .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
      .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .review-grid .review:nth-child(3) { grid-column: 1 / -1; }
      .review { padding: 22px; }
      .partner { height: 88px; padding: 16px; }
      .partner.seal img { height: 65px; }
      .partner.shop img { height: 52px; }
      .footer-top { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
      .footer-brand-block { grid-column: 1 / -1; }
      .footer-tagline { max-width: none; }
      .footer-updates { gap: 30px; grid-template-columns: 1fr 1fr; }
      .newsletter { padding-left: 25px; }
    }
    @media (max-width: 600px) {
      .wrap { width: calc(100% - 36px); }
      .utility-inner { min-height: 33px; }
      .utility-email, .utility-location { display: none !important; }
      .utility-left { gap: 0; }
      .utility-right { gap: 5px; }
      .header-inner { min-height: 78px; }
      .brand { gap: 10px; }
      .brand img { width: 47px; height: 47px; }
      .brand-wordmark strong { font-size: 20px; }
      .brand-wordmark span { font-size: 9px; }
      .intro { padding: 25px 0 18px; }
      h1 { font-size: 27px; max-width: 350px; line-height: 1.25; }
      .intro-copy { margin-bottom: 18px; }
      .intro-copy p { font-size: 12px; margin-top: 10px; max-width: 300px; line-height: 1.7; }
      .search { min-height: 52px; gap: 9px; padding: 4px 4px 4px 13px; }
      .search > .icon { width: 18px; height: 18px; flex-basis: 18px; }
      .search input { font-size: 16px; padding-block: 8px; }
      .search button { padding: 9px 13px; min-width: 44px; font-size: 12px; }
      .search button .icon { display: none; }
      .quick-links { gap: 4px 17px; margin-top: 10px; font-size: 11px; }
      .stock { padding: 30px 0 34px; }
      .section-head { align-items: center; gap: 12px; margin-bottom: 20px; }
      h2 { font-size: 23px; }
      .eyebrow { font-size: 10px; }
      .section-head > .text-link { font-size: 11px; gap: 5px; flex-shrink: 0; }
      .section-head > .text-link .icon { width: 15px; height: 15px; }
      .stock-note { display: none; }
      .tabs { gap: 16px; }
      .tabs button { font-size: 12px; }
      .stock-toolbar { margin-bottom: 18px; }
      .products { grid-template-columns: 1fr; gap: 20px; }
      .product-image { aspect-ratio: 4 / 3; }
      .product-copy { padding: 17px 18px; }
      .product-copy h3 { font-size: 17px; }
      .product-bottom { padding-top: 18px; }
      .product-price strong { font-size: 19px; }
      .product-bottom small { font-size: 11px; }
      .reference { font-size: 12px; }
      .categories { padding: 32px 0; }
      .category-grid { column-gap: 23px; }
      .category-link { font-size: 12px; min-height: 59px; gap: 6px; line-height: 1.5; }
      .category-link .icon { display: none; }
      .category-count { font-size: 10px; }
      .testimonials { padding: 35px 0 30px; }
      .testimonials h2 { max-width: 300px; }
      .review-grid { grid-template-columns: 1fr; gap: 16px; }
      .review-grid .review:nth-child(3) { grid-column: auto; }
      .review { padding: 22px; }
      .partners { padding-bottom: 35px; }
      .partners-inner { padding-top: 25px; }
      .partners h2 { font-size: 14px; max-width: 290px; line-height: 1.5; }
      .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
      .partner { height: 88px; padding: 18px; }
      .footer { padding-top: 28px; }
      .footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; padding-bottom: 24px; }
      .footer-top a { overflow-wrap: anywhere; }
      .footer-top address, .footer-top p, .footer-top a { font-size: 11px; }
      .footer-brand-block { grid-column: 1 / -1; }
      .footer-updates { grid-template-columns: 1fr; gap: 24px; padding: 25px 0; }
      .footer-updates h2 { font-size: 20px; }
      .newsletter { border-left: 0; border-top: 1px solid #ffffff21; padding: 22px 0 0; }
      .newsletter-link { width: 100%; }
      .footer-bottom { flex-direction: column; align-items: flex-start; gap: 9px; }
    }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
    @media (max-width: 600px) {
      .modern-home .stock-toolbar { display: block; }
      .modern-home .tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
      .modern-home .tabs button { text-align: left; min-height: 44px; padding-bottom: 10px; }
    }
    [hidden] { display: none !important; }
    .product-image-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--muted); font-size: 14px; }
    .stock-empty { grid-column: 1 / -1; padding: 28px 0; color: var(--muted); }
    .public-message-stack { padding-block: 14px; }
    .public-message { padding: 14px 18px; background: var(--soft-green); border: 1px solid var(--line); border-radius: 4px; }
    .cookie-consent { position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%); z-index: 100; width: min(960px, calc(100% - 36px)); display: flex; gap: 22px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: 0 6px 24px #20242320; }
    .cookie-consent strong { font-size: 13px; font-weight: 600; }
    .cookie-consent p { font-size: 12px; color: var(--muted); margin-top: 5px; }
    .cookie-consent p a { text-decoration: underline; text-underline-offset: 3px; }
    .cookie-consent-actions { display: flex; gap: 10px; flex-shrink: 0; }
    .cookie-consent .button, .home-extra .button { display: inline-flex; align-items: center; justify-content: center; padding: 11px 17px; min-height: 44px; border: 1px solid var(--line); border-radius: 3px; font-size: 13px; background: #fff; color: var(--ink); }
    .cookie-consent .primary, .home-extra .primary { background: var(--ink); color: #fff; border-color: var(--ink); }
    .home-extra { margin-block: 30px; }
    .homepage-builder-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 32px; }
    .homepage-builder-section .builder-image img { width: 100%; height: auto; }
    .homepage-builder-section:not(.image-left) .builder-image { order: 1; }
    .home-extra h2 { margin-bottom: 16px; }
    .home-extra p { margin-bottom: 20px; }
    @media (max-width: 600px) {
      .cookie-consent { flex-direction: column; align-items: stretch; gap: 14px; bottom: 12px; }
      .cookie-consent-actions { justify-content: flex-end; }
      .homepage-builder-section { grid-template-columns: 1fr; }
      .homepage-builder-section:not(.image-left) .builder-image { order: 0; }
    }
    @media print { .utility, .desktop-nav, .mobile-menu, .search, .quick-links, .stock-toolbar, .review-controls, .footer, .cookie-consent { display: none; } .wrap { width: 100%; } .products { grid-template-columns: repeat(2, 1fr); } .product-card { break-inside: avoid; } .reviews-collapsed .more-review { display: flex; } }
