:root{--motion-fast:220ms;--motion-reveal:620ms;--motion-ease:cubic-bezier(.22,1,.36,1);--motion-ui:cubic-bezier(.2,.65,.3,1);--header-height:106px;--header-compact:80px}
html{scroll-behavior:auto}
.hero-photo-window{overflow:hidden;isolation:isolate}.hero-photo-window img{transform-origin:center 75%}
.hero-visual{overflow:hidden}.hero-visual .hero-photo-window img{display:block}
.stats .counter-value{font:inherit;font-variant-numeric:tabular-nums;display:inline-block;min-width:6ch;text-align:left;letter-spacing:-.055em}.stats>div:nth-child(2) .counter-value{min-width:5ch}
.custom-diagram{margin:0;max-width:600px;color:#d5bd93;align-self:center;min-width:0}.custom-diagram svg{display:block;width:100%;height:auto;overflow:visible}.custom-diagram figcaption{font-size:11px;letter-spacing:.02em;color:#d0c4b1;line-height:1.6;margin:12px 24px 0}.dimension-question{fill:#f7f5ef;transform-box:fill-box;transform-origin:center}.pallet-lines{color:#e6d9c1}.custom-inner{grid-template-columns:1.13fr 1fr;gap:8%;align-items:center}.custom-inner>div:last-child{min-width:0}
/* Replaces the previous translateY(-5px) image effect; only the link moves. */
.product-card>a,.featured-product>a{transition:transform var(--motion-fast) var(--motion-ui),box-shadow var(--motion-fast) var(--motion-ui);box-shadow:0 0 0 1px transparent}
.product-photo,.feature-image{overflow:hidden}.product-card .product-photo img,.featured-product .feature-image img{transform:none;transition:transform var(--motion-fast) var(--motion-ui)}
.product-card a:hover img{transform:none}
.product-card>a:focus-visible,.featured-product>a:focus-visible{transform:translateY(-4px);box-shadow:0 0 0 1px #a99473}
.product-card>a:focus-visible img,.featured-product>a:focus-visible img{transform:scale(1.03)}
.text-link:after{content:'↗';display:inline-block;margin-left:8px;transition:transform var(--motion-fast) var(--motion-ui)}
.text-link:hover:after,a:focus-visible .text-link:after,.text-link:focus-visible:after{transform:translate(3px,-2px)}
.button{gap:10px;transition:background-color var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}
.button:after{content:'→';display:inline-block;transition:transform var(--motion-fast) var(--motion-ui)}
.button:hover:after,.button:focus-visible:after{transform:translateX(3px)}.button:focus-visible{background:#24382a;color:#fff}.button.light:focus-visible{background:#e4dbcb;color:#302a23}.button.outline:focus-visible{background:#e9e1d3;color:#302a23}
.button.small:after{display:none}
nav a{position:relative}nav a:after{position:absolute;content:'';height:1px;left:0;right:0;bottom:7px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-fast) var(--motion-ui)}nav a:hover:after,nav a:focus-visible:after,nav a[aria-current]:after{transform:scaleX(1)}
.menu-ready .header-reserve{height:var(--header-height);position:sticky;top:0;z-index:30}
header{background:var(--paper);position:relative}.menu-ready .header-inner{min-height:var(--header-height);transition:min-height 280ms var(--motion-ui),padding 280ms var(--motion-ui),gap 280ms var(--motion-ui)}
.header-compact header{box-shadow:0 4px 22px #302a2310}.menu-ready .header-compact .header-inner{min-height:var(--header-compact)}.header-inner .brand{transform-origin:left center;transition:transform 280ms var(--motion-ui)}.header-compact .brand{transform:scale(.88)}
input,select,textarea{transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px #33463825;border-color:#334638}
#quote-form[aria-busy=true] button[type=submit]:after{content:'';width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:motion-spin 700ms linear infinite;transform:none}
#form-status[data-state=success]{border-color:#334638}#form-status[data-state=error]{border-color:#8a5d24}
@keyframes motion-spin{to{transform:rotate(360deg)}}
@media(hover:hover) and (pointer:fine){.product-card>a:hover,.featured-product>a:hover{transform:translateY(-4px);box-shadow:0 0 0 1px #a99473}.product-card>a:hover img,.featured-product>a:hover img{transform:scale(1.03)}.product-card>a:hover .text-link:after,.featured-product>a:hover .text-link:after{transform:translate(3px,-2px)}}
@media(max-width:1199px){:root{--header-height:94px;--header-compact:78px}.menu-ready .menu-toggle+nav{position:absolute;left:0;top:100%;width:100%;background:var(--paper);box-shadow:0 15px 20px #302a2310;padding:10px 5% 20px;max-height:calc(100dvh - 150px);overflow-y:auto}.menu-ready .menu-toggle+nav.open{display:flex}.menu-ready .menu-toggle+nav:not(.open){display:none}html:not(.menu-ready) .menu-toggle{display:none}html:not(.menu-ready) .menu-toggle+nav{display:flex}nav a:after{right:auto;width:40px;bottom:8px}}
@media(max-width:800px){.custom-inner{grid-template-columns:1fr;gap:32px}.custom-diagram{width:100%;max-width:550px;justify-self:center}.custom-diagram figcaption{margin-left:10px}.hero .button{padding-left:16px;padding-right:16px}}
@media(max-width:600px){:root{--header-height:132px;--header-compact:112px}.menu-ready .header-inner{gap:14px;padding-top:16px;padding-bottom:14px}.menu-ready .header-compact .header-inner{gap:6px;padding-top:8px;padding-bottom:8px}.header-compact .brand{transform:scale(.91)}.custom-inner{gap:25px;padding-top:24px}.custom-diagram figcaption{font-size:10px;max-width:300px}.hero .buttons{gap:10px}.hero .button{gap:6px;font-size:12px;padding-left:10px;padding-right:10px}.stats .counter-value{min-width:0}.stats>div:nth-child(2) .counter-value{min-width:0}.header-actions>.button:after{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.product-card>a:hover,.product-card>a:focus-visible,.featured-product>a:hover,.featured-product>a:focus-visible,.product-card>a:hover img,.product-card>a:focus-visible img,.featured-product>a:hover img,.featured-product>a:focus-visible img,.text-link:after,.button:after{transform:none!important}}
.stats .counter-value,.stats>div:nth-child(2) .counter-value{min-width:0}
@media(max-width:360px){.header-inner .brand img{width:135px}.header-inner .languages{gap:6px;font-size:11px}.header-inner .languages a{min-width:20px}.header-inner .menu-toggle{margin-left:0}.menu-ready .header-inner{column-gap:10px}.hero .button{font-size:11px;padding-left:8px;padding-right:8px}}
.menu-ready .header-reserve{height:calc(var(--header-height) + 1px)}
@media(max-width:600px){:root{--header-height:136px}}
