/* Custom Website + eCom feature page (builds on tracking.css components) */
.web-hero h1{max-width:16ch}
.web-hero .trk-stage .float{width:300px;bottom:-56px}
.web-hero .trk-stage .float img{border-radius:16px}
/* icon cards */
.icogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.icogrid .card{padding:28px;display:flex;gap:18px;align-items:flex-start}
.icogrid .ico{flex:none;width:64px;height:64px}
.icogrid .ico img{width:100%;height:100%;object-fit:contain}
.icogrid h3{font-size:17px;margin-bottom:6px;color:var(--ink-deep)}
.icogrid p{font-size:14.5px}
.mstat{display:flex;align-items:center;gap:22px;justify-content:center;margin:40px auto 0;max-width:720px;background:#fff;border-radius:22px;padding:22px 30px;box-shadow:var(--shadow-soft)}
.mstat .num{font-size:clamp(40px,4vw,56px);font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1}
.mstat p{font-size:15.5px;color:var(--body);text-align:left}
/* channels */
.chgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.chgrid .card{padding:26px;display:flex;flex-direction:column;gap:10px}
.chgrid .who{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#12a3e3}
.chgrid h3{font-size:18px;color:var(--ink-deep)}
.chgrid p{font-size:14.5px}
.chgrid .goes{margin-top:auto;font-size:13px;font-weight:600;color:var(--ink-deep);background:#eef8fe;border-radius:10px;padding:8px 12px}
/* team view */
.teamlist{display:grid;gap:14px;margin-top:22px}
.teamlist li{display:flex;gap:14px;align-items:flex-start;font-size:15.5px;color:var(--body)}
.teamlist b.n{flex:none;width:30px;height:30px;border-radius:50%;background:#12a3e3;color:#fff;display:grid;place-items:center;font-size:13px}
/* launch timeline */
.tline{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:52px}
.tline::before{content:"";position:absolute;left:4%;right:4%;top:23px;height:4px;border-radius:4px;background:linear-gradient(90deg,#bfe3f2,#12a3e3)}
.tstep{position:relative;text-align:center}
.tstep .dot{width:50px;height:50px;margin:0 auto 16px;border-radius:50%;background:#fff;border:4px solid #12a3e3;display:grid;place-items:center;font-weight:800;color:var(--ink-deep);position:relative;z-index:1;transition:transform .2s,background .2s,color .2s}
.tstep:hover .dot{transform:scale(1.08);background:#12a3e3;color:#fff}
.tstep h3{font-size:16px;color:var(--ink-deep);margin-bottom:6px}
.tstep p{font-size:13.5px}
.launchnote{max-width:820px;margin:40px auto 0;text-align:center;font-size:15px;background:#fff;border-radius:16px;padding:16px 22px;box-shadow:var(--shadow-soft);color:var(--ink-deep)}
/* payments */
.paylist{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.paylist .card{padding:20px}
.paylist h3{font-size:16px;color:var(--ink-deep);margin-bottom:4px}
.paylist p{font-size:14px}
@media (max-width:1100px){.chgrid{grid-template-columns:1fr 1fr}.web-hero .trk-stage .float{width:240px}}
@media (max-width:980px){.icogrid{grid-template-columns:1fr 1fr}.tline{grid-template-columns:repeat(3,1fr);row-gap:34px}.tline::before{display:none}}
@media (max-width:640px){
 .icogrid,.chgrid,.paylist{grid-template-columns:1fr}
 .tline{grid-template-columns:1fr;gap:18px}
 .tstep{display:grid;grid-template-columns:50px 1fr;gap:4px 16px;text-align:left;align-items:start}
 .tstep .dot{margin:0;grid-row:span 2}
 .mstat{flex-direction:column;text-align:center}.mstat p{text-align:center}
 .web-hero .trk-stage .float{width:70%;bottom:auto}
}
.flowshot{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 30px 70px rgba(0,40,70,.3)}
.paylist .bnpl{grid-column:1/-1;background:linear-gradient(135deg,#eaf6fd,#d9f1fc)}
.paylist .bnpl .link-arrow{display:inline-block;margin-top:6px;font-size:14px}
@media (min-width:1101px){.icogrid{grid-template-columns:repeat(4,1fr)}.icogrid .card{flex-direction:column;gap:14px}}

/* Self-Service Portal steps with real screenshots */
.st-panel.ssp.on{grid-template-columns:.78fr 1.22fr;align-items:center;gap:40px}
.ssp .txt ul{margin-top:18px}
.ssp .shot .bframe{box-shadow:0 30px 70px rgba(0,40,70,.3);margin:0}
.ssp .shot img{max-height:520px;object-fit:contain;object-position:top center;background:#fff}
.ssp .slot{min-height:300px}
.brandstage,.setstage{position:relative}
.brandstage .bframe,.setstage .bframe{margin:0}
.brandstage .float{position:absolute;left:-28px;bottom:-34px;width:46%}
.setstage{padding-bottom:140px}
.setstage .float{position:absolute;right:-30px;bottom:0;width:58%}
/* Merchandise Shop spotlight */
.shopspot{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center;margin-top:56px;background:#fff;border-radius:26px;padding:40px;box-shadow:0 20px 50px rgba(0,60,90,.08);border:1px solid rgba(0,124,179,.1)}
.shopspot h3{font-size:26px;color:var(--ink-deep);margin:10px 0 12px}
.shopspot .bframe{margin:0}
/* Portfolio */
.pfgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:52px}
.pfcard{display:block;text-decoration:none;color:inherit;background:#fff;border-radius:24px;padding:22px 22px 24px;border:1px solid rgba(0,124,179,.12);box-shadow:0 14px 40px rgba(0,60,90,.08);transition:transform .25s ease,box-shadow .25s ease}
.pfcard:hover,.pfcard:focus-visible{transform:translateY(-6px);box-shadow:0 28px 60px rgba(0,60,90,.16)}
.pfstage{position:relative;padding:0 34px 38px 0}
.pfstage .bframe{margin:0;box-shadow:0 18px 40px rgba(0,60,90,.14)}
.pfstage .bframe .bar{height:22px}.pfstage .bframe .bar i{width:8px;height:8px}.pfstage .bframe .bar span{max-width:120px;height:12px}
.pfphone{position:absolute;right:0;bottom:0;width:26%;aspect-ratio:390/700;border-radius:18px;border:5px solid #0f2a3d;background:#0f2a3d;overflow:hidden;box-shadow:0 18px 36px rgba(0,40,70,.28)}
.pfphone img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.pfmeta{display:flex;flex-direction:column;gap:6px;margin-top:20px}
.pfmeta h3{font-size:19px;color:var(--ink-deep)}
.pfmeta .link-arrow{font-size:14px}
@media (max-width:1100px){.pfgrid{grid-template-columns:1fr 1fr}}
@media (max-width:980px){.st-panel.ssp.on{grid-template-columns:1fr;gap:26px}.shopspot{grid-template-columns:1fr;padding:28px}}
@media (max-width:640px){
 .pfgrid{grid-template-columns:1fr;gap:22px}
 .shopspot{padding:20px;gap:24px}.shopspot h3{font-size:22px}
 .ssp .shot img{max-height:380px}
 .brandstage .float{position:relative;left:auto;bottom:auto;width:80%;margin:-22px auto 0 0}
 .setstage{padding-bottom:0}.setstage .float{position:relative;right:auto;width:84%;margin:-26px 0 0 auto}
}
