:root{--bg:#f6f3ee;--ink:#2c2a26;--mut:#8a8276;--line:#e4ddd2;--accent:#7c6f5b}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 -apple-system,"Segoe UI",Roboto,sans-serif}
a{color:inherit}
header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid var(--line)}
.brand{font-weight:700;letter-spacing:.02em;text-decoration:none}
nav a{text-decoration:none;color:var(--mut)}
main{max-width:60rem;margin:0 auto;padding:2rem 1.5rem}
.hero{text-align:center;padding:2.5rem 0}
.hero h1{font-size:2rem;font-weight:600;margin:.2rem 0}
.hero p{color:var(--mut);max-width:32rem;margin:.5rem auto}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin-top:1rem}
.card{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .15s}
.card:hover{transform:translateY(-3px)}
.thumb,.photo{display:block;width:100%;aspect-ratio:1/1}
.card .name{padding:.8rem 1rem .2rem;font-weight:500}
.card .price{padding:0 1rem 1rem;color:var(--accent);font-weight:600}
.product{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.product .photo{border-radius:16px;border:1px solid var(--line)}
.product h1{font-size:1.5rem;font-weight:600;margin:0 0 .3rem}
.product .price{font-size:1.3rem;color:var(--accent);font-weight:600;margin:.2rem 0 1rem}
.product .dims{color:var(--mut);font-size:.9rem}
button{background:var(--ink);color:#fff;border:0;border-radius:999px;padding:.8rem 1.6rem;font-size:1rem;cursor:pointer;margin:1rem 0 .5rem}
button:hover{background:#000}
.ship{color:var(--mut);font-size:.85rem}
.legal{max-width:42rem}
.legal h1{font-size:1.5rem}.legal h2{font-size:1.05rem;margin-top:1.4rem}
.muted{color:var(--mut);font-size:.85rem}
footer{max-width:60rem;margin:2rem auto 3rem;padding:1.5rem;border-top:1px solid var(--line);color:var(--mut);font-size:.85rem;text-align:center}
footer a{color:var(--mut)}
.ia{font-style:italic}
@media(max-width:640px){.product{grid-template-columns:1fr}}
.banner{background:#eef3ec;border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;text-align:center;margin-bottom:1.2rem;font-size:.95rem}
.reserve{display:flex;flex-direction:column;gap:.45rem;max-width:22rem;margin-top:1rem}
.reserve label{font-size:.88rem;color:var(--mut)}
.reserve input[type=email]{padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;font-size:1rem;background:#fff}
.reserve button{align-self:flex-start;margin-top:.3rem}
