/* espressolab — "the periodic table of home coffee" */
:root{--esp:#1A120D;--esp2:#2C2018;--crema:#E0913F;--crema2:#C27426;--foam:#F5EEE4;--paper:#FBF8F3;--teal:#1F7A70;--teal2:#155B53;--ink:#1A120D;--mut:#5C4B40;--line:rgba(26,18,13,.14);--r:20px;--disp:'Unbounded',system-ui,sans-serif;--body:'Albert Sans',system-ui,sans-serif;--mono:'Martian Mono',ui-monospace,monospace;--ser:'Instrument Serif',Georgia,serif}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{background:var(--paper)!important;color:var(--ink);font-family:var(--body)!important;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.entry-title{font-family:var(--disp)!important;font-weight:600!important;color:var(--esp);letter-spacing:-.02em}
a{color:var(--teal2)} a:hover{color:var(--crema2)}
:focus-visible{outline:3px solid var(--crema);outline-offset:3px;border-radius:6px}
/* header */
.site-header,.ast-primary-header-bar,.main-header-bar,.ast-mobile-header-wrap .ast-primary-header-bar{background:var(--esp)!important;border-bottom:1px solid rgba(224,145,63,.25)!important}
.ast-primary-header-bar{min-height:82px}
.main-header-menu .menu-link,.ast-header-break-point .main-header-menu .menu-link{font-family:var(--mono);font-weight:500;font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--foam)!important;padding:0 18px!important;min-height:44px;display:flex;align-items:center}
.main-header-menu .menu-item.current-menu-item>.menu-link,.main-header-menu .menu-link:hover{color:var(--crema)!important}
.ast-header-break-point .main-header-menu,.ast-mobile-header-content,.ast-mobile-popup-drawer .ast-mobile-popup-inner{background:var(--esp)!important}
.ast-mobile-menu-trigger-minimal,.menu-toggle{min-width:44px;min-height:44px;color:var(--foam)!important}
.ast-mobile-menu-trigger-minimal svg,.ast-mobile-svg{fill:var(--foam)!important}
.custom-logo{max-height:58px;width:auto}
/* full bleed */
.el-page .entry-content>*{max-width:none!important;margin:0!important}
.el-page .site-content>.ast-container{max-width:none!important;padding:0!important}
.el-page #primary{margin:0!important;padding:0!important}
.el-page .ast-article-single,.el-page article{padding:0!important;margin:0!important;background:transparent!important}
.el-page .entry-header{display:none}
/* atoms */
.el-mono{font-family:var(--mono);font-weight:500;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin:0 0 16px}
.el-display{font-size:clamp(40px,6vw,84px);line-height:1.02;margin:0 0 22px;font-weight:700!important}
.el-display em,.el-h2 em{font-family:var(--ser);font-style:italic;font-weight:400;color:var(--crema);letter-spacing:0;font-size:1.12em}
.el-h2{font-size:clamp(28px,3.6vw,48px);line-height:1.1;margin:0 0 14px}
.el-light{color:var(--foam)!important}
.el-lede{font-size:19px;max-width:560px;margin:0 0 30px}
.el-sub{color:var(--mut);max-width:640px;margin:0 auto}
.el-actions{display:flex;flex-wrap:wrap;gap:12px}
.el-center{justify-content:center;margin-top:34px!important}
.el-btn{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 26px;border-radius:12px;font-family:var(--mono);font-weight:600;font-size:15px;letter-spacing:.02em;text-decoration:none!important;transition:transform .2s,background .2s,color .2s}
.el-btn:hover{transform:translateY(-2px)}
.el-btn-crema{background:var(--crema);color:var(--esp)!important}
.el-btn-crema:hover{background:#EDA458}
.el-btn-ghost{border:1.5px solid rgba(245,238,228,.6);color:var(--foam)!important}
.el-btn-ghost:hover{border-color:var(--crema);color:var(--crema)!important}
.el-btn-dark{background:var(--esp);color:var(--foam)!important}
/* hero */
.el-hero{background:var(--esp);color:var(--foam);background-image:linear-gradient(rgba(245,238,228,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(245,238,228,.04) 1px,transparent 1px);background-size:48px 48px}
.el-hero-in{max-width:1240px;margin:0 auto;padding:90px 24px 100px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.el-hero .el-display{color:var(--foam)}
.el-hero .el-mono{color:var(--crema)}
.el-hero .el-lede{color:#D9CBBC}
.el-hero-art{position:relative}
.el-hero-ph{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/3.4;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.el-hero-ph img{width:100%;height:100%;object-fit:cover;display:block}
.el-readout{position:absolute;left:-34px;bottom:-34px;width:270px;background:rgba(26,18,13,.88);backdrop-filter:blur(8px);border:1px solid rgba(224,145,63,.5);border-radius:18px;padding:18px 20px;font-family:var(--mono);color:var(--foam)}
.el-ro-row{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px dashed rgba(245,238,228,.16);font-size:13px}
.el-ro-row span{color:#BFAE9E;letter-spacing:.08em}
.el-ro-row b{font-size:20px;font-weight:600;color:var(--crema)}
.el-ro-row i{font-style:normal}
.el-ro-bar{height:6px;border-radius:6px;background:rgba(245,238,228,.12);margin:14px 0 8px;overflow:hidden}
.el-ro-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--teal),var(--crema));transform-origin:left;animation:el-pull 6s ease-in-out infinite}
@keyframes el-pull{0%{transform:scaleX(0)}70%{transform:scaleX(1)}100%{transform:scaleX(1)}}
.el-ro-cap{margin:0;font-size:13px;color:#BFAE9E}
/* sections */
.el-sec{max-width:1240px;margin:0 auto!important;padding:100px 24px}
.el-head{text-align:center;margin:0 auto 44px;max-width:760px}
.el-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
/* element tiles */
.el-el{position:relative;display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--esp);border-radius:var(--r);padding:22px 22px 20px;text-decoration:none!important;color:var(--ink)!important;transition:transform .25s,box-shadow .25s,background .25s;box-shadow:6px 6px 0 var(--esp)}
.el-el:hover{transform:translate(-3px,-3px);box-shadow:10px 10px 0 var(--crema)}
.el-el-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:13px;color:var(--mut)}
.el-el-p{background:var(--foam);border-radius:999px;padding:2px 10px;color:var(--teal2);font-weight:600}
.el-el-sym{font-family:var(--disp);font-weight:800;font-size:78px;line-height:1;margin:14px 0 8px;color:var(--esp)}
.el-el:nth-child(3n+1) .el-el-sym{color:var(--crema2)}
.el-el:nth-child(3n+2) .el-el-sym{color:var(--teal)}
.el-el-t{font-size:22px!important;margin:0 0 6px!important;font-weight:600!important}
.el-el-d{color:var(--mut);font-size:16px;margin-bottom:16px;flex:1}
.el-el-img{display:block;border-radius:14px;overflow:hidden;aspect-ratio:16/10;background:var(--esp);margin-bottom:16px}
.el-el-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;display:block}
.el-el:hover .el-el-img img{transform:scale(1.04)}
.el-el-go{font-family:var(--mono);font-weight:600;font-size:14px;color:var(--teal2);min-height:24px}
.el-el[hidden]{display:none}
/* disclosure */
.el-disclosure{display:block;background:var(--foam);border:1.5px solid var(--esp);border-left:10px solid var(--crema);border-radius:14px;padding:16px 22px;margin:0 0 34px;max-width:1240px}
.el-disclosure p{margin:0;font-size:16px;line-height:1.55;color:var(--ink)}
.el-disc-label{display:block;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal2);margin-bottom:4px}
.single .entry-content .el-disclosure{margin:0 0 30px!important;font-size:16px}
.el-disc-wrap .el-disclosure{margin:0 auto 40px}
.el-page .el-sec>.el-disclosure{margin:0 auto 34px!important}
/* calculator */
.el-calc{background:var(--teal2);color:var(--foam);padding:0 24px}
.el-calc-in{max-width:1240px;margin:0 auto;padding:96px 0;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.el-calc .el-mono{color:#F6C58E}
.el-calc-copy p{color:#DDEBE8;font-size:18px}
.el-calc-box{background:var(--esp);border-radius:24px;padding:28px;border:1px solid rgba(245,238,228,.15)}
.el-meth{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:22px}
.el-meth button{min-height:46px;border-radius:10px;border:1.5px solid rgba(245,238,228,.35);background:transparent;color:var(--foam);font-family:var(--mono);font-size:13px;font-weight:600;cursor:pointer;padding:0 6px}
.el-meth button[aria-pressed=true]{background:var(--crema);border-color:var(--crema);color:var(--esp)}
.el-range-l{display:block;font-family:var(--mono);font-size:14px;color:#BFAE9E;margin-bottom:8px}
.el-range-l b{color:var(--foam);font-size:18px}
#el-dose{width:100%;accent-color:var(--crema);height:44px}
.el-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 22px}
.el-out div{background:rgba(245,238,228,.06);border-radius:12px;padding:12px}
.el-out span{display:block;font-family:var(--mono);font-size:12px;color:#BFAE9E;letter-spacing:.06em;text-transform:uppercase}
.el-out b{font-family:var(--disp);font-size:24px;color:var(--crema);font-weight:600}
.el-calc-go{width:100%;justify-content:center}
/* steps */
.el-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;counter-reset:s}
.el-step{position:relative;background:#fff;border-radius:var(--r);padding:24px 20px;border-top:6px solid var(--teal)}
.el-step:nth-child(even){border-top-color:var(--crema)}
.el-step-n{font-family:var(--mono);font-size:13px;color:var(--mut)}
.el-step h3{font-size:22px;margin:6px 0 6px}
.el-step p{margin:0 0 12px;color:var(--mut);font-size:16px}
.el-step a{font-family:var(--mono);font-size:14px;font-weight:600;display:inline-flex;min-height:44px;align-items:center}
/* story */
.el-story{max-width:none;background:var(--foam)}
.el-story-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.el-story-ph{margin:0;position:relative}
.el-story-ph img{width:100%;border-radius:24px;aspect-ratio:3/4;object-fit:cover;display:block;box-shadow:12px 12px 0 var(--teal)}
.el-story-ph figcaption{font-family:var(--mono);font-size:13px;color:var(--mut);margin-top:22px}
.el-story-copy p{font-size:18px}
.el-tip{background:#fff;border-radius:var(--r);padding:28px;border:1.5px solid var(--esp);box-shadow:6px 6px 0 var(--teal)}
.el-tip-n{font-family:var(--mono);font-size:14px;color:var(--crema2);font-weight:600}
.el-tip h3{font-size:22px;margin:6px 0 8px}
.el-tip p{margin:0;color:var(--mut)}
/* cta */
.el-cta{position:relative;overflow:hidden;padding:130px 24px;text-align:center;background:var(--esp)}
.el-cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}
.el-cta-in{position:relative;max-width:780px;margin:0 auto}
.el-cta .el-mono{color:var(--crema)}
.el-cta .el-actions{justify-content:center}
/* page hero */
.el-phero{background:var(--esp);color:var(--foam);padding:90px 24px 70px;text-align:center;background-image:linear-gradient(rgba(245,238,228,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(245,238,228,.04) 1px,transparent 1px);background-size:48px 48px}
.el-phero-in{max-width:960px;margin:0 auto}
.el-phero .el-display{color:var(--foam)}
.el-phero .el-mono{color:var(--crema)}
.el-phero .el-lede{margin:0 auto;color:#D9CBBC}
.el-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 36px}
.el-chip{min-height:44px;padding:0 20px;border-radius:10px;border:1.5px solid var(--esp);background:transparent;color:var(--esp);font-weight:600;font-family:var(--mono);font-size:14px;cursor:pointer}
.el-chip[aria-pressed=true]{background:var(--esp);color:var(--foam)}
/* reveal */
.el-js .el-rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.el-js .el-rv.el-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.el-js .el-rv{opacity:1;transform:none;transition:none}.el-ro-bar i{animation:none}html{scroll-behavior:auto}}
/* single posts */
.single .site-content{background:var(--paper)}
.single .ast-article-single{background:#fff!important;border-radius:24px;border:1.5px solid var(--esp);padding:44px 52px!important;box-shadow:10px 10px 0 var(--esp)}
.single .entry-title{font-size:clamp(30px,3.8vw,46px)!important;line-height:1.12}
.single .post-thumb-img-content img,.single .ast-single-post-featured-section img{border-radius:18px}
.single .ast-single-post-featured-section,.single .post-thumb-img-content{max-width:100%!important;width:auto!important;margin-left:0!important;margin-right:0!important;left:auto!important;right:auto!important;transform:none!important;overflow:hidden}
.single .ast-single-post-featured-section img{width:100%!important;max-width:100%!important;height:auto}
.single .entry-content h2{font-size:32px;margin-top:48px}
.single .entry-content h3{font-size:24px;margin-top:44px;padding-top:28px;border-top:1.5px dashed var(--line)}
.single .entry-content p,.single .entry-content li{font-size:17.5px}
.single .entry-content ul{padding-left:1.2em}
/* footer */
.site-footer,.ast-small-footer,.site-below-footer-wrap,.site-primary-footer-wrap{background:var(--esp)!important;color:#D9CBBC!important}
.site-below-footer-wrap .ast-footer-copyright{font-size:16px;line-height:1.6;max-width:900px;margin:0 auto}
.ast-footer-copyright a{color:var(--crema)!important}
.el-foot-disc{display:block;margin-top:10px;padding:12px 16px;border:1px solid rgba(224,145,63,.55);border-left:6px solid var(--crema);border-radius:12px;text-align:left}
/* responsive */
@media (max-width:1024px){.el-hero-in{grid-template-columns:1fr;gap:56px;padding:64px 24px 90px}.el-hero-art{max-width:560px;margin:0 auto;width:100%}.el-readout{left:-10px}.el-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.el-calc-in{grid-template-columns:1fr;gap:32px}.el-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.el-story-in{gap:36px}}
@media (max-width:640px){body{font-size:16.5px}.el-sec{padding:64px 18px}.el-hero-in{padding:44px 18px 64px}.el-readout{position:relative;left:auto;right:auto;bottom:auto;width:auto;margin:-56px 14px 0}.el-grid3,.el-steps{grid-template-columns:1fr}.el-story-in{grid-template-columns:1fr}.el-story-ph{max-width:360px;margin:0 auto}.el-calc{padding:0 18px}.el-calc-in{padding:64px 0}.el-meth{grid-template-columns:repeat(2,minmax(0,1fr))}.el-out b{font-size:20px}.single .ast-article-single{padding:26px 18px!important;border-radius:18px;box-shadow:5px 5px 0 var(--esp)}.el-lede{font-size:17.5px}.el-actions .el-btn{flex:1 1 auto;justify-content:center}.el-phero{padding:56px 18px 40px}.el-el-sym{font-size:64px}}
