/* Storefront styles. Every colour, radius, font and spacing value comes from the theme tokens in /theme.css. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}
[data-glow=on] body{background:
  radial-gradient(900px 520px at 8% -8%,color-mix(in srgb,var(--primary) 17%,transparent),transparent 62%),
  radial-gradient(760px 480px at 100% 4%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 58%),
  var(--bg);background-attachment:fixed}
img{max-width:100%;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5vw,3.7rem);font-weight:800}
h2{font-size:clamp(1.55rem,3vw,2.2rem);font-weight:750}
h3{font-size:1.15rem;font-weight:700}
h4{font-size:1rem}
p{margin:0 0 1em}
.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}.right{text-align:right}.ok{color:var(--success)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--primary);color:var(--on-primary);padding:8px 14px;border-radius:var(--r-sm);z-index:100}.skip:focus{left:8px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ic{flex:none;vertical-align:-.2em}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.wrap.narrow{width:min(760px,100% - 40px)}
.shell{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
.section{padding-block:calc(var(--space)*4.2rem)}
.section.tight{padding-block:calc(var(--space)*1.6rem) calc(var(--space)*4rem)}
.page-head{padding-block:calc(var(--space)*3rem) calc(var(--space)*.6rem)}
.page-head h1{font-size:clamp(1.9rem,4vw,2.9rem);margin-bottom:.25em}
.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--muted);max-width:60ch}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:1rem}
.kicker{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:calc(var(--space)*1.6rem)}
.section-head h2{margin:0 0 .2em}.section-head p{margin:0}
.section-head.center{justify-content:center;text-align:center}
.link-arrow{font-weight:600;white-space:nowrap}

/* ---- top bars ---- */
.demo-bar,.preview-bar,.announce{font-size:.85rem;text-align:center;padding:8px 16px}
.demo-bar{background:var(--accent);color:var(--on-accent);font-weight:600}.demo-bar span{opacity:.75;margin-left:.6em}
.preview-bar{background:var(--primary);color:var(--on-primary);font-weight:600}.preview-bar a{color:inherit;text-decoration:underline;margin-left:.6em}
.announce{background:var(--primary-soft);border-bottom:1px solid var(--border)}.announce a{color:var(--text);font-weight:600}

/* ---- header ---- */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 92%,transparent)}
[data-header=glass] .site-header{background:color-mix(in srgb,var(--bg) 62%,transparent);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4)}
[data-header=clear] .site-header{background:transparent;border-color:transparent;position:absolute;left:0;right:0}
[data-header=solid] .site-header{background:var(--bg)}
.header-inner{display:flex;align-items:center;gap:1.5rem;min-height:68px}
.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--text);font-family:var(--font-heading);font-weight:800;font-size:1.2rem;letter-spacing:-.02em}
.brand:hover{text-decoration:none}
.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--primary),var(--accent));color:var(--on-primary);font-size:1rem;font-weight:800}
.nav{display:flex;gap:1.4rem;margin-inline:auto 0}
.nav a{color:var(--muted);font-weight:500;font-size:.95rem}.nav a:hover{color:var(--text);text-decoration:none}
.header-actions{display:flex;align-items:center;gap:.4rem}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-md);color:var(--text);background:none;border:0;cursor:pointer}
.icon-btn:hover{background:var(--primary-soft);text-decoration:none}
.badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--primary);color:var(--on-primary);font-size:.7rem;display:grid;place-items:center}
.nav-toggle{display:none;margin-left:auto;background:none;border:0;color:var(--text);cursor:pointer;width:40px;height:40px}
.search{display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:99px;padding:0 .9rem;height:38px;color:var(--muted)}
.search input{background:none;border:0;color:var(--text);outline:0;width:110px;font:inherit;font-size:.9rem;transition:width .2s}
.search input:focus{width:170px}
.search.wide{flex:1;min-width:220px}.search.wide input{width:100%}

