:root {
    --prisma-canvas: var(--wp--preset--color--canvas, #f6f7f9);
    --prisma-surface: var(--wp--preset--color--surface, #fff);
    --prisma-subtle: var(--wp--preset--color--subtle, #eef1f4);
    --prisma-inverse: var(--wp--preset--color--inverse, #1d2430);
    --prisma-text: var(--wp--preset--color--text, #20242a);
    --prisma-muted: var(--wp--preset--color--muted, #5e6875);
    --prisma-border: var(--wp--preset--color--border, #dde2e8);
    --prisma-border-strong: var(--wp--preset--color--border-strong, #b8c0ca);
    --prisma-accent: var(--wp--preset--color--accent, #4967e8);
    --prisma-accent-hover: var(--wp--preset--color--accent-hover, #3d58cc);
    --prisma-accent-soft: var(--wp--preset--color--accent-soft, #e9edff);
    --prisma-focus: #4967e8;
    --prisma-radius-small: var(--wp--custom--radius--small, 6px);
    --prisma-radius-medium: var(--wp--custom--radius--medium, 10px);
    --prisma-radius-large: var(--wp--custom--radius--large, 16px);
    --prisma-shadow-small: var(--wp--preset--shadow--small, 0 1px 2px rgb(16 24 40 / .06), 0 1px 3px rgb(16 24 40 / .08));
    --prisma-shadow-medium: var(--wp--preset--shadow--medium, 0 8px 24px rgb(16 24 40 / .10));
    --prisma-section-compact: var(--wp--custom--section-spacing--compact, clamp(2.5rem, 2rem + 2vw, 4rem));
    --prisma-section-default: var(--wp--custom--section-spacing--default, clamp(4rem, 3rem + 4vw, 7rem));
    --prisma-section-generous: var(--wp--custom--section-spacing--generous, clamp(5rem, 4rem + 5vw, 9rem));
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
img { height: auto; max-width: 100%; }
.wp-site-blocks { overflow-wrap: break-word; }

.prisma-skip-link {
    background: var(--prisma-inverse);
    border-radius: 0 0 var(--prisma-radius-small) var(--prisma-radius-small);
    color: #fff;
    font-weight: 700;
    left: 1rem;
    padding: .75rem 1rem;
    position: fixed;
    top: -10rem;
    z-index: 100000;
}
.prisma-skip-link:focus { top: 0; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--prisma-focus);
    outline-offset: 3px;
}

.prisma-site-header {
    background: var(--prisma-surface);
    background: color-mix(in srgb, var(--prisma-surface) 94%, transparent);
    border-bottom: 1px solid var(--prisma-border);
    position: relative;
    z-index: 20;
}
.prisma-site-header a { text-decoration: none; }
.prisma-site-header .wp-block-navigation-item__content { text-decoration: none; }
.prisma-site-header .wp-block-navigation-item__content:hover { color: var(--prisma-accent); }
.prisma-header-centered .wp-block-site-logo,
.prisma-header-centered .wp-block-site-title { margin-inline: auto; }
.prisma-header-compact { padding-block: .5rem !important; }

.prisma-site-footer {
    background: var(--prisma-inverse);
    color: #fff;
    margin-block-start: 0;
}
.prisma-site-footer :where(h1,h2,h3,h4,h5,h6,a) { color: inherit; }
.prisma-site-footer a { text-decoration: none; }

.is-style-section-subtle { background: var(--prisma-subtle); }
.is-style-section-inverse { background: var(--prisma-inverse); color: #fff; }
.is-style-section-inverse :where(h1,h2,h3,h4,h5,h6,a) { color: inherit; }
.is-style-section-accent-soft { background: var(--prisma-accent-soft); }
.is-style-section-subtle,
.is-style-section-inverse,
.is-style-section-accent-soft { padding-block: var(--prisma-section-default); }

.is-style-card-outlined,
.is-style-card-elevated {
    background: var(--prisma-surface);
    border-radius: var(--prisma-radius-medium);
    padding: clamp(1.25rem, 1rem + 1vw, 2rem);
}
.is-style-card-outlined { border: 1px solid var(--prisma-border); }
.is-style-card-elevated { border: 1px solid color-mix(in srgb, var(--prisma-border) 65%, transparent); box-shadow: var(--prisma-shadow-medium); }

.wp-block-button__link { min-height: 44px; transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.wp-block-button__link:hover { background: var(--prisma-accent-hover); border-color: var(--prisma-accent-hover); }
.wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button.is-style-secondary .wp-block-button__link { background: transparent; border-color: var(--prisma-border-strong); color: var(--prisma-text); }
.wp-block-button.is-style-secondary .wp-block-button__link:hover { background: var(--prisma-subtle); border-color: var(--prisma-text); }
.wp-block-button.is-style-text .wp-block-button__link { background: transparent; border-color: transparent; color: var(--prisma-accent); padding-inline: 0; text-decoration: underline; text-underline-offset: .2em; }
.wp-block-button.is-style-inverse .wp-block-button__link { background: #fff; border-color: #fff; color: var(--prisma-inverse); }
.wp-block-button.is-style-quiet .wp-block-button__link { background: var(--prisma-accent-soft); border-color: var(--prisma-accent-soft); color: var(--prisma-accent-hover); }

.wp-block-details.is-style-prisma-faq { background: var(--prisma-surface); }
.wp-block-details.is-style-prisma-faq summary { cursor: pointer; font-weight: 650; }
.wp-block-details.is-style-prisma-faq[open] { border-color: var(--prisma-border-strong); box-shadow: var(--prisma-shadow-small); }

.wp-block-image.is-style-ratio-4-3 img,
.wp-block-image.is-style-ratio-16-9 img,
.wp-block-image.is-style-ratio-4-5 img { display: block; object-fit: cover; width: 100%; }
.wp-block-image.is-style-ratio-4-3 img { aspect-ratio: 4 / 3; }
.wp-block-image.is-style-ratio-16-9 img { aspect-ratio: 16 / 9; }
.wp-block-image.is-style-ratio-4-5 img { aspect-ratio: 4 / 5; }

.prisma-media-placeholder {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: repeating-linear-gradient(135deg, var(--prisma-subtle), var(--prisma-subtle) 12px, var(--prisma-canvas) 12px, var(--prisma-canvas) 24px);
    border: 1px dashed var(--prisma-border-strong);
    border-radius: var(--prisma-radius-medium);
    color: var(--prisma-muted);
    display: flex;
    justify-content: center;
    padding: 1.5rem;
    text-align: center;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea {
    background: var(--prisma-surface);
    border: 1px solid var(--prisma-border-strong);
    border-radius: var(--prisma-radius-small);
    color: var(--prisma-text);
    min-height: 44px;
    padding: .7rem .8rem;
}
textarea { min-height: 8rem; }

.prisma-eyebrow { color: var(--prisma-accent); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.prisma-measure { max-width: 65ch; }
.prisma-section { padding-block: var(--prisma-section-default); }
.prisma-section-compact { padding-block: var(--prisma-section-compact); }
.prisma-section-generous { padding-block: var(--prisma-section-generous); }

@media (max-width: 781px) {
    .prisma-site-header .wp-block-buttons { display: none; }
    .prisma-stack-mobile { flex-direction: column !important; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
