/* ────────────────────────────────────────────────────────────────────────
   TOURWILL — TEMPLATE: ABOUT PAGE
   Mobile-first, responsive, BEM-ish naming.
   Color tokens: #134e4a (teal), #eab308 (gold), #fafaf7 (cream bg)
   ──────────────────────────────────────────────────────────────────────── */




/* Local tokens (scoped to the about page) -------------------------------- */
.about-page {
    --tw-teal:        #134e4a;
    --tw-teal-deep:   #0d3a35;
    --tw-teal-hover:  #0a2e2a;
    --tw-gold:        #eab308;
    --tw-gold-hover:  #ca9a07;
    --tw-cream:       #fbf8f1;
    --tw-card-bg:     #ffffff;
    --tw-text:        #1f2937;
    --tw-text-muted:  #6b7280;
    --tw-border:      #e7e5e0;
    --tw-radius:      20px;
    --tw-radius-sm:   12px;
    --tw-radius-lg:   28px;
    --tw-shadow-sm:   0 1px 2px rgba(15, 42, 38, .04), 0 2px 6px rgba(15, 42, 38, .04);
    --tw-shadow-md:   0 6px 18px rgba(15, 42, 38, .08), 0 2px 4px rgba(15, 42, 38, .04);
    --tw-shadow-lg:   0 18px 40px rgba(15, 42, 38, .10), 0 6px 12px rgba(15, 42, 38, .05);
    --tw-script:      'Caveat', cursive;
    --tw-section-pad: 60px;

    background: #ffffff;
    color: var(--tw-text);
    overflow-x: clip;
}

@media (min-width: 768px) {
    .about-page { --tw-section-pad: 90px; }
}

/* Utility / shared ------------------------------------------------------- */
.about-page .container {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: 20px;
    box-sizing: border-box;
}

.about-page img {
    max-width: 100%;
    height: auto;
    display: block;
}

.about-page .section-eyebrow {
    font-family: var(--tw-script);
    font-size: clamp(1.25rem, 1.6vw + .5rem, 1.75rem);
    color: var(--tw-gold);
    font-weight: 600;
    line-height: 1;
    margin-bottom: 14px;
    display: inline-block;
}

.about-page .section-title {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: clamp(1.625rem, 3vw + .5rem, 2.5rem);
    line-height: 1.15;
    font-weight: 700;
    color: var(--tw-teal);
    margin: 0 0 24px;
    letter-spacing: -.01em;
}
.about-page .section-title--center {
    text-align: center;
    margin-inline: auto;
}

.about-page .rich-text p {
    color: var(--tw-text-muted);
    line-height: 1.7;
    font-size: 1rem;
    margin: 0 0 14px;
}
.about-page .rich-text p:last-child { margin-bottom: 0; }


/* ──────────────────────────────────────────────────────────────────────
   HERO SECTION
   ────────────────────────────────────────────────────────────────────── */
.about-hero {
    position: relative;
    isolation: isolate;
    min-height: 480px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    color: #fff;
}

@media (min-width: 768px) {
    .about-hero { min-height: 560px; }
}
@media (min-width: 1024px) {
    .about-hero { min-height: 620px; }
}

.about-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: -2;
}

.about-hero__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(13,58,53,.92) 0%, rgba(13,58,53,.78) 38%, rgba(13,58,53,.20) 70%, rgba(13,58,53,0) 100%);
    z-index: -1;
}
@media (min-width: 768px) {
    .about-hero__overlay {
        background:
            linear-gradient(100deg, rgba(13,58,53,.94) 0%, rgba(13,58,53,.80) 35%, rgba(13,58,53,.10) 60%, rgba(13,58,53,0) 100%);
    }
}

.about-hero__inner {
    width: 100%;
    display: flex;
    align-items: center;
    padding-block: 70px 60px;
}

.about-hero__content {
    max-width: 100%;
}
@media (min-width: 768px) {
    .about-hero__content { max-width: 580px; }
}

