/* ═══════════════════════════════════════════════
   BEYORA  —  Custom WordPress Theme Stylesheet
   Zero-bloat, hand-authored CSS. No frameworks.
   ═══════════════════════════════════════════════ */

/* ───── CSS Custom Properties ───── */
:root {
    --forest: #2d4a3e;
    --forest-d: #1e3329;
    --cream: #faf8f4;
    --sand: #f5f0e8;
    --gold: #c9a96e;
    --gold-light: #e8d5b0;
    --charcoal: #1a1a1a;
    --text: #1a1a1a;
    --text-muted: #6b6b6b;
    --text-light: #999;
    --border: #e8e3d9;
    --white: #ffffff;
    --red-bg: #fef2f2;
    --red-text: #f87171;
    --amber-bg: #fffbeb;
    --amber-text: #fbbf24;
    --radius-sm: 0.75rem;
    --radius-md: 1rem;
    --radius-lg: 1.5rem;
    --radius-xl: 1.875rem;
    --radius-full: 9999px;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, .08);
    --shadow-xl: 0 20px 40px rgba(0, 0, 0, .1);
    --font-heading: 'DM Serif Display', serif;
    --font-body: 'Inter', sans-serif;
    --container: 1400px;
}

/* ───── Reset & Base ───── */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-body);
    color: var(--text);
    background: var(--cream);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    line-height: 1.1;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

ul,
ol {
    list-style: none;
}

input,
select,
textarea,
button {
    font: inherit;
}

/* ───── Container ───── */
.beyora-container {
    max-width: var(--container);
    margin: 0 auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

@media (min-width: 1024px) {
    .beyora-container {
        padding-left: 3rem;
        padding-right: 3rem;
    }
}

/* ───── Shared Components ───── */

/* Eyebrow */
.beyora-eyebrow {
    display: inline-block;
    font-size: .75rem;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: rgba(45, 74, 62, .6);
    font-weight: 500;
    margin-bottom: 1.5rem;
}

/* Section Title */
.beyora-section-title {
    font-size: clamp(2rem, 5vw, 3.25rem);
    color: var(--forest);
    margin-bottom: 1.5rem;
}

.beyora-section-title--center {
    text-align: center;
}

.beyora-section-desc {
    color: var(--text-muted);
    line-height: 1.7;
    max-width: 28rem;
}

.beyora-section-desc--center {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

/* Accent */
.beyora-accent {
    color: var(--gold);
}

/* Buttons */
.beyora-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-weight: 600;
    font-size: .875rem;
    border-radius: var(--radius-full);
    border: none;
    cursor: pointer;
    transition: all .25s ease;
    text-decoration: none;
    padding: .75rem 2rem;
}

.beyora-btn--primary {
    background: var(--forest);
    color: var(--white);
}

.beyora-btn--primary:hover {
    background: var(--forest-d);
}

.beyora-btn--gold {
    background: var(--gold);
    color: var(--forest);
    font-weight: 700;
}

.beyora-btn--gold:hover {
    background: var(--gold-light);
}

.beyora-btn--lg {
    padding: 1rem 2.5rem;
    font-size: 1rem;
}

.beyora-btn__icon {
    transition: transform .25s ease;
}

.beyora-btn:hover .beyora-btn__icon {
    transform: translateX(4px);
}

/* Links */
.beyora-link {
    font-weight: 500;
    font-size: .875rem;
    color: var(--forest);
    transition: color .25s;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.beyora-link:hover {
    color: var(--gold);
}

/* Card hover effect */
.card-hover {
    transition: all .4s cubic-bezier(.25, .46, .45, .94);
}

.card-hover:hover {
    transform: translateY(-4px);
}

/* Image reveal animation */
.img-reveal {
    clip-path: inset(0 100% 0 0);
    animation: reveal 1.2s ease forwards;
}

@keyframes reveal {
    to {
        clip-path: inset(0 0 0 0);
    }
}

/* Fade-up on scroll */
.fade-up {
    opacity: 0;
    transform: translateY(2rem);
    transition: opacity .7s ease-out, transform .7s ease-out;
}

.fade-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* ════════════════════════════════════════════════
   TOP BAR
   ════════════════════════════════════════════════ */
.beyora-topbar {
    background: var(--forest);
    color: rgba(255, 255, 255, .8);
    font-size: .75rem;
    letter-spacing: .15em;
    text-align: center;
    padding: .5rem 1rem;
    font-weight: 300;
}


/* ════════════════════════════════════════════════
   HEADER
   ════════════════════════════════════════════════ */
.beyora-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--cream);
    border-bottom: 1px solid var(--border);
    transition: box-shadow .3s;
}

