/* BestFloor refinement: preserve the warm material palette and existing layout. */
:root{
  --text-secondary:#58634f;
  --control-line:#aeb7a1;
  --focus:#944126;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-drawer:cubic-bezier(.32,.72,0,1);
  --motion-fast:160ms;
  --motion-panel:240ms;
}
::selection{background:#dce4ce;color:#253321}
html{scrollbar-color:#a6af98 #f5f2eb}
input,textarea{caret-color:var(--orange)}
h1,h2,h3{letter-spacing:-.03em;text-wrap:balance}
.hero h1,.hero h1 span{letter-spacing:-.035em}
.hero-copy>p{font-size:16px;line-height:1.75;max-width:46ch}
.eyebrow{letter-spacing:.11em}
.section-head .eyebrow{margin-bottom:10px}
.category-card p,.solution-card p,.project-card p{font-size:13px;line-height:1.65;color:var(--text-secondary)}
.product-brand,.project-card small,.catalog-note,.breadcrumbs,.availability,.price-box small,.source-link,.decor-title,.decor span{color:var(--text-secondary)}
.product-brand{font-size:12px;letter-spacing:.08em}
.product-facts{gap:7px}
.product-facts span{font-size:12px;line-height:1.5;padding:5px 8px;color:#4d5d42}
.card-bottom small{font-size:12px;color:var(--text-secondary);line-height:1.5}
.card-bottom strong{font-size:15px;font-weight:500}
.product-info h3{line-height:1.2;overflow-wrap:anywhere}
.catalog-note{font-size:12px;line-height:1.75;max-width:75ch}
.project-card small,.price-box small,.availability,.source-link,.decor-title{font-size:12px;line-height:1.6}
.filter-group h3{font-size:15px;color:#46563b}
.filter-group label{font-size:14px;min-height:44px;padding:8px 0;color:#46563b}
.filter-group input{width:18px;height:18px;flex-shrink:0}
.filter-group small{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.filter-group .muted{font-size:13px!important;line-height:1.7;color:var(--text-secondary)}
.filter-head button{min-height:44px;font-size:12px}
.filter-help p{font-size:13px;color:#6c5b46}
.filter-help .text-link{font-size:12px;line-height:1.6;text-align:left}
.catalog-tools select{min-height:44px;font-size:13px;color:#46563b;border-color:var(--control-line)}
.catalog-tools>span{font-size:14px;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.chip{font-size:12px;min-height:44px;padding:8px 13px;color:#46563b;border-color:#b6c2a8}
.card-arrow,.zoom-button,.icon-button{width:44px;height:44px;flex-shrink:0}
.product-tabs button{min-height:48px;font-size:14px}
.product-tabs button.active{font-weight:500}
.all-specs td{font-variant-numeric:tabular-nums}
.form-grid label{font-size:13px;color:#46563b}
.form-grid input,.form-grid select,.form-grid textarea{border-color:var(--control-line);font-size:16px}
::placeholder{color:#66715e;opacity:1}
.form-context{color:#46563b}
.form-foot small,.prototype-note{font-size:12px!important;color:var(--text-secondary);line-height:1.6}
.form-error:not(:empty){background:#fff0e9;border-radius:8px;padding:12px 15px;color:#8b3018;font-size:14px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.product-card:focus-within{border-color:#8d9e7a}
.text-link,.source-link,footer a{text-underline-offset:4px}
.text-link:hover,.source-link:hover{text-decoration:underline}
.button{transition:transform var(--motion-fast) var(--ease-out),background-color var(--motion-fast) ease,color var(--motion-fast) ease}
.product-card{transition:transform var(--motion-fast) var(--ease-out);box-shadow:none}
.product-card:hover{transform:none;box-shadow:none}
.solution-card:hover,.button-primary:hover{transform:none}
.button:active,.icon-button:active,.card-arrow:active{transform:scale(.97);transition-duration:100ms}
@media(hover:hover) and (pointer:fine){
  .product-card:hover{transform:translateY(-2px);border-color:#aab99b}
  .button-primary:hover{transform:translateY(-1px)}
  .solution-card:hover{transform:translateY(-1px)}
}
/* Native dialogs retain focus handling and immediate Escape dismissal. */
dialog{
  opacity:0;transform:scale(.97);
  transition:opacity var(--motion-panel) var(--ease-out),transform var(--motion-panel) var(--ease-out),display var(--motion-panel) allow-discrete,overlay var(--motion-panel) allow-discrete;
}
dialog[open]{opacity:1;transform:scale(1)}
dialog::backdrop{background:#17251c99;backdrop-filter:none;opacity:0;transition:opacity var(--motion-panel) var(--ease-out),display var(--motion-panel) allow-discrete,overlay var(--motion-panel) allow-discrete}
dialog[open]::backdrop{opacity:1}
@starting-style{dialog[open]{opacity:0;transform:scale(.97)}dialog[open]::backdrop{opacity:0}}
.toast{display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,12px);transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out),visibility 200ms;box-shadow:0 8px 24px #25332120}
.toast.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
body.filters-open{overflow:hidden}
@media(max-width:800px){
  .mobile-menu{width:44px;height:44px;justify-content:center}
  .nav{transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out),display 200ms allow-discrete}
  .nav.open{opacity:1;transform:translateY(0)}
  .sidebar-wrap.open{overscroll-behavior:contain;padding:24px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));transition:opacity var(--motion-panel) var(--ease-out),transform var(--motion-panel) var(--ease-drawer)}
  @starting-style{.nav.open{opacity:0;transform:translateY(-6px)}.sidebar-wrap.open{opacity:0;transform:translateY(18px)}}
  .catalog-layout .products-grid{gap:24px}
  .filter-mobile{min-height:44px;font-size:12px;color:#46563b;border-color:var(--control-line)}
  .decor-grid{gap:8px}
  .decor{min-height:44px;min-width:44px}
  .decor span{font-size:11px}
  .header-contact>a:last-child{font-size:11px}
}
@media(max-width:480px){
  .container{width:calc(100% - 36px)}
  .brand{width:138px}
  .header-main{gap:8px}
  .hero h1{font-size:clamp(39px,12.1vw,56px);line-height:1.08}
  .hero h1 span{font-size:1.025em}
  .hero-copy>p{font-size:15px;line-height:1.75}
  .hero .eyebrow,.page-head .eyebrow,.section-head .eyebrow{font-size:10px}
  .hero-bottom>div{font-size:11px;line-height:1.55}
  .hero-actions .button{font-size:13px;min-height:48px;padding:14px 20px}
  .hero-actions .text-link{font-size:12px}
  .section-head h2{font-size:30px;letter-spacing:-.025em}
  .category-card h3{font-size:20px;min-height:48px}
  .category-card p{font-size:12px;max-width:125px}
  .products-grid.four{grid-template-columns:minmax(0,1fr);gap:20px}
  .products-grid.four .product-image{height:230px;margin:9px 9px 0}
  .products-grid.four .product-info{padding:20px}
  .products-grid.four .product-info h3{font-size:25px;min-height:0;margin:10px 0 16px}
  .product-brand{font-size:12px}
  .product-facts span{font-size:12px}
  .card-bottom strong{font-size:15px}
  .card-bottom small{font-size:12px;max-width:none}
  .card-arrow{width:44px;height:44px}
  .product-image .material-type{font-size:11px;padding:6px 10px}
  .image-swatches img{width:28px;height:28px}
  .image-swatches span{font-size:11px;padding:3px 7px}
  .product-tabs{gap:22px}
  .product-tabs button{font-size:13px}
  .catalog-note,.price-box small,.availability,.source-link,.decor-title{font-size:12px}
  .page-head p,.product-detail>p,.tab-content p,.service-hero p,.service-banner p,.request-band p{font-size:14px}
  .catalog-tools{gap:8px}
  .catalog-tools>span{font-size:12px}
  .catalog-tools select{font-size:12px;max-width:155px}
  .project-card small,.project-card p,.solution-card p{font-size:12px}
  .form-grid label{font-size:13px}
  .breadcrumbs{font-size:11px;line-height:1.6}
}
/* Keyboard actions remain instant. Motion preferences apply to every new effect. */
html[data-input="keyboard"] *,html[data-input="keyboard"] *::before,html[data-input="keyboard"] *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  dialog,dialog[open]{transform:none}
  .toast,.toast.visible{transform:translate(-50%,0)}
  .product-card:hover,.button-primary:hover,.solution-card:hover,.button:active,.icon-button:active,.card-arrow:active{transform:none}
}
@media(hover:none),(pointer:coarse){.category-card:hover img,.product-card:hover img,.project-card:hover img{transform:none}}
.category-photo img,.product-image img{transition:transform 200ms var(--ease-out)}
.solution-card,.icon-button,.card-arrow{transition:transform var(--motion-fast) var(--ease-out),background-color var(--motion-fast) ease,color var(--motion-fast) ease}
@media(prefers-reduced-motion:reduce){.category-card:hover img,.product-card:hover .product-image img{transform:none}}
@media(max-width:360px){.brand{width:120px}.header-contact>a:first-child{font-size:11px}.header-contact>a:last-child{font-size:10px}.hero-actions{flex-wrap:wrap}}
.product-info{display:flex;flex-direction:column;flex:1}
.product-info .product-facts{margin-bottom:20px}
.product-info .card-bottom{margin-top:auto}
