/* Direction V2 : roses affirmés, typographies généreuses, interactions tactiles. */
:root {
  --cream: #fff8f1;
  --paper: #fffdf8;
  --pink: #f194bb;
  --rose: #b62662;
  --dark: #47162d;
  --muted: #694052;
  --line: #dcb2c2;
  --sage: #c9d9ad;
  --sans: 'Outfit', sans-serif;
}
body { font-size: 18px; }
em { color: var(--rose); }
p { line-height: 1.7; }
.eyebrow {
  font: italic 400 21px/1.35 var(--serif);
  letter-spacing: .005em;
  text-transform: none;
  color: #94204c;
  gap: 15px;
}
.eyebrow::before { width: 34px; height: 2px; }
.topline {
  background: #94204c;
  color: #fff8f1;
  font-size: 12px;
  letter-spacing: .1em;
  padding: 9px 16px;
}
.header {
  background: #f5a9c7;
  backdrop-filter: none;
  border-bottom: 1px solid #b6266233;
  box-shadow: 0 4px 22px #7c214711;
}
.nav { height: 112px; gap: 24px; }
.brand { gap: 17px; }
.brand img { width: 75px; height: 99px; object-fit: contain; transition: transform .5s var(--ease); }
.brand:hover img, .brand:focus-visible img { transform: rotate(-7deg) scale(1.06); }
.brand-name { font-size: 29px; }
.brand-name small { font-family: var(--sans); font-size: 10px; letter-spacing: .15em; margin-top: 9px; }
.nav-links { gap: 30px; }
.nav-links>a:not(.button) { font: 400 19px/1.35 var(--serif); padding: 12px 0; }
.nav-links>a:not(.button)::after { height: 2px; background: #a51850; bottom: 4px; }
.nav .button { font-size: 15px; padding: 14px 23px; }
/* Une signature commune pour les liens, sans décaler les éléments voisins. */
.nav-links>a:not(.button), .footer a, .text-link, .breadcrumb a, .legal a,
.contact-item a:not(.button), .faq a, .review-source a {
  position: relative;
  width: fit-content;
  max-width: 100%;
  transform-origin: left center;
  transition: color .3s, transform .35s var(--ease);
  text-decoration: none;
}
.footer a::after, .text-link::after, .breadcrumb a::after, .legal a::after,
.contact-item a:not(.button)::after, .faq a::after, .review-source a::after {
  content: '';
  position: absolute;
  inset: auto 0 -4px;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .4s var(--ease);
  pointer-events: none;
}
.nav-links>a:not(.button):is(:hover,:focus-visible),
.footer a:is(:hover,:focus-visible), .text-link:is(:hover,:focus-visible),
.breadcrumb a:is(:hover,:focus-visible), .legal a:is(:hover,:focus-visible),
.contact-item a:not(.button):is(:hover,:focus-visible), .faq a:is(:hover,:focus-visible),
.review-source a:is(:hover,:focus-visible) {
  color: #9c164c;
  transform: scale(1.045);
}
.footer a:is(:hover,:focus-visible)::after, .text-link:is(:hover,:focus-visible)::after,
.breadcrumb a:is(:hover,:focus-visible)::after, .legal a:is(:hover,:focus-visible)::after,
.contact-item a:not(.button):is(:hover,:focus-visible)::after,
.faq a:is(:hover,:focus-visible)::after, .review-source a:is(:hover,:focus-visible)::after,
.nav-links>a:focus-visible::after { transform: scaleX(1); }
.text-link { border-bottom: 0; font-size: 16px; padding: 4px 0 7px; }
.text-link::before { content:''; position:absolute; inset:auto 0 -4px; height:1px; background:currentColor; opacity:.3; }
.button {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 500;
  background: #a92258;
  border-color: #a92258;
  color: #fffaf4;
  min-height: 57px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 5px 0 #68163b1a;
  transition: background .35s, color .35s, border-color .35s, transform .35s var(--ease), box-shadow .35s;
}
.button::before {
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(110deg,transparent 15%,#fff7 48%,transparent 80%);
  transform:translateX(-140%) skewX(-15deg);
  transition:transform .7s var(--ease);
}
.button:is(:hover,:focus-visible) { background:#7d1743; border-color:#7d1743; color:white; transform:translateY(-4px); box-shadow:0 11px 24px #8f225430; }
.button:is(:hover,:focus-visible)::before { transform:translateX(140%) skewX(-15deg); }
.button:is(:hover,:focus-visible) .arrow { transform:translate(3px,-3px) rotate(8deg); }
.button.outline { border-color:#a92258; color:#8c1949; box-shadow:none; }
.button.outline:is(:hover,:focus-visible) { background:#a92258; color:white; }
.button.light:is(:hover,:focus-visible) { background:#f4b7cf; color:var(--dark); border-color:#f4b7cf; }
.button:active { transform:translateY(0) scale(.98); }
.hero { background:#f8d5e2; }
.hero::after { background:linear-gradient(90deg,#f8d5e2 0%,#f8d5e2 30%,#f8d5e2e8 40%,#f8d5e200 65%); }
.hero .eyebrow { font-size:19px; max-width:580px; }
.hero-description { font-size:18px; max-width:410px; }
.hero-bottom { font-size:12px; letter-spacing:.07em; }
.hero-stamp { border:2px solid #c34b7c; background:#fff9f2; color:#98214e; box-shadow:0 8px 30px #7c214726; }
.hero-scroll { font-size:11px; }
.ribbon { background:#bd326c; color:#fffaf3; border:0; padding:24px 0; }
.ribbon-track { font-size:30px; }
.intro>p { font-size:18px; max-width:610px; }
#envies { background:#f6d3e1; border-block:1px solid #e8abc3; padding-bottom:100px; }
.section-head p { font-size:17px; max-width:360px; }
.product-card {
  background:#fff9f2;
  border:1px solid #dfa3bb;
  border-radius:170px 170px 24px 24px;
  padding:10px 10px 30px;
  box-shadow:0 10px 0 #9c245011,0 18px 35px #80264b0b;
}
.product-card:nth-child(2) { background:#f5b0ca; border-color:#d988a9; }
.product-card:nth-child(3) { background:#e2e8ce; border-color:#bdca9f; }
.product-image { border-radius:160px 160px 12px 12px; }
.product-card h3 { font-size:34px; margin:26px 20px 0; }
.product-card p { font-size:16px; margin:14px 20px 20px; }
.product-card .text-link { font-size:16px; margin-inline:20px; }
.product-tag { background:#fff9f4f5; color:#8b1c47; font:italic 17px var(--serif); padding:9px 18px; }
.product-image:is(:hover,:focus-visible) img { transform:scale(1.085) rotate(-1deg); }
.product-card:has(a:is(:hover,:focus-visible)) { box-shadow:0 12px 0 #9c24501c,0 22px 45px #80264b20; }
.soft-pink { background:#f0acc8; }
.story-small { border-color:#f0acc8; }
.story-copy>p { font-size:18px; }
.story-note { border-color:#ad527580; }
.story-note strong { font-size:27px; }
.story-note small { font-size:12px; letter-spacing:.06em; }
.bubble-section { background:#d3dfb7; border-block:1px solid #a8bb86; }
.bubble-section .eyebrow { color:#4d6432; }
.bubble-step { font-size:17px; }
.bubble-step span { width:37px; height:37px; background:#fff8; color:#3f542c; border-color:#92a872; font-size:13px; }
.review-author { font:400 23px var(--serif); }
.review-source { font-size:13px; }
.visit { background:#df77a3; }
.visit em { color:#71103c; }
.visit .eyebrow { color:#71103c; }
.visit-info .info { border-color:#943359; }
.info h3 { font:italic 23px var(--serif); letter-spacing:0; text-transform:none; }
.info p { font-size:17px; }
.info small { font-size:13px; color:#592239; }
.social-grid button { border-radius:18px; border:3px solid #efb0c8; box-shadow:0 8px 0 #b6266211; transition:transform .4s,box-shadow .4s,border-color .4s; }
.social-grid button::after { background:#fff8f1; color:#9d1c50; height:38px; width:38px; line-height:38px; transition:background .3s,color .3s,transform .4s; }
.social-grid button:is(:hover,:focus-visible) { transform:translateY(-6px) rotate(-1deg); border-color:#a92258; box-shadow:0 16px 25px #a9225826; }
.social-grid button:is(:hover,:focus-visible)::after { transform:rotate(90deg); background:#a92258; color:white; }
.footer {
  background:radial-gradient(ellipse at 0% 100%,#f7c3d8 0%,transparent 50%),linear-gradient(125deg,#f19cbd,#e985ad);
  color:var(--dark);
  border-top:2px solid #bb3d7145;
  padding:75px 0 28px;
}
.footer-logo { gap:20px; }
.footer-logo>img { width:89px; height:116px; }
.footer .brand-name { font-size:32px; }
.footer .brand-name small { font-size:10px; line-height:1.6; }
.footer p { color:#60263e; font-size:17px; max-width:330px; }
.footer h3 { font:italic 26px/1.25 var(--serif); text-transform:none; letter-spacing:-.02em; margin-bottom:25px; }
.footer-links { font-size:17px; gap:15px; }
.footer-links a { font-family:var(--serif); font-size:21px; line-height:1.5; }
.footer-links a[href^="mailto:"] { font:400 16px var(--sans); overflow-wrap:anywhere; }
.footer-social { font-size:16px; gap:22px; }
.footer-bottom { color:#62253e; border-color:#a53b6455; font-size:13px; gap:32px; }
.footer-bottom a { display:inline-block; }
.footer-legal { gap:25px; }
.page-hero { background:radial-gradient(ellipse at top right,#f095bd88,transparent 65%),#f7cadc; border-bottom:1px solid #e2a1bc; }
.page-hero p { font-size:18px; max-width:640px; }
.breadcrumb { font-size:14px; }
.page-carte .page-hero+.section { background:#fae4ed; }
.filter { background:#fffaf5; font-size:17px; padding:12px 25px; border-color:#c47595; transition:background .3s,color .3s,transform .3s,box-shadow .3s; }
.filter[aria-pressed=true] { background:#a92258; border-color:#a92258; box-shadow:0 5px 14px #a9225820; }
.filter:is(:hover,:focus-visible) { background:#7d1743; border-color:#7d1743; color:white; transform:translateY(-3px); box-shadow:0 8px 16px #a9225825; }
.menu-count { font-size:14px; }
.menu-card { border:1px solid #dfa4bc; border-radius:22px; background:#fffaf5; box-shadow:0 8px 0 #a42b5910; }
.menu-card[data-category=sucre] .menu-card-copy { background:#f9cade; }
.menu-card[data-category=boissons] .menu-card-copy { background:#e3eacb; }
.menu-card[data-category=sale] .menu-card-copy { background:#f7dfbe; }
.menu-card-copy { height:100%; padding:28px; }
.menu-card h2 { font-size:32px; }
.menu-card-top { flex-wrap:wrap; gap:8px 15px; }
.price { font:500 20px var(--sans); color:#8b1745; }
.menu-card p, .menu-card ul { font-size:16px; }
.menu-note { font-size:14px; }
.deal { background:#e98ab2; border:1px solid #ce7097; border-radius:20px; }
.deal p { font-size:17px; }
.tea-controls label { font:italic 20px var(--serif); gap:12px; }
.tea-controls select { font:400 17px var(--sans); padding:15px; border-color:#859c61; border-radius:10px; transition:border-color .3s,box-shadow .3s,background .3s; }
.tea-controls select:is(:hover,:focus-visible) { background:#fffdf6; border-color:#526931; box-shadow:0 5px 18px #52693120; }
.tea-result { border-radius:12px; background:#fffaf1; font-size:28px; }
.tea-result small { font:400 14px/1.6 var(--sans); }
.faq summary { font:400 22px/1.4 var(--serif); padding:4px 0; transition:color .3s,transform .35s; transform-origin:left; }
.faq summary:is(:hover,:focus-visible) { color:#a92258; transform:translateX(6px); }
.faq summary::after { color:#a92258; font:28px var(--sans); }
.faq details p { font-size:17px; }
.contact-item h3 { font-size:28px; }
.contact-item p, .contact-item a { font-size:18px; }
.contact-item .button { font-size:16px; }
.map-caption p { font-size:16px; }
.legal p, .legal li { font-size:17px; }
.legal a { color:#96214f; text-decoration:underline; text-underline-offset:4px; }
.legal .notice { background:#f6d6e3; }
.lightbox button { font-size:16px; padding:11px 23px; transition:background .3s,transform .3s; }
.lightbox button:is(:hover,:focus-visible) { background:#b62662; transform:scale(1.04); }
.lightbox p { font-size:16px; }
.motion-toggle { height:44px; width:44px; border-color:#a92258; color:#a92258; background:#fff8f1; transition:transform .3s,background .3s,color .3s; }

.menu-toggle { transition:background .3s,color .3s; border-radius:24px; }
.menu-toggle:is(:hover,:focus-visible) { background:#fff7; color:#8b1745; }
@media(max-width:1200px) and (min-width:1101px) {
  .nav-links{gap:20px}.nav-links>a:not(.button){font-size:18px}.brand-name{font-size:25px}.brand{gap:12px}.nav .button{padding:13px 18px;font-size:14px}
}
@media(max-width:1100px) {
  html{scroll-padding-top:110px}
  .nav{height:96px}.brand img{width:65px;height:85px}.brand-name{font-size:27px}
  .menu-toggle{display:flex;font:400 20px var(--serif);padding:12px 16px}
  .nav-links{display:none;position:absolute;top:96px;left:0;right:0;padding:24px 32px 32px;background:#f7bed5;border-bottom:1px solid #bc6288;box-shadow:0 20px 30px #6a1e3c20;align-items:stretch;gap:5px}
  .nav-links.open{display:flex;flex-direction:column;animation:page-enter .3s ease}
  .nav-links>a:not(.button){font-size:25px;padding:12px 5px;width:fit-content}
  .nav-links .button{margin-top:15px;width:fit-content}
  .footer-top{gap:35px}.footer .brand-name{font-size:27px}.footer-links a{font-size:19px}
}
@media(max-width:800px) {
  .eyebrow{font-size:19px}.hero .eyebrow{font-size:17px;max-width:390px}
  .hero::after{background:linear-gradient(180deg,#f8d5e2 0%,#f8d5e2 45%,#f8d5e200 66%)}
  .hero-description{font-size:17px;max-width:370px}.hero .button,.hero .text-link{font-size:15px}
  .hero-bottom{font-size:11px}.hero-inner{padding-bottom:345px}.hero{min-height:850px}
  .section-head p{font-size:17px}.product-card{padding:7px 7px 24px;border-radius:120px 120px 20px 20px}
  .product-card h3{font-size:28px;margin-inline:13px}.product-card p,.product-card .text-link{font-size:15px;margin-inline:13px}
  .product-tag{font-size:14px;padding:7px 12px}.story-copy>p{font-size:17px}.story-note small{font-size:11px}
  .visit-info .info p{font-size:16px}.info small{font-size:12px}.footer-top{grid-template-columns:1fr 1fr}
  .footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{grid-column:auto}.footer-links{font-size:16px}
  .footer-links a{font-size:21px}.footer h3{font-size:25px}.footer-bottom{font-size:13px}
  .menu-card-copy{padding:22px}.menu-card h2{font-size:29px}.menu-card p,.menu-card ul{font-size:16px}.deal p{font-size:16px}
  .page-hero p{font-size:17px}.footer-logo>img{width:80px;height:105px}
}
@media(max-width:520px) {
  body{font-size:17px}.wrap{width:calc(100% - 36px)}
  .topline{font-size:9px;letter-spacing:.045em;padding:8px 12px}
  .nav{height:91px;gap:10px}.brand img{width:61px;height:80px}.brand{gap:11px}.brand-name{font-size:23px}
  .brand-name small{font-size:8px;letter-spacing:.06em}.menu-toggle{font-size:17px;padding:11px 6px;gap:8px}.nav-links{top:91px;padding-inline:24px}
  .hero h1{font-size:clamp(39px,12vw,56px)}.hero .eyebrow{font-size:16px;gap:10px;margin-bottom:24px;max-width:325px}.hero .eyebrow::before{width:22px;flex-shrink:0}
  .hero .actions{gap:19px}.hero .button{padding:13px 20px}.hero .text-link{font-size:15px}.hero-description{font-size:17px;max-width:345px}
  .hero-bottom{font-size:10px;flex-wrap:wrap;row-gap:6px;letter-spacing:.03em;max-width:340px}
  .hero-art{height:330px}.hero::after{background:linear-gradient(180deg,#f8d5e2 0%,#f8d5e2 48%,#f8d5e200 72%)}
  .hero-stamp{bottom:18px;right:20px}.hero-inner{padding-top:34px;padding-bottom:325px}.hero{min-height:790px}
  .button{font-size:16px;min-height:54px}.intro>p{font-size:17px}.ribbon-track{font-size:25px}
  #envies{padding-bottom:65px}.product-card{padding:9px 9px 28px;border-radius:170px 170px 22px 22px}
  .product-card h3{font-size:33px;margin-inline:18px}.product-card p,.product-card .text-link{font-size:17px;margin-inline:18px}.product-tag{font-size:17px;padding:8px 16px}
  .story-note{flex-wrap:wrap;gap:20px}.story-note strong{font-size:25px}.story-note small{font-size:12px}
  .visit-info{grid-template-columns:1fr;gap:25px}.info h3{font-size:24px}.visit-info .info p{font-size:18px}.info small{font-size:14px}
  .review-source{font-size:13px;max-width:320px}.social-grid button{border-radius:12px;border-width:2px}
  .footer-top{grid-template-columns:1fr;gap:38px;padding-bottom:40px}.footer-top>div{grid-column:1!important}.footer h3{font-size:27px;margin-bottom:18px}
  .footer p{font-size:17px;max-width:350px}.footer-links{font-size:17px;gap:14px}.footer-links a{font-size:23px}.footer-links a[href^="mailto:"]{font-size:17px}
  .footer .brand-name{font-size:27px}.footer-logo{gap:14px}.footer-logo>img{width:76px;height:100px}.footer .brand-name small{font-size:9px;max-width:190px}
  .footer-social{font-size:16px;gap:20px}.footer-bottom{font-size:13px;gap:24px}.footer-legal{gap:18px}
  .filter{font-size:16px;padding:11px 18px}.menu-count{font-size:14px}.menu-card-copy{padding:25px}.menu-card h2{font-size:32px}
  .menu-card p,.menu-card ul{font-size:17px}.price{font-size:21px}.menu-note{font-size:14px}.deal{padding:26px;gap:18px}.deal .eyebrow{font-size:17px}
  .deal h3{font-size:28px}.deal p{font-size:16px}.tea-result{font-size:25px}.faq summary{font-size:22px}.faq details p{font-size:17px}
  .contact-item p,.contact-item a{font-size:17px}.legal p,.legal li{font-size:17px}.legal h2{font-size:31px}.page-hero p{font-size:17px}
}
@media(max-width:360px) {
  .brand-name{font-size:20px}.brand img{width:52px;height:70px}.brand{gap:8px}.brand-name small{font-size:7px}.menu-toggle{font-size:16px;gap:6px}
  .hero-bottom{font-size:10px}.hero .actions{flex-direction:column;align-items:flex-start}.footer .brand-name{font-size:24px}.footer-logo{gap:12px}
}
@media(prefers-reduced-motion:reduce) {
  .button,.footer a,.nav-links a,.text-link,.social-grid button,.filter{transition:none}
}
.menu-card{display:flex;flex-direction:column}
.menu-card[hidden]{display:none}
.menu-card-copy{height:auto;flex:1}
@media(min-width:375px) and (max-width:520px) {
  .hero .button{gap:16px;padding-inline:16px}
  .hero .text-link{gap:8px;font-size:14px}
  .hero .actions{gap:16px}
}


/* V4 : respiration blanche entre la section rose validée et le footer rose. */
.boutique-interlude{background:var(--paper);padding:76px 0 82px;border-top:1px solid #f4dce6}
.interlude-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:75px}
.interlude-copy h2{font-size:clamp(36px,3.5vw,51px)}
.interlude-copy p{font-size:17px;max-width:400px;margin-top:22px}
.interlude-copy .actions{gap:18px 28px}
.interlude-copy .text-link{font-size:16px}
.interlude-photos{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.interlude-photos figure{margin:0}
.interlude-photos figure:nth-child(2){margin-top:35px}
.interlude-photos img{width:100%;height:260px;object-fit:cover;border-radius:95px 95px 12px 12px}
.interlude-photos figcaption{font:italic 17px/1.5 var(--serif);color:#94204c;margin-top:14px}
@media(max-width:1000px){.interlude-grid{gap:35px}.interlude-photos{gap:16px}.interlude-photos img{height:230px}.interlude-copy .actions{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.boutique-interlude{padding:58px 0 62px}.interlude-grid{grid-template-columns:1fr;gap:38px}.interlude-copy p{max-width:500px}.interlude-copy h2{font-size:39px}.interlude-photos img{height:240px}}
@media(max-width:380px){.interlude-photos img{height:195px}.interlude-photos figcaption{font-size:16px}}

/* V5 — détails, langues et apparitions individuelles. */
.tea-controls select {
  appearance:none;-webkit-appearance:none;
  padding-right:50px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%237a3453' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:18px 18px;background-position:right 18px center;
  width:100%;min-width:0;cursor:pointer;
}
.tea-controls>label{min-width:0}
.tea-controls select:focus-visible{outline:3px solid #b6266255;outline-offset:3px;border-color:#a92258}
.hero-stamp{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px 8px;aspect-ratio:1;box-sizing:border-box}
.hero-stamp strong{font-size:27px;line-height:1.02;max-width:100%;text-align:center;letter-spacing:-.035em}
.hero-stamp small{font-size:7px;line-height:1.2;letter-spacing:.1em;margin:0;position:static}
.language-switch{position:relative;flex-shrink:0;order:3;z-index:22}
.language-toggle{display:flex;align-items:center;justify-content:center;gap:6px;min-width:64px;height:46px;padding:0 11px;background:#fff8f1;color:#7d1743;border:1px solid #c7648e;border-radius:50%;font:500 13px var(--sans);cursor:pointer;transition:background .3s,box-shadow .3s,transform .35s}
.language-toggle svg{fill:none;stroke:currentColor;stroke-width:1.3}
.language-toggle:is(:hover,:focus-visible){background:#a92258;color:#fff8f1;transform:translateY(-2px);box-shadow:0 7px 15px #7d174324}
.language-toggle[aria-expanded=true]{background:#a92258;color:#fff8f1}
.language-panel{position:absolute;right:0;top:calc(100% + 16px);width:204px;padding:12px;background:#fff8f1;border:1px solid #e0a1bc;box-shadow:0 20px 45px #68163b30;border-radius:25px 8px 25px 25px;transform-origin:calc(100% - 28px) -8px;opacity:0;transform:scale(.16) translateY(-14px);visibility:hidden;pointer-events:none;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .25s,visibility 0s .4s}
.language-panel::before{content:'';position:absolute;right:25px;top:-6px;width:10px;height:10px;background:#fff8f1;border-top:1px solid #e0a1bc;border-left:1px solid #e0a1bc;transform:rotate(45deg)}
.language-panel>a{display:flex;align-items:center;justify-content:space-between;gap:16px;font:400 21px var(--serif);padding:13px 15px;border-radius:16px;color:#601b39;opacity:0;transform:translateY(-9px);transition:opacity .16s,transform .2s,background .2s,color .2s}
.language-panel>a>span{font:500 11px var(--sans);letter-spacing:.08em;opacity:.65}
.language-panel>a[aria-current=true]{background:#f7d4e2}
.language-panel>a:is(:hover,:focus-visible){background:#a92258;color:white;transform:translateX(3px)}
.language-switch.open .language-panel{visibility:visible;opacity:1;transform:scale(1) translateY(0);pointer-events:auto;transition:transform .52s cubic-bezier(.2,.85,.22,1.12),opacity .25s,visibility 0s}
.language-switch.open .language-panel>a{opacity:1;transform:translateY(0);transition-delay:.1s, .1s, 0s, 0s}
.language-switch.open .language-panel>a:nth-child(2){transition-delay:.16s,.16s,0s,0s}
.language-switch.open .language-panel>a:nth-child(3){transition-delay:.22s,.22s,0s,0s}
.enhanced-motion .menu-card{animation:none}
.enhanced-motion .entrance-pending{opacity:0;translate:0 22px}
.no-motion .entrance-pending{opacity:1;translate:none}
[data-entrance]{scroll-margin-top:130px}
html[lang=de] .hero h1{font-size:clamp(48px,6.2vw,90px)}
html[lang=de] .hero-stamp strong,html[lang=en] .hero-stamp strong{font-size:26px}
html[lang=de] .hero-description{max-width:440px}
html[lang=de] .nav-links>a:not(.button){font-size:18px}
.footer-legal{flex-wrap:wrap}
.footer-social{flex-wrap:wrap}
@media(min-width:1201px){.nav{gap:20px}.nav-links{gap:24px}.nav-links>a:not(.button){white-space:nowrap}.nav .brand{flex-shrink:0}.nav .brand-name{font-size:27px}.nav .button{padding-inline:19px}}
@media(max-width:1200px){
 .nav{height:96px;gap:14px}.brand img{width:65px;height:85px}.brand-name{font-size:27px}
 .language-switch{order:2;margin-left:auto}.menu-toggle{order:3;display:flex;font:400 20px var(--serif);padding:12px 10px;margin-left:0}
 .nav-links{display:none;position:absolute;top:96px;left:0;right:0;padding:24px 32px 32px;background:#f7bed5;border-bottom:1px solid #bc6288;box-shadow:0 20px 30px #6a1e3c20;align-items:stretch;gap:5px}
 .nav-links.open{display:flex;flex-direction:column;animation:page-enter .3s ease}
 .nav-links>a:not(.button),html[lang=de] .nav-links>a:not(.button){font-size:25px;padding:12px 5px;width:fit-content}
 .nav-links .button{margin-top:15px;width:fit-content}
 .hero-stamp{width:112px;height:112px;gap:5px}
 .hero-stamp strong,html[lang=de] .hero-stamp strong,html[lang=en] .hero-stamp strong{font-size:25px}
 .hero-stamp small{font-size:6px}
}
@media(max-width:800px){.hero-stamp{width:104px;height:104px}.hero-stamp strong,html[lang=de] .hero-stamp strong,html[lang=en] .hero-stamp strong{font-size:23px}html[lang=de] .hero h1{font-size:clamp(44px,7.6vw,65px)}}
@media(max-width:520px){
 .nav{height:91px;gap:8px}.brand{gap:8px}.brand img{width:52px;height:72px}.brand-name{font-size:20px}.brand-name small{font-size:7px;letter-spacing:.03em;max-width:155px}
 .language-toggle{min-width:44px;width:44px;height:40px;padding:0;font-size:12px;gap:3px}.language-toggle svg{display:none}.language-panel{right:-46px;width:190px}
 .language-panel::before{right:59px}.language-panel{transform-origin:calc(100% - 64px) -8px}
 .menu-toggle{font-size:16px;padding:12px 2px;gap:6px}.menu-icon{width:20px}.nav-links{top:91px;padding-inline:24px}
 .hero-stamp{width:100px;height:100px;padding:12px 6px;right:22px;bottom:24px}.hero-stamp strong,html[lang=de] .hero-stamp strong,html[lang=en] .hero-stamp strong{font-size:23px}
 html[lang=de] .hero h1{font-size:clamp(37px,10.5vw,54px)}
 .tea-controls select{padding-right:44px;background-position:right 15px center}
 .hero .actions{flex-wrap:wrap}.footer .brand-name small{max-width:180px}
}
@media(max-width:380px){.brand-name{font-size:18px}.brand img{width:43px;height:63px}.brand-name small{font-size:6.5px;max-width:125px}.nav{gap:5px}.language-toggle{width:38px;min-width:38px;height:38px}.menu-toggle{font-size:15px}.menu-icon{width:17px}.hero h1{font-size:clamp(36px,11.6vw,44px)}}
@media(prefers-reduced-motion:reduce){.language-panel,.language-panel>a,.language-toggle{transition:none!important}.entrance-pending{opacity:1!important;translate:none!important}}
/* Long German compounds and the narrowest phone widths. */
.legal h2{hyphens:auto;overflow-wrap:anywhere}
@media(max-width:360px){.nav .brand-name{font-size:17px}.nav .brand{gap:6px}.page-hero h1{font-size:42px}html[lang=de] .page-hero h1{font-size:40px}}
