            /* ============================================================
            THE COCKTAIL TRAIL CO — style.css
            Organised: Fonts → Variables → Base → Layout → Components
            ============================================================ */
            
            /* ============================================================
            1. FONTS
            ============================================================ */
            
            @font-face {
                font-family: "Lovelo";
                src: url("../fonts/LoveloBlack.woff2") format("woff2");
                font-weight: 400;
                font-style: normal;
                font-display: swap;
            }
            
            @font-face {
                font-family: "Canva Sans";
                src:
                    url("../fonts/canva-sans.woff2") format("woff2"),
                    url("../fonts/canva-sans.woff") format("woff");
                font-weight: 400;
                font-style: normal;
                font-display: swap;
            }
            
            /* ============================================================
            2. VARIABLES
            ============================================================ */
            
            :root {
                --bg: #fffaed;
                --header-bg: #fffaed;
                --orange: #ed7534;
                --orange-dark: #da6220;
                --blue: #83b8d6;
                --text: #1b1b1b;
                --white: #ffffff;
            
                --menu-size: 20px;
                --hero-archivo: 95px;
                --hero-script: 47px;
                --title-script: 74px;
                --body-size: 21px;
                --footer-size: 21px;
                --juicy-size: 41px;
            
                --container: 1366px;
            }
            
            /* ============================================================
            3. BASE RESET & GLOBALS
            ============================================================ */
            
            *,
            *::before,
            *::after {
                box-sizing: border-box;
            }
            html,
            body {
                /*height: 100%;*/
                overflow-x: hidden; /* FIX: prevent horizontal scroll */
            }
            
            body {
                margin: 0;
                background: var(--bg);
                color: var(--text);
                font-family:
                    "Avenir", "Avenir Next", "Century Gothic", system-ui, sans-serif;
                font-size: var(--body-size);
                line-height: 1.45;
            }
            
            img {
                max-width: 100%;
                height: 70px;
                display: block;
            }
            a {
                color: inherit;
                text-decoration: none;
            }
            a:hover {
                text-decoration: underline;
            }
            
            .container {
                width: min(var(--container), calc(100% - 40px));
                margin: 0 auto;
            }
            
            .sr-only {
                position: absolute;
                width: 1px;
                height: 1px;
                padding: 0;
                margin: -1px;
                overflow: hidden;
                clip: rect(0, 0, 0, 0);
                white-space: nowrap;
                border: 0;
            }
            
            .split-word {
                display: inline-block;
                white-space: nowrap;
            }
            .split-char {
                display: inline-block;
                -webkit-background-clip: text;
                background-clip: text;
                paint-order: stroke fill;
            }
            
            body.nav-open {
                overflow: hidden;
            }
            
            /* ============================================================
            4. HEADER & NAV
            ============================================================ */
            
            .site-header {
                background: var(--header-bg);
                border-bottom: 1px solid rgba(0, 0, 0, 0.06);
                position: relative; /* anchor for mobile dropdown */
            }
            
            .header-inner {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 20px;
                padding: 26px 76px;
            }
            
            /* Branding */
            .site-branding {
                flex-shrink: 0;
            }
            .custom-logo {
                max-height: 56px;
                width: auto;
            }
            
            .text-logo {
                font-family: "Archivo Black", system-ui, sans-serif;
                letter-spacing: 0.5px;
                font-size: 22px;
                color: var(--orange-dark);
            }
            
            /* ── Desktop nav ─────────────────────────── */
            .site-nav {
                display: flex;
                align-items: center;
                justify-content: flex-end;
                gap: 18px;
            }
            
            .site-nav .menu {
                list-style: none;
                display: flex;
                gap: 18px;
                margin: 0;
                padding: 0;
                align-items: center;
            }
            
            .site-nav .menu > li > a {
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: var(--menu-size);
                color: var(--orange-dark);
                letter-spacing: 0.4px;
                text-transform: uppercase;
            }
            
            .site-nav .menu li {
                position: relative;
            }
            
            /* Dropdown */
            .site-nav .menu .sub-menu {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                min-width: 220px;
                margin: 0;
                padding: 10px 0;
                list-style: none;
                background: var(--bg);
                border: 1px solid rgba(0, 0, 0, 0.08);
                box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
                z-index: 50;
            }
            
            .site-nav .menu .sub-menu li a {
                display: block;
                padding: 10px 14px;
                font-family: "Archivo Black", system-ui, sans-serif;
                font-size: 16px;
                color: var(--orange-dark);
                text-transform: uppercase;
                letter-spacing: 0.3px;
                white-space: nowrap;
            }
            
            .site-nav .menu li:hover > .sub-menu,
            .site-nav .menu li:focus-within > .sub-menu {
                display: block;
            }
            
            /* FIX: invisible bridge fills any sub-pixel gap between link and dropdown */
            .site-nav .menu li::after {
                content: "";
                position: absolute;
                top: 100%;
                left: 0;
                width: 100%;
                height: 8px;
                display: none;
            }
            .site-nav .menu li:hover::after {
                display: block;
            }
            
            /* ── Hamburger button ────────────────────── */
            .nav-toggle {
                display: none; /* hidden on desktop */
                background: none;
                border: none;
                padding: 10px;
                cursor: pointer;
                flex-shrink: 0;
            }
            
            .nav-toggle-bars {
                display: block;
                width: 26px;
                height: 2px;
                background: var(--orange-dark);
                position: relative;
            }
            .nav-toggle-bars::before,
            .nav-toggle-bars::after {
                content: "";
                position: absolute;
                left: 0;
                width: 26px;
                height: 2px;
                background: var(--orange-dark);
            }
            .nav-toggle-bars::before {
                top: -7px;
            }
            .nav-toggle-bars::after {
                top: 7px;
            }
            
            /* Sub-menu toggle arrow (mobile only) */
            .submenu-toggle {
                background: transparent;
                border: none;
                cursor: pointer;
                padding: 0 8px;
                font-size: 1rem;
                color: var(--orange-dark);
                display: none; /* shown only in mobile MQ */
            }
            
            /* ============================================================
            5. HERO
            ============================================================ */
            
            .hero {
                position: relative;
                width: 100%;
                height: 421px;
                overflow: hidden;
                background: var(--bg);
                margin: 0;
                padding: 0;
            }
            
            .hero-media {
                position: absolute;
                inset: 0;
                width: 100%;
                background-image: url("../images/hero.jpg");
                background-size: cover;
                background-position: center top;
                filter: saturate(1.02) contrast(1.02);
            }
            
            /* Page-specific hero images */
            .hero-media--contact {
                background-image: url("../images/hero-contact.jpg");
                background-position: center;
            }
            .hero-media--about {
                background-image: url("../images/about-hero2.jpg");
                background-position: center;
            }
            .hero-media--magazine {
                background-image: url("../images/magazine-hero2.jpg");
            }
            .hero-media--buytickets {
                background-image: url("../images/tickets-hero.jpg");
            }
            .hero-media--getinvolved {
                background-image: url("../images/hero-getinvolved.jpg");
                background-position: center;
            }
            .hero-media--trails {
                background-image: url("../images/hero-trails.jpg");
                background-position: center;
                background-size: inherit;
            }
            .hero-media--destinations {
                background-image: url("../images/hero-destinations.jpg");
            }
            
            .hero-overlay {
                position: absolute;
                inset: 0;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 30px;
            }
            
            .hero-text {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 28px;
                text-align: center;
            }
            
            .hero-script {
                font-family: "Lovelo";
                font-size: var(--hero-script);
                line-height: 0.85;
                color: var(--white);
                text-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
            }
            
            .hero-btn {
                font-size: 20px;
                padding: 14px 48px;
                letter-spacing: 1.5px;
            }
            
            /* ============================================================
            6. BUTTONS
            ============================================================ */
            
            .btn {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 10px;
                border-radius: 4px;
                padding: 14px 6px;
                font-family: "Lovelo", system-ui, sans-serif;
                letter-spacing: 0.6px;
                text-transform: uppercase;
                cursor: pointer;
                border: 2px solid transparent;
                transition:
                    transform 0.08s ease,
                    background 0.12s ease,
                    border-color 0.12s ease;
                user-select: none;
                font-size: 23px;
            }
            .btn:active {
                transform: translateY(1px);
            }
            
            .btn--primary {
                background: #da6220;
                color: var(--white);
            }
            .btn--primary:hover {
                text-decoration: none;
                filter: brightness(0.98);
            }
            
            .btn--outline {
                background: transparent;
                color: var(--orange);
                border-color: var(--orange);
                padding: 10px 22px;
            }
            .btn--outline:hover {
                text-decoration: none;
                background: rgba(237, 117, 52, 0.08);
            }
            
            .btn--ghost {
                background: transparent;
                border-color: transparent;
                color: var(--white);
                padding: 10px 12px;
                font-size: 18px;
            }
            
            .btn--buy-blue {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                background: #83b8d6;
                color: var(--white);
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 17px;
                letter-spacing: 1.2px;
                text-transform: uppercase;
                padding: 14px 28px;
                border-radius: 4px;
                border: 1px solid var(--orange);
                cursor: pointer;
                transition: filter 0.12s ease;
                white-space: nowrap;
                position: relative;
                z-index: 1;
            }
            .btn--buy-blue:hover {
                text-decoration: none;
                filter: brightness(0.95);
            }
            
            
            .btn--buy-orange {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                background: var(--orange);
                color: var(--white);
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 17px;
                letter-spacing: 1.2px;
                text-transform: uppercase;
                padding: 18px 28px 14px 28px;
                border-radius: 4px;
                border: 1px solid var(--orange);
                cursor: pointer;
                transition: filter 0.12s ease;
                white-space: nowrap;
                position: relative;
                z-index: 1;
            }
            .btn--buy-orange:hover {
                text-decoration: none;
                filter: brightness(0.95);
            }
            
            .btn--read-more {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                background: var(--orange-dark);
                color: var(--white);
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 20px;
                letter-spacing: 2px;
                text-transform: uppercase;
                padding: 18px 52px;
                border-radius: 4px;
                border: none;
                cursor: pointer;
                transition: filter 0.12s ease;
                white-space: nowrap;
                flex-shrink: 0;
                margin-top: 0;
            }
            .btn--read-more:hover {
                text-decoration: none;
                filter: brightness(0.95);
            }
            
            .btn--see-availability {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                background: var(--blue);
                color: var(--white);
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 18px;
                letter-spacing: 2px;
                text-transform: uppercase;
                padding: 16px 40px;
                border-radius: 4px;
                border: 1px solid var(--orange);
                cursor: pointer;
                transition: filter 0.12s ease;
                white-space: nowrap;
            }
            .btn--see-availability:hover {
                text-decoration: none;
                filter: brightness(0.92);
            }
            
            /* ============================================================
            7. BREADCRUMBS
            ============================================================ */
            
            .breadcrumbs {
                padding: 0.6rem 0;
                font-size: 0.85rem;
            }
            
            .breadcrumbs__list {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                list-style: none;
                margin: 0;
                padding: 0;
                gap: 0.25rem;
                text-transform: uppercase;
                font-size: 16px;
            }
            
            .breadcrumbs__item a {
                color: var(--orange);
                text-decoration: none;
            }
            .breadcrumbs__item a:hover {
                text-decoration: none;
                opacity: 0.8;
            }
            .breadcrumbs__item--current .breadcrumb__current {
                color: var(--orange);
                font-weight: 600;
            }
            .breadcrumbs__sep {
                color: var(--orange);
                padding: 0 0.45rem;
            }
            
            /* ============================================================
            8. HOME — EVENT STRIP
            ============================================================ */
            
            .event-strip {
                background: var(--bg);
                padding: 0 0 52px;
            }
            
            .event-strip-inner {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 32px;
                align-items: start;
            }
            
            .event-card {
                display: flex;
                flex-direction: column;
                gap: 18px;
                text-decoration: none;
            }
            .event-card:hover {
                text-decoration: none;
            }
            
            .event-card__img-wrap {
                position: relative;
                overflow: hidden;
                line-height: 0;
            }
            
            .event-card__img-wrap img {
                width: 100%;
                height: 640px;
                object-fit: cover;
                display: block;
                transition: transform 0.35s ease;
            }
            .event-card:hover .event-card__img-wrap img {
                transform: scale(1.03);
            }
            
            .event-card__pill {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                background: var(--orange);
                color: var(--white);
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 22px;
                letter-spacing: 1.5px;
                text-transform: uppercase;
                padding: 19px 28px 15px;
                border-radius: 6px;
                white-space: nowrap;
                pointer-events: none;
            }
            
            .event-card__caption {
                font-family: "Lavonia Classy", "Brush Script MT", cursive;
                font-size: 22px;
                color: var(--orange);
                text-align: center;
                margin: 0;
                line-height: 1.3;
                letter-spacing: 0.3px;
            }
            
            /* ============================================================
            9. HOME — WHAT IS THE COCKTAIL TRAIL
            ============================================================ */
            
            .what-is {
                padding: 46px 0 70px;
                background: var(--bg);
            }
            
            .what-is-inner {
                display: grid;
                grid-template-columns: 1fr 200px;
                gap: 32px;
                align-items: center;
            }
            
            .what-is-title {
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 30px;
                font-weight: 400;
                color: var(--orange);
                margin: 0 0 18px;
                line-height: 1.1;
                text-transform: none;
                letter-spacing: 0.3px;
            }
            .what-is-title2 {
                font-size: 25px;
                text-align: center;
            }
            
            .what-is-copy {
                font-family:
                    "Avenir", "Avenir Next", "Century Gothic", system-ui, sans-serif;
                font-size: 23px;
                color: var(--blue);
                line-height: 1.5;
                margin: 0;
                text-align: justify;
            }
            
            .what-is-text {
                margin-left: 160px;
                max-width: 38em;
            }
            
            .what-is-cta {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 0;
                min-width: 190px;
            }
            
            .what-is-img-wrap {
                position: relative;
                z-index: 1;
                margin-bottom: -20px;
                margin-right: 320px;
            }
            .what-is-glasses {
                width: 190px;
                height: auto;
                display: block;
            }
            
            /* ============================================================
            10. HOME — HOW IT WORKS
            ============================================================ */
            /* Hide mobile title on desktop */
            .how-it-works__title--mobile {
                display: none;
                color: white !important;
                text-align: center !important;
            }
            
            .how-it-works {
                position: relative;
                background: var(--bg);
                padding: 0;
                min-height: 600px;
            }
            
            /* Full-width blue top half */
            .how-it-works::before {
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                height: 300px;
                background: var(--blue);
                z-index: 0;
            }
            
            .how-it-works__divider {
                position: absolute;
                left: 0;
                right: 0;
                top: 300px;
                height: 5px;
                background: var(--orange);
                z-index: 0;
                pointer-events: none;
            }
            
            .how-it-works__blue {
                width: min(var(--container), calc(100% - 40px));
                margin: 0 auto;
                display: grid;
                grid-template-columns: 42% 1fr;
                align-items: stretch;
                min-height: 600px;
                position: relative;
                z-index: 1;
            }
            
            .how-it-works__photo-wrap {
                position: relative;
                overflow: hidden;
                z-index: 1;
            }
            
            .how-it-works__photo-wrap img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center top;
                display: block;
            }
            
            .how-it-works__content {
                padding: 40px 48px 40px 52px;
                display: flex;
                flex-direction: column;
                justify-content: flex-start;
                gap: 22px;
                text-align: right;
                position: relative;
                z-index: 1;
            }
            
            .how-it-works__title {
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 28px;
                letter-spacing: 0.8px;
                text-transform: uppercase;
                color: var(--white);
                margin: 0;
                line-height: 1.1;
            }
            
            .how-it-works__copy {
                font-size: var(--body-size);
                color: var(--white);
                line-height: 1.55;
                margin: 0;
                text-align: justify;
            }
            
            .how-it-works__actions {
                position: absolute;
                top: 300px;
                left: 2.5em;
                right: 0;
                transform: translateY(-50%);
                display: flex;
                align-items: center;
                justify-content: flex-start;
                z-index: 1;
            }
            
            .how-it-works__illustration {
                position: relative;
                margin-bottom: -80px;
                flex-shrink: 0;
                line-height: 0;
            }
            
            .how-it-works__illustration img {
                height: auto;
                display: block;
                left: 1em;
                margin-left: 7em;
                margin-top: 8em;
            }
            
            /* ============================================================
            11. HOME — JUICY NEWS (newsletter strip)
            ============================================================ */
            
            .pick-trail__title {
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 24px;
                font-weight: 400;
                color: var(--orange);
                letter-spacing: 1px;
                text-transform: uppercase;
                margin: 20px 0 0;
                line-height: 1.1;
                text-align: center;
                display: none;
            }
            
            .juicy-news {
                background: var(--orange);
                color: var(--white);
                padding: 18px 0;
                margin-top: 16px;
            }
            
            .juicy-inner {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 18px;
                flex-wrap: wrap;
            }
            
            .juicy-left {
                display: flex;
                align-items: center;
                gap: 14px;
                flex-wrap: wrap;
            }
            
            .juicy-title {
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: var(--juicy-size);
                text-transform: uppercase;
                letter-spacing: 1px;
            }
            
            .juicy-subtitle {
                font-size: 18px;
                opacity: 0.95;
            }
            
            .juicy-form {
                display: flex;
                align-items: center;
                gap: 10px;
                min-width: min(520px, 100%);
            }
            
            .juicy-form input {
                flex: 1;
                height: 42px;
                border-radius: 2px;
                border: 2px solid rgba(255, 255, 255, 0.65);
                background: transparent;
                color: var(--white);
                padding: 0 12px;
                font-size: 18px;
                outline: none;
            }
            .juicy-form input::placeholder {
                color: rgba(255, 255, 255, 0.85);
            }
            
            /* ============================================================
            12. TESTIMONIALS
            ============================================================ */
            
            .testimonials {
                background: var(--bg);
                padding: 64px 0 60px;
            }
            
            .testimonials-grid {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 28px;
            }
            
            .testimonial-card {
                background: var(--blue);
                border: 2px solid var(--orange);
                border-radius: 2px;
                padding: 12px 28px 10px;
                margin: 0;
                display: flex;
                flex-direction: column;
                gap: 18px;
            }
            
            .testimonial-card__quote-mark {
                font-family: "Archivo Black", Georgia, serif;
                font-size: 52px;
                line-height: 0.8;
                color: var(--white);
                opacity: 0.85;
                display: block;
                font-style: italic;
            }
            
            .testimonial-card__body {
                font-family:
                    "Avenir", "Avenir Next", "Century Gothic", system-ui, sans-serif;
                font-size: 17px;
                color: var(--white);
                line-height: 1.4;
                margin: 0;
                text-align: justify;
                flex: 1;
            }
            
            .testimonial-card__author {
                font-family:
                    "Avenir", "Avenir Next", "Century Gothic", system-ui, sans-serif;
                font-size: 17px;
                font-weight: 600;
                color: var(--white);
                letter-spacing: 0.4px;
        
            }
            
            /* ============================================================
            13. PHOTO COLLAGE
            ============================================================ */
            
            .collage {
                background: var(--bg);
                padding: 0;
            }
            
            .collage-grid {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 0;
            }
            .collage-grid img {
                width: 100%;
                height: 280px;
                object-fit: cover;
            }
            
            /* ============================================================
            14. INNER PAGES (generic content)
            ============================================================ */
            
            .content-wrap {
                padding: 36px 0 60px;
            }
            
            .page-title {
                font-family: "Archivo Black", system-ui, sans-serif;
                color: var(--orange-dark);
                margin: 0 0 18px;
                text-transform: uppercase;
                letter-spacing: 0.8px;
            }
            
            .wysiwyg p {
                margin: 0 0 14px;
            }
            
            /* ============================================================
            15. CONTACT PAGE
            ============================================================ */
            
            .contact-page {
                background: var(--bg);
                padding: 52px 0 72px;
            }
            
            .contact-title {
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 42px;
                font-weight: 400;
                color: var(--orange);
                text-align: center;
                letter-spacing: 2px;
                text-transform: uppercase;
                margin: 0 0 48px;
            }
            
            .contact-grid {
                display: grid;
                grid-template-columns: 42% 1fr;
                grid-template-areas:
                    "left intro"
                    "left right";
                gap: 24px 64px;
                align-items: start;
            }
            
            .contact-left {
                grid-area: left;
            }
            
            .contact-intro {
                grid-area: intro;
                margin: 0;
                color: var(--blue);
            }
            
            .contact-right {
                grid-area: right;
                display: flex;
                flex-direction: column;
                gap: 28px;
            }
            
            .contact-map {
                position: relative;
                width: 100%;
                height: 215px;
                overflow: hidden;
                background: #d0dfe8;
                flex-shrink: 0;
            }
            .contact-map iframe {
                width: 100%;
                height: 100%;
                display: block;
            }
            
            .contact-map__label {
                position: absolute;
                bottom: 0;
                left: 0;
                right: 0;
                background: rgba(131, 184, 214, 0.82);
                color: var(--white);
                font-family: "Archivo Black", system-ui, sans-serif;
                font-size: 14px;
                letter-spacing: 1.5px;
                text-transform: uppercase;
                padding: 9px 16px;
                text-align: center;
            }
            
            .contact-photo {
                flex: 1;
                min-height: 530px;
                background-repeat: no-repeat;
                background-position: center center;
                /*margin-top: -68px;*/
            }
            
            .about-photo {
                flex: 1;
                min-height: 470px;
                background-repeat: no-repeat;
                background-position: center center;
            }
            
        
            
            .contact-email {
                font-family:
                    "Avenir", "Avenir Next", "Century Gothic", system-ui, sans-serif;
                font-size: 18px;
                font-style: italic;
                color: var(--blue);
                margin: 0;
            }
            .contact-email a {
                color: var(--blue);
                text-decoration: underline;
            }
            .contact-email a:hover {
                color: var(--orange);
            }
            
            /* Gravity Forms overrides */
            .contact-right .gform_wrapper {
                margin: 0 !important;
            }
            .contact-right .gform_body {
                width: 100%;
            }
            .contact-right .gform_wrapper .gfield {
                margin-bottom: 16px !important;
                padding: 0 !important;
            }
            .contact-right .gform_wrapper .gfield_label {
                display: none !important;
            }
            
            .contact-right .gform_wrapper input[type="text"],
            .contact-right .gform_wrapper input[type="email"],
            .contact-right .gform_wrapper input[type="tel"],
            .contact-right .gform_wrapper input[type="number"],
            .contact-right .gform_wrapper input[type="url"],
            .contact-right .gform_wrapper textarea {
                width: 100% !important;
                border: 1px solid var(--orange) !important;
                border-radius: 0 !important;
                background: transparent !important;
                color: var(--blue) !important;
                font-family: "Canva Sans", system-ui, sans-serif !important;
                font-size: 17px !important;
                padding: 14px 16px !important;
                outline: none !important;
                box-shadow: none !important;
                transition: border-color 0.15s ease !important;
                -webkit-appearance: none;
                appearance: none;
            }
            .contact-right .gform_wrapper input:focus,
            .contact-right .gform_wrapper textarea:focus {
                border-color: var(--orange-dark) !important;
            }
            .contact-right .gform_wrapper input::placeholder,
            .contact-right .gform_wrapper textarea::placeholder {
                color: var(--blue) !important;
                opacity: 0.75 !important;
            }
            .contact-right .gform_wrapper textarea {
                height: 180px !important;
                resize: vertical !important;
            }
            .contact-right .gform_wrapper .gform_footer,
            .contact-right .gform_wrapper .gform_page_footer {
                margin: 8px 0 0 !important;
                padding: 0 !important;
            }
            
            .contact-right .gform_wrapper input[type="submit"],
            .contact-right .gform_wrapper button[type="submit"] {
                background: var(--blue) !important;
                color: var(--white) !important;
                font-family: "Archivo Black", system-ui, sans-serif !important;
                font-size: 18px !important;
                letter-spacing: 2px !important;
                text-transform: uppercase !important;
                border: none !important;
                border-radius: 4px !important;
                padding: 16px 52px !important;
                cursor: pointer !important;
                transition: filter 0.12s ease !important;
            }
            .contact-right .gform_wrapper input[type="submit"]:hover,
            .contact-right .gform_wrapper button[type="submit"]:hover {
                filter: brightness(0.92) !important;
                text-decoration: none !important;
            }
            
            .contact-right .gform_wrapper .gfield_error input,
            .contact-right .gform_wrapper .gfield_error textarea {
                border-color: #c0392b !important;
            }
            .contact-right .gform_wrapper .validation_message {
                color: #c0392b !important;
                font-size: 13px !important;
                margin-top: 4px !important;
                padding: 0 !important;
                background: none !important;
                border: none !important;
            }
            .contact-right .gform_wrapper .gform_validation_errors {
                display: none !important;
            }
            
            /* ============================================================
            16. TRAILS PAGE
            ============================================================ */
            
            .trails-page {
                background: var(--bg);
                padding: 56px 0 72px;
            }
            
            .trails-intro {
                font-family:
                    "Avenir", "Avenir Next", "Century Gothic", system-ui, sans-serif;
                font-size: 20px;
                color: var(--blue);
                line-height: 1.55;
                text-align: justify;
                margin: 0 auto 52px;
                padding: 0 7em;
            }
            
            .trails-grid {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 24px;
            }
            
            .trail-card {
                position: relative;
                display: block;
                text-decoration: none;
                border-radius: 4px;
                overflow: hidden;
            }
            .trail-card:hover {
                text-decoration: none;
            }
            
            .trail-card__img {
                width: 100%;
                padding-top: 130%;
                background-size: cover;
                background-position: center;
                transition: transform 0.4s ease;
            }
            .trail-card:hover .trail-card__img {
                transform: scale(1.04);
            }
            
            .trail-card__label {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                background: var(--orange);
                color: var(--white);
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 18px;
                letter-spacing: 1.8px;
                text-transform: uppercase;
                padding: 10px 24px;
                border-radius: 4px;
                white-space: nowrap;
                pointer-events: none;
            }
            
            /* ============================================================
            17. TRAIL DETAIL PAGE
            ============================================================ */
            
            .trail-detail {
                background: var(--bg);
                padding: 56px 0 72px;
            }
            
            .trail-detail-inner {
                display: grid;
                grid-template-columns: 42% 1fr;
                gap: 56px;
                align-items: start;
            }

