.hero{background:#fff;position:relative}
.hero-slider{position:relative;width:100%;aspect-ratio:16/6;overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;display:flex;align-items:center;justify-content:center;color:#b3ad9f;font-size:16px;letter-spacing:.1em}
.slide.on{opacity:1}
.slide-1{background:#f0ede6}
.slide-2{background:#e6e9e3}
.slide-3{background:#efe9e2}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.82);border:0;cursor:pointer;color:#3f3d38;font-size:23px;display:flex;align-items:center;justify-content:center;transition:.2s;z-index:3}
.hero-arrow:hover{background:#fff}
.hero-prev{left:20px}
.hero-next{right:20px}
.hero-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:3}
.hero-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.75);cursor:pointer;padding:0;transition:.2s}
.hero-dots button.on{background:var(--accent);width:24px;border-radius:5px}
section{padding:76px 0}
.sec-head{text-align:center;margin-bottom:44px}
.sec-head h2{font-family:"Zen Old Mincho",serif;font-weight:500;font-size:31px;letter-spacing:.05em}
.sec-head p{color:var(--muted);font-size:16px;margin-top:10px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px}
.card{position:relative}
.card .thumb{aspect-ratio:1/1;background:#f0ede6;border-radius:3px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;color:#b3ad9f;font-size:16px}
.card:hover .thumb{opacity:.86}
.badge{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;font-size:16px;letter-spacing:.08em;padding:4px 10px;border-radius:2px;z-index:2}
.badge.pop{background:#f2c230;color:#232220}
.badge.new{background:#bb504a;color:#fff}
.card h3{font-size:17px;font-weight:500;margin-top:16px;letter-spacing:.02em}
.card .cat{font-size:16px;color:var(--muted);margin-top:9px;letter-spacing:.08em}
.card .price{margin-top:8px;font-size:17px}
.card .price small{font-size:16px;color:var(--muted);font-weight:400}
.center-more{text-align:center;margin-top:48px}
.link-more{font-size:16px;letter-spacing:.14em;color:var(--accent-ink);border-bottom:1px solid var(--accent-ink);padding-bottom:4px}
.cat-sec{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ctile{background:#fff;border:1px solid var(--line);border-radius:3px;padding:26px 20px;text-align:center;transition:.2s;display:block}
.ctile:hover{border-color:var(--accent);transform:translateY(-2px)}
.ctile i{font-size:28px;color:var(--accent);display:block;margin-bottom:12px}
.ctile span{font-size:16px;letter-spacing:.04em}
.free{background:#ffffff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.free-in{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:360px}
.free-txt{padding:64px clamp(24px,4vw,64px);display:flex;flex-direction:column;justify-content:center}
.free-txt h2{font-family:"Zen Old Mincho",serif;font-weight:500;font-size:30px;line-height:1.6;letter-spacing:.04em}
.free-txt p{margin-top:18px;color:#46433c;font-size:16px}
.free-txt .note{margin-top:24px;font-size:16px;color:var(--muted);letter-spacing:.1em}
.free-media{background:#f0ede6;display:flex;align-items:center;justify-content:center;color:#b3ad9f;font-size:16px}
@media(max-width:860px){
  .hero-slider{aspect-ratio:16/10}
  .hero-arrow{width:34px;height:34px;font-size:18px}
  .hero-prev{left:10px}
  .hero-next{right:10px}
  .hero-dots{bottom:12px}
  section{padding:52px 0}
  .sec-head{margin-bottom:32px}
  .pgrid{grid-template-columns:repeat(2,1fr);gap:26px 18px}
  .cgrid{grid-template-columns:repeat(2,1fr)}
  .free-in{grid-template-columns:1fr}
  .free-txt{padding:44px 24px}
  .free-media{min-height:220px}
}
@media(max-width:540px){
  .card h3{font-size:16px}
  .pgrid{gap:22px 14px}
  .cgrid{gap:12px}
  .ctile{padding:20px 12px}
  .ctile i{font-size:25px}
  .sec-head h2{font-size:26px}
  .free-txt h2{font-size:25px}
}