:root{--ink:#191815;--paper:#f4f0e7;--cream:#fffaf0;--amber:#e59a43;--amber-dark:#a85d1c;--muted:#6d685e;--line:#d9d1c2;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.5}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,88px);border-bottom:1px solid #19181524;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:.8rem;font-weight:500;letter-spacing:.13em}.brand b{display:block}.bean-mark{color:var(--amber);font-size:1.45rem;transform:rotate(45deg);display:inline-block}.nav-order{color:var(--ink);font-weight:700;text-underline-offset:5px}.hero{min-height:680px;display:grid;grid-template-columns:1.02fr .98fr;padding:clamp(48px,7vw,100px) clamp(24px,6vw,88px) 80px;gap:clamp(36px,6vw,90px);align-items:center}.hero-copy{max-width:670px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.17em;color:var(--amber-dark);margin:0 0 22px}.hero h1,.schedule h2,.order-heading h2{font-family:"Fraunces",serif;line-height:.96;letter-spacing:-.04em;margin:0}.hero h1{font-size:clamp(3.4rem,7vw,7rem)}.hero h1 em{font-weight:600;color:var(--amber);font-style:italic}.intro{max-width:590px;font-size:clamp(1.08rem,1.6vw,1.3rem);color:var(--muted);margin:30px 0}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;border:0;text-decoration:none;font:inherit;font-weight:700;cursor:pointer;border-radius:4px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--ink);color:white;padding:17px 22px}.payment-note{font-size:.9rem;font-weight:600}.payment-note:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;background:var(--amber);border-radius:50%;margin-right:8px}.hero-visual{height:520px;position:relative}.hero-image{width:100%;height:100%;background:linear-gradient(145deg,#302b25,#100f0d) center/cover;border-radius:150px 150px 10px 10px;box-shadow:0 30px 80px #19181538}.hero-image:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 65% 25%,#e59a4547,transparent 35%),linear-gradient(transparent 65%,#0005)}.roast-stamp{position:absolute;left:-35px;bottom:46px;background:var(--amber);width:128px;height:128px;border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(-9deg);box-shadow:0 12px 30px #0003;letter-spacing:.08em}.roast-stamp strong{font-family:"Fraunces",serif;font-size:1.25rem}.roast-stamp span{font-size:.68rem;font-weight:700}.local-tag{position:absolute;right:-12px;top:42px;color:white;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;border-left:2px solid var(--amber);padding-left:13px}.schedule{background:var(--ink);color:white;padding:90px clamp(24px,6vw,88px)}.schedule>.eyebrow{color:var(--amber)}.schedule>div:first-child{display:flex;justify-content:space-between;align-items:end}.schedule h2{font-size:clamp(2.5rem,4.5vw,4.6rem);max-width:850px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#393733;margin-top:62px;border:1px solid #393733}.timeline-item{display:flex;gap:18px;background:var(--ink);padding:30px 26px;min-height:145px}.timeline-item>span{color:var(--amber);font-family:"Fraunces",serif}.timeline-item strong{font-size:1.15rem}.timeline-item p{color:#aaa49a;margin:7px 0 0;font-size:.92rem}.cutoff-note{margin:26px 0 0;color:#c5beb1;font-size:.9rem}.order-section{padding:100px clamp(24px,6vw,88px);max-width:1450px;margin:auto}.order-heading{text-align:center;max-width:680px;margin:0 auto 48px}.order-heading h2{font-size:clamp(3rem,5vw,5rem)}.order-heading>p:last-child{color:var(--muted);font-size:1.06rem}.coffee-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;border:0;padding:0;margin:0 auto 22px;max-width:920px}.coffee-card{background:var(--cream);border:2px solid transparent;border-radius:var(--radius);padding:25px;cursor:pointer;display:flex;flex-direction:column;min-height:220px;transition:.2s}.coffee-card:hover{transform:translateY(-3px)}.coffee-card.selected{border-color:var(--amber);box-shadow:0 12px 38px #412e1914}.coffee-card input{position:absolute;opacity:0;pointer-events:none}.card-top{display:flex;justify-content:space-between}.origin-code{font-size:.7rem;letter-spacing:.14em;color:var(--muted)}.check{opacity:0;color:var(--cream);background:var(--amber-dark);width:25px;height:25px;border-radius:50%;display:grid;place-items:center}.selected .check{opacity:1}.coffee-card>strong{font-family:"Fraunces",serif;font-size:2rem;margin-top:22px}.taste{color:var(--muted)}.from{margin-top:auto;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.from b{font-size:1.3rem;color:var(--ink);margin-left:4px}.form-card{max-width:920px;margin:auto;background:white;border-radius:var(--radius);padding:clamp(24px,4vw,46px);box-shadow:0 22px 65px #372b1c17}fieldset{border:0;margin:0;padding:0}legend,.details-grid label,.quantity{font-size:.85rem;font-weight:700}.form-row{display:flex;justify-content:space-between;gap:28px;padding-bottom:30px;border-bottom:1px solid var(--line)}.segmented{display:flex;margin-top:10px;border:1px solid var(--line);padding:4px;border-radius:8px}.segmented input{position:absolute;opacity:0}.segmented span{display:block;padding:10px 32px;border-radius:5px;cursor:pointer}.segmented input:checked+span{background:var(--ink);color:white}.quantity{display:flex;flex-direction:column;gap:10px}.quantity input{width:90px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.details-grid label{display:flex;flex-direction:column;gap:8px}.details-grid .wide{grid-column:1/-1}input,textarea{font:inherit;font-size:1rem;padding:13px 14px;border:1px solid var(--line);border-radius:7px;background:#fdfcf9;color:var(--ink)}input:focus,textarea:focus{outline:3px solid #e59a453d;border-color:var(--amber-dark)}textarea{resize:vertical}.order-summary{display:flex;justify-content:space-between;align-items:end;background:var(--paper);padding:20px;margin-top:28px;border-radius:10px}.order-summary div{display:flex;flex-direction:column}.order-summary span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.total{text-align:right}.total strong{font-family:"Fraunces",serif;font-size:2.1rem}.roast-message{margin:16px 0;color:var(--muted);font-size:.9rem}.roast-message:before{content:"●";color:var(--amber);margin-right:8px}.submit{width:100%;padding:17px 22px;background:var(--amber);color:var(--ink);font-size:1.05rem}.submit:hover{background:#eea650}.secure-note{text-align:center;color:var(--muted);font-size:.82rem;margin:13px 0 0}footer{background:#11110f;color:#aaa49a;padding:40px clamp(24px,6vw,88px);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:30px;font-size:.8rem}.footer-brand{color:white}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,120px);background:var(--ink);color:white;padding:13px 20px;border-radius:8px;transition:.3s;z-index:10}.toast.show{transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:820px){.nav{height:68px}.hero{grid-template-columns:1fr;padding-top:60px}.hero-visual{height:410px;max-width:520px;width:100%;margin:auto}.hero h1{font-size:clamp(3.1rem,15vw,5.4rem)}.roast-stamp{left:-8px;width:108px;height:108px}.timeline{grid-template-columns:1fr}.timeline-item{min-height:auto}.form-row{align-items:end}.details-grid{grid-template-columns:1fr}.details-grid .wide{grid-column:auto}footer{grid-template-columns:1fr}}@media(max-width:560px){.nav-order{font-size:.85rem}.hero{padding-left:20px;padding-right:20px}.hero-visual{height:360px}.local-tag{right:9px}.schedule,.order-section{padding-left:20px;padding-right:20px}.schedule h2{font-size:2.65rem}.coffee-grid{grid-template-columns:1fr}.coffee-card{min-height:180px}.form-card{padding:22px 18px}.form-row{flex-direction:column;align-items:stretch}.quantity input{width:100%}.segmented label{flex:1}.segmented span{text-align:center;padding:10px}.order-summary{align-items:center}.order-summary strong{font-size:.9rem}.total strong{font-size:1.8rem}.brand{font-size:.7rem}}
