/* Coffee/tea pages only: shared brand tokens, isolated component classes. */
.coffee-profile-cell .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.coffee-chart-head>div:nth-child(2){color:#748247}.coffee-chart-head>div:nth-child(3){color:#aa7845}.coffee-chart-head>div:nth-child(4){color:#b5705d}.coffee-chart-head>div:nth-child(5){color:#735646}.coffee-profile-cell{border-inline-start:1px solid #4f54340a;height:100%}
.coffee-chart-id .coffee-roast-name-short,.coffee-mobile-comments{display:none}
.coffee-machine-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}.coffee-machine{position:sticky;top:8rem}.coffee-machine svg{width:100%;height:auto}.coffee-machine-parts{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;padding-left:1.4rem}.coffee-machine-parts li{padding-left:.4rem}.coffee-machine-parts li::marker{color:var(--brown);font-weight:500}.coffee-machine-parts p{color:var(--muted);font-size:.85rem;margin:.25rem 0}.coffee-machine-parts strong{color:var(--olive-dark);font-size:.95rem;font-weight:500}
@media(max-width:640px){.coffee-machine-grid{grid-template-columns:1fr;gap:1rem}.coffee-machine{position:static;max-width:330px;margin:auto}.coffee-machine-parts{gap:1rem 1.5rem}}
.coffee-hero{padding:clamp(2rem,6vw,5rem) 0}.coffee-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:4rem}.coffee-hero h1{font-size:clamp(2.8rem,5.5vw,5.3rem);line-height:1.08;color:var(--olive-dark);max-width:13ch;margin:1.3rem 0}.coffee-hero .back-link{margin-bottom:2rem}.coffee-hero-image{width:100%;max-height:30rem;object-fit:contain;filter:drop-shadow(0 20px 25px #57371d15)}.coffee-hero .enjoyment-note{margin:1.5rem 0 0;padding:0;text-align:left;min-height:1.5em}.coffee-jump{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;padding-block:1.5rem;border-block:1px solid var(--line)}.coffee-jump a{font-size:.87rem}.coffee-section{padding:clamp(2.5rem,5vw,4.5rem) 0;scroll-margin-top:7rem}.coffee-section h2{color:var(--olive-dark);font-size:clamp(2rem,4vw,3.1rem);max-width:24ch;line-height:1.15}.coffee-intro{max-width:53rem;color:var(--muted);font-size:1.12rem;margin:1.4rem 0 2rem}.coffee-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:2rem;margin:2rem 0}.coffee-card{border-top:1px solid var(--line);padding-top:1.3rem}.coffee-number{font-size:.8rem;color:var(--terracotta)}.coffee-card h3{color:var(--brown);font-size:1.25rem;margin:.6rem 0}.coffee-card p{color:var(--muted);font-size:.98rem}.coffee-choice{background:var(--olive-soft)}.coffee-choice .container{border-left:3px solid var(--brown);padding-left:2rem}.coffee-note{font-size:.85rem;color:var(--muted);max-width:60rem;margin:1.3rem 0}.coffee-chart-scroll{overflow:auto;border-block:1px solid var(--line);scrollbar-color:var(--olive) var(--cream);overscroll-behavior-x:contain}.coffee-chart{min-width:1120px;--identity:260px;--profiles:560px;--row:120px}.coffee-chart-head,.coffee-chart-row{display:grid;grid-template-columns:var(--identity) repeat(4,140px) minmax(280px,1fr)}.coffee-chart-head{color:var(--brown);font-size:.94rem;align-items:end;min-height:66px;border-bottom:2px solid var(--line);padding-bottom:12px}.coffee-chart-head>div:nth-child(n+2):nth-child(-n+5){text-align:center}.coffee-chart-head>div:last-child{padding-left:18px}.coffee-chart-body{position:relative}.coffee-chart-row{height:var(--row);border-bottom:1px solid var(--line);align-items:center;font-size:.83rem}.coffee-chart-id{display:flex;gap:14px;align-items:center;padding-right:15px}.coffee-chart-id strong{display:block;font-weight:500;line-height:1.25}.coffee-chart-id small{display:block;margin-top:8px;color:var(--muted);font-size:.72rem}.coffee-bean{width:25px;height:37px;min-width:25px;border-radius:50%;background:linear-gradient(110deg,#ffffff60,var(--bean) 47%,#0003);transform:rotate(-20deg);position:relative;display:inline-block}.coffee-bean:after{content:'';position:absolute;width:2px;height:29px;left:12px;top:4px;border-radius:50%;background:#0004}.coffee-chart-comment{padding:0 18px;color:var(--muted);line-height:1.4}.coffee-bands{position:absolute;left:var(--identity);top:0;width:var(--profiles);height:calc(var(--row)*9);pointer-events:none}.coffee-bands svg{width:100%;height:100%;display:block}.coffee-stage{border-bottom:1px solid var(--line)}.coffee-stage summary{display:flex;align-items:center;gap:1.2rem;cursor:pointer;padding:1.3rem 0;list-style:none}.coffee-stage summary::-webkit-details-marker{display:none}.coffee-stage summary strong{display:block;font-size:1.05rem;font-weight:500}.coffee-stage summary small{color:var(--muted);font-size:.8rem}.coffee-plus{margin-left:auto;font-size:1.4rem;color:var(--brown)}.coffee-stage[open] .coffee-plus{transform:rotate(45deg)}.coffee-stage-content{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:0 0 1.5rem}.coffee-stage-content h3{font-size:1rem;color:var(--brown)}.coffee-stage-content p,.coffee-reference p{font-size:.94rem;color:var(--muted)}.coffee-reference{border-block:1px solid var(--line);padding:1rem 0;margin-top:2rem}.coffee-reference summary{cursor:pointer;color:var(--brown)}.coffee-cocoa{background:#e8dfce}.coffee-sources{padding-left:1.3rem}.coffee-sources li{margin:.8rem 0}.coffee-sources a{font-size:.9rem}.coffee-chart-dialog{width:min(96vw,1500px);max-width:none;max-height:92dvh;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:1.5rem;padding:2rem}.coffee-chart-dialog::backdrop{background:#24261caa}.coffee-chart-dialog h2{padding-right:3rem;color:var(--olive-dark)}.coffee-dialog-chart{overflow:auto;max-height:65dvh}.coffee-chart-dialog .dialog-close{position:sticky;top:0;float:right}.coffee-chart-hint{display:none}
.product-grid-seven{grid-template-columns:repeat(6,minmax(0,1fr))}.product-grid-seven .product-card{grid-column:span 2;grid-row:auto;height:29rem;min-height:0}.product-grid-seven .product-card:nth-last-child(-n+4){grid-column:span 3}.product-card-coffee,.product-card-tea{background:#e8dfce}.product-card-tea img{object-fit:contain!important;padding:1.8rem}.product-card-coffee img{object-fit:contain!important;padding:1.5rem 1.5rem 9rem}.product-card-coffee .product-copy,.product-card-tea .product-copy{background:var(--olive-dark)}
@media(max-width:960px){.coffee-hero-grid{gap:2rem}.coffee-hero h1{font-size:3rem}.product-grid-seven{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid-seven .product-card,.product-grid-seven .product-card:nth-last-child(-n+4){grid-column:auto}.product-grid-seven .product-card:last-child{grid-column:1/-1}.coffee-chart-hint{display:block}}
@media(max-width:640px){.coffee-hero-grid{grid-template-columns:1fr}.coffee-hero-image{max-height:19rem}.coffee-hero h1{font-size:2.9rem}.coffee-hero .back-link{margin-bottom:1rem}.coffee-jump{gap:.8rem 1rem}.coffee-stage-content{grid-template-columns:1fr;gap:.5rem}.coffee-choice .container{padding-left:1.3rem}.coffee-chart-dialog{padding:1rem;width:98vw}.coffee-chart-dialog h2{font-size:1.5rem}.product-grid-seven{grid-template-columns:1fr}.product-grid-seven .product-card{height:auto;aspect-ratio:1.05}.product-grid-seven .product-card:last-child{grid-column:auto}}
/* Fit the complete nine-stage/four-profile comparison to the available width.
   Full aliases and prose remain below the chart instead of shrinking to illegibility. */
@media(max-width:1200px){
 .coffee-chart{min-width:0;width:100%;--identity:34%;--profiles:66%;--row:80px}
 .coffee-chart-head,.coffee-chart-row{grid-template-columns:var(--identity) repeat(4,minmax(0,1fr))}
 .coffee-chart-head{font-size:clamp(.65rem,1.7vw,.94rem);min-height:58px;gap:0}
 .coffee-chart-head>div{min-width:0;overflow-wrap:anywhere;line-height:1.15}
 .coffee-chart-head>div:last-child,.coffee-chart-comment,.coffee-roast-color,.coffee-chart-id .coffee-roast-name-full{display:none}
 .coffee-chart-id .coffee-roast-name-short{display:block}
 .coffee-chart-id{gap:8px;padding-right:7px;min-width:0}
 .coffee-chart-id>div{min-width:0}
 .coffee-chart-id strong{font-size:clamp(.68rem,1.8vw,.94rem);overflow-wrap:anywhere}
 .coffee-chart-id small{font-size:clamp(.62rem,1.6vw,.8rem);margin-top:4px}
 .coffee-chart-id .coffee-bean{width:17px;height:26px;min-width:17px}
 .coffee-chart-id .coffee-bean:after{height:20px;left:8px;top:3px}
 .coffee-chart-scroll{overflow:visible}
 .coffee-mobile-comments{display:block;margin-top:2rem}
 .coffee-mobile-comments h3{font-size:1.2rem;color:var(--brown)}
 .coffee-mobile-comments ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
 .coffee-mobile-comments li{border-top:1px solid var(--line);padding-top:1rem;min-width:0}
 .coffee-mobile-comments strong{font-size:.9rem;font-weight:500;color:var(--olive-dark)}
 .coffee-mobile-comments p{font-size:.9rem;color:var(--muted);margin:.5rem 0}
 .coffee-chart-hint{display:block}
}
@media(max-width:640px){.coffee-mobile-comments ol{grid-template-columns:1fr;gap:.8rem}.coffee-chart-head{font-size:.72rem}.coffee-chart-head>div:first-child{padding-right:5px}.coffee-chart-id{gap:6px}}
