/* Shop Screens marketing site.
   Design language mirrors Signature Suite (signaturesuite.ca, "detemplate" layer): Inter, calm type scale,
   flat hairline cards, 8px buttons, centred section heads, 4-column footer.
   White is the default theme (softer neutrals, red as a restrained accent). Dark + red is optional (html[data-theme="dark"]). */
@font-face{font-family:"Inter";src:url(/assets/inter-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root,html[data-theme="light"]{
  color-scheme:light;
  --bg:#FAF9F7;--bg2:#F3F1EE;--surface:#FFFFFF;
  --ink:#1C1B1A;--ink2:#45403E;--mut:#5F5A57;
  --line:rgba(28,24,22,.08);--line2:rgba(28,24,22,.14);--line3:rgba(28,24,22,.22);
  --accent:#C8202B;            /* text-safe red on white (AA) */
  --accent-fill:#D21F2C;       /* buttons, checks */
  --accent-soft:rgba(200,32,43,.08);
  --nav-bg:rgba(250,249,247,.86);
  --shadow:0 1px 2px rgba(28,24,22,.04),0 10px 30px -18px rgba(60,40,30,.28);
  --tv-shadow:0 1px 2px rgba(28,24,22,.06),0 18px 40px -22px rgba(40,25,20,.45);
  --deck:#141414;
  --maxw:1200px;--r:12px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --f:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0A0A0A;--bg2:#0E0E0F;--surface:#111112;
  --ink:#F4F2F1;--ink2:#C9C4C2;--mut:#9C9694;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);--line3:rgba(255,255,255,.26);
  --accent:#FF5A64;--accent-fill:#ED1E2D;--accent-soft:rgba(237,30,45,.12);
  --nav-bg:rgba(10,10,10,.82);
  --shadow:none;
  --tv-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 60px -30px rgba(0,0,0,.9);
  --deck:#111112;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px;background:var(--bg);overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:16px;line-height:1.6;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,p,ul,ol,dl,figure{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--accent-fill);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:8px}
.skip:focus{left:8px}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}
@media(min-width:768px){.wrap{padding:0 32px}}
.nw{white-space:nowrap}
.mut{color:var(--mut)}

/* ---------- type ---------- */
h1,h2,h3{text-wrap:balance;color:var(--ink)}
h1{font-size:clamp(38px,6.2vw,66px);letter-spacing:-.035em;line-height:1.02;font-weight:660}
h2{font-size:clamp(28px,3.6vw,40px);letter-spacing:-.028em;line-height:1.12;font-weight:630}
h3{font-size:18px;letter-spacing:-.015em;line-height:1.3;font-weight:620}
.lead{font-size:clamp(16px,1.6vw,18px);line-height:1.55;color:var(--ink2);letter-spacing:-.011em;text-wrap:pretty}
.label{display:block;margin:0 0 16px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:8px;font-weight:590;font-size:15px;letter-spacing:-.01em;white-space:nowrap;transition:background .2s,box-shadow .2s,color .2s}
.btn-sm{height:38px;padding:0 16px;font-size:14px}
.btn-red{background:var(--accent-fill);color:#fff}
.btn-red:hover{background:#B81A26}
.btn-ghost{color:var(--ink);background:var(--surface);box-shadow:0 0 0 1px var(--line2) inset}
.btn-ghost:hover{box-shadow:0 0 0 1px var(--line3) inset;background:var(--bg2)}
html[data-theme="dark"] .btn-ghost{background:transparent}
html[data-theme="dark"] .btn-ghost:hover{background:rgba(255,255,255,.06)}
.btn-soon{color:var(--mut);background:transparent;box-shadow:0 0 0 1px var(--line2) inset;cursor:default;user-select:none}
.link{color:var(--accent);font-weight:560}
.link:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:68px}
.brand{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto}
.brand img{width:100px;height:auto}
.brand span{font-size:11.5px;font-weight:700;letter-spacing:.3em;color:var(--ink);margin-top:5px;white-space:nowrap}
.navlinks{display:none;gap:30px;font-size:14px;color:var(--ink2)}
.navlinks a{transition:color .2s}
.navlinks a:hover{color:var(--ink)}
.navcta{display:flex;align-items:center;gap:8px}
.theme-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:8px;background:var(--surface);border:0;box-shadow:0 0 0 1px var(--line2) inset;color:var(--ink);cursor:pointer;transition:background .2s}
.theme-btn:hover{background:var(--bg2)}
html[data-theme="dark"] .theme-btn{background:transparent}
.theme-btn svg{width:18px;height:18px;display:block}
html:not([data-theme="dark"]) .theme-btn .icon-sun{display:none}
html[data-theme="dark"] .theme-btn .icon-moon{display:none}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:0 0 0 1px var(--line2) inset;cursor:pointer}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:16px;height:1.6px;background:var(--ink);border-radius:2px;position:relative;transition:transform .25s var(--ease),background .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-5px}.menu-btn span::after{top:5px}
.nav.open .menu-btn span{background:transparent}
.nav.open .menu-btn span::before{top:0;transform:rotate(45deg)}
.nav.open .menu-btn span::after{top:0;transform:rotate(-45deg)}
.mnav{display:none;padding:8px 20px 20px;border-top:1px solid var(--line)}
.mnav a{display:block;padding:12px 0;font-size:16px;color:var(--ink2);border-bottom:1px solid var(--line)}
.nav.open .mnav{display:block}
@media(min-width:1024px){.navlinks{display:flex}.menu-btn,.mnav,.nav.open .mnav{display:none}}
@media(max-width:479px){.nav .wrap{gap:10px}.brand img{width:80px}.brand span{font-size:10.5px;letter-spacing:.2em}.navcta .btn-soon{display:none}}

