/* Atelier v2: one scoped layer over the existing Botanical Duo design. */
.atelier-page{--atelier-muted:#49614e;--atelier-soft:#eef3e2;min-width:0}
.atelier-page .section-shell{max-width:1280px}
.atelier-page section{scroll-margin-top:24px}
.atelier-page h1,.atelier-page h2,.atelier-page h3{text-wrap:balance}
.atelier-page p{text-wrap:pretty}
.atelier-page a{touch-action:manipulation}
.atelier-page-text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;padding-block:8px;font-size:15px;line-height:1.5;font-weight:700;text-underline-offset:5px}
.atelier-page-text-link>span{flex:0 0 auto}
.atelier-page .dark-button,.atelier-page .light-button{max-width:100%;min-height:56px;padding:16px 25px;font-size:16px;transition:background-color .18s ease}

/* Raster artwork with one short entrance; its final position is still. */
.atelier-page-hero{overflow:hidden;padding:20px 0 60px;background:var(--paper) url('../images/botanical-duo-background-web-q85.webp') center 56%/cover no-repeat}
.atelier-page-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto auto;align-items:center;gap:0 24px}
.atelier-page-intro{grid-column:1;grid-row:1;align-self:end;min-width:0;padding-top:4px}
.atelier-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:26px;color:var(--atelier-muted);font-size:12px;line-height:1.5}
.atelier-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.atelier-page-intro>.eyebrow{font-size:12px;letter-spacing:.07em}
.atelier-page-intro h1{margin-top:19px;font-size:clamp(46px,5.5vw,78px);line-height:1.035;letter-spacing:-.06em}
.atelier-page-hero-copy{grid-column:1;grid-row:2;align-self:start;min-width:0;padding-bottom:22px}
.atelier-page-lead{max-width:50ch;margin-top:24px;font-size:18px;line-height:1.65}
.atelier-page-stroller-note{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:14px;margin-top:24px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--atelier-soft);text-align:left}
.atelier-page-stroller-note>img{width:48px;height:48px;object-fit:contain}
.atelier-page-stroller-note h2{margin:0;font-size:19px;line-height:1.3;letter-spacing:0}
.atelier-page-stroller-note p{margin-top:7px;font-size:15px;line-height:1.6}
.atelier-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:25px}
.atelier-page-booking-note{margin-top:11px;font-size:13px;line-height:1.6}
.atelier-page-hero-art{grid-column:2;grid-row:1/3;position:relative;isolation:isolate;align-self:center;width:100%;max-width:650px;aspect-ratio:4/3;justify-self:center;margin-top:38px}
.atelier-page-facade{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;animation:atelier-arrive 1.35s cubic-bezier(.2,.7,.25,1) 1 both}
.atelier-page-balloons{position:absolute;z-index:2;top:-4%;right:0;width:23%;height:auto;aspect-ratio:2/3;object-fit:contain;transform-origin:50% 90%;animation:atelier-balloon-arrive 4.5s ease-out 1 both;pointer-events:none}
@keyframes atelier-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes atelier-balloon-arrive{0%{opacity:0;transform:translateY(18px) rotate(-5deg)}22%{opacity:1;transform:translateY(-5px) rotate(4deg)}48%{transform:translateY(1px) rotate(-2.5deg)}72%{transform:translateY(-2px) rotate(1.4deg)}100%{opacity:1;transform:translateY(0) rotate(0)}}