.about-hero__eyebrow {
    font-family: var(--tw-script);
    font-size: clamp(1.4rem, 1.8vw + .5rem, 2rem);
    color: var(--tw-gold);
    font-weight: 600;
    line-height: 1;
    margin-bottom: 16px;
    display: block;
}

.about-hero__title {
    font-size: clamp(2rem, 5vw + .5rem, 3.5rem);
    line-height: 1.1;
    font-weight: 700;
    margin: 0 0 18px;
    letter-spacing: -.02em;
    color: #fff;
}

.about-hero__desc {
    font-size: clamp(.95rem, .4vw + .8rem, 1.05rem);
    line-height: 1.7;
    color: rgba(255,255,255,.85);
    max-width: 50ch;
    margin: 0;
}


/* ──────────────────────────────────────────────────────────────────────
   STORY SECTION
   ────────────────────────────────────────────────────────────────────── */
.about-story {
    padding-block: var(--tw-section-pad);
}

.about-story__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    align-items: center;
}
@media (min-width: 900px) {
    .about-story__inner {
        grid-template-columns: 1fr 1.05fr;
        gap: 60px;
    }
}

.about-story__media {
    order: -1;
}
@media (min-width: 900px) {
    .about-story__media { order: 0; }
}

.about-story__figure {
    margin: 0;
    border-radius: var(--tw-radius);
    overflow: hidden;
    box-shadow: var(--tw-shadow-md);
    aspect-ratio: 4/3;
}
.about-story__figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.about-story__figure:hover img { transform: scale(1.03); }


/* ──────────────────────────────────────────────────────────────────────
   FOUNDER SECTION
   ────────────────────────────────────────────────────────────────────── */
.about-founder {
    padding-block: 0 var(--tw-section-pad);
}

.about-founder__card {
    background: var(--tw-cream);
    border-radius: var(--tw-radius-lg);
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    box-shadow: var(--tw-shadow-sm);
}
@media (min-width: 900px) {
    .about-founder__card {
        grid-template-columns: 0.85fr 1fr;
        align-items: stretch;
    }
}

.about-founder__media {
    aspect-ratio: 1/1;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--tw-teal), var(--tw-teal-deep));
}
@media (min-width: 900px) {
    .about-founder__media { aspect-ratio: auto; min-height: 100%; }
}
.about-founder__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-founder__placeholder {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.4);
}

.about-founder__body {
    padding: 28px 24px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (min-width: 900px) {
    .about-founder__body { padding: 50px 50px 50px 40px; }
}

.about-founder__name {
    font-size: clamp(1.5rem, 2vw + .5rem, 2rem);
    line-height: 1.2;
    font-weight: 700;
    color: var(--tw-teal);
    margin: 4px 0 6px;
    letter-spacing: -.01em;
}

.about-founder__role {
    font-size: .95rem;
    color: var(--tw-text-muted);
    margin: 0 0 18px;
    font-weight: 500;
}

.about-founder__desc {
    color: var(--tw-text-muted);
    line-height: 1.7;
    margin: 0 0 24px;
    font-size: .98rem;
}

.about-founder__quote {
    border-top: 1px solid rgba(19,78,74,.12);
    padding-top: 22px;
    margin: 0;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "mark text"
        "mark sign";
    gap: 8px 16px;
    align-items: start;
}
@media (min-width: 600px) {
    .about-founder__quote {
        grid-template-columns: auto 1fr auto;
        grid-template-areas: "mark text sign";
        align-items: center;
        gap: 16px 22px;
    }
}

.about-founder__quote-mark {
    grid-area: mark;
    font-family: 'Georgia', serif;
    font-size: 3.2rem;
    color: var(--tw-gold);
    line-height: .8;
    margin-top: 4px;
    font-weight: 700;
}

.about-founder__quote-text {
    grid-area: text;
    font-style: italic;
    font-size: .98rem;
    line-height: 1.55;
    color: var(--tw-teal);
    font-weight: 600;
    margin: 0;
}

.about-founder__quote-sign {
    grid-area: sign;
    text-align: right;
}
.about-founder__signature-text {
    font-family: var(--tw-script);
    font-size: 1.6rem;
    color: var(--tw-teal);
    font-weight: 600;
    line-height: 1;
}
.about-founder__signature-img {
    max-width: 140px;
    max-height: 50px;
    object-fit: contain;
    display: inline-block;
}


/* ──────────────────────────────────────────────────────────────────────
   APPROACH SECTION
   ────────────────────────────────────────────────────────────────────── */
.about-approach {
    padding-block: var(--tw-section-pad);
}

.about-approach__head {
    margin-bottom: 36px;
    max-width: 700px;
}

.about-approach__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 600px) {
    .about-approach__grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (min-width: 1024px) {
    .about-approach__grid { grid-template-columns: repeat(4, 1fr); gap: 22px; }
}

.about-approach__card {
    background: #fff;
    border: 1px solid var(--tw-border);
    border-radius: var(--tw-radius);
    padding: 28px 22px;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    box-shadow: var(--tw-shadow-sm);
}
.about-approach__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--tw-shadow-lg);
    border-color: rgba(19,78,74,.15);
}

