/* Tactile controls, quiet surfaces and a true left catalogue drawer. */
:root{--paper:#e9e9e1;--ink:#2c332a;--line:#d6d9cd;--motion:cubic-bezier(.2,.75,.25,1)}
body{font-family:'Segoe UI Variable Text','Segoe UI',Arial,sans-serif;background:radial-gradient(ellipse at 15% 30%,#f0eee5 0,transparent 55%),#e9e9e1;color:#2c332a;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit}h1,h2,h3,h4{font-family:'Segoe UI Variable Display','Segoe UI',Arial,sans-serif}h1{font-weight:550;letter-spacing:-.055em}h2{font-weight:550;letter-spacing:-.035em}h3{font-weight:600}.hero p{font-size:14px;line-height:1.85}.hero-copy .eyebrow{letter-spacing:1.6px}.brand{letter-spacing:-.7px}.catalog-main .product h3{font-size:15px;line-height:1.45}.catalog-main .product .details{font-size:12px!important}.catalog-main .stock-status{font-size:11px}.catalog-main .product .type{font-size:10px}.catalog-main .sort{font-size:11px}.catalog-main .filter-chip{font-size:11px}.section-head p{font-size:14px}.service-card p,.services-intro p{font-size:13px}.footer-main>div>button,.footer-main>div>a:not(.brand){font-size:12px}
.catalog-main .product{background:#f6f5ef;border-color:#d5d9ca;box-shadow:0 3px 10px #26321c04}.catalog-main .product-art{background:linear-gradient(140deg,#eaece1,#e1e6d7)}.search-caption{background:#eeefe5}.search-result:hover,.search-result[aria-selected=true]{background:#e6ecd9}#search-popover{background:#f5f5ed;border-color:#cdd6bd}.search-result{border-color:#e1e6d5}.recent-card{background:#f3f3ea}.availability-filters select,.price-filter input{background:#f5f5ed}.faq-section{background:#e1e6d7}dialog{background:#f3f4eb;border-color:#c6d2b7}.drawer-search{background:#f2f4e9}.drawer-content{background:#f0f3e7}.subdivision-grid button{background:#e7eeda}.storage-notice{background:#f0f3e6}.comparison-scroll thead th{background:#e6eddc}.kit-item{border-color:#d3ddc5}
:where(button,a.primary,a.secondary,.catalog-btn,.hero-orbit,[role=button]){--tilt-x:0deg;--tilt-y:0deg;--lift:0px;transform-origin:center;backface-visibility:hidden;transition:transform 240ms var(--motion),box-shadow 240ms var(--motion),background-color 200ms ease,border-color 200ms ease,color 180ms ease,filter 200ms ease;transform:perspective(850px) translateY(var(--lift)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
@media(hover:hover) and (pointer:fine){:is(button,a.primary,a.secondary,.catalog-btn,.hero-orbit,[role=button]):not(:disabled):hover{--lift:-2px;transform:perspective(850px) translateY(var(--lift)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));box-shadow:0 8px 16px -9px #17271170,inset 0 1px 0 #ffffff55;filter:brightness(1.035)}.kit-card:hover,.category:hover,.service-card:hover{--lift:-4px;box-shadow:0 15px 25px -14px #263b2455,inset 0 1px 0 #ffffff88}.primary:hover,.catalog-btn:hover{box-shadow:0 5px 0 #91ad44,0 14px 25px -10px #49641855,inset 0 1px 0 #ffffff99!important}.header-tool:hover,.cart-btn:hover,.hero-orbit:hover{box-shadow:0 7px 17px -7px #0008,inset 0 1px 0 #c5e0a533}.text-button:hover,nav a:hover{color:#648443}}
:is(button,a.primary,a.secondary,.catalog-btn,.hero-orbit,[role=button]):not(:disabled):active{transform:perspective(850px) translateY(1px) scale(.98);box-shadow:inset 0 2px 5px #14220e18!important;transition-duration:90ms}.house-point{box-shadow:none!important}.house-point:hover>span{transform:rotate(90deg);box-shadow:0 0 0 9px #e4ff9c25,0 8px 20px #20351f44}.primary{background:linear-gradient(155deg,#dffb8c,#c9ed69);border:1px solid #b6d860}.hero .primary{color:#26321d}.catalog-main .product{transition:box-shadow 280ms var(--motion),border-color 280ms ease}.catalog-main .product:hover{box-shadow:0 12px 28px -15px #273d2c55;border-color:#acbd94;transform:none}.search{transition:background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease}.search-result,.drawer-groups button,.subdivision-grid button{transition:background-color 180ms ease,transform 240ms var(--motion),box-shadow 240ms var(--motion)}
/* Native dialog keeps Escape, focus trapping and click-outside behaviour. */
#catalog-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(840px,90vw);max-width:90vw;height:100dvh;max-height:100dvh;padding:0;border:0;border-right:1px solid #c6d2b7;border-radius:0 24px 24px 0;box-shadow:25px 0 90px #0b170d40;overflow-x:hidden;overflow-y:auto;transform:translateX(-102%);opacity:0;animation:none;transition:transform 360ms var(--motion),opacity 260ms ease,display 360ms allow-discrete,overlay 360ms allow-discrete}
#catalog-drawer[open]{transform:translateX(0);opacity:1}#catalog-drawer::backdrop{background:#0e191261;backdrop-filter:blur(7px);opacity:0;transition:opacity 320ms ease,display 360ms allow-discrete,overlay 360ms allow-discrete}#catalog-drawer[open]::backdrop{opacity:1}
@starting-style{#catalog-drawer[open]{transform:translateX(-102%);opacity:0}#catalog-drawer[open]::backdrop{opacity:0}}
#catalog-drawer .drawer-header{padding:29px 28px 24px;position:sticky;top:0;z-index:4;background:#1f2c1d}#catalog-drawer .drawer-header h2{font-size:29px;letter-spacing:-1px}#catalog-drawer .drawer-search{margin:22px 25px;border-radius:10px}#catalog-drawer .drawer-body{grid-template-columns:205px minmax(0,1fr);min-height:calc(100dvh - 285px)}#catalog-drawer .drawer-groups{padding:15px 10px}#catalog-drawer .drawer-groups button{padding:14px 10px;min-height:47px}#catalog-drawer .drawer-groups b{font-size:12px}#catalog-drawer .drawer-content{padding:27px 23px;max-height:none;overflow:visible}#catalog-drawer .subdivision-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#catalog-drawer .subdivision-grid button{min-height:155px;padding:17px}#catalog-drawer .subdivision-grid b{font-size:13px}#catalog-drawer .menu-title h3{font-size:24px}#catalog-drawer .drawer-footer{flex-wrap:wrap;gap:14px;padding:20px 25px}#catalog-drawer .menu-search-result strong{font-size:13px}
body:has(dialog[open]){overflow:hidden}html{scrollbar-gutter:stable}dialog:not(#catalog-drawer){opacity:0;transform:translateY(12px) scale(.985);transition:opacity 200ms ease,transform 240ms var(--motion),display 240ms allow-discrete,overlay 240ms allow-discrete}dialog[open]:not(#catalog-drawer){opacity:1;transform:translateY(0) scale(1)}@starting-style{dialog[open]:not(#catalog-drawer){opacity:0;transform:translateY(12px) scale(.985)}}
#products .product{animation:material-appear 220ms var(--motion) both}.compare-tray{animation:tray-appear 230ms var(--motion)}@keyframes material-appear{from{opacity:.4;translate:0 5px}to{opacity:1;translate:0 0}}@keyframes tray-appear{from{opacity:0;margin-bottom:-8px}to{opacity:1;margin-bottom:0}}
@media(max-width:700px){.hero p{font-size:13px}.catalog-main .product h3{font-size:13px}.catalog-main .product .details{font-size:11px!important}.catalog-main .stock-status{font-size:10px}.section-head p{font-size:13px}.service-card p{font-size:11px}.service-card small{font-size:7px}.footer-main>div>button,.footer-main>div>a:not(.brand){font-size:11px}#catalog-drawer{width:100%;max-width:100%;border-radius:0;height:100dvh;max-height:100dvh}#catalog-drawer .drawer-header{padding:23px 20px}#catalog-drawer .drawer-header h2{font-size:27px}#catalog-drawer .drawer-search{margin:18px 16px}#catalog-drawer .drawer-body{grid-template-columns:115px minmax(0,1fr)}#catalog-drawer .drawer-groups{padding:10px 4px}#catalog-drawer .drawer-groups button{padding:13px 6px;gap:5px}#catalog-drawer .drawer-groups b{font-size:11px;overflow-wrap:anywhere}#catalog-drawer .drawer-content{padding:22px 13px}#catalog-drawer .subdivision-grid{grid-template-columns:1fr}#catalog-drawer .subdivision-grid button{min-height:130px;padding:14px}#catalog-drawer .subdivision-grid b{font-size:12px}#catalog-drawer .menu-title h3{font-size:21px}#catalog-drawer .drawer-footer{padding:20px;font-size:11px}.service-card h3{font-size:17px}.kit-card p{max-width:180px}.primary{min-height:48px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}:is(button,a.primary,a.secondary,.catalog-btn,.hero-orbit,[role=button]){transform:none!important}}
/* Catalog scrollbar follows the warm stone / olive palette. */
#catalog-drawer,
#catalog-drawer .drawer-groups,
#catalog-drawer .drawer-content {
  scrollbar-width: thin;
  scrollbar-color: #829665 #e4ead8;
  scrollbar-gutter: stable;
}
@supports selector(::-webkit-scrollbar) {
  #catalog-drawer,
  #catalog-drawer .drawer-groups,
  #catalog-drawer .drawer-content {
    scrollbar-width: auto;
    scrollbar-color: auto;
  }
  #catalog-drawer::-webkit-scrollbar,
  #catalog-drawer *::-webkit-scrollbar { width: 10px; height: 10px; }
  #catalog-drawer::-webkit-scrollbar-track,
  #catalog-drawer *::-webkit-scrollbar-track {
    background: #e4ead8;
    border-radius: 12px;
    margin-block: 14px;
  }
  #catalog-drawer::-webkit-scrollbar-thumb,
  #catalog-drawer *::-webkit-scrollbar-thumb {
    min-height: 48px;
    border: 2px solid #e4ead8;
    border-radius: 12px;
    background: linear-gradient(180deg, #a4b983, #73895a);
    background-clip: padding-box;
  }
  #catalog-drawer::-webkit-scrollbar-thumb:hover,
  #catalog-drawer *::-webkit-scrollbar-thumb:hover { background: #718b50; }
  #catalog-drawer::-webkit-scrollbar-thumb:active,
  #catalog-drawer *::-webkit-scrollbar-thumb:active { background: #526b38; }
  #catalog-drawer::-webkit-scrollbar-button,
  #catalog-drawer *::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
  #catalog-drawer::-webkit-scrollbar-corner,
  #catalog-drawer *::-webkit-scrollbar-corner { background: #e4ead8; }
}
@media (forced-colors: active) {
  #catalog-drawer, #catalog-drawer * { scrollbar-color: auto; }
  #catalog-drawer::-webkit-scrollbar-thumb, #catalog-drawer *::-webkit-scrollbar-thumb { background: ButtonText; border-color: Canvas; }
  #catalog-drawer::-webkit-scrollbar-track, #catalog-drawer *::-webkit-scrollbar-track { background: Canvas; }
}
