.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(245, 239, 235, 0.84);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--zv-border);
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 88px;
    gap: 1rem;
}

.site-branding {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.site-branding__wordmark {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    color: var(--zv-ink);
    font-weight: 700;
    font-size: 1.35rem;
}

.site-branding__icon {
    width: 44px;
    height: 44px;
    color: var(--zv-berry);
}

.site-branding__icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.site-branding__tagline {
    color: var(--zv-muted);
    font-size: 0.95rem;
    margin: 0;
}

.custom-logo {
    max-height: 56px;
    width: auto;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.site-nav__menu {
    display: flex;
    align-items: center;
    list-style: none;
    gap: 1.1rem;
    margin: 0;
    padding: 0;
}

.site-nav__menu a {
    color: var(--zv-ink);
    font-weight: 600;
}

.site-nav__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.site-header__toggle {
    display: none;
    width: 48px;
    height: 48px;
    border: 1px solid var(--zv-border);
    border-radius: 14px;
    background: var(--zv-white);
    padding: 0.7rem;
    gap: 0.25rem;
    flex-direction: column;
    justify-content: center;
}

.site-header__toggle span:not(.screen-reader-text) {
    display: block;
    width: 100%;
    height: 2px;
    background: var(--zv-ink);
}

.button,
.wp-block-button__link,
button,
input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 0.92rem 1.25rem;
    font-weight: 700;
    line-height: 1;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}

.button:hover,
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover {
    transform: translateY(-1px);
}

.button--primary {
    background: linear-gradient(135deg, var(--zv-berry), var(--zv-rose));
    color: var(--zv-white);
    box-shadow: var(--zv-shadow);
}

.button--ghost {
    background: transparent;
    color: var(--zv-ink);
    border-color: rgba(29,23,34,0.12);
}

.button--light {
    background: var(--zv-white);
    color: var(--zv-berry);
    box-shadow: var(--zv-shadow);
}

.button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
}

.section-heading {
    max-width: 780px;
    margin-bottom: 2rem;
}

.section-heading__eyebrow {
    display: inline-flex;
    margin-bottom: 0.75rem;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(140, 47, 84, 0.08);
    color: var(--zv-berry);
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.section-heading__title {
    font-size: clamp(2rem, 4vw, 3.3rem);
}

.section-heading__description,
.hero__lead,
.page-entry__header p {
    color: var(--zv-muted);
    font-size: 1.08rem;
    max-width: 72ch;
}

.hero__grid,
.split-highlight,
.content-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 2rem;
    align-items: center;
}

.hero__content h1 {
    font-size: clamp(3rem, 6vw, 5.3rem);
    margin-bottom: 1rem;
}

.hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    list-style: none;
    padding: 0;
    margin-top: 1.35rem;
}

.hero__facts li,
.pill {
    display: inline-flex;
    align-items: center;
    padding: 0.55rem 0.85rem;
    background: rgba(255,255,255,0.68);
    border: 1px solid rgba(29,23,34,0.08);
    border-radius: 999px;
    font-weight: 600;
}

.hero__visual {
    display: grid;
    gap: 1rem;
}

.mock-card,
.surface-card,
.feature-card,
.pricing-card,
.quote-card,
.post-card,
.widget,
.rules-card,
.callout,
.auth-shell__form {
    background: rgba(255,255,255,0.9);
    border: 1px solid rgba(29,23,34,0.08);
    border-radius: var(--zv-radius);
    box-shadow: var(--zv-shadow);
}

.mock-card,
.surface-card,
.feature-card,
.pricing-card,
.quote-card,
.post-card,
.callout,
.auth-shell__form,
.rules-card {
    padding: 1.4rem;
}

.mock-card--profile {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    background: linear-gradient(165deg, rgba(255,255,255,0.95), rgba(215,124,136,0.15));
}

