*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden}
body{
  font-family:'Inter',sans-serif;
  background:#F2F9F0;color:#3D2C4A;
  line-height:1.7;-webkit-font-smoothing:antialiased
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}

/* ========== Garden Blob Decorations ========== */
/* Layer 1 — floating peony pink */
body::before{
  content:'';position:fixed;border-radius:50%;
  pointer-events:none;z-index:0;
  width:700px;height:700px;background:#E84393;
  top:-250px;right:-180px;
  filter:blur(120px);opacity:0.18
}
/* Layer 2 — lotus purple sweep */
body::after{
  content:'';position:fixed;border-radius:50%;
  pointer-events:none;z-index:0;
  width:500px;height:500px;background:#8E44AD;
  bottom:-180px;left:-120px;
  filter:blur(100px);opacity:0.16
}
/* Layer 3 — tea green glow (via extra pseudo trick) */
.garden-glow{
  position:fixed;border-radius:50%;
  pointer-events:none;z-index:0;
  width:450px;height:450px;background:#A8D8A8;
  top:40%;left:50%;transform:translate(-50%,-50%);
  filter:blur(140px);opacity:0.13;
  animation:driftPulse 12s ease-in-out infinite alternate
}
@keyframes driftPulse{
  0%{transform:translate(-50%,-50%) scale(1);opacity:0.13}
  100%{transform:translate(-45%,-55%) scale(1.25);opacity:0.20}
}
/* Extra floating blobs */
.blob-dot{
  position:fixed;border-radius:50%;
  pointer-events:none;z-index:0;
  filter:blur(60px);opacity:0.12
}
.blob-dot.b1{
  width:300px;height:300px;background:#E84393;
  bottom:10%;right:5%
}
.blob-dot.b2{
  width:250px;height:250px;background:#8E44AD;
  top:30%;left:2%
}
.blob-dot.b3{
  width:200px;height:200px;background:#A8D8A8;
  top:60%;right:10%
}