.about-approach__icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--tw-teal);
    color: var(--tw-gold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}
.about-approach__icon svg { width: 26px; height: 26px; }

.about-approach__card-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--tw-teal);
    margin: 0 0 10px;
    line-height: 1.3;
}

.about-approach__card-desc {
    font-size: .9rem;
    line-height: 1.6;
    color: var(--tw-text-muted);
    margin: 0;
}


/* ──────────────────────────────────────────────────────────────────────
   EXPERT GUIDES SECTION
   ────────────────────────────────────────────────────────────────────── */
.about-guides {
    padding-block: 0 var(--tw-section-pad);
}

.about-guides__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    align-items: start;
}
@media (min-width: 1024px) {
    .about-guides__inner {
        grid-template-columns: 280px 1fr;
        gap: 40px;
    }
}

.about-guides__intro {
    max-width: 100%;
}

.about-guides__lead {
    color: var(--tw-text-muted);
    line-height: 1.65;
    font-size: .95rem;
    margin: 0;
}

.about-guides__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}
@media (min-width: 600px) {
    .about-guides__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .about-guides__grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
}

.about-guides__card {
    background: #fff;
    border: 1px solid var(--tw-border);
    border-radius: var(--tw-radius);
    overflow: hidden;
    box-shadow: var(--tw-shadow-sm);
    transition: transform .25s ease, box-shadow .25s ease;
}
.about-guides__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--tw-shadow-lg);
}

.about-guides__photo {
    aspect-ratio: 5/3;
    overflow: hidden;
    background: #f3f4f6;
}
.about-guides__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.about-guides__card:hover .about-guides__photo img {
    transform: scale(1.05);
}

.about-guides__body {
    padding: 18px 20px 20px;
}

.about-guides__name {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--tw-teal);
    margin: 0 0 4px;
    line-height: 1.25;
}

.about-guides__role {
    font-family: var(--tw-script);
    font-size: 1.1rem;
    color: var(--tw-gold);
    margin: 0 0 10px;
    font-weight: 600;
    line-height: 1;
}

.about-guides__desc {
    font-size: .88rem;
    line-height: 1.6;
    color: var(--tw-text-muted);
    margin: 0;
}


/* ──────────────────────────────────────────────────────────────────────
   TESTIMONIALS SLIDER
   ────────────────────────────────────────────────────────────────────── */
.about-testimonials {
    background: var(--tw-cream);
    padding-block: var(--tw-section-pad);
}

.about-testimonials__head {
    text-align: center;
    margin-bottom: 36px;
}

.about-testimonials__sub {
    color: var(--tw-text-muted);
    margin: 0;
    font-size: .98rem;
}

.about-testimonials__slider-wrap {
    position: relative;
    padding-inline: 0;
}
@media (min-width: 1024px) {
    .about-testimonials__slider-wrap { padding-inline: 50px; }
}

