:root{--color-warm-brown: #3B2F2A;--color-amber: #C47E4A;--color-cream: #F9F4EF;--color-steam-white: #FDFBF7;--color-charcoal: #1E1A17;--color-green: #4A6B3A;--font-display: "Playfair Display", serif;--font-body: "Inter", sans-serif;--font-mono: "Space Mono", monospace;--max-width-390: 350px;--margin-390: 20px;--max-width-768: 688px;--margin-768: 40px;--max-width-1440: 1280px;--margin-1440: 80px;--max-width-1920: 1680px;--margin-1920: 120px;--section-gap-390: 64px;--section-gap-768: 96px;--section-gap-1440: 120px;--section-gap-1920: 144px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--color-charcoal);background-color:var(--color-cream);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}.max-content{width:100%;margin:0 auto;padding:0 var(--margin-390);max-width:calc(var(--max-width-390) + 2 * var(--margin-390))}@media (min-width: 768px){.max-content{padding:0 var(--margin-768);max-width:calc(var(--max-width-768) + 2 * var(--margin-768))}}@media (min-width: 1440px){.max-content{padding:0 var(--margin-1440);max-width:calc(var(--max-width-1440) + 2 * var(--margin-1440))}}@media (min-width: 1920px){.max-content{padding:0 var(--margin-1920);max-width:calc(var(--max-width-1920) + 2 * var(--margin-1920))}}.custom-cursor{position:fixed;width:16px;height:16px;border:2px solid var(--color-amber);border-radius:50%;background:#f9f4ef4d;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s,border-color .2s;mix-blend-mode:difference}.custom-cursor.hover-interactive{width:32px;height:32px;background:var(--color-cream);border-color:var(--color-amber);mix-blend-mode:normal}.custom-cursor.hover-image:after{content:"+";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;color:var(--color-amber);font-weight:700}@media (hover: none) and (pointer: coarse),(prefers-reduced-motion: reduce){.custom-cursor{display:none}}.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:background .3s,backdrop-filter .3s;padding:1rem 0}.site-header.scrolled{background:#f9f4efe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000000d}.header-inner{display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--color-amber)}.logo-icon{font-size:1.8rem}.main-nav ul{display:flex;list-style:none;gap:2rem}.main-nav a{font-family:var(--font-body);font-weight:400;letter-spacing:.15em;text-transform:uppercase;font-size:.85rem;position:relative;transition:color .3s}.main-nav a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-amber);transition:width .3s}.main-nav a:hover:after{width:100%}.btn-cta{background:var(--color-amber);color:var(--color-steam-white);font-weight:600;padding:.75rem 1.5rem;border-radius:4px;font-size:.9rem;transition:background .2s,transform .2s;position:relative;overflow:hidden}.btn-cta:hover{background:#a0602f;transform:scale(1.03)}.btn-cta:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-cta:active:after{width:200px;height:200px}.cart-icon-wrapper{position:relative}.cart-icon{color:var(--color-charcoal);background:none;border:none;padding:.5rem}.cart-count{position:absolute;top:-5px;right:-10px;background:var(--color-amber);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none}.menu-toggle .bar{width:25px;height:2px;background:var(--color-charcoal);transition:.3s}@media (max-width: 767px){.main-nav{display:none}.menu-toggle{display:flex}.header-inner .btn-cta{display:none}}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:flex-end;overflow:hidden}.hero-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.hero-fallback{position:absolute;top:0;left:0;width:100%;height:100%;background:url(https://placehold.co/1920x1080/3B2F2A/C47E4A?text=Hero+Beans) center/cover no-repeat;z-index:0;opacity:1}.hero.canvas-active .hero-fallback{opacity:0}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:2rem;padding-bottom:4rem;color:var(--color-steam-white)}@media (min-width: 768px){.hero-content{grid-template-columns:1.5fr 1fr;align-items:end}}.hero-left{display:flex;flex-direction:column;gap:1.5rem}.hero-headline{font-family:var(--font-display);font-weight:900;font-size:clamp(2.5rem,8vw,6rem);letter-spacing:-.02em;line-height:1.1;text-shadow:2px 2px 10px rgba(0,0,0,.4)}.hero-subheadline{font-family:var(--font-body);font-weight:300;font-size:1.1rem;max-width:500px}.hero-btn{align-self:flex-start}.hero-right{display:flex;justify-content:center;align-items:center}.date-stamp{background:var(--color-amber);color:var(--color-steam-white);padding:1.5rem;border-radius:8px;box-shadow:inset 0 2px 4px #0000004d,2px 2px 8px #0003;font-family:var(--font-mono);text-align:center;transform:rotate(-2deg);transition:transform .3s}.date-stamp:hover{transform:rotate(0) scale(1.02)}.date-label{display:block;font-size:.7rem;letter-spacing:.1em;margin-bottom:.25rem}.date-value{font-size:1.5rem;font-weight:700}.scroll-indicator{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);z-index:2}.scroll-line{display:block;width:2px;height:40px;background:var(--color-amber);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.section-padding{padding:var(--section-gap-390) 0}@media (min-width: 768px){.section-padding{padding:var(--section-gap-768) 0}}@media (min-width: 1440px){.section-padding{padding:var(--section-gap-1440) 0}}@media (min-width: 1920px){.section-padding{padding:var(--section-gap-1920) 0}}.section-title{font-family:var(--font-display);font-size:2.5rem;font-weight:700;margin-bottom:2.5rem;color:var(--color-charcoal)}.section-title.white{color:var(--color-steam-white)}.about{background-color:var(--color-cream)}.about-grid{display:grid;gap:3rem}@media (min-width: 768px){.about-grid{grid-template-columns:1.2fr 1fr;align-items:center}}.about-text p{margin-bottom:1.5rem;font-size:1.1rem}.about-highlight{font-style:italic;color:var(--color-amber);font-weight:500}.about-image img{width:100%;height:auto;object-fit:cover;border-radius:4px;box-shadow:0 10px 30px #0000001a}.roasting-process{position:relative;overflow:hidden}.roasting-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;background-color:var(--color-warm-brown);transition:background-color .3s}.roasting-inner{position:relative;z-index:1;padding:6rem 0}.steps{display:grid;gap:2.5rem}@media (min-width: 768px){.steps{grid-template-columns:repeat(4,1fr)}}.step{color:var(--color-steam-white);padding:1.5rem;background:#ffffff0d;border-radius:4px;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.step.visible{opacity:1;transform:translateY(0)}.step-number{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--color-amber);display:block;margin-bottom:.5rem}.step h3{font-family:var(--font-display);font-size:1.4rem;margin-bottom:.5rem}.products{background:var(--color-cream) url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='8' fill='%23C47E4A' fill-opacity='0.05'/%3E%3C/svg%3E") repeat}.product-grid{display:grid;gap:2rem}@media (min-width: 768px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.product-grid{grid-template-columns:repeat(3,1fr)}}.product-card{background:var(--color-steam-white);border-radius:4px;overflow:hidden;box-shadow:0 5px 20px #0000000d;transition:transform .3s,box-shadow .3s}.product-card:hover{transform:scale(1.02);box-shadow:0 10px 30px #0000001a}.product-img{position:relative;overflow:hidden}.product-img img{width:100%;height:300px;object-fit:cover}.freshness-badge{position:absolute;top:1rem;right:1rem;background:var(--color-green);color:#fff;padding:.25rem .75rem;font-size:.75rem;border-radius:20px;font-weight:600}.product-info{padding:1.5rem}.product-info h3{font-family:var(--font-display);font-size:1.5rem;margin-bottom:.5rem}.tasting-notes{color:var(--color-amber);font-size:.9rem;margin-bottom:.5rem}.weight{font-size:.9rem;color:#666;margin-bottom:1rem}.product-bottom{display:flex;justify-content:space-between;align-items:center}.price{font-family:var(--font-body);font-weight:600;font-size:2rem;font-variant-numeric:tabular-nums}.price sup,.cents{font-size:.6em;vertical-align:super}.add-to-cart{font-size:.85rem}.subscription{background:var(--color-cream);background-image:radial-gradient(ellipse at 30% 50%,rgba(196,126,74,.1) 0%,transparent 70%)}.toggle-wrapper{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:3rem}.toggle-label{font-family:var(--font-body);font-size:1rem;color:#888;transition:color .3s}.toggle-label.active{color:var(--color-amber);font-weight:600}.toggle-switch{width:50px;height:26px;background:#ccc;border-radius:13px;position:relative;transition:background .3s}.toggle-switch[aria-checked=true]{background:var(--color-amber)}.toggle-knob{position:absolute;top:2px;left:2px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .3s}.toggle-switch[aria-checked=true] .toggle-knob{transform:translate(24px)}.sub-cards{display:grid;gap:2rem}@media (min-width: 768px){.sub-cards{grid-template-columns:repeat(2,1fr)}}.sub-card{background:var(--color-steam-white);border:2px solid #eee;border-radius:8px;padding:2rem;text-align:center;transition:transform .3s,box-shadow .3s,border-color .3s;display:none}.sub-card.active{display:block}.sub-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0000001a}.sub-badge{background:var(--color-green);color:#fff;display:inline-block;padding:.25rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;margin-bottom:1rem}.sub-card h3{font-family:var(--font-display);font-size:1.8rem;margin-bottom:1rem}.sub-price{font-size:2.5rem;font-weight:700;color:var(--color-amber);margin:1.5rem 0}.sub-price span{font-size:2.5rem}.sub-features{list-style:none;margin-bottom:2rem}.sub-features li{margin:.5rem 0;position:relative;padding-left:1.5em}.sub-features li:before{content:"✓";color:var(--color-green);position:absolute;left:0}.subscribe-btn{width:100%}.calendar-picker{text-align:center;margin-top:3rem}.calendar-picker label{display:block;margin-bottom:.5rem;font-family:var(--font-body)}.calendar-picker input{padding:.5rem;border:1px solid #ccc;border-radius:4px}.testimonials{background:var(--color-cream)}.testimonial-grid{display:grid;gap:2rem}@media (min-width: 768px){.testimonial-grid{grid-template-columns:repeat(3,1fr)}}.testimonial-card{background:var(--color-steam-white);padding:2rem;border-radius:4px;box-shadow:0 5px 20px #0000000d;border-left:4px solid var(--color-amber)}.stars{color:var(--color-amber);font-size:1.2rem;margin-bottom:1rem}.testimonial-card p{font-style:italic;margin-bottom:1rem}.testimonial-card footer{font-weight:600;color:#666}.faq{background:var(--color-cream)}.faq-list{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid #ddd;padding:1.5rem 0}.faq-item summary{font-family:var(--font-display);font-size:1.3rem;font-weight:600;cursor:pointer;list-style:none;position:relative;padding-right:2rem}.faq-item summary:after{content:"+";position:absolute;right:0;top:0;font-size:1.5rem;color:var(--color-amber);transition:transform .3s}.faq-item[open] summary:after{content:"−"}.faq-item p{margin-top:1rem;color:#444}.corporate{background-color:var(--color-warm-brown);color:var(--color-steam-white)}.corporate-grid{display:grid;gap:3rem}@media (min-width: 768px){.corporate-grid{grid-template-columns:1fr 1fr 1fr}}.corporate-subtitle{font-size:1.2rem;font-weight:500;margin-bottom:1.5rem;color:var(--color-amber)}.corporate-form-wrapper{background:#ffffff0d;padding:2rem;border-radius:8px}.corporate-form .form-group{margin-bottom:1.5rem}.corporate-form label{display:block;margin-bottom:.25rem;font-size:.9rem}.corporate-form input,.corporate-form select,.corporate-form textarea{width:100%;padding:.75rem;background:var(--color-steam-white);border:1px solid #ccc;border-radius:4px;font-family:inherit;transition:border-color .3s}.corporate-form input:focus,.corporate-form select:focus,.corporate-form textarea:focus{border-color:var(--color-amber);outline:none}.checkbox{display:flex;align-items:center;gap:.5rem}.checkbox input{width:auto}.corporate-image img{width:100%;height:auto;border-radius:4px}.contact-info{background:var(--color-cream)}.contact-grid{display:grid;gap:3rem}@media (min-width: 768px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-details address{font-style:normal;line-height:2}.map iframe{width:100%;height:300px;border:none}.site-footer{background-color:var(--color-warm-brown);color:var(--color-cream);position:relative}.footer-photo{height:200px;background:url(https://placehold.co/1920x400/2A1E1A/C47E4A?text=Coffee+Scene) center/cover no-repeat;position:relative}.footer-photo:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:60px;background:linear-gradient(to top,var(--color-warm-brown),transparent)}.footer-content{padding-top:2rem;padding-bottom:3rem}.footer-grid{display:grid;gap:2rem}@media (min-width: 768px){.footer-grid{grid-template-columns:repeat(3,1fr)}}.footer-col h4{font-family:var(--font-display);font-size:1.2rem;margin-bottom:1rem;color:var(--color-amber)}.footer-col ul{list-style:none}.footer-col li{margin-bottom:.5rem}.footer-col a{color:var(--color-cream);transition:color .3s}.footer-col a:hover{color:var(--color-amber)}.footer-disclaimer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);font-size:.8rem;opacity:.8;text-align:center}.modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:none;align-items:center;justify-content:center}.modal.open{display:flex}.modal-backdrop{position:absolute;width:100%;height:100%;background:#00000080}.modal-content{background:var(--color-steam-white);padding:2rem;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;z-index:1;box-shadow:0 20px 40px #0000004d}.modal-close{position:absolute;top:1rem;right:1rem;font-size:1.5rem;color:#666;background:none;border:none}.checkout-flow{max-width:700px}.checkout-progress{display:flex;justify-content:space-between;margin-bottom:2rem}.progress-step{font-size:.9rem;color:#aaa;position:relative}.progress-step.active{color:var(--color-amber);font-weight:600}.checkout-step{display:none}.checkout-step.active{display:block}.checkout-step h3{margin-bottom:1.5rem}.payment-options label{display:block;margin-bottom:.5rem}.summary{margin-bottom:1.5rem}.chat-widget{position:fixed;bottom:20px;right:20px;z-index:1500}.chat-toggle{width:50px;height:50px;border-radius:50%;background:var(--color-amber);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 15px #0003}.chat-panel{display:none;position:absolute;bottom:60px;right:0;width:300px;background:#fff;border-radius:8px;box-shadow:0 10px 30px #0003;overflow:hidden}.chat-widget.open .chat-panel{display:block}.chat-header{background:var(--color-warm-brown);color:#fff;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center}.chat-close{background:none;border:none;color:#fff;font-size:1.2rem}.chat-messages{padding:1rem;height:200px;overflow-y:auto;background:#f9f9f9}.msg{margin-bottom:.5rem;padding:.5rem;border-radius:8px;max-width:80%}.msg.received{background:#e0e0e0;align-self:flex-start}.msg.sent{background:var(--color-amber);color:#fff;margin-left:auto}.chat-input-area{display:flex;padding:.5rem;border-top:1px solid #ddd}.chat-input-area input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px}.chat-input-area button{margin-left:.5rem;padding:.5rem 1rem;background:var(--color-amber);color:#fff;border:none;border-radius:4px}[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.25,.1,.25,1),transform .8s cubic-bezier(.25,.1,.25,1)}[data-reveal].visible{opacity:1;transform:translateY(0)}@media (max-width: 767px){.hero-headline{font-size:2rem}.date-stamp{transform:none}.main-nav.open{display:flex;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;flex-direction:column;align-items:center;justify-content:center;gap:2rem;z-index:999}.main-nav.open a{color:#fff;font-size:1.5rem}}