/* layout: centered ("Boutique") */
[data-layout=centered] .header-inner{flex-wrap:wrap;justify-content:center;row-gap:0;padding-top:14px}
[data-layout=centered] .brand{order:1;flex:1 1 100%;justify-content:center;font-size:1.6rem}
[data-layout=centered] .nav{order:2;margin:0;justify-content:center;padding-bottom:12px}
[data-layout=centered] .header-actions{position:absolute;right:20px;top:14px}
[data-layout=centered] .header-inner{position:relative;min-height:0}
[data-layout=centered] .search{display:none}
[data-layout=centered] .hero-inner{grid-template-columns:1fr;text-align:center;justify-items:center}
[data-layout=centered] .hero-copy .btn-row,[data-layout=centered] .trust-row{justify-content:center}
[data-layout=centered] .hero-visual{display:none}
[data-layout=centered] .section-head{justify-content:center;text-align:center}[data-layout=centered] .link-arrow{display:none}
[data-layout=centered] .products{--cols:3}
/* layout: rail ("Studio") */
@media (min-width:1000px){
  [data-layout=rail] .shell{padding-left:248px}
  [data-layout=rail] .site-header{position:fixed;left:0;top:0;bottom:0;width:248px;border-right:1px solid var(--border);border-bottom:0;background:var(--surface);backdrop-filter:none}
  [data-layout=rail] .header-inner{flex-direction:column;align-items:stretch;height:100%;padding:24px 18px;gap:1.2rem;width:100%;margin:0}
  [data-layout=rail] .nav{flex-direction:column;gap:.15rem;margin:0}
  [data-layout=rail] .nav a{padding:.6rem .8rem;border-radius:var(--r-md)}[data-layout=rail] .nav a:hover{background:var(--primary-soft)}
  [data-layout=rail] .header-actions{margin-top:auto;justify-content:space-between;flex-wrap:wrap}
  [data-layout=rail] .search{order:-1}[data-layout=rail] .search input{width:100%}
  [data-layout=rail] .wrap{width:min(1080px,100% - 56px)}
  [data-layout=rail] .site-footer .wrap{width:min(1080px,100% - 56px)}
}
/* layout: spotlight (floating header) */
[data-layout=showcase] .site-header{top:12px;margin:12px auto 0;width:min(1180px,100% - 24px);border:1px solid var(--border);border-radius:calc(var(--r-lg) + 4px);position:sticky}
[data-layout=showcase] .header-inner{width:100%;padding-inline:20px;margin:0}
[data-layout=showcase][data-header=clear] .site-header{position:sticky}
[data-layout=showcase] .hero{padding-top:calc(var(--space)*3.5rem)}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72em 1.25em;border-radius:var(--r-md);border:1px solid transparent;font:inherit;font-weight:650;font-size:.95rem;line-height:1.2;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s,filter .2s;text-decoration:none!important;color:var(--text)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--primary);color:var(--on-primary)}
[data-button=gradient] .btn-primary{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,var(--accent)))}
[data-button=outline] .btn-primary{background:transparent;color:var(--primary);border-color:var(--primary)}
[data-button=outline] .btn-primary:hover{background:var(--primary);color:var(--on-primary)}
.btn-primary:hover{filter:brightness(1.08)}
[data-glow=on] .btn-primary{box-shadow:0 8px 26px -8px color-mix(in srgb,var(--primary) 70%,transparent)}
.btn-soft{background:var(--primary-soft);color:var(--text);border-color:transparent}.btn-soft:hover{background:color-mix(in srgb,var(--primary) 26%,transparent)}
.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{background:var(--primary-soft)}
.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}
.btn-sm{padding:.45em .85em;font-size:.85rem}.btn-lg{padding:.9em 1.6em;font-size:1.02rem}.btn-block{width:100%}.grow{flex:1}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.btn[disabled]{opacity:.5;cursor:not-allowed}
[data-radius=pill] .btn{border-radius:99px}

