@font-face{font-family:Dune Rise;src:url(/fonts/Dune_Rise.woff2) format("woff2"),url(/fonts/Dune_Rise.ttf) format("truetype");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Dune Rise Fallback;src:local("Georgia"),local("Times New Roman");size-adjust:96%;ascent-override:92%;descent-override:22%;line-gap-override:0%}:root{--font-brand-display:"Dune Rise","Dune Rise Fallback";--font-brand-body:var(--font-poppins,"Poppins"),"Poppins";--font-dune-display:var(--font-brand-display);--font-poppins-body:var(--font-brand-body);--color-bg:#fff;--color-surface:#f3f1ec;--color-surface-raised:#fff;--color-border:#e2ded4;--color-border-strong:#cfc9ba;--color-text:#161c1a;--color-text-muted:#5c6360;--color-text-faint:#8a8f8b;--color-on-dark:#f6f5f1;--color-accent:#1f99ce;--color-accent-strong:#171f4a;--color-accent-soft:#e7ede9;--color-success:#2f6b46;--color-success-soft:#e6f0e8;--color-warning:#8a5a12;--color-warning-soft:#faf1de;--color-error:#a3352b;--color-error-soft:#f7e9e6;--color-dark-bg:#14201c;--color-dark-surface:#1b2b25;--color-dark-border:#2a3c34;--font-display:var(--font-brand-display,"Fraunces"),"Iowan Old Style","Georgia",serif;--font-body:var(--font-brand-body,"Inter"),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:var(--font-brand-mono,"IBM Plex Mono"),"SFMono-Regular",Menlo,monospace;--fs-xs:0.75rem;--fs-sm:0.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.375rem;--fs-xl:clamp(1.75rem,1.5rem + 1vw,2.25rem);--fs-2xl:clamp(2.25rem,1.8rem + 2vw,3.25rem);--fs-3xl:clamp(2.75rem,2rem + 3vw,4.5rem);--lh-tight:1.15;--lh-snug:1.35;--lh-normal:1.6;--tracking-tight:-0.02em;--tracking-wide:0.06em;--tracking-wider:0.12em;--spacing-3xs:0.25rem;--spacing-2xs:0.5rem;--spacing-xs:0.75rem;--spacing-sm:1rem;--spacing-md:30px;--spacing-lg:2.25rem;--spacing-xl:3.5rem;--spacing-2xl:5.5rem;--spacing-3xl:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(20,24,22,.06);--shadow-md:0 8px 24px rgba(20,24,22,.08);--shadow-lg:0 20px 48px rgba(20,24,22,.12);--container-width:1424px;--container-padding:clamp(1.25rem,4vw,1.25rem);--header-height:72px;--announcement-height:40px;--container-width-laptop:1194px;--container-width-tablet:725px;--container-width-mobile:412px;--transition-fast:150ms ease;--transition-base:220ms cubic-bezier(0.2,0.7,0.3,1);--transition-slow:420ms cubic-bezier(0.2,0.7,0.3,1)}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0ms;--transition-base:0ms;--transition-slow:0ms}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2xs);border:1px solid transparent;border-radius:var(--radius-pill);font-size:16px;line-height:28px;font-weight:700;text-transform:uppercase;padding:12px 40px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);white-space:nowrap;font-family:var(--font-body)}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn--primary{background-color:#1f99ce;font-family:var(--font-body);font-size:16px;font-weight:700;text-transform:uppercase;line-height:28px;fill:#fff;color:#fff;border:1px solid #1f99ce;padding:12px 40px}.btn--primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.btn--secondary{background-color:#fff;font-family:var(--font-body);font-size:16px;font-weight:700;text-transform:uppercase;line-height:28px;fill:#171f4a;color:#171f4a;border:1px solid #171f4a;padding:12px 40px}.btn--secondary:hover:not(:disabled){border-color:var(--color-accent);color:#fff;background:var(--color-accent)}.btn--ghost{background:transparent;color:var(--color-accent);border-color:transparent;padding-inline:.5em}.btn--ghost:hover:not(:disabled){color:var(--color-accent-strong)}.btn--on-dark{background:transparent;color:var(--color-on-dark);border-color:hsla(48,22%,95%,.4)}.btn--on-dark:hover:not(:disabled){border-color:var(--color-on-dark)}.btn--sm{padding:.55em 1.1em;font-size:var(--fs-xs)}.btn--lg{padding:12px 40px;font-size:16px}.btn--full{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast)}.icon-btn:hover{background:var(--color-surface)}.btn--outline{background:transparent;color:var(--color-accent);border-color:var(--color-accent);border-radius:var(--radius-pill);transition:all .3s ease}.btn--outline:hover:not(:disabled){background:var(--color-accent);color:#fff}.product-card .btn--outline,.product-card .btn--primary{border-radius:var(--radius-pill)}.add-to-cart-check{display:inline-flex;align-items:center;justify-content:center;width:0;opacity:0;transform:scale(.5);transition:opacity .25s ease,transform .25s ease,width .25s ease,margin .25s ease}.add-to-cart-check.is-visible{width:1em;opacity:1;transform:scale(1);margin-right:2px}.btn.is-added{background-color:var(--color-success,#1a7f37);border-color:var(--color-success,#1a7f37);transition:background-color .25s ease,border-color .25s ease}.field{display:flex;flex-direction:column;gap:var(--spacing-3xs);margin-bottom:var(--spacing-sm)}.field__label{font-size:var(--fs-sm);font-weight:600;color:var(--color-text)}.field__hint{font-size:var(--fs-xs);color:var(--color-text-muted)}.input,.select,.textarea{font-family:var(--font-body);font-size:var(--fs-base);padding:.75em .9em;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.input--error{border-color:var(--color-error)}.checkbox-row{display:flex;align-items:flex-start;gap:var(--spacing-2xs);font-size:var(--fs-sm);color:var(--color-text-muted)}.modal-overlay{position:fixed;inset:0;background:rgba(15,20,18,.55);display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);z-index:900;animation:fadeIn var(--transition-base)}.modal{background:var(--color-surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:480px;width:100%;padding:var(--spacing-lg);animation:riseIn var(--transition-slow)}.modal__title{margin-bottom:var(--spacing-2xs)}.modal__actions{display:flex;gap:var(--spacing-2xs);margin-top:var(--spacing-md);flex-wrap:wrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.skeleton{position:relative;overflow:hidden;background:var(--color-surface);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translateX(100%)}}.skeleton-card{display:flex;flex-direction:column;gap:var(--spacing-2xs)}.skeleton-card__image{aspect-ratio:1;border-radius:var(--radius-md)}.skeleton-line{height:.85em;border-radius:var(--radius-sm)}.skeleton-line--60{width:60%}.skeleton-line--40{width:40%}.shop-toolbar-skeleton{height:44px;margin-bottom:var(--spacing-md);border-radius:var(--radius-pill);position:relative;overflow:hidden;background:var(--color-surface)}.shop-toolbar-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);animation:shimmer 1.4s infinite}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-sm);color:var(--color-text-muted)}.empty-state__icon{margin:0 auto var(--spacing-sm);color:var(--color-text-faint)}.empty-state__title{font-family:var(--font-body);color:var(--color-text);margin-bottom:var(--spacing-3xs)}.error-state{text-align:center;padding:var(--spacing-xl) var(--spacing-sm);background:var(--color-error-soft);border:1px solid rgba(163,53,43,.2);border-radius:var(--radius-md);color:var(--color-error)}.error-state__title{font-family:var(--font-body);color:var(--color-error);margin-bottom:var(--spacing-3xs)}