:root{--paper:#faf9f5;--ink:#2d332d;--green:#395c4a;--muted:#697267;--line:#dedfd5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ab8754;outline-offset:3px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 5%;background:#fffefa;border-bottom:1px solid var(--line)}.brand{display:flex;gap:.75rem;align-items:center;text-decoration:none;font-size:1.2rem;letter-spacing:.18em}.brand img{object-fit:contain}.brand small{display:block;font-size:.57rem;letter-spacing:.3em}.site-header nav{display:flex;gap:2rem}.site-header nav a{text-decoration:none;font-size:.88rem}.site-header button{background:#e7ede6;border:0;border-radius:4px;padding:.65rem 1rem}main{max-width:1480px;margin:auto}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:2rem;padding:4rem 6%;background:#e9eee6}.hero img{width:100%;height:min(32vw,460px);object-fit:contain}.eyebrow{font-size:.7rem;letter-spacing:.2em;color:var(--green);font-weight:bold}.hero h1{font:normal clamp(2.7rem,5vw,5.6rem)/1.07 Georgia,serif;letter-spacing:-.035em;margin:.7rem 0}.hero em{color:var(--green)}.hero p:not(.eyebrow){max-width:50ch;color:var(--muted)}.action{display:inline-block;background:var(--green);color:white;border:0;border-radius:4px;padding:.8rem 1.15rem;text-decoration:none;text-align:center}.action:hover{background:#294536}.action:disabled{opacity:.55;cursor:not-allowed}.catalog,.information{padding:3.5rem 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem}.section-heading h2,.information h2{font:normal clamp(2rem,3vw,3.5rem) Georgia,serif;margin:.2rem 0 1rem}.section-heading>p{max-width:36ch;color:var(--muted)}#catalogStatus{color:var(--muted);font-size:.9rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:1.2rem}.product-card{display:flex;flex-direction:column;background:#fffefa;border:1px solid var(--line);border-radius:7px;overflow:hidden}.product-card>img{width:100%;height:225px;object-fit:contain;background:#eeeee7}.product-card>h3,.product-card>p,.card-actions{margin-left:1.1rem;margin-right:1.1rem}.product-card h3{font:normal 1.4rem/1.2 Georgia,serif;min-height:2.4em;margin-top:1.1rem}.product-price{color:var(--green);font-weight:bold}.product-description{color:var(--muted);font-size:.85rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;margin-bottom:1.1rem;padding-top:1rem}.card-actions .action{font-size:.85rem}.visual-link{white-space:nowrap;font-size:.8rem}.information{background:#e9eee6}.information>div{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.information b{color:var(--green)}.information h3{font:normal 1.4rem Georgia,serif}.information p{color:var(--muted)}footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;border-top:1px solid var(--line);padding:2.5rem 6%;font-size:.83rem}footer a,footer button{display:block;background:none;border:0;padding:.25rem 0;text-decoration:none;text-align:left;color:var(--muted)}footer p{color:var(--muted)}.cart{position:fixed;z-index:20;right:0;top:0;bottom:0;width:min(100%,440px);overflow:auto;background:#fffefa;padding:1.5rem;box-shadow:-15px 0 40px #0002}.cart[hidden],#scrim[hidden]{display:none}.cart-head{display:flex;justify-content:space-between;align-items:center}.cart-head h2{font:normal 2rem Georgia,serif}.cart-head button,.close{border:0;background:none;font-size:1.8rem}.cart-line{border-top:1px solid var(--line);padding:1rem 0}.cart-line h3{margin:0;font-size:1rem}.cart-line p{margin:.3rem 0;font-size:.82rem;color:var(--muted)}.remove{border:0;background:none;text-decoration:underline;padding:.3rem 0}.cart form{border-top:1px solid var(--line);padding-top:1rem}.cart label,.detail-form label{display:block;margin:1rem 0;font-size:.85rem}.cart input:not([type=checkbox]),.detail-form input,.detail-form select{display:block;width:100%;padding:.65rem;margin:.3rem 0;border:1px solid var(--line);background:white}.consent{display:flex!important;align-items:flex-start;gap:.5rem}.consent input{margin-top:.3rem}.checkout-note,#checkoutStatus{font-size:.82rem;color:var(--muted)}#checkoutButton{width:100%}#scrim{position:fixed;z-index:19;inset:0;background:#17231a99}dialog{border:1px solid var(--line);border-radius:8px;padding:1.5rem;max-width:min(94vw,680px);max-height:88vh;overflow:auto;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#17231a99}dialog .close{float:right}.detail-image{display:block;width:100%;height:230px;object-fit:contain}.detail-form{margin-top:1.5rem}.detail-price{color:var(--green)}.manual-note{background:#f8f2e8;border-left:3px solid #966638;padding:.8rem;font-size:.85rem}@media(max-width:800px){.site-header{flex-wrap:wrap}.site-header nav{order:3;width:100%;justify-content:space-between;gap:.5rem}.hero{grid-template-columns:1fr}.hero img{height:300px}.information>div{grid-template-columns:1fr;gap:.5rem}}@media(max-width:560px){.hero{padding:2.5rem 6%}.hero img{height:220px}.section-heading{display:block}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.product-card>img{height:135px}.product-card h3{font-size:1.05rem}.card-actions{display:block}.card-actions .action{width:100%;font-size:.75rem}.visual-link{display:block;margin-top:.6rem}footer{grid-template-columns:1fr 1fr}}
.saved-designs{padding:2rem 6% 3rem;border-top:1px solid var(--line)}.saved-designs h2{font:normal 2rem Georgia,serif}.saved-designs>p{max-width:70ch}.saved-design{padding:1rem;margin:.8rem 0;background:#fffefa;border:1px solid var(--line);border-radius:5px}.saved-design h3{margin:0}.saved-design label{display:block;margin:.8rem 0}.saved-design select{display:block;max-width:420px;width:100%;padding:.6rem;margin:.3rem 0;border:1px solid var(--line);background:white}
.withdraw-link{color:var(--green)!important;font-weight:bold!important;text-decoration:underline!important;background:transparent!important;padding:.25rem!important;border:0!important}#withdrawForm label{display:block;margin:.8rem 0}#withdrawForm input,#withdrawForm textarea{display:block;width:100%;padding:.6rem;border:1px solid var(--line);background:white}#withdrawForm textarea{min-height:5rem}#withdrawConfirm{padding:1rem;background:#e9eee6;margin-top:1rem}#withdrawStatus{min-height:2rem}
#checkoutForm textarea,#checkoutForm select{display:block;width:100%;padding:.65rem;margin:.3rem 0;border:1px solid var(--line);background:white}#quotePreview{padding:.8rem;margin:.8rem 0;background:#e9eee6;font-size:.86rem}#orderDetail p{margin:.7rem 0}
.quote-accept label{display:block;margin:.7rem 0}.quote-accept input,.quote-accept select{display:block;width:100%;padding:.6rem;border:1px solid var(--line);background:white}.quote-accept .action{margin-top:1rem}
.catalog-search{display:block;max-width:420px;margin:.6rem 0 1rem;font-size:.82rem;color:var(--muted)}.catalog-search input{display:block;width:100%;padding:.7rem;border:1px solid var(--line);background:#fffefa;border-radius:4px;font-size:1rem;color:var(--ink)}
.product-card h3 a{text-decoration:none}.product-card h3 a:hover{text-decoration:underline}
