*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #140f0d;--bg2: #1c1512;--cream: #f3ece2;--cream-dim: rgba(243, 236, 226, .55);--caramel: #c98a4b;--line: rgba(243, 236, 226, .12)}html{background:var(--bg)}body{background:var(--bg);color:var(--cream);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}@media(pointer:fine){body,body a,body button{cursor:none}}::selection{background:var(--caramel);color:var(--bg)}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:opacity .6s ease,visibility .6s}.loader.is-done{opacity:0;visibility:hidden}.loader__logo{font-family:Fraunces,serif;font-size:clamp(28px,5vw,44px);letter-spacing:.35em;font-weight:300}.loader__count{font-family:Fraunces,serif;font-size:15px;color:var(--caramel);font-variant-numeric:tabular-nums}.cursor,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9998;border-radius:50%;display:none}@media(pointer:fine){.cursor,.cursor-ring{display:block}}.cursor{width:8px;height:8px;background:var(--caramel);transform:translate(-50%,-50%)}.cursor-ring{width:36px;height:36px;border:1px solid rgba(201,138,75,.5);transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,background .3s ease}.cursor-ring.is-hover{width:64px;height:64px;background:#c98a4b1f}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:22px 40px;mix-blend-mode:difference}.nav__logo{font-family:Fraunces,serif;font-size:18px;letter-spacing:.25em;color:var(--cream);text-decoration:none}.nav__links{display:flex;gap:32px}.nav__links a{color:var(--cream);text-decoration:none;font-size:13px;letter-spacing:.12em;text-transform:uppercase;opacity:.75;transition:opacity .25s}.nav__links a:hover{opacity:1}.nav__cta{color:var(--cream);text-decoration:none;font-size:13px;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(243,236,226,.4);border-radius:99px;padding:10px 22px;transition:background .3s,color .3s}.nav__cta:hover{background:var(--cream);color:#000}@media(max-width:760px){.nav{padding:18px 20px}.nav__links{display:none}}.hero{position:relative;height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.hero__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2}.hero__title{position:relative;z-index:1;display:flex;gap:.35em;font-family:Fraunces,serif;font-weight:300;font-size:clamp(64px,14vw,210px);line-height:1;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.hero__word{display:inline-block}.hero__sub{position:relative;z-index:3;margin-top:3vh;font-size:15px;letter-spacing:.06em;color:var(--cream-dim);text-align:center;padding:0 20px}.hero__scroll{position:absolute;bottom:28px;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim)}.hero__scroll span{width:1px;height:44px;background:linear-gradient(to bottom,transparent,var(--caramel));animation:scrollPulse 1.8s ease-in-out infinite}@keyframes scrollPulse{0%,to{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;background:var(--bg2)}.marquee__track{display:flex;white-space:nowrap;width:max-content}.marquee__track span{font-family:Fraunces,serif;font-size:clamp(18px,2.6vw,30px);font-weight:300;letter-spacing:.12em;color:var(--caramel)}.sec-tag{display:block;font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--caramel);margin-bottom:18px}.sec-tag--light{color:var(--cream);opacity:.85}.sec-title{font-family:Fraunces,serif;font-weight:300;font-size:clamp(44px,7vw,96px);line-height:1.02;letter-spacing:-.01em}.sec-title em{font-style:italic;color:var(--caramel)}.sec-sub{margin-top:20px;max-width:460px;color:var(--cream-dim);font-size:15px;line-height:1.7}.drinks{position:relative}.drinks__pin{min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:60px 0}.drinks__head{padding:0 40px 50px}.drinks__track{display:flex;gap:28px;padding:0 40px;width:max-content}.drink{width:min(340px,78vw);flex-shrink:0}.drink__img{aspect-ratio:4 / 5;overflow:hidden;border-radius:4px;background:var(--bg2)}.drink__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .5s;filter:saturate(.9)}.drink:hover .drink__img img{transform:scale(1.06);filter:saturate(1.05)}.drink__row{display:flex;align-items:baseline;justify-content:space-between;margin:20px 0 8px;border-bottom:1px solid var(--line);padding-bottom:12px}.drink__row h3{font-family:Fraunces,serif;font-size:26px;font-weight:400}.drink__row span{font-family:Fraunces,serif;color:var(--caramel);font-size:18px}.drink p{color:var(--cream-dim);font-size:14px;line-height:1.65}.beans{padding:140px 40px;max-width:1280px;margin:0 auto}.beans__head{margin-bottom:110px}.bean{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center;margin-bottom:130px}.bean--rev .bean__img{order:2}.bean__img{aspect-ratio:4 / 5;overflow:hidden;border-radius:4px;background:var(--bg2)}.bean__img img{width:100%;height:115%;object-fit:cover;will-change:transform}.bean__roast{display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:7px 16px;border-radius:99px;border:1px solid;margin-bottom:24px}.bean__roast--light{color:#e8c497;border-color:#e8c49780}.bean__roast--medium{color:var(--caramel);border-color:#c98a4b80}.bean__roast--dark{color:#a4693a;border-color:#a4693a8c}.bean__info h3{font-family:Fraunces,serif;font-weight:300;font-size:clamp(36px,4.5vw,60px);line-height:1.05;margin-bottom:22px}.bean__info>p{color:var(--cream-dim);font-size:15px;line-height:1.75;max-width:440px}.bean__meta{margin-top:30px;display:flex;flex-direction:column}.bean__meta span{font-size:13px;letter-spacing:.04em;color:var(--cream-dim);padding:12px 0;border-top:1px solid var(--line)}.bean__meta span:last-child{color:var(--caramel);font-family:Fraunces,serif;font-size:17px}.grind{padding:120px 40px 160px;background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.grind__head{max-width:1280px;margin:0 auto 80px}.grind__scale{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative}.grind__scale:before{content:"";position:absolute;top:44px;left:6%;right:6%;height:1px;background:linear-gradient(90deg,#c98a4b26,#c98a4b99,#c98a4b26)}.grind__stop{background:none;border:none;color:var(--cream);font-family:inherit;text-align:center;padding:10px 6px 0;position:relative;transition:transform .3s ease}.grind__stop:hover,.grind__stop.is-active{transform:translateY(-6px)}.grind__dotviz{display:block;width:68px;height:68px;margin:0 auto 18px;border-radius:50%;border:1px solid rgba(201,138,75,.4);background-image:radial-gradient(circle at center,#8a5a34 calc(var(--s) / 2),transparent calc(var(--s) / 2 + .5px));background-size:calc(var(--s) * 2) calc(var(--s) * 2);background-position:center;transition:box-shadow .3s ease,border-color .3s ease}.grind__stop.is-active .grind__dotviz,.grind__stop:hover .grind__dotviz{border-color:var(--caramel);box-shadow:0 0 0 6px #c98a4b1f,0 10px 30px #0006}.grind__stop b{display:block;font-family:Fraunces,serif;font-weight:400;font-size:17px;margin-bottom:4px}.grind__stop i{font-style:normal;font-size:12px;letter-spacing:.06em;color:var(--cream-dim)}.grind__desc{max-width:560px;margin:56px auto 0;text-align:center;min-height:84px}.grind__desc p{color:var(--cream-dim);font-size:15.5px;line-height:1.75}.roastery{position:relative;min-height:90vh;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center}.roastery__bg{position:absolute;top:-12%;right:0;bottom:-12%;left:0}.roastery__bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.35) saturate(.8);will-change:transform}.roastery__content{position:relative;z-index:1;padding:100px 24px;max-width:900px}.roastery__content h2{font-family:Fraunces,serif;font-weight:300;font-size:clamp(34px,5.5vw,68px);line-height:1.1}.roastery__stats{display:flex;justify-content:center;gap:clamp(30px,7vw,90px);margin-top:64px;flex-wrap:wrap}.rstat b{font-family:Fraunces,serif;font-weight:300;font-size:clamp(38px,5vw,64px);color:var(--caramel);font-variant-numeric:tabular-nums}.rstat span{display:block;margin-top:8px;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--cream-dim)}.visit{padding:130px 40px 30px;max-width:1280px;margin:0 auto}.visit__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}.visit__title{font-family:Fraunces,serif;font-weight:300;font-size:clamp(36px,5vw,64px);line-height:1.08}.visit__info{display:grid;gap:28px}.visit__info p{color:var(--cream-dim);font-size:15px;line-height:1.7}.visit__info b{display:block;color:var(--cream);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}.visit__cta{margin-top:80px;display:flex;align-items:center;justify-content:space-between;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--cream);text-decoration:none;font-family:Fraunces,serif;font-size:clamp(24px,3.5vw,44px);font-weight:300;transition:color .3s,padding-left .4s ease}.visit__cta:hover{color:var(--caramel);padding-left:20px}.visit__logo{font-family:Fraunces,serif;font-weight:300;font-size:clamp(60px,12.5vw,190px);letter-spacing:.04em;text-align:center;margin-top:70px;line-height:1;color:#f3ece217;-webkit-user-select:none;user-select:none;white-space:nowrap}.visit__bottom{display:flex;justify-content:space-between;gap:16px;padding:30px 0;font-size:12px;color:var(--cream-dim);flex-wrap:wrap}@media(max-width:860px){.bean{grid-template-columns:1fr;margin-bottom:90px}.bean--rev .bean__img{order:0}.beans,.grind,.visit{padding-left:20px;padding-right:20px}.drinks__head{padding:0 20px 40px}.drinks__track{padding:0 20px}.grind__scale{grid-template-columns:repeat(2,1fr);gap:30px 10px}.grind__scale:before{display:none}.visit__grid{grid-template-columns:1fr;gap:40px}}
