/* UX audit 2026-09-30. Original media and purchase geometry stay intact. */
html body{font-size:1rem;line-height:1.6}
html body :is(.editorial p,.prose p,.seo-faq>div,.seo-faq>div p,.crew-text,.selection-card p,.form-card p,.result-card p,.cc-choice .page-heading>p,.cc-choice .product-lead,.cc-choice .product-details p,.cc-choice .hero-invitation>p){font-size:1rem;color:var(--ui-text);line-height:1.65}
html body :is(.seo-faq>div,.seo-faq>div p,.catalog-disclaimer,.catalog-note,.shop-note,.fine-print,.footer-small,.delivery-ribbon){color:var(--ui-muted)}
html body :is(.seo-faq a,.prose a,.editorial p a,.footer-contacts a,.picker-compare a){color:var(--ui-link)}
html body :is(.fine-print,.footer-small,.delivery-ribbon,.breadcrumbs,.catalog-note,.shop-note,.cc-choice .eyebrow,.cc-choice .fact-label,.cc-choice .weight-stock,.crew-settings-kicker,.crew-theme-status,.step-label){font-size:.75rem;line-height:1.6}
html body :is(.editorial-lead,.crew-settings-intro,.crew-theme legend,.crew-theme label,.shop-header nav a,.appearance-button){font-size:1rem}
html body :is(.prose,.editorial-lead,.seo-faq>div,.crew-text,.product-details p,.catalogue-guide__item p){max-inline-size:65ch}
html body :is(h1,h2,h3,p,dd,a,button){overflow-wrap:break-word}
html body :is(.footer-contacts,.picker-compare){display:flex;flex-wrap:wrap;gap:8px 24px;margin-block:20px}
html body :is(.site-footer nav a,.footer-contacts a,.breadcrumbs a,.delivery-ribbon a,.picker-compare a){display:inline-flex;align-items:center;min-height:44px}
html body .site-footer .footer-settings a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
html body .breadcrumbs{flex-wrap:wrap}
html body .appearance-button{border:0;background:transparent;color:var(--ui-text);min-height:44px;padding:10px 12px;border-radius:999px;font-family:inherit;font-weight:600;cursor:pointer}
html body .appearance-button:hover{background:var(--ui-active)}
html body [data-cart-count][hidden],html body [data-shop-count][hidden]{display:none}
html body .motion-control{min-width:44px;min-height:44px;width:44px;padding:0;justify-content:center}
html body .motion-control>span{display:none}
html body .motion-control .motion-play{display:none}
html.is-reduced body .motion-control .motion-play{display:block}
html.is-reduced body .motion-control .motion-pause{display:none}
html body .motion-control svg{flex:none}
html body :is(.picker-summary,.picker-compare){font-size:1rem}
.picker-summary dt{font-weight:650;margin-top:12px}.picker-summary dd{margin-left:0}
html body .cc-choice .hero-heading h1{font-size:clamp(2.5rem,5vw,5rem)}
html body .cc-choice :is(.page-heading h1,.product-heading h1){font-size:clamp(2rem,4vw,3.25rem)}
html body .cc-choice .card-content :is(h2,h3){font-size:clamp(1.5rem,2.1vw,2rem)}
html body .cc-choice :is(.taste-notes,.roast,.blend-labels,.arabica-label){font-size:1rem}
html body .cc-choice :is(.weight-label,.purchase-total){font-size:1rem}
html body .cc-choice .weight-price{font-size:1.25rem}
html body .cc-choice .btn{font-size:1rem}
html body :is(.editorial h1,.faq-heading h2,.crew-section h2){font-size:clamp(2rem,4vw,3.5rem)}
@media(max-width:800px){
 html body .crew-tabbar a{font-size:.6875rem;line-height:1.3;text-align:center;min-height:54px}
 html body .crew-cart-count{font-size:.6875rem;min-width:20px;height:20px;line-height:16px}
 html body{padding-bottom:calc(var(--crew-dock-height,84px) + 24px + env(safe-area-inset-bottom,0px))}
 html body .cc-choice .hero-heading h1{font-size:1.75rem;line-height:1.15}
 html body .cc-choice .hero-intro{height:auto}
 html body .cc-choice :is(.hero-invitation,.hero-invitation .btn){min-width:0;max-width:none;width:100%}
 html body .cc-choice .weight-visual{min-width:0}
 html body .cc-choice .weight-label{flex-wrap:wrap}
 html body .shop-header .appearance-button{padding:12px}
 html body .cc-choice .hero-foot{display:none}
 html.ux-large-text body .cc-choice .hero-intro{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "cat" "invitation"}
 html.ux-large-text body .cc-choice .hero-heading{grid-area:heading}
 html.ux-large-text body .cc-choice .hero-mobile-cat{grid-area:cat;max-width:100px;justify-self:start}
 html.ux-large-text body .cc-choice .hero-invitation{grid-area:invitation}
}
@media(prefers-reduced-motion:reduce){html body .motion-control{transition:none}}