/* ---- cards ---- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 1px 2px rgba(0,0,0,.08),0 12px 32px -18px rgba(0,0,0,.45)}
[data-card=outline] .card{background:transparent;border-color:var(--border-strong);box-shadow:none}
[data-card=flat] .card{background:var(--surface-2);border-color:transparent;box-shadow:none}
[data-card=glass] .card{background:color-mix(in srgb,var(--surface) 62%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 8%,transparent),0 18px 40px -24px rgba(0,0,0,.5)}
.card.pad,.pad{padding:calc(var(--space)*1.6rem)}
.empty{padding:3rem 1.5rem;text-align:center}
.tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.2em .65em;border-radius:99px;background:var(--surface-2);color:var(--text)}
.tag-sale{background:var(--accent);color:var(--on-accent)}.tag-free{background:var(--success);color:#04130a}.tag-ok,.tag-paid{background:color-mix(in srgb,var(--success) 22%,transparent);color:var(--success)}
.tag-refunded,.tag-failed,.tag-expired{background:color-mix(in srgb,var(--danger) 20%,transparent);color:var(--danger)}.tag-pending{background:color-mix(in srgb,var(--warning) 22%,transparent);color:var(--warning)}

/* ---- hero ---- */
.hero{padding-block:calc(var(--space)*4.5rem) calc(var(--space)*3.5rem);position:relative;overflow:hidden}
[data-header=clear] .hero{padding-top:calc(var(--space)*8rem)}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:calc(var(--space)*3rem);align-items:center}
.hero h1{margin-bottom:.4em;background:linear-gradient(180deg,var(--text) 40%,color-mix(in srgb,var(--text) 55%,var(--primary)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .lead{margin-bottom:1.8rem}
.trust-row{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;list-style:none;padding:0;margin:1.8rem 0 0;color:var(--muted);font-size:.88rem}
.trust-row li{display:flex;align-items:center;gap:.4rem}.trust-row .ic{color:var(--primary)}
.hero-visual{position:relative;min-height:340px;display:grid;place-items:center}
.hero-img{border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:0 30px 80px -30px rgba(0,0,0,.6);max-height:460px;object-fit:cover;width:100%}
.orb{width:min(360px,80%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 28%,var(--accent),var(--primary) 55%,transparent 72%);filter:blur(6px);opacity:.75}
.hero-stack{position:relative;width:min(400px,100%);height:380px}
.stack-card{position:absolute;width:74%;padding:10px;border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 78%,transparent);border:1px solid var(--border-strong);backdrop-filter:blur(12px);box-shadow:0 30px 60px -28px rgba(0,0,0,.65);color:var(--text);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.stack-card:hover{text-decoration:none}
.stack-1{left:0;top:0;transform:rotate(-5deg);z-index:1}.stack-2{right:0;top:96px;transform:rotate(4deg);z-index:2}.stack-3{left:12%;top:200px;transform:rotate(-2deg);z-index:3}
.hero-stack:hover .stack-1{transform:rotate(-8deg) translate(-8px,-6px)}.hero-stack:hover .stack-2{transform:rotate(7deg) translate(8px,0)}.hero-stack:hover .stack-3{transform:rotate(0deg) translateY(8px)}
.stack-card .cover{aspect-ratio:16/8;border-radius:var(--r-md)}
.stack-meta{display:flex;justify-content:space-between;align-items:baseline;padding:8px 4px 2px;gap:8px;font-size:.9rem}.stack-meta em{font-style:normal;color:var(--primary);font-weight:700}

/* ---- grids & products ---- */
.grid{display:grid;gap:calc(var(--space)*1.5rem)}
.products{--cols:3;grid-template-columns:repeat(var(--cols),minmax(0,1fr))}
.tiles{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.quotes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.product-card{overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s}
.product-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary) 50%,var(--border))}
[data-glow=on] .product-card:hover{box-shadow:0 24px 50px -24px color-mix(in srgb,var(--primary) 55%,transparent)}
.cover{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 30%,var(--surface)),color-mix(in srgb,var(--accent) 26%,var(--surface)))}
.cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.product-card:hover .cover img{transform:scale(1.04)}
.cover-art{position:absolute;inset:0;display:grid;place-items:center;color:color-mix(in srgb,var(--text) 78%,transparent)}
.cover-art .ic{filter:drop-shadow(0 6px 18px color-mix(in srgb,var(--primary) 50%,transparent))}
.cover .tag{position:absolute;top:10px;left:10px}
.cover.sm{width:72px;aspect-ratio:1;border-radius:var(--r-md);flex:none}
.cover.big{border-radius:var(--r-lg);aspect-ratio:4/3;border:1px solid var(--border)}
.product-body{padding:calc(var(--space)*1.15rem) calc(var(--space)*1.25rem) calc(var(--space)*1.25rem);display:flex;flex-direction:column;gap:.15rem;flex:1}
.product-body h3{margin:0;font-size:1.1rem}.product-body h3 a{color:var(--text)}
.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem;margin:.2rem 0 .8rem}
.product-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.price{font-weight:750;font-variant-numeric:tabular-nums}.price s{font-weight:400;color:var(--muted);font-size:.85em;margin-left:.3em}.price.big{font-size:2rem;font-family:var(--font-heading)}
.tile{display:flex;flex-direction:column;gap:.3rem;padding:1.4rem;color:var(--text);transition:transform .2s,border-color .2s}.tile:hover{transform:translateY(-3px);text-decoration:none;border-color:var(--primary)}.tile .ic{color:var(--primary);margin-bottom:.4rem}
.feature{padding:1.5rem}.feature h3{margin-bottom:.3rem}.feature p{margin:0;font-size:.95rem}
.feature-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-md);background:var(--primary-soft);color:var(--primary);margin-bottom:1rem}
.quote{padding:1.5rem;margin:0}.quote blockquote{margin:.6rem 0 1rem;color:var(--text)}.quote figcaption{font-size:.9rem}.quote h4{margin:.4rem 0 0}
.stars{color:var(--accent);letter-spacing:.1em}.stars .off{color:var(--border-strong)}
.cta{text-align:center;padding:calc(var(--space)*3.5rem) 1.5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 18%,var(--surface)),color-mix(in srgb,var(--accent) 14%,var(--surface)))!important}
.cta h2{margin-bottom:.3em}.cta p{max-width:52ch;margin-inline:auto}
.faq{display:grid;gap:.75rem}
.faq-group{margin-bottom:2.6rem;scroll-margin-top:96px}.faq-group h2{font-size:1.25rem;margin-bottom:1rem}.faq-nav{margin-bottom:2rem}
.faq details{padding:0}.faq summary{cursor:pointer;padding:1.1rem 1.3rem;font-weight:650;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::after{content:"+";color:var(--primary);font-size:1.3rem;line-height:1}.faq details[open] summary::after{content:"\2212"}
.faq .prose{padding:0 1.3rem 1.1rem;color:var(--muted)}.faq summary::-webkit-details-marker{display:none}

/* ---- list page ---- */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}
select,input,textarea{font:inherit;color:var(--text)}
select,.field input,.field textarea,.field select,.inline-form input,.filters select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:.65em .9em;color:var(--text);width:auto;max-width:100%}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.8rem}
.chip{padding:.35em .95em;border-radius:99px;border:1px solid var(--border);color:var(--muted);font-size:.88rem}.chip:hover{text-decoration:none;color:var(--text);border-color:var(--primary)}.chip.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.pager{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2.5rem}