.beyora-header.shadow {
    box-shadow: var(--shadow-md);
}

.beyora-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 5rem;
}

/* Logo */
.beyora-logo-text {
    display: flex;
    align-items: center;
    gap: .25rem;
}

.beyora-logo-text__name {
    font-family: var(--font-heading);
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--forest);
    letter-spacing: -.02em;
}

.beyora-logo-text__dot {
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: var(--gold);
    margin-bottom: .25rem;
    transition: transform .25s;
}

.beyora-logo-text:hover .beyora-logo-text__dot {
    transform: scale(1.5);
}

/* Desktop nav */
.beyora-header__nav {
    display: none;
}

@media (min-width: 1024px) {
    .beyora-header__nav {
        display: flex;
    }
}

.beyora-nav-list {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}

.beyora-nav-list li {
    list-style: none;
}

.beyora-nav-list a {
    font-size: .875rem;
    letter-spacing: .02em;
    color: var(--text-muted);
    transition: color .25s;
}

.beyora-nav-list a:hover,
.beyora-nav-list .current-menu-item a {
    color: var(--forest);
    font-weight: 600;
}

/* Header actions */
.beyora-header__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.beyora-header__cta {
    display: none;
}

@media (min-width: 640px) {
    .beyora-header__cta {
        display: inline-flex;
    }
}

.beyora-header__menu-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    background: none;
    border: none;
    color: var(--forest);
    cursor: pointer;
}

@media (min-width: 1024px) {
    .beyora-header__menu-btn {
        display: none;
    }
}

/* Mobile menu */
.beyora-mobile-menu {
    display: none;
    background: var(--cream);
    border-top: 1px solid var(--border);
}

.beyora-mobile-menu.is-open {
    display: block;
}

@media (min-width: 1024px) {
    .beyora-mobile-menu {
        display: none !important;
    }
}

.beyora-mobile-menu__inner {
    padding: 1.5rem;
}

.beyora-mobile-nav-list li {
    list-style: none;
}

.beyora-mobile-nav-list a {
    display: block;
    padding: .75rem 0;
    font-size: .875rem;
    letter-spacing: .02em;
    border-bottom: 1px solid var(--border);
    color: var(--text-muted);
}

.beyora-mobile-nav-list .current-menu-item a {
    color: var(--forest);
    font-weight: 600;
}

.beyora-mobile-menu__cta {
    display: block;
    margin-top: 1rem;
    text-align: center;
    justify-content: center;
}


/* ════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════ */
.beyora-hero {
    position: relative;
    background: var(--cream);
    overflow: hidden;
    padding: 4rem 0;
}

@media (min-width: 1024px) {
    .beyora-hero {
        padding: 6rem 0;
    }
}

.beyora-hero__grid {
    display: grid;
    gap: 3rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .beyora-hero__grid {
        grid-template-columns: 1fr 1fr;
        gap: 5rem;
    }
}

.beyora-hero__text {
    max-width: 36rem;
}

.beyora-hero__headline {
    font-size: clamp(3rem, 7vw, 4.5rem);
    color: var(--forest);
    margin-bottom: 1.5rem;
}

.beyora-hero__subtitle {
    color: var(--text-muted);
    font-size: 1.125rem;
    line-height: 1.7;
    margin-bottom: 1rem;
    max-width: 28rem;
}

.beyora-hero__body {
    color: var(--text-muted);
    line-height: 1.7;
    margin-bottom: 2rem;
    max-width: 28rem;
}

.beyora-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}

/* Hero image grid */
.beyora-hero__images {
    position: relative;
}

.beyora-hero__image-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(6, 1fr);
    gap: .75rem;
    height: 500px;
}

@media (min-width: 1024px) {
    .beyora-hero__image-grid {
        height: 600px;
    }
}