html body :is(.contact-channel,.contact-details a,.purchase-email){display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
html body .cc-choice .purchase-email{margin-top:8px}

/* Large text wraps desktop navigation instead of widening the page. */
html.ux-large-text body .shop-header nav{min-width:0;flex-wrap:wrap}

/* Mobile starts with the accepted compact intro, then the product catalogue. */
@media(max-width:800px){html body .cc-choice .scene-grid{display:none}}

/* UX-3: readable type, semantic contrast and space for the fixed navigation. */
html:root{font-size:100%;scroll-padding-block:100px calc(var(--crew-dock-height,84px) + 24px)}
html body :is(.contact-channel,.contact-details a,.purchase-email){color:var(--ui-link)}
html body .crew-section{--ui-text:#F5F0E8;--ui-muted:#C5BAAD;--ui-link:#FF5A3C}
html body .crew-section .crew-text{color:var(--ui-muted)}
html body :is(.eyebrow,.photo-category,.photo-note,.fact-label,.film-caption,.choice-list-note,.step-label,.notes-prefix){font-size:.75rem}
html body :is(.crew-tabbar a,.crew-cart-count){font-size:.6875rem}
html body :is(.cc-promo-terms,.cc-promo-copy-result){font-size:.875rem;line-height:1.65}
html body .cc-choice-promo :is(.cc-promo-joke,.cc-promo-code-label,.cc-promo-deadline){font-size:.75rem}
html body .cc-choice-promo .cc-promo-terms,html body .cc-choice-promo .cc-promo-terms summary{font-size:.875rem}
html body :is(.buy-button,.shop-page .btn,.shop-page input,.shop-page summary){scroll-margin-block:100px calc(var(--crew-dock-height,84px) + 32px)}
html body .purchase-feedback{margin-block:8px;font-size:1rem;line-height:1.5;color:var(--ui-text)}
html body .purchase-feedback:empty{display:none}
html body .purchase-feedback a{display:inline-flex;align-items:center;min-height:44px;color:var(--ui-link)}
@media(max-width:800px){
 html body :is(.crew-tabbar a,.crew-cart-count){font-size:.6875rem}
 /* Checkout and order pages have their own progress and back links. */
 html body:is(.shop-flow-checkout,.shop-flow-order) .crew-tabbar{display:none}
 html body .cc-choice .cc-promo-terms{font-size:.875rem}
}

/* Explicit roles beat legacy selectors such as .prose a:not(.btn). */
html body .editorial .prose a:not(.btn),html body .cc-choice .catalogue-guide .catalogue-guide__item a,html body .picker-summary a,html body .picker-help a{color:var(--ui-link)}
html body .cc-choice :is(.product-heading .eyebrow,.product-purchase .weight-stock,.card-pack figcaption){font-size:.75rem}
html body .footer-brand>span{font-size:.75rem}
html body .cc-choice .catalogue-guide .catalogue-guide__item p{font-size:1rem}
html body .cc-choice .card-content :is(h2,h3)>a{display:inline-flex;align-items:center;min-height:44px}
html body .text-link{display:inline-flex;align-items:center;min-height:44px}
html body .cc-choice .crew-all-callout{background:var(--ui-paper);color:var(--ui-text)}
html body .cc-choice .crew-all-callout :is(p,h2,em){color:var(--ui-text)}
html body .cc-choice .crew-all-callout .eyebrow{color:var(--ui-link)}
html body .editorial .prose{min-width:0;overflow-wrap:anywhere}
html body .contact-channel{max-inline-size:100%;overflow-wrap:anywhere}
html body .skip-link:focus{min-width:44px;min-height:44px;display:flex;align-items:center}

html body .cc-choice .crew-all-callout>div>p:not(.eyebrow){font-size:1rem;color:var(--ui-muted)}

html body .footer-top span{font-size:.75rem}
html body .shop-page h1{overflow-wrap:anywhere}

html body .editorial p.shop-error,html body .shop-form .errorlist{background:var(--ui-error-bg,#F8DAD2);color:var(--ui-error-text,#6F1707)}

html body .motion-control[hidden]{display:none}
