@import '_content/KromeWeb.Blocks/KromeWeb.Blocks.t4ymbrkv86.bundle.scp.css';

/* /Components/CheckoutCallback/ClaimAccountSection.razor.rz.scp.css */
.kw-claim-divider[b-ahz7e3fuzm] {
    border: 0;
    border-top: 1px solid var(--krome-border, #e5e2dc);
    margin: 2.5rem 0 2rem;
    width: 100%;
}

.kw-claim[b-ahz7e3fuzm] {
    max-width: 520px;
    margin: 0 auto;
    text-align: left;
}

.kw-claim-header[b-ahz7e3fuzm] {
    margin-bottom: 1.5rem;
    text-align: center;
}

.kw-claim-title[b-ahz7e3fuzm] {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--krome-text-primary, #161412);
    margin: 0 0 0.5rem 0;
}

.kw-claim-lede[b-ahz7e3fuzm] {
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--krome-text-muted, #6b6660);
    margin: 0;
    max-width: 42ch;
    margin-left: auto;
    margin-right: auto;
}

.kw-claim-form[b-ahz7e3fuzm] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.kw-claim-field[b-ahz7e3fuzm] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.kw-claim-label[b-ahz7e3fuzm] {
    font-size: 0.78rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--krome-text-muted, #6b6660);
}

.kw-claim-input[b-ahz7e3fuzm] {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    padding: 0.75rem 0.9rem;
    background: var(--krome-bg-primary, #fbf9f5);
    border: 1px solid var(--krome-border, #d8d3cb);
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.95rem;
    color: var(--krome-text-primary, #161412);
    transition: border-color 0.15s ease, background 0.15s ease;
}

.kw-claim-input:focus[b-ahz7e3fuzm] {
    outline: none;
    border-color: var(--krome-text-primary, #161412);
    background: #fff;
}

.kw-claim-input:disabled[b-ahz7e3fuzm] {
    opacity: 0.6;
    cursor: not-allowed;
}

.kw-claim-input-readonly[b-ahz7e3fuzm] {
    background: transparent;
    cursor: default;
    color: var(--krome-text-muted, #6b6660);
}

.kw-claim-hint[b-ahz7e3fuzm] {
    font-size: 0.78rem;
    color: var(--krome-text-muted, #6b6660);
    line-height: 1.4;
}

.kw-claim-error[b-ahz7e3fuzm] {
    font-size: 0.82rem;
    color: #9a2a2a;
    line-height: 1.4;
}

.kw-claim-inline-link[b-ahz7e3fuzm] {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.kw-claim-banner[b-ahz7e3fuzm] {
    background: #fdf2f2;
    border: 1px solid #f4c7c7;
    border-radius: 4px;
    padding: 0.75rem 1rem;
}

.kw-claim-banner p[b-ahz7e3fuzm] {
    margin: 0;
    font-size: 0.88rem;
    color: #7c1d1d;
    line-height: 1.45;
}

.kw-claim-submit[b-ahz7e3fuzm] {
    margin-top: 0.5rem;
    padding: 0.85rem 1.5rem;
    background: var(--krome-text-primary, #161412);
    color: var(--krome-bg-primary, #fbf9f5);
    border: 1px solid var(--krome-text-primary, #161412);
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.05s ease;
}

.kw-claim-submit:hover:not(:disabled)[b-ahz7e3fuzm] {
    background: #2a2622;
}

.kw-claim-submit:active:not(:disabled)[b-ahz7e3fuzm] {
    transform: translateY(1px);
}

.kw-claim-submit:disabled[b-ahz7e3fuzm] {
    opacity: 0.55;
    cursor: not-allowed;
}

.kw-claim-success[b-ahz7e3fuzm] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.9rem 1.1rem;
    background: #f0f7f0;
    border: 1px solid #c7e0c7;
    border-radius: 4px;
    color: #2c5a2c;
    font-size: 0.92rem;
    font-weight: 500;
    justify-content: center;
}

.kw-claim-success-icon[b-ahz7e3fuzm] {
    display: inline-flex;
    align-items: center;
    color: #2c5a2c;
}

@media (max-width: 480px) {
    .kw-claim-divider[b-ahz7e3fuzm] {
        margin: 2rem 0 1.5rem;
    }
    .kw-claim-title[b-ahz7e3fuzm] {
        font-size: 1.15rem;
    }
}
/* /Components/Layout/MotionCanvasLayout.razor.rz.scp.css */
.km-stage-host[b-sox9hlob4h] {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    background: #000;
    overflow: hidden;
    margin: 0;
}
/* /Components/Layout/ThemePreviewBanner.razor.rz.scp.css */
/* Storefront theme-preview banner.
   FIXED neutral palette on purpose — see ThemePreviewBanner.razor. This is admin
   chrome that must read consistently over every storefront theme, so it must NOT
   inherit --kw-* theme tokens. White-on-#1f2430 clears WCAG AA (>= 4.5:1). */
.kw-preview-bar[b-kpjk9a1tkc] {
    position: sticky;
    top: 0;
    z-index: 2000; /* above any theme header (themes use z-index up to ~1000) */
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 1.25rem;
    background: #1f2430;
    color: #ffffff;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 0.875rem;
    line-height: 1.3;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.28);
}

.kw-preview-bar__icon[b-kpjk9a1tkc] {
    flex: 0 0 auto;
    color: #ffd24d; /* warm accent so the "preview" state reads instantly */
}

.kw-preview-bar__text[b-kpjk9a1tkc] {
    flex: 1 1 auto;
    min-width: 0;
}

.kw-preview-bar__text strong[b-kpjk9a1tkc] {
    font-weight: 700;
}

.kw-preview-bar__exit[b-kpjk9a1tkc] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0.35rem 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 150ms ease, border-color 150ms ease;
}

.kw-preview-bar__exit:hover[b-kpjk9a1tkc] {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.85);
}

.kw-preview-bar__exit:focus-visible[b-kpjk9a1tkc] {
    outline: 2px solid #ffd24d;
    outline-offset: 2px;
}

@media (max-width: 30rem) {
    .kw-preview-bar[b-kpjk9a1tkc] {
        gap: 0.5rem;
        padding: 0.5rem 0.85rem;
        font-size: 0.8125rem;
    }
}
/* /Components/Pages/CartPage.razor.rz.scp.css */
.kw-cart-page[b-9k581mco5v] {
    padding: 7rem 0 5rem;
}

.kw-cart-header[b-9k581mco5v] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--kw-border);
    margin-bottom: 3rem;
}

.kw-cart-header h1[b-9k581mco5v] {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.kw-cart-continue[b-9k581mco5v] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
}

.kw-cart-loading[b-9k581mco5v], .kw-cart-empty[b-9k581mco5v] {
    text-align: center;
    padding: 4rem 0;
    color: var(--kw-text-muted);
}

.kw-cart-empty p[b-9k581mco5v] {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
}

.kw-cart-grid[b-9k581mco5v] {
    display: grid;
    grid-template-columns: 1.75fr 1fr;
    gap: 3rem;
    align-items: flex-start;
}

.kw-cart-lines[b-9k581mco5v] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.kw-cart-locations[b-9k581mco5v],
.kw-cart-dates[b-9k581mco5v] {
    padding: 1.5rem;
    background: var(--kw-surface-muted-2);
    border-left: 3px solid var(--kw-accent);
}

.kw-cart-locations h3[b-9k581mco5v],
.kw-cart-dates h3[b-9k581mco5v] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--kw-text-muted);
    margin-bottom: 1rem;
}

.kw-cart-locationfields[b-9k581mco5v] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.kw-cart-locationfields label[b-9k581mco5v] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.kw-cart-locationfields span[b-9k581mco5v] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.kw-cart-locationfields select[b-9k581mco5v] {
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--kw-border);
    font-family: var(--kw-font);
    font-size: 0.9375rem;
    background: var(--kw-light);
}

.kw-cart-locations-same[b-9k581mco5v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.875rem;
    font-size: 0.875rem;
    color: var(--kw-text);
    cursor: pointer;
}

.kw-cart-datefields[b-9k581mco5v] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.kw-cart-datefields label[b-9k581mco5v] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.kw-cart-datefields span[b-9k581mco5v] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.kw-cart-datefields input[b-9k581mco5v] {
    padding: 0.625rem 0.75rem;
    border: 1px solid var(--kw-border);
    font-family: var(--kw-font);
    font-size: 0.9375rem;
    background: var(--kw-light);
}

.kw-cart-daysnote[b-9k581mco5v] {
    margin-top: 1rem;
    font-size: 0.875rem;
    color: var(--kw-text);
    font-weight: 600;
}

.kw-cart-daysnote-muted[b-9k581mco5v] {
    color: var(--kw-text-muted);
    font-weight: 400;
}

.kw-cart-daterror[b-9k581mco5v] {
    margin-top: 1rem;
    font-size: 0.875rem;
    color: var(--kw-danger, #c0392b);
    font-weight: 600;
}

.kw-cart-line[b-9k581mco5v] {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 1.5rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--kw-border);
}

.kw-cart-line-image[b-9k581mco5v] {
    width: 120px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #eef1f2;
}

.kw-cart-line-image img[b-9k581mco5v] {
    width: 100%; height: 100%;
    object-fit: cover;
}

.kw-cart-line-placeholder[b-9k581mco5v] {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, var(--kw-surface-muted) 0%, var(--kw-surface-muted-2) 100%);
}

.kw-cart-line-category[b-9k581mco5v] {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.375rem;
}

.kw-cart-line-name[b-9k581mco5v] {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    color: var(--kw-text);
    text-decoration: none;
    margin-bottom: 0.375rem;
}

.kw-cart-line-name:hover[b-9k581mco5v] { color: var(--kw-accent); }

.kw-cart-line-price[b-9k581mco5v] {
    font-size: 0.875rem;
    color: var(--kw-text-muted);
    margin: 0;
}

.kw-cart-line-actions[b-9k581mco5v] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem;
    min-width: 140px;
}

.kw-cart-qty[b-9k581mco5v] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.kw-cart-qty button[b-9k581mco5v] {
    width: 32px; height: 32px;
    border: 1px solid var(--kw-border);
    background: var(--kw-light);
    cursor: pointer;
    font-family: var(--kw-font);
    font-size: 1rem;
    transition: background 0.15s;
}

.kw-cart-qty button:hover:not(:disabled)[b-9k581mco5v] { background: var(--kw-surface-muted-2); }
.kw-cart-qty button:disabled[b-9k581mco5v] { opacity: 0.4; cursor: not-allowed; }

.kw-cart-qty span[b-9k581mco5v] {
    min-width: 32px; text-align: center;
    font-weight: 600;
}

.kw-cart-line-total[b-9k581mco5v] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--kw-text);
    margin: 0;
}

.kw-cart-line-remove[b-9k581mco5v] {
    background: none; border: none; cursor: pointer;
    font-family: var(--kw-font);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.15s;
}

.kw-cart-line-remove:hover:not(:disabled)[b-9k581mco5v] { color: var(--kw-accent); }
.kw-cart-line-remove:disabled[b-9k581mco5v] { opacity: 0.5; cursor: not-allowed; }

.kw-cart-summary[b-9k581mco5v] {
    position: sticky;
    top: 100px;
    padding: 2rem;
    background: var(--kw-surface-muted-2);
}

.kw-cart-summary h3[b-9k581mco5v] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--kw-text-muted);
    margin-bottom: 1.5rem;
}

.kw-cart-summary dl[b-9k581mco5v] {
    margin: 0 0 1.5rem;
}

.kw-cart-summary dl div[b-9k581mco5v] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--kw-border);
}

.kw-cart-summary dl div:last-child[b-9k581mco5v] {
    border-bottom: none;
    padding-top: 1rem;
}

.kw-cart-summary dt[b-9k581mco5v] {
    font-size: 0.875rem;
    color: var(--kw-text-muted);
}

.kw-cart-summary dd[b-9k581mco5v] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--kw-text);
    margin: 0;
}

.kw-cart-summary-total dt[b-9k581mco5v] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--kw-text);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.kw-cart-summary-total dd[b-9k581mco5v] {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--kw-text);
}

.kw-cart-summary-note[b-9k581mco5v] {
    font-size: 0.8125rem;
    color: var(--kw-text-muted);
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.kw-cart-summary-warning[b-9k581mco5v] {
    font-size: 0.8125rem;
    color: var(--kw-accent);
    margin-top: 1rem;
    text-align: center;
}

.kw-cart-checkout[b-9k581mco5v] {
    width: 100%;
    justify-content: center;
}

.kw-cart-checkout:disabled[b-9k581mco5v] {
    opacity: 0.5;
    cursor: not-allowed;
}

@media (max-width: 900px) {
    .kw-cart-grid[b-9k581mco5v] { grid-template-columns: 1fr; }
    .kw-cart-summary[b-9k581mco5v] { position: static; }
}

@media (max-width: 640px) {
    .kw-cart-page[b-9k581mco5v] { padding: 5rem 0 3rem; }
    .kw-cart-line[b-9k581mco5v] { grid-template-columns: 80px 1fr; }
    .kw-cart-line-image[b-9k581mco5v] { width: 80px; }
    .kw-cart-line-actions[b-9k581mco5v] { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; min-width: 0; }
}
/* /Components/Pages/CheckoutCallbackPage.razor.rz.scp.css */
.kw-callback[b-0p7cm7loao] {
    padding: 8rem 0 6rem;
    min-height: 80vh;
    display: flex;
    align-items: center;
}

.kw-callback-state[b-0p7cm7loao] {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    padding: 2rem;
}

.kw-callback-state h1[b-0p7cm7loao] {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
}

.kw-callback-state p[b-0p7cm7loao] {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--kw-text-muted);
    margin-bottom: 1.25rem;
}

.kw-callback-state a.fk-btn[b-0p7cm7loao] {
    margin-top: 1rem;
}

.kw-callback-spinner[b-0p7cm7loao] {
    width: 40px; height: 40px;
    margin: 0 auto 2rem;
    border: 3px solid rgba(47, 64, 68, 0.15);
    border-top-color: var(--kw-accent);
    border-radius: 50%;
    animation: kw-spin-b-0p7cm7loao 0.8s linear infinite;
}

@keyframes kw-spin-b-0p7cm7loao {
    to { transform: rotate(360deg); }
}

.kw-callback-success .kw-callback-check[b-0p7cm7loao] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px; height: 80px;
    margin: 0 auto 2rem;
    border-radius: 50%;
    background: rgba(37, 211, 102, 0.12);
    color: #1eb353;
}

.kw-callback-subtitle strong[b-0p7cm7loao] {
    color: var(--kw-text);
    font-weight: 700;
}

.kw-callback-order[b-0p7cm7loao] {
    padding: 2rem;
    background: var(--kw-surface-muted-2);
    border-left: 3px solid var(--kw-accent);
    text-align: left;
    margin: 2rem auto;
    max-width: 480px;
}

.kw-callback-order p[b-0p7cm7loao] {
    font-size: 0.9375rem;
    margin-bottom: 0.75rem;
    color: var(--kw-text);
}

.kw-callback-order p:last-child[b-0p7cm7loao] {
    margin-bottom: 0;
    color: var(--kw-text-muted);
    font-size: 0.875rem;
}

.kw-callback-order strong[b-0p7cm7loao] {
    font-weight: 700;
}

.kw-callback-actions[b-0p7cm7loao] {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
}

.kw-callback-actions .fk-btn-whatsapp[b-0p7cm7loao] {
    background: #25D366 !important;
    color: var(--kw-light) !important;
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
}
.kw-callback-actions .fk-btn-whatsapp:hover[b-0p7cm7loao] { background: #1eb353 !important; color: var(--kw-light) !important; }

.kw-callback-error h1[b-0p7cm7loao] {
    color: var(--kw-text);
}

.kw-callback-error a[b-0p7cm7loao] {
    color: var(--kw-accent);
    text-decoration: underline;
}

@media (max-width: 640px) {
    .kw-callback[b-0p7cm7loao] { padding: 5rem 0 3rem; }
    .kw-callback-actions[b-0p7cm7loao] { flex-direction: column; }
    .kw-callback-actions .fk-btn[b-0p7cm7loao] { width: 100%; }
}
/* /Components/Pages/CheckoutPage.razor.rz.scp.css */
.kw-checkout[b-lsmz76fdaf] {
    padding: 7rem 0 5rem;
}

.kw-checkout-header[b-lsmz76fdaf] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--kw-border);
    margin-bottom: 3rem;
}

.kw-checkout-header h1[b-lsmz76fdaf] {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.kw-checkout-back[b-lsmz76fdaf] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
}

.kw-checkout-grid[b-lsmz76fdaf] {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 3rem;
    align-items: flex-start;
}

.kw-checkout-form[b-lsmz76fdaf] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.kw-checkout-form h2[b-lsmz76fdaf] {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-bottom: 0.5rem;
}

.kw-field[b-lsmz76fdaf] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.kw-field span[b-lsmz76fdaf] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.kw-field em[b-lsmz76fdaf] {
    color: var(--kw-accent);
    font-style: normal;
}

.kw-field input[b-lsmz76fdaf],
.kw-field textarea[b-lsmz76fdaf] {
    padding: 0.875rem 1rem;
    border: 1px solid var(--kw-border);
    font-family: var(--kw-font);
    font-size: 0.9375rem;
    background: var(--kw-light);
    color: var(--kw-text);
    resize: vertical;
    transition: border-color 0.2s;
}

.kw-field input:focus[b-lsmz76fdaf],
.kw-field textarea:focus[b-lsmz76fdaf] {
    outline: none;
    border-color: var(--kw-accent);
}

.kw-field input:disabled[b-lsmz76fdaf],
.kw-field textarea:disabled[b-lsmz76fdaf] { opacity: 0.6; }

.kw-field-inline[b-lsmz76fdaf] {
    flex-direction: row;
    align-items: flex-start;
    gap: 0.75rem;
}

.kw-field-inline input[b-lsmz76fdaf] { margin-top: 0.1875rem; }

.kw-field-inline span[b-lsmz76fdaf] {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    color: var(--kw-text);
    font-size: 0.875rem;
    line-height: 1.5;
}

.kw-field-inline span a[b-lsmz76fdaf] {
    color: var(--kw-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.kw-field-inline span a:hover[b-lsmz76fdaf] { color: var(--kw-accent-deep); }

.kw-checkout-policies[b-lsmz76fdaf] {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: var(--kw-text-muted);
}

.kw-checkout-policies a[b-lsmz76fdaf] {
    color: var(--kw-text-muted);
    text-decoration: none;
    transition: color var(--kw-transition);
}
.kw-checkout-policies a:hover[b-lsmz76fdaf] { color: var(--kw-accent); text-decoration: underline; }

.kw-checkout-submit[b-lsmz76fdaf] {
    width: 100%;
    justify-content: center;
    padding: 1.25rem 2rem !important;
    font-size: 1rem !important;
    margin-top: 1rem;
}

.kw-checkout-submit:disabled[b-lsmz76fdaf] {
    opacity: 0.5;
    cursor: not-allowed;
}

.kw-checkout-tos[b-lsmz76fdaf] {
    font-size: 0.8125rem;
    color: var(--kw-text-muted);
    margin: 0;
    text-align: center;
}

.kw-checkout-error[b-lsmz76fdaf] {
    padding: 1rem 1.25rem;
    background: rgba(220, 38, 38, 0.08);
    border-left: 3px solid #dc2626;
    color: #991b1b;
    font-size: 0.9375rem;
    margin: 0;
}

.kw-checkout-summary[b-lsmz76fdaf] {
    position: sticky;
    top: 100px;
    padding: 2rem;
    background: var(--kw-surface-muted-2);
}

.kw-checkout-summary h3[b-lsmz76fdaf] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--kw-text-muted);
    margin-bottom: 1.5rem;
}

.kw-checkout-dates[b-lsmz76fdaf] {
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--kw-border);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.kw-checkout-dates strong[b-lsmz76fdaf] {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.25rem;
}

.kw-checkout-dates p[b-lsmz76fdaf] {
    font-size: 0.875rem;
    color: var(--kw-text);
    margin: 0;
    font-weight: 600;
}

.kw-checkout-rentaldays[b-lsmz76fdaf] {
    grid-column: 1 / -1;
    margin-top: 0.5rem !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    color: var(--kw-accent) !important;
}

.kw-checkout-lines[b-lsmz76fdaf] {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--kw-border);
}

.kw-checkout-lines li[b-lsmz76fdaf] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.kw-checkout-line-info[b-lsmz76fdaf] {
    display: flex;
    flex-direction: column;
}

.kw-checkout-line-name[b-lsmz76fdaf] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--kw-text);
    line-height: 1.3;
}

.kw-checkout-line-detail[b-lsmz76fdaf] {
    font-size: 0.75rem;
    color: var(--kw-text-muted);
    margin-top: 0.25rem;
}

.kw-checkout-line-total[b-lsmz76fdaf] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--kw-text);
    flex-shrink: 0;
}

.kw-checkout-total[b-lsmz76fdaf] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 1rem;
}

.kw-checkout-total span[b-lsmz76fdaf] {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--kw-text);
}

.kw-checkout-total strong[b-lsmz76fdaf] {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--kw-text);
    letter-spacing: -0.01em;
}

.kw-checkout-loading[b-lsmz76fdaf], .kw-checkout-empty[b-lsmz76fdaf] {
    padding: 4rem 0;
    text-align: center;
    color: var(--kw-text-muted);
}

.kw-checkout-empty p[b-lsmz76fdaf] {
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
}

@media (max-width: 900px) {
    .kw-checkout-grid[b-lsmz76fdaf] { grid-template-columns: 1fr; gap: 2.5rem; }
    .kw-checkout-summary[b-lsmz76fdaf] { position: static; }
}

@media (max-width: 640px) {
    .kw-checkout[b-lsmz76fdaf] { padding: 5rem 0 3rem; }
}
/* /Components/Pages/ProductDetailPage.razor.rz.scp.css */
/* Page-level scoped styles: only the loading and not-found shells live on the (static SSR)
   ProductDetailPage. The interactive product body + its styles live in ProductDetailView. */

.kw-pdp-loading[b-mjl9ciu9yc], .kw-pdp-notfound[b-mjl9ciu9yc] {
    padding: 8rem 2rem;
    text-align: center;
}

.kw-pdp-notfound h1[b-mjl9ciu9yc] {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.kw-pdp-notfound p[b-mjl9ciu9yc] {
    color: var(--kw-text-muted);
    margin-bottom: 2rem;
}
/* /Components/Pages/PublicFormPage.razor.rz.scp.css */
.kw-form-page[b-3nmdtwjgah] {
    padding: 3rem 0 4rem;
}

.kw-form-loading[b-3nmdtwjgah],
.kw-form-empty[b-3nmdtwjgah],
.kw-form-success[b-3nmdtwjgah] {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--kw-text-muted, #5b6168);
    max-width: 540px;
    margin: 0 auto;
}

.kw-form-empty h1[b-3nmdtwjgah],
.kw-form-success h1[b-3nmdtwjgah] {
    color: var(--kw-text, #1d2228);
    margin: 0 0 0.75rem;
}

.kw-form-empty p[b-3nmdtwjgah],
.kw-form-success p[b-3nmdtwjgah] {
    margin: 0 0 1.5rem;
    line-height: 1.6;
}

.kw-form-header[b-3nmdtwjgah] {
    max-width: 640px;
    margin: 0 auto 2rem;
    text-align: center;
}

.kw-form-header h1[b-3nmdtwjgah] {
    margin: 0 0 0.75rem;
    color: var(--kw-text, #1d2228);
}

.kw-form-description[b-3nmdtwjgah] {
    color: var(--kw-text-muted, #5b6168);
    line-height: 1.6;
    margin: 0;
}

.kw-form[b-3nmdtwjgah] {
    max-width: 640px;
    margin: 0 auto;
    background: var(--kw-light, #fff);
    border: 1px solid var(--kw-border, #e3e6e9);
    border-radius: 12px;
    padding: 2rem 2rem 2.25rem;
    display: grid;
    gap: 1.25rem;
}

.kw-field[b-3nmdtwjgah] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.kw-field > span[b-3nmdtwjgah] {
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--kw-text, #1d2228);
}

.kw-field > span em[b-3nmdtwjgah] {
    color: var(--kw-danger, #c0392b);
    font-style: normal;
    margin-left: 0.15rem;
}

.kw-field input[type="text"][b-3nmdtwjgah],
.kw-field input[type="email"][b-3nmdtwjgah],
.kw-field input[type="number"][b-3nmdtwjgah],
.kw-field input[type="tel"][b-3nmdtwjgah],
.kw-field input[type="url"][b-3nmdtwjgah],
.kw-field input[type="date"][b-3nmdtwjgah],
.kw-field input[type="datetime-local"][b-3nmdtwjgah],
.kw-field textarea[b-3nmdtwjgah],
.kw-field select[b-3nmdtwjgah] {
    width: 100%;
    border: 1px solid var(--kw-border, #e3e6e9);
    border-radius: 6px;
    padding: 0.625rem 0.75rem;
    font-size: 0.9375rem;
    font-family: inherit;
    color: var(--kw-text, #1d2228);
    background: var(--kw-light, #fff);
    transition: border-color 0.15s ease;
}

.kw-field input:focus[b-3nmdtwjgah],
.kw-field textarea:focus[b-3nmdtwjgah],
.kw-field select:focus[b-3nmdtwjgah] {
    outline: none;
    border-color: var(--kw-accent, #2F4044);
}

.kw-field input[type="checkbox"][b-3nmdtwjgah] {
    width: 1.1rem;
    height: 1.1rem;
    margin-right: 0.5rem;
    vertical-align: middle;
}

.kw-field input[type="color"][b-3nmdtwjgah] {
    width: 60px;
    height: 36px;
    padding: 2px;
    border-radius: 6px;
    cursor: pointer;
}

.kw-field-help[b-3nmdtwjgah] {
    color: var(--kw-text-muted, #5b6168);
    font-size: 0.8125rem;
    line-height: 1.4;
}

.kw-form-error[b-3nmdtwjgah] {
    color: var(--kw-danger, #c0392b);
    font-size: 0.875rem;
    margin: 0;
    padding: 0.6rem 0.85rem;
    background: rgba(192, 57, 43, 0.08);
    border-radius: 6px;
}

.kw-form-submit[b-3nmdtwjgah] {
    margin-top: 0.5rem;
    align-self: flex-start;
    min-width: 180px;
    cursor: pointer;
}

.kw-form-submit[disabled][b-3nmdtwjgah] {
    opacity: 0.6;
    cursor: not-allowed;
}

@media (max-width: 540px) {
    .kw-form[b-3nmdtwjgah] {
        padding: 1.5rem 1.25rem 1.75rem;
        border-radius: 8px;
    }
}
/* /Components/ProductDetailView.razor.rz.scp.css */
.kw-pdp[b-gdsu44dcmq] {
    padding: 7rem 0 5rem;
}

.kw-pdp-top[b-gdsu44dcmq] {
    margin-bottom: 2rem;
}

.kw-pdp-backlink[b-gdsu44dcmq] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
}

.kw-pdp-grid[b-gdsu44dcmq] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: flex-start;
}

.kw-pdp-gallery[b-gdsu44dcmq] {
    position: sticky;
    top: 100px;
}

.kw-pdp-main[b-gdsu44dcmq] {
    aspect-ratio: 4 / 3;
    background: #eef1f2;
    overflow: hidden;
    margin-bottom: 1rem;
}

.kw-pdp-main img[b-gdsu44dcmq] {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}

.kw-pdp-main-placeholder[b-gdsu44dcmq] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--kw-dark);
    background: linear-gradient(135deg, var(--kw-surface-muted) 0%, var(--kw-surface-muted-2) 100%);
}

.kw-pdp-thumbs[b-gdsu44dcmq] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.5rem;
}

.kw-pdp-thumb[b-gdsu44dcmq] {
    aspect-ratio: 1 / 1;
    border: 2px solid transparent;
    background: #eef1f2;
    overflow: hidden;
    cursor: pointer;
    padding: 0;
    transition: border-color 0.2s;
}

.kw-pdp-thumb.is-active[b-gdsu44dcmq] { border-color: var(--kw-accent); }
.kw-pdp-thumb:hover[b-gdsu44dcmq] { border-color: var(--kw-dark); }
.kw-pdp-thumb img[b-gdsu44dcmq] { width: 100%; height: 100%; object-fit: cover; display: block; }

.kw-pdp-category[b-gdsu44dcmq] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 1rem;
}

.kw-pdp-info h1[b-gdsu44dcmq] {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin-bottom: 0.5rem;
}

.kw-pdp-brand[b-gdsu44dcmq] {
    font-size: 0.9375rem;
    color: var(--kw-text-muted);
    margin-bottom: 2rem;
}

.kw-pdp-brand strong[b-gdsu44dcmq] { color: var(--kw-text); font-weight: 600; }

.kw-pdp-price[b-gdsu44dcmq] {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--kw-border);
}

.kw-pdp-price-amount[b-gdsu44dcmq] {
    font-size: 2rem;
    font-weight: 800;
    color: var(--kw-text);
    letter-spacing: -0.01em;
}

.kw-pdp-price-period[b-gdsu44dcmq] {
    font-size: 1rem;
    color: var(--kw-text-muted);
}

.kw-pdp-price-cta[b-gdsu44dcmq] {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--kw-accent);
}

.kw-pdp-excerpt[b-gdsu44dcmq] {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--kw-text);
    margin-bottom: 2rem;
}

.kw-pdp-actions[b-gdsu44dcmq] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.kw-pdp-addtocart[b-gdsu44dcmq] {
    min-width: 200px;
    flex: 1;
}

.kw-pdp-addtocart:disabled[b-gdsu44dcmq] {
    opacity: 0.5;
    cursor: not-allowed;
}

.kw-pdp-whatsapp[b-gdsu44dcmq] {
    background: #25D366 !important;
    color: var(--kw-light) !important;
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
}
.kw-pdp-whatsapp:hover[b-gdsu44dcmq] { background: #1eb353 !important; color: var(--kw-light) !important; }

.kw-pdp-toast[b-gdsu44dcmq] {
    padding: 1rem 1.25rem;
    background: rgba(47,64,68,0.08);
    border-left: 3px solid var(--kw-accent);
    color: var(--kw-text);
    font-size: 0.875rem;
    margin-bottom: 2rem;
}

.kw-pdp-specs[b-gdsu44dcmq] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 2rem;
    margin: 2rem 0;
    padding: 1.5rem 0;
    border-top: 1px solid var(--kw-border);
    border-bottom: 1px solid var(--kw-border);
}

.kw-pdp-spec dt[b-gdsu44dcmq] {
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.25rem;
}

.kw-pdp-spec dd[b-gdsu44dcmq] {
    font-size: 0.9375rem;
    color: var(--kw-text);
    margin: 0;
}

.kw-pdp-description[b-gdsu44dcmq] {
    margin-top: 2rem;
}

.kw-pdp-description h2[b-gdsu44dcmq] {
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 1rem;
}

.kw-pdp-description p[b-gdsu44dcmq] {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--kw-text);
    margin-bottom: 1rem;
}

.kw-pdp-meta[b-gdsu44dcmq] {
    margin-top: 2rem;
    padding: 1.5rem;
    background: var(--kw-surface-muted-2);
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--kw-text-muted);
}

.kw-pdp-meta p[b-gdsu44dcmq] { margin: 0 0 0.5rem; }
.kw-pdp-meta strong[b-gdsu44dcmq] { color: var(--kw-text); font-weight: 600; }

@media (max-width: 900px) {
    .kw-pdp[b-gdsu44dcmq] { padding: 5rem 0 3rem; }
    .kw-pdp-grid[b-gdsu44dcmq] { grid-template-columns: 1fr; gap: 3rem; }
    .kw-pdp-gallery[b-gdsu44dcmq] { position: static; }
    .kw-pdp-thumbs[b-gdsu44dcmq] { grid-template-columns: repeat(6, 1fr); }
    .kw-pdp-specs[b-gdsu44dcmq] { grid-template-columns: 1fr; gap: 1rem; }
}

@media (max-width: 640px) {
    .kw-pdp-actions[b-gdsu44dcmq] { flex-direction: column; }
    .kw-pdp-addtocart[b-gdsu44dcmq], .kw-pdp-whatsapp[b-gdsu44dcmq] { width: 100%; }
}
/* /Themes/Aperture/ApertureFooter.razor.rz.scp.css */
.ap-footer[b-e13ix64qeb] {
    background: var(--kw-dark);
    color: rgba(255, 255, 255, 0.72);
    padding: 4.5rem 0 2rem;
}

.ap-footer-top[b-e13ix64qeb] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.4fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.ap-footer-brand h3[b-e13ix64qeb] {
    color: #fff; font-size: 1.25rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: -0.01em; margin-bottom: 1rem;
}
.ap-footer-brand p[b-e13ix64qeb] { font-size: 0.9375rem; line-height: 1.7; margin-bottom: 1.5rem; max-width: 34ch; }

.ap-footer-whatsapp[b-e13ix64qeb] {
    display: inline-flex; align-items: center; gap: 0.5rem;
    color: #fff; font-size: 0.875rem; font-weight: 700;
}
.ap-footer-whatsapp:hover[b-e13ix64qeb] { color: var(--kw-accent-soft); }

.ap-footer-col h4[b-e13ix64qeb] {
    color: #fff; font-size: 0.8125rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 1.25rem;
}
.ap-footer-col a[b-e13ix64qeb] {
    display: block; font-size: 0.9375rem; color: rgba(255, 255, 255, 0.72);
    padding: 0.3rem 0;
}
.ap-footer-col a:hover[b-e13ix64qeb] { color: var(--kw-accent); }

.ap-location[b-e13ix64qeb] { margin-bottom: 0.85rem; }
.ap-location strong[b-e13ix64qeb] { display: block; color: #fff; font-size: 0.875rem; }
.ap-location span[b-e13ix64qeb] { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.6); }

.ap-footer-bottom[b-e13ix64qeb] {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 1rem; padding-top: 2rem;
}
.ap-footer-bottom p[b-e13ix64qeb] { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.55); }
.ap-footer-social[b-e13ix64qeb] { display: flex; gap: 1.5rem; }
.ap-footer-social a[b-e13ix64qeb] { font-size: 0.8125rem; font-weight: 600; color: rgba(255, 255, 255, 0.72); }
.ap-footer-social a:hover[b-e13ix64qeb] { color: var(--kw-accent); }

@media (max-width: 860px) {
    .ap-footer-top[b-e13ix64qeb] { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .ap-footer-brand[b-e13ix64qeb] { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
    .ap-footer-top[b-e13ix64qeb] { grid-template-columns: 1fr; }
    .ap-footer-bottom[b-e13ix64qeb] { flex-direction: column; align-items: flex-start; }
}
/* /Themes/Aperture/ApertureHeader.razor.rz.scp.css */
.ap-header[b-kz36su1gkn] {
    position: sticky; top: 0; z-index: 100;
    background: var(--kw-light);
    border-bottom: 1px solid var(--kw-border);
    transition: box-shadow var(--kw-transition);
}
.ap-header.header-scrolled[b-kz36su1gkn] { box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06); }

.ap-header-inner[b-kz36su1gkn] {
    display: flex; align-items: center; justify-content: space-between;
    gap: 2rem; height: 76px;
}

.ap-logo[b-kz36su1gkn] { display: inline-flex; align-items: center; }
.ap-logo img[b-kz36su1gkn] { max-height: 40px; width: auto; }
.ap-logo-text[b-kz36su1gkn] {
    font-family: var(--kw-font-heading);
    font-size: 1.375rem; font-weight: 700;
    letter-spacing: -0.02em; color: var(--kw-dark);
    text-transform: uppercase;
}

.ap-nav[b-kz36su1gkn] { display: flex; gap: 2rem; }
.ap-nav a[b-kz36su1gkn] {
    font-size: 0.875rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.06em;
    color: var(--kw-text); position: relative; padding: 0.25rem 0;
}
.ap-nav a[b-kz36su1gkn]::after {
    content: ""; position: absolute; left: 0; bottom: -2px;
    width: 0; height: 2px; background: var(--kw-accent);
    transition: width var(--kw-transition);
}
.ap-nav a:hover[b-kz36su1gkn] { color: var(--kw-accent); }
.ap-nav a:hover[b-kz36su1gkn]::after { width: 100%; }

.ap-header-actions[b-kz36su1gkn] { display: flex; align-items: center; gap: 1rem; }
.ap-cart-btn[b-kz36su1gkn] { position: relative; color: var(--kw-text); display: inline-flex; }
.ap-cart-btn:hover[b-kz36su1gkn] { color: var(--kw-accent); }
.ap-cart-badge[b-kz36su1gkn] {
    position: absolute; top: -8px; right: -8px;
    min-width: 18px; height: 18px; padding: 0 5px;
    background: var(--kw-accent); color: #fff;
    font-size: 0.6875rem; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 9px;
}

.ap-hamburger[b-kz36su1gkn] {
    display: none; flex-direction: column; gap: 4px;
    background: none; border: none; cursor: pointer; padding: 4px;
}
.ap-hamburger span[b-kz36su1gkn] { width: 22px; height: 2px; background: var(--kw-dark); }

.ap-mobile-nav[b-kz36su1gkn] {
    display: none; flex-direction: column;
    border-top: 1px solid var(--kw-border); background: var(--kw-light);
}
.ap-mobile-nav.open[b-kz36su1gkn] { display: flex; }
.ap-mobile-nav a[b-kz36su1gkn] {
    padding: 0.9rem 2rem; font-size: 0.9375rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.05em;
    color: var(--kw-text); border-bottom: 1px solid var(--kw-border);
}
.ap-mobile-nav a:hover[b-kz36su1gkn] { color: var(--kw-accent); }

@media (max-width: 860px) {
    .ap-nav[b-kz36su1gkn] { display: none; }
    .ap-hamburger[b-kz36su1gkn] { display: flex; }
}
/* /Themes/Aperture/ApertureProductCard.razor.rz.scp.css */
.ap-pcard[b-b7iyxxdr1a] {
    display: block; text-decoration: none; color: inherit;
    transition: transform 0.25s ease;
}
.ap-pcard:hover[b-b7iyxxdr1a] { transform: translateY(-3px); }

.ap-pcard-img[b-b7iyxxdr1a] {
    aspect-ratio: 4 / 3; overflow: hidden;
    background: var(--kw-surface-muted); margin-bottom: 1rem;
    border: 1px solid var(--kw-border);
}
.ap-pcard-img img[b-b7iyxxdr1a] {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.4s ease;
}
.ap-pcard:hover .ap-pcard-img img[b-b7iyxxdr1a] { transform: scale(1.04); }

.ap-pcard-placeholder[b-b7iyxxdr1a] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--kw-surface-muted) 0%, var(--kw-surface-muted-2) 100%);
    color: var(--kw-dark);
}

.ap-pcard-category[b-b7iyxxdr1a] {
    display: block; font-size: 0.6875rem; font-weight: 700;
    color: var(--kw-accent); text-transform: uppercase; letter-spacing: 0.12em;
    margin-bottom: 0.375rem;
}
.ap-pcard-name[b-b7iyxxdr1a] {
    font-size: 0.9375rem; font-weight: 700; color: var(--kw-text);
    letter-spacing: -0.01em; margin-bottom: 0.375rem; line-height: 1.35;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ap-pcard-price[b-b7iyxxdr1a] { font-size: 0.9375rem; font-weight: 700; color: var(--kw-text); margin: 0; }
.ap-pcard-price span[b-b7iyxxdr1a] { font-size: 0.75rem; font-weight: 500; color: var(--kw-text-muted); margin-left: 0.1875rem; }
.ap-pcard-price-cta[b-b7iyxxdr1a] {
    font-size: 0.8125rem; font-weight: 700; color: var(--kw-accent);
    text-transform: uppercase; letter-spacing: 0.08em; margin: 0;
}
/* /Themes/Aperture/Blocks/ApertureCategoryGrid.razor.rz.scp.css */
/* Aperture category grid — systematic web-agency tiles: sharp bordered image cards, bottom-anchored
   PT-Sans name over a short coral rule, uppercase count. Consumes .theme-aperture --kw-* tokens with
   literal fallbacks. */
.aperture-catgrid[b-pt049dj7fy] { padding: 5rem 0; text-align: left; }

.aperture-catgrid-eyebrow[b-pt049dj7fy] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--kw-accent, #ff434b);
    margin-bottom: 0.55rem;
}
.aperture-catgrid-title[b-pt049dj7fy] {
    position: relative;
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #2a2a2a);
    margin: 0 0 2.5rem;
    padding-bottom: 1rem;
}
.aperture-catgrid-title[b-pt049dj7fy]::after {
    content: ""; position: absolute; left: 0; bottom: 0;
    width: 3rem; height: 3px; background: var(--kw-accent, #ff434b);
}

.aperture-catgrid-grid[b-pt049dj7fy] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.25rem;
}

/* Sharp bordered tile — 2px border, radius 0, coral border on hover. */
.aperture-cat[b-pt049dj7fy] {
    position: relative;
    display: block;
    min-height: 260px;
    background: var(--kw-dark, #1b1b1b);
    border: 2px solid var(--kw-border-strong, #dcdcdc);
    border-radius: 0;
    overflow: hidden;
    color: #fff;
    transition: border-color 0.18s ease;
}
.aperture-cat:hover[b-pt049dj7fy] { border-color: var(--kw-accent, #ff434b); }
.aperture-cat-img[b-pt049dj7fy] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform 0.45s ease;
}
.aperture-cat:hover .aperture-cat-img[b-pt049dj7fy] { transform: scale(1.05); }
.aperture-cat-overlay[b-pt049dj7fy] {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(27,27,27,0.15) 0%, rgba(27,27,27,0.82) 100%);
}

/* Bottom-anchored body — systematic left-aligned name block, not centred. */
.aperture-cat-body[b-pt049dj7fy] {
    position: absolute; z-index: 2; inset: auto 0 0 0;
    display: flex; flex-direction: column;
    padding: 1.5rem;
}
.aperture-cat-name[b-pt049dj7fy] {
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: 1.1875rem;
    line-height: 1.2;
    color: #fff;
}
.aperture-cat-rule[b-pt049dj7fy] {
    display: block;
    width: 2rem; height: 3px;
    background: var(--kw-accent, #ff434b);
    margin: 0.7rem 0;
}
.aperture-cat-count[b-pt049dj7fy] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--kw-accent-soft, #ff9ca1);
}

.aperture-cat-skeleton[b-pt049dj7fy] {
    min-height: 260px;
    background: linear-gradient(100deg, #ececec 30%, #e0e0e0 50%, #ececec 70%);
    border: 2px solid var(--kw-border-strong, #dcdcdc);
}
.aperture-catgrid-empty[b-pt049dj7fy] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    color: var(--kw-text-muted, #8b8b8b);
}

@media (max-width: 900px) { .aperture-catgrid[b-pt049dj7fy] { padding: 3.5rem 0; } }
@media (prefers-reduced-motion: reduce) {
    .aperture-cat-img[b-pt049dj7fy] { transition: none; }
    .aperture-cat:hover .aperture-cat-img[b-pt049dj7fy] { transform: none; }
}
/* /Themes/Aperture/Blocks/ApertureCtaBanner.razor.rz.scp.css */
/* Aperture CTA — left-copy / right-action web-agency band with a coral arrow eyebrow, PT-Sans headline
   over a short coral rule, and a coral square uppercase button. Consumes .theme-aperture --kw-* tokens
   with literal fallbacks. */
.aperture-cta[b-oyowxy4v65] {
    position: relative;
    background: var(--kw-dark, #1b1b1b);
    color: #fff;
    padding: 4.5rem 0;
    overflow: hidden;
    border-top: 3px solid var(--kw-accent, #ff434b);
}

.aperture-cta-scrim[b-oyowxy4v65] {
    position: absolute; inset: 0;
    background: rgba(27, 27, 27, 0.72);
    z-index: 1;
}

.aperture-cta-inner[b-oyowxy4v65] {
    position: relative; z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;
    flex-wrap: wrap;
}

.aperture-cta-copy[b-oyowxy4v65] { flex: 1 1 24rem; text-align: left; }

.aperture-cta-eyebrow[b-oyowxy4v65] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 0.9rem;
}
.aperture-cta-num[b-oyowxy4v65] { color: var(--kw-accent, #ff434b); margin-right: 0.4rem; }

.aperture-cta-title[b-oyowxy4v65] {
    position: relative;
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    color: #fff;
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.15;
    max-width: 22ch;
    margin: 0 0 1.1rem;
    padding-bottom: 1.1rem;
}
.aperture-cta-title[b-oyowxy4v65]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 3rem; height: 3px;
    background: var(--kw-accent, #ff434b);
}

.aperture-cta-sub[b-oyowxy4v65] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.8);
    max-width: 52ch;
    margin: 0;
    line-height: 1.65;
}

.aperture-cta-actions[b-oyowxy4v65] {
    display: flex; flex-direction: column;
    align-items: flex-start; gap: 1rem;
    flex: 0 0 auto;
}
.aperture-cta-btn[b-oyowxy4v65] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    color: #fff;
    background: var(--kw-accent, #ff434b);
    border: 2px solid var(--kw-accent, #ff434b);
    border-radius: 0;
    padding: 0.95rem 2.5rem;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.aperture-cta-btn:hover[b-oyowxy4v65] { background: var(--kw-accent-deep, #e02b34); border-color: var(--kw-accent-deep, #e02b34); }

.aperture-cta-link[b-oyowxy4v65] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    color: #fff;
    border-bottom: 2px solid var(--kw-accent, #ff434b);
    padding-bottom: 3px;
    transition: color 0.18s ease;
}
.aperture-cta-link:hover[b-oyowxy4v65] { color: var(--kw-accent-soft, #ff9ca1); }

@media (max-width: 760px) {
    .aperture-cta[b-oyowxy4v65] { padding: 3.25rem 0; }
    .aperture-cta-inner[b-oyowxy4v65] { flex-direction: column; align-items: flex-start; }
}
/* /Themes/Aperture/Blocks/ApertureFaq.razor.rz.scp.css */
/* Aperture FAQ — systematic web-agency accordion: numbered rows, bold PT-Sans questions, coral square
   [+]->[–] marker on sharp bordered rows. Consumes .theme-aperture --kw-* tokens with literal fallbacks. */
.aperture-faq[b-7xme2nvrfu] {
    max-width: 800px;
    border-top: 2px solid var(--kw-border-strong, #dcdcdc);
}

.aperture-faq-item[b-7xme2nvrfu] {
    border-bottom: 2px solid var(--kw-border-strong, #dcdcdc);
}
.aperture-faq-item[open][b-7xme2nvrfu] { border-bottom-color: var(--kw-accent, #ff434b); }

.aperture-faq-q[b-7xme2nvrfu] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.35rem 0.25rem;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.aperture-faq-q[b-7xme2nvrfu]::-webkit-details-marker { display: none; }

.aperture-faq-num[b-7xme2nvrfu] {
    flex: 0 0 auto;
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    color: var(--kw-accent, #ff434b);
}

.aperture-faq-question[b-7xme2nvrfu] {
    flex: 1 1 auto;
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: 1.0625rem;
    line-height: 1.4;
    color: var(--kw-text, #2a2a2a);
}
.aperture-faq-item[open] .aperture-faq-question[b-7xme2nvrfu] { color: var(--kw-accent, #ff434b); }

/* Coral square [+] marker that becomes [–] when the row is open — sharp, no radius. */
.aperture-faq-marker[b-7xme2nvrfu] {
    position: relative;
    flex: 0 0 auto;
    width: 22px; height: 22px;
    border: 2px solid var(--kw-accent, #ff434b);
}
.aperture-faq-marker[b-7xme2nvrfu]::before,
.aperture-faq-marker[b-7xme2nvrfu]::after {
    content: "";
    position: absolute;
    background: var(--kw-accent, #ff434b);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.aperture-faq-marker[b-7xme2nvrfu]::before { width: 10px; height: 2px; }
.aperture-faq-marker[b-7xme2nvrfu]::after  { width: 2px; height: 10px; }
.aperture-faq-item[open] .aperture-faq-marker[b-7xme2nvrfu]::after { display: none; }   /* [+] -> [–] */

.aperture-faq-answer[b-7xme2nvrfu] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--kw-text-muted, #8b8b8b);
    padding: 0 0 1.35rem 2.6rem;
    margin: 0;
}
.aperture-faq-answer[b-7xme2nvrfu]  a { color: var(--kw-accent, #ff434b); text-decoration: underline; }

@media (max-width: 600px) {
    .aperture-faq-answer[b-7xme2nvrfu] { padding-left: 0.25rem; }
}
/* /Themes/Aperture/Blocks/ApertureFeaturesRow.razor.rz.scp.css */
/* Aperture features — systematic web-agency grid of sharp bordered cards, each led by a coral agency
   numeral and a coral line-icon. Consumes .theme-aperture --kw-* tokens with literal fallbacks. */
.aperture-features[b-5oys3rlcc4] { padding: 5rem 0; text-align: left; }

.aperture-features-title[b-5oys3rlcc4] {
    position: relative;
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #2a2a2a);
    margin: 0 0 3rem;
    padding-bottom: 1rem;
}
.aperture-features-title[b-5oys3rlcc4]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 3rem; height: 3px;
    background: var(--kw-accent, #ff434b);
}

.aperture-features-row[b-5oys3rlcc4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
}

/* Sharp bordered agency card — 2px border, radius 0, coral top edge on hover. */
.aperture-feature[b-5oys3rlcc4] {
    position: relative;
    padding: 2rem 1.75rem;
    background: #fff;
    border: 2px solid var(--kw-border-strong, #dcdcdc);
    border-radius: 0;
    transition: border-color 0.18s ease, transform 0.18s ease;
}
.aperture-feature:hover[b-5oys3rlcc4] {
    border-color: var(--kw-accent, #ff434b);
    transform: translateY(-3px);
}

.aperture-feature-num[b-5oys3rlcc4] {
    display: block;
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: 0.9375rem;
    letter-spacing: 0.06em;
    color: var(--kw-accent, #ff434b);
    margin-bottom: 1rem;
}

.aperture-feature-icon[b-5oys3rlcc4] {
    color: var(--kw-accent, #ff434b);
    margin-bottom: 1rem;
    line-height: 0;
    display: flex;
}
.aperture-feature-icon[b-5oys3rlcc4]  svg { width: 30px; height: 30px; }

.aperture-feature-title[b-5oys3rlcc4] {
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--kw-text, #2a2a2a);
    margin-bottom: 0.55rem;
    line-height: 1.3;
}
.aperture-feature-text[b-5oys3rlcc4] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--kw-text-muted, #8b8b8b);
}

@media (max-width: 700px) {
    .aperture-features[b-5oys3rlcc4] { padding: 3.5rem 0; }
    .aperture-feature[b-5oys3rlcc4] { padding: 1.75rem 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .aperture-feature[b-5oys3rlcc4] { transition: border-color 0.18s ease; }
    .aperture-feature:hover[b-5oys3rlcc4] { transform: none; }
}
/* /Themes/Aperture/Blocks/ApertureHeading.razor.rz.scp.css */
/* Aperture heading — coral uppercase agency eyebrow + bold PT-Sans title with a short coral rule.
   Consumes .theme-aperture --kw-* tokens with literal fallbacks. */
.aperture-heading[b-dxo1sl5w7y] { display: block; }

.aperture-heading-eyebrow[b-dxo1sl5w7y] {
    display: block;
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--kw-accent, #ff434b);
    margin-bottom: 0.55rem;
}

.aperture-heading-title[b-dxo1sl5w7y] {
    position: relative;
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    line-height: 1.2;
    color: var(--kw-text, #2a2a2a);
    margin: 0;
    padding-bottom: 0.85rem;
}
/* Short coral rule under the primary headings (not the smaller sub-levels). */
.aperture-heading-title:not(.is-sub)[b-dxo1sl5w7y]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 3rem; height: 3px;
    background: var(--kw-accent, #ff434b);
}
.aperture-heading[style*="center"] .aperture-heading-title:not(.is-sub)[b-dxo1sl5w7y]::after { left: 50%; transform: translateX(-50%); }
.aperture-heading[style*="right"] .aperture-heading-title:not(.is-sub)[b-dxo1sl5w7y]::after { left: auto; right: 0; }

.aperture-heading-title.is-sub[b-dxo1sl5w7y] {
    padding-bottom: 0;
}
/* /Themes/Aperture/Blocks/ApertureHeroBanner.razor.rz.scp.css */
/* Aperture hero — left-aligned utilitarian web-agency stage: coral "01." numeral eyebrow, bold PT-Sans
   headline over a short coral rule, coral square uppercase CTA, systematic spec row. Consumes
   .theme-aperture --kw-* tokens with literal fallbacks. */
.aperture-hero[b-q2apu959tj] {
    position: relative;
    min-height: 82vh;
    display: flex;
    align-items: center;
    background: var(--kw-dark, #1b1b1b);
    overflow: hidden;
}

.aperture-hero-slides[b-q2apu959tj] { position: absolute; inset: 0; z-index: 0; }
.aperture-hero-slide[b-q2apu959tj] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transition: opacity 0.8s ease;
}
.aperture-hero-slide.is-active[b-q2apu959tj] { opacity: 1; }

.aperture-hero-scrim[b-q2apu959tj] {
    position: absolute; inset: 0; z-index: 1;
    background: rgba(27, 27, 27, 0.66);
}

.aperture-hero-inner[b-q2apu959tj] {
    position: relative; z-index: 2;
    max-width: 44rem;
    text-align: left;
    color: #fff;
}

/* Coral "01." agency numeral eyebrow — a systematic section label, not a serif small-caps. */
.aperture-hero-eyebrow[b-q2apu959tj] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: 1.35rem;
}
.aperture-hero-num[b-q2apu959tj] { color: var(--kw-accent, #ff434b); margin-right: 0.45rem; }

.aperture-hero-title[b-q2apu959tj] {
    position: relative;
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    color: #fff;
    font-size: clamp(2.4rem, 6vw, 4.5rem);
    line-height: 1.08;
    margin: 0 0 1.6rem;
    padding-bottom: 1.4rem;
}
/* Short coral rule under the headline — the signature Aperture accent. */
.aperture-hero-title[b-q2apu959tj]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 3.5rem; height: 3px;
    background: var(--kw-accent, #ff434b);
}

.aperture-hero-sub[b-q2apu959tj] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-size: 1.125rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.82);
    max-width: 46ch;
    margin: 0 0 2.25rem;
}

.aperture-hero-actions[b-q2apu959tj] {
    display: flex; gap: 1.75rem;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 3rem;
}
/* Coral square uppercase CTA — sharp corners, confident letter-spacing. */
.aperture-hero-cta[b-q2apu959tj] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    color: #fff;
    background: var(--kw-accent, #ff434b);
    border: 2px solid var(--kw-accent, #ff434b);
    border-radius: 0;
    padding: 0.95rem 2.25rem;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.aperture-hero-cta:hover[b-q2apu959tj] { background: var(--kw-accent-deep, #e02b34); border-color: var(--kw-accent-deep, #e02b34); }

.aperture-hero-link[b-q2apu959tj] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    color: #fff;
    border-bottom: 2px solid var(--kw-accent, #ff434b);
    padding-bottom: 3px;
    transition: color 0.18s ease;
}
.aperture-hero-link:hover[b-q2apu959tj] { color: var(--kw-accent-soft, #ff9ca1); }

/* Systematic spec row — clean coral figures over muted labels. */
.aperture-hero-specs[b-q2apu959tj] {
    display: flex;
    gap: 2.5rem;
    flex-wrap: wrap;
    margin: 0;
    padding-top: 1.75rem;
    border-top: 2px solid rgba(255, 255, 255, 0.14);
}
.aperture-hero-specs div[b-q2apu959tj] { display: flex; flex-direction: column; gap: 0.15rem; }
.aperture-hero-specs dt[b-q2apu959tj] {
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: 1.375rem;
    color: var(--kw-accent, #ff434b);
    line-height: 1.1;
}
.aperture-hero-specs dd[b-q2apu959tj] {
    margin: 0;
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.68);
}

.aperture-hero-dots[b-q2apu959tj] {
    position: absolute; z-index: 3;
    right: 2rem; bottom: 2rem;
    display: flex; gap: 0.5rem;
}
.aperture-hero-dot[b-q2apu959tj] {
    min-width: 30px; height: 30px;
    padding: 0;
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.7);
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 0;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.aperture-hero-dot:hover[b-q2apu959tj] { border-color: #fff; color: #fff; }
.aperture-hero-dot.is-active[b-q2apu959tj] {
    background: var(--kw-accent, #ff434b);
    border-color: var(--kw-accent, #ff434b);
    color: #fff;
}

@media (max-width: 900px) {
    .aperture-hero[b-q2apu959tj] { min-height: 72vh; }
    .aperture-hero-specs[b-q2apu959tj] { gap: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .aperture-hero-slide[b-q2apu959tj] { transition: none; }
}
/* /Themes/Aperture/Blocks/ApertureTestimonial.razor.rz.scp.css */
/* Aperture testimonial — sharp bordered web-agency review card with a coral left rule, a large coral
   quote mark, coral stars, and a name / role split. Consumes .theme-aperture --kw-* tokens with literal
   fallbacks. */
.aperture-testimonial[b-j8ec6pmvul] {
    position: relative;
    max-width: 720px;
    margin: 0 auto;
    padding: 2.5rem 2.5rem 2.25rem;
    background: #fff;
    border: 2px solid var(--kw-border-strong, #dcdcdc);
    border-left: 4px solid var(--kw-accent, #ff434b);
    border-radius: 0;
    text-align: left;
}
/* Large coral opening quote mark — a confident agency flourish, top-right. */
.aperture-testimonial[b-j8ec6pmvul]::before {
    content: "\201C";
    position: absolute; top: 0.4rem; right: 1.25rem;
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: 4.5rem;
    line-height: 1;
    color: var(--kw-accent-soft, #ff9ca1);
}

.aperture-testimonial-stars[b-j8ec6pmvul] {
    display: flex; gap: 0.2rem;
    margin-bottom: 1.1rem;
    font-size: 1.05rem;
}
.aperture-star[b-j8ec6pmvul] { color: var(--kw-border-strong, #dcdcdc); }
.aperture-star.is-on[b-j8ec6pmvul] { color: var(--kw-accent, #ff434b); }

.aperture-testimonial-quote[b-j8ec6pmvul] {
    font-family: var(--kw-font-heading, 'PT Sans', sans-serif);
    font-weight: 700;
    font-size: clamp(1.25rem, 2.4vw, 1.625rem);
    line-height: 1.4;
    color: var(--kw-text, #2a2a2a);
    margin: 0 0 1.5rem;
}

.aperture-testimonial-by[b-j8ec6pmvul] {
    display: flex; flex-direction: column; gap: 0.15rem;
    padding-top: 1.25rem;
    border-top: 2px solid var(--kw-border-strong, #dcdcdc);
}
.aperture-testimonial-name[b-j8ec6pmvul] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
    font-size: 0.875rem;
    color: var(--kw-text, #2a2a2a);
}
.aperture-testimonial-role[b-j8ec6pmvul] {
    font-family: var(--kw-font, 'PT Sans', sans-serif);
    font-size: 0.875rem;
    color: var(--kw-text-muted, #8b8b8b);
}

@media (max-width: 600px) {
    .aperture-testimonial[b-j8ec6pmvul] { padding: 2rem 1.5rem 1.75rem; }
}
/* /Themes/Chroma/Blocks/ChromaCategoryGrid.razor.rz.scp.css */
/* Chroma category grid — rounded soft-shadowed travel tiles: warm overlay, uppercase Oswald name, rose
   pill count chip. The 12px tile radii + soft shadow + pill chip are the Chroma signature. Consumes
   .theme-chroma --kw-* tokens with literal fallbacks. */
.chroma-catgrid[b-u3slbnooyt] { padding: 5rem 0; text-align: center; }

.chroma-catgrid-eyebrow[b-u3slbnooyt] {
    display: inline-block;
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.6875rem;
    color: var(--kw-accent-deep, #cf3446);
    background: var(--kw-accent-soft, #f4a7b0);
    border-radius: 999px;
    padding: 0.35rem 1rem;
    margin-bottom: 0.85rem;
}
.chroma-catgrid-title[b-u3slbnooyt] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #2b2f3a);
    margin: 0 auto 2.5rem;
}

.chroma-catgrid-grid[b-u3slbnooyt] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.5rem;
}

.chroma-cat[b-u3slbnooyt] {
    position: relative;
    display: block;
    min-height: 260px;
    background: var(--kw-dark, #232733);
    border-radius: 12px;
    overflow: hidden;
    color: var(--kw-light, #fff);
    box-shadow: 0 10px 30px rgba(35, 39, 51, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.chroma-cat:hover[b-u3slbnooyt] {
    transform: translateY(-4px);
    box-shadow: 0 20px 44px rgba(35, 39, 51, 0.22);
}
.chroma-cat-img[b-u3slbnooyt] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform 0.5s ease;
}
.chroma-cat:hover .chroma-cat-img[b-u3slbnooyt] { transform: scale(1.06); }
.chroma-cat-overlay[b-u3slbnooyt] {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(35,39,51,0.2) 0%, rgba(35,39,51,0.78) 100%);
}

.chroma-cat-body[b-u3slbnooyt] {
    position: absolute; z-index: 2; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 0.85rem;
    padding: 1.5rem;
}
.chroma-cat-name[b-u3slbnooyt] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 1.25rem;
    line-height: 1.2;
    color: var(--kw-light, #fff);
}
/* Rose pill count chip. */
.chroma-cat-count[b-u3slbnooyt] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.6875rem;
    color: var(--kw-light, #fff);
    background: var(--kw-accent, #e74858);
    border-radius: 999px;
    padding: 0.3rem 0.9rem;
    box-shadow: 0 6px 16px rgba(231, 72, 88, 0.34);
}

.chroma-cat-skeleton[b-u3slbnooyt] {
    min-height: 260px;
    border-radius: 12px;
    background: linear-gradient(100deg, #eef0f4 30%, #e2e5ec 50%, #eef0f4 70%);
    box-shadow: 0 10px 30px rgba(35, 39, 51, 0.08);
}
.chroma-catgrid-empty[b-u3slbnooyt] {
    font-family: var(--kw-font, 'Raleway', sans-serif);
    color: var(--kw-text-muted, #8890a0);
}

@media (max-width: 900px) { .chroma-catgrid[b-u3slbnooyt] { padding: 3.5rem 0; } }
@media (prefers-reduced-motion: reduce) {
    .chroma-cat[b-u3slbnooyt], .chroma-cat-img[b-u3slbnooyt] { transition: none; }
    .chroma-cat:hover[b-u3slbnooyt] { transform: none; }
    .chroma-cat:hover .chroma-cat-img[b-u3slbnooyt] { transform: none; }
}
/* /Themes/Chroma/Blocks/ChromaCtaBanner.razor.rz.scp.css */
/* Chroma CTA — a soft-shadowed rounded card on a rose-tinted stage, pill eyebrow + uppercase Oswald
   headline + rose pill action. The rounded card and pill button are the Chroma signature. Consumes
   .theme-chroma --kw-* tokens with literal fallbacks. */
.chroma-cta[b-bw2u5c4hpy] {
    background: var(--kw-accent-soft, #f4a7b0);
    padding: 5rem 0;
}

.chroma-cta-card[b-bw2u5c4hpy] {
    position: relative;
    background: var(--kw-dark, #232733);
    color: var(--kw-light, #fff);
    border-radius: 20px;
    padding: 4rem 2.5rem;
    text-align: center;
    overflow: hidden;
    box-shadow: 0 28px 64px rgba(35, 39, 51, 0.28);
    background-size: cover;
    background-position: center;
}
.chroma-cta-scrim[b-bw2u5c4hpy] {
    position: absolute; inset: 0;
    background: rgba(35, 39, 51, 0.72);
    z-index: 1;
}
.chroma-cta-body[b-bw2u5c4hpy] { position: relative; z-index: 2; }

/* Rose pill eyebrow badge. */
.chroma-cta-eyebrow[b-bw2u5c4hpy] {
    display: inline-block;
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.75rem;
    color: var(--kw-light, #fff);
    background: var(--kw-accent, #e74858);
    border-radius: 999px;
    padding: 0.45rem 1.2rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 8px 20px rgba(231, 72, 88, 0.32);
}
.chroma-cta-title[b-bw2u5c4hpy] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--kw-light, #fff);
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.1;
    max-width: 22ch;
    margin: 0 auto 1.25rem;
}
.chroma-cta-sub[b-bw2u5c4hpy] {
    font-family: var(--kw-font, 'Raleway', sans-serif);
    font-size: 1.0625rem;
    color: rgba(255, 255, 255, 0.85);
    max-width: 54ch;
    margin: 0 auto 2.25rem;
    line-height: 1.7;
}
.chroma-cta-actions[b-bw2u5c4hpy] {
    display: flex; gap: 1.5rem;
    align-items: center; justify-content: center;
    flex-wrap: wrap;
}
/* Rose pill primary — generous padding, soft shadow. */
.chroma-cta-btn[b-bw2u5c4hpy] {
    display: inline-flex; align-items: center;
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--kw-light, #fff);
    background: var(--kw-accent, #e74858);
    border: 1px solid var(--kw-accent, #e74858);
    border-radius: 999px;
    padding: 0.95rem 2.5rem;
    box-shadow: 0 12px 28px rgba(231, 72, 88, 0.34);
    transition: background 0.18s ease, transform 0.14s ease, box-shadow 0.18s ease;
}
.chroma-cta-btn:hover[b-bw2u5c4hpy] {
    background: var(--kw-accent-deep, #cf3446);
    border-color: var(--kw-accent-deep, #cf3446);
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(207, 52, 70, 0.42);
}
.chroma-cta-link[b-bw2u5c4hpy] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.875rem;
    color: var(--kw-light, #fff);
    border-bottom: 2px solid var(--kw-accent, #e74858);
    padding-bottom: 3px;
    transition: color 0.18s ease;
}
.chroma-cta-link:hover[b-bw2u5c4hpy] { color: var(--kw-accent-soft, #f4a7b0); }

@media (max-width: 900px) {
    .chroma-cta[b-bw2u5c4hpy] { padding: 3rem 0; }
    .chroma-cta-card[b-bw2u5c4hpy] { padding: 3rem 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .chroma-cta-btn:hover[b-bw2u5c4hpy] { transform: none; }
}
/* /Themes/Chroma/Blocks/ChromaFaq.razor.rz.scp.css */
/* Chroma FAQ — rounded soft-shadowed accordion cards, uppercase Oswald questions with a rose rounded
   [+]->[-] chip. The 12px card radii + soft shadow + rounded chip are the Chroma signature. Consumes
   .theme-chroma --kw-* tokens with literal fallbacks. */
.chroma-faq[b-ezninjtiin] {
    max-width: 780px;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.chroma-faq-item[b-ezninjtiin] {
    background: var(--kw-light, #fff);
    border: 1px solid var(--kw-border-strong, #d7dbe3);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(35, 39, 51, 0.08);
    overflow: hidden;
    transition: box-shadow 0.18s ease;
}
.chroma-faq-item[open][b-ezninjtiin] { box-shadow: 0 12px 32px rgba(231, 72, 88, 0.18); }

.chroma-faq-q[b-ezninjtiin] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.chroma-faq-q[b-ezninjtiin]::-webkit-details-marker { display: none; }

.chroma-faq-question[b-ezninjtiin] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 1rem;
    line-height: 1.35;
    color: var(--kw-text, #2b2f3a);
}
.chroma-faq-item[open] .chroma-faq-question[b-ezninjtiin] { color: var(--kw-accent-deep, #cf3446); }

/* Rose rounded chip holding a [+] that becomes [-] when the row is open. */
.chroma-faq-marker[b-ezninjtiin] {
    position: relative;
    flex: 0 0 auto;
    width: 26px; height: 26px;
    border-radius: 999px;
    background: var(--kw-accent-soft, #f4a7b0);
    transition: background 0.18s ease;
}
.chroma-faq-item[open] .chroma-faq-marker[b-ezninjtiin] { background: var(--kw-accent, #e74858); }
.chroma-faq-marker[b-ezninjtiin]::before,
.chroma-faq-marker[b-ezninjtiin]::after {
    content: "";
    position: absolute;
    background: var(--kw-accent-deep, #cf3446);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.chroma-faq-marker[b-ezninjtiin]::before { width: 12px; height: 2px; }
.chroma-faq-marker[b-ezninjtiin]::after  { width: 2px; height: 12px; }
.chroma-faq-item[open] .chroma-faq-marker[b-ezninjtiin]::before,
.chroma-faq-item[open] .chroma-faq-marker[b-ezninjtiin]::after { background: var(--kw-light, #fff); }
.chroma-faq-item[open] .chroma-faq-marker[b-ezninjtiin]::after { display: none; }   /* [+] -> [-] */

.chroma-faq-answer[b-ezninjtiin] {
    font-family: var(--kw-font, 'Raleway', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--kw-text-muted, #8890a0);
    padding: 0 1.5rem 1.35rem;
    margin: 0;
}
.chroma-faq-answer[b-ezninjtiin]  a { color: var(--kw-accent, #e74858); text-decoration: underline; }
/* /Themes/Chroma/Blocks/ChromaFeaturesRow.razor.rz.scp.css */
/* Chroma features — rounded soft-shadowed cards, each with a rose rounded icon chip and an uppercase
   Oswald title. The 12px card radii + soft shadows + rounded icon chip are the Chroma signature.
   Consumes .theme-chroma --kw-* tokens with literal fallbacks. */
.chroma-features[b-6mmnkhglgz] { padding: 5rem 0; text-align: center; }

.chroma-features-title[b-6mmnkhglgz] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #2b2f3a);
    margin: 0 auto 3rem;
}

.chroma-features-row[b-6mmnkhglgz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
}

.chroma-feature[b-6mmnkhglgz] {
    background: var(--kw-light, #fff);
    border: 1px solid var(--kw-border-strong, #d7dbe3);
    border-radius: 12px;
    padding: 2rem 1.5rem;
    box-shadow: 0 10px 30px rgba(35, 39, 51, 0.1);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.chroma-feature:hover[b-6mmnkhglgz] {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(35, 39, 51, 0.16);
}

/* Rose rounded icon chip — soft accent tint behind a rose-tinted glyph. */
.chroma-feature-icon[b-6mmnkhglgz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem; height: 4rem;
    border-radius: 999px;
    background: var(--kw-accent-soft, #f4a7b0);
    color: var(--kw-accent-deep, #cf3446);
    margin-bottom: 1.25rem;
    line-height: 0;
}
.chroma-feature-icon[b-6mmnkhglgz]  svg { width: 28px; height: 28px; }

.chroma-feature-title[b-6mmnkhglgz] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 1.0625rem;
    color: var(--kw-text, #2b2f3a);
    margin-bottom: 0.6rem;
    line-height: 1.3;
}
.chroma-feature-text[b-6mmnkhglgz] {
    font-family: var(--kw-font, 'Raleway', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--kw-text-muted, #8890a0);
}

@media (max-width: 700px) {
    .chroma-features[b-6mmnkhglgz] { padding: 3.5rem 0; }
}

@media (prefers-reduced-motion: reduce) {
    .chroma-feature[b-6mmnkhglgz] { transition: none; }
    .chroma-feature:hover[b-6mmnkhglgz] { transform: none; }
}
/* /Themes/Chroma/Blocks/ChromaHeading.razor.rz.scp.css */
/* Chroma heading — a rose pill eyebrow badge + uppercase Oswald title with a short rose divider. The
   pill eyebrow is the Chroma signature. Consumes .theme-chroma --kw-* tokens with literal fallbacks. */
.chroma-heading[b-kesv5kosx1] { display: block; }

.chroma-heading-eyebrow[b-kesv5kosx1] {
    display: inline-block;
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.6875rem;
    color: var(--kw-accent-deep, #cf3446);
    background: var(--kw-accent-soft, #f4a7b0);
    border-radius: 999px;
    padding: 0.35rem 1rem;
    margin-bottom: 0.85rem;
}

.chroma-heading-title[b-kesv5kosx1] {
    position: relative;
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    line-height: 1.2;
    color: var(--kw-text, #2b2f3a);
    margin: 0;
    padding-bottom: 0.85rem;
}
/* Short rounded rose divider under the primary headings (not the smaller sub-levels). */
.chroma-heading-title:not(.is-sub)[b-kesv5kosx1]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 3rem; height: 3px;
    border-radius: 999px;
    background: var(--kw-accent, #e74858);
}
.chroma-heading[style*="center"] .chroma-heading-title:not(.is-sub)[b-kesv5kosx1]::after { left: 50%; transform: translateX(-50%); }
.chroma-heading[style*="right"] .chroma-heading-title:not(.is-sub)[b-kesv5kosx1]::after { left: auto; right: 0; }

.chroma-heading-title.is-sub[b-kesv5kosx1] {
    padding-bottom: 0;
}
/* /Themes/Chroma/Blocks/ChromaHeroBanner.razor.rz.scp.css */
/* Chroma hero — energetic travel-agency stage: rose pill eyebrow, uppercase Oswald headline, rounded
   pill CTAs, and a floating soft-shadowed rounded info card. Chroma is the only rounded theme — the
   12px radii, 999px pills and soft shadows are its unmistakable signature. Consumes .theme-chroma
   --kw-* tokens with literal fallbacks. */
.chroma-hero[b-ono6c5shng] {
    position: relative;
    min-height: 82vh;
    display: flex;
    align-items: center;
    background: var(--kw-dark, #232733);
    overflow: hidden;
}

.chroma-hero-slides[b-ono6c5shng] { position: absolute; inset: 0; z-index: 0; }
.chroma-hero-slide[b-ono6c5shng] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transition: opacity 0.9s ease;
}
.chroma-hero-slide.is-active[b-ono6c5shng] { opacity: 1; }

/* Soft warm gradient scrim keeps the white headline readable over any product photo. */
.chroma-hero-scrim[b-ono6c5shng] {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(105deg,
        rgba(35, 39, 51, 0.9) 0%,
        rgba(35, 39, 51, 0.68) 48%,
        rgba(35, 39, 51, 0.38) 100%);
}

.chroma-hero-inner[b-ono6c5shng] {
    position: relative; z-index: 3;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
}

.chroma-hero-copy[b-ono6c5shng] { max-width: 40rem; color: var(--kw-light, #fff); }

/* Rose pill eyebrow badge — the friendly, energetic travel cue. */
.chroma-hero-eyebrow[b-ono6c5shng] {
    display: inline-block;
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.75rem;
    color: var(--kw-light, #fff);
    background: var(--kw-accent, #e74858);
    border-radius: 999px;
    padding: 0.5rem 1.25rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 8px 20px rgba(231, 72, 88, 0.32);
}

.chroma-hero-title[b-ono6c5shng] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--kw-light, #fff);
    font-size: clamp(2.5rem, 6vw, 4.75rem);
    line-height: 1.02;
    letter-spacing: 0.005em;
    margin: 0 0 1.5rem;
}

.chroma-hero-sub[b-ono6c5shng] {
    font-family: var(--kw-font, 'Raleway', sans-serif);
    font-size: 1.0625rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.86);
    max-width: 46ch;
    margin: 0 0 2.25rem;
}

.chroma-hero-actions[b-ono6c5shng] { display: flex; gap: 1.5rem; align-items: center; flex-wrap: wrap; }

/* Rose pill primary CTA with generous padding + soft shadow — the Chroma signature. */
.chroma-hero-cta[b-ono6c5shng] {
    display: inline-flex; align-items: center;
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--kw-light, #fff);
    background: var(--kw-accent, #e74858);
    border: 1px solid var(--kw-accent, #e74858);
    border-radius: 999px;
    padding: 0.95rem 2.5rem;
    box-shadow: 0 12px 28px rgba(231, 72, 88, 0.34);
    transition: background 0.18s ease, transform 0.14s ease, box-shadow 0.18s ease;
}
.chroma-hero-cta:hover[b-ono6c5shng] {
    background: var(--kw-accent-deep, #cf3446);
    border-color: var(--kw-accent-deep, #cf3446);
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(207, 52, 70, 0.42);
}

.chroma-hero-link[b-ono6c5shng] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.875rem;
    color: var(--kw-light, #fff);
    border-bottom: 2px solid var(--kw-accent, #e74858);
    padding-bottom: 3px;
    transition: color 0.18s ease;
}
.chroma-hero-link:hover[b-ono6c5shng] { color: var(--kw-accent-soft, #f4a7b0); }

/* Floating soft-shadowed rounded card — the signature Chroma element. */
.chroma-hero-card[b-ono6c5shng] {
    flex: 0 0 auto;
    width: 20rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: var(--kw-light, #fff);
    border: 1px solid var(--kw-border-strong, #d7dbe3);
    border-radius: 16px;
    padding: 1.75rem;
    box-shadow: 0 24px 60px rgba(35, 39, 51, 0.28);
}
.chroma-hero-card-badge[b-ono6c5shng] {
    align-self: flex-start;
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.6875rem;
    color: var(--kw-accent-deep, #cf3446);
    background: var(--kw-accent-soft, #f4a7b0);
    border-radius: 999px;
    padding: 0.3rem 0.9rem;
}
.chroma-hero-card-title[b-ono6c5shng] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 1.25rem;
    line-height: 1.2;
    color: var(--kw-text, #2b2f3a);
}
.chroma-hero-card-text[b-ono6c5shng] {
    font-family: var(--kw-font, 'Raleway', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--kw-text-muted, #8890a0);
}

/* Rounded pill slide indicators — the active one stretches into a rose lozenge. */
.chroma-hero-dots[b-ono6c5shng] {
    position: absolute; z-index: 4;
    left: 50%; bottom: 2rem;
    transform: translateX(-50%);
    display: flex; gap: 0.6rem;
}
.chroma-hero-dot[b-ono6c5shng] {
    width: 10px; height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.45);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, width 0.2s ease;
}
.chroma-hero-dot:hover[b-ono6c5shng] { background: rgba(255, 255, 255, 0.8); }
.chroma-hero-dot.is-active[b-ono6c5shng] { width: 28px; background: var(--kw-accent, #e74858); }

@media (max-width: 1000px) {
    .chroma-hero-card[b-ono6c5shng] { display: none; }
}
@media (max-width: 900px) {
    .chroma-hero[b-ono6c5shng] { min-height: 72vh; }
}

@media (prefers-reduced-motion: reduce) {
    .chroma-hero-slide[b-ono6c5shng] { transition: none; }
    .chroma-hero-cta:hover[b-ono6c5shng] { transform: none; }
    .chroma-hero-dot[b-ono6c5shng] { transition: background 0.2s ease; }
}
/* /Themes/Chroma/Blocks/ChromaTestimonial.razor.rz.scp.css */
/* Chroma testimonial — a rounded soft-shadowed review card with a rose star rating, friendly Raleway
   quote, and a rounded avatar chip. The 16px card radius + soft shadow + round avatar are the Chroma
   signature. Consumes .theme-chroma --kw-* tokens with literal fallbacks. */
.chroma-testimonial[b-vf6hsw0rvg] {
    max-width: 640px;
    margin: 0 auto;
    background: var(--kw-light, #fff);
    border: 1px solid var(--kw-border-strong, #d7dbe3);
    border-radius: 16px;
    padding: 2.5rem 2.25rem;
    box-shadow: 0 16px 44px rgba(35, 39, 51, 0.14);
    text-align: center;
}

.chroma-testimonial-stars[b-vf6hsw0rvg] {
    display: inline-flex;
    gap: 0.2rem;
    margin-bottom: 1.25rem;
    font-size: 1.125rem;
}
.chroma-star[b-vf6hsw0rvg] { color: var(--kw-border-strong, #d7dbe3); }
.chroma-star.is-on[b-vf6hsw0rvg] { color: var(--kw-accent, #e74858); }

.chroma-testimonial-quote[b-vf6hsw0rvg] {
    font-family: var(--kw-font, 'Raleway', sans-serif);
    font-weight: 500;
    font-size: clamp(1.125rem, 2.2vw, 1.4375rem);
    line-height: 1.55;
    color: var(--kw-text, #2b2f3a);
    margin: 0 0 1.75rem;
}
.chroma-testimonial-quote[b-vf6hsw0rvg]::before { content: "\201C"; color: var(--kw-accent, #e74858); margin-right: 0.05em; }
.chroma-testimonial-quote[b-vf6hsw0rvg]::after  { content: "\201D"; color: var(--kw-accent, #e74858); margin-left: 0.05em; }

.chroma-testimonial-by[b-vf6hsw0rvg] {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
}
.chroma-testimonial-avatar[b-vf6hsw0rvg] {
    flex: 0 0 auto;
    width: 3rem; height: 3rem;
    border-radius: 999px;
    background-size: cover; background-position: center;
    border: 2px solid var(--kw-accent-soft, #f4a7b0);
}
.chroma-testimonial-meta[b-vf6hsw0rvg] {
    display: flex; flex-direction: column; gap: 0.15rem;
    text-align: left;
}
.chroma-testimonial-name[b-vf6hsw0rvg] {
    font-family: var(--kw-font-heading, 'Oswald', sans-serif);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.9375rem;
    color: var(--kw-text, #2b2f3a);
}
.chroma-testimonial-role[b-vf6hsw0rvg] {
    font-family: var(--kw-font, 'Raleway', sans-serif);
    font-size: 0.875rem;
    color: var(--kw-text-muted, #8890a0);
}
/* /Themes/Chroma/ChromaFooter.razor.rz.scp.css */
.ch-footer[b-7gk5qmf96b] {
    background: var(--kw-dark);
    color: rgba(255, 255, 255, 0.72);
    padding: 4.5rem 0 2rem;
}

.ch-footer-top[b-7gk5qmf96b] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.4fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.ch-footer-brand h3[b-7gk5qmf96b] {
    font-family: var(--kw-font-heading);
    color: #fff; font-size: 1.375rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 1rem;
}
.ch-footer-brand p[b-7gk5qmf96b] { font-size: 0.9375rem; line-height: 1.7; margin-bottom: 1.5rem; max-width: 34ch; }

.ch-footer-whatsapp[b-7gk5qmf96b] {
    display: inline-flex; align-items: center; gap: 0.5rem;
    color: #fff; font-size: 0.875rem; font-weight: 700;
    padding: 0.6rem 1.25rem; border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    transition: background var(--kw-transition), color var(--kw-transition);
}
.ch-footer-whatsapp:hover[b-7gk5qmf96b] { background: var(--kw-accent); color: #fff; }

.ch-footer-col h4[b-7gk5qmf96b] {
    font-family: var(--kw-font-heading);
    color: #fff; font-size: 0.875rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 1.25rem;
}
.ch-footer-col a[b-7gk5qmf96b] {
    display: block; font-size: 0.9375rem; color: rgba(255, 255, 255, 0.72);
    padding: 0.3rem 0;
    transition: color var(--kw-transition);
}
.ch-footer-col a:hover[b-7gk5qmf96b] { color: var(--kw-accent-soft); }

.ch-location[b-7gk5qmf96b] { margin-bottom: 0.85rem; }
.ch-location strong[b-7gk5qmf96b] { display: block; color: #fff; font-size: 0.875rem; }
.ch-location span[b-7gk5qmf96b] { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.6); }

.ch-footer-bottom[b-7gk5qmf96b] {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 1rem; padding-top: 2rem;
}
.ch-footer-bottom p[b-7gk5qmf96b] { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.55); }
.ch-footer-social[b-7gk5qmf96b] { display: flex; gap: 1.5rem; }
.ch-footer-social a[b-7gk5qmf96b] { font-size: 0.8125rem; font-weight: 600; color: rgba(255, 255, 255, 0.72); }
.ch-footer-social a:hover[b-7gk5qmf96b] { color: var(--kw-accent-soft); }

@media (max-width: 860px) {
    .ch-footer-top[b-7gk5qmf96b] { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .ch-footer-brand[b-7gk5qmf96b] { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
    .ch-footer-top[b-7gk5qmf96b] { grid-template-columns: 1fr; }
    .ch-footer-bottom[b-7gk5qmf96b] { flex-direction: column; align-items: flex-start; }
}
/* /Themes/Chroma/ChromaHeader.razor.rz.scp.css */
.ch-header[b-m96dzbqw40] {
    position: sticky; top: 0; z-index: 100;
    background: var(--kw-light);
    border-bottom: 1px solid var(--kw-border);
    transition: box-shadow var(--kw-transition);
}
.ch-header.header-scrolled[b-m96dzbqw40] { box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08); }

.ch-header-inner[b-m96dzbqw40] {
    display: flex; align-items: center; justify-content: space-between;
    gap: 2rem; height: 78px;
}

.ch-logo[b-m96dzbqw40] { display: inline-flex; align-items: center; }
.ch-logo img[b-m96dzbqw40] { max-height: 42px; width: auto; }
.ch-logo-text[b-m96dzbqw40] {
    font-family: var(--kw-font-heading);
    font-size: 1.5rem; font-weight: 700;
    letter-spacing: 0.02em; color: var(--kw-dark);
    text-transform: uppercase;
}

.ch-nav[b-m96dzbqw40] { display: flex; gap: 0.5rem; }
.ch-nav a[b-m96dzbqw40] {
    font-family: var(--kw-font-heading);
    font-size: 0.9375rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.04em;
    color: var(--kw-text); padding: 0.5rem 1rem;
    border-radius: 999px;
    transition: color var(--kw-transition), background var(--kw-transition);
}
.ch-nav a:hover[b-m96dzbqw40] { color: var(--kw-accent); background: rgba(231, 72, 88, 0.08); }

.ch-header-actions[b-m96dzbqw40] { display: flex; align-items: center; gap: 1rem; }
.ch-cart-btn[b-m96dzbqw40] { position: relative; color: var(--kw-text); display: inline-flex; }
.ch-cart-btn:hover[b-m96dzbqw40] { color: var(--kw-accent); }
.ch-cart-badge[b-m96dzbqw40] {
    position: absolute; top: -8px; right: -8px;
    min-width: 18px; height: 18px; padding: 0 5px;
    background: var(--kw-accent); color: #fff;
    font-size: 0.6875rem; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 999px;
}

.ch-hamburger[b-m96dzbqw40] {
    display: none; flex-direction: column; gap: 4px;
    background: none; border: none; cursor: pointer; padding: 4px;
}
.ch-hamburger span[b-m96dzbqw40] { width: 22px; height: 2px; background: var(--kw-dark); border-radius: 999px; }

.ch-mobile-nav[b-m96dzbqw40] {
    display: none; flex-direction: column;
    border-top: 1px solid var(--kw-border); background: var(--kw-light);
}
.ch-mobile-nav.open[b-m96dzbqw40] { display: flex; }
.ch-mobile-nav a[b-m96dzbqw40] {
    font-family: var(--kw-font-heading);
    padding: 0.9rem 2rem; font-size: 1rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.04em;
    color: var(--kw-text); border-bottom: 1px solid var(--kw-border);
}
.ch-mobile-nav a:hover[b-m96dzbqw40] { color: var(--kw-accent); }

@media (max-width: 860px) {
    .ch-nav[b-m96dzbqw40] { display: none; }
    .ch-hamburger[b-m96dzbqw40] { display: flex; }
}
/* /Themes/Chroma/ChromaProductCard.razor.rz.scp.css */
.ch-pcard[b-4wkgzrj69a] {
    display: block; text-decoration: none; color: inherit;
    background: var(--kw-light);
    border-radius: var(--kw-radius);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.07);
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ch-pcard:hover[b-4wkgzrj69a] {
    transform: translateY(-4px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.12);
}

.ch-pcard-img[b-4wkgzrj69a] {
    aspect-ratio: 4 / 3; overflow: hidden;
    background: var(--kw-surface-muted);
    border-top-left-radius: var(--kw-radius);
    border-top-right-radius: var(--kw-radius);
}
.ch-pcard-img img[b-4wkgzrj69a] {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.4s ease;
}
.ch-pcard:hover .ch-pcard-img img[b-4wkgzrj69a] { transform: scale(1.05); }

.ch-pcard-placeholder[b-4wkgzrj69a] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--kw-surface-muted) 0%, var(--kw-surface-muted-2) 100%);
    color: var(--kw-dark);
}

.ch-pcard-info[b-4wkgzrj69a] { padding: 1.125rem 1.25rem 1.375rem; }

.ch-pcard-category[b-4wkgzrj69a] {
    display: block; font-size: 0.6875rem; font-weight: 700;
    color: var(--kw-accent); text-transform: uppercase; letter-spacing: 0.12em;
    margin-bottom: 0.375rem;
}
.ch-pcard-name[b-4wkgzrj69a] {
    font-family: var(--kw-font-heading);
    font-size: 1rem; font-weight: 700; color: var(--kw-text);
    text-transform: uppercase; letter-spacing: 0.02em;
    margin-bottom: 0.5rem; line-height: 1.3;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ch-pcard-price[b-4wkgzrj69a] { font-size: 0.9375rem; font-weight: 700; color: var(--kw-text); margin: 0; }
.ch-pcard-price span[b-4wkgzrj69a] { font-size: 0.75rem; font-weight: 500; color: var(--kw-text-muted); margin-left: 0.1875rem; }
.ch-pcard-price-cta[b-4wkgzrj69a] {
    font-size: 0.8125rem; font-weight: 700; color: var(--kw-accent);
    text-transform: uppercase; letter-spacing: 0.08em; margin: 0;
}
/* /Themes/Field/Blocks/FieldCategoryGrid.razor.rz.scp.css */
/* Field category grid — numbered dark "equipment locker" tiles with mono type + violet accents.
   Consumes .theme-field --field-* tokens with literal fallbacks. */
.field-catgrid[b-k0fef1aoj9] { padding: 4.5rem 0; }

.field-catgrid-eyebrow[b-k0fef1aoj9] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--field-violet, #7B5FBA);
    margin-bottom: 0.6rem;
}
.field-catgrid-title[b-k0fef1aoj9] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.015em;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    color: var(--field-ink, #0A0A0A);
    margin: 0 0 2rem;
}

.field-catgrid-grid[b-k0fef1aoj9] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 1rem;
}

.field-cat[b-k0fef1aoj9] {
    position: relative;
    display: block;
    min-height: 150px;
    padding: 1rem;
    background: var(--field-ink, #0A0A0A);
    background-size: cover;
    background-position: center;
    border: 2px solid var(--field-ink, #0A0A0A);
    color: #fff;
    overflow: hidden;
    transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.field-cat:hover[b-k0fef1aoj9] { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 0 var(--field-violet, #7B5FBA); }

/* Violet corner notch — matches the Field feature/testimonial cue. */
.field-cat[b-k0fef1aoj9]::before {
    content: "";
    position: absolute; top: 0; left: 0;
    width: 20px; height: 20px;
    background: var(--field-violet, #7B5FBA);
    clip-path: polygon(0 0, 100% 0, 0 100%);
    z-index: 3;
}
.field-cat-scrim[b-k0fef1aoj9] {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(10,10,10,0.35) 0%, rgba(10,10,10,0.9) 100%);
    z-index: 1;
}
.field-cat:not(.has-img) .field-cat-scrim[b-k0fef1aoj9] { background: none; }

.field-cat-index[b-k0fef1aoj9] {
    position: relative; z-index: 2;
    display: block;
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.8125rem;
    color: var(--field-stripe, #DBC8FA);
    text-align: right;
}
.field-cat-body[b-k0fef1aoj9] {
    position: absolute; z-index: 2;
    left: 1rem; right: 1rem; bottom: 1rem;
    display: flex; flex-direction: column; gap: 0.25rem;
}
.field-cat-name[b-k0fef1aoj9] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    line-height: 1.1;
    color: #fff;
}
.field-cat-count[b-k0fef1aoj9] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--field-stripe, #DBC8FA);
}

.field-cat-skeleton[b-k0fef1aoj9] {
    min-height: 150px;
    background: repeating-linear-gradient(-45deg, #eee 0 12px, #e4e4e4 12px 24px);
    border: 2px solid #e0e0e0;
}
.field-catgrid-empty[b-k0fef1aoj9] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.8125rem;
    color: var(--field-ink, #0A0A0A);
}

@media (max-width: 900px) { .field-catgrid[b-k0fef1aoj9] { padding: 3rem 0; } }
@media (prefers-reduced-motion: reduce) { .field-cat:hover[b-k0fef1aoj9] { transform: none; } }
/* /Themes/Field/Blocks/FieldCtaBanner.razor.rz.scp.css */
/* Field CTA — dark slab, slanted violet hazard strips, Archivo Black headline. */
.field-cta[b-p2v86vfcpq] {
    position: relative;
    background: var(--field-ink, #0A0A0A);
    color: #fff;
    padding: 5.5rem 0;
    text-align: center;
    overflow: hidden;
}
.field-cta[b-p2v86vfcpq]::before,
.field-cta[b-p2v86vfcpq]::after {
    content: "";
    position: absolute; left: 0; right: 0;
    height: 10px;
    background: repeating-linear-gradient(45deg,
        var(--field-violet, #7B5FBA) 0 12px,
        var(--field-ink, #0A0A0A) 12px 24px);
    z-index: 2;
}
.field-cta[b-p2v86vfcpq]::before { top: 0; }
.field-cta[b-p2v86vfcpq]::after { bottom: 0; }

.field-cta-scrim[b-p2v86vfcpq] {
    position: absolute; inset: 0;
    background: rgba(10, 10, 10, 0.7);
}

.field-cta-inner[b-p2v86vfcpq] { position: relative; z-index: 3; }

.field-cta-eyebrow[b-p2v86vfcpq] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--field-stripe, #DBC8FA);
    margin-bottom: 1rem;
}
.field-cta-title[b-p2v86vfcpq] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    color: #fff;
    font-size: clamp(1.75rem, 4.5vw, 3.5rem);
    line-height: 0.98;
    letter-spacing: -0.02em;
    max-width: 18ch;
    margin: 0 auto 1rem;
}
.field-cta-sub[b-p2v86vfcpq] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.9375rem;
    color: rgba(255,255,255,0.7);
    max-width: 52ch;
    margin: 0 auto 2rem;
    line-height: 1.6;
}
.field-cta-actions[b-p2v86vfcpq] { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }
.field-cta-btn[b-p2v86vfcpq] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #fff;
    background: var(--field-violet, #7B5FBA);
    border: 2px solid var(--field-violet, #7B5FBA);
    padding: 1rem 2rem;
    clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
    transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.18s ease, color 0.18s ease;
}
.field-cta-btn:hover[b-p2v86vfcpq] {
    background: #fff; color: var(--field-ink, #0A0A0A);
    transform: translate(-2px, -2px);
    box-shadow: 4px 4px 0 0 #fff;
}
.field-cta-btn-ghost[b-p2v86vfcpq] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.4);
    padding: 1rem 1.5rem;
    transition: border-color 0.18s ease, color 0.18s ease;
}
.field-cta-btn-ghost:hover[b-p2v86vfcpq] { border-color: #fff; color: var(--field-stripe, #DBC8FA); }

@media (max-width: 900px) { .field-cta[b-p2v86vfcpq] { padding: 3.5rem 0; } }
/* /Themes/Field/Blocks/FieldFaq.razor.rz.scp.css */
/* Field FAQ — numbered utility rows with mono type, corner-notch marker, [+]/[–] toggle.
   Consumes .theme-field --field-* tokens with literal fallbacks. */
.field-faq[b-4nek5eo6p9] {
    border-top: 2px solid var(--field-ink, #0A0A0A);
    max-width: 780px;
}

.field-faq-item[b-4nek5eo6p9] {
    border-bottom: 2px solid var(--field-ink, #0A0A0A);
}

.field-faq-q[b-4nek5eo6p9] {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    padding: 1.25rem 0.25rem;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.field-faq-q[b-4nek5eo6p9]::-webkit-details-marker { display: none; }

.field-faq-index[b-4nek5eo6p9] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.8125rem;
    color: var(--field-violet, #7B5FBA);
    flex: 0 0 auto;
}
.field-faq-question[b-4nek5eo6p9] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--field-ink, #0A0A0A);
    flex: 1 1 auto;
}

/* Square [+] marker that becomes [–] when the row is open. */
.field-faq-marker[b-4nek5eo6p9] {
    position: relative;
    flex: 0 0 auto;
    width: 18px; height: 18px;
    border: 2px solid var(--field-ink, #0A0A0A);
}
.field-faq-marker[b-4nek5eo6p9]::before,
.field-faq-marker[b-4nek5eo6p9]::after {
    content: "";
    position: absolute;
    background: var(--field-ink, #0A0A0A);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.field-faq-marker[b-4nek5eo6p9]::before { width: 8px; height: 2px; }
.field-faq-marker[b-4nek5eo6p9]::after  { width: 2px; height: 8px; }
.field-faq-item[open] .field-faq-marker[b-4nek5eo6p9] { border-color: var(--field-violet, #7B5FBA); }
.field-faq-item[open] .field-faq-marker[b-4nek5eo6p9]::after { display: none; }   /* [+] -> [–] */

.field-faq-answer[b-4nek5eo6p9] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.8125rem;
    line-height: 1.65;
    color: var(--field-ink, #0A0A0A);
    padding: 0 0 1.25rem 2.5rem;
    margin: 0;
}
.field-faq-answer[b-4nek5eo6p9]  a { color: var(--field-violet, #7B5FBA); text-decoration: underline; }

@media (prefers-reduced-motion: reduce) {
    .field-faq-item[b-4nek5eo6p9] { transition: none; }
}
/* /Themes/Field/Blocks/FieldFeaturesRow.razor.rz.scp.css */
/* Field features — bordered corner-notch cards with big mono index numerals. */
.field-features[b-1nxk142prf] { padding: 4.5rem 0; }

.field-features-title[b-1nxk142prf] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.015em;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    margin-bottom: 2.5rem;
    color: var(--field-ink, #0A0A0A);
}

.field-features-grid[b-1nxk142prf] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.field-feature[b-1nxk142prf] {
    position: relative;
    background: #fff;
    border: 2px solid var(--field-ink, #0A0A0A);
    padding: 2rem 1.5rem 1.5rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.field-feature:hover[b-1nxk142prf] {
    transform: translate(-3px, -3px);
    box-shadow: 6px 6px 0 0 var(--field-violet, #7B5FBA);
}
/* Corner notch — printed-certificate cue. */
.field-feature[b-1nxk142prf]::before {
    content: "";
    position: absolute;
    top: -2px; left: -2px;
    width: 22px; height: 22px;
    background: var(--field-violet, #7B5FBA);
    clip-path: polygon(0 0, 100% 0, 0 100%);
}

.field-feature-index[b-1nxk142prf] {
    display: block;
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 2.25rem;
    line-height: 1;
    color: var(--field-stripe, #DBC8FA);
    margin-bottom: 0.75rem;
}
.field-feature-icon[b-1nxk142prf] {
    color: var(--field-purple, #3D1B7A);
    margin-bottom: 0.75rem;
}
.field-feature-title[b-1nxk142prf] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: var(--field-ink, #0A0A0A);
    margin-bottom: 0.5rem;
}
.field-feature-text[b-1nxk142prf] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    line-height: 1.6;
    color: var(--field-ink, #0A0A0A);
}

@media (max-width: 900px) { .field-features[b-1nxk142prf] { padding: 3rem 0; } }
/* /Themes/Field/Blocks/FieldHeading.razor.rz.scp.css */
/* Field heading — mono kicker + Archivo-Black title with a short violet underline rule.
   Consumes .theme-field --field-* tokens with literal fallbacks. */
.field-heading[b-096i0cbsza] { display: block; }

.field-heading-eyebrow[b-096i0cbsza] {
    display: block;
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--field-violet, #7B5FBA);
    margin-bottom: 0.6rem;
}

.field-heading-title[b-096i0cbsza] {
    position: relative;
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.015em;
    line-height: 1.02;
    color: var(--field-ink, #0A0A0A);
    margin: 0;
    padding-bottom: 0.75rem;
}
/* Short violet rule under the primary headings (not the smaller sub-levels). */
.field-heading-title:not(.is-sub)[b-096i0cbsza]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 2.5rem; height: 4px;
    background: var(--field-violet, #7B5FBA);
}
/* Rule follows the alignment when the heading is centred/right-aligned. */
.field-heading[style*="center"] .field-heading-title:not(.is-sub)[b-096i0cbsza]::after { left: 50%; transform: translateX(-50%); }
.field-heading[style*="right"] .field-heading-title:not(.is-sub)[b-096i0cbsza]::after { left: auto; right: 0; }

.field-heading-title.is-sub[b-096i0cbsza] {
    padding-bottom: 0;
    letter-spacing: 0;
    text-transform: none;
}
/* /Themes/Field/Blocks/FieldHeroBanner.razor.rz.scp.css */
/* Field hero — dark industrial slab, violet edge stripe, Archivo Black headline, mono telemetry.
   Consumes the theme's --field-* / --kw-* tokens (defined under .theme-field in theme-field.css). */

.field-hero[b-547pd4ort2] {
    position: relative;
    min-height: 82vh;
    display: flex;
    align-items: center;
    background: var(--field-ink, #0A0A0A);
    overflow: hidden;
}

/* Violet signature stripe down the left edge. */
.field-hero[b-547pd4ort2]::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 12px;
    background: var(--field-violet, #7B5FBA);
    z-index: 3;
}

/* Construction-tape diagonal texture at very low alpha. */
.field-hero[b-547pd4ort2]::after {
    content: "";
    position: absolute; inset: 0;
    background: repeating-linear-gradient(-45deg,
        rgba(123, 95, 186, 0.07) 0 14px, transparent 14px 40px);
    pointer-events: none;
    z-index: 2;
}

.field-hero-slides[b-547pd4ort2] { position: absolute; inset: 0; z-index: 0; }
.field-hero-slide[b-547pd4ort2] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transition: opacity 0.8s ease;
}
.field-hero-slide.is-active[b-547pd4ort2] { opacity: 1; }

.field-hero-scrim[b-547pd4ort2] {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(95deg,
        rgba(10, 10, 10, 0.92) 0%,
        rgba(10, 10, 10, 0.6) 55%,
        rgba(10, 10, 10, 0.35) 100%);
}

.field-hero-inner[b-547pd4ort2] {
    position: relative; z-index: 4;
    width: 100%;
    padding-left: 2.5rem;
    color: #fff;
}

.field-hero-index[b-547pd4ort2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--field-stripe, #DBC8FA);
    margin-bottom: 1.25rem;
}

.field-hero-title[b-547pd4ort2] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    color: #fff;
    font-size: clamp(2.75rem, 7vw, 6.5rem);
    line-height: 0.92;
    letter-spacing: -0.03em;
    max-width: 16ch;
    margin: 0 0 1.5rem;
}

.field-hero-sub[b-547pd4ort2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: clamp(0.875rem, 1.1vw, 1.0625rem);
    color: var(--field-stripe, #DBC8FA);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: 1.6;
    max-width: 52ch;
    margin-bottom: 2.25rem;
}

.field-hero-actions[b-547pd4ort2] { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 2.5rem; }

.field-hero-cta[b-547pd4ort2] {
    display: inline-flex; align-items: center;
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #fff;
    background: var(--field-violet, #7B5FBA);
    border: 2px solid var(--field-violet, #7B5FBA);
    padding: 1rem 2rem;
    /* Slanted right edge — industrial signage. */
    clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
    transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.18s ease;
}
.field-hero-cta:hover[b-547pd4ort2] {
    background: #fff;
    color: var(--field-ink, #0A0A0A);
    transform: translate(-2px, -2px);
    box-shadow: 4px 4px 0 0 var(--field-violet, #7B5FBA);
}

.field-hero-cta-ghost[b-547pd4ort2] {
    display: inline-flex; align-items: center;
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.4);
    padding: 1rem 1.5rem;
    transition: border-color 0.18s ease, color 0.18s ease;
}
.field-hero-cta-ghost:hover[b-547pd4ort2] { border-color: #fff; color: var(--field-stripe, #DBC8FA); }

/* Monospace telemetry strap — the industrial data cue. */
.field-hero-telemetry[b-547pd4ort2] {
    display: flex; flex-wrap: wrap; gap: 2.5rem;
    border-top: 1px dashed rgba(255,255,255,0.25);
    padding-top: 1.25rem;
    margin: 0;
    max-width: 640px;
}
.field-hero-telemetry dt[b-547pd4ort2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.625rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.55);
    margin-bottom: 0.25rem;
}
.field-hero-telemetry dd[b-547pd4ort2] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 1.125rem;
    color: #fff;
    margin: 0;
}
.field-hero-telemetry dd.is-live[b-547pd4ort2] { color: var(--field-live, #4ADE80); }

/* Numeric slide indicators (01 / 02 / 03) bottom-right instead of dots. */
.field-hero-index-dots[b-547pd4ort2] {
    position: absolute; z-index: 4;
    right: 2rem; bottom: 1.75rem;
    display: flex; gap: 0.5rem;
}
.field-hero-dot[b-547pd4ort2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.5);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.15rem 0.1rem;
    cursor: pointer;
    transition: color 0.18s ease, border-color 0.18s ease;
}
.field-hero-dot.is-active[b-547pd4ort2] { color: #fff; border-bottom-color: var(--field-violet, #7B5FBA); }

@media (max-width: 900px) {
    .field-hero[b-547pd4ort2] { min-height: 70vh; }
    .field-hero-inner[b-547pd4ort2] { padding-left: 1.5rem; }
    .field-hero-telemetry[b-547pd4ort2] { gap: 1.5rem; }
}
/* /Themes/Field/Blocks/FieldTestimonial.razor.rz.scp.css */
/* Field testimonial — bordered "field report" card with corner notch + mono attribution. */
.field-testimonial[b-31iyx10gqd] {
    position: relative;
    background: #fff;
    border: 2px solid var(--field-ink, #0A0A0A);
    padding: 2rem 1.75rem 1.5rem;
    margin: 0;
    max-width: 640px;
}
.field-testimonial[b-31iyx10gqd]::before {
    content: "";
    position: absolute;
    top: -2px; left: -2px;
    width: 24px; height: 24px;
    background: var(--field-violet, #7B5FBA);
    clip-path: polygon(0 0, 100% 0, 0 100%);
}
.field-testimonial-tag[b-31iyx10gqd] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--field-purple, #3D1B7A);
    margin-bottom: 1rem;
}
.field-testimonial-quote[b-31iyx10gqd] {
    font-family: 'Archivo', system-ui, sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--field-ink, #0A0A0A);
    margin: 0 0 1.25rem;
}
.field-testimonial-by[b-31iyx10gqd] {
    display: flex; flex-direction: column; gap: 0.15rem;
    border-top: 1px dashed var(--field-ink, #0A0A0A);
    padding-top: 0.875rem;
}
.field-testimonial-name[b-31iyx10gqd] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 0.8125rem;
    text-transform: uppercase;
    color: var(--field-ink, #0A0A0A);
}
.field-testimonial-role[b-31iyx10gqd] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--field-purple, #3D1B7A);
}
/* /Themes/Field/FieldFooter.razor.rz.scp.css */
/* Field — industrial footer.
   Top: "Walk in. Roll out." purple slab CTA band with electric-violet
        slanted button.
   Middle: 4-column index labelled with mono "01 / Routes" headers.
   Bottom: copyright + telemetry-style "POWERED BY KROMEOS" tag. */

.field-footer[b-zv01hlbkb5] {
    margin-top: 5rem;
    background: var(--field-paper, #F2F0EC);
    color: var(--field-ink, #0A0A0A);
    font-family: 'Archivo', system-ui, sans-serif;
}

/* ── Top CTA band ────────────────────────────────────────────────── */
.field-footer-band[b-zv01hlbkb5] {
    background: var(--field-purple, #3D1B7A);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.field-footer-band[b-zv01hlbkb5]::before {
    /* Diagonal stripe overlay — construction tape texture, very subtle. */
    content: "";
    position: absolute; inset: 0;
    background: repeating-linear-gradient(
        -45deg,
        rgba(255, 255, 255, 0.05) 0 12px,
        transparent 12px 36px
    );
    pointer-events: none;
}
.field-footer-band-inner[b-zv01hlbkb5] {
    display: flex; align-items: center; justify-content: space-between;
    gap: 2rem;
    padding: 3.5rem 2rem;
    position: relative; z-index: 1;
    flex-wrap: wrap;
}
.field-footer-eyebrow[b-zv01hlbkb5] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--field-stripe, #DBC8FA);
    margin-bottom: 0.5rem;
    display: block;
}
.field-footer-cta h3[b-zv01hlbkb5] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: #fff;
}
.field-footer-cta-btn[b-zv01hlbkb5] {
    display: inline-flex; align-items: center;
    padding: 0 2rem 0 1.625rem; height: 60px;
    background: var(--field-violet, #7B5FBA);
    color: #fff;
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%);
    transition: background 0.18s ease, transform 0.12s ease;
}
.field-footer-cta-btn:hover[b-zv01hlbkb5] {
    background: #fff;
    color: var(--field-purple, #3D1B7A);
    transform: translateX(2px);
}

/* ── 4-column index ─────────────────────────────────────────────── */
.field-footer-grid[b-zv01hlbkb5] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    padding: 3.5rem 2rem 2rem;
}
.field-footer-grid section[b-zv01hlbkb5] { min-width: 0; }

.field-footer-label[b-zv01hlbkb5] {
    display: block;
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--field-purple, #3D1B7A);
    margin-bottom: 1.125rem;
    padding-bottom: 0.625rem;
    border-bottom: 2px solid var(--field-ink, #0A0A0A);
}

.field-footer-grid a[b-zv01hlbkb5],
.field-footer-grid p[b-zv01hlbkb5] {
    display: block;
    font-family: 'Archivo', system-ui, sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.75;
    color: var(--field-ink, #0A0A0A);
    text-decoration: none;
    transition: color 0.18s ease, padding-left 0.18s ease;
}
.field-footer-grid a:hover[b-zv01hlbkb5] {
    color: var(--field-violet, #7B5FBA);
    padding-left: 0.5rem;
}

/* ── Bottom row ─────────────────────────────────────────────────── */
.field-footer-bottom[b-zv01hlbkb5] {
    border-top: 1px solid var(--field-ink, #0A0A0A);
    padding: 1.25rem 2rem;
    display: flex; justify-content: space-between; align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.field-footer-bottom p[b-zv01hlbkb5] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    color: var(--field-ink, #0A0A0A);
    text-transform: uppercase;
}
.field-footer-powered[b-zv01hlbkb5] {
    color: var(--field-purple, #3D1B7A) !important;
    font-weight: 700;
}

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .field-footer-band-inner[b-zv01hlbkb5] { padding: 2.5rem 1.25rem; gap: 1.5rem; }
    .field-footer-grid[b-zv01hlbkb5] {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 1.5rem;
        padding: 2.5rem 1.25rem 1.5rem;
    }
    .field-footer-bottom[b-zv01hlbkb5] { padding: 1.25rem; }
}
@media (max-width: 520px) {
    .field-footer-grid[b-zv01hlbkb5] { grid-template-columns: 1fr; }
}
/* /Themes/Field/FieldHeader.razor.rz.scp.css */
/* Field — industrial fixed header.
   Strap row: deep-purple band with JetBrains-Mono live-status line.
   Main row: square "FK" hazard mark + Archivo-Black wordmark + mono nav
            + slanted-edge electric-violet "Book gear" CTA. */

.field-header[b-p07ayqmtvm] {
    position: fixed; top: 0; left: 0; right: 0;
    z-index: 1000;
    font-family: 'Archivo', system-ui, sans-serif;
    /* Hard 3px ink rule under the whole header — proper construction
       signage weight. Previous 1px box-shadow read as a soft Material
       elevation, which clashed with the Archivo Black + clip-path
       aesthetic. */
    border-bottom: 3px solid var(--field-ink, #0A0A0A);
}

/* ── Strap (deep purple, JetBrains Mono status line) ────────────── */
.field-header-strap[b-p07ayqmtvm] {
    background: var(--field-purple-deep, #2A1056);
    color: var(--field-stripe, #DBC8FA);
    height: 30px;
    overflow: hidden;
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.field-strap-inner[b-p07ayqmtvm] {
    display: flex; align-items: center; justify-content: space-between;
    height: 100%;
}
.field-strap-status[b-p07ayqmtvm] {
    display: inline-flex; align-items: center; gap: 0.625rem;
}
.field-strap-dot[b-p07ayqmtvm] {
    display: inline-block;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--field-live, #4ADE80);
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18);
    animation: field-pulse-b-p07ayqmtvm 2.4s ease-in-out infinite;
}
@keyframes field-pulse-b-p07ayqmtvm {
    0%, 100% { box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.18); }
    50%      { box-shadow: 0 0 0 6px rgba(74, 222, 128, 0.06); }
}
.field-strap-call[b-p07ayqmtvm] {
    color: var(--field-violet, #7B5FBA);
    text-decoration: none;
    transition: color 0.18s ease;
}
.field-strap-call:hover[b-p07ayqmtvm] { color: #fff; }

/* ── Main row (white background) ────────────────────────────────── */
.field-header-inner[b-p07ayqmtvm] {
    background: #fff;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 2rem;
    height: 84px;
    /* No internal border — the parent .field-header has the 3px ink rule. */
}

.field-logo[b-p07ayqmtvm] {
    display: inline-flex; align-items: center; gap: 0.875rem;
    text-decoration: none;
    color: var(--field-ink, #0A0A0A);
}
.field-logo img[b-p07ayqmtvm] { height: 40px; }
.field-logo-mark[b-p07ayqmtvm] {
    /* Hazard-label square: purple block, white Archivo Black "FK".
       Larger + deeper slash than before — proper construction-permit cue. */
    display: inline-flex; align-items: center; justify-content: center;
    width: 48px; height: 48px;
    background: var(--field-purple, #3D1B7A);
    color: #fff;
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 1.0625rem;
    font-weight: 900;
    letter-spacing: 0.02em;
    line-height: 1;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
    box-shadow: inset 0 0 0 2px var(--field-ink, #0A0A0A);
}
.field-logo-text[b-p07ayqmtvm] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    /* Bigger than before so the wordmark anchors the brand row at the
       new 84px height. */
    font-size: 1.625rem;
    font-weight: 900;
    letter-spacing: -0.015em;
    text-transform: uppercase;
    line-height: 0.95;
    color: var(--field-ink, #0A0A0A);
}

/* ── Nav (mono uppercase, justify center) ───────────────────────── */
.field-nav[b-p07ayqmtvm] {
    display: flex; gap: 2.25rem; justify-content: center;
}
.field-nav a[b-p07ayqmtvm] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--field-ink, #0A0A0A);
    text-decoration: none;
    position: relative;
    padding: 0.375rem 0;
    transition: color 0.18s ease;
}
.field-nav a[b-p07ayqmtvm]::before {
    /* Bracket-style marker that appears on hover — telemetry vibe. */
    content: "[";
    margin-right: 0.25rem;
    color: var(--field-violet, #7B5FBA);
    opacity: 0;
    transition: opacity 0.2s ease;
}
.field-nav a[b-p07ayqmtvm]::after {
    content: "]";
    margin-left: 0.25rem;
    color: var(--field-violet, #7B5FBA);
    opacity: 0;
    transition: opacity 0.2s ease;
}
.field-nav a:hover[b-p07ayqmtvm] { color: var(--field-purple, #3D1B7A); }
.field-nav a:hover[b-p07ayqmtvm]::before,
.field-nav a:hover[b-p07ayqmtvm]::after { opacity: 1; }

/* ── Header actions ─────────────────────────────────────────────── */
.field-header-actions[b-p07ayqmtvm] { display: flex; gap: 0.5rem; align-items: stretch; }

.field-cart-btn[b-p07ayqmtvm] {
    display: inline-flex; align-items: center;
    padding: 0 1.25rem; height: 44px;
    border: 2px solid var(--field-ink, #0A0A0A);
    background: #fff;
    color: var(--field-ink, #0A0A0A);
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}
.field-cart-btn:hover[b-p07ayqmtvm] {
    background: var(--field-ink, #0A0A0A);
    color: #fff;
}

.field-book-btn[b-p07ayqmtvm] {
    display: inline-flex; align-items: center;
    padding: 0 1.5rem 0 1.25rem; height: 44px;
    background: var(--field-purple, #3D1B7A);
    color: #fff;
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 0.8125rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    /* Slanted right edge — the construction-signage tell. */
    clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
    transition: background 0.18s ease;
}
.field-book-btn:hover[b-p07ayqmtvm] { background: var(--field-violet, #7B5FBA); }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .field-header-strap[b-p07ayqmtvm] { display: none; }
    .field-header-inner[b-p07ayqmtvm] {
        grid-template-columns: auto auto;
        height: 64px;
        gap: 0.75rem;
        padding: 0 1rem;
    }
    .field-nav[b-p07ayqmtvm] { display: none; }
    .field-logo-text[b-p07ayqmtvm] { font-size: 1.125rem; }
    .field-cart-btn[b-p07ayqmtvm] { padding: 0 0.75rem; height: 38px; font-size: 0.6875rem; }
    .field-book-btn[b-p07ayqmtvm] { padding: 0 1.125rem 0 0.875rem; height: 38px; font-size: 0.6875rem; }
}
/* /Themes/Field/FieldLayout.razor.rz.scp.css */
/* Field — layout shell.
   Pads body below the fixed two-row header: strap (30px) + main (84px) +
   3px ink rule = 117px. */
.field-layout[b-yvfiybgpck] {
    padding-top: 117px;
    background: var(--field-paper, #F2F0EC);
    color: var(--field-ink, #0A0A0A);
    min-height: 100vh;
}

@media (max-width: 900px) {
    /* Strap collapses out on mobile; main row remains. */
    .field-layout[b-yvfiybgpck] { padding-top: 67px; }
}
/* /Themes/Field/FieldProductCard.razor.rz.scp.css */
/* Field — industrial product card.
   3:2 landscape crop (third unique aspect — Studio=1:1, Lens=3:4).
   Slanted violet stripe across the image corner (clip-path stripe, not a
   pill). Mono price big and tabular. Black underline on the entire card
   that shifts violet on hover. */

.field-pcard[b-cj1nmints2] {
    display: block;
    background: #fff;
    border: 2px solid var(--field-ink, #0A0A0A);
    text-decoration: none;
    color: inherit;
    font-family: 'Archivo', system-ui, sans-serif;
    transition: transform 0.18s ease;
    position: relative;
}
.field-pcard:hover[b-cj1nmints2] {
    transform: translate(-2px, -2px);
    box-shadow: 4px 4px 0 0 var(--field-violet, #7B5FBA);
}

/* ── Media — 3:2 landscape ──────────────────────────────────────── */
.field-pcard-media[b-cj1nmints2] {
    position: relative;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: var(--field-paper, #F2F0EC);
    border-bottom: 2px solid var(--field-ink, #0A0A0A);
}
.field-pcard-media img[b-cj1nmints2] {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.2, 0, 0.2, 1);
}
.field-pcard:hover .field-pcard-media img[b-cj1nmints2] { transform: scale(1.03); }
.field-pcard-placeholder[b-cj1nmints2] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: var(--field-purple, #3D1B7A);
}

/* Slanted purple stripe across the bottom-right of the image — printed
   ribbon vibe, not a sale pill. Uses clip-path to fake a true slash. */
.field-pcard-slash[b-cj1nmints2] {
    position: absolute;
    bottom: 0; right: 0;
    width: 72px; height: 24px;
    background: var(--field-purple, #3D1B7A);
    clip-path: polygon(24px 0, 100% 0, 100% 100%, 0 100%);
}

/* ── Info ───────────────────────────────────────────────────────── */
.field-pcard-info[b-cj1nmints2] { padding: 0.875rem 1rem 1.125rem; }
.field-pcard-row[b-cj1nmints2] {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 0.625rem;
}
.field-pcard-cat[b-cj1nmints2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    color: var(--field-purple, #3D1B7A);
}
.field-pcard-status[b-cj1nmints2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.5625rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    color: var(--field-live, #4ADE80);
    padding: 0.2rem 0.4rem;
    border: 1px solid var(--field-live, #4ADE80);
}
.field-pcard-name[b-cj1nmints2] {
    font-family: 'Archivo Black', 'Archivo', sans-serif;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -0.005em;
    line-height: 1.15;
    text-transform: uppercase;
    color: var(--field-ink, #0A0A0A);
    margin-bottom: 0.75rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.3em;
}

/* ── Rate row ───────────────────────────────────────────────────── */
.field-pcard-rate-row[b-cj1nmints2] {
    display: flex; align-items: baseline; gap: 0.4rem;
    border-top: 2px dashed var(--field-ink, #0A0A0A);
    padding-top: 0.75rem;
}
.field-pcard-rate[b-cj1nmints2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--field-ink, #0A0A0A);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}
.field-pcard-rate-unit[b-cj1nmints2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    color: var(--field-violet, #7B5FBA);
    margin-left: auto;
}
.field-pcard-quote[b-cj1nmints2] {
    font-family: 'JetBrains Mono', 'Roboto Mono', ui-monospace, monospace;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: var(--field-purple, #3D1B7A);
}
/* /Themes/Fotokrome/FotokromeFooter.razor.rz.scp.css */
.fk-footer[b-nj99mp8fk6] {
    background: var(--kw-dark);
    color: rgba(255,255,255,0.75);
    padding: 5rem 0 2rem;
    margin-top: auto;
}

.fk-footer-top[b-nj99mp8fk6] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.fk-footer-brand h3[b-nj99mp8fk6] {
    color: var(--kw-light);
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
}
.fk-footer-brand p[b-nj99mp8fk6] {
    color: rgba(255,255,255,0.55);
    font-size: 0.9375rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
    max-width: 340px;
}

.fk-footer-whatsapp[b-nj99mp8fk6] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: #25D366;
    color: var(--kw-light);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: background var(--kw-transition);
}
.fk-footer-whatsapp:hover[b-nj99mp8fk6] { background: #1eb353; color: var(--kw-light); }

.fk-footer-col h4[b-nj99mp8fk6] {
    color: var(--kw-light);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 1.5rem;
}

.fk-footer-col a[b-nj99mp8fk6] {
    display: block;
    color: rgba(255,255,255,0.55);
    font-size: 0.9375rem;
    text-decoration: none;
    margin-bottom: 0.75rem;
    transition: color var(--kw-transition);
}
.fk-footer-col a:hover[b-nj99mp8fk6] { color: var(--kw-accent); }

.fk-footer-locations .fk-location[b-nj99mp8fk6] {
    margin-bottom: 1.25rem;
}

.fk-footer-locations .fk-location strong[b-nj99mp8fk6] {
    display: block;
    color: var(--kw-light);
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.fk-footer-locations .fk-location p[b-nj99mp8fk6] {
    color: rgba(255,255,255,0.55);
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0;
}

.fk-footer-bottom[b-nj99mp8fk6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 2rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.fk-footer-bottom p[b-nj99mp8fk6] {
    font-size: 0.8125rem;
    color: rgba(255,255,255,0.35);
    margin: 0;
}

.fk-footer-social[b-nj99mp8fk6] {
    display: flex;
    gap: 1.5rem;
}

.fk-footer-social a[b-nj99mp8fk6] {
    color: rgba(255,255,255,0.55);
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: color var(--kw-transition);
}
.fk-footer-social a:hover[b-nj99mp8fk6] { color: var(--kw-accent); }

@media (max-width: 900px) {
    .fk-footer-top[b-nj99mp8fk6] {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }
    .fk-footer-brand[b-nj99mp8fk6] { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
    .fk-footer-top[b-nj99mp8fk6] { grid-template-columns: 1fr; gap: 2rem; }
    .fk-footer-bottom[b-nj99mp8fk6] { flex-direction: column; text-align: center; }
}
/* /Themes/Fotokrome/FotokromeHeader.razor.rz.scp.css */
.fk-header[b-s464p658gq] {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    background: transparent;
    transition: background var(--kw-transition), box-shadow var(--kw-transition), border-color var(--kw-transition);
    padding: 1.25rem 0;
}

/* NOTE: use the plain scoped selector — NOT a `:global(...)` variant. The header element
   carries this component's scope attribute, so `.fk-header.header-scrolled` matches. A
   `:global(...)` selector here compiled to `:global(...)[scope]`, an invalid pseudo that
   made the browser drop the whole comma-rule — so the solid-header state never applied
   (the header stayed transparent with light nav on every non-hero page). */
.fk-header.header-scrolled[b-s464p658gq] {
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--kw-border);
    padding: 0.75rem 0;
}

.fk-header-inner[b-s464p658gq] {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto;
    align-items: center;
    gap: 1.5rem;
}

.fk-logo[b-s464p658gq] {
    grid-column: 3;
    text-align: center;
    text-decoration: none;
}

.fk-logo-text[b-s464p658gq] {
    font-family: var(--kw-font);
    font-size: 1.375rem;
    font-weight: 800;
    color: var(--kw-light);
    letter-spacing: -0.02em;
    text-transform: uppercase;
    transition: color var(--kw-transition);
}

.fk-header.header-scrolled .fk-logo-text[b-s464p658gq] { color: var(--kw-dark); }
.fk-logo img[b-s464p658gq] { height: 36px; width: auto; }

.fk-nav[b-s464p658gq] { display: flex; gap: 2rem; }
.fk-nav-left[b-s464p658gq] { grid-column: 2; justify-content: flex-end; }
.fk-nav-right[b-s464p658gq] { grid-column: 4; justify-content: flex-start; }

.fk-nav a[b-s464p658gq] {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255,255,255,0.85);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    text-decoration: none;
    transition: color var(--kw-transition);
}

.fk-nav a:hover[b-s464p658gq] { color: var(--kw-accent); }
.fk-header.header-scrolled .fk-nav a[b-s464p658gq] { color: var(--kw-text); }
.fk-header.header-scrolled .fk-nav a:hover[b-s464p658gq] { color: var(--kw-accent); }

.fk-header-actions[b-s464p658gq] {
    grid-column: 5;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.fk-header-login[b-s464p658gq] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    transition: color var(--kw-transition);
}
.fk-header-login:hover[b-s464p658gq] { color: var(--kw-accent); }
.fk-header.header-scrolled .fk-header-login[b-s464p658gq] { color: var(--kw-text); }

.fk-cart-btn[b-s464p658gq] {
    position: relative;
    color: var(--kw-light);
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: color var(--kw-transition);
}
.fk-header.header-scrolled .fk-cart-btn[b-s464p658gq] { color: var(--kw-dark); }
.fk-cart-btn:hover[b-s464p658gq] { color: var(--kw-accent); }

.fk-cart-badge[b-s464p658gq] {
    position: absolute;
    top: -8px; right: -10px;
    min-width: 20px; height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: var(--kw-accent);
    color: var(--kw-light);
    font-size: 0.6875rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.fk-hamburger[b-s464p658gq] {
    display: none;
    grid-column: 1;
    background: none; border: none; cursor: pointer;
    padding: 0.5rem;
    flex-direction: column; gap: 5px;
    align-items: center; justify-content: center;
}
.fk-hamburger span[b-s464p658gq] {
    display: block; width: 22px; height: 2px;
    background: var(--kw-light);
    transition: background var(--kw-transition);
}
.fk-header.header-scrolled .fk-hamburger span[b-s464p658gq] { background: var(--kw-dark); }

.fk-mobile-nav[b-s464p658gq] {
    display: none;
}

@media (max-width: 900px) {
    .fk-nav[b-s464p658gq] { display: none; }
    .fk-hamburger[b-s464p658gq] { display: flex; }
    .fk-header-inner[b-s464p658gq] { grid-template-columns: auto 1fr auto; gap: 1rem; }
    .fk-logo[b-s464p658gq] { grid-column: 2; }
    .fk-header-actions[b-s464p658gq] { grid-column: 3; gap: 1rem; }
    .fk-header-login[b-s464p658gq] { display: none; }
}
/* /Themes/Fotokrome/FotokromeLayout.razor.rz.scp.css */
.fotokrome-layout[b-97dbfa3uxa] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--kw-light);
}
/* /Themes/Fotokrome/FotokromeProductCard.razor.rz.scp.css */
.fk-pcard[b-d6ha17xifd] {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.25s ease;
}

.fk-pcard:hover[b-d6ha17xifd] { transform: translateY(-3px); }

.fk-pcard-img[b-d6ha17xifd] {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #eef1f2;
    margin-bottom: 1rem;
}

.fk-pcard-img img[b-d6ha17xifd] {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.fk-pcard:hover .fk-pcard-img img[b-d6ha17xifd] { transform: scale(1.04); }

.fk-pcard-placeholder[b-d6ha17xifd] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #e4e8ea 0%, #f1f3f4 100%);
    color: var(--kw-dark);
}

.fk-pcard-info[b-d6ha17xifd] { padding: 0 0.125rem; }

.fk-pcard-category[b-d6ha17xifd] {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--kw-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.375rem;
}

.fk-pcard-name[b-d6ha17xifd] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--kw-text);
    letter-spacing: -0.01em;
    margin-bottom: 0.375rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fk-pcard-price[b-d6ha17xifd] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--kw-text);
    margin: 0;
}

.fk-pcard-price span[b-d6ha17xifd] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--kw-text-muted);
    letter-spacing: 0.02em;
    margin-left: 0.1875rem;
}

.fk-pcard-price-cta[b-d6ha17xifd] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--kw-accent);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0;
}
/* /Themes/Grain/Blocks/GrainCategoryGrid.razor.rz.scp.css */
/* Grain category grid — editorial tiles: warm overlay, centred serif name over a crimson divider,
   small-caps count. Consumes .theme-grain --kw-* tokens with literal fallbacks. */
.grain-catgrid[b-obm814qeuj] { padding: 5rem 0; text-align: center; }

.grain-catgrid-eyebrow[b-obm814qeuj] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-variant: small-caps;
    text-transform: lowercase;
    letter-spacing: 0.22em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--kw-accent, #e72d43);
    margin-bottom: 0.6rem;
}
.grain-catgrid-title[b-obm814qeuj] {
    position: relative;
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-weight: 700;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #2b2320);
    margin: 0 auto 2.5rem;
    padding-bottom: 1.25rem;
}
.grain-catgrid-title[b-obm814qeuj]::after {
    content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
    width: 3rem; height: 2px; background: var(--kw-accent, #e72d43);
}

.grain-catgrid-grid[b-obm814qeuj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
}

.grain-cat[b-obm814qeuj] {
    position: relative;
    display: block;
    min-height: 260px;
    background: var(--kw-dark, #1c1614);
    border: 1px solid var(--kw-border-strong, #e0d8cf);
    overflow: hidden;
    color: var(--kw-light, #fdfbf7);
}
.grain-cat-img[b-obm814qeuj] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform 0.5s ease;
}
.grain-cat:hover .grain-cat-img[b-obm814qeuj] { transform: scale(1.05); }
.grain-cat-overlay[b-obm814qeuj] {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(28,22,20,0.25) 0%, rgba(28,22,20,0.78) 100%);
}

.grain-cat-body[b-obm814qeuj] {
    position: absolute; z-index: 2; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 1.5rem;
}
.grain-cat-name[b-obm814qeuj] {
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.25;
    color: var(--kw-light, #fdfbf7);
}
.grain-cat-rule[b-obm814qeuj] {
    display: block;
    width: 2rem; height: 2px;
    background: var(--kw-accent, #e72d43);
    margin: 0.85rem auto;
}
.grain-cat-count[b-obm814qeuj] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-variant: small-caps;
    text-transform: lowercase;
    letter-spacing: 0.16em;
    font-size: 0.75rem;
    color: var(--kw-accent-soft, #f4a6b0);
}

.grain-cat-skeleton[b-obm814qeuj] {
    min-height: 260px;
    background: linear-gradient(100deg, #efe9e1 30%, #e4dcd2 50%, #efe9e1 70%);
    border: 1px solid var(--kw-border-strong, #e0d8cf);
}
.grain-catgrid-empty[b-obm814qeuj] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    color: var(--kw-text-muted, #8a807a);
}

@media (max-width: 900px) { .grain-catgrid[b-obm814qeuj] { padding: 3.5rem 0; } }
@media (prefers-reduced-motion: reduce) {
    .grain-cat-img[b-obm814qeuj] { transition: none; }
    .grain-cat:hover .grain-cat-img[b-obm814qeuj] { transform: none; }
}
/* /Themes/Grain/Blocks/GrainCtaBanner.razor.rz.scp.css */
/* Grain CTA — centred warm panel with thin crimson top/bottom rules, small-caps eyebrow, serif
   headline. Consumes .theme-grain --kw-* tokens with literal fallbacks. */
.grain-cta[b-61f0ph4a6b] {
    position: relative;
    background: var(--kw-dark, #1c1614);
    color: var(--kw-light, #fdfbf7);
    padding: 5.5rem 0;
    text-align: center;
    overflow: hidden;
}
/* Thin double crimson rules frame the panel — the classic editorial divider. */
.grain-cta[b-61f0ph4a6b]::before,
.grain-cta[b-61f0ph4a6b]::after {
    content: "";
    position: absolute; left: 0; right: 0;
    height: 2px;
    background: var(--kw-accent, #e72d43);
    opacity: 0.85;
    z-index: 2;
}
.grain-cta[b-61f0ph4a6b]::before { top: 0; }
.grain-cta[b-61f0ph4a6b]::after { bottom: 0; }

.grain-cta-scrim[b-61f0ph4a6b] {
    position: absolute; inset: 0;
    background: rgba(28, 22, 20, 0.68);
    z-index: 1;
}

.grain-cta-inner[b-61f0ph4a6b] { position: relative; z-index: 3; }

.grain-cta-eyebrow[b-61f0ph4a6b] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-variant: small-caps;
    text-transform: lowercase;
    letter-spacing: 0.22em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--kw-accent-soft, #f4a6b0);
    margin-bottom: 1rem;
}
.grain-cta-title[b-61f0ph4a6b] {
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-weight: 700;
    color: var(--kw-light, #fdfbf7);
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.25;
    max-width: 24ch;
    margin: 0 auto 1.25rem;
}
.grain-cta-sub[b-61f0ph4a6b] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-size: 1rem;
    color: rgba(253, 251, 247, 0.82);
    max-width: 54ch;
    margin: 0 auto 2rem;
    line-height: 1.7;
}
.grain-cta-actions[b-61f0ph4a6b] {
    display: flex; gap: 1.5rem;
    align-items: center; justify-content: center;
    flex-wrap: wrap;
}
.grain-cta-btn[b-61f0ph4a6b] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
    color: #fff;
    background: var(--kw-accent, #e72d43);
    border: 1px solid var(--kw-accent, #e72d43);
    padding: 0.9rem 2.25rem;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.grain-cta-btn:hover[b-61f0ph4a6b] { background: var(--kw-accent-deep, #c31f34); border-color: var(--kw-accent-deep, #c31f34); }
.grain-cta-link[b-61f0ph4a6b] {
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-style: italic;
    font-size: 1rem;
    color: var(--kw-light, #fdfbf7);
    border-bottom: 1px solid var(--kw-accent, #e72d43);
    padding-bottom: 2px;
    transition: color 0.18s ease;
}
.grain-cta-link:hover[b-61f0ph4a6b] { color: var(--kw-accent-soft, #f4a6b0); }

@media (max-width: 900px) { .grain-cta[b-61f0ph4a6b] { padding: 3.5rem 0; } }
/* /Themes/Grain/Blocks/GrainFaq.razor.rz.scp.css */
/* Grain FAQ — editorial serif accordion with warm rules and a thin crimson [+]→[–] marker.
   Consumes .theme-grain --kw-* tokens with literal fallbacks. */
.grain-faq[b-wh73pd6cye] {
    border-top: 1px solid var(--kw-border-strong, #e0d8cf);
    max-width: 780px;
}

.grain-faq-item[b-wh73pd6cye] {
    border-bottom: 1px solid var(--kw-border-strong, #e0d8cf);
}

.grain-faq-q[b-wh73pd6cye] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.35rem 0.25rem;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.grain-faq-q[b-wh73pd6cye]::-webkit-details-marker { display: none; }

.grain-faq-question[b-wh73pd6cye] {
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-weight: 700;
    font-size: 1.0625rem;
    line-height: 1.4;
    color: var(--kw-text, #2b2320);
}
.grain-faq-item[open] .grain-faq-question[b-wh73pd6cye] { color: var(--kw-accent, #e72d43); }

/* Thin crimson [+] marker that becomes [–] when the row is open. */
.grain-faq-marker[b-wh73pd6cye] {
    position: relative;
    flex: 0 0 auto;
    width: 18px; height: 18px;
}
.grain-faq-marker[b-wh73pd6cye]::before,
.grain-faq-marker[b-wh73pd6cye]::after {
    content: "";
    position: absolute;
    background: var(--kw-accent, #e72d43);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.grain-faq-marker[b-wh73pd6cye]::before { width: 14px; height: 1.5px; }
.grain-faq-marker[b-wh73pd6cye]::after  { width: 1.5px; height: 14px; }
.grain-faq-item[open] .grain-faq-marker[b-wh73pd6cye]::after { display: none; }   /* [+] -> [–] */

.grain-faq-answer[b-wh73pd6cye] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--kw-text-muted, #8a807a);
    padding: 0 0 1.35rem;
    margin: 0;
}
.grain-faq-answer[b-wh73pd6cye]  a { color: var(--kw-accent, #e72d43); text-decoration: underline; }
/* /Themes/Grain/Blocks/GrainFeaturesRow.razor.rz.scp.css */
/* Grain features — centred editorial columns with crimson icons, serif titles and thin vertical
   rule dividers. Consumes .theme-grain --kw-* tokens with literal fallbacks. */
.grain-features[b-s0zs0z2mtv] { padding: 5rem 0; text-align: center; }

.grain-features-title[b-s0zs0z2mtv] {
    position: relative;
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-weight: 700;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #2b2320);
    margin: 0 auto 3rem;
    padding-bottom: 1.25rem;
}
.grain-features-title[b-s0zs0z2mtv]::after {
    content: "";
    position: absolute; left: 50%; bottom: 0;
    transform: translateX(-50%);
    width: 3rem; height: 2px;
    background: var(--kw-accent, #e72d43);
}

.grain-features-row[b-s0zs0z2mtv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0;
}

.grain-feature[b-s0zs0z2mtv] {
    padding: 0.5rem 1.75rem;
    border-left: 1px solid var(--kw-border-strong, #e0d8cf);
}
.grain-feature:first-child[b-s0zs0z2mtv] { border-left: none; }

.grain-feature-icon[b-s0zs0z2mtv] {
    color: var(--kw-accent, #e72d43);
    margin-bottom: 1rem;
    line-height: 0;
    display: flex;
    justify-content: center;
}
.grain-feature-icon[b-s0zs0z2mtv]  svg { width: 30px; height: 30px; }

.grain-feature-title[b-s0zs0z2mtv] {
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-weight: 700;
    font-size: 1.0625rem;
    color: var(--kw-text, #2b2320);
    margin-bottom: 0.6rem;
    line-height: 1.35;
}
.grain-feature-text[b-s0zs0z2mtv] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--kw-text-muted, #8a807a);
}

/* Stack cleanly on small screens — drop the vertical rules, add horizontal separators. */
@media (max-width: 700px) {
    .grain-features[b-s0zs0z2mtv] { padding: 3.5rem 0; }
    .grain-feature[b-s0zs0z2mtv] {
        border-left: none;
        border-top: 1px solid var(--kw-border-strong, #e0d8cf);
        padding: 1.75rem 1rem;
    }
    .grain-feature:first-child[b-s0zs0z2mtv] { border-top: none; }
}
/* /Themes/Grain/Blocks/GrainHeading.razor.rz.scp.css */
/* Grain heading — small-caps crimson eyebrow + Merriweather serif title with a short crimson divider.
   Consumes .theme-grain --kw-* tokens with literal fallbacks. */
.grain-heading[b-nvt56iiwb8] { display: block; }

.grain-heading-eyebrow[b-nvt56iiwb8] {
    display: block;
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-variant: small-caps;
    text-transform: lowercase;
    letter-spacing: 0.22em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--kw-accent, #e72d43);
    margin-bottom: 0.6rem;
}

.grain-heading-title[b-nvt56iiwb8] {
    position: relative;
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-weight: 700;
    line-height: 1.3;
    color: var(--kw-text, #2b2320);
    margin: 0;
    padding-bottom: 0.85rem;
}
/* Short crimson divider under the primary headings (not the smaller sub-levels). */
.grain-heading-title:not(.is-sub)[b-nvt56iiwb8]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 3rem; height: 2px;
    background: var(--kw-accent, #e72d43);
}
.grain-heading[style*="center"] .grain-heading-title:not(.is-sub)[b-nvt56iiwb8]::after { left: 50%; transform: translateX(-50%); }
.grain-heading[style*="right"] .grain-heading-title:not(.is-sub)[b-nvt56iiwb8]::after { left: auto; right: 0; }

.grain-heading-title.is-sub[b-nvt56iiwb8] {
    padding-bottom: 0;
}
/* /Themes/Grain/Blocks/GrainHeroBanner.razor.rz.scp.css */
/* Grain hero — centred warm editorial stage, small-caps crimson eyebrow with flanking rules,
   Merriweather serif headline over a centred crimson divider. Consumes .theme-grain --kw-* tokens
   with literal fallbacks. */
.grain-hero[b-9jijh9thet] {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--kw-dark, #1c1614);
    overflow: hidden;
}

.grain-hero-slides[b-9jijh9thet] { position: absolute; inset: 0; z-index: 0; }
.grain-hero-slide[b-9jijh9thet] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transition: opacity 0.9s ease;
}
.grain-hero-slide.is-active[b-9jijh9thet] { opacity: 1; }

.grain-hero-scrim[b-9jijh9thet] {
    position: absolute; inset: 0; z-index: 1;
    background: rgba(28, 22, 20, 0.62);
}

.grain-hero-inner[b-9jijh9thet] {
    position: relative; z-index: 2;
    max-width: 46rem;
    color: var(--kw-light, #fdfbf7);
}

/* Small-caps crimson eyebrow flanked by short decorative rules — the editorial section label. */
.grain-hero-eyebrow[b-9jijh9thet] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.grain-hero-eyebrow span[b-9jijh9thet] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-variant: small-caps;
    text-transform: lowercase;
    letter-spacing: 0.22em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--kw-accent-soft, #f4a6b0);
}
.grain-hero-eyebrow[b-9jijh9thet]::before,
.grain-hero-eyebrow[b-9jijh9thet]::after {
    content: "";
    width: 2.5rem; height: 1px;
    background: var(--kw-accent, #e72d43);
}

.grain-hero-title[b-9jijh9thet] {
    position: relative;
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-weight: 700;
    color: var(--kw-light, #fdfbf7);
    font-size: clamp(2.25rem, 5.5vw, 4rem);
    line-height: 1.18;
    margin: 0 0 1.75rem;
    padding-bottom: 1.5rem;
}
/* Centred crimson divider under the headline. */
.grain-hero-title[b-9jijh9thet]::after {
    content: "";
    position: absolute; left: 50%; bottom: 0;
    transform: translateX(-50%);
    width: 3.5rem; height: 2px;
    background: var(--kw-accent, #e72d43);
}

.grain-hero-sub[b-9jijh9thet] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-size: 1.0625rem;
    line-height: 1.7;
    color: rgba(253, 251, 247, 0.85);
    max-width: 40ch;
    margin: 0 auto 2.25rem;
}

.grain-hero-actions[b-9jijh9thet] {
    display: flex; gap: 1.5rem;
    align-items: center; justify-content: center;
    flex-wrap: wrap;
}
.grain-hero-cta[b-9jijh9thet] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
    color: #fff;
    background: var(--kw-accent, #e72d43);
    border: 1px solid var(--kw-accent, #e72d43);
    padding: 0.9rem 2.25rem;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.grain-hero-cta:hover[b-9jijh9thet] { background: var(--kw-accent-deep, #c31f34); border-color: var(--kw-accent-deep, #c31f34); }

.grain-hero-link[b-9jijh9thet] {
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-style: italic;
    font-size: 1rem;
    color: var(--kw-light, #fdfbf7);
    border-bottom: 1px solid var(--kw-accent, #e72d43);
    padding-bottom: 2px;
    transition: color 0.18s ease;
}
.grain-hero-link:hover[b-9jijh9thet] { color: var(--kw-accent-soft, #f4a6b0); }

.grain-hero-dots[b-9jijh9thet] {
    position: absolute; z-index: 3;
    left: 50%; bottom: 2rem;
    transform: translateX(-50%);
    display: flex; gap: 0.6rem;
}
.grain-hero-dot[b-9jijh9thet] {
    width: 9px; height: 9px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid rgba(253, 251, 247, 0.6);
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.grain-hero-dot:hover[b-9jijh9thet] { border-color: var(--kw-light, #fdfbf7); }
.grain-hero-dot.is-active[b-9jijh9thet] { background: var(--kw-accent, #e72d43); border-color: var(--kw-accent, #e72d43); }

@media (max-width: 900px) { .grain-hero[b-9jijh9thet] { min-height: 70vh; } }

@media (prefers-reduced-motion: reduce) {
    .grain-hero-slide[b-9jijh9thet] { transition: none; }
}
/* /Themes/Grain/Blocks/GrainTestimonial.razor.rz.scp.css */
/* Grain testimonial — centred editorial pull-quote, italic serif, crimson divider, small-caps
   attribution. Consumes .theme-grain --kw-* tokens with literal fallbacks. */
.grain-testimonial[b-mx2f1zobff] {
    text-align: center;
    max-width: 680px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.grain-testimonial-quote[b-mx2f1zobff] {
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(1.25rem, 2.4vw, 1.625rem);
    line-height: 1.5;
    color: var(--kw-text, #2b2320);
    margin: 0;
}
/* Quotes read as a real pull-quote — flanking serif quotation marks. */
.grain-testimonial-quote[b-mx2f1zobff]::before { content: "\201C"; margin-right: 0.1em; color: var(--kw-accent, #e72d43); }
.grain-testimonial-quote[b-mx2f1zobff]::after  { content: "\201D"; margin-left: 0.1em; color: var(--kw-accent, #e72d43); }

.grain-testimonial-rule[b-mx2f1zobff] {
    display: block;
    width: 2.5rem; height: 2px;
    background: var(--kw-accent, #e72d43);
    margin: 1.5rem auto;
}

.grain-testimonial-by[b-mx2f1zobff] {
    display: flex; flex-direction: column; gap: 0.25rem;
    align-items: center;
}
.grain-testimonial-name[b-mx2f1zobff] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-variant: small-caps;
    text-transform: lowercase;
    letter-spacing: 0.14em;
    font-weight: 700;
    font-size: 0.9375rem;
    color: var(--kw-text, #2b2320);
}
.grain-testimonial-role[b-mx2f1zobff] {
    font-family: var(--kw-font-heading, 'Merriweather', Georgia, serif);
    font-style: italic;
    font-size: 0.875rem;
    color: var(--kw-text-muted, #8a807a);
}
/* /Themes/Grain/GrainFooter.razor.rz.scp.css */
.gr-footer[b-qg8u77on00] {
    background: var(--kw-dark);
    color: rgba(255, 255, 255, 0.72);
    padding: 4.5rem 0 2rem;
}

.gr-footer-top[b-qg8u77on00] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.4fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.gr-footer-brand h3[b-qg8u77on00] {
    font-family: var(--kw-font-heading);
    color: #fff; font-size: 1.375rem; font-weight: 700;
    letter-spacing: 0; margin-bottom: 1rem;
}
.gr-footer-brand p[b-qg8u77on00] { font-size: 0.9375rem; line-height: 1.75; margin-bottom: 1.5rem; max-width: 34ch; }

.gr-footer-whatsapp[b-qg8u77on00] {
    display: inline-flex; align-items: center; gap: 0.5rem;
    color: #fff; font-size: 0.875rem; font-weight: 700;
}
.gr-footer-whatsapp:hover[b-qg8u77on00] { color: var(--kw-accent-soft); }

.gr-footer-col h4[b-qg8u77on00] {
    color: #fff; font-size: 0.8125rem; font-weight: 700;
    font-variant: small-caps; text-transform: lowercase;
    letter-spacing: 0.14em; margin-bottom: 1.25rem;
}
.gr-footer-col a[b-qg8u77on00] {
    display: block; font-size: 0.9375rem; color: rgba(255, 255, 255, 0.72);
    padding: 0.3rem 0;
}
.gr-footer-col a:hover[b-qg8u77on00] { color: var(--kw-accent-soft); }

.gr-location[b-qg8u77on00] { margin-bottom: 0.85rem; }
.gr-location strong[b-qg8u77on00] { display: block; color: #fff; font-size: 0.875rem; }
.gr-location span[b-qg8u77on00] { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.6); }

.gr-footer-bottom[b-qg8u77on00] {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 1rem; padding-top: 2rem;
}
.gr-footer-bottom p[b-qg8u77on00] { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.55); }
.gr-footer-social[b-qg8u77on00] { display: flex; gap: 1.5rem; }
.gr-footer-social a[b-qg8u77on00] { font-size: 0.8125rem; font-weight: 600; color: rgba(255, 255, 255, 0.72); }
.gr-footer-social a:hover[b-qg8u77on00] { color: var(--kw-accent-soft); }

@media (max-width: 860px) {
    .gr-footer-top[b-qg8u77on00] { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .gr-footer-brand[b-qg8u77on00] { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
    .gr-footer-top[b-qg8u77on00] { grid-template-columns: 1fr; }
    .gr-footer-bottom[b-qg8u77on00] { flex-direction: column; align-items: flex-start; }
}
/* /Themes/Grain/GrainHeader.razor.rz.scp.css */
.gr-header[b-uctf9ysaan] {
    position: sticky; top: 0; z-index: 100;
    background: var(--kw-light);
    border-bottom: 1px solid var(--kw-border);
    transition: box-shadow var(--kw-transition);
}
.gr-header.header-scrolled[b-uctf9ysaan] { box-shadow: 0 2px 14px rgba(28, 22, 20, 0.07); }

.gr-header-inner[b-uctf9ysaan] {
    display: flex; align-items: center; justify-content: space-between;
    gap: 2rem; height: 82px;
}

.gr-logo[b-uctf9ysaan] { display: inline-flex; align-items: center; }
.gr-logo img[b-uctf9ysaan] { max-height: 42px; width: auto; }
.gr-logo-text[b-uctf9ysaan] {
    font-family: var(--kw-font-heading);
    font-size: 1.5rem; font-weight: 700;
    letter-spacing: 0.01em; color: var(--kw-dark);
}

.gr-nav[b-uctf9ysaan] { display: flex; gap: 2.25rem; }
.gr-nav a[b-uctf9ysaan] {
    font-family: var(--kw-font);
    font-size: 0.9375rem; font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--kw-text); position: relative; padding: 0.25rem 0;
}
.gr-nav a[b-uctf9ysaan]::after {
    content: ""; position: absolute; left: 50%; bottom: -2px;
    width: 0; height: 2px; background: var(--kw-accent);
    transform: translateX(-50%);
    transition: width var(--kw-transition);
}
.gr-nav a:hover[b-uctf9ysaan] { color: var(--kw-accent); }
.gr-nav a:hover[b-uctf9ysaan]::after { width: 100%; }

.gr-header-actions[b-uctf9ysaan] { display: flex; align-items: center; gap: 1rem; }
.gr-cart-btn[b-uctf9ysaan] { position: relative; color: var(--kw-text); display: inline-flex; }
.gr-cart-btn:hover[b-uctf9ysaan] { color: var(--kw-accent); }
.gr-cart-badge[b-uctf9ysaan] {
    position: absolute; top: -8px; right: -8px;
    min-width: 18px; height: 18px; padding: 0 5px;
    background: var(--kw-accent); color: #fff;
    font-size: 0.6875rem; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 9px;
}

.gr-hamburger[b-uctf9ysaan] {
    display: none; flex-direction: column; gap: 4px;
    background: none; border: none; cursor: pointer; padding: 4px;
}
.gr-hamburger span[b-uctf9ysaan] { width: 22px; height: 2px; background: var(--kw-dark); }

.gr-mobile-nav[b-uctf9ysaan] {
    display: none; flex-direction: column;
    border-top: 1px solid var(--kw-border); background: var(--kw-light);
}
.gr-mobile-nav.open[b-uctf9ysaan] { display: flex; }
.gr-mobile-nav a[b-uctf9ysaan] {
    padding: 0.9rem 2rem; font-size: 0.9375rem; font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--kw-text); border-bottom: 1px solid var(--kw-border);
}
.gr-mobile-nav a:hover[b-uctf9ysaan] { color: var(--kw-accent); }

@media (max-width: 860px) {
    .gr-nav[b-uctf9ysaan] { display: none; }
    .gr-hamburger[b-uctf9ysaan] { display: flex; }
}
/* /Themes/Grain/GrainProductCard.razor.rz.scp.css */
.gr-pcard[b-2w2ge73sw1] {
    display: block; text-decoration: none; color: inherit;
    transition: transform 0.25s ease;
}
.gr-pcard:hover[b-2w2ge73sw1] { transform: translateY(-3px); }

.gr-pcard-img[b-2w2ge73sw1] {
    aspect-ratio: 4 / 3; overflow: hidden;
    background: var(--kw-surface-muted); margin-bottom: 1rem;
    border: 1px solid var(--kw-border-strong);
}
.gr-pcard-img img[b-2w2ge73sw1] {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.4s ease;
}
.gr-pcard:hover .gr-pcard-img img[b-2w2ge73sw1] { transform: scale(1.04); }

.gr-pcard-placeholder[b-2w2ge73sw1] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--kw-surface-muted) 0%, var(--kw-surface-muted-2) 100%);
    color: var(--kw-dark);
}

.gr-pcard-category[b-2w2ge73sw1] {
    display: block; font-size: 0.6875rem; font-weight: 700;
    color: var(--kw-accent); font-variant: small-caps; text-transform: lowercase;
    letter-spacing: 0.14em; margin-bottom: 0.375rem;
}
.gr-pcard-name[b-2w2ge73sw1] {
    font-family: var(--kw-font-heading);
    font-size: 1rem; font-weight: 700; color: var(--kw-text);
    letter-spacing: 0; margin-bottom: 0.375rem; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gr-pcard-price[b-2w2ge73sw1] { font-size: 0.9375rem; font-weight: 700; color: var(--kw-text); margin: 0; }
.gr-pcard-price span[b-2w2ge73sw1] { font-size: 0.75rem; font-weight: 500; color: var(--kw-text-muted); margin-left: 0.1875rem; }
.gr-pcard-price-cta[b-2w2ge73sw1] {
    font-size: 0.8125rem; font-weight: 700; color: var(--kw-accent);
    font-variant: small-caps; text-transform: lowercase; letter-spacing: 0.1em; margin: 0;
}
/* /Themes/Lens/Blocks/LensCategoryGrid.razor.rz.scp.css */
/* Lens category grid — refined gallery tiles: warm overlay, inset gold hairline frame, centred serif
   name over a gold hairline rule, letter-spaced count. Gentle shadowless hover. Consumes .theme-lens
   --lens-*/--kw-* tokens with literal fallbacks. */
.lens-catgrid[b-c0tjako9uo] { padding: 6.5rem 0; text-align: center; }

.lens-catgrid-eyebrow[b-c0tjako9uo] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    text-transform: uppercase;
    letter-spacing: 0.32em;
    font-weight: 500;
    font-size: 0.72rem;
    color: var(--lens-gold, #C9A86A);
    margin-bottom: 0.85rem;
}
.lens-catgrid-title[b-c0tjako9uo] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-weight: 500;
    font-size: clamp(1.875rem, 3.75vw, 2.75rem);
    letter-spacing: -0.01em;
    color: var(--lens-ink, #0F0F12);
    margin: 0 auto 3.25rem;
}

.lens-catgrid-grid[b-c0tjako9uo] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.25rem;
}

.lens-cat[b-c0tjako9uo] {
    position: relative;
    display: block;
    min-height: 280px;
    background: var(--lens-paper-warm, #EFE9DF);
    border: 1px solid var(--kw-border-strong, rgba(15, 15, 18, 0.15));
    overflow: hidden;
    color: var(--lens-paper, #F6F1EA);
}
.lens-cat-img[b-c0tjako9uo] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform 0.7s ease;
}
.lens-cat:hover .lens-cat-img[b-c0tjako9uo] { transform: scale(1.04); }
.lens-cat-overlay[b-c0tjako9uo] {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(15,15,18,0.15) 0%, rgba(15,15,18,0.72) 100%);
}
/* Inset gold hairline frame — the gallery mount, brightened gently on hover (no shadow). */
.lens-cat-frame[b-c0tjako9uo] {
    position: absolute; inset: 0.75rem;
    border: 1px solid rgba(201, 168, 106, 0.55);
    z-index: 1;
    transition: border-color 0.3s ease;
    pointer-events: none;
}
.lens-cat:hover .lens-cat-frame[b-c0tjako9uo] { border-color: var(--lens-gold, #C9A86A); }

.lens-cat-body[b-c0tjako9uo] {
    position: absolute; z-index: 2; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 1.75rem;
}
.lens-cat-name[b-c0tjako9uo] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-weight: 500;
    font-size: 1.3125rem;
    line-height: 1.25;
    letter-spacing: -0.005em;
    color: var(--lens-paper, #F6F1EA);
}
.lens-cat-rule[b-c0tjako9uo] {
    display: block;
    width: 2rem; height: 1px;
    background: var(--lens-gold, #C9A86A);
    margin: 1rem auto;
}
.lens-cat-count[b-c0tjako9uo] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    text-transform: uppercase;
    letter-spacing: 0.24em;
    font-size: 0.7rem;
    color: rgba(246, 241, 234, 0.85);
}

.lens-cat-skeleton[b-c0tjako9uo] {
    min-height: 280px;
    background: linear-gradient(100deg, #efe9df 30%, #e6ddd0 50%, #efe9df 70%);
    border: 1px solid var(--kw-border-strong, rgba(15, 15, 18, 0.15));
}
.lens-catgrid-empty[b-c0tjako9uo] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    color: var(--lens-ink-soft, #5C5860);
}

@media (max-width: 900px) { .lens-catgrid[b-c0tjako9uo] { padding: 4.25rem 0; } }
@media (prefers-reduced-motion: reduce) {
    .lens-cat-img[b-c0tjako9uo] { transition: none; }
    .lens-cat:hover .lens-cat-img[b-c0tjako9uo] { transform: none; }
}
/* /Themes/Lens/Blocks/LensCtaBanner.razor.rz.scp.css */
/* Lens CTA — calm cream gallery panel framed by thin gold hairline rules, letter-spaced eyebrow,
   serif headline, gold-underline ghost action. Zero shadows. Consumes .theme-lens --lens-*/--kw-*
   tokens with literal fallbacks. */
.lens-cta[b-zc0d7z64ql] {
    position: relative;
    background: var(--lens-paper-warm, #EFE9DF);
    color: var(--lens-ink, #0F0F12);
    padding: 6.5rem 0;
    text-align: center;
    overflow: hidden;
}
/* Thin gold hairlines top and bottom — the editorial mount lines. */
.lens-cta[b-zc0d7z64ql]::before,
.lens-cta[b-zc0d7z64ql]::after {
    content: "";
    position: absolute; left: 0; right: 0;
    height: 1px;
    background: var(--lens-gold, #C9A86A);
    z-index: 2;
}
.lens-cta[b-zc0d7z64ql]::before { top: 0; }
.lens-cta[b-zc0d7z64ql]::after { bottom: 0; }

.lens-cta.has-bg[b-zc0d7z64ql] { color: var(--lens-paper, #F6F1EA); }
.lens-cta-scrim[b-zc0d7z64ql] {
    position: absolute; inset: 0;
    background: rgba(15, 15, 18, 0.62);
    z-index: 1;
}

.lens-cta-inner[b-zc0d7z64ql] { position: relative; z-index: 3; }

.lens-cta-eyebrow[b-zc0d7z64ql] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    text-transform: uppercase;
    letter-spacing: 0.32em;
    font-weight: 500;
    font-size: 0.72rem;
    color: var(--lens-gold, #C9A86A);
    margin-bottom: 1.5rem;
}
.lens-cta-title[b-zc0d7z64ql] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-weight: 500;
    color: inherit;
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    line-height: 1.14;
    letter-spacing: -0.01em;
    max-width: 22ch;
    margin: 0 auto 1.5rem;
}
.lens-cta-sub[b-zc0d7z64ql] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    font-size: 1.0625rem;
    color: var(--lens-ink-soft, #5C5860);
    max-width: 52ch;
    margin: 0 auto 2.75rem;
    line-height: 1.75;
}
.lens-cta.has-bg .lens-cta-sub[b-zc0d7z64ql] { color: rgba(246, 241, 234, 0.82); }

.lens-cta-actions[b-zc0d7z64ql] {
    display: flex; gap: 2.25rem;
    align-items: center; justify-content: center;
    flex-wrap: wrap;
}
/* Ghost action — ink label on a gold hairline underline, no fill. */
.lens-cta-btn[b-zc0d7z64ql] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    font-weight: 500;
    font-size: 0.95rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: inherit;
    padding: 0.25rem 0 0.5rem;
    border-bottom: 1px solid var(--lens-gold, #C9A86A);
    transition: color 0.2s ease;
}
.lens-cta-btn:hover[b-zc0d7z64ql] { color: var(--lens-gold, #C9A86A); }
.lens-cta-link[b-zc0d7z64ql] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-style: italic;
    font-size: 1.0625rem;
    color: var(--lens-ink-soft, #5C5860);
    transition: color 0.2s ease;
}
.lens-cta.has-bg .lens-cta-link[b-zc0d7z64ql] { color: rgba(246, 241, 234, 0.82); }
.lens-cta-link:hover[b-zc0d7z64ql] { color: var(--lens-purple, #3D1B7A); }
.lens-cta.has-bg .lens-cta-link:hover[b-zc0d7z64ql] { color: var(--lens-gold, #C9A86A); }

@media (max-width: 900px) { .lens-cta[b-zc0d7z64ql] { padding: 4.25rem 0; } }
/* /Themes/Lens/Blocks/LensFaq.razor.rz.scp.css */
/* Lens FAQ — calm gallery accordion with thin gold hairline rows and a thin gold [+]→[–] marker,
   Fraunces serif questions. Zero shadows. Consumes .theme-lens --lens-*/--kw-* tokens with literal
   fallbacks. */
.lens-faq[b-cpzwdfqlih] {
    border-top: 1px solid var(--lens-gold, #C9A86A);
    max-width: 800px;
}

.lens-faq-item[b-cpzwdfqlih] {
    border-bottom: 1px solid var(--kw-border-strong, rgba(15, 15, 18, 0.15));
}

.lens-faq-q[b-cpzwdfqlih] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.65rem 0.25rem;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.lens-faq-q[b-cpzwdfqlih]::-webkit-details-marker { display: none; }

.lens-faq-question[b-cpzwdfqlih] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-weight: 500;
    font-size: 1.1875rem;
    line-height: 1.4;
    letter-spacing: -0.005em;
    color: var(--lens-ink, #0F0F12);
}
.lens-faq-item[open] .lens-faq-question[b-cpzwdfqlih] { color: var(--lens-purple, #3D1B7A); }

/* Thin gold [+] marker that becomes [–] when the row is open. */
.lens-faq-marker[b-cpzwdfqlih] {
    position: relative;
    flex: 0 0 auto;
    width: 18px; height: 18px;
}
.lens-faq-marker[b-cpzwdfqlih]::before,
.lens-faq-marker[b-cpzwdfqlih]::after {
    content: "";
    position: absolute;
    background: var(--lens-gold, #C9A86A);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.lens-faq-marker[b-cpzwdfqlih]::before { width: 14px; height: 1px; }
.lens-faq-marker[b-cpzwdfqlih]::after  { width: 1px; height: 14px; }
.lens-faq-item[open] .lens-faq-marker[b-cpzwdfqlih]::after { display: none; }   /* [+] -> [–] */

.lens-faq-answer[b-cpzwdfqlih] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    font-size: 1rem;
    line-height: 1.8;
    color: var(--lens-ink-soft, #5C5860);
    padding: 0 0 1.65rem;
    margin: 0;
    max-width: 68ch;
    text-align: justify;
}
.lens-faq-answer[b-cpzwdfqlih]  a { color: var(--lens-purple, #3D1B7A); text-decoration: underline; text-decoration-color: var(--lens-gold, #C9A86A); }
/* /Themes/Lens/Blocks/LensFeaturesRow.razor.rz.scp.css */
/* Lens features — airy gallery columns with gold-tinted line icons, serif titles and thin gold
   hairline vertical rule dividers. Zero shadows, generous whitespace. Consumes .theme-lens
   --lens-*/--kw-* tokens with literal fallbacks. */
.lens-features[b-ljvvpu92js] { padding: 6.5rem 0; text-align: center; }

.lens-features-title[b-ljvvpu92js] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-weight: 500;
    font-size: clamp(1.875rem, 3.75vw, 2.75rem);
    letter-spacing: -0.01em;
    color: var(--lens-ink, #0F0F12);
    margin: 0 auto 4rem;
}

.lens-features-row[b-ljvvpu92js] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0;
}

.lens-feature[b-ljvvpu92js] {
    padding: 0.5rem 2rem;
    border-left: 1px solid var(--lens-gold, #C9A86A);
}
.lens-feature:first-child[b-ljvvpu92js] { border-left: none; }

/* Gold-tinted line icon — the one signature note, at hairline weight. */
.lens-feature-icon[b-ljvvpu92js] {
    color: var(--lens-gold, #C9A86A);
    margin-bottom: 1.35rem;
    line-height: 0;
    display: flex;
    justify-content: center;
}
.lens-feature-icon[b-ljvvpu92js]  svg {
    width: 30px; height: 30px;
    color: var(--lens-gold, #C9A86A);
    stroke-width: 1.25;
}

.lens-feature-title[b-ljvvpu92js] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-weight: 500;
    font-size: 1.1875rem;
    letter-spacing: -0.005em;
    color: var(--lens-ink, #0F0F12);
    margin-bottom: 0.75rem;
    line-height: 1.3;
}
.lens-feature-text[b-ljvvpu92js] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--lens-ink-soft, #5C5860);
}

/* Stack cleanly on small screens — drop the vertical rules for horizontal gold hairlines. */
@media (max-width: 700px) {
    .lens-features[b-ljvvpu92js] { padding: 4.25rem 0; }
    .lens-feature[b-ljvvpu92js] {
        border-left: none;
        border-top: 1px solid var(--lens-gold, #C9A86A);
        padding: 2rem 1rem;
    }
    .lens-feature:first-child[b-ljvvpu92js] { border-top: none; }
}
/* /Themes/Lens/Blocks/LensHeading.razor.rz.scp.css */
/* Lens heading — letter-spaced gold eyebrow + Fraunces serif title with a thin gold hairline rule.
   Zero shadows. Consumes .theme-lens --lens-*/--kw-* tokens with literal fallbacks. */
.lens-heading[b-blsmtzvkp7] { display: block; }

.lens-heading-eyebrow[b-blsmtzvkp7] {
    display: block;
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    text-transform: uppercase;
    letter-spacing: 0.32em;
    font-weight: 500;
    font-size: 0.72rem;
    color: var(--lens-gold, #C9A86A);
    margin-bottom: 0.85rem;
}

.lens-heading-title[b-blsmtzvkp7] {
    position: relative;
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--lens-ink, #0F0F12);
    margin: 0;
    padding-bottom: 1rem;
}
/* Short gold hairline rule under the primary headings (not the smaller sub-levels). */
.lens-heading-title:not(.is-sub)[b-blsmtzvkp7]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 3rem; height: 1px;
    background: var(--lens-gold, #C9A86A);
}
.lens-heading[style*="center"] .lens-heading-title:not(.is-sub)[b-blsmtzvkp7]::after { left: 50%; transform: translateX(-50%); }
.lens-heading[style*="right"] .lens-heading-title:not(.is-sub)[b-blsmtzvkp7]::after { left: auto; right: 0; }

.lens-heading-title.is-sub[b-blsmtzvkp7] {
    padding-bottom: 0;
}
/* /Themes/Lens/Blocks/LensHeroBanner.razor.rz.scp.css */
/* Lens hero — calm gallery stage: airy cream/ink composition, letter-spaced eyebrow split by a thin
   gold hairline, a large Fraunces serif display headline, understated gold-underline ghost CTA. Zero
   shadows, 1px hairlines only. Consumes .theme-lens --lens-*/--kw-* tokens with literal fallbacks. */
.lens-hero[b-ux5mytif53] {
    position: relative;
    min-height: 88vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--lens-paper, #F6F1EA);
    color: var(--lens-ink, #0F0F12);
    overflow: hidden;
}
/* A quiet gold hairline frames the whole stage — the gallery mount line. */
.lens-hero[b-ux5mytif53]::before {
    content: "";
    position: absolute; inset: 1.25rem;
    border: 1px solid var(--lens-gold, #C9A86A);
    opacity: 0.5;
    z-index: 2;
    pointer-events: none;
}

.lens-hero-slides[b-ux5mytif53] { position: absolute; inset: 0; z-index: 0; }
.lens-hero-slide[b-ux5mytif53] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transition: opacity 1.1s ease;
}
.lens-hero-slide.is-active[b-ux5mytif53] { opacity: 1; }

/* Over a photo the stage turns to ink so the cream type still reads. */
.lens-hero-scrim[b-ux5mytif53] {
    position: absolute; inset: 0; z-index: 1;
    background: rgba(15, 15, 18, 0.58);
}
.lens-hero.has-bg[b-ux5mytif53] { color: var(--lens-paper, #F6F1EA); }
.lens-hero.has-bg .lens-hero-title[b-ux5mytif53] { color: var(--lens-paper, #F6F1EA); }
.lens-hero.has-bg .lens-hero-link[b-ux5mytif53] { color: var(--lens-paper, #F6F1EA); }

.lens-hero-inner[b-ux5mytif53] {
    position: relative; z-index: 3;
    max-width: 48rem;
    padding: 4rem 1.5rem;
}

/* Letter-spaced eyebrow split by a thin gold hairline rule — the calm section label. */
.lens-hero-eyebrow[b-ux5mytif53] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.1rem;
    margin-bottom: 2rem;
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    text-transform: uppercase;
    letter-spacing: 0.32em;
    font-weight: 500;
    font-size: 0.72rem;
    color: var(--lens-ink-soft, #5C5860);
}
.lens-hero.has-bg .lens-hero-eyebrow[b-ux5mytif53] { color: rgba(246, 241, 234, 0.85); }
.lens-hero-eyebrow-rule[b-ux5mytif53] {
    width: 3.5rem; height: 1px;
    background: var(--lens-gold, #C9A86A);
}

.lens-hero-title[b-ux5mytif53] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-weight: 500;
    color: var(--lens-ink, #0F0F12);
    font-size: clamp(2.75rem, 7vw, 5.25rem);
    line-height: 1.08;
    letter-spacing: -0.01em;
    margin: 0 0 1.75rem;
}

.lens-hero-sub[b-ux5mytif53] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    font-size: 1.125rem;
    line-height: 1.75;
    color: var(--lens-ink-soft, #5C5860);
    max-width: 44ch;
    margin: 0 auto 2.75rem;
}
.lens-hero.has-bg .lens-hero-sub[b-ux5mytif53] { color: rgba(246, 241, 234, 0.82); }

.lens-hero-actions[b-ux5mytif53] {
    display: flex; gap: 2.25rem;
    align-items: center; justify-content: center;
    flex-wrap: wrap;
}
/* Understated ghost CTA — an ink label riding on a gold hairline underline, no fill. */
.lens-hero-cta[b-ux5mytif53] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    font-weight: 500;
    font-size: 0.95rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--lens-ink, #0F0F12);
    padding: 0.25rem 0 0.5rem;
    border-bottom: 1px solid var(--lens-gold, #C9A86A);
    transition: color 0.2s ease, border-color 0.2s ease;
}
.lens-hero.has-bg .lens-hero-cta[b-ux5mytif53] { color: var(--lens-paper, #F6F1EA); }
.lens-hero-cta:hover[b-ux5mytif53] { color: var(--lens-gold, #C9A86A); }

.lens-hero-link[b-ux5mytif53] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-style: italic;
    font-size: 1.0625rem;
    color: var(--lens-ink-soft, #5C5860);
    transition: color 0.2s ease;
}
.lens-hero-link:hover[b-ux5mytif53] { color: var(--lens-purple, #3D1B7A); }

.lens-hero-dots[b-ux5mytif53] {
    position: absolute; z-index: 4;
    left: 50%; bottom: 2.5rem;
    transform: translateX(-50%);
    display: flex; gap: 0.75rem;
}
.lens-hero-dot[b-ux5mytif53] {
    width: 8px; height: 8px;
    background: transparent;
    border: 1px solid var(--lens-gold, #C9A86A);
    cursor: pointer;
    transition: background 0.2s ease;
}
.lens-hero-dot:hover[b-ux5mytif53] { background: rgba(201, 168, 106, 0.4); }
.lens-hero-dot.is-active[b-ux5mytif53] { background: var(--lens-gold, #C9A86A); }

@media (max-width: 900px) {
    .lens-hero[b-ux5mytif53] { min-height: 76vh; }
    .lens-hero[b-ux5mytif53]::before { inset: 0.75rem; }
}

@media (prefers-reduced-motion: reduce) {
    .lens-hero-slide[b-ux5mytif53] { transition: none; }
}
/* /Themes/Lens/Blocks/LensTestimonial.razor.rz.scp.css */
/* Lens testimonial — calm editorial pull-quote, Fraunces serif in ink, thin gold hairline rule,
   letter-spaced attribution. No stars, zero shadows. Consumes .theme-lens --lens-*/--kw-* tokens
   with literal fallbacks. */
.lens-testimonial[b-iiqo06y4tf] {
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
    padding: 3rem 1.5rem;
}

.lens-testimonial-quote[b-iiqo06y4tf] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(1.375rem, 2.75vw, 1.875rem);
    line-height: 1.55;
    color: var(--lens-ink, #0F0F12);
    margin: 0;
}
/* A quiet gold-tinted quotation mark opens the pull-quote — the one signature note. */
.lens-testimonial-quote[b-iiqo06y4tf]::before {
    content: "\201C";
    margin-right: 0.08em;
    color: var(--lens-gold, #C9A86A);
}
.lens-testimonial-quote[b-iiqo06y4tf]::after {
    content: "\201D";
    margin-left: 0.08em;
    color: var(--lens-gold, #C9A86A);
}

.lens-testimonial-rule[b-iiqo06y4tf] {
    display: block;
    width: 3rem; height: 1px;
    background: var(--lens-gold, #C9A86A);
    margin: 2rem auto;
}

.lens-testimonial-by[b-iiqo06y4tf] {
    display: flex; flex-direction: column; gap: 0.35rem;
    align-items: center;
}
.lens-testimonial-name[b-iiqo06y4tf] {
    font-family: var(--kw-font, 'Fraunces', Georgia, serif);
    text-transform: uppercase;
    letter-spacing: 0.24em;
    font-weight: 500;
    font-size: 0.8125rem;
    color: var(--lens-ink, #0F0F12);
}
.lens-testimonial-role[b-iiqo06y4tf] {
    font-family: var(--kw-font-heading, 'Fraunces', Georgia, serif);
    font-style: italic;
    font-size: 0.9375rem;
    color: var(--lens-ink-soft, #5C5860);
}
/* /Themes/Lens/LensFooter.razor.rz.scp.css */
/* Lens — editorial footer.
   Big Fraunces wordmark left + 4 column index right, with a thin gold
   hairline rule under the colophon. Bottom row uses a kerned em-dash
   divider between copyright and social. No background colour — paper
   bleeds through. */

.lens-footer[b-p7xlvfucsl] {
    margin-top: 6rem;
    padding: 5rem 0 2.5rem;
    border-top: 1px solid var(--lens-gold, #C9A86A);
    color: var(--lens-ink, #0F0F12);
    font-family: 'Fraunces', Georgia, serif;
}

/* ── Colophon — brand left, columns right ───────────────────────── */
.lens-footer-colophon[b-p7xlvfucsl] {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 2fr;
    gap: 4rem;
    align-items: start;
}

.lens-footer-mark h3[b-p7xlvfucsl] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 144, "SOFT" 50;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1;
    margin-bottom: 0.875rem;
    color: var(--lens-ink, #0F0F12);
}
.lens-footer-strapline[b-p7xlvfucsl] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 14;
    font-size: 0.9375rem;
    font-style: italic;
    font-weight: 400;
    color: var(--lens-ink-soft, #5C5860);
    max-width: 28ch;
    line-height: 1.5;
}

.lens-footer-cols[b-p7xlvfucsl] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}
.lens-footer-cols section[b-p7xlvfucsl] { min-width: 0; }
.lens-footer-cols h4[b-p7xlvfucsl] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 9;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--lens-purple, #3D1B7A);
    margin-bottom: 1.125rem;
}
.lens-footer-cols a[b-p7xlvfucsl],
.lens-footer-cols p[b-p7xlvfucsl] {
    display: block;
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 12;
    font-size: 0.9375rem;
    line-height: 1.85;
    color: var(--lens-ink, #0F0F12);
    text-decoration: none;
    transition: color 0.16s ease;
}
.lens-footer-cols a[b-p7xlvfucsl] {
    border-bottom: 1px solid transparent;
    padding-bottom: 1px;
    display: inline-block;
}
.lens-footer-cols a:hover[b-p7xlvfucsl] {
    color: var(--lens-purple, #3D1B7A);
    border-bottom-color: var(--lens-gold, #C9A86A);
}

/* ── Gold hairline rule between colophon and bottom row ─────────── */
.lens-footer-rule[b-p7xlvfucsl] {
    height: 1px;
    background: var(--lens-gold, #C9A86A);
    margin: 3.5rem 0 1.5rem;
    opacity: 0.7;
}

/* ── Bottom row ─────────────────────────────────────────────────── */
.lens-footer-bottom[b-p7xlvfucsl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.lens-footer-bottom p[b-p7xlvfucsl] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 9;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    color: var(--lens-ink-soft, #5C5860);
}
.lens-footer-social[b-p7xlvfucsl] { display: flex; gap: 1.5rem; align-items: center; }
.lens-footer-social a[b-p7xlvfucsl] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 9;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--lens-ink, #0F0F12);
    text-decoration: none;
    transition: color 0.18s ease;
}
.lens-footer-social a:hover[b-p7xlvfucsl] { color: var(--lens-purple, #3D1B7A); }
.lens-footer-social a + a[b-p7xlvfucsl] {
    /* Em-dash divider between social links — typographic kerning trick. */
    position: relative;
}
.lens-footer-social a + a[b-p7xlvfucsl]::before {
    content: "—";
    position: absolute;
    left: -1rem; top: 0;
    color: var(--lens-gold, #C9A86A);
    opacity: 0.5;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .lens-footer[b-p7xlvfucsl] { padding: 3.5rem 0 2rem; margin-top: 4rem; }
    .lens-footer-colophon[b-p7xlvfucsl] {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .lens-footer-cols[b-p7xlvfucsl] { grid-template-columns: repeat(2, 1fr); gap: 1.75rem; }
    .lens-footer-rule[b-p7xlvfucsl] { margin: 2.5rem 0 1.25rem; }
    .lens-footer-bottom[b-p7xlvfucsl] { justify-content: flex-start; }
}
/* /Themes/Lens/LensHeader.razor.rz.scp.css */
/* Lens — editorial header.
   Static (not fixed), single-row, masthead-style. Fraunces wordmark
   centered with a kerned strapline below it; nav links flank in tiny
   letterspaced uppercase. Closes with a 2px gold hairline below + a
   1px ink hairline above the strapline row — gives the band proper
   visual weight against the dark hero that follows on the home page.

   Opaque cream paper background (previously transparent — which caused
   the header to "float" against the massive 78vh dark hero on the
   landing page; the brand felt lost). Now the masthead reads as a
   distinct band of cream that anchors the brand before the hero begins. */

.lens-header[b-x8884lvl47] {
    position: relative;
    padding: 2rem 0 1.75rem;
    background: var(--lens-paper, #F6F1EA);
    border-top: 1px solid rgba(15, 15, 18, 0.08);
    border-bottom: 2px solid var(--lens-gold, #C9A86A);
    /* Subtle tactile shadow below the gold rule — newsprint feel. */
    box-shadow: 0 1px 0 0 rgba(15, 15, 18, 0.04);
}

.lens-header-inner[b-x8884lvl47] {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 2rem;
}

/* ── Nav (flanks the logo) ──────────────────────────────────────── */
.lens-nav[b-x8884lvl47] { display: flex; gap: 2.25rem; }
.lens-nav-left[b-x8884lvl47] { justify-content: flex-start; }
.lens-nav-right[b-x8884lvl47] { justify-content: flex-end; align-items: center; }

.lens-nav a[b-x8884lvl47] {
    font-family: 'Fraunces', Georgia, serif;
    font-optical-sizing: auto;
    font-variation-settings: "opsz" 9;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--lens-ink, #0F0F12);
    text-decoration: none;
    transition: color 0.18s ease;
}
.lens-nav a:hover[b-x8884lvl47] { color: var(--lens-purple, #3D1B7A); }

.lens-cart-link[b-x8884lvl47] {
    position: relative;
}
.lens-cart-link[b-x8884lvl47]::before {
    /* Gold hairline that appears to the LEFT of the cart label on hover —
       editorial cue, not a button-y underline. */
    content: "";
    position: absolute;
    left: -1.25rem; top: 50%;
    width: 0.875rem; height: 1px;
    background: var(--lens-gold, #C9A86A);
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}
.lens-cart-link:hover[b-x8884lvl47]::before { transform: scaleX(1); }

/* ── Logo (centered masthead with lens-mark glyph) ────────────────── */
.lens-logo[b-x8884lvl47] {
    text-align: center;
    text-decoration: none;
    color: inherit;
    display: inline-flex; flex-direction: column; align-items: center;
    gap: 0.55rem;
}
.lens-logo img[b-x8884lvl47] { height: 52px; width: auto; }

/* Row containing the lens SVG mark + wordmark. */
.lens-logo-row[b-x8884lvl47] {
    display: inline-flex; align-items: center;
    gap: 0.75rem;
}
.lens-logo-mark[b-x8884lvl47] {
    color: var(--lens-ink, #0F0F12);
    flex-shrink: 0;
    transition: color 0.2s ease;
}
.lens-logo:hover .lens-logo-mark[b-x8884lvl47] { color: var(--lens-purple, #3D1B7A); }

.lens-logo-text[b-x8884lvl47] {
    font-family: 'Fraunces', Georgia, serif;
    font-optical-sizing: auto;
    font-variation-settings: "opsz" 144, "SOFT" 50;
    /* Larger so the brand carries its weight on the cream band before
       the hero. Old size (1.625-2.125rem) read as a caption next to the
       hero's clamp(2.25rem, 5vw, 4rem) headline. */
    font-size: clamp(2.125rem, 3.2vw, 2.75rem);
    font-weight: 500;
    letter-spacing: -0.028em;
    line-height: 1;
    color: var(--lens-ink, #0F0F12);
}
.lens-logo-sub[b-x8884lvl47] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 9;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--lens-ink-soft, #5C5860);
    /* Gold tick marks flanking — editorial colophon mark. */
    display: inline-flex; align-items: center; gap: 0.75rem;
}
.lens-logo-sub[b-x8884lvl47]::before,
.lens-logo-sub[b-x8884lvl47]::after {
    content: "";
    width: 12px; height: 1px;
    background: var(--lens-gold, #C9A86A);
    display: inline-block;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .lens-header[b-x8884lvl47] { padding: 1.25rem 0 1rem; }
    .lens-header-inner[b-x8884lvl47] {
        grid-template-columns: 1fr;
        gap: 0.875rem;
    }
    .lens-nav-left[b-x8884lvl47], .lens-nav-right[b-x8884lvl47] {
        justify-content: center;
        order: 2;
        gap: 1.5rem;
        flex-wrap: wrap;
    }
    .lens-logo[b-x8884lvl47] { order: 1; }
    .lens-logo-text[b-x8884lvl47] { font-size: 1.5rem; }
    .lens-logo-sub[b-x8884lvl47] { font-size: 0.625rem; letter-spacing: 0.2em; }
}
/* /Themes/Lens/LensLayout.razor.rz.scp.css */
/* Lens — layout shell.
   Header is NOT fixed in Lens (editorial calm — scrolls with the page),
   so no top padding offset is needed. The cream paper colour bleeds into
   the full viewport so even the header sits on the same surface. */
.lens-layout[b-pelxk28p10] {
    background: var(--lens-paper, #F6F1EA);
    color: var(--lens-ink, #0F0F12);
    min-height: 100vh;
}
/* /Themes/Lens/LensProductCard.razor.rz.scp.css */
/* Lens — editorial product card.
   3:4 portrait crop (deliberate inverse of Studio's 1:1 square — different
   THEMES should not feel like the same designer). No border at rest. Name
   in Fraunces 144-opsz display. Category in tiny letterspaced caps. Quiet
   price line with "per day" in italic. Hover only nudges the metadata up
   1px and tints the name purple. */

.lens-pcard[b-y1oql8v33w] {
    display: block;
    background: transparent;
    text-decoration: none;
    color: inherit;
    font-family: 'Fraunces', Georgia, serif;
}

/* ── Figure — 3:4 portrait ──────────────────────────────────────── */
.lens-pcard-figure[b-y1oql8v33w] {
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: rgba(15, 15, 18, 0.04);
    margin-bottom: 1.125rem;
    position: relative;
}
.lens-pcard-figure img[b-y1oql8v33w] {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.2, 0, 0.1, 1);
}
.lens-pcard:hover .lens-pcard-figure img[b-y1oql8v33w] {
    transform: scale(1.025);
}
.lens-pcard-placeholder[b-y1oql8v33w] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: var(--lens-ink, #0F0F12);
}

/* ── Meta ───────────────────────────────────────────────────────── */
.lens-pcard-meta[b-y1oql8v33w] {
    padding: 0 0.125rem;
    transition: transform 0.24s ease;
}
.lens-pcard:hover .lens-pcard-meta[b-y1oql8v33w] { transform: translateY(-2px); }

.lens-pcard-eyebrow[b-y1oql8v33w] {
    display: block;
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 9;
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--lens-ink-soft, #5C5860);
    margin-bottom: 0.5rem;
}
.lens-pcard-eyebrow[b-y1oql8v33w]::before {
    /* Tiny dot prefix — small editorial mark for category tagging. */
    content: "·";
    color: var(--lens-gold, #C9A86A);
    margin-right: 0.5rem;
    font-size: 1.4em;
    line-height: 0;
    vertical-align: middle;
}
.lens-pcard-name[b-y1oql8v33w] {
    font-family: 'Fraunces', Georgia, serif;
    font-optical-sizing: auto;
    font-variation-settings: "opsz" 144, "SOFT" 50;
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: -0.018em;
    line-height: 1.2;
    color: var(--lens-ink, #0F0F12);
    margin-bottom: 0.5rem;
    transition: color 0.2s ease;
    /* Two-line clamp for predictable card height. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.4em;
}
.lens-pcard:hover .lens-pcard-name[b-y1oql8v33w] { color: var(--lens-purple, #3D1B7A); }

.lens-pcard-price[b-y1oql8v33w] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 14;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: -0.005em;
    color: var(--lens-ink, #0F0F12);
    font-variant-numeric: tabular-nums lining-nums;
}
.lens-pcard-price span[b-y1oql8v33w] {
    /* "per day" — italic, lighter weight, softer colour. */
    font-style: italic;
    font-weight: 400;
    color: var(--lens-ink-soft, #5C5860);
    margin-left: 0.25rem;
}
.lens-pcard-quote[b-y1oql8v33w] {
    font-family: 'Fraunces', Georgia, serif;
    font-variation-settings: "opsz" 14;
    font-style: italic;
    font-size: 0.9375rem;
    color: var(--lens-gold, #C9A86A);
}
/* /Themes/Motion/Blocks/MotionCategoryGrid.razor.rz.scp.css */
/* Motion category grid — rounded image tiles with hover-zoom and a terracotta label bar. Inter, soft
   terracotta-tinted elevation. Consumes --kw-* tokens with literal fallbacks. */
.motion-catgrid[b-8t2z8y9u0w] { padding: 5rem 0; text-align: center; }

.motion-catgrid-eyebrow[b-8t2z8y9u0w] {
    display: inline-block;
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--kw-accent-deep, #9B4323);
    background: var(--kw-accent-soft, #E6A68A);
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    margin-bottom: 0.85rem;
}
.motion-catgrid-title[b-8t2z8y9u0w] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 800;
    letter-spacing: -0.02em;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-dark, #1c1614);
    margin: 0 auto 2.5rem;
}

.motion-catgrid-grid[b-8t2z8y9u0w] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.25rem;
}

.motion-cat[b-8t2z8y9u0w] {
    display: block;
    text-align: left;
    border-radius: 20px;
    overflow: hidden;
    background: var(--kw-light, #fdfbf7);
    border: 1px solid var(--kw-border, #eadfd4);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.motion-cat:hover[b-8t2z8y9u0w] {
    transform: translateY(-4px);
    border-color: var(--kw-accent-soft, #E6A68A);
    box-shadow: 0 22px 40px -20px rgba(200, 90, 47, 0.45);
}

.motion-cat-media[b-8t2z8y9u0w] {
    position: relative;
    display: block;
    height: 200px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--kw-accent-deep, #9B4323), var(--kw-accent, #C85A2F));
}
.motion-cat-img[b-8t2z8y9u0w] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform 0.5s ease;
}
.motion-cat:hover .motion-cat-img[b-8t2z8y9u0w] { transform: scale(1.08); }

/* Terracotta label bar under the image carrying the name + count. */
.motion-cat-bar[b-8t2z8y9u0w] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 1rem 1.15rem 1.15rem;
    border-top: 3px solid var(--kw-accent, #C85A2F);
}
.motion-cat-name[b-8t2z8y9u0w] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 700;
    font-size: 1.0625rem;
    letter-spacing: -0.01em;
    color: var(--kw-dark, #1c1614);
    line-height: 1.25;
}
.motion-cat-count[b-8t2z8y9u0w] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--kw-accent, #C85A2F);
}

.motion-cat-skeleton[b-8t2z8y9u0w] {
    height: 275px;
    border-radius: 20px;
    background: linear-gradient(100deg, #f0e7dd 30%, #e7dccf 50%, #f0e7dd 70%);
    background-size: 200% 100%;
    animation: motion-cat-shimmer-b-8t2z8y9u0w 1.4s ease-in-out infinite;
    border: 1px solid var(--kw-border, #eadfd4);
}
@keyframes motion-cat-shimmer-b-8t2z8y9u0w {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.motion-catgrid-empty[b-8t2z8y9u0w] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    color: var(--kw-text-muted, #6f6660);
}

@media (max-width: 900px) { .motion-catgrid[b-8t2z8y9u0w] { padding: 3.5rem 0; } }

@media (prefers-reduced-motion: reduce) {
    .motion-cat-img[b-8t2z8y9u0w] { transition: none; }
    .motion-cat:hover .motion-cat-img[b-8t2z8y9u0w] { transform: none; }
    .motion-cat:hover[b-8t2z8y9u0w] { transform: none; }
    .motion-cat-skeleton[b-8t2z8y9u0w] { animation: none; }
}
/* /Themes/Motion/Blocks/MotionCtaBanner.razor.rz.scp.css */
/* Motion CTA — a large rounded terracotta gradient card, oversized Inter headline, pill primary +
   ghost WhatsApp. Consumes --kw-* tokens with literal fallbacks (Motion accent = terracotta). */
.motion-cta[b-uwaetwp330] {
    padding: 4.5rem 0;
}

.motion-cta-card[b-uwaetwp330] {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    padding: 4.5rem 3rem;
    text-align: center;
    color: #fff;
    background: linear-gradient(135deg, var(--kw-accent-deep, #9B4323) 0%, var(--kw-accent, #C85A2F) 55%, var(--kw-accent-soft, #E6A68A) 130%);
    box-shadow: 0 34px 66px -26px rgba(200, 90, 47, 0.6);
}
/* When a background photo is set the gradient still tints via the scrim below. */

.motion-cta-scrim[b-uwaetwp330] {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(155,67,35,0.9), rgba(200,90,47,0.78));
    z-index: 1;
}

.motion-cta-inner[b-uwaetwp330] { position: relative; z-index: 2; }

.motion-cta-eyebrow[b-uwaetwp330] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-weight: 700;
    font-size: 0.75rem;
    color: rgba(255,255,255,0.85);
    margin-bottom: 1rem;
}
.motion-cta-title[b-uwaetwp330] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 900;
    letter-spacing: -0.02em;
    color: #fff;
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    line-height: 1.08;
    max-width: 18ch;
    margin: 0 auto 1.25rem;
}
.motion-cta-sub[b-uwaetwp330] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-size: 1.0625rem;
    color: rgba(255,255,255,0.9);
    max-width: 52ch;
    margin: 0 auto 2.25rem;
    line-height: 1.65;
}
.motion-cta-actions[b-uwaetwp330] {
    display: flex; gap: 1.25rem;
    align-items: center; justify-content: center;
    flex-wrap: wrap;
}
/* White pill primary on the terracotta card — lifts on hover. */
.motion-cta-btn[b-uwaetwp330] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 700;
    font-size: 0.9375rem;
    color: var(--kw-accent-deep, #9B4323);
    background: #fff;
    border-radius: 999px;
    padding: 1rem 2.5rem;
    box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.45);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.motion-cta-btn:hover[b-uwaetwp330] {
    transform: translateY(-2px);
    box-shadow: 0 18px 30px -12px rgba(0, 0, 0, 0.5);
}
/* Ghost (outlined pill) WhatsApp link. */
.motion-cta-link[b-uwaetwp330] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 600;
    font-size: 0.9375rem;
    color: #fff;
    border: 1.5px solid rgba(255,255,255,0.7);
    border-radius: 999px;
    padding: 0.9rem 2.1rem;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.motion-cta-link:hover[b-uwaetwp330] { background: rgba(255,255,255,0.16); border-color: #fff; }

@media (max-width: 900px) {
    .motion-cta[b-uwaetwp330] { padding: 3rem 0; }
    .motion-cta-card[b-uwaetwp330] { padding: 3.25rem 1.5rem; border-radius: 22px; }
}

@media (prefers-reduced-motion: reduce) {
    .motion-cta-btn:hover[b-uwaetwp330] { transform: none; }
}
/* /Themes/Motion/Blocks/MotionFaq.razor.rz.scp.css */
/* Motion FAQ — rounded accordion cards with a rotating terracotta [+] marker. Inter, soft elevation
   on the open card. Consumes --kw-* tokens with literal fallbacks. */
.motion-faq[b-vo48qb6q8t] {
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.motion-faq-item[b-vo48qb6q8t] {
    background: var(--kw-light, #fdfbf7);
    border: 1px solid var(--kw-border, #eadfd4);
    border-radius: 16px;
    padding: 0 1.5rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.motion-faq-item[open][b-vo48qb6q8t] {
    border-color: var(--kw-accent-soft, #E6A68A);
    box-shadow: 0 16px 30px -20px rgba(200, 90, 47, 0.4);
}

.motion-faq-q[b-vo48qb6q8t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.35rem 0;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.motion-faq-q[b-vo48qb6q8t]::-webkit-details-marker { display: none; }

.motion-faq-question[b-vo48qb6q8t] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 700;
    font-size: 1.0625rem;
    letter-spacing: -0.01em;
    line-height: 1.4;
    color: var(--kw-dark, #1c1614);
}
.motion-faq-item[open] .motion-faq-question[b-vo48qb6q8t] { color: var(--kw-accent, #C85A2F); }

/* Round terracotta chip carrying a [+] that rotates to [x]/[–] when the row opens. */
.motion-faq-marker[b-vo48qb6q8t] {
    position: relative;
    flex: 0 0 auto;
    width: 26px; height: 26px;
    border-radius: 999px;
    background: var(--kw-accent-soft, #E6A68A);
    transition: transform 0.28s ease, background 0.2s ease;
}
.motion-faq-item[open] .motion-faq-marker[b-vo48qb6q8t] {
    background: var(--kw-accent, #C85A2F);
    transform: rotate(135deg);
}
.motion-faq-marker[b-vo48qb6q8t]::before,
.motion-faq-marker[b-vo48qb6q8t]::after {
    content: "";
    position: absolute;
    background: var(--kw-accent-deep, #9B4323);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.motion-faq-marker[b-vo48qb6q8t]::before { width: 12px; height: 2px; }
.motion-faq-marker[b-vo48qb6q8t]::after  { width: 2px; height: 12px; }
.motion-faq-item[open] .motion-faq-marker[b-vo48qb6q8t]::before,
.motion-faq-item[open] .motion-faq-marker[b-vo48qb6q8t]::after { background: #fff; }

.motion-faq-answer[b-vo48qb6q8t] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--kw-text-muted, #6f6660);
    padding: 0 0 1.35rem;
    margin: 0;
}
.motion-faq-answer[b-vo48qb6q8t]  a { color: var(--kw-accent, #C85A2F); text-decoration: underline; }

@media (prefers-reduced-motion: reduce) {
    .motion-faq-marker[b-vo48qb6q8t] { transition: background 0.2s ease; }
    .motion-faq-item[open] .motion-faq-marker[b-vo48qb6q8t] { transform: none; }
}
/* /Themes/Motion/Blocks/MotionFeaturesRow.razor.rz.scp.css */
/* Motion features — rounded hover-lift cards with rounded-square terracotta icon chips. Inter, soft
   terracotta-tinted elevation. Consumes --kw-* tokens with literal fallbacks. */
.motion-features[b-pjmyqydhuq] { padding: 5rem 0; text-align: center; }

.motion-features-title[b-pjmyqydhuq] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 800;
    letter-spacing: -0.02em;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-dark, #1c1614);
    margin: 0 auto 2.75rem;
}

.motion-features-row[b-pjmyqydhuq] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1.25rem;
}

.motion-feature[b-pjmyqydhuq] {
    background: var(--kw-light, #fdfbf7);
    border: 1px solid var(--kw-border, #eadfd4);
    border-radius: 20px;
    padding: 2rem 1.5rem;
    text-align: left;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.motion-feature:hover[b-pjmyqydhuq] {
    transform: translateY(-4px);
    border-color: var(--kw-accent-soft, #E6A68A);
    box-shadow: 0 20px 38px -20px rgba(200, 90, 47, 0.45);
}

/* Rounded-square terracotta icon chip. */
.motion-feature-icon[b-pjmyqydhuq] {
    width: 52px; height: 52px;
    border-radius: 15px;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, var(--kw-accent, #C85A2F), var(--kw-accent-deep, #9B4323));
    box-shadow: 0 10px 20px -10px rgba(200, 90, 47, 0.7);
    margin-bottom: 1.25rem;
}
.motion-feature-icon[b-pjmyqydhuq]  svg { width: 26px; height: 26px; }

.motion-feature-title[b-pjmyqydhuq] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 700;
    font-size: 1.0625rem;
    letter-spacing: -0.01em;
    color: var(--kw-dark, #1c1614);
    margin-bottom: 0.5rem;
    line-height: 1.35;
}
.motion-feature-text[b-pjmyqydhuq] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--kw-text-muted, #6f6660);
}

@media (max-width: 700px) {
    .motion-features[b-pjmyqydhuq] { padding: 3.5rem 0; }
}

@media (prefers-reduced-motion: reduce) {
    .motion-feature[b-pjmyqydhuq] { transition: border-color 0.22s ease; }
    .motion-feature:hover[b-pjmyqydhuq] { transform: none; }
}
/* /Themes/Motion/Blocks/MotionHeading.razor.rz.scp.css */
/* Motion heading — pill eyebrow chip + heavy Inter title with an animated terracotta underline that
   sweeps in on hover. Consumes --kw-* tokens with literal fallbacks. */
.motion-heading[b-sa1pjsiwtc] { display: block; }

.motion-heading-eyebrow[b-sa1pjsiwtc] {
    display: inline-block;
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--kw-accent-deep, #9B4323);
    background: var(--kw-accent-soft, #E6A68A);
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    margin-bottom: 0.85rem;
}

.motion-heading-title[b-sa1pjsiwtc] {
    position: relative;
    display: inline-block;
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--kw-dark, #1c1614);
    margin: 0;
    padding-bottom: 0.6rem;
}
/* Animated terracotta underline under the primary headings (not the smaller sub-levels). */
.motion-heading-title:not(.is-sub)[b-sa1pjsiwtc]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 100%; height: 3px;
    border-radius: 999px;
    background: var(--kw-accent, #C85A2F);
    transform: scaleX(0.32);
    transform-origin: left;
    transition: transform 0.35s ease;
}
.motion-heading[style*="center"] .motion-heading-title:not(.is-sub)[b-sa1pjsiwtc]::after { transform-origin: center; }
.motion-heading[style*="right"] .motion-heading-title:not(.is-sub)[b-sa1pjsiwtc]::after { transform-origin: right; }
.motion-heading-title:not(.is-sub):hover[b-sa1pjsiwtc]::after { transform: scaleX(1); }

.motion-heading-title.is-sub[b-sa1pjsiwtc] {
    font-weight: 700;
    padding-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
    .motion-heading-title:not(.is-sub)[b-sa1pjsiwtc]::after { transition: none; }
}
/* /Themes/Motion/Blocks/MotionHeroBanner.razor.rz.scp.css */
/* Motion hero — asymmetric kinetic split: bold left Inter headline + pill CTA, rounded media panel on
   the right over a terracotta gradient blob. Inter throughout, generous radii, soft terracotta-tinted
   elevation. Consumes --kw-* tokens with literal fallbacks (Motion accent = terracotta). */
.motion-hero[b-5pm0jie9ah] {
    position: relative;
    background: var(--kw-light, #fdfbf7);
    overflow: hidden;
    padding: 7rem 0 5rem;
}

.motion-hero-inner[b-5pm0jie9ah] {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    align-items: center;
    gap: 3.5rem;
}

/* ---- Left: bold kinetic copy ---- */
.motion-hero-copy[b-5pm0jie9ah] { position: relative; z-index: 2; }

.motion-hero-eyebrow[b-5pm0jie9ah] {
    display: inline-flex;
    align-items: center;
    margin-bottom: 1.25rem;
}
.motion-hero-eyebrow span[b-5pm0jie9ah] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--kw-accent-deep, #9B4323);
    background: var(--kw-accent-soft, #E6A68A);
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
}

.motion-hero-title[b-5pm0jie9ah] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 900;
    letter-spacing: -0.02em;
    color: var(--kw-dark, #1c1614);
    font-size: clamp(2.5rem, 5.5vw, 4.5rem);
    line-height: 1.04;
    margin: 0 0 1.5rem;
}

.motion-hero-sub[b-5pm0jie9ah] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--kw-text-muted, #6f6660);
    max-width: 44ch;
    margin: 0 0 2.25rem;
}

.motion-hero-actions[b-5pm0jie9ah] {
    display: flex; gap: 1.5rem;
    align-items: center;
    flex-wrap: wrap;
}
/* Big pill CTA with a soft terracotta glow that lifts on hover. */
.motion-hero-cta[b-5pm0jie9ah] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 700;
    font-size: 0.9375rem;
    letter-spacing: 0.01em;
    color: #fff;
    background: var(--kw-accent, #C85A2F);
    border-radius: 999px;
    padding: 1rem 2.5rem;
    box-shadow: 0 12px 26px -10px rgba(200, 90, 47, 0.6);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.motion-hero-cta:hover[b-5pm0jie9ah] {
    background: var(--kw-accent-deep, #9B4323);
    transform: translateY(-2px);
    box-shadow: 0 18px 34px -10px rgba(200, 90, 47, 0.7);
}

/* Animated terracotta underline sweep. */
.motion-hero-link[b-5pm0jie9ah] {
    position: relative;
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--kw-dark, #1c1614);
    padding-bottom: 3px;
}
.motion-hero-link[b-5pm0jie9ah]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 100%; height: 2px;
    background: var(--kw-accent, #C85A2F);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.28s ease;
}
.motion-hero-link:hover[b-5pm0jie9ah] { color: var(--kw-accent, #C85A2F); }
.motion-hero-link:hover[b-5pm0jie9ah]::after { transform: scaleX(1); }

/* ---- Right: rounded media panel over a terracotta gradient blob ---- */
.motion-hero-media[b-5pm0jie9ah] {
    position: relative;
    aspect-ratio: 4 / 5;
    z-index: 1;
}
.motion-hero-blob[b-5pm0jie9ah] {
    position: absolute;
    inset: -8% -10% -12% 6%;
    border-radius: 42% 58% 55% 45% / 55% 42% 58% 45%;
    background: linear-gradient(135deg, var(--kw-accent, #C85A2F), var(--kw-accent-soft, #E6A68A));
    filter: blur(4px);
    opacity: 0.9;
    z-index: 0;
    animation: motion-hero-blob-b-5pm0jie9ah 14s ease-in-out infinite;
}
@keyframes motion-hero-blob-b-5pm0jie9ah {
    0%, 100% { border-radius: 42% 58% 55% 45% / 55% 42% 58% 45%; }
    50%      { border-radius: 58% 42% 45% 55% / 42% 58% 45% 55%; }
}

.motion-hero-panel[b-5pm0jie9ah] {
    position: absolute; inset: 0;
    z-index: 1;
    border-radius: 24px;
    overflow: hidden;
    background: var(--kw-dark, #1c1614);
    box-shadow: 0 30px 60px -24px rgba(200, 90, 47, 0.5);
}
.motion-hero.no-bg .motion-hero-panel[b-5pm0jie9ah] {
    background: linear-gradient(135deg, var(--kw-accent-deep, #9B4323), var(--kw-accent, #C85A2F));
}

.motion-hero-slides[b-5pm0jie9ah] { position: absolute; inset: 0; z-index: 0; }
.motion-hero-slide[b-5pm0jie9ah] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity 0.9s ease, transform 6s ease;
}
.motion-hero-slide.is-active[b-5pm0jie9ah] { opacity: 1; transform: scale(1); }

.motion-hero-scrim[b-5pm0jie9ah] {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(180deg, rgba(28,22,20,0.05) 40%, rgba(28,22,20,0.55) 100%);
}

.motion-hero-dots[b-5pm0jie9ah] {
    position: absolute; z-index: 3;
    left: 50%; bottom: 1.25rem;
    transform: translateX(-50%);
    display: flex; gap: 0.5rem;
}
.motion-hero-dot[b-5pm0jie9ah] {
    width: 8px; height: 8px;
    border-radius: 999px;
    background: rgba(255,255,255,0.55);
    border: none;
    cursor: pointer;
    transition: width 0.25s ease, background 0.25s ease;
}
.motion-hero-dot:hover[b-5pm0jie9ah] { background: #fff; }
.motion-hero-dot.is-active[b-5pm0jie9ah] { width: 22px; background: var(--kw-accent, #C85A2F); }

@media (max-width: 900px) {
    .motion-hero[b-5pm0jie9ah] { padding: 6rem 0 3.5rem; }
    .motion-hero-inner[b-5pm0jie9ah] { grid-template-columns: 1fr; gap: 2.5rem; }
    .motion-hero-media[b-5pm0jie9ah] { aspect-ratio: 16 / 11; }
}

@media (prefers-reduced-motion: reduce) {
    .motion-hero-slide[b-5pm0jie9ah] { transition: opacity 0.3s ease; transform: none; }
    .motion-hero-slide.is-active[b-5pm0jie9ah] { transform: none; }
    .motion-hero-blob[b-5pm0jie9ah] { animation: none; }
    .motion-hero-cta:hover[b-5pm0jie9ah] { transform: none; }
    .motion-hero-link[b-5pm0jie9ah]::after { transition: none; }
}
/* /Themes/Motion/Blocks/MotionTestimonial.razor.rz.scp.css */
/* Motion testimonial — big rounded quote card with an oversized terracotta quotation mark and a
   rounded avatar. Inter, soft terracotta-tinted elevation. Consumes --kw-* tokens with fallbacks. */
.motion-testimonial[b-n3vn6b3hj6] {
    max-width: 720px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.motion-testimonial-card[b-n3vn6b3hj6] {
    position: relative;
    background: var(--kw-light, #fdfbf7);
    border: 1px solid var(--kw-border, #eadfd4);
    border-radius: 24px;
    padding: 3rem 2.5rem 2.25rem;
    box-shadow: 0 26px 50px -28px rgba(200, 90, 47, 0.4);
}

/* Oversized terracotta quotation mark anchored top-left. */
.motion-testimonial-mark[b-n3vn6b3hj6] {
    position: absolute;
    top: 0.35rem; left: 1.5rem;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 6rem;
    line-height: 1;
    color: var(--kw-accent-soft, #E6A68A);
    pointer-events: none;
}

.motion-testimonial-quote[b-n3vn6b3hj6] {
    position: relative;
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 600;
    font-size: clamp(1.25rem, 2.4vw, 1.625rem);
    line-height: 1.5;
    letter-spacing: -0.01em;
    color: var(--kw-dark, #1c1614);
    margin: 0 0 1.75rem;
}

.motion-testimonial-by[b-n3vn6b3hj6] {
    display: flex; align-items: center; gap: 0.9rem;
}
.motion-testimonial-avatar[b-n3vn6b3hj6] {
    flex: 0 0 auto;
    width: 46px; height: 46px;
    border-radius: 999px;
    background-size: cover; background-position: center;
    border: 2px solid var(--kw-accent-soft, #E6A68A);
}
.motion-testimonial-meta[b-n3vn6b3hj6] { display: flex; flex-direction: column; gap: 0.15rem; }
.motion-testimonial-name[b-n3vn6b3hj6] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-weight: 700;
    font-size: 0.9375rem;
    color: var(--kw-dark, #1c1614);
}
.motion-testimonial-role[b-n3vn6b3hj6] {
    font-family: var(--kw-font, 'Inter', system-ui, sans-serif);
    font-size: 0.8125rem;
    color: var(--kw-accent, #C85A2F);
    font-weight: 500;
}
/* /Themes/Motion/MotionFooter.razor.rz.scp.css */
.motion-footer[b-o308u1dej2] {
    background: var(--kw-dark); color: rgba(255,255,255,0.7);
    padding: 4rem 0 2rem; margin-top: auto;
}
.motion-footer-grid[b-o308u1dej2] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 3rem; margin-bottom: 3rem;
}
.motion-footer-col h4[b-o308u1dej2] {
    color: var(--kw-light); font-size: 0.8125rem;
    text-transform: uppercase; letter-spacing: 0.1em;
    margin-bottom: 1.5rem; font-weight: 600;
}
.motion-footer-logo[b-o308u1dej2] {
    font-size: 1.25rem !important; text-transform: none !important;
    letter-spacing: -0.02em !important; margin-bottom: 1rem !important;
}
.motion-footer-col p[b-o308u1dej2] { font-size: 0.875rem; margin-bottom: 0.5rem; color: rgba(255,255,255,0.5); }
.motion-footer-col a[b-o308u1dej2] {
    display: block; font-size: 0.875rem; color: rgba(255,255,255,0.5);
    text-decoration: none; margin-bottom: 0.75rem;
    transition: color 0.3s ease;
}
.motion-footer-col a:hover[b-o308u1dej2] { color: var(--kw-accent); }
.motion-footer-hours[b-o308u1dej2] { margin-top: 1.5rem; }
.motion-footer-hours strong[b-o308u1dej2] { color: rgba(255,255,255,0.7); }
.motion-footer-social[b-o308u1dej2] { display: flex; flex-direction: column; }
.motion-footer-bottom[b-o308u1dej2] {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 2rem;
    display: flex; justify-content: space-between; align-items: center;
}
.motion-footer-bottom p[b-o308u1dej2] { font-size: 0.8125rem; color: rgba(255,255,255,0.3); margin: 0; }
.motion-footer-powered[b-o308u1dej2] { font-size: 0.75rem !important; }

@media (max-width: 768px) {
    .motion-footer-grid[b-o308u1dej2] { grid-template-columns: 1fr; gap: 2rem; }
    .motion-footer-bottom[b-o308u1dej2] { flex-direction: column; gap: 0.5rem; text-align: center; }
}
/* /Themes/Motion/MotionHeader.razor.rz.scp.css */
.motion-header[b-8ezlqkw2ph] {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    background: transparent;
    transition: background 0.3s ease, box-shadow 0.3s ease;
    padding: 1.25rem 0;
}
.motion-header.header-scrolled[b-8ezlqkw2ph] {
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--kw-border);
}
.motion-header-inner[b-8ezlqkw2ph] {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto;
    align-items: center;
    gap: 1rem;
}
.motion-logo[b-8ezlqkw2ph] {
    grid-column: 3; text-align: center;
    text-decoration: none;
}
.motion-logo-text[b-8ezlqkw2ph] {
    font-family: var(--kw-font);
    font-size: 1.375rem; font-weight: 700;
    color: var(--kw-light);
    letter-spacing: -0.02em;
    transition: color 0.3s ease;
}
.header-scrolled .motion-logo-text[b-8ezlqkw2ph] { color: var(--kw-dark); }
.motion-logo img[b-8ezlqkw2ph] { height: 36px; }

.motion-nav[b-8ezlqkw2ph] { display: flex; gap: 2rem; }
.motion-nav-left[b-8ezlqkw2ph] { grid-column: 2; justify-content: flex-end; }
.motion-nav-right[b-8ezlqkw2ph] { grid-column: 4; justify-content: flex-start; }
.motion-nav a[b-8ezlqkw2ph] {
    font-size: 0.8125rem; font-weight: 500;
    color: rgba(255,255,255,0.85);
    text-transform: uppercase; letter-spacing: 0.08em;
    text-decoration: none;
    transition: color 0.3s ease;
}
.motion-nav a:hover[b-8ezlqkw2ph] { color: var(--kw-accent); }
.header-scrolled .motion-nav a[b-8ezlqkw2ph] { color: var(--kw-text); }
.header-scrolled .motion-nav a:hover[b-8ezlqkw2ph] { color: var(--kw-accent); }

.motion-cart-btn[b-8ezlqkw2ph] {
    grid-column: 5;
    color: var(--kw-light);
    transition: color 0.3s ease;
    display: flex; align-items: center;
}
.header-scrolled .motion-cart-btn[b-8ezlqkw2ph] { color: var(--kw-dark); }

.motion-hamburger[b-8ezlqkw2ph] {
    display: none;
    grid-column: 1;
    background: none; border: none; cursor: pointer;
    padding: 0.5rem; flex-direction: column; gap: 5px;
}
.motion-hamburger span[b-8ezlqkw2ph] {
    display: block; width: 22px; height: 2px;
    background: var(--kw-light);
    transition: background 0.3s ease;
}
.header-scrolled .motion-hamburger span[b-8ezlqkw2ph] { background: var(--kw-dark); }

.motion-mobile-nav[b-8ezlqkw2ph] {
    display: none;
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: var(--kw-dark);
    flex-direction: column; align-items: center; justify-content: center;
    gap: 2rem; z-index: 999;
}
.motion-mobile-nav.open[b-8ezlqkw2ph] { display: flex; }
.motion-mobile-nav a[b-8ezlqkw2ph] {
    font-size: 1.5rem; color: var(--kw-light);
    text-transform: uppercase; letter-spacing: 0.1em;
    text-decoration: none;
}

@media (max-width: 768px) {
    .motion-nav[b-8ezlqkw2ph] { display: none; }
    .motion-hamburger[b-8ezlqkw2ph] { display: flex; }
    .motion-header-inner[b-8ezlqkw2ph] {
        grid-template-columns: auto 1fr auto;
    }
    .motion-logo[b-8ezlqkw2ph] { grid-column: 2; }
    .motion-cart-btn[b-8ezlqkw2ph] { grid-column: 3; }
}
/* /Themes/Motion/MotionLayout.razor.rz.scp.css */
.motion-layout[b-u794p4l03w] { min-height: 100vh; }
/* /Themes/Motion/MotionProductCard.razor.rz.scp.css */
.motion-product-card[b-59y243txu6] {
    border-radius: var(--kw-radius); overflow: hidden;
    border: 1px solid var(--kw-border); transition: all 0.2s;
}
.motion-product-card:hover[b-59y243txu6] { box-shadow: 0 4px 12px rgba(0,0,0,0.1); transform: translateY(-2px); }
.motion-product-img[b-59y243txu6] { aspect-ratio: 4/3; overflow: hidden; background: #f1f5f9; }
.motion-product-img img[b-59y243txu6] { width: 100%; height: 100%; object-fit: cover; }
.motion-product-info[b-59y243txu6] { padding: 1rem; }
.motion-product-info h3[b-59y243txu6] { font-size: 1rem; margin-bottom: 0.25rem; }
.motion-product-category[b-59y243txu6] { font-size: 0.75rem; color: var(--kw-text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.motion-product-price[b-59y243txu6] { font-size: 1.125rem; font-weight: 600; color: var(--kw-primary); margin-top: 0.5rem; }
/* /Themes/Noir/Blocks/NoirCategoryGrid.razor.rz.scp.css */
/* Noir category grid — athletic immersive tiles, image zoom, big uppercase names, growing red bar.
   Consumes .theme-noir --kw-* tokens with literal fallbacks. */
.noir-catgrid[b-ugxd3vecba] { padding: 5rem 0; }

.noir-catgrid-eyebrow[b-ugxd3vecba] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    font-size: 0.8125rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--kw-accent, #da3038);
    margin-bottom: 0.6rem;
}
.noir-catgrid-title[b-ugxd3vecba] {
    position: relative;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #17171a);
    margin: 0 0 2rem;
    padding-bottom: 1rem;
}
.noir-catgrid-title[b-ugxd3vecba]::after {
    content: ""; position: absolute; left: 0; bottom: 0;
    width: 3rem; height: 4px; background: var(--kw-accent, #da3038);
}

.noir-catgrid-grid[b-ugxd3vecba] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 0.75rem;
}

.noir-cat[b-ugxd3vecba] {
    position: relative;
    display: block;
    min-height: 240px;
    background: var(--kw-dark, #0c0c0c);
    overflow: hidden;
    color: #fff;
}
.noir-cat-img[b-ugxd3vecba] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform 0.4s ease;
}
.noir-cat:hover .noir-cat-img[b-ugxd3vecba] { transform: scale(1.07); }
.noir-cat-overlay[b-ugxd3vecba] {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(12,12,12,0.15) 0%, rgba(12,12,12,0.85) 100%);
    transition: background 0.2s ease;
}
.noir-cat:hover .noir-cat-overlay[b-ugxd3vecba] { background: linear-gradient(180deg, rgba(12,12,12,0.3) 0%, rgba(12,12,12,0.92) 100%); }

.noir-cat-body[b-ugxd3vecba] {
    position: absolute; z-index: 2;
    left: 1.25rem; right: 1.25rem; bottom: 1.25rem;
    display: flex; flex-direction: column; align-items: flex-start;
}
.noir-cat-name[b-ugxd3vecba] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 900;
    text-transform: uppercase;
    font-size: 1.25rem;
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: #fff;
}
/* Red accent bar under the name — grows on hover, the athletic cue. */
.noir-cat-bar[b-ugxd3vecba] {
    display: block;
    width: 2rem; height: 4px;
    background: var(--kw-accent, #da3038);
    margin: 0.6rem 0;
    transition: width 0.24s ease;
}
.noir-cat:hover .noir-cat-bar[b-ugxd3vecba] { width: 4rem; }
.noir-cat-count[b-ugxd3vecba] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.82);
}

.noir-cat-skeleton[b-ugxd3vecba] {
    min-height: 240px;
    background: linear-gradient(100deg, #eee 30%, #e0e0e0 50%, #eee 70%);
}
.noir-catgrid-empty[b-ugxd3vecba] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    color: var(--kw-text-muted, #7d7d82);
}

@media (max-width: 900px) { .noir-catgrid[b-ugxd3vecba] { padding: 3.5rem 0; } }
@media (prefers-reduced-motion: reduce) {
    .noir-cat-img[b-ugxd3vecba], .noir-cat-bar[b-ugxd3vecba], .noir-cat-overlay[b-ugxd3vecba] { transition: none; }
    .noir-cat:hover .noir-cat-img[b-ugxd3vecba] { transform: none; }
}
/* /Themes/Noir/Blocks/NoirCtaBanner.razor.rz.scp.css */
/* Noir CTA — black slab, red diagonal corner wedge, Montserrat-900 headline, square buttons.
   Consumes .theme-noir --kw-* tokens with literal fallbacks. */
.noir-cta[b-vigm872obf] {
    position: relative;
    background: var(--kw-dark, #0c0c0c);
    color: #fff;
    padding: 6rem 0;
    text-align: center;
    overflow: hidden;
}

/* Solid red wedge cutting across the top-left corner — the aggressive gym accent. */
.noir-cta[b-vigm872obf]::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 40%; height: 8px;
    background: var(--kw-accent, #da3038);
    z-index: 2;
}
.noir-cta[b-vigm872obf]::after {
    content: "";
    position: absolute;
    top: 0; right: 0;
    width: 26%; height: 100%;
    background: var(--kw-accent, #da3038);
    transform: skewX(-14deg);
    transform-origin: top right;
    opacity: 0.16;
    z-index: 1;
}

.noir-cta-scrim[b-vigm872obf] {
    position: absolute; inset: 0;
    background: rgba(12, 12, 12, 0.72);
    z-index: 1;
}

.noir-cta-inner[b-vigm872obf] { position: relative; z-index: 3; }

.noir-cta-kicker[b-vigm872obf] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    font-size: 0.8125rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--kw-accent-soft, #f28e93);
    margin-bottom: 1rem;
}
.noir-cta-title[b-vigm872obf] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 900;
    text-transform: uppercase;
    color: #fff;
    font-size: clamp(2rem, 5vw, 3.75rem);
    line-height: 0.96;
    letter-spacing: -0.02em;
    max-width: 20ch;
    margin: 0 auto 1.25rem;
}
.noir-cta-sub[b-vigm872obf] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.78);
    max-width: 56ch;
    margin: 0 auto 2.25rem;
    line-height: 1.65;
}
.noir-cta-actions[b-vigm872obf] { display: flex; gap: 0.875rem; justify-content: center; flex-wrap: wrap; }

.noir-cta-btn[b-vigm872obf] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 800;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #fff;
    background: var(--kw-accent, #da3038);
    border: 2px solid var(--kw-accent, #da3038);
    padding: 1rem 2.5rem;
    transition: background 0.16s ease, transform 0.12s ease;
}
.noir-cta-btn:hover[b-vigm872obf] { background: var(--kw-accent-deep, #b8232b); border-color: var(--kw-accent-deep, #b8232b); transform: translateY(-2px); }

.noir-cta-btn-ghost[b-vigm872obf] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 800;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.55);
    padding: 1rem 2rem;
    transition: border-color 0.16s ease, background 0.16s ease;
}
.noir-cta-btn-ghost:hover[b-vigm872obf] { border-color: #fff; background: rgba(255, 255, 255, 0.08); }

@media (max-width: 900px) { .noir-cta[b-vigm872obf] { padding: 4rem 0; } }

@media (prefers-reduced-motion: reduce) {
    .noir-cta-btn:hover[b-vigm872obf], .noir-cta-btn-ghost:hover[b-vigm872obf] { transform: none; }
}
/* /Themes/Noir/Blocks/NoirFaq.razor.rz.scp.css */
/* Noir FAQ — bold uppercase question rows, red [+]→[×] marker, red active-row rule.
   Consumes .theme-noir --kw-* tokens with literal fallbacks. */
.noir-faq[b-fb2y2x2gbn] {
    border-top: 2px solid var(--kw-border-strong, #d5d5d8);
    max-width: 820px;
}

.noir-faq-item[b-fb2y2x2gbn] {
    border-bottom: 2px solid var(--kw-border-strong, #d5d5d8);
    transition: border-color 0.16s ease;
}
.noir-faq-item[open][b-fb2y2x2gbn] { border-bottom-color: var(--kw-accent, #da3038); }

.noir-faq-q[b-fb2y2x2gbn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.35rem 0.25rem;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.noir-faq-q[b-fb2y2x2gbn]::-webkit-details-marker { display: none; }

.noir-faq-question[b-fb2y2x2gbn] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 800;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: var(--kw-text, #17171a);
}
.noir-faq-item[open] .noir-faq-question[b-fb2y2x2gbn] { color: var(--kw-accent, #da3038); }

/* Red [+] marker rotating to [×] when the row opens. */
.noir-faq-marker[b-fb2y2x2gbn] {
    position: relative;
    flex: 0 0 auto;
    width: 22px; height: 22px;
    transition: transform 0.2s ease;
}
.noir-faq-marker[b-fb2y2x2gbn]::before,
.noir-faq-marker[b-fb2y2x2gbn]::after {
    content: "";
    position: absolute;
    background: var(--kw-accent, #da3038);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.noir-faq-marker[b-fb2y2x2gbn]::before { width: 14px; height: 3px; }
.noir-faq-marker[b-fb2y2x2gbn]::after  { width: 3px; height: 14px; }
.noir-faq-item[open] .noir-faq-marker[b-fb2y2x2gbn] { transform: rotate(45deg); }   /* [+] -> [×] */

.noir-faq-answer[b-fb2y2x2gbn] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--kw-text-muted, #7d7d82);
    padding: 0 0 1.35rem;
    margin: 0;
}
.noir-faq-answer[b-fb2y2x2gbn]  a { color: var(--kw-accent, #da3038); text-decoration: underline; }

@media (prefers-reduced-motion: reduce) {
    .noir-faq-marker[b-fb2y2x2gbn] { transition: none; }
}
/* /Themes/Noir/Blocks/NoirFeaturesRow.razor.rz.scp.css */
/* Noir features — bordered tiles with a red top-rule, red icon, and a red-underlined uppercase title.
   Consumes .theme-noir --kw-* tokens with literal fallbacks. */
.noir-features[b-mamrf9aaqr] { padding: 5rem 0; }

.noir-features-title[b-mamrf9aaqr] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #17171a);
    margin-bottom: 2.5rem;
}

.noir-features-grid[b-mamrf9aaqr] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.noir-feature[b-mamrf9aaqr] {
    position: relative;
    background: #fff;
    border: 2px solid var(--kw-border-strong, #d5d5d8);
    border-top: 4px solid var(--kw-accent, #da3038);
    padding: 2.25rem 1.5rem 1.75rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.noir-feature:hover[b-mamrf9aaqr] {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(12, 12, 12, 0.14);
    border-color: var(--kw-accent, #da3038);
}

.noir-feature-icon[b-mamrf9aaqr] {
    color: var(--kw-accent, #da3038);
    margin-bottom: 1rem;
    line-height: 0;
}
.noir-feature-icon[b-mamrf9aaqr]  svg { width: 34px; height: 34px; }

.noir-feature-title[b-mamrf9aaqr] {
    position: relative;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 800;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: var(--kw-text, #17171a);
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
}
/* Short red rule under each tile title — the Noir block-title signature. */
.noir-feature-title[b-mamrf9aaqr]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 2rem; height: 3px;
    background: var(--kw-accent, #da3038);
}
.noir-feature-text[b-mamrf9aaqr] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--kw-text-muted, #7d7d82);
}

@media (max-width: 900px) { .noir-features[b-mamrf9aaqr] { padding: 3.5rem 0; } }

@media (prefers-reduced-motion: reduce) {
    .noir-feature:hover[b-mamrf9aaqr] { transform: none; }
}
/* /Themes/Noir/Blocks/NoirHeading.razor.rz.scp.css */
/* Noir heading — red uppercase eyebrow + Montserrat-900 title with a short red underline rule.
   Consumes .theme-noir --kw-* tokens with literal fallbacks. */
.noir-heading[b-wtbps8cc2g] { display: block; }

.noir-heading-eyebrow[b-wtbps8cc2g] {
    display: block;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--kw-accent, #da3038);
    margin-bottom: 0.55rem;
}

.noir-heading-title[b-wtbps8cc2g] {
    position: relative;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    line-height: 1.02;
    color: var(--kw-text, #17171a);
    margin: 0;
    padding-bottom: 0.75rem;
}
/* Short red rule under the primary headings (not the smaller sub-levels). */
.noir-heading-title:not(.is-sub)[b-wtbps8cc2g]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 3rem; height: 4px;
    background: var(--kw-accent, #da3038);
}
.noir-heading[style*="center"] .noir-heading-title:not(.is-sub)[b-wtbps8cc2g]::after { left: 50%; transform: translateX(-50%); }
.noir-heading[style*="right"] .noir-heading-title:not(.is-sub)[b-wtbps8cc2g]::after { left: auto; right: 0; }

.noir-heading-title.is-sub[b-wtbps8cc2g] {
    padding-bottom: 0;
    letter-spacing: 0;
}
/* /Themes/Noir/Blocks/NoirHeroBanner.razor.rz.scp.css */
/* Noir hero — black athletic stage, red diagonal energy band, Montserrat-900 uppercase headline,
   square CTAs + stat counters. Consumes the theme's --kw-* tokens (defined under .theme-noir in
   theme-noir.css); literal fallbacks keep the component self-contained if a token is ever unset. */

.noir-hero[b-esuxqkk14j] {
    position: relative;
    min-height: 84vh;
    display: flex;
    align-items: center;
    background: var(--kw-dark, #0c0c0c);
    overflow: hidden;
}

/* Red diagonal energy band sweeping up the right — the athletic "motion" cue. */
.noir-hero[b-esuxqkk14j]::after {
    content: "";
    position: absolute;
    top: -20%; right: -10%;
    width: 46%; height: 140%;
    background: var(--kw-accent, #da3038);
    transform: skewX(-12deg);
    transform-origin: top right;
    opacity: 0.9;
    z-index: 2;
}

.noir-hero-slides[b-esuxqkk14j] { position: absolute; inset: 0; z-index: 0; }
.noir-hero-slide[b-esuxqkk14j] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transition: opacity 0.8s ease;
}
.noir-hero-slide.is-active[b-esuxqkk14j] { opacity: 1; }

/* Dark scrim keeps the white headline at AA contrast over any product photo. */
.noir-hero-scrim[b-esuxqkk14j] {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(100deg,
        rgba(12, 12, 12, 0.94) 0%,
        rgba(12, 12, 12, 0.7) 52%,
        rgba(12, 12, 12, 0.45) 100%);
}

.noir-hero-inner[b-esuxqkk14j] {
    position: relative; z-index: 3;
    width: 100%;
    max-width: 62ch;
    color: #fff;
}

/* Red kicker with a short red rule — the gym-poster eyebrow. */
.noir-hero-kicker[b-esuxqkk14j] {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    font-size: 0.8125rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--kw-accent-soft, #f28e93);
    margin-bottom: 1.25rem;
}
.noir-hero-kicker[b-esuxqkk14j]::before {
    content: "";
    width: 2.5rem; height: 4px;
    background: var(--kw-accent, #da3038);
}

.noir-hero-title[b-esuxqkk14j] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 900;
    text-transform: uppercase;
    color: #fff;
    font-size: clamp(2.5rem, 6.5vw, 5rem);
    line-height: 0.92;
    letter-spacing: -0.02em;
    margin: 0 0 1.25rem;
}

.noir-hero-sub[b-esuxqkk14j] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.82);
    max-width: 48ch;
    margin: 0 0 2rem;
}

.noir-hero-actions[b-esuxqkk14j] { display: flex; gap: 0.875rem; flex-wrap: wrap; align-items: stretch; }

/* Square, solid-red primary — sharp corners are the Noir signature (no clip-path skew). */
.noir-hero-cta[b-esuxqkk14j] {
    display: inline-flex; align-items: center;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 800;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #fff;
    background: var(--kw-accent, #da3038);
    border: 2px solid var(--kw-accent, #da3038);
    padding: 1rem 2.25rem;
    transition: background 0.16s ease, color 0.16s ease, transform 0.12s ease;
}
.noir-hero-cta:hover[b-esuxqkk14j] { background: var(--kw-accent-deep, #b8232b); border-color: var(--kw-accent-deep, #b8232b); transform: translateY(-2px); }

.noir-hero-cta-ghost[b-esuxqkk14j] {
    display: inline-flex; align-items: center;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 800;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #fff;
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.55);
    padding: 1rem 2rem;
    transition: border-color 0.16s ease, background 0.16s ease;
}
.noir-hero-cta-ghost:hover[b-esuxqkk14j] { border-color: #fff; background: rgba(255, 255, 255, 0.08); }

/* Athletic stat-counter strip — big red numerals over uppercase labels. */
.noir-hero-stats[b-esuxqkk14j] {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem;
    margin: 3rem 0 0;
}
.noir-hero-stats div[b-esuxqkk14j] { display: flex; flex-direction: column; }
.noir-hero-stats dt[b-esuxqkk14j] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 900;
    font-size: 2.5rem;
    line-height: 1;
    color: var(--kw-accent, #da3038);
    font-variant-numeric: tabular-nums;
}
.noir-hero-stats dd[b-esuxqkk14j] {
    margin: 0.4rem 0 0;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
}

/* Square numbered slide ticks. */
.noir-hero-ticks[b-esuxqkk14j] {
    position: absolute; z-index: 4;
    right: 2rem; bottom: 2rem;
    display: flex; gap: 0.5rem;
}
.noir-hero-tick[b-esuxqkk14j] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 800;
    font-size: 0.75rem;
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    border: 2px solid rgba(255, 255, 255, 0.3);
    width: 2.25rem; height: 2.25rem;
    cursor: pointer;
    transition: background 0.16s ease, border-color 0.16s ease;
}
.noir-hero-tick:hover[b-esuxqkk14j] { border-color: #fff; }
.noir-hero-tick.is-active[b-esuxqkk14j] { background: var(--kw-accent, #da3038); border-color: var(--kw-accent, #da3038); }

@media (max-width: 900px) {
    .noir-hero[b-esuxqkk14j] { min-height: 72vh; }
    .noir-hero[b-esuxqkk14j]::after { width: 60%; opacity: 0.75; }
    .noir-hero-stats[b-esuxqkk14j] { gap: 1.5rem; }
    .noir-hero-stats dt[b-esuxqkk14j] { font-size: 2rem; }
    .noir-hero-ticks[b-esuxqkk14j] { right: 1rem; bottom: 1rem; }
}

/* Honour reduced-motion: no slide cross-fade or hover lift. */
@media (prefers-reduced-motion: reduce) {
    .noir-hero-slide[b-esuxqkk14j] { transition: none; }
    .noir-hero-cta:hover[b-esuxqkk14j], .noir-hero-cta-ghost:hover[b-esuxqkk14j] { transform: none; }
}
/* /Themes/Noir/Blocks/NoirTestimonial.razor.rz.scp.css */
/* Noir testimonial — black "member review" card, oversized red quote glyph, red star rating,
   uppercase Montserrat attribution. Consumes .theme-noir --kw-* tokens with literal fallbacks. */
.noir-testimonial[b-8jowxeimnm] {
    position: relative;
    background: var(--kw-dark, #0c0c0c);
    color: #fff;
    border-left: 6px solid var(--kw-accent, #da3038);
    padding: 2.5rem 2rem 2rem;
    margin: 0;
    max-width: 640px;
    overflow: hidden;
}

/* Oversized red opening-quote mark bleeding off the top-right. */
.noir-testimonial-mark[b-8jowxeimnm] {
    position: absolute;
    top: -0.35em; right: 0.25rem;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 900;
    font-size: 8rem;
    line-height: 1;
    color: var(--kw-accent, #da3038);
    opacity: 0.22;
    pointer-events: none;
}

.noir-testimonial-stars[b-8jowxeimnm] {
    display: inline-flex;
    gap: 0.2rem;
    margin-bottom: 1rem;
}
.noir-star[b-8jowxeimnm] { fill: rgba(255, 255, 255, 0.22); }
.noir-star.is-on[b-8jowxeimnm] { fill: var(--kw-accent, #da3038); }

.noir-testimonial-quote[b-8jowxeimnm] {
    position: relative;
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.55;
    color: #fff;
    margin: 0 0 1.5rem;
}

.noir-testimonial-by[b-8jowxeimnm] {
    display: flex; flex-direction: column; gap: 0.2rem;
    border-top: 2px solid rgba(255, 255, 255, 0.14);
    padding-top: 1rem;
}
.noir-testimonial-name[b-8jowxeimnm] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 800;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #fff;
}
.noir-testimonial-role[b-8jowxeimnm] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--kw-accent-soft, #f28e93);
}
/* /Themes/Noir/NoirFooter.razor.rz.scp.css */
.nr-footer[b-k7jf25w03b] {
    background: var(--kw-dark);
    color: rgba(255, 255, 255, 0.72);
    padding: 4.5rem 0 2rem;
}

.nr-footer-top[b-k7jf25w03b] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.4fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.nr-footer-brand h3[b-k7jf25w03b] {
    font-family: var(--kw-font-heading);
    color: #fff; font-size: 1.375rem; font-weight: 900;
    text-transform: uppercase; letter-spacing: -0.01em; margin-bottom: 1rem;
}
.nr-footer-brand p[b-k7jf25w03b] { font-size: 0.9375rem; line-height: 1.7; margin-bottom: 1.5rem; max-width: 34ch; }

.nr-footer-whatsapp[b-k7jf25w03b] {
    display: inline-flex; align-items: center; gap: 0.5rem;
    color: #fff; font-size: 0.875rem; font-weight: 700;
}
.nr-footer-whatsapp:hover[b-k7jf25w03b] { color: var(--kw-accent-soft); }

.nr-footer-col h4[b-k7jf25w03b] {
    font-family: var(--kw-font-heading);
    color: #fff; font-size: 0.8125rem; font-weight: 900;
    text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 1.25rem;
}
.nr-footer-col a[b-k7jf25w03b] {
    display: block; font-size: 0.9375rem; color: rgba(255, 255, 255, 0.72);
    padding: 0.3rem 0;
}
.nr-footer-col a:hover[b-k7jf25w03b] { color: var(--kw-accent-soft); }

.nr-location[b-k7jf25w03b] { margin-bottom: 0.85rem; }
.nr-location strong[b-k7jf25w03b] { display: block; color: #fff; font-size: 0.875rem; }
.nr-location span[b-k7jf25w03b] { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.6); }

.nr-footer-bottom[b-k7jf25w03b] {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 1rem; padding-top: 2rem;
}
.nr-footer-bottom p[b-k7jf25w03b] { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.55); }
.nr-footer-social[b-k7jf25w03b] { display: flex; gap: 1.5rem; }
.nr-footer-social a[b-k7jf25w03b] { font-size: 0.8125rem; font-weight: 700; color: rgba(255, 255, 255, 0.72); }
.nr-footer-social a:hover[b-k7jf25w03b] { color: var(--kw-accent-soft); }

@media (max-width: 860px) {
    .nr-footer-top[b-k7jf25w03b] { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .nr-footer-brand[b-k7jf25w03b] { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
    .nr-footer-top[b-k7jf25w03b] { grid-template-columns: 1fr; }
    .nr-footer-bottom[b-k7jf25w03b] { flex-direction: column; align-items: flex-start; }
}
/* /Themes/Noir/NoirHeader.razor.rz.scp.css */
.nr-header[b-s0on6art34] {
    position: sticky; top: 0; z-index: 100;
    background: var(--kw-dark);
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    transition: box-shadow var(--kw-transition);
}
.nr-header.header-scrolled[b-s0on6art34] { box-shadow: 0 2px 16px rgba(0, 0, 0, 0.45); }

.nr-header-inner[b-s0on6art34] {
    display: flex; align-items: center; justify-content: space-between;
    gap: 2rem; height: 80px;
}

.nr-logo[b-s0on6art34] { display: inline-flex; align-items: center; }
.nr-logo img[b-s0on6art34] { max-height: 42px; width: auto; }
.nr-logo-text[b-s0on6art34] {
    font-family: var(--kw-font-heading);
    font-size: 1.5rem; font-weight: 900;
    letter-spacing: -0.02em; color: #fff;
    text-transform: uppercase;
}

.nr-nav[b-s0on6art34] { display: flex; gap: 2.25rem; }
.nr-nav a[b-s0on6art34] {
    font-family: var(--kw-font-heading);
    font-size: 0.8125rem; font-weight: 900;
    text-transform: uppercase; letter-spacing: 0.08em;
    color: #fff; position: relative; padding: 0.25rem 0;
}
.nr-nav a[b-s0on6art34]::after {
    content: ""; position: absolute; left: 0; bottom: -4px;
    width: 0; height: 3px; background: var(--kw-accent);
    transition: width var(--kw-transition);
}
.nr-nav a:hover[b-s0on6art34] { color: var(--kw-accent-soft); }
.nr-nav a:hover[b-s0on6art34]::after { width: 100%; }

.nr-header-actions[b-s0on6art34] { display: flex; align-items: center; gap: 1rem; }
.nr-cart-btn[b-s0on6art34] { position: relative; color: #fff; display: inline-flex; }
.nr-cart-btn:hover[b-s0on6art34] { color: var(--kw-accent-soft); }
.nr-cart-badge[b-s0on6art34] {
    position: absolute; top: -8px; right: -8px;
    min-width: 18px; height: 18px; padding: 0 5px;
    background: var(--kw-accent); color: #fff;
    font-size: 0.6875rem; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 9px;
}

.nr-hamburger[b-s0on6art34] {
    display: none; flex-direction: column; gap: 4px;
    background: none; border: none; cursor: pointer; padding: 4px;
}
.nr-hamburger span[b-s0on6art34] { width: 22px; height: 2px; background: #fff; }

.nr-mobile-nav[b-s0on6art34] {
    display: none; flex-direction: column;
    border-top: 1px solid rgba(255, 255, 255, 0.10); background: var(--kw-dark);
}
.nr-mobile-nav.open[b-s0on6art34] { display: flex; }
.nr-mobile-nav a[b-s0on6art34] {
    font-family: var(--kw-font-heading);
    padding: 0.9rem 2rem; font-size: 0.9375rem; font-weight: 900;
    text-transform: uppercase; letter-spacing: 0.06em;
    color: #fff; border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
.nr-mobile-nav a:hover[b-s0on6art34] { color: var(--kw-accent-soft); }

@media (max-width: 860px) {
    .nr-nav[b-s0on6art34] { display: none; }
    .nr-hamburger[b-s0on6art34] { display: flex; }
}
/* /Themes/Noir/NoirProductCard.razor.rz.scp.css */
.nr-pcard[b-b2rmchh9i1] {
    display: block; text-decoration: none; color: inherit;
    background: var(--kw-light);
    border: 1px solid var(--kw-border);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.nr-pcard:hover[b-b2rmchh9i1] {
    transform: translateY(-4px);
    border-color: var(--kw-accent);
    box-shadow: 0 12px 28px rgba(12, 12, 12, 0.14);
}

.nr-pcard-img[b-b2rmchh9i1] {
    aspect-ratio: 4 / 3; overflow: hidden;
    background: var(--kw-surface-muted);
    border-bottom: 3px solid transparent;
    transition: border-color 0.25s ease;
}
.nr-pcard:hover .nr-pcard-img[b-b2rmchh9i1] { border-bottom-color: var(--kw-accent); }
.nr-pcard-img img[b-b2rmchh9i1] {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.4s ease;
}
.nr-pcard:hover .nr-pcard-img img[b-b2rmchh9i1] { transform: scale(1.05); }

.nr-pcard-placeholder[b-b2rmchh9i1] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--kw-surface-muted) 0%, var(--kw-surface-muted-2) 100%);
    color: var(--kw-dark);
}

.nr-pcard-info[b-b2rmchh9i1] { padding: 1rem 1.125rem 1.25rem; }

.nr-pcard-category[b-b2rmchh9i1] {
    display: block; font-family: var(--kw-font-heading);
    font-size: 0.6875rem; font-weight: 900;
    color: var(--kw-accent); text-transform: uppercase; letter-spacing: 0.12em;
    margin-bottom: 0.375rem;
}
.nr-pcard-name[b-b2rmchh9i1] {
    font-family: var(--kw-font-heading);
    font-size: 0.9375rem; font-weight: 900; color: var(--kw-text);
    text-transform: uppercase; letter-spacing: -0.01em;
    margin-bottom: 0.5rem; line-height: 1.3;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.nr-pcard-price[b-b2rmchh9i1] { font-size: 1.0625rem; font-weight: 900; color: var(--kw-accent); margin: 0; }
.nr-pcard-price span[b-b2rmchh9i1] { font-size: 0.75rem; font-weight: 500; color: var(--kw-text-muted); margin-left: 0.1875rem; }
.nr-pcard-price-cta[b-b2rmchh9i1] {
    font-size: 0.8125rem; font-weight: 900; color: var(--kw-accent);
    text-transform: uppercase; letter-spacing: 0.08em; margin: 0;
}
/* /Themes/Portrait/Blocks/PortraitCategoryGrid.razor.rz.scp.css */
/* Portrait category grid — refined near-monochrome tiles, hairline borders, a thin tan hover hairline,
   Lustria serif names and minimal counts, under a LEFT-aligned muted-ink label + serif title.
   Consumes .theme-portrait --kw-* tokens with literal fallbacks. */
.portrait-catgrid[b-qj7i4a0cgc] { padding: 5.5rem 0; text-align: left; }

/* Wide-tracked muted-ink uppercase label — the signature quiet section label. */
.portrait-catgrid-eyebrow[b-qj7i4a0cgc] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 500;
    font-size: 0.75rem;
    color: var(--kw-text-muted, #8a8a8a);
    margin: 0 0 0.85rem;
}
.portrait-catgrid-title[b-qj7i4a0cgc] {
    position: relative;
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-weight: 400;
    letter-spacing: -0.01em;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #222222);
    margin: 0 0 2.5rem;
    padding-bottom: 1rem;
}
.portrait-catgrid-title[b-qj7i4a0cgc]::after {
    content: ""; position: absolute; left: 0; bottom: 0;
    width: 2rem; height: 2px; background: var(--kw-accent, #9f6f59);
}

.portrait-catgrid-grid[b-qj7i4a0cgc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1px;
    background: var(--kw-border, rgba(26,26,26,0.10));
    border: 1px solid var(--kw-border, rgba(26,26,26,0.10));
}

/* Monochrome tile — hairline seams between tiles, a thin tan hairline appears on hover. */
.portrait-cat[b-qj7i4a0cgc] {
    position: relative;
    display: block;
    min-height: 260px;
    background: var(--kw-light, #ffffff);
    overflow: hidden;
    color: var(--kw-text, #222222);
    outline: 0 solid var(--kw-accent, #9f6f59);
    transition: outline-width 0.18s ease;
}
.portrait-cat:hover[b-qj7i4a0cgc] { outline-width: 2px; outline-offset: -2px; z-index: 1; }

.portrait-cat-img[b-qj7i4a0cgc] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    filter: grayscale(0.35) contrast(1.02);
    transition: transform 0.6s ease, filter 0.4s ease;
}
.portrait-cat:hover .portrait-cat-img[b-qj7i4a0cgc] { transform: scale(1.04); filter: grayscale(0) contrast(1); }
/* Near-monochrome cool overlay — quiet, not the warm crimson wash. */
.portrait-cat-overlay[b-qj7i4a0cgc] {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(26,26,26,0.10) 0%, rgba(26,26,26,0.68) 100%);
}
.portrait-cat:not(.has-img) .portrait-cat-overlay[b-qj7i4a0cgc] {
    background: var(--kw-light, #ffffff);
}

.portrait-cat-body[b-qj7i4a0cgc] {
    position: absolute; z-index: 2; inset: 0;
    display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end;
    padding: 1.5rem;
}
.portrait-cat.has-img .portrait-cat-body[b-qj7i4a0cgc] { color: var(--kw-light, #ffffff); }
.portrait-cat-name[b-qj7i4a0cgc] {
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.25;
    color: inherit;
}
.portrait-cat-rule[b-qj7i4a0cgc] {
    display: block;
    width: 1.75rem; height: 2px;
    background: var(--kw-accent, #9f6f59);
    margin: 0.75rem 0;
}
.portrait-cat-count[b-qj7i4a0cgc] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-weight: 500;
    font-size: 0.6875rem;
    color: inherit;
    opacity: 0.72;
}

.portrait-cat-skeleton[b-qj7i4a0cgc] {
    min-height: 260px;
    background: linear-gradient(100deg, #f2f2f2 30%, #e6e6e6 50%, #f2f2f2 70%);
}
.portrait-catgrid-empty[b-qj7i4a0cgc] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    color: var(--kw-text-muted, #8a8a8a);
}

@media (max-width: 900px) { .portrait-catgrid[b-qj7i4a0cgc] { padding: 3.5rem 0; } }
@media (prefers-reduced-motion: reduce) {
    .portrait-cat-img[b-qj7i4a0cgc] { transition: none; }
    .portrait-cat:hover .portrait-cat-img[b-qj7i4a0cgc] { transform: none; }
}
/* /Themes/Portrait/Blocks/PortraitCtaBanner.razor.rz.scp.css */
/* Portrait CTA — restrained LEFT-aligned band on a near-monochrome ground, wide-tracked muted-ink
   eyebrow, Lustria serif headline over a thin tan rule, thin-outlined primary link + quiet WhatsApp
   text link. Consumes .theme-portrait --kw-* tokens with literal fallbacks. */
.portrait-cta[b-xnj5jzx4u4] {
    position: relative;
    background: var(--kw-dark, #1a1a1a);
    color: var(--kw-light, #ffffff);
    padding: 6rem 0;
    text-align: left;
    overflow: hidden;
}

.portrait-cta-scrim[b-xnj5jzx4u4] {
    position: absolute; inset: 0;
    background: rgba(26, 26, 26, 0.72);
    z-index: 1;
}

.portrait-cta-inner[b-xnj5jzx4u4] {
    position: relative; z-index: 2;
    max-width: 44rem;
}

.portrait-cta-eyebrow[b-xnj5jzx4u4] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 500;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.62);
    margin: 0 0 1.25rem;
}
.portrait-cta-title[b-xnj5jzx4u4] {
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--kw-light, #ffffff);
    font-size: clamp(1.9rem, 4vw, 3.25rem);
    line-height: 1.18;
    max-width: 22ch;
    margin: 0;
}
/* Thin 2rem tan rule — the quiet editorial divider. */
.portrait-cta-rule[b-xnj5jzx4u4] {
    display: block;
    width: 2rem; height: 2px;
    background: var(--kw-accent, #9f6f59);
    margin: 1.75rem 0;
}
.portrait-cta-sub[b-xnj5jzx4u4] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.78);
    max-width: 56ch;
    margin: 0 0 2.25rem;
    line-height: 1.8;
}
.portrait-cta-actions[b-xnj5jzx4u4] {
    display: flex; gap: 2rem;
    align-items: center;
    flex-wrap: wrap;
}
/* Thin-OUTLINED primary — a hairline box, not a filled crimson button. */
.portrait-cta-btn[b-xnj5jzx4u4] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.8125rem;
    color: var(--kw-light, #ffffff);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.5);
    padding: 0.95rem 2.5rem;
    transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}
.portrait-cta-btn:hover[b-xnj5jzx4u4] {
    border-color: var(--kw-accent, #9f6f59);
    background: var(--kw-accent, #9f6f59);
    color: var(--kw-light, #ffffff);
}
.portrait-cta-link[b-xnj5jzx4u4] {
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-style: italic;
    font-size: 1rem;
    color: var(--kw-light, #ffffff);
    opacity: 0.82;
    border-bottom: 1px solid transparent;
    padding-bottom: 3px;
    transition: opacity 0.18s ease, border-color 0.18s ease;
}
.portrait-cta-link:hover[b-xnj5jzx4u4] { opacity: 1; border-bottom-color: var(--kw-accent, #9f6f59); }

@media (max-width: 900px) { .portrait-cta[b-xnj5jzx4u4] { padding: 4rem 0; } }
/* /Themes/Portrait/Blocks/PortraitFaq.razor.rz.scp.css */
/* Portrait FAQ — quiet hairline-ruled accordion with Lustria serif questions and a thin tan [+]→[–]
   marker. Near-monochrome, sharp. Consumes .theme-portrait --kw-* tokens with literal fallbacks. */
.portrait-faq[b-78d7tccvw0] {
    border-top: 1px solid var(--kw-border, rgba(26,26,26,0.10));
    max-width: 800px;
}

.portrait-faq-item[b-78d7tccvw0] {
    border-bottom: 1px solid var(--kw-border, rgba(26,26,26,0.10));
}

.portrait-faq-q[b-78d7tccvw0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.5rem 0.25rem;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.portrait-faq-q[b-78d7tccvw0]::-webkit-details-marker { display: none; }

.portrait-faq-question[b-78d7tccvw0] {
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.4;
    color: var(--kw-text, #222222);
    transition: color 0.18s ease;
}
.portrait-faq-item[open] .portrait-faq-question[b-78d7tccvw0] { color: var(--kw-accent-deep, #7f5644); }

/* Thin tan [+] marker that becomes [–] when the row is open. */
.portrait-faq-marker[b-78d7tccvw0] {
    position: relative;
    flex: 0 0 auto;
    width: 16px; height: 16px;
}
.portrait-faq-marker[b-78d7tccvw0]::before,
.portrait-faq-marker[b-78d7tccvw0]::after {
    content: "";
    position: absolute;
    background: var(--kw-accent, #9f6f59);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.portrait-faq-marker[b-78d7tccvw0]::before { width: 14px; height: 1px; }
.portrait-faq-marker[b-78d7tccvw0]::after  { width: 1px; height: 14px; }
.portrait-faq-item[open] .portrait-faq-marker[b-78d7tccvw0]::after { display: none; }   /* [+] -> [–] */

.portrait-faq-answer[b-78d7tccvw0] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.8;
    color: var(--kw-text-muted, #8a8a8a);
    padding: 0 0 1.5rem;
    margin: 0;
    max-width: 68ch;
}
.portrait-faq-answer[b-78d7tccvw0]  a { color: var(--kw-accent-deep, #7f5644); text-decoration: underline; }
/* /Themes/Portrait/Blocks/PortraitFeaturesRow.razor.rz.scp.css */
/* Portrait features — quiet LEFT-aligned columns with hairline vertical dividers, thin-stroke ink
   icons, small Lustria serif titles. Consumes .theme-portrait --kw-* tokens with literal fallbacks. */
.portrait-features[b-vc02gxkda0] { padding: 5.5rem 0; text-align: left; }

.portrait-features-title[b-vc02gxkda0] {
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-weight: 400;
    letter-spacing: -0.01em;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #222222);
    margin: 0 0 3rem;
    padding-bottom: 1rem;
    position: relative;
}
/* Thin 2rem tan rule under the section title — left-anchored, editorial. */
.portrait-features-title[b-vc02gxkda0]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 2rem; height: 2px;
    background: var(--kw-accent, #9f6f59);
}

.portrait-features-row[b-vc02gxkda0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0;
}

.portrait-feature[b-vc02gxkda0] {
    padding: 0.25rem 2rem;
    border-left: 1px solid var(--kw-border, rgba(26,26,26,0.10));
}
.portrait-feature:first-child[b-vc02gxkda0] { border-left: none; padding-left: 0; }

/* Hairline-stroke icon in ink — never a filled accent chip. */
.portrait-feature-icon[b-vc02gxkda0] {
    color: var(--kw-text, #222222);
    margin-bottom: 1.25rem;
    line-height: 0;
    display: flex;
    justify-content: flex-start;
}
.portrait-feature-icon[b-vc02gxkda0]  svg {
    width: 28px; height: 28px;
    stroke-width: 1.25;
}

.portrait-feature-title[b-vc02gxkda0] {
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-weight: 400;
    font-size: 1.125rem;
    color: var(--kw-text, #222222);
    margin: 0 0 0.6rem;
    line-height: 1.35;
}
.portrait-feature-text[b-vc02gxkda0] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    font-size: 0.875rem;
    line-height: 1.75;
    color: var(--kw-text-muted, #8a8a8a);
    margin: 0;
}

/* Stack cleanly on small screens — swap vertical rules for hairline horizontals. */
@media (max-width: 700px) {
    .portrait-features[b-vc02gxkda0] { padding: 3.5rem 0; }
    .portrait-feature[b-vc02gxkda0] {
        border-left: none;
        border-top: 1px solid var(--kw-border, rgba(26,26,26,0.10));
        padding: 1.75rem 0;
    }
    .portrait-feature:first-child[b-vc02gxkda0] { border-top: none; padding-top: 0.25rem; }
}
/* /Themes/Portrait/Blocks/PortraitHeading.razor.rz.scp.css */
/* Portrait heading — wide-tracked muted-ink uppercase eyebrow + Lustria serif title with a thin tan
   rule, honoring alignment (default left). Consumes .theme-portrait --kw-* tokens with literal
   fallbacks. */
.portrait-heading[b-iqq32ajbrx] { display: block; }

/* Wide-tracked MUTED-INK uppercase eyebrow — the signature quiet label, never accent-coloured. */
.portrait-heading-eyebrow[b-iqq32ajbrx] {
    display: block;
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 500;
    font-size: 0.75rem;
    color: var(--kw-text-muted, #8a8a8a);
    margin-bottom: 0.85rem;
}

.portrait-heading-title[b-iqq32ajbrx] {
    position: relative;
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1.2;
    color: var(--kw-text, #222222);
    margin: 0;
    padding-bottom: 1rem;
}
/* Thin tan rule under the primary headings (not the smaller sub-levels). */
.portrait-heading-title:not(.is-sub)[b-iqq32ajbrx]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 2rem; height: 2px;
    background: var(--kw-accent, #9f6f59);
}
.portrait-heading[style*="center"] .portrait-heading-title:not(.is-sub)[b-iqq32ajbrx]::after { left: 50%; transform: translateX(-50%); }
.portrait-heading[style*="right"] .portrait-heading-title:not(.is-sub)[b-iqq32ajbrx]::after { left: auto; right: 0; }

.portrait-heading-title.is-sub[b-iqq32ajbrx] {
    padding-bottom: 0;
}
/* /Themes/Portrait/Blocks/PortraitHeroBanner.razor.rz.scp.css */
/* Portrait hero — quiet LEFT-aligned editorial stage: wide-tracked muted-ink uppercase label, large
   Lustria serif headline, a thin tan rule, an understated underlined text link CTA. Near-monochrome,
   sharp corners, generous air. Consumes .theme-portrait --kw-* tokens with literal fallbacks. */
.portrait-hero[b-s3da3cfhw9] {
    position: relative;
    min-height: 82vh;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    background: var(--kw-light, #ffffff);
    overflow: hidden;
}
.portrait-hero.no-bg[b-s3da3cfhw9] { background: var(--kw-light, #ffffff); }

.portrait-hero-slides[b-s3da3cfhw9] { position: absolute; inset: 0; z-index: 0; }
.portrait-hero-slide[b-s3da3cfhw9] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transition: opacity 1s ease;
}
.portrait-hero-slide.is-active[b-s3da3cfhw9] { opacity: 1; }

/* Cool, restrained scrim — grades toward the left column so the ink text stays legible. */
.portrait-hero-scrim[b-s3da3cfhw9] {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(90deg, rgba(26,26,26,0.62) 0%, rgba(26,26,26,0.34) 55%, rgba(26,26,26,0.12) 100%);
}

.portrait-hero-inner[b-s3da3cfhw9] {
    position: relative; z-index: 2;
    width: 100%;
}
/* Asymmetric column — text occupies the left, wide margin of air on the right. */
.portrait-hero-col[b-s3da3cfhw9] {
    max-width: 40rem;
    color: var(--kw-light, #ffffff);
}
.portrait-hero.no-bg .portrait-hero-col[b-s3da3cfhw9] { color: var(--kw-text, #222222); }

/* Wide-tracked MUTED-INK uppercase label — the signature quiet section label (never accent-coloured). */
.portrait-hero-eyebrow[b-s3da3cfhw9] { margin: 0 0 1.5rem; }
.portrait-hero-eyebrow span[b-s3da3cfhw9] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-weight: 500;
    font-size: 0.75rem;
    color: var(--kw-text-muted, #8a8a8a);
}
.portrait-hero.has-bg .portrait-hero-eyebrow span[b-s3da3cfhw9] { color: rgba(255,255,255,0.72); }

.portrait-hero-title[b-s3da3cfhw9] {
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-weight: 400;
    letter-spacing: -0.01em;
    color: inherit;
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    line-height: 1.1;
    margin: 0;
}

/* Thin 2rem tan rule — quiet editorial divider under the headline. */
.portrait-hero-rule[b-s3da3cfhw9] {
    display: block;
    width: 2rem; height: 2px;
    background: var(--kw-accent, #9f6f59);
    margin: 1.75rem 0;
}

.portrait-hero-sub[b-s3da3cfhw9] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    font-size: 1.0625rem;
    line-height: 1.8;
    color: inherit;
    opacity: 0.86;
    max-width: 42ch;
    margin: 0 0 2.25rem;
}

.portrait-hero-actions[b-s3da3cfhw9] {
    display: flex; gap: 2rem;
    align-items: center;
    flex-wrap: wrap;
}
/* Understated underlined TEXT link as the primary CTA — no filled button. */
.portrait-hero-cta[b-s3da3cfhw9] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.8125rem;
    color: inherit;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--kw-accent, #9f6f59);
    transition: color 0.18s ease, border-color 0.18s ease;
}
.portrait-hero-cta:hover[b-s3da3cfhw9] { color: var(--kw-accent, #9f6f59); border-color: var(--kw-accent-deep, #7f5644); }

.portrait-hero-link[b-s3da3cfhw9] {
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-style: italic;
    font-size: 1rem;
    color: inherit;
    opacity: 0.82;
    border-bottom: 1px solid transparent;
    padding-bottom: 3px;
    transition: opacity 0.18s ease, border-color 0.18s ease;
}
.portrait-hero-link:hover[b-s3da3cfhw9] { opacity: 1; border-bottom-color: var(--kw-border-strong, #dcdcdc); }

/* Left-aligned dots — small hairline squares (sharp), not centred circles. */
.portrait-hero-dots[b-s3da3cfhw9] {
    position: absolute; z-index: 3;
    left: 0; right: 0; bottom: 2.25rem;
    display: flex; gap: 0.6rem;
    padding-left: max(1.5rem, calc((100% - 1200px) / 2 + 1.5rem));
}
.portrait-hero-dot[b-s3da3cfhw9] {
    width: 26px; height: 3px;
    background: rgba(255,255,255,0.4);
    border: none;
    cursor: pointer;
    transition: background 0.18s ease;
}
.portrait-hero.no-bg .portrait-hero-dot[b-s3da3cfhw9] { background: var(--kw-border-strong, #dcdcdc); }
.portrait-hero-dot:hover[b-s3da3cfhw9] { background: rgba(255,255,255,0.75); }
.portrait-hero-dot.is-active[b-s3da3cfhw9] { background: var(--kw-accent, #9f6f59); }
.portrait-hero.no-bg .portrait-hero-dot.is-active[b-s3da3cfhw9] { background: var(--kw-accent, #9f6f59); }

@media (max-width: 900px) { .portrait-hero[b-s3da3cfhw9] { min-height: 72vh; } }

@media (prefers-reduced-motion: reduce) {
    .portrait-hero-slide[b-s3da3cfhw9] { transition: none; }
}
/* /Themes/Portrait/Blocks/PortraitTestimonial.razor.rz.scp.css */
/* Portrait testimonial — large LEFT-aligned Lustria serif pull-quote, small tan quotation glyph, thin
   tan rule, minimal author line, rating as small tan marks. Consumes .theme-portrait --kw-* tokens
   with literal fallbacks. */
.portrait-testimonial[b-sratp9c1xh] {
    text-align: left;
    max-width: 720px;
    margin: 0;
    padding: 2rem 0;
}

/* Small tan quotation glyph — a restrained editorial flourish, not a loud mark. */
.portrait-testimonial-glyph[b-sratp9c1xh] {
    display: block;
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-size: 3.5rem;
    line-height: 0.6;
    color: var(--kw-accent, #9f6f59);
    margin-bottom: 0.75rem;
}

.portrait-testimonial-quote[b-sratp9c1xh] {
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-weight: 400;
    font-size: clamp(1.375rem, 2.6vw, 1.875rem);
    line-height: 1.5;
    color: var(--kw-text, #222222);
    margin: 0;
}

.portrait-testimonial-rule[b-sratp9c1xh] {
    display: block;
    width: 2rem; height: 2px;
    background: var(--kw-accent, #9f6f59);
    margin: 1.75rem 0 1.25rem;
}

.portrait-testimonial-by[b-sratp9c1xh] {
    display: flex; flex-direction: column; gap: 0.4rem;
    align-items: flex-start;
}
.portrait-testimonial-name[b-sratp9c1xh] {
    font-family: var(--kw-font, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-weight: 500;
    font-size: 0.8125rem;
    color: var(--kw-text, #222222);
}
.portrait-testimonial-role[b-sratp9c1xh] {
    font-family: var(--kw-font-heading, 'Lustria', Georgia, serif);
    font-style: italic;
    font-size: 0.9375rem;
    color: var(--kw-text-muted, #8a8a8a);
}

/* Rating as small tan tick marks — minimal, in keeping with the quiet register. */
.portrait-testimonial-rating[b-sratp9c1xh] {
    display: inline-flex;
    gap: 0.35rem;
    margin-top: 0.15rem;
}
.portrait-testimonial-mark[b-sratp9c1xh] {
    width: 14px; height: 2px;
    background: var(--kw-accent, #9f6f59);
}
/* /Themes/Sepia/Blocks/SepiaCategoryGrid.razor.rz.scp.css */
/* Sepia category grid — elegant heritage tiles: thin bronze frame, warm espresso overlay, centred
   Rosario serif name over a bronze rule, UPPERCASE small-caps count. Sharp corners. Consumes
   .theme-sepia --kw-* tokens with literal fallbacks. */
.sepia-catgrid[b-yap0erb1hf] { padding: 5rem 0; text-align: center; background: var(--kw-light, #f8f4ec); }

.sepia-catgrid-eyebrow[b-yap0erb1hf] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--kw-accent, #b98862);
    margin-bottom: 0.7rem;
}
.sepia-catgrid-title[b-yap0erb1hf] {
    position: relative;
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-weight: 700;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #2e2820);
    margin: 0 auto 2.5rem;
    padding-bottom: 1.25rem;
}
.sepia-catgrid-title[b-yap0erb1hf]::after {
    content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
    width: 3rem; height: 1px; background: var(--kw-accent, #b98862);
}

.sepia-catgrid-grid[b-yap0erb1hf] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
}

.sepia-cat[b-yap0erb1hf] {
    position: relative;
    display: block;
    min-height: 260px;
    background: var(--kw-dark, #211c16);
    border: 1px solid var(--kw-border-strong, #ddd3c4);
    border-radius: 0;
    overflow: hidden;
    color: var(--kw-light, #f8f4ec);
}
/* Thin bronze inner frame — the establishment tile signature. */
.sepia-cat[b-yap0erb1hf]::after {
    content: "";
    position: absolute; z-index: 3; inset: 0.75rem;
    border: 1px solid rgba(216, 189, 162, 0.5);
    pointer-events: none;
    transition: border-color 0.25s ease;
}
.sepia-cat:hover[b-yap0erb1hf]::after { border-color: var(--kw-accent, #b98862); }

.sepia-cat-img[b-yap0erb1hf] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform 0.5s ease;
}
.sepia-cat:hover .sepia-cat-img[b-yap0erb1hf] { transform: scale(1.05); }
.sepia-cat-overlay[b-yap0erb1hf] {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(33,28,22,0.28) 0%, rgba(33,28,22,0.8) 100%);
}

.sepia-cat-body[b-yap0erb1hf] {
    position: absolute; z-index: 2; inset: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 1.5rem;
}
.sepia-cat-name[b-yap0erb1hf] {
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.25;
    color: var(--kw-light, #f8f4ec);
}
.sepia-cat-rule[b-yap0erb1hf] {
    display: block;
    width: 2rem; height: 1px;
    background: var(--kw-accent, #b98862);
    margin: 0.9rem auto;
}
.sepia-cat-count[b-yap0erb1hf] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-weight: 600;
    font-size: 0.6875rem;
    color: var(--kw-accent-soft, #d8bda2);
}

.sepia-cat-skeleton[b-yap0erb1hf] {
    min-height: 260px;
    background: linear-gradient(100deg, #efe8dc 30%, #e4dccc 50%, #efe8dc 70%);
    border: 1px solid var(--kw-border-strong, #ddd3c4);
}
.sepia-catgrid-empty[b-yap0erb1hf] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    color: var(--kw-text-muted, #8f8578);
}

@media (max-width: 900px) { .sepia-catgrid[b-yap0erb1hf] { padding: 3.5rem 0; } }
@media (prefers-reduced-motion: reduce) {
    .sepia-cat-img[b-yap0erb1hf] { transition: none; }
    .sepia-cat:hover .sepia-cat-img[b-yap0erb1hf] { transform: none; }
}
/* /Themes/Sepia/Blocks/SepiaCtaBanner.razor.rz.scp.css */
/* Sepia CTA — a dignified heritage panel: cream-on-espresso with a thin bronze frame, UPPERCASE
   bronze eyebrow and a Rosario serif headline. Sharp corners, 1px borders. Consumes .theme-sepia
   --kw-* tokens with literal fallbacks. */
.sepia-cta[b-727vv5ahkq] {
    position: relative;
    background: var(--kw-dark, #211c16);
    color: var(--kw-light, #f8f4ec);
    padding: 5.5rem 0;
    text-align: center;
    overflow: hidden;
}

.sepia-cta-scrim[b-727vv5ahkq] {
    position: absolute; inset: 0;
    background: rgba(33, 28, 22, 0.7);
    z-index: 1;
}

.sepia-cta-inner[b-727vv5ahkq] { position: relative; z-index: 2; }

/* Thin bronze frame — the establishment/heritage panel signature. */
.sepia-cta-frame[b-727vv5ahkq] {
    max-width: 46rem;
    margin: 0 auto;
    padding: 3rem 2.5rem;
    border: 1px solid var(--kw-accent, #b98862);
    border-radius: 0;
}

.sepia-cta-eyebrow[b-727vv5ahkq] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--kw-accent-soft, #d8bda2);
    margin-bottom: 1rem;
}
.sepia-cta-title[b-727vv5ahkq] {
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-weight: 700;
    color: var(--kw-light, #f8f4ec);
    font-size: clamp(1.75rem, 4vw, 3rem);
    line-height: 1.22;
    max-width: 24ch;
    margin: 0 auto 1.25rem;
}
.sepia-cta-sub[b-727vv5ahkq] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-size: 1rem;
    color: rgba(248, 244, 236, 0.8);
    max-width: 54ch;
    margin: 0 auto 2rem;
    line-height: 1.75;
}
.sepia-cta-actions[b-727vv5ahkq] {
    display: flex; gap: 1.75rem;
    align-items: center; justify-content: center;
    flex-wrap: wrap;
}
.sepia-cta-btn[b-727vv5ahkq] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-weight: 600;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #fff;
    background: var(--kw-accent, #b98862);
    border: 1px solid var(--kw-accent, #b98862);
    border-radius: 0;
    padding: 0.95rem 2.4rem;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.sepia-cta-btn:hover[b-727vv5ahkq] { background: var(--kw-accent-deep, #9a6c49); border-color: var(--kw-accent-deep, #9a6c49); }
.sepia-cta-link[b-727vv5ahkq] {
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-size: 1rem;
    color: var(--kw-light, #f8f4ec);
    border-bottom: 1px solid var(--kw-accent, #b98862);
    padding-bottom: 2px;
    transition: color 0.18s ease, border-color 0.18s ease;
}
.sepia-cta-link:hover[b-727vv5ahkq] { color: var(--kw-accent-soft, #d8bda2); border-color: var(--kw-accent-soft, #d8bda2); }

@media (max-width: 900px) { .sepia-cta[b-727vv5ahkq] { padding: 3.5rem 0; } .sepia-cta-frame[b-727vv5ahkq] { padding: 2.25rem 1.5rem; } }
/* /Themes/Sepia/Blocks/SepiaFaq.razor.rz.scp.css */
/* Sepia FAQ — a dignified serif accordion with hairline bronze rules and a thin bronze [+]→[–] marker.
   Sharp corners. Consumes .theme-sepia --kw-* tokens with literal fallbacks. */
.sepia-faq[b-n4w96lfi0n] {
    border-top: 1px solid var(--kw-border-strong, #ddd3c4);
    max-width: 780px;
}

.sepia-faq-item[b-n4w96lfi0n] {
    border-bottom: 1px solid var(--kw-border-strong, #ddd3c4);
}

.sepia-faq-q[b-n4w96lfi0n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.4rem 0.25rem;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.sepia-faq-q[b-n4w96lfi0n]::-webkit-details-marker { display: none; }

.sepia-faq-question[b-n4w96lfi0n] {
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-weight: 700;
    font-size: 1.0625rem;
    line-height: 1.4;
    color: var(--kw-text, #2e2820);
}
.sepia-faq-item[open] .sepia-faq-question[b-n4w96lfi0n] { color: var(--kw-accent-deep, #9a6c49); }

/* Thin bronze [+] marker that becomes [–] when the row is open. */
.sepia-faq-marker[b-n4w96lfi0n] {
    position: relative;
    flex: 0 0 auto;
    width: 18px; height: 18px;
}
.sepia-faq-marker[b-n4w96lfi0n]::before,
.sepia-faq-marker[b-n4w96lfi0n]::after {
    content: "";
    position: absolute;
    background: var(--kw-accent, #b98862);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.sepia-faq-marker[b-n4w96lfi0n]::before { width: 14px; height: 1px; }
.sepia-faq-marker[b-n4w96lfi0n]::after  { width: 1px; height: 14px; }
.sepia-faq-item[open] .sepia-faq-marker[b-n4w96lfi0n]::after { display: none; }   /* [+] -> [–] */

.sepia-faq-answer[b-n4w96lfi0n] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.75;
    color: var(--kw-text-muted, #8f8578);
    padding: 0 0 1.4rem;
    margin: 0;
}
.sepia-faq-answer[b-n4w96lfi0n]  a { color: var(--kw-accent-deep, #9a6c49); text-decoration: underline; }
/* /Themes/Sepia/Blocks/SepiaFeaturesRow.razor.rz.scp.css */
/* Sepia features — dignified columns with bronze icons, Rosario serif titles and thin bronze vertical
   dividers. Cream page, sharp corners. Consumes .theme-sepia --kw-* tokens with literal fallbacks. */
.sepia-features[b-g9gmni8d8y] { padding: 5rem 0; text-align: center; background: var(--kw-light, #f8f4ec); }

.sepia-features-title[b-g9gmni8d8y] {
    position: relative;
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-weight: 700;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #2e2820);
    margin: 0 auto 3rem;
    padding-bottom: 1.25rem;
}
.sepia-features-title[b-g9gmni8d8y]::after {
    content: "";
    position: absolute; left: 50%; bottom: 0;
    transform: translateX(-50%);
    width: 3rem; height: 1px;
    background: var(--kw-accent, #b98862);
}

.sepia-features-row[b-g9gmni8d8y] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0;
}

.sepia-feature[b-g9gmni8d8y] {
    padding: 0.5rem 1.75rem;
    border-left: 1px solid var(--kw-border-strong, #ddd3c4);
}
.sepia-feature:first-child[b-g9gmni8d8y] { border-left: none; }

.sepia-feature-icon[b-g9gmni8d8y] {
    color: var(--kw-accent, #b98862);
    margin-bottom: 1rem;
    line-height: 0;
    display: flex;
    justify-content: center;
}
.sepia-feature-icon[b-g9gmni8d8y]  svg { width: 30px; height: 30px; color: var(--kw-accent, #b98862); }

.sepia-feature-title[b-g9gmni8d8y] {
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-weight: 700;
    font-size: 1.0625rem;
    color: var(--kw-text, #2e2820);
    margin-bottom: 0.6rem;
    line-height: 1.35;
}
.sepia-feature-text[b-g9gmni8d8y] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--kw-text-muted, #8f8578);
}

/* Stack cleanly on small screens — drop the vertical rules, add hairline horizontal separators. */
@media (max-width: 700px) {
    .sepia-features[b-g9gmni8d8y] { padding: 3.5rem 0; }
    .sepia-feature[b-g9gmni8d8y] {
        border-left: none;
        border-top: 1px solid var(--kw-border-strong, #ddd3c4);
        padding: 1.75rem 1rem;
    }
    .sepia-feature:first-child[b-g9gmni8d8y] { border-top: none; }
}
/* /Themes/Sepia/Blocks/SepiaHeading.razor.rz.scp.css */
/* Sepia heading — UPPERCASE letter-spaced bronze eyebrow + Rosario serif title with a short bronze
   rule. Consumes .theme-sepia --kw-* tokens with literal fallbacks. */
.sepia-heading[b-ap5xbm4iua] { display: block; }

.sepia-heading-eyebrow[b-ap5xbm4iua] {
    display: block;
    font-family: var(--kw-font, 'Roboto', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--kw-accent, #b98862);
    margin-bottom: 0.7rem;
}

.sepia-heading-title[b-ap5xbm4iua] {
    position: relative;
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-weight: 700;
    line-height: 1.3;
    color: var(--kw-text, #2e2820);
    margin: 0;
    padding-bottom: 0.85rem;
}
/* Short bronze rule under the primary headings (not the smaller sub-levels). */
.sepia-heading-title:not(.is-sub)[b-ap5xbm4iua]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 3rem; height: 1px;
    background: var(--kw-accent, #b98862);
}
.sepia-heading[style*="center"] .sepia-heading-title:not(.is-sub)[b-ap5xbm4iua]::after { left: 50%; transform: translateX(-50%); }
.sepia-heading[style*="right"] .sepia-heading-title:not(.is-sub)[b-ap5xbm4iua]::after { left: auto; right: 0; }

.sepia-heading-title.is-sub[b-ap5xbm4iua] {
    padding-bottom: 0;
}
/* /Themes/Sepia/Blocks/SepiaHeroBanner.razor.rz.scp.css */
/* Sepia hero — a dignified heritage stage: UPPERCASE letter-spaced bronze eyebrow, Rosario serif
   headline over a thin bronze rule, solid square bronze CTA. Sharp corners, 1px borders. Consumes
   .theme-sepia --kw-* tokens with literal fallbacks. */
.sepia-hero[b-cy6htt8qb7] {
    position: relative;
    min-height: 82vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--kw-dark, #211c16);
    overflow: hidden;
}

.sepia-hero-slides[b-cy6htt8qb7] { position: absolute; inset: 0; z-index: 0; }
.sepia-hero-slide[b-cy6htt8qb7] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transition: opacity 1s ease;
}
.sepia-hero-slide.is-active[b-cy6htt8qb7] { opacity: 1; }

.sepia-hero-scrim[b-cy6htt8qb7] {
    position: absolute; inset: 0; z-index: 1;
    background: rgba(33, 28, 22, 0.66);
}

.sepia-hero-inner[b-cy6htt8qb7] {
    position: relative; z-index: 2;
    max-width: 48rem;
    color: var(--kw-light, #f8f4ec);
    padding: 3rem 1.5rem;
    border: 1px solid rgba(216, 189, 162, 0.28);
}

/* Refined bronze UPPERCASE small-caps section label — the signature Sepia eyebrow. */
.sepia-hero-eyebrow[b-cy6htt8qb7] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 600;
    font-size: 0.75rem;
    color: var(--kw-accent-soft, #d8bda2);
    margin-bottom: 1.5rem;
}

.sepia-hero-title[b-cy6htt8qb7] {
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-weight: 700;
    color: var(--kw-light, #f8f4ec);
    font-size: clamp(2.25rem, 5.5vw, 4rem);
    line-height: 1.16;
    margin: 0;
}

/* Thin bronze rule that separates the headline from the subtitle. */
.sepia-hero-rule[b-cy6htt8qb7] {
    display: block;
    width: 4rem; height: 1px;
    background: var(--kw-accent, #b98862);
    margin: 1.75rem auto;
}

.sepia-hero-sub[b-cy6htt8qb7] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-size: 1.0625rem;
    line-height: 1.75;
    color: rgba(248, 244, 236, 0.82);
    max-width: 42ch;
    margin: 0 auto 2.25rem;
}

.sepia-hero-actions[b-cy6htt8qb7] {
    display: flex; gap: 1.75rem;
    align-items: center; justify-content: center;
    flex-wrap: wrap;
}
/* Solid bronze square CTA — sharp corners, 1px border. */
.sepia-hero-cta[b-cy6htt8qb7] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    font-weight: 600;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #fff;
    background: var(--kw-accent, #b98862);
    border: 1px solid var(--kw-accent, #b98862);
    border-radius: 0;
    padding: 0.95rem 2.4rem;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.sepia-hero-cta:hover[b-cy6htt8qb7] { background: var(--kw-accent-deep, #9a6c49); border-color: var(--kw-accent-deep, #9a6c49); }

/* Understated text link — Rosario serif, thin bronze underline. */
.sepia-hero-link[b-cy6htt8qb7] {
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-size: 1rem;
    color: var(--kw-light, #f8f4ec);
    border-bottom: 1px solid var(--kw-accent, #b98862);
    padding-bottom: 2px;
    transition: color 0.18s ease, border-color 0.18s ease;
}
.sepia-hero-link:hover[b-cy6htt8qb7] { color: var(--kw-accent-soft, #d8bda2); border-color: var(--kw-accent-soft, #d8bda2); }

.sepia-hero-dots[b-cy6htt8qb7] {
    position: absolute; z-index: 3;
    left: 50%; bottom: 2rem;
    transform: translateX(-50%);
    display: flex; gap: 0.6rem;
}
.sepia-hero-dot[b-cy6htt8qb7] {
    width: 10px; height: 10px;
    border-radius: 0;                 /* sharp corners — square indicators */
    background: transparent;
    border: 1px solid rgba(248, 244, 236, 0.6);
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.sepia-hero-dot:hover[b-cy6htt8qb7] { border-color: var(--kw-light, #f8f4ec); }
.sepia-hero-dot.is-active[b-cy6htt8qb7] { background: var(--kw-accent, #b98862); border-color: var(--kw-accent, #b98862); }

@media (max-width: 900px) { .sepia-hero[b-cy6htt8qb7] { min-height: 72vh; } .sepia-hero-inner[b-cy6htt8qb7] { padding: 2rem 1.25rem; } }

@media (prefers-reduced-motion: reduce) {
    .sepia-hero-slide[b-cy6htt8qb7] { transition: none; }
}
/* /Themes/Sepia/Blocks/SepiaTestimonial.razor.rz.scp.css */
/* Sepia testimonial — a refined heritage pull-quote: Rosario serif quote, thin bronze rule, UPPERCASE
   letter-spaced bronze attribution. Consumes .theme-sepia --kw-* tokens with literal fallbacks. */
.sepia-testimonial[b-ka9d3ajwdh] {
    text-align: center;
    max-width: 680px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.sepia-testimonial-quote[b-ka9d3ajwdh] {
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(1.25rem, 2.4vw, 1.625rem);
    line-height: 1.55;
    color: var(--kw-text, #2e2820);
    margin: 0;
}
/* Bronze serif quotation marks — the dignified pull-quote flourish. */
.sepia-testimonial-quote[b-ka9d3ajwdh]::before { content: "\201C"; margin-right: 0.1em; color: var(--kw-accent, #b98862); }
.sepia-testimonial-quote[b-ka9d3ajwdh]::after  { content: "\201D"; margin-left: 0.1em; color: var(--kw-accent, #b98862); }

.sepia-testimonial-rule[b-ka9d3ajwdh] {
    display: block;
    width: 3rem; height: 1px;
    background: var(--kw-accent, #b98862);
    margin: 1.75rem auto;
}

.sepia-testimonial-by[b-ka9d3ajwdh] {
    display: flex; flex-direction: column; gap: 0.3rem;
    align-items: center;
}
.sepia-testimonial-name[b-ka9d3ajwdh] {
    font-family: var(--kw-font, 'Roboto', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-weight: 600;
    font-size: 0.8125rem;
    color: var(--kw-accent-deep, #9a6c49);
}
.sepia-testimonial-role[b-ka9d3ajwdh] {
    font-family: var(--kw-font-heading, 'Rosario', Georgia, serif);
    font-style: italic;
    font-size: 0.875rem;
    color: var(--kw-text-muted, #8f8578);
}
/* /Themes/Sepia/SepiaFooter.razor.rz.scp.css */
.sp-footer[b-swtbr0oyjz] {
    background: var(--kw-dark);
    color: rgba(248, 244, 236, 0.72);
    padding: 4.5rem 0 2rem;
}

.sp-footer-top[b-swtbr0oyjz] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.4fr;
    gap: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(248, 244, 236, 0.12);
}

.sp-footer-brand h3[b-swtbr0oyjz] {
    font-family: var(--kw-font-heading);
    color: #fff; font-size: 1.375rem; font-weight: 700;
    letter-spacing: 0.01em; margin-bottom: 1rem;
}
.sp-footer-brand p[b-swtbr0oyjz] { font-size: 0.9375rem; line-height: 1.7; margin-bottom: 1.5rem; max-width: 34ch; }

.sp-footer-whatsapp[b-swtbr0oyjz] {
    display: inline-flex; align-items: center; gap: 0.5rem;
    color: #fff; font-size: 0.875rem; font-weight: 500;
}
.sp-footer-whatsapp:hover[b-swtbr0oyjz] { color: var(--kw-accent-soft); }

.sp-footer-col h4[b-swtbr0oyjz] {
    color: var(--kw-accent-soft); font-size: 0.75rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.18em; margin-bottom: 1.25rem;
}
.sp-footer-col a[b-swtbr0oyjz] {
    display: block; font-size: 0.9375rem; color: rgba(248, 244, 236, 0.72);
    padding: 0.3rem 0;
}
.sp-footer-col a:hover[b-swtbr0oyjz] { color: var(--kw-accent-soft); }

.sp-location[b-swtbr0oyjz] { margin-bottom: 0.85rem; }
.sp-location strong[b-swtbr0oyjz] { display: block; color: #fff; font-size: 0.875rem; }
.sp-location span[b-swtbr0oyjz] { font-size: 0.8125rem; color: rgba(248, 244, 236, 0.6); }

.sp-footer-bottom[b-swtbr0oyjz] {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 1rem; padding-top: 2rem;
}
.sp-footer-bottom p[b-swtbr0oyjz] { font-size: 0.8125rem; color: rgba(248, 244, 236, 0.55); }
.sp-footer-social[b-swtbr0oyjz] { display: flex; gap: 1.5rem; }
.sp-footer-social a[b-swtbr0oyjz] { font-size: 0.8125rem; font-weight: 500; color: rgba(248, 244, 236, 0.72); }
.sp-footer-social a:hover[b-swtbr0oyjz] { color: var(--kw-accent-soft); }

@media (max-width: 860px) {
    .sp-footer-top[b-swtbr0oyjz] { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .sp-footer-brand[b-swtbr0oyjz] { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
    .sp-footer-top[b-swtbr0oyjz] { grid-template-columns: 1fr; }
    .sp-footer-bottom[b-swtbr0oyjz] { flex-direction: column; align-items: flex-start; }
}
/* /Themes/Sepia/SepiaHeader.razor.rz.scp.css */
.sp-header[b-ur4l4plgoo] {
    position: sticky; top: 0; z-index: 100;
    background: var(--kw-light);
    border-bottom: 1px solid var(--kw-border);
    transition: box-shadow var(--kw-transition);
}
.sp-header.header-scrolled[b-ur4l4plgoo] { box-shadow: 0 2px 12px rgba(33, 28, 22, 0.08); }

/* Refined premium utility strip above the main nav — understated, heritage feel. */
.sp-topbar[b-ur4l4plgoo] {
    background: var(--kw-dark);
    color: rgba(248, 244, 236, 0.72);
    border-bottom: 1px solid rgba(248, 244, 236, 0.08);
}
.sp-topbar-inner[b-ur4l4plgoo] {
    display: flex; align-items: center; justify-content: space-between;
    gap: 1.5rem; height: 34px;
    font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase;
}
.sp-topbar-locs[b-ur4l4plgoo] { color: var(--kw-accent-soft); font-weight: 500; }
.sp-topbar-hours[b-ur4l4plgoo] { color: rgba(248, 244, 236, 0.72); }

.sp-header-inner[b-ur4l4plgoo] {
    display: flex; align-items: center; justify-content: space-between;
    gap: 2rem; height: 82px;
}

.sp-logo[b-ur4l4plgoo] { display: inline-flex; align-items: center; }
.sp-logo img[b-ur4l4plgoo] { max-height: 42px; width: auto; }
.sp-logo-text[b-ur4l4plgoo] {
    font-family: var(--kw-font-heading);
    font-size: 1.5rem; font-weight: 700;
    letter-spacing: 0.01em; color: var(--kw-dark);
}

.sp-nav[b-ur4l4plgoo] { display: flex; gap: 2rem; }
.sp-nav a[b-ur4l4plgoo] {
    font-size: 0.8125rem; font-weight: 500;
    text-transform: uppercase; letter-spacing: 0.14em;
    color: var(--kw-text); position: relative; padding: 0.25rem 0;
}
.sp-nav a[b-ur4l4plgoo]::after {
    content: ""; position: absolute; left: 0; bottom: -2px;
    width: 0; height: 1px; background: var(--kw-accent);
    transition: width var(--kw-transition);
}
.sp-nav a:hover[b-ur4l4plgoo] { color: var(--kw-accent-deep); }
.sp-nav a:hover[b-ur4l4plgoo]::after { width: 100%; }

.sp-header-actions[b-ur4l4plgoo] { display: flex; align-items: center; gap: 1rem; }
.sp-cart-btn[b-ur4l4plgoo] { position: relative; color: var(--kw-text); display: inline-flex; }
.sp-cart-btn:hover[b-ur4l4plgoo] { color: var(--kw-accent-deep); }
.sp-cart-badge[b-ur4l4plgoo] {
    position: absolute; top: -8px; right: -8px;
    min-width: 18px; height: 18px; padding: 0 5px;
    background: var(--kw-accent); color: #fff;
    font-size: 0.6875rem; font-weight: 700;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 9px;
}

.sp-hamburger[b-ur4l4plgoo] {
    display: none; flex-direction: column; gap: 4px;
    background: none; border: none; cursor: pointer; padding: 4px;
}
.sp-hamburger span[b-ur4l4plgoo] { width: 22px; height: 2px; background: var(--kw-dark); }

.sp-mobile-nav[b-ur4l4plgoo] {
    display: none; flex-direction: column;
    border-top: 1px solid var(--kw-border); background: var(--kw-light);
}
.sp-mobile-nav.open[b-ur4l4plgoo] { display: flex; }
.sp-mobile-nav a[b-ur4l4plgoo] {
    padding: 0.9rem 2rem; font-size: 0.9375rem; font-weight: 500;
    text-transform: uppercase; letter-spacing: 0.12em;
    color: var(--kw-text); border-bottom: 1px solid var(--kw-border);
}
.sp-mobile-nav a:hover[b-ur4l4plgoo] { color: var(--kw-accent-deep); }

@media (max-width: 860px) {
    .sp-nav[b-ur4l4plgoo] { display: none; }
    .sp-hamburger[b-ur4l4plgoo] { display: flex; }
    .sp-topbar-hours[b-ur4l4plgoo] { display: none; }
    .sp-topbar-inner[b-ur4l4plgoo] { justify-content: center; }
}
/* /Themes/Sepia/SepiaProductCard.razor.rz.scp.css */
.sp-pcard[b-7safdzitco] {
    display: block; text-decoration: none; color: inherit;
    transition: transform 0.25s ease;
}
.sp-pcard:hover[b-7safdzitco] { transform: translateY(-3px); }

.sp-pcard-img[b-7safdzitco] {
    aspect-ratio: 4 / 3; overflow: hidden;
    background: var(--kw-surface-muted); margin-bottom: 1rem;
    border: 1px solid var(--kw-border);
}
.sp-pcard-img img[b-7safdzitco] {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.4s ease;
}
.sp-pcard:hover .sp-pcard-img img[b-7safdzitco] { transform: scale(1.04); }

.sp-pcard-placeholder[b-7safdzitco] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--kw-surface-muted) 0%, var(--kw-surface-muted-2) 100%);
    color: var(--kw-dark);
}

.sp-pcard-category[b-7safdzitco] {
    display: block; font-size: 0.6875rem; font-weight: 600;
    /* Darkened bronze so the small eyebrow clears WCAG AA (4.5:1) on the cream page —
       plain --kw-accent-deep (#9a6c49) on #f8f4ec is only ~4.15:1. */
    color: color-mix(in srgb, var(--kw-accent-deep) 80%, #000);
    text-transform: uppercase; letter-spacing: 0.18em;
    margin-bottom: 0.375rem;
}
.sp-pcard-name[b-7safdzitco] {
    font-family: var(--kw-font-heading);
    font-size: 1rem; font-weight: 700; color: var(--kw-text);
    letter-spacing: 0.01em; margin-bottom: 0.375rem; line-height: 1.35;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.sp-pcard-price[b-7safdzitco] { font-size: 0.9375rem; font-weight: 500; color: var(--kw-text); margin: 0; }
.sp-pcard-price span[b-7safdzitco] { font-size: 0.75rem; font-weight: 400; color: var(--kw-text-muted); margin-left: 0.1875rem; }
.sp-pcard-price-cta[b-7safdzitco] {
    font-size: 0.8125rem; font-weight: 600; color: var(--kw-accent-deep);
    text-transform: uppercase; letter-spacing: 0.12em; margin: 0;
}
/* /Themes/Studio/Blocks/StudioCategoryGrid.razor.rz.scp.css */
/* Studio category grid — retail tiles with a purple/ink overlay, Outfit uppercase name, magenta accent
   and a 4px purple hard-offset shadow on hover. Consumes .theme-studio --studio-*/--kw-* tokens with
   literal fallbacks. */
.studio-catgrid[b-lvax4cq9tf] { padding: 5rem 0; }

.studio-catgrid-eyebrow[b-lvax4cq9tf] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--studio-magenta, #DB1471);
    margin-bottom: 0.6rem;
}
.studio-catgrid-title[b-lvax4cq9tf] {
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 800;
    letter-spacing: -0.03em;
    font-size: clamp(1.625rem, 3.5vw, 2.5rem);
    color: var(--studio-ink, #1A1A1A);
    margin: 0 0 2.5rem;
}

.studio-catgrid-grid[b-lvax4cq9tf] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.25rem;
}

.studio-cat[b-lvax4cq9tf] {
    position: relative;
    display: block;
    min-height: 260px;
    background: var(--studio-purple, #3D1B7A);
    border: 2px solid var(--studio-ink, #1A1A1A);
    overflow: hidden;
    color: var(--studio-paper, #FFFFFF);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.studio-cat:hover[b-lvax4cq9tf] {
    transform: translate(-2px, -2px);
    box-shadow: 4px 4px 0 0 var(--studio-purple, #3D1B7A);
}
.studio-cat-img[b-lvax4cq9tf] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform 0.4s ease;
}
.studio-cat:hover .studio-cat-img[b-lvax4cq9tf] { transform: scale(1.04); }
/* Purple/ink slab overlay — flat brand fill, keeps the name legible. */
.studio-cat-overlay[b-lvax4cq9tf] {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(42, 16, 86, 0.15) 0%, rgba(26, 26, 26, 0.82) 100%);
}

.studio-cat-body[b-lvax4cq9tf] {
    position: absolute; z-index: 2; inset: 0;
    display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end;
    padding: 1.5rem;
}
.studio-cat-name[b-lvax4cq9tf] {
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -0.005em;
    font-size: 1.1875rem;
    line-height: 1.15;
    color: var(--studio-paper, #FFFFFF);
}
.studio-cat-rule[b-lvax4cq9tf] {
    display: block;
    width: 2rem; height: 3px;
    background: var(--studio-magenta, #DB1471);
    margin: 0.75rem 0;
}
.studio-cat-count[b-lvax4cq9tf] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    letter-spacing: 0.04em;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.85);
}

.studio-cat-skeleton[b-lvax4cq9tf] {
    min-height: 260px;
    background: linear-gradient(100deg, #EFEAF5 30%, #E5E1EC 50%, #EFEAF5 70%);
    border: 2px solid var(--studio-border, #E5E1EC);
}
.studio-catgrid-empty[b-lvax4cq9tf] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    color: var(--kw-text-muted, #6E6873);
}

@media (max-width: 900px) { .studio-catgrid[b-lvax4cq9tf] { padding: 3.5rem 0; } }
@media (prefers-reduced-motion: reduce) {
    .studio-cat[b-lvax4cq9tf] { transition: none; }
    .studio-cat:hover[b-lvax4cq9tf] { transform: none; box-shadow: 4px 4px 0 0 var(--studio-purple, #3D1B7A); }
    .studio-cat-img[b-lvax4cq9tf] { transition: none; }
    .studio-cat:hover .studio-cat-img[b-lvax4cq9tf] { transform: none; }
}
/* /Themes/Studio/Blocks/StudioCtaBanner.razor.rz.scp.css */
/* Studio CTA — confident purple retail slab (flat brand fill), magenta eyebrow, Outfit headline, a paper
   action button with a 4px magenta hard-offset shadow. Consumes .theme-studio --studio-*/--kw-* tokens
   with literal fallbacks. */
.studio-cta[b-80skb62dkg] {
    position: relative;
    background: var(--studio-purple, #3D1B7A);
    color: var(--studio-paper, #FFFFFF);
    padding: 5.5rem 0;
    text-align: center;
    overflow: hidden;
}
/* Magenta baseline rule — the single accent pop framing the slab. */
.studio-cta[b-80skb62dkg]::after {
    content: "";
    position: absolute; left: 0; right: 0; bottom: 0;
    height: 6px;
    background: var(--studio-magenta, #DB1471);
    z-index: 2;
}

.studio-cta-scrim[b-80skb62dkg] {
    position: absolute; inset: 0;
    background: var(--studio-purple-deep, #2A1056);
    z-index: 1;
}

.studio-cta-inner[b-80skb62dkg] { position: relative; z-index: 3; }

.studio-cta-eyebrow[b-80skb62dkg] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--studio-magenta, #DB1471);
    margin-bottom: 1rem;
}
.studio-cta-title[b-80skb62dkg] {
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--studio-paper, #FFFFFF);
    font-size: clamp(1.875rem, 4.5vw, 3.25rem);
    line-height: 1.1;
    max-width: 22ch;
    margin: 0 auto 1.25rem;
}
.studio-cta-sub[b-80skb62dkg] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-size: 1.0625rem;
    color: rgba(255, 255, 255, 0.85);
    max-width: 52ch;
    margin: 0 auto 2.25rem;
    line-height: 1.65;
}
.studio-cta-actions[b-80skb62dkg] {
    display: flex; gap: 1.75rem;
    align-items: center; justify-content: center;
    flex-wrap: wrap;
}
/* Paper button on the purple slab, 4px magenta hard-offset shadow; translates into the shadow on hover. */
.studio-cta-btn[b-80skb62dkg] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-weight: 700;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--studio-purple, #3D1B7A);
    background: var(--studio-paper, #FFFFFF);
    padding: 1rem 2.5rem;
    box-shadow: 4px 4px 0 0 var(--studio-magenta, #DB1471);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.studio-cta-btn:hover[b-80skb62dkg] {
    transform: translate(2px, 2px);
    box-shadow: 2px 2px 0 0 var(--studio-magenta, #DB1471);
}
.studio-cta-link[b-80skb62dkg] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-weight: 700;
    font-size: 0.9375rem;
    color: var(--studio-paper, #FFFFFF);
    border-bottom: 2px solid var(--studio-magenta, #DB1471);
    padding-bottom: 3px;
    transition: color 0.15s ease;
}
.studio-cta-link:hover[b-80skb62dkg] { color: var(--studio-magenta, #DB1471); }

@media (max-width: 900px) { .studio-cta[b-80skb62dkg] { padding: 3.75rem 0; } }

@media (prefers-reduced-motion: reduce) {
    .studio-cta-btn[b-80skb62dkg] { transition: none; }
    .studio-cta-btn:hover[b-80skb62dkg] { transform: none; box-shadow: 4px 4px 0 0 var(--studio-magenta, #DB1471); }
}
/* /Themes/Studio/Blocks/StudioFaq.razor.rz.scp.css */
/* Studio FAQ — bordered retail rows, bold Outfit questions, a magenta +→× marker. Consumes
   .theme-studio --studio-*/--kw-* tokens with literal fallbacks. */
.studio-faq[b-uo7l8szgdk] {
    border-top: 2px solid var(--studio-ink, #1A1A1A);
    max-width: 780px;
}

.studio-faq-item[b-uo7l8szgdk] {
    border-bottom: 1px solid var(--studio-border, #E5E1EC);
}
.studio-faq-item[open][b-uo7l8szgdk] { background: var(--studio-purple-soft, #EFEAF5); }

.studio-faq-q[b-uo7l8szgdk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.4rem 0.75rem;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.studio-faq-q[b-uo7l8szgdk]::-webkit-details-marker { display: none; }

.studio-faq-question[b-uo7l8szgdk] {
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 700;
    font-size: 1.0625rem;
    letter-spacing: -0.01em;
    line-height: 1.35;
    color: var(--studio-ink, #1A1A1A);
}
.studio-faq-item[open] .studio-faq-question[b-uo7l8szgdk] { color: var(--studio-purple, #3D1B7A); }

/* Magenta [+] marker that becomes [×] when the row is open. */
.studio-faq-marker[b-uo7l8szgdk] {
    position: relative;
    flex: 0 0 auto;
    width: 22px; height: 22px;
    transition: transform 0.15s ease;
}
.studio-faq-marker[b-uo7l8szgdk]::before,
.studio-faq-marker[b-uo7l8szgdk]::after {
    content: "";
    position: absolute;
    background: var(--studio-magenta, #DB1471);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.studio-faq-marker[b-uo7l8szgdk]::before { width: 16px; height: 2.5px; }
.studio-faq-marker[b-uo7l8szgdk]::after  { width: 2.5px; height: 16px; }
/* Rotate the + into an × on open. */
.studio-faq-item[open] .studio-faq-marker[b-uo7l8szgdk] { transform: rotate(45deg); }

.studio-faq-answer[b-uo7l8szgdk] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--kw-text-muted, #6E6873);
    padding: 0 0.75rem 1.4rem;
    margin: 0;
}
.studio-faq-answer[b-uo7l8szgdk]  a { color: var(--studio-magenta, #DB1471); text-decoration: underline; }

@media (prefers-reduced-motion: reduce) {
    .studio-faq-marker[b-uo7l8szgdk] { transition: none; }
}
/* /Themes/Studio/Blocks/StudioFeaturesRow.razor.rz.scp.css */
/* Studio features — retail benefit cards: purple icon, Outfit title over a magenta rule, 4px purple
   hard-offset shadow on hover. Consumes .theme-studio --studio-*/--kw-* tokens with literal fallbacks. */
.studio-features[b-cdqv3zaj2j] { padding: 5rem 0; }

.studio-features-title[b-cdqv3zaj2j] {
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 800;
    letter-spacing: -0.03em;
    font-size: clamp(1.625rem, 3.5vw, 2.5rem);
    color: var(--studio-ink, #1A1A1A);
    margin: 0 0 2.5rem;
}

.studio-features-grid[b-cdqv3zaj2j] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
}

.studio-feature[b-cdqv3zaj2j] {
    background: var(--studio-paper, #FFFFFF);
    border: 2px solid var(--studio-ink, #1A1A1A);
    padding: 1.75rem 1.5rem;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.studio-feature:hover[b-cdqv3zaj2j] {
    transform: translate(-2px, -2px);
    box-shadow: 4px 4px 0 0 var(--studio-purple, #3D1B7A);
}

/* Purple icon chip — deliberate brand slab behind the line icon. */
.studio-feature-icon[b-cdqv3zaj2j] {
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 52px; height: 52px;
    background: var(--studio-purple-soft, #EFEAF5);
    color: var(--studio-purple, #3D1B7A);
    margin-bottom: 1rem;
}
.studio-feature-icon[b-cdqv3zaj2j]  svg { width: 26px; height: 26px; color: var(--studio-purple, #3D1B7A); }

.studio-feature-title[b-cdqv3zaj2j] {
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 700;
    font-size: 1.0625rem;
    letter-spacing: -0.01em;
    color: var(--studio-ink, #1A1A1A);
    margin: 0 0 0.75rem;
    line-height: 1.3;
}
/* Magenta rule — the single accent pop under each title. */
.studio-feature-rule[b-cdqv3zaj2j] {
    display: block;
    width: 2rem; height: 3px;
    background: var(--studio-magenta, #DB1471);
    margin-bottom: 0.85rem;
}
.studio-feature-text[b-cdqv3zaj2j] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--kw-text-muted, #6E6873);
    margin: 0;
}

@media (max-width: 900px) { .studio-features[b-cdqv3zaj2j] { padding: 3.5rem 0; } }

@media (prefers-reduced-motion: reduce) {
    .studio-feature[b-cdqv3zaj2j] { transition: none; }
    .studio-feature:hover[b-cdqv3zaj2j] { transform: none; box-shadow: 4px 4px 0 0 var(--studio-purple, #3D1B7A); }
}
/* /Themes/Studio/Blocks/StudioHeading.razor.rz.scp.css */
/* Studio heading — magenta uppercase eyebrow + bold Outfit title with a short magenta rule. Consumes
   .theme-studio --studio-*/--kw-* tokens with literal fallbacks. */
.studio-heading[b-453dkqihxk] { display: block; }

.studio-heading-eyebrow[b-453dkqihxk] {
    display: block;
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--studio-magenta, #DB1471);
    margin-bottom: 0.6rem;
}

.studio-heading-title[b-453dkqihxk] {
    position: relative;
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--studio-ink, #1A1A1A);
    margin: 0;
    padding-bottom: 0.85rem;
}
/* Short magenta rule under the primary headings (not the smaller sub-levels). */
.studio-heading-title:not(.is-sub)[b-453dkqihxk]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 2.5rem; height: 3px;
    background: var(--studio-magenta, #DB1471);
}
.studio-heading[style*="center"] .studio-heading-title:not(.is-sub)[b-453dkqihxk]::after { left: 50%; transform: translateX(-50%); }
.studio-heading[style*="right"] .studio-heading-title:not(.is-sub)[b-453dkqihxk]::after { left: auto; right: 0; }

.studio-heading-title.is-sub[b-453dkqihxk] {
    font-weight: 700;
    padding-bottom: 0;
}
/* /Themes/Studio/Blocks/StudioHeroBanner.razor.rz.scp.css */
/* Studio hero — Antek marketplace retail stage: left-aligned composition, magenta eyebrow, bold Outfit
   headline, purple-slab CTA with a 4px magenta hard-offset shadow, and a stat row in tabular-nums.
   Consumes .theme-studio --studio-*/--kw-* tokens with literal fallbacks. */
.studio-hero[b-mivufhy641] {
    position: relative;
    min-height: 82vh;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    background: var(--studio-paper-warm, #FAF8F4);
    overflow: hidden;
}

.studio-hero-slides[b-mivufhy641] { position: absolute; inset: 0; z-index: 0; }
.studio-hero-slide[b-mivufhy641] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transition: opacity 0.7s ease;
}
.studio-hero-slide.is-active[b-mivufhy641] { opacity: 1; }

/* Purple slab scrim — flat brand fill, not a gradient. */
.studio-hero-scrim[b-mivufhy641] {
    position: absolute; inset: 0; z-index: 1;
    background: var(--studio-purple-deep, #2A1056);
}

.studio-hero-inner[b-mivufhy641] {
    position: relative; z-index: 2;
    max-width: 44rem;
    color: var(--studio-ink, #1A1A1A);
}
.studio-hero.has-bg .studio-hero-inner[b-mivufhy641] { color: var(--studio-paper, #FFFFFF); }

/* Magenta eyebrow — the sole accent pop, uppercase retail label. */
.studio-hero-eyebrow[b-mivufhy641] {
    display: inline-block;
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--studio-magenta, #DB1471);
    margin: 0 0 1.25rem;
    padding: 0.4rem 0.75rem;
    background: rgba(219, 20, 113, 0.08);
    border-left: 3px solid var(--studio-magenta, #DB1471);
}
.studio-hero.has-bg .studio-hero-eyebrow[b-mivufhy641] { background: rgba(219, 20, 113, 0.22); }

.studio-hero-title[b-mivufhy641] {
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: inherit;
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    line-height: 1.04;
    margin: 0 0 1.5rem;
}

.studio-hero-sub[b-mivufhy641] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-size: 1.125rem;
    line-height: 1.6;
    color: inherit;
    opacity: 0.82;
    max-width: 46ch;
    margin: 0 0 2.25rem;
}

.studio-hero-actions[b-mivufhy641] {
    display: flex; gap: 1.75rem;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 2.75rem;
}
/* Purple slab CTA with a 4px magenta hard-offset shadow; translates into the shadow on hover. */
.studio-hero-cta[b-mivufhy641] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-weight: 700;
    font-size: 0.9375rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #fff;
    background: var(--studio-purple, #3D1B7A);
    padding: 1rem 2.5rem;
    box-shadow: 4px 4px 0 0 var(--studio-magenta, #DB1471);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.studio-hero-cta:hover[b-mivufhy641] {
    background: var(--studio-purple-deep, #2A1056);
    transform: translate(2px, 2px);
    box-shadow: 2px 2px 0 0 var(--studio-magenta, #DB1471);
}

.studio-hero-link[b-mivufhy641] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-weight: 700;
    font-size: 0.9375rem;
    color: inherit;
    border-bottom: 2px solid var(--studio-magenta, #DB1471);
    padding-bottom: 3px;
    transition: color 0.15s ease;
}
.studio-hero-link:hover[b-mivufhy641] { color: var(--studio-magenta, #DB1471); }

/* Stat/spec row — retail confidence numbers, tabular-nums for clean alignment. */
.studio-hero-stats[b-mivufhy641] {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem;
    border-top: 1px solid var(--studio-border, #E5E1EC);
    padding-top: 1.75rem;
}
.studio-hero.has-bg .studio-hero-stats[b-mivufhy641] { border-top-color: rgba(255, 255, 255, 0.2); }
.studio-hero-stat[b-mivufhy641] { display: flex; flex-direction: column; gap: 0.2rem; }
.studio-hero-stat-num[b-mivufhy641] {
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    font-size: 1.75rem;
    line-height: 1;
    color: var(--studio-purple, #3D1B7A);
}
.studio-hero.has-bg .studio-hero-stat-num[b-mivufhy641] { color: var(--studio-paper, #FFFFFF); }
.studio-hero-stat-label[b-mivufhy641] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-size: 0.8125rem;
    color: inherit;
    opacity: 0.7;
}

.studio-hero-dots[b-mivufhy641] {
    position: absolute; z-index: 3;
    left: 50%; bottom: 2rem;
    transform: translateX(-50%);
    display: flex; gap: 0.6rem;
}
.studio-hero-dot[b-mivufhy641] {
    width: 10px; height: 10px;
    background: transparent;
    border: 2px solid var(--studio-magenta, #DB1471);
    cursor: pointer;
    transition: background 0.15s ease;
}
.studio-hero-dot:hover[b-mivufhy641] { background: rgba(219, 20, 113, 0.4); }
.studio-hero-dot.is-active[b-mivufhy641] { background: var(--studio-magenta, #DB1471); }

@media (max-width: 900px) {
    .studio-hero[b-mivufhy641] { min-height: 72vh; }
    .studio-hero-stats[b-mivufhy641] { gap: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .studio-hero-slide[b-mivufhy641] { transition: none; }
    .studio-hero-cta[b-mivufhy641] { transition: background 0.15s ease; }
    .studio-hero-cta:hover[b-mivufhy641] { transform: none; box-shadow: 4px 4px 0 0 var(--studio-magenta, #DB1471); }
}
/* /Themes/Studio/Blocks/StudioTestimonial.razor.rz.scp.css */
/* Studio testimonial — retail review card with a 4px purple hard-offset shadow, magenta star rating,
   bold Outfit quote and a magenta rule. Consumes .theme-studio --studio-*/--kw-* tokens with literal
   fallbacks. */
.studio-testimonial[b-dzzc5fujh9] {
    max-width: 680px;
    margin: 0 auto;
    background: var(--studio-paper, #FFFFFF);
    border: 2px solid var(--studio-ink, #1A1A1A);
    box-shadow: 4px 4px 0 0 var(--studio-purple, #3D1B7A);
    padding: 2.5rem 2.25rem;
}

/* Magenta star rating — the single accent pop. */
.studio-testimonial-stars[b-dzzc5fujh9] {
    display: flex; gap: 0.15rem;
    margin-bottom: 1.25rem;
    font-size: 1.125rem;
    line-height: 1;
}
.studio-star[b-dzzc5fujh9] { color: var(--studio-border, #E5E1EC); }
.studio-star.is-filled[b-dzzc5fujh9] { color: var(--studio-magenta, #DB1471); }

.studio-testimonial-quote[b-dzzc5fujh9] {
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 700;
    letter-spacing: -0.015em;
    font-size: clamp(1.25rem, 2.4vw, 1.625rem);
    line-height: 1.4;
    color: var(--studio-ink, #1A1A1A);
    margin: 0;
}

.studio-testimonial-rule[b-dzzc5fujh9] {
    display: block;
    width: 2.5rem; height: 3px;
    background: var(--studio-magenta, #DB1471);
    margin: 1.5rem 0;
}

.studio-testimonial-by[b-dzzc5fujh9] {
    display: flex; flex-direction: column; gap: 0.2rem;
}
.studio-testimonial-name[b-dzzc5fujh9] {
    font-family: var(--kw-font-heading, 'Outfit', sans-serif);
    font-weight: 700;
    font-size: 0.9375rem;
    color: var(--studio-purple, #3D1B7A);
}
.studio-testimonial-role[b-dzzc5fujh9] {
    font-family: var(--kw-font, 'DM Sans', sans-serif);
    font-size: 0.875rem;
    color: var(--kw-text-muted, #6E6873);
}
/* /Themes/Studio/StudioFooter.razor.rz.scp.css */
/* Studio — footer.
   Layer 1: deep-purple newsletter band with diagonal pinstripe.
   Layer 2: 4-column link grid with vertical hairline dividers (the "department-store" detail).
   Layer 3: bottom rule + copyright + social chips. */

.studio-footer[b-6oyqadt34q] {
    background: var(--studio-paper-warm, #FAF8F4);
    color: var(--studio-ink, #1A1A1A);
    font-family: 'DM Sans', system-ui, sans-serif;
    margin-top: 4rem;
    border-top: 1px solid var(--studio-border, #E5E1EC);
}

/* ── Newsletter band ────────────────────────────────────────────── */
.studio-footer-newsletter[b-6oyqadt34q] {
    /* Deep purple base + 45° pinstripe via repeating-linear-gradient.
       Subtle (4% alpha) so it reads as texture not pattern. */
    background:
        repeating-linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.04) 0 1px,
            transparent 1px 12px
        ),
        var(--studio-purple-deep, #2A1056);
    color: #fff;
    padding: 3rem 2rem;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 3rem;
    align-items: center;
    max-width: var(--kw-max-width, 1280px);
    margin: 0 auto;
}
.studio-footer-newsletter h3[b-6oyqadt34q] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: clamp(1.5rem, 2.6vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.05;
    color: #fff;
    margin-bottom: 0.5rem;
}
.studio-footer-newsletter p[b-6oyqadt34q] {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.9375rem;
    max-width: 36ch;
}
.studio-newsletter-form[b-6oyqadt34q] { display: flex; max-width: 460px; width: 100%; margin-left: auto; }
.studio-newsletter-form input[b-6oyqadt34q] {
    flex: 1;
    height: 52px;
    border: none; outline: none;
    padding: 0 1.125rem;
    background: #fff;
    color: var(--studio-ink, #1A1A1A);
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.9375rem;
}
.studio-newsletter-form input[b-6oyqadt34q]::placeholder { color: #8A8590; }
.studio-newsletter-form button[b-6oyqadt34q] {
    height: 52px;
    padding: 0 1.75rem;
    background: var(--studio-magenta, #DB1471);
    color: #fff;
    border: none; cursor: pointer;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.8125rem; font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: background 0.18s ease;
}
.studio-newsletter-form button:hover[b-6oyqadt34q] { background: #B30E5C; }

/* ── 4-column links grid (with vertical hairlines) ───────────────── */
.studio-footer-grid[b-6oyqadt34q] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 4rem 2rem 2.5rem;
    max-width: var(--kw-max-width, 1280px);
    margin: 0 auto;
    position: relative;
}
/* Vertical hairlines between columns — the department-store cue. */
.studio-footer-grid > section[b-6oyqadt34q] {
    padding: 0 2rem;
    border-left: 1px solid var(--studio-border, #E5E1EC);
    min-width: 0;
}
.studio-footer-grid > section:first-child[b-6oyqadt34q] { border-left: none; padding-left: 0; }
.studio-footer-grid > section:last-child[b-6oyqadt34q] { padding-right: 0; }

.studio-footer-grid h4[b-6oyqadt34q] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.75rem; font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--studio-purple, #3D1B7A);
    margin-bottom: 1.25rem;
}
.studio-footer-grid a[b-6oyqadt34q],
.studio-footer-grid p[b-6oyqadt34q] {
    display: block;
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--studio-ink, #1A1A1A);
    text-decoration: none;
    transition: color 0.18s ease;
}
.studio-footer-grid a:hover[b-6oyqadt34q] { color: var(--studio-purple, #3D1B7A); }

/* ── Bottom row ─────────────────────────────────────────────────── */
.studio-footer-bottom[b-6oyqadt34q] {
    border-top: 1px solid var(--studio-border, #E5E1EC);
    padding: 1.5rem 2rem;
    max-width: var(--kw-max-width, 1280px);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.studio-footer-bottom p[b-6oyqadt34q] {
    font-size: 0.8125rem;
    color: #6E6873;
    letter-spacing: 0.01em;
}
.studio-footer-social[b-6oyqadt34q] { display: flex; gap: 0.5rem; }
.studio-footer-social a[b-6oyqadt34q] {
    display: inline-flex; align-items: center;
    padding: 0.375rem 0.875rem;
    border: 1px solid var(--studio-border, #E5E1EC);
    background: #fff;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.75rem; font-weight: 500;
    color: var(--studio-ink, #1A1A1A);
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.studio-footer-social a:hover[b-6oyqadt34q] {
    background: var(--studio-purple, #3D1B7A);
    color: #fff;
    border-color: var(--studio-purple, #3D1B7A);
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .studio-footer-newsletter[b-6oyqadt34q] {
        grid-template-columns: 1fr;
        padding: 2.5rem 1.5rem;
        gap: 1.75rem;
    }
    .studio-newsletter-form[b-6oyqadt34q] { margin-left: 0; }
    .studio-footer-grid[b-6oyqadt34q] {
        grid-template-columns: repeat(2, 1fr);
        padding: 2.5rem 1.5rem;
        gap: 2rem 0;
    }
    .studio-footer-grid > section[b-6oyqadt34q] {
        padding: 0 1rem;
        border-left: 1px solid var(--studio-border, #E5E1EC);
    }
    .studio-footer-grid > section:nth-child(odd)[b-6oyqadt34q] { border-left: none; padding-left: 0; }
    .studio-footer-bottom[b-6oyqadt34q] { padding: 1.5rem; }
}
@media (max-width: 520px) {
    .studio-newsletter-form[b-6oyqadt34q] { flex-direction: column; gap: 0.5rem; }
    .studio-newsletter-form button[b-6oyqadt34q] { width: 100%; }
}
/* /Themes/Studio/StudioHeader.razor.rz.scp.css */
/* Studio — three-row header.
   Row 1: purple utility ticker (32px).
   Row 2: white brand + search + cart (72px).
   Row 3: white mega-menu with left-drawing purple underline on hover (52px). */

.studio-header[b-y6dxhu93b6] {
    position: fixed; top: 0; left: 0; right: 0;
    z-index: 1000;
    background: #ffffff;
    border-bottom: 1px solid var(--studio-border, #E5E1EC);
    font-family: 'DM Sans', system-ui, sans-serif;
}

/* ── Row 1 — Utility ticker ─────────────────────────────────────── */
.studio-header-utility[b-y6dxhu93b6] {
    background: var(--studio-purple, #3D1B7A);
    color: #fff;
    height: 32px;
    overflow: hidden;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
}
.studio-utility-inner[b-y6dxhu93b6] {
    display: flex; align-items: center; justify-content: space-between;
    height: 100%;
}
.studio-utility-tagline[b-y6dxhu93b6] {
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.6875rem;
    opacity: 0.92;
}
.studio-utility-actions[b-y6dxhu93b6] { display: flex; gap: 1.5rem; }
.studio-utility-actions a[b-y6dxhu93b6] {
    color: #fff; text-decoration: none;
    font-weight: 500;
    transition: opacity 0.2s ease;
}
.studio-utility-actions a:hover[b-y6dxhu93b6] { opacity: 0.72; }

/* ── Row 2 — Brand + search + cart ───────────────────────────────── */
.studio-header-inner[b-y6dxhu93b6] {
    display: grid;
    grid-template-columns: auto minmax(auto, 480px) auto;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;
    height: 80px;
    /* Thick brand-purple bottom border — separates the brand row from
       the mega-nav row below. Without it the two white rows bleed into
       one shapeless white band. */
    border-bottom: 3px solid var(--studio-purple, #3D1B7A);
}

.studio-logo[b-y6dxhu93b6] {
    text-decoration: none;
    display: inline-flex; align-items: center;
    gap: 0.625rem;
    color: var(--studio-purple, #3D1B7A);
    transition: color 0.2s ease;
}
.studio-logo:hover[b-y6dxhu93b6] { color: var(--studio-purple-deep, #2A1056); }
.studio-logo img[b-y6dxhu93b6] { height: 40px; width: auto; }
.studio-logo-mark[b-y6dxhu93b6] { flex-shrink: 0; }
.studio-logo-text[b-y6dxhu93b6] {
    font-family: 'Outfit', system-ui, sans-serif;
    /* Lifted from 1.5rem → 1.875rem (30px) so the wordmark holds its
       own against the 480px search field and the purple "ALL EQUIPMENT"
       pill below. */
    font-size: 1.875rem;
    font-weight: 800;
    letter-spacing: -0.028em;
    color: currentColor;
    line-height: 1;
}

.studio-search[b-y6dxhu93b6] {
    display: flex; align-items: center;
    border: 2px solid var(--studio-ink, #1A1A1A);
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    height: 44px;
    width: 100%;
}
.studio-search:focus-within[b-y6dxhu93b6] {
    border-color: var(--studio-purple, #3D1B7A);
    box-shadow: 4px 4px 0 0 var(--studio-purple, #3D1B7A);
}
.studio-search input[b-y6dxhu93b6] {
    flex: 1; border: none; outline: none;
    padding: 0 1rem; height: 100%;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.9375rem;
    color: var(--studio-ink, #1A1A1A);
    background: transparent;
}
.studio-search input[b-y6dxhu93b6]::placeholder {
    color: #8A8590; font-weight: 400;
}
.studio-search button[b-y6dxhu93b6] {
    background: var(--studio-ink, #1A1A1A);
    color: #fff;
    border: none;
    padding: 0 1.25rem;
    height: 100%;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.2s ease;
}
.studio-search button:hover[b-y6dxhu93b6] { background: var(--studio-purple, #3D1B7A); }

.studio-header-actions[b-y6dxhu93b6] { display: flex; align-items: center; gap: 1rem; }
.studio-cart-btn[b-y6dxhu93b6] {
    display: inline-flex; align-items: center; gap: 0.5rem;
    position: relative;
    padding: 0.75rem 1.25rem;
    border: 2px solid var(--studio-ink, #1A1A1A);
    background: #fff;
    color: var(--studio-ink, #1A1A1A);
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.8125rem; font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
}
.studio-cart-btn:hover[b-y6dxhu93b6] {
    background: var(--studio-ink, #1A1A1A);
    color: #fff;
}
.studio-cart-badge[b-y6dxhu93b6] {
    position: absolute; top: -8px; right: -8px;
    min-width: 22px; height: 22px;
    background: var(--studio-magenta, #DB1471);
    color: #fff;
    border-radius: 22px;
    display: inline-flex; align-items: center; justify-content: center;
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: 0.6875rem; font-weight: 700;
    padding: 0 0.4rem;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 0 0 2px #fff;
}

/* ── Row 3 — Mega-nav with left-drawing underline ────────────────── */
.studio-mega-nav[b-y6dxhu93b6] {
    /* Faint purple-tinted strip — distinct from the pure-white brand row
       above. Used to be border-top: 1px on white but the brand row's
       new 3px purple border supersedes that, and the warm-paper tint
       gives the mega-nav its own zone. */
    background: var(--studio-paper-warm, #FAF8F4);
    height: 52px;
}
.studio-mega-inner[b-y6dxhu93b6] {
    display: flex; align-items: center;
    gap: 0.25rem;
    height: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}
.studio-mega-inner[b-y6dxhu93b6]::-webkit-scrollbar { display: none; }

.studio-mega-inner a[b-y6dxhu93b6] {
    position: relative;
    flex-shrink: 0;
    padding: 0 1rem; line-height: 52px;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.8125rem; font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--studio-ink, #1A1A1A);
    text-decoration: none;
    transition: color 0.18s ease;
}

/* Left-drawing underline — the "unforgettable detail" for the mega-nav.
   ::after pseudo-element scales from origin left over 280ms. */
.studio-mega-inner a[b-y6dxhu93b6]::after {
    content: "";
    position: absolute;
    left: 1rem; right: 1rem; bottom: 8px;
    height: 3px;
    background: var(--studio-purple, #3D1B7A);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
.studio-mega-inner a:hover[b-y6dxhu93b6] { color: var(--studio-purple, #3D1B7A); }
.studio-mega-inner a:hover[b-y6dxhu93b6]::after { transform: scaleX(1); }

.studio-mega-all[b-y6dxhu93b6] {
    background: var(--studio-purple, #3D1B7A);
    color: #fff !important;
    padding: 0 1.5rem;
}
.studio-mega-all:hover[b-y6dxhu93b6] { background: var(--studio-purple-deep, #2A1056); color: #fff !important; }
.studio-mega-all[b-y6dxhu93b6]::after { display: none; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .studio-utility-tagline[b-y6dxhu93b6] { font-size: 0.625rem; letter-spacing: 0.08em; }
    .studio-utility-actions a:not(:first-child)[b-y6dxhu93b6] { display: none; }
    .studio-header-inner[b-y6dxhu93b6] {
        grid-template-columns: auto 1fr auto;
        gap: 1rem;
        height: auto;
        padding-top: 0.75rem; padding-bottom: 0.75rem;
    }
    .studio-search[b-y6dxhu93b6] { display: none; }
    .studio-cart-btn[b-y6dxhu93b6] { padding: 0.5rem 0.75rem; font-size: 0.75rem; }
    .studio-cart-btn span:not(.studio-cart-badge)[b-y6dxhu93b6] { display: none; }
    .studio-mega-nav[b-y6dxhu93b6] { height: 44px; }
    .studio-mega-inner a[b-y6dxhu93b6] { padding: 0 0.875rem; line-height: 44px; font-size: 0.75rem; }
}
/* /Themes/Studio/StudioLayout.razor.rz.scp.css */
/* Studio — layout shell.
   Pads the body below the three-row fixed header so content lands clear of
   utility (32px) + brand (80px) + mega-nav (52px) = 164px. */
.studio-layout[b-e0mgc6pg75] {
    padding-top: 164px;
    background: var(--studio-paper, #ffffff);
    min-height: 100vh;
}

@media (max-width: 900px) {
    /* Mega-nav collapses into a horizontal scroller; utility bar collapses
       to a single line. Total fixed height drops to ~120px. */
    .studio-layout[b-e0mgc6pg75] { padding-top: 120px; }
}
/* /Themes/Studio/StudioProductCard.razor.rz.scp.css */
/* Studio — product card.
   Square 1:1 crop. Slanted "Available" pill (clip-path) — the unforgettable
   micro-detail for the card. Hover only lifts the foot row (price + CTA),
   not the whole card — calmer, more retail-confident than universal lift. */

.studio-pcard[b-0pgeyta9f5] {
    display: block;
    background: #fff;
    border: 1px solid var(--studio-border, #E5E1EC);
    text-decoration: none;
    color: inherit;
    font-family: 'DM Sans', system-ui, sans-serif;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}
.studio-pcard:hover[b-0pgeyta9f5] {
    border-color: var(--studio-purple, #3D1B7A);
    box-shadow: 0 0 0 1px var(--studio-purple, #3D1B7A);
}

/* ── Media — square 1:1 ─────────────────────────────────────────── */
.studio-pcard-media[b-0pgeyta9f5] {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--studio-purple-soft, #EFEAF5);
}
.studio-pcard-media img[b-0pgeyta9f5] {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.2, 0, 0.2, 1);
}
.studio-pcard:hover .studio-pcard-media img[b-0pgeyta9f5] { transform: scale(1.04); }
.studio-pcard-placeholder[b-0pgeyta9f5] {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: var(--studio-purple, #3D1B7A);
}

/* Slanted availability pill — clip-path makes the right edge a 12° slash. */
.studio-pcard-pill[b-0pgeyta9f5] {
    position: absolute; top: 12px; left: 0;
    background: var(--studio-magenta, #DB1471);
    color: #fff;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.6875rem; font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.4rem 1.25rem 0.4rem 0.75rem;
    clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
    z-index: 1;
}

/* ── Info ───────────────────────────────────────────────────────── */
.studio-pcard-info[b-0pgeyta9f5] { padding: 1rem 1.125rem 1.125rem; }
.studio-pcard-category[b-0pgeyta9f5] {
    display: block;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.6875rem; font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--studio-purple, #3D1B7A);
    margin-bottom: 0.4rem;
}
.studio-pcard-name[b-0pgeyta9f5] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 1rem; font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.005em;
    color: var(--studio-ink, #1A1A1A);
    margin-bottom: 0.875rem;
    /* 2-line clamp keeps the card height predictable in the grid. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em;
}

/* Foot row — only this lifts on card hover. */
.studio-pcard-foot[b-0pgeyta9f5] {
    display: flex; align-items: baseline; justify-content: space-between;
    padding-top: 0.875rem;
    border-top: 1px solid var(--studio-border, #E5E1EC);
    transition: transform 0.2s ease;
}
.studio-pcard:hover .studio-pcard-foot[b-0pgeyta9f5] { transform: translateY(-2px); }

.studio-pcard-price[b-0pgeyta9f5] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 1.0625rem; font-weight: 800;
    color: var(--studio-ink, #1A1A1A);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}
.studio-pcard-price small[b-0pgeyta9f5] {
    font-size: 0.75rem;
    font-weight: 500;
    color: #6E6873;
    margin-left: 0.2em;
    letter-spacing: 0;
}
.studio-pcard-quote[b-0pgeyta9f5] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.8125rem; font-weight: 600;
    color: var(--studio-purple, #3D1B7A);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.studio-pcard-cta[b-0pgeyta9f5] {
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 0.75rem; font-weight: 700;
    color: var(--studio-purple, #3D1B7A);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    transition: color 0.2s ease;
}
.studio-pcard:hover .studio-pcard-cta[b-0pgeyta9f5] { color: var(--studio-magenta, #DB1471); }
/* /Themes/Vista/Blocks/VistaCategoryGrid.razor.rz.scp.css */
/* Vista category grid — sharp photo tiles with a red hover overlay and a bottom uppercase name bar.
   Consumes .theme-vista --kw-* tokens with literal fallbacks. Sharp corners, crisp travel-brochure
   tiles. */
.vista-catgrid[b-9gt8xs7qqc] { padding: 5.5rem 0; text-align: center; }

/* Wide-tracked uppercase red section label. */
.vista-catgrid-eyebrow[b-9gt8xs7qqc] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.24em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--kw-accent, #db3333);
    margin-bottom: 0.7rem;
}
.vista-catgrid-title[b-9gt8xs7qqc] {
    position: relative;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    letter-spacing: -0.02em;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #26292c);
    margin: 0 auto 2.5rem;
    padding-bottom: 1rem;
}
/* Short bold red rule under the section title — the Vista travel-demo signature motif. */
.vista-catgrid-title[b-9gt8xs7qqc]::after {
    content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
    width: 2.5rem; height: 3px; background: var(--kw-accent, #db3333);
}

.vista-catgrid-grid[b-9gt8xs7qqc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
}

.vista-cat[b-9gt8xs7qqc] {
    position: relative;
    display: block;
    min-height: 270px;
    background: var(--kw-dark, #1f2224);
    border: var(--kw-border-width, 2px) solid var(--kw-border-strong, #d8dcde);
    border-radius: var(--kw-radius, 0px);
    overflow: hidden;
    color: #fff;
    transition: border-color 0.2s ease;
}
.vista-cat:hover[b-9gt8xs7qqc] { border-color: var(--kw-accent, #db3333); }
.vista-cat-img[b-9gt8xs7qqc] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform 0.5s ease;
}
.vista-cat:hover .vista-cat-img[b-9gt8xs7qqc] { transform: scale(1.06); }
/* Base dark gradient for readability + a red wash that reveals on hover — the Vista signature. */
.vista-cat-overlay[b-9gt8xs7qqc] {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(31,34,36,0.10) 40%, rgba(31,34,36,0.85) 100%);
    transition: background 0.3s ease;
}
.vista-cat:hover .vista-cat-overlay[b-9gt8xs7qqc] {
    background: linear-gradient(180deg, rgba(219,51,51,0.25) 0%, rgba(184,38,38,0.88) 100%);
}

/* Bottom uppercase name bar. */
.vista-cat-bar[b-9gt8xs7qqc] {
    position: absolute; z-index: 2; left: 0; right: 0; bottom: 0;
    display: flex; flex-direction: column; gap: 0.3rem;
    padding: 1.25rem 1.25rem 1.35rem;
    text-align: left;
}
.vista-cat-name[b-9gt8xs7qqc] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    font-size: 1.0625rem;
    line-height: 1.2;
    color: #fff;
}
.vista-cat-count[b-9gt8xs7qqc] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    letter-spacing: 0.02em;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.85);
}

.vista-cat-skeleton[b-9gt8xs7qqc] {
    min-height: 270px;
    background: linear-gradient(100deg, #eceef0 30%, #dfe3e5 50%, #eceef0 70%);
    border: var(--kw-border-width, 2px) solid var(--kw-border-strong, #d8dcde);
    border-radius: var(--kw-radius, 0px);
}
.vista-catgrid-empty[b-9gt8xs7qqc] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    color: var(--kw-text-muted, #868c8f);
}

@media (max-width: 900px) { .vista-catgrid[b-9gt8xs7qqc] { padding: 3.5rem 0; } }
@media (prefers-reduced-motion: reduce) {
    .vista-cat-img[b-9gt8xs7qqc] { transition: none; }
    .vista-cat:hover .vista-cat-img[b-9gt8xs7qqc] { transform: none; }
}
/* /Themes/Vista/Blocks/VistaCtaBanner.razor.rz.scp.css */
/* Vista CTA — wide full-bleed image band, centred travel-brochure composition: uppercase red eyebrow,
   bold Montserrat headline, sharp red primary button + outline WhatsApp. Consumes .theme-vista --kw-*
   tokens with literal fallbacks. Sharp corners throughout. */
.vista-cta[b-9mm0qccssx] {
    position: relative;
    background: var(--kw-dark, #1f2224);
    color: #fff;
    padding: 6rem 0;
    text-align: center;
    overflow: hidden;
}

.vista-cta-scrim[b-9mm0qccssx] {
    position: absolute; inset: 0;
    background: rgba(31, 34, 36, 0.72);
    z-index: 1;
}

.vista-cta-inner[b-9mm0qccssx] { position: relative; z-index: 2; }

/* Wide-tracked uppercase red eyebrow — the Vista section-label signature. */
.vista-cta-eyebrow[b-9mm0qccssx] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.28em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--kw-accent-soft, #ef9a9a);
    margin-bottom: 1rem;
}
.vista-cta-title[b-9mm0qccssx] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
    font-size: clamp(1.875rem, 4.5vw, 3.25rem);
    line-height: 1.14;
    max-width: 22ch;
    margin: 0 auto 1.25rem;
}
.vista-cta-sub[b-9mm0qccssx] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-size: 1.0625rem;
    color: rgba(255, 255, 255, 0.88);
    max-width: 54ch;
    margin: 0 auto 2.25rem;
    line-height: 1.7;
}
.vista-cta-actions[b-9mm0qccssx] {
    display: flex; gap: 1.5rem;
    align-items: center; justify-content: center;
    flex-wrap: wrap;
}
/* Sharp red primary button. */
.vista-cta-btn[b-9mm0qccssx] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    color: #fff;
    background: var(--kw-accent, #db3333);
    border: var(--kw-border-width, 2px) solid var(--kw-accent, #db3333);
    border-radius: var(--kw-radius, 0px);
    padding: 0.95rem 2.5rem;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.vista-cta-btn:hover[b-9mm0qccssx] { background: var(--kw-accent-deep, #b82626); border-color: var(--kw-accent-deep, #b82626); }
/* Outline WhatsApp action — crisp 2px border, sharp corners. */
.vista-cta-link[b-9mm0qccssx] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    color: #fff;
    background: transparent;
    border: var(--kw-border-width, 2px) solid rgba(255, 255, 255, 0.7);
    border-radius: var(--kw-radius, 0px);
    padding: 0.95rem 2.25rem;
    transition: border-color 0.18s ease, color 0.18s ease;
}
.vista-cta-link:hover[b-9mm0qccssx] { border-color: var(--kw-accent, #db3333); color: var(--kw-accent-soft, #ef9a9a); }

@media (max-width: 900px) { .vista-cta[b-9mm0qccssx] { padding: 4rem 0; } }
/* /Themes/Vista/Blocks/VistaFaq.razor.rz.scp.css */
/* Vista FAQ — crisp bordered accordion: each row a 2px-bordered panel with a Montserrat question and
   a sharp red [+]→[–] marker. Consumes .theme-vista --kw-* tokens with literal fallbacks. Sharp
   corners, individually-bordered rows. */
.vista-faq[b-0w95eaw1tw] {
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Each row is its own crisp 2px-bordered panel — the Vista bordered-row signature. */
.vista-faq-item[b-0w95eaw1tw] {
    border: var(--kw-border-width, 2px) solid var(--kw-border-strong, #d8dcde);
    border-radius: var(--kw-radius, 0px);
    transition: border-color 0.18s ease;
}
.vista-faq-item[open][b-0w95eaw1tw] { border-color: var(--kw-accent, #db3333); }

.vista-faq-q[b-0w95eaw1tw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.35rem;
    cursor: pointer;
    list-style: none;                 /* strip the native disclosure triangle */
}
.vista-faq-q[b-0w95eaw1tw]::-webkit-details-marker { display: none; }

.vista-faq-question[b-0w95eaw1tw] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    letter-spacing: -0.01em;
    font-size: 1rem;
    line-height: 1.4;
    color: var(--kw-text, #26292c);
}
.vista-faq-item[open] .vista-faq-question[b-0w95eaw1tw] { color: var(--kw-accent, #db3333); }

/* Sharp red [+] marker that becomes [–] when the row is open. */
.vista-faq-marker[b-0w95eaw1tw] {
    position: relative;
    flex: 0 0 auto;
    width: 18px; height: 18px;
}
.vista-faq-marker[b-0w95eaw1tw]::before,
.vista-faq-marker[b-0w95eaw1tw]::after {
    content: "";
    position: absolute;
    background: var(--kw-accent, #db3333);
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
.vista-faq-marker[b-0w95eaw1tw]::before { width: 16px; height: 2px; }
.vista-faq-marker[b-0w95eaw1tw]::after  { width: 2px; height: 16px; }
.vista-faq-item[open] .vista-faq-marker[b-0w95eaw1tw]::after { display: none; }   /* [+] -> [–] */

.vista-faq-answer[b-0w95eaw1tw] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--kw-text-muted, #868c8f);
    padding: 0 1.35rem 1.2rem;
    margin: 0;
}
.vista-faq-answer[b-0w95eaw1tw]  a { color: var(--kw-accent, #db3333); text-decoration: underline; }
/* /Themes/Vista/Blocks/VistaFeaturesRow.razor.rz.scp.css */
/* Vista features — clean travel-brochure columns: left-aligned red icons, Montserrat titles with a
   short red underline rule, hairline vertical dividers. Consumes .theme-vista --kw-* tokens with
   literal fallbacks. */
.vista-features[b-61ngbsvb24] { padding: 5.5rem 0; text-align: center; }

.vista-features-title[b-61ngbsvb24] {
    position: relative;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    letter-spacing: -0.02em;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    color: var(--kw-text, #26292c);
    margin: 0 auto 3rem;
    padding-bottom: 1rem;
}
/* Short bold red rule under the section title — the Vista travel-demo signature motif. */
.vista-features-title[b-61ngbsvb24]::after {
    content: "";
    position: absolute; left: 50%; bottom: 0;
    transform: translateX(-50%);
    width: 2.5rem; height: 3px;
    background: var(--kw-accent, #db3333);
}

.vista-features-row[b-61ngbsvb24] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0;
    text-align: left;
}

.vista-feature[b-61ngbsvb24] {
    padding: 0.5rem 2rem;
    border-left: 1px solid var(--kw-border-strong, #d8dcde);
}
.vista-feature:first-child[b-61ngbsvb24] { border-left: none; padding-left: 0; }

.vista-feature-icon[b-61ngbsvb24] {
    color: var(--kw-accent, #db3333);
    margin-bottom: 1.1rem;
    line-height: 0;
    display: flex;
    justify-content: flex-start;
}
.vista-feature-icon[b-61ngbsvb24]  svg { width: 32px; height: 32px; }

.vista-feature-title[b-61ngbsvb24] {
    position: relative;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    letter-spacing: -0.01em;
    font-size: 1.0625rem;
    color: var(--kw-text, #26292c);
    margin-bottom: 1rem;
    padding-bottom: 0.65rem;
    line-height: 1.3;
}
/* Short red underline rule under each feature title — carries the section rhythm into the columns. */
.vista-feature-title[b-61ngbsvb24]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 1.75rem; height: 3px;
    background: var(--kw-accent, #db3333);
}
.vista-feature-text[b-61ngbsvb24] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--kw-text-muted, #868c8f);
}

/* Stack cleanly on small screens — drop the vertical rules, add horizontal separators. */
@media (max-width: 700px) {
    .vista-features[b-61ngbsvb24] { padding: 3.5rem 0; }
    .vista-feature[b-61ngbsvb24] {
        border-left: none;
        border-top: 1px solid var(--kw-border-strong, #d8dcde);
        padding: 1.75rem 0;
    }
    .vista-feature:first-child[b-61ngbsvb24] { border-top: none; }
    .vista-feature-icon[b-61ngbsvb24] { justify-content: flex-start; }
}
/* /Themes/Vista/Blocks/VistaHeading.razor.rz.scp.css */
/* Vista heading — wide-tracked uppercase red section label + bold Montserrat title with a short bold
   red rule. Consumes .theme-vista --kw-* tokens with literal fallbacks. Honors alignment. */
.vista-heading[b-pstrkyzaz9] { display: block; }

/* Wide-tracked uppercase red section label — the Vista signature. */
.vista-heading-eyebrow[b-pstrkyzaz9] {
    display: block;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.24em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--kw-accent, #db3333);
    margin-bottom: 0.7rem;
}

.vista-heading-title[b-pstrkyzaz9] {
    position: relative;
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--kw-text, #26292c);
    margin: 0;
    padding-bottom: 0.8rem;
}
/* Short bold red rule under the primary headings (not the smaller sub-levels). */
.vista-heading-title:not(.is-sub)[b-pstrkyzaz9]::after {
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 2.5rem; height: 3px;
    background: var(--kw-accent, #db3333);
}
.vista-heading[style*="center"] .vista-heading-title:not(.is-sub)[b-pstrkyzaz9]::after { left: 50%; transform: translateX(-50%); }
.vista-heading[style*="right"] .vista-heading-title:not(.is-sub)[b-pstrkyzaz9]::after { left: auto; right: 0; }

.vista-heading-title.is-sub[b-pstrkyzaz9] {
    padding-bottom: 0;
}
/* /Themes/Vista/Blocks/VistaHeroBanner.razor.rz.scp.css */
/* Vista hero — clean modern travel stage: full-bleed photo, bottom-anchored left-aligned composition,
   wide-tracked uppercase red eyebrow, bold Montserrat headline, sharp red CTA. Consumes .theme-vista
   --kw-* tokens with literal fallbacks. Sharp corners, crisp travel-brochure rhythm. */
.vista-hero[b-zlxt7yvti4] {
    position: relative;
    min-height: 84vh;
    display: flex;
    align-items: flex-end;
    text-align: left;
    background: var(--kw-dark, #1f2224);
    overflow: hidden;
}

.vista-hero-slides[b-zlxt7yvti4] { position: absolute; inset: 0; z-index: 0; }
.vista-hero-slide[b-zlxt7yvti4] {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transition: opacity 0.9s ease;
}
.vista-hero-slide.is-active[b-zlxt7yvti4] { opacity: 1; }

/* Bottom-weighted scrim so the overlay copy reads against any photo — travel-brochure gradient. */
.vista-hero-scrim[b-zlxt7yvti4] {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(180deg, rgba(31, 34, 36, 0.15) 0%, rgba(31, 34, 36, 0.82) 100%);
}

.vista-hero-inner[b-zlxt7yvti4] {
    position: relative; z-index: 2;
    width: 100%;
    max-width: 60rem;
    padding-bottom: 5.5rem;
    color: #fff;
}

/* Wide-tracked uppercase red eyebrow — the Vista section-label signature. */
.vista-hero-eyebrow[b-zlxt7yvti4] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.28em;
    font-weight: 700;
    font-size: 0.8125rem;
    color: var(--kw-accent-soft, #ef9a9a);
    margin: 0 0 1.15rem;
}

.vista-hero-title[b-zlxt7yvti4] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    line-height: 1.08;
    margin: 0;
    max-width: 18ch;
}

.vista-hero-sub[b-zlxt7yvti4] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-size: 1.125rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.9);
    max-width: 46ch;
    margin: 1.25rem 0 0;
}

.vista-hero-actions[b-zlxt7yvti4] {
    display: flex; gap: 1.75rem;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 2.25rem;
}
/* Sharp red CTA button — no rounding, crisp travel-demo call to action. */
.vista-hero-cta[b-zlxt7yvti4] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    color: #fff;
    background: var(--kw-accent, #db3333);
    border: var(--kw-border-width, 2px) solid var(--kw-accent, #db3333);
    border-radius: var(--kw-radius, 0px);
    padding: 0.95rem 2.5rem;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.vista-hero-cta:hover[b-zlxt7yvti4] { background: var(--kw-accent-deep, #b82626); border-color: var(--kw-accent-deep, #b82626); }

.vista-hero-link[b-zlxt7yvti4] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.8125rem;
    color: #fff;
    border-bottom: var(--kw-border-width, 2px) solid var(--kw-accent, #db3333);
    padding-bottom: 3px;
    transition: color 0.18s ease;
}
.vista-hero-link:hover[b-zlxt7yvti4] { color: var(--kw-accent-soft, #ef9a9a); }

.vista-hero-dots[b-zlxt7yvti4] {
    position: absolute; z-index: 3;
    right: 2.5rem; bottom: 2.5rem;
    display: flex; gap: 0.6rem;
}
.vista-hero-dot[b-zlxt7yvti4] {
    width: 10px; height: 10px;
    border-radius: var(--kw-radius, 0px);
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease;
}
.vista-hero-dot:hover[b-zlxt7yvti4] { border-color: #fff; }
.vista-hero-dot.is-active[b-zlxt7yvti4] { background: var(--kw-accent, #db3333); border-color: var(--kw-accent, #db3333); }

@media (max-width: 900px) {
    .vista-hero[b-zlxt7yvti4] { min-height: 72vh; }
    .vista-hero-inner[b-zlxt7yvti4] { padding-bottom: 4rem; }
}

@media (prefers-reduced-motion: reduce) {
    .vista-hero-slide[b-zlxt7yvti4] { transition: none; }
}
/* /Themes/Vista/Blocks/VistaTestimonial.razor.rz.scp.css */
/* Vista testimonial — wide travel-brochure banner with a bold red left accent bar, large Montserrat
   quote, red star rating and a name / role attribution. Consumes .theme-vista --kw-* tokens with
   literal fallbacks. Sharp corners, crisp left rule. */
.vista-testimonial[b-negii113p9] {
    max-width: 760px;
    margin: 0 auto;
    padding: 2rem 2.5rem;
    text-align: left;
    /* Bold red left accent bar — the Vista banner signature. */
    border-left: 4px solid var(--kw-accent, #db3333);
}

.vista-testimonial-stars[b-negii113p9] {
    display: flex;
    gap: 0.2rem;
    margin-bottom: 1.1rem;
    font-size: 1.05rem;
    line-height: 1;
}
.vista-star[b-negii113p9] { color: var(--kw-border-strong, #d8dcde); }
.vista-star.is-on[b-negii113p9] { color: var(--kw-accent, #db3333); }

.vista-testimonial-quote[b-negii113p9] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    letter-spacing: -0.01em;
    font-size: clamp(1.375rem, 2.6vw, 1.875rem);
    line-height: 1.4;
    color: var(--kw-text, #26292c);
    margin: 0;
}

.vista-testimonial-by[b-negii113p9] {
    display: flex; flex-direction: column; gap: 0.2rem;
    margin-top: 1.5rem;
}
.vista-testimonial-name[b-negii113p9] {
    font-family: var(--kw-font-heading, 'Montserrat', sans-serif);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 700;
    font-size: 0.875rem;
    color: var(--kw-accent, #db3333);
}
.vista-testimonial-role[b-negii113p9] {
    font-family: var(--kw-font, 'Open Sans', sans-serif);
    font-size: 0.875rem;
    color: var(--kw-text-muted, #868c8f);
}
