:root{--container: 1400px;--header-h: 80px;--radius: 12px;--radius-pill: 999px;--ease: cubic-bezier(.2, .8, .2, 1);--t-fast: .18s;--t-med: .32s;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;background:none;cursor:pointer;padding:0}.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}.section{padding:80px 0}.h-serif{font-family:var(--serif);font-weight:500}.p-muted{color:var(--muted);line-height:1.6}h1,h2,h3,h4{margin:0}.h-xxl{font-size:clamp(40px,6vw,84px);font-weight:700;line-height:1.1}.h-xl{font-size:clamp(32px,4vw,56px);font-weight:600;line-height:1.2}.h-lg{font-size:clamp(24px,3vw,36px);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;transition:all var(--t-fast) var(--ease)}.btn--dark{background:var(--btn-dark);color:var(--white)}.btn--dark:hover{background:var(--brand-dark)}.btn--light{background:var(--white);color:var(--text);border:1px solid var(--border)}.btn--pill{border-radius:var(--radius-pill)}.btn--white{background:#fff;color:#000}.badge{padding:4px 12px;border-radius:var(--radius-pill);font-size:11px;text-transform:uppercase;font-weight:700}.badge--sale{background:var(--sale);color:var(--white)}.badge--featured{background:var(--text);color:var(--white)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:slideUp .6s var(--ease) forwards}.loading-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg, #fff);gap:20px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border, rgba(0, 0, 0, .1));border-top-color:var(--brand, #000);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg, #fff);text-align:center;padding:20px;gap:16px}.error-screen h1{font-size:24px;margin:0}.error-screen p{color:var(--muted, #666);margin:0}
