/*
Theme Name: MissHybridFree
Description: Custom lightweight theme for MissHybridFree.com
Version: 1.0
Text Domain: misshybridfree
*/

:root {
    --mhf-black: #11100e;
    --mhf-cream: #f4efe5;
    --mhf-paper: #fbf8f1;
    --mhf-gold: #b8954f;
    --mhf-darkgold: #81652f;
    --mhf-grey: #746f66;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--mhf-paper);
    color: var(--mhf-black);
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.6;
}

a { color: inherit; }

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* HEADER */

.mhf-header {
    background: var(--mhf-black);
    color: var(--mhf-cream);
    border-bottom: 1px solid var(--mhf-gold);
}

.mhf-header-inner {
    max-width: 1380px;
    margin: auto;
    min-height: 105px;
    padding: 20px 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.mhf-brand {
    text-decoration: none;
    display: flex;
    align-items: baseline;
    gap: 12px;
    white-space: nowrap;
}

.mhf-brand-small {
    font-family: Arial, sans-serif;
    font-size: 9px;
    letter-spacing: 3px;
    color: var(--mhf-gold);
}

.mhf-brand-main {
    font-size: 27px;
    letter-spacing: 2px;
}

.mhf-brand-free {
    font-family: Arial, sans-serif;
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--mhf-gold);
}

.mhf-nav {
    display: flex;
    align-items: center;
    gap: 28px;
    font-family: Arial, sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.mhf-nav a {
    text-decoration: none;
}

.mhf-nav a:hover {
    color: var(--mhf-gold);
}

.mhf-nav .mhf-join {
    border: 1px solid var(--mhf-gold);
    padding: 11px 17px;
    color: var(--mhf-gold);
}

/* HERO */

.mhf-hero {
    background:
        linear-gradient(110deg, #171512 0%, #171512 55%, #29241c 100%);
    color: var(--mhf-cream);
}

.mhf-hero-inner {
    max-width: 1380px;
    min-height: 560px;
    margin: auto;
    padding: 75px 55px;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    align-items: center;
    gap: 60px;
}

.mhf-kicker {
    display: block;
    font-family: Arial, sans-serif;
    font-size: 10px;
    letter-spacing: 5px;
    color: var(--mhf-gold);
    margin-bottom: 18px;
}

.mhf-hero h1 {
    margin: 0 0 25px;
    font-weight: normal;
    font-size: clamp(50px, 6vw, 88px);
    line-height: .98;
    letter-spacing: -2px;
}

.mhf-hero-copy p {
    max-width: 610px;
    color: #d6d0c4;
    font-size: 19px;
    margin: 0 0 38px;
}

.mhf-button {
    display: inline-block;
    background: var(--mhf-gold);
    color: #111;
    padding: 14px 25px;
    text-decoration: none;
    text-transform: uppercase;
    font: 700 11px Arial, sans-serif;
    letter-spacing: 2px;
}

.mhf-button:hover {
    background: #cbaa66;
}

.mhf-hero-mark {
    border: 1px solid rgba(184,149,79,.5);
    aspect-ratio: 1;
    max-width: 360px;
    width: 100%;
    margin-left: auto;
    display: grid;
    place-items: center;
    transform: rotate(45deg);
}

.mhf-hero-mark span {
    transform: rotate(-45deg);
    color: var(--mhf-gold);
    font-size: 74px;
    font-style: italic;
}

/* COLLECTION */

.mhf-content {
    max-width: 1380px;
    margin: auto;
    padding: 90px 38px;
}

.mhf-section-heading {
    text-align: center;
    margin-bottom: 55px;
}

.mhf-section-heading > span {
    font: 10px Arial, sans-serif;
    letter-spacing: 5px;
    color: var(--mhf-darkgold);
}

.mhf-section-heading h2 {
    font-size: 48px;
    font-weight: normal;
    margin: 8px 0 4px;
}

.mhf-section-heading p {
    color: var(--mhf-grey);
    margin: 0;
}

.mhf-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 38px 28px;
}

.mhf-card {
    background: #fff;
    border-bottom: 2px solid var(--mhf-gold);
}

.mhf-card-image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #ded8cc;
}

.mhf-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.mhf-card:hover .mhf-card-image img {
    transform: scale(1.025);
}

.mhf-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background: #24211c;
    color: var(--mhf-gold);
    font-size: 50px;
}

.mhf-card-body {
    padding: 25px 25px 29px;
}

