/* ==========================================================
   OPERATION HERO
========================================================== */

.operation-hero{

    position:relative;

    overflow:hidden;

    min-height:95vh;

    display:flex;

    align-items:center;

    color:#fff;

}

.operation-hero::before{

    content:"";

    position:absolute;
    inset:0;

    background:url("../img/waves-pattern.png");
    opacity:.05;

    pointer-events:none;

}

.operation-kicker{

    display:inline-block;

    padding:8px 20px;

    border-radius:50px;

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.18);

    backdrop-filter:blur(10px);

    color:#fff;

    letter-spacing:2px;

    font-size:.8rem;

    font-weight:700;

    text-transform:uppercase;

    margin-bottom:25px;

}

.operation-title{

    font-size:clamp(2.7rem,5vw,4.5rem);

    font-weight:800;

    line-height:1.1;

    margin-bottom:25px;

    color:#fff;

}

.operation-subtitle{

    max-width:900px;

    margin:0 auto;

    font-size:1.2rem;

    line-height:1.9;

    color:rgba(255,255,255,.90);

}

/* ==========================================================
   TRUST BADGES
========================================================== */

.operation-trust{

    margin-top:55px;

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

}

.trust-item{

    display:flex;

    align-items:center;

    gap:12px;

    padding:15px 24px;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.18);

    backdrop-filter:blur(16px);

    border-radius:60px;

    transition:.35s;

}

.trust-item:hover{

    transform:translateY(-6px);

    background:rgba(255,255,255,.18);

    box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.trust-item i{

    width:42px;
    height:42px;

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

    border-radius:50%;

    background:#14b8a6;

    color:#fff;

    font-size:1rem;

}

.trust-item span{

    color:#fff;

    font-weight:600;

    white-space:nowrap;

}

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

.operation-intro{

    margin-top:-70px;

    position:relative;

    z-index:5;

    background:#fff;

    border-radius:30px;

    padding:70px;

    box-shadow:0 30px 70px rgba(0,0,0,.08);

}

.intro-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:#e0f7fa;

    color:#0891b2;

    padding:10px 22px;

    border-radius:40px;

    font-size:.9rem;

    font-weight:700;

    margin-bottom:25px;

}

.intro-badge i{

    color:#0ea5e9;

}

.operation-intro h2{

    font-size:2.4rem;

    font-weight:800;

    color:#12314d;

    margin-bottom:22px;

}

.operation-intro p{

    font-size:1.12rem;

    color:#64748b;

    line-height:1.9;

    margin-bottom:45px;

}

/* ==========================================================
   HIGHLIGHTS
========================================================== */

.operation-highlights{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

    margin-bottom:60px;

}

.highlight{

    display:flex;

    align-items:flex-start;

    gap:18px;

    padding:25px;

    border-radius:20px;

    background:#f8fafc;

    transition:.35s;

}

.highlight:hover{

    transform:translateY(-8px);

    background:#fff;

    box-shadow:0 20px 45px rgba(15,76,117,.10);

}

