/* Baristuno's shared product model: Prepare → Brew → Review → Improve. */
.journey-hub{position:relative;margin:14px 0;padding:clamp(28px,4vw,48px);overflow:hidden;border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,#fff 0%,#f7efe4 100%);box-shadow:0 22px 52px rgba(58,42,29,.08)}
.journey-hub:before{content:"";position:absolute;right:-90px;top:-110px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(180,90,50,.13),transparent 68%);pointer-events:none}
.journey-head{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);gap:32px;align-items:end}
.journey-head h2,.pro-proof h2,.coffee-learning-home h2{max-width:17ch;margin:0;color:var(--ink);font:750 clamp(32px,4.4vw,54px)/1.02 var(--sans);letter-spacing:-.045em;text-wrap:balance}
.journey-head>p{max-width:58ch;margin:0;color:var(--mut);font:14px/1.65 var(--sans)}
.journey-outcomes{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:28px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--line)}
.journey-outcomes span{padding:16px 18px;background:rgba(255,255,255,.85)}
.journey-outcomes b,.journey-outcomes small{display:block}.journey-outcomes b{color:var(--ink);font:750 12px/1.3 var(--sans)}.journey-outcomes small{margin-top:4px;color:var(--mut);font:10.5px/1.45 var(--sans)}
.journey-stages{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 0;padding:0;list-style:none;counter-reset:none}
.journey-stages:before{content:"";position:absolute;top:34px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,var(--clay),var(--crema) 48%,var(--good));opacity:.55}
.journey-stage{position:relative;display:flex;min-width:0;min-height:410px;flex-direction:column;padding:20px;border:1px solid var(--line-soft);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 8px 26px rgba(58,42,29,.04)}
.journey-stage-head{display:flex;align-items:center;gap:12px}.journey-stage-head>span{position:relative;z-index:1;display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--clay);font:800 10px/1 var(--sans)}
.journey-stage-head small{display:block;color:var(--faint);font:800 7.5px/1.2 var(--sans);letter-spacing:.12em}.journey-stage h3{margin-top:3px;color:var(--ink);font:800 23px/1 var(--sans);letter-spacing:-.025em}
.journey-stage>p{min-height:74px;margin:18px 0 15px;color:var(--mut);font:11.5px/1.55 var(--sans)}
.journey-stage-actions{display:grid;gap:6px}.journey-stage-actions a{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-2);color:var(--body);font:700 10.5px/1.25 var(--sans);text-decoration:none}.journey-stage-actions a:after{content:"→";color:var(--clay)}.journey-stage-actions a:hover,.journey-stage-actions a:focus-visible{border-color:var(--clay);background:#fff;color:var(--ink)}.journey-stage-actions a.journey-primary{border-color:transparent;background:var(--espresso);color:#fff}.journey-stage-actions a.journey-primary:after{color:var(--crema)}.journey-stage-actions em{padding:3px 5px;border-radius:999px;background:var(--crema);color:var(--clay);font:800 7px/1 var(--sans);font-style:normal;letter-spacing:.06em}
.journey-depth{margin-top:auto;padding-top:16px}.journey-depth summary{min-height:36px;color:var(--clay);font:750 9.5px/1.35 var(--sans);cursor:pointer}.journey-depth p{margin-top:6px;color:var(--mut);font:10px/1.5 var(--sans)}
.journey-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.journey-footer>span{display:flex;align-items:center;gap:10px;color:var(--mut);font:11px/1.4 var(--sans)}.journey-footer i{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 5px rgba(74,124,89,.1)}.journey-footer .btn{min-height:48px;text-decoration:none}

/* Grind Lab keeps its own discoverable surface while preserving brew context. */
.lab-journey-context{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin:0 0 14px;padding:22px 24px;border:1px solid rgba(74,124,89,.25);border-radius:18px;background:linear-gradient(135deg,rgba(74,124,89,.13),rgba(255,255,255,.9));box-shadow:0 12px 34px rgba(58,42,29,.06)}.lab-journey-context[hidden]{display:none}.lab-journey-context span{display:block;color:var(--good);font:800 8px/1.2 var(--sans);letter-spacing:.13em}.lab-journey-context h2{margin-top:7px;color:var(--ink);font:750 24px/1.12 var(--sans);letter-spacing:-.025em}.lab-journey-context p{margin-top:6px;color:var(--mut);font:12px/1.55 var(--sans)}.lab-journey-context .btn{min-height:44px;white-space:nowrap}
.assist-result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(760px,100%);margin:24px auto 0}.assist-result-actions .assist-save-result{width:100%;min-width:0;margin:0}.assist-result-actions .btn.ghost{border-color:rgba(74,124,89,.28);background:rgba(255,255,255,.72);color:var(--good)}
.grind-journey-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;border-color:rgba(74,124,89,.25);background:linear-gradient(135deg,rgba(74,124,89,.12),#fff)}.grind-journey-result>div>span{display:block;color:var(--good);font:800 8px/1.2 var(--sans);letter-spacing:.12em}.grind-journey-result h3{margin-top:7px;color:var(--ink);font:750 22px/1.15 var(--sans);letter-spacing:-.025em}.grind-journey-result p{max-width:62ch;margin-top:7px;color:var(--mut);font:12px/1.55 var(--sans)}.grind-journey-result .btn{min-height:44px;white-space:nowrap}

.journey-compass{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px;padding:8px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.78)}
.journey-compass a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 9px;min-width:0;min-height:58px;align-content:center;padding:9px 11px;border:1px solid transparent;border-radius:12px;color:var(--mut);text-decoration:none}.journey-compass a:hover,.journey-compass a:focus-visible{background:var(--surface-2);color:var(--ink)}.journey-compass a.on{border-color:rgba(180,90,50,.2);background:var(--clay-soft);color:var(--ink)}.journey-compass span{grid-row:1/3;align-self:center;color:var(--clay);font:800 9px var(--sans)}.journey-compass b{overflow:hidden;color:inherit;font:800 12px/1.2 var(--sans);text-overflow:ellipsis}.journey-compass small{overflow:hidden;color:var(--faint);font:9px/1.25 var(--sans);text-overflow:ellipsis;white-space:nowrap}