.mhf-card-meta {
    color: var(--mhf-darkgold);
    font: 10px Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.mhf-card h3 {
    font-size: 27px;
    font-weight: normal;
    line-height: 1.15;
    margin: 10px 0 12px;
}

.mhf-card h3 a {
    text-decoration: none;
}

.mhf-card-body p {
    color: var(--mhf-grey);
    font-size: 15px;
}

.mhf-read {
    display: inline-block;
    margin-top: 8px;
    color: var(--mhf-darkgold);
    text-decoration: none;
    font: 700 10px Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* CTA */

.mhf-door {
    background: var(--mhf-cream);
    padding: 85px 38px;
    border-top: 1px solid #ded5c4;
    border-bottom: 1px solid #ded5c4;
}

.mhf-door-inner {
    max-width: 950px;
    margin: auto;
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 55px;
    align-items: center;
}

.mhf-key {
    width: 150px;
    height: 150px;
    border: 1px solid var(--mhf-gold);
    display: grid;
    place-items: center;
    font-size: 50px;
    color: var(--mhf-gold);
    transform: rotate(45deg);
}

.mhf-key::first-letter {
    transform: rotate(-45deg);
}

.mhf-door h2 {
    font-size: 46px;
    font-weight: normal;
    margin: 0 0 8px;
}

.mhf-door p {
    color: var(--mhf-grey);
    margin: 0 0 25px;
}

/* SINGLE POST */

.mhf-single {
    max-width: 1100px;
    margin: auto;
    padding: 75px 35px;
}

.mhf-single-heading {
    max-width: 850px;
    margin-bottom: 40px;
}

.mhf-single-heading h1 {
    font-size: clamp(42px, 6vw, 72px);
    font-weight: normal;
    line-height: 1.05;
    margin: 0;
}

.mhf-single-image {
    margin-bottom: 45px;
}

.mhf-single-content {
    max-width: 800px;
    margin: auto;
    font-size: 18px;
}

.mhf-single-content img {
    margin: 30px auto;
}

.mhf-single-cta {
    max-width: 800px;
    margin: 70px auto 20px;
    padding: 45px;
    background: var(--mhf-cream);
    border-top: 2px solid var(--mhf-gold);
}

.mhf-single-cta h2 {
    font-size: 36px;
    font-weight: normal;
}

/* FOOTER */

.mhf-footer {
    background: var(--mhf-black);
    color: #cfc8bc;
    padding: 55px 38px 25px;
}

.mhf-footer-inner {
    max-width: 1380px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.mhf-footer strong {
    color: var(--mhf-gold);
    letter-spacing: 3px;
}

.mhf-footer p {
    margin: 7px 0;
}

.mhf-footer-links {
    display: flex;
    gap: 25px;
}

.mhf-footer-links a {
    color: #cfc8bc;
    text-decoration: none;
}

.mhf-copyright {
    max-width: 1380px;
    margin: 35px auto 0;
    padding-top: 20px;
    border-top: 1px solid #39352e;
    font: 10px Arial, sans-serif;
    letter-spacing: 1px;
}

/* PAGINATION */

.mhf-pagination {
    margin-top: 55px;
    text-align: center;
}

.mhf-pagination .page-numbers {
    margin: 0 5px;
}

/* MOBILE */

@media (max-width: 900px) {
    .mhf-header-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .mhf-nav {
        flex-wrap: wrap;
        gap: 15px 20px;
    }

    .mhf-hero-inner {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 65px 30px;
    }

    .mhf-hero-mark {
        display: none;
    }

    .mhf-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .mhf-header-inner {
        padding: 20px;
    }

    .mhf-brand {
        flex-wrap: wrap;
    }

    .mhf-brand-main {
        font-size: 22px;
    }

    .mhf-nav {
        font-size: 10px;
    }

    .mhf-content {
        padding: 60px 20px;
    }

    .mhf-grid {
        grid-template-columns: 1fr;
    }

    .mhf-section-heading h2 {
        font-size: 38px;
    }

    .mhf-door-inner {
        grid-template-columns: 1fr;
    }

    .mhf-key {
        display: none;
    }

    .mhf-door {
        padding: 60px 25px;
    }

    .mhf-footer-inner {
        flex-direction: column;
    }
}


:root {
    --mhf-black: #11100e;
    --mhf-cream: #f4efe5;
    --mhf-paper: #fbf8f1;
    --mhf-gold: #b8954f;
    --mhf-darkgold: #81652f;
    --mhf-grey: #746f66;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--mhf-paper);
    color: var(--mhf-black);
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.6;
}

a { color: inherit; }

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* HEADER */

.mhf-header {
    background: var(--mhf-black);
    color: var(--mhf-cream);
    border-bottom: 1px solid var(--mhf-gold);
}

.mhf-header-inner {
    max-width: 1380px;
    margin: auto;
    min-height: 105px;
    padding: 20px 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.mhf-brand {
    text-decoration: none;
    display: flex;
    align-items: baseline;
    gap: 12px;
    white-space: nowrap;
}

.mhf-brand-small {
    font-family: Arial, sans-serif;
    font-size: 9px;
    letter-spacing: 3px;
    color: var(--mhf-gold);
}

.mhf-brand-main {
    font-size: 27px;
    letter-spacing: 2px;
}

.mhf-brand-free {
    font-family: Arial, sans-serif;
    font-size: 11px;
    letter-spacing: 4px;
    color: var(--mhf-gold);
}

.mhf-nav {
    display: flex;
    align-items: center;
    gap: 28px;
    font-family: Arial, sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.mhf-nav a {
    text-decoration: none;
}

.mhf-nav a:hover {
    color: var(--mhf-gold);
}

.mhf-nav .mhf-join {
    border: 1px solid var(--mhf-gold);
    padding: 11px 17px;
    color: var(--mhf-gold);
}

/* HERO */

.mhf-hero {
    background:
        linear-gradient(110deg, #171512 0%, #171512 55%, #29241c 100%);
    color: var(--mhf-cream);
}

.mhf-hero-inner {
    max-width: 1380px;
    min-height: 560px;
    margin: auto;
    padding: 75px 55px;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    align-items: center;
    gap: 60px;
}

.mhf-kicker {
    display: block;
    font-family: Arial, sans-serif;
    font-size: 10px;
    letter-spacing: 5px;
    color: var(--mhf-gold);
    margin-bottom: 18px;
}

.mhf-hero h1 {
    margin: 0 0 25px;
    font-weight: normal;
    font-size: clamp(50px, 6vw, 88px);
    line-height: .98;
    letter-spacing: -2px;
}

.mhf-hero-copy p {
    max-width: 610px;
    color: #d6d0c4;
    font-size: 19px;
    margin: 0 0 38px;
}

.mhf-button {
    display: inline-block;
    background: var(--mhf-gold);
    color: #111;
    padding: 14px 25px;
    text-decoration: none;
    text-transform: uppercase;
    font: 700 11px Arial, sans-serif;
    letter-spacing: 2px;
}

.mhf-button:hover {
    background: #cbaa66;
}

.mhf-hero-mark {
    border: 1px solid rgba(184,149,79,.5);
    aspect-ratio: 1;
    max-width: 360px;
    width: 100%;
    margin-left: auto;
    display: grid;
    place-items: center;
    transform: rotate(45deg);
}

.mhf-hero-mark span {
    transform: rotate(-45deg);
    color: var(--mhf-gold);
    font-size: 74px;
    font-style: italic;
}

/* COLLECTION */

.mhf-content {
    max-width: 1380px;
    margin: auto;
    padding: 90px 38px;
}

.mhf-section-heading {
    text-align: center;
    margin-bottom: 55px;
}

.mhf-section-heading > span {
    font: 10px Arial, sans-serif;
    letter-spacing: 5px;
    color: var(--mhf-darkgold);
}

.mhf-section-heading h2 {
    font-size: 48px;
    font-weight: normal;
    margin: 8px 0 4px;
}

.mhf-section-heading p {
    color: var(--mhf-grey);
    margin: 0;
}

.mhf-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 38px 28px;
}

.mhf-card {
    background: #fff;
    border-bottom: 2px solid var(--mhf-gold);
}

.mhf-card-image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #ded8cc;
}

.mhf-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.mhf-card:hover .mhf-card-image img {
    transform: scale(1.025);
}

.mhf-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background: #24211c;
    color: var(--mhf-gold);
    font-size: 50px;
}

.mhf-card-body {
    padding: 25px 25px 29px;
}

.mhf-card-meta {
    color: var(--mhf-darkgold);
    font: 10px Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.mhf-card h3 {
    font-size: 27px;
    font-weight: normal;
    line-height: 1.15;
    margin: 10px 0 12px;
}

.mhf-card h3 a {
    text-decoration: none;
}

.mhf-card-body p {
    color: var(--mhf-grey);
    font-size: 15px;
}

.mhf-read {
    display: inline-block;
    margin-top: 8px;
    color: var(--mhf-darkgold);
    text-decoration: none;
    font: 700 10px Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* CTA */

.mhf-door {
    background: var(--mhf-cream);
    padding: 85px 38px;
    border-top: 1px solid #ded5c4;
    border-bottom: 1px solid #ded5c4;
}

.mhf-door-inner {
    max-width: 950px;
    margin: auto;
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 55px;
    align-items: center;
}

.mhf-key {
    width: 150px;
    height: 150px;
    border: 1px solid var(--mhf-gold);
    display: grid;
    place-items: center;
    font-size: 50px;
    color: var(--mhf-gold);
    transform: rotate(45deg);
}

.mhf-key::first-letter {
    transform: rotate(-45deg);
}

.mhf-door h2 {
    font-size: 46px;
    font-weight: normal;
    margin: 0 0 8px;
}

.mhf-door p {
    color: var(--mhf-grey);
    margin: 0 0 25px;
}

/* SINGLE POST */

.mhf-single {
    max-width: 1100px;
    margin: auto;
    padding: 75px 35px;
}

.mhf-single-heading {
    max-width: 850px;
    margin-bottom: 40px;
}

.mhf-single-heading h1 {
    font-size: clamp(42px, 6vw, 72px);
    font-weight: normal;
    line-height: 1.05;
    margin: 0;
}

.mhf-single-image {
    margin-bottom: 45px;
}

.mhf-single-content {
    max-width: 800px;
    margin: auto;
    font-size: 18px;
}

.mhf-single-content img {
    margin: 30px auto;
}

.mhf-single-cta {
    max-width: 800px;
    margin: 70px auto 20px;
    padding: 45px;
    background: var(--mhf-cream);
    border-top: 2px solid var(--mhf-gold);
}

.mhf-single-cta h2 {
    font-size: 36px;
    font-weight: normal;
}

/* FOOTER */

.mhf-footer {
    background: var(--mhf-black);
    color: #cfc8bc;
    padding: 55px 38px 25px;
}

.mhf-footer-inner {
    max-width: 1380px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.mhf-footer strong {
    color: var(--mhf-gold);
    letter-spacing: 3px;
}

.mhf-footer p {
    margin: 7px 0;
}

.mhf-footer-links {
    display: flex;
    gap: 25px;
}

.mhf-footer-links a {
    color: #cfc8bc;
    text-decoration: none;
}

.mhf-copyright {
    max-width: 1380px;
    margin: 35px auto 0;
    padding-top: 20px;
    border-top: 1px solid #39352e;
    font: 10px Arial, sans-serif;
    letter-spacing: 1px;
}

/* PAGINATION */

.mhf-pagination {
    margin-top: 55px;
    text-align: center;
}

.mhf-pagination .page-numbers {
    margin: 0 5px;
}

/* MOBILE */

@media (max-width: 900px) {
    .mhf-header-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .mhf-nav {
        flex-wrap: wrap;
        gap: 15px 20px;
    }

    .mhf-hero-inner {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 65px 30px;
    }

    .mhf-hero-mark {
        display: none;
    }

    .mhf-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .mhf-header-inner {
        padding: 20px;
    }

    .mhf-brand {
        flex-wrap: wrap;
    }

    .mhf-brand-main {
        font-size: 22px;
    }

    .mhf-nav {
        font-size: 10px;
    }

    .mhf-content {
        padding: 60px 20px;
    }

    .mhf-grid {
        grid-template-columns: 1fr;
    }

    .mhf-section-heading h2 {
        font-size: 38px;
    }

    .mhf-door-inner {
        grid-template-columns: 1fr;
    }

    .mhf-key {
        display: none;
    }

    .mhf-door {
        padding: 60px 25px;
    }

    .mhf-footer-inner {
        flex-direction: column;
    }
}


/* =========================================================
   MISS HYBRID TOUR
   ========================================================= */

/* 1 — ENTRANCE */

.tour-entrance {
    background: #11100e;
    color: #f4efe5;
}

.tour-entrance-image {
    min-height: 720px;
    position: relative;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 72% 45%, rgba(184,149,79,.16), transparent 28%),
        linear-gradient(110deg, #0d0c0b 0%, #181511 58%, #30291f 100%);
    overflow: hidden;
}

.tour-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.35), transparent 70%);
}

.tour-entrance-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1380px;
    margin: auto;
    padding: 90px 55px;
}

.tour-eyebrow {
    display: block;
    color: #b8954f;
    font: 10px Arial, sans-serif;
    letter-spacing: 6px;
    margin-bottom: 22px;
}

.tour-entrance h1 {
    max-width: 850px;
    margin: 0 0 25px;
    font-size: clamp(62px, 8vw, 112px);
    font-weight: normal;
    line-height: .9;
    letter-spacing: -3px;
}

.tour-entrance p {
    margin: 0 0 38px;
    color: #ddd5c8;
    font-size: 22px;
}


/* 2 — MEET MISS HYBRID */

.tour-meet {
    max-width: 1380px;
    margin: auto;
    padding: 110px 55px;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 90px;
    align-items: center;
}

.tour-photo-placeholder {
    min-height: 620px;
    background:
        linear-gradient(145deg, #d9d0bf, #8d806d);
    display: grid;
    place-items: center;
    position: relative;
}

.tour-photo-placeholder::after {
    content: "";
    position: absolute;
    inset: 20px;
    border: 1px solid rgba(255,255,255,.4);
}

.tour-photo-placeholder span {
    color: rgba(255,255,255,.75);
    font-size: 18px;
    letter-spacing: 8px;
}

.tour-copy h2 {
    margin: 0 0 24px;
    font-size: clamp(48px, 6vw, 76px);
    font-weight: normal;
    line-height: 1;
}

.tour-copy p {
    max-width: 570px;
    color: #746f66;
    font-size: 17px;
}

.tour-copy .tour-lead {
    color: #11100e;
    font-size: 23px;
    font-style: italic;
}

.tour-text-link {
    display: inline-block;
    margin-top: 22px;
    color: #81652f;
    text-decoration: none;
    text-transform: uppercase;
    font: 700 10px Arial, sans-serif;
    letter-spacing: 2px;
}


/* 3 — PHOTOGRAPHY */

.tour-gallery {
    background: #f2ecdf;
    padding: 105px 55px 115px;
}

.tour-heading {
    max-width: 700px;
    margin: 0 auto 65px;
    text-align: center;
}

.tour-heading h2 {
    margin: 5px 0 8px;
    font-size: clamp(50px, 6vw, 74px);
    line-height: 1;
    font-weight: normal;
}

.tour-heading p {
    color: #746f66;
    font-size: 17px;
}

.tour-feature-grid {
    max-width: 1280px;
    margin: auto;
    display: grid;
    grid-template-columns: 1.4fr .8fr;
    grid-template-rows: 1fr 1fr;
    gap: 24px;
}

.tour-feature {
    background: #fff;
}

.tour-feature-large {
    grid-row: 1 / 3;
}

.tour-feature-image {
    display: block;
    height: 270px;
    overflow: hidden;
    background: #211e19;
}

.tour-feature-large .tour-feature-image {
    height: 610px;
}

.tour-feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.tour-feature:hover img {
    transform: scale(1.025);
}

.tour-image-fallback {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #b8954f;
    font-size: 60px;
}

.tour-feature-caption {
    padding: 20px 23px 24px;
}

.tour-feature-caption h3 {
    margin: 0;
    font-size: 25px;
    font-weight: normal;
}

.tour-feature-caption h3 a {
    text-decoration: none;
}

.tour-feature-caption .tour-text-link {
    margin-top: 8px;
}

.tour-continue {
    text-align: center;
    margin-top: 45px;
}


/* 4 — FILMS */

.tour-films {
    background: #11100e;
    color: #f4efe5;
    padding: 110px 55px;
}

.tour-films-inner {
    max-width: 1250px;
    margin: auto;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 80px;
    align-items: center;
}

.tour-film-visual {
    min-height: 560px;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle, rgba(184,149,79,.15), transparent 30%),
        linear-gradient(145deg, #322b22, #080807);
    border: 1px solid #3e372d;
}

.tour-play {
    width: 90px;
    height: 90px;
    border: 1px solid #b8954f;
    border-radius: 50%;
    display: grid;
    place-items: center;
    padding-left: 6px;
    color: #b8954f;
    font-size: 25px;
}

.tour-copy-dark h2 {
    color: #f4efe5;
}

.tour-copy-dark p,
.tour-copy-dark .tour-lead {
    color: #c7c0b4;
}

.tour-link-gold {
    color: #b8954f;
}


/* 5 — FROM THE MANOR */

.tour-stories {
    padding: 110px 55px;
    background: #fbf8f1;
}

.tour-story-strip {
    max-width: 1180px;
    margin: auto;
}

.tour-story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 400px;
    margin-bottom: 45px;
    background: #f2ecdf;
}

.tour-story:nth-child(even) .tour-story-image {
    order: 2;
}

.tour-story-image {
    overflow: hidden;
    min-height: 400px;
}

.tour-story-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tour-story-copy {
    padding: 60px;
    align-self: center;
}

.tour-story-copy h3 {
    margin: 0 0 18px;
    font-size: 38px;
    font-weight: normal;
    line-height: 1.1;
}

.tour-story-copy p {
    color: #746f66;
}


/* 6 — BEYOND THE TOUR */

.tour-beyond {
    min-height: 600px;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 75% 50%, rgba(184,149,79,.18), transparent 25%),
        linear-gradient(105deg, #090908 0%, #17130f 65%, #352d21 100%);
    color: #f4efe5;
}

.tour-beyond-inner {
    width: 100%;
    max-width: 1380px;
    margin: auto;
    padding: 100px 55px;
}

.tour-beyond h2 {
    margin: 0 0 25px;
    max-width: 850px;
    font-size: clamp(55px, 7vw, 90px);
    font-weight: normal;
    line-height: .95;
}

.tour-beyond p {
    max-width: 580px;
    color: #d1cabf;
    font-size: 19px;
    margin-bottom: 35px;
}


/* 7 — THE DOOR */

.tour-door {
    min-height: 700px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #e9e0d0;
}

.tour-door-visual {
    display: grid;
    place-items: center;
    padding: 80px;
    background:
        linear-gradient(90deg, rgba(0,0,0,.2), transparent),
        repeating-linear-gradient(
            90deg,
            #34261b 0,
            #34261b 90px,
            #2a1e16 91px,
            #2a1e16 94px
        );
}

.tour-door-panel {
    width: min(420px, 80%);
    aspect-ratio: .7;
    border: 4px solid #19130f;
    outline: 1px solid #8f6d38;
    outline-offset: -20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #c7a15a;
    background: rgba(20,14,10,.55);
    box-shadow: 0 20px 60px rgba(0,0,0,.4);
}

.tour-lock {
    width: 75px;
    height: 75px;
    display: grid;
    place-items: center;
    border: 1px solid #b8954f;
    transform: rotate(45deg);
    margin-bottom: 45px;
    font-size: 20px;
}

.tour-door-panel span {
    font: 11px Arial, sans-serif;
    letter-spacing: 5px;
}

.tour-door-copy {
    align-self: center;
    padding: 90px;
}

.tour-door-copy h2 {
    margin: 0 0 25px;
    font-size: clamp(55px, 7vw, 88px);
    font-weight: normal;
    line-height: .9;
}

.tour-door-copy p {
    color: #665f55;
    font-size: 19px;
    margin-bottom: 35px;
}


/* TOUR RESPONSIVE */

@media (max-width: 900px) {

    .tour-entrance-image {
        min-height: 620px;
    }

    .tour-meet,
    .tour-films-inner,
    .tour-door {
        grid-template-columns: 1fr;
    }

    .tour-meet {
        gap: 50px;
    }

    .tour-photo-placeholder {
        min-height: 520px;
    }

    .tour-feature-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    .tour-feature-large {
        grid-column: 1 / 3;
        grid-row: auto;
    }

    .tour-feature-large .tour-feature-image {
        height: 500px;
    }

    .tour-story {
        grid-template-columns: 1fr;
    }

    .tour-story:nth-child(even) .tour-story-image {
        order: initial;
    }

    .tour-door-copy {
        padding: 75px 50px;
    }
}

@media (max-width: 600px) {

    .tour-entrance-image {
        min-height: 560px;
    }

    .tour-entrance-content,
    .tour-meet,
    .tour-gallery,
    .tour-films,
    .tour-stories,
    .tour-beyond-inner {
        padding-left: 22px;
        padding-right: 22px;
    }

    .tour-entrance h1 {
        font-size: 56px;
    }

    .tour-meet {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .tour-photo-placeholder {
        min-height: 420px;
    }

    .tour-feature-grid {
        grid-template-columns: 1fr;
    }

    .tour-feature-large {
        grid-column: auto;
    }

    .tour-feature-large .tour-feature-image,
    .tour-feature-image {
        height: 380px;
    }

    .tour-films-inner {
        gap: 45px;
    }

    .tour-film-visual {
        min-height: 380px;
    }

    .tour-story-copy {
        padding: 35px 28px;
    }

    .tour-door-visual {
        padding: 55px 25px;
    }

    .tour-door-copy {
        padding: 65px 25px;
    }
}


/* ===== MISS HYBRID MANOR HERO ===== */

.tour-entrance {
    background: #17110c;
    padding: 0;
}

.tour-entrance-image {
    position: relative;
    min-height: 82vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 48%, rgba(181,119,53,.22), transparent 30%),
        radial-gradient(circle at 12% 75%, rgba(119,66,25,.20), transparent 28%),
        linear-gradient(105deg, #120d09 0%, #24170e 48%, #392416 72%, #160f0b 100%);
}

.tour-entrance-image:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0,0,0,.60), rgba(0,0,0,.12) 58%, rgba(0,0,0,.32)),
        linear-gradient(0deg, rgba(0,0,0,.42), transparent 45%);
}