.highlight i{

    width:58px;
    height:58px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:linear-gradient(135deg,#14b8a6,#0ea5e9);

    color:#fff;

    font-size:1.35rem;

}

.highlight strong{

    display:block;

    color:#0f172a;

    font-size:1.08rem;

    margin-bottom:6px;

}

.highlight span{

    color:#64748b;

    line-height:1.7;

}

/* ==========================================================
   STATS
========================================================== */

.operation-stats{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:22px;

}

.stat{

    text-align:center;

    padding:28px;

    border-radius:22px;

    background:linear-gradient(135deg,#0f4c75,#0d6efd);

    color:#fff;

    transition:.35s;

}

.stat:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(13,110,253,.30);

}

.stat .number{

    display:block;

    font-size:2rem;

    font-weight:800;

    margin-bottom:8px;

}

.stat .label{

    font-size:.95rem;

    letter-spacing:.5px;

    opacity:.9;

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:991px){

.operation-intro{

    padding:45px;

}

.operation-highlights{

    grid-template-columns:1fr;

}

.operation-stats{

    grid-template-columns:repeat(2,1fr);

}

}

@media (max-width:768px){

.operation-hero{

    padding:90px 0 70px;

}

.operation-title{

    font-size:2.6rem;

}

.operation-subtitle{

    font-size:1rem;

}

.operation-intro{

    margin-top:-40px;

    padding:35px 28px;

}

.operation-intro h2{

    font-size:2rem;

}

.operation-trust{

    gap:12px;

}

.trust-item{

    width:100%;

    justify-content:flex-start;

}

.operation-stats{

    grid-template-columns:1fr;

}

.highlight{

    padding:20px;

}

}

/* ==========================================================
   TOUR CARDS
========================================================== */

.tour-card{

    position:relative;

    height:100%;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    border:1px solid rgba(15,76,117,.08);

    box-shadow:0 18px 45px rgba(15,76,117,.08);

    transition:all .45s cubic-bezier(.2,.8,.2,1);

}

.tour-card:hover{

    transform:translateY(-14px);

    box-shadow:0 35px 80px rgba(15,76,117,.18);

}

.tour-card.featured{

    border:2px solid #14b8a6;

}

/* ==========================================================
   MOST POPULAR RIBBON
========================================================== */

.tour-ribbon{

    position:absolute;

    top:22px;

    left:-42px;

    width:180px;

    text-align:center;

    padding:10px 0;

    background:linear-gradient(135deg,#f59e0b,#fb923c);

    color:#fff;

    font-size:.78rem;

    font-weight:800;

    letter-spacing:1.5px;

    transform:rotate(-45deg);

    z-index:20;

    box-shadow:0 10px 25px rgba(0,0,0,.18);

    text-transform:uppercase;

}

/* ==========================================================
   IMAGE
========================================================== */

.tour-image{

    position:relative;

    height:320px;

    overflow:hidden;

}

.tour-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .8s ease;

}

.tour-card:hover .tour-image img{

    transform:scale(1.08);

}

/* ==========================================================
   IMAGE OVERLAY
========================================================== */

.tour-overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    padding:25px;

    background:linear-gradient(to top,
        rgba(8,37,63,.92),
        rgba(8,37,63,.35),
        transparent);

}

.tour-category{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 18px;

    border-radius:40px;

    background:rgba(255,255,255,.14);

    backdrop-filter:blur(14px);

    color:#fff;

    font-weight:700;

    font-size:.88rem;

    letter-spacing:.4px;

}

.tour-price{

    padding:12px 18px;

    border-radius:16px;

    background:#fff;

    color:#12314d;

    font-size:.9rem;

    font-weight:600;

    box-shadow:0 12px 28px rgba(0,0,0,.15);

}

.tour-price strong{

    display:block;

    font-size:1.55rem;

    color:#0ea5e9;

    line-height:1;

    margin-top:4px;

}

/* ==========================================================
   CONTENT
========================================================== */

.tour-content{

    padding:34px;

}

.tour-content h3{

    font-size:1.9rem;

    font-weight:800;

    color:#12314d;

    margin-bottom:16px;

}

.tour-content p{

    color:#64748b;

    line-height:1.85;

    margin-bottom:30px;

}

/* ==========================================================
   FEATURES
========================================================== */

.tour-features{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:14px;

    margin-bottom:34px;

}

.tour-features span{

    display:flex;

    align-items:center;

    gap:10px;

    font-size:.92rem;

    color:#334155;

}

.tour-features i{

    color:#14b8a6;

    font-size:1rem;

}

/* ==========================================================
   BUTTON
========================================================== */

