:root{
  --paper:#fff8f4;
  --soft:#f7eee9;
  --rose:#c9858d;
  --rose-dark:#7e444d;
  --sage:#7f9673;
  --ink:#251d1d;
  --muted:#74635f;
  --line:rgba(112,82,74,.17);
  --card:#fffdfb;
  --shadow:0 16px 42px rgba(102,72,64,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{min-width:0;margin:0;overflow-x:hidden;font-family:Inter,Arial,sans-serif;background:
  radial-gradient(circle at 88% 18%,rgba(201,133,141,.16) 0 34px,transparent 35px),
  linear-gradient(135deg,transparent 0 47%,rgba(126,68,77,.10) 47.2% 47.8%,transparent 48% 100%),
  linear-gradient(145deg,#fffaf7 0%,#f7eee9 56%,#eef4ec 100%);color:var(--ink)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.34;background:
  radial-gradient(circle at calc(100% - 52px) 84px,transparent 0 13px,rgba(126,68,77,.24) 14px 15px,transparent 16px),
  linear-gradient(112deg,transparent 0 24%,rgba(126,68,77,.18) 24.2% 24.7%,transparent 25%),
  linear-gradient(112deg,transparent 0 28%,rgba(126,68,77,.10) 28.1% 28.4%,transparent 28.6%);
mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.2) 54%,transparent)}
main{width:100%;max-width:460px;margin:0 auto;overflow:hidden}
a{color:inherit;text-decoration:none}
h1,h2,p,strong,small{overflow-wrap:anywhere}
.page,.hero{width:calc(100% - 24px);max-width:436px;margin:0 auto}
.hero{margin-top:12px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}
.hero-media{display:block;width:100%;height:260px;object-fit:cover;object-position:center;background:#f4e9e4}
.copy{min-width:0;padding:20px}
.copy:after{content:"";display:block;width:38px;height:38px;margin-top:16px;border-radius:50%;background:
  radial-gradient(circle at 50% 50%,rgba(126,68,77,.20) 0 3px,transparent 4px),
  radial-gradient(circle at 35% 35%,#fff8f4 0 4px,transparent 5px),
  radial-gradient(circle at 65% 35%,#fff8f4 0 4px,transparent 5px),
  radial-gradient(circle at 35% 65%,#fff8f4 0 4px,transparent 5px),
  radial-gradient(circle at 65% 65%,#fff8f4 0 4px,transparent 5px),
  #f5dfe0;border:2px solid rgba(126,68,77,.34);box-shadow:4px 4px 0 rgba(126,68,77,.13)}
.eyebrow{display:inline-flex;align-items:center;gap:7px;max-width:100%;border:1px dashed rgba(126,68,77,.32);background:#fff;border-radius:999px;padding:7px 10px;color:var(--rose-dark);font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:0}
.eyebrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ship-badge{box-shadow:inset 0 0 0 3px rgba(255,241,239,.85)}
h1{position:relative;width:max-content;max-width:100%;font-family:Georgia,serif;font-size:44px;line-height:.96;letter-spacing:-.02em;margin:14px 0 14px;color:var(--ink)}
.stitched-title{width:100%;max-width:340px;margin:16px 0 13px}
.stitched-title span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.stitched-title img{display:block;width:100%;height:auto}
p{color:var(--muted);line-height:1.55;font-size:15px}
.copy p{margin:0;max-width:100%}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.primary,.secondary,.catalog-card a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;padding:11px 16px;font-weight:900}
.primary:after,.secondary:after,.catalog-card a:after{content:"";position:absolute;inset:4px;border:1px dashed currentColor;border-radius:999px;opacity:.32;pointer-events:none}
.primary,.catalog-card a{background:#2f2525;color:#fff;box-shadow:0 14px 32px rgba(76,44,44,.16)}
.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}
.zipper{position:relative;width:calc(100% - 24px);max-width:436px;height:22px;margin:-8px auto 8px}
.zipper:before{content:"";position:absolute;left:0;right:0;top:10px;height:4px;border-radius:999px;background:linear-gradient(90deg,#e9d3a8,#fff2c8,#e9d3a8)}
.zipper:after{content:"";position:absolute;left:0;right:0;top:8px;height:8px;background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(126,68,77,.26) 10px 13px,transparent 13px 20px)}
.zipper span{position:absolute;right:18px;top:3px;width:24px;height:16px;border:2px solid rgba(126,68,77,.35);border-radius:5px;background:#fff8f4;box-shadow:8px 5px 0 -6px rgba(126,68,77,.35)}
.quick{display:grid;grid-template-columns:1fr;gap:12px;width:calc(100% - 24px);max-width:436px;margin:12px auto 18px;padding:0}
.quick a{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"icon title" "icon desc";column-gap:12px;row-gap:3px;align-items:center;min-height:76px;padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(102,72,64,.11)}
.quick a:after{content:"";position:absolute;inset:5px;border:1px dashed rgba(126,68,77,.22);border-radius:14px;pointer-events:none}
.quick span{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,#fff1ef,#edf5ea);color:var(--rose-dark);border:1px solid rgba(126,68,77,.12)}
.quick svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.quick strong,.quick small{display:block;min-width:0}
.quick span{grid-area:icon}
.quick strong{grid-area:title;font-size:15px;line-height:1.15}
.quick small{grid-area:desc}
.quick small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.25}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.topbar a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:850}
.topbar strong{font-size:14px}
.catalog-page{padding:14px 0 18px}
.catalog-hero{padding:16px;margin-bottom:12px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,rgba(217,154,159,.15),rgba(145,164,127,.12));box-shadow:var(--shadow)}
.catalog-hero h1{font-size:40px;margin:10px 0 7px}
.catalog-hero p{margin:0}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
.catalog-card{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.catalog-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:transparent;border-radius:16px}
.catalog-carousel::-webkit-scrollbar{display:none}
.photo-open{display:block;flex:0 0 100%;width:100%;padding:0;border:0;border-radius:16px;background:transparent;scroll-snap-align:start}
.photo-open img{display:block;width:100%;height:142px;border-radius:16px;object-fit:cover;object-position:center;background:#f4e9e4}
.catalog-card span,.catalog-card h2,.catalog-card p,.catalog-card small,.catalog-card a{margin-left:0;margin-right:0}
.catalog-card span{display:inline-flex;margin-top:8px;color:var(--rose-dark);font-size:10px;font-weight:900;text-transform:uppercase}
.catalog-card .photo-count{float:right;margin-top:7px;padding:0;border:0;border-radius:0;background:transparent;color:var(--sage);font-size:10px;text-transform:none}
.catalog-card h2{clear:both;font-size:16px;line-height:1.12;margin-top:7px;margin-bottom:6px}
.catalog-card p{font-size:12px;line-height:1.35;margin-top:0;margin-bottom:10px}
.catalog-card small{display:block;color:var(--sage);font-weight:850;margin-top:6px;margin-bottom:14px}
.catalog-card a{min-height:36px;margin-bottom:0;width:100%;padding:8px 10px;font-size:13px}
.catalog-card a:after{display:none}
.contact-box{margin-top:14px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow)}
.contact-box h2{font-family:Georgia,serif;font-size:30px;line-height:1;margin:0 0 8px}
.badge{display:block;width:max-content;max-width:calc(100% - 24px);margin:12px auto 18px;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:12px;color:var(--muted)}
body.lightbox-open{overflow:hidden}
.lightbox{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:56px 14px 76px;background:rgba(19,14,14,.92)}
.lightbox.is-open{display:flex}
.lightbox figure{width:100%;max-width:620px;margin:0;text-align:center}
.lightbox img{display:block;max-width:100%;max-height:72vh;margin:0 auto;border-radius:18px;object-fit:contain;background:#fff8f4}
.lightbox figcaption{margin-top:14px;color:#fff;font-weight:900;font-size:18px}
.lightbox-close,.lightbox-nav{position:absolute;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:#fff}
.lightbox-close{top:14px;right:14px;width:42px;height:42px;border-radius:999px;font-size:30px;line-height:1}
.lightbox-nav{top:50%;width:44px;height:58px;border-radius:999px;font-size:42px;transform:translateY(-50%)}
.lightbox-prev{left:10px}
.lightbox-next{right:10px}
.lightbox-count{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:13px;font-weight:850}
@media(max-width:360px){
  .hero-media{height:225px}
  h1{font-size:38px}
  .actions{gap:8px}
  .primary,.secondary,.catalog-card a{min-height:42px;padding:10px 13px;font-size:14px}
  .photo-open img{height:120px}
  .catalog-card h2{font-size:15px}
  .catalog-card p{font-size:11px}
}
@media(min-width:900px){
  body{padding-bottom:22px}
  main{max-width:500px}
  .page,.hero,.quick{max-width:476px}
  .hero-media{height:300px}
}
