@font-face{font-family:'ShopSerif';src:url(fonts/DMSerifDisplay-Regular.ttf);font-display:swap}
@font-face{font-family:'ShopSans';font-weight:400;src:url(fonts/Montserrat-Regular.ttf);font-display:swap}
@font-face{font-family:'ShopSans';font-weight:700;src:url(fonts/Montserrat-Bold.ttf);font-display:swap}
:root{--ink:#1d1b18;--muted:#6b645a;--paper:#FBF8F2;--line:#e6dfd2;--accent:#2F6B4F}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'ShopSans',system-ui,sans-serif;font-size:17px;line-height:1.6}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header.top{display:flex;justify-content:space-between;align-items:center;padding:22px 0}
.brand{font-family:'ShopSerif';font-size:26px;text-decoration:none}
.intro{padding:40px 0 28px}
.intro h1{font-family:'ShopSerif';font-weight:400;font-size:clamp(34px,5vw,54px);line-height:1.05;margin:0 0 10px}
.intro p{color:var(--muted);margin:0;max-width:560px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px;padding:16px 0 72px}
.card{text-decoration:none;display:block}
.card img,.card .noimg{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:12px;display:block;background:var(--line)}
.card h2{font-family:'ShopSerif';font-weight:400;font-size:24px;line-height:1.15;margin:14px 0 4px}
.card p{margin:0;color:var(--muted);font-size:15px}
.product{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start;padding-top:12px;padding-bottom:72px}
.hero img,.hero .noimg{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:14px;display:block;background:var(--line)}
.kicker{color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin:8px 0 0}
.product h1{font-family:'ShopSerif';font-weight:400;font-size:clamp(36px,5vw,56px);line-height:1.04;margin:10px 0 14px}
.tagline{font-size:20px;color:var(--muted);margin:0 0 22px}
.inside{list-style:none;padding:0;margin:22px 0 30px;border-top:1px solid var(--line)}
.inside li{padding:12px 0 12px 30px;border-bottom:1px solid var(--line);position:relative}
.inside li::before{content:"";position:absolute;left:4px;top:21px;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.buy{display:inline-block;background:var(--accent);color:#fff;padding:17px 32px;border-radius:999px;font-weight:700;text-decoration:none;font-size:18px}
.buy:hover{filter:brightness(1.08)}
.price{margin-left:14px;font-weight:700}
.soon{display:none;margin-top:18px;padding:14px 18px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.soon.show{display:block}
.card .noimg,.hero .noimg{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 28%,#fff),var(--accent));display:flex;align-items:center;justify-content:center;padding:9%}
.sheet{width:100%;max-width:420px;background:#fffdf8;border-radius:6px;padding:9% 8%;transform:rotate(-3deg);box-shadow:0 22px 50px rgba(0,0,0,.25)}
.sheet .tag{font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.sheet .name{font-family:'ShopSerif';font-size:clamp(20px,2.6vw,30px);line-height:1.08;margin-top:6px}
.sheet .bar{height:4px;width:56px;background:var(--accent);margin:14px 0 12px}
.sheet .row{display:flex;gap:10px;align-items:center;font-size:clamp(11px,1.25vw,14px);padding:8px 0;border-bottom:1.5px solid #ece5d8}
.sheet .row i{flex:none;width:14px;height:14px;border:2px solid var(--accent);border-radius:3px}
footer{border-top:1px solid var(--line);padding:22px 0 40px;color:var(--muted);font-size:14px}
@media (max-width:760px){.product{grid-template-columns:1fr;gap:26px}.hero img,.hero .noimg{aspect-ratio:4/5}}
