:root {
    --ink: #06142d;
    --ink-soft: #0b2042;
    --panel: rgba(8, 27, 56, 0.86);
    --panel-solid: #0a2144;
    --line: rgba(112, 176, 226, 0.2);
    --blue: #70c8f5;
    --blue-bright: #a9e4ff;
    --yellow: #ffd449;
    --yellow-deep: #f5aa25;
    --text: #eff8ff;
    --muted: #9bb5ce;
    --danger: #ff7e86;
    --shadow: 0 22px 80px rgba(0, 4, 18, 0.36);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--ink); color: var(--text); font-family: 'DM Sans', sans-serif; min-width: 320px; overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.site-backdrop { position: fixed; inset: 0; z-index: -2; background: center/cover no-repeat; transition: background-image 1.5s ease-in-out; }
.backdrop-shade { position: fixed; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(4, 15, 38, .98) 0%, rgba(5, 19, 44, .9) 43%, rgba(5, 19, 44, .63) 100%), linear-gradient(180deg, rgba(4, 15, 38, .1), var(--ink) 86%); pointer-events: none; }
.site-header { align-items: center; display: flex; justify-content: space-between; margin: 0 auto; max-width: 1440px; padding: 26px 5vw; position: relative; z-index: 5; }
.brand { align-items: center; display: inline-flex; font-family: 'Space Grotesk', sans-serif; font-size: 21px; font-weight: 700; gap: 10px; letter-spacing: -.7px; }
.brand > span:last-child > span { color: var(--yellow); }
.brand-mark { align-items: center; background: linear-gradient(135deg, var(--yellow), var(--yellow-deep)); border-radius: 10px; color: var(--ink); display: inline-flex; font-size: 15px; height: 30px; justify-content: center; width: 30px; }
.main-nav { align-items: center; display: flex; gap: 30px; }
.main-nav > a { color: var(--muted); font-size: 13px; font-weight: 600; transition: color .25s ease; }
.main-nav > a:hover { color: var(--text); }
.header-admin, .cart-trigger { align-items: center; background: transparent; border: 1px solid var(--line); border-radius: 10px; color: var(--text); display: inline-flex; font-size: 12px; gap: 9px; padding: 11px 15px; transition: border-color .25s ease, background .25s ease, transform .25s ease; }
.header-admin:hover, .cart-trigger:hover { background: rgba(112, 200, 245, .1); border-color: rgba(112, 200, 245, .55); transform: translateY(-2px); }
.cart-trigger b { align-items: center; background: var(--yellow); border-radius: 50%; color: var(--ink); display: inline-flex; font-size: 10px; height: 18px; justify-content: center; min-width: 18px; }
.hero { align-items: center; display: flex; justify-content: space-between; margin: 0 auto; max-width: 1440px; min-height: 610px; padding: 85px 10vw 125px 5vw; position: relative; }
.hero-copy { max-width: 680px; animation: reveal .9s ease both; }
.eyebrow, .section-kicker { color: var(--yellow); font-size: 10px; font-weight: 700; letter-spacing: 1.7px; text-transform: uppercase; }
.eyebrow { align-items: center; display: flex; gap: 9px; margin-bottom: 28px; }
.pulse-dot { background: var(--yellow); border-radius: 50%; box-shadow: 0 0 0 7px rgba(255, 212, 73, .12); height: 7px; width: 7px; }
h1, h2, h3 { font-family: 'Space Grotesk', sans-serif; }
h1 { font-size: clamp(50px, 7vw, 94px); letter-spacing: -5px; line-height: .98; max-width: 720px; }
h1 em { color: var(--blue); font-style: normal; }
.hero-copy > p { color: var(--muted); font-size: 16px; line-height: 1.7; margin: 26px 0 31px; max-width: 485px; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; }
.button { align-items: center; border: 0; border-radius: 9px; display: inline-flex; font-size: 12px; font-weight: 700; gap: 14px; justify-content: center; padding: 15px 19px; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.button-primary { background: linear-gradient(110deg, var(--yellow), #ffc043); box-shadow: 0 12px 32px rgba(245, 170, 37, .18); color: var(--ink); }
.button-primary:hover { box-shadow: 0 17px 36px rgba(245, 170, 37, .3); transform: translateY(-3px); }
.button-outline { border: 1px solid rgba(169, 228, 255, .4); color: var(--text); }
.button-outline:hover { background: rgba(112, 200, 245, .11); transform: translateY(-2px); }
.text-button { background: none; border: 0; color: var(--text); font-size: 12px; font-weight: 700; }
.text-button i { color: var(--yellow); margin-left: 5px; }
.hero-proof { border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 26px; margin-top: 48px; padding-top: 18px; }
.hero-proof span { color: var(--muted); font-size: 10px; font-weight: 600; }
.hero-proof i { color: var(--blue); margin-right: 6px; }
.hero-orbit { height: 400px; position: relative; width: 400px; }
.orbit-ring { border: 1px solid rgba(112, 200, 245, .23); border-radius: 50%; inset: 7%; position: absolute; }
.ring-one { animation: spin 22s linear infinite; border-left-color: var(--yellow); border-right-color: transparent; }
.ring-two { animation: spin 17s linear infinite reverse; border-bottom-color: var(--yellow); border-top-color: transparent; inset: 21%; }
.orbit-core { align-items: center; background: radial-gradient(circle at 35% 25%, #194a78, #0a2144 70%); border: 1px solid rgba(169, 228, 255, .32); border-radius: 50%; box-shadow: 0 0 90px rgba(112, 200, 245, .15), inset 0 0 45px rgba(112, 200, 245, .16); display: flex; flex-direction: column; gap: 12px; height: 150px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 150px; }
.orbit-core i { color: var(--yellow); font-size: 34px; }.orbit-core small { color: var(--blue-bright); font-size: 9px; letter-spacing: 2px; text-align: center; }
.orbit-tag { color: var(--muted); font-size: 9px; letter-spacing: 1px; position: absolute; }.tag-one { right: 3%; top: 30%; }.tag-two { bottom: 20%; left: 8%; }
.catalog-section, .care-section, footer { margin: 0 auto; max-width: 1440px; padding-left: 5vw; padding-right: 5vw; }
.catalog-section { padding-bottom: 100px; }.section-heading { align-items: end; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding-bottom: 22px; }
h2 { font-size: clamp(26px, 4vw, 42px); letter-spacing: -2px; margin-top: 9px; }.catalog-meta { color: var(--muted); display: flex; font-size: 10px; gap: 22px; }.catalog-meta i { color: var(--yellow); margin-right: 5px; }
.catalog-toolbar { align-items: center; display: flex; justify-content: space-between; margin: 25px 0; }.tabs, .audience-tabs { display: flex; gap: 7px; }.tab-btn, .audience-btn { background: transparent; border: 1px solid transparent; border-radius: 8px; color: var(--muted); font-size: 12px; padding: 10px 14px; transition: all .25s ease; }.tab-btn.active, .tab-btn:hover { background: rgba(112, 200, 245, .12); border-color: rgba(112, 200, 245, .24); color: var(--blue-bright); }.audience-tabs { background: rgba(4, 16, 39, .5); border: 1px solid var(--line); border-radius: 10px; padding: 4px; }.audience-btn { border-radius: 6px; font-size: 10px; padding: 8px 11px; }.audience-btn.active { background: var(--yellow); color: var(--ink); }
.products-container { display: grid; gap: 17px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); min-height: 270px; }.product-card { animation: rise .55s ease both; background: linear-gradient(145deg, rgba(12, 43, 81, .93), rgba(5, 24, 53, .93)); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; position: relative; transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease; }.product-card:hover { border-color: rgba(255, 212, 73, .52); box-shadow: 0 22px 45px rgba(0, 3, 18, .3); transform: translateY(-7px); }.product-media { background: linear-gradient(140deg, #102f56, #081a37); height: 185px; overflow: hidden; position: relative; }.product-media img { height: 100%; object-fit: cover; opacity: .9; transition: transform .5s ease; width: 100%; }.product-card:hover .product-media img { transform: scale(1.07); }.product-badge { background: rgba(6, 20, 45, .82); border: 1px solid rgba(169, 228, 255, .2); border-radius: 5px; color: var(--blue-bright); font-size: 9px; left: 13px; padding: 5px 7px; position: absolute; text-transform: uppercase; top: 13px; }.product-info { padding: 17px; }.product-info h3 { font-size: 17px; letter-spacing: -.6px; }.product-info .product-description { color: var(--muted); font-size: 11px; line-height: 1.5; margin-top: 7px; min-height: 34px; }.product-bottom { align-items: center; display: flex; justify-content: space-between; margin-top: 17px; }.product-price { color: var(--yellow); font-family: 'Space Grotesk', sans-serif; font-size: 17px; font-weight: 700; }.product-actions { display: flex; gap: 7px; }.product-actions button { align-items: center; border: 1px solid var(--line); border-radius: 7px; display: inline-flex; height: 32px; justify-content: center; width: 34px; }.details-btn { background: transparent; color: var(--blue); }.add-btn { background: var(--yellow); color: var(--ink); }.product-actions button:hover { filter: brightness(1.12); transform: translateY(-2px); }.loading-state { align-items: center; color: var(--muted); display: flex; font-size: 12px; gap: 10px; grid-column: 1 / -1; justify-content: center; min-height: 200px; }.loader { animation: spin 1s linear infinite; border: 2px solid var(--line); border-radius: 50%; border-top-color: var(--yellow); height: 21px; width: 21px; }
.care-section { align-items: center; background: linear-gradient(105deg, rgba(12, 48, 86, .8), rgba(8, 26, 57, .82)); border: 1px solid var(--line); border-radius: 17px; display: flex; gap: 22px; margin-bottom: 95px; padding-bottom: 30px; padding-top: 30px; }.care-icon { align-items: center; background: rgba(255, 212, 73, .1); border: 1px solid rgba(255, 212, 73, .25); border-radius: 12px; color: var(--yellow); display: flex; flex: 0 0 58px; font-size: 24px; height: 58px; justify-content: center; }.care-section p { color: var(--muted); font-size: 12px; margin-top: 8px; }.care-section .button { margin-left: auto; white-space: nowrap; }
footer { align-items: end; border-top: 1px solid var(--line); display: flex; justify-content: space-between; padding-bottom: 34px; padding-top: 34px; }.footer-brand p, .footer-details { color: var(--muted); font-size: 10px; margin-top: 12px; }.footer-details { display: flex; gap: 28px; margin-top: 0; }
.bot-container { bottom: 22px; position: fixed; right: 22px; z-index: 20; }.bot-btn { align-items: center; background: var(--yellow); border: 0; border-radius: 50%; box-shadow: 0 10px 28px rgba(0, 0, 0, .35); color: var(--ink); display: flex; font-size: 20px; height: 54px; justify-content: center; width: 54px; }.bot-btn:hover { transform: scale(1.06); }.bot-box { background: var(--panel-solid); border: 1px solid rgba(112, 200, 245, .3); border-radius: 14px; bottom: 70px; box-shadow: var(--shadow); display: none; padding: 23px; position: absolute; right: 0; width: 290px; }.bot-box.open { display: block; animation: rise .3s ease; }.bot-box h3 { margin: 9px 0 7px; }.bot-box p { color: var(--muted); font-size: 11px; line-height: 1.5; }.bot-box textarea { background: rgba(4, 15, 38, .7); border: 1px solid var(--line); border-radius: 8px; color: var(--text); margin: 16px 0 10px; outline: 0; padding: 11px; resize: none; width: 100%; }.bot-box .button { width: 100%; }
.cart-drawer { background: #071a38; box-shadow: -20px 0 70px rgba(0, 3, 16, .5); display: flex; flex-direction: column; height: 100vh; max-width: 410px; padding: 29px; position: fixed; right: 0; top: 0; transform: translateX(105%); transition: transform .45s cubic-bezier(.22, .8, .2, 1); width: 91%; z-index: 50; }.cart-drawer.open { transform: translateX(0); }.drawer-overlay { background: rgba(1, 8, 22, .7); inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: opacity .35s ease; z-index: 45; }.drawer-overlay.open { opacity: 1; pointer-events: auto; }.drawer-head { align-items: start; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding-bottom: 22px; }.drawer-head h2 { font-size: 27px; }.drawer-head h2 span { color: var(--yellow); font-size: 13px; letter-spacing: 0; margin-left: 4px; }.drawer-close { background: transparent; border: 0; color: var(--muted); font-size: 26px; line-height: 1; }.drawer-close:hover { color: var(--text); }.drawer-items { flex: 1; overflow-y: auto; padding: 18px 0; }.drawer-item { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 12px; padding: 13px 0; }.drawer-item img { background: #102f56; border-radius: 7px; height: 48px; object-fit: cover; width: 48px; }.drawer-item h4 { font-size: 12px; }.drawer-item p { color: var(--yellow); font-size: 11px; margin-top: 4px; }.drawer-item > span { color: var(--muted); font-size: 11px; margin-left: auto; }.cart-empty { color: var(--muted); display: none; padding: 70px 20px; text-align: center; }.cart-empty.show { display: block; }.cart-empty i { color: var(--yellow); font-size: 32px; margin-bottom: 18px; }.cart-empty h3 { color: var(--text); font-size: 18px; }.cart-empty p { font-size: 11px; line-height: 1.6; margin-top: 8px; }.cart-summary { border-top: 1px solid var(--line); padding-top: 18px; }.cart-summary > div { color: var(--muted); display: flex; font-size: 12px; justify-content: space-between; margin-bottom: 11px; }.cart-summary strong { color: var(--text); }.cart-summary .cart-total { color: var(--text); font-family: 'Space Grotesk', sans-serif; font-size: 17px; margin: 18px 0; }.cart-summary .cart-total strong { color: var(--yellow); }.checkout-btn { background: var(--yellow); border: 0; border-radius: 8px; color: var(--ink); font-size: 12px; font-weight: 700; padding: 15px; width: 100%; }.checkout-btn:hover { filter: brightness(1.08); }
.detail-modal, .modal { align-items: center; background: rgba(1, 8, 22, .82); display: none; inset: 0; justify-content: center; padding: 20px; position: fixed; z-index: 60; }.detail-modal.open, .modal.open { display: flex; }.detail-dialog, .modal-content { background: #092047; border: 1px solid rgba(112, 200, 245, .3); border-radius: 16px; box-shadow: var(--shadow); max-height: 90vh; max-width: 610px; overflow-y: auto; padding: 30px; position: relative; width: 100%; }.detail-dialog > .drawer-close, .modal-content > .drawer-close { position: absolute; right: 22px; top: 20px; }.detail-layout { display: grid; gap: 27px; grid-template-columns: 180px 1fr; }.detail-layout img { background: #102f56; border-radius: 12px; height: 180px; object-fit: cover; width: 180px; }.detail-layout h2 { font-size: 29px; margin: 12px 0 9px; }.detail-layout p { color: var(--muted); font-size: 12px; line-height: 1.7; }.detail-fields { border-top: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: 1fr 1fr; margin-top: 22px; padding-top: 18px; }.detail-field span { color: var(--muted); display: block; font-size: 10px; margin-bottom: 5px; text-transform: uppercase; }.detail-field strong { font-size: 12px; }.detail-dialog .button { margin-top: 22px; width: 100%; }.modal-content h2 { margin: 10px 0; }.modal-content > p, #admin-auth > p { color: var(--muted); font-size: 12px; line-height: 1.6; }.modal-content input, .modal-content select { background: #06142d; border: 1px solid var(--line); border-radius: 7px; color: var(--text); margin: 7px 0; outline: 0; padding: 12px; width: 100%; }.modal-content .button { margin-top: 12px; width: 100%; }.admin-error { color: var(--danger) !important; display: none; margin-top: 14px; }.admin-controls { display: grid; gap: 3px; margin: 23px 0; }.modal-content h3 { font-size: 16px; margin-bottom: 12px; }.modal-content .cart-item { align-items: center; border-bottom: 1px solid var(--line); color: var(--muted); display: flex; font-size: 11px; justify-content: space-between; padding: 11px 0; }.modal-content .cart-item button { background: transparent; border: 0; color: var(--danger); font-size: 11px; }
.cart-flyer { border-radius: 8px; height: 50px; object-fit: cover; pointer-events: none; position: fixed; width: 50px; z-index: 100; animation: fly-to-bag .7s cubic-bezier(.3, .8, .35, 1) forwards; }
@keyframes reveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } } @keyframes rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } } @keyframes spin { to { transform: rotate(360deg); } }
@keyframes fly-to-bag { 0% { opacity: .95; transform: scale(1) rotate(0); } 65% { opacity: .9; transform: scale(.7) rotate(12deg); } 100% { opacity: 0; transform: translate(var(--fly-x), var(--fly-y)) scale(.15) rotate(20deg); } }
@media (max-width: 850px) { .main-nav > a, .header-admin span { display: none; }.hero { min-height: 680px; padding-bottom: 80px; padding-top: 70px; }.hero-orbit { opacity: .35; position: absolute; right: -130px; top: 145px; transform: scale(.75); }.hero-copy { position: relative; z-index: 1; }.section-heading { align-items: start; flex-direction: column; gap: 17px; }.catalog-toolbar { align-items: start; flex-direction: column; gap: 13px; }.care-section { align-items: start; flex-wrap: wrap; }.care-section .button { margin-left: 80px; }.footer-details { flex-wrap: wrap; gap: 10px 18px; justify-content: end; max-width: 210px; text-align: right; } }
@media (max-width: 520px) { .site-header { padding: 20px 5vw; }.cart-trigger span { display: none; }.hero { min-height: 650px; padding-left: 5vw; padding-right: 5vw; }.hero-proof { gap: 14px; }.hero-actions { align-items: start; flex-direction: column; gap: 18px; }.hero-proof span { font-size: 9px; }.tabs { overflow-x: auto; width: 100%; }.tab-btn { white-space: nowrap; }.audience-tabs { align-self: stretch; justify-content: space-between; }.audience-btn { flex: 1; }.products-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.product-media { height: 130px; }.product-info { padding: 11px; }.product-info h3 { font-size: 13px; }.product-info .product-description { font-size: 10px; }.product-price { font-size: 14px; }.product-actions button { height: 29px; width: 29px; }.care-section { margin-bottom: 60px; }.care-section .button { margin-left: 0; }.footer-brand, footer { align-items: start; flex-direction: column; gap: 18px; }.footer-details { justify-content: start; text-align: left; }.detail-layout { grid-template-columns: 1fr; }.detail-layout img { height: 150px; width: 100%; }.detail-layout h2 { font-size: 25px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }