.hero-carousel{min-height:max(45vh,440px)}.hero__slide{opacity:0;pointer-events:none;transition:opacity var(--duration-slow);z-index:2;align-items:center;display:flex;position:absolute;inset:0}.hero__slide.is-active{opacity:1;pointer-events:auto;z-index:3}.hero__slide-inner{color:var(--cream);flex-direction:column;max-width:650px;padding-block-start:calc(var(--space-md) + 15px);padding-block-end:var(--space-2xl);display:flex}.hero__slide-inner .hero__subtitle{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.15em;color:var(--caramel);margin-block-end:var(--space-md);font-weight:600}.hero__slide-inner h1,.hero__slide-inner h2{color:var(--cream);font-size:var(--text-4xl);margin-block-end:var(--space-lg);line-height:1.06}@media (min-width:768px){.hero__slide-inner h1,.hero__slide-inner h2{font-size:var(--text-5xl)}}.hero__slide-inner .hero__text{font-size:var(--text-lg);color:var(--latte);-webkit-line-clamp:3;max-width:480px;min-height:calc(var(--text-lg)*1.6*3);-webkit-box-orient:vertical;margin-block-end:var(--space-xl);display:-webkit-box;overflow:hidden}@media (max-width:600px){.hero__slide-inner{padding-block:var(--space-xl)}.hero__slide-inner h1,.hero__slide-inner h2{font-size:var(--text-2xl)}.hero__slide-inner .hero__text{font-size:var(--text-base);-webkit-line-clamp:2;min-height:auto}.menu-preview-item{padding:var(--space-md);gap:var(--space-md)}.menu-preview-item__icon{width:44px;height:44px;font-size:1.2rem}.menu-preview-item{flex-wrap:wrap}.menu-preview-item__info{flex:1;min-width:0}.menu-preview-item__right{width:100%;padding-top:var(--space-xs);border-top:1px solid var(--border);margin-top:var(--space-xs);justify-content:space-between}}.hero__indicators{bottom:var(--space-lg);z-index:10;gap:var(--space-sm);display:flex;position:absolute;left:50%;transform:translate(-50%)}.hero__dot{cursor:pointer;width:10px;height:10px;transition:all var(--duration-normal)var(--ease-out);background:0 0;border:2px solid #ffffff80;border-radius:50%;padding:0}.hero__dot:hover{border-color:var(--caramel)}.hero__dot.is-active{background:var(--caramel);border-color:var(--caramel);border-radius:5px;width:28px}.featured-treats{padding-block:var(--space-xl)}.featured-treats .section-header{margin-block-end:var(--space-md)}.menu-preview{gap:var(--space-md);display:grid}@media (min-width:768px){.menu-preview{grid-template-columns:repeat(2,1fr)}}.menu-preview-item{align-items:center;gap:var(--space-lg);padding:var(--space-lg);background:var(--white);border-radius:var(--radius-md);border:1px solid var(--border);transition:all var(--duration-fast);display:flex}.menu-preview-item:hover{border-color:var(--caramel);box-shadow:var(--shadow-sm)}.menu-preview-item__icon{border-radius:var(--radius-md);background:var(--cream);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex}.menu-preview-item__img{border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;width:72px;height:72px}.menu-preview-item__info{flex:1;min-width:0}.menu-preview-item__name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--espresso)}.menu-preview-item__desc{font-size:var(--text-sm);color:var(--text-light);margin:0}.menu-preview-item__right{align-items:center;gap:var(--space-md);flex-shrink:0;display:flex}.menu-preview-item__price{color:var(--roast);white-space:nowrap;font-weight:700;font-size:var(--text-lg)}.menu-preview-item__order{font-size:var(--text-xs);color:var(--caramel);border:1.5px solid var(--caramel);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast);white-space:nowrap;background:0 0;padding:5px 12px;font-weight:600;text-decoration:none}.menu-preview-item__order:hover{background:var(--caramel);color:var(--white)}.beans-black-border .bean{border-color:var(--espresso)!important}.beans-grey-border .bean{border-color:var(--latte)!important}.beans-shadow .bean{box-shadow:var(--shadow-lg)!important}.bean{background:var(--white);border:2px solid var(--accent,var(--border));border-radius:var(--radius-lg);text-align:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--duration-normal)var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.bean:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.bean__img-wrap{background:var(--white);padding:var(--space-xl)var(--space-lg);justify-content:center;align-items:center;display:flex;position:relative}.bean__img-wrap:after{content:"";bottom:0;left:var(--space-lg);right:var(--space-lg);background:var(--accent,var(--border));height:2px;position:absolute}.bean__img{object-fit:contain;mix-blend-mode:multiply;filter:contrast(1.05)saturate(1.05);width:240px;height:240px;transition:transform var(--duration-normal)var(--ease-out)}.bean:hover .bean__img{transform:scale(1.06)}.bean--highres .bean__img-wrap{padding:var(--space-sm)}.bean--highres .bean__img{width:250px;height:250px}.bean__info{background:var(--white);padding:var(--space-lg)var(--space-xl)var(--space-xl);text-align:center;flex-direction:column;flex:1;align-items:center;display:flex}.bean__name{font-family:var(--font-display);font-size:var(--text-xl);margin-block-end:var(--space-xs)}.bean__origin{font-size:var(--text-sm);color:var(--text-light);margin-block-end:var(--space-sm)}.bean__roast-bar{justify-content:center;gap:4px;margin-block-end:var(--space-md);display:flex}.bean__roast-dot{background:var(--border);border-radius:50%;width:8px;height:8px}.bean__roast-dot.is-filled{background:var(--roast)}.bean__price{font-weight:700;font-size:var(--text-xl);color:var(--roast);margin-block-start:auto;margin-block-end:var(--space-lg)}.bean__actions{gap:var(--space-sm);justify-content:center;display:flex}.bean .btn--primary{background:var(--accent,var(--caramel));border-color:var(--accent,var(--caramel))}.bean .btn--outline{color:var(--espresso);border-color:var(--espresso)}.bean .btn--outline:hover{background:var(--espresso);color:var(--cream)}.bean-card__visual{width:100px;height:100px;margin:0 auto var(--space-lg);border-radius:50%;justify-content:center;align-items:center;font-size:2.5rem;display:flex}.bean-card__visual--medium{background:linear-gradient(135deg,#c4883a 0%,#8b5e30 100%)}.bean-card__visual--dark{background:linear-gradient(135deg,#6b3a2a 0%,#2c1810 100%)}.bean-card__name{font-family:var(--font-display);font-size:var(--text-xl);margin-block-end:var(--space-xs)}.bean-card__roast{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-light);margin-block-end:var(--space-sm);font-weight:600}.bean-card__price{color:var(--roast);font-weight:700;font-size:var(--text-lg)}.section--cream .section-header{margin-block-end:var(--space-lg)}.section--cream .section-header p{margin-block-start:.125rem}.service-card{text-align:center;padding:var(--space-md)var(--space-md);flex-direction:column;align-items:center;display:flex}.service-card__icon{width:64px;height:64px;margin:0 auto var(--space-sm);border-radius:var(--radius-lg);justify-content:center;align-items:center;display:flex}.service-card__title{font-family:var(--font-display);font-size:var(--text-lg);margin-block-end:var(--space-xs)}.service-card__text{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-normal);flex:1;margin-block-end:var(--space-md)}.section-divider{background:var(--border);height:1px}.menu-visual{margin-block-start:var(--space-lg);margin-block-end:var(--space-lg)}.menu-visual__grid{gap:var(--space-md);grid-template-columns:repeat(6,1fr);display:grid}@media (max-width:767px){.menu-visual__grid{grid-template-columns:repeat(3,1fr)}}.menu-visual__item{align-items:center;gap:var(--space-sm);padding:var(--space-lg)var(--space-sm);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast);flex-direction:column;font-weight:500;text-decoration:none;display:flex}.menu-visual__item:hover{border-color:var(--caramel);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.menu-visual__icon{border-radius:var(--radius-md);background:var(--cream);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.service-card__actions{gap:var(--space-sm);justify-content:center;margin-block-start:auto;padding-block-start:20px;display:flex}.service-card__actions .btn--sm{padding:.4rem 1rem;font-size:.7rem}.quote-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;padding:var(--space-lg);opacity:0;visibility:hidden;transition:all var(--duration-normal)var(--ease-out);background:#2c181099;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.quote-overlay.is-open{opacity:1;visibility:visible}.quote-modal{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:480px;transition:transform var(--duration-normal)var(--ease-out);position:relative;transform:translateY(20px)scale(.97)}.quote-overlay.is-open .quote-modal{transform:translateY(0)scale(1)}.quote-modal__header{padding:var(--space-lg)var(--space-xl)var(--space-sm)}.quote-modal__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--espresso);margin:0}.quote-modal__close{top:var(--space-sm);right:var(--space-sm);cursor:pointer;width:36px;height:36px;color:var(--text-light);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute}.quote-modal__close:hover{background:var(--cream);color:var(--espresso)}.quote-modal__body{padding:var(--space-md)var(--space-xl)var(--space-xl)}.quote-form-group{margin-block-end:var(--space-sm)}.quote-form-label{font-size:var(--text-sm);color:var(--espresso);margin-block-end:4px;font-weight:600;display:block}.quote-form-input,.quote-form-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);font-size:var(--text-base);color:var(--espresso);background:var(--white);transition:border-color var(--duration-fast);padding:10px 14px}.quote-form-input:focus,.quote-form-textarea:focus{border-color:var(--caramel);outline:none}.quote-form-row{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.quote-form-submit{width:100%;margin-block-start:var(--space-md)}
