/* =========================================================
   WILDLY WANDERING
   MAIN WEBSITE STYLESHEET
========================================================= */


/* =========================================================
   GLOBAL
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --background: #E8F0E8;
    --green: #285C3A;
    --dark-green: #183B2A;
    --black: #000000;
    --white: #FFFFFF;
    --light-grey: #E5E5E7;
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--background);
    color: var(--black);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

main {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    background: var(--background);
}

img {
    max-width: 100%;
}

a {
    transition: 0.2s ease;
}


/* =========================================================
   HEADER
========================================================= */

header {
    background: var(--background);
    border-bottom: 1px solid var(--light-grey);
}

.header-container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    min-height: 92px;
    padding: 16px 35px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.logo-link {
    display: block;
    flex: 0 0 auto;
    text-decoration: none;
    line-height: 0;
}

.logo {
    width: 180px;
    height: auto;
    display: block;
}

.mobile-menu-toggle {
    display: none;
}


/* =========================================================
   MAIN NAVIGATION
========================================================= */

.site-nav {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    margin: 0;
    position: relative;
    z-index: 10000;
}

.site-nav > a,
.nav-dropdown-toggle-link,
.nav-dropdown-toggle {
    color: var(--black);
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    background: none;
    border: 0;
    font-family: inherit;
    cursor: pointer;
    padding: 4px 0;
}

.site-nav > a:hover,
.nav-dropdown-toggle-link:hover,
.nav-dropdown-toggle:hover,
.site-nav > a.nav-major {
    color: var(--green);
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown-menu {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    width: 245px;
    max-height: 70vh;
    overflow: auto;
    background: var(--white);
    border: 1px solid var(--light-grey);
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.14);
    padding: 10px;
    z-index: 10001;
}

.nav-dropdown-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -12px;
    height: 12px;
}

.nav-dropdown.open .nav-dropdown-menu,
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
    display: block;
}

.nav-dropdown-menu > a,
.nav-subgroup-row > a,
.nav-submenu a {
    display: block;
    text-decoration: none;
    color: var(--black);
    padding: 9px 10px;
    font-size: 14px;
    font-weight: 500;
}

.nav-dropdown-menu > a:hover,
.nav-subgroup-row > a:hover,
.nav-submenu a:hover {
    background: #f0f3f0;
    color: var(--green);
}

.dropdown-all {
    font-weight: 700 !important;
    border-bottom: 1px solid var(--light-grey);
    margin-bottom: 5px;
}

.nav-subgroup {
    position: relative;
    border-bottom: 1px solid var(--light-grey);
}

.nav-subgroup:last-child {
    border-bottom: 0;
}

.nav-subgroup-row {
    display: flex;
    align-items: center;
}

.nav-subgroup-row > a {
    flex: 1;
    font-weight: 700;
}

.nav-submenu-toggle {
    width: 36px;
    height: 36px;
    border: 0;
    background: none;
    color: var(--green);
    font-size: 18px;
    cursor: pointer;
    flex: 0 0 36px;
}

.nav-submenu {
    display: none;
    padding: 0 0 7px 10px;
}

.nav-subgroup:hover > .nav-submenu,
.nav-subgroup:focus-within > .nav-submenu,
.nav-subgroup.open > .nav-submenu {
    display: block;
}

.nav-subgroup:hover > .nav-subgroup-row .nav-submenu-toggle,
.nav-subgroup.open > .nav-subgroup-row .nav-submenu-toggle {
    transform: rotate(90deg);
}


/* =========================================================
   HEADER SEARCH
========================================================= */

.header-search {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.search-toggle {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--green);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.search-toggle::before,
.search-toggle::after {
    content: none !important;
}

.search-toggle .search-svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 auto;
}

.search-toggle .fas.fa-search,
.search-toggle .fa-search {
    font-size: 20px !important;
    line-height: 1;
}

.search-toggle:hover {
    color: var(--dark-green);
}

.search-form {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 320px;
    padding: 12px;
    background: var(--white);
    border: 1px solid var(--light-grey);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.10);
    z-index: 9999;
}

.header-search.active .search-form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.search-form input {
    flex: 1;
    min-width: 0;
    width: 100%;
    border: 1px solid #d1d1d4;
    background: var(--white);
    color: var(--black);
    padding: 11px 12px;
    font-family: inherit;
    font-size: 14px;
}

.search-form input:focus {
    outline: none;
    border-color: var(--green);
}

.search-form button {
    border: none;
    background: var(--green);
    color: var(--white);
    padding: 11px 16px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.search-form button:hover {
    background: var(--dark-green);
}


/* =========================================================
   HEADER TABLET
========================================================= */

@media (max-width: 1100px) {
    .header-container {
        gap: 20px;
        padding-left: 25px;
        padding-right: 25px;
    }

    .site-nav {
        gap: 18px;
    }

    .site-nav > a,
    .nav-dropdown-toggle-link,
    .nav-dropdown-toggle {
        font-size: 14px;
    }
}


/* =========================================================
   HEADER MOBILE
========================================================= */

@media (max-width: 800px) {
    .header-container {
        min-height: 0;
        padding: 15px 20px 18px;
        display: grid;
        grid-template-columns: 1fr auto auto;
        grid-template-areas:
            "logo menu search"
            "nav nav nav";
        align-items: center;
        column-gap: 18px;
        row-gap: 12px;
    }

    .logo-link {
        grid-area: logo;
    }

    .logo {
        width: 165px;
    }

    .header-search {
        grid-area: search;
        justify-self: end;
        margin: 0;
    }

    .site-nav {
        grid-area: nav;
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px 18px;
        margin: 0;
    }

    .site-nav > a,
    .nav-dropdown-toggle-link,
    .nav-dropdown-toggle {
        font-size: 14px;
    }

    .search-form {
        top: calc(100% + 10px);
        left: auto;
        right: 0;
        width: 280px;
        max-width: calc(100vw - 40px);
        transform: none;
        padding: 8px;
    }

    .header-search.active .search-form {
        gap: 6px;
    }

    .search-form input {
        width: 0;
        padding: 9px 10px;
        font-size: 13px;
    }

    .search-form button {
        padding: 9px 11px;
        font-size: 13px;
    }

    .nav-dropdown-menu {
        position: absolute;
        top: calc(100% + 8px);
        left: 50%;
        right: auto;
        width: min(245px, calc(100vw - 30px));
        transform: translateX(-50%);
        max-height: 65vh;
    }
}


/* =========================================================
   HEADER SMALL PHONES
========================================================= */

@media (max-width: 420px) {
    .header-container {
        padding-left: 15px;
        padding-right: 15px;
        column-gap: 10px;
    }

    .logo {
        width: 150px;
    }

    .site-nav {
        gap: 9px 14px;
    }

    .site-nav > a,
    .nav-dropdown-toggle-link,
    .nav-dropdown-toggle {
        font-size: 13px;
    }
}


/* =========================================================
   HOMEPAGE HERO
========================================================= */

.hero {
    width: 100%;
    padding: 0;
}

.hero-image {
    position: relative;
    width: 100%;
    height: 650px;
    overflow: hidden;
}

.hero-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
}

.hero-overlay {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 30px;
    color: var(--white);
}

.hero-small-title {
    color: var(--white);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 20px;
}

.hero-overlay h1 {
    font-size: clamp(55px, 8vw, 100px);
    line-height: 0.98;
    letter-spacing: -3px;
    margin-bottom: 30px;
    color: var(--white);
}

.hero-overlay .hero-text {
    max-width: 600px;
    margin: 0 auto 35px;
    font-size: 19px;
    color: var(--white);
}

.hero-button {
    display: inline-block;
    background: var(--green);
    color: var(--white);
    text-decoration: none;
    padding: 14px 28px;
    font-weight: 600;
    transition: background-color 0.2s ease;
}

.hero-button:hover {
    background: var(--dark-green);
}


/* =========================================================
   SECTION HEADINGS
========================================================= */

.section-heading {
    max-width: 1300px;
    margin: 0 auto 55px;
}

.section-heading p,
.section-label {
    color: var(--green);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 8px;
}

.section-heading h2 {
    font-size: 42px;
    line-height: 1.1;
}


/* =========================================================
   HOMEPAGE FEATURED
========================================================= */

.featured {
    background: var(--white);
    padding: 110px 35px 120px;
}

