/* Solid surfaces, restrained glass, and a creator-led storefront. */
.storefront { --bg:#080b10; --surface:#0e131b; --surface-2:#141b25; --surface-3:#1b2532; --accent:#397bff; --accent-bg:rgba(57,123,255,.12); --accent-border:rgba(57,123,255,.35); background:var(--bg); }
.icon { width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
[hidden] { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.storefront .top-nav { position:absolute; width:100%; background:rgba(8,11,16,.42); padding:20px max(24px,calc((100vw - 1240px)/2)); border-bottom:1px solid rgba(255,255,255,.08); }
.storefront .brand-mark { background:#246bfa; box-shadow:none; }
.storefront .btn { border-radius:999px; }
.storefront .btn-primary { background:#246bfa; box-shadow:none; border-color:#246bfa; }
.storefront .btn-primary:hover { background:#397bff; border-color:#397bff; }
.storefront .btn-glass { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.24); backdrop-filter:blur(20px) saturate(140%); -webkit-backdrop-filter:blur(20px) saturate(140%); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 24px rgba(0,0,0,.16); }
.storefront .btn-glass:hover { background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.4); }
.storefront .hero { max-width:none; margin:0; padding:150px 24px 84px; text-align:left; background:#121b25; overflow:hidden; border-bottom:1px solid rgba(255,255,255,.08); }
.hero-inner { max-width:1240px; margin:auto; display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:70px; }
.storefront .hero-eyebrow { font-family:var(--font); color:#c4cedc; font-size:11px; letter-spacing:.12em; margin-bottom:26px; }
.storefront .hero-eyebrow::before,.storefront .hero-eyebrow::after { content:none; }
.status-dot { width:7px; height:7px; border-radius:50%; background:#61c5a0; flex-shrink:0; }
.storefront .hero h1 { font-size:clamp(44px,5.6vw,76px); letter-spacing:-.055em; line-height:1.04; margin-bottom:25px; }
.storefront .hero p { margin:0 0 28px; max-width:470px; font-size:16px; color:#b3c0cf; }
.storefront .hero-actions { justify-content:flex-start; margin-bottom:30px; flex-wrap:wrap; }
.hero-search { display:flex; align-items:center; gap:12px; padding:7px 7px 7px 18px; max-width:550px; border:1px solid rgba(255,255,255,.22); border-radius:16px; background:rgba(255,255,255,.06); backdrop-filter:blur(20px); box-shadow:inset 0 1px rgba(255,255,255,.1); }
.hero-search .icon { color:#97a8bc; }
.hero-search input { flex:1; min-width:0; background:transparent; border:none; padding:10px 0; color:#fff; outline:none; font-size:13px; }
.hero-search input::placeholder { color:#9aaabd; }
.hero-search:focus-within { border-color:#71a0ff; }
.storefront .trust-bar { justify-content:flex-start; gap:20px; margin-top:22px; }
.storefront .trust-item { color:#a5b4c6; font-size:11px; gap:7px; }
.trust-item .icon { width:15px; height:15px; }
.storefront .catalog { max-width:1288px; padding-top:30px; }
.store-notice { display:flex; align-items:center; gap:14px; padding:13px 18px; border:1px solid var(--border); background:#10161f; border-radius:14px; color:#c5cfdd; font-size:12px; text-decoration:none; margin-bottom:52px; }
.notice-label { display:flex; align-items:center; gap:6px; color:#7eabff; padding:4px 9px; border-radius:20px; background:#192a46; font-size:10px; font-weight:700; }
.notice-label .icon { width:13px; height:13px; }
.store-notice>.icon { margin-left:auto; width:16px; }
.catalog-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:28px; }
.section-eyebrow { font-size:9px; letter-spacing:.15em; color:#8091a6; }
.catalog-heading h2 { font-size:28px; letter-spacing:-.035em; margin:8px 0; }
.catalog-heading p,.catalog-count { font-size:13px; color:#93a1b4; }
.empty-state-icon .icon,.cart-empty-icon .icon,.img-fallback .icon { width:32px; height:32px; }
.storefront .product-card { border-radius:18px; box-shadow:none; }
.storefront .product-grid { gap:22px; }
.storefront .empty-state { border:1px dashed #263241; border-radius:18px; padding:55px 24px; }
.storefront :focus-visible { outline:2px solid #8ab5ff; outline-offset:4px; }
@media(max-width:900px) { .hero-inner { gap:30px; } .storefront .top-nav { padding:16px 24px; } .storefront .nav-links { display:none; } .storefront .hero { padding-top:130px; } .storefront .hero h1 { font-size:clamp(42px,6vw,64px); } }
@media(max-width:620px) { .hero-inner { grid-template-columns:1fr; gap:36px; } .storefront .hero { padding:115px 20px 40px; } .storefront .hero h1 { font-size:49px; } .storefront .hero p { font-size:14px; } .storefront .hero-actions .btn { font-size:12px; padding:12px 15px; } .storefront .top-nav { padding:15px 18px; gap:10px; } .storefront .brand { font-size:12px; gap:7px; } .storefront .top-nav .btn { padding:8px 10px; font-size:11px; } .storefront .trust-bar { gap:12px; } .storefront .trust-item { font-size:10px; } .store-notice { gap:10px; font-size:11px; margin-bottom:34px; } .catalog-heading h2 { font-size:24px; } .storefront .catalog { padding:22px 20px 50px; } .hero-search input { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* Full-width image hero; the dark scrim is solid, with no gradients. */
.storefront .hero { position:relative; isolation:isolate; min-height:740px; padding:160px 24px 82px; background:#183e62 url('/assets/hero-world.png') center 58% / cover no-repeat; text-align:center; }
.storefront .hero::before { content:""; position:absolute; inset:0; background:rgba(4,12,22,.53); z-index:-1; }
.hero-inner { display:block; max-width:1000px; }
.hero-copy { max-width:780px; margin:0 auto; }
.storefront .hero h1 { margin-top:0; font-size:clamp(46px,5.5vw,78px); text-shadow:0 2px 24px rgba(0,0,0,.2); }
.storefront .hero p { margin:0 auto 28px; color:#e0e7ef; max-width:550px; }
.storefront .hero-eyebrow { color:#e1e8f1; }
.storefront .hero-actions,.storefront .trust-bar { justify-content:center; }
.hero-search { margin:0 auto; background:rgba(13,24,37,.55); }
.storefront .trust-item { color:#dce5ef; }
@media(max-width:620px) { .storefront .hero { min-height:740px; padding:140px 20px 60px; background-position:49% center; } .storefront .hero h1 { font-size:48px; } .storefront .hero-actions { gap:10px; } .storefront .hero p { font-size:15px; } }
