:root{--hh-color-raspberry:#b8144c;--hh-color-raspberry-deep:#8c0d39;--hh-color-pink:#e8578c;--hh-color-blush:#f8d9e2;--hh-color-blush-soft:#fdeef3;--hh-color-cream:#fdf6ec;--hh-color-parchment:#f6ecdd;--hh-color-gold:#c9a34e;--hh-color-gold-soft:#e8d3a0;--hh-color-ink:#3b2229;--hh-color-ink-soft:#6d545c;--hh-color-white:#fff;--hh-color-sage:#7f9273;--hh-color-background:var(--hh-color-cream);--hh-color-surface:var(--hh-color-white);--hh-color-surface-muted:var(--hh-color-blush-soft);--hh-color-foreground:var(--hh-color-ink);--hh-color-foreground-muted:var(--hh-color-ink-soft);--hh-color-primary:var(--hh-color-raspberry);--hh-color-primary-hover:var(--hh-color-raspberry-deep);--hh-color-on-primary:var(--hh-color-white);--hh-color-accent:var(--hh-color-gold);--hh-color-border:#ecdcd0;--hh-color-border-strong:var(--hh-color-blush);--hh-color-success:#4f7a52;--hh-color-danger:#b3261e;--hh-font-script:"Great Vibes", "Brush Script MT", cursive;--hh-font-display:"Fraunces", Georgia, serif;--hh-font-body:"Nunito Sans", system-ui, -apple-system, sans-serif;--hh-text-script:3rem;--hh-text-display:3.5rem;--hh-text-h1:2.5rem;--hh-text-h2:2rem;--hh-text-h3:1.5rem;--hh-text-h4:1.25rem;--hh-text-body:1rem;--hh-text-small:.875rem;--hh-text-caption:.75rem;--hh-weight-regular:400;--hh-weight-medium:600;--hh-weight-bold:800;--hh-leading-tight:1.15;--hh-leading-normal:1.6;--hh-tracking-wide:.12em;--hh-space-1:4px;--hh-space-2:8px;--hh-space-3:12px;--hh-space-4:16px;--hh-space-5:24px;--hh-space-6:32px;--hh-space-7:48px;--hh-space-8:64px;--hh-space-9:96px;--hh-radius-sm:6px;--hh-radius-md:12px;--hh-radius-lg:20px;--hh-radius-xl:28px;--hh-radius-pill:999px;--hh-shadow-sm:0 1px 2px #3b22290f;--hh-shadow-md:0 6px 18px #b8144c1a;--hh-shadow-lg:0 18px 40px #b8144c29;--hh-shadow-glow:0 0 0 6px #e8578c24;--hh-ring:0 0 0 3px #e8578c73;--hh-transition:.16s ease;--hh-border-hairline:1px solid var(--hh-color-border);--hh-container:1120px}body{background-color:var(--hh-color-background);color:var(--hh-color-foreground);font-family:var(--hh-font-body);font-size:var(--hh-text-body);line-height:var(--hh-leading-normal);-webkit-font-smoothing:antialiased}.hh-script{font-family:var(--hh-font-script);font-size:var(--hh-text-script);line-height:var(--hh-leading-tight);color:var(--hh-color-primary);font-weight:var(--hh-weight-regular)}.hh-display{font-family:var(--hh-font-display);font-size:var(--hh-text-display);font-weight:var(--hh-weight-bold);line-height:var(--hh-leading-tight);color:var(--hh-color-foreground);margin:0}.hh-h1{font-family:var(--hh-font-display);font-size:var(--hh-text-h1);font-weight:var(--hh-weight-bold);line-height:var(--hh-leading-tight);margin:0}.hh-h2{font-family:var(--hh-font-display);font-size:var(--hh-text-h2);font-weight:var(--hh-weight-bold);line-height:var(--hh-leading-tight);margin:0}.hh-h3{font-family:var(--hh-font-display);font-size:var(--hh-text-h3);font-weight:var(--hh-weight-medium);line-height:var(--hh-leading-tight);margin:0}.hh-h4{font-family:var(--hh-font-body);font-size:var(--hh-text-h4);font-weight:var(--hh-weight-bold);margin:0}.hh-body{font-size:var(--hh-text-body);line-height:var(--hh-leading-normal);margin:0}.hh-small{font-size:var(--hh-text-small);line-height:var(--hh-leading-normal);margin:0}.hh-caption{font-size:var(--hh-text-caption);color:var(--hh-color-foreground-muted);margin:0}.hh-eyebrow{font-size:var(--hh-text-caption);text-transform:uppercase;letter-spacing:var(--hh-tracking-wide);font-weight:var(--hh-weight-bold);color:var(--hh-color-primary);margin:0}.hh-text--muted{color:var(--hh-color-foreground-muted)}.hh-text--primary{color:var(--hh-color-primary)}.hh-text--center{text-align:center}.hh-btn{justify-content:center;align-items:center;gap:var(--hh-space-2);font-family:var(--hh-font-body);font-weight:var(--hh-weight-bold);border-radius:var(--hh-radius-pill);cursor:pointer;transition:background-color var(--hh-transition), color var(--hh-transition), border-color var(--hh-transition), box-shadow var(--hh-transition), transform var(--hh-transition);border:2px solid #0000;text-decoration:none;display:inline-flex}.hh-btn:focus-visible{box-shadow:var(--hh-ring);outline:none}.hh-btn:disabled,.hh-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.hh-btn--sm{padding:var(--hh-space-2) var(--hh-space-4);font-size:var(--hh-text-small)}.hh-btn--md{padding:var(--hh-space-3) var(--hh-space-5);font-size:var(--hh-text-body)}.hh-btn--lg{padding:var(--hh-space-4) var(--hh-space-6);font-size:var(--hh-text-h4)}.hh-btn--primary{background-color:var(--hh-color-primary);color:var(--hh-color-on-primary);box-shadow:var(--hh-shadow-md)}.hh-btn--primary:hover:not(:disabled){background-color:var(--hh-color-primary-hover);transform:translateY(-1px)}.hh-btn--secondary{background-color:var(--hh-color-blush);color:var(--hh-color-raspberry-deep)}.hh-btn--secondary:hover:not(:disabled){background-color:var(--hh-color-blush-soft)}.hh-btn--outline{color:var(--hh-color-primary);border-color:var(--hh-color-primary);background-color:#0000}.hh-btn--outline:hover:not(:disabled){background-color:var(--hh-color-blush-soft)}.hh-btn--gold{color:var(--hh-color-ink);border-color:var(--hh-color-accent);background-color:#0000}.hh-btn--gold:hover:not(:disabled){background-color:var(--hh-color-parchment)}.hh-btn--ghost{color:var(--hh-color-primary);background-color:#0000}.hh-btn--ghost:hover:not(:disabled){background-color:var(--hh-color-blush-soft)}.hh-btn__spinner{border-radius:var(--hh-radius-pill);border:2px solid;border-top-color:#0000;width:14px;height:14px;animation:.7s linear infinite hh-spin}@keyframes hh-spin{to{transform:rotate(360deg)}}.hh-card{background-color:var(--hh-color-surface);border-radius:var(--hh-radius-lg);border:var(--hh-border-hairline);box-shadow:var(--hh-shadow-sm);padding:var(--hh-space-5)}.hh-card--elevated{box-shadow:var(--hh-shadow-lg);border-color:#0000}.hh-card--blush{background-color:var(--hh-color-surface-muted);border-color:var(--hh-color-border-strong)}.hh-card--gilded{border:1px solid var(--hh-color-gold-soft);background-color:var(--hh-color-parchment)}.hh-card__header{margin-bottom:var(--hh-space-4)}.hh-card__footer{margin-top:var(--hh-space-5);gap:var(--hh-space-3);align-items:center;display:flex}.hh-badge{align-items:center;gap:var(--hh-space-1);border-radius:var(--hh-radius-pill);font-size:var(--hh-text-caption);font-weight:var(--hh-weight-bold);letter-spacing:var(--hh-tracking-wide);text-transform:uppercase;padding:var(--hh-space-1) var(--hh-space-3);display:inline-flex}.hh-badge--primary{background-color:var(--hh-color-primary);color:var(--hh-color-on-primary)}.hh-badge--blush{background-color:var(--hh-color-blush);color:var(--hh-color-raspberry-deep)}.hh-badge--gold{background-color:var(--hh-color-gold-soft);color:var(--hh-color-ink)}.hh-badge--sage{color:#40593a;background-color:#e4ebe0}.hh-field{gap:var(--hh-space-2);flex-direction:column;display:flex}.hh-field__label{font-size:var(--hh-text-small);font-weight:var(--hh-weight-bold);color:var(--hh-color-foreground)}.hh-field__hint{font-size:var(--hh-text-caption);color:var(--hh-color-foreground-muted)}.hh-field__error{font-size:var(--hh-text-caption);color:var(--hh-color-danger);font-weight:var(--hh-weight-medium)}.hh-input{font-family:var(--hh-font-body);font-size:var(--hh-text-body);color:var(--hh-color-foreground);background-color:var(--hh-color-surface);border:1px solid var(--hh-color-border);border-radius:var(--hh-radius-md);padding:var(--hh-space-3) var(--hh-space-4);transition:border-color var(--hh-transition), box-shadow var(--hh-transition);width:100%}.hh-input::placeholder{color:var(--hh-color-foreground-muted)}.hh-input:hover:not(:disabled){border-color:var(--hh-color-border-strong)}.hh-input:focus-visible{border-color:var(--hh-color-pink);box-shadow:var(--hh-ring);outline:none}.hh-input:disabled{opacity:.55;cursor:not-allowed;background-color:var(--hh-color-parchment)}.hh-input--invalid{border-color:var(--hh-color-danger)}.hh-input--textarea{resize:vertical;min-height:120px}.hh-checkbox{align-items:flex-start;gap:var(--hh-space-3);cursor:pointer;display:inline-flex}.hh-checkbox input{width:20px;height:20px;accent-color:var(--hh-color-primary);margin-top:2px}.hh-checkbox input:focus-visible{box-shadow:var(--hh-ring);border-radius:var(--hh-radius-sm);outline:none}.hh-checkbox--disabled{opacity:.55;cursor:not-allowed}.hh-divider{align-items:center;gap:var(--hh-space-3);color:var(--hh-color-accent);display:flex}.hh-divider__rule{background-color:var(--hh-color-gold-soft);flex:1;height:1px}.hh-divider__mark{color:var(--hh-color-primary);font-size:var(--hh-text-small)}.hh-verse{background-color:var(--hh-color-surface-muted);border:1px solid var(--hh-color-border-strong);border-radius:var(--hh-radius-xl);padding:var(--hh-space-6);text-align:center}.hh-verse--gilded{background-color:var(--hh-color-parchment);border-color:var(--hh-color-gold-soft)}.hh-verse--plain{background-color:var(--hh-color-surface);border-color:var(--hh-color-border)}.hh-verse__text{font-family:var(--hh-font-display);font-size:var(--hh-text-h3);line-height:var(--hh-leading-tight);color:var(--hh-color-foreground);margin:0}.hh-verse__ref{margin-top:var(--hh-space-4);font-size:var(--hh-text-caption);text-transform:uppercase;letter-spacing:var(--hh-tracking-wide);font-weight:var(--hh-weight-bold);color:var(--hh-color-primary)}.hh-product{background-color:var(--hh-color-surface);border:var(--hh-border-hairline);border-radius:var(--hh-radius-lg);box-shadow:var(--hh-shadow-sm);transition:box-shadow var(--hh-transition), transform var(--hh-transition);text-align:left;flex-direction:column;display:flex;overflow:hidden}.hh-product:hover{box-shadow:var(--hh-shadow-lg);transform:translateY(-2px)}.hh-product__media{aspect-ratio:4/3;background:linear-gradient(140deg, var(--hh-color-blush-soft), var(--hh-color-blush));justify-content:center;align-items:center;display:flex;position:relative}.hh-product__media img{object-fit:cover;width:100%;height:100%}.hh-product__badge{top:var(--hh-space-3);left:var(--hh-space-3);position:absolute}.hh-product__body{padding:var(--hh-space-4);gap:var(--hh-space-2);flex-direction:column;display:flex}.hh-product__price{font-weight:var(--hh-weight-bold);color:var(--hh-color-primary)}.hh-product__foot{margin-top:var(--hh-space-3)}.hh-alert{gap:var(--hh-space-3);border-radius:var(--hh-radius-md);padding:var(--hh-space-4);border:1px solid #0000;display:flex}.hh-alert--info{background-color:var(--hh-color-surface-muted);border-color:var(--hh-color-border-strong);color:var(--hh-color-foreground)}.hh-alert--success{color:#2f5433;background-color:#eaf2e8;border-color:#cadfc6}.hh-alert--warning{background-color:var(--hh-color-parchment);border-color:var(--hh-color-gold-soft);color:var(--hh-color-ink)}.hh-alert--error{color:#7d1c17;background-color:#fbeaea;border-color:#f0c9c7}.hh-ribbon{background-color:var(--hh-color-primary);color:var(--hh-color-on-primary);font-family:var(--hh-font-body);font-weight:var(--hh-weight-bold);letter-spacing:var(--hh-tracking-wide);text-transform:uppercase;font-size:var(--hh-text-small);padding:var(--hh-space-2) var(--hh-space-5);border-radius:var(--hh-radius-sm);box-shadow:var(--hh-shadow-md);display:inline-block;transform:rotate(-2deg)}.hh-ribbon--gold{background-color:var(--hh-color-gold);color:var(--hh-color-ink)}.hh-ribbon--blush{background-color:var(--hh-color-blush);color:var(--hh-color-raspberry-deep)}.hh-heart-tag{text-align:center;background-color:var(--hh-color-primary);width:132px;height:116px;color:var(--hh-color-on-primary);font-weight:var(--hh-weight-bold);font-size:var(--hh-text-small);line-height:var(--hh-leading-tight);padding:var(--hh-space-4);clip-path:path("M66 112 C 20 80, 0 52, 0 32 C 0 12, 16 0, 33 0 C 46 0, 60 8, 66 20 C 72 8, 86 0, 99 0 C 116 0, 132 12, 132 32 C 132 52, 112 80, 66 112 Z");box-shadow:var(--hh-shadow-md);justify-content:center;align-items:center;display:inline-flex}.hh-heart-tag--blush{background-color:var(--hh-color-blush);color:var(--hh-color-raspberry-deep)}.hh-heart-tag--gold{background-color:var(--hh-color-gold);color:var(--hh-color-ink)}.hh-stack{flex-direction:column;display:flex}.hh-stack--2{gap:var(--hh-space-2)}.hh-stack--4{gap:var(--hh-space-4)}.hh-stack--6{gap:var(--hh-space-6)}.hh-row{align-items:center;gap:var(--hh-space-3);flex-wrap:wrap;display:flex}
