:root {
    --serif: 'Manrope', Arial, sans-serif;
    --sans: 'Manrope', Arial, sans-serif;
    --gold: #c6a66b;
    --gold-light: #e1c58f;
    --gold-dim: rgba(198, 166, 107, 0.55);
    --gold-faint: rgba(198, 166, 107, 0.12);
    --dark: #0b0b09;
    --dark-2: #11110e;
    --dark-3: #171713;
    --dark-4: #202019;
    --text: #f4f1ea;
    --text-muted: rgba(244, 241, 234, 0.72);
    --text-dim: rgba(244, 241, 234, 0.5);
    --radius: 6px;
}

body,
button,
input,
select,
textarea {
    font-family: 'Manrope', Arial, sans-serif !important;
    font-weight: 400;
}

body {
    font-size: 16px;
    line-height: 1.7;
}

h1, h2, h3, h4, h5, h6,
.hero-title,
.section-title,
.page-title,
.policy-hero h1 {
    font-family: 'Manrope', Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
    letter-spacing: -0.035em !important;
    line-height: 1.15 !important;
}

h3, h4, h5, h6 {
    letter-spacing: -0.015em !important;
}

p,
li,
.pillar-text,
.trust-text,
.page-subtitle,
.hero-sub,
.policy-hero-sub {
    font-family: 'Manrope', Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
}

p {
    line-height: 1.75 !important;
}

em,
i {
    font-style: normal !important;
}

.hero-title em,
.page-title em {
    color: var(--gold-light);
}

.section-label,
.hero-eyebrow,
.form-label {
    font-family: 'Manrope', Arial, sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
}

.section-title {
    font-size: clamp(2rem, 4vw, 3.35rem) !important;
}

.page-title,
.policy-hero h1 {
    font-size: clamp(2.35rem, 5vw, 4.25rem) !important;
}

.hero-title {
    font-size: clamp(2.7rem, 5.5vw, 4.8rem) !important;
}

.hero-sub,
.page-subtitle,
.policy-hero-sub {
    color: var(--text-muted) !important;
    font-size: clamp(0.98rem, 1.6vw, 1.12rem) !important;
    letter-spacing: 0 !important;
    max-width: 640px;
}

.site-nav {
    background: rgba(11, 11, 9, 0.96);
    border-bottom-color: rgba(198, 166, 107, 0.16);
}

.nav-links a {
    font-weight: 600;
    letter-spacing: 0.1em;
}

.btn-primary,
.btn-outline,
.nav-cta,
button[type="submit"] {
    border-radius: var(--radius) !important;
    font-family: 'Manrope', Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    line-height: 1.2;
}

