/* v247 visual directory: scoped public presentation; no operational selectors. */
.public-site .visual-directory{color:#f2f4ef;background:#080e10}
.directory-container{width:min(1360px,calc(100% - 64px));margin-inline:auto}
.directory-page{padding-bottom:64px}
.directory-intro{padding-top:64px;padding-bottom:42px}
.directory-intro h1{font-size:clamp(38px,5vw,68px);font-weight:850;line-height:1.06;letter-spacing:-.045em;max-width:850px;margin:18px 0 22px}
.directory-intro p{max-width:680px;color:#c1cdca;font-size:17px;line-height:1.7}
.public-site .directory-home .trade-hero-copy h1{font-size:clamp(52px,6.5vw,92px)}
.home-directory{padding-top:58px;padding-bottom:64px}
.directory-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:32px}
.public-site .directory-heading h2{font-size:clamp(32px,3.5vw,48px);text-transform:none;line-height:1.1;max-width:720px;margin:16px 0 0}
.directory-heading>p{max-width:300px;color:#b8c4bf;font-size:15px;line-height:1.7;margin:0}
.category-mosaic{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;grid-auto-flow:row dense}
.category-tile{grid-column:span 2;position:relative;isolation:isolate;display:flex;align-items:end;min-width:0;min-height:390px;overflow:hidden;border:1px solid #3d4641;border-radius:12px;background:#17201d;outline-offset:5px;color:#fff}
.category-tile.wide{grid-column:span 4}
.category-tile[data-category=performance-skin]{grid-column:span 4}
.category-tile[data-category=fitness-guide],.category-tile[data-category=fitness-pulse]{grid-column:span 3}
.category-tile:first-child{grid-column:span 4}
.category-photo{position:absolute;inset:0;z-index:-2;overflow:hidden}
.category-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1);transform:scale(1.005);transition:transform .8s ease,opacity .65s ease}
.category-photo .category-alternate{opacity:0}
.category-tile:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#02080700 20%,#02080780 48%,#020807f2 100%)}
.category-tile-copy{width:100%;min-width:0;padding:30px;transition:transform .25s ease}
.category-kicker{color:#f8d951;font-size:10px;font-weight:800;letter-spacing:.14em;line-height:1.6}
.public-site .category-tile h2{font-size:clamp(26px,2.8vw,40px);font-weight:850;line-height:1.08;letter-spacing:-.03em;margin:12px 0 14px;text-transform:none;overflow-wrap:break-word}
.category-tile p{max-width:470px;color:#edf2ef!important;font-size:15px;line-height:1.6;margin:0 0 23px;text-shadow:0 1px 6px #000}
.category-action{display:flex;gap:14px;justify-content:space-between;align-items:center;max-width:100%;padding-top:15px;border-top:1px solid #c6cbbb55;color:#ffe181;font-size:13px;font-weight:750;line-height:1.5}
.category-action>span{font-size:23px;transition:transform .2s}
.category-tile:is(:hover,:focus-visible){border-color:#f8d951;box-shadow:0 0 0 1px #f8d95155}
.category-tile:is(:hover,:focus-visible) .category-photo img{transform:scale(1.055)}
.category-tile.has-alternate:is(:hover,:focus-visible) .category-photo img:first-child{opacity:0}
.category-tile.has-alternate:is(:hover,:focus-visible) .category-alternate{opacity:1}
.category-tile:is(:hover,:focus-visible) .category-action>span{transform:translate(3px,-3px)}
.category-tile:is(:hover,:focus-visible) .category-action{border-color:#f8d951}
.category-detail{padding-top:48px;padding-bottom:70px}
.category-detail-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center}
.category-detail-image{border:1px solid #3a4540;border-radius:14px;overflow:hidden;background:#141d1a}
.category-detail-image img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover;filter:grayscale(1)}
.category-detail-copy{min-width:0;padding:8px 0}
.category-back{display:inline-block;font-size:13px;color:#c6d1ca;margin-bottom:30px}
.category-detail h1{font-size:clamp(38px,4.3vw,66px);font-weight:850;line-height:1.07;letter-spacing:-.04em;margin:18px 0 24px;overflow-wrap:break-word}
.category-line{font-size:clamp(18px,1.9vw,24px);line-height:1.55;max-width:560px;color:#e0e7e1;margin-bottom:28px}
.public-site .catalogue-cta{min-height:48px;border-radius:7px;white-space:normal;gap:12px;text-align:center;line-height:1.5;padding:14px 20px}
.category-information{padding-top:56px}
.category-information>h2{font-size:clamp(28px,3vw,40px);line-height:1.2}
.category-information>p{max-width:850px;line-height:1.8;color:#bdc9c1;font-size:17px}
.category-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0}
.category-groups article{padding:26px;border:1px solid #3b4640;border-radius:10px;background:#111a17;min-width:0}
.category-groups span{color:#f8d951;font-size:12px}
.category-groups h3{font-size:23px;line-height:1.3;margin:18px 0 0;overflow-wrap:anywhere}
.category-information .category-small{font-size:13px;line-height:1.8;margin:24px 0}
.public-site .directory-home .trade-hero-caption{font-size:10px}
@media(max-width:1100px){.category-mosaic{gap:16px}.category-mosaic .category-tile{grid-column:span 3}.category-tile{min-height:410px}.category-tile-copy{padding:26px}.public-site .category-tile h2{font-size:32px}.category-detail-hero{gap:30px}}
@media(max-width:900px){.directory-container{width:calc(100% - 40px)}.category-detail-hero{grid-template-columns:minmax(0,1fr)}.category-detail-copy{padding:0}.category-detail-image{max-width:100%}.category-back{margin-bottom:24px}.category-detail h1{max-width:750px}.category-groups{grid-template-columns:minmax(0,1fr)}.directory-heading{display:block}.directory-heading>p{max-width:none;margin:18px 0 0}.public-site .directory-home .trade-hero-copy h1{font-size:clamp(46px,8vw,72px)}}
@media(max-width:700px){.directory-container{width:calc(100% - 32px)}.category-mosaic{grid-template-columns:minmax(0,1fr);gap:18px}.category-mosaic .category-tile{grid-column:auto;min-height:430px}.category-tile-copy{padding:26px}.public-site .category-tile h2{font-size:34px;max-width:400px}.category-tile p{font-size:16px}.category-photo img{object-position:60% center}.category-tile[data-category=fitness-guide] .category-photo img{object-position:70% center}.directory-intro{padding-top:42px;padding-bottom:28px}.home-directory{padding-top:38px;padding-bottom:42px}.category-detail{padding-top:24px;padding-bottom:45px}.category-detail h1{font-size:40px}.category-information{padding-top:35px}.category-groups{gap:14px}.public-site .catalogue-cta{width:100%}.public-site .directory-home .trade-hero-copy h1{font-size:clamp(44px,12vw,60px)}}
/* Touch has its own image reveal; text and actions never depend on hover. */
@media(hover:none),(pointer:coarse){.category-tile .category-photo img{transform:scale(1.03);transition:transform .9s ease,opacity .7s ease}.category-tile.is-inview .category-photo img{transform:scale(1.005)}.category-tile.has-alternate.is-inview .category-photo img:first-child{opacity:0}.category-tile.has-alternate.is-inview .category-alternate{opacity:1}.category-tile.is-inview .category-action{border-color:#f8d951}.category-action{color:#ffe181}}
@media(prefers-reduced-motion:reduce){.category-photo img,.category-tile .category-photo img{transform:none!important;transition:none!important}.category-tile.has-alternate .category-photo img:first-child{opacity:1!important}.category-tile .category-alternate{display:none!important}.category-tile-copy,.category-action>span{transform:none!important;transition:none!important}}

/* v248: a small touch-screen invitation; no sound or cursor simulation. */
.public-site .touch-scroll-cue{display:none;align-items:center;gap:10px;position:relative;width:max-content;max-width:100%;margin-top:18px;min-height:46px;padding:9px 15px;border:1px solid #a28e43;border-radius:999px;background:#111c16;color:#ffe181;font-size:12px;font-weight:750;line-height:1.4;box-shadow:0 5px 20px #f8d95118;z-index:1}
.public-site .touch-scroll-cue img{width:28px;height:28px;flex:none;animation:touch-dumbbell-lift 1.4s .2s ease-in-out 2}
.public-site .touch-scroll-cue[hidden]{display:none!important}
@keyframes touch-dumbbell-lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:1100px),(hover:none),(pointer:coarse){.public-site .touch-scroll-cue{display:inline-flex}}
@media(max-height:520px) and (orientation:landscape){.public-site .touch-scroll-cue{position:fixed;top:calc(var(--fitness-nav-height,74px) + 12px);right:16px;margin:0;z-index:990;background:#0c1612f5}.public-site.mobile-nav-open .touch-scroll-cue{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.public-site .touch-scroll-cue img{animation:none!important;transform:none!important}}

/* Categories collect during exploration, rather than a second opening sequence. */
.public-site .category-tile{scroll-margin-top:calc(var(--fitness-nav-height,82px) + 24px)}
.support-collection{padding-bottom:64px}
.support-collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.collection-tile{position:relative;isolation:isolate;min-width:0;min-height:150px;overflow:hidden;border:1px solid #4d5746;border-radius:8px;background:#15201a;display:flex;align-items:end;color:#f2f5ec;padding:16px}
.collection-tile:is(:first-child,:nth-child(4),:nth-child(7),:nth-child(10),:last-child){grid-column:span 2}
.collection-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);z-index:-2;transition:opacity .55s ease}
.collection-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07100d22,#07100df2);z-index:-1}
.collection-number{position:absolute;top:12px;left:14px;color:#f8d951;font-size:12px;font-weight:850}
.collection-name{font-size:14px;font-weight:750;line-height:1.35;overflow-wrap:break-word}
.collection-enabled .collection-tile:not(.is-collected) img{opacity:0}
.collection-tile.is-collected{border-color:#ae9647}
.collection-tile:is(:hover,:focus-visible){border-color:#f8d951}
.collection-count{display:block;margin-top:10px;color:#f8d951;font-size:18px;font-weight:800}
.collection-count[hidden]{display:none}
@media(max-width:900px){.support-collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.collection-tile{min-height:140px}.support-collection-grid .collection-tile{grid-column:auto}.support-collection-grid .collection-tile:is(:first-child,:nth-child(6),:last-child){grid-column:span 2}}
@media(max-width:600px){.support-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collection-tile{min-height:140px;padding:14px}.collection-name{font-size:13px}.support-collection-grid .collection-tile{grid-column:auto!important}.support-collection-grid .collection-tile:first-child{grid-column:span 2!important}.support-collection{padding-bottom:42px}}
@media(prefers-reduced-motion:reduce){.collection-tile img{transition:none!important}}

.public-site .touch-scroll-cue.cue-compact{position:fixed;top:calc(var(--fitness-nav-height,74px) + 12px);right:16px;margin:0;z-index:990;background:#0c1612f5}
.public-site.mobile-nav-open .touch-scroll-cue{visibility:hidden}

/* v249: complete photographs, ordered chapters and independent readable copy. */
.public-site .editorial-flow{display:flex;flex-direction:column;gap:54px}
.public-site .editorial-flow .category-tile{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;min-height:0;overflow:visible;border:0;border-top:1px solid #35413b;border-radius:0;padding-top:28px;background:transparent;gap:42px;box-shadow:none}
.public-site .editorial-flow .category-tile:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.public-site .editorial-flow .category-tile:nth-child(even) .category-photo{order:2}
.public-site .editorial-flow .category-photo{position:relative;inset:auto;z-index:auto;border-radius:10px;overflow:hidden;background:#111918}
.public-site .editorial-flow .category-photo img{position:static;display:block;width:100%;height:auto;object-fit:contain;object-position:center;transform:none!important;transition:filter .3s ease;filter:grayscale(1)}
.public-site .editorial-flow .category-tile:after{display:none}
.public-site .editorial-flow .category-tile-copy{padding:12px 0;min-width:0}
.public-site .editorial-flow .category-tile h2{font-size:clamp(28px,3.6vw,48px);margin:12px 0 18px;max-width:540px}
.public-site .editorial-flow .category-tile p{font-size:17px;text-shadow:none;color:#c5cfca!important;max-width:480px}
.public-site .editorial-flow .category-tile:is(:hover,:focus-visible){border-color:#f8d951}
.public-site .editorial-flow .category-tile:is(:hover,:focus-visible) h2{color:#ffe181}
.public-site .editorial-flow .category-tile:is(:hover,:focus-visible) .category-photo img{filter:grayscale(1) brightness(1.08)}
.support-chapter{padding:32px 0 54px;scroll-margin-top:110px}
.public-site .chapter-heading{display:flex;gap:20px;align-items:baseline;margin:12px 0 20px}
.public-site .chapter-heading h2{font-size:clamp(28px,3.5vw,42px)}
.public-site .support-index{padding-bottom:70px}
.public-site .support-index h2{font-size:clamp(28px,3vw,42px);margin-bottom:30px}
.public-site .support-index nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.public-site .support-index a{padding:18px 0;border-top:1px solid #39433c;line-height:1.5;font-size:15px}
.public-site .support-index a span{color:#f8d951;margin-right:10px;font-size:12px}
.public-site .support-index a:is(:hover,:focus-visible){color:#ffe181}
.public-site :is(.category-detail-image,.page-hero-media,.diet-assist-hero-media){height:auto;min-height:0;aspect-ratio:auto}
.public-site :is(.category-detail-image,.page-hero-media,.diet-assist-hero-media) img{display:block;width:100%;height:auto!important;max-height:none;min-height:0;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important}
.public-site .respiration-groups>img{display:block;width:min(100%,760px);height:auto;border-radius:12px;margin-top:28px;filter:grayscale(1)}
.public-site .trade-home .trade-hero-image img{animation:none;transform:none}
@media(max-width:900px){.public-site .editorial-flow .category-tile,.public-site .editorial-flow .category-tile:nth-child(even){gap:26px}.public-site .support-index nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.public-site .editorial-flow{gap:32px}.public-site .editorial-flow .category-tile,.public-site .editorial-flow .category-tile:nth-child(even){display:flex;flex-direction:column;gap:16px;align-items:stretch;padding-top:22px}.public-site .editorial-flow .category-tile:nth-child(even) .category-photo{order:0}.public-site .editorial-flow .category-tile-copy{padding:0}.public-site .editorial-flow .category-tile h2{font-size:32px}.public-site .editorial-flow .category-tile p{font-size:16px;margin-bottom:16px}.support-chapter{padding:18px 0 32px}.public-site .chapter-heading{margin-bottom:8px}.public-site .support-index nav{grid-template-columns:minmax(0,1fr)}}

/* v252.1: keep section/category hierarchy clear without hover on touch screens. */
@media(max-width:1100px),(hover:none),(pointer:coarse){
 .public-site .directory-home .chapter-heading h2{color:#fff}
 .public-site .editorial-flow .category-tile h2{color:#ffe181}
}
