/* Apply the supplied art direction without replacing brand artwork or image layouts. */
:root{--mbg-type:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;--paper:#f8f5f0;--ink:#121214;--ink60:rgba(18,18,20,.6);--ink12:rgba(18,18,20,.12);--ink6:rgba(18,18,20,.06)}
body{-webkit-font-smoothing:antialiased;hyphens:none}
h1,h2,h3{text-wrap:balance;hyphens:none;word-break:normal}
.mommy-intro-request>p,.journey-section .lead,.mamu-request-copy>p{font-size:17px;line-height:1.75;letter-spacing:-.011em;max-width:48ch}
.journey-page .journey-section .lead,.mamu-request-copy>p{max-width:48ch}
.mommy-intro-request>h3,.journey-section h2,.mommy-b2b h2,.mommy-encounter h2{letter-spacing:-.04em;line-height:1.08}
.btn,.wine-early-enquiry .btn,.journey-final .btn{min-height:48px;height:auto;padding:13px 28px;font-size:11px;line-height:1.5;letter-spacing:.16em;font-weight:600;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center}
.intro-grid>div:first-child{grid-column:1/8;min-width:0}
.intro-grid>.copy{grid-column:8/13;min-width:0}
.intro-grid .btn{max-width:100%;white-space:normal;text-align:center}
.journey-section .eyebrow,.mommy-b2b .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.2em;font-weight:600}
.header:not(.header--overlay),.site-header:not(.site-header--overlay){backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.cookie-note{height:auto!important;min-height:56px;background:rgba(248,245,240,.97)!important;color:#121214!important;border-top:1px solid rgba(18,18,20,.12)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.cookie-note p{max-width:none!important;font-size:13px!important;line-height:1.5!important;color:#343438!important}
.cookie-note a{color:#121214!important;text-decoration:underline;text-underline-offset:3px}
.cookie-note button{min-height:44px;height:auto;padding:10px 18px;border:1px solid #121214;background:transparent;color:#121214;font-size:11px;letter-spacing:.12em}
.age-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 40px));max-height:calc(100svh - 40px);overflow:auto;margin:auto;padding:32px;border:1px solid var(--ink12);background:#f8f5f0;color:#121214;box-shadow:0 16px 60px rgba(18,18,20,.12)}
.age-dialog::backdrop{background:rgba(248,245,240,.74);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.age-dialog--fallback{position:fixed;top:50%;left:50%;z-index:10050;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax rgba(20,22,24,.8),0 16px 60px rgba(18,18,20,.3)}
.age-dialog h2{font-family:'Instrument Serif',Georgia,serif!important;font-size:36px;font-weight:400;line-height:1.1;letter-spacing:-.025em;margin:0}
.age-dialog p{font-size:16px;line-height:1.6;margin:16px 0 24px;color:#414147}
.age-dialog__actions{display:flex;flex-wrap:wrap;gap:12px}
.age-dialog button{min-height:48px;padding:12px 22px;border:1px solid #121214;background:transparent;color:#121214;font:600 12px/1.5 Inter,Arial,sans-serif;letter-spacing:.08em;cursor:pointer}
.age-dialog button:first-child{background:#121214;color:#f8f5f0}
.age-dialog button:focus-visible{outline:3px solid #294b60;outline-offset:4px}
@media(max-width:760px){.mommy-intro-request>p,.journey-page .journey-section .lead,.mamu-request-copy>p{font-size:17px;max-width:100%}.cookie-note{padding:14px 20px!important;gap:12px!important}.age-dialog{padding:26px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
/* Reuse the existing notice, including saved consent across DE and EN. */
#mbg-cookie-bar[hidden]{display:none!important}
#mbg-cookie-bar{transform:translateY(100%);transition:transform .5s ease}
#mbg-cookie-bar.is-in{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){#mbg-cookie-bar{transition:none}}

/* Final responsive and editorial refinements. Existing colours, type and journeys stay intact. */
.mommy-intro-request .mommy-intro-motto{transform:translateY(14px)}
.mommy-hero-v44__visual .mommy-hero-slide{inset:0;left:0;width:100%;height:100%;opacity:0;-webkit-mask-image:none!important;mask-image:none!important;animation-duration:9s!important;animation-delay:.35s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:1!important;animation-fill-mode:forwards!important}
.mommy-hero-v44__visual .mommy-hero-v44__mono{opacity:1;animation-name:mommySlideMono!important}
.mommy-hero-v44__visual .mommy-hero-v44__picnic{object-position:center 52%;animation-name:mommySlidePicnic!important}
.mommy-hero-v44__visual .mommy-hero-v44__possibilities{object-position:center;animation-name:mommySlidePossibilities!important}
.mommy-hero-v44__visual .mommy-hero-v44__blue{opacity:0;animation-name:mommySlideBlue!important}
@keyframes mommySlideMono{0%{opacity:1;transform:scale(1.02)}20%{opacity:1;transform:scale(1.065)}27%,100%{opacity:0;transform:scale(1.075)}}
@keyframes mommySlidePicnic{0%,20%{opacity:0;transform:scale(1.025) translateX(-.35%)}27%{opacity:1;transform:scale(1.035) translateX(-.2%)}44%{opacity:1;transform:scale(1.07) translateX(.35%)}51%,100%{opacity:0;transform:scale(1.075) translateX(.45%)}}
@keyframes mommySlidePossibilities{0%,44%{opacity:0;transform:scale(1.025) translateY(.3%)}51%{opacity:1;transform:scale(1.035) translateY(.2%)}68%{opacity:1;transform:scale(1.065) translateY(-.25%)}75%,100%{opacity:0;transform:scale(1.07) translateY(-.35%)}}
@keyframes mommySlideBlue{0%,68%{opacity:0;transform:scale(1.025)}75%{opacity:1;transform:scale(1.035)}100%{opacity:1;transform:scale(1.065)}}

/* Motion direction inspired by contemporary editorial sites, without changing the approved layout. */
@keyframes mbgHeroArrival{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .home-hero__content>div>*{opacity:0;animation:mbgHeroArrival .78s cubic-bezier(.22,1,.36,1) forwards}
  .home-hero__content>div>*:nth-child(1){animation-delay:.12s}
  .home-hero__content>div>*:nth-child(2){animation-delay:.2s}
  .home-hero__content>div>*:nth-child(3){animation-delay:.28s}
  .home-hero__content>div>*:nth-child(4){animation-delay:.36s}
  .home-hero__content>div>*:nth-child(5){animation-delay:.44s}
  .mbg-journey-motion-ready .journey-copy>*:not(.btn),
  .mbg-journey-motion-ready .journey-section>.journey-section__inner>*:not(.btn),
  .mbg-journey-motion-ready .journey-final>*{
    opacity:0;
    transform:translate3d(0,30px,0);
    transition:opacity .78s ease,transform .92s cubic-bezier(.22,1,.36,1);
  }
  .mbg-journey-motion-ready .journey-copy>*:nth-child(2),
  .mbg-journey-motion-ready .journey-section>.journey-section__inner>*:nth-child(2),
  .mbg-journey-motion-ready .journey-final>*:nth-child(2){transition-delay:.08s}
  .mbg-journey-motion-ready .journey-copy>*:nth-child(n+3),
  .mbg-journey-motion-ready .journey-section>.journey-section__inner>*:nth-child(n+3),
  .mbg-journey-motion-ready .journey-final>*:nth-child(n+3){transition-delay:.16s}
  .mbg-journey-motion-ready .is-in-view>.journey-copy>*,
  .mbg-journey-motion-ready .journey-section.is-in-view>.journey-section__inner>*,
  .mbg-journey-motion-ready .journey-final.is-in-view>*{opacity:1;transform:none}
  .mbg-journey-motion-ready .journey-copy>h1,
  .mbg-journey-motion-ready .journey-copy>h2,
  .mbg-journey-motion-ready .journey-section>.journey-section__inner>h2,
  .mbg-journey-motion-ready .journey-section .mamu-request-copy>h3{transform:translate3d(-36px,0,0)}
  .mbg-journey-motion-ready .is-in-view>.journey-copy>h1,
  .mbg-journey-motion-ready .is-in-view>.journey-copy>h2,
  .mbg-journey-motion-ready .journey-section.is-in-view>.journey-section__inner>h2,
  .mbg-journey-motion-ready .journey-section.is-in-view .mamu-request-copy>h3{transform:none}
  .btn,a.btn{transition:transform .32s cubic-bezier(.22,1,.36,1),background-color .32s ease,color .32s ease,border-color .32s ease}
  .btn:hover,a.btn:hover{transform:translateY(-3px)}
}

.age-dialog{
  width:min(760px,calc(100vw - 40px));
  padding:0;
  overflow:hidden;
  border-color:rgba(18,18,20,.16);
  background:#3b3d40;
  color:#f5f5f2;
}
.age-dialog::backdrop{background:rgba(20,22,24,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.age-dialog__visual{height:clamp(220px,38vw,350px);margin:0;overflow:hidden;background:#3b3d40}
.age-dialog__visual img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:grayscale(1) contrast(.94) brightness(.78)!important}
.age-dialog__content{padding:clamp(24px,4vw,42px)}
.age-dialog__content h2{margin:0}
.age-dialog p{color:rgba(245,245,242,.82)}
.age-dialog button{border-color:rgba(245,245,242,.8);color:#f5f5f2}
.age-dialog button:first-child{background:#f5f5f2;color:#202226}
.age-entry-wrap{display:flex;justify-content:flex-start;margin:30px 0 0}
.age-entry-wrap .age-entry{border-color:currentColor;background:transparent;color:inherit;cursor:pointer}
.mommy-category__label>span:first-child{display:none!important}
.mommy-category__panel>h3{display:none!important}
.portfolio-item:nth-child(n+2) .portfolio-copy{left:clamp(22px,5vw,78px)}
.portfolio-item .portfolio-copy .btn{
  box-sizing:border-box;
  width:min(224px,100%);
  height:50px;
  min-height:50px;
  padding:0 20px;
  white-space:nowrap;
  text-align:center;
}
html.age-dialog-open,body.age-dialog-open{overflow:hidden!important;overscroll-behavior:none}
body.age-dialog-open{position:fixed;width:100%}

@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .section{padding:clamp(64px,17vw,92px) 0}
  .section .display,
  .section--soft .display,
  .intro-grid .display{
    max-width:100%;
    font-size:clamp(2.35rem,10.8vw,4.15rem);
    line-height:.98;
    letter-spacing:-.045em;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
  }
  .section .lede{margin-top:28px;font-size:1.08rem;line-height:1.58}
  .section .btn{max-width:100%;min-height:48px;white-space:normal;line-height:1.35;text-align:left}
  .intro-grid .copy{margin-top:32px}
  .intro-grid>div:first-child,.intro-grid>.copy{grid-column:auto}
  .mommy-intro-request .mommy-intro-motto{transform:translateY(10px)}
  .age-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px)}
  .age-dialog__visual{height:190px}
  .age-dialog__content{padding:24px 22px 26px}
  .age-dialog h2{font-size:32px}
  .age-dialog p{margin:13px 0 20px;font-size:15px;line-height:1.55}
  .age-dialog__actions{display:grid;grid-template-columns:1fr}
  .age-dialog button{width:100%}
  .mamu-distinction .mamu-core{font-size:clamp(1.48rem,6.5vw,2.45rem);line-height:1.18}
  .mamu-distinction .mamu-core-detail{margin-top:24px;font-size:1.02rem;line-height:1.62}
}

/* Mobile portfolio alignment: every invitation ends on the same baseline. */
@media(max-width:900px){
  .portfolio-item,
  .portfolio-item:nth-child(even){
    height:max(720px,100svh);
    min-height:max(720px,100svh);
  }
  .portfolio-item .portfolio-copy,
  .portfolio-item:nth-child(even) .portfolio-copy,
  .portfolio-item:first-child .portfolio-copy{
    box-sizing:border-box;
    right:22px!important;
    bottom:0!important;
    left:22px!important;
    width:calc(100% - 44px)!important;
    padding-bottom:40px!important;
  }
  .portfolio-item .portfolio-copy .btn{
    display:flex;
    margin-bottom:0;
  }
}

/* The homepage ends on the footer tone, including mobile browser overscroll. */
html.home-root,
html:has(body.home-page){
  min-height:100%;
  background:#071019!important;
  overscroll-behavior-y:none;
}
body.home-page{
  min-height:0;
  background:#071019!important;
  overscroll-behavior-y:none;
}
body.home-page>main{background:#071019}
body.home-page>.footer{margin:0;padding-bottom:max(24px,calc(14px + env(safe-area-inset-bottom)))!important}

/* Mobile pages end at their content. Prevent inherited viewport/flex heights from
   stretching the footer into an empty scrollable field. */
@media(max-width:760px){
  html.home-root,html.wine-root,html:has(body.mommy-page-v44),html:has(body.mamuoria-body){height:auto!important;min-height:0!important}
  body.home-page,body.wine-galaxy,body.mommy-page-v44,body.mamuoria-body{height:auto!important;min-height:0!important;display:block!important}
  body.home-page>main,body.wine-galaxy>main,body.mommy-page-v44>main,body.mamuoria-body>main{min-height:0!important;flex:none!important}
  body>.footer,body>.site-footer,body>.wine-footer{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    justify-content:stretch!important;
    flex:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:16px 20px max(22px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
  }
  body>.footer nav,body>.site-footer nav,body>.wine-footer nav{align-self:start!important}
  .age-entry-wrap{margin-top:24px}
  .age-entry-wrap .age-entry{width:100%;min-height:50px}
}

/* A restrained moving light pass gives the existing Mommy-Wine photographs
   cinematic energy without replacing or obscuring them. */
@keyframes wineLightPass{
  0%,18%{opacity:0;transform:translate3d(-38%,0,0) skewX(-12deg)}
  28%{opacity:.18}
  48%{opacity:.08;transform:translate3d(42%,0,0) skewX(-12deg)}
  58%,100%{opacity:0;transform:translate3d(65%,0,0) skewX(-12deg)}
}
@media(prefers-reduced-motion:no-preference){
  .wine-galaxy .journey-frame::before{
    content:"";
    position:absolute;
    z-index:1;
    inset:-12% -34%;
    pointer-events:none;
    background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.2) 48%,rgba(210,224,255,.12) 53%,transparent 63%);
    mix-blend-mode:screen;
    animation:wineLightPass 7.5s ease-in-out infinite;
  }
  .wine-galaxy .journey-frame:nth-child(even)::before{animation-delay:1.8s}
  .wine-galaxy .journey-frame>img{will-change:transform;animation:wineCameraDrift 12s ease-in-out infinite alternate}
}
@keyframes wineCameraDrift{from{transform:scale(1.015) translate3d(-.25%,0,0)}to{transform:scale(1.055) translate3d(.25%,-.25%,0)}}

/* Precision pass for the annotated public pages. */
.mamu-distinction .mamu-request-copy .mamu-core{
  max-width:1180px;
  font-size:clamp(2.35rem,4.6vw,5.7rem);
  line-height:1.04;
  font-weight:750;
  letter-spacing:-.045em;
}
.mamu-distinction .mamu-definition{
  max-width:1000px;
  margin-top:clamp(34px,4vw,62px);
  font-size:clamp(1.25rem,2vw,1.8rem);
  line-height:1.55;
}
.mamu-partner .mamu-request-copy>p{max-width:920px;font-size:clamp(1.16rem,1.65vw,1.5rem);line-height:1.65}
.mamu-maternity .lead{max-width:920px}

.partner-page .intro-grid{align-items:start}
.partner-page .intro-grid>div:first-child{min-width:0}
.partner-page .intro-grid .display{font-size:clamp(3rem,6vw,7rem);line-height:.98;overflow-wrap:normal;word-break:normal;hyphens:none}
.partner-page .intro-grid .copy{position:static;align-self:start;margin-top:0}

.about-page .intro-grid{align-items:start}
.about-page .intro-grid .copy{position:static;align-self:start;margin-top:0;padding-top:0}

.news-page{--page-end-tone:#f0ede8;background:#f0ede8}
.news-page .footer{background:#f0ede8!important;color:rgba(18,18,20,.72)!important;border-top:1px solid rgba(18,18,20,.08)!important}
.news-page .footer a:hover{color:#121214}

.legal h1{max-width:100%;font-size:clamp(2.25rem,6.2vw,5.5rem);line-height:1.03;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}

.wine-reveal{
  position:absolute;
  z-index:3;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:40px 22px;
  text-align:center;
  color:#111820;
  background:rgba(244,245,243,.84);
  backdrop-filter:blur(15px);
  opacity:0;
  pointer-events:none;
}
.wine-reveal p,.wine-reveal strong{margin:0;font-size:clamp(1rem,2vw,1.65rem);line-height:1.3;letter-spacing:.08em}
.wine-reveal strong{margin-top:18px;font-size:clamp(1.1rem,2.4vw,2rem);letter-spacing:.03em}
@keyframes wineEditorialReveal{
  0%,16%{opacity:0}
  25%,48%{opacity:1}
  58%,100%{opacity:0}
}
@media(prefers-reduced-motion:no-preference){
  .wine-galaxy .journey-sequence:not(.journey-sequence--evening):not(.journey-sequence--night) .journey-frame.is-in-view .wine-reveal{animation:wineEditorialReveal 12s ease-in-out 1.1s infinite}
  .wine-galaxy .journey-sequence:not(.journey-sequence--evening):not(.journey-sequence--night) .journey-frame:nth-child(2).is-in-view .wine-reveal{animation-delay:3.1s}
}

/* The approved Hamburg hero stays intact; only its light and water reflections move. */
@keyframes homeTorchFlicker{0%,100%{opacity:.28}12%{opacity:.48}18%{opacity:.3}36%{opacity:.56}43%{opacity:.34}68%{opacity:.5}76%{opacity:.31}}
@keyframes homeWaterDrift{from{background-position:0 50%;transform:translate3d(-1.5%,0,0) scaleX(1.03)}to{background-position:120px 50%;transform:translate3d(1.5%,1px,0) scaleX(1.05)}}
.home-page .home-hero__shimmer{animation:torchReflection 3.7s 1s ease-in-out infinite alternate,homeTorchFlicker 2.8s ease-in-out infinite!important}
.home-page .home-hero__frame::after{
  content:"";
  position:absolute;
  z-index:1;
  left:-3%;right:-3%;bottom:0;height:34%;
  pointer-events:none;
  background:repeating-linear-gradient(96deg,transparent 0 24px,rgba(244,187,103,.055) 26px 30px,transparent 34px 58px);
  mix-blend-mode:screen;
  filter:blur(2px);
  animation:homeWaterDrift 6.5s ease-in-out infinite alternate;
}

@media(max-width:760px){
  .mamu-distinction .mamu-request-copy .mamu-core{font-size:clamp(2rem,9vw,3.25rem);line-height:1.08}
  .mamu-distinction .mamu-definition{font-size:1.12rem;line-height:1.58}
  .partner-page .intro-grid .display{font-size:clamp(2.65rem,11.5vw,4.5rem);line-height:1.02}
  .partner-page .intro-grid .copy,.about-page .intro-grid .copy{margin-top:28px}
  .legal h1{font-size:clamp(2.15rem,10vw,4rem);line-height:1.06}
  .wine-reveal{padding:30px 20px}
  .wine-reveal p{font-size:clamp(.9rem,4vw,1.2rem)}
  .wine-reveal strong{font-size:clamp(1rem,4.8vw,1.45rem)}
}
@media(prefers-reduced-motion:reduce){
  .wine-reveal{display:none}
  .home-page .home-hero__frame::after{animation:none}
}

.mommy-intro-v44>div>h2,.mommy-intro-v44__inner>h2{font-weight:800!important}
.wine-welcome,.mamu-welcome{font-weight:750!important}

@media(prefers-reduced-motion:reduce){
  .mommy-hero-v44__visual .mommy-hero-slide{animation:none!important;opacity:0}
  .mommy-hero-v44__visual .mommy-hero-v44__blue{opacity:1}
}

@media(max-width:390px){
  .section .display,.section--soft .display,.intro-grid .display{font-size:clamp(2.15rem,10.2vw,3.5rem)}
}