.trail-detail__photos {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: stretch;
    overflow: hidden;
    min-width: 0; /* keep this */
}
            
            .trail-photo {
                width: 100%;
                overflow: hidden;
                line-height: 0;
            }
            .trail-photo img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                display: block;
            }
            .trail-photo__placeholder {
                width: 100%;
                height: 100%;
                background: #d0dfe8;
            }
            
            .trail-photo--mid img,
            .trail-photo--mid .trail-photo__placeholder {
                height: 240px;
            }
            
            .trail-photo-row {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 0;
            }
            
            .trail-photo--small img,
            .trail-photo--small .trail-photo__placeholder {
                height: 220px;
            }
            
.trail-detail__content {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0; /* add this to the right column too */
}
            
            .trail-detail__title {
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 30px;
                font-weight: 400;
                color: var(--orange);
                letter-spacing: 1px;
                text-transform: uppercase;
                margin: 0 0 20px;
                line-height: 1.1;
            }
            
            .trail-detail__intro {
                font-family:
                    "Avenir", "Avenir Next", "Century Gothic", system-ui, sans-serif;
                font-size: 20px;
                color: var(--blue);
                font-style: italic;
                line-height: 1.6;
                text-align: justify;
                margin: 0 0 28px;
            }
            
            .trail-section {
                margin-bottom: 24px;
            }
            
            .trail-section__heading {
                font-family: "Archivo Black", system-ui, sans-serif;
                font-size: 17px;
                letter-spacing: 1.2px;
                text-transform: uppercase;
                color: var(--orange);
                margin: 0 0 10px;
            }
            
            .trail-section__body {
                font-family: "Canva Sans", system-ui, sans-serif;
                font-size: 18px;
                color: var(--blue);
                line-height: 1.55;
                text-align: justify;
                margin: 0 0 10px;
            }
            
            .trail-section__body--italic {
                font-family:
                    "Avenir", "Avenir Next", "Century Gothic", system-ui, sans-serif;
                font-style: italic;
            }
            
            .trail-list {
                list-style: none;
                margin: 0;
                padding: 0;
                display: flex;
                flex-direction: column;
                gap: 6px;
            }
            
            .trail-list li {
                font-family: "Canva Sans", system-ui, sans-serif;
                font-size: 18px;
                color: var(--blue);
                padding-left: 18px;
                position: relative;
                line-height: 1.45;
            }
            .trail-list li::before {
                content: "•";
                position: absolute;
                left: 0;
                color: var(--blue);
                font-size: 14px;
                top: 3px;
            }
            
            .trail-detail__cta {
                margin-top: 32px;
            }
            
            /* Slideshow */
            .trail-slideshow {
                position: relative;
                width: 100%;
                overflow: hidden;
                line-height: 0;
            }
            .trail-slideshow__track {
                display: flex;
                transition: transform 0.35s ease;
            }
            
            /* FIX: solid height so images don't collapse to zero */
            .trail-slide {
                min-width: 100%;
                flex-shrink: 0;
                height: 560px;
	 
            }
            .trail-slide img {
                width: 100%;
                height: 100%;	
                object-fit: cover;
                object-position: center top;
                display: block;
            }
            
            .trail-slideshow__btn {
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                background: rgba(0, 0, 0, 0.45);
                border: none;
                color: #fff;
                width: 36px;
                height: 36px;
                border-radius: 50%;
                font-size: 22px;
                line-height: 1;
                cursor: pointer;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: background 0.15s;
                z-index: 2;
            }
            .trail-slideshow__btn:hover {
                background: rgba(0, 0, 0, 0.7);
            }
            .trail-slideshow__btn--prev {
                left: 10px;
            }
            .trail-slideshow__btn--next {
                right: 10px;
            }
            
            .trail-slideshow__counter {
                position: absolute;
                top: 10px;
                right: 12px;
                background: rgba(0, 0, 0, 0.5);
                color: #fff;
                font-size: 13px;
                padding: 3px 10px;
                border-radius: 10px;
                line-height: 1;
            }
            
			.trail-thumbs {
				display: flex;
				flex-wrap: nowrap;
				gap: 6px;
				margin-top: 6px;

				width: 100%;            /* stay inside parent */
				max-width: 100%;        /* prevent overflow expansion */
				overflow-x: auto;
				overflow-y: hidden;

				padding-bottom: 4px;
				box-sizing: border-box; /* important */
			}

			.trail-thumb {
				flex: 0 0 auto;         /* don’t stretch */
				width: 90px;            /* fixed size */
				aspect-ratio: 1;
			}
            .trail-thumb img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                display: block;
            }
            .trail-thumb:hover {
                opacity: 0.85;
            }
            .trail-thumb--active {
                border-color: var(--orange);
                opacity: 1;
            }
            
            /* ============================================================
            FAQ PAGE
            ============================================================ */
            
            .faq-page {
                background: var(--bg);
                padding: 70px 0 90px;
            }
            
            .faq-inner {
                max-width: 1120px;
                margin: 0 auto;
            }
            
            .faq-title {
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 44px;
                font-weight: 400;
                line-height: 1;
                letter-spacing: 3px;
                text-transform: uppercase;
                color: var(--orange);
                text-align: center;
                margin: 0 0 56px;
            }
            
            .faq-list {
                display: flex;
                flex-direction: column;
                gap: 10px;
                width: 60%;
                margin: 0 auto;
            }
            
            .faq-item {
                border-bottom: 0;
            }
            
            .faq-question {
                width: 100%;
                background: transparent;
                border: 0;
                padding: 0;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 24px;
                cursor: pointer;
                text-align: left;
            }
            
            .faq-question__text {
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 20px;
                line-height: 1.25;
                letter-spacing: 3px;
                text-transform: uppercase;
                display: block;
                color: var(--blue);
            }
            
            .faq-item.is-blue .faq-question__text,
            .faq-item.is-blue .faq-icon {
                color: var(--blue);
            }
            
            .faq-item.is-orange .faq-question__text,
            .faq-item.is-orange .faq-icon {
                color: var(--orange);
            }
            
            .faq-icon {
                flex: 0 0 36px;
                width: 36px;
                height: 36px;
                position: relative;
                transition: transform 0.2s ease;
            }
            
            .faq-icon::before,
            .faq-icon::after {
                content: "";
                position: absolute;
                top: 50%;
                width: 14px;
                height: 3px;
                background: var(--blue);
                border-radius: 2px;
                transition: transform 0.2s ease;
            }
            
            .faq-icon::before {
                left: 50%;
                transform: translate(-80%, -50%) rotate(45deg);
            }
            
            .faq-icon::after {
                left: 50%;
                transform: translate(-20%, -50%) rotate(-45deg);
            }
            
            .faq-item.is-open .faq-icon::before {
                transform: translate(-80%, -50%) rotate(-45deg);
            }
            
            .faq-item.is-open .faq-icon::after {
                transform: translate(-20%, -50%) rotate(45deg);
            }
            
            .faq-answer {
                padding-top: 16px;
                padding-right: 70px;
            }
            
            .faq-answer__inner {
                font-size: 20px;
                line-height: 1.6;
                color: var(--blue);
            }
            
            .faq-answer__inner p {
                margin: 0 0 14px;
            }
            
            .faq-item:nth-child(odd) .faq-question__text,
            .faq-item:nth-child(odd) .faq-icon {
                color: var(--blue);
            }
            
            .faq-item:nth-child(even) .faq-question__text,
            .faq-item:nth-child(even) .faq-icon {
                color: var(--orange);
            }
            
            /* ============================================================
            BUY TICKETS SCROLL BAR
            ============================================================ */
            
            .buy-tickets-bar {
                width: 100%;
                background: var(--orange);
                overflow: hidden;
                position: relative;
            }
            
            .buy-tickets-link {
                display: block;
                text-decoration: none;
                color: #fff;
            }
            
            .buy-tickets-track {
                display: flex;
                gap: 24px;
                white-space: nowrap;
                padding: 16px 0;
                animation: tickets-scroll 18s linear infinite;
            }
            
            .buy-tickets-track span {
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 22px;
                letter-spacing: 2px;
                text-transform: uppercase;
            }
            
            .buy-tickets-track .dot {
                opacity: 0.7;
            }
            
            /* smooth infinite scroll */
            @keyframes tickets-scroll {
                0% {
                    transform: translateX(0);
                }
                100% {
                    transform: translateX(-50%);
                }
            }
            
            /* optional hover pause */
            .buy-tickets-link:hover .buy-tickets-track {
                animation-play-state: paused;
            }
            
            /* ============================================================
            18. DESTINATIONS PAGE
            ============================================================ */
            
            .destinations-page {
                background: var(--bg);
                padding: 48px 0 72px;
            }
            
            .dest-tabs {
                display: flex;
                justify-content: center;
                gap: 48px;
                margin-bottom: 44px;
            }
            
            .dest-tab {
                background: none;
                border: none;
                border-bottom: 3px solid transparent;
                padding: 0 0 8px;
                font-family: "Lovelo", system-ui, sans-serif;
                font-size: 26px;
                letter-spacing: 1.5px;
                text-transform: uppercase;
                color: var(--orange);
                cursor: pointer;
                transition: border-color 0.15s ease;
                line-height: 1;
                -webkit-text-fill-color: unset;
            }
            .dest-tab--active {
                border-bottom-color: var(--blue);
            }
            .dest-tab:hover {
                border-bottom-color: var(--blue);
            }
            
            .dest-grid {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 28px 24px;
                align-items: start;
            }
            
            .dest-card {
                display: flex;
                flex-direction: column;
                gap: 12px;
                text-decoration: none;
            }
            .dest-card:hover {
                text-decoration: none;
            }
            
            .dest-card__img {
                width: 100%;
                overflow: hidden;
                border-radius: 2px;
                line-height: 0;
      		position: relative;
            }
            .dest-card__img img {
                width: 100%;
                height: 326px;
                object-fit: cover;
                display: block;
                transition: transform 0.35s ease;
            }
            .dest-card:hover .dest-card__img img {
                transform: scale(1.04);
            }
            
            .dest-card__title {
                font-family: "Archivo Black", system-ui, sans-serif;
                font-size: 15px;
                letter-spacing: 1px;
                text-transform: uppercase;
                color: var(--orange);
                margin: 0;
                line-height: 1.2;
            }
            .dest-card__copy {
                font-family:
                    "Avenir", "Avenir Next", "Century Gothic", system-ui, sans-serif;
                font-size: 15px;
                color: var(--blue);
                line-height: 1.55;
                margin: 0;
                text-align: justify;
            }
            
            /* ============================================================
            19. FOOTER
            ============================================================ */
            
            .site-footer {
                background: var(--blue);
                color: var(--white);
                margin-top: 0;
            }
            
            .footer-top {
                padding: 28px 0;
                display: grid;
                grid-template-columns: 220px 1fr 1fr;
                gap: 40px;
                align-items: center;
            }
            
            .footer-brand {
                display: flex;
                flex-direction: column;
                gap: 12px;
            }
            .footer-brand img {
                max-height: 80px;
                width: auto;
                display: block;
            }
            
            .social {
                display: flex;
                gap: 8px;
            }
            .social-link {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                line-height: 0;
            }
            .social-link img {
                width: 34px;
                height: 34px;
                object-fit: contain;
                display: block;
            }
            
            .footer-contact {
                display: flex;
                flex-direction: column;
                gap: 4px;
            }
            
            .footer-heading {
                font-family: "Archivo Black", system-ui, sans-serif;
                font-size: 16px;
                letter-spacing: 0.8px;
                text-transform: uppercase;
                color: var(--white);
                margin: 0 0 6px;
            }
            .footer-text {
                margin: 0;
                font-size: var(--footer-size);
                line-height: 1.7;
                color: var(--white);
            }
            .footer-text a {
                color: var(--white);
                text-decoration: none;
            }
            .footer-text a:hover {
                text-decoration: underline;
            }
            
            .footer-links {
                display: flex;
                justify-content: flex-end;
            }
            .footer-links-grid {
                display: grid;
                grid-template-columns: auto auto;
                gap: 0 48px;
            }
            
            .footer-menu {
                list-style: none;
                margin: 0;
                padding: 0;
                display: flex;
                flex-direction: column;
                gap: 8px;
            }
            .footer-menu a {
                color: var(--white);
                text-decoration: none;
                font-size: 16px;
                line-height: 1.5;
            }
            .footer-menu a:hover {
                opacity: 0.8;
                text-decoration: underline;
            }
            
            .footer-newsletter-mobile {
                display: none;
            } /* shown on mobile */
            
            .footer-bottom {
                border-top: 1px solid rgba(255, 255, 255, 0.25);
                padding: 14px 0;
                font-size: 14px;
                color: var(--white);
                opacity: 0.9;
            }
            .footer-bottom-inner {
                text-align: center;
            }
            
            /* ============================================================
            20. RESPONSIVE — up to 1100px
            ============================================================ */
            
            @media (max-width: 1100px) {
                .dest-grid {
                    grid-template-columns: repeat(3, 1fr);
                }
            }
            
            /* ============================================================
            21. RESPONSIVE — up to 640px  (tablet / large mobile)
            ============================================================ */
            
            @media (max-width: 640px) {
                * {
                    max-width: 100%;
                }
                .pick-trail__title { display: block; }
                .buy-tickets-track span {
                    font-size: 16px;
                    letter-spacing: 1px;
                }
                .faq-page {
                    padding: 48px 0 60px;
                }
            
                .faq-title {
                    font-size: 28px;
                    margin-bottom: 36px;
                }
            
                .faq-question__text {
                    font-size: 18px;
                    letter-spacing: 1.5px;
                }
            
                .faq-icon {
                    width: 32px;
                    height: 32px;
                    position: relative;
                    flex: 0 0 32px;
                }
            
                .faq-icon::before {
                    content: "⌄";
                    position: absolute;
                    top: 0;
                    left: 50%;
                    width: 12px;
                    height: 12px;
                    border-right: 3px solid currentColor;
                    border-bottom: 3px solid currentColor;
                    
                    transition: transform 0.25s ease;
                }
                
                .faq-icon::before,
                .faq-icon::after {
                    background: none;
                }
                .faq-list {
                    width: 95%;
                    margin: 0 auto;
                }
                
            
                .faq-answer {
                    padding-right: 0;
                }
            
                .faq-answer__inner {
                    font-size: 16px;
                }
                .faq-item:nth-child(odd) .faq-question__text,
                .faq-item:nth-child(odd) .faq-icon {
                    color: var(--blue);
                }
                
                .faq-item:nth-child(even) .faq-question__text,
                .faq-item:nth-child(even) .faq-icon {
                    color: var(--orange);
                }
                .menu-item a {
                    padding: 10px 0;
                    display: block;
                }
                .trail-detail__content {
                    order: -1;
                }
                .how-it-works::before {
                    height: 195px;
                }
                .how-it-works__divider {
                        top: 195px;
                }
                /* Show mobile title, hide desktop one */
                .how-it-works__title--mobile {
                    display: block;
                    color: var(--white);
                    font-family: "Lovelo", system-ui, sans-serif;
                    font-size: 22px;
                    letter-spacing: 0.8px;
                    text-transform: uppercase;
                    margin: 0;
                    padding: 24px 24px 0;
                    background: var(--blue);
                    width: 100%;
                    text-align: left;
                }
            
                .how-it-works__title--desktop {
                    display: none;
                }
            
                /* ── Header: logo left, hamburger right ── */
                .header-inner {
                    padding: 16px 20px;
                    position: static;
                }
            
                .site-branding {
                    order: 1;
                }
            
                .nav-toggle {
                    order: 2;
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                }
            
                /* Full-width dropdown below header */
                .site-nav {
                    display: none;
                    position: absolute;
                    top: 100%;
                    left: 0;
                    right: 0;
                    width: 100%;
                    background: var(--bg);
                    border-top: 1px solid rgba(0, 0, 0, 0.08);
                    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
                    z-index: 99;
                    padding: 10px 0 16px;
                    flex-direction: column;
                    align-items: stretch;
                    justify-content: flex-start;
                    gap: 0;
                }
                .site-nav.is-open {
                    display: flex;
                }
            
                .site-nav .menu {
                    flex-direction: column;
                    gap: 0;
                    align-items: stretch;
                    width: 100%;
                    padding: 0 20px;
                }
            
                .menu-item-has-children {
                    display: flex;
                    flex-wrap: wrap;
                    align-items: center;
                    gap: 0;
                }
                .menu-item-has-children > a {
                    display: inline-flex !important;
                    flex: 1;
                    padding: 10px 0;
                }
                .menu-item-has-children > a::after {
                    display: none !important;
                }
            
                .submenu-toggle {
                    display: inline-flex;
                    flex-shrink: 0;
                }
            
                .site-nav .menu .sub-menu {
                    position: static;
                    display: none !important;
                    flex-basis: 100%;
                    width: 100%;
                    box-shadow: none;
                    border: none;
                    border-top: 1px solid rgba(0, 0, 0, 0.06);
                    padding: 0 0 0 14px;
                    min-width: unset;
                    margin: 0;
                }
                .menu-item-has-children.is-sub-open > .sub-menu {
                    display: block !important;
                }
                .site-nav .menu .sub-menu a {
                    font-size: 15px;
                    padding: 8px 0;
                }
                
                .trail-section__heading {
        
                    margin: 10px 0 10px;
                }
            
                /* ── Hero ── */
                .site-header {
                    margin-bottom: 0;
                }
                .hero {
                    height: 324px;
                    padding: 0;
                    margin: 0;
                }
                .hero-script {
                    font-size: 32px;
                }
                .hero-media {
                    background-repeat: no-repeat;
                    background-size: cover;
                    background-position: center center;
                }
                .hero-media--getinvolved {
                    background-size: cover;
                    background-position: center center;
                }
            
                /* ── Slideshow ── */
                .trail-slideshow {
                    max-height: 392px;
                }
                .trail-slide {
                    height: 392px; /* override desktop 560px */
                }
                .trail-slide img {
                    height: 100%;
                }
            
                /* ── Event strip ── */
                .event-strip-inner {
                    grid-template-columns: 1fr;
                    gap: 40px;
                }
                .event-card__img-wrap img {
                    height: 420px;
                }
            
                /* ── What Is ── */
                .what-is-inner {
                    grid-template-columns: 1fr;
                }
                .what-is-text {
                    margin-left: 0;
                }
            
                .what-is-img-wrap {
                    margin-bottom: 0;
                    width: 50%;
                    margin-right: auto;
                    margin-left: auto;
                    line-height: 0;
                    position: relative;
                }
                .what-is-img-wrap img.what-is-glasses {
                    width: 100% !important;
                    height: auto;
                    display: block;
                    object-fit: cover;
                }
            
                /* BUY TICKETS button: centred over the image */
                .what-is-img-wrap .btn--buy-orange {
                    position: absolute;
                    top: 120%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                    white-space: nowrap;
                }
            
                .what-is-cta {
                    position: relative;
                    width: 100%;
                }
            
                /* ── How It Works ── */
                .how-it-works__illustration {
                    display: none;
                }
                .how-it-works__blue {
                    grid-template-columns: 1fr;
                    min-height: auto;
                }
                .how-it-works__photo-wrap {
                    height: 380px;
                }
                .how-it-works__content {
                    padding: 36px 24px 0;
                    text-align: left;
                }
                .how-it-works__copy {
                    text-align: left;
                }
                /* FIX: take out of absolute so it renders in normal flow, centred */
                .how-it-works__actions {
                    position: static;
                    transform: none;
                    flex-wrap: wrap;
                    padding: 0 24px 32px;
                    justify-content: center;
                }
                .how-it-works__title,
                .how-it-works__copy {
                    color: var(--blue);
                }
            
                .juicy-news {
                    margin-top: 0;
                }
            
                /* ── Testimonials ── */
                .testimonials-grid {
                    grid-template-columns: 1fr;
                    max-width: 560px;
                    margin: 0 auto;
                }
            
                /* ── Collage ── */
                .collage-grid {
                    grid-template-columns: repeat(2, 1fr);
                }
                .collage-grid img {
                    height: 220px;
                }
            
                /* ── Trails ── */
                .trails-grid {
                    grid-template-columns: repeat(2, 1fr);
                }
                .trails-intro {
                    font-size: 22px;
                    max-width: 100%;
                    padding: 0;
                }
            
                /* ── Trail detail ── */
.trail-detail-inner {
    display: block !important;
    grid-template-columns: 42% 1fr;
    gap: 56px;
    align-items: start;
    /* remove min-width: 0 from here */
}

				
                .trail-photo--tall img,
                .trail-photo--tall .trail-photo__placeholder {
                    height: 280px;
                }
                .trail-photo--mid img,
                .trail-photo--mid .trail-photo__placeholder {
                    height: 200px;
                }
                .trail-photo--small img,
                .trail-photo--small .trail-photo__placeholder {
                    height: 160px;
                }
                .trail-detail__title {
                    font-size: 24px;
                }
            
                /* ── Destinations ── */
                .dest-grid {
                    grid-template-columns: repeat(1, 1fr);
                }
                .dest-tab {
                    font-size: 22px;
                }
                .dest-tabs {
                    gap: 32px;
                }
            
                /* ── Contact ── */
                .contact-grid {
                    grid-template-columns: 1fr;
                    gap: 36px;
                }
                .contact-photo img,
                .about-photo img {
                    height: 300px;
                }
                .contact-title {
                    font-size: 32px;
                }
            
                /* ── Footer ── */
                .footer-top {
                    grid-template-columns: 1fr;
                    gap: 24px;
                    padding: 28px 0 20px;
                    align-items: start;
                }
                .footer-links {
                    justify-content: flex-start;
                }
                .footer-links-grid {
                    gap: 0 32px;
                }
                .footer-menu a {
                    font-size: 15px;
                }
                .footer-text {
                    font-size: 14px;
                }
                .footer-newsletter-mobile {
                    display: block;
                    padding: 0 0 24px;
                }
                .footer-heading--newsletter {
                    font-size: 13px;
                    letter-spacing: 1.5px;
                    opacity: 0.9;
                    margin-bottom: 10px;
                }
            
                .newsletter-form {
                    display: flex;
                    flex-direction: column;
                    gap: 10px;
                }
                .newsletter-input {
                    width: 100%;
                    height: 46px;
                    border: 1px solid rgba(255, 255, 255, 0.55);
                    border-radius: 2px;
                    background: transparent;
                    color: var(--white);
                    font-family:
                        "Avenir", "Avenir Next", "Century Gothic", system-ui, sans-serif;
                    font-size: 15px;
                    padding: 0 14px;
                    outline: none;
                    transition: border-color 0.15s ease;
                }
                .newsletter-input::placeholder {
                    color: rgba(255, 255, 255, 0.7);
                }
                .newsletter-input:focus {
                    border-color: var(--white);
                }
            
                .btn--subscribe {
                    width: 100%;
                    height: 46px;
                    background: var(--white);
                    color: var(--orange);
                    font-family: "Lovelo", system-ui, sans-serif;
                    font-size: 14px;
                    letter-spacing: 2px;
                    text-transform: uppercase;
                    border: none;
                    border-radius: 2px;
                    cursor: pointer;
                    transition: filter 0.12s ease;
                }
                .btn--subscribe:hover {
                    filter: brightness(0.95);
                }
            }
            
            /* ============================================================
            22. RESPONSIVE — up to 520px  (small mobile)
            ============================================================ */
            
            @media (max-width: 520px) {
                :root {
                    --hero-archivo: 58px;
                    --hero-script: 90px;
                    --title-script: 52px;
                    --body-size: 18px;
                    --juicy-size: 30px;
                }
            
                .hero-btn {
                    font-size: 17px;
                    padding: 12px 32px;
                }
            
                .what-is-title {
                    font-size: 23px;
                    text-align: center;
                }
                .what-is-copy {
                    font-size: 18px;
                }
            
                .how-it-works__photo-wrap {
                    height: 340px;
                    margin-top: 10px;
                }
                .how-it-works__title {
                    font-size: 22px;
                }
                .btn--read-more {
                    font-size: 16px;
                    padding: 14px 32px;
                }
                .how-it-works__illustration {
                    margin-bottom: -36px;
                }
                .how-it-works__illustration img {
                    width: 120px;
                }
            
                .juicy-form {
                    min-width: 100%;
                }
            
                .testimonials {
                    padding: 44px 0 40px;
                }
                .testimonial-card {
                    padding: 14px 20px 10px;
                }
                .testimonial-card__quote-mark {
                    font-size: 40px;
                }
                .testimonial-card__body,
                .testimonial-card__author {
                    font-size: 15px;
                }
                .testimonial-card:nth-of-type(2),
                .testimonial-card:nth-of-type(3) {
                    display: none;
                }
            
                .collage-grid {
                    grid-template-columns: 1fr;
                }
                .collage-grid img {
                    height: 240px;
                }
            
                .event-card__img-wrap img {
                    height: 280px;
                }
                .event-card__pill {
                    font-size: 17px;
                    padding: 16px 20px;
                }
                .event-card__caption {
                    font-size: 13px;
                }
            
                /* Trails */
                .trails-page {
                    padding: 36px 0 48px;
                }
                .trails-grid {
                    grid-template-columns: 1fr;
                    gap: 18px;
                }
                .trails-intro {
                    font-size: 18px;
                    margin-bottom: 32px;
                }
                .trail-card__img {
                    padding-top: 75%;
                }
                .trail-card__label {
                    font-size: 15px;
                    padding: 8px 18px;
                }
            
                /* Trail detail */
                .trail-detail {
                    padding: 36px 0 48px;
                }
                .trail-photo--tall img,
                .trail-photo--tall .trail-photo__placeholder {
                    height: 220px;
                }
                .trail-photo--mid img,
                .trail-photo--mid .trail-photo__placeholder {
                    height: 160px;
                }
                .trail-photo--small img,
                .trail-photo--small .trail-photo__placeholder {
                    height: 130px;
                }
                .trail-detail__title {
                    font-size: 20px;
                }
                .trail-detail__intro {
                    font-size: 17px;
                }
                .trail-section__body,
                .trail-list li {
                    font-size: 16px;
                }
                .btn--see-availability {
                    width: 100%;
                }
            
                /* Trail slideshow */
                .trail-slideshow {
                    max-height: 308px;
                }
                .trail-slide {
                    height: 308px; /* override 640px breakpoint value */
                }
                .trail-slide img {
                    height: 100%;
                }
            
                /* Destinations */
                .destinations-page {
                    padding: 32px 0 48px;
                }
                .dest-tabs {
                    gap: 10px;
                    margin-bottom: 28px;
                }
                .dest-tab {
                    font-size: 13px;
                }
                .dest-grid {
                    grid-template-columns: repeat(1, 1fr);
                    gap: 18px 14px;
                }
                .dest-card__img img {
                    height: 320px;
                }
                .dest-card__copy {
                    font-size: 13px;
                }
            
                /* Contact */
                .contact-title {
                    font-size: 26px;
                    letter-spacing: 1px;
                }
                .contact-intro {
                    font-size: 17px;
                }
                .contact-photo img,
                .about-photo img {
                    height: 240px;
                }
                .contact-right .gform_wrapper input[type="submit"],
                .contact-right .gform_wrapper button[type="submit"] {
                    width: 100% !important;
                    padding: 16px 24px !important;
                    font-family: "Lovelo", system-ui, sans-serif !important;
                }
            }
        
        /* ── Ticket search bar ───────────────────────────────────────────── */
        .ticket-search-wrap {
            position: relative;
            margin: 0 auto 32px auto;
            max-width: 70%;
        }
        
        .ticket-search-icon {
            position: absolute;
            left: 14px;
            top: 50%;
            transform: translateY(-50%);
            color: #b0b0b0;
            display: flex;
            align-items: center;
            pointer-events: none;
        }
        
        .ticket-search-input {
            width: 100%;
            padding: 11px 16px 11px 40px;
            border: 1.5px solid #d4a97a; /* matches your orange/tan brand border */
            border-radius: 4px;
            background: transparent;
            font-size: 0.95rem;
            color: inherit;
            outline: none;
            box-sizing: border-box;
            transition: border-color 0.2s;
        }
        
        .ticket-search-input:focus {
            border-color: #6ab4dc; /* your blue badge colour */
        }
        
        /* ── Hide filtered-out cards ─────────────────────────────────────── */
        .ticket-card.is-hidden {
            display: none;
        }
        
        /* ── Ticket date badge ───────────────────────────────────────────── */
        .ticket-badge {
            position: absolute;
            top: 12px;
            right: 12px;
            background: rgba(100, 180, 220, 1);
            color: #fff;
            font-size: 0.78rem;
            font-weight: 700;
            padding: 10px 12px;
            text-align: center;
            white-space: normal;
            overflow-wrap: anywhere;
            word-break: break-word;
            max-width: calc(100% - 24px);
            line-height: 1.2;
            pointer-events: none;
            border-radius: 2px;
            box-sizing: border-box;
        }
        
        /* ============================================================
        404 / COMING SOON
        ============================================================ */
        
        .coming-soon-page {
            background: var(--orange);
        }
        
        .coming-soon-page .site-header,
        .coming-soon-page .site-footer {
            display: none;
        }
        
        .coming-soon {
            position: relative;
            min-height: 100vh;
            background: var(--orange);
            overflow: hidden;
        }
        
        .coming-soon__inner {
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            text-align: center;
            padding-top: 80px;
            padding-bottom: 0;
            position: relative;
        }
        
        .coming-soon__logo {
            margin-bottom: 48px;
        }
        
        .coming-soon__logo img {
            width: 260px;
            max-width: 80vw;
            height: auto;
            margin: 0 auto;
        }
        
        .coming-soon__logo-text {
            font-family: "Lovelo", system-ui, sans-serif;
            color: var(--white);
            font-size: 32px;
            text-transform: uppercase;
        }
        
        .coming-soon__content {
            position: relative;
            z-index: 2;
            width: 100%;
            max-width: 620px;
        }
        
        .coming-soon__title {
            margin: 0 0 12px;
            font-family: "Lovelo", system-ui, sans-serif;
            font-size: clamp(42px, 6vw, 76px);
            line-height: 0.95;
            letter-spacing: 2px;
            color: var(--white);
            text-transform: uppercase;
        }
        
        .coming-soon__subtitle {
            margin: 0 0 34px;
            font-family: "Canva Sans", "Avenir", sans-serif;
            font-size: clamp(18px, 2vw, 24px);
            line-height: 1.25;
            font-style: italic;
            font-weight: 600;
            color: var(--white);
        }
        
        .coming-soon__form {
            width: 100%;
            max-width: 570px;
            margin: 0 auto;
        }
        
        .coming-soon__row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 28px;
            margin-bottom: 22px;
        }
        
        .coming-soon__field {
            width: 100%;
        }
        
        .coming-soon__field--full {
            margin-bottom: 22px;
        }
        
        .coming-soon__field input,
        .coming-soon__field select {
            width: 100%;
            height: 66px;
            border: 1px solid rgba(255, 255, 255, 0.45);
            background: transparent;
            color: rgba(255, 255, 255, 0.92);
            font-family: "Canva Sans", "Avenir", sans-serif;
            font-size: 20px;
            text-align: center;
            padding: 0 22px;
            border-radius: 0;
            outline: none;
            box-shadow: none;
            appearance: none;
            -webkit-appearance: none;
        }
        
        .coming-soon__field input::placeholder {
            color: rgba(255, 255, 255, 0.6);
        }
        
        .coming-soon__field select {
            cursor: pointer;
            text-align-last: center;
            background-image: linear-gradient(45deg, transparent 50%, rgba(255,255,255,.8) 50%),
                            linear-gradient(135deg, rgba(255,255,255,.8) 50%, transparent 50%);
            background-position: calc(100% - 28px) calc(50% - 3px), calc(100% - 18px) calc(50% - 3px);
            background-size: 10px 10px, 10px 10px;
            background-repeat: no-repeat;
            padding-right: 54px;
        }
        
        .coming-soon__field input:focus,
        .coming-soon__field select:focus {
            border-color: rgba(255, 255, 255, 0.8);
        }
        
        .coming-soon__field select {
        color: #fff;
        background: transparent;
        }
        
        .coming-soon__field select option {
        color: #1b1b1b;
        background: #fff;
        }
    
        .coming-soon__actions {
            display: flex;
            justify-content: center;
        }
        
        .coming-soon__button {
            min-width: 220px;
            height: 56px;
            border: 1px solid var(--orange);
            background: var(--blue);
            color: var(--white);
            font-family: "Lovelo", system-ui, sans-serif;
            font-size: 19px;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            cursor: pointer;
            padding: 0 28px;
            line-height: 1;
            transition: filter 0.15s ease;
        }
        
        .coming-soon__button:hover {
            filter: brightness(0.95);
        }
        
        .coming-soon__drink {
            margin-top: auto;
            width: 100%;
            display: flex;
            justify-content: center;
            pointer-events: none;
        }
        
        .coming-soon__drink img {
            width: min(460px, 42vw);
            min-width: 220px;
            height: auto;
            display: block;
            transform: translateY(40px);
        }
        
        /* Large desktop */
        @media (min-width: 1440px) {
            .coming-soon__inner {
                padding-top: 110px;
            }
        
            .coming-soon__logo {
                margin-bottom: 60px;
            }
        
            .coming-soon__logo img {
                width: 250px;
            }
        
            .coming-soon__form {
                max-width: 620px;
            }
        }
        
        /* Tablet */
        @media (max-width: 991px) {
            .coming-soon__inner {
                padding-top: 70px;
            }
        
            .coming-soon__logo {
                margin-bottom: 40px;
            }
        
            .coming-soon__logo img {
                width: 250px;
            }
        
            .coming-soon__row {
                gap: 18px;
            }
        
            .coming-soon__field input,
            .coming-soon__field select {
                height: 58px;
                font-size: 18px;
            }
        
            .coming-soon__drink img {
                width: min(360px, 60vw);
                transform: translateY(28px);
            }
        }
        
        /* Mobile */
        @media (max-width: 767px) {
            .coming-soon {
                min-height: 100svh;
            }
        
            .coming-soon__inner {
                min-height: 100svh;
                padding-top: 56px;
                width: min(100%, calc(100% - 40px));
            }
        
            .coming-soon__logo {
                margin-bottom: 34px;
            }
        
            .coming-soon__logo img {
                width: 250px;
                max-width: 56vw;
            }
        
            .coming-soon__title {
                font-size: clamp(34px, 11vw, 56px);
                letter-spacing: 1px;
                margin-bottom: 10px;
            }
        
            .coming-soon__subtitle {
                font-size: 18px;
                margin-bottom: 28px;
                padding: 0 10px;
            }
        
            .coming-soon__row {
                grid-template-columns: 1fr 1fr;
                gap: 10px;
                margin-bottom: 12px;
            }
        
            .coming-soon__field--full {
                margin-bottom: 12px;
            }
        
            .coming-soon__field input,
            .coming-soon__field select {
                height: 44px;
                font-size: 16px;
                padding: 0 12px;
            }
        
            .coming-soon__field select {
                background-position: calc(100% - 18px) calc(50% - 2px), calc(100% - 11px) calc(50% - 2px);
                background-size: 8px 8px, 8px 8px;
                padding-right: 32px;
            }
        
            .coming-soon__button {
                min-width: 172px;
                height: 42px;
                font-size: 15px;
                letter-spacing: 0.8px;
                padding: 0 18px;
            }
        
            .coming-soon__drink img {
                width: min(290px, 78vw);
                min-width: 180px;
                transform: translateY(24px);
            }
        }
        
        /* Very small screens */
        @media (max-width: 420px) {
            .coming-soon__inner {
                padding-top: 42px;
            }
        
            .coming-soon__title {
                font-size: 52px;
            }
        
            .coming-soon__subtitle {
                font-size: 16px;
            }
        
            .coming-soon__drink img {
                width: 270px;
            }
        }
        
        @media (max-width: 768px) {
            .event-card .what-is-title {
                display: none;
            }
            .contact-page {
                padding: 32px 0 48px;
            }
        
            .contact-title {
                font-size: 28px;
                margin: 0 0 24px;
            }
        
            .contact-grid {
                grid-template-columns: 1fr;
                grid-template-areas:
                    "intro"
                    "left"
                    "right";
                gap: 18px;
            }
        
            .contact-intro {
                font-size: 18px;
                line-height: 1.4;
                text-align: center;
                padding: 0 6px;
            }
        
            .contact-photo {
                height: 230px;
                min-height: 230px;
                max-height: 230px;
                background-size: cover;
                background-position: center;
            }
        
            .contact-right {
                gap: 18px;
            }
        
            .contact-email {
                font-size: 16px;
                text-align: center;
            }
        
            .contact-right .gform_wrapper input[type="text"],
            .contact-right .gform_wrapper input[type="email"],
            .contact-right .gform_wrapper input[type="tel"],
            .contact-right .gform_wrapper input[type="number"],
            .contact-right .gform_wrapper input[type="url"],
            .contact-right .gform_wrapper textarea {
                font-size: 16px !important;
                padding: 12px 14px !important;
            }
        
            .contact-right .gform_wrapper textarea {
                height: 140px !important;
            }
        
            .contact-right .gform_wrapper input[type="submit"],
            .contact-right .gform_wrapper button[type="submit"] {
                width: 100%;
                padding: 14px 20px !important;
            }
        }
        
        .blog-article {
    padding: 50px 0 80px;
    }
    
    .blog-article__post {
    max-width: 900px;
    margin: 0 auto;
    }
    
    .blog-article__header {
    text-align: center;
    margin-bottom: 40px;
    }
    
	.blog-article__title {
		font-family: "Lovelo", system-ui, sans-serif;
		font-size: 42px;
		letter-spacing: 2px;
		text-transform: uppercase;
		color: var(--blue) !important; /* uses your existing variable */
		text-align: center;
		margin-bottom: 12px;
	}

