.wo-home{
  --ink:#161817;
  --body:#606361;
  --muted:#c6c7c7;
  --line:#e0e4e4;
  --hero-bg:#020001;
  --wo-bleed:max(0px, calc((100vw - 1440px) / 2));
  position:relative;
  background:#fff;font-family:'Inter',sans-serif;color:var(--ink)
}
.wo-home, .wo-home *{margin:0;padding:0;box-sizing:border-box}
.wo-home img{display:block}
.wo-home a{text-decoration:none;color:inherit}
.wo-home .cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- full-bleed sections (genuine edge-to-edge background) ----------
   For sections whose background color/image should reach the true viewport
   edge (not just the 1440px design canvas): the section itself goes 100vw
   (our parent sits flush at the viewport's left edge, so no centering is
   needed here), and a ".wo-canvas" wrapper inside it holds everything
   except the full-bleed background layer, centered at max 1440px via
   position:relative + var(--wo-bleed). Position:absolute children (built
   with literal left/top px offsets against a 1440 canvas) then correctly
   anchor to that inner wrapper instead of the full-bleed outer box. */
.wo-home .hero,
.wo-home .house{
  width:100vw;
}
.wo-home .wo-canvas{
  position:relative;
  height:100%;
  max-width:1440px;
  margin-left:var(--wo-bleed)!important;
}

/* ---------- shared canvas ----------
   GeneratePress's container caps us at 1200px, narrower than the 1440px
   design canvas, which was clipping fixed-width children (e.g. .social__ig
   at 1312px) via their parent's overflow:hidden. width:100vw escapes that
   cap. No padding here on purpose: padding would shrink the reference box
   for position:absolute;inset:0 background layers (.hero__bg/.house__bg),
   which broke those sections when tried. Trade-off accepted for now:
   content built with literal left/top px offsets sits nearer the true
   viewport edge instead of a perfectly centered 1440 canvas on very wide
   screens. Proper fix (deferred): inner "canvas" wrapper around everything
   except the __bg layer, so it can be centered independently. */
.wo-home .philosophy,
.wo-home .editorial,
.wo-home .split{
  width:100vw;
  max-width:1440px;
  /* margin:auto can't center this: our direct parent (GeneratePress's
     content-area) is narrower (1200px) than our own width (up to 1440px),
     which makes plain "auto" margins over-constrained and collapse to 0
     (left-aligned). Our parent sits flush at the viewport's left edge
     though, so a viewport-relative margin positions us correctly instead. */
  margin-left:var(--wo-bleed)!important;
}

/* ---------- 01 . hero ---------- */
.wo-home .hero{position:relative;height:940px;background:var(--hero-bg);overflow:hidden}
.wo-home .hero__bg{position:absolute;inset:0;overflow:hidden}
/* .hero__bg lives inside .wo-canvas (see inset:0 above), so its own box already tracks
   --wo-bleed automatically — same frame the hotspot x/y coordinates below are stored
   relative to. left:50%+translateX(-50%) instead centered the photo on .hero__bg's own
   width, which only equals the 1440px design canvas once .wo-canvas hits its max-width
   (>=1440px); below that .wo-canvas (and so .hero__bg) narrows with the viewport, so the
   50% centering point drifted and dragged the hotspots off the bottle by up to ~120px at
   1200px. A constant local offset instead: -36px = (1440 - 1512) / 2, i.e. this fixed-width
   photo (940px tall x its own aspect ratio) centered once inside the 1440px canvas. */
.wo-home .hero__bg img{position:absolute;left:-36px;top:0;height:100%;
  width:auto;max-width:none}
.wo-home .hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(214.5deg,rgba(0,0,0,.05) 45.657%,rgb(0,0,0) 97.189%)}
.wo-home .hero__hotspots{display:none}
.wo-home .hero__hotspots.is-active{display:contents}
.wo-home .hotspot{position:absolute;display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;background:#fff;border-radius:9999px;border:0;padding:0;cursor:pointer;
  transition:transform .2s ease}