/* ---- product detail ---- */
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:1.4rem}.crumbs span{opacity:.5;margin:0 .3em}
.detail{display:grid;grid-template-columns:1.1fr .9fr;gap:calc(var(--space)*3rem);align-items:start}
.thumbs{display:flex;gap:.6rem;margin-top:.8rem;flex-wrap:wrap}
.thumb{width:74px;height:56px;padding:0;border-radius:var(--r-sm);overflow:hidden;border:2px solid transparent;background:none;cursor:pointer;opacity:.7}.thumb.on,.thumb:hover{opacity:1;border-color:var(--primary)}.thumb img{width:100%;height:100%;object-fit:cover}
.detail-info h1{font-size:clamp(1.8rem,3.6vw,2.7rem)}
.rating-line{display:inline-flex;gap:.5rem;align-items:center;margin-bottom:.6rem;color:var(--text)}
.buybox{padding:calc(var(--space)*1.5rem);margin-top:1.4rem}
.buy-price{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}
.assure{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.5rem;font-size:.9rem;color:var(--muted)}.assure li{display:flex;gap:.55rem;align-items:center}.assure .ic{color:var(--primary)}
.refund{margin:1rem 0 0;padding-top:1rem;border-top:1px solid var(--border)}
.detail-body{display:grid;grid-template-columns:1.4fr .8fr;gap:calc(var(--space)*3rem);margin-top:calc(var(--space)*4rem)}
.detail-body aside{display:grid;gap:1.2rem;align-content:start}
.checks,.filelist{list-style:none;padding:0;margin:0}
.checks li{display:flex;gap:.6rem;padding:.35rem 0}.checks .ic{color:var(--success);margin-top:.25em}
.filelist li{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.filelist li:last-child{border:0}.filelist em{margin-left:auto;font-style:normal;font-size:.85rem}
.filelist.dl li>span{flex:1}
.reviews,.related{margin-top:calc(var(--space)*4rem)}
.review-form{margin-top:1.5rem;max-width:560px}
.star-input{display:inline-flex;flex-direction:row-reverse;gap:.15rem;margin:.4rem 0 1rem}.star-input input{position:absolute;opacity:0}.star-input label{font-size:1.8rem;color:var(--border-strong);cursor:pointer}.star-input input:checked~label,.star-input label:hover,.star-input label:hover~label{color:var(--accent)}
.star-input input:focus-visible+label{outline:2px solid var(--primary)}

/* ---- prose ---- */
.prose{color:color-mix(in srgb,var(--text) 88%,var(--muted))}.prose h2{margin-top:1.6em;font-size:1.5rem}.prose h3{margin-top:1.4em}.prose ul{padding-left:1.2em}.prose li{margin:.3em 0}.prose a{text-decoration:underline}

/* ---- cart / checkout ---- */
.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:calc(var(--space)*2rem);align-items:start}
.cart-list{padding:.5rem 1.5rem}
.cart-row{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.cart-row:last-child{border:0}
.cart-info{flex:1;display:flex;flex-direction:column;min-width:0}.cart-info a{color:var(--text)}
.summary{position:sticky;top:96px;display:grid;gap:1rem}.summary h3{margin:0}
.sum-row{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem}
.totals{display:grid;grid-template-columns:1fr auto;gap:.4rem 0;margin:0}.totals dt{color:var(--muted)}.totals dd{margin:0;text-align:right;padding-left:1rem}.totals .total{color:var(--text);font-weight:800;font-size:1.2rem;padding-top:.6rem;border-top:1px solid var(--border)}
.order-item{margin-bottom:1rem}.order-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.keybox{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.9rem 1rem;border:1px dashed var(--border-strong);border-radius:var(--r-md);margin:.8rem 0;background:var(--surface-2)}
.keybox .muted{flex:1 1 100%}.keybox code{flex:1;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.05rem;letter-spacing:.06em;word-break:break-all;color:var(--primary)}
.order-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--text);margin-bottom:.8rem}.order-link:hover{text-decoration:none;border-color:var(--primary)}.order-link>div{display:flex;flex-direction:column;gap:.15rem}.order-link .right{align-items:flex-end}
.fake-card{display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.2rem;margin:1.2rem 0;border-radius:var(--r-md);background:linear-gradient(135deg,var(--primary),var(--accent));color:var(--on-primary);font-family:ui-monospace,Menlo,monospace;letter-spacing:.08em;font-size:.95rem;opacity:.9}
.demo-pay{text-align:center}.demo-pay h1{font-size:3rem}

