:root{--ink:#143028;--green:#12382c;--yellow:#f0c14b;--page:#fff;--line:#e4ddd2;--muted:#5d6b64;--link:#0f6b45;--sans:'Manrope',system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
a:hover{color:var(--link)}
img{max-width:100%;display:block}
.ticker-wrap{background:var(--green);overflow:hidden}
.ticker{overflow:hidden;height:38px}
.ticker-track{display:flex;width:max-content;animation:marquee 80s linear infinite}
.ticker-set{display:flex;align-items:center;height:38px;gap:28px;padding-right:28px}
.ticker a{color:#f4f7f5;font-size:14px;font-weight:700;line-height:38px;white-space:nowrap}
.ticker a:hover{color:var(--yellow)}
@keyframes marquee{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:22px;padding:16px clamp(20px,3vw,56px) 8px}
.logo{display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--green);text-decoration:none;line-height:1}
.logo:hover{color:var(--green)}
.logo-word{display:flex;align-items:center;font-weight:800;font-size:36px;letter-spacing:-.04em;white-space:nowrap}
.logo-tag{display:flex;align-items:center;gap:8px;width:100%;font-size:11px;font-weight:700;letter-spacing:.04em;color:currentColor;opacity:.72;text-transform:none}
.logo-tag i{flex:1;height:1px;background:currentColor;opacity:.7}
.cup{display:inline-flex;width:1.05em;height:1.05em;margin:0 .04em;align-self:center;flex:0 0 auto}
.cup-svg{width:100%;height:100%;overflow:visible;display:block}
.bowl,.rim{fill:currentColor}
.sip{fill:var(--page)}
.handle{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round}
.hero-logo .sip,.site-footer .sip{fill:var(--green)}
.steam{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:center}
.s1{animation:aroma 2.6s ease-out infinite}
.s2{animation:aroma 2.6s ease-out .45s infinite}
.s3{animation:aroma 2.6s ease-out .9s infinite}
@keyframes aroma{0%{opacity:0;transform:translateY(5px)}22%{opacity:.9}100%{opacity:0;transform:translateY(-12px)}}
.hero-logo{color:#fff;margin-left:0;flex:0 0 auto}
.hero-logo .logo-word{font-size:clamp(44px,4.2vw,76px)}
.hero-logo .logo-tag{font-size:13px}
.hero-logo .handle{stroke-width:6}
.site-footer .logo-word{font-size:32px}
.slide a.hero-logo:hover{color:#fff}
.site-footer .logo{color:#fff}
.site-footer .logo-tag{color:rgba(255,255,255,.78)}
.site-footer .logo:hover{color:var(--yellow)}
.find{flex:1;display:flex;align-items:center;border:1px solid #cfc8bc;border-radius:999px;overflow:hidden;background:#fff;max-width:760px;margin:0 auto}
.find input{flex:1;border:0;height:46px;padding:0 18px;font:inherit;font-size:15px;outline:none;min-width:0;background:#fff;color:var(--ink)}
.find button{border:0;border-radius:0 999px 999px 0;background:var(--green);color:#fff;font:inherit;font-weight:700;height:46px;padding:0 22px;cursor:pointer}
.catnav{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;padding:8px clamp(20px,3vw,56px) 12px;font-weight:700;font-size:15px}
.catnav a.on{border-bottom:2px solid var(--green)}
.catnav a.free-nav{background:var(--yellow);color:#1a1205;border-radius:999px;padding:4px 12px}
.catnav a.free-nav:hover{color:#1a1205}
.trust{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;background:#f6f3ee;color:var(--green);font-size:13px;font-weight:700;padding:10px 20px;border-top:1px solid var(--line)}
.wrap{width:min(1400px,calc(100% - 80px));margin:0 auto;padding:8px 0 64px}
h1,h2,h3{font-weight:800;margin:0;color:var(--green)}
.crumbs{font-size:14px;color:var(--muted);margin:18px 0}
.crumbs a{color:var(--muted)}
.slider{position:relative;display:grid;width:100%;background:var(--green);color:#fff;overflow:hidden;touch-action:pan-y}
.slide{grid-area:1/1;display:flex;visibility:hidden;align-items:center;justify-content:flex-start;gap:28px;width:100%;padding:28px 52% 12px clamp(72px,6vw,110px);min-height:0}
.slide.on{visibility:visible;z-index:1}
.slide a:hover{color:#fff}
.slide-copy{flex:1;min-width:260px;max-width:640px;color:#fff}
.slide-copy h2{color:#fff;font-size:clamp(28px,3vw,42px);line-height:1.1;max-width:22ch;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.slide .btn{margin-top:18px}
.slide .by{color:rgba(255,255,255,.78);margin:8px 0 0;font-size:13px;font-weight:600}
.fan{position:relative;flex:0 0 420px;width:420px;height:220px}
.fan .shot{position:absolute;bottom:0;width:140px;height:210px;overflow:hidden;background:#fff;border-radius:0;box-shadow:0 18px 40px rgba(0,0,0,.35);display:block}
.fan .shot img{position:static;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top;background:#e7dfcf}
.fan .shot:nth-child(1){left:0}
.fan .shot:nth-child(2){left:148px;z-index:2}
.fan .shot:nth-child(3){left:280px}
.slider-btn{position:absolute;top:42%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--green);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.18)}
.slider-btn.prev{left:clamp(10px,1.5vw,22px)}
.slider-btn.next{right:12px;top:auto;bottom:16px}
.dots{grid-row:2;position:relative;z-index:4;display:flex;justify-content:center;gap:8px;padding:0 0 18px}
.dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.35);padding:0;cursor:pointer}
.dots button.on{background:#fff}
.facts{display:flex;flex-wrap:wrap;gap:10px 28px;width:min(1400px,calc(100% - 80px));margin:0 auto;background:#f6f3ee;color:var(--green);font-weight:700;padding:14px 0}
.shelf-note{margin:-6px 0 18px;max-width:46em;color:var(--muted);font-size:16px;line-height:1.45}
.circle em{display:block;margin-top:6px;font-style:normal;font-size:clamp(14px,1vw,17px);font-weight:600;line-height:1.35;color:var(--muted)}
.eyebrow{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.eyebrow a{color:var(--link)}
.slide .eyebrow a{color:var(--yellow)}
.lede{font-size:18px;line-height:1.5;max-width:34ch;margin:14px 0 0}
.slide .lede{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:10px;color:rgba(255,255,255,.92)}
.flipbook{position:absolute;top:0;bottom:0;left:52%;right:64px;width:auto;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none}
.flipbook .hero-logo{pointer-events:auto;color:#fff}
.flipbook .hero-logo .logo-word{font-size:clamp(56px,5vw,96px)}
.flipbook .hero-logo .logo-tag{font-size:clamp(15px,1.3vw,22px)}
.section{margin-top:42px}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px}
.section h2{font-size:28px}
.section-head a{font-weight:700;color:var(--green)}
.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px 20px}
.shelf{display:flex;gap:18px;overflow-x:auto;padding-bottom:12px}
.card{position:relative;min-width:0;color:var(--ink)}
.grid .card{width:100%}
.shelf .card{flex:0 0 240px;width:240px}
.card:hover{color:var(--ink)}
.card .pic{aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:14px;border:8px solid transparent;background-image:linear-gradient(#f6f3ee,#f6f3ee),linear-gradient(90deg,#e8d5a3,#c4a574 20%,#12382c 50%,#c4a574 80%,#e8d5a3);background-origin:border-box;background-clip:padding-box,border-box}
.card img{width:100%;height:100%;object-fit:contain}
.card .pic.pin{aspect-ratio:auto;padding:0;border:0;background:none}
.card .pic.pin img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center top;background:#e7e1d8;box-shadow:0 8px 18px rgba(20,48,40,.12)}
.pin-card h3{font-size:15px;line-height:1.3;height:auto;max-height:3.9em;margin:10px 0 2px}
.card h3{font-size:clamp(16px,1.1vw,20px);line-height:1.3;height:3.9em;margin:12px 0 4px;font-weight:700;color:var(--green);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.flag{position:absolute;top:8px;left:8px;background:#fff;color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase;padding:3px 8px;border-radius:999px;letter-spacing:.04em}
.price{font-size:12px;font-weight:600;color:var(--muted)}
.price s{color:var(--muted);font-weight:600;margin-right:6px}
.circles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:28px 18px;padding:8px 0 12px}
.circle{text-align:center;color:var(--ink)}
.circle:hover{color:var(--ink)}
.orb{--shift:0s;position:relative;width:min(100%,200px);aspect-ratio:1;height:auto;border-radius:50%;border:4px solid transparent;background-image:linear-gradient(#ece7df,#ece7df),linear-gradient(90deg,#e8d5a3,#c4a574 20%,#12382c 50%,#c4a574 80%,#e8d5a3);background-origin:border-box;background-clip:padding-box,border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0 auto 14px;transition:transform .28s ease}
.orb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1);transition:transform .28s ease}
.orb img.on{opacity:1}
.circle:hover .orb{transform:scale(1.08)}
.circle:hover .orb img{transform:scale(1.06)}
@keyframes orb2{0%{opacity:0}17%{opacity:1}67%{opacity:1}85%{opacity:0}100%{opacity:0}}
@keyframes orb3{0%{opacity:0}12%{opacity:1}45%{opacity:1}56%{opacity:0}100%{opacity:0}}
@keyframes orb4{0%{opacity:0}9%{opacity:1}34%{opacity:1}42%{opacity:0}100%{opacity:0}}
@keyframes orb5{0%{opacity:0}7%{opacity:1}27%{opacity:1}34%{opacity:0}100%{opacity:0}}
.orb[data-n] img{z-index:1}
.orb[data-n] img:nth-child(2){z-index:2}
.orb[data-n] img:nth-child(3){z-index:3}
.orb[data-n] img:nth-child(4){z-index:4}
.orb[data-n] img:nth-child(5){z-index:5}
.orb[data-n="2"] img{animation:orb2 10.4s ease-in-out infinite both;animation-delay:calc(var(--shift) - 3.2s)}
.orb[data-n="2"] img:nth-child(2){animation-delay:calc(var(--shift) + 2s)}
.orb[data-n="3"] img{animation:orb3 15.6s ease-in-out infinite both;animation-delay:calc(var(--shift) - 3.2s)}
.orb[data-n="3"] img:nth-child(2){animation-delay:calc(var(--shift) + 2s)}
.orb[data-n="3"] img:nth-child(3){animation-delay:calc(var(--shift) + 7.2s)}
.orb[data-n="4"] img{animation:orb4 20.8s ease-in-out infinite both;animation-delay:calc(var(--shift) - 3.2s)}
.orb[data-n="4"] img:nth-child(2){animation-delay:calc(var(--shift) + 2s)}
.orb[data-n="4"] img:nth-child(3){animation-delay:calc(var(--shift) + 7.2s)}
.orb[data-n="4"] img:nth-child(4){animation-delay:calc(var(--shift) + 12.4s)}
.orb[data-n="5"] img{animation:orb5 26s ease-in-out infinite both;animation-delay:calc(var(--shift) - 3.2s)}
.orb[data-n="5"] img:nth-child(2){animation-delay:calc(var(--shift) + 2s)}
.orb[data-n="5"] img:nth-child(3){animation-delay:calc(var(--shift) + 7.2s)}
.orb[data-n="5"] img:nth-child(4){animation-delay:calc(var(--shift) + 12.4s)}
.orb[data-n="5"] img:nth-child(5){animation-delay:calc(var(--shift) + 17.6s)}
.circle strong{display:block;font-size:clamp(16px,1.2vw,22px);font-weight:700;line-height:1.3;color:var(--green)}
.circle:hover strong{font-weight:800;background-image:linear-gradient(90deg,#c4a574,#12382c 35%,#e8d5a3 50%,#12382c 65%,#c4a574);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:nameflow 2.8s linear infinite}
@keyframes nameflow{from{background-position:0 50%}to{background-position:220% 50%}}
.muted{display:block;margin-top:4px;font-size:clamp(14px,1vw,17px);color:var(--muted)}
.cat-title{font-size:clamp(34px,5vw,46px);line-height:1.08}
.intro{font-size:18px;line-height:1.5;color:var(--muted);max-width:640px}
.collection-count{margin:6px 0 0;color:var(--muted);font-size:15px}
.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin:18px 0 22px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.collection-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.collection-filters strong{font-size:14px;font-weight:600}
.facet{position:relative}
.facet summary{list-style:none;cursor:pointer;border:1px solid #cfc8bc;background:#fff;border-radius:4px;padding:8px 28px 8px 12px;font-size:14px}
.facet summary::-webkit-details-marker{display:none}
.facet summary:after{content:"";position:absolute;right:12px;top:50%;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.facet-panel{position:absolute;z-index:4;top:calc(100% + 6px);left:0;min-width:210px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(20,48,40,.1);padding:12px 14px;display:grid;gap:8px}
.facet-panel label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}
.collection-sort{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:14px}
.collection-sort select{border:1px solid #cfc8bc;border-radius:4px;background:#fff;font:inherit;padding:8px 12px}
.collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.collection-card{display:flex;flex-direction:column;min-width:0;color:#121212;background:#fff}
.collection-card .shot{position:relative;aspect-ratio:1;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.collection-card img{width:100%;height:100%;object-fit:contain;padding:7%;box-sizing:border-box;transition:transform .35s ease}
.collection-card:hover img{transform:scale(1.04)}
.collection-card .meta{background:#f3f3f3;text-align:center;padding:20px 16px 16px;min-height:112px;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:Inter,sans-serif}
.collection-card h3{margin:0;width:100%;font-family:Inter,sans-serif;font-size:15px;font-weight:400;letter-spacing:.04em;line-height:1.3;color:#121212;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.collection-card:hover h3{text-decoration:underline}
.collection-card .price{margin:0;font-family:Inter,sans-serif;text-align:center;font-size:16px;font-weight:400;letter-spacing:.06em;line-height:1.45;color:#121212}
.collection-flag{position:absolute;left:8px;bottom:8px;background:#fff;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px}
.collection-empty{color:var(--muted);margin:12px 0 0}
@media(max-width:1100px){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}}
.search{width:min(520px,100%);height:52px;border:1px solid #cfc5b0;border-radius:8px;padding:0 16px;font:inherit;font-size:16px;margin:8px 0 22px}
.product{width:min(1240px,100%);margin:0 auto}
.book{display:flex;gap:48px;align-items:flex-start;justify-content:flex-start;flex-wrap:nowrap;margin:8px 0 0}
.gallery{flex:0 0 640px;width:min(640px,100%)}
.product .book{flex-wrap:wrap;gap:64px;align-items:stretch}
.product .card-col{flex:0 0 auto;max-width:100%;display:flex;flex-direction:column}
.product .card-col > .rule{width:min(480px,100%);margin:16px 0 0}
.product .stage{display:flex;gap:12px;align-items:stretch}
.product .gallery{position:relative;flex:0 0 480px;width:min(480px,100%);aspect-ratio:2/3;background:#fff;border-radius:16px;overflow:hidden}
.mainimg{display:block;width:100%;height:auto;object-fit:contain;border-radius:16px;background:#fff}
.product .gallery .mainimg,.product .pin-fly{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:16px;background:transparent}
.product-photo{z-index:1}
.pin-fly{z-index:2;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 55%,#000 70%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 55%,#000 70%,#000 100%);-webkit-mask-size:100% 300%;mask-size:100% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center bottom;mask-position:center bottom}
.pin-fly.go{transition:mask-position 1s linear,-webkit-mask-position 1s linear;-webkit-mask-position:center top;mask-position:center top}
.info{position:relative;isolation:isolate;overflow:hidden;flex:1 1 360px;min-width:280px;max-width:640px;border-radius:16px;align-self:stretch}
.pin-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.1;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 55%,#000 70%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 55%,#000 70%,#000 100%);-webkit-mask-size:100% 300%;mask-size:100% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center top;mask-position:center top}
.pin-bg.go{transition:mask-position 1s linear,-webkit-mask-position 1s linear;-webkit-mask-position:center bottom;mask-position:center bottom}
.pin-bg.go.away{transition:mask-position 1s linear,-webkit-mask-position 1s linear;-webkit-mask-position:center top;mask-position:center top}
.info > :not(.pin-bg){position:relative;z-index:1}
.product .buy{background:#f6f3ee;border-radius:12px;padding:18px;transition:background 1s ease}
.info.amazon .buy{background:#f6f3ee}
.info.amazon .buy .btn{background:linear-gradient(to bottom,#f8e3ad,#f0c14b 45%,#e6b325);border:1px solid #a88734;border-bottom-color:#846a29;color:#111;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 2px 0 #9c7e31,0 5px 8px rgba(80,50,0,.28);transform:translateY(-1px)}
.info.amazon .buy .btn:hover{background:linear-gradient(to bottom,#fbe6b4,#f0c14b);color:#111}
.info.amazon .buy .btn:active{transform:translateY(1px);box-shadow:inset 0 2px 4px rgba(0,0,0,.25)}
@media(prefers-reduced-motion:reduce){.pin-fly,.pin-bg{display:none}.info .buy{background:#f6f3ee}.info .buy .btn{background:linear-gradient(to bottom,#f8e3ad,#f0c14b 45%,#e6b325);border:1px solid #a88734;border-bottom-color:#846a29;color:#111;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 2px 0 #9c7e31,0 5px 8px rgba(80,50,0,.28)}}
.title{font-size:clamp(32px,4vw,48px);line-height:1.08}
.tagline{font-style:italic;font-size:20px;font-weight:600;line-height:1.35;color:var(--green);margin:8px 0 16px}
.buy{background:#f6f3ee;border-radius:12px;padding:18px;max-width:420px}
.buy p{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--muted)}
.buy .fine{margin:12px 0 0;font-size:14px;font-weight:400;line-height:1.5;color:var(--muted)}
.rule{height:2px;margin:16px 0 0;border-radius:2px;background:linear-gradient(90deg,rgba(18,56,44,0),#c4a574 18%,#12382c 50%,#c4a574 82%,rgba(18,56,44,0))}
.product>.rule{margin:36px 0 8px}
.spec{width:100%;margin:22px 0 0;border-collapse:collapse;font-size:16px}
.spec th{text-align:left;font-weight:500;color:var(--muted);padding:10px 12px 10px 0;border-bottom:1px solid var(--line);width:38%}
.spec td{padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.price-sketch{position:relative;width:min(100%,340px);aspect-ratio:1;margin:8px 0 0;overflow:hidden;clip-path:inset(0 0 100% 0)}
.price-sketch.go{animation:sketchDown 1.15s linear forwards}
@keyframes sketchDown{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
.price-sketch svg{width:100%;height:100%;display:block}
.price-sketch .sketch{fill:none;stroke:#3d2b1a;stroke-linecap:round;stroke-linejoin:round}
.price-sketch .steam-path{stroke:#3d2b1a;stroke-width:1.8;fill:none;stroke-linecap:round;opacity:0}
.price-sketch .s1{animation:steamUp 2.8s ease-in-out infinite}
.price-sketch .s2{animation:steamUp 2.8s ease-in-out infinite .7s}
.price-sketch .s3{animation:steamUp 2.8s ease-in-out infinite 1.4s}
@keyframes steamUp{0%{opacity:0;transform:translateY(6px) scaleY(.6)}25%{opacity:.7}80%{opacity:.4}100%{opacity:0;transform:translateY(-18px) scaleY(1)}}
.price-sketch .bean-g{animation:beanFloat linear infinite;opacity:0}
.price-sketch .b1{animation-duration:7s}
.price-sketch .b2{animation-duration:9s;animation-delay:2.5s}
.price-sketch .b3{animation-duration:11s;animation-delay:5s}
.price-sketch .b4{animation-duration:8s;animation-delay:1.2s}
@keyframes beanFloat{0%{opacity:0;transform:translateY(300px) rotate(0deg)}10%{opacity:.6}85%{opacity:.4}100%{opacity:0;transform:translateY(-60px) rotate(200deg)}}
.price-sketch .orbit-ring{animation:sketchSpin 16s linear infinite;transform-origin:240px 240px}
.price-sketch .orbit-ring2{animation:sketchSpin 10s linear infinite reverse;transform-origin:240px 240px}
@keyframes sketchSpin{to{transform:rotate(360deg)}}
.price-sketch .hatch{stroke:#3d2b1a;stroke-width:.8;opacity:.12;animation:hatchPulse 4s ease-in-out infinite}
@keyframes hatchPulse{0%,100%{opacity:.12}50%{opacity:.22}}
.price-sketch .ripple{stroke:#3d2b1a;stroke-width:1;fill:none;animation:rippleAnim 2.5s ease-out infinite;transform-origin:240px 234px}
.price-sketch .r2{animation-delay:.8s}
.price-sketch .r3{animation-delay:1.6s}
@keyframes rippleAnim{0%{opacity:.5;transform:scale(.3)}100%{opacity:0;transform:scale(1)}}
.price-sketch .sketch-label{position:absolute;bottom:7%;left:50%;transform:translateX(-50%);font-family:Caveat,Georgia,cursive;font-size:22px;color:rgba(61,43,26,.45);letter-spacing:.05em;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.price-sketch,.price-sketch.go{clip-path:none;animation:none}.price-sketch .steam-path,.price-sketch .bean-g,.price-sketch .orbit-ring,.price-sketch .orbit-ring2,.price-sketch .hatch,.price-sketch .ripple{animation:none;opacity:.45}}
.about{width:100%;margin:48px 0 0}
.about h2{font-size:32px;margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:8px;background:var(--yellow);color:#1a1205;font-weight:800}
.btn:hover{color:#1a1205}
.buy .btn{width:100%;transition:background 1s ease,box-shadow 1s ease,transform 1s ease,border-color 1s ease,color 1s ease}
.prose{font-size:20px;line-height:1.6;color:var(--ink)}
.prose p{margin:0 0 14px}
.about-block{max-width:760px;padding-top:8px}
.about-block h2{font-size:28px;line-height:1.15;margin:28px 0 10px;color:var(--green)}
.about-block .rule{max-width:380px;margin:18px 0 22px}
.journal{display:flex;flex-direction:column;gap:56px;margin-top:32px}
.story{display:grid;grid-template-columns:minmax(220px,380px) minmax(0,1fr);gap:32px;align-items:start}
.story img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.story h2{font-size:clamp(28px,3vw,36px);margin:8px 0 12px}
a.story{color:inherit}
a.story:hover{color:inherit}
a.story:hover h2{color:var(--link)}
.story-lede{margin:0;max-width:40em;color:var(--muted);font-size:18px;line-height:1.5}
.product.story-read{width:min(1040px,100%)}
.story-read{display:flow-root}
.story-read .stage{float:left;width:min(380px,42vw);margin:0 48px 28px 0}
.story-read .gallery{width:100%;flex:none}
.story-read .mainimg{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;border-radius:16px;cursor:default}
.story-read ol{margin:0 0 14px;padding-left:1.2em}
.story-read li{margin:0 0 8px}
.site-footer{margin-top:auto;background:var(--green);color:#e7eeea}
.site-footer a{color:#e7eeea}
.site-footer a:hover{color:var(--yellow)}
.foot{padding:32px clamp(20px,3vw,56px);display:flex;gap:36px;flex-wrap:wrap;justify-content:space-between}
.foot-links{display:flex;flex-wrap:wrap;gap:10px 18px;flex:1;align-content:flex-start;max-width:720px}
.foot strong{color:#fff;font-size:18px}
@media(max-width:1280px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.bar{flex-wrap:wrap}.find{flex:1 0 100%}.slide{flex-direction:column;align-items:flex-start;padding:16px 16px 56px}.slide-copy{min-width:0;width:100%;max-width:none}.slide-copy h2{max-width:none}.fan{flex:0 0 auto;width:100%;max-width:340px;height:170px}.fan .shot,.fan .shot:nth-child(2),.fan .shot:nth-child(3){width:100px;height:150px}.fan .shot:nth-child(1){left:8px}.fan .shot:nth-child(2){left:96px}.fan .shot:nth-child(3){left:184px}.flipbook{top:12px;right:12px;bottom:auto;left:auto;justify-content:flex-end}.flipbook .hero-logo .logo-word{font-size:18px}.slider-btn,.slider-btn.next{top:96px;bottom:auto}.book{flex-wrap:wrap;gap:28px}.gallery{flex-basis:100%;width:min(640px,100%)}.product .gallery{width:min(480px,100%);flex-basis:auto}.info{max-width:none}.circles,.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.story{grid-template-columns:1fr}.story-read .stage{float:none;width:min(380px,100%);margin:0 0 18px}}
@media(prefers-reduced-motion:reduce){.steam{animation:none;opacity:.55;transform:none}.orb,.orb img{transition:none;animation:none}.circle:hover .orb,.circle:hover .orb img{transform:none}.circle:hover strong{animation:none}.orb img.on{opacity:1}}