.tour-overlay {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(198,158,87,.20);
    margin: 22px;
    pointer-events: none;
}

.tour-entrance-content {
    position: relative;
    z-index: 2;
    width: min(1180px, 88%);
    margin: 0 auto;
    padding: 110px 0;
    color: #f4eee4;
}

.tour-eyebrow {
    display: block;
    margin-bottom: 18px;
    color: #c8a66a;
    font-size: 12px;
    letter-spacing: .32em;
    text-transform: uppercase;
}

.tour-entrance h1 {
    max-width: 760px;
    margin: 0 0 22px;
    color: #f4eee4;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(58px, 8vw, 112px);
    font-weight: 400;
    line-height: .91;
    letter-spacing: -.035em;
}

.tour-entrance p {
    margin: 0 0 36px;
    color: #d9cfc0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(18px, 2vw, 24px);
    font-style: italic;
}

.tour-entrance .mhf-button {
    display: inline-block;
    padding: 15px 30px;
    border: 1px solid #b99355;
    background: rgba(22,15,10,.45);
    color: #ead8b8;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: 11px;
    transition: .25s ease;
}

.tour-entrance .mhf-button:hover {
    background: #b99355;
    color: #17100b;
}

@media (max-width: 700px) {
    .tour-entrance-image { min-height: 72vh; }
    .tour-overlay { margin: 10px; }
    .tour-entrance-content { padding: 80px 0; }
    .tour-entrance h1 { font-size: clamp(50px, 17vw, 76px); }
}