.about-testimonials__slider {
    overflow: hidden;
    padding-bottom: 44px;
}
.about-testimonials__slider .swiper-wrapper {
    list-style: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    align-items: stretch;
}
.about-testimonial {
    height: auto !important;
    display: flex;
    box-sizing: border-box;
}

.about-testimonial__card {
    background: #fff;
    border: 1px solid var(--tw-border);
    border-radius: var(--tw-radius);
    padding: 22px 20px 20px;
    width: 100%;
    box-shadow: var(--tw-shadow-sm);
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-sizing: border-box;
}

.about-testimonial__rating {
    display: flex;
    gap: 2px;
    color: var(--tw-gold);
}
.about-testimonial__star.is-filled { color: var(--tw-gold); }
.about-testimonial__star:not(.is-filled) { color: rgba(234,179,8,.35); }

.about-testimonial__text {
    color: var(--tw-text);
    font-size: .92rem;
    line-height: 1.65;
    margin: 0;
    flex: 1;
}

.about-testimonial__person {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--tw-border);
}

.about-testimonial__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--tw-teal);
}
.about-testimonial__avatar--initial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 1.1rem;
    text-transform: uppercase;
}

.about-testimonial__meta {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    min-width: 0;
}

.about-testimonial__name {
    font-weight: 700;
    color: var(--tw-teal);
    font-size: .95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.about-testimonial__country {
    font-size: .8rem;
    color: var(--tw-text-muted);
}

/* Slider navigation buttons */
.about-testimonials__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--tw-border);
    color: var(--tw-teal);
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: var(--tw-shadow-md);
    transition: background .2s, color .2s, transform .2s;
    z-index: 5;
}
.about-testimonials__nav:hover {
    background: var(--tw-teal);
    color: #fff;
    transform: translateY(-50%) scale(1.05);
}
.about-testimonials__nav--prev { left: 0; }
.about-testimonials__nav--next { right: 0; }

@media (min-width: 1024px) {
    .about-testimonials__nav { display: inline-flex; }
}

.about-testimonials__nav.swiper-button-disabled {
    opacity: .35;
    cursor: not-allowed;
}

/* Swiper pagination dots */
.about-testimonials__pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
    position: absolute;
    bottom: 8px;
    left: 0;
    right: 0;
}
.about-testimonials__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(19,78,74,.25);
    opacity: 1;
    transition: background .2s, transform .2s;
    cursor: pointer;
    margin: 0;
}
.about-testimonials__pagination .swiper-pagination-bullet-active {
    background: var(--tw-teal);
    transform: scale(1.2);
}


/* ──────────────────────────────────────────────────────────────────────
   SUBMIT TESTIMONIAL CTA
   ────────────────────────────────────────────────────────────────────── */
.about-tcta {
    padding-block: var(--tw-section-pad) 0;
}

.about-tcta__box {
    background: #fef9e7;
    border: 1px solid #fde68a;
    border-radius: var(--tw-radius);
    padding: 24px 22px;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "icon content"
        "btn btn";
    gap: 14px 16px;
    align-items: center;
}
@media (min-width: 768px) {
    .about-tcta__box {
        grid-template-columns: auto 1fr auto;
        grid-template-areas: "icon content btn";
        padding: 28px 30px;
        gap: 24px;
    }
}

.about-tcta__icon {
    grid-area: icon;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fff;
    color: var(--tw-gold);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: var(--tw-shadow-sm);
}
@media (min-width: 768px) {
    .about-tcta__icon { width: 64px; height: 64px; }
}

.about-tcta__content { grid-area: content; }

.about-tcta__title {
    font-size: 1.2rem;
    color: var(--tw-teal);
    margin: 0 0 4px;
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 768px) {
    .about-tcta__title { font-size: 1.35rem; }
}

.about-tcta__text {
    color: var(--tw-text-muted);
    margin: 0;
    font-size: .92rem;
    line-height: 1.55;
}

