/* Shared site foundations */
:root{font-family:Georgia,'Times New Roman',serif;color:#302c24;background:#eee7d9}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit}
button,a{touch-action:manipulation}
.top{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.2rem 5vw;border-bottom:1px solid #dddcd5;background:#fff}
.brand{font-size:1.55rem;letter-spacing:.07em;text-decoration:none;white-space:nowrap}
.brand span{display:block}
nav{display:flex;gap:2rem;font:.9rem Arial,sans-serif}
nav a{text-decoration:none}
nav a:hover{text-decoration:underline}
.eyebrow{font:.73rem Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:#546356}
.btn{display:inline-block;padding:1rem 1.45rem;text-decoration:none;border:1px solid #394f40;background:#394f40;color:#fff;font:.92rem Arial,sans-serif}
footer{display:flex;justify-content:space-between;gap:1rem;padding:2rem 5vw;background:#26352d;color:#e8eee7;font:.86rem Arial,sans-serif}
footer a{text-decoration:none}

/* A subtle workshop warmth over the original clean layout. */
html body{color:#302c24;background:#eee7d9}
html body .top{background:#f6f0e4;border-bottom:1px solid #b9a890;box-shadow:0 2px 10px #382b1c13}
html body .brand{color:#26392d}
html body .brand{display:flex;align-items:center;gap:.85rem}
.brand-logo{width:72px;height:72px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 5px #2b211a2b)}
html body .brand .brand-copy{display:block;margin:0;color:#26392d;font:1.32rem/1 Georgia,'Times New Roman',serif;letter-spacing:.07em}
html body .brand .brand-copy small{display:block;margin-top:.42rem;color:#745c43;font:.68rem/1.2 Arial,sans-serif;letter-spacing:.2em}
html body nav a{color:#463b2c}
html body nav a:hover{color:#2b4834}
html body .hero{background:#f2ebdf}
html body .hero-copy{background:linear-gradient(135deg,#f8f3e9 0%,#eee3d1 100%);border-right:10px solid #b99a72}
html body .eyebrow{color:#755a3b;font-weight:700;letter-spacing:.2em}
html body .hero h1,html body .section h2,html body .ask h2{color:#302c24}
html body .hero p{color:#5f5345}
html body .btn{background:#314c39;border-color:#314c39;box-shadow:3px 3px 0 #b2946d;transition:background .2s,transform .2s}
html body .btn:hover{background:#243d2d;transform:translateY(-2px)}
.messenger-float{position:fixed;right:clamp(1rem,3vw,2rem);bottom:calc(1rem + env(safe-area-inset-bottom));z-index:1000;display:inline-flex;align-items:center;gap:.55rem;border-radius:999px;box-shadow:0 12px 30px #1c241f52;font-size:1rem;font-weight:700}
.messenger-float span{font-size:1.2rem;line-height:1}
.custom-order-float{position:fixed;right:clamp(1rem,3vw,2rem);bottom:calc(5.35rem + env(safe-area-inset-bottom));z-index:1000;display:inline-flex;align-items:center;gap:.55rem;border-radius:999px;font-size:.94rem;font-weight:700}
.custom-order-float span{color:#a46f45;font-size:1.1rem;line-height:1}
html body .btn.secondary{background:#f7f1e6;color:#314c39;box-shadow:3px 3px 0 #c9b899}
html body .hero-photo{background-color:#b89f7d;border:16px solid #8b6949;border-left:0;box-shadow:inset 0 0 0 1px #eddec7;background-position:center;background-size:cover}
html body .section{background:#f7f2e9}
html body .section-head p,html body .card p{color:#62594e}
.collections{border-top:1px solid #d2c0a7;border-bottom:1px solid #d2c0a7}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.category-card{position:relative;display:block;min-height:430px;overflow:hidden;border:1px solid #9f8667;background:#2f392f;color:#fff;text-decoration:none;box-shadow:0 10px 26px #4d361b24;isolation:isolate}
.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease;z-index:-2}
.category-card.family-set{background:#d8d7d0}
.category-card.family-set img{object-fit:contain;object-position:center top}
.category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#1c241fe8 0%,#1c241f8c 42%,#1c241f08 75%);z-index:-1}
.category-overlay{position:absolute;left:0;right:0;bottom:0;padding:1.6rem}
.category-overlay span{display:block;font:700 .72rem/1.3 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#ead7bd}
.category-overlay h3{font-size:clamp(2rem,2.7vw,3rem);font-weight:400;line-height:1;margin:.55rem 0 .7rem}
.category-overlay p{max-width:25rem;margin:0;font:1rem/1.5 Arial,sans-serif;color:#f4eee5}
.category-card:hover img,.category-card:focus-visible img{transform:scale(1.035)}
.category-card:focus-visible{outline:3px solid #314c39;outline-offset:4px}
html body .card{border:1px solid #c2ad91;background:#fdfaf5;box-shadow:0 8px 22px #4d361b14}
html body .card img{border-bottom:5px solid #8b6949;filter:saturate(.86) contrast(1.06)}
html body .card .content{border-top:1px solid #f5ecde}
html body .card h3{color:#344d39}
html body .photo-note{display:block;margin:0 0 .4rem;color:#84674a;font:700 .75rem/1.3 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
html body .card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #4d361b25}
html body .card{transition:transform .2s,box-shadow .2s}
html body .ask{background:#cfb797;border-top:1px solid #9c7c58;border-bottom:1px solid #9c7c58}
html body .ask p{color:#463a2c}
html body #contact{background:#eee5d5;border-top:1px solid #d3c2a9}
html body #contact a{color:#244a34;text-decoration-thickness:2px;text-underline-offset:3px}
html body #contact .messenger-float{color:#fff;text-decoration:none}
html body footer{background:#293a2f;border-top:6px solid #8f704d;color:#f7f0e5}
@media(max-width:800px){.top{display:block}.brand{display:flex}nav{margin-top:1.25rem;flex-wrap:wrap;gap:.7rem 1.2rem}html body .hero-copy{border-right:0;border-bottom:8px solid #b99a72}html body .hero-photo{border:10px solid #8b6949;border-top:0}html body .top{box-shadow:none}.brand-logo{width:60px;height:60px}html body .brand .brand-copy{font-size:1.1rem}.category-grid{grid-template-columns:1fr}.category-card{min-height:390px}.messenger-float{right:1rem;padding:.9rem 1.15rem}.ask .messenger-float{margin-top:0}footer{display:block}footer a{display:inline-block;margin-top:.8rem}}
@media(max-width:800px){.custom-order-float{right:1rem;bottom:calc(5.15rem + env(safe-area-inset-bottom));padding:.8rem 1rem}}

/* Metal sign collection */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
nav [aria-current="page"]{font-weight:700;text-decoration:underline;text-decoration-color:#a87942;text-decoration-thickness:2px;text-underline-offset:.45rem}
.catalog-intro{display:flex;align-items:end;justify-content:space-between;gap:3rem;padding:4.5rem 5vw 3.2rem;background:linear-gradient(120deg,#f8f2e7,#e7d7c0);border-bottom:1px solid #c7ae8d}
.catalog-intro h1{margin:.65rem 0 0;color:#302c24;font-size:clamp(3.4rem,6vw,6.5rem);font-weight:400;line-height:.9;letter-spacing:-.045em}
.catalog-intro p{max-width:34rem;margin:0;color:#5b4c3b;font:1.08rem/1.65 Arial,sans-serif}
.catalog{padding:2.2rem 5vw 5rem;background:#f7f2e9}
.collection-jump{flex-wrap:nowrap;position:sticky;top:0;z-index:20;display:flex;justify-content:safe center;gap:.65rem;overflow-x:auto;padding:1rem 5vw;background:#efe4d3e8;border-bottom:1px solid #c9b497;backdrop-filter:blur(10px)}
.collection-jump a{flex:none;padding:.66rem .9rem;border:1px solid #9b7d5a;border-radius:999px;background:#fffaf1;color:#3f392f;font:700 .84rem/1 Arial,sans-serif;text-decoration:none}
.collection-jump a:hover,.collection-jump a:focus-visible{background:#314c39;border-color:#314c39;color:#fff}
.grouped-catalog{padding-top:.4rem}
.sign-group{scroll-margin-top:5rem;padding:3.8rem 0;border-bottom:1px solid #d7c5ac}
.sign-group:last-child{border-bottom:0;padding-bottom:0}
.group-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:1.6rem}
.group-heading h2{margin:.45rem 0 0;color:#302c24;font-size:clamp(2.2rem,3.6vw,3.8rem);font-weight:400;line-height:1;letter-spacing:-.035em}
.group-heading p{max-width:32rem;margin:0;color:#62584b;font:1rem/1.55 Arial,sans-serif}
.filter-bar{display:flex;gap:.65rem;flex-wrap:wrap;margin:0 0 2rem;padding-bottom:1.35rem;border-bottom:1px solid #d7c5ac}
.filter{padding:.72rem 1rem;border:1px solid #927553;border-radius:999px;background:#fffaf1;color:#473a2d;font:700 .88rem/1 Arial,sans-serif;cursor:pointer;transition:.18s ease}
.filter:hover,.filter:focus-visible{border-color:#314c39;color:#243d2d;transform:translateY(-1px)}
.filter.active{background:#314c39;border-color:#314c39;color:#fff;box-shadow:2px 3px 0 #b2946d}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.product-card{display:flex;flex-direction:column;overflow:hidden;background:#fffaf2;border:1px solid #bda687;box-shadow:0 8px 22px #4d361b1c}
.product-card[hidden]{display:none}
.product-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#e2d7c6;border-bottom:5px solid #8b6949}
.product-card img.cut-art{object-fit:contain;padding:1rem;background:#f4efe7}
.product-copy{display:flex;flex:1;flex-direction:column;padding:1.25rem 1.25rem 1.4rem}
.product-type{color:#765a3b;font:700 .75rem/1.3 Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.product-card h3{margin:.45rem 0 .35rem;color:#2c3f31;font-size:1.55rem;font-weight:400}
.product-card p{margin:.2rem 0;color:#62584b;font:1rem/1.5 Arial,sans-serif}
.product-card .price{margin:0 0 .4rem;color:#302c24;font-weight:700}
.size-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:1rem 0 0;font:700 .9rem/1.25 Arial,sans-serif}
.size-prices div{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.55rem .7rem;background:#eee2d1;border:1px solid #c7ad8c}
.size-prices dt,.size-prices dd{margin:0}
.size-prices dt{color:#55442f}
.size-prices dd{color:#244a34}
.personalize{align-self:flex-start;margin-top:auto;padding-top:1.15rem;color:#244a34;font:700 .92rem/1.3 Arial,sans-serif;text-decoration-thickness:2px;text-underline-offset:.28rem}
.personalize:after{content:" →"}
.custom-strip{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:4rem 5vw;background:#d5bea0;border-top:1px solid #9c7c58}
.custom-strip h2{margin:.55rem 0 .5rem;color:#302c24;font-size:clamp(2.2rem,4vw,4rem);font-weight:400}
.custom-strip p{margin:0;color:#4d4032;font:1rem/1.5 Arial,sans-serif}
.custom-order-banner{display:flex;align-items:center;justify-content:space-between;gap:3rem;margin:2.25rem 5vw 0;padding:2.1rem clamp(1.5rem,4vw,3.25rem);background:linear-gradient(120deg,#e8d7bd,#f6eee1);border:1px solid #b99a72;border-left:8px solid #314c39;border-radius:18px;box-shadow:0 16px 36px #59432f1c}
.custom-order-banner h2{margin:.45rem 0 .55rem;color:#302c24;font-size:clamp(1.9rem,3.3vw,3rem);font-weight:400}
.custom-order-banner p{max-width:760px;margin:0;color:#574b3d;font:1rem/1.6 Arial,sans-serif}
.custom-order-actions{display:grid;flex:none;gap:.8rem;text-align:center}
.custom-order-learn{color:#314c39;font:700 .88rem/1.2 Arial,sans-serif;text-underline-offset:4px}
.custom-order-page{padding:4.5rem 5vw;background:#f5ecdf}
.custom-order-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}
.custom-order-steps article{padding:2rem;background:#fffaf1;border:1px solid #cdb99f;border-radius:16px;box-shadow:0 12px 28px #5c463218}
.custom-order-steps article>span{color:#a46f45;font:700 .82rem/1 Arial,sans-serif;letter-spacing:.16em}
.custom-order-steps h3{margin:.8rem 0 .6rem;color:#314c39;font-size:1.45rem;font-weight:400}
.custom-order-steps p{margin:0;color:#5e5144;font:1rem/1.6 Arial,sans-serif}
.custom-order-options{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem;padding:2.5rem;background:#dcc5a6;border-radius:16px}
.custom-order-options h2{margin:.55rem 0 0;color:#302c24;font-size:clamp(2rem,3vw,3rem);font-weight:400}
.custom-order-options ul{columns:2;column-gap:2rem;margin:0;padding-left:1.25rem;color:#4d4032;font:1rem/1.6 Arial,sans-serif}
.custom-order-options li{break-inside:avoid;margin-bottom:.7rem}
@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.custom-order-banner{display:block;margin:1.25rem 6vw 0}.custom-order-actions{justify-items:start;margin-top:1.35rem}.custom-order-steps{grid-template-columns:1fr}.custom-order-options{grid-template-columns:1fr}.custom-order-options ul{columns:1}}
@media(max-width:650px){.catalog-intro,.custom-strip{display:block;padding:3rem 6vw}.catalog-intro p{margin-top:1.25rem}.catalog{padding:.3rem 6vw 3.5rem}.collection-jump{justify-content:flex-start;padding:.8rem 6vw}.group-heading{display:block}.group-heading p{margin-top:1rem}.sign-group{padding:3rem 0}.product-grid{grid-template-columns:1fr}.filter-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:1rem}.filter{flex:none}.custom-strip .btn{margin-top:1.5rem}.product-card img{aspect-ratio:4/5}.custom-order-page{padding:3rem 6vw}.custom-order-options{padding:1.6rem}}

.source-options{display:inline-block;margin-top:.75rem;color:#365440;font: .88rem/1.5 Arial,sans-serif;text-underline-offset:.2rem}

/* Compact mini-sign collections: each expandable set contains up to nine designs. */
.mini-sign-sets{display:grid;gap:1rem;margin-top:1.7rem}
.mini-sign-sets-intro{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin:.35rem 0 .25rem;padding-top:1.3rem;border-top:1px solid #cdb898}
.mini-sign-sets-intro h3{margin:.4rem 0 0;color:#302c24;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:400}
.mini-sign-sets-intro p{margin:0;color:#62584b;font:1rem/1.5 Arial,sans-serif}
.mini-sign-set{overflow:hidden;background:#fffaf2;border:1px solid #ad916d;box-shadow:0 7px 18px #4d361b17}
.mini-sign-set summary{display:grid;grid-template-columns:minmax(12rem,22rem) 1fr auto;align-items:center;gap:1.35rem;padding:1rem;cursor:pointer;list-style:none}
.mini-sign-set summary::-webkit-details-marker{display:none}
.mini-sign-set summary:hover,.mini-sign-set summary:focus-visible{background:#f1e5d4}
.mini-sign-collage{display:grid;grid-template-columns:repeat(3,1fr);gap:.22rem;overflow:hidden;border:1px solid #b99d79;background:#d8c6ae}
.mini-sign-collage img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#e8ddce}
.mini-sign-set-copy{display:grid;gap:.35rem}
.mini-sign-set-copy strong{color:#2c3f31;font:400 clamp(1.45rem,2.4vw,2.2rem)/1.05 Georgia,serif}
.mini-sign-set-copy small{color:#715c43;font:700 .8rem/1.3 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.mini-sign-set-marker{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid #886c4d;border-radius:50%;color:#314c39;font:400 1.7rem/1 Arial,sans-serif;transition:transform .2s ease}
.mini-sign-set[open] .mini-sign-set-marker{transform:rotate(45deg)}
.mini-sign-set-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;padding:0 1rem 1rem;border-top:1px solid #d9c7ad}
.mini-sign-set-products .product-card{margin-top:1rem}
.mini-sign-set-products .product-card>img,.mini-sign-product img{aspect-ratio:1;object-fit:cover;object-position:center center}
.sign-size-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0;border:0;padding:0}
.sign-size-options legend{grid-column:1/-1;margin-bottom:.15rem;color:#55442f;font:700 .8rem/1.3 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.sign-size-options label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:.7rem;background:#eee2d1;border:1px solid #c7ad8c;cursor:pointer;font:700 .95rem/1.2 Arial,sans-serif}
.sign-size-options label:has(input:checked){background:#e2d2bb;border-color:#6f5336;box-shadow:inset 0 0 0 1px #6f5336}
.sign-size-options input{width:1rem;height:1rem;margin:0;accent-color:#314c39}
.sign-size-options span{color:#55442f}
.sign-size-options strong{color:#244a34}
.mini-sign-sets-new{margin-top:0}
@media(max-width:900px){.mini-sign-set-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.mini-sign-sets-intro{display:block}.mini-sign-sets-intro p{margin-top:.7rem}.mini-sign-set summary{grid-template-columns:8.2rem 1fr auto;gap:.75rem;padding:.75rem}.mini-sign-set-products{grid-template-columns:1fr;padding:.1rem .75rem .75rem}.mini-sign-set-marker{width:2rem;height:2rem}.mini-sign-set-copy strong{font-size:1.25rem}.mini-sign-set-copy small{font-size:.68rem}}

/* Current seasonal feature */
.seasonal-feature{background:#f3e8d8}.seasonal-feature .eyebrow{color:#894622}.seasonal-feature .card{border-color:#dfc9ae}.seasonal-feature .card img{height:auto;aspect-ratio:1;object-fit:cover}.seasonal-feature .card .content>span{display:inline-block;margin-top:.8rem;font:.85rem Arial,sans-serif;color:#814324}.seasonal-feature .btn{background:#814324;border-color:#814324}.seasonal-feature .card:hover{box-shadow:0 6px 22px #613b2026}.seasonal-feature .card:focus-visible{outline:3px solid #814324;outline-offset:4px}.current-season{border:2px solid #ad7246!important}#seasonal{scroll-margin-top:2rem}
