/* Mimimi identity: a dark canvas, vivid purple actions and soft geometry. */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--purple:#c5a0f1;--green:#c4a0ef;--cream:#100d14;--muted:#aaa1b3;--action:#9e54ee}
body{font-family:'Outfit',system-ui,sans-serif;color:#f6efff;background:#100d14}h1,h2{font-family:'Outfit',system-ui,sans-serif;font-weight:800;letter-spacing:-2.5px}h1{font-size:clamp(50px,6.6vw,94px);line-height:1.01}h1 em,h2 em{font-style:normal;font-weight:800;color:#b57af3}h2{font-size:43px;line-height:1.1}.topline{background:#24152f;color:#d5b8f2;font-size:10px}.logo{font-size:43px;font-weight:900;padding:0;letter-spacing:-2px;color:#fff}.brand-dot{color:#b277ef}.logo-small{color:#b7a5ca;font-size:7px;letter-spacing:2.5px;margin-top:8px}header{height:110px}nav{color:#bfb5c9;font-size:12px;gap:25px}.bag{border-color:#45354f;color:#eee4f9;background:#1c1524}.bag span{background:#ac70e8;color:#120b19}.hero{min-height:555px;gap:20px;padding-bottom:66px;position:relative}.hero-copy{position:relative;z-index:1}.hero .eyebrow{letter-spacing:1.5px}.hero-photo{height:495px;padding:0;margin:0 10px 0 30px}.hero-photo>img{border-radius:160px 160px 24px 24px;filter:saturate(1.08);box-shadow:0 0 100px #8b42c324}.hero-photo:after{content:'';position:absolute;inset:-15px 15px 15px -15px;border:1px solid #8453a359;border-radius:170px 170px 30px 30px;z-index:-1}.primary{background:var(--action);color:#100818;border-radius:50px;font-size:14px;font-weight:600;transition:transform .2s,background .2s}.primary:hover{background:#b97cf8;transform:translateY(-3px)}.intro{color:#b6a9c0;max-width:350px;font-size:14px}.hero-notes{color:#a897b5}.photo-label{background:#b77cf2;color:#210e32;bottom:20px;left:-35px;border-radius:10px;font-family:'Outfit',sans-serif;font-size:21px;transform:rotate(-7deg)}.photo-label span{color:#421966}.photo-label strong{font-weight:800}.round-label{background:#21142c;color:#d5b2f9;border:1px solid #7d509b;right:-21px;top:25px}.ribbon{background:#ab6ee6;color:#1c0c29;font-size:10px;font-weight:700;transform:rotate(-1deg);width:100%;margin-top:8px}.menu{padding-top:88px;padding-bottom:72px}.section-head h2{color:#f7effe}.filters button{color:#b6a5c3;border-color:#35263f;background:#17111f}.filters .selected{background:#b879f1;color:#180b23;border-color:#b879f1}.product{background:#19131f;border-color:#34243e;border-radius:18px;transition:transform .25s,border-color .25s}.product:hover{transform:translateY(-6px);border-color:#8654a9}.product-image{background:#2a1b36}.product-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 65%,#19131f88);pointer-events:none}.product img{transition:transform .4s}.product:hover img{transform:scale(1.04)}.badge{background:#241332e8;color:#e2c0ff;border:1px solid #8756a3;z-index:1}.product h3{color:#f6ecff;font-size:21px}.product p{color:#ad9db9}.product small{color:#c99de9}.product-bottom strong{color:#e8c9ff}.product-bottom button{background:#ae6df0;color:#1b0b2b}.custom-section{background:#21142e;border-block:1px solid #382044;position:relative;overflow:hidden}.custom h2{font-size:54px}.custom p{color:#baa8c9}.steps li{border-color:#493058}.steps li>span{font-family:'Outfit',sans-serif;font-size:38px;font-weight:700;color:#aa70db}.steps h3{color:#f4e7ff}.essence{padding-top:86px}.story-text{max-width:680px;margin:26px auto 45px;color:#b2a3bf;font-size:14px}.values h3{color:#e8d5f6}.values article>span{color:#b67be7}.review{border-color:#3b2c45}.review p{font-family:'Outfit',sans-serif;font-weight:500;font-size:24px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-top:30px;padding-bottom:85px}.contact-section h2{font-size:51px}.contact-section p{color:var(--muted);font-size:14px}.contact-card{background:#1b1323;border:1px solid #3d2b4c;border-radius:20px;padding:30px}.contact-card h3{font-size:20px;margin-top:0}.contact-card dl{margin:25px 0}.contact-card dt{font-size:9px;letter-spacing:1.6px;color:#b781df;margin-top:22px}.contact-card dd{margin:6px 0;font-size:14px;color:#d9cce4}.contact-card p{font-size:11px}footer{background:#0a080d;border-top:1px solid #2e2039;color:#e4d4ee}.footer-logo{color:#d6adff;font-weight:900;font-size:44px}.footer-bottom{border-color:#37243f}dialog{background:#1d1427;color:#f2e8fa;border:1px solid #5a3a6e}dialog::backdrop{background:#050208c9}.close{color:#d8b3f5}.options label{background:#33233f;color:#e9d9f6}.options input{accent-color:#b274ed}.allergy{color:#b5a4c1}.cart-item{border-color:#513460}.cart-item p{color:#b6a0c6}.quantity button{color:#f0dfff;border-color:#69437e}.review small{color:#b7a0c5}#orderMessage{background:#35213f;color:#e9d8f4}#toast{background:#b67af0;color:#190b23}.skip{background:#b67af0;color:#190b23}
/* IntersectionObserver adds animation only when motion is permitted. */
.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.motion-ready .reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){h1{font-size:65px}.hero-photo{height:425px;margin-left:15px}.hero{min-height:500px}nav{gap:13px;font-size:10px}.contact-section{gap:30px}.custom h2{font-size:45px}}
@media(max-width:650px){header{height:90px}.logo{font-size:37px}h1{font-size:63px;letter-spacing:-2.8px}.hero{min-height:0;gap:40px;padding-top:20px;padding-bottom:50px}.hero-photo{height:365px;width:calc(100% - 25px);margin-left:14px}.hero-photo>img{border-radius:120px 120px 18px 18px}.photo-label{left:-12px;font-size:20px}.round-label{right:-12px}.intro{font-size:14px}.menu{padding-top:57px}h2{font-size:36px;letter-spacing:-1.4px}.section-head h2{max-width:290px}.custom h2{font-size:43px}.essence{padding-top:55px}.essence h2{font-size:34px}.contact-section{grid-template-columns:1fr;padding-top:8px;padding-bottom:50px;gap:30px}.contact-section h2{font-size:44px}.story-text{font-size:13px}.review p{font-size:21px}.product-image{height:275px}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none;transition:none}.primary:hover,.product:hover{transform:none}.product:hover img{transform:none}}

