
:root{--cream:#fbf8f1;--green:#23483c;--ink:#233b31;--line:#deded0}
body{background:var(--cream)}html{scroll-padding-top:105px}header{position:sticky;top:0;z-index:10;background:#fbf8f1ed;backdrop-filter:blur(18px);border-bottom:1px solid #23483c16;transition:box-shadow .3s}header.scrolled{box-shadow:0 8px 30px #213c3010}.announcement{background:#23483c;color:#fff9ef}.brand{font-family:Georgia,serif}.bee{color:#b48a5c}.hero{position:relative;background:radial-gradient(ellipse at 20% 40%,#f5e8dc,transparent 65%),#f8f4eb;padding:36px 5% 64px;gap:4%;overflow:hidden}.hero-copy{padding:50px 0 40px;z-index:1}.hero-copy h1{font-weight:400;line-height:1.35;font-size:clamp(40px,5.4vw,78px)}h1 em{color:#a36054}h2{font-weight:400;line-height:1.4}.hero-photo{position:relative;align-self:center;overflow:visible;border-radius:180px 180px 14px 14px;max-width:560px;transform:rotate(2deg);box-shadow:0 30px 55px #50402c19}.hero-photo>img{border-radius:180px 180px 14px 14px}.hero-mini{position:absolute;width:31%;right:-7%;bottom:-8%;padding:9px;background:#fffaf3;box-shadow:0 16px 32px #283f3325;transform:rotate(-9deg);border-radius:7px}.hero-mini img{width:100%;display:block;border-radius:4px}.hero-mini span{display:block;font:8px Arial;letter-spacing:1px;padding:9px 0;text-align:center}.photo-tag{border-radius:4px;left:8%;bottom:8%;box-shadow:0 8px 20px #233b3110}.petal{color:#9b6d53;animation:flower-turn 35s linear infinite}.primary{border-radius:40px;transition:transform .25s,box-shadow .25s,background .25s}.primary:hover{transform:translateY(-3px);box-shadow:0 9px 22px #23483c25}.brand-ribbon{display:flex;justify-content:space-around;align-items:center;gap:20px;padding:24px 5%;background:#ebeddf;color:#52634b;font:11px Arial;letter-spacing:2px}.brand-ribbon i{font-size:24px;font-style:normal}.category-strip{padding:14px 5%;background:var(--cream)}.category-strip a{transition:background .25s,color .25s;border-radius:8px}.category-strip a:hover{background:#e9eddf}.collection{padding-top:85px}.filters button{border-radius:30px;transition:background .2s,color .2s}#search{border-radius:30px;background:#fffdf8}.grid{gap:44px 28px}.grid>article{border:1px solid #e3e2d8;border-radius:16px;background:#fffdf8;overflow:hidden;transition:transform .3s,box-shadow .3s}.grid>article:hover{transform:translateY(-6px);box-shadow:0 18px 38px #263d3210}.product-image{overflow:hidden}.product-image img{transition:transform .65s}.product-image:hover img{transform:scale(1.035)}.product-meta{padding:22px!important}.product-category{letter-spacing:1px;color:#8c6954}.add{border-radius:50%;background:#edf0e5;transition:background .2s,transform .2s}.add:hover{background:#dce4cf;transform:rotate(90deg)}.story{border-radius:22px;overflow:hidden;background:#e9ecdf}.story-copy{background:#e9ecdf}.guide{background:linear-gradient(180deg,#fbf8f1,#f4efe5)}.steps article{padding:28px;border:1px solid #dfdfd1;border-radius:12px;background:#fffaf3}.steps article>span{color:#9a7656}.contact-banner{text-align:center;padding:80px 6%;margin:0 5% 75px;background:#23483c;color:#fff9eb;border-radius:24px;position:relative;overflow:hidden}.contact-banner h2{font-size:clamp(28px,4vw,48px)}.contact-banner p{color:#d2daca}.contact-banner .primary{background:#eee4cd;color:#23483c;margin-top:15px}.contact-banner .eyebrow{color:#c2cda9}.faq details{background:#fffdf8;padding:20px;border-radius:10px;margin:12px 0;border:1px solid #e1e2d7}dialog{border-radius:20px;box-shadow:0 30px 90px #152d3450}footer{border-radius:26px 26px 0 0}.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal-ready.visible{opacity:1;transform:none}@keyframes flower-turn{to{transform:rotate(360deg)}}
@media(max-width:600px){.hero{padding:0 6% 60px;gap:15px}.hero-copy{padding:40px 0 15px}.hero-photo{width:88%;margin:0 auto;max-width:420px}.hero-mini{right:-6%;width:29%}.brand-ribbon{font-size:8px;letter-spacing:.7px;padding:18px 4%;gap:8px}.brand-ribbon i{font-size:16px}.grid{gap:22px 12px}.product-meta{padding:13px!important}.category-strip{padding:12px 4%}.contact-banner{padding:50px 7%;margin-bottom:45px}.steps article{padding:22px}.collection{padding-top:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.petal{animation:none}.reveal-ready{opacity:1;transform:none}*,*::before,*::after{transition:none!important}}

/* Homepage motion runs on touch screens as well as desktops. */
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > * {
    animation: boutique-intro .85s cubic-bezier(.22,1,.36,1) backwards;
  }
  .hero-copy h1 { animation-delay: .12s; }
  .hero-copy p { animation-delay: .24s; }
  .hero-copy a { animation-delay: .36s; }
  .hero-photo {
    animation: boutique-photo 1.25s cubic-bezier(.22,1,.36,1) backwards;
  }
  .hero-mini {
    animation: boutique-mini-in 1.1s .35s cubic-bezier(.22,1,.36,1) backwards,
      boutique-mini-float 4s 1.5s ease-in-out 2;
  }
  .hero-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 33%, #fff9e452 50%, transparent 67%);
    background-size: 300% 100%;
    animation: boutique-light 1.8s .65s ease-out both;
  }
  .grid > article.arriving {
    animation: boutique-intro .55s var(--card-delay,0ms) cubic-bezier(.22,1,.36,1) backwards;
  }
}
@keyframes boutique-intro {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes boutique-photo {
  from { opacity: 0; transform: translateY(30px) scale(.94) rotate(-3deg); }
  to { opacity: 1; transform: rotate(2deg); }
}
@keyframes boutique-mini-in {
  from { opacity: 0; transform: translate(14px,30px) rotate(2deg); }
  to { opacity: 1; transform: rotate(-9deg); }
}
@keyframes boutique-mini-float {
  0%,100% { transform: translateY(0) rotate(-9deg); }
  50% { transform: translateY(-13px) rotate(-5deg); }
}
@keyframes boutique-light {
  from { background-position: 100% 0; opacity: 0; }
  25% { opacity: 1; }
  to { background-position: 0 0; opacity: 0; }
}

.brand-logo{display:block;width:64px;height:64px;object-fit:contain;border-radius:10px;flex:none}
@media(max-width:600px){.brand-logo{width:48px;height:48px}}
