@font-face { font-family: Inter; src: url("/fonts/inter.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: Bricolage; src: url("/fonts/bricolage.woff2") format("woff2"); font-weight: 200 800; font-display: swap; }
@font-face { font-family: Instrument; src: url("/fonts/instrument-serif-italic.woff2") format("woff2"); font-style: italic; font-display: swap; }
:root { color-scheme: dark; --bg:#05090f; --bg2:#080e17; --surface:#0b131e; --surface2:#101b29; --line:rgba(159,190,220,.13); --ink:#eef3f8; --muted:#8e9aaa; --dim:#657386; --sun:#ff7a45; --rose:#ff5a85; --amber:#ffc35c; --sea:#35e2cd; --sky:#55c4ff; --grad:linear-gradient(105deg,#ffc35c,#ff7a45 48%,#ff4f86); --font:Inter,system-ui,sans-serif; --display:Bricolage,Inter,sans-serif; --serif:Instrument,Georgia,serif; --shadow:0 30px 90px rgba(0,0,0,.45); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--ink); font:400 15px/1.55 var(--font); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
button,input,select { font:inherit; color:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; } img,svg { display:block; max-width:100%; } svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
h1,h2,h3,p { margin:0; } h1,h2,h3 { font-family:var(--display); line-height:1.02; letter-spacing:-.035em; } em { font-family:var(--serif); font-weight:400; color:var(--sun); }
:focus-visible { outline:2px solid var(--sea); outline-offset:3px; border-radius:6px; } ::selection { background:rgba(255,122,69,.35); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.skip-link { position:fixed; z-index:100; top:-60px; left:20px; background:var(--sea); color:#03110f; padding:10px 16px; border-radius:8px; font-weight:800; transition:.2s; } .skip-link:focus { top:20px; }
.topnav { position:fixed; z-index:30; inset:0 0 auto; height:72px; border-bottom:1px solid var(--line); background:rgba(5,9,15,.82); backdrop-filter:blur(20px); }
.nav-inner { max-width:1440px; height:100%; margin:auto; padding:0 36px; display:flex; align-items:center; gap:40px; }
.brand { display:flex; align-items:center; gap:11px; margin-right:auto; } .brand img { border-radius:11px; filter:drop-shadow(0 6px 16px rgba(255,90,100,.22)); } .brand span { display:flex; flex-direction:column; line-height:1.05; } .brand b { font:700 15px var(--display); letter-spacing:-.02em; } .brand small { margin-top:4px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.17em; }
.topnav nav { display:flex; gap:27px; color:#aeb9c7; font-size:13px; font-weight:650; } .topnav nav a { transition:.2s; } .topnav nav a:hover { color:#fff; }
.cart-button { border:1px solid rgba(255,190,92,.28); border-radius:10px; padding:9px 12px; display:flex; align-items:center; gap:8px; background:rgba(255,122,69,.08); font-weight:750; } .cart-button svg { width:18px; } .cart-button b { min-width:22px; height:22px; display:grid; place-items:center; border-radius:7px; background:var(--grad); color:#150904; font-size:11px; }
.store-hero { position:relative; min-height:720px; padding:150px 36px 90px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 76% 42%,rgba(255,98,87,.11),transparent 31%),radial-gradient(circle at 66% 18%,rgba(70,176,255,.08),transparent 27%),linear-gradient(180deg,#07101b,#05090f); }
.hero-grid { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(140,180,220,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(140,180,220,.15) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,black,transparent 90%); transform:perspective(700px) rotateX(64deg) scale(1.8) translateY(12%); transform-origin:bottom; }
.aurora i { position:absolute; border-radius:50%; filter:blur(90px); opacity:.13; } .aurora i:nth-child(1){width:520px;height:200px;background:var(--sun);left:-10%;top:30%;transform:rotate(-24deg)} .aurora i:nth-child(2){width:600px;height:180px;background:var(--rose);right:-12%;bottom:8%;transform:rotate(22deg)} .aurora i:nth-child(3){width:380px;height:180px;background:var(--sea);right:18%;top:-8%}
.hero-inner { position:relative; z-index:1; width:min(1180px,100%); display:grid; grid-template-columns:1.08fr .92fr; gap:110px; align-items:center; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:#b7c2d1; text-transform:uppercase; letter-spacing:.19em; font-size:11px; font-weight:800; } .eyebrow i { width:8px; height:8px; border-radius:50%; background:var(--sea); box-shadow:0 0 0 5px rgba(53,226,205,.1),0 0 20px var(--sea); }
.hero-copy h1 { margin:25px 0 24px; font-size:clamp(54px,6vw,86px); letter-spacing:-.06em; } .hero-copy p { max-width:620px; color:#a5b2c1; font-size:18px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { border:1px solid var(--line); border-radius:10px; min-height:46px; padding:0 19px; display:inline-flex; align-items:center; justify-content:center; gap:12px; font-weight:750; transition:transform .2s,background .2s,border-color .2s; } .button:hover { transform:translateY(-2px); border-color:rgba(255,255,255,.25); } .button.primary { border:0; background:var(--grad); color:#170b05; box-shadow:0 12px 34px -15px rgba(255,100,70,.7); } .button.secondary { background:rgba(255,255,255,.04); }
.trust-row { display:flex; flex-wrap:wrap; gap:20px; margin-top:34px; color:#7f8d9f; font-size:11px; text-transform:uppercase; letter-spacing:.08em; } .trust-row span { display:flex; align-items:center; gap:7px; } .trust-row svg { width:16px; color:var(--sea); }
.hero-card { position:relative; width:380px; aspect-ratio:.72; justify-self:center; padding:40px; border:1px solid rgba(255,255,255,.13); border-radius:28px; overflow:hidden; display:flex; flex-direction:column; background:linear-gradient(150deg,rgba(255,255,255,.09),rgba(255,255,255,.015) 45%),linear-gradient(150deg,#172335,#09111b 62%); box-shadow:var(--shadow); transform:rotate(4deg); }
.hero-card::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.1) 38%,transparent 50%); transform:translateX(-100%); animation:shine 6s infinite 2s; } @keyframes shine { 10%,100%{transform:translateX(130%)} }
.card-glow { position:absolute; width:320px;height:320px;left:-90px;bottom:30px;border-radius:50%;background:radial-gradient(circle,rgba(255,90,85,.36),transparent 68%); }
.hero-card img { position:relative; border-radius:25px; margin:34px 0 auto; filter:drop-shadow(0 20px 30px rgba(0,0,0,.3)); } .card-kicker,.card-meta { position:relative; z-index:1; color:#94a2b4; font-size:9px; text-transform:uppercase; letter-spacing:.2em; font-weight:800; } .hero-card strong { position:relative; z-index:1; font:750 31px/1.02 var(--display); letter-spacing:-.05em; }
.card-coast { position:absolute; inset:auto 0 62px; height:82px; opacity:.5; } .card-coast i { position:absolute; inset:auto -10% 0; height:1px; background:linear-gradient(90deg,transparent,var(--sun),transparent); transform:rotate(-5deg); } .card-coast i:nth-child(2){bottom:16px;opacity:.5}.card-coast i:nth-child(3){bottom:32px;opacity:.2}.card-meta{display:flex;justify-content:space-between;margin-top:28px}
.notice { max-width:1180px; margin:28px auto -15px; padding:17px 20px; border:1px solid rgba(53,226,205,.25); border-radius:12px; background:rgba(53,226,205,.07); color:#bff8ef; }
.catalog-shell { max-width:1440px; margin:auto; padding:110px 36px 120px; }
.catalog-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px; } .catalog-head h2 { margin-top:11px; font-size:clamp(38px,4vw,57px); }
.search { width:min(340px,100%); display:flex; align-items:center; gap:10px; border:1px solid var(--line); background:rgba(255,255,255,.025); border-radius:11px; padding:0 14px; } .search svg { width:19px; color:var(--dim); } .search input { width:100%; height:46px; border:0; outline:0; background:none; } .search input::placeholder { color:#657284; }
.catalog-layout { display:grid; grid-template-columns:210px minmax(0,1fr) 245px; gap:28px; align-items:start; }
.categories { position:sticky; top:96px; } .category { width:100%; min-height:45px; margin-bottom:5px; padding:0 12px; display:flex; align-items:center; justify-content:space-between; border:1px solid transparent; border-radius:9px; background:none; color:#8491a2; text-align:left; font-weight:650; transition:.18s; } .category:hover { color:#fff; background:rgba(255,255,255,.035); } .category.active { color:#fff; border-color:rgba(255,122,69,.18); background:linear-gradient(90deg,rgba(255,122,69,.12),rgba(255,90,133,.04)); } .category b { color:#637084; font-size:11px; }
.secure-card { margin-top:28px; padding:16px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.02); } .secure-card svg { width:25px; color:var(--sea); margin-bottom:14px; } .secure-card div { display:flex; flex-direction:column; gap:6px; } .secure-card b { font-size:12px; } .secure-card span { color:#6f7c8d; font-size:11px; line-height:1.55; }
.product-grid,.loading-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.loading-grid i { height:420px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(100deg,rgba(255,255,255,.02) 25%,rgba(255,255,255,.055) 40%,rgba(255,255,255,.02) 60%); background-size:300% 100%; animation:load 1.4s infinite; } @keyframes load { to{background-position:-150% 0} }
.product { position:relative; min-height:420px; border:1px solid var(--line); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); box-shadow:0 18px 45px -35px #000; transition:transform .28s,border-color .28s,box-shadow .28s; } .product:hover { transform:translateY(-5px); border-color:rgba(255,130,80,.28); box-shadow:0 30px 65px -35px rgba(255,100,70,.28); }
.product-media { position:relative; height:210px; overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle at 50% 45%,rgba(255,122,69,.16),transparent 46%),linear-gradient(145deg,#101c2a,#08101a); } .product-media::after { content:""; position:absolute; inset:auto 0 0; height:70px; background:linear-gradient(transparent,rgba(8,14,23,.9)); } .product-media img { width:100%; height:100%; object-fit:cover; } .product-media .monogram { font:800 70px var(--display); color:rgba(255,255,255,.09); letter-spacing:-.08em; } .product-type { position:absolute; z-index:2; top:14px; left:14px; border:1px solid rgba(255,255,255,.13); border-radius:99px; padding:6px 9px; background:rgba(5,9,15,.72); backdrop-filter:blur(9px); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.product-body { flex:1; padding:20px; display:flex; flex-direction:column; } .product-category { color:var(--sun); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; } .product h3 { margin:8px 0 11px; font-size:23px; } .product-description { color:#8190a2; font-size:13px; line-height:1.6; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.product-buy { margin-top:auto; padding-top:18px; display:flex; align-items:end; justify-content:space-between; gap:12px; } .price { display:flex; flex-direction:column; } .price strong { font:750 23px var(--display); letter-spacing:-.04em; } .price del { color:#697587; font-size:11px; } .price small { color:#687688; font-size:10px; } .add { min-height:40px; padding:0 15px; border:0; border-radius:9px; background:rgba(255,255,255,.08); font-weight:750; transition:.2s; } .add:hover { background:var(--grad); color:#170b05; }
.community-rail { position:sticky; top:96px; display:flex; flex-direction:column; gap:13px; } .module { padding:18px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.023); } .module-label { display:block; margin-bottom:13px; color:#6e7b8c; font-size:9px; text-transform:uppercase; letter-spacing:.16em; font-weight:800; } .module h3 { font-size:17px; } .module p { margin-top:7px; color:#778597; font-size:11px; } .progress { height:7px; margin-top:14px; overflow:hidden; border-radius:10px; background:#111d2a; } .progress i { display:block; height:100%; background:var(--grad); border-radius:inherit; } .payment { display:flex; gap:10px; align-items:center; margin-top:12px; } .avatar { width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#17283b,#0d1722);color:var(--sun);font-weight:800;font-size:11px}.payment div{min-width:0}.payment b,.payment span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment b{font-size:11px}.payment span{color:#6c798b;font-size:9px}
.setup-state,.empty-state { min-height:420px; padding:55px; border:1px solid var(--line); border-radius:18px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; background:radial-gradient(circle at 80% 30%,rgba(255,122,69,.1),transparent 35%),rgba(255,255,255,.02); } .setup-state span { color:var(--sun); text-transform:uppercase; font-size:10px; letter-spacing:.15em; font-weight:800; } .setup-state h3,.empty-state h3 { max-width:500px; margin:14px 0; font-size:36px; } .setup-state p,.empty-state p { max-width:520px; color:#8492a3; } .setup-state .button { margin-top:24px; }
.process { max-width:1180px; margin:0 auto 120px; padding:70px; border:1px solid var(--line); border-radius:25px; display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; background:radial-gradient(circle at 5% 95%,rgba(53,226,205,.08),transparent 32%),linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.01)); } .process h2 { margin-top:15px; font-size:48px; } .process ol { list-style:none; margin:0; padding:0; } .process li { padding:24px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:55px 1fr; gap:18px; } .process li:first-child { padding-top:0; } .process li:last-child { border:0; padding-bottom:0; } .process li>b { color:var(--sun); font:700 12px var(--display); } .process h3 { font-size:20px; } .process p { margin-top:7px; color:#7e8c9e; }
body>footer { border-top:1px solid var(--line); max-width:1380px; margin:auto; padding:40px 36px 55px; display:grid; grid-template-columns:1fr 1.5fr 1fr; align-items:center; gap:35px; color:#687587; font-size:10px; } .footer-brand { display:flex; align-items:center; gap:10px; } .footer-brand img { border-radius:9px; }.footer-brand div{display:flex;flex-direction:column}.footer-brand b{color:#d9e1ea;font-size:12px}.footer-brand span{font-size:9px} body>footer p{text-align:center}body>footer>div:last-child{display:flex;justify-content:flex-end;gap:17px}body>footer a:hover{color:#fff}
.scrim { position:fixed; z-index:39; inset:0; background:rgba(0,0,0,.62); backdrop-filter:blur(5px); }
.cart { position:fixed; z-index:40; inset:0 0 0 auto; width:min(470px,100%); border-left:1px solid var(--line); display:flex; flex-direction:column; background:#080d14; box-shadow:-40px 0 100px rgba(0,0,0,.45); transform:translateX(102%); visibility:hidden; transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility .35s; } .cart.open { transform:none; visibility:visible; } .cart>header { min-height:92px; padding:20px 24px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; } .cart>header span { color:var(--sun); font-size:9px; text-transform:uppercase; letter-spacing:.16em; font-weight:800; } .cart>header h2 { margin-top:5px; font-size:24px; } .cart>header button,.dialog-close { width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.03);font-size:23px;line-height:1}
.cart-body { flex:1; overflow:auto; padding:22px 24px; }.cart-empty{height:100%;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.cart-empty svg{width:45px;color:#4f5c6c;margin-bottom:18px}.cart-empty h3{font-size:22px}.cart-empty p{margin:8px 0 22px;max-width:280px;color:#758294;font-size:13px}.cart-account{padding:12px 14px;margin-bottom:13px;border:1px solid var(--line);border-radius:10px;color:#8391a2;font-size:11px}.cart-account b{color:#dbe4ee}.cart-item{padding:15px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center}.cart-thumb{width:54px;height:54px;border-radius:10px;object-fit:cover;background:#111d2b}.cart-item h3{font-size:14px}.cart-item p{color:#6f7d8e;font-size:10px}.cart-item>strong{font-size:13px}.cart-controls{display:flex;align-items:center;gap:7px;margin-top:7px}.cart-controls button{width:23px;height:23px;border:1px solid var(--line);border-radius:6px;background:none}.cart-controls .remove{width:auto;border:0;color:#ff7580;font-size:10px;margin-left:6px}.code-box{margin-top:22px;border:1px solid var(--line);border-radius:10px;padding:13px}.code-box summary{cursor:pointer;font-weight:700;font-size:12px}.code-box>div{display:grid;grid-template-columns:105px 1fr auto;gap:6px;margin-top:12px}.code-box select,.code-box input,.code-box button{min-width:0;height:36px;border:1px solid var(--line);border-radius:7px;background:#0d1621;padding:0 8px;font-size:11px}.code-box button{background:rgba(255,255,255,.08);font-weight:700}
.cart-footer { padding:20px 24px calc(20px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:#080d14; }.totals{display:flex;flex-direction:column;gap:6px}.totals>span{display:flex;justify-content:space-between;color:#8895a5;font-size:12px}.totals .tax{display:block;color:#5f6c7d;font-size:9px}.totals strong{display:flex;justify-content:space-between;margin:8px 0 12px;padding-top:12px;border-top:1px solid var(--line);font-size:18px}.checkout{width:100%;height:52px;border:0;border-radius:10px;background:var(--grad);color:#160a05;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:850}.checkout svg{width:18px}.cart-footer>p{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:6px;color:#637082;font-size:9px}.cart-footer>p svg{width:13px}
.product-dialog { width:min(820px,calc(100% - 30px)); max-height:86vh; padding:0; border:1px solid var(--line); border-radius:20px; color:var(--ink); background:#0a111b; box-shadow:var(--shadow); grid-template-columns:.9fr 1.1fr; overflow:hidden; }.product-dialog[open]{display:grid}.product-dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(7px)}.dialog-close{position:absolute;z-index:2;right:14px;top:14px}.dialog-close:hover{background:#1a2532}.product-dialog>#dialog-media{min-height:480px;background:radial-gradient(circle,rgba(255,122,69,.14),transparent 55%),#0d1723;display:grid;place-items:center}.product-dialog>#dialog-media img{width:100%;height:100%;object-fit:cover}.product-dialog .monogram{font:800 90px var(--display);color:rgba(255,255,255,.08)}.dialog-copy{padding:50px 38px;overflow:auto}.dialog-copy>span{color:var(--sun);font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.dialog-copy h2{margin:10px 0 19px;font-size:34px}.dialog-copy #dialog-description{color:#909daf;font-size:13px;line-height:1.7}.dialog-copy #dialog-description p{margin:0 0 12px}.dialog-buy{margin-top:28px;padding-top:23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-buy strong{font:750 23px var(--display)}
.toast { position:fixed; z-index:60; left:50%; bottom:30px; transform:translate(-50%,20px); opacity:0; pointer-events:none; max-width:min(400px,calc(100% - 30px)); padding:12px 17px; border:1px solid var(--line); border-radius:10px; background:#14202e; box-shadow:var(--shadow); font-size:12px; transition:.25s; }.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{border-color:rgba(255,95,109,.35);color:#ffc0c5}
.busy { pointer-events:none; opacity:.65; }
@media(max-width:1100px){.catalog-layout{grid-template-columns:190px minmax(0,1fr)}.community-rail{display:none}.hero-inner{gap:55px}.hero-card{width:330px}.process{margin-left:36px;margin-right:36px}}
@media(max-width:780px){.topnav{height:64px}.nav-inner{padding:0 16px}.topnav nav{display:none}.brand img{width:34px;height:34px}.cart-button span{display:none}.store-hero{padding:120px 20px 70px;min-height:auto}.hero-inner{display:block}.hero-copy h1{font-size:52px}.hero-copy p{font-size:15px}.hero-card{display:none}.trust-row{gap:13px}.catalog-shell{padding:75px 16px}.catalog-head{display:block}.search{margin-top:24px;width:100%}.catalog-layout{display:block}.categories{position:static;display:flex;overflow:auto;margin:0 -16px 25px;padding:0 16px;scrollbar-width:none}.category{width:auto;min-width:max-content;margin:0 6px 0 0}.secure-card{display:none}.product-grid,.loading-grid{grid-template-columns:1fr}.product{min-height:390px}.community-rail{display:none}.process{margin:0 16px 75px;padding:38px 25px;display:block}.process h2{font-size:40px}.process ol{margin-top:45px}body>footer{padding:35px 20px;display:flex;flex-direction:column;text-align:center}body>footer p{text-align:center}body>footer>div:last-child{justify-content:center}.product-dialog[open]{display:block;overflow:auto}.product-dialog>#dialog-media{min-height:280px;height:280px}.dialog-copy{padding:32px 24px}.dialog-copy h2{font-size:29px}.notice{margin:20px 16px -25px}.code-box>div{grid-template-columns:1fr auto}.code-box select{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}