.blog-article__meta {
    display: flex;
    justify-content: center;
    gap: 28px;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--text);
    margin-bottom: 20px;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.meta-icon {
    font-size: 16px;
    opacity: 0.8;
}
    
    .blog-article__meta {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    font-size: 16px;
    }
    
    .blog-article__image {
    margin-bottom: 50px;
    }
    
    .blog-article__image img {
    width: 100%;
    height: auto;
    display: block;
    }
    
    .blog-article__content {
    max-width: 760px;
    margin: 0 auto;
    }
    
    .blog-article__content p {
    margin-bottom: 1.4em;
		color: var(--blue) !important;
    }

    
    .blog-article__content h2, .blog-article__content h3 {
    
		color: var(--orange) !important;
    }

    .blog-article__content img {
     height: 100% !important;
    }
    
    /* ABOUT PAGE */
    .about-page {
    padding: 40px 0 40px;
    }
    
    .about-inner {
    padding-top: 0;
    }
    
    .about-title {
    font-family: "Lovelo", system-ui, sans-serif;
    font-size: 30px;
    line-height: 1.15;
    color: var(--orange);
    margin: 0 0 32px;
    text-transform: uppercase;
    }
    
    .about-heading {
    font-family: "Lovelo", system-ui, sans-serif;
    font-size: 30px;
    line-height: 1.15;
    color: var(--orange);
    margin: 0 0 24px;
    text-transform: uppercase;
    }
    
    .about-copy {
    color: var(--blue);
    font-size: 23px;
    line-height: 1.55;
    margin: 0 0 24px;
    font-style: italic;
    }
    
    .about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 50px;
    align-items: start;
    }
    
    .about-block {
    min-width: 0;
    width: 100%;
    }
    
    .about-photo {
    width: 100%;
    display: block;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    }
    
    /* DESKTOP LAYOUT */
    .about-block--intro-text,
    .about-block--hosting-text {
    grid-column: 1;
    }
    
    .about-block--top-image {
    grid-column: 2;
    grid-row: 1 / span 2;
    }
    
    .about-block--middle-image {
    display: none;
    }
    
    .about-photo--top {
    min-height: 590px;
    }
    
    .about-photo--middle {
    min-height: 520px;
    }
    
    .about-photo--bartenders {
    min-height: 420px;
    }
    
    .about-photo--hands {
    min-height: 520px;
    }
    
    .buy-tickets-bar {
    overflow: hidden;
    }
    
    .about-how {
    padding: 40px 0 20px;
    }
    
    .about-how__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 50px;
    align-items: start;
    }
    
    .about-how__image-wrap {
    display: none;
    }
    
    .about-how__content {
    grid-column: 2;
    grid-row: 1;
    }
    
    .about-how__bottom-image-wrap {
    grid-column: 1;
    grid-row: 1;
    }
    
    .about-photo--hands {
    width: 100%;
    display: block;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    }
    
    /* MOBILE */
    @media (max-width: 767px) {
    .about-page {
        padding: 24px 0 30px;
    }
    
    .about-inner {
        padding-top: 0;
    }
    
    .about-title {
        font-size: 22px;
        margin-bottom: 24px;
    }
    
    .about-heading {
        font-size: 22px;
        margin-bottom: 18px;
    }
    
    .about-copy {
        font-size: 18px;
        line-height: 1.55;
        margin-bottom: 20px;
    }
    
    .about-grid {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }
    
    .about-block--intro-text {
        order: 1;
    }
    
    .about-block--top-image {
        order: 2;
    }
    
    .about-block--middle-image {
        order: 3;
        display: none;
    }
    
    .about-block--hosting-text {
        order: 4;
    }
    
    .about-photo--top,
    .about-photo--middle {
        min-height: 260px;
        width: 100%;
        display: block;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    
    .about-how {
        padding-top: 0;
    }
    
    .about-how__inner {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }
    
    .about-how__image-wrap {
        display: block;
    }
    
    .about-how__content {
        max-width: none;
    }
    
    .about-how__bottom-image-wrap {
        width: 100%;
    }
    
    .about-photo--bartenders {
        min-height: 260px;
    }
    
    .about-photo--hands {
        min-height: 360px;
    }
    
    .buy-tickets-track {
        font-size: 32px;
        line-height: 1;
        letter-spacing: 1px;
        white-space: nowrap;
    }
    }
    
    @media (max-width: 767px) {
    .about-how__image-wrap {
        display: block !important;
        width: 100%;
    }
    
    .about-photo--bartenders {
        display: block !important;
        width: 100%;
        min-height: 260px;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    .full-width-image {
        margin-bottom: 1em;
    }
    .full-width-image img {
                height: 25vh !important;       /* adjust as needed (50–70vh is good range) */
        object-fit: cover;  /* zoom/crop like background-image */
        object-position: center;
    }
    }
    
    .full-width-image {
 
    width: 100vw;
    margin-left: calc(50% - 50vw);
    }
    
    .full-width-image img {
    width: 100%;
    height: auto;
    display: block;
    }
    
    /* Hide all the Instagram feed chrome */
.instagram-strip .sb_instagram_header,
.instagram-strip #sbi_load,
.instagram-strip .sbi_follow_btn,
.instagram-strip .sbi_caption,
.instagram-strip .sbi_photo_wrap + div,
.instagram-strip .sbi_item .sbi_meta,
.instagram-strip .sbi_likes,
.instagram-strip .sbi_comments,
.instagram-strip .sbi_hover_bottom,
.instagram-strip .sbi_hover_top,
.instagram-strip .sbi_hover,
.instagram-strip .sbi_lightbox_link_text {
  display: none !important;
}

/* Make feed just a clean image strip/grid */
.instagram-strip #sb_instagram,
.instagram-strip .sb_instagram {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100vw;
  margin-left: calc(50% - 50vw) !important;
}

.instagram-strip #sbi_images {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 !important;
}

.instagram-strip .sbi_item {
  padding: 0 !important;
  margin: 0 !important;
}

.instagram-strip .sbi_photo {
  display: block !important;
  height: 280px !important;
  background-size: cover !important;
  background-position: center !important;
}

.instagram-strip img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
}

