:root{--brown:#503b2a;--dark:#2b211a;--cream:#f5f1e8;--sand:#d7c4aa;--accent:#b39773}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--brown);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bc874c;outline-offset:6px}.skip{position:fixed;top:-100px;left:15px;background:white;padding:16px;z-index:100}.skip:focus{top:15px}.header{position:absolute;top:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px 5%;border-bottom:1px solid #ffffff30;color:white}.brand img{width:92px;height:92px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}nav{display:flex;align-items:center;gap:42px;font-size:14px}nav a{padding:12px 0}nav a:hover{color:var(--sand)}.nav-cta{border-bottom:1px solid #ffffff90}.nav-cta span{margin-left:24px}.menu-toggle{display:none}.hero{position:relative;min-height:760px;height:100svh;max-height:1080px;color:var(--cream);display:flex;align-items:center;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo{object-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(23,17,13,.88),rgba(27,20,14,.55) 48%,rgba(20,16,12,.13)),linear-gradient(0deg,#21180f80,transparent 35%)}.hero-content{position:relative;z-index:1;padding:160px 7% 100px;width:100%}.eyebrow{font-size:11px;letter-spacing:2.5px;display:flex;align-items:center;gap:15px;font-weight:600}.eyebrow span{height:1px;width:35px;background:var(--sand)}h1{font-size:clamp(48px,5.6vw,84px);line-height:1.13;letter-spacing:-3px;font-weight:500;margin:32px 0 24px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--accent)}h1 em{color:var(--sand)}.intro{font-size:19px;line-height:1.75;color:#e0d8cd}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:20px 25px;border:1px solid var(--brown);font-size:13px;transition:background .2s,color .2s}.light{background:var(--cream);color:var(--brown);border-color:var(--cream);margin-top:26px}.button:hover{background:var(--brown);color:var(--cream)}.light:hover{background:var(--sand);color:var(--dark)}.button span{font-size:21px}.hero-bottom{position:absolute;bottom:32px;left:7%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px}.hero-bottom a{display:flex;align-items:center;gap:12px}.scroll-icon{border:1px solid #ffffff60;border-radius:30px;padding:12px 9px;font-size:14px}.ribbon{background:var(--brown);color:var(--sand);padding:26px 5%;display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:12px;letter-spacing:2px;overflow:hidden;white-space:nowrap}.ribbon i{font-size:24px;font-style:normal}.section{padding:85px 7% 105px;max-width:1800px;margin:auto}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:2px;padding-bottom:32px;border-bottom:1px solid #503b2a30}.tiny-diamond{font-size:28px}.philosophy-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;padding-top:65px}h2{font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.18;letter-spacing:-1.7px;margin:0}.copy p{font-size:15px;line-height:1.9;color:#756657;margin:0 0 20px}.copy .lead{font-size:21px;color:var(--brown);line-height:1.5}.text-link{display:inline-flex;gap:35px;border-bottom:1px solid var(--brown);padding:16px 0 10px;font-size:13px}.coffee{background:#eae3d7;max-width:none}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:45px 0}.section-heading h2{max-width:580px}.section-heading p{font-size:14px;line-height:1.8;color:#756657}.coffee-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.coffee-visual{position:relative}.coffee-visual img{width:100%;height:540px;object-fit:cover}.photo-tag{position:absolute;bottom:25px;left:25px;color:white;font-size:10px;letter-spacing:2px}.small-label{font-size:9px;letter-spacing:1.8px;margin:0 0 30px}.coffee-options details{border-top:1px solid #503b2a35;padding:24px 0}.coffee-options details:last-of-type{border-bottom:1px solid #503b2a35}.coffee-options summary{list-style:none;display:flex;align-items:center;gap:20px;cursor:pointer;font-size:28px}.coffee-options summary::-webkit-details-marker{display:none}.number{font-size:10px;align-self:start;margin-top:8px;color:#897863}summary small{display:block;font-size:12px;margin-top:10px;color:#756657}.plus{margin-left:auto;font-size:24px;font-weight:300}details[open] .plus{transform:rotate(45deg)}details p{font-size:14px;line-height:1.9;margin:22px 25px 0 34px;color:#756657}.editorial-note{font-size:11px;color:#756657;margin-top:24px}.moments{position:relative;overflow:hidden;text-align:center;padding:100px 25px 110px;background:var(--sand)}.moments .eyebrow{justify-content:center;font-size:10px}.moments h2{font-size:clamp(44px,6vw,84px);margin:30px 0}.moments em{color:var(--brown)}.moments>p:not(.eyebrow){font-size:15px;margin-bottom:35px}.moments>*:not(.watermark){position:relative;z-index:1}.watermark{position:absolute;right:-100px;bottom:-230px;font-size:700px;line-height:1;color:#503b2a0b;pointer-events:none}footer{background:var(--dark);color:var(--cream);padding:60px 7% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:50px}.footer-wordmark{font-size:28px;font-weight:800;letter-spacing:-1px}.footer-wordmark span{display:block;font-weight:400;font-size:10px;letter-spacing:4px;margin-top:10px}.footer-top p{font-family:Georgia,serif;font-size:25px;line-height:1.4;color:var(--sand)}.back-top{border:1px solid #ffffff40;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:20px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#b9ad9f;border-top:1px solid #ffffff20;padding-top:25px}@media(min-width:1600px){.hero-content{padding-left:10%}.section{padding-left:10%;padding-right:10%}}@media(max-width:760px){html{scroll-padding-top:20px}.header{padding:14px 6%}.brand img{width:70px;height:70px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;border:0;background:transparent;width:44px;height:44px;color:inherit}.menu-toggle span{height:1px;width:26px;background:currentColor}.header nav{display:none;position:absolute;top:99px;left:0;right:0;padding:25px 7%;background:var(--dark);flex-direction:column;align-items:stretch;gap:12px}.header nav.open{display:flex}.hero{min-height:690px;max-height:900px}.hero-content{padding:150px 7% 100px}h1{font-size:clamp(41px,8.4vw,62px);letter-spacing:-1.5px}.eyebrow{font-size:9px;letter-spacing:1.4px}.intro{font-size:16px}.hero-photo{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#17110dd9,#17110d66)}.hero-bottom>span{display:none}.ribbon{justify-content:flex-start;font-size:10px;padding:22px}.section{padding:55px 7% 65px}.section-label{font-size:9px;letter-spacing:1.2px}.section-label>span:nth-child(2):not(.tiny-diamond){display:none}.philosophy-grid,.coffee-grid{grid-template-columns:1fr;gap:35px}.philosophy-grid{padding-top:35px}.section-heading{display:block;padding:30px 0}.section-heading p{margin-bottom:0}.coffee-visual img{height:380px}.coffee-options summary{font-size:25px}.small-label{margin-top:10px}.moments{padding:70px 7%}.moments .button{font-size:11px;gap:20px}.footer-top{flex-wrap:wrap}.footer-wordmark{font-size:23px}.footer-top p{font-size:20px}.footer-bottom{flex-direction:column;font-size:9px}.button{padding:17px 20px}.copy .lead{font-size:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Navigation and motion refinement */
:root{--ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:115px}
.header{position:fixed;background:#f8f5ef;color:var(--brown);padding:10px 5%;height:94px;border-bottom:1px solid #503b2a1f;box-shadow:0 3px 18px #25190f06;transition:box-shadow .3s ease}
.header.scrolled{box-shadow:0 5px 25px #25190f16}
.brand{flex-shrink:0;transition:opacity .25s ease}
.brand:hover{opacity:.75}
.brand img{width:74px;height:74px;mix-blend-mode:multiply}
.header nav{gap:12px}
.header nav a{position:relative;padding:13px 16px;font-size:13px;border-radius:5px;transition:background .25s ease,color .25s ease}
.header nav a:hover{background:#503b2a09;color:var(--brown)}
.header nav a[aria-current]{background:#503b2a0c;color:#302217}
.header nav a:not(.nav-cta)::after{content:'';position:absolute;bottom:5px;left:16px;right:16px;height:2px;background:var(--brown);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.header nav a[aria-current]::after{transform:scaleX(1)}
.header nav .nav-cta{border:1px solid #503b2a40;margin-left:18px;border-radius:4px;padding:13px 19px}
.nav-cta span{display:inline-block;margin-left:18px;transition:transform .3s var(--ease)}
.nav-cta:hover span{transform:translate(2px,-2px)}
.header nav .nav-cta:hover{background:var(--brown);color:var(--cream)}
.hero-content{padding-top:200px}
.button,.text-link,.back-top{transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s var(--ease)}
.button span,.text-link span{display:inline-block;transition:transform .3s var(--ease)}
.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}
.button:active{transform:translateY(1px)}
.back-top:hover{background:var(--cream);color:var(--brown);transform:translateY(-3px)}
.coffee-options details{overflow:hidden}
.coffee-options summary{transition:color .25s ease}
.coffee-options summary:hover{color:#947047}
.plus{transition:transform .3s var(--ease)}
@media(max-width:900px){
.header{height:84px;padding:8px 6%}
.brand img{width:66px;height:66px}
.menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:12px;width:auto;height:42px;padding:0 13px;border:1px solid #503b2a35;border-radius:4px;background:transparent;color:var(--brown);cursor:pointer;transition:background .25s ease}
.menu-toggle:hover{background:#503b2a09}
.menu-toggle .menu-label{width:auto;height:auto;background:none;font-size:12px}
.menu-toggle .menu-lines{display:flex;flex-direction:column;gap:6px;width:20px;height:auto;background:none}
.menu-toggle .menu-lines span{width:20px;height:1px;background:currentColor;transition:transform .3s var(--ease)}
.menu-toggle[aria-expanded=true] .menu-lines span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-lines span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.header nav,.header nav.open{display:flex;position:absolute;top:83px;left:0;right:0;flex-direction:column;align-items:stretch;gap:5px;background:#f8f5ef;padding:18px 6% 24px;border-bottom:1px solid #503b2a25;box-shadow:0 15px 20px #25190f10;opacity:0;visibility:hidden;transform:translateY(-10px);clip-path:inset(0 0 100% 0);pointer-events:none;transition:opacity .25s ease,transform .35s var(--ease),clip-path .35s var(--ease),visibility 0s linear .35s}
.header nav.open{opacity:1;visibility:visible;transform:translateY(0);clip-path:inset(0);pointer-events:auto;transition-delay:0s}
.header nav a{padding:16px;font-size:14px}
.header nav .nav-cta{margin:10px 0 0;display:flex;justify-content:space-between;padding:16px}
.hero-content{padding-top:170px}
html{scroll-padding-top:104px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Warm translucent navigation, with an opaque fallback. */
.header{background:#f8f5efeb;border-bottom:1px solid #ffffff65;box-shadow:0 4px 24px #25190f08;transition:background .35s ease,box-shadow .35s ease,border-color .35s ease}
.header.scrolled{background:#f8f5eff5;border-bottom-color:#503b2a18;box-shadow:0 5px 24px #25190f12}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
.header{background:rgba(248,245,239,.60);-webkit-backdrop-filter:blur(22px) saturate(125%);backdrop-filter:blur(22px) saturate(125%)}
.header.scrolled{background:rgba(248,245,239,.78)}
}
@media(max-width:900px){.header nav,.header nav.open{background:rgba(248,245,239,.97);border-bottom-color:#503b2a18}}
@media(prefers-reduced-transparency:reduce){.header,.header.scrolled,.header nav,.header nav.open{background:#f8f5ef;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* Preserve the cup and branding in the supplied portrait photograph. */
.coffee-visual img{height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:center 60%}

/* Store photograph: frame the espresso machine across screen sizes. */
.hero-photo{object-position:center 52%}
.hero-shade{background:linear-gradient(90deg,rgba(24,18,13,.78),rgba(24,18,13,.45) 50%,rgba(24,18,13,.12)),linear-gradient(0deg,rgba(24,18,13,.38),transparent 40%)}
@media(max-width:760px){.hero-photo{object-position:center 48%}.hero-shade{background:linear-gradient(90deg,rgba(24,18,13,.69),rgba(24,18,13,.32)),linear-gradient(0deg,rgba(24,18,13,.42),transparent 40%)}}

/* Align the desktop introduction with the coffee columns below. */
@media(min-width:761px){
.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.section-heading h2{max-width:none}
.section-heading>p{margin:0;text-align:left;justify-self:stretch}
}
/* Coffee Journal connects the landing page with the scroll story. */
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px;flex-wrap:wrap}.hero-actions .light{margin:0}.hero-story{font-size:13px;border-bottom:1px solid #f5f1e860;padding:12px 0;display:inline-flex;gap:20px;transition:color .3s}.hero-story:hover{color:var(--sand)}
.journal{background:#293c33;color:var(--cream);max-width:none;padding-bottom:65px}.journal .section-label{border-color:#f5f1e830}.journal-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center;padding:60px 0}.journal-copy .eyebrow{font-size:9px;color:#c8c8b4;line-height:1.8}.journal h2{margin:24px 0 28px;font-size:clamp(36px,4vw,58px)}.journal em{color:#d5bb93}.journal-copy>p:not(.eyebrow){max-width:460px;font-size:15px;line-height:1.9;color:#d0d5ca}.journal .button{margin-top:22px;border-color:#c8c8b480;color:var(--cream)}.journal .button:hover{background:var(--cream);color:#293c33}.journal-sources{display:block;max-width:370px;margin-top:24px;font-size:11px;line-height:1.7;color:#bec8bc;text-decoration:underline;text-underline-offset:4px}.journal-cover{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;background:#182d20}.journal-cover img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.journal-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(#10221865,transparent 40%,#102218d9)}.journal-cover:hover img{transform:scale(1.045)}.journal-cover-top,.journal-cover-bottom{position:absolute;left:28px;right:28px;z-index:1}.journal-cover-top{top:28px;display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1.5px}.journal-cover-bottom{bottom:30px;font:italic clamp(28px,3vw,43px)/1.2 Georgia,serif}.cover-arrow{position:absolute;right:0;bottom:0;font:28px Arial;transition:transform .3s}.journal-cover:hover .cover-arrow{transform:translate(3px,-3px)}.journal-chapters{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff30}.journal-chapters>a{position:relative;padding:30px 35px 20px 0;transition:background .3s}.journal-chapters>a+a{padding-left:30px;border-left:1px solid #ffffff30}.journal-chapters>a:hover{background:#ffffff07}.journal-chapters>a>span{font-size:9px;letter-spacing:1.5px;color:#c4c8b7}.journal-chapters h3{font-weight:400;font-size:20px;margin:18px 0 10px}.journal-chapters p{font-size:12px;line-height:1.7;color:#c8cec5;max-width:230px}.journal-chapters b{position:absolute;right:15px;top:28px;font-weight:400}
.moments{padding:85px 7%}.moments h2{font-size:clamp(42px,5vw,70px)}.moment-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1240px;margin:50px auto;text-align:left}.moment-choices>a{display:flex;flex-direction:column;border:1px solid #503b2a40;padding:30px;transition:background .35s,transform .35s var(--ease)}.moment-choices>a:hover{background:#f5f1e870;transform:translateY(-5px)}.moment-number{font-size:10px;letter-spacing:2px}.moment-choices h3{font-size:25px;font-weight:400;letter-spacing:-.6px;margin:35px 0 15px}.moment-choices p{font-size:13px;line-height:1.8;margin:0 0 30px}.moment-drink{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding-top:20px;border-top:1px solid #503b2a30;margin-top:auto}.moment-drink b{font-size:16px;font-weight:400}.moment-signature{font-family:Georgia,serif;font-style:italic}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.footer-links a:hover{color:white}.coffee-options details{scroll-margin-top:120px}
@media(max-width:1050px) and (min-width:901px){.header nav{gap:2px}.header nav a{font-size:12px;padding:12px 10px}.header nav .nav-cta{margin-left:5px;padding:12px}}
@media(max-width:760px){.hero-actions{gap:15px;align-items:flex-start;flex-direction:column}.hero-story{font-size:12px}.journal-grid{grid-template-columns:1fr;gap:35px;padding:30px 0}.journal h2{font-size:38px}.journal-cover{aspect-ratio:1/1}.journal-cover-top,.journal-cover-bottom{left:20px;right:20px}.journal-cover-top{font-size:8px}.journal-chapters{grid-template-columns:1fr}.journal-chapters>a,.journal-chapters>a+a{padding:24px 28px 24px 0;border-left:0;border-bottom:1px solid #ffffff25}.journal-chapters h3{margin:12px 0}.journal-chapters p{max-width:none;margin-bottom:0}.moments{padding:60px 7%}.moment-choices{grid-template-columns:1fr;gap:12px;margin:35px 0}.moment-choices>a{padding:24px}.moment-choices h3{margin-top:20px}.footer-links{gap:18px}.hero-bottom{bottom:20px}}
.stores-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center;padding:45px 0}.stores-heading p{font-size:15px;line-height:1.9;color:#756657}.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.store-card{padding:36px;border:1px solid #503b2a30;background:#eae3d750}.store-number{font-size:10px;letter-spacing:2px;color:#756657}.store-card h3{font-size:clamp(24px,2.5vw,34px);font-weight:400;letter-spacing:-.8px;margin:28px 0 12px}.store-card p{font-size:14px;color:#756657}.store-card .text-link{margin-top:12px}
@media(max-width:760px){.stores-heading,.store-grid{grid-template-columns:1fr;gap:20px}.stores-heading{padding:30px 0}.stores-heading p{margin-bottom:0}.store-card{padding:26px}.store-card h3{font-size:26px}}
