@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap");

:root{--forest:#18372c;--forest-deep:#112c23;--cream:#f7f2e9;--paper:#fbf8f1;--sand:#e8ddca;--orange:#d7a06d;--ink:#243026;--muted:#6b746b;--line:#d7d8cc;--display:"Playfair Display",Georgia,serif;--body:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #efac6d;outline-offset:4px}
.skip-link{position:absolute;left:-999px;top:10px;background:#fff;color:#111;padding:12px;z-index:100}
.skip-link:focus{left:12px}
.wrap{width:min(100% - 80px,1320px);margin-inline:auto}
.section-pad{padding-block:126px}
.display-title{font:500 clamp(2.9rem,4.35vw,5.45rem)/1.14 var(--display);letter-spacing:-.045em;margin:0}
.display-title em{font-weight:500;color:#a6764b}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#9b6b42;margin:0 0 29px}
.eyebrow.light{color:#e7c69f}
.eyebrow-line{height:1px;width:25px;background:currentColor}
.body-large{font-size:1.22rem;line-height:1.8;color:#657168}
.text-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;font-weight:800;letter-spacing:.02em;border-bottom:1px solid currentColor;padding-bottom:8px;transition:gap .2s ease,color .2s ease}
.text-link:hover{gap:26px;color:#b37b49}
.light-link{color:#fff}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:55px;padding:0 22px;font-size:13px;font-weight:800;transition:transform .2s ease,background .2s ease}
.button:hover{transform:translateY(-3px)}
.button-cream{background:var(--cream);color:var(--forest)}
.button-cream:hover{background:#fff}
.site-header{position:absolute;z-index:30;top:0;left:0;right:0;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}
.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:19px;font-weight:800;letter-spacing:.16em;white-space:nowrap}
.brand img{object-fit:contain;filter:brightness(0) invert(1)}
.brand-dot{color:#dea66d}
.site-nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,43px);font-size:12px;font-weight:700}
.site-nav>a:not(.nav-cta){transition:color .2s ease}
.site-nav>a:not(.nav-cta):hover{color:#e7c69f}
.nav-cta{border:1px solid rgba(255,255,255,.65);padding:13px 16px;display:flex;gap:18px;white-space:nowrap;transition:background .2s ease,color .2s ease}
.nav-cta:hover{background:var(--cream);color:var(--forest)}
.menu-toggle{display:none}
.hero{position:relative;min-height:760px;height:min(880px,100svh);color:#fff;background:var(--forest-deep);overflow:hidden}
.hero-photo,.hero-shade,.closing-photo,.closing-overlay{position:absolute;inset:0}
.hero-photo{background:url('/assets/cafe-interior.jpg') center 44% / cover no-repeat;transform:scale(1.01)}
.hero-shade{background:linear-gradient(90deg,rgba(10,32,24,.88) 0%,rgba(10,32,24,.72) 39%,rgba(10,32,24,.1) 85%),linear-gradient(0deg,rgba(8,31,23,.57),transparent 35%)}
.hero-content{position:relative;z-index:2;padding-top:clamp(170px,20vh,210px)}
.hero-content h1{font:500 clamp(4.4rem,6vw,7rem)/.99 var(--display);letter-spacing:-.055em;margin:0;max-width:1240px}
.hero-content h1 em{font-weight:500;color:#f0c89e}
.hero-lede{font-size:16px;line-height:1.75;max-width:515px;margin:29px 0 30px;color:#f2eee5}
.hero-actions{display:flex;align-items:center;gap:34px}
.hero-side-note{position:absolute;right:-57px;top:50%;z-index:2;transform:rotate(90deg);font-size:10px;letter-spacing:.2em;font-weight:700;color:#f0e6d7}
.hero-side-note span{padding-inline:20px;color:#e7bd8f}
.hero-bottom{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);z-index:2;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;font-weight:700;color:#e2dfd5}
.hero-bottom span:last-child span{font-size:18px;vertical-align:-2px;padding-left:12px}
.intro{background:#f8f5ed}
.intro-grid{display:grid;grid-template-columns:1fr 3fr;gap:55px}
.section-tag{margin-top:21px}
.intro .display-title{max-width:1070px}
.intro .body-large{max-width:710px;margin:30px 0 0}
.story-block{background:#f1ecdf}
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:min(8vw,120px)}
.story-grid.reverse{grid-template-columns:.88fr 1.12fr}
.story-photo{position:relative;min-height:620px;overflow:hidden}
.story-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.story-photo:hover img{transform:scale(1.04)}
.photo-rounded{border-radius:170px 170px 4px 4px}
.photo-index{position:absolute;bottom:0;left:0;background:var(--cream);font-size:10px;font-weight:800;letter-spacing:.13em;padding:17px 23px;color:var(--forest)}
.story-copy .display-title{font-size:clamp(2.9rem,4.1vw,5rem)}
.story-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#647065;max-width:570px;margin:30px 0 35px}
.rule-list{border-top:1px solid #cfcdbf}
.rule-list>div{display:grid;grid-template-columns:40px 1fr;column-gap:12px;padding:17px 0;border-bottom:1px solid #cfcdbf}
.rule-list span{font-size:11px;font-weight:800;color:#a6764b;grid-row:span 2;padding-top:3px}
.rule-list strong{font-size:15px}
.rule-list p{margin:4px 0 0;font-size:13px;color:#6c756c}
.run-section{background:var(--forest);color:#fff;overflow:hidden}
.run-heading{display:flex;align-items:end;justify-content:space-between;gap:80px}
.run-heading .display-title{font-size:clamp(3.2rem,5.3vw,6.3rem)}
.run-heading .display-title em{color:#e1af79}
.run-heading>p{max-width:390px;font-size:17px;line-height:1.8;color:#d2dcd1;margin:0 0 10px}
.run-visual{display:flex;align-items:center;justify-content:space-between;position:relative;padding-block:85px 64px;gap:16px}
.run-line{height:1px;position:absolute;top:135px;left:4%;right:4%;background:repeating-linear-gradient(90deg,#e0bc91 0,#e0bc91 6px,transparent 6px,transparent 13px);opacity:.75}
.run-stop{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:13px}
.run-stop>span{display:grid;place-items:center;width:100px;height:100px;border-radius:50%;background:#325244;border:1px solid #799989;color:#fff;font:600 30px var(--display);box-shadow:0 0 0 9px var(--forest)}
.run-stop.active>span,.run-stop.final>span{background:#e6c39b;color:var(--forest);border-color:#e6c39b}
.run-stop small{font-size:10px;letter-spacing:.14em;color:#dce5d7;font-weight:700}
.run-dots{z-index:1;align-self:flex-start;padding-top:24px;background:var(--forest);font:600 42px var(--display);letter-spacing:10px;color:#e6c39b}
.run-note{display:flex;align-items:center;gap:24px;border-top:1px solid #6d8977;padding-top:30px}
.camera-symbol{width:56px;height:56px;border:1px solid #9fb5a4;border-radius:50%;display:grid;place-items:center;color:#f0ca9c;font-size:32px;flex:none}
.run-note p{line-height:1.7;color:#d7dfd4;max-width:700px;margin:0;flex:1}
.run-note strong{color:#fff}
.run-note .text-link{white-space:nowrap}
.community{background:#f7f3e9}
.community .story-photo img{object-position:center}
.pullquote{border-left:2px solid #ad7e56;padding:5px 0 5px 22px;margin:40px 0;font:italic 500 22px/1.5 var(--display);color:#41634c;max-width:490px}
.brew-section{background:#e8e5d9;padding-block:0}
.brew-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:min(9vw,130px)}
.brew-photo{height:690px;border-radius:0 0 170px 170px;overflow:hidden}
.brew-photo img{height:100%;width:100%;object-fit:cover}
.brew-panel{padding-block:85px}
.brew-panel>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#627064;max-width:480px;margin:30px 0 35px}
.brew-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid #c8caba;padding-top:27px}
.brew-icons div{display:flex;flex-direction:column;gap:8px}
.brew-icons span{font-size:29px;color:#ac7548}
.brew-icons strong{font-size:13px}
.brew-icons small{color:#6c756b;line-height:1.5}
.levels-section{background:#213d30;color:#f7f2e9;overflow:hidden}
.levels-top{display:flex;justify-content:space-between;align-items:end;gap:80px}
.levels-top .display-title{font-size:clamp(3rem,4.5vw,5.4rem)}
.levels-top .display-title em{color:#dfb486}
.levels-top>p{font-size:16px;line-height:1.8;color:#d4ded2;max-width:390px;margin:0 0 8px}
.levels-track{display:grid;grid-template-columns:repeat(10,minmax(116px,1fr));overflow-x:auto;padding-top:75px;padding-bottom:22px;scrollbar-color:#839b84 transparent}
.levels-track>div{position:relative;display:flex;flex-direction:column;gap:23px;border-top:1px solid #738b78;padding-top:28px;padding-right:10px;white-space:nowrap}
.levels-track>div:before{content:"";position:absolute;top:-5px;left:0;height:9px;width:9px;border-radius:50%;background:#d4ae7f;box-shadow:0 0 0 4px #213d30}
.levels-track span{font:500 34px var(--display);color:#d4ae7f}
.levels-track strong{font-size:12px;font-weight:700}
.levels-track .last span,.levels-track .last strong{color:#fff}
.levels-caption{display:flex;justify-content:space-between;gap:20px;padding-top:28px;border-top:1px solid #667e6c;font-size:10px;letter-spacing:.13em;font-weight:700;color:#bccbbd}
.app-section{background:#f9f6ee}
.section-heading{text-align:center;max-width:790px;margin:0 auto 62px}
.section-heading .eyebrow{justify-content:center}
.section-heading>p:not(.eyebrow){max-width:590px;margin:26px auto 0;font-size:16px;line-height:1.75;color:#657168}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d2d5c9;border-left:1px solid #d2d5c9}
.feature-grid article{position:relative;min-height:278px;padding:35px 37px;border-right:1px solid #d2d5c9;border-bottom:1px solid #d2d5c9;transition:background .2s ease}
.feature-grid article:hover{background:#f1ede2}
.feature-num{position:absolute;right:30px;top:33px;color:#9a9f91;font-size:11px;font-weight:800}
.feature-glyph{color:#ac784d;font:500 36px var(--display);height:67px}
.feature-grid h3{font:500 29px var(--display);margin:0 0 12px}
.feature-grid h3 small{font:800 9px var(--body);letter-spacing:.08em;color:#a1744a;border:1px solid #c8ad90;padding:5px 7px;vertical-align:middle;white-space:nowrap}
.feature-grid p{margin:0;max-width:330px;color:#687268;font-size:14px;line-height:1.7}
.coming-feature{background:#eee9dc}
.wallet-section{background:#eee8db}
.wallet-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:min(10vw,140px)}
.wallet-grid>div:first-child>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#5f6e60;max-width:530px;margin:30px 0}
.wallet-card{aspect-ratio:1.65;position:relative;overflow:hidden;border-radius:22px;display:flex;flex-direction:column;justify-content:space-between;padding:37px 40px;background:radial-gradient(circle at 85% 15%,#65836a 0,transparent 30%),linear-gradient(125deg,#1b372c 0%,#10261d 68%,#214335 100%);color:#fff;box-shadow:0 33px 46px -22px #586454a1;transform:rotate(-4deg)}
.wallet-card:before{content:"";position:absolute;inset:-90px -100px auto auto;width:320px;height:320px;border:1px solid #b7c6aa54;border-radius:50%;box-shadow:0 0 0 58px #ffffff09,0 0 0 116px #ffffff09}
.wallet-card-top,.wallet-card-bottom{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
.wallet-card-top>span:first-child{font-size:18px;letter-spacing:.16em;font-weight:800}
.wallet-star{font-size:35px;color:#e6c093}
.wallet-card-middle{position:relative;z-index:1;font:italic 500 clamp(24px,3vw,42px)/1.13 var(--display);color:#f0dcc3}
.wallet-card-bottom{font-size:9px;font-weight:700;letter-spacing:.16em;color:#d9e1d3}
.closing{min-height:620px;position:relative;overflow:hidden;background:var(--forest-deep);color:#fff;display:flex;align-items:center}
.closing-photo{background:url('/assets/pour-over.jpg') center / cover no-repeat;opacity:.8}
.closing-overlay{background:linear-gradient(90deg,rgba(10,30,23,.95),rgba(10,30,23,.78) 45%,rgba(10,30,23,.28)),linear-gradient(0deg,rgba(10,30,23,.48),transparent 45%)}
.closing-content{position:relative;z-index:1;padding-block:110px}
.closing .display-title{font-size:clamp(3.8rem,5.6vw,6.8rem)}
.closing .display-title em{color:#eac6a0}
.closing-content>p:not(.eyebrow){font-size:17px;color:#dbe4d8;max-width:530px;line-height:1.7;margin:27px 0}
.closing-actions{display:flex;align-items:center;gap:36px;margin:28px 0 36px}
.closing-content>small{font-size:11px;color:#c2d1bd}
.site-footer{background:#132b22;color:#f7f2e9}
.footer-main{padding-block:76px;display:flex;justify-content:space-between;gap:90px}
.footer-brand{margin-bottom:23px}
.footer-main>div:first-child>p{font-size:14px;line-height:1.8;color:#bfcbbd;max-width:320px}
.footer-links{display:flex;gap:clamp(45px,6vw,110px)}
.footer-links>div{display:flex;flex-direction:column;gap:15px;font-size:13px}
.footer-links strong{color:#deb88c;font-size:10px;letter-spacing:.14em;margin-bottom:8px}
.footer-links a{color:#d2ddd0;white-space:nowrap}
.footer-links a:hover{color:#fff;text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #446050;padding:23px 0;font-size:10px;font-weight:700;letter-spacing:.11em;color:#b4c4b6}
@media(max-width:1050px){.wrap{width:min(100% - 48px,1320px)}.hero{min-height:710px}.hero-content h1{font-size:clamp(4rem,8vw,7rem)}.story-grid,.story-grid.reverse{gap:50px}.story-photo{min-height:520px}.run-heading,.levels-top{gap:40px}.run-note{flex-wrap:wrap}.run-note .text-link{margin-left:80px}.feature-grid article{padding:30px}.wallet-grid{gap:50px}.footer-links{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:65px}.wrap{width:min(100% - 40px,540px)}.section-pad{padding-block:80px}.display-title{font-size:clamp(2.7rem,10vw,4.2rem)}.site-header{position:absolute}.header-inner{height:70px}.brand{font-size:17px}.brand img{width:30px;height:30px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:38px;height:38px;border:0;background:transparent;padding:4px;color:#fff;z-index:32}.menu-toggle span{height:2px;width:28px;background:#fff;transition:transform .2s ease}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:0;left:0;right:0;min-height:100svh;background:#17372b;padding:100px 30px 35px;flex-direction:column;align-items:flex-start;gap:28px;font-size:22px}.menu-open .site-nav{display:flex}.nav-cta{font-size:16px;margin-top:15px}.hero{height:auto;min-height:760px}.hero-photo{background-position:59% center}.hero-shade{background:linear-gradient(90deg,rgba(10,32,24,.9),rgba(10,32,24,.54)),linear-gradient(0deg,rgba(8,31,23,.62),transparent 40%)}.hero-content{padding-top:174px;padding-bottom:130px}.hero-content h1{font-size:clamp(3.55rem,11.6vw,5.9rem)}.hero-lede{font-size:15px;max-width:390px}.hero-actions{align-items:flex-start;flex-direction:column;gap:28px}.hero-side-note{display:none}.hero-bottom{bottom:21px;font-size:9px}.hero-bottom span:last-child{display:none}.intro-grid{grid-template-columns:1fr;gap:10px}.intro .body-large{font-size:17px;line-height:1.7}.story-grid,.story-grid.reverse{display:flex;flex-direction:column;gap:45px}.story-grid.reverse .story-copy{order:2}.story-grid.reverse .story-photo{order:1}.story-photo{width:100%;min-height:470px}.story-copy .display-title{font-size:clamp(2.8rem,10vw,4.4rem)}.story-copy>p:not(.eyebrow){margin:25px 0 25px}.run-heading,.levels-top{display:block}.run-heading>p,.levels-top>p{margin:25px 0 0}.run-visual{width:min(100% - 40px,540px);padding-block:65px 45px;gap:4px}.run-line{top:95px}.run-stop>span{width:60px;height:60px;font-size:24px;box-shadow:0 0 0 4px var(--forest)}.run-stop small{font-size:8px;letter-spacing:.06em}.run-dots{font-size:27px;padding-top:17px;letter-spacing:3px}.run-note{display:grid;grid-template-columns:48px 1fr;gap:15px}.camera-symbol{width:48px;height:48px}.run-note p{font-size:13px}.run-note .text-link{grid-column:2;margin:10px 0 0}.pullquote{font-size:21px}.brew-section{padding-block:0 80px}.brew-grid{display:flex;flex-direction:column;gap:0}.brew-photo{width:100%;height:420px;border-radius:0 0 110px 110px}.brew-panel{padding-block:70px 0}.levels-track{grid-template-columns:repeat(10,118px);padding-top:50px}.levels-caption span:last-child{display:none}.section-heading{margin-bottom:43px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-grid article{min-height:248px;padding:25px}.feature-grid h3{font-size:24px}.feature-grid h3 small{display:block;width:max-content;margin-top:8px}.feature-grid p{font-size:13px}.wallet-grid{grid-template-columns:1fr;gap:50px}.wallet-card{width:min(100%,490px);margin:auto}.closing{min-height:600px}.closing-content{padding-block:90px}.closing .display-title{font-size:clamp(3.3rem,10vw,5rem)}.closing-actions{flex-direction:column;align-items:flex-start;gap:25px}.footer-main{padding-block:60px;flex-direction:column;gap:45px}.footer-links{flex-wrap:wrap;gap:35px 50px}.footer-bottom span:last-child{display:none}}
@media(max-width:430px){.hero-content h1{font-size:clamp(3.15rem,11.4vw,4.4rem)}.hero{min-height:700px}.hero-bottom{display:none}.story-photo{min-height:390px}.run-stop>span{width:54px;height:54px}.run-line{top:92px}.run-stop small{font-size:7px}.brew-icons{gap:10px}.brew-icons small{font-size:10px}.feature-grid article{min-height:260px;padding:20px}.feature-grid h3{font-size:22px}.feature-glyph{height:55px}.wallet-card{padding:23px;border-radius:17px}.wallet-card-top>span:first-child{font-size:13px}.wallet-card-bottom{font-size:7px}.wallet-card-middle{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