@media (max-width: 640px) {
  .instagram-strip #sbi_images {
    grid-template-columns: repeat(2, 1fr);
  }

  .instagram-strip .sbi_photo,
  .instagram-strip img {
    height: 220px !important;
  }
}

.coming-soon__message {
    margin-bottom: 16px;
}

.coming-soon__message--success {
    color: #fff;
}

.coming-soon__message--error {
    color: #fff;
}

.blog-article__inner {
    position: relative;
}

.blog-article__main {
    max-width: 900px;
    margin: 0 auto;
}

.blog-share {
    position: absolute;
    top: 40px;
    right: -90px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.blog-share__label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-family: "Lovelo", system-ui, sans-serif;
    font-size: 18px;
    letter-spacing: 2px;
    color: var(--orange-dark);
    margin-bottom: 8px;
}

.blog-share__label::after {
    content: "";
    display: block;
    width: 2px;
    height: 42px;
    background: var(--orange-dark);
    margin: 12px auto 0;
}

.blog-share__link {
    width: 48px;
    height: 48px;
    border: 2px solid var(--orange);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--orange);
    font-family: "Lovelo", system-ui, sans-serif;
    font-size: 26px;
    line-height: 1;
    text-decoration: none;
    background: transparent;
}

.blog-share__link:hover {
    text-decoration: none;
    background: rgba(237, 117, 52, 0.08);
}

