:root{
  --forest:#2f4a38;--forest-dark:#223829;--tan:#c8a96a;--charcoal:#1f2421;
  --cream:#efe9dc;--sand:#e3dac4;--ink:#222622;--muted:#555a52;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65;font-size:1.05rem}
img{max-width:100%;height:auto;display:block}
a{color:var(--forest);text-underline-offset:.15em}
a:focus-visible,button:focus-visible{outline:3px solid var(--tan);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--tan);color:var(--charcoal);padding:.6rem 1rem;z-index:10}
.skip:focus{left:0}

.site-header{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;background:var(--charcoal);padding:.9rem 1.25rem}
.brand{color:var(--tan);font-weight:800;text-decoration:none;font-size:1.2rem}
.site-header nav{display:flex;gap:1.1rem;flex-wrap:wrap}
.site-header nav a{color:var(--cream);text-decoration:none;font-weight:600}
.site-header nav a:hover{color:var(--tan)}

main{display:block}
h1,h2,h3{line-height:1.2;color:var(--charcoal)}
h1{font-size:clamp(2rem,6vw,3.1rem);margin:0 0 1rem}
h2{font-size:clamp(1.4rem,4vw,1.9rem);margin:0 0 .75rem}
h3{font-size:1.15rem;margin:0 0 .4rem}
.lead{font-size:1.2rem;color:#2f332e}
.meta,.note{color:var(--muted)}
.note{font-size:.95rem;font-style:italic}

.btn{display:inline-block;background:var(--forest);color:var(--cream);border:2px solid var(--forest);padding:.85rem 1.6rem;border-radius:.4rem;font-weight:700;font-size:1.05rem;text-decoration:none;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--forest-dark)}
.btn[disabled]{background:#8d9489;border-color:#8d9489;cursor:not-allowed}
.buy-closed .note{margin:.5rem 0 0}

.hero{display:grid;gap:1.5rem;padding:2rem 1.25rem;max-width:68rem;margin:0 auto}
.hero-image img,.gallery img,.photo-slot img{border-radius:.5rem;background:var(--sand)}

.band{padding:2.5rem 1.25rem}
.band>*{max-width:68rem;margin-left:auto;margin-right:auto}
.band.alt{background:var(--sand)}
.band.center,.center{text-align:center}
.features{display:grid;gap:1rem;margin-top:1.25rem}
.feature{background:#fffaf0;border-left:5px solid var(--forest);padding:1rem 1.25rem;border-radius:.3rem}
.feature p{margin:0}

.crumbs{max-width:68rem;margin:0 auto;padding:1rem 1.25rem 0;font-size:.95rem;color:var(--muted)}
.product{display:grid;gap:1.5rem;padding:1.25rem 1.25rem 2rem;max-width:68rem;margin:0 auto}
.price.tba{font-size:1.3rem;color:var(--muted);font-weight:700}
.price{font-size:1.9rem;font-weight:800;margin:.25rem 0}
.ship{font-weight:600;color:var(--forest)}
.gallery{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}
.gallery li:first-child{grid-column:1 / -1}
.gallery img{width:100%;height:auto}

.prose{max-width:46rem;margin:0 auto;padding:2rem 1.25rem 3rem}
.prose h2{margin-top:2rem}
.draft{background:#fff3cf;border:1px solid #d9b85b;padding:.75rem 1rem;border-radius:.3rem}
.faq-item{margin:1.25rem 0}
.faq-item h2,.faq-item h3{font-size:1.2rem;margin-bottom:.25rem}
.faq-item p{margin:0}
.band .faq-item{max-width:46rem}

.site-footer{background:var(--charcoal);color:var(--cream);padding:2rem 1.25rem;text-align:center}
.site-footer nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;justify-content:center;margin-bottom:1rem}
.site-footer a{color:var(--tan)}
.site-footer p{margin:0;font-size:.95rem}

@media (min-width:48rem){
  .hero{grid-template-columns:1.1fr 1fr;align-items:center;padding:3rem 1.25rem}
  .features{grid-template-columns:repeat(3,1fr)}
  .product{grid-template-columns:1fr 1.2fr;align-items:start}
  .product-summary{order:1}
  .gallery{order:2}
}
@media (max-width:47.99rem){
  /* Name, price, ship time and Buy stay above the photos on phones. */
  .product-summary{order:1}
  .gallery{order:2}
}

.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}
.btn.secondary{background:transparent;color:var(--forest)}
.btn.secondary:hover{background:var(--sand)}
.form label{display:block;font-weight:600;margin-bottom:.3rem}
.form input[type=text],.form input[type=email],.form select,.form textarea{width:100%;padding:.7rem;border:2px solid #8d9489;border-radius:.3rem;font:inherit;background:#fffaf0;color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid var(--tan);outline-offset:1px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}

.specs{margin:0;padding:0}
.specs div{display:grid;gap:.1rem;padding:.6rem 0;border-bottom:1px solid #cfc6ad}
.specs dt{font-weight:700}
.specs dd{margin:0}
.photo-frame{aspect-ratio:4/3;max-width:32rem;margin:1.5rem 0;border:3px solid #8c8468;border-radius:.5rem;background:var(--sand)}
.prose ul{padding-left:1.2rem}
.prose li{margin:.4rem 0}
@media (min-width:36rem){.specs div{grid-template-columns:12rem 1fr}}