.about-tcta__btn {
    grid-area: btn;
    background: var(--tw-gold);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 14px 26px;
    font-size: .95rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: background .25s, color .25s, transform .15s;
    white-space: nowrap;
    width: 100%;
    box-sizing: border-box;
}
@media (min-width: 768px) {
    .about-tcta__btn { width: auto; }
}
.about-tcta__btn:hover {
    background: var(--tw-teal);
    color: #fff;
    transform: translateY(-1px);
}


/* ──────────────────────────────────────────────────────────────────────
   WHY TRAVEL WITH US
   ────────────────────────────────────────────────────────────────────── */
.about-why {
    padding-block: var(--tw-section-pad);
}

.about-why__head {
    margin-bottom: 30px;
    max-width: 700px;
}

.about-why__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
@media (min-width: 600px) {
    .about-why__grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (min-width: 1024px) {
    .about-why__grid { grid-template-columns: repeat(4, 1fr); gap: 18px; }
}

.about-why__card {
    background: #fff;
    border: 1px solid var(--tw-border);
    border-radius: var(--tw-radius-sm);
    padding: 18px 20px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    transition: transform .25s ease, box-shadow .25s ease;
    box-shadow: var(--tw-shadow-sm);
}
.about-why__card:hover {
    transform: translateY(-3px);
    box-shadow: var(--tw-shadow-md);
}

.about-why__icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--tw-teal);
    color: var(--tw-gold);
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.about-why__icon svg { width: 22px; height: 22px; }

.about-why__body { flex: 1; min-width: 0; }

.about-why__card-title {
    font-size: .98rem;
    font-weight: 700;
    color: var(--tw-teal);
    margin: 0 0 4px;
    line-height: 1.3;
}

.about-why__card-desc {
    font-size: .82rem;
    line-height: 1.55;
    color: var(--tw-text-muted);
    margin: 0;
}


/* ──────────────────────────────────────────────────────────────────────
   FINAL CTA BANNER
   ────────────────────────────────────────────────────────────────────── */
.about-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 0;
    margin-top: var(--tw-section-pad);
    color: #fff;
}

.about-cta__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: -2;
}

.about-cta__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(95deg, rgba(13,58,53,.95) 0%, rgba(13,58,53,.78) 50%, rgba(13,58,53,.55) 100%);
    z-index: -1;
}

.about-cta__inner {
    padding-block: 50px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: center;
}
@media (min-width: 768px) {
    .about-cta__inner {
        grid-template-columns: 1fr auto;
        gap: 30px;
        padding-block: 70px;
    }
}

.about-cta__eyebrow {
    font-family: var(--tw-script);
    font-size: clamp(1.25rem, 1.4vw + .5rem, 1.7rem);
    color: var(--tw-gold);
    font-weight: 600;
    line-height: 1;
    margin-bottom: 12px;
    display: inline-block;
}

.about-cta__title {
    font-size: clamp(1.6rem, 3vw + .5rem, 2.4rem);
    line-height: 1.15;
    font-weight: 700;
    margin: 0 0 14px;
    letter-spacing: -.01em;
    color: #fff;
}

.about-cta__text {
    color: rgba(255,255,255,.85);
    line-height: 1.65;
    margin: 0;
    font-size: 1rem;
    max-width: 50ch;
}

.about-cta__btn {
    background: var(--tw-gold);
    color: #fff;
    text-decoration: none;
    border-radius: 999px;
    padding: 16px 32px;
    font-weight: 700;
    font-size: .95rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    transition: background .25s, transform .15s;
    white-space: nowrap;
    width: 100%;
    box-sizing: border-box;
}
@media (min-width: 768px) {
    .about-cta__btn { width: auto; }
}
.about-cta__btn:hover {
    background: var(--tw-teal-deep);
    color: #fff;
    transform: translateY(-1px);
}
.about-cta__btn svg { transition: transform .2s; }
.about-cta__btn:hover svg { transform: translateX(3px); }


/* Reduced motion -------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .about-page * {
        animation: none !important;
        transition: none !important;
    }
}

/* Print ---------------------------------------------------------------- */
@media print {
    .about-testimonials__nav,
    .about-testimonials__pagination,
    .about-cta__btn { display: none !important; }
}