/* Hide on responsive */
@media (max-width: 1024px) {
    .blog-share {
        display: none;
    }
}	

.dest-card--hidden {
    display: none !important;
}

/* Single magazine hero */
.hero-media--single-magazine {
    background-image: var(--hero-desktop);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Single article layout */
.blog-article__inner {
    display: grid;
 
    gap: 40px;
    align-items: start;
}

.blog-article__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.blog-article__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Mobile */
@media (max-width: 640px) {
    .hero-media--single-magazine {
        background-image: var(--hero-mobile);
    }

    .blog-article__inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .blog-share {
        order: 2;
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    .blog-article__main {
        order: 1;
    }

    .blog-article__meta {
        flex-direction: column;
        gap: 10px;
    }
}

/* Single magazine article */
.blog-article {
    background: var(--bg);
    padding: 48px 0 72px;
}

.blog-article__inner {
    display: grid;
 
    gap: 40px;
    align-items: start;
}

.blog-share {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

.blog-share__label {
    font-family: "Lovelo", system-ui, sans-serif;
    font-size: 16px;
    color: var(--orange);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.blog-share__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--orange);
    color: var(--orange);
    text-decoration: none;
}

.blog-share__link:hover {
    text-decoration: none;
    opacity: 0.85;
}

.blog-article__header {
    margin-bottom: 24px;
}

.blog-article__title {
    font-family: "Lovelo", system-ui, sans-serif;
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--orange);
    margin: 0 0 18px;
}

.blog-article__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.meta-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--blue);
    font-size: 16px;
}