.beyora-hero__img {
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.beyora-hero__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.beyora-hero__img--main {
    grid-column: span 7;
    grid-row: span 4;
}

.beyora-hero__img--side {
    grid-column: span 5;
    grid-row: span 3;
}

.beyora-hero__img--bottom-left {
    grid-column: span 5;
    grid-row: span 3;
}

.beyora-hero__img--bottom-right {
    grid-column: span 7;
    grid-row: span 2;
}

/* Floating badge */
.beyora-hero__badge {
    position: absolute;
    bottom: -1rem;
    left: -1rem;
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 1.25rem;
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--sand);
}

.beyora-hero__badge-inner {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.beyora-hero__badge-icon {
    width: 3rem;
    height: 3rem;
    background: var(--forest);
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 1.125rem;
    font-weight: 700;
}

.beyora-hero__badge-title {
    font-weight: 600;
    font-size: .875rem;
    color: var(--forest);
}

.beyora-hero__badge-sub {
    font-size: .75rem;
    color: var(--text-light);
}


/* ════════════════════════════════════════════════
   SERVICES
   ════════════════════════════════════════════════ */
.beyora-services {
    background: var(--white);
    padding: 5rem 0 7rem;
}

@media (min-width: 1024px) {
    .beyora-services {
        padding: 7rem 0;
    }
}

.beyora-services__header {
    display: grid;
    gap: 4rem;
}

@media (min-width: 1024px) {
    .beyora-services__header {
        grid-template-columns: 1fr 1fr;
    }
}

.beyora-services__grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .beyora-services__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.beyora-service-card {
    background: var(--sand);
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: block;
    text-decoration: none;
    color: inherit;
}

.beyora-service-card--dark {
    background: var(--forest);
    color: var(--white);
}

.beyora-service-card__img {
    width: 100%;
    height: 11rem;
    object-fit: cover;
}

.beyora-service-card--dark .beyora-service-card__img {
    opacity: .8;
}

.beyora-service-card__body {
    padding: 1.25rem;
}

.beyora-service-card__title {
    font-family: var(--font-heading);
    font-size: 1.125rem;
    color: var(--forest);
    margin-bottom: .25rem;
}

.beyora-service-card--dark .beyora-service-card__title {
    color: var(--white);
}

.beyora-service-card__excerpt {
    font-size: .75rem;
    color: var(--text-light);
    line-height: 1.5;
}

.beyora-service-card--dark .beyora-service-card__excerpt {
    color: rgba(255, 255, 255, .6);
}


/* ════════════════════════════════════════════════
   COMPARISON
   ════════════════════════════════════════════════ */
.beyora-compare {
    background: var(--cream);
    padding: 5rem 0;
}

@media (min-width: 1024px) {
    .beyora-compare {
        padding: 7rem 0;
    }
}

.beyora-compare__intro {
    text-align: center;
    margin-bottom: 4rem;
}

.beyora-compare__grid {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .beyora-compare__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.beyora-compare__card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 2rem;
}

.beyora-compare__card--highlight {
    background: var(--forest);
    border-color: var(--forest);
    color: var(--white);
    position: relative;
    overflow: hidden;
}

.beyora-compare__best-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: var(--gold);
    color: var(--forest);
    font-size: .625rem;
    font-weight: 700;
    padding: .25rem .75rem;
    border-radius: var(--radius-full);
    letter-spacing: .08em;
}

.beyora-compare__icon {
    width: 3rem;
    height: 3rem;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    margin-bottom: 1.25rem;
}

.beyora-compare__icon--red {
    background: var(--red-bg);
    color: var(--red-text);
}

.beyora-compare__icon--amber {
    background: var(--amber-bg);
    color: var(--amber-text);
}

.beyora-compare__icon--gold {
    background: rgba(255, 255, 255, .1);
    color: var(--gold);
}

.beyora-compare__card-title {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    color: var(--charcoal);
    margin-bottom: 1rem;
}

.beyora-compare__card-title--white {
    color: var(--white);
}

.beyora-compare__list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    font-size: .875rem;
    color: var(--text-muted);
}

.beyora-compare__list--white {
    color: rgba(255, 255, 255, .8);
}

.beyora-compare__list li {
    display: flex;
    gap: .5rem;
}

.beyora-compare__bullet {
    margin-top: .125rem;
}

