/* Shared finishing details. Each page keeps its own palette and section layout. */
.sw-page { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.sw-page .sw-serif { letter-spacing: -.025em; text-wrap: balance; }
.sw-page p { line-height: 1.75; }
.sw-page .sw-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .19em; line-height: 1.6; }
.sw-page .sw-announcement { padding: 10px 16px; background: var(--sw-deep, #751922); color: #fff; text-align: center; font-size: 11px; letter-spacing: .065em; }
.sw-page .sw-header { position: sticky; top: 0; z-index: 30; background: rgba(252, 248, 245, .96); border-bottom: 1px solid var(--sw-line); backdrop-filter: blur(12px); box-shadow: 0 4px 24px rgb(50 28 30 / 3%); }
.sw-page .sw-container { width: min(1220px, calc(100% - 40px)); margin: 0 auto; }
.sw-page .sw-nav { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 88px; gap: clamp(16px, 2vw, 28px); }
.sw-page .sw-nav-links { display: flex; align-items: center; gap: clamp(14px, 1.65vw, 24px); }
.sw-page .sw-nav-links:last-child { justify-content: flex-end; }
.sw-page .sw-logo img { display: block; width: 150px; height: auto; }
.sw-page .sw-nav a { font-size: 11px; font-weight: 600; letter-spacing: .09em; }
.sw-page .sw-nav a { color: var(--sw-ink); text-transform: uppercase; }
.sw-page .sw-nav a:hover { color: var(--sw-green); }
.sw-page .sw-nav-links > a:not(.sw-icon-link) { position: relative; padding-block: 12px; white-space: nowrap; }
.sw-page .sw-nav-links > a:not(.sw-icon-link)::after { content: ''; position: absolute; bottom: 6px; left: 0; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.sw-page .sw-nav-links > a:hover::after, .sw-page .sw-nav-links > a.sw-active::after { transform: scaleX(1); }
.sw-page .sw-icon-link { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--sw-line); border-radius: 4px; color: var(--sw-ink); }
.sw-page .sw-cart-count { position: absolute; top: -6px; right: -6px; min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; border-radius: 50%; background: var(--sw-green); color: #fff; font-size: 10px; line-height: 1; }
.sw-page .sw-cart-count[hidden] { display: none; }
.sw-page .sw-btn { min-height: 48px; border-radius: 4px; padding-inline: 26px; font-size: 11px; font-weight: 600; letter-spacing: .13em; box-shadow: 0 3px 8px rgb(50 28 30 / 4%); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.sw-page .sw-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgb(50 28 30 / 10%); }
.sw-page .sw-btn:active { transform: translateY(0); }
.sw-page .sw-section-head { margin-bottom: clamp(24px, 3vw, 40px); }
.sw-page .sw-section-head p { max-width: 48ch; }
.sw-page .sw-card, .sw-page .sw-review, .sw-page .sw-press-card, .sw-page .sw-panel, .sw-page .sw-form { border-radius: 8px; box-shadow: 0 6px 26px rgb(50 28 30 / 3%); }
.sw-page .sw-product-card, .sw-page .sw-blog-card { border-radius: 6px; overflow: hidden; transition: box-shadow .25s ease, transform .25s ease; }
.sw-page .sw-product-body { padding: 20px; }
.sw-page .sw-product-body h3 { font-weight: 500; line-height: 1.4; }
.sw-page .sw-price { font-weight: 600; letter-spacing: .02em; }
.sw-page .sw-stock, .sw-page .sw-sku { font-size: 11px; letter-spacing: .035em; }
.sw-page .sw-quick { border-radius: 4px; font-size: 11px; font-weight: 600; min-height: 44px; }
.sw-page .sw-routine-note, .sw-page .sw-floating-note { border-radius: 6px; box-shadow: 0 8px 32px rgb(50 28 30 / 7%); }
.sw-page .sw-slide-controls { border-radius: 6px; box-shadow: 0 4px 18px rgb(50 28 30 / 5%); }
.sw-page .sw-slide-controls button { border-radius: 3px; }
.sw-page .sw-field input, .sw-page .sw-field textarea, .sw-page .sw-qty input { border-radius: 4px; }
.sw-page .sw-field > span { font-weight: 600; letter-spacing: .09em; }
.sw-page .sw-field small { display: block; margin-top: 8px; line-height: 1.6; }
.sw-page .sw-footer { padding-top: 72px; }
.sw-page .sw-footer p { max-width: 34ch; font-size: 14px; }
.sw-page .sw-footer a { font-size: 13px; transition: opacity .18s ease; }
.sw-page .sw-footer a:hover { opacity: .75; }
.sw-page .sw-footer strong { font-weight: 600; }
.sw-page .sw-press .sw-section-head { padding-bottom: 28px; margin-bottom: 30px; border-bottom: 1px solid var(--sw-line); }
.sw-page #wellness-stories { scroll-margin-top: 110px; }
.sw-page .sw-press .sw-section-head h2 { line-height: 1.12; }
.sw-page .sw-press-grid { gap: 24px; counter-reset: wellness-story; }
.sw-page .sw-press-card { position: relative; min-height: 290px; padding: 30px; justify-content: flex-start; counter-increment: wellness-story; transition: transform .25s ease, box-shadow .25s ease; }
.sw-page .sw-press-card::before { content: '0' counter(wellness-story); position: absolute; top: 21px; right: 26px; color: var(--sw-green); opacity: .25; font: 400 42px/1 "Italiana", Georgia, serif; letter-spacing: -.04em; }
.sw-page .sw-press-card > span { padding-right: 48px; font-size: 10px; font-weight: 600; letter-spacing: .18em; line-height: 1.7; }
.sw-page .sw-press-card h3 { max-width: 23ch; margin: 30px 0; font-family: "Italiana", Georgia, serif; font-size: clamp(25px, 2.15vw, 31px); font-weight: 400; line-height: 1.22; letter-spacing: -.02em; text-wrap: balance; }
.sw-page .sw-press-card a { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--sw-line); font-size: 10px; font-weight: 600; letter-spacing: .13em; }
.sw-page .sw-press-card a::after { content: '↗'; display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--sw-line); border-radius: 50%; color: var(--sw-green); font: 18px/1 Arial, sans-serif; transition: transform .2s ease; }
.sw-page .sw-press-card a:hover::after { transform: translate(2px, -2px); }
.sw-page .sw-press-card a:hover { text-decoration: underline; text-underline-offset: 4px; }
.sw-page .sw-wellness-guides { padding-block: clamp(48px, 5vw, 76px); }
.sw-page .sw-wellness-guides .sw-section-head { padding-bottom: 28px; margin-bottom: 32px; border-bottom: 1px solid var(--sw-line); }
.sw-page .sw-wellness-guides .sw-section-head h2 { line-height: 1.12; }
.sw-page .sw-wellness-guides .sw-section-head > p { max-width: 42ch; font-size: 14px; }
.sw-page .sw-wellness-guides .sw-blog-grid { gap: 24px; }
.sw-page .sw-wellness-guides .sw-blog-card { position: relative; display: flex; flex-direction: column; border-radius: 8px; box-shadow: 0 6px 24px rgb(50 28 30 / 3%); }
.sw-page .sw-wellness-guides .sw-guide-number { position: absolute; z-index: 1; top: 16px; right: 16px; display: grid; place-items: center; width: 40px; height: 40px; background: var(--sw-paper); color: var(--sw-ink); border: 1px solid var(--sw-line); border-radius: 50%; font: 400 20px/1 "Italiana", Georgia, serif; }
.sw-page .sw-wellness-guides .sw-blog-card > div { flex: 1; padding: 28px; }
.sw-page .sw-wellness-guides .sw-tag { padding: 5px 9px; border-radius: 3px; font-size: 9px; font-weight: 600; letter-spacing: .18em; }
.sw-page .sw-wellness-guides .sw-blog-card h3 { min-height: 2.4em; margin: 16px 0 20px; font: 400 clamp(25px, 2.05vw, 30px)/1.2 "Italiana", Georgia, serif; letter-spacing: -.02em; text-wrap: balance; }
.sw-page .sw-wellness-guides .sw-blog-card p { padding-top: 18px; border-top: 1px solid var(--sw-line); font-size: 13px; line-height: 1.85; }
.sw-page :is(a, button, summary, input, textarea, select):focus-visible { outline: 2px solid var(--sw-green); outline-offset: 4px; }
.sw-mobile-menu { display: none; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .sw-page .sw-product-card:hover, .sw-page .sw-blog-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgb(50 28 30 / 7%); }
    .sw-page .sw-press-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgb(50 28 30 / 7%); }
}
@media (max-width: 1180px) {
    .sw-page .sw-nav { grid-template-columns: 1fr auto; min-height: 78px; }
    .sw-page .sw-nav-links:first-child { display: none; }
    .sw-page .sw-logo { justify-self: start; }
    .sw-page .sw-nav-links:last-child { gap: 10px; }
    .sw-page .sw-nav-links:last-child > a:not(.sw-icon-link) { display: none; }
    .sw-mobile-menu { display: block; }
    .sw-mobile-menu summary { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 4px; cursor: pointer; list-style: none; color: var(--sw-ink); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
    .sw-mobile-menu summary::-webkit-details-marker { display: none; }
    .sw-mobile-menu summary span { font-size: 16px; line-height: 1; }
    .sw-mobile-menu-panel { position: absolute; z-index: 40; top: calc(100% - 1px); right: 0; width: min(320px, calc(100vw - 28px)); max-height: calc(100dvh - 130px); overflow-y: auto; padding: 12px 20px; border: 1px solid var(--sw-line); border-radius: 0 0 8px 8px; background: var(--sw-paper); box-shadow: 0 16px 32px rgb(50 28 30 / 10%); }
    .sw-page .sw-mobile-menu-panel a { display: flex; align-items: center; min-height: 46px; padding: 10px 4px; border-bottom: 1px solid var(--sw-line); font-size: 12px; }
    .sw-page .sw-mobile-menu-panel a:last-child { border-bottom: 0; }
    .sw-page .sw-mobile-menu-panel a[aria-current="page"] { color: var(--sw-green); font-weight: 700; }
}
@media (max-width: 620px) {
    .sw-page .sw-container { width: min(100% - 28px, 1220px); }
    .sw-page .sw-nav { min-height: 72px; gap: 8px; }
    .sw-page .sw-logo img { width: 120px; }
    .sw-page .sw-nav-links:last-child { gap: 8px; }
    .sw-page .sw-announcement { padding-inline: 20px; font-size: 10px; letter-spacing: .025em; }
    .sw-page .sw-product-body { padding: 18px; }
    .sw-page .sw-footer { padding-top: 48px; }
    .sw-page .sw-footer-grid { gap: 28px; }
    .sw-page .sw-footer strong { margin-bottom: 12px; }
    .sw-page .sw-press .sw-section-head { padding-bottom: 24px; }
    .sw-page .sw-press .sw-section-head > .sw-btn { margin-top: 24px; }
    .sw-page .sw-press-card { min-height: 260px; padding: 26px; }
    .sw-page .sw-press-card h3 { font-size: 29px; }
    .sw-page .sw-wellness-guides .sw-section-head > p { margin-top: 20px; }
    .sw-page .sw-wellness-guides .sw-blog-card > div { padding: 24px; }
    .sw-page .sw-wellness-guides .sw-blog-card h3 { min-height: 0; font-size: 29px; }
}
@media (max-width: 360px) {
    .sw-page .sw-logo img { width: 100px; }
    .sw-page .sw-nav-links:last-child { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
    .sw-page *, .sw-page *::before, .sw-page *::after { transition: none !important; scroll-behavior: auto !important; }
}