/* ---------- sections ---------- */
.sec{padding:88px 0;border-top:1px solid var(--line)}
@media(min-width:900px){.sec{padding:120px 0}}
.sec-alt{background:var(--bg2)}
.sec-head{max-width:760px;margin:0 auto 48px;text-align:center}
.sec-head .lead{margin:14px auto 0;max-width:56ch;color:var(--mut)}
.note{margin:28px auto 0;max-width:72ch;text-align:center;font-size:14px;color:var(--mut)}

/* ---------- hero ---------- */
.hero{padding:72px 0 88px;text-align:center}
@media(min-width:900px){.hero{padding:104px 0 120px}}
.hero h1{max-width:13em;margin:0 auto}
.hero .lead{margin:20px auto 0;max-width:46ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero .hero-cta{justify-content:center}
.hero-meta{display:flex;flex-wrap:wrap;justify-content:center;margin:22px 0 0;font-size:13.5px;color:var(--mut);line-height:1.6}
.hero-meta li+li::before{content:"";display:inline-block;width:1px;height:12px;margin:0 14px;background:var(--line2);vertical-align:-1px}
.hero-meta strong{color:var(--ink);font-weight:600}
.hero-photo{max-width:1040px;margin:56px auto 0}
.hero-photo img{width:100%;height:auto;aspect-ratio:16/9;border-radius:16px;box-shadow:var(--tv-shadow)}
@media(max-width:479px){.hero .hero-cta{flex-direction:column;align-items:stretch}.hero-meta{flex-direction:column;gap:2px}.hero-meta li+li::before{display:none}}

/* ---------- TV frames (real player renders stay dark) ---------- */
.tv{background:#0B0B0B;border-radius:12px;padding:1.2%;box-shadow:var(--tv-shadow)}
.tv picture,.tv img{display:block;width:100%;height:auto}
.tv img{border-radius:6px;aspect-ratio:16/9}

/* ---------- gallery: TV + Customer Deck pairs ---------- */
.pairs{display:grid;gap:48px 28px}
@media(min-width:768px){.pairs{grid-template-columns:1fr 1fr}}
.pair .deckpage{margin-top:14px;padding:14px;background:var(--deck);border-radius:12px;box-shadow:0 0 0 1px var(--line)}
.kgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kgrid img{width:100%;height:auto;border-radius:10%}
.kbar{display:block;width:72%;height:auto;margin:10px auto 0;border-radius:4px}
.pair figcaption{margin-top:14px;font-size:14px;color:var(--mut)}
.pair figcaption strong{color:var(--ink);font-weight:600}

/* ---------- feature grid (flat hairline cards) ---------- */
.feat{display:grid;gap:1px;margin-top:64px;background:var(--line2);border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 1px var(--line2)}
@media(min-width:768px){.feat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.feat{grid-template-columns:repeat(3,minmax(0,1fr))}}
.feat li{background:var(--surface);padding:26px 26px 28px}
.feat h3{margin-bottom:6px}
.feat p{font-size:15px;color:var(--ink2)}

/* ---------- Suite strip ---------- */
.suite-strip{display:grid;gap:32px;align-items:center;margin-top:64px;padding:28px;background:var(--surface);border-radius:var(--r);box-shadow:0 0 0 1px var(--line2) inset}
@media(min-width:1024px){.suite-strip{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;padding:36px}}
.suite-strip h3{font-size:24px;letter-spacing:-.02em;margin-bottom:10px}
.suite-strip p{color:var(--ink2);margin-bottom:22px;max-width:32em}

/* ---------- shop types (approved photos) ---------- */
.shop-grid{display:grid;gap:32px 28px}
@media(min-width:768px){.shop-grid{grid-template-columns:1fr 1fr}}
.shop-grid img{width:100%;height:auto;aspect-ratio:16/9;border-radius:12px;box-shadow:var(--shadow),0 0 0 1px var(--line)}
.shop-grid figcaption{margin-top:12px;font-size:15px;font-weight:600;color:var(--ink)}

/* ---------- templates ---------- */
.tpl5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line2);border-radius:var(--r);overflow:hidden;box-shadow:0 0 0 1px var(--line2)}
.tpl5>div{background:var(--surface);padding:26px}
.tpl5 h3,.bgh{font-size:15px;font-weight:620;margin:0 0 12px}
.tl{display:grid;gap:8px;color:var(--ink2);font-size:15px}
.bgh{margin:48px 0 16px;text-align:center}
.bgx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.bgx figcaption{margin-top:10px;font-size:14px;color:var(--mut);text-align:center}
@media(max-width:767px){.bgx{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tpl5{grid-template-columns:1fr}}

/* ---------- steps ---------- */
.steps{display:grid;gap:28px;margin-top:56px;counter-reset:s}
.steps.plain{margin-top:0}
@media(min-width:768px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.steps li{padding:24px;background:var(--surface);border-radius:var(--r);box-shadow:0 0 0 1px var(--line2) inset;counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font-size:12.5px;font-weight:600;color:var(--accent);letter-spacing:.08em;margin-bottom:12px;font-variant-numeric:tabular-nums}
.steps h3{margin-bottom:6px}
.steps p{font-size:15px;color:var(--ink2)}

/* ---------- Customer Deck keys ---------- */
.keys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:640px;margin:0 auto;padding:16px;background:var(--deck);border-radius:16px}
@media(min-width:768px){.keys{grid-template-columns:repeat(4,minmax(0,1fr))}}
.keys img{width:100%;border-radius:14%}
.keys figcaption{margin-top:10px;font-size:13px;color:#C9C4C2;text-align:center}

/* ---------- setup ---------- */
.setup{display:grid;gap:40px;align-items:start}
@media(min-width:1024px){.setup{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px}}
.setup .sec-head{margin:0;text-align:left}
.setup .sec-head .lead{margin-left:0}
.icons{display:flex;gap:14px;margin-top:28px}
.icons img{width:60px;height:60px;border-radius:22%;box-shadow:0 0 0 1px var(--line2)}
.req-list{background:var(--surface);border-radius:var(--r);box-shadow:0 0 0 1px var(--line2) inset;padding:0 24px}
.req-list li{display:grid;gap:4px 24px;padding:20px 0;border-bottom:1px solid var(--line)}
.req-list li:last-child{border-bottom:0}
@media(min-width:768px){.req-list li{grid-template-columns:200px minmax(0,1fr)}}
.req-list .k{font-weight:600}
.req-list .v{color:var(--ink2)}

/* ---------- pricing ---------- */
.price-wrap{display:grid;gap:24px;align-items:stretch;max-width:1040px;margin:0 auto}
@media(min-width:1024px){.price-wrap{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.plan,.side{background:var(--surface);border-radius:var(--r);box-shadow:0 0 0 1px var(--line2) inset,var(--shadow);padding:32px 26px}
@media(min-width:768px){.plan,.side{padding:40px}}
.plan-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.plan-name{font-size:15px;font-weight:620;color:var(--ink);margin-bottom:12px}
.amount{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.amount .cur{font-size:20px;font-weight:600;color:var(--ink2)}
.amount .num{font-size:clamp(48px,6vw,60px);line-height:1;font-weight:660;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.amount .per{font-size:15px;color:var(--mut)}
.plan .alt{margin-top:12px;font-size:15px;color:var(--ink2)}
.plan .alt strong{color:var(--ink);font-weight:600}
.plan .tax{margin-top:8px;font-size:14px;color:var(--mut);text-wrap:pretty}
.plan ul{display:grid;gap:12px;margin-top:26px}
@media(min-width:768px) and (max-width:1023px),(min-width:1200px){.plan ul{grid-template-columns:1fr 1fr;gap:12px 28px}}
.plan li{position:relative;padding-left:24px;font-size:15px;color:var(--ink2)}
.plan li::before{content:"";position:absolute;left:2px;top:.52em;width:11px;height:6px;border-left:1.8px solid var(--accent-fill);border-bottom:1.8px solid var(--accent-fill);transform:rotate(-45deg)}
.side{box-shadow:0 0 0 1px var(--line2) inset}
.side h3{margin-bottom:8px}
.side p{font-size:15px;color:var(--ink2)}
.side p+h3{margin-top:26px}
.side a{color:var(--accent);font-weight:560}
.side a:hover{text-decoration:underline;text-underline-offset:3px}
.side .ref{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--mut)}

/* ---------- FAQ (cards, Suite style) ---------- */
.faq{max-width:820px;margin:0 auto;display:grid;gap:10px}
.faq details{background:var(--surface);border-radius:var(--r);box-shadow:0 0 0 1px var(--line2) inset}
.faq details[open]{box-shadow:0 0 0 1px var(--line3) inset}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;font-weight:600;font-size:16.5px;letter-spacing:-.015em;border-radius:var(--r)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:0 0 28px;width:28px;height:28px;border-radius:50%;box-shadow:0 0 0 1px var(--line2) inset;
  background:linear-gradient(var(--ink2),var(--ink2)) center/11px 1.6px no-repeat,linear-gradient(var(--ink2),var(--ink2)) center/1.6px 11px no-repeat;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 22px 22px;color:var(--ink2);font-size:15.5px;max-width:68ch}

/* ---------- closing CTA ---------- */
.cta{text-align:center}
.cta h2{max-width:16em;margin:0 auto}
.cta .lead{max-width:44ch;margin:14px auto 0;color:var(--mut)}
.cta .hero-cta{justify-content:center}
@media(max-width:479px){.cta .hero-cta{flex-direction:column;align-items:stretch}}

/* ---------- footer (Suite structure) ---------- */
.foot{padding:72px 0 44px;border-top:1px solid var(--line);background:var(--bg)}
.foot .cols{display:grid;gap:36px;grid-template-columns:1fr 1fr}
@media(min-width:900px){.foot .cols{grid-template-columns:2fr 1fr 1fr 1fr}}
.foot .about{grid-column:1/-1}
@media(min-width:900px){.foot .about{grid-column:auto}}
.foot .about p{color:var(--mut);font-size:14px;max-width:34ch;margin:14px 0 0;line-height:1.6}
.foot .fh{margin:0 0 14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:650}
.foot ul{display:grid;gap:10px;font-size:14.5px;color:var(--ink2)}
.foot ul a:hover{color:var(--ink)}
.foot-legal{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;font-size:13px;color:var(--mut)}
.foot-legal>span:first-child{flex:1 1 260px}
.region-switch{display:flex;align-items:center;gap:12px}
.region-switch a{color:var(--ink2)}
.region-switch a:hover{color:var(--ink)}
.region-switch a[aria-current]{color:var(--ink);font-weight:600}
.region-switch .sep{width:1px;height:12px;background:var(--line2)}
.tm-foot{margin-top:16px;font-size:12.5px;color:var(--mut);max-width:90ch}

/* ---------- legal pages ---------- */
.legal{padding:80px 0 112px}
.legal .wrap{max-width:820px}
.legal .lead{margin-top:18px;max-width:none}
.legal h2{font-size:22px;letter-spacing:-.02em;margin:40px 0 14px}
.legal p{color:var(--ink2)}
.legal p a,.legal-list a{color:var(--accent);font-weight:560}
.legal-list{display:grid;gap:10px;padding:22px 24px;background:var(--surface);border-radius:var(--r);box-shadow:0 0 0 1px var(--line2) inset;color:var(--ink2)}
.legal .hero-cta{margin-top:36px}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:479px){.faq summary{padding:16px;gap:12px;font-size:15px}.faq .a{padding:0 16px 18px}}
@media(min-width:900px){.tpl5{grid-template-columns:repeat(3,minmax(0,1fr))}}
.bgx{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:767px){.bgx{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tpl5 + .bgh + .bgx + .note{margin-top:24px}
@media(min-width:768px) and (max-width:899px){.tpl5>div:last-child{grid-column:1/-1}}