.mock-card__badge,
.surface-card__eyebrow {
    color: var(--zv-berry);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.mock-card--mini {
    background: linear-gradient(135deg, rgba(255,255,255,0.95), rgba(232,163,139,0.18));
}

.mock-card--accent {
    background: linear-gradient(135deg, rgba(140,47,84,0.93), rgba(215,124,136,0.88));
    color: var(--zv-white);
}

.feature-grid,
.pricing-grid,
.quote-grid,
.post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}

.feature-card h3,
.pricing-card h3,
.quote-card cite {
    margin-bottom: 0.6rem;
}

.list-stack {
    display: grid;
    gap: 0.85rem;
}

.list-item {
    display: grid;
    gap: 0.25rem;
    padding: 1rem 1.1rem;
    border-radius: var(--zv-radius-sm);
    background: rgba(255,255,255,0.85);
    border: 1px solid rgba(29,23,34,0.06);
}

.step-list {
    margin: 0;
    padding-left: 1rem;
    display: grid;
    gap: 0.8rem;
}

.pricing-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pricing-card--highlight {
    background: linear-gradient(165deg, rgba(140,47,84,0.96), rgba(215,124,136,0.92));
    color: var(--zv-white);
}

.pricing-card--highlight h3,
.pricing-card--highlight h2,
.pricing-card--highlight p,
.pricing-card--highlight li {
    color: var(--zv-white);
}

.pricing-card__price {
    font-size: 2.6rem;
    font-weight: 700;
    margin: 0;
}

.pricing-card__price span {
    display: inline-block;
    font-size: 1rem;
    font-weight: 600;
    opacity: 0.8;
    margin-left: 0.35rem;
}

.quote-card p {
    font-size: 1.1rem;
}

.quote-card cite {
    display: block;
    color: var(--zv-muted);
    font-style: normal;
}

.callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    background: linear-gradient(145deg, rgba(140,47,84,0.08), rgba(232,163,139,0.18));
}

.page-shell--narrow {
    max-width: 900px;
}

.page-entry__header,
.archive-header,
.single-entry__header {
    margin-bottom: 2rem;
}

.page-entry__header--centered,
.archive-header {
    text-align: center;
}

.page-entry__content > *:last-child,
.single-entry__content > *:last-child {
    margin-bottom: 0;
}

.post-card {
    overflow: hidden;
}

.post-card__image img {
    width: 100%;
}

.post-card__body {
    padding: 1.2rem;
}

.post-card__meta {
    color: var(--zv-muted);
    font-size: 0.92rem;
    margin-bottom: 0.55rem;
}

.post-card__title {
    font-size: 2rem;
}

.content-grid {
    align-items: start;
}

.content-sidebar {
    display: grid;
    gap: 1rem;
}

.widget-title {
    margin-bottom: 0.65rem;
}

.site-footer {
    margin-top: 4rem;
    padding: 3rem 0 1.5rem;
    background: linear-gradient(180deg, rgba(29,23,34,1) 0%, rgba(49,32,42,1) 100%);
    color: rgba(255,255,255,0.9);
}

.site-footer a {
    color: rgba(255,255,255,0.9);
}

.site-footer__grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 0.8fr;
    gap: 1.5rem;
}

.site-footer__small {
    color: rgba(255,255,255,0.68);
}

.site-footer__bottom {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,0.12);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.auth-shell {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 1.5rem;
    align-items: start;
}

.auth-shell--wide {
    grid-template-columns: 0.9fr 1.1fr;
}

.placeholder-form {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.4rem;
}

.placeholder-form__row {
    padding: 1rem 1rem;
    border-radius: 14px;
    background: rgba(245,239,235,0.8);
    border: 1px dashed rgba(140,47,84,0.25);
}

.search-form {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.search-field,
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
    width: 100%;
    border: 1px solid rgba(29,23,34,0.12);
    border-radius: 16px;
    padding: 0.9rem 1rem;
    background: rgba(255,255,255,0.9);
}
