/* B Maximum: Jim's approved direction, November 2026.
   Original logo and packaging; typography updated by request; restrained colour; fitness and health. */
:root {
  --ink: #202122;
  --paper: #fafaf8;
  --surface: #f0f1ed;
  --surface-raised: #fff;
  --muted: #595e5b;
  --line: #d9dcd7;
  --red: #c73527;
  --type-section: clamp(1.9rem, 1.4rem + 2vw, 3.2rem);
  --type-editorial: clamp(2rem, 1.5rem + 2.2vw, 3.6rem);
  --type-card: clamp(1.1rem, 1rem + .3vw, 1.35rem);
  --type-body: 1rem;
}
body { background: var(--paper); }
.display { line-height: 1.1; letter-spacing: -.045em; font-weight: 600; }
.topbar { background:#f0f1ed; }
.header { background:rgba(250,250,248,.97); }
.logo { width:190px; height:50px; display:flex; align-items:center; overflow:hidden; }
.logo img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.nav-links { gap:24px; }
.nav-links a { font-size:.8rem; font-weight:500; }
.hero-copy { width:min(100%,610px); max-width:610px; }
.hero h1 { max-width:13ch; font-size:clamp(3.1rem,5.4vw,5.7rem); letter-spacing:-.06em; line-height:1.02; font-weight:600; }
.hero-kicker { max-width:50ch; font-size:.8rem; }
.hero p { max-width:39ch; font-size:1rem; line-height:1.7; }
.hero-note { font-size:.78rem; }
.motion-toggle { position:absolute; bottom:22px; right:28px; z-index:3; background:rgba(255,255,255,.9); border:1px solid #d0d3ce; border-radius:30px; font-size:.75rem; min-height:44px; padding:10px 17px; cursor:pointer; }
.section { padding-block:88px; }
.section.wrap { padding-inline:56px; }
.section-head h2 { line-height:1.12; max-width:23ch; }
.section-head p { font-size:.95rem; max-width:45ch; }
.filters { gap:10px; flex-wrap:wrap; margin-bottom:28px; }
.filter { font-size:.85rem; padding:10px 16px; min-height:44px; }
.products { row-gap:44px; }
.product-card { display:flex; flex-direction:column; }
.product-visual { border-radius:0; box-shadow:none; background:#f0f1ed; }
.product-info { flex:1; display:flex; flex-direction:column; }
.product-info h3 { font-size:1.2rem; line-height:1.3; min-height:3.1em; letter-spacing:-.025em; }
.product-info p { font-size:.82rem; min-height:2.9em; }
.product-bottom { margin-top:auto; }
.product-info .eyebrow { font-size:.71rem; letter-spacing:.02em; }
.product-visual .badge { background:rgba(255,255,255,.9); color:#424b40; font-size:.68rem; padding:5px 8px; }
.quick-add { min-width:44px; min-height:44px; }
.goals { background:#edf0e9; }
.goal h3 { font-size:clamp(1.25rem,1rem + 1vw,1.8rem); letter-spacing:-.035em; line-height:1.2; }
.goal p { font-size:.86rem; }
.standards-photo { background:#edf0e9; position:relative; display:flex; flex-direction:column; align-items:center; padding:32px; }
.standards-photo > img { width:100%; height:400px; object-fit:contain; mix-blend-mode:multiply; }
.ingredient-note { position:static; width:100%; margin-top:24px; background:none; border-top:1px solid #cbd2c6; padding:20px 0 0; }
.ingredient-note strong { font-size:.85rem; }
.ingredient-note small { font-size:.76rem; }
.pure-cta { margin-top:22px; align-self:flex-start; }
.standards h2,.community h2,.routine-banner h2 { line-height:1.12; }
.routine-banner { background:#232722; }
.routine-banner h2 { max-width:16ch; }
.coach-link { display:block; color:#fff; margin-top:22px; text-decoration:underline; text-underline-offset:5px; font-size:.9rem; width:fit-content; }
.banner-right .coach-note { font-size:.75rem; line-height:1.6; color:#d2d7cf; margin-top:14px; max-width:50ch; }
.community { background:#f4f4f0; }
.journal-card h3 { font-size:1.4rem; line-height:1.25; letter-spacing:-.035em; }
.professionals { display:grid; grid-template-columns:1fr 1fr; gap:80px; border-top:1px solid var(--line); }
.professionals h2 { font-size:var(--type-section); max-width:17ch; margin:18px 0 0; }
.professionals p { max-width:50ch; color:var(--muted); margin:0 0 28px; }
.pro-actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.closing h2 { font-size:1.5rem; letter-spacing:-.025em; line-height:1.3; }
.footer-wordmark { width:210px; height:58px; display:flex; align-items:center; overflow:hidden; background:transparent; }
.footer-wordmark img { width:100%; height:auto; padding:0 8px; filter:grayscale(1) brightness(0) invert(1); }
.footer-brand p { max-width:29ch; }
.modal-header .display,.modal-header h2 { font-size:clamp(1.5rem,3vw,2.4rem); line-height:1.15; }
.detail-text h3 { font-size:clamp(1.75rem,3vw,2.6rem); line-height:1.15; }
.routine-result h3 { font-size:1.5rem; }
@media(max-width:1100px){
 .nav-links { gap:16px; }
 .logo { width:165px; }
 .hero-copy { max-width:550px; }
 .hero h1 { font-size:clamp(3.3rem,6.2vw,4.7rem); }
 .nav-links a { font-size:.75rem; }
}
.product-title-button { color:inherit; text-decoration:none; }
.product-title-button:hover { text-decoration:underline; }
.pdp-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:83px; }
.pdp-nav nav { display:flex; align-items:center; gap:28px; font-size:.85rem; }
.pdp-nav nav a { text-decoration:none; }
.pdp-main { padding-block:28px 80px; }
.breadcrumb { display:flex; gap:12px; flex-wrap:wrap; font-size:.78rem; color:var(--muted); margin-bottom:30px; }
.pdp-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.pdp-image { background:#edf0e9; padding:36px; }
.pdp-image img { width:100%; height:520px; object-fit:contain; mix-blend-mode:multiply; }
.pdp-copy h1 { font-size:clamp(2rem,3.8vw,3.8rem); line-height:1.08; letter-spacing:-.05em; margin:20px 0 24px; }
.pdp-intro { color:var(--muted); max-width:48ch; }
.pdp-flavours { font-size:.85rem; color:var(--muted); }
.pdp-copy .price { font-size:1.6rem; margin:20px 0; }
.pdp-copy .textlink { margin-top:16px; }
.pdp-details { max-width:850px; margin:72px auto; }
.pdp-details h2,.pdp-related h2 { font-size:clamp(1.5rem,2.5vw,2rem); letter-spacing:-.03em; }
.pdp-details details { border-bottom:1px solid var(--line); padding:20px 0; }
.pdp-details summary { cursor:pointer; font-weight:600; }
.pdp-details details p { color:var(--muted); }
.pdp-details > a { margin-top:24px; }
.pdp-related > div { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:20px; }
.pdp-related a { flex:0 0 245px; text-decoration:none; scroll-snap-align:start; }
.pdp-related img { background:#f0f1ed; padding:25px; width:100%; height:260px; object-fit:contain; }
.pdp-related strong,.pdp-related span { display:block; margin-top:12px; }
.pdp-related span { font-size:.8rem; color:var(--muted); }
.pdp-footer { background:#232722; color:#fff; padding:40px 0; }
.pdp-footer strong { font-size:1.5rem; letter-spacing:-.03em; }
.pdp-footer p { font-size:.8rem; color:#d2d7cf; }
.pdp-footer a { margin-right:25px; font-size:.85rem; }
@media(max-width:900px){.pdp-grid { gap:32px; }.pdp-image img { height:410px; }}
@media(max-width:600px){
 .logo { width:155px; }
 .pdp-nav { min-height:68px; gap:12px; }
 .pdp-nav nav { gap:16px; font-size:.75rem; }
 .pdp-nav nav a:nth-child(2) { display:none; }
 .pdp-grid { grid-template-columns:1fr; gap:28px; }
 .pdp-image { padding:24px; }
 .pdp-image img { height:330px; }
 .pdp-copy h1 { font-size:2.15rem; }
 .pdp-details { margin:50px auto; }
 .pdp-main { padding-top:24px; }
 .pdp-related a { flex-basis:72vw; }
}
@media(max-width:360px){.logo { width:126px; }}
@media(max-width:900px){
 .section { padding-block:64px; }
 .section.wrap { padding-inline:32px; }
 .professionals { gap:32px; }
 .hero-copy { max-width:520px; }
 .products { row-gap:32px; }
 .standards-photo > img { height:320px; }
}
@media(max-width:600px){
 .wrap { padding-inline:22px; }
 .hero-layout { padding-top:calc(100vw + 20px); padding-bottom:44px; }
 .hero-copy { max-width:100%; }
 .hero-kicker { font-size:.72rem; line-height:1.5; }
 .hero h1 { max-width:13ch; font-size:clamp(2.7rem,10.8vw,4rem); margin:17px 0 20px; }
 .hero p { font-size:.95rem; max-width:38ch; }
 .hero-buttons { gap:16px; }
 .hero-buttons .textlink { font-size:.85rem; min-height:44px; display:inline-flex; align-items:center; }
 .motion-toggle { top:calc(100vw - 58px); bottom:auto; right:18px; }
 .ticker span { font-size:.76rem; }
 .section { padding-block:52px; }
 .section.wrap { padding-inline:22px; }
 .home-slide video { object-fit:cover; }
 .section-head { gap:18px; }
 .section-head h2 { font-size:2rem; }
 .section-head p { font-size:.9rem; }
 .filters { flex-wrap:nowrap; overflow:auto; margin-inline:-22px; padding-inline:22px; padding-bottom:8px; scrollbar-width:thin; }
 .filter { flex-shrink:0; font-size:.78rem; }
 .products { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:78%; overflow-x:auto; scroll-snap-type:x mandatory; gap:18px; margin-inline:-22px; padding:0 22px 20px; scrollbar-width:thin; scroll-padding-inline:22px; }
 .product-card { scroll-snap-align:start; }
 .product-visual { aspect-ratio:1/1.1; height:auto; padding:42px 24px 24px; }
 .product-info h3 { font-size:1.2rem; min-height:2.6em; }
 .product-info p { font-size:.85rem; }
 .goal-grid { gap:24px; }
 .goal h3 { font-size:1.4rem; }
 .goal p { font-size:.85rem; }
 .standards-photo { padding:24px; }
 .standards-photo > img { height:320px; }
 .ingredient-note { gap:18px; }
 .ingredient-note strong { font-size:.74rem; }
 .ingredient-note small { font-size:.7rem; }
 .standards h2,.routine-banner h2,.community h2 { font-size:2.15rem; }
 .routine-banner { padding-block:48px; }
 .community { padding:40px 22px; }
 .professionals { grid-template-columns:1fr; gap:24px; }
 .professionals h2 { font-size:2rem; max-width:20ch; }
 .pro-actions { gap:18px; }
 .pro-actions .button { width:100%; }
 .closing h2 { font-size:1.5rem; }
}

@media(max-width:600px){.filters,.products{scrollbar-width:none}.filters::-webkit-scrollbar,.products::-webkit-scrollbar{display:none}}
