:root{
  --ink:#211713;
  --espresso:#2a1710;
  --roast:#4a281a;
  --copper:#bd7444;
  --caramel:#d9a76c;
  --cream:#f4eadc;
  --paper:#fbf7f0;
  --sage:#66745d;
  --line:rgba(42,23,16,.14);
  --white:#fffdf9;
  --shadow:0 22px 70px rgba(32,20,14,.16);
  --radius:26px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:10px 16px;z-index:100}.skip-link:focus{left:10px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,247,240,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:13px;font-weight:800;letter-spacing:.02em}
.brand-mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--espresso);color:var(--cream);box-shadow:inset 0 0 0 2px rgba(217,167,108,.35)}
.brand-mark svg{width:24px;height:24px}
.brand-copy{display:flex;flex-direction:column;line-height:1.08}.brand-copy strong{font-size:1.04rem}.brand-copy span{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:#775f53;margin-top:6px}
.nav-links{display:flex;align-items:center;gap:28px;font-size:.93rem;font-weight:700}.nav-links a{position:relative;padding:8px 0}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--copper);transition:.25s}.nav-links a:hover:after,.nav-links a.active:after{right:0}
.menu-btn{display:none;border:0;background:none;font-size:1.5rem}
.hero{position:relative;overflow:hidden;background:var(--cream);min-height:690px;display:grid;align-items:center}
.hero:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 79% 40%,rgba(189,116,68,.26),transparent 24%),radial-gradient(circle at 16% 10%,rgba(255,255,255,.8),transparent 26%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.03fr .97fr;gap:60px;align-items:center;padding:90px 0}
.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.22em;font-size:.73rem;font-weight:800;color:var(--roast);margin-bottom:20px}.eyebrow:before{content:"";width:42px;height:1px;background:var(--copper)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.03;letter-spacing:-.025em;margin:0 0 20px}
h1{font-size:clamp(3.2rem,7vw,6.9rem);max-width:780px}h2{font-size:clamp(2.25rem,4vw,4.2rem)}h3{font-size:1.6rem}
.hero h1 em{font-weight:400;color:var(--copper)}
.lead{font-size:clamp(1.05rem,1.4vw,1.24rem);color:#67554b;max-width:700px}
.hero-actions,.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:800;transition:.25s;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--espresso);color:var(--cream);box-shadow:0 12px 32px rgba(42,23,16,.18)}.btn-secondary{border-color:rgba(42,23,16,.35);background:rgba(255,255,255,.45)}.btn-copper{background:var(--copper);color:#fff}
.hero-note{display:flex;gap:28px;flex-wrap:wrap;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}.hero-note div{min-width:120px}.hero-note strong{display:block;font-size:1.03rem}.hero-note span{display:block;font-size:.84rem;color:#7d685c;margin-top:3px}
.roaster-art{position:relative;min-height:500px;display:grid;place-items:center}
.roaster-disc{position:absolute;width:min(470px,90%);aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#3a2015,#150c08);box-shadow:var(--shadow)}
.roaster-disc:before,.roaster-disc:after{content:"";position:absolute;border-radius:50%;inset:9%;border:1px solid rgba(217,167,108,.35)}.roaster-disc:after{inset:20%;border-style:dashed}
.bean{position:absolute;width:115px;height:72px;border-radius:55% 45% 55% 45% / 60% 55% 45% 40%;background:linear-gradient(145deg,#7b452a,#2c150d);box-shadow:0 16px 35px rgba(0,0,0,.28);transform:rotate(var(--r))}.bean:after{content:"";position:absolute;left:50%;top:8%;bottom:8%;width:2px;background:rgba(244,234,220,.45);transform:rotate(10deg)}
.bean.b1{--r:-18deg;top:20%;left:18%}.bean.b2{--r:24deg;right:14%;top:28%;transform:rotate(var(--r)) scale(.82)}.bean.b3{--r:8deg;bottom:18%;left:38%;transform:rotate(var(--r)) scale(.68)}
.roaster-copy{position:relative;z-index:2;color:var(--cream);text-align:center;max-width:330px}.roaster-copy span{display:block;text-transform:uppercase;letter-spacing:.24em;font-size:.68rem;color:var(--caramel);font-weight:800}.roaster-copy strong{display:block;font-family:Georgia,serif;font-size:2.3rem;line-height:1.05;margin:10px 0}.roaster-copy small{font-size:.9rem;color:#d5c4b5}
.section{padding:105px 0}.section-white{background:var(--white)}.section-dark{background:var(--espresso);color:var(--cream)}.section-soft{background:var(--cream)}
.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:52px}.section-head p{margin:0;color:#715e52;max-width:560px}.section-dark .section-head p{color:#d5c4b5}.section-dark .eyebrow{color:var(--caramel)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:0 10px 32px rgba(42,23,16,.05)}.card-number{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--espresso);color:var(--cream);font-weight:800;margin-bottom:26px}.card p{color:#705e53;margin-bottom:0}
.manifesto{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.manifesto-quote{background:var(--roast);color:var(--cream);border-radius:34px;padding:55px;position:relative;overflow:hidden}.manifesto-quote:before{content:"“";font-family:Georgia,serif;font-size:12rem;position:absolute;right:18px;top:-48px;color:rgba(255,255,255,.08)}.manifesto-quote p{font-family:Georgia,serif;font-size:clamp(1.9rem,3vw,3.1rem);line-height:1.15;margin:0}.manifesto-copy p{color:#6c584d}
.family{display:grid;grid-template-columns:1.2fr .8fr;gap:0;border-radius:36px;overflow:hidden;background:var(--espresso);color:var(--cream);box-shadow:var(--shadow)}.family-image{min-height:520px}.family-image img{width:100%;height:100%;object-fit:cover}.family-copy{padding:58px;display:flex;flex-direction:column;justify-content:center}.family-copy p{color:#dbcabd}.family-copy .eyebrow{color:var(--caramel)}
.big-word{font-size:clamp(4.3rem,11vw,10rem);font-weight:900;line-height:.82;letter-spacing:-.07em;color:rgba(255,255,255,.035);position:absolute;right:-20px;bottom:-10px;pointer-events:none}.section-dark{position:relative;overflow:hidden}
.contact-strip{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.contact-strip p{color:#745f53;margin:0;max-width:700px}
.page-hero{padding:115px 0 85px;background:var(--cream)}.page-hero h1{font-size:clamp(3rem,6vw,5.8rem)}
.prose{max-width:820px}.prose p{font-size:1.04rem;color:#66534a}.values{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:48px}.value{padding:28px;border-top:1px solid var(--line)}
.contact-card{background:var(--white);padding:44px;border-radius:var(--radius);border:1px solid var(--line);max-width:760px}.contact-card a.mail{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.6rem);color:var(--roast);word-break:break-word}
.site-footer{background:#140b08;color:#d9cbc0;padding:70px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:55px}.site-footer .brand{color:var(--cream)}.site-footer p{color:#a99284}.footer-links{display:flex;flex-direction:column;gap:11px}.footer-links strong{color:var(--cream);margin-bottom:5px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;margin-top:55px;font-size:.84rem;color:#9c887b}
.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav-links{position:fixed;inset:80px 18px auto;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:20px;display:none;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.nav-links.open{display:flex}.menu-btn{display:block}.hero-grid,.section-head,.manifesto,.family,.footer-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-grid{padding:65px 0}.roaster-art{min-height:430px}.section{padding:78px 0}.grid-3{grid-template-columns:1fr}.family-image{min-height:340px}.contact-strip{grid-template-columns:1fr}.values{grid-template-columns:1fr}}
@media(max-width:600px){.container{width:min(100% - 30px,var(--max))}.brand-copy span{display:none}.hero-actions,.actions{flex-direction:column;align-items:stretch}.btn{width:100%}.family-copy,.manifesto-quote{padding:34px}.footer-bottom{flex-direction:column}.roaster-art{min-height:360px}.roaster-copy strong{font-size:1.8rem}.bean{width:88px;height:56px}}