.tour-btn{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    width:100%;

    padding:18px;

    border-radius:18px;

    text-decoration:none;

    font-weight:700;

    font-size:1rem;

    color:#fff;

    background:linear-gradient(135deg,#14b8a6,#0ea5e9);

    transition:all .35s;

    box-shadow:0 15px 35px rgba(14,165,233,.25);

}

.tour-btn:hover{

    color:#fff;

    text-decoration:none;

    transform:translateY(-3px);

    box-shadow:0 25px 45px rgba(14,165,233,.35);

    background:linear-gradient(135deg,#0f9f92,#0284c7);

}

.tour-btn i{

    transition:.3s;

}

.tour-btn:hover i{

    transform:translateX(6px);

}

/* ==========================================================
   FEATURED CARD
========================================================== */

.featured .tour-btn{

    background:linear-gradient(135deg,#f59e0b,#fb923c);

    box-shadow:0 18px 40px rgba(251,146,60,.30);

}

.featured .tour-btn:hover{

    background:linear-gradient(135deg,#ea8a00,#f97316);

    box-shadow:0 28px 55px rgba(249,115,22,.40);

}

.featured .tour-price strong{

    color:#f97316;

}

/* ==========================================================
   CARD HOVER DETAILS
========================================================== */

.tour-card::after{

    content:"";

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    height:4px;

    background:linear-gradient(90deg,#14b8a6,#0ea5e9);

    transform:scaleX(0);

    transform-origin:left;

    transition:.45s;

}

.tour-card:hover::after{

    transform:scaleX(1);

}

.tour-card:hover .tour-content h3{

    color:#0ea5e9;

}

/* ==========================================================
   IMAGE SHINE EFFECT
========================================================== */

.tour-image::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:60%;

    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.28),
        transparent
    );

    transform:skewX(-20deg);

    z-index:5;

}

.tour-card:hover .tour-image::before{

    animation:tourShine 1s ease;

}

@keyframes tourShine{

    100%{

        left:170%;

    }

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:991px){

    .tour-content{

        padding:28px;

    }

    .tour-features{

        grid-template-columns:1fr;

    }

}

@media (max-width:768px){

    .tour-image{

        height:260px;

    }

    .tour-content h3{

        font-size:1.6rem;

    }

    .tour-content{

        padding:24px;

    }

    .tour-ribbon{

        font-size:.7rem;

        width:160px;

    }

}
/* ==========================================================
   FINAL BOOKING CTA
========================================================== */

.booking-cta{

    position:relative;

    overflow:hidden;

    margin:90px 0 70px;

    padding:70px;

    border-radius:36px;

    background:
        radial-gradient(circle at top right,#49c5ff25,transparent 35%),
        linear-gradient(135deg,#08253f,#0f4c75,#0d6efd);

    color:#fff;

    box-shadow:0 35px 80px rgba(8,37,63,.28);

}

.booking-cta::before{

    content:"";

    position:absolute;
    inset:0;

    background:linear-gradient(
        130deg,
        rgba(255,255,255,.08),
        transparent 45%,
        rgba(255,255,255,.04)
    );

    pointer-events:none;

}

.cta-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 22px;

    border-radius:999px;

    background:rgba(255,255,255,.14);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.18);

    font-size:.9rem;

    font-weight:700;

    margin-bottom:24px;

}

.booking-cta h2{

    font-size:clamp(2rem,4vw,3rem);

    font-weight:800;

    line-height:1.2;

    margin-bottom:20px;

    color:#fff;

}

.booking-cta p{

    font-size:1.08rem;

    line-height:1.9;

    color:rgba(255,255,255,.92);

    margin-bottom:35px;

}

/* ==========================================================
   BENEFITS
========================================================== */

.cta-benefits{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

}

.benefit{

    display:flex;

    align-items:center;

    gap:14px;

    padding:16px 20px;

    border-radius:18px;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(10px);

    transition:.35s;

}

.benefit:hover{

    transform:translateY(-5px);

    background:rgba(255,255,255,.18);

}

.benefit i{

    color:#34d399;

    font-size:1.2rem;

}

.benefit span{

    font-weight:600;

    color:#fff;

}

/* ==========================================================
   BOOKING CARD
========================================================== */

.booking-card{

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(20px);

    border:1px solid rgba(255,255,255,.18);

    border-radius:28px;

    padding:35px;

    text-align:center;

    transition:.35s;

}

.booking-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(0,0,0,.18);

}

.rating{

    margin-bottom:30px;

}

.stars{

    color:#FFD54A;

    font-size:1.4rem;

    letter-spacing:3px;

    margin-bottom:10px;

}

.rating h3{

    font-size:2.4rem;

    font-weight:800;

    margin-bottom:6px;

    color:#fff;

}

.rating p{

    margin:0;

    font-size:.95rem;

    color:rgba(255,255,255,.85);

}

/* ==========================================================
   STATS
========================================================== */

.booking-stats{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:16px;

    margin:35px 0;

}

.booking-stat{

    padding:18px 12px;

    border-radius:18px;

    background:rgba(255,255,255,.10);

}

.booking-stat strong{

    display:block;

    font-size:1.5rem;

    font-weight:800;

    color:#fff;

}

.booking-stat span{

    display:block;

    margin-top:5px;

    font-size:.82rem;

    color:rgba(255,255,255,.82);

}

/* ==========================================================
   FINAL BUTTON
========================================================== */

.btn-final-book{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:14px;

    width:100%;

    padding:18px;

    margin-top:10px;

    border-radius:18px;

    text-decoration:none;

    font-weight:700;

    font-size:1rem;

    color:#fff;

    background:linear-gradient(135deg,#f59e0b,#fb923c);

    box-shadow:0 18px 45px rgba(251,146,60,.35);

    transition:.35s;

}

.btn-final-book:hover{

    color:#fff;

    text-decoration:none;

    transform:translateY(-4px);

    background:linear-gradient(135deg,#ea8a00,#f97316);

    box-shadow:0 28px 60px rgba(249,115,22,.45);

}

.btn-final-book i{

    transition:.3s;

}

.btn-final-book:hover i{

    transform:translateX(6px);

}

.booking-card small{

    display:block;

    margin-top:18px;

    color:rgba(255,255,255,.75);

    font-size:.85rem;

}

/* ==========================================================
   REVIEW STRIP
========================================================== */

.review-strip{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

    margin-bottom:90px;

}

.review-item{

    position:relative;

    padding:34px;

    background:#fff;

    border-radius:24px;

    box-shadow:0 18px 40px rgba(15,76,117,.08);

    transition:.35s;

}

.review-item:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 60px rgba(15,76,117,.15);

}

.review-item::before{

    content:"★★★★★";

    display:block;

    margin-bottom:18px;

    color:#FFD54A;

    letter-spacing:3px;

    font-size:1rem;

}

.quote{

    font-size:1.05rem;

    line-height:1.8;

    color:#334155;

    font-style:italic;

    margin-bottom:22px;

}

.review-item span{

    font-weight:700;

    color:#0ea5e9;

    font-size:.9rem;

}

/* ==========================================================
   FLOATING ANIMATION
========================================================== */

.tour-card,
.booking-card,
.review-item{

    animation:floatCard 7s ease-in-out infinite;

}

.tour-card:nth-child(2){

    animation-delay:.4s;

}

.review-item:nth-child(2){

    animation-delay:.6s;

}

.review-item:nth-child(3){

    animation-delay:1s;

}

@keyframes floatCard{

    0%,
    100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-5px);

    }

}

