/* Comfortable reading size; compact legal footer remains unchanged. */
body{font-size:1rem}
.icon-link{display:inline-flex!important;align-items:center;gap:.45em}
.icon-link svg{width:1em;height:1em;flex:none}
.header-search input,.main-nav a,.btn,.btn-outline,.text-link{font-size:.875rem}
.topline>.container{font-size:.75rem}
.header-main{gap:25px}
.header-search{margin-left:15px}
.header-phone{display:flex;align-items:center;gap:18px}
.header-phone>div{display:grid;gap:2px}
.header-phone .header-phone-secondary{font-size:17px;color:var(--ink);letter-spacing:-.02em}
.header-phone button{margin:0}
.mobile-nav-contacts{display:none}
.main-nav{gap:18px;overflow-x:auto}
.main-nav a{font-size:.8125rem}
.hero{background:linear-gradient(90deg,#171816 50%,#e8e3d8 50%)}
.hero-copy{color:#fff;padding-block:62px}
.hero-copy .eyebrow{color:#bbbcb5;font-size:.8125rem}
.hero h1{font-size:clamp(42px,4.45vw,66px);letter-spacing:-.045em}
.hero h1 em{color:#e0d7c7}
.hero-description{font-size:1.0625rem;color:#c5c6bf;line-height:1.8;max-width:480px}
.hero-copy{--hero-body-size:1.0625rem}
.hero-description,.delivery-promo{font-size:var(--hero-body-size)}
.hero-brand,.delivery-promo strong{font-family:inherit;font-size:inherit;font-weight:700;color:#f7f5ef}
.hero-brand{white-space:nowrap}
.delivery-promo{display:flex;align-items:flex-start;gap:14px;margin-top:26px;padding:18px 0 18px 18px;border-left:3px solid #c4aa79;max-width:480px;line-height:1.8}
.delivery-promo>svg{margin-top:4px;color:#c4aa79}
.delivery-promo>div{min-width:0}
.delivery-promo strong{display:block;line-height:1.5}
.delivery-promo p{display:block;margin-top:7px;font-family:inherit;font-size:inherit;font-weight:400;line-height:1.8;color:#c5c6bf}
.hero .btn{background:#f7f5ef;color:#171816;border-color:#f7f5ef}
.hero .btn:hover{background:#ded8ca}
.hero .btn-outline{color:#fff;border-color:#777971}
.hero .btn-outline:hover{background:#33372f}
.hero-stats{border-color:#43473d;gap:25px}
.hero-stats b{font-size:1.5rem}
.hero-stats span{font-size:.75rem;color:#b7b9b0;line-height:1.5}
.door-showcase{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:#e8e3d8;padding:38px 0 26px 30px;margin-right:-10px;min-width:0}
.showcase-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;animation:door-appear .7s ease both}
.showcase-door{min-width:0;display:flex;flex-direction:column;text-align:center}
.showcase-door>div{height:385px;display:flex;align-items:center;justify-content:center;background:#f4f0e8}
.showcase-door img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:12px 5px;transition:transform .45s ease}
.showcase-door:hover img{transform:translateY(-5px)}
.showcase-door>span{display:block;font-size:.6875rem;line-height:1.6;letter-spacing:.04em;margin-top:20px;color:#696a60;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.showcase-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:27px;font-size:.75rem;color:#6c6c61}
.showcase-bottom>div{display:flex;align-items:center;gap:10px;flex-shrink:0}
.showcase-bottom button{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #b5b2a7}
.showcase-bottom button:hover{background:#ded8ca}
@keyframes door-appear{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
.category-strip h2{font-size:1.125rem;padding-right:15px}
.category-strip span,.category-strip small{font-size:.75rem}
.eyebrow{font-size:.75rem}
.section-heading>p,.service-bottom p,.contact-banner p:not(.eyebrow),.page-intro{font-size:1rem;line-height:1.75}
.product-info .eyebrow{font-size:.75rem;letter-spacing:.04em;white-space:normal;line-height:1.55}
.product-info h3{font-size:1.125rem;line-height:1.45}
.product-meta{font-size:.875rem;line-height:1.6;white-space:normal;min-height:44px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-price strong{font-size:1.375rem}
.product-price .price-on-request{font-size:1.0625rem;letter-spacing:0}
.product-price small,.variant-badge,.stock{font-size:.75rem}
.stock--available::before{background:#648249}
.stock--coming::before{background:#ac8c56}
.collection-links a{font-size:.875rem}
.additional-catalog{padding-block:20px 58px}
.additional-catalog .section-heading{padding-top:27px;border-top:1px solid var(--line)}
.service-section{background:#e9e7df}
.service-grid article{border-color:#ccc8bc}
.service-grid article>div{color:#746a56}
.service-grid h3{font-size:1.25rem}
.service-grid p{font-size:1rem;color:#656458;max-width:280px;line-height:1.75}
.service-bottom{border-color:#ccc8bc}
.service-bottom p{color:#656458}
.faq-section summary{font-size:1rem}
.faq-section details p{font-size:1rem}
.breadcrumbs{font-size:.75rem;line-height:1.65}
.catalog-top{font-size:.875rem}
.filter-heading{font-size:.875rem}
.filter-heading a{font-size:.75rem}
.filters label,label{font-size:.875rem}
.filters input,.filters select,input,select,textarea{font-size:.875rem}
.active-filters,.catalog-footnote,.small,.catalog-results>.small{font-size:.75rem}
.pagination a{font-size:.875rem}
.detail-subtitle{font-size:1rem;line-height:1.7}
.detail-price [data-product-price]{font-size:inherit}
.detail-price--quote{font-size:1.5rem;letter-spacing:-.02em}
.sku{font-size:.875rem}
.variant-fields label,.variant-fields select,.all-variants,.all-variants select{font-size:.875rem}
.variant-details{font-size:.875rem}
.detail-services,.detail-services .text-link{font-size:.875rem}
.detail-description p:not(.eyebrow){font-size:1rem}
.detail-description dl>div{font-size:.875rem}
.shop-dialog [data-slot=dialog-description]{font-size:.875rem;line-height:1.7}
.consent,.error,.success p{font-size:.8125rem}
.cart-line a,.cart-line b,.quantity span,.quick-product{font-size:.875rem}
.cart-line small,.quick-product p{font-size:.75rem}
.contact-block p{font-size:1rem}
.phone-links{display:grid;justify-items:start;gap:8px}
.contact-block .phone-links{margin-bottom:20px}
.contact-block .phone-links .big-phone{margin-bottom:0}
.contact-banner .phone-links{gap:5px}
.footer-phones{display:grid;justify-items:start;gap:2px}
.footer-grid .footer-phones .footer-phone{margin-block:3px}
.social-links a{align-items:center}
.legal-intro{font-size:1rem}
.legal-sections p{font-size:.9375rem}
.admin-order p,.admin-order select,.admin-items{font-size:.875rem}
@media(max-width:1100px){.showcase-door>div{height:350px}.hero-copy{--hero-body-size:1rem}.hero-description{font-size:1rem}.hero-stats{gap:15px}.hero-stats b{font-size:1.25rem}.hero-stats span{font-size:.75rem}.service-grid p{font-size:.9375rem}}
@media(max-width:760px){
  .hero{background:#171816}.hero-copy{padding:35px 0 30px}.hero-description{font-size:1rem;line-height:1.8}.hero h1{font-size:2.75rem}
  .hero-actions .btn,.hero-actions .btn-outline{font-size:.875rem;padding:13px 16px}
  .hero-stats{gap:20px}.hero-stats span{font-size:.75rem}.hero-stats b{font-size:1.3125rem}
  .door-showcase{margin-inline:-20px;padding:25px 20px 18px}.showcase-stage{gap:8px}.showcase-door>div{height:270px}.showcase-door>span{font-size:.625rem;margin-top:12px}
  .showcase-bottom{font-size:.75rem;margin-top:20px}.showcase-bottom>div{gap:8px}.showcase-bottom button{width:32px;height:32px}
  .header-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px 10px;padding-block:16px}.header-main>.brand{grid-column:1;grid-row:1}.header-main>.cart-button{grid-column:2;grid-row:1;margin-left:0}.header-main>.mobile-toggle{grid-column:3;grid-row:1}.header-main>.header-phone{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr auto;width:100%;gap:12px;margin:0}.header-phone>div{display:grid;gap:1px}.header-phone a,.header-phone .header-phone-secondary{font-size:.8125rem}.header-phone button{font-size:.75rem;align-self:center}.header-main>.header-search{grid-column:1/-1;grid-row:3;margin-top:2px}
  .header-search input,.main-nav a,.btn,.btn-outline,.text-link{font-size:.875rem}.topline>.container{font-size:.6875rem}.topline>.container>span:last-of-type{max-width:200px;text-align:right}
  .main-nav.is-open{align-items:start}.mobile-nav-contacts{display:grid;grid-column:1/-1;border-top:1px solid var(--line);margin-top:7px;padding:12px 0 4px;gap:9px}.mobile-nav-contacts a{padding:0;font-size:1rem;font-weight:500}.mobile-nav-contacts button{justify-self:start;color:var(--muted);font-size:.875rem;text-decoration:underline;text-underline-offset:4px;padding:5px 0}
  .category-strip h2{font-size:1rem;line-height:1.4}.category-strip small,.category-strip span{font-size:.75rem}.category-strip svg{display:none}
  .section-heading{align-items:flex-start;flex-wrap:wrap}.section-heading .text-link{font-size:.875rem;margin-top:0;white-space:normal}
  .product-info .eyebrow{font-size:.6875rem;letter-spacing:0}.product-info h3{font-size:1rem;line-height:1.45}.product-meta{font-size:.75rem;min-height:39px;height:auto;line-height:1.6}.product-price strong{font-size:1.1875rem}.product-price .price-on-request{font-size:.875rem}.product-price small{font-size:.6875rem}.stock,.variant-badge{font-size:.6875rem}.product-price a{width:32px;height:32px}.product-image,.products-grid .product-image{height:250px}
  .collection-links a{font-size:.8125rem}.additional-catalog{padding-block:10px 40px}
  .service-section .section-heading>p,.service-bottom p,.service-grid p,.faq-section summary,.faq-section details p,.page-intro{font-size:.9375rem;line-height:1.8}.service-grid h3{font-size:1.125rem}
  .catalog-top{font-size:.8125rem}.catalog-top p{max-width:190px}.filter-toggle{font-size:.8125rem}
  .filters form{grid-template-columns:1fr;gap:19px}.filter-heading,.filters .small{grid-column:span 1}.filters label,.filters input,.filters select{font-size:.875rem}.filter-heading{font-size:.9375rem}.filter-heading a{font-size:.8125rem}
  .breadcrumbs{font-size:.75rem;line-height:1.6}.pagination a{font-size:.8125rem}.catalog-footnote{font-size:.75rem}.active-filters{font-size:.75rem}
  .variant-fields{grid-template-columns:1fr;gap:17px}.variant-fields select,.all-variants select{font-size:1rem}.detail-services,.detail-services .text-link{font-size:.875rem}.detail-description p:not(.eyebrow){font-size:.9375rem}.detail-description dl>div{font-size:.875rem}
  .purchase-actions{grid-template-columns:1fr}.shop-dialog .cart-line a{font-size:.875rem}.shop-dialog .cart-line small{font-size:.75rem}.shop-dialog [data-slot=dialog-description]{font-size:.875rem}
  .contact-block p,.legal-sections p,.legal-intro{font-size:.9375rem}.admin-items{font-size:.8125rem}
  .phone-links{gap:7px}.big-phone{font-size:1.25rem;line-height:1.45}.site-footer{padding-top:42px}.footer-grid{gap:32px 20px}.footer-grid p,.footer-grid>div>a:not(.brand),.social-links{font-size:.8125rem}.footer-grid h3{font-size:.875rem}.footer-grid .footer-phone{font-size:1rem!important}.footer-bottom{font-size:.75rem;line-height:1.55}
}
@media(max-width:370px){.hero h1{font-size:2.45rem}.hero-actions .btn,.hero-actions .btn-outline{padding:12px;font-size:.8125rem}.hero-stats{gap:13px}.hero-stats b{font-size:1.125rem}.hero-stats span{font-size:.6875rem}.door-showcase{margin-inline:-15px;padding-inline:15px}.showcase-door>div{height:230px}.showcase-bottom>span{max-width:125px}.product-image,.products-grid .product-image{height:220px}.product-price strong{font-size:1.0625rem}}
@media(prefers-reduced-motion:reduce){.showcase-stage{animation:none}}
@media(max-width:760px){
  .delivery-promo{margin-top:23px;padding:15px 0 15px 14px;gap:12px}
  .header-search input,.filters input,.filters select{font-size:1rem}
  .header-search{margin-left:0}
  .mobile-toggle,.cart-button,.showcase-bottom button,.quantity button{min-width:44px;min-height:44px}
  .showcase-bottom{flex-wrap:wrap;row-gap:14px}
  .hero-stats>div{min-width:0;flex:1}
  .hero-stats{flex-wrap:wrap}
  .legal-content h1,.contact-block a,.detail-description dd{overflow-wrap:anywhere}
  .detail-description dt{flex-shrink:1}
}
@media(max-width:540px){
  .footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{display:grid;grid-template-columns:1fr;gap:9px}.social-links{gap:18px;flex-wrap:wrap}
  .contact-banner .big-phone{font-size:1.15rem}.contact-banner .phone-links svg{width:.9em;height:.9em}
}

.header-search button{font-size:.75rem;font-weight:600;padding:6px 8px}
.main-nav .coming-soon-nav{color:#8a7048;font-weight:600}
.product-price a{width:auto!important;height:34px!important;min-width:0;padding:0 10px;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}
.showcase-bottom button[data-showcase-prev],.showcase-bottom button[data-showcase-next]{width:auto!important;min-width:58px;padding-inline:9px;font-size:.6875rem}
