/* Quiet section transitions: straight edges and soft light. */
.hero,.benefits,.shop-section,.assembly-section,.story-section,.site-footer{position:relative}
.benefits{background:linear-gradient(120deg,#eaf3df,#e4efdc)}
.shop-section{background:#fbfcf7}.section-heading h2{max-width:780px}.shop-section .section-heading>p{font-size:15px}
.assembly-section{background:linear-gradient(145deg,#f2f6ea,#eaf3e2)}
.story-section{background:#fffefb}
.site-footer{background:linear-gradient(150deg,#e9f2e0,#dcebd7)}
.footer-contact{display:grid;grid-template-columns:.6fr 1.4fr;gap:8%;padding-top:56px;margin-top:55px;border-top:1px solid #cadac7}
.footer-contact-heading h2{font-size:clamp(27px,2.5vw,36px);line-height:1.25;margin:12px 0 23px}.footer-contact-heading h2 em{color:#648e67}.footer-hotline{display:inline-flex;gap:12px;align-items:center;background:#376644;color:#fff;padding:13px 17px;border-radius:5px;font-weight:700;font-size:15px;transition:transform .25s,background .25s}.footer-hotline:hover{transform:translateY(-3px);background:#285536}
.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.location-card{background:rgba(255,255,255,.8);border:1px solid #d7e5d2;border-radius:14px;padding:24px;box-shadow:0 12px 28px rgba(52,83,53,.045)}.location-card h3{font-size:20px;margin:0 0 17px}.location-card h3:before{content:"⌖";color:#78a574;margin-right:8px}.location-card p{font-size:14px;line-height:1.6;margin:0 0 12px;color:#566e5c}.location-card p strong{color:#2e5138}.location-card>span{display:inline-block;background:#e7f0e3;color:#4b7654;border-radius:99px;padding:5px 11px;font-size:12px;font-weight:700;margin-top:4px}.footer-bottom{margin-top:54px}
.product-card{background:#fffefb}
.product-dialog[open]{grid-template-columns:1fr 1fr;align-items:stretch}
.dialog-photo{display:grid;place-items:center;min-height:500px;padding:16px;background:#fff;box-shadow:8px 0 20px -15px rgba(37,64,42,.35);border-right:1px solid #eef1eb}
.dialog-photo img{width:100%;height:auto;max-height:min(76vh,650px);aspect-ratio:1;object-fit:contain;object-position:center}
.dialog-details{background:#fff}.dialog-details p{margin-bottom:17px}.dialog-price{margin:20px 0}
.variant-block{margin:17px 0}.variant-label{display:block;margin-bottom:9px;color:#3d5f45;font-size:13px;font-weight:700}.wood-options,.size-options{display:flex;flex-wrap:wrap;gap:8px}.wood-option,.size-option{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid #d8e2d5;border-radius:4px;background:#fff;color:#4d6252;padding:6px 12px;font-size:13px;font-weight:600;transition:border-color .2s,background .2s}.wood-option[aria-pressed="true"],.size-option[aria-pressed="true"]{border-color:#3f7049;background:#f1f7ec;color:#295735;box-shadow:inset 0 0 0 1px #3f7049}.wood-swatch{width:17px;height:17px;border-radius:50%;border:1px solid rgba(49,56,41,.12)}.wood-swatch.oak{background:linear-gradient(120deg,#dfbc85,#bd8f57)}.wood-swatch.chestnut{background:linear-gradient(120deg,#91603d,#5f3825)}
.cart-item-variant{display:block;color:#708173;font-size:12px;line-height:1.5;margin:0 0 5px}.cart-foot .cart-continue{margin-top:20px}
.motion-ready .reveal-item{opacity:.3;transform:translate3d(0,20px,0);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.motion-ready .reveal-item.is-visible{opacity:1;transform:translate3d(0,0,0)}
.motion-ready .product-card.reveal-item.is-visible:hover{transform:translateY(-6px)}
.motion-ready .product-card.reveal-item:nth-child(4n+2),.motion-ready .benefit.reveal-item:nth-child(2){transition-delay:.06s}
.motion-ready .product-card.reveal-item:nth-child(4n+3),.motion-ready .benefit.reveal-item:nth-child(3){transition-delay:.12s}
.motion-ready .product-card.reveal-item:nth-child(4n+4),.motion-ready .benefit.reveal-item:nth-child(4){transition-delay:.18s}
@media(max-width:760px){.footer-contact{grid-template-columns:1fr;gap:25px}}
@media(max-width:600px){.location-grid{grid-template-columns:1fr}.location-card{padding:21px}.footer-contact{padding-top:42px;margin-top:42px}.dialog-photo{min-height:0;padding:12px;box-shadow:0 8px 18px -15px rgba(37,64,42,.4);border-right:0;border-bottom:1px solid #eef1eb}.dialog-photo img{width:100%;height:auto;max-height:42vh;aspect-ratio:1;object-fit:contain}.product-dialog[open]{display:block}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal-item{opacity:1!important;transform:none!important;transition:none!important}}