/* ==========================================================
   FADE UP
========================================================== */

.operation-intro,
.tour-card,
.booking-cta,
.review-item{

    animation:fadeUp .9s ease both;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:991px){

    .booking-cta{

        padding:45px;

    }

    .cta-benefits{

        grid-template-columns:1fr;

        margin-bottom:40px;

    }

    .review-strip{

        grid-template-columns:1fr;

    }

}

@media (max-width:768px){

    .booking-cta{

        padding:35px 24px;

        border-radius:28px;

    }

    .booking-stats{

        grid-template-columns:1fr;

    }

    .booking-card{

        margin-top:35px;

        padding:28px;

    }

    .review-item{

        padding:26px;

    }

}
	

/* ==========================================================
   HERO VIDEO
========================================================== */

.operation-video{

    position:absolute;

    inset:0;

    overflow:hidden;

    z-index:0;

    background:#08253f;

}

/* Fallback Image */

.operation-fallback{

    transition:opacity .8s ease;

}

/* Video */

.operation-video video{

    position:absolute;

    top:50%;
    left:50%;

    width:100%;
    height:100%;

    object-fit:cover;

    transform:translate(-50%,-50%) scale(1.05);

    z-index:2;

}

/* Overlay */

.operation-overlay{

    position:absolute;

    inset:0;

    z-index:3;

    background:
        linear-gradient(
            rgba(4,22,37,.30),
            rgba(4,22,37,.35)
        ),

        linear-gradient(
            135deg,
            rgba(8,37,63,.25),
            rgba(14,165,233,.10)
        );

}

