:root{--black:#11110f;--charcoal:#1b1b18;--cream:#f5f2ea;--paper:#fbfaf7;--gold:#d8b24c;--wood:#8b5e3c;--text:#24231f;--muted:#6d6a61;--max-width:1400px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Georgia,"Times New Roman",serif;color:var(--text);background:var(--paper);line-height:1.6}a{color:inherit;text-decoration:none}
.site-header{position:relative;width:100%;z-index:1000;background:var(--black);border-bottom:1px solid rgba(216,178,76,.25)}
.nav{position:relative;width:min(100%,var(--max-width));min-height:118px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;position:relative;z-index:1002}.brand-logo{display:block;width:188px;height:188px;object-fit:contain;border-radius:50%;position:absolute;top:-47px;left:0;z-index:1003}.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:1.6rem;width:auto;font-family:Arial,Helvetica,sans-serif;font-size:.88rem;letter-spacing:.04em;color:#eee;position:relative;z-index:1005}.nav-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem .3rem;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--gold)}.nav-cta{border:1px solid var(--gold);padding:.65rem 1rem!important;color:white!important}.menu-toggle{display:none;border:1px solid rgba(216,178,76,.55);background:transparent;color:#fff;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;position:relative;z-index:1004}.menu-toggle span{display:block;width:20px;height:1px;background:currentColor;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
main,footer{margin-left:0}.page-hero{background:var(--black);color:#fff;padding:4rem 1rem}.page-hero-inner,.section-inner{width:min(100%,var(--max-width));margin:0 auto}.page-hero-inner{padding:2rem 1rem}.eyebrow{color:var(--gold);font-family:Arial,Helvetica,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.25rem}h1,h2{font-weight:500;line-height:1.1}.page-hero h1{font-size:clamp(3rem,6vw,5.5rem);margin-bottom:1rem}.page-hero p{max-width:760px;color:#d7d3c8;font-size:1.2rem}
section{padding:6rem 1rem}.light-section{background:var(--paper)}.cream-section{background:var(--cream)}.dark-section{background:var(--charcoal);color:#fff}.section-heading{max-width:760px;margin-bottom:3rem}.section-heading h2{font-size:clamp(2.2rem,5vw,3.5rem);margin-bottom:1rem}.section-heading p{color:var(--muted);font-size:1.1rem}.dark-section .section-heading p{color:#c7c4bb}
.hero{background:var(--black);color:#fff}.hero-inner{position:relative;width:100%;min-height:clamp(560px,44vw,760px);margin:0 auto;padding:4.5rem max(2rem,calc((100% - var(--max-width))/2 + 2rem)) 5.5rem;display:flex;align-items:center;overflow:hidden}.hero-title-script{display:block;font-family:'Scriptina Pro',cursive;font-size:clamp(4.4rem,6.2vw,6.6rem);line-height:.95;color:#f1eee5;font-weight:300}.hero-title-script span{display:block;white-space:nowrap}.hero-copy{max-width:620px;font-size:clamp(1.15rem,2vw,1.45rem);color:#ddd9cf;font-style:italic;margin:1.5rem 0 2rem}.hero-inner>div:first-child{position:relative;z-index:2;max-width:680px;text-shadow:0 2px 16px rgba(0,0,0,.45)}.hero-photo-placeholder{position:absolute;inset:0;width:100%;height:100%;max-width:none;border:0;background:#181713;display:block;padding:0}.hero-photo-placeholder::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,15,.82) 0%,rgba(17,17,15,.5) 28%,rgba(17,17,15,.08) 52%,rgba(17,17,15,.02) 100%);pointer-events:none}.hero-photo-placeholder img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.photo-note{display:none}
.button{display:inline-block;background:var(--gold);color:var(--black);padding:.9rem 1.35rem;font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.04em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#e4c463}
.category-grid,.portfolio-grid,.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.category-card,.portfolio-card,.shop-card{border:1px solid #ddd8cc;background:#fff;overflow:hidden}.category-card{min-height:250px;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end}.category-card span{color:var(--gold);font-family:Arial,Helvetica,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem}.category-card h3{font-size:1.7rem;font-weight:500;margin-bottom:.5rem}.category-card p,.shop-card p{color:var(--muted)}
.work-placeholder{min-height:300px;border:1px dashed rgba(216,178,76,.5);display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;color:#c7c4bb;font-family:Arial,Helvetica,sans-serif}.portfolio-image,.shop-image{height:280px;background:linear-gradient(135deg,rgba(139,94,60,.3),rgba(0,0,0,.12)),repeating-linear-gradient(90deg,rgba(139,94,60,.12) 0 3px,transparent 3px 42px);display:flex;align-items:center;justify-content:center;color:#6d6a61;font-family:Arial,Helvetica,sans-serif;text-align:center;padding:1rem}.portfolio-card-content,.shop-card-content{padding:1.5rem}.portfolio-card h3,.shop-card h3{font-size:1.5rem;font-weight:500;margin-bottom:.4rem}.shop-card .price{display:block;margin-top:.8rem;font-family:Arial,Helvetica,sans-serif;font-weight:700;color:var(--wood)}
.about-story{font-size:1.25rem;line-height:1.7}.about-story p+p{margin-top:1.5rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-note{border-left:3px solid var(--gold);padding-left:1.5rem;font-size:1.25rem;font-style:italic}.project-cta{background:var(--black);color:#fff;text-align:center}.project-cta .section-inner{max-width:800px}.project-cta p{color:#d0cdc4;margin:0 auto 2rem;font-size:1.15rem}
.form-wrap{max-width:850px;margin:0 auto;background:#fff;padding:2.5rem;border:1px solid #ddd8cc}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.field{display:flex;flex-direction:column;gap:.4rem}.field.full{grid-column:1/-1}.field label{font-family:Arial,Helvetica,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.04em}.field input,.field select,.field textarea{font:inherit;border:1px solid #cfc9bd;padding:.8rem;background:#fbfaf7}.field textarea{min-height:180px;resize:vertical}.form-note{color:var(--muted);font-size:.9rem;margin-bottom:1.5rem}
footer{background:#0b0b0a;color:#aaa69d;padding:2rem 1rem;font-family:Arial,Helvetica,sans-serif;font-size:.85rem}.footer-inner{width:min(100%,var(--max-width));margin:0 auto;display:flex;justify-content:space-between;gap:1rem}
@media(max-width:900px){.nav{min-height:82px;padding:.65rem 1rem;gap:1rem}.brand-logo{width:124px;height:124px;top:-31px}.menu-toggle{display:flex}.nav-links{position:absolute;top:100%;left:0;width:100%;display:none;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1rem 1rem;background:var(--black);border-top:1px solid rgba(216,178,76,.18);border-bottom:1px solid rgba(216,178,76,.25);font-size:.9rem}.nav-links.is-open{display:flex}.nav-links a{min-height:48px;padding:.65rem .75rem;justify-content:flex-start;border-bottom:1px solid rgba(255,255,255,.06)}.nav-links a:last-child{border-bottom:0}.nav-cta{display:flex!important;justify-content:center!important;margin-top:.5rem;border:1px solid var(--gold);color:white!important}.nav-links a.nav-cta{border:1px solid var(--gold)}main,footer{margin-left:0}.hero-inner,.about-grid,.form-grid{grid-template-columns:1fr}.hero-photo-placeholder{width:min(100%,450px);height:min(100vw - 2rem,450px);justify-self:center}.category-grid,.portfolio-grid,.shop-grid{grid-template-columns:1fr}section{padding:4.5rem 1rem}.footer-inner{flex-direction:column}.page-hero{padding:2rem 1rem}.page-hero-inner{padding:1rem 0}.hero-inner{width:100%;min-height:520px;padding:3.5rem 1rem 4.5rem;align-items:flex-end}.hero-inner>div:first-child{max-width:100%;padding-bottom:1rem}.hero-photo-placeholder{width:100%;max-width:none;height:100%;aspect-ratio:auto}}
@media(max-width:700px){.page-hero{text-align:center}.page-hero-inner{padding:1rem 0}.page-hero p{margin-left:auto;margin-right:auto}.hero-inner{display:flex;flex-direction:column;min-height:0;padding:0 1rem 3.5rem;align-items:stretch}.hero-photo-placeholder{position:relative;order:1;inset:auto;height:280px;width:100%;max-width:none}.hero-inner>div:first-child{order:2;max-width:100%;width:100%;padding:1.25rem 0 0;margin-top:0;text-align:center}.hero-inner>div:first-child .hero-copy{margin-left:auto;margin-right:auto}.hero-inner>div:first-child .button{margin-left:auto;margin-right:auto}.hero-photo-placeholder img{object-fit:cover;object-position:center center}.hero-photo-placeholder::after{background:linear-gradient(180deg,rgba(17,17,15,0) 35%,rgba(17,17,15,.18) 58%,rgba(17,17,15,.92) 100%)}.about-grid,.form-grid{grid-template-columns:1fr}.about-grid{text-align:center}.about-note{text-align:left}.category-grid,.portfolio-grid,.shop-grid{grid-template-columns:1fr}section{padding:4.5rem 1rem}.footer-inner{flex-direction:column}.form-wrap{text-align:left}.page-hero{padding:2rem 1rem}.hero-photo-placeholder{width:calc(100% + 2rem);margin-left:-1rem}}@media(max-width:560px){.nav{min-height:76px}.brand-logo{width:112px;height:112px;top:-28px}.nav-links a{font-size:.82rem;padding:.6rem .75rem}.hero-title-script{font-size:clamp(3.3rem,14vw,4.7rem)}.hero-copy{font-size:1.08rem}.hero-inner{padding:0 1rem 3.25rem}.hero-photo-placeholder{height:205px}.hero-inner>div:first-child{padding-top:1.25rem}.hero-photo-placeholder img{object-fit:cover;object-position:center center}}
/* Shop & cart */
[hidden]{display:none!important}
img.shop-image{display:block;width:100%;object-fit:cover;padding:0}
.shop-status{grid-column:1/-1;color:var(--muted);font-family:Arial,Helvetica,sans-serif}
.shop-card{display:flex;flex-direction:column}.shop-card-content{display:flex;flex-direction:column;flex:1}
.shop-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}
.stock{font-family:Arial,Helvetica,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border:1px solid #e6dcc0;padding:.25rem .5rem}
.shop-card .price{font-size:1.2rem}
.add-to-cart{margin-top:auto;border:0;cursor:pointer;font-size:.95rem;align-self:flex-start}.shop-card .price+.add-to-cart{margin-top:1.1rem}
.add-to-cart:disabled{background:#e5e1d7;color:var(--muted);cursor:default;transform:none}
.shop-card.is-sold .shop-image{opacity:.55}
.cart-wrap{max-width:720px;margin:0 auto;background:#fff;border:1px solid #ddd8cc;padding:2.5rem}
.cart-wrap h2{font-size:clamp(2rem,4vw,2.75rem);margin-bottom:1.5rem}
.cart-lines{list-style:none;border-top:1px solid #e7e2d7}
.cart-line{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #e7e2d7}
.cart-line strong{display:block;font-weight:500;font-size:1.15rem}.cart-line span{color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.9rem}
.cart-qty{display:flex;align-items:center;gap:.5rem;font-family:Arial,Helvetica,sans-serif;flex-shrink:0}
.cart-qty button{font:inherit;width:2rem;height:2rem;border:1px solid #cfc9bd;background:var(--paper);cursor:pointer}
.cart-qty button:disabled{opacity:.4;cursor:default}
.cart-qty .cart-remove{width:auto;padding:0 .6rem;border:0;background:none;color:var(--wood);text-decoration:underline;font-size:.85rem}
.delivery{border:0;margin:1.75rem 0 1.25rem;display:grid;gap:.75rem}
.delivery legend{font-family:Arial,Helvetica,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.04em;margin-bottom:.75rem}
.delivery label{display:block;border:1px solid #cfc9bd;background:var(--paper);padding:.85rem 1rem;cursor:pointer;font-family:Arial,Helvetica,sans-serif}
.delivery label:has(input:checked){border-color:var(--gold);background:#fffaf0}
.delivery label:has(input:disabled){opacity:.55;cursor:default}
.delivery input{margin-right:.5rem;accent-color:var(--wood)}
.delivery small{display:block;margin:.3rem 0 0 1.55rem;color:var(--muted)}
.cart-totals{font-family:Arial,Helvetica,sans-serif;margin-bottom:1.5rem}
.cart-totals div{display:flex;justify-content:space-between;padding:.35rem 0;color:var(--muted)}
.cart-totals dd{margin:0}
.cart-totals .cart-total{color:var(--text);font-weight:700;font-size:1.15rem;border-top:1px solid #e7e2d7;margin-top:.4rem;padding-top:.75rem}
.cart-message{color:#9b2c1f;font-family:Arial,Helvetica,sans-serif;margin-bottom:1rem}.cart-message:empty{display:none}
#paypal-buttons{position:relative;z-index:0}
.order-complete{text-align:center}.order-complete p{color:var(--muted);margin-bottom:1rem}
.cart-pill{position:fixed;right:1rem;bottom:1rem;z-index:40;background:var(--black);color:var(--cream);border:1px solid var(--gold);padding:.75rem 1.1rem;font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.04em;box-shadow:0 6px 20px rgba(0,0,0,.25)}
@media(max-width:560px){.cart-wrap{padding:1.5rem 1.1rem}.cart-line{flex-direction:column;align-items:flex-start}}
.shop-gallery{position:relative;aspect-ratio:3/2;overflow:hidden;background:#e9e4d8}
.shop-gallery .shop-image{position:absolute;inset:0;height:100%;opacity:0;transition:opacity .3s}
.shop-gallery .shop-image.is-active{opacity:1}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:2.6rem;height:2.6rem;border:0;border-radius:50%;background:rgba(17,17,15,.6);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-bottom:.2rem;transition:background .2s}
.gallery-arrow:hover,.gallery-arrow:focus-visible{background:rgba(17,17,15,.85)}
.gallery-arrow.prev{left:.6rem}.gallery-arrow.next{right:.6rem}
.gallery-dots{position:absolute;bottom:.7rem;left:0;right:0;display:flex;justify-content:center;gap:.4rem}
.gallery-dots span{width:.5rem;height:.5rem;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 2px rgba(0,0,0,.4)}
.gallery-dots span.is-active{background:#fff}
.shop-details{margin-top:.75rem;font-family:Arial,Helvetica,sans-serif;font-size:.85rem;color:var(--muted)}
.shop-card .shop-note{margin-top:.5rem;font-family:Arial,Helvetica,sans-serif;font-size:.85rem;font-style:italic;color:var(--wood)}
.shop-card.is-sold .shop-gallery .shop-image.is-active{opacity:.55}
.form-error{margin-top:1rem;color:#a23b2a;font-family:Arial,Helvetica,sans-serif;font-weight:700}.form-sent{margin-top:1rem;color:var(--muted);font-family:Arial,Helvetica,sans-serif}.form-note a,.form-sent a{color:var(--wood);text-decoration:underline}
/* What We Make: rotating photos on the Cutting Boards card; Coming soon cards */
.category-card{position:relative}.category-card.has-photos{min-height:320px;border-color:#2a2823;background:var(--black);color:#fff}.category-card.has-photos>*{position:relative;z-index:1}.category-card.has-photos p{color:#e6e1d6}.category-card.has-photos>.category-photos{position:absolute;inset:0;z-index:0}.category-photos::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,15,.05) 0%,rgba(17,17,15,.35) 45%,rgba(17,17,15,.88) 100%)}.category-photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:category-fade 15s infinite}.category-photos img:nth-child(1){animation-delay:-1s}.category-photos img:nth-child(2){animation-delay:4s}.category-photos img:nth-child(3){animation-delay:9s}@keyframes category-fade{0%{opacity:0}6%{opacity:1}33%{opacity:1}39%{opacity:0}100%{opacity:0}}.category-card.has-photos img{transition:transform 6s ease}.category-card.has-photos:hover .category-photos img{transform:scale(1.03)}
.category-card.is-coming-soon{background:var(--cream);border-style:dashed;border-color:#cfc6b2}.category-card.is-coming-soon h3,.category-card.is-coming-soon p{opacity:.72}.coming-soon{position:absolute;top:1.25rem;right:1.25rem;font-style:normal;font-family:Arial,Helvetica,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--wood);border:1px solid var(--gold);background:rgba(216,178,76,.12);padding:.35rem .65rem}
@media(prefers-reduced-motion:reduce){.category-photos img{animation:none}.category-photos img:first-child{opacity:1}}
/* Shop cards: stock, price and Add to Cart sit at the bottom of every card, so they line up across a row */
.shop-card .shop-meta{margin-top:auto;padding-top:.9rem}