.beyora-compare__bullet--red {
    color: #fca5a5;
}

.beyora-compare__bullet--amber {
    color: #fcd34d;
}

.beyora-compare__bullet--gold {
    color: var(--gold);
}


/* ════════════════════════════════════════════════
   DESIGN PROCESS
   ════════════════════════════════════════════════ */
.beyora-process {
    background: var(--white);
    padding: 5rem 0;
}

@media (min-width: 1024px) {
    .beyora-process {
        padding: 7rem 0;
    }
}

.beyora-process__grid {
    display: grid;
    gap: 4rem;
}

@media (min-width: 1024px) {
    .beyora-process__grid {
        grid-template-columns: 1fr 1fr;
        align-items: center;
    }
}

.beyora-process__steps {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.beyora-process__step {
    background: var(--cream);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
}

.beyora-process__step--offset {
    margin-top: 2rem;
}

.beyora-process__step--dark {
    background: var(--forest);
    color: var(--white);
}

.beyora-process__step-num {
    width: 2.5rem;
    height: 2.5rem;
    background: var(--forest);
    color: var(--white);
    border-radius: .5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin-bottom: 1rem;
}

.beyora-process__step-num--dark {
    background: rgba(255, 255, 255, .1);
    color: var(--gold);
}

.beyora-process__step-title {
    font-family: var(--font-heading);
    font-size: 1.125rem;
    color: var(--forest);
    margin-bottom: .5rem;
}

.beyora-process__step--dark .beyora-process__step-title {
    color: var(--white);
}

.beyora-process__step-desc {
    font-size: .75rem;
    color: var(--text-light);
    line-height: 1.5;
}

.beyora-process__step--dark .beyora-process__step-desc {
    color: rgba(255, 255, 255, .6);
}


/* ════════════════════════════════════════════════
   STYLES GALLERY
   ════════════════════════════════════════════════ */
.beyora-styles {
    background: var(--cream);
    padding: 5rem 0;
}

@media (min-width: 1024px) {
    .beyora-styles {
        padding: 7rem 0;
    }
}

.beyora-styles__header {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 3rem;
}

@media (min-width: 640px) {
    .beyora-styles__header {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
    }
}

.beyora-styles__grid {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 640px) {
    .beyora-styles__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 1024px) {
    .beyora-styles__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.beyora-style-card {
    position: relative;
    border-radius: var(--radius-xl);
    overflow: hidden;
    cursor: pointer;
    aspect-ratio: 3/4;
}

.beyora-style-card--offset {
    margin-top: 0;
}

@media (min-width: 640px) {
    .beyora-style-card--offset {
        margin-top: 2rem;
    }
}

.beyora-style-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s ease;
}

.beyora-style-card:hover .beyora-style-card__img {
    transform: scale(1.05);
}

.beyora-style-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .6), transparent 50%);
    display: flex;
    align-items: flex-end;
    padding: 1.5rem;
}

.beyora-style-card__title {
    color: var(--white);
    font-family: var(--font-heading);
    font-size: 1.25rem;
}

.beyora-style-card__sub {
    color: rgba(255, 255, 255, .6);
    font-size: .75rem;
    margin-top: .25rem;
}


/* ════════════════════════════════════════════════
   STATS BAR
   ════════════════════════════════════════════════ */
.beyora-stats {
    background: var(--forest);
    padding: 4rem 0;
}

.beyora-stats__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    text-align: center;
    color: var(--white);
}

@media (min-width: 1024px) {
    .beyora-stats__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.beyora-stats__number {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--gold);
}

.beyora-stats__label {
    font-size: .75rem;
    color: rgba(255, 255, 255, .5);
    margin-top: .5rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* ════════════════════════════════════════════════
   QUIZ SECTION
   ════════════════════════════════════════════════ */
.beyora-quiz-section {
    padding: 5rem 0;
}

@media (min-width: 1024px) {
    .beyora-quiz-section {
        padding: 7rem 0;
    }
}

.beyora-quiz-section__grid {
    display: grid;
    gap: 4rem;
}

@media (min-width: 1024px) {
    .beyora-quiz-section__grid {
        grid-template-columns: 1fr 1fr;
        align-items: flex-start;
    }
}

/* Contact info */
.beyora-contact-info {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 2.5rem;
}

.beyora-contact-info__item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.beyora-contact-info__icon {
    width: 2.75rem;
    height: 2.75rem;
    background: var(--forest);
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    flex-shrink: 0;
}

.beyora-contact-info__title {
    font-weight: 600;
    font-size: .875rem;
    color: var(--forest);
}

.beyora-contact-info__value {
    font-size: .875rem;
    color: var(--text-light);
}

/* Quiz Card */
.beyora-quiz {
    background: var(--white);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--sand);
    padding: 2rem;
}