/* Hero Content */

.operation-hero .container{

    position:relative;

    z-index:5;

}
/* ==========================================================
   EXPEDITION DETAIL FEATURES
   (dolphin / snorkel / sailing / islet)
========================================================== */

.expedition-feature{

    padding:100px 0;

    position:relative;

    overflow:hidden;

}

.expedition-feature.bg-tint{

    background:#f8fafc;

}

/* Accent colors per activity */

.exp-whale{

    --accent-a:#f59e0b;
    --accent-b:#fb923c;

}

.exp-snorkel{

    --accent-a:#14b8a6;
    --accent-b:#0ea5e9;

}

.exp-sailing{

    --accent-a:#0f4c75;
    --accent-b:#0d6efd;

}

.exp-islet{

    --accent-a:#10b981;
    --accent-b:#14b8a6;

}

.expedition-inner{

    display:flex;

    align-items:center;

    gap:70px;

}

.expedition-inner.reverse{

    flex-direction:row-reverse;

}

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

.expedition-media{

    flex:1 1 46%;

    position:relative;

    border-radius:28px;

    overflow:hidden;

    box-shadow:0 30px 70px rgba(15,76,117,.18);

    min-height:440px;

}

.expedition-media img,
.expedition-media video{

    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .8s ease;

}

.expedition-media:hover img,
.expedition-media:hover video{

    transform:scale(1.06);

}

.expedition-media-tag{

    position:absolute;

    top:22px;
    left:22px;

    z-index:5;

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 18px;

    border-radius:40px;

    background:rgba(255,255,255,.90);

    backdrop-filter:blur(10px);

    color:#12314d;

    font-weight:700;

    font-size:.82rem;

    letter-spacing:.4px;

    box-shadow:0 12px 28px rgba(0,0,0,.15);

}

.expedition-media-tag i{

    color:#f59e0b;

}

/* ==========================================================
   CONTENT
========================================================== */

.expedition-content{

    flex:1 1 50%;

}

.expedition-kicker{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 20px;

    border-radius:40px;

    color:#fff;

    font-weight:700;

    font-size:.82rem;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:22px;

    background:linear-gradient(135deg,var(--accent-a),var(--accent-b));

    box-shadow:0 15px 30px rgba(15,76,117,.20);

}

.expedition-content h2{

    font-size:clamp(1.9rem,3vw,2.5rem);

    font-weight:800;

    color:#12314d;

    margin-bottom:20px;

    line-height:1.2;

}

.expedition-content p{

    color:#64748b;

    font-size:1.05rem;

    line-height:1.9;

    margin-bottom:16px;

}

/* ==========================================================
   FACT PILLS
========================================================== */

.expedition-facts{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:16px;

    margin:34px 0 36px;

}

.fact-pill{

    display:flex;

    align-items:center;

    gap:14px;

    padding:16px 18px;

    border-radius:18px;

    background:#f8fafc;

    transition:.35s;

}

.expedition-feature.bg-tint .fact-pill{

    background:#fff;

}

.fact-pill:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 38px rgba(15,76,117,.12);

}

.fact-pill i{

    width:46px;
    height:46px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:14px;

    background:linear-gradient(135deg,var(--accent-a),var(--accent-b));

    color:#fff;

    font-size:1.05rem;

}

.fact-pill strong{

    display:block;

    font-size:.72rem;

    text-transform:uppercase;

    letter-spacing:.6px;

    color:#94a3b8;

    margin-bottom:3px;

    font-weight:700;

}

