:root{--color-background:#fff;--color-background-warm:#f9f7f4;--color-text:#1a1a1a;--color-text-light:#555;--color-border:#1a1a1a;--color-border-light:#e0dcd7;--font-heading:'Playfair Display',Georgia,'Times New Roman',serif;--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem;--max-width:1200px;--max-width-narrow:800px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--color-text);background-color:var(--color-background)}img{max-width:100%;height:auto;display:block}a{color:var(--color-text);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.7}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400;line-height:1.3}h1{font-size:2.5rem}h2{font-size:2rem;margin-bottom:var(--spacing-md)}h3{font-size:1.25rem;margin-bottom:var(--spacing-xs)}p{margin-bottom:var(--spacing-sm)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md)}.container--narrow{max-width:var(--max-width-narrow)}section{padding:var(--spacing-xl) 0}.nav{position:sticky;top:0;background-color:var(--color-background);border-bottom:1px solid var(--color-border-light);padding:var(--spacing-sm) 0;z-index:100}.nav .container{display:flex;justify-content:center;align-items:center;position:relative}.nav__toggle{display:none}.nav__toggle-label{display:none;cursor:pointer;position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);width:28px;height:20px}.nav__toggle-label span,.nav__toggle-label span::before,.nav__toggle-label span::after{display:block;background-color:var(--color-text);height:2px;width:100%;border-radius:2px;position:absolute;transition:all .3s ease}.nav__toggle-label span{top:50%;transform:translateY(-50%)}.nav__toggle-label span::before{content:'';top:-8px}.nav__toggle-label span::after{content:'';top:8px}.nav__list{display:flex;gap:var(--spacing-md);list-style:none;margin:0;padding:0}.nav__item{margin:0}.nav__link{font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text);text-decoration:none;padding:var(--spacing-xs) 0;border-bottom:2px solid transparent;transition:border-color .2s ease,opacity .2s ease}.nav__link:hover{opacity:.7;border-bottom-color:var(--color-border)}.hero{position:relative;text-align:center;padding:var(--spacing-xl) 0;min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);background-size:cover;background-position:center;background-repeat:no-repeat}.hero--with-image{background-image:url('images/hero-couple-sharing-cake.jpg');background-position:center center}.hero--with-image::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.75)}.hero__content{position:relative;z-index:1}.hero__logo{max-width:320px;margin:0 auto var(--spacing-md)}.hero__tagline{font-family:var(--font-heading);font-size:1.75rem;font-weight:400;color:var(--color-text);font-style:italic}.about{background-color:var(--color-background);padding:var(--spacing-lg) 0}.about__content{text-align:center}.about__text{font-size:1.125rem;color:var(--color-text-light);max-width:700px;margin:0 auto}.divider{display:flex;align-items:center;justify-content:center;margin:var(--spacing-md) 0}.divider::before,.divider::after{content:'';width:60px;height:1px;background-color:var(--color-border)}.divider__icon{margin:0 var(--spacing-sm);font-size:1.25rem}.products{background-color:var(--color-background-warm)}.products__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-md)}.product-card{flex:0 1 calc((100% - 2 * var(--spacing-md)) / 3);min-width:260px;max-width:360px;background-color:var(--color-background);border:1px solid var(--color-border-light);padding:var(--spacing-md);text-align:center;transition:box-shadow .2s ease}.product-card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.08)}.product-card__image{position:relative;width:100%;aspect-ratio:1 / 1;background-color:var(--color-background);border:1px solid var(--color-border-light);margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center;overflow:hidden}.product-card__image img{width:100%;height:100%;object-fit:cover}.product-card__placeholder{font-size:3rem;opacity:.3}.product-card__name{font-family:var(--font-heading);font-size:1.25rem;margin-bottom:var(--spacing-xs)}.product-card__german{font-style:italic;color:var(--color-text-light);font-size:.875rem;margin-bottom:var(--spacing-xs)}.product-card__description{font-size:.9rem;color:var(--color-text-light);margin-bottom:0}.also-available{margin-top:var(--spacing-lg);margin-left:auto;margin-right:auto;max-width:var(--max-width-narrow);padding:var(--spacing-md) var(--spacing-md) var(--spacing-lg);background-color:var(--color-background);border:1px solid var(--color-border-light);text-align:center}.also-available__heading{font-family:var(--font-heading);font-size:1.5rem;margin-bottom:var(--spacing-xs)}.also-available__list{list-style:none;padding:0;margin:var(--spacing-md) 0 0}.also-available__item{padding:var(--spacing-sm) 0}.also-available__separator{list-style:none}.also-available__name{font-family:var(--font-heading);font-size:1.1rem;color:var(--color-text)}.also-available__name-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:2px}.also-available__badges{display:flex;flex-direction:row;gap:4px}.also-available__german{display:block;font-style:italic;font-size:.85rem;color:var(--color-text-light);margin-bottom:var(--spacing-xs)}.also-available__description{font-size:.9rem;color:var(--color-text-light);margin:0}.divider--small{margin:var(--spacing-xs) 0}.product-card__badges{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);display:flex;flex-direction:row;gap:6px}.badge-icon{min-width:22px;height:22px;padding:2px 5px;background-color:#e8f5e9;border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:.65rem;font-weight:500;letter-spacing:.02em;color:#2e7d32;cursor:help}.badge-icon--gf-option,.badge-icon--dairy-free-option,.badge-icon--lf-option{border:1px dashed #a5d6a7}.badge-icon--gf,.badge-icon--dairy-free,.badge-icon--lf,.badge-icon--vegan{border:1px solid #a5d6a7}.pantry{background-color:var(--color-background)}.pantry__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-md)}.find-us{background-color:var(--color-background);text-align:center}.find-us__subheading{font-family:var(--font-heading);font-size:1.5rem;margin-bottom:var(--spacing-sm)}.locations-grid+.find-us__subheading,.find-us__options+.find-us__subheading{margin-top:var(--spacing-xl)}.find-us__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md);text-align:left}.find-us__option{border:1px solid var(--color-border-light);background-color:var(--color-background);padding:var(--spacing-md)}.find-us__option-heading{font-family:var(--font-heading);font-size:1.125rem;margin-bottom:var(--spacing-sm)}.find-us__option-text{font-size:.95rem;color:var(--color-text-light);margin-bottom:var(--spacing-xs)}.find-us__option-text:last-child{margin-bottom:0}.find-us__email{color:var(--color-text);font-weight:500}.find-us__social{display:flex;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.social-icon{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);color:var(--color-text);transition:opacity .2s ease,transform .2s ease}.social-icon:hover{opacity:.7;transform:scale(1.05)}.social-icon svg{width:24px;height:24px;flex-shrink:0}.social-icon__text{font-size:1rem;font-weight:500}.locations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-top:var(--spacing-md)}.location-card{border:1px solid var(--color-border-light);background-color:var(--color-background);padding:var(--spacing-md);text-align:left;position:relative}.location-card--upcoming{border-style:dashed}.location-card--upcoming .location-card__name{padding-right:6rem}.location-card__badge{display:inline-block;font-family:var(--font-body);font-size:.65rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-light);border:1px dashed var(--color-border-light);padding:.2em .5em;line-height:1;position:absolute;top:var(--spacing-sm);right:var(--spacing-sm)}.location-card__name{font-family:var(--font-heading);font-size:1.125rem;margin-bottom:var(--spacing-xs)}.location-card__name a{text-decoration:none;color:var(--color-text);transition:opacity .2s ease}.location-card__name a:hover{opacity:.6}.location-card__details{font-size:.9rem;color:var(--color-text-light)}.location-card__map-link{color:var(--color-text-light);text-decoration:underline;text-underline-offset:2px}.wholesale{background-color:var(--color-background-warm);padding:var(--spacing-lg) 0}.wholesale__content{text-align:center}.wholesale__intro{font-size:1.125rem;color:var(--color-text-light);max-width:700px;margin:0 auto var(--spacing-md)}.wholesale__subheading{font-family:var(--font-heading);font-size:1.5rem;margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}.wholesale__benefits{list-style:none;padding:0;margin:0 auto var(--spacing-md);max-width:600px;text-align:left}.wholesale__benefits li{position:relative;padding-left:var(--spacing-md);margin-bottom:var(--spacing-xs);color:var(--color-text-light)}.wholesale__benefits li::before{content:'✿';position:absolute;left:0;color:var(--color-text)}.wholesale__contact-intro{font-size:1rem;color:var(--color-text);margin-bottom:var(--spacing-xs)}.wholesale__contact{margin-top:var(--spacing-sm)}.wholesale__email{font-size:1.125rem;font-weight:500;color:var(--color-text);border-bottom:2px solid var(--color-border);padding-bottom:2px;transition:opacity .2s ease}.wholesale__email:hover{opacity:.7}.footer{background-color:var(--color-background);padding:var(--spacing-md) 0;text-align:center;border-top:1px solid var(--color-border-light)}.footer--warm{background-color:var(--color-background-warm)}.footer__logo{max-height:100px;width:auto;margin:0 auto var(--spacing-sm)}.footer__contact{margin-bottom:var(--spacing-sm)}.footer__social{display:flex;justify-content:center;margin-bottom:var(--spacing-sm)}.footer__email{font-size:1rem;border-bottom:1px solid var(--color-border);padding-bottom:2px}.footer__email:hover{opacity:.7}.footer__copyright{font-size:.8rem;color:var(--color-text-light);margin:0;line-height:1.4}@media(max-width:768px){:root{--spacing-lg:3rem;--spacing-xl:4rem}h1{font-size:2rem}h2{font-size:1.5rem}.nav{padding:var(--spacing-sm) 0}.nav__toggle-label{display:block}.nav .container{min-height:24px;justify-content:center}.nav__list{position:absolute;top:100%;left:0;right:0;flex-direction:column;background-color:var(--color-background);border-bottom:none;padding:0;gap:0;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.nav__toggle:checked ~ .nav__list{max-height:300px;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.nav__toggle:checked+.nav__toggle-label span{background-color:transparent}.nav__toggle:checked+.nav__toggle-label span::before{top:0;transform:rotate(45deg)}.nav__toggle:checked+.nav__toggle-label span::after{top:0;transform:rotate(-45deg)}.nav__item{text-align:center;border-bottom:1px solid var(--color-border-light)}.nav__item:last-child{border-bottom:none}.nav__link{display:block;padding:var(--spacing-sm);font-size:.9rem;border-bottom:none}.nav__link:hover{background-color:var(--color-background);border-bottom:none;opacity:1}.hero{min-height:50vh}.hero__logo{max-width:220px}.hero__tagline{font-size:1.25rem}.about{min-height:50vh;display:flex;align-items:center;padding:var(--spacing-md) 0}.about__text{font-size:1rem}.product-card{flex:0 1 100%;max-width:400px}.wholesale__intro{font-size:1rem}.wholesale__subheading{font-size:1.25rem}.wholesale__benefits{text-align:left;padding:0}.locations-grid{grid-template-columns:1fr}}@media(max-width:480px){:root{--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem}.container{padding:0 var(--spacing-sm)}.header__logo{height:80px}.hero{min-height:50vh}.hero__logo{max-width:180px}.hero__tagline{font-size:1.1rem}.footer__logo{max-height:120px;width:auto}.wholesale__benefits li{font-size:.9rem}}.blog-index{background-color:var(--color-background)}.blog-index__intro{text-align:center;color:var(--color-text-light);font-size:1.125rem;max-width:600px;margin:0 auto var(--spacing-lg)}.blog-index__empty{text-align:center;color:var(--color-text-light);font-style:italic;padding:var(--spacing-lg) 0}.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.blog-recent{background-color:var(--color-background-warm)}.blog-recent__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-md)}.blog-recent__grid .blog-card{flex:0 1 calc((100% - 2 * var(--spacing-md)) / 3);min-width:260px;max-width:360px;background-color:var(--color-background)}.blog-recent__more{text-align:center;margin-top:var(--spacing-lg)}.blog-recent__more a{font-size:.9rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text);border-bottom:2px solid var(--color-border);padding-bottom:2px;transition:opacity .2s ease}.blog-recent__more a:hover{opacity:.7}.blog-recent__empty{text-align:center;color:var(--color-text-light);font-style:italic;padding:var(--spacing-md) 0}.blog-card{border:1px solid var(--color-border-light);background-color:var(--color-background);transition:box-shadow .2s ease}.blog-card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.08)}.blog-card__link{display:flex;flex-direction:column;color:inherit;text-decoration:none;height:100%}.blog-card__link:hover{opacity:1}.blog-card__image{width:100%;aspect-ratio:3 / 2;overflow:hidden;border-bottom:1px solid var(--color-border-light)}.blog-card__image img{width:100%;height:100%;object-fit:cover}.blog-card__content{padding:var(--spacing-md);flex:1;display:flex;flex-direction:column}.blog-card__meta{font-size:.8rem;color:var(--color-text-light);margin-bottom:var(--spacing-xs)}.blog-card__date{text-transform:uppercase;letter-spacing:.05em}.blog-card__author{color:var(--color-text-light)}.blog-card__title{font-family:var(--font-heading);font-size:1.25rem;line-height:1.3;margin-bottom:var(--spacing-xs)}.blog-card__excerpt{font-size:.95rem;color:var(--color-text-light);margin-bottom:0;flex:1}.blog-header{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.blog-header .container{display:flex;justify-content:space-between;align-items:center}.blog-header__back{font-size:.9rem;color:var(--color-text-light)}.blog-header__logo{max-height:70px;width:auto}.blog-post{background-color:var(--color-background-warm);padding:var(--spacing-lg) 0}.blog-post__header{text-align:center;margin-bottom:var(--spacing-md)}.blog-post__header .divider{margin:var(--spacing-sm) 0}.blog-post__title{font-family:var(--font-heading);font-size:2.5rem;line-height:1.2;margin-bottom:var(--spacing-xs)}.blog-post__meta{font-size:.9rem;color:var(--color-text-light)}.blog-post__date{color:var(--color-text-light)}.blog-post__author{color:var(--color-text-light)}.blog-post__featured-image{position:relative;max-width:100%;margin:0 auto var(--spacing-lg);overflow:hidden;border:1px solid var(--color-border-light)}.blog-post__pin{position:absolute;top:8px;left:8px;background-color:#e60023;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border-radius:4px;opacity:0;transition:opacity .2s ease;z-index:2;text-decoration:none}.blog-post__pin:hover{opacity:1}.blog-post__featured-image:hover .blog-post__pin{opacity:1}.blog-post__featured-image img{width:100%;height:auto;object-fit:cover}.blog-post__content h2{font-size:1.5rem;margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);text-align:left}.blog-post__content h3{font-size:1.2rem;margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs);text-align:left}.blog-post__content p{font-size:1.05rem;color:var(--color-text);margin-bottom:var(--spacing-sm);line-height:1.8;text-align:left}.blog-post__content a{color:var(--color-text);text-decoration:underline;text-underline-offset:2px}.blog-post__content a:hover{opacity:.7}.blog-post__content ul,.blog-post__content ol{margin:0 0 var(--spacing-sm) var(--spacing-md);color:var(--color-text);line-height:1.8}.blog-post__content li{margin-bottom:var(--spacing-xs)}.blog-post__content blockquote{border-left:3px solid var(--color-border-light);margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-light);font-style:italic}.blog-post__content blockquote p{margin-bottom:0;color:inherit}.blog-post__content strong{font-weight:600}.blog-post__content em{font-style:italic}.blog-post__content hr{border:none;border-top:1px solid var(--color-border-light);margin:var(--spacing-lg) 0}.blog-post__content img{max-width:100%;height:auto;margin:var(--spacing-md) auto;border:1px solid var(--color-border-light)}.skip-link{position:absolute;top:-100%;left:var(--spacing-sm);z-index:200;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-text);color:var(--color-background);font-size:.9rem;font-weight:500;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:var(--spacing-sm);outline:2px solid var(--color-text);outline-offset:2px}.blog-post__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);justify-content:center}.blog-post__tag{display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-light);background-color:var(--color-background);border:1px solid var(--color-border-light);padding:.25rem .75rem;border-radius:2px}.share-bar{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);text-align:center}.share-bar__buttons{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.share-bar__instagram{font-size:.8rem;color:var(--color-text-light);margin-top:var(--spacing-xs);margin-bottom:0;font-style:italic}.share-bar__instagram a{color:var(--color-text-light);font-style:italic;font-weight:500;border-bottom:1px solid transparent;transition:border-color .2s ease,opacity .2s ease}.share-bar__instagram a:hover{opacity:.7;border-bottom-color:var(--color-text-light)}.share-bar__label{font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-light);margin-right:var(--spacing-xs)}.share-bar__button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border-light);border-radius:50%;background:var(--color-background);color:var(--color-text);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease;padding:0;font-family:inherit;font-size:inherit;line-height:1;flex-shrink:0}.share-bar__button svg{width:18px;height:18px}.share-bar__button:hover{opacity:.7;transform:scale(1.08)}.share-bar__button--native{display:none}.share-bar__copied{display:none;position:absolute;top:-28px;left:50%;transform:translateX(-50%);font-size:.7rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--color-background);background:var(--color-text);padding:3px 8px;border-radius:3px;white-space:nowrap;pointer-events:none}.share-bar__button--copy{position:relative}.share-bar__button--copied .share-bar__copied{display:block}.share-bar__button--copied{border-color:var(--color-border);background-color:var(--color-text);color:var(--color-background)}.share-bar__button--copied svg{opacity:.3}@media(max-width:768px){.blog-header{position:sticky;top:0;background-color:var(--color-background);z-index:100}.blog-header__back{font-size:.8rem}.blog-header__logo{max-height:60px;width:auto}.blog-grid{grid-template-columns:1fr}.blog-recent__grid .blog-card{flex:0 1 100%;max-width:400px}.blog-post__title{font-size:2rem}.blog-post__content p{font-size:1rem}}@media(max-width:480px){.blog-post__title{font-size:1.75rem}.blog-card__content{padding:var(--spacing-sm)}.blog-card__title{font-size:1.1rem}}.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.product-card__link{display:block;color:inherit;text-decoration:none}.product-card__link:hover{opacity:1}.product-header{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.product-header .container{display:flex;justify-content:space-between;align-items:center}.product-header__back{font-size:.9rem;color:var(--color-text-light)}.product-header__logo{max-height:70px;width:auto}.product-detail{background-color:var(--color-background-warm);padding:var(--spacing-lg) 0 var(--spacing-sm) 0}.product-detail__image-wrapper{max-width:400px;margin:0 auto var(--spacing-lg);aspect-ratio:1 / 1;overflow:hidden;border:1px solid var(--color-border-light)}.product-detail__image{width:100%;height:100%;object-fit:cover}.product-detail__content{text-align:center}.product-detail__name{font-family:var(--font-heading);font-size:2.5rem;margin-bottom:var(--spacing-xs)}.product-detail__german{font-style:italic;color:var(--color-text-light);font-size:1.25rem;margin-bottom:var(--spacing-sm)}.product-detail__badges{display:flex;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.badge{display:inline-block;padding:.25rem .75rem;font-size:.85rem;border-radius:2px}.badge--positive{background-color:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.badge--gf-option,.badge--dairy-free-option,.badge--lactose-free-option,.badge--lf-option{border:1px dashed #a5d6a7}.product-detail__description{font-size:1.125rem;color:var(--color-text-light);max-width:600px;margin:0 auto var(--spacing-md)}.product-detail__section{text-align:left;max-width:600px;margin:0 auto var(--spacing-sm);padding:1.25rem 0 .5rem 0;border-top:1px solid var(--color-border-light)}.product-detail__section:last-child{margin-bottom:0}.product-detail__section h2{font-size:1.25rem;margin-bottom:.25rem}.product-detail__section p{margin-bottom:0}.product-detail__section ul{padding-left:1.25rem;list-style:disc;margin:0}.product-detail__section li{margin-bottom:.25rem}.product-detail__allergens{color:var(--color-text-light)}@media(max-width:768px){.product-header{position:sticky;top:0;background-color:var(--color-background);z-index:100}.product-detail__name{font-size:2rem}.product-header__back{font-size:.8rem}.product-header__logo{max-height:60px;width:auto}}@media(max-width:480px){.product-detail__name{font-size:1.75rem}.product-detail__badges{gap:var(--spacing-xs)}}