/* Header */
.header{
  padding:1.5rem 2rem;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;z-index:1;
  max-width:1200px;margin:0 auto
}
.logo{
  font-family:'DM Serif Display',Georgia,serif;
  font-size:1.4rem;font-style:italic;color:#6B3A7A;letter-spacing:-0.01em
}
.logo-sub{
  display:block;font-family:'Inter',sans-serif;font-size:0.55rem;
  text-transform:uppercase;letter-spacing:0.3em;color:#8E44AD;
  font-style:normal;font-weight:500;margin-top:0.15rem
}
.nav{display:flex;gap:0.3rem}
.nav a{
  padding:0.4rem 1rem;font-size:0.78rem;color:#8B6B9E;
  border-radius:20px;transition:all 0.3s;font-weight:400
}
.nav a:hover{background:#F0D9F0;color:#6B3A7A}

/* Hero */
.hero{
  padding:3rem 0 5rem;
  display:grid;grid-template-columns:1fr 1fr;gap:3rem;
  align-items:center;position:relative;z-index:1
}
.hero-content h1{
  font-family:'DM Serif Display',Georgia,serif;
  font-size:3rem;font-weight:400;font-style:italic;
  line-height:1.15;color:#6B3A7A;letter-spacing:-0.02em
}
.hero-content .hero-sub{
  font-size:1rem;color:#8B6B9E;line-height:1.7;
  margin:1rem 0 2rem;font-weight:300
}
.hero-cta{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.75rem 2rem;border-radius:40px;
  background:linear-gradient(135deg,#E84393,#8E44AD);
  color:#fff;
  font-size:0.82rem;font-weight:500;
  transition:all 0.3s;border:none;cursor:pointer
}
.hero-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(232,67,147,0.3)}
.hero-visual{
  background:linear-gradient(145deg,#FCE4EC,#F3E5F5,#E8F5E9);
  border-radius:35% 65% 25% 75% / 55% 40% 60% 45%;
  padding:2rem;display:flex;align-items:center;justify-content:center;
  min-height:340px;position:relative;
  box-shadow:0 8px 40px rgba(232,67,147,0.08)
}
.hero-visual::after{
  content:'';position:absolute;inset:8px;
  border-radius:inherit;border:2px solid rgba(232,67,147,0.12);
  pointer-events:none
}
.hero-visual img{
  width:100%;height:100%;object-fit:contain;
  border-radius:inherit;mix-blend-mode:multiply
}

/* Section common */
.section-title{
  font-family:'DM Serif Display',Georgia,serif;
  font-size:2rem;font-weight:400;font-style:italic;
  color:#6B3A7A;margin-bottom:0.5rem;position:relative;z-index:1
}
.section-sub{
  font-size:0.7rem;text-transform:uppercase;letter-spacing:0.22em;
  color:#8E44AD;font-weight:500;margin-bottom:2.5rem;position:relative;z-index:1
}

/* Values — organic cards */
.values-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  margin-bottom:4rem;position:relative;z-index:1
}
.value-card{
  background:#fff;border-radius:30% 70% 50% 50% / 40% 40% 60% 60%;
  padding:2.5rem 2rem;text-align:center;
  border:1px solid rgba(142,68,173,0.08);
  transition:all 0.4s;box-shadow:0 4px 20px rgba(142,68,173,0.04)
}
.value-card:nth-child(2){border-radius:60% 40% 40% 60% / 50% 60% 40% 50%}
.value-card:nth-child(3){border-radius:40% 60% 60% 40% / 50% 40% 60% 50%}
.value-card:hover{
  background:linear-gradient(135deg,#FFF0F5,#F3E5F5,#F1F8E9);
  transform:translateY(-6px);
  border-color:#E84393;box-shadow:0 8px 30px rgba(232,67,147,0.1)
}
.value-card .icon{font-size:2rem;display:block;margin-bottom:1rem;opacity:0.7}
.value-card h3{font-family:'DM Serif Display',Georgia,serif;font-size:1.1rem;font-weight:400;font-style:italic;color:#6B3A7A;margin-bottom:0.4rem}
.value-card p{font-size:0.85rem;color:#8B6B9E;line-height:1.6;font-weight:300}

/* Product showcase — 3 items with images */
.product-showcase{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  margin-bottom:4rem;position:relative;z-index:1
}
.product-item{
  background:#fff;padding:1rem 1rem 1.5rem;
  border-radius:40px;border:1px solid rgba(142,68,173,0.08);
  transition:all 0.4s;position:relative;
  box-shadow:0 4px 16px rgba(142,68,173,0.04);
  text-align:center
}
.product-item:hover{
  border-color:#E84393;transform:translateY(-4px);
  box-shadow:0 8px 30px rgba(232,67,147,0.1)
}
.product-item .product-img-wrap{
  background:linear-gradient(145deg,#FCE4EC,#F3E5F5,#E8F5E9);
  border-radius:30px;padding:1rem;margin-bottom:1rem;
  min-height:160px;display:flex;align-items:center;justify-content:center;
  border-radius:35% 65% 30% 70% / 55% 40% 60% 45%
}
.product-item .product-img-wrap img{
  width:100%;height:auto;max-height:130px;object-fit:contain;
  mix-blend-mode:multiply
}
.product-item:nth-child(2) .product-img-wrap{
  border-radius:60% 40% 45% 55% / 45% 60% 40% 55%
}
.product-item:nth-child(3) .product-img-wrap{
  border-radius:45% 55% 60% 40% / 50% 45% 55% 50%
}
.product-item h3{
  font-family:'DM Serif Display',Georgia,serif;
  font-size:1rem;font-weight:400;font-style:italic;color:#6B3A7A;
  margin-top:0.5rem
}
.product-item .tag{
  display:inline-block;font-size:0.6rem;text-transform:uppercase;
  letter-spacing:0.12em;color:#E84393;margin:0.3rem 0;
  font-weight:600
}
.product-item p{font-size:0.82rem;color:#8B6B9E;line-height:1.5;font-weight:300;padding:0 0.3rem}

/* Product grid — wider 6 items */
.product-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  margin-bottom:4rem;position:relative;z-index:1
}
.grid-item{
  background:#fff;padding:0.8rem 0.8rem 1.2rem;
  border-radius:32px;border:1px solid rgba(142,68,173,0.06);
  transition:all 0.4s;position:relative;
  box-shadow:0 3px 12px rgba(142,68,173,0.03);
  text-align:center
}
.grid-item:hover{
  border-color:#A8D8A8;transform:translateY(-3px);
  box-shadow:0 6px 24px rgba(168,216,168,0.15)
}
.grid-item .g-img-wrap{
  background:linear-gradient(135deg,#E8F5E9,#F3E5F5,#FCE4EC);
  border-radius:24px;padding:0.8rem;margin-bottom:0.8rem;
  min-height:120px;display:flex;align-items:center;justify-content:center;
  border-radius:40% 60% 35% 65% / 50% 45% 55% 50%
}
.grid-item:nth-child(2n) .g-img-wrap{
  border-radius:55% 45% 55% 45% / 40% 60% 40% 60%
}
.grid-item:nth-child(3n) .g-img-wrap{
  border-radius:45% 55% 60% 40% / 50% 50% 50% 50%
}
.grid-item .g-img-wrap img{
  width:100%;height:auto;max-height:100px;object-fit:contain;
  mix-blend-mode:multiply
}
.grid-item h4{
  font-family:'DM Serif Display',Georgia,serif;
  font-size:0.85rem;font-weight:400;font-style:italic;color:#6B3A7A;
  margin-top:0.3rem
}
.grid-item .g-tag{
  display:inline-block;font-size:0.55rem;text-transform:uppercase;
  letter-spacing:0.1em;color:#A8D8A8;margin:0.2rem 0 0.1rem;
  font-weight:600
}

/* Organic divider — garden petals */
.divider-organic{
  text-align:center;margin:2rem 0 3rem;position:relative;z-index:1
}
.divider-organic span{
  display:inline-block;width:10px;height:10px;
  margin:0 0.6rem;border-radius:50% 0 50% 0;
  animation:petalFloat 3s ease-in-out infinite alternate
}
.divider-organic span:nth-child(1){background:#E84393;animation-delay:0s}
.divider-organic span:nth-child(2){background:#8E44AD;animation-delay:0.5s;border-radius:0 50% 0 50%}
.divider-organic span:nth-child(3){background:#A8D8A8;animation-delay:1s}
.divider-organic span:nth-child(4){background:#E84393;animation-delay:1.5s;border-radius:0 50% 0 50%}
.divider-organic span:nth-child(5){background:#8E44AD;animation-delay:2s}
@keyframes petalFloat{
  0%{transform:translateY(0) rotate(0deg)}
  100%{transform:translateY(-6px) rotate(15deg)}
}

/* Heritage soft — now with garden flair */
.heritage-soft{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;
  background:linear-gradient(135deg,#FCE4EC,#F3E5F5,#E8F5E9);
  border-radius:60px;padding:2.5rem;
  margin-bottom:4rem;position:relative;z-index:1;
  border:1px solid rgba(232,67,147,0.08)
}
.heritage-soft div{text-align:center}
.heritage-soft .num{
  font-family:'DM Serif Display',Georgia,serif;
  font-size:2.2rem;font-weight:400;font-style:italic;color:#E84393;display:block
}
.heritage-soft .lbl{
  font-size:0.65rem;text-transform:uppercase;letter-spacing:0.15em;
  color:#8E44AD;margin-top:0.2rem;font-weight:500
}

/* Contact */
.contact-organic{
  text-align:center;padding:2rem 0 4rem;position:relative;z-index:1
}
.contact-organic h2{
  font-family:'DM Serif Display',Georgia,serif;
  font-size:1.8rem;font-weight:400;font-style:italic;color:#6B3A7A
}
.contact-organic p{
  color:#8B6B9E;font-size:0.9rem;margin:0.5rem 0 1.5rem;font-weight:300
}

/* Footer */
.footer{
  padding:2rem 2rem;display:flex;justify-content:space-between;
  align-items:center;border-top:1px solid rgba(142,68,173,0.12);
  position:relative;z-index:1;flex-wrap:wrap;gap:1rem;
  max-width:1200px;margin:0 auto
}
.footer p{font-size:0.78rem;color:#AB8EBE}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.12em;color:#8B6B9E;transition:color 0.2s}
.footer-links a:hover{color:#6B3A7A}

@media(max-width:768px){
  .hero{grid-template-columns:1fr;padding:2rem 0 3rem}
  .hero-content h1{font-size:2.2rem}
  .hero-visual{min-height:200px;padding:1.5rem}
  .values-grid{grid-template-columns:1fr}
  .value-card{border-radius:20px !important}
  .product-showcase{grid-template-columns:1fr}
  .product-grid{grid-template-columns:1fr}
  .heritage-soft{grid-template-columns:1fr;border-radius:30px}
  .header{flex-direction:column;gap:1rem}
  .nav a{padding:0.3rem 0.7rem;font-size:0.72rem}
  body::before,body::after{display:none}
  .garden-glow{display:none}
  .blob-dot{display:none}
}
@media(max-width:480px){
  .container{padding:0 1rem}
  .hero-content h1{font-size:1.8rem}
  .section-title{font-size:1.5rem}
  .nav a{padding:0.25rem 0.5rem;font-size:0.68rem}
  .nav{gap:0.15rem}
  .footer{flex-direction:column;text-align:center}
}
/* Content pages */
.content-page{max-width:800px;margin:3rem auto;padding:0 2rem}
.content-page h1{font-family:'DM Serif Display',Georgia,serif;font-size:2rem;font-weight:400;font-style:italic;color:#8E44AD;margin-bottom:1rem}
.content-page h2{font-family:'DM Serif Display',Georgia,serif;font-size:1.4rem;font-weight:400;font-style:italic;color:#8E44AD;margin:2rem 0 1rem}
.content-page p{color:#6B3A7A;line-height:1.8;margin-bottom:1rem}
.content-page ul,.content-page ol{padding-left:1.5rem;color:#6B3A7A;margin:1rem 0}
.content-page li{margin-bottom:0.4rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0}
.contact-card{background:white;border:1px solid #A8D8A8;border-radius:16px;padding:1.5rem}
.contact-card h3{font-size:1rem;font-weight:600;color:#E84393;margin-bottom:0.3rem}
.contact-card p{color:#6B3A7A;font-size:0.9rem}
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;padding:3rem 0}
.product-detail-img{background:white;border:1px solid #A8D8A8;border-radius:16px;padding:2rem;display:flex;align-items:center;justify-content:center;min-height:300px}
.product-detail-img img{max-width:100%;max-height:340px;object-fit:contain}
.product-detail-body h1{font-family:'DM Serif Display',Georgia,serif;font-size:2rem;font-weight:400;font-style:italic;color:#8E44AD;margin-bottom:0.5rem}
.product-detail-body .product-detail-desc{color:#6B3A7A;margin-bottom:1rem}
.product-detail-body p{color:#6B3A7A;line-height:1.7}
.product-table{width:100%;border-collapse:collapse;margin:1rem 0}
.product-table th{background:#E84393;color:white;padding:0.6rem 1rem;text-align:left;font-weight:600}
.product-table td{padding:0.6rem 1rem;border-bottom:1px solid #A8D8A8;color:#6B3A7A}
.product-banner{max-height:220px;width:auto;object-fit:contain;border-radius:12px}
@media(max-width:768px){
  .content-page{padding:0 1rem}
  .product-detail,.contact-grid{grid-template-columns:1fr}
  .product-detail-img{min-height:200px}
}
/* Shared layout (list pages, etc.) */
.section{padding:3rem 0}
.section h1{font-family:'DM Serif Display',Georgia,serif;font-size:2rem;font-weight:400;font-style:italic;color:#8E44AD;text-align:center;margin-bottom:2rem}
.section h2{font-family:'DM Serif Display',Georgia,serif;font-size:1.6rem;font-weight:400;font-style:italic;color:#8E44AD;text-align:center;margin-bottom:2rem}
.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.product-card{background:white;border:1px solid #A8D8A8;border-radius:16px;overflow:hidden;transition:all 0.3s;display:block;color:inherit;text-decoration:none}
.product-card:hover{border-color:#E84393;transform:translateY(-4px);box-shadow:0 8px 24px rgba(232,67,147,0.1)}
.product-card-img{background:#F2F9F0;padding:1.5rem;display:flex;align-items:center;justify-content:center;height:200px}
.product-card-img img{max-width:100%;max-height:100%;object-fit:contain}
.product-card-body{padding:1.2rem}
.product-card-body h3{font-family:'DM Serif Display',Georgia,serif;font-size:1.1rem;font-weight:400;font-style:italic;color:#6B3A7A}
.product-card-body p{color:#6B3A7A;font-size:0.88rem;line-height:1.5}
.content{max-width:800px;margin:0 auto;padding:0 2rem 2rem}
.content p{color:#6B3A7A;line-height:1.8;margin-bottom:1rem}
.content h2{font-family:'DM Serif Display',Georgia,serif;font-size:1.4rem;font-weight:400;font-style:italic;color:#8E44AD;margin:1.5rem 0 0.8rem}
.content ul,.content ol{padding-left:1.5rem;color:#6B3A7A;margin:1rem 0}
.content li{margin-bottom:0.4rem}
