
:root{
  --forest:#07553a;
  --deep:#053e2c;
  --cream:#f7eedc;
  --pale:#fffaf0;
  --gold:#caa764;
  --ink:#163d2d;
  --muted:#65776b;
  --line:#d7e1d1;
  --panel:#ffffff;
  --shadow:0 12px 42px rgba(16,53,38,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'DM Sans',Arial,sans-serif;
  color:var(--ink);
  background:#e8e9dc;
  background-image:
    radial-gradient(circle at 5% 15%,#d4e2d1,transparent 40%),
    radial-gradient(circle at 90% 85%,#e2d7b8,transparent 40%);
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
main{
  max-width:520px;
  margin:0 auto;
  min-height:100vh;
  background:var(--pale);
  overflow:hidden;
  box-shadow:0 0 65px rgba(50,74,51,.19);
}
section{scroll-margin-top:84px}
.hero h1,.section-title,.quick h2,.snow-info h3,.delivery-title{
  font-family:'Playfair Display',Georgia,serif;
  line-height:1.08;
  letter-spacing:-.04em;
}
.eyebrow,.overline{
  font-size:10px;
  font-weight:700;
  letter-spacing:.20em;
  text-transform:uppercase;
}
.overline{color:#69836d}
.eyebrow{color:#65856a}
.section-title{
  font-size:35px;
  margin:7px 0 9px;
}
.section-lead{
  font-size:12px;
  color:var(--muted);
  margin:0 0 22px;
}
.topbar{
  position:sticky;
  top:0;
  z-index:10;
  height:72px;
  padding:12px 22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:rgba(255,250,240,.94);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(18,101,64,.08);
}
.brand{display:flex;align-items:center;gap:8px}
.brand-symbol{width:90px;height:48px;object-fit:contain}
.brand-label{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--forest);
  font-weight:700;
}
.top-link{
  font-size:12px;
  font-weight:700;
  color:var(--forest);
  border:1px solid rgba(23,99,67,.31);
  border-radius:99px;
  padding:9px 12px;
  white-space:nowrap;
}
.hero{
  position:relative;
  padding:34px 25px 20px;
  background:linear-gradient(#fef8eb,#f1e7cf);
  text-align:center;
}
.hero h1{font-size:clamp(45px,11vw,68px);margin:12px 0 7px;color:var(--deep)}
.tagline{
  font-family:'Playfair Display',Georgia,serif;
  font-size:22px;
  margin:0 0 10px;
}
.intro{
  font-size:13px;
  max-width:355px;
  margin:0 auto;
  color:#557264;
}
.hero-img{
  width:100%;
  height:290px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 15px 14px rgba(62,87,49,.12));
  margin:10px auto -24px;
  position:relative;
}
.hero-tail{
  background:var(--forest);
  height:31px;
  border-radius:60% 60% 0 0/100% 100% 0 0;
}
.quick{padding:30px 22px 18px;background:var(--pale)}
.quick h2{font-size:25px;text-align:center;margin:0 0 18px}
.action{
  min-height:71px;
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  border:1px solid #c8d3bb;
  padding:12px 16px;
  border-radius:18px;
  margin-bottom:10px;
  background:#fff;
  box-shadow:0 4px 10px rgba(34,60,37,.06);
  transition:transform .2s, background .2s;
}
.action:active{transform:scale(.98)}
.action.main{background:var(--forest);color:#fff;border-color:var(--forest)}
.ico{
  display:grid;
  place-items:center;
  min-width:42px;
  height:42px;
  border-radius:12px;
  background:#edf3e7;
  font-size:21px;
  color:var(--forest);
}
.action.main .ico{background:rgba(255,255,255,.13);color:#fff}
.action-copy{flex:1;min-width:0}
.action-copy strong{display:block;font-size:14px}
.action-copy small{display:block;font-size:11px;color:var(--muted)}
.action.main small{color:#cce2d0}
.chev{font-size:23px;font-weight:600}
.delivery{margin-top:18px;padding-top:18px;border-top:1px solid #d7ddcf}
.delivery-title{
  font-size:22px;
  font-weight:700;
  text-align:center;
  color:var(--deep);
  margin:0 0 12px;
}
.delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.delivery-link{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  border-radius:18px;
  min-height:82px;
  border:1px solid #d5dcd0;
  background:#fff;
  box-shadow:0 4px 10px rgba(34,60,37,.06);
}
.delivery-link:active{transform:scale(.98)}
.delivery-link.shopee{background:#fff6f2;border-color:#ffd3c8}
.delivery-link.grab{background:#f1fbf4;border-color:#b8e6c8}
.delivery-icon{
  width:54px;
  height:54px;
  min-width:54px;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,0,0,.04);
}
.delivery-icon img{width:100%;height:100%;object-fit:contain}
.delivery-copy{min-width:0}
.delivery-copy strong{display:block;font-size:13px;line-height:1.25}
.delivery-copy small{display:block;font-size:10px;color:var(--muted);line-height:1.35}
.delivery-link.shopee .delivery-copy strong{color:#ee4d2d}
.delivery-link.grab .delivery-copy strong{color:#00a84f}
.products{padding:34px 22px 42px}
.snow-card{
  background:linear-gradient(180deg,#edf3e7 0%,#f9f5ec 100%);
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--line);
  margin-bottom:18px;
  box-shadow:var(--shadow);
}
.snow-hero{padding:0}
.snow-image{width:100%;height:auto;display:block}
.snow-info{padding:14px 18px 18px}
.pill{
  display:inline-block;
  background:#e6c889;
  color:#39562a;
  padding:4px 9px;
  font-size:9px;
  border-radius:99px;
  font-weight:800;
  letter-spacing:.12em;
}
.snow-info h3{font-size:30px;margin:8px 0 4px}
.snow-info p{font-size:12px;color:var(--muted);margin:0}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.product-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e8e5d7;
  border-radius:15px;
  overflow:hidden;
}
.product-media{
  aspect-ratio:1/1;
  background:#fbf8f1;
  padding:10px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.product-card img{width:100%;height:100%;object-fit:contain}
.product-meta{padding:11px 10px 14px;min-height:72px}
.product-meta strong{display:block;font-size:12px}
.product-meta small{font-size:10px;color:var(--muted)}
.products-note{font-size:10px;color:var(--muted);text-align:center;margin:17px auto 0}
.art{
  background:linear-gradient(180deg,#fbf0de,#f9f4e8);
  color:var(--ink);
  padding:34px 22px 38px;
}
.art-shell{max-width:100%}
.art .eyebrow{color:#8f7a46}
.art .section-title{font-size:37px;margin-bottom:12px;color:var(--ink)}
.art-lead{font-size:13px;line-height:1.75;color:#60685f;max-width:none;margin:0 0 20px}
.art-gallery-micro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.art-tile-micro{min-width:0;text-align:center}
.tile-visual-micro{border-radius:52px 52px 10px 10px;overflow:hidden;background:#ece0c9;aspect-ratio:.82;box-shadow:0 8px 17px rgba(58,59,29,.1)}
.tile-visual-micro img{width:100%;height:100%;object-fit:cover}
.art-tile-micro h3{font-size:11px;line-height:1.25;margin:10px 0 4px;font-weight:700;color:var(--ink)}
.art-tile-micro p{font-family:'Playfair Display',Georgia,serif;font-size:10px;line-height:1.45;color:#60645c;margin:0}
.concept-note-micro{font-size:10px;text-align:left;color:#80806e;margin:15px 0 0}
.visit{padding:34px 22px 26px;background:linear-gradient(#fffaf0,#f4ebd8)}
.visit-panel{
  background:#fff;
  border:1px solid #e7ddcc;
  border-radius:20px;
  padding:16px;
  box-shadow:0 8px 26px rgba(31,50,36,.06);
}
.visit-line{font-size:12px;color:var(--muted);margin-bottom:12px}
.visit-line strong{display:block;font-size:12px;color:var(--ink);margin-bottom:2px}
.visit-map{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:var(--forest);
  color:#fff;
  border-radius:999px;
  padding:11px 14px;
  font-size:12px;
  font-weight:700;
}
.salt{width:100%;height:auto;border-radius:24px;margin-top:16px;box-shadow:var(--shadow)}
.footer{
  padding:24px 22px 92px;
  text-align:center;
  background:#f7f1e5;
  border-top:1px solid #eadfc9;
}
.footer img{width:120px;height:auto;margin:0 auto 10px}
.footer p{margin:0 0 12px;color:var(--muted);font-size:12px}
.footerlinks{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:12px}
.footerlinks a{font-size:12px;font-weight:700;color:var(--forest)}
.copyright{font-size:11px;color:var(--muted);margin-bottom:12px}
.backtop{font-size:12px;font-weight:700;color:var(--forest)}
.fixed-map{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:14px;
  z-index:20;
  background:var(--forest);
  color:#fff;
  padding:12px 16px;
  border-radius:999px;
  box-shadow:0 7px 30px rgba(12,71,60,.38);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  max-width:calc(100vw - 28px);
}
@media (min-width:780px){
  main{margin:32px auto;border-radius:25px}
  .fixed-map{bottom:20px}
  .snow-info h3{font-size:34px}
}
@media (max-width:359px){
  .hero-img{height:240px}
  .hero h1{font-size:42px}
  .topbar{padding:12px 15px}
  .brand-symbol{width:74px}
  .product-grid{gap:8px}
  .product-meta{padding:9px 7px;min-height:66px}
  .delivery-grid{grid-template-columns:1fr}
  .delivery-link{padding:10px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .action,.delivery-link{transition:none}
}