.wrap.narrow>.card{margin-bottom:1rem}
/* ---- forms ---- */
.form-stack{display:grid;gap:1rem}
.field{display:grid;gap:.35rem}.field>span{font-size:.88rem;font-weight:600}.field input,.field textarea,.field select{width:100%}
.field small{font-size:.8rem}.errorlist{list-style:none;margin:.2rem 0 0;padding:0;color:var(--danger);font-size:.85rem}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem}.check input{margin-top:.3em;accent-color:var(--primary)}
.form-stack input:not([type=checkbox]):not([type=radio]),.form-stack textarea,.form-stack select{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:.65em .9em}
.form-stack>div{display:grid;gap:.3rem}.form-stack label{font-weight:600;font-size:.9rem}.form-stack .helptext{color:var(--muted);font-size:.8rem}
.form-actions{display:flex;gap:.6rem;margin-top:1rem;flex-wrap:wrap}
.inline-form{display:flex;gap:.5rem;flex-wrap:wrap}.inline-form input{flex:1;min-width:180px}.inline-form.center{justify-content:center;max-width:460px;margin:1.2rem auto 0}
.auth-card h1{font-size:2rem}
.msg{padding:.8rem 1.1rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);margin:1rem 0;font-size:.95rem}
.msg-success{border-color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--surface))}.msg-error{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surface))}.msg-warning{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,var(--surface))}
.messages{padding-top:1rem}