.home-grind-lab{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.8fr);gap:clamp(28px,5vw,70px);align-items:center;margin:14px 0;padding:clamp(30px,5vw,62px);overflow:hidden;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,#fff 0%,#f7f0e6 100%);box-shadow:0 22px 52px rgba(58,42,29,.07)}
.home-grind-copy h2{max-width:12ch;margin:6px 0 18px;color:var(--ink);font:750 clamp(34px,4.6vw,58px)/1.01 var(--sans);letter-spacing:-.05em;text-wrap:balance}.home-grind-copy>p:not(.hl-kicker){max-width:62ch;color:var(--mut);font:14px/1.65 var(--sans)}
.home-grind-copy ul{display:grid;gap:9px;margin:22px 0 0;padding:0;list-style:none}.home-grind-copy li{display:flex;align-items:flex-start;gap:10px;color:var(--body);font:650 12px/1.45 var(--sans)}.home-grind-copy li:before{content:"";width:7px;height:7px;flex:0 0 7px;margin-top:5px;border-radius:50%;background:var(--good);box-shadow:0 0 0 5px rgba(74,124,89,.09)}
.home-grind-actions{display:flex;align-items:center;gap:18px;margin-top:26px}.home-grind-actions>a{display:inline-flex;min-height:48px;align-items:center;justify-content:space-between;gap:28px;padding:12px 17px;border-radius:12px;background:var(--espresso);color:#fff;font:750 12px/1.2 var(--sans);text-decoration:none}.home-grind-actions>a:hover,.home-grind-actions>a:focus-visible{background:var(--clay)}.home-grind-actions>span{color:var(--faint);font:650 9.5px/1.4 var(--sans)}
.home-grind-preview{position:relative;padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:linear-gradient(150deg,#251912,#3b271b);color:#fff;box-shadow:0 26px 56px rgba(44,29,19,.22)}.home-grind-preview:before{content:"";position:absolute;inset:10px;border:1px solid rgba(240,192,124,.11);border-radius:15px;pointer-events:none}.home-grind-preview header{position:relative;display:flex;justify-content:space-between;gap:15px;color:rgba(255,255,255,.64);font:800 8px/1.2 var(--sans);letter-spacing:.12em}.home-grind-preview header small{color:var(--crema);font:inherit}
.home-grind-plot{position:relative;display:flex;height:116px;align-items:flex-end;justify-content:center;gap:9px;margin:24px 0 18px;padding:0 16px 14px;border-bottom:1px solid rgba(255,255,255,.18)}.home-grind-plot:after{content:"PARTICLE DISTRIBUTION";position:absolute;right:0;bottom:-18px;color:rgba(255,255,255,.35);font:700 6px var(--sans);letter-spacing:.12em}.home-grind-plot i{display:block;width:8%;min-width:13px;border-radius:8px 8px 2px 2px;background:linear-gradient(#efc18a,#a95f37);opacity:.88}.home-grind-plot i:nth-child(1),.home-grind-plot i:nth-child(9){height:15%}.home-grind-plot i:nth-child(2),.home-grind-plot i:nth-child(8){height:28%}.home-grind-plot i:nth-child(3),.home-grind-plot i:nth-child(7){height:52%}.home-grind-plot i:nth-child(4),.home-grind-plot i:nth-child(6){height:78%}.home-grind-plot i:nth-child(5){height:100%}
.home-grind-preview dl{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:28px 0 0;background:rgba(255,255,255,.13)}.home-grind-preview dl>div{padding:13px;background:#2d1e16}.home-grind-preview dt{color:rgba(255,255,255,.5);font:800 7px var(--sans);letter-spacing:.11em}.home-grind-preview dd{margin-top:6px;color:#fff;font:750 23px/1 var(--sans)}.home-grind-preview dd small{color:var(--crema);font:700 9px var(--sans)}.home-grind-preview footer{position:relative;margin-top:14px;padding:15px;border-radius:12px;background:rgba(0,0,0,.2)}.home-grind-preview footer span{display:block;color:var(--crema);font:800 7px var(--sans);letter-spacing:.12em}.home-grind-preview footer strong{display:block;margin-top:7px;font:750 20px/1.1 var(--sans)}.home-grind-preview footer p{margin-top:5px;color:rgba(255,255,255,.6);font:9.5px/1.4 var(--sans)}

.coffee-learning-home{margin:14px 0;padding:clamp(28px,4vw,46px);border:1px solid var(--line);border-radius:24px;background:var(--surface)}
.coffee-learning-home>header{display:grid;grid-template-columns:1fr minmax(280px,.7fr);gap:28px;align-items:end}.coffee-learning-home>header>p{max-width:54ch;color:var(--mut);font:13px/1.65 var(--sans)}
.coffee-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px}
.coffee-explainer{border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--body)}.coffee-explainer summary{display:block;min-height:76px;padding:16px 18px;list-style:none;cursor:pointer}.coffee-explainer summary::-webkit-details-marker{display:none}.coffee-explainer summary:after{content:"+";float:right;margin-top:-23px;color:var(--clay);font:500 21px/1 var(--sans)}.coffee-explainer[open] summary:after{content:"–"}.coffee-explainer summary span,.coffee-explainer summary b{display:block;padding-right:22px}.coffee-explainer summary span{color:var(--clay);font:800 8px/1.2 var(--sans);letter-spacing:.12em}.coffee-explainer summary b{margin-top:9px;color:var(--ink);font:750 13px/1.35 var(--sans)}.coffee-explainer>p{padding:0 18px 12px;color:var(--mut);font:11.5px/1.58 var(--sans)}.coffee-explainer>a{display:inline-flex;min-height:44px;align-items:center;margin:0 18px 10px;color:var(--clay);font:750 10px/1.2 var(--sans);text-decoration:none}
.contextual-explainer{margin:0 0 14px;background:linear-gradient(135deg,#fff,#fbf5ec)}.contextual-explainer summary{min-height:64px}.assist-explainer{margin-top:12px;background:rgba(247,241,232,.7)}.assist-explainer summary{min-height:58px;padding:13px 15px}.assist-explainer>p{padding-inline:15px}.dark-explainer{border-color:rgba(255,255,255,.13);background:var(--espresso);color:#fff}.dark-explainer summary span{color:var(--crema)}.dark-explainer summary b{color:#fff}.dark-explainer>p{color:rgba(255,255,255,.68)}

.pro-stage-row th{padding:8px 15px!important;background:var(--paper-2)!important;color:var(--clay)!important;font:800 8px/1.2 var(--sans)!important;letter-spacing:.13em;text-transform:uppercase}.pro-proof-demo strong{font-family:var(--sans);font-weight:800;letter-spacing:-.025em}.section-head-card h2,.intelligence-hero h2,.recipes-access-gate h2{font-family:var(--sans);font-weight:750;letter-spacing:-.035em}

@media(max-width:980px){.journey-stages{grid-template-columns:1fr 1fr}.journey-stages:before{display:none}.journey-stage{min-height:370px}.journey-head,.coffee-learning-home>header{grid-template-columns:1fr}.coffee-learning-grid{grid-template-columns:1fr 1fr}.coffee-learning-grid .coffee-explainer:last-child{grid-column:1/-1}.journey-head h2,.pro-proof h2,.coffee-learning-home h2{max-width:19ch}.home-grind-lab{grid-template-columns:1fr}.home-grind-preview{width:min(620px,100%)}}
@media(max-width:620px){.journey-hub{margin-inline:calc(var(--mobile-gutter,18px) * -1);padding:34px var(--mobile-gutter,18px);border-inline:0;border-radius:0}.journey-head{gap:13px}.journey-head h2,.pro-proof h2,.coffee-learning-home h2{font-size:32px;line-height:1.05;letter-spacing:-.035em}.journey-outcomes{grid-template-columns:1fr}.journey-outcomes span{padding:13px 15px}.journey-stages{grid-template-columns:1fr;gap:9px}.journey-stage{min-height:0;padding:18px}.journey-stage>p{min-height:0;margin:14px 0}.journey-depth{margin-top:14px}.journey-footer{align-items:stretch;flex-direction:column}.journey-footer .btn{width:100%;justify-content:center}.journey-compass{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px;border-radius:14px}.journey-compass a{display:flex;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 3px;text-align:center}.journey-compass span{font-size:8px}.journey-compass b{font-size:10px}.journey-compass small{display:none}.home-grind-lab,.coffee-learning-home{margin-inline:calc(var(--mobile-gutter,18px) * -1);padding:34px var(--mobile-gutter,18px);border-inline:0;border-radius:0}.home-grind-lab{gap:28px}.home-grind-copy h2{font-size:36px}.home-grind-actions{align-items:stretch;flex-direction:column;gap:10px}.home-grind-actions>a{width:100%}.home-grind-preview{padding:18px}.home-grind-preview dl>div{padding:11px 9px}.home-grind-preview dd{font-size:20px}.coffee-learning-grid{grid-template-columns:1fr}.coffee-learning-grid .coffee-explainer:last-child{grid-column:auto}.coffee-explainer summary{min-height:68px;padding:15px}.coffee-explainer>p{padding-inline:15px}.coffee-explainer>a{margin-inline:15px}.pro-stage-row th{white-space:normal}.lab-journey-context,.grind-journey-result{grid-template-columns:1fr;gap:14px;padding:18px}.lab-journey-context .btn,.grind-journey-result .btn{width:100%;white-space:normal}.assist-result-actions{grid-template-columns:1fr}.assist-result-actions .btn{min-height:52px}}
@media(prefers-reduced-motion:reduce){.journey-hub:before{display:none}}