.fact-pill span{

    display:block;

    font-weight:700;

    color:#12314d;

    font-size:.92rem;

}

/* ==========================================================
   BUTTON
========================================================== */

.expedition-btn{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:17px 34px;

    border-radius:18px;

    text-decoration:none;

    font-weight:700;

    font-size:1rem;

    color:#fff;

    background:linear-gradient(135deg,var(--accent-a),var(--accent-b));

    box-shadow:0 18px 40px rgba(15,76,117,.25);

    transition:.35s;

}

.expedition-btn:hover{

    color:#fff;

    text-decoration:none;

    transform:translateY(-4px);

    box-shadow:0 26px 55px rgba(15,76,117,.35);

    filter:brightness(1.05);

}

.expedition-btn i{

    transition:.3s;

}

.expedition-btn:hover i{

    transform:translateX(6px);

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:991px){

    .expedition-feature{

        padding:70px 0;

    }

    .expedition-inner,
    .expedition-inner.reverse{

        flex-direction:column;

    }

    .expedition-media{

        width:100%;

        min-height:320px;

    }

    .expedition-content{

        margin-top:40px;

        width:100%;

    }

}

@media (max-width:576px){

    .expedition-facts{

        grid-template-columns:1fr;

    }

    .expedition-content h2{

        font-size:1.8rem;

    }

}

/* ==========================================================
   VIDEO GALLERY SECTION
========================================================== */

.video-gallery{

    padding:100px 0;

}

.video-gallery-head{

    text-align:center;

    max-width:650px;

    margin:0 auto 55px;

}

.exp-gallery-kicker{

    background:linear-gradient(135deg,#0f4c75,#0d6efd);

    box-shadow:0 15px 30px rgba(15,76,117,.20);

}

.video-gallery-head h2{

    font-size:clamp(1.9rem,3vw,2.5rem);

    font-weight:800;

    color:#12314d;

    margin-bottom:14px;

}

.video-gallery-head p{

    color:#64748b;

    font-size:1.08rem;

}

.video-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.video-card{

    position:relative;

    border-radius:24px;

    overflow:hidden;

    aspect-ratio:16/9;

    background:#08253f;

    box-shadow:0 20px 45px rgba(15,76,117,.15);

    transition:.4s;

}

.video-card:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 60px rgba(15,76,117,.25);

}

.video-card iframe{

    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    border:0;

}

@media (max-width:991px){

    .video-grid{

        grid-template-columns:1fr;

    }

}

/* Water encounters accent */

.exp-water{

    --accent-a:#0ea5e9;
    --accent-b:#14b8a6;

}

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

.bg-tint{

    background:#f8fafc;

}

/* Accent colors for expedition-feature reuse on About page */

.exp-science{

    --accent-a:#0f4c75;
    --accent-b:#14b8a6;

}

.exp-safety{

    --accent-a:#0ea5e9;
    --accent-b:#14b8a6;

}

.exp-founders{

    --accent-a:#f59e0b;
    --accent-b:#fb923c;

}

.exp-location{

    --accent-a:#10b981;
    --accent-b:#0ea5e9;

}

/* ==========================================================
   MISSION BANNER
========================================================== */

.mission-banner{

    position:relative;

    overflow:hidden;

    padding:130px 0;

    background-attachment:fixed;

    display:flex;

    align-items:center;

    justify-content:center;

}

.mission-banner-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(180deg,rgba(4,22,37,.72),rgba(4,22,37,.60));

}

.mission-banner .container{

    position:relative;

    z-index:2;

}

.mission-quote-icon{

    font-size:2.2rem;

    color:#14b8a6;

    margin-bottom:25px;

    display:inline-block;

}

.mission-quote{

    font-size:clamp(1.6rem,3.2vw,2.5rem);

    font-weight:700;

    line-height:1.5;

    color:#fff;

    font-style:italic;

}

.mission-signature{

    margin-top:28px;

    color:rgba(255,255,255,.75);

    font-weight:600;

    letter-spacing:.5px;

    text-transform:uppercase;

    font-size:.85rem;

}