.btn-primary,
button[type="submit"] {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.ornament,
.gold-rule,
.trust-icon,
.pillar-icon,
.contact-card-icon,
.contact-link-icon,
.guarantee-point-icon,
.guarantee-check,
.faq-icon {
    display: none !important;
}

.trust-item {
    gap: 0;
}

.guarantee-points li {
    gap: 0 !important;
}

.faq-question {
    cursor: pointer;
}

.pillars-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.pillar {
    min-height: 250px;
    padding: 38px 34px !important;
    border: 1px solid rgba(198, 166, 107, 0.16) !important;
    border-radius: var(--radius);
    background: rgba(255, 255, 255, 0.018) !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pillar-title {
    font-family: 'Manrope', Arial, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 14px !important;
}

.pillar-text {
    color: var(--text-muted) !important;
    font-size: 0.9rem !important;
    line-height: 1.75 !important;
}

.kitten-card,
.contact-card,
.faq-quick-item,
.included-item,
.future-card,
.cat-trait,
.guarantee-stat,
.process-card,
.philosophy-item {
    border-radius: var(--radius) !important;
}

.form-input,
.form-select,
.form-textarea,
input,
select,
textarea {
    font-size: 0.92rem !important;
    font-weight: 400 !important;
    border-radius: var(--radius) !important;
}

footer p,
footer li,
footer a {
    font-style: normal !important;
}

@media (max-width: 900px) {
    .pillars-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    body {
        font-size: 15px;
    }

    .pillars-grid {
        grid-template-columns: 1fr !important;
    }

    .pillar {
        min-height: auto;
        padding: 30px 24px !important;
    }

    .hero-title {
        font-size: clamp(2.35rem, 12vw, 3.4rem) !important;
    }
}

/* Readable production type scale */
html { font-size: 17px; }
body { font-size: 1rem; line-height: 1.7; }

h1, .hero-title, .page-title, .policy-hero h1, .kittens-hero h1 {
    font-size: clamp(2.75rem, 5vw, 4.75rem) !important;
}
h2, .section-title, .profile-name, .kittens-cta h2, .past-cta h2 {
    font-size: clamp(2rem, 3.5vw, 3.25rem) !important;
}
h3 { font-size: clamp(1.15rem, 2vw, 1.4rem) !important; }
h4, h5, h6 { font-size: 1.05rem !important; }

p, li, .profile-description, .contact-info-desc, .policy-body, .faq-answer p {
    font-size: 1rem !important;
}

.section-label, .hero-eyebrow, .filter-label, .filter-tag, .trust-text,
.kitten-badge, .profile-status-badge, .spec-key, .form-label, .footer-col-title {
    font-size: 0.75rem !important;
    line-height: 1.35 !important;
}

.nav-links a, .btn-primary, .btn-outline, .nav-cta, button[type="submit"] {
    font-size: 0.76rem !important;
}

.kitten-meta, .kitten-desc, .spec-val, .profile-tagline, .profile-price-note,
.form-note, .footer-copy, .footer-credit {
    font-size: 0.88rem !important;
}

.footer-tagline, .footer-links a, .footer-contact-info a, .footer-contact-info span {
    font-size: 0.9rem !important;
    line-height: 1.7 !important;
}

/* Homepage hero and kitten cards */
.hero { padding-bottom: 32px !important; }
.hero-content { max-width: 760px !important; }
.hero-eyebrow { margin-bottom: 14px !important; }

.kitten-photo-wrap {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden;
}
.kitten-photo-wrap img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.kitten-badge, .profile-status-badge {
    padding: 8px 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
}
.badge-available {
    background: #d7b875 !important;
    border-color: #d7b875 !important;
    color: #0b0b09 !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

.profile-main-photo {
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Balance the homepage guarantee copy with a strong portrait image. */
.section-guarantee .guarantee-inner {
    max-width: 1120px !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr) !important;
    gap: 72px !important;
}
.section-guarantee .section-title {
    font-size: clamp(2.35rem, 3.4vw, 3rem) !important;
    line-height: 1.08 !important;
}
.section-guarantee .guarantee-photo {
    width: 100%;
    max-width: 540px;
    justify-self: end;
}
.section-guarantee .guarantee-photo img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 4 !important;
    object-fit: cover !important;
    object-position: center !important;
}

.testimonial-author, .testimonial-stars, .litter-entry-date, .step-label,
.fact-key, .fact-val, .cat-spec-key, .cat-spec-val, .trait-label,
.contact-card-label, .contact-card-note, .contact-card-value, .includes-title,
.profile-price-note, .litter-details span, .footer-social a {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
}

.kitten-meta strong, .kitten-cta, cite, .philosophy-title,
.step-pill-num, .step-pill-name, .step-arrow, .stat-label,
.safe-return-cite, .vaccine-table th, .cat-nav-link, .cat-role-badge,
.future-role, .retired-badge, .retired-legacy-title, .litter-status,
.parent-role, .parent-info a {
    font-size: 0.82rem !important;
    line-height: 1.5 !important;
}

.scroll-indicator {
    display: none !important;
}

/* Accessible, restrained section entrance animations. */
.motion-ready .scroll-reveal {
    opacity: 0;
    transform: translateY(24px);
}
.motion-active .scroll-reveal {
    transition:
        opacity 0.72s cubic-bezier(0.2, 0.7, 0.2, 1) var(--reveal-delay, 0ms),
        transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1) var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}
.motion-ready .scroll-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .motion-ready .scroll-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

.view-all-link, .vmeta-item, .virtual-available span,
.step-detail-key, .included-title {
    font-size: 0.82rem !important;
    line-height: 1.5 !important;
}

/* Available kitten filters */
[hidden] { display: none !important; }
.filter-bar { gap: 18px !important; }
.filter-tag {
    padding: 9px 16px !important;
    font-weight: 600 !important;
}
.filter-empty {
    margin: 0 auto 72px;
    padding: 34px;
    max-width: 720px;
    border: 1px solid var(--gold-faint);
    border-radius: var(--radius);
    color: var(--text-muted);
    text-align: center;
}

/* Footer branding */
.footer-brand img {
    width: 220px !important;
    height: auto !important;
    max-height: none !important;
}

@media (max-width: 768px) {
    html { font-size: 16px; }
    .hero {
        min-height: 680px !important;
        padding-bottom: 36px !important;
    }
    .hero-content { padding-inline: 24px !important; }
    .filter-bar { align-items: flex-start !important; }
}

@media (max-width: 1024px) {
    .section-guarantee .guarantee-inner {
        grid-template-columns: 1fr !important;
        gap: 48px !important;
    }
    .section-guarantee .guarantee-photo {
        display: block !important;
        max-width: 560px;
        justify-self: center;
    }
}

.lightbox-trigger {
    cursor: zoom-in;
}

body.lightbox-open {
    overflow: hidden;
}

.site-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 72px 90px;
    background: rgba(5, 5, 4, 0.96);
}

.site-lightbox.open {
    display: flex;
}

.site-lightbox-image {
    display: block;
    max-width: min(1200px, 100%);
    max-height: calc(100vh - 120px);
    object-fit: contain;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5);
}

.site-lightbox button {
    position: absolute;
    border: 1px solid rgba(198, 166, 107, 0.5);
    border-radius: var(--radius);
    background: rgba(11, 11, 9, 0.85);
    color: var(--text);
    cursor: pointer;
}

.site-lightbox-close {
    top: 20px;
    right: 20px;
    padding: 10px 16px;
}

.site-lightbox-nav {
    top: 50%;
    transform: translateY(-50%);
    padding: 12px 14px;
}

.site-lightbox-prev {
    left: 20px;
}

.site-lightbox-next {
    right: 20px;
}

.not-found-page {
    min-height: 100vh;
    max-width: 760px;
    margin: 0 auto;
    padding: 80px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 22px;
}

.not-found-page img {
    width: 210px;
    height: auto;
    margin-bottom: 24px;
}

.not-found-page h1 {
    font-size: clamp(2rem, 6vw, 4rem);
}

.not-found-page > div {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

@media (max-width: 600px) {
    .site-lightbox {
        padding: 64px 12px 76px;
    }

    .site-lightbox-image {
        max-height: calc(100vh - 150px);
    }

    .site-lightbox-nav {
        top: auto;
        bottom: 16px;
        transform: none;
    }
}