@media (min-width: 1024px) {
    .beyora-quiz {
        padding: 2.5rem;
    }
}

.beyora-quiz__progress {
    height: .375rem;
    background: var(--sand);
    border-radius: var(--radius-full);
    margin-bottom: 2rem;
    overflow: hidden;
}

.beyora-quiz__progress-bar {
    height: 100%;
    background: var(--forest);
    border-radius: var(--radius-full);
    transition: width .5s ease;
}

.beyora-quiz__step-info {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.5rem;
    font-size: .75rem;
    color: var(--text-light);
}

.beyora-quiz__step-label {
    background: var(--forest);
    color: var(--white);
    padding: .125rem .625rem;
    border-radius: var(--radius-full);
    font-weight: 600;
}

/* Quiz option buttons */
.beyora-quiz__options-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}

.beyora-quiz__opt {
    background: var(--cream);
    border: 2px solid var(--sand);
    border-radius: var(--radius-lg);
    padding: 1rem;
    text-align: center;
    cursor: pointer;
    transition: border-color .25s, background .25s;
}

.beyora-quiz__opt:hover {
    border-color: var(--forest);
}

.beyora-quiz__opt.is-selected {
    border-color: var(--forest);
    background: rgba(45, 74, 62, .05);
}

.beyora-quiz__opt-emoji {
    font-size: 1.5rem;
    display: block;
    margin-bottom: .5rem;
}

.beyora-quiz__opt-label {
    font-weight: 500;
    font-size: .875rem;
    color: var(--forest);
}