@media (max-width:768px){

    .mission-banner{

        padding:90px 0;

        background-attachment:scroll;

    }

}

/* ==========================================================
   QUOTE STRIP (Working Group)
========================================================== */

.quote-strip{

    padding:45px 0;

    background:#f8fafc;

}

.quote-strip-inner{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:20px;

    max-width:780px;

    margin:0 auto;

    text-align:center;

    flex-wrap:wrap;

}

.quote-strip-inner i{

    width:52px;
    height:52px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:linear-gradient(135deg,#0f4c75,#14b8a6);

    color:#fff;

    font-size:1.2rem;

}

.quote-strip-inner p{

    margin:0;

    color:#334155;

    font-size:1.05rem;

    font-style:italic;

    line-height:1.7;

}

@media (max-width:576px){

    .quote-strip-inner{

        flex-direction:column;

    }

}

/* ==========================================================
   PHOTO GRID (Where We Are)
========================================================== */

.photo-grid-3{

    display:grid;

    grid-template-columns:1.2fr 1fr;

    grid-template-rows:1fr 1fr;

    gap:14px;

    height:100%;

    min-height:440px;

}

.photo-grid-3 .photo-main{

    grid-row:1 / 3;

}

.photo-grid-3 img{

    width:100%;
    height:100%;

    object-fit:cover;

    border-radius:22px;

    box-shadow:0 20px 45px rgba(15,76,117,.15);

    transition:.4s;

}

.photo-grid-3 img:hover{

    transform:scale(1.03);

}

@media (max-width:576px){

    .photo-grid-3{

        grid-template-columns:1fr 1fr;

        min-height:300px;

    }

}

/* ==========================================================
   SECTION LEAD (centered intro used above Team grid)
========================================================== */

.section-lead{

    max-width:700px;

    margin:0 auto 55px;

    text-align:center;

}

.exp-team-kicker{

    background:linear-gradient(135deg,#0f4c75,#14b8a6);

    box-shadow:0 15px 30px rgba(15,76,117,.20);

}

.section-lead h2{

    font-size:clamp(1.9rem,3vw,2.5rem);

    font-weight:800;

    color:#12314d;

    margin-bottom:16px;

}

.section-lead p{

    color:#64748b;

    font-size:1.08rem;

    line-height:1.85;

}

/* ==========================================================
   CREW CARDS (Team section)
========================================================== */

.crew-section .testimonial{

    top:0;

    padding-top:100px;

}

.crew-section .testimonials-carousel{

    padding-bottom:10px;

}

.crew-section .testimonial-item.crew-card{

    background:#fff;

    border-radius:26px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(15,76,117,.10);

    transition:.4s;

    padding:0;

    display:block;

    height:100%;

}

.crew-section .testimonial-item.crew-card:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 65px rgba(15,76,117,.18);

}

.crew-section .testimonial-item.crew-card img{

    width:100%;

    height:280px;

    object-fit:cover;

    border-radius:0;

    margin-bottom:0;

    display:block;

}

.crew-card-body{

    padding:26px 28px 30px;

}

.crew-section .testimonial-item.crew-card h2{

    font-size:1.3rem;

    font-weight:800;

    color:#12314d;

    letter-spacing:0;

    padding-bottom:0;

    margin-bottom:4px;

}

.crew-section .testimonial-item.crew-card h2::before{

    display:none;

}

.crew-section .testimonial-item.crew-card h3{

    color:#14b8a6;

    font-size:.82rem;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:14px;

}

.crew-section .testimonial-item.crew-card p{

    color:#64748b;

    font-size:.95rem;

    line-height:1.7;

    margin-bottom:16px;

}

.crew-more{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#0f4c75;

    font-weight:700;

    font-size:.88rem;

}

.crew-section .testimonial-item.crew-card:hover .crew-more{

    color:#14b8a6;

}

.crew-more i{

    transition:.3s;

}

.crew-section .testimonial-item.crew-card:hover .crew-more i{

    transform:translateX(5px);

}
