:root{
  --cream:#F5E6D3; --paper:#FBF6EF; --chocolate:#4B2E2B; --burgundy:#6A1F2B;
  --gold:#D4A373; --rose:#E8A6B7; --caramel:#C68A65; --green:#7A9E7E;
  --ink:#3f2a27; --muted:#745f58; --line:rgba(75,46,43,.22); --dark:#2d1917;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Arial, 'Helvetica Neue', Helvetica, sans-serif;
  --max:1180px; --radius:22px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.58;-webkit-font-smoothing:antialiased} img{max-width:100%;display:block} a{color:inherit;text-decoration:none} button{font:inherit} .page{min-height:100vh}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}.narrow{width:min(920px,calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:60;background:rgba(18,9,8,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,163,115,.22)}
.header-inner{height:82px;width:min(1240px,calc(100% - 36px));margin:auto;display:flex;align-items:center;gap:24px}.logo-link{display:flex;align-items:center;flex:0 0 auto}.logo-link img{width:92px;height:66px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.main-nav a{color:#f5e8da;font-size:15px;white-space:nowrap;opacity:.9}.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--rose);opacity:1}.header-actions{display:flex;gap:10px;align-items:center}.cart-btn,.menu-btn{border:1px solid rgba(245,230,211,.32);background:transparent;color:#fff;border-radius:999px;min-height:44px;padding:0 15px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.cart-count{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--burgundy);font-size:12px}.menu-btn{display:none;width:44px;padding:0;justify-content:center}
.hero{background:#090706;color:#f8eee3}.hero-grid{width:min(1240px,calc(100% - 48px));margin:auto;min-height:660px;display:grid;grid-template-columns:44% 56%;align-items:center}.hero-copy{padding:72px 34px 78px 0;position:relative;z-index:2}.eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:24px}.hero h1{font-family:var(--serif);font-size:clamp(52px,5vw,76px);line-height:.98;margin:0 0 18px;font-weight:700;letter-spacing:-.035em}.hero h1 .accent{color:var(--rose)}.hero-lead{font-family:var(--serif);font-size:28px;font-style:italic;color:#f0d4bf;margin:0 0 24px}.hero-text{max-width:570px;color:#d8c9bf;font-size:18px}.signature{font-family:var(--serif);color:var(--rose);font-size:21px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-media{min-height:660px;position:relative;display:flex;align-items:center}.hero-media img{width:100%;height:560px;object-fit:cover;border-radius:48% 0 0 48%/44% 0 0 44%}.hero-badge{position:absolute;left:-38px;bottom:115px;width:112px;height:112px;border-radius:50%;background:var(--burgundy);display:grid;place-items:center;text-align:center;font-family:var(--serif);font-style:italic;color:white;transform:rotate(-7deg);box-shadow:0 12px 40px rgba(0,0,0,.25)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border:1px solid transparent;border-radius:2px;font-size:16px;font-weight:700;cursor:pointer;transition:.24s ease}.btn-primary{background:var(--cream);color:var(--chocolate)}.btn-primary:hover{background:#fff}.btn-outline{border-color:rgba(245,230,211,.5);color:#fff}.btn-outline:hover{background:rgba(255,255,255,.08)}.btn-dark{background:var(--chocolate);color:#fff}.btn-dark:hover{background:var(--burgundy)}.btn-soft{border-color:var(--line);background:transparent;color:var(--chocolate)}
.gateway{padding:70px 0 90px;background:var(--paper)}.section-title{font-family:var(--serif);font-size:52px;line-height:1.05;letter-spacing:-.025em;margin:0 0 20px;color:var(--chocolate)}.section-intro{max-width:720px;color:var(--muted);margin:0 0 34px}.gateway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gateway-card{background:#fff;border:1px solid var(--line);padding:30px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;transition:.28s ease}.gateway-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(75,46,43,.08)}.gateway-card h2{font-family:var(--serif);font-size:30px;margin:0 0 10px}.gateway-card p{font-size:16px;color:var(--muted);margin:0}.gateway-card .arrow{font-size:28px;color:var(--burgundy);align-self:flex-end}
.page-hero{padding:66px 0 46px;background:var(--cream);border-bottom:1px solid var(--line)}.page-hero.dark{background:var(--chocolate);color:#fff}.page-hero.dark .section-title{color:var(--cream)}.page-hero .section-title{margin-bottom:10px}.page-hero p{max-width:720px;margin:0;color:var(--muted)}.page-hero.dark p{color:#d9c6bb}
.content-section{padding:64px 0}.content-section.alt{background:var(--cream)}.content-section.dark{background:var(--chocolate);color:#f6e9db}.content-section.dark .section-title{color:var(--cream)}
.group-label{display:block;margin:0 0 20px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy)}.product-group+.product-group{margin-top:58px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-grid.three{grid-template-columns:repeat(3,1fr)}.product-card{background:#fff;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}.product-photo{aspect-ratio:1/1;overflow:hidden;background:#eee}.product-photo img{width:100%;height:100%;object-fit:cover;transition:transform .32s ease}.product-card:hover .product-photo img{transform:scale(1.025)}.product-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.product-card h3,.pack-card h3{font-family:var(--serif);font-size:24px;line-height:1.18;margin:0;color:var(--chocolate)}.product-card p,.pack-card p{margin:0;font-size:16px;color:var(--muted)}.taste{font-family:var(--serif);font-style:italic;color:var(--burgundy)!important}.product-foot{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:center;gap:12px}.price{font-weight:700;color:var(--chocolate)}.mini-btn{border:0;background:none;color:var(--burgundy);font-weight:700;padding:8px 0;cursor:pointer}.mini-btn:hover{text-decoration:underline}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}.info-grid.three{grid-template-columns:repeat(3,1fr)}.info-item{border-top:1px solid var(--line);padding:18px 4px 0}.info-item h3{font-family:var(--serif);font-size:22px;margin:0 0 8px}.info-item p{margin:0;color:var(--muted);font-size:16px}.dark .info-item{border-color:rgba(245,230,211,.28)}.dark .info-item p{color:#d9c9c0}.dark .info-item h3{color:#fff}
.accordion{margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:20px 0;font-family:var(--serif);font-size:22px}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-family:var(--sans);font-size:14px;color:var(--muted);margin-left:8px}.accordion-body{padding:0 0 24px}.table-wrap{overflow-x:auto}.nutrition{width:100%;border-collapse:collapse;min-width:720px;font-size:14px}.nutrition th,.nutrition td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.nutrition th{color:var(--burgundy);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.pack-section{padding:64px 0 90px;background:#2f1a18;color:#f5e9dd}.pack-section .section-title{color:var(--cream)}.pack-section .section-intro{color:#d9c9c0}.pack-groups{display:flex;flex-direction:column;gap:48px;margin-top:34px}.pack-group-label{display:block;border-top:1px solid rgba(245,230,211,.28);padding-top:14px;margin-bottom:18px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pack-grid.two{grid-template-columns:repeat(2,1fr)}.pack-card{background:#fff;color:var(--ink);display:flex;flex-direction:column;overflow:hidden}.pack-photo{aspect-ratio:4/3;overflow:hidden;background:#eee}.pack-photo img{width:100%;height:100%;object-fit:cover;transition:transform .32s ease}.pack-card:hover img{transform:scale(1.025)}.pack-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.pack-meta{display:flex;justify-content:space-between;font-size:14px;color:var(--burgundy);font-weight:700}.pack-actions{margin-top:auto;padding-top:10px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}.flow-item{border-top:1px solid rgba(245,230,211,.3);padding-top:14px}.flow-item span{display:block;color:var(--gold);font-size:13px}.flow-item strong{font-family:var(--serif);font-size:20px}
.author-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.author-photo{border-radius:var(--radius);overflow:hidden;max-height:620px}.author-photo img{width:100%;height:100%;object-fit:cover}.quote{font-family:var(--serif);font-size:28px;line-height:1.3;color:var(--burgundy)}
.order-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.order-card{background:#fff;border:1px solid var(--line);padding:28px}.order-card h2{font-family:var(--serif);font-size:30px;margin:0 0 18px}.contact-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-buttons a{border:1px solid var(--line);padding:14px 16px;font-weight:700}.contact-buttons a:hover{border-color:var(--burgundy);color:var(--burgundy)}
.footer{background:#160b0a;color:#cdbbb1;padding:34px 0}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer img{width:72px;height:72px;object-fit:contain}.footer-links{display:flex;gap:16px;flex-wrap:wrap;font-size:14px}.footer small{font-size:12px}
/* cart */
.cart-drawer{position:fixed;inset:0;z-index:100;pointer-events:none}.cart-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.42);opacity:0;transition:.25s}.cart-panel{position:absolute;right:0;top:0;height:100%;width:min(440px,100%);background:var(--paper);transform:translateX(100%);transition:.3s ease;box-shadow:-20px 0 50px rgba(0,0,0,.16);display:flex;flex-direction:column}.cart-drawer.open{pointer-events:auto}.cart-drawer.open .cart-backdrop{opacity:1}.cart-drawer.open .cart-panel{transform:translateX(0)}.cart-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.cart-head h2{font-family:var(--serif);margin:0;font-size:30px}.icon-btn{border:0;background:transparent;font-size:28px;cursor:pointer}.cart-content{padding:18px 22px;overflow:auto;flex:1}.cart-empty{color:var(--muted)}.cart-item{padding:14px 0;border-bottom:1px solid var(--line)}.cart-item-top{display:flex;justify-content:space-between;gap:14px}.cart-item strong{font-family:var(--serif)}.qty{display:flex;align-items:center;gap:8px;margin-top:8px}.qty button{width:30px;height:30px;border:1px solid var(--line);background:#fff;cursor:pointer}.cart-pack{margin:18px 0;padding:16px;background:var(--cream)}.cart-total{font-size:20px;font-weight:700;margin-top:18px}.cart-note{font-size:13px;color:var(--muted)}.cart-footer{padding:18px 22px;border-top:1px solid var(--line);display:grid;gap:10px}.cart-footer .btn{width:100%}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);background:#17100e;color:#fff;padding:11px 16px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:130;font-size:14px}.toast.show{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .62s ease,transform .62s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.main-nav{position:fixed;left:0;right:0;top:82px;background:#160b0a;display:none;flex-direction:column;align-items:stretch;padding:20px 24px;border-top:1px solid rgba(255,255,255,.08)}.main-nav.open{display:flex}.main-nav a{font-size:17px;padding:7px 0}.menu-btn{display:inline-flex}.header-inner{gap:10px}.header-actions{margin-left:auto}.hero-grid{grid-template-columns:1fr;min-height:auto;width:min(760px,calc(100% - 32px))}.hero-copy{padding:54px 0 30px}.hero-media{min-height:auto}.hero-media img{height:auto;max-height:500px;border-radius:42px 42px 0 0}.hero-badge{left:18px;bottom:18px;width:94px;height:94px}.gateway-grid{grid-template-columns:1fr 1fr}.product-grid,.product-grid.three{grid-template-columns:repeat(2,1fr)}.pack-grid,.pack-grid.two{grid-template-columns:repeat(2,1fr)}.info-grid,.info-grid.three{grid-template-columns:repeat(2,1fr)}.author-grid,.order-grid{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}.section-title{font-size:46px}}
@media(max-width:620px){body{font-size:17px}.container,.narrow{width:min(100% - 28px,var(--max))}.header-inner{height:70px;width:calc(100% - 22px)}.site-header .main-nav{top:70px}.logo-link img{width:76px;height:56px}.cart-btn{padding:0 12px}.cart-btn .cart-label{display:none}.hero-grid{width:calc(100% - 28px)}.hero-copy{padding-top:42px}.hero h1{font-size:46px}.hero-lead{font-size:24px}.hero-text{font-size:17px}.hero-media img{border-radius:30px 30px 0 0}.hero-badge{width:82px;height:82px;font-size:14px}.gateway{padding:50px 0 64px}.gateway-grid,.product-grid,.product-grid.three,.pack-grid,.pack-grid.two,.info-grid,.info-grid.three,.flow,.contact-buttons{grid-template-columns:1fr}.gateway-card{min-height:160px}.section-title{font-size:36px;line-height:1.08}.page-hero{padding:46px 0 34px}.content-section,.pack-section{padding:48px 0}.product-photo{aspect-ratio:4/3}.pack-photo{aspect-ratio:4/3}.product-card h3,.pack-card h3{font-size:22px}.product-card p,.pack-card p{font-size:16px}.info-item h3{font-size:22px}.info-item p{font-size:16px}.footer-inner{flex-direction:column;align-items:flex-start}.order-card{padding:20px}.sticky-mobile-order{display:flex!important}.cart-panel{width:100%}}
.sticky-mobile-order{display:none;position:fixed;right:14px;bottom:14px;z-index:55;background:var(--burgundy);color:white;border-radius:999px;padding:12px 16px;font-weight:700;box-shadow:0 8px 24px rgba(75,46,43,.25)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* v3: flowing section transitions */
.wave-section,.wave-dark,.payment-section{position:relative;margin-top:38px}
.wave-section::before,.wave-dark::before,.payment-section::before{content:"";position:absolute;left:0;right:0;top:-38px;height:40px;background:inherit;clip-path:path("M0,26 C180,2 360,2 540,20 C720,38 900,38 1080,18 C1260,-2 1440,2 1600,20 L1600,40 L0,40 Z");}
@supports not (clip-path:path("M0 0")){.wave-section::before,.wave-dark::before,.payment-section::before{clip-path:ellipse(65% 45% at 50% 100%)}}
.truffle-next{margin-top:38px;display:flex;justify-content:flex-start}
.cart-pack-title{font-family:var(--serif);font-size:20px;margin-bottom:10px}.pack-cart-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--line)}.pack-cart-row:first-of-type{border-top:0}.pack-cart-row .qty{margin-top:0;flex:0 0 auto}
.payment-section{background:var(--paper);padding:70px 0}.payment-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}.bank-details{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}.bank-details p{margin:10px 0;color:var(--muted)}.iban{font-family:monospace;font-size:16px;word-break:break-all;color:var(--chocolate)}.bank-details .btn{margin:8px 0 12px}.qr-card{background:#fff;border:1px solid var(--line);padding:18px;text-align:center}.qr-card img{width:min(100%,430px);margin:auto}.qr-card p{font-size:14px;color:var(--muted);margin:12px 0 0}
@media(max-width:980px){.payment-grid{grid-template-columns:1fr}.qr-card{max-width:520px}.wave-section,.wave-dark,.payment-section{margin-top:28px}.wave-section::before,.wave-dark::before,.payment-section::before{top:-28px;height:30px}}
@media(max-width:620px){.payment-section{padding:48px 0}.payment-grid{gap:28px}.qr-card{padding:10px}.truffle-next .btn{width:100%}}