/* Manor hero photograph */
.tour-entrance-image {
    background-image:
        linear-gradient(90deg, rgba(10,7,4,.92) 0%, rgba(10,7,4,.78) 32%, rgba(10,7,4,.22) 62%, rgba(10,7,4,.08) 100%),
        url('https://misshybridfree.com/wp-content/uploads/017UDld.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}


/* Hero composition refinement */
.tour-entrance-image {
    min-height: 760px;
    background-position: center 38%;
}

.tour-entrance-image:before {
    background: linear-gradient(
        90deg,
        rgba(5,4,3,.88) 0%,
        rgba(5,4,3,.70) 25%,
        rgba(5,4,3,.24) 48%,
        rgba(5,4,3,.05) 72%,
        rgba(5,4,3,.18) 100%
    );
}

.tour-entrance-content {
    width: min(1380px, 82%);
}

.tour-entrance h1 {
    max-width: 570px;
    font-size: clamp(54px, 5.8vw, 88px);
    line-height: .94;
}

.tour-entrance p {
    font-size: 21px;
}


/* Move hero photograph composition further right */
.tour-entrance-image {
    background-position: 68% 38%;
}


/* Hero image: expose more photograph and shift Anne right */
.tour-entrance-image {
    background-size: auto 100%;
    background-position: right center;
    background-color: #090705;
}


/* Meet Miss Hybrid — Manor portrait */
.tour-photo-placeholder {
    background:
        linear-gradient(0deg, rgba(18,11,6,.12), rgba(18,11,6,.04)),
        url('https://misshybridfree.com/wp-content/uploads/029gKVF.jpg') center 38% / cover no-repeat;
}

.tour-photo-placeholder span {
    display: none;
}


/* Manor key transition */
.tour-meet::after {
    content: "—  ⚿  —";
    display: block;
    position: absolute;
    left: 50%;
    bottom: 26px;
    transform: translateX(-50%);
    color: #9b742b;
    font-family: Georgia, serif;
    font-size: 30px;
    letter-spacing: 12px;
    white-space: nowrap;
}

.tour-meet {
    position: relative;
    padding-bottom: 105px;
}

/* Remove inset frame from Meet Miss Hybrid photograph */
.tour-photo-placeholder::before,
.tour-photo-placeholder::after {
    display: none !important;
    content: none !important;
}

.tour-photo-placeholder {
    border: none !important;
    outline: none !important;
}

/* PHOTOGRAPHY — dark Manor gallery */
.tour-gallery {
    background:
        radial-gradient(circle at 50% 0%, #352317 0%, #17100b 42%, #090705 100%);
    color: #f3eadb;
    border-top: 1px solid rgba(176,132,54,.45);
    border-bottom: 1px solid rgba(176,132,54,.45);
}

.tour-gallery .tour-heading .mhf-kicker {
    color: #c49a4b;
}

.tour-gallery .tour-heading h2 {
    color: #f6efe4;
}

.tour-gallery .tour-heading p {
    color: #b9aa98;
}

.tour-gallery .tour-feature {
    background: #100c09;
    border: 1px solid rgba(181,137,59,.45);
    box-shadow: 0 18px 45px rgba(0,0,0,.35);
}

.tour-gallery .tour-feature-image {
    display: block;
    overflow: hidden;
    background: #080604;
}

.tour-gallery .tour-feature-image img {
    display: block;
    width: 100%;
    transition: transform .45s ease, opacity .45s ease;
}

.tour-gallery .tour-feature:hover .tour-feature-image img {
    transform: scale(1.015);
    opacity: .94;
}

.tour-gallery .tour-feature-caption {
    background: linear-gradient(135deg,#17100b,#0d0906);
    border-top: 1px solid rgba(181,137,59,.28);
}

.tour-gallery .tour-feature-caption h3,
.tour-gallery .tour-feature-caption h3 a {
    color: #f2e8d8;
}

.tour-gallery .tour-text-link {
    color: #c69a49;
}

.tour-gallery .tour-continue::before {
    content: "⚿";
    display: block;
    margin: 0 auto 18px;
    color: #b98a38;
    font-family: Georgia, serif;
    font-size: 34px;
}

/* BEHIND CLOSED DOORS — Manor door refinement */
.tour-door-visual {
    background:
        linear-gradient(90deg, rgba(0,0,0,.30), transparent 20%, transparent 80%, rgba(0,0,0,.35)),
        repeating-linear-gradient(
            90deg,
            #24160e 0,
            #2e1d12 95px,
            #1c110b 98px,
            #3a2517 101px,
            #29190f 105px
        );
    position: relative;
    box-shadow: inset -18px 0 35px rgba(0,0,0,.35);
}

.tour-door-panel {
    border: 2px solid #17100b;
    outline: 1px solid rgba(190,143,59,.65);
    outline-offset: -22px;
    background:
        radial-gradient(circle at 50% 45%, rgba(111,72,32,.20), transparent 38%),
        linear-gradient(135deg, rgba(67,42,23,.42), rgba(20,12,8,.58));
    box-shadow:
        inset 0 0 0 18px rgba(12,8,5,.30),
        inset 0 0 45px rgba(0,0,0,.55),
        0 12px 30px rgba(0,0,0,.30);
}

.tour-lock {
    font-size: 0;
    width: 70px;
    height: 70px;
    margin: 0 auto 35px;
    position: relative;
    border: 1px solid rgba(193,146,61,.75);
    border-radius: 50%;
    background: radial-gradient(circle, #49351d 0%, #20150d 70%);
    box-shadow: 0 0 0 8px rgba(0,0,0,.16);
}

.tour-lock::before {
    content: "";
    position: absolute;
    width: 13px;
    height: 18px;
    border-radius: 50% 50% 35% 35%;
    background: #c39a4c;
    left: 50%;
    top: 20px;
    transform: translateX(-50%);
}

.tour-lock::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 23px;
    background: #c39a4c;
    left: 50%;
    top: 31px;
    transform: translateX(-50%);
    clip-path: polygon(25% 0,75% 0,100% 100%,0 100%);
}

.tour-door-panel span {
    color: #c39a4c;
    letter-spacing: .38em;
}

/* Behind Closed Doors — photographic final threshold */
.tour-door-visual {
    background:
        linear-gradient(90deg, rgba(15,9,5,.08), rgba(15,9,5,.18)),
        url('https://misshybridfree.com/wp-content/uploads/294qnuY-scaled.jpg') center 34% / cover no-repeat !important;
    box-shadow: inset -15px 0 35px rgba(0,0,0,.22);
}

.tour-door-panel {
    background: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.tour-lock,
.tour-door-panel span {
    display: none !important;
}

/* Final join button treatment */
.tour-door-copy .mhf-button-crypto {
    background: transparent !important;
    color: #8b6425 !important;
    border: 1px solid #b98d3d !important;
}

.tour-door-copy .mhf-button-crypto:hover {
    background: #17100b !important;
    color: #d5ac5c !important;
}