.blog-article__image {
    margin-bottom: 28px;
}

.blog-article__image img {
    width: 100%;
    height: auto;
    display: block;
}

.blog-article__content {
    color: var(--blue);
    font-size: 20px;
    line-height: 1.65;
}

.blog-article__content p {
    margin: 0 0 18px;
}

/* Related posts */
.mag-related {
    padding: 56px 0 0;
}

.mag-related__bar {
    background: #f3dfd2;
    padding: 26px 0;
    margin-bottom: 30px;
}

.mag-related__heading {
    margin: 0;
    text-align: center;
    font-family: "Lovelo", system-ui, sans-serif;
    font-size: 34px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--orange);
}

.mag-related__grid {
    grid-template-columns: repeat(3, 1fr);
}

.mag-related__more {
    text-align: right;
    margin-top: 24px;
}

.mag-related__more a {
    color: var(--orange);
    text-decoration: underline;
    font-size: 18px;
}

.mag-related__more a:hover {
    opacity: 0.85;
}

/* Responsive */
@media (max-width: 640px) {
    .blog-article__inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .blog-share {
        order: 2;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    .blog-article__main {
        order: 1;
    }

    .blog-article__title {
        font-size: 28px;
    }

    .blog-article__meta {
        flex-direction: column;
        gap: 10px;
    }

    .mag-related__heading {
        font-size: 24px;
    }

    .mag-related__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .mag-related__more {
        text-align: left;
    }
}

@media (max-width: 640px) {
    .mag-related__bar {
        width: 100vw;
		max-width: initial;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
	.trail-detail__cta {
        display: flex;
        /*justify-content: center;*/
    }
	.blog-share {
		display: none;
	}
}

 
/*.hero--trail-detail::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 6px;
    background: var(--orange);
}*/