.wo-home .hotspot:hover{transform:scale(1.12)}
.wo-home .hotspot img{width:20px;height:20px}
.wo-home .hero__copy{position:absolute;left:64px;top:462px;width:calc(100% - 128px);display:flex;
  align-items:flex-end;justify-content:space-between}
.wo-home .hero__text{display:flex;flex-direction:column;gap:40px;width:673px;align-items:flex-start}
.wo-home .hero__text-inner{display:flex;flex-direction:column;gap:16px}
.wo-home .hero__badge{align-self:flex-start;display:inline-flex;padding:11px 16px;border-radius:9999px;
  background:rgba(255,255,255,.05);font:500 16px/1.1 'Inter',sans-serif;
  color:#fff;text-transform:uppercase;white-space:nowrap}
.wo-home .hero__title{width:597px;font-weight:600;font-size:clamp(44px, 5vw - 16px, 56px);
  line-height:1.1;font-family:'Cormorant Garamond',serif;color:#fff}
.wo-home .hero__lead{font-weight:400;font-size:clamp(17px, 0.42vw + 12px, 18px);
  line-height:1.6;font-family:'Inter',sans-serif;color:#e0e0e0}
.wo-home .hero__thumbs{display:flex;gap:16px;align-items:center}
.wo-home .thumb{position:relative;width:80px;height:80px;border-radius:40px;border:0;
  background:rgba(255,255,255,.1);backdrop-filter:blur(10px);cursor:pointer;padding:0;
  overflow:hidden;transition:border-color .2s ease}
.wo-home .thumb--active{border:1px solid rgba(255,255,255,.4)}
.wo-home .thumb__bottle{position:absolute;inset:0;border-radius:40px;
  background-image:var(--thumb-bg, url("../img/hero-thumb.png"));
  background-position:center 30%;background-size:cover;background-repeat:no-repeat}
.wo-home .hero__card{position:absolute;left:875px;top:408px;width:359px;background:#fff;
  border-radius:12px;padding:16px;flex-direction:column;gap:4px;
  display:none;z-index:5}
.wo-home .hero__card.is-open{display:flex}
.wo-home .hero__card h3{font:700 20px/1.2 'Cormorant Garamond',serif;color:var(--ink)}
.wo-home .hero__card p{font:400 14px/1.6 'Inter',sans-serif;color:var(--body)}

/* ---------- 02 . philosophy ---------- */
.wo-home .philosophy{display:flex;gap:123px;padding:64px 64px 120px}
.wo-home .philosophy__left{display:flex;flex-direction:column;gap:230px;width:432px}
.wo-home .philosophy__img{position:relative;width:432px;aspect-ratio:470/576;overflow:hidden}
.wo-home .philosophy__right{display:flex;flex-direction:column;gap:80px;width:755px}
.wo-home .philosophy__intro{display:flex;flex-direction:column;gap:24px}
.wo-home .philosophy__intro h2{font:700 44px/1.2 'Cormorant Garamond',serif;color:var(--ink)}
.wo-home .philosophy__intro p{font:400 18px/1.6 'Inter',sans-serif;color:var(--body)}
.wo-home .notes{display:flex;flex-direction:column;width:100%}
.wo-home .note{display:flex;gap:56px;align-items:flex-start;padding:24px 0;border-bottom:1px solid var(--line)}
.wo-home .note:first-child{border-top:1px solid var(--line)}
.wo-home .note__label{width:81px;font:500 24px/1.2 'Inter',sans-serif;color:var(--line);text-transform:uppercase}
.wo-home .note__body{display:flex;flex-direction:column;gap:16px;flex:1}
.wo-home .note__body h3{font:600 32px/1.2 'Cormorant Garamond',serif;color:var(--ink)}
.wo-home .note__body p{font:400 18px/1.6 'Inter',sans-serif;color:var(--body)}

/* ---------- 03 . the house ---------- */
.wo-home .house{position:relative;height:880px;overflow:hidden;color:#fff;background:#0c0c0c}
.wo-home .house__bg{position:absolute;inset:0;overflow:hidden}
.wo-home .house__bg .bg1{position:absolute;width:108.99%;height:108.93%;left:-4.49%;top:-4.5%;max-width:none}
.wo-home .house__bg .bg2{position:absolute;width:99.95%;height:125.06%;left:.04%;top:-25.02%;max-width:none}
.wo-home .house__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(121.43deg,rgb(0,0,0) 0%,rgba(0,0,0,.2) 24.813%,rgba(0,0,0,.4) 78.389%,rgb(0,0,0) 100%)}
.wo-home .house__intro{position:absolute;left:64px;top:78px;width:433px;display:flex;flex-direction:column;gap:14px}
.wo-home .house__intro-text{display:flex;flex-direction:column;gap:24px}
.wo-home .house__intro-text h2{font:700 32px/1.2 'Cormorant Garamond',serif}
.wo-home .house__intro-text p{font:400 18px/1.6 'Inter',sans-serif}
.wo-home .house__product{position:absolute;right:65px;top:540px;width:465px;display:flex;
  flex-direction:column;gap:16px;align-items:flex-start}
.wo-home .house__product h3{font-weight:600;font-size:clamp(30px, 0.83vw + 20px, 32px);
  line-height:1.2;font-family:'Cormorant Garamond',serif}
.wo-home .house__product hr{width:140px;height:1px;background:#fff;border:0}
.wo-home .house__product p{font:400 18px/1.6 'Inter',sans-serif}

/* ---------- 04 . editorial tiles ---------- */
.wo-home .editorial{display:flex;padding:120px 64px}
.wo-home .editorial__left{display:flex;flex-direction:column;gap:80px;width:644px;margin-right:-87px}
.wo-home .editorial__head{display:flex;flex-direction:column;gap:32px;align-items:flex-start}
.wo-home .editorial__head .titles{display:flex;flex-direction:column;gap:16px}
.wo-home .editorial__head .titles .sub{font:600 32px/1.2 'Cormorant Garamond',serif;color:var(--ink)}
.wo-home .editorial__head .titles .main{font:700 44px/1.2 'Cormorant Garamond',serif;color:var(--ink)}
.wo-home .editorial__tile{display:flex;flex-direction:column;gap:20px;align-items:center;align-self:flex-start}
.wo-home .editorial__tile-img{position:relative;width:446px;height:585px;overflow:hidden}
.wo-home .editorial__tile-img .crop1{position:absolute;width:144.59%;height:137.74%;left:-20.09%;top:-24.58%;max-width:none}
.wo-home .editorial__tile-img .crop2{position:absolute;width:150.37%;height:128.55%;left:-25.18%;top:-17.78%;max-width:none}
.wo-home .editorial__handle{font:700 40px/1.2 'Cormorant Garamond',serif;color:var(--ink);text-decoration:underline}
.wo-home .editorial__right{display:flex;flex-direction:column;gap:46px;align-items:flex-end;width:755px}
.wo-home .editorial__photo{position:relative;width:557px;height:596px;overflow:hidden}
.wo-home .editorial__photo .crop{position:absolute;width:142.83%;height:166.78%;left:-41.98%;top:-48.22%;max-width:none}
.wo-home .editorial__order{display:flex;flex-direction:column;gap:32px;align-items:flex-start;width:100%}
.wo-home .editorial__order .txt{display:flex;flex-direction:column;gap:16px}
.wo-home .editorial__order h3{font:600 32px/1.2 'Cormorant Garamond',serif;color:var(--ink)}
.wo-home .editorial__order .desc{font:400 18px/1.6 'Inter',sans-serif;color:var(--body)}
.wo-home .editorial__order .vol{font:500 20px/1.2 'Inter',sans-serif;color:var(--ink);text-transform:uppercase}

/* ---------- 05 . our story / 06 . craft ---------- */
.wo-home .split{display:flex;flex-direction:column;gap:80px;padding:80px 64px 120px}
.wo-home .split__head{display:flex;align-items:flex-start;justify-content:space-between;width:100%}
.wo-home .split__head-right{display:flex;flex-direction:column;gap:16px;width:977px}
.wo-home .split__head-right .big{font:700 44px/1.2 'Cormorant Garamond',serif;color:var(--ink)}
.wo-home .split__head-right .sub{font:400 18px/1.6 'Inter',sans-serif;color:var(--body)}
.wo-home .split__head-right .sub--serif{font:600 32px/1.2 'Cormorant Garamond',serif;color:var(--ink)}
.wo-home .split__content{display:flex;align-items:center;justify-content:space-between;width:100%}
.wo-home .split__text{display:flex;flex-direction:column;gap:40px;width:577px}
.wo-home .split__block{display:flex;flex-direction:column;gap:16px}
.wo-home .split__block h3{font:600 32px/1.2 'Cormorant Garamond',serif;color:var(--ink)}
.wo-home .split__block p{font:400 18px/1.6 'Inter',sans-serif;color:var(--body)}
.wo-home .split__img{position:relative;width:655px;height:745px;overflow:hidden}
.wo-home .split__img .crop{position:absolute;width:100.2%;height:111.11%;left:-.1%;top:-11.11%;max-width:none}
.wo-home .split__cta{display:flex;flex-direction:column;gap:32px;align-items:flex-start}
.wo-home .split__cta .txt{display:flex;flex-direction:column;gap:16px}
.wo-home .split__cta .txt h3{font:600 32px/1.2 'Cormorant Garamond',serif;color:var(--ink)}
.wo-home .split__cta .vol{font:500 20px/1.2 'Inter',sans-serif;color:var(--ink);text-transform:uppercase}

/* ---------- 07 . instagram + contact ---------- */
.wo-home .social{display:flex;flex-direction:column;gap:80px;align-items:center;padding-top:80px;
  overflow:hidden;width:100vw}
.wo-home .social__ig{display:flex;flex-direction:column;gap:48px;width:100%}
.wo-home .social__ig h2{font:700 44px/1.2 'Cormorant Garamond',serif;color:var(--ink);white-space:nowrap;
  padding-left:64px}
.wo-home .social__strip{position:relative;height:325px;width:100%;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.wo-home .social__strip::-webkit-scrollbar{display:none}
.wo-home .social__strip-inner{display:flex;gap:24px;align-items:center;width:max-content;
  padding:0 193px}
.wo-home .ig-tile{display:block;position:relative;width:263px;height:325px;overflow:hidden;flex-shrink:0;
  scroll-snap-align:center;cursor:pointer}
.wo-home .ig-tile img{display:block;width:100%;height:100%;object-fit:cover}
.wo-home .contact{position:relative;height:880px;width:100%;overflow:hidden;color:#fff;background:var(--ink)}
.wo-home .contact__bg{position:absolute;width:1399px;height:1753px;left:-173px;top:-607px;overflow:hidden}
.wo-home .contact__bg img,.wo-home .contact__bg--mirror img{position:absolute;left:0;top:0;width:100.29%;height:100%;max-width:none}
.wo-home .contact__bg--mirror{position:absolute;width:1399px;height:1753px;left:1226px;top:-607px;
  overflow:hidden;transform:scaleX(-1)}
.wo-home .contact::after{content:"";position:absolute;inset:0;
  background:linear-gradient(130.04deg,rgb(22,24,23) 17.508%,rgba(22,24,23,0) 32.121%,rgba(22,24,23,0) 53.441%,rgb(22,24,23) 72.147%)}
.wo-home .contact .index-row{position:absolute;left:64px;top:53px;z-index:1}
.wo-home .contact__cta{position:absolute;right:64px;top:512px;width:572px;display:flex;
  flex-direction:column;align-items:flex-start;gap:24px;z-index:1}
.wo-home .contact__cta-txt{display:flex;flex-direction:column;gap:16px}
.wo-home .contact__cta h2{font-weight:700;font-size:clamp(36px, 3.33vw - 4px, 44px);
  line-height:1.2;font-family:'Cormorant Garamond',serif}
.wo-home .contact__cta p{font:400 18px/1.6 'Inter',sans-serif}

/* ===================================================================
   MOBILE (<=767px) — "flow conversion": absolute-positioned desktop
   layouts become static/stacked flex-column blocks instead of having
   their literal px coordinates recalculated per breakpoint.
   =================================================================== */
@media (max-width:767px){

  .wo-home .hero,
  .wo-home .house,
  .wo-home .philosophy,
  .wo-home .editorial,
  .wo-home .split{
    width:100%;
    max-width:100%;
    margin-left:0!important;
  }

  /* ---------- 01 . hero ---------- */
  .wo-home .hero{height:auto;display:flex;flex-direction:column;overflow:visible}
  .wo-home .hero__bg{position:relative;inset:auto;height:440px;overflow:hidden}
  .wo-home .hero__bg img{position:absolute;inset:0;right:auto;top:auto;transform:none;
    width:100%;height:100%;max-width:none;object-fit:cover}
  .wo-home .hotspot,
  .wo-home .hero__card{display:none!important}
  .wo-home .hero__copy{position:static;width:100%;flex-direction:column;align-items:flex-start;
    gap:28px;padding:32px 20px 40px}
  .wo-home .hero__text{width:100%;gap:20px}
  .wo-home .hero__badge{padding:9px 14px;font-size:13px}
  .wo-home .hero__title{width:100%;font-size:34px}
  .wo-home .hero__lead{font-size:16px}
  .wo-home .hero__thumbs{gap:12px}
  .wo-home .thumb{width:56px;height:56px;border-radius:28px}
  .wo-home .thumb__bottle{border-radius:28px}

  /* ---------- 02 . philosophy ---------- */
  .wo-home .philosophy{flex-direction:column;gap:40px;padding:60px 20px}
  .wo-home .philosophy__left{width:100%;gap:32px}
  .wo-home .philosophy__img{width:100%}
  .wo-home .philosophy__right{width:100%;gap:48px}
  .wo-home .philosophy__intro{gap:16px}
  .wo-home .philosophy__intro h2{font-size:30px}
  .wo-home .philosophy__intro p{font-size:16px}
  .wo-home .note{gap:20px;padding:20px 0}
  .wo-home .note__label{width:auto;font-size:15px}
  .wo-home .note__body{gap:10px}
  .wo-home .note__body h3{font-size:24px}
  .wo-home .note__body p{font-size:16px}

  /* ---------- 03 . the house ---------- */
  .wo-home .house{height:auto;display:flex;flex-direction:column}
  .wo-home .house__bg{position:relative;inset:auto;height:420px}
  .wo-home .house__intro{position:static;width:100%;padding:32px 20px 8px}
  .wo-home .house__intro-text{gap:16px}
  .wo-home .house__intro-text h2{font-size:26px}
  .wo-home .house__intro-text p{font-size:16px}
  .wo-home .house__product{position:static;width:100%;padding:24px 20px 40px}
  .wo-home .house__product h3{font-size:26px}
  .wo-home .house__product p{font-size:16px}

  /* ---------- 04 . editorial tiles ---------- */
  .wo-home .editorial{flex-direction:column;padding:60px 20px;gap:48px}
  .wo-home .editorial__left{width:100%;margin-right:0;gap:32px}
  .wo-home .editorial__head{gap:20px}
  .wo-home .editorial__head .titles{gap:10px}
  .wo-home .editorial__head .titles .sub{font-size:24px}
  .wo-home .editorial__head .titles .main{font-size:30px}
  .wo-home .editorial__tile{align-self:stretch}
  .wo-home .editorial__tile-img{width:100%;height:auto;aspect-ratio:446/585}
  .wo-home .editorial__handle{font-size:28px}
  .wo-home .editorial__right{width:100%;align-items:flex-start;gap:32px}
  .wo-home .editorial__photo{width:100%;height:auto;aspect-ratio:557/596}
  .wo-home .editorial__order h3{font-size:26px}
  .wo-home .editorial__order .desc{font-size:16px}

  /* ---------- 05 . our story / 06 . craft ---------- */
  .wo-home .split{gap:48px;padding:60px 20px}
  .wo-home .split__head{flex-direction:column;gap:16px}
  .wo-home .split__head-right{width:100%;gap:12px}
  .wo-home .split__head-right .big{font-size:30px}
  .wo-home .split__head-right .sub,
  .wo-home .split__head-right .sub--serif{font-size:16px}
  .wo-home .split__content{flex-direction:column;gap:32px}
  .wo-home .split__text{width:100%;gap:28px}
  .wo-home .split__block h3{font-size:24px}
  .wo-home .split__block p{font-size:16px}
  .wo-home .split__img{width:100%;height:auto;aspect-ratio:655/745}
  .wo-home .split__cta .txt h3{font-size:24px}

  /* ---------- 07 . instagram + contact ---------- */
  .wo-home .social{padding-top:48px;gap:48px;width:100%}
  .wo-home .social__ig{gap:24px}
  .wo-home .social__ig h2{font-size:28px;padding-left:20px}
  .wo-home .social__strip{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .wo-home .social__strip-inner{position:static;left:auto;top:auto;transform:none;
    width:max-content;padding:0 20px}
  .wo-home .ig-tile{width:220px;height:272px}

  .wo-home .contact{height:auto;min-height:520px;display:flex;flex-direction:column}
  .wo-home .contact__bg{position:absolute;inset:0;width:100%;height:100%;left:0;top:0}
  .wo-home .contact__bg img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
  .wo-home .contact__bg--mirror{display:none}
  .wo-home .contact .index-row{position:relative;left:0;top:0;padding:24px 20px 0}
  .wo-home .contact__cta{position:relative;left:0;top:0;width:100%;padding:32px 20px 48px;gap:20px}
  .wo-home .contact__cta h2{font-size:28px}
  .wo-home .contact__cta p{font-size:16px}
}

/* ===================================================================
   TABLET, two ranges:
   - 768px-1439px: two-column sections (philosophy/editorial/split/
     social) keep their desktop row layout but switch to fluid
     %-based widths so they scale.
   - 768px-1199px only (see the separate media query below): sections
     built around absolutely-positioned text pinned over a background
     image (hero/house/contact) reuse the mobile "flow" pattern at
     larger type. Above 1199px they fall through to the base (desktop)
     rules instead, which are fluid via calc()/clamp() up to the
     1440px canvas cap, so no separate 1200-1439px override is needed
     for them here.
   =================================================================== */
@media (min-width:768px) and (max-width:1439px){

  /* ---------- 02 . philosophy ---------- */
  .wo-home .philosophy{gap:48px;padding:64px 48px}
  .wo-home .philosophy__left{width:38%;gap:32px}
  .wo-home .philosophy__img{width:100%}
  .wo-home .philosophy__right{width:62%;gap:56px}
  .wo-home .philosophy__intro{gap:20px}
  .wo-home .philosophy__intro h2{font-size:36px}
  .wo-home .note{gap:32px}
  .wo-home .note__label{width:76px;font-size:18px;white-space:nowrap}
  .wo-home .note__body h3{font-size:26px}

  /* ---------- 04 . editorial tiles ---------- */
  .wo-home .editorial{padding:80px 48px;gap:32px}
  .wo-home .editorial__left{width:48%;margin-right:0;gap:40px}
  .wo-home .editorial__tile-img{width:100%;height:auto;aspect-ratio:446/585}
  .wo-home .editorial__head .titles .sub{font-size:28px}
  .wo-home .editorial__head .titles .main{font-size:34px}
  .wo-home .editorial__right{width:52%;gap:36px}
  .wo-home .editorial__photo{width:100%;height:auto;aspect-ratio:557/596}

  /* ---------- 05 . our story / 06 . craft ---------- */
  .wo-home .split{gap:56px;padding:80px 48px}
  .wo-home .split__head{flex-direction:column;gap:20px}
  .wo-home .split__head-right{width:100%}
  .wo-home .split__head-right .big{font-size:36px}
  .wo-home .split__content{gap:40px}
  .wo-home .split__text{width:44%}
  .wo-home .split__img{width:52%;height:auto;aspect-ratio:655/745}

  /* ---------- 07 . instagram ---------- */
  .wo-home .social__ig h2{font-size:36px;padding-left:48px}
  .wo-home .social__strip{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .wo-home .social__strip-inner{position:static;left:auto;top:auto;transform:none;
    width:max-content;padding:0 48px}
  .wo-home .ig-tile{width:280px;height:346px}
}

/* ===================================================================
   TABLET, narrow only (768px-1199px): hero/house/contact are built
   around absolutely-positioned text pinned over a background image,
   sized against the 1440px canvas — below 1200px there isn't enough
   room to keep that overlay readable, so these three reuse the mobile
   "flow" pattern at larger type (same treatment the 768-1439px range
   used to give them). From 1200px up they fall through to the base
   (desktop) rules instead, which are fluid via calc()/clamp().
   =================================================================== */
@media (min-width:768px) and (max-width:1199px){

  /* ---------- 01 . hero ---------- */
  .wo-home .hero{height:auto;display:flex;flex-direction:column;overflow:visible}
  .wo-home .hero__bg{position:relative;inset:auto;height:560px;overflow:hidden}
  .wo-home .hero__bg img{position:absolute;inset:0;right:auto;top:auto;transform:none;
    width:100%;height:100%;max-width:none;object-fit:cover}
  .wo-home .hotspot,
  .wo-home .hero__card{display:none!important}
  .wo-home .hero__copy{position:static;width:100%;flex-wrap:wrap;
    align-items:flex-end;gap:32px;padding:48px}
  .wo-home .hero__text{width:auto;flex:1 1 380px;gap:28px;align-items:flex-start}
  .wo-home .hero__title{width:100%;font-size:44px}
  .wo-home .hero__lead{font-size:17px}
  .wo-home .hero__thumbs{gap:14px}
  .wo-home .thumb{width:64px;height:64px;border-radius:32px}
  .wo-home .thumb__bottle{border-radius:32px}

  /* ---------- 03 . the house ---------- */
  .wo-home .house{height:auto;display:flex;flex-direction:column}
  .wo-home .house__bg{position:relative;inset:auto;height:520px}
  .wo-home .house__intro{position:static;width:100%;padding:48px 48px 8px;gap:16px}
  .wo-home .house__intro-text h2{font-size:32px}
  .wo-home .house__product{position:static;width:100%;padding:24px 48px 48px}
  .wo-home .house__product h3{font-size:30px}

  /* ---------- 07 . contact ---------- */
  .wo-home .contact{height:auto;min-height:640px;display:flex;flex-direction:column}
  .wo-home .contact__bg{position:absolute;inset:0;width:100%;height:100%;left:0;top:0}
  .wo-home .contact__bg img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
  .wo-home .contact__bg--mirror{display:none}
  .wo-home .contact .index-row{position:relative;left:0;top:0;padding:32px 48px 0}
  .wo-home .contact__cta{position:relative;left:0;top:0;width:60%;max-width:560px;
    padding:48px 48px 64px;gap:24px}
  .wo-home .contact__cta h2{font-size:36px}
}