.atelier-page-details{padding-block:76px 82px}
.atelier-page-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:30px 80px}
.atelier-page-section-heading h2,.atelier-page-faq h2{margin-top:17px;font-size:clamp(36px,3.8vw,56px);line-height:1.07;letter-spacing:-.05em}
.atelier-page-section-heading>p,.atelier-page-food-copy>p{max-width:50ch;font-size:17px;line-height:1.7}
.atelier-page-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:38px 0 0}
.atelier-page-facts>div{min-width:0;padding:25px 25px 28px;border-radius:24px;background:var(--atelier-soft);text-align:center}
.atelier-page-facts>div:nth-child(3n + 2){background:#f1f4d9}
.atelier-page-facts dt{font-size:26px;font-weight:700;line-height:1.2;letter-spacing:-.035em}
.atelier-page-facts dt>img{width:124px;height:124px;object-fit:contain;margin:0 auto 15px}
.atelier-page-facts dt>span{display:block}
.atelier-page-facts dd{max-width:31ch;margin:13px auto 0;color:var(--atelier-muted);font-size:16px;line-height:1.65}

.atelier-page-look{padding-block:68px;background:var(--pistachio)}
.atelier-page-look-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:80px;max-width:1080px!important}
.atelier-page-look-copy{max-width:580px}
.atelier-page-look-copy h2{margin-top:18px;font-size:clamp(46px,5vw,72px);line-height:1.04;letter-spacing:-.06em}
.atelier-page-look-copy>p:not(.eyebrow){max-width:44ch;margin-top:25px;font-size:18px;line-height:1.7}
.atelier-page-look-copy .atelier-page-text-link{margin-top:22px}
.atelier-page-film{width:100%;max-width:295px;justify-self:center}
.atelier-page-film video{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:24px;background:var(--paper);box-shadow:0 18px 40px -25px #203f2e66}
.atelier-page-film figcaption{margin-top:13px;color:var(--atelier-muted);font-size:12px;line-height:1.5;text-align:center}

.atelier-page-food{padding-block:80px;background:var(--paper)}
.atelier-page-food-icon{width:72px;height:72px;object-fit:contain;margin-bottom:18px}
.atelier-page-food-copy .atelier-page-text-link{margin-top:12px}
.atelier-page-dishes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:36px}
.atelier-page-dishes figure{min-width:0;border-radius:23px;overflow:hidden;background:var(--atelier-soft)}
.atelier-page-dishes img{width:100%;height:auto;aspect-ratio:4/4.5;object-fit:cover;object-position:center 65%}
.atelier-page-dishes figcaption{padding:23px 24px 26px}
.atelier-page-dishes strong{display:block;font-size:27px;line-height:1.2;letter-spacing:-.04em}
.atelier-page-dishes figcaption span{display:block;margin-top:8px;color:var(--atelier-muted);font-size:15px;line-height:1.6}
.atelier-page-food-note{margin-top:27px;max-width:76ch;font-size:15px;line-height:1.65;color:var(--atelier-muted)}
.atelier-page-visit{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:72px;padding-block:0 80px}
.atelier-page-reserve{padding:38px;border-radius:26px;background:var(--ink);color:var(--paper)}
.atelier-page-reserve>img{width:80px;height:80px;object-fit:contain;margin-bottom:20px}
.atelier-page-reserve>.eyebrow{color:var(--pistachio)}
.atelier-page-reserve h2{margin-top:18px;font-size:clamp(34px,3.1vw,46px);line-height:1.08;letter-spacing:-.045em}
.atelier-page-reserve>p:not(.eyebrow){margin-top:22px;font-size:17px;line-height:1.7}
.atelier-page-reserve .light-button{margin-top:26px}
.atelier-page-reserve a:focus-visible{outline-color:var(--yellow)}
.atelier-page-visit-info{min-width:0}
.atelier-page-visit-info h3{font-size:31px;line-height:1.15;margin-top:16px}
.atelier-page-visit-info address{font-style:normal;margin-top:21px;font-size:17px;line-height:1.7}
.atelier-page-visit-info>p:not(.eyebrow){margin-top:16px;font-size:16px;line-height:1.6}
.atelier-page-visit-info>.atelier-page-text-link{margin-top:7px}
.atelier-page-hours{max-width:340px;margin:22px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:16px;line-height:1.6}
.atelier-page-hours>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding-block:4px}
.atelier-page-hours dd{margin:0;white-space:nowrap}
.atelier-page-visit-info>.atelier-page-payment{color:var(--atelier-muted);font-size:14px}
.atelier-page-faq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:75px;padding-block:20px 50px}
.atelier-page-faq>div:first-child>p:not(.eyebrow){margin-top:23px;font-size:16px;line-height:1.65}
.atelier-page-faq .faq-list p{font-size:16px;line-height:1.7}
.atelier-page-faq .faq-list .atelier-page-text-link{margin-top:10px}
.atelier-page-return{padding-bottom:45px}