/* Quiz fields */
.beyora-quiz__fields {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.beyora-quiz__label {
    display: block;
    font-size: .875rem;
    font-weight: 500;
    color: var(--forest);
    margin-bottom: .25rem;
}

.beyora-quiz__input {
    width: 100%;
    border: 2px solid var(--sand);
    border-radius: var(--radius-sm);
    padding: .75rem 1rem;
    background: var(--cream);
    outline: none;
    transition: border-color .25s;
}

.beyora-quiz__input:focus {
    border-color: var(--forest);
}

/* Confirm step */
.beyora-quiz__confirm {
    text-align: center;
    padding: 2rem 0;
}

.beyora-quiz__confirm-emoji {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.beyora-quiz__confirm-title {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    color: var(--forest);
    margin-bottom: .75rem;
}

.beyora-quiz__confirm-desc {
    color: var(--text-muted);
    font-size: .875rem;
    line-height: 1.6;
    max-width: 20rem;
    margin: 0 auto;
}

/* Quiz nav */
.beyora-quiz__nav {
    display: flex;
    justify-content: space-between;
    margin-top: 2rem;
}

.beyora-quiz__prev {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--text-light);
    font-weight: 500;
    font-size: .875rem;
    transition: color .25s;
}

.beyora-quiz__prev:hover {
    color: var(--forest);
}

.beyora-quiz__next {
    margin-left: auto;
}

.beyora-quiz__submit {
    margin-left: auto;
}

/* Quiz messages */
.beyora-quiz__message {
    text-align: center;
    padding: 2rem 1rem;
}

.beyora-quiz__message-emoji {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.beyora-quiz__message h3 {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    color: var(--forest);
    margin-bottom: .5rem;
}

.beyora-quiz__message p {
    color: var(--text-muted);
    font-size: .875rem;
}

/* Loading state */
.beyora-quiz--loading {
    opacity: .6;
    pointer-events: none;
}


/* ════════════════════════════════════════════════
   CTA BANNER
   ════════════════════════════════════════════════ */
.beyora-cta-banner {
    position: relative;
    overflow: hidden;
}

.beyora-cta-banner__bg {
    background: var(--forest);
    padding: 6rem 0;
}

@media (min-width: 1024px) {
    .beyora-cta-banner__bg {
        padding: 8rem 0;
    }
}

.beyora-cta-banner__grid {
    display: grid;
    gap: 3rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .beyora-cta-banner__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.beyora-cta-banner__heading {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 5vw, 3.75rem);
    font-weight: 700;
    color: var(--white);
    line-height: 1.1;
    margin-bottom: 1.5rem;
}

.beyora-cta-banner__accent {
    color: var(--gold);
}

.beyora-cta-banner__text {
    color: rgba(255, 255, 255, .6);
    font-size: 1.125rem;
    max-width: 28rem;
    margin-bottom: 2rem;
}

.beyora-cta-banner__image-wrap {
    display: none;
    position: relative;
}

@media (min-width: 1024px) {
    .beyora-cta-banner__image-wrap {
        display: block;
    }
}

.beyora-cta-banner__image {
    border-radius: var(--radius-xl);
    width: 100%;
    height: 20rem;
    object-fit: cover;
    opacity: .8;
}

.beyora-cta-banner__badge {
    position: absolute;
    bottom: -1.5rem;
    left: -1.5rem;
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    box-shadow: var(--shadow-xl);
}

.beyora-cta-banner__badge-inner {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.beyora-cta-banner__badge-icon {
    width: 3rem;
    height: 3rem;
    background: var(--forest);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-weight: 700;
}

.beyora-cta-banner__badge-title {
    font-weight: 600;
    font-size: .875rem;
}

.beyora-cta-banner__badge-sub {
    font-size: .75rem;
    color: var(--text-muted);
}


/* ════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════ */
.beyora-footer {
    background: var(--charcoal);
    color: rgba(255, 255, 255, .5);
    padding: 5rem 0 2rem;
}

.beyora-footer__grid {
    display: grid;
    gap: 3rem;
    margin-bottom: 4rem;
}

@media (min-width: 640px) {
    .beyora-footer__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 1024px) {
    .beyora-footer__grid {
        grid-template-columns: 2fr 1fr 1fr;
    }
}

.beyora-footer__logo {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--white);
    letter-spacing: -.02em;
}

.beyora-footer__logo-dot {
    color: var(--gold);
}

.beyora-footer__tagline {
    margin-top: 1rem;
    font-size: .875rem;
    line-height: 1.7;
}

/* Social */
.beyora-footer__social {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
}

.beyora-footer__social-link {
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .25s;
}

.beyora-footer__social-link:hover {
    background: rgba(255, 255, 255, .1);
}

/* Widget styles in footer */
.beyora-footer .widget-title {
    color: var(--white);
    font-weight: 600;
    font-size: .875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
    font-family: var(--font-body);
}

.beyora-footer .widget ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    font-size: .875rem;
}

.beyora-footer .widget a {
    transition: color .25s;
}

.beyora-footer .widget a:hover {
    color: var(--gold);
}

/* Fallback footer lists */
.beyora-footer__links,
.beyora-footer__contact {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    font-size: .875rem;
}

.beyora-footer__links a {
    transition: color .25s;
}

.beyora-footer__links a:hover {
    color: var(--gold);
}

.beyora-footer__contact li {
    display: flex;
    align-items: center;
    gap: .5rem;
}

/* Bottom bar */
.beyora-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    font-size: .75rem;
    color: rgba(255, 255, 255, .3);
}

@media (min-width: 640px) {
    .beyora-footer__bottom {
        flex-direction: row;
        justify-content: space-between;
    }
}

.beyora-footer__bottom-links {
    display: flex;
    gap: 1.5rem;
}

.beyora-footer__bottom-links a {
    transition: color .25s;
}

.beyora-footer__bottom-links a:hover {
    color: rgba(255, 255, 255, .6);
}


/* ════════════════════════════════════════════════
   WordPress core overrides
   ════════════════════════════════════════════════ */
.wp-caption {
    max-width: 100%;
}

.alignleft {
    float: left;
    margin: 0 1.5rem 1.5rem 0;
}

.alignright {
    float: right;
    margin: 0 0 1.5rem 1.5rem;
}

.aligncenter {
    display: block;
    margin: 0 auto 1.5rem;
}