:root{--brown:#2d1715;--deep:#1b0c0b;--cocoa:#3b201d;--gold:#bea05c;--pale:#f5efe4;--white:#fffaf2;--ink:#281613}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pale);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}
body.lock{overflow:hidden}
.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.nav{height:88px;position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:var(--white);border-bottom:1px solid #ffffff24}
.brand img{width:146px;height:64px;object-fit:contain;object-position:left center;display:block}
.nav nav{display:flex;gap:36px}
.nav a{color:inherit;text-decoration:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.16em}
.bag{border:0;background:transparent;color:inherit;text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;cursor:pointer}
.bag span{display:inline-grid;place-items:center;background:var(--gold);color:var(--deep);width:22px;height:22px;border-radius:50%;margin-left:6px}
.hero{height:max(760px,100svh);position:relative;background:var(--deep);color:var(--white);overflow:hidden}
.hero-media{position:absolute;inset:0;background:radial-gradient(circle at 72% 42%,#641f2d,#1b0b0b 68%);overflow:hidden}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform-origin:center;filter:saturate(.94) contrast(1.01) brightness(1.03);animation:hero-arrive 1.8s cubic-bezier(.16,.8,.24,1) both}
.hero-halo{position:absolute;right:0;top:50%;width:72vw;height:72vw;max-width:1100px;max-height:1100px;border-radius:50%;transform:translate(14%,-50%);background:radial-gradient(circle,#8d745438 0,transparent 67%);animation:halo-breathe 6s ease-in-out infinite}
@keyframes hero-arrive{from{opacity:0;transform:scale(1.09)}to{opacity:1;transform:scale(1)}}
@keyframes halo-breathe{50%{opacity:.55;transform:translate(12%,-50%) scale(1.04)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,8,12,.93) 0%,rgba(44,12,18,.72) 34%,rgba(36,10,14,.24) 57%,transparent 76%),linear-gradient(0deg,rgba(26,7,10,.44),transparent 46%)}
.hero:after{content:"";position:absolute;inset:88px 0 0;z-index:1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.045),transparent 24%);mix-blend-mode:screen}
.hero-copy{position:absolute;left:8vw;top:50%;transform:translateY(-44%);max-width:680px;z-index:2}
.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:.72rem;font-weight:600}
.hero .eyebrow{color:#e8d8ad}
.hero h1,.section-head h2,.legacy h2,.alfred h2,.final-cta h2{font:400 clamp(3.7rem,7vw,7.5rem)/.9 "Italiana",serif;letter-spacing:-.035em;margin:24px 0}
.hero h1 em,.statement em{color:var(--gold);font-style:normal}
.lede{max-width:510px;font-size:1.1rem;line-height:1.7;color:#eee4db}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}
.button{display:inline-flex;border:0;align-items:center;justify-content:center;padding:18px 27px;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:600;text-decoration:none;cursor:pointer;transition:.3s}
.gold{background:var(--gold);color:var(--deep)}
.gold:hover{background:#d1b976;transform:translateY(-2px)}
.text-link{border:0;border-bottom:1px solid #ffffff70;background:none;color:var(--white);padding:12px 0;font-size:.78rem;cursor:pointer}
.text-link span{margin-left:10px}
.hero-note{position:absolute;right:4vw;bottom:9vh;display:flex;align-items:start;gap:18px;border-left:1px solid var(--gold);padding-left:20px;z-index:2}
.hero-note span{font:1rem "Italiana"}
.hero-note p{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;line-height:1.6}
.scroll-cue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:2;text-transform:uppercase;letter-spacing:.2em;font-size:.57rem;color:#ffffff8c}
.scroll-cue i{display:block;width:1px;height:48px;background:linear-gradient(var(--gold),transparent);margin:12px auto -38px}
.promise{padding:clamp(105px,10vw,170px) 12vw;text-align:center;background:var(--pale)}
.promise .eyebrow{color:#8a6a42}
.statement{max-width:1100px;margin:28px auto 0;font:400 clamp(2.3rem,4.7vw,5.2rem)/1.08 "Italiana"}
.collection{background:var(--brown);color:var(--white);padding:clamp(80px,8vw,135px) 8vw}
.section-head{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:8vw;max-width:1300px;margin:auto}
.section-head h2{font-size:clamp(3.4rem,6vw,6.5rem)}
.section-head>p{line-height:1.8;color:#dbcfc7;max-width:500px;margin-bottom:30px}
.collection .eyebrow{color:var(--gold)}
.product{max-width:1300px;margin:clamp(50px,5vw,80px) auto 0;background:#f7f1e8;color:var(--ink);display:grid;grid-template-columns:1.08fr .92fr;min-height:690px}
.product-visual{position:relative;min-height:650px;background:radial-gradient(circle at 50% 44%,#6b2333 0,#45151f 42%,#220d12 76%,#16090c 100%);overflow:hidden;isolation:isolate}
.product-visual:before{content:"";position:absolute;z-index:-1;width:72%;aspect-ratio:1;border:1px solid #e1c47f42;border-radius:50%;left:14%;top:13%;box-shadow:0 0 0 42px #bea05c09,0 0 110px #c89d4922}
.product-visual:after{content:"";position:absolute;left:14%;right:14%;bottom:7%;height:12%;border-radius:50%;background:#120609a6;filter:blur(28px);transform:scaleX(.9)}
.product-visual>img{position:absolute;z-index:1;inset:3% 2% 5%;width:96%;height:92%;object-fit:contain;object-position:center;filter:drop-shadow(0 30px 28px #1205098c);will-change:transform;animation:product-float 7s cubic-bezier(.45,.05,.55,.95) infinite}
@keyframes product-float{0%,100%{transform:translate3d(0,5px,0) rotate(-.25deg)}50%{transform:translate3d(0,-13px,0) rotate(.35deg)}}
.real-photo-label{position:absolute;z-index:3;left:28px;bottom:25px;background:#2a0d16cc;color:#f2e4bd;border:1px solid #d6b96d70;padding:10px 13px;text-transform:uppercase;letter-spacing:.16em;font-size:.56rem;backdrop-filter:blur(8px)}
.box-lid{position:absolute;width:54%;aspect-ratio:1;right:4%;top:6%;background:var(--cocoa);color:var(--gold);box-shadow:0 30px 60px #42251455;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(8deg);font:1.5rem "Italiana"}
.box-lid:after{content:"";position:absolute;inset:10px;border:1px solid #bea05c66}
.box-lid small{font:.55rem "DM Sans";text-transform:uppercase;letter-spacing:.18em;margin-top:8px}
.mini-crest{width:65px;height:65px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin-bottom:16px;font-size:1.15rem}
.truffles{position:absolute;left:7%;bottom:9%;width:62%;aspect-ratio:1;background:#241211;padding:7%;display:grid;grid-template-columns:repeat(4,1fr);gap:5%;transform:rotate(-6deg);box-shadow:0 35px 70px #43271066}
.truffles i{display:block;border-radius:30%;background:radial-gradient(circle at 35% 25%,#9d6946,#4e251d 60%,#29100e);box-shadow:inset 0 -5px 10px #150605,0 3px 5px #0005}
.truffles i:nth-child(3n){border-radius:50%;background:radial-gradient(circle at 40% 30%,#f0d6a8,#b98750 58%,#744523)}
.truffles i:nth-child(4n){background:repeating-linear-gradient(135deg,#6d3928 0 5px,#3e1b17 5px 10px)}
.truffles i:nth-child(7n){background:radial-gradient(circle,#eee0c1,#b99966);border-radius:50%}
.product-copy{padding:8%;display:flex;flex-direction:column;justify-content:center}
.assortment{max-width:1300px;margin:34px auto 0;background:#160a09;color:var(--white);display:block;padding:clamp(55px,7vw,100px);position:relative;overflow:hidden}
.assortment:before{content:"LC";position:absolute;right:-2%;top:-8%;font:22rem "Italiana";color:#ffffff03;pointer-events:none}
.assortment-copy{padding:0;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1fr);gap:clamp(245px,22vw,350px);min-height:390px;position:relative;z-index:1}
.assortment-lead,.assortment-title{display:flex;flex-direction:column;min-width:0;height:100%}
.assortment-lead>p:not(.eyebrow){margin-top:auto}
.assortment-title .assortment-key{margin-top:auto}
.assortment h3{font:400 clamp(2.7rem,4.4vw,4.8rem)/.98 "Italiana";margin:18px 0}
.assortment-lead>p:not(.eyebrow){line-height:1.75;color:#cbbdb4;margin-bottom:20px}
.assortment-key{display:flex;gap:10px}
.assortment-key span{border:1px solid #bea05c66;color:var(--gold);padding:8px 12px;font-size:.65rem;text-transform:uppercase;letter-spacing:.13em}
.assortment-showpiece{position:absolute;z-index:1;left:50%;top:145px;width:270px;height:300px;transform:translateX(-50%);pointer-events:none}
.assortment-showpiece:before{content:"";position:absolute;inset:20% 0 0;background:radial-gradient(circle,#bea05c26,transparent 67%);filter:blur(10px)}
.assortment-showpiece img{position:absolute;width:175px;height:175px;object-fit:contain;filter:drop-shadow(0 22px 22px #000b);will-change:transform;backface-visibility:hidden;animation:choc-float 7s cubic-bezier(.45,.05,.55,.95) infinite}
.assortment-showpiece .showpiece-one{left:0;top:68px;--choc-rotation:-12deg}
.assortment-showpiece .showpiece-two{right:-8px;top:10px;animation-delay:-2.2s;--choc-rotation:9deg}
.assortment-showpiece .showpiece-three{right:10px;bottom:0;animation-delay:-4.5s;--choc-rotation:-4deg}
.flavour-count{position:absolute;z-index:2;left:-42px;bottom:4px;display:flex;align-items:end;gap:10px;color:var(--gold);border-left:1px solid #bea05c66;padding-left:14px}
.flavour-count strong{font:3.2rem/.8 "Italiana"}.flavour-count small{text-transform:uppercase;letter-spacing:.13em;font-size:.54rem;line-height:1.5}
@keyframes choc-float{0%,100%{transform:translate3d(0,0,0) rotate(var(--choc-rotation))}50%{transform:translate3d(0,-10px,0) rotate(var(--choc-rotation))}}
.chocolate-gallery{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#bea05c35;border:1px solid #bea05c35;margin-top:55px}
.choc-card{background:#241210;min-height:210px;padding:25px 15px 18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;position:relative;overflow:hidden;transition:background .4s,transform .4s;opacity:0;transform:translateY(22px)}
.choc-card.visible{opacity:1;transform:none;transition:opacity .65s calc(var(--i)*45ms),transform .65s calc(var(--i)*45ms),background .35s}
.choc-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,#bea05c18,transparent 55%);opacity:0;transition:.35s}
.choc-card:hover{background:#311916;z-index:2}.choc-card:hover:before{opacity:1}.choc-card:hover img{transform:translateY(-8px) scale(1.12) rotate(2deg);filter:drop-shadow(0 18px 18px #0009)}
.choc-card img{width:120px;height:92px;object-fit:contain;filter:drop-shadow(0 11px 12px #0007);transition:.45s cubic-bezier(.2,.8,.2,1);margin-bottom:13px}
.choc-card h4{font:1.02rem/1.15 "Italiana";margin:0;min-height:2.3em;color:#fff7ea}.choc-card small{color:var(--gold);margin-top:7px;font-size:.58rem;letter-spacing:.14em}
.choc-card:last-child{grid-column:span 2}
.choc-card:last-child img{width:150px}
.assortment-foot{text-align:center;color:#9f8e84;font-size:.67rem;letter-spacing:.08em;margin:30px 0 0}
.edition{font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;color:#8b6b3c}
.product h3{font:400 clamp(2.7rem,4.2vw,4.7rem)/.98 "Italiana";margin:20px 0}
.product-copy>p{line-height:1.75;color:#6d5b55}
.product ul{list-style:none;padding:22px 0;margin:8px 0;border-top:1px solid #cfc2b1;border-bottom:1px solid #cfc2b1}
.product li{padding:7px 0;font-size:.88rem}
.product li:before{content:"✦";color:#9c7a3d;margin-right:12px}
.buy-row{display:flex;align-items:center;justify-content:space-between;margin-top:26px}
.buy-row div{display:flex;flex-direction:column}
.buy-row small{text-transform:uppercase;letter-spacing:.12em;color:#806e68}
.price-lockup strong{display:flex!important;align-items:baseline;gap:2px;color:#281613;font-family:"DM Sans",sans-serif!important;line-height:1;margin-top:7px}
.price-lockup .currency{font-size:1.2rem;font-weight:500;align-self:flex-start;margin-top:5px}
.price-lockup .amount{font-size:2.6rem;font-weight:600;letter-spacing:-.06em}
.price-lockup .code{font-size:.78rem;font-weight:600;letter-spacing:.16em;margin-left:7px;color:#6f594d}
.allergen{font-size:.65rem!important;color:#927f78!important}
.quote-band{background:var(--gold);padding:clamp(80px,7vw,115px) 5vw;text-align:center;color:var(--deep)}
.foil-mark{width:80px;height:80px;border:1px solid #341b1880;border-radius:50%;display:grid;place-items:center;margin:auto;font:1.5rem "Italiana"}
.quote-band blockquote{font:400 clamp(2.2rem,4vw,4.4rem)/1.15 "Italiana";margin:35px auto;max-width:1000px}
.quote-band>p{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em}
.legacy{padding:clamp(85px,8vw,130px) 8vw;background:#f6f0e7}
.legacy-intro{max-width:1000px;margin:0 auto clamp(70px,7vw,110px);text-align:center}
.legacy-intro>p:last-child{max-width:680px;margin:30px auto;line-height:1.8;color:#6c5951}
.legacy .eyebrow{color:#8a6a42}
.timeline{position:relative;max-width:1180px;margin:auto}
.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#b79a6260}
.timeline-line span{position:absolute;top:0;width:1px;height:0;background:var(--brown);transition:height .1s}
.chapter{min-height:500px;display:grid;grid-template-columns:1fr 1fr;gap:10%;position:relative;align-items:center}
.chapter>div{grid-column:2}
.chapter.reverse>div{grid-column:1;grid-row:1;text-align:right}
.chapter>div{position:relative;padding:55px 0}
.chapter-number{position:absolute;top:-25px;right:0;margin:0;font:10rem/1 "Italiana";color:#bea05c12;pointer-events:none}
.chapter.reverse .chapter-number{right:auto;left:0}
.chapter>div:after{content:"";display:block;width:55px;height:1px;background:var(--gold);margin-top:32px;transition:width .8s .4s}
.chapter.reverse>div:after{margin-left:auto}
.chapter.visible>div:after{width:120px}
.pairings{background:#241210;color:var(--white);padding:clamp(85px,8vw,130px) 8vw;position:relative;overflow:hidden}
.pairings:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 22%,#bea05c13,transparent 30%),linear-gradient(120deg,transparent 55%,#12070666);pointer-events:none}
.pairings-intro{max-width:1300px;margin:0 auto 70px;display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;align-items:end;position:relative}
.pairings-intro .eyebrow{color:var(--gold)}
.pairings-intro h2{font:400 clamp(3.5rem,6.4vw,7rem)/.92 "Italiana";margin:22px 0 0;letter-spacing:-.035em}
.pairings-intro h2 em{display:block;color:var(--gold);font-style:normal}
.pairings-intro>p{color:#cbbcb3;line-height:1.8;margin:0 0 12px;max-width:510px}
.pairing-tabs{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bea05c3d;border-bottom:1px solid #bea05c3d}
.pair-tab{position:relative;border:0;border-right:1px solid #bea05c3d;background:transparent;color:#b6a69d;padding:23px 12px;text-transform:uppercase;letter-spacing:.2em;font-size:.65rem;cursor:pointer;transition:.35s}
.pair-tab:last-child{border-right:0}.pair-tab:hover,.pair-tab.active{color:var(--gold);background:#bea05c0a}.pair-tab.active:after{content:"";position:absolute;left:22%;right:22%;bottom:-1px;height:2px;background:var(--gold)}
.pairing-stage{max-width:1300px;min-height:700px;margin:46px auto 0;display:grid;grid-template-columns:1.08fr .92fr;border:1px solid #bea05c3d;background:#1b0c0b;position:relative}
.pairing-visual{position:relative;overflow:hidden;min-height:700px;background:radial-gradient(circle at 48% 50%,#5a302a 0,#2a1512 37%,#160908 72%);border-right:1px solid #bea05c3d}
.pairing-visual:after{content:"";position:absolute;inset:30px;border:1px solid #bea05c21;pointer-events:none}
.pairing-index{position:absolute;left:48px;top:42px;color:var(--gold);font:1rem "Italiana"}
.pairing-word{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);font:clamp(7rem,13vw,12rem)/1 "Italiana";letter-spacing:.05em;color:#ffffff06;white-space:nowrap;transition:.45s}
.pairing-orbit{position:absolute;width:460px;height:460px;border:1px solid #bea05c35;border-radius:50%;left:50%;top:49%;transform:translate(-50%,-50%)}
.pairing-orbit:before,.pairing-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid #bea05c18;inset:52px}.pairing-orbit:after{inset:112px}
.pairing-orbit>span{position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 25px var(--gold);transform:translate(-50%,-50%)}
.pairing-orbit img{position:absolute;width:235px;height:235px;object-fit:contain;filter:drop-shadow(0 28px 24px #000c);transition:.5s cubic-bezier(.2,.8,.2,1)}
.pairing-orbit img:first-of-type{left:-25px;top:58px;transform:rotate(-9deg)}.pairing-orbit img:last-of-type{right:-18px;bottom:40px;transform:rotate(10deg) scale(.84)}
.pairing-stage.swapping .pairing-orbit img{opacity:0;transform:scale(.75)}
.pairing-note{position:absolute;bottom:46px;left:50%;transform:translateX(-50%);margin:0;color:#9f8b80;text-transform:uppercase;letter-spacing:.22em;font-size:.58rem;white-space:nowrap}
.pairing-content{padding:clamp(55px,6vw,95px);display:flex;flex-direction:column;justify-content:center;position:relative}
.pairing-content .eyebrow{color:var(--gold)}
.pairing-content h3{font:400 clamp(3rem,4.5vw,5.1rem)/.98 "Italiana";margin:20px 0 30px}
.pairing-content>p{color:#cbbcb3;line-height:1.8;margin:0 0 35px}
.taste-map{display:grid;gap:13px;padding:24px 0;border-top:1px solid #bea05c35;border-bottom:1px solid #bea05c35}.taste-map>div{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:15px}.taste-map span{text-transform:uppercase;letter-spacing:.14em;font-size:.57rem;color:#9f8b80}.taste-map i{display:block;height:2px;background:#ffffff12}.taste-map b{display:block;height:100%;background:linear-gradient(90deg,#806635,var(--gold));transition:width .55s}
.pairing-why,.pairing-suggestions{display:grid;grid-template-columns:90px 1fr;gap:15px;margin-top:24px;align-items:start}.pairing-why>span,.pairing-suggestions>span{text-transform:uppercase;letter-spacing:.14em;font-size:.57rem;color:#9f8b80;padding-top:4px}.pairing-why p{margin:0;color:#e7dcd3;font-size:.86rem}.pairing-suggestions>div{display:flex;gap:8px;flex-wrap:wrap}.pairing-suggestions button{border:1px solid #bea05c55;background:transparent;color:var(--gold);padding:8px 11px;font-size:.68rem;cursor:default}
.pairing-disclaimer{max-width:1300px;margin:25px auto 0;text-align:right;color:#786861;font-size:.63rem}
.future-drop{position:relative;min-height:820px;background:radial-gradient(circle at 72% 48%,#641e3047,transparent 31%),linear-gradient(135deg,#17080c 0,#2b0d17 52%,#16080b 100%);color:var(--white);display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(40px,7vw,110px);padding:clamp(90px,9vw,145px) 9vw;overflow:hidden}
.future-drop:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 42%,#ffffff05 50%,transparent 58%);transform:translateX(-110%);animation:future-sheen 9s ease-in-out infinite;pointer-events:none}
.future-drop:after{content:"COMING SOON";position:absolute;left:-1.5vw;bottom:-.15em;font:400 clamp(5rem,13vw,13rem)/.8 "Italiana",serif;letter-spacing:.02em;color:#ffffff05;white-space:nowrap;pointer-events:none}
.future-copy,.future-visual{position:relative;z-index:1}
.future-copy{max-width:610px}
.future-drop .eyebrow{color:#d6b96d}
.future-drop h2{font:400 clamp(3.5rem,5.7vw,6.4rem)/.92 "Italiana",serif;letter-spacing:-.035em;margin:24px 0 30px}
.future-intro{max-width:560px;color:#d9c8c2;font-size:1rem;line-height:1.8}
.future-form{margin-top:46px;max-width:600px}
.future-form label{display:block;font:400 1.22rem "Italiana",serif;margin-bottom:14px;color:#fff8ed}
.future-field{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid #d6b96d8a;position:relative}
.future-field input[type="email"]{width:100%;min-width:0;border:0;background:transparent;color:#fff;padding:17px 10px 17px 0;font:1rem "DM Sans",sans-serif;outline:0}
.future-field input::placeholder{color:#af9790}
.future-field:focus-within{border-color:#efd98f;box-shadow:0 10px 30px #0002}
.future-field button{border:0;background:#c4a45c;color:#1d0a0e;padding:0 25px;text-transform:uppercase;letter-spacing:.14em;font-size:.67rem;font-weight:600;cursor:pointer;transition:.3s}
.future-field button:hover{background:#e0c77e}
.future-field button:disabled{cursor:wait;opacity:.65}
.future-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.future-status{min-height:1.4em;color:#9f8982;font-size:.7rem;letter-spacing:.04em;margin:12px 0 0}
.future-status.success{color:#dfca8f}.future-status.error{color:#e2a9aa}
.future-visual{display:grid;place-items:center}
.future-orbit{width:min(42vw,620px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,#7d273d47 0,#2d0d1788 42%,#12070a 72%);border:1px solid #d6b96d40;box-shadow:inset 0 0 90px #0008,0 35px 100px #08020499}
.future-orbit:before{content:"";position:absolute;inset:7%;border-radius:50%;border:1px solid #d6b96d2b}
.future-orbit:after{content:"";position:absolute;width:74%;height:11%;bottom:18%;border-radius:50%;background:#050102a3;filter:blur(28px)}
.future-orbit img{position:relative;z-index:2;width:94%;height:76%;object-fit:contain;filter:brightness(.5) saturate(.75) drop-shadow(0 26px 28px #000b);animation:future-float 7.5s cubic-bezier(.45,.05,.55,.95) infinite}
.future-ring{position:absolute;border-radius:50%;border:1px solid #d6b96d38;pointer-events:none}.ring-one{inset:-5%;border-style:dashed;animation:future-spin 34s linear infinite}.ring-two{inset:16%;border-color:#d6b96d1f}
.future-next{position:absolute;z-index:3;right:5%;top:12%;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#d6b96d;color:#250d14;font:1rem "Italiana";box-shadow:0 12px 30px #0007}
.future-seal{margin:28px 0 0;text-transform:uppercase;letter-spacing:.2em;color:#b8a29a;font-size:.6rem}.future-seal span{display:inline-block;width:38px;height:1px;background:#d6b96d;margin:0 12px 3px 0}
@keyframes future-float{0%,100%{transform:translate3d(0,6px,0) rotate(-.4deg)}50%{transform:translate3d(0,-13px,0) rotate(.4deg)}}@keyframes future-spin{to{transform:rotate(360deg)}}@keyframes future-sheen{0%,65%{transform:translateX(-110%)}85%,100%{transform:translateX(110%)}}
.year{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--brown);color:var(--gold);width:80px;height:80px;border-radius:50%;display:grid;place-items:center;font:1rem "Italiana";z-index:2}
.chapter h3{font:400 clamp(2.4rem,4vw,4.4rem)/1 "Italiana";margin:18px 0}
.chapter p:last-child{line-height:1.8;color:#685750}
.alfred{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:var(--white);min-height:780px;align-items:center}
.portrait-wrap{margin:0;position:relative;height:100%;min-height:720px;overflow:hidden}
.portrait-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,var(--deep)),linear-gradient(0deg,#1b0c0b88,transparent 50%)}
.portrait-wrap img{width:100%;height:100%;object-fit:cover;filter:sepia(.2) contrast(1.05)}
.portrait-wrap figcaption{position:absolute;z-index:2;bottom:34px;left:40px;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem}
.alfred-copy{padding:10%;position:relative}
.alfred-copy .huge{font:clamp(9rem,18vw,20rem)/.7 "Italiana";color:#ffffff08;position:absolute;top:-20%;left:0}
.alfred-copy .eyebrow{color:var(--gold);position:relative}
.alfred-copy h2{font-size:clamp(3.5rem,6vw,6.5rem);position:relative}
.alfred-copy>p{max-width:550px;line-height:1.8;color:#d9cdc4;position:relative}
.closing-script{font:2rem "Italiana"!important;color:var(--gold)!important;margin-top:45px}
.family-now{height:clamp(680px,55vw,860px);position:relative;overflow:hidden;background:#180c0a;color:var(--white)}
.family-now>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.015);transition:transform 8s ease}
.family-now:hover>img{transform:scale(1.045)}
.family-now-shade{position:absolute;inset:0;background:linear-gradient(90deg,#140806e8 0,#1408068c 31%,transparent 62%),linear-gradient(0deg,#140806c9 0,transparent 42%)}
.family-now-copy{position:absolute;z-index:2;left:8vw;bottom:10%;max-width:560px}
.family-now-copy .eyebrow{color:var(--gold)}
.family-now-copy h2{font:400 clamp(3.8rem,6.8vw,7rem)/.9 "Italiana";margin:20px 0 28px}
.family-now-copy>p:last-child{max-width:510px;line-height:1.75;color:#e1d4cb}
.family-names{position:absolute;z-index:2;right:6vw;bottom:5%;margin:0;color:#f6eee5;font-size:.66rem;text-transform:uppercase;letter-spacing:.15em}
.family-names span{color:var(--gold);margin-right:14px}
.testimonials{background:#f6f0e7;color:var(--ink);padding:0;overflow:hidden}
.community-split{display:grid;grid-template-columns:1fr 1fr;min-height:820px}
.reviews-half{padding:clamp(70px,7vw,120px);display:flex;flex-direction:column;justify-content:center;background:#f6f0e7;position:relative}
.reviews-half:after{content:"LC";position:absolute;right:-.06em;bottom:-.12em;font:18rem "Italiana";color:#3b201d08;pointer-events:none}
.reviews-half>.eyebrow{color:#8a6a42;position:relative;z-index:1}
.reviews-half h2{font:400 clamp(3.4rem,5.2vw,6rem)/.92 "Italiana";margin:22px 0 25px;position:relative;z-index:1}
.reviews-intro{max-width:520px;color:#715f56;line-height:1.7;margin:0 0 45px;position:relative;z-index:1}
.review-stack{position:relative;min-height:260px;border-top:1px solid #b99a5c66;border-bottom:1px solid #b99a5c66;z-index:1}
.review-slide{position:absolute;inset:0;padding:34px 0 30px;opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease;pointer-events:none}
.review-slide.active{opacity:1;transform:none;pointer-events:auto}
.review-stars{color:#bd8a37;font-size:1rem;letter-spacing:.22em}
.review-type{font-size:.62rem;text-transform:uppercase;letter-spacing:.25em;color:#835c43;margin:15px 0}
.review-slide blockquote{font:400 clamp(1.45rem,2.2vw,2.25rem)/1.22 "Italiana";margin:0;color:#351d18;max-width:650px}
.review-by{font-size:.58rem;text-transform:uppercase;letter-spacing:.17em;color:#8d766b;margin:23px 0 0}.review-by span{color:var(--gold);padding:0 6px}
.review-dots{display:flex;gap:8px;margin-top:26px;position:relative;z-index:1}.review-dots span{width:27px;height:2px;background:#9c887b55;transition:.5s}.review-dots span.active{width:56px;background:var(--gold)}
.social-half{background:#21100e;color:var(--white);padding:clamp(55px,5vw,85px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.social-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.social-heading .eyebrow{color:var(--gold)}.social-heading h3{font:400 clamp(2.8rem,4.2vw,4.8rem)/.93 "Italiana";margin:17px 0 0}.social-heading>span{text-align:right;color:#ab9990;font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;line-height:1.7}
.social-window{overflow:hidden;border:1px solid #bea05c44;background:#160908}
.social-track{display:flex;will-change:transform;animation:social-reel 22s cubic-bezier(.72,0,.18,1) infinite}
.social-track figure{flex:0 0 100%;height:500px;margin:0;position:relative;overflow:hidden}.social-track figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#140806c7 0,transparent 38%)}
.social-track img{width:100%;height:100%;display:block;object-fit:cover}.social-track figure:nth-child(1) img,.social-track figure:nth-child(5) img{object-position:center 55%}.social-track figure:nth-child(2) img{object-position:center 54%}.social-track figure:nth-child(3) img{object-position:center}.social-track figure:nth-child(4) img{object-position:center 60%}
.social-track figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:flex;align-items:center;gap:13px;text-transform:uppercase;letter-spacing:.16em;font-size:.61rem}.social-track figcaption span{color:var(--gold);font:1rem "Italiana"}
.social-progress{display:flex;align-items:center;gap:18px;margin-top:24px}.social-progress>span{height:1px;flex:1;background:linear-gradient(90deg,var(--gold),#bea05c24)}.social-progress p{margin:0;color:#b5a39a;font-size:.58rem;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap}
@keyframes social-reel{0%,17%{transform:translateX(0)}22%,39%{transform:translateX(-100%)}44%,61%{transform:translateX(-200%)}66%,83%{transform:translateX(-300%)}88%,100%{transform:translateX(-400%)}}
.final-cta{text-align:center;padding:clamp(100px,8vw,145px) 5vw;background:var(--cocoa);color:var(--white)}
.final-cta .eyebrow{color:var(--gold)}
.final-cta .cream{background:var(--pale);color:var(--brown);margin-top:25px}
.final-cta .cream:hover{transform:translateY(-2px);background:#fff}
footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:50px 6vw;background:#160a09;color:#a9978e;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em}
footer img{width:150px;opacity:.82}
footer p:nth-child(2){text-align:center}
footer p:last-child{text-align:right}
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}
.drawer{position:fixed;z-index:102;right:0;top:0;width:min(470px,100%);height:100%;background:var(--pale);padding:70px 50px;transform:translateX(100%);transition:.5s cubic-bezier(.7,0,.2,1);color:var(--ink)}
.drawer.open{transform:none}
.overlay{position:fixed;z-index:101;inset:0;background:#160807aa;opacity:0;visibility:hidden;transition:.4s}
.overlay.open{opacity:1;visibility:visible}
.close{position:absolute;right:28px;top:22px;background:none;border:0;font-size:2rem;cursor:pointer}
.drawer h2{font:3rem/1 "Italiana";margin:22px 0 50px}
.empty{padding:40px 0;border-top:1px solid #cabbac;border-bottom:1px solid #cabbac;color:#79665d}
.cart-item{display:grid;grid-template-columns:1fr auto auto;gap:22px;align-items:center;padding:25px 0;border-top:1px solid #cabbac;border-bottom:1px solid #cabbac}
.cart-item div:first-child{display:flex;flex-direction:column}
.cart-item small{color:#806d63;margin-top:5px}
.qty{display:flex;align-items:center;gap:10px}
.qty button{border:1px solid #c2ad98;background:transparent;width:28px;height:28px;cursor:pointer}
.checkout{width:100%;margin-top:35px}
.drawer-note{font-size:.72rem;line-height:1.6;color:#79675f}
.toast{position:fixed;z-index:110;bottom:30px;left:50%;transform:translate(-50%,30px);background:var(--gold);color:var(--deep);padding:15px 25px;opacity:0;transition:.35s;font-size:.8rem}
.toast.show{opacity:1;transform:translate(-50%,0)}
.choc-zoom{position:fixed;z-index:120;width:290px;height:330px;padding:18px 20px 20px;background:linear-gradient(145deg,#3a211d,#180b0a);border:1px solid #bea05c80;box-shadow:0 30px 80px #090302bb;color:var(--white);pointer-events:none;opacity:0;visibility:hidden;transform:translateY(12px) scale(.96);transition:opacity .22s,transform .22s,visibility .22s}
.choc-zoom.open{opacity:1;visibility:visible;transform:none}
.choc-zoom>span{display:block;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:.56rem}
.choc-zoom img{width:100%;height:225px;object-fit:contain;filter:drop-shadow(0 24px 20px #000a)}
.choc-zoom>div{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #bea05c40;padding-top:13px;gap:15px}.choc-zoom strong{font:1.25rem "Italiana"}.choc-zoom small{color:var(--gold);letter-spacing:.14em;font-size:.58rem;white-space:nowrap}

@media(min-width:801px) and (max-width:1100px){
.assortment-copy{grid-template-columns:minmax(210px,.75fr) minmax(290px,1fr);gap:clamp(150px,18vw,200px)}
.assortment h3{font-size:clamp(2.7rem,5vw,3.45rem)}
.assortment-showpiece{width:210px;height:270px;top:150px}
.assortment-showpiece img{width:145px;height:145px}
.flavour-count{left:-25px}
.community-split{grid-template-columns:1fr}.reviews-half,.social-half{padding:80px 7vw}.review-slide blockquote{font-size:2rem}.social-track figure{height:570px}
}

@media(max-width:800px){.nav{height:72px;padding:0 22px}
.brand img{width:105px}
.nav nav{display:none}
.hero{min-height:780px}
.hero:after{display:none}
.hero-media img{inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center;transform:none;opacity:.9;animation:none}
.hero-shade{background:linear-gradient(0deg,rgba(18,7,6,.96) 5%,rgba(18,7,6,.52) 62%,rgba(18,7,6,.2))}
.hero-copy{left:24px;right:24px;top:auto;bottom:110px;transform:none}
.hero h1{font-size:3.8rem}
.lede{font-size:.95rem}
.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}
.hero-note{display:none}
.promise{padding:100px 24px}
.section-head{grid-template-columns:1fr}
.section-head h2{font-size:3.8rem}
.collection{padding:85px 20px}
.product{grid-template-columns:1fr}
.product-visual{min-height:500px}
.product-visual>img{inset:4% 1% 8%;width:98%;height:88%;animation-duration:8s}
.product-copy{padding:45px 28px}
.product h3{font-size:3rem}
.assortment{padding:65px 18px}
.assortment-copy{grid-template-columns:1fr;gap:28px;padding:0 12px;min-height:0}
.assortment-lead,.assortment-title{height:auto}.assortment-lead>p:not(.eyebrow),.assortment-title .assortment-key{margin-top:0}.assortment-title{gap:12px}
.assortment-showpiece{position:relative;left:auto;top:auto;width:100%;height:260px;margin:15px 0 25px;transform:none}.assortment-showpiece .showpiece-one{left:4%;top:45px}.assortment-showpiece .showpiece-two{right:22%;top:0}.assortment-showpiece .showpiece-three{right:2%;bottom:0}.assortment-showpiece img{width:145px;height:145px}.flavour-count{left:14px;bottom:0}
.chocolate-gallery{grid-template-columns:repeat(2,1fr);margin-top:38px}
.choc-card{min-height:190px;padding:20px 8px 16px}
.choc-card img{width:105px;height:80px}
.choc-zoom{display:none}
.box-lid{width:57%;right:1%}
.truffles{width:68%;left:3%}
.buy-row{gap:15px}
.chapter,.chapter.reverse{display:block;min-height:0;padding:80px 0 80px 55px}
.chapter>div,.chapter.reverse>div{grid-column:auto;text-align:left}
.chapter-number{font-size:7rem;top:10px}
.timeline-line{left:18px}
.year{left:18px;top:95px;width:48px;height:48px;font-size:.7rem}
.pairings{padding:85px 20px}.pairings-intro{grid-template-columns:1fr;gap:25px;margin-bottom:50px}.pairings-intro h2{font-size:3.7rem}.pairing-tabs{grid-template-columns:repeat(2,1fr)}.pair-tab:nth-child(2){border-right:0}.pair-tab:nth-child(-n+2){border-bottom:1px solid #bea05c3d}.pairing-stage{grid-template-columns:1fr;margin-top:30px}.pairing-visual{min-height:500px;border-right:0;border-bottom:1px solid #bea05c3d}.pairing-orbit{width:330px;height:330px}.pairing-orbit img{width:175px;height:175px}.pairing-content{padding:55px 25px}.pairing-content h3{font-size:3.2rem}.pairing-disclaimer{text-align:left;line-height:1.5}
.future-drop{min-height:0;grid-template-columns:1fr;padding:95px 24px 105px;gap:58px}.future-drop h2{font-size:3.65rem}.future-form{margin-top:34px}.future-field{grid-template-columns:1fr}.future-field button{min-height:54px;margin-bottom:1px}.future-orbit{width:min(88vw,470px)}.future-next{width:58px;height:58px}.future-drop:after{font-size:5rem;bottom:12px}
.alfred{grid-template-columns:1fr}
.portrait-wrap{min-height:540px}
.alfred-copy{padding:100px 28px}
.family-now{height:780px}.family-now>img{object-position:58% center}.family-now-shade{background:linear-gradient(0deg,#140806ed 0,#14080694 42%,transparent 72%)}.family-now-copy{left:25px;right:25px;bottom:11%;max-width:none}.family-now-copy h2{font-size:3.7rem}.family-now-copy>p:last-child{font-size:.9rem}.family-names{left:25px;right:25px;bottom:4%;line-height:1.6}.family-names span{display:block;margin:0 0 5px}.community-split{grid-template-columns:1fr;min-height:0}.reviews-half,.social-half{padding:78px 24px}.reviews-half:after{font-size:11rem}.reviews-half h2{font-size:3.65rem}.reviews-intro{margin-bottom:34px}.review-stack{min-height:330px}.review-slide blockquote{font-size:1.65rem}.social-heading{display:block}.social-heading>span{display:block;text-align:left;margin-top:18px}.social-heading h3{font-size:3.35rem}.social-track figure{height:470px}.social-progress p{font-size:.52rem}.real-photo-label{left:16px;bottom:16px}
.final-cta{padding:90px 24px}
.final-cta h2{font-size:3.8rem}
footer{grid-template-columns:1fr;text-align:center;gap:22px}
footer img{margin:auto}
footer p:nth-child(2),footer p:last-child{text-align:center}
.drawer{padding:65px 24px}
.scroll-cue{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal,.choc-card{opacity:1;transform:none;transition:none}
.hero-media img,.hero-halo,.product-visual>img,.future-drop:before,.future-orbit img,.ring-one,.social-track{animation:none}
.family-now>img{transition:none}
}