/* ---- footer ---- */
.site-footer{border-top:1px solid var(--border);margin-top:2rem;padding-top:calc(var(--space)*3rem)}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr 1.3fr;gap:2rem}
.site-footer h4{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.site-footer li a{color:var(--text);font-size:.95rem}
.socials{display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem}
.footer-base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:2rem;margin-top:2rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted)}

/* ---- reveal ---- */
.reveal.will{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.reveal.will.in{opacity:1;transform:none}

/* ---- responsive ---- */
@media (max-width:980px){
  .hero-inner,.detail,.detail-body,.cart-layout{grid-template-columns:1fr}
  .hero-visual{min-height:300px}.summary{position:static}
  .products{--cols:2}.footer-grid{grid-template-columns:1fr 1fr}
  .nav-toggle{display:grid;place-items:center}
  .header-inner{flex-wrap:wrap}
  .nav,.search{display:none}
  body.nav-open .nav{display:flex;flex-direction:column;order:5;flex:1 1 100%;gap:.2rem;padding-bottom:1rem;margin:0}
  body.nav-open .nav a{padding:.7rem .4rem;border-bottom:1px solid var(--border)}
  [data-layout=centered] .header-actions{position:static}[data-layout=centered] .brand{flex:1}
  [data-layout=centered] .nav{padding-bottom:0}
  .header-actions{margin-left:0}
  [data-header=clear] .site-header{position:sticky;background:var(--bg)}
}
@media (max-width:620px){
  .products{--cols:1}.footer-grid{grid-template-columns:1fr}
  .cart-row{flex-wrap:wrap}.btn-lg{width:100%}
  .section-head{flex-direction:column;align-items:start}
  .hero-stack{height:330px}
}

/* ---- campaign banner / announcement ---- */
.promo{font-size:.9rem;text-align:center;padding:9px 16px;border-bottom:1px solid var(--border)}
.promo-info{background:var(--primary-soft);color:var(--text)}
.promo-promo{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text)}
.promo-inner{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:center;position:relative;padding-inline:28px}
.promo-discount{background:#fff;color:#111;font-weight:800;border-radius:99px;padding:.1em .7em;font-size:.8rem}
.promo-code{background:rgba(0,0,0,.25);color:inherit;padding:.1em .5em;border-radius:6px;letter-spacing:.06em}
.promo-btn{display:inline-block;padding:.25em .9em;border-radius:99px;border:1px solid currentColor;color:inherit;font-weight:700;background:none;cursor:pointer;font:inherit;font-weight:700}
.promo-btn:hover{text-decoration:none;background:rgba(255,255,255,.18)}
.promo-close{position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;border:0;color:inherit;font-size:1.4rem;cursor:pointer;line-height:1;opacity:.8}
.promo-form{display:inline-flex;gap:.4rem}.promo-form input[type=email]{border-radius:99px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);padding:.25em .9em;font:inherit}
.promo[hidden]{display:none}
.promo-popup{border:0;border-radius:var(--r-lg);padding:0;background:var(--surface);color:var(--text);max-width:min(92vw,420px);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.promo-popup::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}
.promo-popup-card{padding:2rem 1.6rem;text-align:center;position:relative}
.promo-popup-close{position:absolute;right:10px;top:6px;background:none;border:0;color:var(--muted);font-size:1.6rem;cursor:pointer}
.promo-popup-icon{font-size:2.6rem}.promo-popup-discount{font-size:2.4rem;font-weight:900;color:var(--primary);font-family:var(--font-heading)}.promo-popup-message{font-size:1.1rem}