.article-grid {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.article-card {
    background: var(--white);
    min-width: 0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.article-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.article-image {
    height: 260px;
    background: #dfe3df;
    overflow: hidden;
}

.article-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.article-content {
    padding: 25px;
}

.article-content span {
    color: var(--green);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.article-content h3 {
    font-size: 25px;
    line-height: 1.2;
    margin: 10px 0 14px;
}

.article-content h3 a {
    color: var(--black);
    text-decoration: none;
}

.article-content h3 a:hover {
    color: var(--green);
}

.article-content p {
    font-size: 15px;
    margin-bottom: 18px;
}

.article-content a {
    color: var(--green);
    text-decoration: none;
    font-weight: 700;
}

.article-content a:hover {
    text-decoration: underline;
}


/* =========================================================
   HOMEPAGE INTRO
========================================================= */

.intro {
    background: var(--white);
    padding: 110px 35px;
}

.intro-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.intro h2 {
    font-size: clamp(40px, 6vw, 65px);
    line-height: 1.05;
    margin-bottom: 25px;
}

.intro p:not(.section-label) {
    max-width: 600px;
    margin: 0 auto 25px;
    font-size: 17px;
}

.text-link {
    color: var(--green);
    text-decoration: none;
    font-weight: 700;
}

.text-link:hover {
    text-decoration: underline;
}


/* =========================================================
   GENERAL PAGE HERO
========================================================= */

.page-hero {
    text-align: center;
    padding: 100px 25px 70px;
}

.page-hero h1 {
    font-size: clamp(55px, 8vw, 90px);
    line-height: 0.98;
    letter-spacing: -3px;
    margin: 10px 0 20px;
}

.page-hero > p:last-child {
    font-size: 19px;
    max-width: 600px;
    margin: 0 auto;
}


/* =========================================================
   ABOUT PAGE
========================================================= */

.about-content {
    background: var(--white);
    padding: 90px 35px 110px;
}

.about-image {
    max-width: 1100px;
    height: 500px;
    margin: 0 auto 80px;
    overflow: hidden;
}

.about-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.about-text {
    max-width: 850px;
    margin: 0 auto;
}

.about-text h2 {
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.1;
    margin-bottom: 30px;
}

.about-text p:not(.section-label) {
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 22px;
}

.about-values {
    padding: 90px 35px;
}

.value-grid {
    max-width: 1300px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.value-card {
    background: var(--white);
    padding: 35px 30px;
    border-top: 4px solid var(--green);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.value-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.value-card h3 {
    font-size: 23px;
    margin-bottom: 12px;
}

.value-card p {
    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   BLOG PAGE
========================================================= */

.blog-categories {
    background: var(--white);
    padding: 70px 35px 90px;
}

.category-grid {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.category-card {
    background: var(--background);
    color: var(--black);
    text-decoration: none;
    padding: 35px 30px;
    height: 190px;
    flex: 0 0 calc(25% - 15px);
    border-top: 4px solid var(--green);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.category-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.category-card h3 {
    font-size: 25px;
    line-height: 1.2;
    margin-bottom: 12px;
    min-height: 60px;
}

.category-card p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.blog-latest {
    padding: 90px 35px;
}


/* =========================================================
   BLOG CATEGORY PAGES
========================================================= */

.category-hero {
    text-align: center;
    padding: 100px 25px 80px;
}

.category-hero h1 {
    font-size: clamp(50px, 7vw, 85px);
    line-height: 1;
    margin: 10px 0 20px;
}

.category-hero > p:last-child {
    max-width: 650px;
    margin: 0 auto;
    font-size: 19px;
}

.category-articles {
    background: var(--white);
    padding: 90px 35px;
}


/* =========================================================
   ARTICLE IMAGE LINKS
========================================================= */

.article-image-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.article-image-link .article-image {
    transition: transform 0.2s ease;
}

.article-image-link:hover .article-image {
    transform: scale(1.02);
}


/* =========================================================
   BLOG FEATURE IMAGE
========================================================= */

.blog-image {
    max-width: 1100px;
    height: 380px;
    margin: 0 auto 70px;
    overflow: hidden;
}

.blog-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}


/* =========================================================
   CONTACT PAGE
========================================================= */

.contact-page {
    background: var(--background);
}

.contact-main {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    background: var(--background);
}

.contact-hero {
    padding: 0;
    margin: 0;
    text-align: center;
    background: var(--background);
}

.contact-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.contact-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.contact-hero-content {
    padding: 35px 25px 60px;
    text-align: center;
}

.contact-hero-content .section-label {
    margin-bottom: 12px;
}

.contact-hero-content h1 {
    font-size: clamp(48px, 7vw, 80px);
    line-height: 1;
    letter-spacing: -2px;
    margin: 0 0 20px;
}

.contact-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
}

.contact-section {
    background: var(--white);
    padding: 80px 35px 110px;
}

.contact-container {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
    align-items: start;
}

.contact-info h2 {
    font-size: clamp(38px, 5vw, 55px);
    line-height: 1.1;
    margin: 10px 0 25px;
}

.contact-info p:not(.section-label) {
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 20px;
}

.contact-email {
    margin-top: 30px;
}

.contact-email a {
    color: var(--green);
    text-decoration: none;
    font-weight: 700;
}

.contact-email a:hover {
    text-decoration: underline;
}

.contact-form {
    background: var(--background);
    padding: 35px;
    border-radius: 14px;
}

.contact-form form {
    display: flex;
    flex-direction: column;
}

.contact-form label {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 7px;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    border: 1px solid #d1d1d4;
    background: var(--white);
    padding: 13px 14px;
    margin-bottom: 22px;
    font-family: inherit;
    font-size: 15px;
    color: var(--black);
}

.contact-form select {
    appearance: auto;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: var(--green);
}

.contact-form textarea {
    resize: vertical;
}

.contact-form button {
    border: none;
    background: var(--green);
    color: var(--white);
    padding: 14px 25px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border-radius: 0;
}

.contact-form button:hover {
    background: var(--dark-green);
}


/* =========================================================
   FOOTER
========================================================= */

footer {
    background: var(--dark-green);
    color: var(--white);
    padding: 55px 35px 25px;
}

.footer-inner {
    max-width: 1300px;
    margin: 0 auto 45px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 60px;
}

.footer-brand {
    flex: 0 0 45%;
    min-width: 0;
}

.footer-brand strong {
    font-size: 20px;
}

.footer-brand > p {
    margin-top: 5px;
    opacity: 0.8;
}


/* =========================================================
   SOCIAL MEDIA
========================================================= */

.footer-social {
    margin-top: 25px;
}

.footer-social > p {
    margin-bottom: 15px;
    font-weight: 600;
}

.social-icons {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    width: auto;
    max-width: 100%;
}

.social-icons a {
    display: inline-flex;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    text-decoration: none;
    font-size: 18px;
}

.social-icons a:hover {
    opacity: 0.8;
    transform: translateY(-2px);
}

.social-icons i {
    line-height: 1;
}


/* =========================================================
   FOOTER LINKS
========================================================= */

.footer-links {
    flex: 1;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 25px;
    flex-wrap: wrap;
}

.footer-links a {
    color: var(--white);
    text-decoration: none;
    font-size: 14px;
    white-space: nowrap;
}

.footer-links a:hover {
    text-decoration: underline;
}


/* =========================================================
   COPYRIGHT
========================================================= */

.copyright {
    max-width: 1300px;
    margin: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 13px;
    opacity: 0.7;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .article-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

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

    .footer-inner {
        gap: 35px;
    }

    .footer-brand {
        flex-basis: 40%;
    }

    .footer-links {
        gap: 20px;
    }

}


/* =========================================================
   MOBILE HEADER
========================================================= */

@media (max-width: 800px) {

    .header-container {
        width: 100%;
        padding: 20px 20px 28px;
        flex-direction: column;
        gap: 0;
    }

    .logo {
        width: 180px;
    }

    nav {
        width: 100%;
        margin-top: 20px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 12px 18px;
    }

    nav > a {
        font-size: 14px;
    }

    .header-search {
        width: 100%;
        margin-top: 15px;
        display: flex;
        justify-content: center;
    }

    .search-toggle {
        width: 36px;
        height: 36px;
    }

    .search-form {
        top: 42px;
        left: 50%;
        right: auto;
        width: 260px;
        max-width: calc(100vw - 40px);
        transform: translateX(-50%);
        padding: 8px;
    }

    .header-search.active .search-form {
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .search-form input {
        flex: 1;
        min-width: 0;
        width: 0;
        padding: 8px 9px;
        font-size: 13px;
    }

    .search-form button {
        flex: 0 0 auto;
        padding: 8px 10px;
        font-size: 13px;
    }

}


/* =========================================================
   MOBILE FOOTER
========================================================= */

@media (max-width: 800px) {

    footer {
        width: 100%;
        padding: 45px 20px 25px;
        overflow: hidden;
    }

    .footer-inner {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 30px;
        margin-bottom: 40px;
    }

    .footer-brand {
        width: 100%;
        max-width: 100%;
        flex: none;
    }

    .footer-social {
        width: 100%;
        max-width: 100%;
    }

    /*
       Six icons remain on ONE horizontal row.
       They are sized to fit the narrowest normal phone.
    */

    .social-icons {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 0;
        overflow: hidden;
    }

    .social-icons a {
        flex: 0 0 36px;
        width: 36px;
        height: 36px;
        margin: 0;
        padding: 0;
        font-size: 18px;
    }

    /*
       Footer navigation stays below the social icons
       and wraps naturally instead of overflowing.
    */

    .footer-links {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 15px 24px;
    }

    .footer-links a {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .copyright {
        width: 100%;
        max-width: 100%;
        text-align: left;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 700px) {

    .hero-image {
        height: 430px;
    }

    .hero-overlay {
        padding: 20px;
    }

    .hero-small-title {
        font-size: 11px;
        letter-spacing: 2px;
        margin-bottom: 15px;
    }

    .hero-overlay h1 {
        font-size: clamp(42px, 11vw, 65px);
        letter-spacing: -2px;
        margin-bottom: 22px;
    }

    .hero-overlay .hero-text {
        font-size: 16px;
        margin-bottom: 25px;
    }

    .hero-button {
        padding: 12px 20px;
        font-size: 14px;
    }

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

    .article-image {
        height: 230px;
    }

}


/* =========================================================
   SMALL MOBILE PAGE SPACING
========================================================= */

@media (max-width: 600px) {

    .page-hero {
        padding: 70px 20px 60px;
    }

    .page-hero h1 {
        font-size: clamp(45px, 13vw, 65px);
        letter-spacing: -2px;
    }

    .about-content,
    .about-values {
        padding: 65px 20px;
    }

    .about-image {
        height: 300px;
        margin-bottom: 55px;
    }

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

    .blog-categories,
    .blog-latest {
        padding: 65px 20px;
    }

    .category-grid {
        display: flex;
        flex-direction: column;
    }

    .category-card {
        width: 100%;
        min-height: auto;
        flex: none;
    }

    .category-hero {
        padding: 70px 20px 60px;
    }

    .category-articles {
        padding: 65px 20px;
    }

    .contact-section {
        padding: 65px 20px 80px;
    }

    .contact-hero-image {
        border-radius: 12px;
    }

    .contact-hero-content {
        padding: 28px 20px 45px;
    }

    .contact-hero-content h1 {
        font-size: clamp(45px, 13vw, 65px);
        letter-spacing: -2px;
    }

    .contact-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

    .contact-container {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .contact-form {
        padding: 25px;
    }

    .footer-inner {
        gap: 30px;
    }

}


/* =========================================================
   VERY SMALL PHONES
========================================================= */

@media (max-width: 420px) {

    .header-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .logo {
        width: 165px;
    }

    nav {
        gap: 10px 15px;
    }

    nav > a {
        font-size: 13px;
    }

    .social-icons {
        gap: 0;
    }

    .social-icons a {
        flex: 0 0 34px;
        width: 34px;
        height: 34px;
        font-size: 17px;
    }

    .footer-links {
        gap: 15px 20px;
    }

    .footer-links a {
        font-size: 13px;
    }

}

/* =========================================================
   WILDLY WANDERING STORIES
========================================================= */

.stories-page {
    background: var(--background);
}


/* Stories hero — same structure as Munros */

.stories-hero {
    padding: 0;
    margin: 0;
    text-align: center;
    background: var(--background);
}

.stories-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.stories-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.stories-hero-content {
    position: static;
    padding: 35px 25px 60px;
    text-align: center;
}

.stories-hero-content .section-label {
    margin-bottom: 12px;
}

.stories-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
}


/* Stories article section */

.stories-articles {
    max-width: 1300px;
    margin: 0 auto;
    padding: 80px 35px 110px;
    background: var(--white);
}

.stories-articles .section-heading {
    margin-bottom: 45px;
}


/* Story cards */

.stories-articles .article-card {
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.stories-articles .article-card:hover {
    transform: translateY(-5px);
}


/* Story images */

.stories-articles .article-image {
    overflow: hidden;
}

.stories-articles .article-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.stories-articles .article-card:hover .article-image img {
    transform: scale(1.03);
}


/* Story category */

.stories-articles .article-content > span {
    display: block;
    margin-bottom: 10px;
    color: var(--green);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}


/* Story title */

.stories-articles .article-content h3 {
    line-height: 1.2;
}

.stories-articles .article-content h3 a {
    text-decoration: none;
}

.stories-articles .article-content h3 a:hover {
    text-decoration: underline;
}


/* =========================================================
   STORIES MOBILE
========================================================= */


========================================================= */

@media (max-width: 700px) {

    .stories-hero-image {
        border-radius: 12px;
    }

    .stories-hero-content {
        padding: 28px 20px 45px;
    }

    .stories-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

    .stories-articles {
        padding: 65px 20px 80px;
    }

}

/* =========================
   COOKIE CONSENT
========================= */

.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;

    background: var(--dark-green);
    color: var(--white);

    padding: 22px 25px;

    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);

    display: none;
}

.cookie-banner.active {
    display: block;
}

.cookie-content {
    max-width: 1200px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}

.cookie-text {
    flex: 1;
}

.cookie-text h2 {
    margin: 0 0 8px;
    font-size: 22px;
}

.cookie-text p {
    margin: 0;
    max-width: 760px;

    font-size: 14px;
    line-height: 1.6;
}

.cookie-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 10px;
    flex-wrap: wrap;
}

.cookie-button {
    min-height: 44px;

    padding: 10px 17px;

    border: 1px solid var(--white);
    border-radius: 4px;

    background: transparent;
    color: var(--white);

    font-family: inherit;
    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.cookie-button:hover {
    background: var(--white);
    color: var(--dark-green);
}

.cookie-accept {
    background: var(--white);
    color: var(--dark-green);
}

.cookie-accept:hover {
    background: transparent;
    color: var(--white);
}

.cookie-settings {
    background: transparent;
}

.cookie-reject {
    background: transparent;
}


/* =========================
   COOKIE SETTINGS PANEL
========================= */

.cookie-settings-panel {
    position: fixed;

    inset: 0;

    z-index: 10000;

    display: none;

    align-items: center;
    justify-content: center;

    padding: 20px;

    background: rgba(0, 0, 0, 0.55);
}

.cookie-settings-panel.active {
    display: flex;
}

.cookie-settings-box {
    width: 100%;
    max-width: 560px;

    background: var(--white);
    color: var(--black);

    padding: 35px;

    border-radius: 6px;

    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
}

.cookie-settings-box h2 {
    margin: 0 0 15px;

    font-size: 30px;
}

.cookie-settings-box > p {
    margin: 0 0 25px;

    font-size: 15px;
    line-height: 1.7;
}

.cookie-option {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 18px 0;

    border-top: 1px solid #dfe3df;
}

.cookie-option strong {
    display: block;

    margin-bottom: 5px;

    font-size: 15px;
}

.cookie-option p {
    margin: 0;

    font-size: 13px;
    line-height: 1.5;

    color: #666666;
}

.cookie-option > span {
    flex-shrink: 0;

    font-size: 12px;
    font-weight: 700;

    color: var(--green);
}

.cookie-settings-actions {
    display: flex;

    justify-content: flex-end;

    gap: 10px;

    margin-top: 25px;
}

.cookie-settings-actions .cookie-button {
    border-color: var(--green);

    color: var(--green);
}

.cookie-settings-actions .cookie-accept {
    background: var(--green);
    color: var(--white);
}

.cookie-settings-actions .cookie-accept:hover {
    background: var(--dark-green);
    border-color: var(--dark-green);
}


/* =========================
   COOKIE MOBILE
========================= */

@media (max-width: 700px) {

    .cookie-banner {
        padding: 20px;
    }

    .cookie-content {
        display: block;
    }

    .cookie-text h2 {
        font-size: 20px;
    }

    .cookie-text p {
        font-size: 13px;
    }

    .cookie-actions {
        margin-top: 17px;

        display: grid;

        grid-template-columns: 1fr 1fr;

        gap: 8px;
    }

    .cookie-button {
        width: 100%;
        padding: 10px 8px;

        font-size: 12px;
    }

    .cookie-accept {
        grid-column: 1 / -1;
    }

    .cookie-settings-box {
        padding: 25px 20px;
    }

    .cookie-settings-box h2 {
        font-size: 25px;
    }

    .cookie-option {
        align-items: flex-start;
    }

    .cookie-settings-actions {
        display: grid;

        grid-template-columns: 1fr;

        margin-top: 20px;
    }

}
.related-posts{margin:60px 0 30px;padding-top:35px;border-top:1px solid var(--light-grey)}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.related-card{background:var(--white);border:1px solid var(--light-grey);overflow:hidden}
.related-card a{text-decoration:none;color:inherit;display:block;height:100%}
.related-card img{display:block;width:100%;height:180px;object-fit:cover}
.related-card div{padding:18px}
.related-card span{font-size:12px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.related-card h3{margin:8px 0;font-size:20px;line-height:1.25}
.related-card p{font-size:14px;color:#555;margin:0 0 12px}
.related-card strong{font-size:13px;color:var(--green)}
@media(max-width:900px){.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.nav-dropdown-menu{position:fixed;left:10px;right:10px;top:145px;transform:none;width:auto;max-height:70vh}.related-grid{grid-template-columns:1fr}}




/* Navigation, nested category menus and footer */
.site-nav>a:hover,.nav-dropdown-toggle-link:hover,.nav-dropdown-toggle:hover,.site-nav>a.nav-major{color:var(--green)}
.nav-dropdown{position:relative}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:245px;background:var(--white);border:1px solid var(--light-grey);box-shadow:0 16px 35px rgba(0,0,0,.14);padding:10px;z-index:10001}
.nav-dropdown.open .nav-dropdown-menu,.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}
.nav-dropdown-menu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav-dropdown-menu>a,.nav-subgroup-row>a,.nav-submenu a{display:block;text-decoration:none;color:var(--black);padding:9px 10px;font-size:14px;font-weight:500}
.nav-dropdown-menu>a:hover,.nav-subgroup-row>a:hover,.nav-submenu a:hover{background:#f0f3f0;color:var(--green)}
.dropdown-all{font-weight:700!important;border-bottom:1px solid var(--light-grey);margin-bottom:5px}
.nav-subgroup{position:relative;border-bottom:1px solid var(--light-grey)}
.nav-subgroup:last-child{border-bottom:0}
.nav-subgroup-row{display:flex;align-items:center}
.nav-subgroup-row>a{flex:1;font-weight:700}
.nav-submenu-toggle{width:36px;height:36px;border:0;background:none;color:var(--green);font-size:18px;cursor:pointer;flex:0 0 36px}
.nav-submenu{display:none;padding:0 0 7px 10px}
.nav-subgroup:hover>.nav-submenu,.nav-subgroup:focus-within>.nav-submenu,.nav-subgroup.open>.nav-submenu{display:block}
.nav-subgroup:hover>.nav-subgroup-row .nav-submenu-toggle,.nav-subgroup.open>.nav-subgroup-row .nav-submenu-toggle{transform:rotate(90deg)}
.related-posts{margin:60px 0 30px;padding-top:35px;border-top:1px solid var(--light-grey)}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.related-card{background:var(--white);border:1px solid var(--light-grey);overflow:hidden}
.related-card a{text-decoration:none;color:inherit;display:block;height:100%}
.related-card img{display:block;width:100%;height:180px;object-fit:cover}
.related-card div{padding:18px}
.related-card span{font-size:12px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.related-card h3{margin:8px 0;font-size:20px;line-height:1.25}
.related-card p{font-size:14px;color:#555;margin:0 0 12px}
.related-card strong{font-size:13px;color:var(--green)}
.site-footer{margin-top:70px;background:#183b2a;color:#fff;border-top:4px solid #285c3a}
.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{opacity:.78}
.site-footer .footer-inner{max-width:1300px;margin:0 auto;padding:55px 35px 45px;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:45px}
.footer-logo{width:125px;height:auto;display:block;margin-bottom:18px;background:transparent !important;border:0 !important;padding:0 !important;box-sizing:border-box}.footer-logo-link{display:block;background:transparent}
.footer-tagline{max-width:320px;color:rgba(255,255,255,.8);margin:0 0 22px}.footer-follow-label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:10px}.site-footer .social-icons{display:flex;gap:10px;flex-wrap:wrap}.site-footer .social-icons a{width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-column h3{margin:0 0 10px;color:#fff;font-size:16px}.footer-column p{color:rgba(255,255,255,.78);font-size:14px;margin:0 0 10px;line-height:1.7}.site-footer .cookie-settings-footer{background:none;border:0;color:#fff;padding:0;font:inherit;cursor:pointer}.site-footer .copyright{text-align:center;border-top:1px solid rgba(255,255,255,.14);padding:18px 20px;color:rgba(255,255,255,.7);font-size:13px}


.munro-progress{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;margin-top:25px;padding:20px 28px;background:rgba(255,255,255,.9);border:1px solid var(--light-grey)}.munro-progress strong{font-size:38px;color:var(--green);line-height:1}.munro-progress span{margin-top:6px;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.munro-filters{display:grid;grid-template-columns:2fr repeat(5,1fr) auto auto;gap:10px;margin:25px 0}.munro-filters input,.munro-filters select{padding:11px;border:1px solid var(--light-grey);font:inherit;background:#fff}
.munro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.munro-card-link{display:block;color:inherit;text-decoration:none}.munro-card{background:#fff;border:1px solid var(--light-grey);overflow:hidden;height:100%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.munro-card-link:hover .munro-card{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.08);border-color:#cbd8cf}.munro-card.completed{border-color:var(--green)}.munro-card-image{position:relative;aspect-ratio:4/3;background:#eef0ee;overflow:hidden}.munro-card-image img{width:100%;height:100%;object-fit:cover;display:block}.munro-placeholder{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(24,59,42,.88);color:#fff;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.munro-card-body{padding:15px 16px 17px}.munro-number{font-size:12px;color:var(--green);font-weight:700}.munro-card h2{font-size:19px;line-height:1.25;margin:6px 0}.munro-height{margin:0 0 10px}.munro-status-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#edf2ee;color:var(--dark-green);font-size:12px;font-weight:700}.munro-card.completed .munro-status-badge{background:var(--green);color:#fff}
.munro-detail-hero{padding:75px 35px 55px;text-align:center;background:var(--background);border-bottom:1px solid var(--light-grey)}.munro-detail-hero h1{font-size:clamp(44px,7vw,78px);line-height:1.05;margin:8px 0 12px}.munro-detail-status{font-weight:700;color:var(--green);font-size:16px}.munro-detail{max-width:1050px;margin:0 auto;padding:60px 35px 90px}.munro-featured-wrap{position:relative;max-width:900px;margin:0 auto 55px;background:#eef0ee;overflow:hidden}.munro-featured-image{display:block;width:100%;max-height:620px;object-fit:cover}.munro-coming-soon{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);background:rgba(24,59,42,.9);color:#fff;padding:8px 15px;border-radius:999px;font-weight:700}.munro-detail-section{margin:50px 0}.munro-detail-section h2{font-size:30px;margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{background:#fff;border:1px solid var(--light-grey);padding:20px}.stat-card span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#666;margin-bottom:5px}.stat-card strong{font-size:20px;color:var(--dark-green)}.munro-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.munro-info-grid>div{background:#fff;border:1px solid var(--light-grey);padding:17px}.munro-info-grid span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#666;margin-bottom:5px}.munro-info-grid strong{font-size:16px}.munro-route-map{display:block;max-width:100%;height:auto;border:1px solid var(--light-grey)}.munro-linked-post{padding:25px;background:#edf2ee;margin:50px 0}.munro-linked-post h2{margin-bottom:7px}.munro-back{display:inline-block;color:var(--green);font-weight:700;text-decoration:none;margin-top:20px}.munro-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.munro-photo-grid img{width:100%;height:320px;object-fit:cover;display:block}
@media(max-width:1000px){.munro-grid{grid-template-columns:repeat(3,1fr)}.munro-filters{grid-template-columns:1fr 1fr 1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.munro-info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.munro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.munro-card-body{padding:12px}.munro-card h2{font-size:16px}.munro-filters{grid-template-columns:1fr}.munro-detail{padding:40px 18px 70px}.munro-detail-hero{padding:55px 18px 40px}.munro-detail-hero h1{font-size:42px}.stats-grid,.munro-info-grid,.munro-photo-grid{grid-template-columns:1fr}.munro-photo-grid img{height:250px}}
.blog-hub{max-width:1200px;margin:0 auto;padding:70px 35px}.blog-hub-intro{max-width:720px;margin-bottom:35px}.blog-hub-intro h2{font-size:38px;line-height:1.15;margin:8px 0 14px}.blog-hub-intro p:last-child{color:#555;max-width:650px}.blog-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.blog-hub-card{background:#fff;border:1px solid var(--light-grey);padding:28px}.blog-hub-card h3{font-size:25px;margin:0 0 8px;color:var(--dark-green)}.blog-hub-card>p{margin:0 0 18px;color:#555}.hub-links{display:flex;flex-wrap:wrap;gap:8px}.hub-links a{border:1px solid var(--light-grey);padding:7px 10px;text-decoration:none;color:var(--green);font-size:13px;border-radius:999px}.hub-links a:hover{background:#eef3ee}.munro-hub-link{margin-top:25px;background:var(--dark-green);color:#fff;text-decoration:none;padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.munro-hub-link span{display:flex;flex-direction:column}.munro-hub-link strong{font-size:22px}.munro-hub-link small{margin-top:4px;color:rgba(255,255,255,.78)}.munro-hub-link b{white-space:nowrap}
@media(max-width:900px){.related-grid{grid-template-columns:1fr 1fr}.nav-dropdown-menu{max-height:75vh;overflow:auto}}
@media(max-width:650px){.related-grid{grid-template-columns:1fr}.nav-submenu{padding-left:12px}}
@media(max-width:850px){.site-footer .footer-inner{grid-template-columns:1fr 1fr;gap:35px}}
@media(max-width:650px){.site-footer .footer-inner{grid-template-columns:1fr;padding:40px 22px}}

.structured-stats{margin:28px 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stat-card{background:#fff;border:1px solid #d9ddd7;border-radius:10px;padding:15px}.stat-card span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#68736d}.stat-card strong{display:block;margin-top:5px}.structured-notes{background:#f7f9f6;border-left:4px solid #435b4d;padding:18px;margin:25px 0}.rich-content{line-height:1.75}.article-layout{max-width:1180px;margin:0 auto;padding:20px 25px 60px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:35px}.article-sidebar .panel{background:#fff;border:1px solid #ddd;padding:20px;margin-bottom:20px}@media(max-width:800px){.article-layout{grid-template-columns:1fr;padding:15px}.stats-grid{grid-template-columns:repeat(2,1fr)}}

/* Structured content image layouts */
.structured-featured{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:10px;margin:0 0 28px}.structured-gallery{margin-top:34px}.structured-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.structured-gallery-grid img,.article-gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:8px;display:block}.article-gallery{margin-top:36px}.article-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:900px){.structured-gallery-grid,.article-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.structured-gallery-grid,.article-gallery-grid{grid-template-columns:1fr}.structured-gallery-grid img,.article-gallery-grid img{height:auto}}

.contact-row{border:1px solid var(--line);padding:14px;border-radius:10px;margin-bottom:12px;background:#fafbf9;}


/* =========================================================
   COLLABORATE PAGE
   ========================================================= */

.collaborate-page {
    background: var(--background);
}

.collaborate-main {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    background: var(--background);
}

.collaborate-hero {
    padding: 0;
    margin: 0;
    text-align: center;
    background: var(--background);
}

.collaborate-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.collaborate-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.collaborate-hero-content {
    padding: 35px 25px 60px;
    text-align: center;
}

.collaborate-hero-content .section-label {
    margin-bottom: 12px;
}

.collaborate-hero-content h1 {
    font-size: clamp(50px, 7vw, 85px);
    line-height: 1;
    margin: 10px 0 20px;
}

.collaborate-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
}

.collaborate-content {
    max-width: 1300px;
    margin: 0 auto;
    padding: 80px 35px 110px;
    background: var(--white);
}

.collaborate-content .content-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.collaborate-content .card {
    background: var(--white);
    border: 1px solid var(--light-grey);
    border-radius: 12px;
    padding: 28px;
}

.collaborate-content .card h2 {
    margin: 0 0 12px;
    font-size: 23px;
    line-height: 1.25;
}

.collaborate-content .card p {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.7;
    color: #4f5954;
}

.collaborate-content .card .btn {
    display: inline-block;
    background: var(--green);
    color: var(--white);
    text-decoration: none;
    padding: 12px 20px;
    font-weight: 700;
}

.collaborate-content .card .btn:hover {
    background: var(--dark-green);
}

.collaborate-offer {
    max-width: 1200px;
    margin: 0 auto;
    padding: 90px 0 0;
}

.collaborate-offer .content-header {
    max-width: 820px;
    margin: 0 auto 42px;
    text-align: center;
}

.collaborate-offer .content-header h2 {
    font-size: 34px;
    margin: 8px 0 12px;
}

.collaborate-offer .content-header > p:not(.section-label) {
    font-size: 17px;
    line-height: 1.7;
}

.offer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.offer-grid article {
    background: var(--white);
    border: 1px solid var(--light-grey);
    border-top: 3px solid var(--green);
    border-radius: 12px;
    padding: 22px;
}

.offer-grid h3 {
    margin: 0 0 8px;
    font-size: 19px;
}

.offer-grid p {
    margin: 0;
    line-height: 1.65;
    color: #4f5954;
}

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

@media (max-width: 700px) {
    .collaborate-main {
        padding: 0 16px;
    }

    .collaborate-hero-image {
        border-radius: 12px;
    }

    .collaborate-hero-content {
        padding: 28px 20px 45px;
    }

    .collaborate-hero-content h1 {
        font-size: clamp(45px, 13vw, 65px);
        letter-spacing: -2px;
    }

    .collaborate-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

    .collaborate-content {
        padding: 65px 20px 80px;
    }

    .collaborate-content .content-grid {
        grid-template-columns: 1fr;
    }

    .collaborate-offer {
        padding-top: 65px;
    }

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

/* v19: consistent search icon sizing across every public page */
.search-toggle .fas.fa-search, .search-toggle .fa-search { font-size:20px !important; line-height:1; }

/* v22 map visibility fix */
#ww-map{height:620px;min-height:420px;width:100%;border-radius:12px;overflow:hidden;margin:0 0 24px}
@media (max-width:700px){#ww-map{height:500px;min-height:380px}}

/* v22 map filters */
.map-filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0 2px}.map-filter{border:1px solid #d9ddd7;background:#fff;color:#26352f;border-radius:999px;padding:8px 12px;cursor:pointer;font:inherit;font-size:14px}.map-filter:hover,.map-filter.active{background:#26352f;color:#fff;border-color:#26352f}.map-filter-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.map-card[hidden]{display:none!important}

/* v24 map usability */
.ww-pin{width:18px;height:18px;border-radius:50%;border:3px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.45);box-sizing:border-box}
.map-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:20px}
.map-card{background:#fff;border:1px solid #d9ddd7;border-radius:12px;padding:18px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.map-card h3{margin:0 0 6px}.map-card p{margin:6px 0}.map-card .btn{display:inline-block;margin-top:8px}
@media(max-width:700px){.map-list{grid-template-columns:1fr}}

/* Wildly Wandering tested / map / readability improvements */
.ww-tested-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#e8f3ea;color:#2f6b3f;font-size:12px;font-weight:700;line-height:1.2;margin:4px 6px 4px 0}.map-popup-image{display:block;width:100%;max-height:170px;object-fit:cover;border-radius:8px 8px 0 0;margin:-10px -10px 10px;width:calc(100% + 20px)}.map-popup-body{padding:0}.map-popup-title{display:block;font-size:17px;margin-bottom:3px}.map-popup-type{display:block;font-size:12px;color:#68736d;margin-bottom:5px}.map-popup-rating{display:block;font-weight:700;margin:5px 0}.map-popup-body p{font-size:13px;line-height:1.45;margin:7px 0}.map-popup-link{font-weight:700}.article-body p,.rich-content p{line-height:1.8;margin:0 0 1.15em}.article-body h2,.rich-content h2{margin-top:2em;margin-bottom:.65em}.article-body h3,.rich-content h3{margin-top:1.5em;margin-bottom:.5em}
.content-block{margin:0 0 2rem}.content-block-text{display:block}.content-block-image{margin:2.2rem 0}.content-block-image img{display:block;width:100%;height:auto;border-radius:14px}.content-block-image figcaption{margin:.65rem 0 0;color:#66716b;font-size:.92rem;line-height:1.5;font-style:italic}.content-builder-panel .content-builder-block{border:1px solid #d9dfda;border-radius:12px;padding:16px;margin:12px 0;background:#fafcfb}.content-builder-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.content-builder-block input[type=text],.content-builder-block input[type=file],.content-builder-block textarea{display:block;width:100%;box-sizing:border-box;margin:8px 0;padding:10px;border:1px solid #cfd7d1;border-radius:8px;background:#fff}.content-builder-block textarea.content-block-editor{min-height:180px;font-family:inherit}.content-builder-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.content-builder-block{position:relative;cursor:grab;transition:opacity .15s,transform .15s}.content-builder-block:active{cursor:grabbing}.content-builder-block.is-dragging{opacity:.55;transform:scale(.995)}.content-builder-block-head{align-items:center}.content-builder-block-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.content-block-move{min-width:36px;padding:7px 10px}.content-block-move:disabled{opacity:.4;cursor:not-allowed}.content-builder-block-head .content-builder-block-label{margin-right:auto}

.content-block-affiliate{border:1px solid #d9dfda;border-radius:14px;padding:18px 20px;margin:2rem 0;background:#fafcfb}.content-block-affiliate .affiliate-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:.4rem}.content-block-affiliate h3{margin:.2rem 0 .5rem}.affiliate-button,.content-cta-button{display:inline-block;padding:.72rem 1.1rem;border-radius:999px;text-decoration:none;font-weight:700}.affiliate-disclosure{display:inline-block;margin-left:.7rem;font-size:.82rem;color:#66716b}.content-block-button{text-align:left;margin:1.5rem 0}.affiliate-button{background:#24352d;color:#fff}.content-cta-button{background:#355c48;color:#fff}.content-builder-block .affiliate-description{min-height:90px}.content-builder-actions{align-items:center}


/* v26 map area accordion */
.map-area-list{margin-top:18px}
.map-area-section{margin:0 0 12px}
.map-area-section[hidden]{display:none!important}
.map-area-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #d9ddd7;background:#fff;color:#26352f;padding:16px 18px;font:inherit;font-weight:700;font-size:18px;text-align:left;cursor:pointer;border-radius:12px}
.map-area-toggle:hover{border-color:#9eafa5;background:#fafcfb}
.map-area-chevron{font-size:24px;font-weight:400;line-height:1;color:var(--green)}
.map-area-items{display:none;padding:10px 0 0}
.map-area-section.open .map-area-items{display:block}
.map-area-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:20px;background:#fff;border:1px solid #d9ddd7;border-radius:12px;padding:14px 16px;margin-bottom:10px;cursor:pointer}
.map-area-card:hover{border-color:#9eafa5;box-shadow:0 3px 12px rgba(0,0,0,.05)}
.map-area-card[hidden]{display:none!important}
.map-area-image{width:150px;height:105px;overflow:hidden;border-radius:8px}
.map-area-image img{display:block;width:100%;height:100%;object-fit:cover}
.map-area-content h3{margin:0 0 5px;font-size:18px;line-height:1.25}
.map-area-type{display:block;font-size:12px;color:#68736d;font-weight:700;margin-bottom:5px}
.map-area-content p{margin:7px 0 0;font-size:14px;line-height:1.5;color:#4f5954}
.map-area-link{justify-self:end;white-space:nowrap}
.map-area-link .btn{display:inline-block}
@media(max-width:700px){
  .map-area-card{grid-template-columns:1fr;gap:12px;padding:14px}
  .map-area-image{width:100%;height:auto;aspect-ratio:16/9}
  .map-area-link{justify-self:start}
  .map-area-toggle{font-size:16px}
}

/* v26 contact form select */
.contact-form select{display:block;width:100%;box-sizing:border-box;border:1px solid #d1d1d4;background:#fff;color:var(--black);padding:11px 12px;font-family:inherit;font-size:14px;border-radius:0}
.contact-form select:focus{outline:none;border-color:var(--green)}

/* v26 collaboration offer */
.collaborate-offer{max-width:1200px;margin:0 auto;padding:20px 24px 90px}
.collaborate-offer .content-header{margin-bottom:28px}
.collaborate-offer .content-header h2{font-size:34px;margin:8px 0 12px}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.offer-grid article{background:#fff;border:1px solid rgba(0,0,0,.08);border-top:3px solid var(--green);border-radius:12px;padding:22px}
.offer-grid h3{margin:0 0 8px;font-size:19px}
.offer-grid p{margin:0;line-height:1.65;color:#4f5954}
@media(max-width:900px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.collaborate-offer{padding:10px 18px 60px}.offer-grid{grid-template-columns:1fr}}

/* Verified Blog dropdown fix */
.nav-dropdown-toggle-row{display:flex;align-items:center;justify-content:center}
.nav-dropdown-toggle-link{color:var(--black);text-decoration:none;font-size:15px;font-weight:600}
.nav-dropdown-toggle-link:hover{color:var(--green)}
.nav-dropdown-toggle{color:var(--green);background:none;border:0;font-family:inherit;cursor:pointer;font-size:16px;line-height:1;padding:2px 4px}
.nav-dropdown-toggle[aria-expanded="true"]{color:var(--green)}

/* v30 definitive responsive navigation fix */
@media (max-width: 800px) {
  .site-nav .nav-dropdown {
    width: 100%;
  }
  .site-nav .nav-dropdown-toggle-row {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
  }
  .site-nav .nav-dropdown-toggle-link {
    width: auto !important;
    flex: 0 0 auto;
  }
  .site-nav .nav-dropdown-toggle {
    width: 44px !important;
    flex: 0 0 44px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 12px 0 !important;
  }
  .site-nav .nav-dropdown-menu {
    display: none !important;
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    transform: none !important;
    box-sizing: border-box;
    overflow: visible !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
  }
  .site-nav .nav-dropdown.open > .nav-dropdown-menu {
    display: block !important;
  }
  .site-nav .nav-submenu {
    display: none;
  }
  .site-nav .nav-subgroup.open > .nav-submenu {
    display: block;
  }
}


/* v30: reliable Blog dropdown at every responsive width */
.nav-dropdown-toggle-row {
    position: relative;
    z-index: 10002;
    touch-action: manipulation;
}
.nav-dropdown-toggle {
    position: relative;
    z-index: 10003;
    pointer-events: auto;
    touch-action: manipulation;
}
.nav-dropdown-menu {
    pointer-events: auto;
}
@media (max-width: 800px) {
    .site-nav .nav-dropdown-toggle-row {
        min-height: 44px;
    }
    .site-nav .nav-dropdown-toggle-link {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
    .site-nav .nav-dropdown-toggle {
        min-height: 44px;
    }
    .site-nav .nav-dropdown.open > .nav-dropdown-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* Final Blog toggle alignment */
.nav-dropdown-toggle-row{display:inline-flex;align-items:center;justify-content:center;width:auto}
.nav-dropdown-toggle{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin:0;padding:2px 4px;line-height:1}
@media(max-width:800px){
  .site-nav .nav-dropdown-toggle-row{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;margin:0 auto!important;gap:0}
  .site-nav .nav-dropdown-toggle-link{width:auto!important;flex:0 0 auto!important}
  .site-nav .nav-dropdown-toggle{width:24px!important;min-width:24px!important;max-width:24px!important;flex:0 0 24px!important;height:44px;box-sizing:border-box;padding:12px 0!important;line-height:1}
}

/* v31: compact Blog label + triangle alignment at all responsive widths */
@media(max-width:800px){.site-nav .nav-dropdown-toggle-row{display:inline-flex!important;width:auto!important;margin:0 auto!important;gap:0}.site-nav .nav-dropdown-toggle{width:24px!important;min-width:24px!important;max-width:24px!important;flex:0 0 24px!important;padding:12px 0!important}}


/* =========================================================
   FINAL NAVIGATION FIX v32
   Blog is a normal flex item and its label + arrow are one
   centred group at every responsive width.
========================================================= */

.site-nav .nav-dropdown {
    position: relative;
    align-self: center;
}

.site-nav .nav-dropdown-toggle-row {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    margin: 0;
    gap: 0;
}

.site-nav .nav-dropdown-toggle-link {
    display: inline-flex;
    align-items: center;
    width: auto !important;
    flex: 0 0 auto;
    white-space: nowrap;
}

.site-nav .nav-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    flex: 0 0 24px !important;
    height: 44px;
    margin: 0;
    padding: 0 !important;
    box-sizing: border-box;
    line-height: 1;
}

@media (max-width: 800px) {
    .site-nav {
        align-items: center !important;
    }

    .site-nav > a {
        width: auto !important;
        align-self: center !important;
        flex: 0 0 auto;
    }

    .site-nav .nav-dropdown {
        width: auto !important;
        max-width: 100%;
        align-self: center !important;
        flex: 0 0 auto;
    }

    .site-nav .nav-dropdown-toggle-row {
        width: auto !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
        gap: 0;
    }

    .site-nav .nav-dropdown-toggle-link {
        width: auto !important;
        min-height: 44px;
        padding: 12px 10px !important;
        flex: 0 0 auto !important;
        box-sizing: border-box;
    }

    .site-nav .nav-dropdown-toggle {
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        flex: 0 0 24px !important;
        min-height: 44px;
        height: 44px;
        padding: 0 !important;
    }

    /* Mobile dropdown: hidden until the arrow is pressed. */
    .site-nav .nav-dropdown > .nav-dropdown-menu {
        display: none !important;
        position: static !important;
        width: min(360px, calc(100vw - 30px)) !important;
        max-width: calc(100vw - 30px);
        margin: 0 auto !important;
        transform: none !important;
        max-height: 60vh;
        overflow-y: auto;
        box-sizing: border-box;
        box-shadow: none !important;
        border: 1px solid var(--light-grey) !important;
        padding: 12px !important;
        background: var(--white);
    }

    .site-nav .nav-dropdown.open > .nav-dropdown-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .site-nav .nav-dropdown .nav-submenu {
        display: none !important;
    }

    .site-nav .nav-dropdown .nav-subgroup.open > .nav-submenu {
        display: block !important;
    }
}
.content-updated-date{font-size:.85rem;color:#68736d;margin-top:.5rem}.content-block-affiliate .affiliate-product-image{margin:-18px -20px 16px;overflow:hidden;border-radius:14px 14px 0 0;background:#fff;text-align:center}.content-block-affiliate .affiliate-product-image img{display:block;width:100%;max-height:260px;object-fit:contain}


/* =========================================================
   MOBILE NAVIGATION — final
========================================================= */
@media screen and (max-width: 800px){
  .header-container{position:relative}
  .mobile-menu-toggle{
    grid-area:menu;
    display:flex;
    visibility:visible;
    opacity:1;
    width:40px;
    min-width:40px;
    height:38px;
    min-height:38px;
    margin:0;
    padding:7px;
    flex:0 0 auto;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    background:transparent;
    border:1px solid var(--light-grey);
    border-radius:7px;
    color:var(--green);
    cursor:pointer;
    position:relative;
    z-index:10002;
    box-sizing:border-box;
  }
  .mobile-menu-toggle span{
    display:block;
    visibility:visible;
    opacity:1;
    width:21px;
    height:2px;
    min-height:2px;
    margin:0;
    padding:0;
    background:currentColor;
    border-radius:2px;
  }
  .site-nav{
    display:none;
  }
  .mobile-nav-open .site-nav{
    display:flex;
  }
}

/* Wildly Wandering 2026 site update */
.article-image img,.article-featured-image img,.page-hero img,.about-image img{border-radius:12px}

.ww-pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:35px 0 10px}.ww-pagination a{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #d9ddd7;border-radius:999px;background:#fff;color:#26352f;text-decoration:none;font-weight:600}.ww-pagination a.active{background:#355c48;color:#fff;border-color:#355c48}.ww-pagination a:hover{border-color:#355c48}
.ww-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ww-home-hub{padding:70px 35px;background:#fff}.ww-home-hub-inner{max-width:1200px;margin:auto}.ww-home-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ww-home-hub-card{background:#fff;border:1px solid #d9ddd7;border-radius:14px;padding:28px}.ww-home-hub-card h3{margin-top:0;color:#26352f;font-size:25px}.ww-home-hub-card p{color:#555;line-height:1.7}.ww-home-hub-card a,.ww-community-link{display:inline-block;margin-top:8px;background:#355c48;color:#fff;padding:11px 17px;border-radius:999px;text-decoration:none;font-weight:700}.ww-community{background:#f3f6f2}.ww-calendar-page,.ww-shop-page{max-width:1200px;margin:0 auto;padding:65px 35px 80px}.ww-month-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}.ww-month-nav a{border:1px solid #d9ddd7;border-radius:999px;padding:10px 16px;text-decoration:none;color:#26352f;background:#fff}.ww-month-title{text-align:center;margin:0;font-size:34px}.ww-event-list{display:grid;gap:16px}.ww-event-card,
.ww-shop-card img{
    width:100%;
    height:260px;
    min-height:0;
    display:block;
    object-fit:contain;
    object-position:center;
    background:#f7f9f6;
    padding:12px;
}
.ww-event-card.no-image{grid-template-columns:1fr}.ww-event-card img,.ww-shop-card img{width:100%;height:100%;min-height:180px;object-fit:cover}.ww-event-body,.ww-shop-body{padding:24px}.ww-event-date{font-weight:800;color:#355c48;text-transform:uppercase;letter-spacing:.05em;font-size:13px}.ww-event-body h2,.ww-shop-body h3{margin:6px 0 10px}.ww-event-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;color:#53615a;font-size:14px}.ww-pill{border:1px solid #d9ddd7;border-radius:999px;padding:5px 9px;background:#f8faf7}.ww-event-link,.ww-shop-link{display:inline-block;margin-top:8px;color:#355c48;font-weight:800;text-decoration:none}.ww-shop-section{margin-top:48px}.ww-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ww-shop-card{display:block}.ww-shop-card img{height:210px;min-height:0}.ww-free{display:inline-block;background:#e8f3ea;color:#2f6b3f;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.ww-reading-now{border-left:4px solid #355c48;background:#f3f6f2;padding:10px 14px;margin:0 0 10px;font-size:13px;font-weight:700}.ww-admin-event-image{max-width:180px;border-radius:10px}.ww-empty{background:#f7f9f6;border:1px dashed #cbd4cd;padding:25px;border-radius:12px;color:#66716b}
@media(max-width:900px){.ww-feature-grid,.ww-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ww-home-hub-grid{grid-template-columns:1fr}.ww-event-card{grid-template-columns:130px 1fr}}
@media(max-width:600px){.ww-feature-grid,.ww-shop-grid{grid-template-columns:1fr}.ww-calendar-page,.ww-shop-page,.ww-home-hub{padding-left:20px;padding-right:20px}.ww-event-card,.ww-event-card.no-image{grid-template-columns:1fr}.ww-event-card img{height:190px}.ww-month-title{font-size:27px}}


/* SEARCH RESULT PLACEHOLDER */
.search-result-placeholder{width:100%;height:100%;min-height:220px;display:flex;align-items:center;justify-content:center;background:#eef2ee;color:var(--green);font-weight:700;letter-spacing:.04em;text-align:center;padding:20px}.search-result-card .article-content>span{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.search-result-card .article-content h3{margin-top:0}

/* Wildly Wandering v39 final site update */
.ww-news-section{padding:4rem 1.25rem;background:#fff}
.ww-news-inner{max-width:1100px;margin:0 auto}
.ww-news-list{display:flex;flex-direction:column;gap:1.25rem;max-width:850px}
.ww-news-card{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.06)}
.ww-news-image{width:100%;aspect-ratio:16/7;overflow:hidden}
.ww-news-image img{width:100%;height:100%;object-fit:cover;display:block}
.ww-news-body{padding:1.35rem 1.5rem 1.5rem}
.ww-news-date{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.65;margin:0 0 .45rem}
.ww-news-body h3{margin:.1rem 0 .65rem}
.ww-news-body p:last-child{margin-bottom:0}
.ww-news-empty{max-width:760px;padding:1.5rem 1.75rem;background:#fff;border:1px solid #d9ddd7;border-radius:16px}
.ww-news-empty p:first-child{font-weight:700;font-size:1.15rem;margin-top:0}
.ww-news-empty p:last-child{margin-bottom:0}
 .ww-calendar{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 3rem}
.ww-calendar-month{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:1rem;margin-bottom:1.5rem}
.ww-calendar-month h2{text-align:center;margin:0}
.ww-calendar-month a{display:flex;width:52px;height:52px;border-radius:50%;align-items:center;justify-content:center;text-decoration:none;font-size:2rem;background:#f1f1ed}
.ww-event-list{display:flex;flex-direction:column;gap:1.1rem}
.ww-event-card{display:block;background:#fff;border:1px solid #d9ddd7;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px rgba(38,53,47,.04)}
.ww-event-card.is-cancelled{opacity:.95}
.ww-event-image{display:block;width:100%;max-height:320px;object-fit:cover}
.ww-event-body{padding:1.45rem 1.6rem 1.55rem}
.ww-event-body h2{margin:0 0 .8rem;color:#26352f;font-size:1.35rem;line-height:1.3}
.ww-event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1.4rem;margin:0 0 1rem;color:#53615a;font-size:.92rem}
.ww-event-date{font-weight:800;color:#355c48}
.ww-event-location{font-weight:600}
.ww-event-category{padding:.28rem .65rem;border:1px solid #d9ddd7;border-radius:999px;background:#f7f9f6}
.ww-event-description{font-size:1rem;line-height:1.7;color:#3f4a45}
.ww-event-description p{margin:0}
.ww-event-extra{margin:.75rem 0 0;color:#53615a;line-height:1.5}
.ww-event-link{display:inline-block;margin-top:1rem;color:#355c48;font-weight:800;text-decoration:none}
.ww-event-link:hover{text-decoration:underline}
.ww-cancelled-banner{padding:.55rem 1rem;text-align:center;font-size:1.1rem;font-weight:900;letter-spacing:.1em;background:#eee;border-bottom:1px solid #d9ddd7}
.ww-calendar-submit{padding:0 1.25rem 5rem}
.ww-calendar-submit-inner{max-width:1100px;margin:0 auto;display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem 1.75rem;background:#f7f7f4;border:1px solid #d9ddd7;border-radius:18px}
.ww-calendar-star{font-size:1.8rem;line-height:1;color:#355c48}
.ww-calendar-submit h2{margin:.1rem 0 .5rem}
.ww-calendar-submit p:last-child{margin-bottom:0}
.ww-shop-guide-button{display:inline-flex;margin-top:.75rem;padding:.85rem 1.25rem;border-radius:999px;text-decoration:none;background:#1f4b43;color:#fff;font-weight:700;align-items:center;justify-content:center}.ww-get-guide-button{display:flex;width:100%;box-sizing:border-box;margin-top:1.1rem;padding:1rem 1.4rem;border:0;border-radius:999px;cursor:pointer;background:#1f4b43;color:#fff;font-size:1.05rem;font-weight:700;line-height:1.2;align-items:center;justify-content:center}.ww-get-guide-button:hover{background:#163a34}
.ww-guide-form{max-width:620px;margin:2rem auto;padding:1.5rem;border-radius:18px;background:#f7f7f4}
.ww-guide-form label{display:block;font-weight:600;margin:.8rem 0 .35rem}
.ww-guide-form input[type=email]{width:100%;padding:.8rem;border:1px solid #bbb;border-radius:8px}
.ww-guide-form .consent{display:flex;gap:.55rem;align-items:flex-start;margin:1rem 0;font-size:.9rem}
.ww-guide-form button{padding:.8rem 1.1rem;border:0;border-radius:999px;cursor:pointer}
.ww-pagination{display:flex;justify-content:center;gap:.45rem;flex-wrap:wrap;margin:2.5rem 0}
.ww-pagination a{padding:.55rem .8rem;border-radius:8px;border:1px solid rgba(0,0,0,.12);text-decoration:none}
.ww-pagination a.active{font-weight:700}
.ww-blog-featured{max-width:1100px;margin:0 auto 3.5rem;padding:0 35px}
.ww-blog-featured img{display:block;width:100%;height:380px;object-fit:cover;border-radius:16px}
.collaborate-featured{max-width:1100px;margin:0 auto 3rem;padding:0 35px}
.collaborate-featured img{display:block;width:100%;height:380px;object-fit:cover;border-radius:16px}
.ww-map-suggestion{max-width:1100px;margin:3rem auto 0;padding:0 35px 5rem}
.ww-map-suggestion-inner{padding:2rem;background:#f7f7f4;border:1px solid #d9ddd7;border-radius:18px;text-align:center}
.ww-map-suggestion-inner h2{margin:.2rem 0 .6rem}
.ww-map-suggestion-inner p:last-child{margin-bottom:0}
.ww-places-page{max-width:1200px;margin:0 auto;padding:1rem 35px 5rem}
.ww-places-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ww-place-card{background:#fff;border:1px solid #d9ddd7;border-radius:16px;overflow:hidden}
.ww-place-image{display:block;aspect-ratio:16/9;overflow:hidden}
.ww-place-image img{width:100%;height:100%;object-fit:cover;display:block}
.ww-place-body{padding:1.25rem 1.35rem 1.5rem}
.ww-place-body h3{margin:.2rem 0 .35rem}
.ww-place-body h3 a{text-decoration:none}
.ww-place-region{font-size:.88rem;opacity:.7}
@media(max-width:1000px){.ww-event-main{grid-template-columns:1fr 1.7fr 1fr 1.3fr}.ww-places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ww-news-body{padding:1.1rem}.ww-calendar-month{grid-template-columns:44px 1fr 44px}.ww-calendar-month a{width:44px;height:44px}.ww-event-summary{padding:1rem}.ww-event-main{grid-template-columns:1fr 1fr;gap:.65rem}.ww-event-details{padding:0 1rem 1rem}.ww-calendar-submit-inner{padding:1.25rem}.ww-blog-featured,.collaborate-featured,.ww-map-suggestion{padding-left:20px;padding-right:20px}.ww-blog-featured img,.collaborate-featured img{height:250px}.ww-places-page{padding-left:20px;padding-right:20px}.ww-places-grid{grid-template-columns:1fr}}
@media(max-width:520px){.ww-event-main{grid-template-columns:1fr}.ww-event-arrow{align-self:start}.ww-calendar-submit-inner{flex-direction:column;gap:.7rem}}

.contact-email{margin-top:1.5rem}.contact-email a{font-weight:700}

/* Free guide consent */
.ww-guide-form .ww-required-consent{margin-top:1.15rem;}
.ww-guide-form .consent input[type=checkbox]{margin-top:.2rem;flex:0 0 auto;}
.ww-guide-form .consent a{color:var(--green);text-decoration:underline;}



/* Clean outdoor calendar responsiveness */
@media(max-width:700px){
  .ww-calendar{padding-left:1rem;padding-right:1rem}
  .ww-calendar-month{grid-template-columns:44px minmax(0,1fr) 44px;gap:.6rem}
  .ww-calendar-month a{width:44px;height:44px}
  .ww-event-body{padding:1.2rem 1.15rem 1.3rem}
  .ww-event-body h2{font-size:1.2rem}
  .ww-event-meta{align-items:flex-start;flex-direction:column;gap:.35rem}
  .ww-calendar-submit-inner{padding:1.25rem}
}
@media(max-width:420px){
  .ww-calendar-month h2{font-size:1.35rem}
  .ww-event-body h2{font-size:1.1rem}
}

/* Article metadata: centered, contained three-line block. */
.article-meta{width:min(100%,560px);margin:0 auto;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;text-align:center!important;font-size:13px;line-height:1.5;color:#666}
.article-meta>span{display:block!important;margin:0!important}
.article-meta-publisher{font-weight:700!important;color:#333!important}
.article-meta-published,.article-meta-updated{color:#68736d!important}

/* Final outdoor calendar card spacing */
.ww-event-summary{padding:1.45rem 1.35rem .75rem;}
.ww-event-main{display:flex;flex-direction:column;gap:.42rem;min-width:0;}
.ww-event-main .ww-event-date{display:block;margin:0 0 .15rem;line-height:1.4;}
.ww-event-main>strong{display:block;margin:0;line-height:1.3;font-size:1.18rem;}
.ww-event-main .ww-event-meta,.ww-event-main .ww-event-location{display:block;margin:0;line-height:1.45;}
.ww-event-details{padding:0 1.35rem 1.35rem;}
@media(max-width:700px){
  .ww-event-summary{padding:1.25rem 1.1rem .7rem;}
  .ww-event-details{padding:0 1.1rem 1.1rem;}
}

/* Phase 3: worldwide map filters and location metadata */
.map-country-filter-bar{display:flex;align-items:flex-end;margin:0 0 18px;padding:0 2px}.map-country-select-wrap{display:flex;align-items:center;gap:12px}.map-country-select-wrap>span{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#68736d}.map-country-filter{min-width:190px;border:1px solid #d9ddd7;background:#fff;color:#26352f;border-radius:999px;padding:10px 40px 10px 15px;cursor:pointer;font:inherit;font-size:14px;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.03)}.map-country-filter:focus{outline:3px solid rgba(38,53,47,.12);outline-offset:2px;border-color:#26352f}.map-country-section{margin:0 0 18px}.map-country-section[hidden]{display:none!important}.map-country-heading{margin:20px 0 10px;padding:0 2px;font-size:22px}.map-area-location,.map-popup-location{display:block;font-size:12px;color:#68736d;margin:0 0 5px}.map-popup-location{margin-top:4px}.map-area-card[hidden]{display:none!important}@media(max-width:700px){.map-country-filter-bar{margin-bottom:14px}.map-country-select-wrap{width:100%;justify-content:space-between;gap:10px}.map-country-filter{min-width:0;flex:1;padding:9px 36px 9px 13px}.map-filter-bar{gap:7px}.map-filter{padding:7px 10px;font-size:13px}.map-country-heading{font-size:20px}}

/* =========================================================
   FINAL HEADER RESPONSIVE FIX
   Desktop navigation switches to the mobile menu before the
   navigation can become cramped or overlap.
========================================================= */
@media screen and (max-width: 1150px) {
    .header-container {
        width: 100%;
        max-width: 100%;
        min-height: 0;
        padding: 18px 24px 20px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        position: relative !important;
    }

    .logo-link {
        flex: 0 0 auto !important;
    }

    .logo {
        width: 165px !important;
        height: auto;
    }

    .mobile-menu-toggle {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 10px auto 0 !important;
        padding: 8px !important;
        flex: 0 0 auto !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        background: transparent !important;
        border: 1px solid var(--light-grey) !important;
        border-radius: 8px !important;
        color: var(--green) !important;
        cursor: pointer !important;
        position: relative !important;
        z-index: 10002 !important;
        box-sizing: border-box !important;
    }

    .mobile-menu-toggle span {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 22px !important;
        height: 2px !important;
        min-height: 2px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: currentColor !important;
        border-radius: 2px !important;
    }

    .site-nav {
        display: none !important;
        width: 100% !important;
        margin-top: 12px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        padding: 8px 0 !important;
        border-top: 1px solid var(--light-grey);
        box-sizing: border-box;
    }

    .mobile-nav-open .site-nav {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .site-nav > a {
        width: auto !important;
        padding: 11px 10px !important;
        font-size: 15px !important;
        text-align: center !important;
    }

    .site-nav .nav-dropdown {
        width: auto !important;
        align-self: center !important;
    }

    .site-nav .nav-dropdown-toggle-row {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        margin: 0 !important;
    }

    .site-nav .nav-dropdown-toggle-link {
        width: auto !important;
        padding: 11px 10px !important;
        min-height: 44px;
        flex: 0 0 auto !important;
    }

    .site-nav .nav-dropdown-toggle {
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        flex: 0 0 24px !important;
        min-height: 44px;
        height: 44px;
        padding: 0 !important;
    }

    .site-nav .nav-dropdown > .nav-dropdown-menu {
        display: none !important;
        position: static !important;
        width: min(360px, calc(100vw - 40px)) !important;
        max-width: calc(100vw - 40px);
        margin: 0 auto !important;
        transform: none !important;
        max-height: 60vh;
        overflow-y: auto;
        box-sizing: border-box;
        box-shadow: none !important;
        border: 1px solid var(--light-grey) !important;
        padding: 12px !important;
    }

    .site-nav .nav-dropdown.open > .nav-dropdown-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .site-nav .nav-dropdown:hover > .nav-dropdown-menu {
        display: none !important;
    }

    .site-nav .nav-dropdown.open:hover > .nav-dropdown-menu {
        display: block !important;
    }

    .header-search {
        width: auto !important;
        margin-top: 10px !important;
        display: flex !important;
        justify-content: center !important;
    }
}

@media screen and (max-width: 600px) {
    .header-container {
        padding: 12px 18px 16px !important;
    }

    .logo {
        width: 140px !important;
    }
}

/* =========================================================
   FINAL HEADER BREAKPOINT
   Switch to hamburger before the full navigation can crowd
   or overlap at medium desktop/tablet widths.
========================================================= */
@media screen and (max-width: 1250px) {
    header {
        position: relative;
        z-index: 10000;
    }

    .header-container {
        position: relative !important;
        width: 100%;
        min-height: 104px;
        padding: 14px 30px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
    }

    .logo {
        width: 160px !important;
        height: auto;
    }

    /* Hide the full navigation until the hamburger is opened. */
    .header-container > .site-nav,
    .header-container > nav.site-nav {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 12px 20px 18px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        background: var(--background) !important;
        border-top: 1px solid var(--light-grey) !important;
        border-bottom: 1px solid var(--light-grey) !important;
        box-shadow: 0 12px 25px rgba(0,0,0,.08);
        z-index: 10001 !important;
    }

    .header-container.mobile-nav-open > .site-nav,
    .header-container.mobile-nav-open > nav.site-nav {
        display: flex !important;
    }

    .mobile-menu-toggle {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        right: 68px !important;
        top: 50% !important;
        transform: translateY(-50%);
        width: 44px !important;
        min-width: 44px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 8px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        background: transparent !important;
        border: 1px solid var(--light-grey) !important;
        border-radius: 8px !important;
        color: var(--green) !important;
        cursor: pointer;
        z-index: 10003 !important;
        box-sizing: border-box;
    }

    .mobile-menu-toggle span {
        display: block !important;
        width: 22px !important;
        height: 2px !important;
        min-height: 2px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: currentColor !important;
        border-radius: 2px;
    }

    .header-search {
        position: absolute !important;
        right: 18px !important;
        top: 50% !important;
        transform: translateY(-50%);
        width: 36px !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: center !important;
        z-index: 10003 !important;
    }

    .site-nav > a,
    .site-nav .nav-dropdown,
    .site-nav .nav-dropdown-toggle-row {
        width: auto !important;
        max-width: 100%;
    }

    .site-nav > a,
    .site-nav .nav-dropdown-toggle-link {
        padding: 10px 12px !important;
        font-size: 15px !important;
    }

    .site-nav .nav-dropdown-toggle-row {
        display: flex !important;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
    }

    .site-nav .nav-dropdown-menu {
        position: static !important;
        width: min(360px, calc(100vw - 40px)) !important;
        max-width: calc(100vw - 40px);
        margin: 0 auto !important;
        transform: none !important;
        max-height: 60vh;
        overflow-y: auto;
        box-shadow: none !important;
    }

    .site-nav .nav-dropdown:hover > .nav-dropdown-menu {
        display: none !important;
    }

    .site-nav .nav-dropdown.open > .nav-dropdown-menu {
        display: block !important;
    }
}

@media screen and (max-width: 600px) {
    .header-container {
        min-height: 82px;
        padding: 10px 18px !important;
    }

    .logo {
        width: 140px !important;
    }

    .mobile-menu-toggle {
        right: 62px !important;
    }

    .header-search {
        right: 12px !important;
    }
}

/* =========================================================
   WILDLY WANDERING — ABOUT PAGE DESIGN
   Isolated to pages containing .about-content
   ========================================================= */

/* ---------------------------------------------------------
   ABOUT HERO
   --------------------------------------------------------- */

body.about-page .page-hero {
    background: var(--white);
    padding: 110px 35px 90px;
    border-bottom: 1px solid var(--light-grey);
}

body.about-page .page-hero .section-label {
    margin-bottom: 14px;
}

body.about-page .page-hero h1 {
    max-width: 950px;
    margin: 0 auto 25px;
    font-size: clamp(52px, 7vw, 88px);
    line-height: 0.98;
    letter-spacing: -3px;
}

body.about-page .page-hero > p:last-child {
    max-width: 650px;
    font-size: 18px;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   STORY SECTIONS
   --------------------------------------------------------- */

body.about-page .about-content {
    background: #fff;
    padding: 110px 35px;
}

body.about-page .about-content .about-image {
    max-width: 1150px;
    height: auto;
    aspect-ratio: 16 / 9;
    margin: 0 auto 75px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(24, 59, 42, 0.10);
}

body.about-page .about-content .about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

body.about-page .about-content .about-text {
    max-width: 850px;
}

body.about-page .about-text h2 {
    font-size: clamp(40px, 5vw, 62px);
    line-height: 1.05;
    letter-spacing: -1.5px;
    margin-bottom: 28px;
}

body.about-page .about-text p:not(.section-label) {
    font-size: 17px;
    line-height: 1.85;
    margin-bottom: 22px;
    color: #333;
}

body.about-page .about-text p:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   OUR FAMILY
   --------------------------------------------------------- */

body.about-page .about-values {
    background: var(--white);
    padding: 105px 35px;
}

body.about-page .about-values .section-heading {
    max-width: 1150px;
    margin-bottom: 45px;
}

body.about-page .about-values .section-heading h2 {
    max-width: 850px;
    font-size: clamp(38px, 5vw, 60px);
    line-height: 1.05;
    letter-spacing: -1.5px;
}

body.about-page .about-values > .about-text {
    max-width: 850px;
}


/* ---------------------------------------------------------
   WHAT YOU'LL FIND HERE — CARDS
   --------------------------------------------------------- */

body.about-page .value-grid {
    max-width: 1150px;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

body.about-page .value-card {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: #fff;
    border: 1px solid var(--light-grey);
    border-top: 4px solid var(--green);
    border-radius: 4px;
    padding: 28px 26px;
    color: var(--black);
    text-decoration: none;
    box-shadow: none;
}

body.about-page .value-card:hover {
    transform: translateY(-4px);
    border-color: #b9c8bb;
    box-shadow: 0 12px 28px rgba(24, 59, 42, 0.10);
}

body.about-page .value-card h3 {
    font-size: 21px;
    line-height: 1.2;
    margin-bottom: 13px;
}

body.about-page .value-card p {
    font-size: 14px;
    line-height: 1.7;
    color: #4a4a4a;
}


/* ---------------------------------------------------------
   WHY WE DO IT / JOIN THE JOURNEY
   --------------------------------------------------------- */

body.about-page .ww-home-hub {
    background: #fff;
    padding: 105px 35px;
}

body.about-page .ww-home-hub-inner {
    max-width: 1150px;
}

body.about-page .ww-home-hub .section-heading {
    margin-bottom: 45px;
}

body.about-page .ww-home-hub .section-heading h2 {
    font-size: clamp(38px, 5vw, 60px);
    line-height: 1.05;
    letter-spacing: -1.5px;
}

body.about-page .ww-home-hub-grid {
    gap: 24px;
}

body.about-page .ww-home-hub-card {
    background: var(--white);
    border: 1px solid var(--light-grey);
    border-radius: 4px;
    padding: 35px;
}

body.about-page .ww-home-hub-card h3 {
    color: var(--dark-green);
}

body.about-page .ww-home-hub-card p {
    color: #333;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 18px;
}

body.about-page .ww-home-hub-card p:last-child {
    margin-bottom: 0;
}

body.about-page .ww-home-hub-card a {
    background: var(--green);
    border-radius: 3px;
}

body.about-page .ww-home-hub-card a:hover {
    background: var(--dark-green);
}


/* ---------------------------------------------------------
   SCOTLAND & BEYOND
   --------------------------------------------------------- */

body.about-page .about-content + .about-values + .ww-home-hub + .about-content {
    background: var(--white);
}

body.about-page .about-content + .about-values + .ww-home-hub + .about-content .about-text {
    max-width: 850px;
}


/* ---------------------------------------------------------
   MOBILE ABOUT PAGE
   --------------------------------------------------------- */

@media (max-width: 900px) {


    body.about-page .value-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 600px) {


    body.about-page .page-hero {
        padding: 75px 28px 65px;
    }

    body.about-page .page-hero h1 {
        font-size: clamp(42px, 12vw, 58px);
        letter-spacing: -2px;
    }

    body.about-page .page-hero > p:last-child {
        font-size: 16px;
    }

    body.about-page .about-content {
        padding: 70px 28px;
    }

    body.about-page .about-content .about-image {
        aspect-ratio: 16 / 9;
        margin-bottom: 50px;
        border-radius: 12px;
    }

    body.about-page .about-text h2,
    body.about-page .about-values .section-heading h2,
    body.about-page .ww-home-hub .section-heading h2 {
        font-size: clamp(34px, 9vw, 46px);
        letter-spacing: -1px;
    }

    body.about-page .about-text p:not(.section-label) {
        font-size: 15px;
        line-height: 1.8;
    }

    body.about-page .about-values {
        padding: 70px 28px;
    }

    body.about-page .value-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    body.about-page .value-card {
        min-height: 175px;
        padding: 21px 17px;
    }

    body.about-page .value-card h3 {
        font-size: 17px;
    }

    body.about-page .value-card p {
        font-size: 12px;
        line-height: 1.6;
    }

    body.about-page .ww-home-hub {
        padding: 70px 28px;
    }

    body.about-page .ww-home-hub-card {
        padding: 25px;
    }

}


/* =========================
   CAMPING CATEGORY PAGE
========================= */

.camping-hero {
    padding: 0;
    margin: 0;
    text-align: center;
    background: var(--background);
}

.camping-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.camping-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.camping-hero-content {
    padding: 35px 25px 60px;
    text-align: center;
}

.camping-hero-content .section-label {
    margin-bottom: 12px;
}

.camping-hero-content h1 {
    font-size: clamp(48px, 7vw, 80px);
    line-height: 1;
    letter-spacing: -2px;
    margin: 0 0 20px;
}

.camping-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
}

@media (max-width: 700px) {

    .camping-hero-image {
        border-radius: 10px;
    }

    .camping-hero-content {
        padding: 28px 18px 45px;
    }

    .camping-hero-content h1 {
        font-size: clamp(42px, 13vw, 62px);
        letter-spacing: -1px;
    }

    .camping-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

}

/* =========================
   HIKING HERO
========================= */

.hiking-page {
    background: var(--background);
}

.hiking-hero {
    padding: 0;
    margin: 0;
    text-align: center;
    background: var(--background);
}

.hiking-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.hiking-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.hiking-hero-content {
    padding: 35px 25px 60px;
    text-align: center;
}

.hiking-hero-content .section-label {
    margin-bottom: 12px;
}

.hiking-hero-content h1 {
    font-size: clamp(48px, 7vw, 80px);
    line-height: 1;
    letter-spacing: -2px;
    margin: 0 0 20px;
}

.hiking-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
}

@media (max-width: 700px) {

    .hiking-hero-image {
        border-radius: 12px;
    }

    .hiking-hero-content {
        padding: 28px 20px 45px;
    }

    .hiking-hero-content h1 {
        font-size: clamp(45px, 13vw, 65px);
        letter-spacing: -2px;
    }

    .hiking-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

}

/* =========================
   TRAVEL & ADVENTURES HERO
========================= */

.travel-adventures-page {
    background: var(--background);
}

.travel-adventures-hero {
    padding: 0;
    margin: 0;
    text-align: center;
    background: var(--background);
}

.travel-adventures-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.travel-adventures-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.travel-adventures-hero-content {
    padding: 35px 25px 60px;
    text-align: center;
}

.travel-adventures-hero-content .section-label {
    margin-bottom: 12px;
}

.travel-adventures-hero-content h1 {
    font-size: clamp(48px, 7vw, 80px);
    line-height: 1;
    letter-spacing: -2px;
    margin: 0 0 20px;
}

.travel-adventures-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
}

@media (max-width: 700px) {

    .travel-adventures-hero-image {
        border-radius: 12px;
    }

    .travel-adventures-hero-content {
        padding: 28px 20px 45px;
    }

    .travel-adventures-hero-content h1 {
        font-size: clamp(45px, 13vw, 65px);
        letter-spacing: -2px;
    }

    .travel-adventures-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

}

/* =========================
   FAMILY ADVENTURES HERO/* =========================
   FAMILY ADVENTURES HERO
========================= */

.family-adventures-page {
    background: var(--background);
}

.family-adventures-hero {
    padding: 0;
    margin: 0;
    text-align: center;
    background: var(--background);
}

.family-adventures-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.family-adventures-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.family-adventures-hero-content {
    padding: 35px 25px 60px;
    text-align: center;
}

.family-adventures-hero-content .section-label {
    margin-bottom: 12px;
}

.family-adventures-hero-content h1 {
    font-size: clamp(48px, 7vw, 80px);
    line-height: 1;
    letter-spacing: -2px;
    margin: 0 0 20px;
}

.family-adventures-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
}

@media (max-width: 700px) {

    .family-adventures-hero-image {
        border-radius: 12px;
    }

    .family-adventures-hero-content {
        padding: 28px 20px 45px;
    }

    .family-adventures-hero-content h1 {
        font-size: clamp(45px, 13vw, 65px);
        letter-spacing: -2px;
    }

    .family-adventures-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

}


/* =========================
   PLACES HERO
========================= */

.places-page {
    background: var(--background);
}

.places-hero {
    padding: 0;
    margin: 0;
    text-align: center;
    background: var(--background);
}

.places-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.places-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.places-hero-content {
    padding: 35px 25px 60px;
    text-align: center;
}

.places-hero-content .section-label {
    margin-bottom: 12px;
}

.places-hero-content h1 {
    font-size: clamp(48px, 7vw, 80px);
    line-height: 1;
    letter-spacing: -2px;
    margin: 0 0 20px;
}

.places-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
}

@media (max-width: 700px) {

    .places-hero-image {
        border-radius: 12px;
    }

    .places-hero-content {
        padding: 28px 20px 45px;
    }

    .places-hero-content h1 {
        font-size: clamp(45px, 13vw, 65px);
        letter-spacing: -2px;
    }

    .places-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

}

/* =========================
   MUNROS CATEGORY HERO
========================= */

.munros-category-hero {
    padding: 0;
    text-align: center;
    background: var(--background);
}

.munros-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.munros-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.munros-hero-content {
    padding: 35px 25px 60px;
    text-align: center;
}

.munros-hero-content .section-label {
    margin-bottom: 12px;
}

.munros-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto 28px;
    font-size: 18px;
    line-height: 1.7;
}

.munros-hero-content .munro-progress {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 265px;
    margin-top: 0;
    padding: 26px 42px 24px;
    background: #ffffff;
    border: 2px solid var(--green);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(24, 59, 42, 0.14);
}

.munros-hero-content .munro-progress strong {
    display: block;
    color: var(--green);
    font-size: 52px;
    line-height: 1;
    font-weight: 800;
}

.munros-hero-content .munro-progress span {
    display: block;
    margin-top: 8px;
    color: var(--dark-green);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

@media (max-width: 700px) {

    .munros-hero-image {
        border-radius: 12px;
    }

    .munros-hero-content {
        padding: 28px 20px 45px;
    }

    .munros-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

    .munros-hero-content .munro-progress {
        min-width: 230px;
        padding: 22px 30px 21px;
    }

    .munros-hero-content .munro-progress strong {
        font-size: 44px;
    }

}

/* =========================
   MAP CATEGORY HERO
========================= */

.map-category-hero {
    padding: 0;
    margin: 0;
    text-align: center;
    background: var(--background);
}

.map-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.map-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.map-hero-content {
    padding: 35px 25px 60px;
    text-align: center;
}

.map-hero-content .section-label {
    margin-bottom: 12px;
}

.map-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
}

@media (max-width: 700px) {

    .map-hero-image {
        border-radius: 12px;
    }

    .map-hero-content {
        padding: 28px 20px 45px;
    }

    .map-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

}

/* =========================
   OUTDOOR CALENDAR HERO
========================= */

.outdoor-calendar-category-hero {
    padding: 0;
    margin: 0;
    text-align: center;
    background: var(--background);
}

.calendar-hero-image {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 14px;
}

.calendar-hero-image img {
    width: 100%;
    height: auto;
    display: block;
}

.calendar-hero-content {
    padding: 35px 25px 60px;
    text-align: center;
}

.calendar-hero-content .section-label {
    margin-bottom: 12px;
}

.calendar-hero-content > p:not(.section-label) {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
}

@media (max-width: 700px) {

    .calendar-hero-image {
        border-radius: 12px;
    }

    .calendar-hero-content {
        padding: 28px 20px 45px;
    }

    .calendar-hero-content > p:not(.section-label) {
        font-size: 16px;
        line-height: 1.6;
    }

}

/* =========================
   SHOP HERO
========================= */

.shop-category-hero {
    position: relative;
    min-height: 430px;
    padding: 90px 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38)),
        url("/images/category-heroes/shop-hero.png");
    background-size: cover;
    background-position: center;
    color: #ffffff;
    overflow: hidden;
}

.shop-category-hero .section-label {
    position: relative;
    z-index: 1;
    color: #ffffff;
    margin-bottom: 12px;
}

.shop-category-hero h1 {
    position: relative;
    z-index: 1;
    color: #ffffff;
    margin-bottom: 18px;
}

.shop-category-hero > p {
    position: relative;
    z-index: 1;
    max-width: 700px;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.7;
    margin: 0;
}

@media (max-width: 700px) {

    .shop-category-hero {
        min-height: 360px;
        padding: 70px 20px;
        background-position: center;
    }

    .shop-category-hero > p {
        font-size: 16px;
        line-height: 1.6;
    }

}
@media (max-width: 600px) {
    main {
        padding-left: 16px;
        padding-right: 16px;
    }
}


/* =========================================================
   SITE-WIDE CONTENT FRAMING / HERO RESPONSIVENESS
   v63
   ========================================================= */

body {
    background: var(--background);
}

main {
    background: var(--background);
}

/* BLOG PAGE — white content with Soft Sage surround */
.blog-categories,
.blog-latest,
.ww-news-section {
    background: var(--white);
}

.blog-latest {
    padding-top: 70px;
    padding-bottom: 90px;
}

.ww-news-section {
    padding-left: 35px;
    padding-right: 35px;
}

/* BLOG / CATEGORY CONTENT */
.category-articles {
    background: var(--white);
}

.blog-hub,
.ww-places-page,
.ww-calendar-page,
.ww-shop-page {
    background: var(--white);
}

/* INDIVIDUAL BLOG POSTS, STORIES, HIKES, PLACES & STRUCTURED CONTENT */
.article-layout {
    background: var(--white);
    max-width: 1180px;
    margin: 0 auto;
    padding: 35px 35px 70px;
}

.rich-content {
    background: var(--white);
}

.munro-detail {
    background: var(--white);
}

/* HERO IMAGE WRAPPERS — less surrounding padding and fully responsive */
.about-image,
.contact-hero-image,
.stories-hero-image,
.collaborate-hero-image,
.camping-hero-image,
.hiking-hero-image,
.travel-adventures-hero-image,
.family-adventures-hero-image,
.places-hero-image,
.munros-hero-image,
.map-hero-image,
.calendar-hero-image {
    width: 100%;
    max-width: 1250px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

.about-image {
    height: auto;
    margin-bottom: 45px;
}

.about-image img,
.contact-hero-image img,
.stories-hero-image img,
.collaborate-hero-image img,
.camping-hero-image img,
.hiking-hero-image img,
.travel-adventures-hero-image img,
.family-adventures-hero-image img,
.places-hero-image img,
.munros-hero-image img,
.map-hero-image img,
.calendar-hero-image img {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
    object-fit: contain;
}

/* Category hero text sits closer to the image. */
.stories-hero-content,
.collaborate-hero-content,
.camping-hero-content,
.hiking-hero-content,
.travel-adventures-hero-content,
.family-adventures-hero-content,
.places-hero-content,
.munros-hero-content,
.map-hero-content,
.calendar-hero-content {
    padding-top: 22px;
    padding-bottom: 42px;
}

/* SHOP — clean white hero area; no grey box */
.shop-category-hero {
    position: relative;
    min-height: 0;
    padding: 20px 0 42px;
    display: block;
    text-align: center;
    background: #ffffff !important;
    background-image: none !important;
    color: var(--black);
    overflow: visible;
}

.shop-category-hero img {
    display: block;
    width: 100%;
    max-width: 1250px;
    height: auto;
    margin: 0 auto 22px;
    border-radius: 14px;
    object-fit: contain;
}

.shop-category-hero .section-label {
    position: static;
    color: var(--green);
    margin-bottom: 10px;
}

.shop-category-hero h1 {
    position: static;
    color: var(--black);
    margin-bottom: 14px;
}

.shop-category-hero > p {
    position: static;
    max-width: 700px;
    margin: 0 auto;
    color: var(--black);
    font-size: 18px;
    line-height: 1.7;
}

/* Keep the Soft Sage surround visible around white content on
   smaller screens without creating excessive empty padding. */
@media (max-width: 800px) {
    .article-layout {
        padding: 25px 20px 55px;
    }

    .ww-news-section {
        padding-left: 20px;
        padding-right: 20px;
    }

    .shop-category-hero {
        padding: 12px 0 30px;
    }

    .shop-category-hero img {
        margin-bottom: 18px;
        border-radius: 12px;
    }

    .shop-category-hero > p {
        font-size: 16px;
        line-height: 1.6;
    }
}

@media (max-width: 600px) {
    main {
        padding-left: 16px;
        padding-right: 16px;
    }

    .about-image,
    .contact-hero-image,
    .stories-hero-image,
    .collaborate-hero-image,
    .camping-hero-image,
    .hiking-hero-image,
    .travel-adventures-hero-image,
    .family-adventures-hero-image,
    .places-hero-image,
    .munros-hero-image,
    .map-hero-image,
    .calendar-hero-image,
    .shop-category-hero img {
        width: 100%;
        max-width: 100%;
    }

    .about-image {
        aspect-ratio: auto;
        margin-bottom: 35px;
    }

    .about-image img {
        height: auto !important;
        object-fit: contain !important;
    }

    .stories-hero-content,
    .collaborate-hero-content,
    .camping-hero-content,
    .hiking-hero-content,
    .travel-adventures-hero-content,
    .family-adventures-hero-content,
    .places-hero-content,
    .munros-hero-content,
    .map-hero-content,
    .calendar-hero-content {
        padding-top: 18px;
        padding-bottom: 35px;
    }

    .article-layout {
        padding: 22px 16px 50px;
    }
}

/* =========================================================
   SHOP CARD IMAGES — FULL IMAGE, NO CROPPING
========================================================= */

.ww-shop-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
    background: #ffffff !important;
}

/* =========================================================
   SHOP IMAGES — DISPLAY COMPLETE ORIGINAL IMAGE
========================================================= */

.shop-page .ww-shop-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
    margin: 0 !important;
}


/* WW: compact About dropdown */
.site-nav .nav-about-dropdown .nav-dropdown-menu{min-width:190px;width:max-content;max-width:min(90vw,260px);padding:8px 0;}
.site-nav .nav-about-dropdown .nav-dropdown-menu>a{display:block;white-space:nowrap;padding:10px 18px;}


/* ===========================================================
   Magazine article presentation (2026); visual only.
   Covers all existing/future pages using shared article classes.
   No article copy, SEO, images or URLs are changed.
   =========================================================== */
body:has(.article-page){background:#fbfcf7;color:#192c22}
body:has(.article-page) header{background:#f5f8f2;border-bottom:1px solid #e4e9df}
body:has(.article-page) header .header-container{max-width:1320px;min-height:79px}
body:has(.article-page) header .logo{max-width:145px;width:auto;max-height:64px;object-fit:contain}
body:has(.article-page) main{background:transparent;max-width:1400px;padding:0 26px}
body:has(.article-page) .article-page{background:transparent;padding:0 0 46px}
body:has(.article-page) .article-header{padding:58px 26px 31px;max-width:970px;text-align:left}
body:has(.article-page) .article-category{font-size:11px;color:#256444;text-transform:uppercase;letter-spacing:.2em;margin-bottom:13px}
body:has(.article-page) .article-header h1{font-family:Georgia,serif;letter-spacing:-.045em;color:#172b20;font-weight:700;font-size:clamp(40px,5vw,73px);line-height:1.03;margin:0 0 20px}
body:has(.article-page) .article-introduction{font-size:clamp(17px,1.7vw,21px);line-height:1.65;max-width:790px;margin:0 0 23px;color:#42574b}
body:has(.article-page) .article-meta{display:flex;flex-direction:row;gap:12px 24px;flex-wrap:wrap;align-items:center;justify-content:flex-start;color:#587061;font-size:12px;line-height:1.4}
body:has(.article-page) .article-meta span{display:inline-block}
body:has(.article-page) .article-meta-publisher{color:#234d37;font-weight:800}
body:has(.article-page) .article-featured-image{max-width:1150px;width:100%;height:auto;aspect-ratio:2.2;margin:0 auto;overflow:hidden;border-radius:12px;box-shadow:0 8px 35px rgba(18,48,32,.11)}
body:has(.article-page) .article-featured-image img{height:100%;width:100%;object-fit:cover}
body:has(.article-page) .article-body{max-width:830px;margin:auto;padding:48px 20px 35px}
body:has(.article-page) .article-body p,body:has(.article-page) .article-body li{font-size:17px;line-height:1.88;color:#32443a}
body:has(.article-page) .article-body p{margin-bottom:20px}
body:has(.article-page) .article-body h2,body:has(.article-page) .article-body h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.03em;color:#142d20}
body:has(.article-page) .article-body h2{font-size:clamp(28px,3vw,39px);line-height:1.15;margin:46px 0 18px;border-bottom:1px solid #dce6dc;padding-bottom:12px}
body:has(.article-page) .article-body h3{font-size:clamp(23px,2.4vw,29px);margin:30px 0 12px}
body:has(.article-page) .article-body img{max-width:100%;height:auto;border-radius:10px}
body:has(.article-page) .article-body figure{max-width:100%;margin:30px 0}
body:has(.article-page) .article-body figcaption{color:#617769;font-size:13px;margin-top:7px}
body:has(.article-page) .article-body blockquote{border-left:4px solid #377556;background:#edf3eb;border-radius:0 10px 10px 0;padding:20px 26px;margin:30px 0;font:italic 20px/1.65 Georgia,serif}
body:has(.article-page) .article-body a{color:#206541;text-underline-offset:3px}
body:has(.article-page) .article-share,body:has(.article-page) .related-posts,body:has(.article-page) .article-recommendation,body:has(.article-page) .article-back{max-width:1060px;margin-left:auto;margin-right:auto}
body:has(.article-page) .article-share{padding:25px 20px;border-top:1px solid #e1e9df;border-bottom:1px solid #e1e9df}
body:has(.article-page) .related-posts{padding:46px 0 32px}
body:has(.article-page) .related-posts h2,body:has(.article-page) .article-recommendation h2{font-family:Georgia,serif;color:#193526}
body:has(.article-page) .related-card{border-radius:10px;overflow:hidden;background:#fff;border:1px solid #e1e8df}
body:has(.article-page) .related-card img{aspect-ratio:1.65;object-fit:cover}
body:has(.article-page) .article-recommendation{padding:24px 32px;border-left:4px solid #357354;border-radius:0 9px 9px 0;background:#edf4eb}
body:has(.article-page) .article-back{padding:23px 12px}
body:has(.article-page) .site-footer{background:#0d3023}
@media(max-width:690px){body:has(.article-page) main{padding:0 14px}body:has(.article-page) .article-header{padding:38px 6px 23px}body:has(.article-page) .article-header h1{font-size:clamp(38px,9vw,55px)}body:has(.article-page) .article-meta{gap:7px 13px}body:has(.article-page) .article-featured-image{aspect-ratio:1.3;border-radius:7px}body:has(.article-page) .article-body{padding:32px 4px 25px}body:has(.article-page) .article-body p{font-size:16px}body:has(.article-page) .article-body h2{margin-top:33px}body:has(.article-page) .related-posts{padding:32px 0}}

/* WW October 2026: larger, left-anchored logo on every public header. */
header .header-container,header .header-container.mm-header-inner{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:1440px !important;
  margin-inline:auto !important;
  padding:8px clamp(12px,2.5vw,34px) !important;
  display:flex !important;
  flex-direction:row !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:clamp(12px,2.3vw,27px) !important;
  min-height:88px !important;
}
header .header-container > .logo-link{
  display:flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  justify-content:flex-start !important;
  margin:0 !important;
  padding:0 !important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;
}
header .header-container > .logo-link img.logo,
.mm-site .mm-header .logo,
header .header-container > .logo-link .logo{
  display:block !important;
  width:auto !important;
  height:74px !important;
  max-width:148px !important;
  max-height:74px !important;
  object-fit:contain !important;
}
@media (max-width:1250px){
  header .header-container,header .header-container.mm-header-inner{
    min-height:78px !important;
    padding:7px 15px !important;
    flex-direction:row !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:12px !important;
  }
  header .header-container > .logo-link img.logo,
  .mm-site .mm-header .logo,
  header .header-container > .logo-link .logo{
    height:65px !important;max-height:65px !important;width:auto !important;max-width:132px !important;
  }
  header .header-container .mobile-menu-toggle{margin:0 0 0 auto !important;position:relative !important;right:auto !important;top:auto !important;transform:none !important;flex:0 0 auto !important}
  header .header-container .header-search,header .header-container .mm-search{margin-left:0 !important;flex:0 0 auto !important}
  header .header-container > .site-nav,header .header-container > nav.site-nav{top:100% !important}
}
@media(max-width:760px){
  .mm-site .mm-header{height:auto !important;min-height:78px !important}
  header .header-container,header .header-container.mm-header-inner{min-height:78px !important;padding:7px 12px !important;gap:10px !important}
  header .header-container > .logo-link img.logo,.mm-site .mm-header .logo{height:64px !important;max-height:64px !important}
}


/* Wildly Wandering: visible full-size corner logo; desktop and mobile. */
header .header-container > .logo-link,
.mm-site header .header-container > .logo-link,
.mm-site .mm-header .logo-link{
  flex:0 0 118px !important;
  width:118px !important;
  min-width:118px !important;
  max-width:none !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
header .header-container > .logo-link img.logo,
.mm-site .mm-header .logo-link img.logo,
body:has(.article-page) header .logo-link img.logo {
  display:block !important;
  height:100px !important;
  max-height:none !important;
  width:118px !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  transform:none !important;
}
header .header-container,
header .header-container.mm-header-inner,
.mm-site .header-container.mm-header-inner{
  min-height:112px !important;
  height:auto !important;
  width:calc(100% - 36px) !important;
  max-width:1680px !important;
  margin:0 auto !important;
  padding:6px 0 !important;
  box-sizing:border-box !important;
  align-items:center !important;
}
.mm-site .mm-header{height:auto !important;min-height:112px !important}
@media(max-width:760px){
  header .header-container > .logo-link,
  .mm-site header .header-container > .logo-link,
  .mm-site .mm-header .logo-link{
    flex:0 0 94px !important;
    width:94px !important;min-width:94px !important;
  }
  header .header-container > .logo-link img.logo,
  .mm-site .mm-header .logo-link img.logo,
  body:has(.article-page) header .logo-link img.logo{
    height:82px !important;
    max-height:none !important;
    width:94px !important;
    max-width:none !important;
  }
  header .header-container,
  header .header-container.mm-header-inner,
  .mm-site .header-container.mm-header-inner{
    min-height:93px !important;
    width:calc(100% - 24px) !important;
    padding:5px 0 !important;
  }
  .mm-site .mm-header{min-height:93px !important}
}

/* Header logo correction: artwork with cropped whitespace */
header .header-container > a.logo-link,
.mm-site .mm-header .header-container > a.logo-link{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  flex:0 0 136px!important;width:136px!important;min-width:136px!important;
  padding:0!important;margin:0!important;line-height:0!important;
}
header .header-container > a.logo-link > img.logo,
.mm-site .mm-header .header-container > a.logo-link > img.logo{
  display:block!important;width:130px!important;height:120px!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:left center!important;margin:0!important;padding:0!important;transform:none!important;
}
header .header-container,.mm-site .header-container.mm-header-inner{
  min-height:130px!important;height:auto!important;max-width:1720px!important;width:calc(100% - 36px)!important;
  padding:5px 0!important;margin:0 auto!important;align-items:center!important;
}
.mm-site .mm-header{height:auto!important;min-height:130px!important}
@media(max-width:760px){
  header .header-container > a.logo-link,.mm-site .mm-header .header-container > a.logo-link{
    flex:0 0 108px!important;width:108px!important;min-width:108px!important;
  }
  header .header-container > a.logo-link > img.logo,.mm-site .mm-header .header-container > a.logo-link > img.logo{
    width:104px!important;height:96px!important;max-width:none!important;max-height:none!important;
  }
  header .header-container,.mm-site .header-container.mm-header-inner{
    min-height:106px!important;width:calc(100% - 24px)!important;padding:4px 0!important;
  }
  .mm-site .mm-header{min-height:106px!important}
}

/* Extra-large cropped logo: shared header, 2026-10-13 */
header .header-container > a.logo-link,
.mm-site .mm-header .header-container > a.logo-link{flex:0 0 174px!important;width:174px!important;min-width:174px!important;max-width:none!important;justify-content:flex-start!important;margin-left:0!important}
header .header-container > a.logo-link > img.logo,
.mm-site .mm-header .header-container > a.logo-link > img.logo{width:168px!important;height:154px!important;max-height:none!important;max-width:none!important;object-fit:contain!important;object-position:left center!important}
header .header-container,.mm-site .header-container.mm-header-inner{min-height:164px!important}
.mm-site .mm-header{min-height:164px!important}
@media(max-width:760px){
header .header-container > a.logo-link,
.mm-site .mm-header .header-container > a.logo-link{flex:0 0 132px!important;width:132px!important;min-width:132px!important}
header .header-container > a.logo-link > img.logo,
.mm-site .mm-header .header-container > a.logo-link > img.logo{width:128px!important;height:116px!important}
header .header-container,.mm-site .header-container.mm-header-inner{min-height:126px!important}
.mm-site .mm-header{min-height:126px!important}
}

/* WW October 2026 targeted responsive navigation and map CTA */
.ww-suggest-button{display:inline-flex;align-items:center;justify-content:center;margin-top:20px;padding:13px 23px;border-radius:999px;background:#245a3c;color:#fff!important;font-weight:750;text-decoration:none}.ww-suggest-button:hover{background:#153e2b}
header .header-container{min-width:0;box-sizing:border-box}header .header-container .logo-link{flex-shrink:0}header .header-container .logo{width:auto!important;max-width:min(47vw,230px)!important;height:auto!important;max-height:110px!important;object-fit:contain!important}
@media(max-width:760px){header .header-container{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;padding-left:12px!important;padding-right:12px!important}header .header-container .logo-link{margin-right:auto!important;min-width:0}header .header-container .logo{max-width:min(46vw,190px)!important;max-height:85px!important}header .header-container .mobile-menu-toggle,header .header-container .search-toggle,header .header-container .mm-search{position:relative!important;inset:auto!important;transform:none!important;flex:0 0 40px!important;width:40px!important;height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important}header .header-container .search-form{max-width:calc(100vw - 24px)!important;right:12px!important;left:auto!important;box-sizing:border-box!important}body{overflow-x:clip}}

/* WW Part 7: visible article breadcrumb removal and compact mobile header */
/* Hide only visible breadcrumb navigation on individual articles; JSON-LD SEO remains intact. */
body:has(article.article-page) .article-breadcrumb,
body:has(article.article-page) nav[aria-label="Breadcrumb"],
body:has(article.article-page) nav[aria-label="Breadcrumbs"],
body:has(.article-layout) .breadcrumbs,
body:has(.article-layout) .breadcrumb,
body:has(article.article-page) .breadcrumbs,
body:has(article.article-page) .breadcrumb,
body:has(.article-layout) nav[aria-label="Breadcrumb"] {display:none!important;}
body:has(article.article-page) .article-posthero:empty {display:none!important;}
/* Keep the two mobile controls visible and independent, including very narrow phones. */
@media(max-width:760px){
 header .header-container{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;isolation:isolate;}
 header .header-container > .logo-link{min-width:0!important;flex:1 1 auto!important;width:auto!important;max-width:calc(100% - 104px)!important;}
 header .header-container > .logo-link img.logo{width:min(44vw,174px)!important;max-width:100%!important;height:auto!important;max-height:92px!important;object-fit:contain!important;object-position:left center!important;}
 header .header-container > .mobile-menu-toggle,
 header .header-container > .header-search{flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;position:relative!important;inset:auto!important;transform:none!important;margin:0!important;}
 header .header-container > .header-search .search-toggle{position:relative!important;inset:auto!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;}
 header .header-container .search-form{position:absolute!important;left:auto!important;right:0!important;width:min(340px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;box-sizing:border-box!important;}
}
@media(max-width:360px){header .header-container{gap:5px!important;padding-left:8px!important;padding-right:8px!important;}header .header-container > .logo-link img.logo{width:min(42vw,148px)!important;}}

/* Phase 1: keep the brand prominent while reserving space for two separate controls. */
@media (max-width:760px) {
 header .header-container > .logo-link {max-width:calc(100% - 108px)!important;}
 header .header-container > .logo-link img.logo {width:min(51vw,205px)!important;max-width:100%!important;max-height:118px!important;}
 header .header-container {min-height:128px!important;}
 header .header-container > .header-search {z-index:35!important;}
 header .header-container .search-form {z-index:50!important;}
}
header .header-container .search-toggle:focus-visible,
header .header-container .mobile-menu-toggle:focus-visible {outline:3px solid #27785a;outline-offset:3px;}

/* Sitewide October 2026: stronger, larger desktop navigation */
@media (min-width: 801px) {
  header .site-nav > a,
  header .site-nav .nav-dropdown-toggle-link {
    font-size: 19px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.015em;
  }
  header .site-nav .nav-dropdown-toggle {
    font-size: 16px !important;
    font-weight: 800 !important;
  }
  header .site-nav { gap: clamp(13px, 1.55vw, 26px) !important; }
}

/* Magazine treatment for legacy search page, without modifying search.php */
body:has(>main>.page-hero>.section-label) main:has(.category-articles){max-width:1370px;margin:auto;padding:32px clamp(16px,4vw,52px) 70px}
body:has(>main>.page-hero>.section-label) main>.page-hero{border-radius:17px;background:#e8f0e7;padding:clamp(28px,5vw,64px);text-align:left;color:#204632}
body:has(>main>.page-hero>.section-label) main>.page-hero h1{font:700 clamp(44px,6vw,78px)/1.05 Georgia,serif;color:#19412e}
body:has(>main>.page-hero>.section-label) main>.category-articles{background:#fff;border-radius:16px;padding:clamp(22px,4vw,52px)}
body:has(>main>.page-hero>.section-label) .category-articles .article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body:has(>main>.page-hero>.section-label) .search-result-card{border:1px solid #dce8dd;background:#fff;border-radius:12px;overflow:hidden;min-width:0}
body:has(>main>.page-hero>.section-label) .search-result-card .article-image{aspect-ratio:1.55;overflow:hidden}
body:has(>main>.page-hero>.section-label) .search-result-card .article-image img{width:100%;height:100%;object-fit:cover}
body:has(>main>.page-hero>.section-label) .search-result-card .article-content{padding:22px}
@media(max-width:950px){body:has(>main>.page-hero>.section-label) .category-articles .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body:has(>main>.page-hero>.section-label) .category-articles .article-grid{grid-template-columns:1fr}}


/* WW 2026-10-25: keep existing blog/story titles inside their featured photo. */
body:has(article.article-page) article.article-page > .article-featured-image.ww-hero-text-host{
 position:relative!important;display:flex!important;align-items:center!important;
 width:100%!important;max-width:1150px!important;min-height:560px!important;
 height:auto!important;aspect-ratio:auto!important;margin:0 auto!important;
 overflow:hidden!important;border-radius:12px!important;isolation:isolate!important;
}
body:has(article.article-page) article.article-page > .article-featured-image.ww-hero-text-host > img{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
 max-height:none!important;object-fit:cover!important;z-index:0!important;
}
body:has(article.article-page) article.article-page > .article-featured-image.ww-hero-text-host::before{
 content:""!important;position:absolute!important;inset:0!important;z-index:1!important;
 background:linear-gradient(90deg,rgba(4,21,13,.82),rgba(6,24,16,.43) 76%,rgba(6,24,16,.28))!important;
}
body:has(article.article-page) article.article-page > .article-featured-image.ww-hero-text-host > .article-header{
 position:relative!important;inset:auto!important;left:auto!important;top:auto!important;bottom:auto!important;right:auto!important;
 transform:none!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;
 justify-content:center!important;z-index:2!important;width:100%!important;max-width:100%!important;
 height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
 padding:clamp(30px,5vw,68px)!important;margin:0!important;background:transparent!important;
 box-shadow:none!important;border:0!important;box-sizing:border-box!important;text-align:left!important;
}
body:has(article.article-page) .ww-hero-text-host > .article-header .article-category{
 position:static!important;color:#fff!important;background:#14613e!important;
 padding:7px 17px!important;border-radius:30px!important;margin:0 0 21px!important;
}
body:has(article.article-page) .ww-hero-text-host > .article-header h1{
 position:static!important;color:white!important;text-shadow:0 2px 14px rgba(0,0,0,.62)!important;
 font:700 clamp(29px,4.2vw,60px)/1.1 Georgia,serif!important;letter-spacing:-.025em!important;
 max-width:100%!important;overflow-wrap:break-word!important;white-space:normal!important;
 margin:0 0 18px!important;padding:0!important;
}
body:has(article.article-page) .ww-hero-text-host > .article-header .article-introduction{
 position:static!important;color:white!important;text-shadow:0 2px 10px rgba(0,0,0,.7)!important;
 font-size:clamp(15px,1.5vw,19px)!important;line-height:1.5!important;max-width:790px!important;
 width:100%!important;height:auto!important;max-height:none!important;display:block!important;
 overflow:visible!important;white-space:normal!important;margin:0!important;padding:0!important;
 line-clamp:unset!important;-webkit-line-clamp:unset!important;
}
body:has(article.article-page) .ww-hero-text-host > .article-header .article-meta{display:none!important;}
@media(max-width:700px){
 body:has(article.article-page) article.article-page > .article-featured-image.ww-hero-text-host{min-height:500px!important;}
 body:has(article.article-page) .ww-hero-text-host > .article-header{padding:30px 22px!important;}
 body:has(article.article-page) .ww-hero-text-host > .article-header h1{font-size:clamp(29px,7vw,43px)!important;}
 body:has(article.article-page) .ww-hero-text-host > .article-header .article-introduction{font-size:15px!important;}
}


/* WW 2026-10-25 — search icons only, consistent forest green on every page.
   Cover original header and magazine layouts, including SVG stroke and icon fonts. */
html body header .search-toggle,
html body header .mm-search,
html body header .mm-search-toggle,
html body header .search-button,
html body header button[aria-label*="search" i],
html body header button[aria-label*="Search"],
html body header .header-search button {
  color: #165c3c !important;
  -webkit-text-fill-color: #165c3c !important;
}
html body header .search-toggle svg,
html body header .search-toggle svg *,
html body header .mm-search svg,
html body header .mm-search svg *,
html body header .mm-search-toggle svg,
html body header .mm-search-toggle svg *,
html body header .search-button svg,
html body header .search-button svg *,
html body header .header-search button svg,
html body header .header-search button svg * {
  stroke: #165c3c !important;
}
html body header .search-toggle .fa-search,
html body header .search-toggle .fas,
html body header .mm-search .fa-search,
html body header .header-search .fa-search {
  color: #165c3c !important;
  -webkit-text-fill-color: #165c3c !important;
}

/* 2026-10-25 header search icon — all site header variants */
html body header :is(.search-toggle,.mm-search,.mm-search-toggle,.search-button,.ww-map-header-search,.search-icon,.search-svg),
html body header :is(.search-toggle,.mm-search,.mm-search-toggle,.search-button,.ww-map-header-search,.search-icon,.search-svg) :is(svg,i,span),
html body header a[aria-label*="search" i],html body header button[aria-label*="search" i]{color:#165c3c!important;-webkit-text-fill-color:#165c3c!important;}
html body header :is(.search-toggle,.mm-search,.mm-search-toggle,.search-button,.ww-map-header-search,.search-icon) svg,
html body header :is(.search-toggle,.mm-search,.mm-search-toggle,.search-button,.ww-map-header-search,.search-icon) svg *{stroke:#165c3c!important;}

/* WW search icon colour — final scoped override, 2026-10-25.
   Handles SVG icons with explicit stroke/fill, and Lucide/Font Awesome. */
html body header :is(.header-search,.search-toggle,.search-button,.mm-search,.mm-search-toggle,.ww-map-header-search),
html body header :is(.header-search,.search-toggle,.search-button,.mm-search,.mm-search-toggle,.ww-map-header-search) :is(a,button,svg,i),
html body header :is(a,button)[aria-label*="search" i],
html body header :is(a,button)[title*="search" i] {
  color:#165c3c !important;
  -webkit-text-fill-color:#165c3c !important;
}
html body header :is(.header-search,.search-toggle,.search-button,.mm-search,.mm-search-toggle,.ww-map-header-search) svg,
html body header :is(.header-search,.search-toggle,.search-button,.mm-search,.mm-search-toggle,.ww-map-header-search) svg :is(path,circle,line,polyline,ellipse,rect),
html body header :is(a,button)[aria-label*="search" i] svg,
html body header :is(a,button)[aria-label*="search" i] svg * {
  stroke:#165c3c !important;
}
html body header :is(.header-search,.search-toggle,.search-button,.mm-search,.mm-search-toggle,.ww-map-header-search) :is(.fa-search,.fa-magnifying-glass){
  color:#165c3c !important;
  -webkit-text-fill-color:#165c3c !important;
}
