/* Editorial coffee detail pages share the established Fire & Trails shell. */
.product-breadcrumb{display:flex;gap:12px;align-items:center;padding:25px 6% 0;font-size:10px;color:var(--muted)}.product-breadcrumb a:hover{color:var(--copper)}.roast-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:65px;align-items:center;padding:35px 6% 80px}.roast-hero-photo{background:#d9c8ac;min-width:0}.roast-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:1416/1111;object-fit:cover;object-position:center}.roast-hero-copy{padding:10px 0}.roast-hero h1{font-size:clamp(60px,6vw,90px);line-height:.98;letter-spacing:-.055em}.roast-designation{margin-top:20px;font-size:12px;font-weight:600;letter-spacing:2.5px;color:var(--copper)}.roast-hero-lede{font-family:var(--serif);font-size:26px;line-height:1.35;color:var(--ink);margin-top:22px}.roast-hero-notes{font-size:12px;margin-top:18px}.roast-format{font-size:10px;letter-spacing:1px;margin-top:10px}.roast-hero .button{margin-top:25px}.shop-context{font-size:9px;max-width:310px;margin-top:13px;line-height:1.8}.roast-story-link{display:table;font-size:10px;margin-top:23px;border-bottom:1px solid var(--line);padding-bottom:6px}.roast-story{display:grid;grid-template-columns:1fr .8fr;gap:100px;padding:85px 10%;background:#e9e9df;align-items:center}.roast-story h2,.roast-ritual h2{font-size:clamp(38px,4.2vw,60px)}.roast-story-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:23px;max-width:440px}figure{margin:0}.roast-story-photo img{display:block;width:100%;height:auto}.roast-story-photo figcaption,.roast-ritual figcaption{font-size:7px;letter-spacing:1.3px;margin-top:13px;color:var(--muted)}.roast-profile{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;padding:80px 7.2%;background:var(--ink);color:var(--cream)}.roast-profile h2{font-size:clamp(40px,4vw,58px)}.roast-profile-heading>p:last-child{font-size:11px;color:#d0d6c9;margin-top:25px;max-width:280px}.taste-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:5px 0 32px;border-bottom:1px solid #8a998070}.taste-notes span{font-family:var(--serif);font-size:26px;color:#c6ac89}.taste-notes h3{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.5px;margin-top:15px}.origin-details{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;padding-top:28px}.origin-details h3{font-size:10px;font-weight:600;letter-spacing:1px}.origin-details p{font-size:12px;line-height:1.9;color:#d0d6c9;margin-top:13px}.roast-ritual{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding:85px 7.2%;align-items:center}.roast-ritual img{width:100%;height:auto;display:block}.roast-ritual p:not(.eyebrow){font-size:13px;margin-top:24px;max-width:390px}.roast-ritual .text-button{margin-top:28px}.roast-final{text-align:center;background:var(--ink);color:var(--cream);padding:70px 7%}.roast-final h2{font-size:clamp(42px,4.7vw,65px)}.roast-final .button{margin-top:30px}.roast-final>p:last-child{font-size:10px;color:#d0d6c9;margin-top:18px}.coffee-product-page .footer-top nav{flex-wrap:wrap}
@media(max-width:1100px){.roast-hero{gap:35px}.roast-hero h1{font-size:65px}.roast-story{gap:55px;padding:65px 7%}.roast-profile{gap:45px}.roast-ritual{gap:40px}.taste-notes{gap:14px}.taste-notes h3{font-size:22px}}
@media(max-width:800px){.roast-hero{grid-template-columns:1fr;padding:28px 7% 55px;gap:30px}.product-breadcrumb{padding:23px 7% 0}.roast-hero h1{font-size:64px}.roast-hero h1 br{display:none}.roast-hero h1{font-size:clamp(45px,8vw,64px)}.roast-hero-copy .eyebrow{margin-bottom:20px}.roast-hero-lede{font-size:26px}.roast-designation{margin-top:15px}.roast-story{grid-template-columns:1fr;gap:35px;padding:55px 7%}.roast-story-photo{max-width:460px}.roast-profile{grid-template-columns:1fr;gap:38px;padding:55px 7%}.roast-profile-heading>p:last-child{max-width:400px}.roast-ritual{grid-template-columns:1fr;gap:35px;padding:55px 7%}.taste-notes h3{font-size:22px}.coffee-product-page .footer-top nav{gap:20px}.roast-final{padding:55px 7%}}
@media(max-width:360px){.roast-hero h1{font-size:44px}.taste-notes{gap:10px}.taste-notes h3{font-size:20px}.origin-details{grid-template-columns:1fr;gap:24px}}
/* Verified product-listing introduction, kept compact before the lifestyle story. */
.roast-editorial-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center;padding:55px 7.2%;border-top:1px solid var(--line)}
.roast-editorial-intro h2{font-size:clamp(30px,3vw,42px);line-height:1.2;letter-spacing:-.04em;max-width:530px}
.roast-editorial-intro p{font-size:13px;line-height:1.9;max-width:620px}
@media(max-width:800px){.roast-editorial-intro{grid-template-columns:1fr;gap:22px;padding:42px 7%}.roast-editorial-intro h2{font-size:32px}.roast-editorial-intro p{font-size:13px}}

/* Equal, centered tasting-note groups; wrap only between whole words. */
.roast-profile .taste-notes{grid-template-columns:repeat(3,minmax(0,1fr))}
.roast-profile .taste-notes>div{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}
.roast-profile .taste-notes span{display:block}
.roast-profile .taste-notes h3{width:100%;text-align:center;white-space:normal;word-break:normal;overflow-wrap:normal;text-wrap:balance}

/* Retain First Mile's existing editorial frame; keep the cup fully inside the map crop. */
.roast-story-photo .first-mile-story-photo{aspect-ratio:3/4;object-fit:cover;object-position:80% center}

/* Compact product discovery uses the same editorial type, palette and dividers. */
.related-coffee{padding:42px 7.2%;border-bottom:1px solid var(--line)}
.related-coffee h2{font-size:clamp(28px,3vw,38px);margin-bottom:22px}
.related-coffee ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:0}
.related-coffee a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:14px 0;border-top:1px solid var(--line);min-height:64px;transition:color .2s}
.related-coffee a:hover{color:var(--copper)}
.related-product-name{font-family:var(--serif);font-size:24px;line-height:1.25}
.related-product-detail{font-size:11px;color:var(--muted)}
.related-product-arrow{grid-column:2;grid-row:1/3;align-self:center}
/* Keep the same small type while giving touch and keyboard users more room. */
.product-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.roast-story-link{display:flex;width:fit-content;align-items:center;min-height:44px;padding:10px 0;line-height:1.5}
@media(max-width:600px){.related-coffee{padding:34px 7%}.related-coffee ul{grid-template-columns:1fr;gap:8px}.product-breadcrumb{gap:16px}}