/* ---- help button + live chat ---- */
.help-fab{position:fixed;right:18px;bottom:18px;z-index:60;display:inline-flex;align-items:center;gap:.5rem;padding:.7em 1.1em;border-radius:99px;background:var(--primary);color:var(--on-primary);font-weight:700;border:0;cursor:pointer;box-shadow:0 10px 30px -8px color-mix(in srgb,var(--primary) 70%,transparent);font-family:inherit;font-size:.9rem}
.help-fab:hover{text-decoration:none;filter:brightness(1.08)}
.chat-fab-dot{width:9px;height:9px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.3)}
.chat-panel{position:fixed;right:18px;bottom:76px;z-index:61;width:min(360px,calc(100vw - 24px));max-height:70vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden}
.chat-panel[hidden]{display:none}
.chat-panel-head{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:var(--primary);color:var(--on-primary);font-weight:700}
.chat-panel-close{background:none;border:0;color:inherit;font-size:1.4rem;cursor:pointer}
.chat-panel-greeting,.chat-panel-delayed{margin:0;padding:.7rem 1rem;font-size:.88rem;color:var(--muted)}
.chat-panel-body{flex:1;min-height:120px;overflow-y:auto;padding:.8rem;display:flex;flex-direction:column;gap:.5rem}
.chat-msg{max-width:82%;padding:.5rem .8rem;border-radius:14px;font-size:.92rem;white-space:pre-wrap;word-break:break-word}
.chat-msg-visitor{align-self:flex-end;background:var(--primary);color:var(--on-primary)}.chat-msg-admin{align-self:flex-start;background:var(--surface-2)}
.chat-panel-intro{display:grid;gap:.4rem;padding:0 .8rem .5rem}.chat-panel-intro input,.chat-panel-compose textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:.5em .7em;color:var(--text);font:inherit;font-size:.9rem;width:100%}
.chat-panel-compose{display:flex;gap:.5rem;padding:.6rem .8rem .8rem;align-items:flex-end}.chat-panel-compose textarea{resize:none;height:44px}

/* ---- bundles, subscriptions, licences ---- */
.tag-sub{background:var(--primary);color:var(--on-primary)}
.sub-h{font-size:1.2rem;margin:0 0 1rem}.grid.bundles{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:2.4rem}
.bundle-card{padding:1.3rem;color:var(--text);display:flex;flex-direction:column;gap:.3rem}.bundle-card:hover{text-decoration:none;border-color:var(--primary)}.bundle-card h3{margin:.4rem 0 0}
.cart-row-card{display:flex;gap:1rem;align-items:center;padding:1rem}.cart-row-card>div:nth-child(2){flex:1}
.lic-card{margin-bottom:1rem}.lic-key{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.8rem 1rem;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);margin:.6rem 0}
.lic-key code{flex:1;font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.05em;color:var(--primary);word-break:break-all}
.devices{list-style:none;padding:0;margin:.6rem 0 0}.devices li{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.92rem}.devices li:last-child{border:0}
.pill{display:inline-block;font-size:.72rem;font-weight:700;padding:.15em .65em;border-radius:99px;background:var(--surface-2)}.pill-ok{background:color-mix(in srgb,var(--success) 22%,transparent);color:var(--success)}.pill-bad{background:color-mix(in srgb,var(--danger) 20%,transparent);color:var(--danger)}.pill-warn{background:color-mix(in srgb,var(--warning) 22%,transparent);color:var(--warning)}
.release{margin-bottom:1rem}.release h4{margin:0 0 .3rem}.release ul{margin:0;padding-left:1.1rem}
.samples audio{width:100%;margin:.3rem 0 .8rem}.samples .sample{margin-bottom:.4rem}
.demo-video{width:100%;border-radius:var(--r-lg);border:1px solid var(--border);margin-top:1rem;background:#000}
.trial-note{font-size:.85rem}.btn-block+.btn-block{margin-top:.5rem}
.pair-note{margin-top:.5rem}
