
:root{--bg:#fbf7f1;--paper:#fffdf9;--ink:#1c1917;--muted:#6b6259;--line:#e7ddd0;--copper:#b4532a;--copper2:#8c3a1b;--sage:#5b6b52;--radius:20px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
a{color:inherit}img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.topbar{background:#1c1917;color:#f5ead9;text-align:center;padding:9px 16px;font-size:.86rem;letter-spacing:.02em}
header.site{position:sticky;top:0;z-index:20;background:rgba(251,247,241,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}
.brand{font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:700;text-decoration:none}.brand span{color:var(--copper)}
.navlinks{display:flex;gap:22px;flex-wrap:wrap}.navlinks a{text-decoration:none;color:var(--muted);font-weight:600;font-size:.95rem}.navlinks a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--copper);color:#fff!important;text-decoration:none;border:0;border-radius:999px;padding:14px 24px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px rgba(180,83,42,.22)}
.btn:hover{background:var(--copper2)}.btn.secondary{background:#fff;color:var(--ink)!important;border:1px solid var(--line);box-shadow:none}
.hero{padding:64px 0 40px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--copper)}
h1,h2{font-family:Fraunces,Georgia,serif;line-height:1.05;letter-spacing:-.02em}h1{font-size:clamp(2.6rem,6vw,4.6rem);margin:.35rem 0 1rem}h2{font-size:clamp(2rem,4vw,3rem);margin:.3rem 0 .8rem}
.lede{font-size:1.18rem;color:var(--muted);max-width:62ch}
.price-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:22px 0}.price{font-size:1.6rem;font-weight:800}.free{background:#eef3ea;color:var(--sage);border:1px solid #d8e2d0;padding:6px 10px;border-radius:999px;font-weight:800;font-size:.85rem}
.hero-img,.card-img{border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 60px rgba(28,25,23,.16);background:#ddd}
.hero-img img{aspect-ratio:4/3;object-fit:cover;width:100%}
.caption{font-size:.86rem;color:var(--muted);margin-top:10px}
.section{padding:56px 0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.product-card{padding:0;overflow:hidden}.product-card .body{padding:24px}
.steps{counter-reset:step}.step{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px}.step b{color:var(--copper)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery figure{margin:0}.gallery img{border-radius:16px;aspect-ratio:4/3;object-fit:cover;width:100%}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f3ece2}
details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:10px 0}summary{font-weight:800;cursor:pointer}
.trigger{background:#1c1917;color:#f8efe2;border-radius:20px;padding:28px}.trigger strong{color:#f0b27a}
.notice{background:#fff7e8;border:1px solid #ecd9ae;border-radius:14px;padding:16px 18px}
footer{border-top:1px solid var(--line);padding:36px 0 48px;color:var(--muted);margin-top:30px}
input,textarea,select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
label{font-weight:700;display:block;margin:14px 0 6px}
@media(max-width:860px){.hero-grid,.grid3,.grid2,.gallery{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}}
:focus-visible{outline:3px solid #f0b27a;outline-offset:3px}

/* --- Product hero: photos + buy above the fold (no scroll/click) --- */
.hero-product{padding:28px 0 8px}
.hero-grid-top{align-items:start}
.hero-product h1{font-size:clamp(2.1rem,5vw,3.6rem)}
.hero-points{margin:14px 0 0;padding-left:20px;color:var(--muted)}
.hero-img-main img{aspect-ratio:4/3;object-fit:cover;width:100%;max-height:420px}
.buy-hint{color:var(--muted);font-size:.95rem;margin:8px 0 0}
.btn.is-disabled{opacity:.55;box-shadow:none}
/* Hero carousel: fixed-ratio slides reserve space (no CLS); track slides left. */
.hero-carousel{min-width:0}
.hero-carousel-viewport{overflow:hidden;border-radius:var(--radius);box-shadow:0 24px 60px rgba(28,25,23,.16);background:#ddd;touch-action:pan-y}
.hero-carousel-track{display:flex;transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform}
.hero-slide{flex:0 0 100%;margin:0;min-width:0}
.hero-slide img{aspect-ratio:4/3;object-fit:cover;width:100%;max-height:420px;background:#ddd}
.hero-slide figcaption{font-size:.86rem;color:var(--muted);padding:10px 2px 2px;font-weight:600;background:var(--bg)}
.hero-carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}
.hero-carousel-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:1.1rem;line-height:1;cursor:pointer}
.hero-carousel-btn:hover{border-color:var(--copper);color:var(--copper)}
.hero-carousel-dots{display:flex;gap:8px}
.hero-carousel-dot{width:12px;height:12px;border-radius:999px;border:2px solid var(--copper);background:transparent;padding:0;cursor:pointer}
.hero-carousel-dot.is-active{background:var(--copper)}
@media(prefers-reduced-motion:reduce){.hero-carousel-track{transition:none}}

/* --- Personalize: upload + variants --- */
.personalize{padding-top:28px}
.personalize-grid{align-items:start}
.upload-preview{border-radius:14px;margin-top:14px;aspect-ratio:55/85;object-fit:cover;max-height:340px;width:auto;max-width:100%;background:#ddd}
.upload-status{font-weight:600;color:var(--sage)}
.demo-note{background:#fff7e8;border:1px solid #ecd9ae;border-radius:12px;padding:12px 14px;color:var(--ink)}
.variant-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}
.variant-card{display:flex;flex-direction:column;gap:4px;text-align:left;background:#fff;border:2px solid var(--line);border-radius:16px;padding:12px;font:inherit;cursor:pointer;color:var(--ink)}
.variant-card:hover{border-color:var(--copper)}
.variant-card.selected{border-color:var(--copper);box-shadow:0 10px 24px rgba(180,83,42,.22);background:#fff8f1}
.variant-card .variant-letter{font-weight:800;color:var(--copper);font-size:.85rem;letter-spacing:.08em}
.variant-card span{color:var(--muted);font-size:.9rem}
.variant-thumb{border-radius:10px;aspect-ratio:55/85;object-fit:cover;width:100%;max-height:220px;background:#cfc8bd}
.variant-thumb.fx-a{filter:grayscale(1) contrast(1.08)}
.variant-thumb.fx-b{filter:grayscale(1) contrast(1.55) brightness(1.04)}
.variant-thumb.fx-c{filter:grayscale(1) contrast(1.08) invert(1)}
.variant-thumb.fx-d{filter:grayscale(1) contrast(.84) brightness(1.06)}
.variant-e{grid-column:1/-1;background:#eef3ea}
@media(max-width:860px){
  .hero-slide img{max-height:300px}
  .hero-slide figcaption{font-size:.78rem}
  .variant-grid{grid-template-columns:1fr 1fr}
  .hero-product h1{font-size:2rem}
}
@media(max-width:480px){.variant-grid{grid-template-columns:1fr}.variant-e{grid-column:auto}}
