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

        body {
            font-family: 'Avenir', 'Helvetica Neue', 'Arial', sans-serif;
            line-height: 1.6;
            color: #2c2c2c;
            background-color: #fafaf9;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* Header */
        header {
            background: rgba(245, 240, 236, 0.95);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid #e8ddd4;
            padding: 1rem 0;
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
            transition: background 200ms ease, box-shadow 200ms ease;
        }

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

        /* Mobile nav toggle */
        .nav-toggle { display: none; background: transparent; border: 0; padding: 8px; cursor: pointer; }
        .nav-toggle span { display: block; width: 22px; height: 2px; background: #2c2c2c; margin: 5px 0; transition: transform .2s ease, opacity .2s ease; }
        body.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
        body.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
        body.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

        /* Appear: Section reveal */
        .reveal { opacity: 0; transform: translateY(16px); transition: opacity 900ms cubic-bezier(.2,.7,0,1), transform 900ms cubic-bezier(.2,.7,0,1); }
        .reveal.is-visible { opacity: 1; transform: translateY(0); }

        /* Appear: Staggered children */
        .stagger > * { opacity: 0; transform: translateY(12px); transition: opacity 700ms ease, transform 700ms ease; }
        .stagger.is-visible > * { opacity: 1; transform: none; transition-duration: 250ms; transition-delay: 0ms; }
        .stagger > *:nth-child(1) { transition-delay: 120ms; }
        .stagger > *:nth-child(2) { transition-delay: 240ms; }
        .stagger > *:nth-child(3) { transition-delay: 360ms; }
        .stagger > *:nth-child(4) { transition-delay: 480ms; }
        .stagger > *:nth-child(5) { transition-delay: 600ms; }
        .stagger > *:nth-child(6) { transition-delay: 720ms; }
        .stagger > *:hover { transition-delay: 0ms !important; }

        /* Image blur-up */
        img.img-lazy { filter: blur(10px); transform: scale(1.01); transition: filter .6s ease, transform .6s ease; }
        img.img-lazy.loaded { filter: blur(0); transform: scale(1); }

        /* Popup: fade + scale */
        .success-popup { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .35s ease, visibility .35s ease; display: flex; }
        .success-popup.show { opacity: 1; visibility: visible; pointer-events: auto; }
        .success-content { transform: scale(.98); transition: transform .35s ease; }
        .success-popup.show .success-content { transform: scale(1); }

        /* Instagram Embeds: gentle fade */
        #insta-embeds { opacity: 0; transition: opacity .6s ease; }
        #insta-embeds.ready { opacity: 1; }

        @media (prefers-reduced-motion: reduce) {
            .reveal, .stagger > *, img.img-lazy, .success-content { transition: none; transform: none; }
        }

        .logo {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            font-size: 1.5rem;
            font-weight: 400;
            color: #2c2c2c;
            letter-spacing: 1px;
            text-transform: uppercase;
            text-decoration: none; /* ensure anchor looks like brand mark */
        }

        .nav-links {
            display: flex;
            list-style: none;
            gap: 2.5rem;
        }

        .nav-links a {
            color: #2c2c2c;
            text-decoration: none;
            font-weight: 300;
            font-size: 0.95rem;
            letter-spacing: 0.5px;
            transition: color 0.3s ease;
            text-transform: uppercase;
        }

        .nav-links a:hover {
            color: #8b7355;
        }

        /* Hero Section */
        .hero {
            background-image: linear-gradient(rgba(28, 28, 28, 0.40), rgba(44, 44, 44, 0.30)), url('hero.jpg');
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            color: white;
            background-size: cover;
            background-position: 50% 45%;
        }

        .hero-content {
            max-width: 800px;
        }

        .hero-content h1 {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            font-size: 4rem;
            font-weight: 300;
            margin-bottom: 1rem;
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .hero-tagline {
            font-size: 1.3rem;
            font-weight: 300;
            margin-bottom: 2rem;
            font-style: italic;
            letter-spacing: 1px;
        }

        .cta-button {
            display: inline-block;
            background: transparent;
            color: white;
            padding: 15px 40px;
            text-decoration: none;
            border: 2px solid white;
            font-weight: 400;
            letter-spacing: 1px;
            text-transform: uppercase;
            transition: all 0.3s ease;
            font-size: 0.9rem;
        }

        .cta-button:hover {
            background: white;
            color: #333;
        }

        /* Hero Scroll Indicator */
        .hero-scroll-indicator {
            position: absolute;
            bottom: 2rem;
            left: 50%;
            transform: translateX(-50%);
            width: 1px;
            height: 60px;
            background: rgba(255, 255, 255, 0.3);
            overflow: hidden;
        }

        .scroll-line {
            width: 100%;
            height: 20px;
            background: white;
            animation: scroll-indicator 2s infinite;
        }

        @keyframes scroll-indicator {
            0% { transform: translateY(-20px); opacity: 0; }
            50% { opacity: 1; }
            100% { transform: translateY(60px); opacity: 0; }
        }

        /* Sections */
        section {
            padding: 100px 0;
        }

        .section-title {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            text-align: center;
            font-size: 2.5rem;
            font-weight: 300;
            margin-bottom: 3rem;
            color: #2c2c2c;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        /* About Section */
        .about {
            background: #f5f0ec;
        }

        .about-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .about-text {
            font-size: 1.1rem;
            line-height: 1.8;
            color: #2c2c2c;
        }

        .about-text h3 {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            font-size: 1.5rem;
            color: #8b7355;
            margin-bottom: 1rem;
            font-weight: 400;
        }

        .about-image {
            background: transparent;
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #2c2c2c;
            font-size: 1.2rem;
            text-align: center;
            padding: 2rem;
        }
        .about-image img { display: block; width: 100%; max-width: 420px; height: auto; border-radius: 12px; object-fit: contain; }

        /* Specialties Section */
        .specialties-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
            margin-top: 3rem;
        }

        .specialty-category {
            background: white;
            padding: 2rem;
            border-radius: 4px;
            text-align: center;
            box-shadow: 0 4px 20px rgba(44, 44, 44, 0.08);
            border: 1px solid #e8ddd4;
            transition: transform 0.3s ease;
        }

        .specialty-category h3 {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            color: #8b7355;
            margin-bottom: 1rem;
            font-weight: 400;
        }

        .specialty-category:hover {
            transform: translateY(-5px);
        }

        /* Services Section */
        .services {
            background: #fafaf9;
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 3rem;
            margin-top: 3rem;
        }

        .service-card {
            background: #f5f0ec;
            padding: 3rem 2rem;
            border-radius: 4px;
            text-align: center;
            box-shadow: 0 4px 20px rgba(44, 44, 44, 0.08);
            transition: transform 0.3s ease;
            border: 1px solid #e8ddd4;
        }

        .service-card:hover {
            transform: translateY(-5px);
        }

        .service-card h3 {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            font-size: 1.5rem;
            color: #000000;
            margin-bottom: 1rem;
            font-weight: 400;
        }

        .service-card p {
            color: #2c2c2c;
            line-height: 1.7;
            margin-bottom: 1rem;
        }

        .service-price {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            font-size: 1.2rem;
            color: #8b7355;
            font-weight: 500;
            margin-bottom: 1.5rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .service-note {
            font-style: italic;
            color: #8b7355;
            font-size: 0.95rem;
            margin-top: 1rem;
        }

        /* Destinations Section */
        .destinations {
           background: #f5f0ec;
        }
        
        .destinations-grid {
           display: grid;
           grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
           gap: 2rem;
           margin-top: 3rem;
        }
        
        .destination-card {
           background: white;
           padding: 2rem;
           border-radius: 4px;
           text-align: center;
           box-shadow: 0 4px 20px rgba(44, 44, 44, 0.08);
           border: 1px solid #e8ddd4;
           cursor: default;
           transition: transform 0.3s ease;
        }
        
        .destination-card:hover {
           transform: translateY(-5px);
        }
        
        .destination-overlay {
            position: static;
            background: transparent;
            color: inherit;
            padding: 0;
            display: block;
        }

        .destination-overlay h3 {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            font-size: 1.3rem;
            font-weight: 400;
            margin-bottom: 0.5rem;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .destination-overlay p {
            font-size: 0.9rem;
            opacity: 0.9;
        }

        /* Contact Section */
        .contact {
            background: #e8ddd4;
        }

        .contact-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: start;
        }

        .contact-form {
            background: #f5f0ec;
            padding: 3rem;
            border-radius: 4px;
            box-shadow: 0 4px 20px rgba(44, 44, 44, 0.08);
        }

        .form-group {
            margin-bottom: 1.5rem;
        }

        .form-group label {
            display: block;
            margin-bottom: 0.5rem;
            color: #2c2c2c;
            font-weight: 400;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-size: 0.9rem;
        }

        .form-group input,
        .form-group textarea,
        .form-group select {
            width: 100%;
            padding: 12px;
            border: 1px solid #c4b5a0;
            border-radius: 4px;
            font-size: 1rem;
            font-family: inherit;
            background: white;
        }

        /* Custom select arrow and spacing */
        .form-group select {
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%238b7355' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
            background-repeat: no-repeat;
            background-position: right 18px center; /* move arrow a bit left from edge */
            background-size: 12px 8px;
            padding-right: 44px; /* ensure text doesn’t overlap arrow */
            cursor: pointer;
            color: #2c2c2c; /* ensure text isn't iOS default blue */
        }

        /* Placeholder-like styling for the first option */
        .form-group select.placeholder { color: #8b7355; }
        .form-group select option[disabled] { color: #c4b5a0; }

        .form-group textarea {
            height: 120px;
            resize: vertical;
        }

        .submit-btn {
            background: #8b7355;
            color: white;
            padding: 15px 30px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 1rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            transition: background 0.3s ease;
            width: 100%;
        }

        .submit-btn:hover {
            background: #2c2c2c;
        }

        /* Form Row layout for side-by-side fields */
        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
        }

        .contact-info {
            padding: 2rem 0;
        }

        .contact-info h3 {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            color: #8b7355;
            margin-bottom: 2rem;
            font-size: 1.5rem;
            font-weight: 400;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* Match contact heading style in Affiliation panel */
        .affiliation-col h3 {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            color: #2c2c2c;
            margin-bottom: 2rem;
            font-size: 1.5rem;
            font-weight: 400;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .contact-detail {
            margin-bottom: 1.5rem;
            padding: 1.5rem;
            background: #f5f0ec;
            border-radius: 4px;
            box-shadow: 0 2px 10px rgba(44, 44, 44, 0.05);
        }

        .contact-detail strong {
            color: #8b7355;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-size: 0.9rem;
        }

        /* Advisors Section */
        .advisors-section { background: #e8ddd4; }
        .advisors-affiliation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: stretch; }
        .advisors-col { min-width: 0; }
        .affiliation-col { min-width: 0; }
        @media (max-width: 900px) { .advisors-affiliation-grid { grid-template-columns: 1fr; gap: 2rem; } }
        /* Panel look like contact section */
        .advisors-col,
        .affiliation-col { background: #f5f0ec; padding: 3rem; border-radius: 4px; box-shadow: 0 4px 20px rgba(44, 44, 44, 0.08); display: flex; flex-direction: column; min-height: 520px; }
        .affiliation-col .instagram-cta { margin-top: 1rem; display: inline-block; }
        /* Ensure inner content stretches so panels end up same height */
        .advisors-col .advisors-grid { flex: 1; display: grid; }
        .affiliation-col .affiliation-cards { flex: 1; }
        .advisor-card.featured { height: 100%; display: grid; grid-template-rows: auto 1fr; }
        .advisors-section .section-header { margin-bottom: 1.5rem; text-align: left; }
        .affiliation-col .instagram-cta { margin-top: 0.75rem; }
        .section-header { text-align: center; margin-bottom: 2rem; }
        .section-subtitle { color: #2c2c2c; opacity: .9; max-width: 720px; margin: .5rem auto 0; }
        .advisors-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; }
        .advisor-card { background: #fff; border: 1px solid #e8ddd4; border-radius: 8px; box-shadow: 0 4px 20px rgba(44,44,44,.08); overflow: hidden; transition: transform 150ms ease, box-shadow 150ms ease; display: grid; grid-template-columns: 1fr; }
        .advisor-card:hover { transform: translateY(-4px); box-shadow: 0 10px 26px rgba(44,44,44,.14); }
        .advisor-card.featured { border-left: 4px solid #8b7355; }
        .advisor-image { position: relative; background: #fafaf9; display: flex; align-items: center; justify-content: center; padding: 1.5rem; }
        .advisor-image img { width: 160px; height: 160px; object-fit: cover; border-radius: 50%; border: 2px solid #e8ddd4; }
        .advisor-badge { position: absolute; top: 12px; left: 12px; background: #8b7355; color: #fff; padding: 6px 10px; border-radius: 999px; font-size: .75rem; letter-spacing: .5px; text-transform: uppercase; }
        .advisor-content { padding: 1.5rem; }
        .advisor-content h3 { font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif; font-weight: 400; margin-bottom: .25rem; }
        .advisor-title { color: #8b7355; text-transform: uppercase; letter-spacing: .6px; font-size: .85rem; margin-bottom: .75rem; }
        .advisor-description { color: #2c2c2c; line-height: 1.7; margin-bottom: .75rem; }
        .advisor-specialties { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
        .advisor-specialties span { background: #f5f0ec; border: 1px solid #e8ddd4; border-radius: 999px; padding: .3rem .6rem; font-size: .85rem; color: #2c2c2c; }
        .advisor-contact { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: .75rem; }
        .advisor-contact a { color: #8b7355; text-decoration: none; transition: color .15s ease; }
        .advisor-contact a:hover { color: #2c2c2c; }
        .advisor-placeholder { background: #fafaf9; min-height: 180px; display: flex; align-items: center; justify-content: center; }
        .placeholder-icon { width: 56px; height: 56px; border-radius: 50%; background: #e8ddd4; }
        .advisor-cta { margin-top: .5rem; }
        @media (max-width: 768px) { .advisor-image img { width: 120px; height: 120px; } }

        /* Affiliation Section (Pinpoints-style) */
        .affiliation { background: #fafaf9; }
        .affiliation-content { display: grid; grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: start; }
        .affiliation-text .section-title { text-align: left; margin-bottom: 1.5rem; }
        .affiliation-points { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem 2rem; margin-bottom: 1.5rem; }
        .affiliation-point h4 { font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif; font-weight: 400; margin-bottom: .35rem; color: #8b7355; letter-spacing: .5px; text-transform: uppercase; font-size: 0.95rem; }
        .affiliation-point p { line-height: 1.7; color: #2c2c2c; font-size: 0.98rem; }
        .affiliation-points { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
        .affiliation-col .affiliation-point { background: #fff; border: 1px solid #e8ddd4; border-radius: 8px; box-shadow: 0 4px 20px rgba(44,44,44,.06); padding: 1.1rem; }
        /* Carded affiliation points */
        .affiliation-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; margin-bottom: 1rem; }
        .affiliation-card { background: #fff; border: 1px solid #e8ddd4; border-radius: 8px; box-shadow: 0 4px 20px rgba(44,44,44,.06); padding: 1.5rem; transition: transform 150ms ease, box-shadow 150ms ease; }
        .affiliation-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(44,44,44,.14); }
        .affiliation-card h4 { font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif; font-weight: 400; margin-bottom: .35rem; color: #8b7355; letter-spacing: .5px; text-transform: uppercase; font-size: 0.95rem; }
        .affiliation-card p { line-height: 1.7; color: #2c2c2c; font-size: 0.98rem; }
        /* Match advisor contact link styling inside affiliation cards */
        .affiliation-card a { color: #8b7355; text-decoration: none; transition: color .15s ease; }
        .affiliation-card a:hover { color: #2c2c2c; }

        /* About page: card formatting similar to Contact */
        .about .about-content { gap: 4rem; }
        .panel-card { background: #fff; border: 1px solid #e8ddd4; border-radius: 8px; box-shadow: 0 4px 20px rgba(44,44,44,.06); padding: 2rem; }
        @media (max-width: 768px) { .about .about-content { gap: 2rem; } }

        /* About page: match contact section background */
        .page-about .about { background: #e8ddd4; }

        /* About socials */
        .about-socials { display: flex; gap: 1rem; align-items: center; margin-top: 1rem; flex-wrap: wrap; }
        .about-socials a { display: inline-flex; align-items: center; gap: .5rem; color: #8b7355; text-decoration: none; border: 1px solid #e8ddd4; padding: .4rem .6rem; border-radius: 999px; background: #f5f0ec; transition: color .15s ease, border-color .15s ease, background .15s ease; }
        .about-socials a:hover { color: #2c2c2c; border-color: #c4b5a0; background: #fff; }
        .about-socials img { display: block; width: 20px; height: 20px; }

        /* About page: socials within the Certifications header */
        .certifications-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .25rem; flex-wrap: wrap; }
        .certifications-header .about-socials { margin-top: 0; }
        .page-about .about-text .certifications-header .about-socials { position: static; right: auto; bottom: auto; }
        .page-about .about-text.panel-card { padding-bottom: 2rem; }

        /* About page: two-column inner layout with vertical centering */
        .about-inner { display: grid; grid-template-columns: 320px 1fr; gap: 2rem; align-items: center; }
        /* Place socials under bio (right aligned) on desktop */
        .about-inner .about-socials { grid-column: 2; justify-self: end; margin-top: .75rem; }
        .bio-photo { width: 100%; max-width: 320px; height: auto; border-radius: 12px; object-fit: cover; }
        .page-about .about .about-content { grid-template-columns: 1fr; }
        @media (max-width: 768px) {
            .about-inner { grid-template-columns: 1fr; }
            .bio-photo { max-width: 100%; }
            .about-inner .about-socials { grid-column: 1; justify-self: start; }
        }
        /* Certifications & Specialties on About */
        .certifications { margin-top: 1.25rem; display: grid; gap: .75rem; grid-template-columns: 1fr; }
        .certifications-title { margin-bottom: .5rem; }
        .about-text .certifications-title { color: #000; }
        .info-group { background: #fff; border: 1px solid #e8ddd4; border-radius: 8px; box-shadow: 0 4px 20px rgba(44,44,44,.06); padding: 1rem 1.25rem; }
        .info-group + .info-group { margin-top: .75rem; }
        .info-group-label { font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif; font-size: .9rem; color: #8b7355; text-transform: uppercase; letter-spacing: .6px; margin-bottom: .25rem; }
        .info-list { list-style: none; margin: 0; padding: 0; }
        .info-list li { padding: .5rem 0; border-top: 1px solid #e8ddd4; line-height: 1.5; }
        .info-list li:first-child { border-top: 0; }
        /* Desktop two-column layout for info groups */
        @media (min-width: 900px) {
            .certifications { grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; }
            .certifications-header { grid-column: 1 / -1; }
            .info-group + .info-group { margin-top: 0; }
        }
        .affiliation-stats { display: grid; gap: 1rem; align-content: start; }
        .stat-item { background: #f5f0ec; border: 1px solid #e8ddd4; border-radius: 8px; padding: 1.5rem; text-align: center; box-shadow: 0 4px 20px rgba(44,44,44,.06); }
        .stat-number { font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif; font-size: 1.6rem; letter-spacing: 1px; color: #2c2c2c; }
        .stat-label { color: #8b7355; text-transform: uppercase; letter-spacing: .7px; font-size: .85rem; margin-top: .35rem; }
        @media (max-width: 768px) { .affiliation-content { grid-template-columns: 1fr; } .affiliation-points { grid-template-columns: 1fr; } .affiliation-text .section-title { text-align: center; } }

        /* Instagram Section */
        .insta-section {
            background: #fafaf9;
            padding-top: 80px;
            padding-bottom: 80px;
        }

        .insta-actions {
            text-align: center;
            margin-top: 1.25rem;
        }

        .insta-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 12px;
        }

        /* Layout for official Instagram embeds */
        .insta-embeds {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 16px;
            justify-items: center;
            margin-top: 16px;
        }
        .insta-embeds .instagram-media {
            margin: 0 !important;
            border-radius: 12px !important;
            overflow: hidden !important;
            box-shadow: 0 4px 20px rgba(44, 44, 44, 0.08) !important;
            border: 1px solid #e8ddd4 !important;
            background: #fff !important;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }
        .insta-embeds .instagram-media:hover {
            transform: translateY(-3px);
            box-shadow: 0 10px 26px rgba(44, 44, 44, 0.14) !important;
        }

        /* Snappier hover for cards */
        .specialty-category,
        .service-card,
        .destination-card {
            transition: transform 150ms ease, box-shadow 150ms ease;
        }

        .insta-item {
            position: relative;
            display: block;
            aspect-ratio: 4 / 5; /* keeps strict 4:5 tiles */
            overflow: hidden;
            border-radius: 12px;
            background: #eee;
        }

        .insta-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform: scale(1.001);
            transition: transform .25s ease;
        }

        .insta-item:hover img {
            transform: scale(1.04);
        }

        .insta-skeleton {
            background: linear-gradient(90deg, #e9e5df 25%, #f3f0ec 37%, #e9e5df 63%);
            background-size: 400% 100%;
            animation: shimmer 1.4s ease infinite;
            border-radius: 12px;
            aspect-ratio: 4 / 5;
        }

        @keyframes shimmer {
            0% { background-position: 100% 0; }
            100% { background-position: 0 0; }
        }

        .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;
        }

        /* Footer */
        footer {
            background: #2c2c2c;
            color: #f5f0ec;
            text-align: center;
            padding: 3rem 0;
        }

        .footer-content {
            max-width: 600px;
            margin: 0 auto;
        }

        .footer-logo {
            font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
            font-size: 1.5rem;
            font-weight: 400;
            margin-bottom: 1rem;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        .footer-tagline {
            font-style: italic;
            margin-bottom: 2rem;
            color: #c4b5a0;
            letter-spacing: 1px;
        }

        .social-links {
            margin-bottom: 2rem;
        }

        .social-links a {
            color: #8b7355;
            text-decoration: none;
            margin: 0 1rem;
            font-weight: 400;
            text-transform: uppercase;
            letter-spacing: 1px;
            transition: color 0.3s ease;
        }

        .social-links a:hover {
            color: #f5f0ec;
        }

        .highlight {
            color: #8b7355;
            font-weight: 400;
        }
       /* FAQ Styles */
       .faq-container {
           max-width: 800px;
           margin: 0 auto;
       }
       
       .faq-item {
           background: #f5f0ec;
           margin-bottom: 1rem;
           border-radius: 4px;
           box-shadow: 0 2px 10px rgba(44, 44, 44, 0.05);
           overflow: hidden;
       }
       
       .faq-question {
           padding: 2rem;
           cursor: pointer;
           display: flex;
           justify-content: space-between;
           align-items: center;
           transition: background-color 0.3s ease;
       }
       
       .faq-question:hover {
           background-color: #e8ddd4;
       }
       
       .faq-question h3 {
           font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
           font-size: 1.2rem;
           color: #2c2c2c;
           font-weight: 400;
           margin: 0;
           flex: 1;
       }
       
       .faq-toggle {
           font-size: 1.5rem;
           color: #8b7355;
           font-weight: 300;
           transition: transform 0.3s ease;
       }
       
       .faq-item.active .faq-toggle {
           transform: rotate(45deg);
       }
       
       .faq-answer {
           color: #2c2c2c;
           line-height: 1.7;
           max-height: 0;
           overflow: hidden;
           padding: 0 2rem; /* collapse vertical padding */
           transition: max-height 0.35s ease; /* only animate height for reliability */
       }
       
       .faq-item.active .faq-answer {
           /* padding expands only when open; height set via JS for smooth animation */
           padding: 1rem 2rem 2rem 2rem;
       }
        .instagram-cta {
            background: linear-gradient(135deg, #8b7355 0%, #756147 100%);
            color: white;
            padding: 15px 30px;
            text-decoration: none;
            border-radius: 4px;
            font-weight: 400;
            letter-spacing: 1px;
            text-transform: uppercase;
            transition: all 0.3s ease;
            display: inline-block;
            margin-top: 1rem;
        }

        .instagram-cta:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(139, 115, 85, 0.3);
        }

        /* Mobile Responsive */
        @media (max-width: 768px) {
            .nav-toggle { display: inline-block; }
            .nav-links { display: none; position: fixed; top: 64px; right: 0; left: 0; background: #f5f0ec; border-top: 1px solid #e8ddd4; z-index: 999; padding: 1rem 1.25rem; flex-direction: column; gap: 1rem; }
            body.nav-open .nav-links { display: flex; }
            .nav-links a { padding: .25rem 0; }

            .hero-content h1 {
                font-size: 2.5rem;
            }

            .hero-tagline {
                font-size: 1.1rem;
            }

            .about-content,
            .contact-content {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            /* Stack form rows on mobile */
            .form-row {
                grid-template-columns: 1fr;
            }

            .section-title {
                font-size: 2rem;
            }

            section {
                padding: 60px 0;
            }

            .destinations-grid {
                grid-template-columns: 1fr;
            }
        }
/* Success Popup Styles */
.success-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(44, 44, 44, 0.8);
    z-index: 2000;
    justify-content: center;
    align-items: center;
}

.success-popup.show {
    display: flex;
}

.success-content {
    background: #f5f0ec;
    padding: 3rem;
    border-radius: 8px;
    max-width: 500px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(44, 44, 44, 0.3);
    position: relative;
}

.success-content h2 {
    font-family: 'Futura', 'Century Gothic', 'Arial', sans-serif;
    font-weight: 700; /* Futura Bold */
    color: #2c2c2c;
    font-size: 2rem;
    margin-bottom: 1rem;
}

.success-content p {
    font-family: 'Avenir', 'Helvetica Neue', 'Arial', sans-serif; /* match site paragraph */
    color: #2c2c2c;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.close-popup {
    background: #8b7355;
    color: white;
    padding: 12px 24px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.close-popup:hover {
    background: #2c2c2c;
}