/* Brand artwork stands in for bottle photography until real photos are supplied. */
.hero-photo>img{object-fit:contain;background:#000;border-radius:32px}
.product-image{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#0b080f;gap:4px}
.product-image img{width:140px;height:140px;object-fit:contain;border-radius:50%}
.volume-label{font-size:29px;font-weight:700;color:#dec4f7;position:relative;z-index:1}
/* Restored brand artwork: retain its aspect ratio and black circular backdrop. */
body{overflow-x:clip}
header{height:126px}
.image-logo{display:inline-flex;flex-shrink:0;padding:0;line-height:0}
.image-logo img{display:block;width:100px;height:100px;object-fit:contain;border-radius:50%}
.footer-logo.image-logo img{width:105px;height:105px}
.story-logo{display:block;margin:0 auto 28px;width:160px;height:160px;border-radius:50%;box-shadow:0 0 45px #a650e51a}
@media(max-width:650px){header{height:104px}.image-logo img{width:82px;height:82px}.story-logo{width:140px;height:140px}.footer-logo.image-logo img{width:95px;height:95px}}

/* A short entrance sequence; no loading overlay or delay before interaction. */
@keyframes mimimi-arrive{
  from{opacity:0;translate:0 14px}
  to{opacity:1;translate:0 0}
}
@keyframes mimimi-artwork{
  from{opacity:0;translate:0 18px;scale:.985}
  to{opacity:1;translate:0 0;scale:1}
}
@media(prefers-reduced-motion:no-preference){
  header .logo,header nav,header .bag,
  .hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.intro,
  .hero-copy>.primary,.hero-copy>.hero-notes{
    animation:mimimi-arrive 720ms cubic-bezier(.22,1,.36,1) backwards;
  }
  header nav{animation-delay:50ms}
  header .bag{animation-delay:90ms}
  .hero-copy>.eyebrow{animation-delay:90ms}
  .hero-copy>h1{animation-delay:160ms}
  .hero-copy>.intro{animation-delay:230ms}
  .hero-copy>.primary{animation-delay:300ms}
  .hero-copy>.hero-notes{animation-delay:350ms}
  .hero-photo{animation:mimimi-artwork 950ms cubic-bezier(.22,1,.36,1) 160ms backwards}
  .motion-ready .reveal{transform:translateY(16px);transition:opacity 700ms ease,transform 800ms cubic-bezier(.22,1,.36,1)}
  .motion-ready .reveal.is-visible{transform:none}
}
/* Restrained hover movement keeps the page calm on desktop. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .primary{transition:transform 280ms cubic-bezier(.22,1,.36,1),background 250ms ease}
  .primary:hover{transform:translateY(-2px)}
  .product{transition:transform 350ms cubic-bezier(.22,1,.36,1),border-color 300ms ease}
  .product:hover{transform:translateY(-3px)}
  .product:hover img{transform:scale(1.015)}
}
@media(prefers-reduced-motion:reduce){
  /* A brief opacity-only entrance also works on desktops with reduced motion.
     Avoid sliding, scaling and continuous movement in this mode. */
  header .logo,header nav,header .bag,.hero-copy>*,.hero-photo{
    animation:mimimi-fade 450ms ease-out backwards;
    opacity:1;translate:none;scale:none;
  }
  .hero-copy>h1{animation-delay:60ms}
  .hero-copy>.intro{animation-delay:100ms}
  .hero-copy>.primary{animation-delay:140ms}
  .hero-photo{animation-delay:100ms}
}
@keyframes mimimi-fade{from{opacity:0}to{opacity:1}}

/* Hero brand composition: round artwork, separate caption, no overlays on text. */
.hero-photo{
  height:auto;
  margin:0;
  padding:24px 18px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
  background:radial-gradient(ellipse at 50% 40%,#71309b1f,transparent 70%);
}
.hero-photo:after{content:none}
.hero-photo>img{
  width:min(100%,420px);
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  border-radius:50%;
  filter:none;
  box-shadow:0 0 0 1px #b27be52b,0 15px 50px #0003;
}
.hero-photo .round-label{display:none}
.hero-photo .photo-label{
  position:static;
  transform:none;
  padding:0;
  background:transparent;
  color:#bcabc9;
  box-shadow:none;
  text-align:center;
  font-size:15px;
  line-height:1.5;
}
.hero-photo .photo-label br{display:none}
.hero-photo .photo-label strong{color:#d8b1f4;margin-left:4px;font-weight:600}
.hero-photo .photo-label span{display:none}
@media(max-width:650px){
  .hero-photo{width:100%;margin:0;padding:8px 12px 0;gap:18px}
  .hero-photo>img{width:min(100%,340px)}
  .hero-photo .photo-label{font-size:14px}
}

/* Remove the black matte visually while retaining the original brand artwork.
   Screen makes black neutral; the circular clip follows the purple outline. */
.image-logo img,.hero-photo>img,.story-logo,.product-image img{
  mix-blend-mode:screen;
  clip-path:circle(50% at 50% 50%);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

/* Bottle packshots: preserve label colors, full silhouette and size progression. */
.product-image{height:310px;padding:24px 20px 14px;justify-content:flex-end;background:#100b17}
.product-image:after{content:none}
.product-image .bottle-image{
  width:auto;max-width:100%;height:250px;object-fit:contain;
  clip-path:none;mix-blend-mode:normal;border-radius:12px;
  background:transparent;box-shadow:none;
}
.product-image .bottle-300{height:220px}
.product-image .bottle-400{height:245px}
.product-image .bottle-500{height:270px}
@media(max-width:650px){
  .product-image{height:330px;padding-bottom:18px}
  .product-image .bottle-300{height:240px}
  .product-image .bottle-400{height:265px}
  .product-image .bottle-500{height:290px}
}

/* Scroll choreography uses independent translate so card hover stays smooth. */
.scroll-reveal{
  opacity:0;
  translate:0 22px;
  transition:opacity 650ms ease var(--reveal-delay,0ms),
    translate 850ms cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms);
}
.scroll-reveal.scroll-visible{opacity:1;translate:0 0}
.product.scroll-reveal{
  transition:opacity 650ms ease var(--reveal-delay,0ms),
    translate 850ms cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),
    transform 350ms cubic-bezier(.22,1,.36,1),border-color 300ms ease;
}
@media(max-width:650px){.scroll-reveal{translate:0 14px}.scroll-reveal.scroll-visible{translate:0 0}}
@media(prefers-reduced-motion:reduce){
  .scroll-reveal,.product.scroll-reveal{translate:none;transition:opacity 200ms ease}
}