@media(max-width:1050px){
  .atelier-page-hero-layout{gap:0 20px}
  .atelier-page-intro h1{font-size:clamp(42px,5.7vw,60px)}
  .atelier-page-lead{font-size:17px}
  .atelier-page-section-heading,.atelier-page-look-layout,.atelier-page-visit,.atelier-page-faq{column-gap:38px}
  .atelier-page-facts{gap:18px}
  .atelier-page-facts>div{padding:23px 20px}
  .atelier-page-facts dt{font-size:24px}
  .atelier-page-reserve{padding:30px}
}
@media(max-width:760px){
  .atelier-page-hero{padding:4px 0 38px;background-position:center 35%}
  .atelier-page-hero-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:0;text-align:center}
  .atelier-page-intro{grid-column:1;grid-row:1;padding:0}
  .atelier-breadcrumb{justify-content:center;margin-bottom:13px;font-size:11px}
  .atelier-page-intro>.eyebrow{font-size:10px;letter-spacing:.06em}
  .atelier-page-intro h1{font-size:clamp(38px,8.8vw,62px);line-height:1.04;margin-top:15px}
  .atelier-page-hero-art{grid-column:1;grid-row:2;width:min(100%,530px);margin:15px auto 7px}
  .atelier-page-balloons{top:-2%;right:0;width:22%}
  .atelier-page-hero-copy{grid-column:1;grid-row:3;padding:0}
  .atelier-page-lead{max-width:49ch;margin:0 auto;font-size:16px;line-height:1.65}
  .atelier-page-stroller-note{max-width:49ch;margin:20px auto 0;padding:16px;gap:12px}
  .atelier-page-actions{justify-content:center;margin-top:21px;gap:5px 18px}
  .atelier-page-actions .dark-button{width:auto;min-width:260px}
  .atelier-page-booking-note{margin-top:8px;font-size:12px}
  .atelier-page-details{padding-block:49px 52px}
  .atelier-page-section-heading{grid-template-columns:minmax(0,1fr);gap:21px}
  .atelier-page-section-heading h2,.atelier-page-faq h2{font-size:clamp(34px,7vw,44px);margin-top:14px}
  .atelier-page-section-heading>p,.atelier-page-food-copy>p{font-size:16px}
  .atelier-page-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:29px}
  .atelier-page-facts>div{padding:17px 15px 20px;border-radius:20px}
  .atelier-page-facts dt{font-size:21px;line-height:1.2}
  .atelier-page-facts dt>img{width:96px;height:96px;margin-bottom:13px}
  .atelier-page-facts dd{margin-top:10px;font-size:14px;line-height:1.6;hyphens:auto}
  .atelier-page-look{padding-block:48px}
  .atelier-page-look-layout{grid-template-columns:minmax(0,1fr);gap:27px}
  .atelier-page-look-copy h2{font-size:46px;margin-top:16px}
  .atelier-page-look-copy>p:not(.eyebrow){font-size:16px;margin-top:19px}
  .atelier-page-look-copy .atelier-page-text-link{margin-top:14px}
  .atelier-page-film{max-width:270px}
  .atelier-page-film video{border-radius:20px}
  .atelier-page-food{padding-block:52px}
  .atelier-page-food-icon{width:60px;height:60px;margin-bottom:15px}
  .atelier-page-dishes{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:24px}
  .atelier-page-dishes figure{border-radius:17px}
  .atelier-page-dishes figcaption{padding:17px 15px 19px}
  .atelier-page-dishes strong{font-size:23px}
  .atelier-page-dishes figcaption span{font-size:14px;margin-top:7px}
  .atelier-page-food-note{margin-top:23px;font-size:14px}
  .atelier-page-visit{grid-template-columns:minmax(0,1fr);gap:36px;padding-block:0 52px}
  .atelier-page-reserve{padding:28px;border-radius:22px}
  .atelier-page-reserve>img{width:65px;height:65px;margin-bottom:16px}
  .atelier-page-reserve h2{font-size:36px}
  .atelier-page-reserve>p:not(.eyebrow){font-size:16px;line-height:1.65;margin-top:19px}
  .atelier-page-visit-info{padding-inline:8px}
  .atelier-page-visit-info h3{font-size:28px}
  .atelier-page-faq{grid-template-columns:minmax(0,1fr);gap:25px;padding-block:12px 30px}
  .atelier-page-faq>div:first-child>p:not(.eyebrow){margin-top:18px}
  .atelier-page-faq .faq-list p{font-size:15px}
  .atelier-page-faq .faq-list summary{font-size:16px}
  .atelier-page-return{padding-bottom:28px}
}
@media(max-width:570px){
  .atelier-page-dishes{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:380px){
  .atelier-page-intro h1{font-size:36px}
  .atelier-page .dark-button,.atelier-page .light-button{font-size:15px;padding-inline:19px}
  .atelier-page-actions .dark-button{min-width:0;width:100%}
  .atelier-page-facts{gap:12px}
  .atelier-page-facts>div{padding:15px 12px 18px}
  .atelier-page-facts dt{font-size:18px}
  .atelier-page-facts dt>img{width:86px;height:86px}
  .atelier-page-facts dd{font-size:13px}
  .atelier-page-dishes{gap:13px}
  .atelier-page-dishes figcaption{padding:15px 12px 17px}
  .atelier-page-dishes strong{font-size:20px}
  .atelier-page-dishes figcaption span{font-size:13px}
  .atelier-page-reserve{padding:24px 20px}
  .atelier-page-reserve h2{font-size:32px}
  .atelier-page-reserve .light-button{width:100%}
  .atelier-page-hours{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .atelier-page *,.atelier-page *::before,.atelier-page *::after{scroll-behavior:auto;animation:none!important;transition:none}
  .atelier-page-facade,.atelier-page-balloons{opacity:1;transform:none}
}
