/* Homepage v3: storefront imagery. Loaded only on index.html. */
.h3 .cover-grid{align-items:center}
/* hero mosaic */
.mosaic{position:relative;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:auto auto;gap:16px;padding:10px 0 24px}
.mo{margin:0;position:relative;min-width:0}
.mo figcaption{font-size:11px;line-height:1.3;color:#6d625a;margin-top:6px}
.mo figcaption a,.vc-cap a,.lb-phone a,.spot-f a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.mo-shot{display:block;position:relative;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 26px 50px -24px rgba(22,18,15,.55),0 0 0 3px #16120f;text-decoration:none}
.mo-shot.desktop,.mo-shot.pdp{padding-top:18px}
.mo-shot img{display:block;width:100%;height:auto}
.vc-dots{position:absolute;top:0;left:0;right:0;height:18px;background:#16120f;display:flex;gap:5px;align-items:center;padding-left:10px;z-index:1}
.vc-dots i{width:7px;height:7px;border-radius:50%;background:#ff7a59}.vc-dots i:nth-child(2){background:#ffd23f}.vc-dots i:nth-child(3){background:#7be0b4}
.mo-shot.mobile{border-radius:30px;box-shadow:0 26px 50px -24px rgba(22,18,15,.55),0 0 0 6px #16120f}
.mo-shot.mobile .notch{position:absolute;top:6px;left:50%;width:34%;height:14px;margin-left:-17%;background:#16120f;border-radius:999px;z-index:1}
.mo-shot.mobile img{aspect-ratio:390/700;object-fit:cover;object-position:top}
.m-main{grid-column:1/6;grid-row:1;transform:rotate(-1.5deg)}
.m-phone{grid-column:5/7;grid-row:1/3;align-self:start;margin-top:56px;transform:rotate(3deg);z-index:2}
.m-s1{grid-column:1/3;grid-row:2;transform:rotate(2deg)}
.m-s2{grid-column:3/5;grid-row:2;transform:rotate(-2deg)}
.mo-tag{position:absolute;top:-12px;left:14px;z-index:3;display:inline-flex;gap:8px;align-items:center;background:var(--c);color:var(--t);font-family:var(--disp);font-weight:800;font-size:15px;letter-spacing:-.02em;padding:6px 12px;border-radius:999px;text-decoration:none;box-shadow:0 8px 16px -8px rgba(0,0,0,.4);border:2px solid #16120f}
.mo-tag b{background:#16120f;color:#fff;border-radius:999px;padding:1px 8px;font-size:13px}
.m-phone .mo-tag{left:auto;right:-6px}
.mega.mini{position:absolute;left:auto;top:auto;right:30%;bottom:26%;width:150px;height:150px;margin:0;border-width:5px;z-index:4}
.mega.mini .mg-n{font-size:64px}.mega.mini .mg-k{font-size:9.5px;max-width:110px}.mega.mini .mg-l{width:38px;height:38px;font-size:16px}
.mega.mini::before{inset:-14px}
/* visual brand cards */
.vfeed{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}
.vcard{position:relative;background:var(--c);color:var(--t);border-radius:28px;padding:12px 12px 14px;display:flex;flex-direction:column;box-shadow:var(--sh);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;min-width:0}
.vcard:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:var(--sh2)}.vcard.r1:hover,.vcard.r3:hover{transform:translateY(-6px) rotate(.6deg)}
.vc-link{position:absolute;inset:0;z-index:2;border-radius:inherit}
.vc-shot{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 0 0 2px rgba(22,18,15,.85);aspect-ratio:16/11}
.vc-shot.desktop,.vc-shot.pdp{padding-top:16px}.vc-shot .vc-dots{height:16px}
.vc-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.vc-shot.mobile{background:#16120f;padding:10px 22% 0}
.vc-shot.mobile img{border-radius:14px 14px 0 0}
.vc-shot.none{background:rgba(255,255,255,.35)}
.vc-body{position:relative;padding:14px 6px 0;flex:1;display:flex;flex-direction:column}
.vc-id{display:flex;align-items:center;gap:8px;min-height:28px;padding-right:62px}
.vc-id .li{width:28px;height:28px;border-radius:8px;background:#fff;object-fit:contain;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.vc-cat{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.vcard h3{font-family:var(--disp);font-weight:800;font-size:clamp(24px,2.1vw,30px);line-height:.95;letter-spacing:-.035em;margin:10px 0 6px;padding-right:56px}
.vc-note{font-size:14px;line-height:1.4;margin:0 0 8px;opacity:.92}
.vc-sc{position:absolute;top:8px;right:4px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:22px;color:#fff;border:3px solid #fff;box-shadow:var(--sh);transform:rotate(8deg);line-height:1;text-align:center}
.vc-sc.ga{background:var(--ga)}.vc-sc.gb{background:var(--gb)}.vc-sc.gc{background:var(--gc)}.vc-sc.gd{background:var(--gd)}.vc-sc.gf{background:var(--gf)}
.vc-sc.soon{background:#16120f;font-size:10px;font-family:var(--sans)}
.vc-cap{position:relative;z-index:3;font-size:10.5px;line-height:1.3;margin:6px 6px 0;opacity:.75}
.vcard.big{grid-column:span 2;grid-row:span 2}
.vcard.big .vc-shot{aspect-ratio:auto;flex:1;min-height:300px}
.vcard.big h3{font-size:clamp(36px,4vw,58px)}.vcard.big .vc-note{font-size:16px}
.vcard.big .vc-sc{width:76px;height:76px;font-size:30px;top:4px}
/* leaderboard teaser */
.lb-ic{display:inline-flex;vertical-align:middle;margin-right:10px}.lb-ic .li{width:26px;height:26px;border-radius:7px;background:#fff;object-fit:contain}
.lb-phone{margin:28px 0 0;max-width:230px}
.lb-phone .mo-shot.mobile{box-shadow:0 0 0 6px #fff,0 30px 50px -20px rgba(0,0,0,.6);transform:rotate(-3deg)}
.lb-phone figcaption{font-size:12px;line-height:1.35;margin-top:16px;color:rgba(255,255,255,.75)}.lb-phone figcaption b{color:#fff;display:block;font-size:14px;margin-bottom:2px}
.lb-fn{color:rgba(255,255,255,.6)!important;margin-top:14px}
/* spotlight */
.spot{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:0 0 30px}
.spot-f{margin:0}.spot-f:nth-child(1) .mo-shot{transform:rotate(-1deg)}.spot-f:nth-child(2) .mo-shot{transform:rotate(1deg)}
.spot-f img{aspect-ratio:16/10;object-fit:cover;object-position:top}
.spot-f figcaption{font-size:13px;line-height:1.45;margin-top:14px;color:#3d342e}.spot-f figcaption b{color:#16120f}
/* category tiles */
.cattiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cattile{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:170px;padding:18px 20px;border-radius:28px;text-decoration:none;color:#16120f;transition:transform .25s}
.cattile::after{content:"";position:absolute;width:160px;height:160px;right:-50px;top:-60px;border-radius:45% 55% 60% 40%;background:rgba(255,255,255,.28)}
.cattile:hover{transform:rotate(-1.5deg) scale(1.03)}
.cattile.c0{background:#ffd23f}.cattile.c1{background:#ff9ec4}.cattile.c2{background:#7be0b4}.cattile.c3{background:#8fc7ff}.cattile.c4{background:#c9b6ff}.cattile.c5{background:#ffb38a}
.ct-n{font-family:var(--disp);font-weight:800;font-size:56px;line-height:.85;letter-spacing:-.05em}
.ct-name{font-family:var(--disp);font-weight:800;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.03em;line-height:1;margin-top:8px}
.ct-sub{font-size:13px;font-weight:700;opacity:.75;margin-top:4px}
.ct-top{margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;flex-wrap:wrap}
.ct-top .li{width:22px;height:22px;border-radius:6px;background:#fff;object-fit:contain}
.ct-top b{background:rgba(255,255,255,.75);border-radius:999px;padding:2px 9px}
@media(max-width:1060px){.vfeed{grid-template-columns:repeat(3,1fr)}.cattiles{grid-template-columns:repeat(3,1fr)}.mosaic{max-width:640px}}
@media(max-width:760px){
.mosaic{gap:12px;padding-top:18px}.mo figcaption{font-size:10px}
.m-main{grid-column:1/6}.m-phone{grid-column:4/7;margin-top:80px}.m-s1{grid-column:1/4}.m-s2{display:none}
.mega.mini{width:112px;height:112px;right:auto;left:2%;bottom:8%}.mega.mini .mg-n{font-size:46px}.mega.mini .mg-k{font-size:8px;max-width:84px}.mega.mini .mg-l{width:30px;height:30px;font-size:13px}
.mo-tag{font-size:13px;padding:4px 10px}
.vfeed.swipe{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:4px 16px 20px;scrollbar-width:none}
.vfeed.swipe::-webkit-scrollbar{display:none}
.vfeed.swipe .vcard{flex:0 0 78%;scroll-snap-align:start}.vfeed.swipe .vcard.big{flex-basis:86%}
.vcard.big .vc-shot{aspect-ratio:16/11;min-height:0;flex:none}.vcard.big h3{font-size:34px}
.spot{grid-template-columns:1fr;gap:22px}
.cattiles{grid-template-columns:1fr 1fr;gap:10px}.cattile{min-height:150px;padding:14px 16px;border-radius:22px}.ct-n{font-size:42px}
.lb-phone{display:none}}
/* fixes round 2 */
.mega.mini{right:auto;bottom:auto;left:-54px;top:150px}
.vcard.big .vc-body{flex:none}
.vc-shot.none{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:18px;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.22) 0 14px,rgba(255,255,255,.1) 14px 28px);box-shadow:inset 0 0 0 2px rgba(22,18,15,.25)}
.vc-big{font-family:var(--disp);font-weight:800;font-size:clamp(26px,2.6vw,38px);letter-spacing:-.04em;line-height:.9;background:#fff;color:#16120f;border-radius:14px;padding:8px 12px;transform:rotate(-3deg)}
.vc-why{font-size:12px;font-weight:700;background:#16120f;color:#fff;border-radius:999px;padding:4px 10px}
.lb-phone.desktop{max-width:320px}.lb-phone .mo-shot.desktop{box-shadow:0 0 0 3px #fff,0 30px 50px -20px rgba(0,0,0,.6);transform:rotate(-2deg)}
@media(max-width:760px){.mega.mini{left:-4px;top:70px}}
/* fixes round 3 */
.m-main .mo-tag{display:none}
.vcard.big .vc-shot{aspect-ratio:16/10;flex:none;min-height:0}
.vc-duo{position:relative;padding-bottom:70px}
.vc-phone{position:absolute;right:18px;bottom:-34px;width:27%;margin:0;background:#16120f;border-radius:22px;padding:14px 5px 5px;box-shadow:0 22px 40px -18px rgba(0,0,0,.6);transform:rotate(4deg);z-index:1}
.vc-phone .notch{position:absolute;top:5px;left:50%;width:30%;height:6px;margin-left:-15%;background:#444;border-radius:9px}
.vc-phone img{display:block;width:100%;height:auto;aspect-ratio:390/600;object-fit:cover;object-position:top;border-radius:16px}
.vcard.big .vc-body{padding-right:34%}
@media(max-width:760px){.mega.mini{display:none}.m-main .mo-tag{display:inline-flex}.vc-duo{padding-bottom:0}.vc-phone{display:none}.vcard.big .vc-body{padding-right:6px}}
.vc-duo{padding-bottom:96px}.vc-phone{bottom:0;width:25%}
.vcard.big .vc-sc.soon{font-size:12px}

/* Hero score seal: solid filled badge (fix for see-through seal, faded number, overlapping grade dot) */
.mosaic .mega.mini{width:172px;height:172px;background:#16120f;color:#fff;border:5px solid #fff;box-shadow:0 22px 44px -14px rgba(22,18,15,.55),0 0 0 1px rgba(22,18,15,.12);gap:2px;padding:0 10px;isolation:isolate}
.mosaic .mega.mini::before{inset:-11px;border:3px solid #ff5a36;animation:none;opacity:1}
.mosaic .mega.mini .mg-k{color:#ffd166;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.25;max-width:130px;opacity:1}
.mosaic .mega.mini .mg-n{color:#fff;-webkit-text-fill-color:#fff;background:none;font-size:76px;font-weight:900;line-height:.9;opacity:1;text-shadow:none}
.mosaic .mega.mini .mg-l{top:auto;right:-8px;bottom:-4px;width:46px;height:46px;font-size:19px;color:#fff;-webkit-text-fill-color:#fff;transform:none;border:4px solid #fff;box-shadow:0 6px 14px -4px rgba(22,18,15,.45)}
@media(max-width:1100px){.mosaic .mega.mini{width:128px;height:128px;border-width:4px}.mosaic .mega.mini .mg-n{font-size:54px}.mosaic .mega.mini .mg-k{font-size:8.5px;max-width:96px}.mosaic .mega.mini .mg-l{width:36px;height:36px;font-size:15px;border-width:3px;right:-6px;bottom:-4px}.mosaic .mega.mini::before{inset:-8px}}
.mosaic .mega.mini::before{display:none}
.mosaic .mega.mini{box-shadow:0 0 0 4px #ff5a36,0 22px 44px -14px rgba(22,18,15,.6)}
@media(max-width:1100px){.mosaic .mega.mini{left:10px}}
/* Brand color card for cards without a clean capture: logo and name only */
.vc-shot.none.bcard{background:var(--c);color:var(--t);align-items:center;justify-content:center;text-align:center;gap:14px}
.vc-shot.none.bcard .li{width:56px;height:56px;border-radius:14px;background:#fff;padding:6px;box-shadow:0 8px 20px -8px rgba(0,0,0,.35)}
.vc-shot.none.bcard .vc-big{color:var(--t);background:none;-webkit-text-fill-color:currentColor}
/* Frame polish: tidy pills, one-line source captions */
.m-phone .mo-tag{left:50%;right:auto;top:-14px;transform:translateX(-50%);white-space:nowrap}
.mo figcaption{white-space:nowrap}
.m-phone figcaption{display:flex;justify-content:flex-end}
.m-phone figcaption .src-cap{overflow:visible;max-width:none}
.mosaic .mega.mini{top:104px}
@media(max-width:1100px){.mosaic .mega.mini{top:auto;bottom:22%}}
.m-phone figcaption{justify-content:flex-start}
.mosaic .mega.mini{top:150px;width:160px;height:160px}.mosaic .mega.mini .mg-n{font-size:70px}
@media(max-width:1100px){.mosaic .mega.mini{width:128px;height:128px;top:130px;bottom:auto}.mosaic .mega.mini .mg-n{font-size:54px}.m-phone figcaption{justify-content:flex-end}}
@media(max-width:760px){.mosaic .mega.mini{display:none}}
@media(min-width:761px) and (max-width:1100px){.m-phone figcaption .src-k{display:none}.m-phone figcaption{justify-content:flex-start}}
.vc-cap{opacity:1}.vc-cap .src-cap{color:var(--t,#16120f);opacity:.78}
/* Mobile captures in cards: phone on a brand tint instead of a black letterbox */
.vc-shot.mobile{background:color-mix(in srgb,var(--c) 55%,#fff);padding:14px 25% 0}
.vc-shot.mobile .vc-dots{display:none}
.vc-shot.mobile img{border:5px solid #16120f;border-bottom:0;border-radius:22px 22px 0 0;box-sizing:border-box;box-shadow:0 10px 24px -10px rgba(22,18,15,.5)}
.vc-sc.gc,.vc-sc.gd{color:#16120f}.vc-sc.ga{background:#13894f}
