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

html{
    scroll-behavior:smooth;
}

body{
    font-family:"Helvetica Neue","PingFang SC",Arial,sans-serif;
    background:linear-gradient(180deg,#f8f6f2 0%,#f2f4f8 100%);
    color:#111827;
}

a{
    color:inherit;
    text-decoration:none;
}

.front-header{
    position:fixed;
    top:22px;
    left:50%;
    transform:translateX(-50%);
    z-index:50;
    width:min(1180px,calc(100% - 32px));
    height:74px;
    border-radius:999px;
    background:rgba(255,255,255,.76);
    backdrop-filter:blur(24px);
    border:1px solid rgba(255,255,255,.8);
    box-shadow:0 14px 42px rgba(15,23,42,.1);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 26px;
}

.front-logo{
    font-size:25px;
    font-weight:900;
    font-style:italic;
}

.front-logo img{
    height:42px;
    display:block;
}

.front-nav{
    display:flex;
    gap:28px;
    font-size:14px;
    font-weight:700;
    color:#374151;
}

.front-lang{
    display:flex;
    gap:8px;
}

.front-lang a{
    padding:8px 12px;
    background:#eef2f7;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
}

.hero-slider{
    height:100vh;
    min-height:720px;
    position:relative;
    overflow:hidden;
}

.hero-slide{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:0;
    transition:opacity 1.2s ease;
}

.hero-slide.active{
    opacity:1;
}

.hero-shade{
    height:100%;
    background:
        linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.25),rgba(0,0,0,.1)),
        linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.28));
    display:flex;
    align-items:center;
}

.hero-copy{
    width:min(720px,88vw);
    margin-left:max(7vw,42px);
    color:white;
}

.hero-copy span,
.section-title span{
    color:#c8a96b;
    font-size:13px;
    font-weight:900;
    letter-spacing:2.4px;
    text-transform:uppercase;
}

.hero-copy h1{
    margin:18px 0 24px;
    font-size:clamp(52px,7vw,96px);
    line-height:.94;
    letter-spacing:-3px;
}

.hero-copy p{
    max-width:620px;
    font-size:19px;
    line-height:1.85;
    color:rgba(255,255,255,.86);
    margin-bottom:34px;
}

.gold-btn{
    display:inline-flex;
    height:52px;
    padding:0 30px;
    border-radius:999px;
    background:#c8a96b;
    color:#111827;
    align-items:center;
    justify-content:center;
    font-weight:900;
}

.review-band{
    width:min(1180px,calc(100% - 32px));
    margin:-72px auto 100px;
    position:relative;
    z-index:10;
    display:grid;
    grid-template-columns:280px 1fr;
    gap:22px;
    padding:22px;
    border-radius:34px;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(24px);
    border:1px solid rgba(255,255,255,.8);
    box-shadow:0 20px 56px rgba(15,23,42,.1);
}

.google-card{
    background:#111827;
    color:white;
    border-radius:26px;
    padding:28px;
}

.google-card span{
    color:#c8a96b;
    font-weight:900;
}

.google-card strong{
    display:block;
    font-size:56px;
    margin:18px 0 4px;
}

.google-card p{
    color:#c8a96b;
    letter-spacing:2px;
}

.horizontal-scroll{
    display:flex;
    gap:20px;
    overflow-x:auto;
    padding-bottom:8px;
    scroll-snap-type:x mandatory;
}

.horizontal-scroll::-webkit-scrollbar{
    height:6px;
}

.horizontal-scroll::-webkit-scrollbar-thumb{
    background:#d1d5db;
    border-radius:999px;
}

.review-card{
    min-width:330px;
    scroll-snap-align:start;
    background:white;
    border-radius:26px;
    padding:24px;
    box-shadow:0 12px 30px rgba(15,23,42,.06);
}

.review-head{
    display:flex;
    align-items:center;
    gap:14px;
}

.review-head img{
    width:54px;
    height:54px;
    border-radius:50%;
    object-fit:cover;
}

.review-head h3{
    font-size:17px;
}

.review-head p{
    font-size:13px;
    color:#6b7280;
}

.stars{
    color:#f59e0b;
    margin:16px 0 10px;
    letter-spacing:1.5px;
}

.review-text{
    color:#4b5563;
    line-height:1.75;
}

.review-photos{
    display:flex;
    gap:8px;
    margin-top:18px;
}

.review-photos img{
    width:86px;
    height:66px;
    object-fit:cover;
    border-radius:14px;
}

.front-section{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto 110px;
}

.section-title{
    margin-bottom:34px;
}

.section-title.center{
    text-align:center;
}

.section-title h2{
    margin-top:8px;
    font-size:clamp(34px,5vw,58px);
    letter-spacing:-2px;
}

.cards-rail{
    padding:4px 0 14px;
}

.region-card{
    min-width:280px;
    background:white;
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 16px 42px rgba(15,23,42,.08);
}

.region-card img,
.tour-card img{
    width:100%;
    height:230px;
    object-fit:cover;
}

.region-card div,
.tour-card div{
    padding:24px;
}

.region-card span,
.tour-card span{
    color:#c8a96b;
    font-size:12px;
    font-weight:900;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.region-card h3,
.tour-card h3,
.service-card h3,
.advantage-card h3{
    margin:10px 0;
    font-size:24px;
}

.region-card p,
.tour-card p,
.service-card p,
.advantage-card p{
    color:#6b7280;
    line-height:1.75;
}

.tour-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.tour-card{
    background:white;
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 16px 42px rgba(15,23,42,.08);
}

.tour-card strong{
    display:block;
    margin-top:18px;
    color:#123f86;
}

.services-zone{
    padding:70px;
    border-radius:42px;
    background:rgba(255,255,255,.52);
    border:1px solid rgba(255,255,255,.8);
}

.service-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.service-card{
    background:white;
    border-radius:28px;
    padding:26px;
    box-shadow:0 14px 36px rgba(15,23,42,.07);
}

.service-card img{
    width:100%;
    height:160px;
    object-fit:cover;
    border-radius:22px;
    margin-bottom:18px;
}

.service-icon,
.adv-icon{
    width:58px;
    height:58px;
    border-radius:18px;
    background:#f2d1b8;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    margin-bottom:18px;
}

.advantage-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.advantage-card{
    background:white;
    border-radius:28px;
    padding:26px;
    box-shadow:0 14px 36px rgba(15,23,42,.07);
}

.advantage-card img{
    width:58px;
    height:58px;
    border-radius:18px;
    object-fit:cover;
}

.front-footer{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto 42px;
    border-radius:38px;
    background:#111827;
    color:white;
    padding:54px;
    display:flex;
    justify-content:space-between;
    gap:40px;
}

.front-footer h2{
    font-size:42px;
    letter-spacing:-1.5px;
    margin-bottom:12px;
}

.front-footer p{
    color:rgba(255,255,255,.72);
    line-height:1.8;
}

.footer-contact a{
    display:inline-flex;
    margin-top:14px;
    margin-right:10px;
    padding:12px 18px;
    border-radius:999px;
    background:#c8a96b;
    color:#111827;
    font-weight:900;
}

/* ===== Detail pages compatible ===== */

.site-header{
    height:88px;
    padding:0 7vw;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:white;
    box-shadow:0 8px 30px rgba(15,23,42,.06);
    position:sticky;
    top:0;
    z-index:20;
}

.site-logo{
    font-size:28px;
    font-weight:900;
    color:#073b8e;
    line-height:1;
}

.site-logo span{
    display:block;
    font-size:16px;
    color:#111827;
}

.site-nav{
    display:flex;
    gap:34px;
    font-weight:700;
}

.site-contact{
    font-weight:800;
    color:#073b8e;
}

.detail-hero{
    height:560px;
    background-size:cover;
    background-position:center;
}

.detail-hero-overlay{
    height:100%;
    background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.35),rgba(255,255,255,.05));
    display:flex;
    align-items:center;
}

.detail-hero-content{
    max-width:680px;
    margin-left:8vw;
}

.detail-tag{
    display:inline-flex;
    padding:9px 16px;
    border-radius:999px;
    background:#f6d7bd;
    font-weight:900;
    margin-bottom:22px;
}

.detail-hero h1{
    font-size:clamp(44px,6vw,82px);
    line-height:.98;
    letter-spacing:-2px;
    margin-bottom:24px;
}

.detail-hero p{
    font-size:19px;
    line-height:1.7;
    max-width:620px;
}

.detail-price{
    margin-top:28px;
    font-size:26px;
    font-weight:900;
    color:#0b3b82;
}

.detail-main{
    width:min(1180px,88vw);
    margin:70px auto;
}

.detail-section{
    margin-bottom:46px;
}

.detail-section h2{
    font-size:34px;
    margin-bottom:18px;
    letter-spacing:-.8px;
}

.detail-section p,
.text-block{
    font-size:17px;
    line-height:1.9;
    color:#374151;
    white-space:pre-line;
}

.detail-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.detail-gallery img{
    width:100%;
    height:210px;
    object-fit:cover;
    border-radius:24px;
    box-shadow:0 16px 40px rgba(15,23,42,.08);
}

.detail-layout{
    display:grid;
    grid-template-columns:1fr 360px;
    gap:60px;
    align-items:start;
}

.booking-card{
    background:white;
    border-radius:30px;
    padding:30px;
    box-shadow:0 20px 60px rgba(15,23,42,.1);
    position:sticky;
    top:120px;
}

.booking-card h3{
    font-size:28px;
    margin-bottom:14px;
}

.booking-card p{
    color:#6b7280;
    line-height:1.7;
    margin-bottom:22px;
}

.book-btn{
    display:flex;
    width:100%;
    height:50px;
    border-radius:999px;
    align-items:center;
    justify-content:center;
    background:#123f86;
    color:white;
    font-weight:900;
    margin-bottom:12px;
}

.book-btn.secondary{
    background:#f2d1b8;
    color:#111827;
}

.site-footer{
    background:#123f86;
    color:white;
    padding:50px 8vw;
    display:flex;
    justify-content:space-between;
    gap:40px;
}

.site-footer p{
    line-height:1.8;
    opacity:.9;
}

@media(max-width:900px){
    .front-nav{
        display:none;
    }

    .front-header{
        height:auto;
        padding:14px 18px;
        top:12px;
    }

    .hero-slider{
        height:680px;
        min-height:680px;
    }

    .hero-copy{
        margin:0 24px;
    }

    .review-band{
        grid-template-columns:1fr;
        margin-top:-54px;
    }

    .tour-grid,
    .service-grid,
    .advantage-grid{
        grid-template-columns:1fr;
    }

    .services-zone{
        padding:36px 20px;
    }

    .front-footer{
        display:grid;
        padding:34px 26px;
    }

    .site-nav{
        display:none;
    }

    .detail-layout{
        grid-template-columns:1fr;
    }

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

/* =========================
   Front polish: hero + contact + google review
========================= */

.hero-slider{
    height:680px !important;
    min-height:680px !important;
}

.hero-copy h1{
    font-size:clamp(48px,5.6vw,74px) !important;
    line-height:1.05 !important;
    max-width:620px !important;
    letter-spacing:-2px !important;
}

.hero-copy p{
    font-size:17px !important;
    max-width:560px !important;
}

.hero-copy{
    margin-left:max(6vw,52px) !important;
}

.contact-strip{
    position:relative;
    z-index:12;
    width:min(1100px,calc(100% - 48px));
    margin:-54px auto 26px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(22px);
    border-radius:28px;
    box-shadow:0 22px 60px rgba(15,23,42,.13);
    overflow:hidden;
}

.contact-strip div{
    padding:22px 28px;
    border-right:1px solid #eef0f4;
    display:grid;
    grid-template-columns:36px 1fr;
    column-gap:14px;
    align-items:start;
}

.contact-strip div:last-child{
    border-right:none;
}

.contact-strip span{
    grid-row:1 / span 2;
    width:34px;
    height:34px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f5dfcb;
    color:#9b5e2e;
    font-size:16px;
}

.contact-strip strong{
    font-size:14px;
    color:#111827;
}

.contact-strip p{
    margin-top:5px;
    font-size:13px;
    line-height:1.45;
    color:#4b5563;
}

.review-band{
    width:min(1100px,calc(100% - 48px)) !important;
    margin:0 auto 82px !important;
    position:relative;
    z-index:10;
    display:grid !important;
    grid-template-columns:230px 390px 1fr !important;
    gap:22px !important;
    align-items:center !important;
    padding:22px !important;
    border-radius:30px !important;
    background:rgba(255,255,255,.9) !important;
    backdrop-filter:blur(22px);
    border:1px solid rgba(255,255,255,.8);
    box-shadow:0 20px 56px rgba(15,23,42,.1);
}

.google-score-card{
    min-height:150px;
    border-radius:24px;
    background:white;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    box-shadow:0 12px 28px rgba(15,23,42,.06);
}

.google-logo{
    font-size:26px;
    font-weight:900;
    letter-spacing:-1px;
    color:#4285f4;
}

.google-score-card strong{
    font-size:42px;
    line-height:1;
    margin:6px 0 4px;
    color:#111827;
}

.google-stars{
    color:#f59e0b;
    letter-spacing:2px;
    font-size:15px;
    margin-bottom:4px;
}

.google-score-card small{
    font-size:12px;
    color:#6b7280;
}

.review-photo-strip{
    display:flex;
    gap:12px;
    overflow-x:auto;
    padding-bottom:4px;
}

.review-photo-strip img{
    flex:0 0 116px;
    width:116px;
    height:112px;
    border-radius:18px;
    object-fit:cover;
    box-shadow:0 10px 24px rgba(15,23,42,.08);
}

.review-quote-box{
    min-height:150px;
    background:white;
    border-radius:24px;
    padding:26px 30px;
    box-shadow:0 12px 28px rgba(15,23,42,.06);
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
}

.quote-mark{
    position:absolute;
    left:22px;
    top:10px;
    font-size:54px;
    line-height:1;
    color:#123f86;
    opacity:.9;
}

.review-quote-box p{
    padding-left:36px;
    font-size:15px;
    line-height:1.65;
    color:#374151;
}

.review-quote-box strong{
    padding-left:36px;
    margin-top:10px;
    font-size:13px;
    color:#111827;
}

@media(max-width:900px){
    .hero-slider{
        height:620px !important;
        min-height:620px !important;
    }

    .contact-strip{
        grid-template-columns:1fr;
        margin:-40px auto 20px;
    }

    .contact-strip div{
        border-right:none;
        border-bottom:1px solid #eef0f4;
    }

    .review-band{
        grid-template-columns:1fr !important;
    }

    .review-photo-strip img{
        flex-basis:112px;
        height:96px;
    }
}

/* Hero再缩小 */
.hero-slider{
    height:540px !important;
    min-height:540px !important;
}

.hero-copy h1{
    font-size:60px !important;
    max-width:520px !important;
    line-height:1.05 !important;
}

.hero-copy p{
    font-size:16px !important;
    max-width:500px !important;
}

.hero-copy{
    margin-left:50px !important;
}

/* 联系方式条再往上提一点 */
.contact-strip{
    margin:-40px auto 20px !important;
}

@media(max-width:900px){

    .hero-slider{
        height:460px !important;
        min-height:460px !important;
    }

    .hero-copy h1{
        font-size:42px !important;
    }

}

/* Hero再缩小 */
.hero-slider{
    height:540px !important;
    min-height:540px !important;
}

.hero-copy h1{
    font-size:60px !important;
    max-width:520px !important;
    line-height:1.05 !important;
}

.hero-copy p{
    font-size:16px !important;
    max-width:500px !important;
}

.hero-copy{
    margin-left:50px !important;
}

/* 联系方式条再往上提一点 */
.contact-strip{
    margin:-40px auto 20px !important;
}

@media(max-width:900px){

    .hero-slider{
        height:460px !important;
        min-height:460px !important;
    }

    .hero-copy h1{
        font-size:42px !important;
    }

}

/* =========================
   Hero + Google Review final scale down
========================= */

/* 首屏轮播继续缩小 */
.hero-slider{
    height:460px !important;
    min-height:460px !important;
}

.hero-copy{
    margin-left:42px !important;
}

.hero-copy span{
    font-size:11px !important;
}

.hero-copy h1{
    font-size:46px !important;
    max-width:430px !important;
    line-height:1.06 !important;
    letter-spacing:-1.4px !important;
    margin:12px 0 16px !important;
}

.hero-copy p{
    font-size:14px !important;
    max-width:430px !important;
    line-height:1.6 !important;
    margin-bottom:22px !important;
}

.gold-btn{
    height:44px !important;
    padding:0 24px !important;
    font-size:13px !important;
}

/* 联系方式条同步缩小 */
.contact-strip{
    width:min(960px,calc(100% - 80px)) !important;
    margin:-34px auto 18px !important;
    border-radius:22px !important;
}

.contact-strip div{
    padding:16px 22px !important;
    grid-template-columns:30px 1fr !important;
    column-gap:10px !important;
}

.contact-strip span{
    width:28px !important;
    height:28px !important;
    font-size:13px !important;
}

.contact-strip strong{
    font-size:12px !important;
}

.contact-strip p{
    font-size:11px !important;
}

/* Google好评整体缩小约50% */
.review-band{
    width:min(960px,calc(100% - 80px)) !important;
    margin:0 auto 56px !important;
    grid-template-columns:160px 260px 1fr !important;
    gap:14px !important;
    padding:14px !important;
    border-radius:22px !important;
}

.google-score-card{
    min-height:92px !important;
    border-radius:18px !important;
}

.google-logo{
    font-size:18px !important;
}

.google-score-card strong{
    font-size:30px !important;
    margin:2px 0 !important;
}

.google-stars{
    font-size:11px !important;
    letter-spacing:1px !important;
}

.google-score-card small{
    font-size:10px !important;
}

.review-photo-strip{
    gap:8px !important;
}

.review-photo-strip img{
    flex:0 0 78px !important;
    width:78px !important;
    height:72px !important;
    border-radius:12px !important;
}

.review-quote-box{
    min-height:92px !important;
    border-radius:18px !important;
    padding:16px 20px !important;
}

.quote-mark{
    left:14px !important;
    top:6px !important;
    font-size:34px !important;
}

.review-quote-box p{
    padding-left:24px !important;
    font-size:11px !important;
    line-height:1.5 !important;
}

.review-quote-box strong{
    padding-left:24px !important;
    margin-top:6px !important;
    font-size:10px !important;
}

/* 手机端 */
@media(max-width:900px){
    .hero-slider{
        height:420px !important;
        min-height:420px !important;
    }

    .hero-copy h1{
        font-size:34px !important;
    }

    .contact-strip,
    .review-band{
        width:calc(100% - 32px) !important;
    }

    .review-band{
        grid-template-columns:1fr !important;
    }
}

/* =========================
   Desktop one-screen layout scale
========================= */

body{
    background:#eef1f5 !important;
}

.front-header{
    top:12px !important;
    height:58px !important;
    width:min(1120px,calc(100% - 90px)) !important;
    padding:0 24px !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
}

.front-logo{
    font-size:22px !important;
    line-height:1 !important;
}

.front-nav{
    gap:28px !important;
    font-size:13px !important;
}

.front-lang a{
    padding:7px 10px !important;
    font-size:11px !important;
}

/* Hero控制在参考图比例 */
.hero-slider{
    width:min(1120px,calc(100% - 90px)) !important;
    height:330px !important;
    min-height:330px !important;
    margin:78px auto 0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
}

.hero-copy{
    margin-left:90px !important;
    width:430px !important;
}

.hero-copy span{
    font-size:10px !important;
    letter-spacing:1.8px !important;
}

.hero-copy h1{
    font-size:42px !important;
    max-width:420px !important;
    line-height:1.08 !important;
    margin:12px 0 16px !important;
    letter-spacing:-1px !important;
}

.hero-copy p{
    font-size:13px !important;
    line-height:1.55 !important;
    max-width:360px !important;
    margin-bottom:18px !important;
}

.gold-btn{
    height:38px !important;
    padding:0 22px !important;
    font-size:12px !important;
}

/* 联系方式条压进首屏 */
.contact-strip{
    width:min(940px,calc(100% - 220px)) !important;
    margin:-34px auto 18px !important;
    border-radius:10px !important;
    grid-template-columns:repeat(4,1fr) !important;
    box-shadow:0 12px 30px rgba(15,23,42,.09) !important;
}

.contact-strip div{
    padding:14px 20px !important;
    grid-template-columns:30px 1fr !important;
}

.contact-strip span{
    width:28px !important;
    height:28px !important;
}

.contact-strip strong{
    font-size:12px !important;
}

.contact-strip p{
    font-size:11px !important;
    line-height:1.35 !important;
}

/* Google评论压缩成参考图比例 */
.review-band{
    width:min(940px,calc(100% - 220px)) !important;
    margin:0 auto 26px !important;
    padding:12px 14px !important;
    border-radius:12px !important;
    grid-template-columns:190px 330px 1fr !important;
    gap:14px !important;
    box-shadow:none !important;
    background:rgba(255,255,255,.78) !important;
}

.google-score-card{
    min-height:86px !important;
    box-shadow:none !important;
    border-radius:10px !important;
}

.google-logo{
    font-size:20px !important;
}

.google-score-card strong{
    font-size:30px !important;
}

.google-stars{
    font-size:10px !important;
}

.google-score-card small{
    font-size:10px !important;
}

.review-photo-strip img{
    width:88px !important;
    height:70px !important;
    flex-basis:88px !important;
    border-radius:8px !important;
}

.review-quote-box{
    min-height:86px !important;
    padding:14px 18px !important;
    border-radius:10px !important;
    box-shadow:none !important;
}

.quote-mark{
    font-size:30px !important;
}

.review-quote-box p{
    font-size:11px !important;
    line-height:1.45 !important;
}

.review-quote-box strong{
    font-size:10px !important;
}

/* 地区卡片也进入首屏 */
.front-section{
    width:min(940px,calc(100% - 220px)) !important;
    margin:0 auto 34px !important;
}

.section-title{
    margin-bottom:14px !important;
}

.section-title span{
    display:none !important;
}

.section-title h2{
    font-size:22px !important;
    letter-spacing:-.3px !important;
    margin:0 !important;
}

.region-card{
    min-width:220px !important;
    border-radius:8px !important;
    box-shadow:0 8px 20px rgba(15,23,42,.08) !important;
}

.region-card img{
    height:115px !important;
}

.region-card div{
    padding:14px 16px !important;
}

.region-card h3{
    font-size:15px !important;
    margin:4px 0 !important;
}

.region-card p{
    font-size:11px !important;
    line-height:1.45 !important;
}

.cards-rail{
    gap:14px !important;
}

/* Popular Tours 标题露出来 */
#tours{
    margin-top:-10px !important;
}

.tour-grid{
    grid-template-columns:repeat(3,1fr) !important;
    gap:16px !important;
}

.tour-card{
    border-radius:10px !important;
}

.tour-card img{
    height:150px !important;
}

.tour-card div{
    padding:14px !important;
}

.tour-card h3{
    font-size:16px !important;
}

.tour-card p{
    font-size:12px !important;
}

/* 大屏强制减少上下留白 */
.review-band + .front-section{
    margin-top:0 !important;
}

@media(max-width:900px){
    .front-header,
    .hero-slider,
    .contact-strip,
    .review-band,
    .front-section{
        width:calc(100% - 24px) !important;
    }

    .hero-slider{
        height:420px !important;
        min-height:420px !important;
        margin-top:76px !important;
    }

    .hero-copy{
        margin-left:28px !important;
    }

    .contact-strip,
    .review-band{
        grid-template-columns:1fr !important;
    }
}

/* =========================
   Full-width premium layout fix
========================= */

/* 页面铺满，不再缩成小盒子 */
body{
    background:#f4f6f8 !important;
}

/* 顶部导航铺宽 */
.front-header{
    width:calc(100% - 80px) !important;
    max-width:none !important;
    height:64px !important;
    top:18px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.86) !important;
    backdrop-filter:blur(22px) !important;
    box-shadow:0 14px 40px rgba(15,23,42,.1) !important;
}

/* Hero 铺满屏宽，但高度控制 */
.hero-slider{
    width:100% !important;
    max-width:none !important;
    height:520px !important;
    min-height:520px !important;
    margin:0 !important;
    border-radius:0 !important;
}

/* 给导航留出视觉空间 */
.hero-shade{
    padding-top:80px !important;
}

/* Hero 文案不要太小 */
.hero-copy{
    margin-left:7vw !important;
    width:540px !important;
}

.hero-copy h1{
    font-size:58px !important;
    max-width:540px !important;
    line-height:1.05 !important;
}

.hero-copy p{
    font-size:16px !important;
    max-width:520px !important;
}

/* 联系方式条：宽，但不厚 */
.contact-strip{
    width:min(1120px,calc(100% - 120px)) !important;
    margin:-48px auto 22px !important;
    border-radius:22px !important;
}

/* Google好评：宽铺开但高度压缩 */
.review-band{
    width:min(1120px,calc(100% - 120px)) !important;
    margin:0 auto 48px !important;
    grid-template-columns:220px 360px 1fr !important;
    min-height:120px !important;
    padding:16px !important;
    border-radius:24px !important;
}

/* 地区、产品区域铺宽 */
.front-section{
    width:min(1120px,calc(100% - 120px)) !important;
    margin:0 auto 70px !important;
}

/* 地区卡片正常宽度 */
.region-card{
    min-width:260px !important;
    border-radius:18px !important;
}

.region-card img{
    height:150px !important;
}

.region-card div{
    padding:18px !important;
}

.region-card h3{
    font-size:18px !important;
}

/* 标题恢复高级感 */
.section-title h2{
    font-size:32px !important;
    margin-bottom:8px !important;
}

/* Popular Tours 更正常 */
.tour-grid{
    grid-template-columns:repeat(4,1fr) !important;
    gap:20px !important;
}

.tour-card img{
    height:180px !important;
}

.tour-card h3{
    font-size:18px !important;
}

/* Google评论卡内容别太空 */
.google-score-card,
.review-quote-box{
    min-height:100px !important;
}

.review-photo-strip img{
    width:96px !important;
    height:82px !important;
    flex-basis:96px !important;
}

/* 小屏 */
@media(max-width:900px){
    .front-header{
        width:calc(100% - 24px) !important;
        top:12px !important;
    }

    .hero-slider{
        height:520px !important;
        min-height:520px !important;
    }

    .contact-strip,
    .review-band,
    .front-section{
        width:calc(100% - 28px) !important;
    }

    .review-band{
        grid-template-columns:1fr !important;
    }

    .tour-grid{
        grid-template-columns:1fr !important;
    }
}


/* =========================
   Mobile = desktop same layout scale
========================= */

html.fit-desktop body{
    width:1180px !important;
    min-width:1180px !important;
    overflow-x:hidden !important;
    transform-origin:top left !important;
}

html.fit-desktop .front-header{
    width:calc(1180px - 80px) !important;
    left:40px !important;
    right:auto !important;
    transform:none !important;
}

html.fit-desktop .front-nav{
    display:flex !important;
}

html.fit-desktop .hero-slider{
    width:1180px !important;
    height:520px !important;
    min-height:520px !important;
}

html.fit-desktop .contact-strip{
    width:960px !important;
    grid-template-columns:repeat(4,1fr) !important;
}

html.fit-desktop .review-band{
    width:960px !important;
    grid-template-columns:220px 360px 1fr !important;
}

html.fit-desktop .front-section{
    width:960px !important;
}

html.fit-desktop .tour-grid{
    grid-template-columns:repeat(4,1fr) !important;
}

html.fit-desktop .service-grid{
    grid-template-columns:repeat(4,1fr) !important;
}

html.fit-desktop .advantage-grid{
    grid-template-columns:repeat(4,1fr) !important;
}


/* =========================
   Mobile clean layout override
========================= */

@media(max-width:900px){

    html.fit-desktop body{
        width:auto !important;
        min-width:0 !important;
        transform:none !important;
    }

    body{
        zoom:1 !important;
        overflow-x:hidden !important;
        background:#f4f6f8 !important;
    }

    .front-header{
        width:calc(100% - 24px) !important;
        left:12px !important;
        right:auto !important;
        transform:none !important;
        top:12px !important;
        height:54px !important;
        padding:0 12px !important;
        border-radius:999px !important;
    }

    .front-logo{
        font-size:18px !important;
    }

    .front-nav{
        display:none !important;
    }

    .front-lang{
        gap:4px !important;
    }

    .front-lang a{
        padding:7px 9px !important;
        font-size:11px !important;
    }

    .hero-slider{
        width:100% !important;
        height:420px !important;
        min-height:420px !important;
        margin:0 !important;
    }

    .hero-shade{
        padding-top:72px !important;
    }

    .hero-copy{
        width:auto !important;
        margin-left:24px !important;
        margin-right:24px !important;
    }

    .hero-copy span{
        font-size:11px !important;
    }

    .hero-copy h1{
        font-size:36px !important;
        max-width:320px !important;
        line-height:1.08 !important;
        margin:10px 0 14px !important;
    }

    .hero-copy p{
        font-size:14px !important;
        max-width:310px !important;
        line-height:1.5 !important;
    }

    .gold-btn{
        height:38px !important;
        padding:0 20px !important;
        font-size:12px !important;
    }

    .contact-strip{
        width:calc(100% - 28px) !important;
        margin:-28px auto 16px !important;
        display:grid !important;
        grid-template-columns:repeat(2,1fr) !important;
        border-radius:20px !important;
        overflow:hidden !important;
    }

    .contact-strip div{
        padding:14px 12px !important;
        border-right:none !important;
        border-bottom:1px solid #eef0f4 !important;
        grid-template-columns:28px 1fr !important;
    }

    .contact-strip strong{
        font-size:12px !important;
    }

    .contact-strip p{
        font-size:11px !important;
        word-break:break-word !important;
    }

    .review-band{
        width:calc(100% - 28px) !important;
        margin:0 auto 34px !important;
        display:grid !important;
        grid-template-columns:120px 1fr !important;
        gap:10px !important;
        padding:12px !important;
        border-radius:20px !important;
    }

    .google-score-card{
        min-height:116px !important;
        border-radius:16px !important;
    }

    .review-photo-strip{
        display:none !important;
    }

    .review-quote-box{
        min-height:116px !important;
        border-radius:16px !important;
        padding:16px !important;
    }

    .review-quote-box p{
        font-size:12px !important;
        line-height:1.45 !important;
        padding-left:20px !important;
    }

    .review-quote-box strong{
        font-size:11px !important;
        padding-left:20px !important;
    }

    .front-section{
        width:calc(100% - 28px) !important;
        margin:0 auto 42px !important;
    }

    .section-title h2{
        font-size:22px !important;
    }

    .horizontal-scroll,
    .cards-rail{
        display:flex !important;
        overflow-x:auto !important;
        gap:12px !important;
        scroll-snap-type:x mandatory !important;
        padding-bottom:10px !important;
    }

    .region-card{
        flex:0 0 210px !important;
        min-width:210px !important;
        max-width:210px !important;
        scroll-snap-align:start !important;
        border-radius:16px !important;
    }

    .region-card img{
        height:118px !important;
    }

    .region-card div{
        padding:13px !important;
    }

    .region-card h3{
        font-size:15px !important;
    }

    .region-card p{
        font-size:12px !important;
        line-height:1.45 !important;
    }

    .tour-grid{
        display:flex !important;
        overflow-x:auto !important;
        gap:12px !important;
        padding-bottom:12px !important;
        scroll-snap-type:x mandatory !important;
    }

    .tour-card{
        flex:0 0 210px !important;
        min-width:210px !important;
        max-width:210px !important;
        border-radius:16px !important;
        scroll-snap-align:start !important;
    }

    .tour-card img{
        height:120px !important;
    }

    .tour-card div{
        padding:13px !important;
    }

    .tour-card h3{
        font-size:15px !important;
        line-height:1.25 !important;
    }

    .tour-card p{
        font-size:12px !important;
        line-height:1.45 !important;
    }

    .service-grid,
    .advantage-grid{
        display:grid !important;
        grid-template-columns:repeat(2,1fr) !important;
        gap:12px !important;
    }

    .service-card,
    .advantage-card{
        border-radius:16px !important;
        padding:16px !important;
    }

    .service-card h3,
    .advantage-card h3{
        font-size:15px !important;
    }

    .service-card p,
    .advantage-card p{
        font-size:12px !important;
        line-height:1.45 !important;
    }

    .front-footer{
        width:calc(100% - 28px) !important;
        padding:26px 20px !important;
        border-radius:24px !important;
    }
}

/* =========================
   FINAL MOBILE FIX
========================= */

@media(max-width:900px){

    html,
    body{
        width:100% !important;
        min-width:0 !important;
        overflow-x:hidden !important;
        zoom:1 !important;
    }

    .front-header{
        width:calc(100% - 24px) !important;
        left:12px !important;
        right:auto !important;
        top:14px !important;
        transform:none !important;
        height:58px !important;
        padding:0 14px !important;
        border-radius:999px !important;
        display:flex !important;
        justify-content:space-between !important;
    }

    .front-nav{
        display:none !important;
    }

    .front-logo{
        font-size:22px !important;
    }

    .front-lang{
        display:flex !important;
        gap:6px !important;
    }

    .front-lang a{
        font-size:12px !important;
        padding:7px 10px !important;
    }

    .hero-slider{
        width:100% !important;
        height:390px !important;
        min-height:390px !important;
        margin:0 !important;
    }

    .hero-shade{
        padding-top:76px !important;
    }

    .hero-copy{
        margin-left:24px !important;
        margin-right:24px !important;
        width:auto !important;
    }

    .hero-copy h1{
        font-size:34px !important;
        max-width:320px !important;
        line-height:1.08 !important;
        margin:10px 0 12px !important;
    }

    .hero-copy p{
        font-size:14px !important;
        max-width:310px !important;
        line-height:1.45 !important;
        margin-bottom:16px !important;
    }

    .contact-strip{
        width:calc(100% - 28px) !important;
        margin:-24px auto 16px !important;
        grid-template-columns:repeat(2,1fr) !important;
        border-radius:18px !important;
    }

    .contact-strip div{
        padding:12px !important;
        grid-template-columns:26px 1fr !important;
    }

    .review-band{
        width:calc(100% - 28px) !important;
        margin:0 auto 32px !important;
        grid-template-columns:120px 1fr !important;
        padding:12px !important;
        gap:10px !important;
        border-radius:18px !important;
        overflow:hidden !important;
    }

    .review-photo-strip{
        display:none !important;
    }

    .review-quote-box{
        overflow:hidden !important;
    }

    .review-quote-box p{
        font-size:12px !important;
        line-height:1.45 !important;
    }

    .front-section{
        width:calc(100% - 28px) !important;
        margin:0 auto 38px !important;
    }

    .region-card,
    .tour-card{
        flex:0 0 210px !important;
        min-width:210px !important;
        max-width:210px !important;
    }
}

/* =========================
   MOBILE FINAL POLISH
========================= */

@media (max-width:900px){

    /* Hero再缩短 */
    .hero-slider{
        height:340px !important;
        min-height:340px !important;
    }

    .hero-copy h1{
        font-size:28px !important;
        line-height:1.05 !important;
        max-width:280px !important;
    }

    .hero-copy p{
        font-size:13px !important;
        max-width:260px !important;
        margin-bottom:12px !important;
    }

    .hero-copy .hero-btn{
        padding:10px 24px !important;
        font-size:14px !important;
    }

    /* 联系方式高度压缩 */
    .contact-strip{
        margin-top:-18px !important;
    }

    .contact-strip div{
        padding:10px !important;
    }

    /* Google评论压缩50% */
    .review-band{
        min-height:120px !important;
        padding:10px !important;
        gap:10px !important;
    }

    .review-score{
        transform:scale(.82);
        transform-origin:left center;
    }

    .review-quote-box{
        padding:10px !important;
    }

    .review-quote-box p{
        font-size:12px !important;
        line-height:1.35 !important;
    }

    .review-quote-box strong{
        font-size:12px !important;
    }

    /* 标题间距缩小 */
    .front-section{
        margin-top:18px !important;
    }

    .front-section h2{
        font-size:28px !important;
        margin-bottom:12px !important;
    }

    /* 防止Safari底部工具栏遮挡 */
    body{
        padding-bottom:90px !important;
    }

}

.contact-icon{
    width:42px;
    height:42px;
    object-fit:contain;
    display:block;
}

/* contact icon upload fix */
.contact-icon-wrap{
    background:#f5dfcb !important;
    border-radius:999px !important;
    overflow:hidden !important;
}

.contact-icon{
    width:24px !important;
    height:24px !important;
    object-fit:contain !important;
    display:block !important;
}

@media(max-width:900px){
    .contact-icon{
        width:22px !important;
        height:22px !important;
    }
}

/* =========================
   Contact icon clean image style
========================= */

.contact-icon-wrap{
    background:transparent !important;
    border-radius:0 !important;
    overflow:visible !important;
    width:54px !important;
    height:54px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.contact-icon{
    width:48px !important;
    height:48px !important;
    object-fit:contain !important;
    display:block !important;
}

/* 如果没有上传图片，Emoji备用也不要底色 */
.contact-strip span{
    background:transparent !important;
}

@media(max-width:900px){
    .contact-icon-wrap{
        width:44px !important;
        height:44px !important;
    }

    .contact-icon{
        width:40px !important;
        height:40px !important;
    }
}

/* =========================
   Mobile services / advantages horizontal scroll
========================= */

@media(max-width:900px){

    .services-zone{
        padding:28px 0 !important;
        border-radius:26px !important;
        width:calc(100% - 28px) !important;
        overflow:hidden !important;
    }

    .service-grid,
    .advantage-grid{
        display:flex !important;
        overflow-x:auto !important;
        gap:14px !important;
        padding:0 16px 14px !important;
        scroll-snap-type:x mandatory !important;
        grid-template-columns:none !important;
    }

    .service-card,
    .advantage-card{
        flex:0 0 220px !important;
        min-width:220px !important;
        max-width:220px !important;
        min-height:260px !important;
        scroll-snap-align:start !important;
        border-radius:22px !important;
        padding:20px !important;
    }

    .service-card h3,
    .advantage-card h3{
        font-size:18px !important;
        line-height:1.25 !important;
    }

    .service-card p,
    .advantage-card p{
        font-size:14px !important;
        line-height:1.55 !important;
    }

    .service-icon,
    .adv-icon{
        width:64px !important;
        height:64px !important;
        border-radius:18px !important;
        margin-bottom:18px !important;
        font-size:15px !important;
    }

    .service-grid::-webkit-scrollbar,
    .advantage-grid::-webkit-scrollbar{
        display:none !important;
    }

    .service-grid,
    .advantage-grid{
        scrollbar-width:none !important;
    }

    .advantages-home,
    .front-section:has(.advantage-grid){
        width:calc(100% - 28px) !important;
        overflow:hidden !important;
    }

    .section-title.center{
        text-align:left !important;
        padding-left:4px !important;
    }

}

/* =========================
   Horizontal scroll hint
========================= */

.scroll-hint{
    display:none;
}

@media(max-width:900px){

    .front-section{
        position:relative !important;
    }

    .front-section::after{
        content:"‹  左右滑动  ›";
        display:flex;
        align-items:center;
        justify-content:center;
        width:max-content;
        margin:10px auto 0;
        padding:6px 14px;
        border-radius:999px;
        background:rgba(17,24,39,.08);
        color:#374151;
        font-size:12px;
        font-weight:800;
        letter-spacing:.5px;
    }

    /* 只有带横滑内容的模块显示 */
    .front-section:not(:has(.horizontal-scroll)):not(:has(.tour-grid)):not(:has(.service-grid)):not(:has(.advantage-grid))::after{
        display:none;
    }

    /* 卡片右侧渐隐，提示还有内容 */
    .horizontal-scroll,
    .tour-grid,
    .service-grid,
    .advantage-grid{
        position:relative !important;
        -webkit-mask-image:linear-gradient(
            90deg,
            #000 0%,
            #000 82%,
            transparent 100%
        );
        mask-image:linear-gradient(
            90deg,
            #000 0%,
            #000 82%,
            transparent 100%
        );
    }
}

/* =========================
   Slider arrow marks like reference
========================= */

/* 去掉文字提示 */
.front-section::after{
    display:none !important;
}

/* 每个可横滑区加左右箭头 */
.front-section:has(.horizontal-scroll),
.front-section:has(.tour-grid),
.front-section:has(.service-grid),
.front-section:has(.advantage-grid){
    position:relative !important;
}

.front-section:has(.horizontal-scroll)::before,
.front-section:has(.tour-grid)::before,
.front-section:has(.service-grid)::before,
.front-section:has(.advantage-grid)::before{
    content:"‹";
    position:absolute;
    left:-18px;
    top:50%;
    transform:translateY(-50%);
    z-index:20;
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 24px rgba(15,23,42,.16);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    font-weight:700;
    color:#c8a96b;
}

.front-section:has(.horizontal-scroll)::after,
.front-section:has(.tour-grid)::after,
.front-section:has(.service-grid)::after,
.front-section:has(.advantage-grid)::after{
    content:"›";
    position:absolute;
    right:-18px;
    top:50%;
    transform:translateY(-50%);
    z-index:20;
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 24px rgba(15,23,42,.16);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    font-weight:700;
    color:#c8a96b;
}

/* 手机端箭头稍微小一点 */
@media(max-width:900px){
    .front-section:has(.horizontal-scroll)::before,
    .front-section:has(.tour-grid)::before,
    .front-section:has(.service-grid)::before,
    .front-section:has(.advantage-grid)::before{
        left:-8px;
        width:34px;
        height:34px;
        font-size:26px;
    }

    .front-section:has(.horizontal-scroll)::after,
    .front-section:has(.tour-grid)::after,
    .front-section:has(.service-grid)::after,
    .front-section:has(.advantage-grid)::after{
        right:-8px;
        width:34px;
        height:34px;
        font-size:26px;
    }
}

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

@media(max-width:900px){

    .tour-grid,
    .service-grid,
    .advantage-grid,
    .horizontal-scroll{
        overflow-x:auto !important;
        scroll-snap-type:x mandatory !important;
        padding-right:90px !important;
        scrollbar-width:none !important;
    }

    .tour-grid::-webkit-scrollbar,
    .service-grid::-webkit-scrollbar,
    .advantage-grid::-webkit-scrollbar,
    .horizontal-scroll::-webkit-scrollbar{
        display:none !important;
    }

    .tour-card,
    .service-card,
    .advantage-card,
    .region-card{
        scroll-snap-align:start !important;
    }
}

/* 强制关闭所有左右箭头 */
.front-section::before,
.front-section::after,
.slider-wrap::before,
.slider-wrap::after,
.slider-arrow,
.arrow-left,
.arrow-right,
.carousel-arrow,
.scroll-arrow{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}


/* 去掉横滑区域右侧渐隐遮罩 */
.horizontal-scroll,
.tour-grid,
.service-grid,
.advantage-grid{
    -webkit-mask-image:none !important;
    mask-image:none !important;
}

@media(max-width:900px){
    .horizontal-scroll,
    .tour-grid,
    .service-grid,
    .advantage-grid{
        -webkit-mask-image:none !important;
        mask-image:none !important;
    }
}

/* =========================
   Mobile footer redesign
========================= */

@media(max-width:900px){

.footer-main{
    padding:32px 24px !important;
    min-height:auto !important;
    border-radius:28px !important;
}

.footer-main h2,
.footer-logo{
    font-size:34px !important;
    line-height:1.1 !important;
    margin-bottom:20px !important;
}

.footer-phone{
    width:220px !important;
    height:56px !important;
    font-size:18px !important;
    margin-bottom:12px !important;
}

.footer-email{
    font-size:18px !important;
    margin-bottom:20px !important;
}

.footer-links{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px 20px !important;
    margin-top:16px !important;
}

.footer-links a{
    font-size:15px !important;
}

.footer-bottom{
    margin-top:20px !important;
    padding-top:16px !important;
    border-top:1px solid rgba(255,255,255,.12);
    font-size:12px !important;
}

}

/* =========================
   Compact professional footer
========================= */

.compact-footer{
    width:min(1120px,calc(100% - 80px)) !important;
    margin:40px auto 36px !important;
    padding:34px 38px 24px !important;
    border-radius:30px !important;
    background:#101827 !important;
    color:white !important;
    display:grid !important;
    grid-template-columns:1.5fr 1fr 1fr 1fr !important;
    gap:28px !important;
}

.compact-footer h2{
    font-size:34px !important;
    line-height:1.05 !important;
    margin:0 0 12px !important;
    letter-spacing:-1px !important;
}

.compact-footer h3{
    font-size:14px !important;
    margin-bottom:12px !important;
    color:#d6b875 !important;
}

.compact-footer p,
.compact-footer a{
    display:block !important;
    font-size:13px !important;
    line-height:1.7 !important;
    color:rgba(255,255,255,.72) !important;
    margin:0 0 6px !important;
}

.footer-copy{
    grid-column:1 / -1;
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:16px;
    margin-top:6px;
    font-size:12px;
    color:rgba(255,255,255,.48);
}

@media(max-width:900px){

    .compact-footer{
        width:calc(100% - 28px) !important;
        margin:26px auto 90px !important;
        padding:26px 22px 20px !important;
        border-radius:24px !important;
        grid-template-columns:1fr 1fr !important;
        gap:20px 18px !important;
    }

    .footer-brand{
        grid-column:1 / -1;
    }

    .compact-footer h2{
        font-size:30px !important;
        line-height:1.1 !important;
        margin-bottom:10px !important;
    }

    .compact-footer h3{
        font-size:13px !important;
        margin-bottom:8px !important;
    }

    .compact-footer p,
    .compact-footer a{
        font-size:12px !important;
        line-height:1.6 !important;
    }

    .footer-copy{
        grid-column:1 / -1;
        font-size:11px !important;
    }
}

/* =========================
   Full-width footer like hero
========================= */

.compact-footer{
    width:100% !important;
    max-width:none !important;
    margin:80px 0 0 !important;
    border-radius:0 !important;
    padding:56px 7vw 28px !important;
    background:#101827 !important;
    color:white !important;
    display:grid !important;
    grid-template-columns:1.6fr 1fr 1fr 1fr !important;
    gap:42px !important;
}

.compact-footer h2{
    font-size:42px !important;
}

.footer-copy{
    grid-column:1 / -1;
    margin-top:24px !important;
}

@media(max-width:900px){
    .compact-footer{
        width:100% !important;
        margin:44px 0 0 !important;
        border-radius:0 !important;
        padding:40px 24px 110px !important;
        grid-template-columns:1fr 1fr !important;
        gap:22px 18px !important;
    }

    .footer-brand{
        grid-column:1 / -1;
    }

    .compact-footer h2{
        font-size:34px !important;
    }

    .footer-copy{
        grid-column:1 / -1;
    }
}

/* Google Reviews horizontal slider */
.google-review-slider{
    display:grid !important;
    grid-template-columns:210px 1fr !important;
    align-items:stretch !important;
}

.google-review-scroll{
    display:flex !important;
    gap:14px !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    padding:2px 80px 8px 2px !important;
    scrollbar-width:none !important;
}

.google-review-scroll::-webkit-scrollbar{
    display:none !important;
}

.google-review-card{
    flex:0 0 280px !important;
    scroll-snap-align:start !important;
    background:white !important;
    border-radius:18px !important;
    padding:16px !important;
    box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
}

.google-review-head{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.google-review-head img{
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
    object-fit:cover !important;
}

.google-review-head h3{
    font-size:14px !important;
    margin:0 !important;
}

.google-review-head p{
    font-size:11px !important;
    color:#6b7280 !important;
    margin:2px 0 0 !important;
}

.google-stars.small{
    font-size:11px !important;
    margin:10px 0 6px !important;
    color:#f59e0b !important;
    letter-spacing:1px !important;
}

.google-review-text{
    font-size:12px !important;
    line-height:1.55 !important;
    color:#374151 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
}

.google-review-photos{
    display:flex !important;
    gap:6px !important;
    margin-top:10px !important;
}

.google-review-photos img{
    width:70px !important;
    height:52px !important;
    border-radius:10px !important;
    object-fit:cover !important;
}

@media(max-width:900px){
    .google-review-slider{
        grid-template-columns:110px 1fr !important;
    }

    .google-review-scroll{
        padding-right:70px !important;
    }

    .google-review-card{
        flex-basis:220px !important;
        min-width:220px !important;
    }

    .google-review-photos img{
        width:58px !important;
        height:44px !important;
    }
}

/* Review Detail Page */
.review-detail-main{
    width:min(980px,calc(100% - 48px));
    margin:120px auto 70px;
}

.review-detail-card{
    background:white;
    border-radius:34px;
    padding:38px;
    box-shadow:0 18px 54px rgba(15,23,42,.1);
}

.review-detail-head{
    display:flex;
    align-items:center;
    gap:22px;
    margin-bottom:28px;
}

.review-detail-head img{
    width:86px;
    height:86px;
    border-radius:50%;
    object-fit:cover;
}

.review-detail-head span{
    color:#c8a96b;
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
}

.review-detail-head h1{
    font-size:42px;
    margin:6px 0;
}

.review-detail-head p{
    color:#6b7280;
}

.review-detail-text{
    font-size:20px;
    line-height:1.9;
    color:#374151;
    white-space:pre-line;
}

.review-detail-gallery{
    margin-top:28px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.review-detail-gallery img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:24px;
    box-shadow:0 16px 42px rgba(15,23,42,.08);
}

.review-detail-cta{
    margin-top:38px;
    background:#101827;
    color:white;
    border-radius:30px;
    padding:34px;
}

.review-detail-cta h2{
    font-size:34px;
    margin-bottom:10px;
}

.review-detail-cta p{
    color:rgba(255,255,255,.7);
    margin-bottom:22px;
}

.review-detail-cta div{
    display:flex;
    gap:12px;
}

.google-review-card{
    cursor:pointer;
}

@media(max-width:900px){
    .review-detail-main{
        width:calc(100% - 28px);
        margin:92px auto 44px;
    }

    .review-detail-card{
        padding:24px;
        border-radius:26px;
    }

    .review-detail-head{
        align-items:flex-start;
    }

    .review-detail-head img{
        width:66px;
        height:66px;
    }

    .review-detail-head h1{
        font-size:28px;
    }

    .review-detail-text{
        font-size:16px;
        line-height:1.75;
    }

    .review-detail-gallery{
        grid-template-columns:1fr;
    }

    .review-detail-gallery img{
        height:230px;
    }

    .review-detail-cta{
        padding:24px;
        border-radius:24px;
    }

    .review-detail-cta div{
        flex-direction:column;
    }
}

/* =========================
   Mobile header long logo fix
========================= */

@media(max-width:900px){

    .front-header{
        height:72px !important;
        padding:0 18px !important;
        gap:10px !important;
    }

    .front-logo{
        flex:1 1 auto !important;
        min-width:0 !important;
        max-width:210px !important;
        font-size:28px !important;
        line-height:1.02 !important;
        white-space:normal !important;
        word-break:normal !important;
    }

    .front-lang{
        flex:0 0 auto !important;
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        gap:6px !important;
        white-space:nowrap !important;
    }

    .front-lang a{
        width:auto !important;
        min-width:44px !important;
        height:44px !important;
        padding:0 12px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border-radius:999px !important;
        font-size:13px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

}

@media (max-width: 900px){

  .front-header{
      display:flex !important;
      align-items:center !important;
      justify-content:space-between !important;

      padding:18px 24px !important;
      min-height:110px !important;
  }

  .front-logo{
      font-size:26px !important;
      line-height:1.05 !important;
      font-weight:900 !important;
      max-width:180px !important;
      white-space:normal !important;
  }

  .front-logo span{
      display:block !important;
      font-size:24px !important;
  }

  .front-lang{
      display:flex !important;
      flex-direction:row !important;
      gap:8px !important;
      flex-shrink:0 !important;
  }

  .front-lang a{
      width:58px !important;
      height:58px !important;
      border-radius:50% !important;

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

      font-size:15px !important;
      font-weight:700 !important;
  }
}

/* =========================
   Mobile header final: full brand, no clipping
========================= */

@media(max-width:900px){

    .front-header{
        width:calc(100% - 28px) !important;
        left:14px !important;
        top:14px !important;
        height:74px !important;
        min-height:74px !important;
        padding:0 14px !important;
        border-radius:30px !important;
        overflow:visible !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:8px !important;
    }

    .front-logo{
        flex:0 0 175px !important;
        width:175px !important;
        max-width:175px !important;
        min-width:175px !important;
        font-size:0 !important;
        line-height:1 !important;
        overflow:visible !important;
    }

    .front-logo::before{
        content:"FunTrip\AInternational" !important;
        white-space:pre-line !important;
        display:block !important;
        font-size:25px !important;
        line-height:.98 !important;
        font-weight:900 !important;
        font-style:italic !important;
        color:#111827 !important;
        letter-spacing:-.8px !important;
    }

    .front-lang{
        flex:0 0 auto !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:5px !important;
        white-space:nowrap !important;
    }

    .front-lang a{
        width:auto !important;
        min-width:40px !important;
        height:38px !important;
        padding:0 9px !important;
        border-radius:999px !important;
        font-size:12px !important;
        line-height:1 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        white-space:nowrap !important;
    }

    .hero-shade{
        padding-top:82px !important;
    }
}

/* =========================
   FORCE FIX duplicate mobile logo
========================= */

@media(max-width:900px){

    .front-header .front-logo{
        flex:0 0 172px !important;
        width:172px !important;
        max-width:172px !important;
        min-width:172px !important;
        height:auto !important;
        font-size:0 !important;
        line-height:0 !important;
        overflow:hidden !important;
        white-space:normal !important;
    }

    .front-header .front-logo *{
        display:none !important;
    }

    .front-header .front-logo{
        color:transparent !important;
    }

    .front-header .front-logo::before{
        content:"FunTrip\AInternational" !important;
        display:block !important;
        white-space:pre-line !important;
        font-size:26px !important;
        line-height:1.02 !important;
        font-weight:900 !important;
        font-style:italic !important;
        letter-spacing:-1px !important;
        color:#111827 !important;
    }

    .front-header{
        height:74px !important;
        min-height:74px !important;
        padding:0 14px !important;
        align-items:center !important;
    }

}

/* =========================
   Mobile compact polish
========================= */

@media(max-width:900px){

    /* 联系方式四宫格压缩 */
    .contact-strip{
        margin:-18px auto 14px !important;
        border-radius:18px !important;
    }

    .contact-strip div{
        padding:8px 10px !important;
        grid-template-columns:38px 1fr !important;
        column-gap:8px !important;
        min-height:58px !important;
    }

    .contact-icon-wrap{
        width:34px !important;
        height:34px !important;
    }

    .contact-icon{
        width:32px !important;
        height:32px !important;
    }

    .contact-strip strong{
        font-size:12px !important;
        line-height:1.15 !important;
    }

    .contact-strip p{
        font-size:11px !important;
        line-height:1.25 !important;
        margin-top:2px !important;
    }

    /* Google 评论区压缩 */
    .google-review-slider{
        width:calc(100% - 28px) !important;
        margin:0 auto 32px !important;
        padding:10px !important;
        border-radius:20px !important;
        grid-template-columns:96px 1fr !important;
        gap:10px !important;
        min-height:0 !important;
    }

    .google-score-card{
        min-height:104px !important;
        border-radius:16px !important;
        padding:8px !important;
    }

    .google-logo{
        font-size:18px !important;
    }

    .google-score-card strong{
        font-size:34px !important;
        line-height:1 !important;
    }

    .google-stars{
        font-size:11px !important;
        line-height:1 !important;
    }

    .google-score-card small{
        font-size:10px !important;
        line-height:1.25 !important;
    }

    .google-review-scroll{
        padding:0 60px 0 0 !important;
        gap:10px !important;
    }

    .google-review-card{
        flex:0 0 210px !important;
        min-width:210px !important;
        max-width:210px !important;
        padding:12px !important;
        border-radius:16px !important;
    }

    .google-review-head img{
        width:38px !important;
        height:38px !important;
    }

    .google-review-head h3{
        font-size:13px !important;
    }

    .google-review-head p{
        font-size:11px !important;
    }

    .google-review-text{
        font-size:12px !important;
        line-height:1.4 !important;
        -webkit-line-clamp:3 !important;
    }

    .google-review-photos{
        display:none !important;
    }

    /* Footer 全宽，不做卡片 */
    .compact-footer{
        width:100% !important;
        max-width:none !important;
        margin:42px 0 0 !important;
        border-radius:0 !important;
        padding:34px 24px 110px !important;
        background:#101827 !important;
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:20px 18px !important;
    }

    .footer-brand{
        grid-column:1 / -1 !important;
    }

    .compact-footer h2{
        font-size:32px !important;
        line-height:1.08 !important;
        margin-bottom:10px !important;
    }

    .compact-footer h3{
        font-size:13px !important;
        color:#d6b875 !important;
        margin-bottom:8px !important;
    }

    .compact-footer p,
    .compact-footer a{
        font-size:12px !important;
        line-height:1.55 !important;
    }

    .footer-copy{
        grid-column:1 / -1 !important;
        font-size:11px !important;
        margin-top:10px !important;
        padding-top:14px !important;
    }
}

/* Destination detail: compact editorial layout */
.destination-page{background:#f7f6f2;color:#14213a}.destination-header{background:rgba(255,255,255,.92);backdrop-filter:blur(18px);position:relative;z-index:20}.destination-language{display:flex;gap:5px;padding:4px;background:#eef1f5;border-radius:999px}.destination-language a{min-width:34px;height:30px;display:grid;place-items:center;border-radius:999px;font-size:12px;font-weight:800}.destination-language a.active{background:#123f86;color:#fff}.destination-hero{height:610px;background-position:center}.destination-hero .detail-hero-overlay{background:linear-gradient(90deg,rgba(8,19,40,.84) 0%,rgba(8,19,40,.4) 52%,rgba(8,19,40,.05) 100%)}.destination-hero .detail-hero-content{color:#fff}.destination-hero .detail-tag{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px)}.destination-hero h1{font-size:clamp(58px,8vw,108px);max-width:900px}.destination-hero p{color:rgba(255,255,255,.9)}.destination-main{width:min(1220px,90vw);margin:0 auto;padding:84px 0}.destination-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;padding-bottom:82px;border-bottom:1px solid #dfe2e7}.section-kicker{display:block;margin-bottom:14px;color:#b47a42;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.destination-intro h2{font-size:clamp(42px,5vw,70px);line-height:1}.destination-intro .text-block{font-size:18px;line-height:2;color:#455064}.destination-section{padding:82px 0;border-bottom:1px solid #dfe2e7}.destination-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.destination-section-head>div{display:flex;align-items:baseline;gap:18px}.destination-section-head h2{font-size:clamp(32px,4vw,52px);letter-spacing:-1.5px}.destination-section-head p{max-width:380px;color:#70798a;line-height:1.6}.section-number{font-size:12px;font-weight:900;color:#b47a42;letter-spacing:.12em}.destination-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.destination-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 16px 44px rgba(18,34,58,.07);transition:transform .25s ease,box-shadow .25s ease}.destination-card:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(18,34,58,.12)}.destination-card-image{height:250px;position:relative;overflow:hidden}.destination-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.destination-card:hover img{transform:scale(1.04)}.destination-card-image span{position:absolute;top:16px;right:16px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.9);font-size:11px;font-weight:900}.destination-card-copy{padding:23px 24px 27px}.destination-card-copy h3{font-size:21px;margin-bottom:10px}.destination-card-copy p{font-size:14px;line-height:1.75;color:#687285}.destination-gallery{grid-template-columns:repeat(12,1fr);grid-auto-rows:150px}.destination-gallery img{grid-column:span 4;height:100%;border-radius:20px}.destination-gallery img:nth-child(5n+1),.destination-gallery img:nth-child(5n+4){grid-column:span 8}.destination-cta{margin-top:82px;padding:52px 58px;border-radius:30px;background:#123f86;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:50px}.destination-cta h2{font-size:40px;margin-bottom:10px}.destination-cta p{max-width:620px;color:rgba(255,255,255,.78);line-height:1.7}.destination-cta .section-kicker{color:#f2d1b8}.destination-cta-actions{display:flex;gap:10px;min-width:330px}.destination-cta-actions .book-btn{margin:0;padding:0 22px;white-space:nowrap;background:#fff;color:#123f86}.destination-cta-actions .book-btn.secondary{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.25)}
@media(max-width:900px){.destination-header{padding:14px 18px}.destination-header .site-contact{display:none}.destination-hero{height:500px}.destination-hero .detail-hero-content{margin:0 24px}.destination-main{width:min(100% - 36px,700px);padding:52px 0}.destination-intro{grid-template-columns:1fr;gap:24px;padding-bottom:52px}.destination-section{padding:52px 0}.destination-section-head{display:block}.destination-section-head>div{margin-bottom:12px}.destination-card-grid{grid-template-columns:1fr}.destination-card-image{height:240px}.destination-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}.destination-gallery img,.destination-gallery img:nth-child(5n+1),.destination-gallery img:nth-child(5n+4){grid-column:span 1}.destination-cta{padding:38px 28px;display:block}.destination-cta-actions{min-width:0;margin-top:26px;flex-wrap:wrap}.destination-cta-actions .book-btn{width:auto;flex:1}.site-footer{display:block}.site-footer>div+div{margin-top:24px}}

/* =========================================================
   MOBILE HEADER NAVIGATION — visible two-row compact layout
   ========================================================= */
@media(max-width:900px){
    .front-header{
        width:calc(100% - 28px) !important;
        left:14px !important;
        right:auto !important;
        top:14px !important;
        height:122px !important;
        min-height:122px !important;
        padding:10px 14px 9px !important;
        border-radius:30px !important;
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-rows:58px 36px !important;
        align-items:center !important;
        column-gap:8px !important;
        row-gap:5px !important;
        overflow:hidden !important;
    }

    .front-header .front-logo{
        grid-column:1 !important;
        grid-row:1 !important;
        align-self:center !important;
        flex:none !important;
        width:172px !important;
        min-width:0 !important;
        max-width:100% !important;
    }

    .front-header .front-lang{
        grid-column:2 !important;
        grid-row:1 !important;
        align-self:center !important;
        min-width:0 !important;
    }

    .front-header .front-nav{
        grid-column:1 / -1 !important;
        grid-row:2 !important;
        width:100% !important;
        min-width:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:5px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        padding:0 1px 2px !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch !important;
    }

    .front-header .front-nav::-webkit-scrollbar{
        display:none !important;
    }

    .front-header .front-nav a{
        flex:1 0 auto !important;
        min-width:max-content !important;
        height:32px !important;
        padding:0 11px !important;
        border-radius:999px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        font-size:12px !important;
        line-height:1 !important;
        font-weight:700 !important;
        white-space:nowrap !important;
        color:#39465a !important;
        background:#f2f4f7 !important;
    }

    .front-header .front-nav a:active{
        background:#e4e8ee !important;
    }

    .hero-shade{
        padding-top:132px !important;
    }
}

@media(max-width:430px){
    .front-header{
        width:calc(100% - 20px) !important;
        left:10px !important;
        padding-left:11px !important;
        padding-right:11px !important;
    }

    .front-header .front-logo{
        width:142px !important;
    }

    .front-header .front-logo::before{
        font-size:22px !important;
    }

    .front-header .front-lang{
        gap:2px !important;
    }

    .front-header .front-lang a{
        min-width:34px !important;
        height:34px !important;
        padding:0 6px !important;
        font-size:11px !important;
    }
}


/* =========================================================
   DISPLAY-ONLY SERVICES & ADVANTAGES — editorial image cards
   ========================================================= */
.service-card,
.advantage-card{
    position:relative;
    padding:0 !important;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.85);
    background:rgba(255,255,255,.88);
    box-shadow:0 22px 55px rgba(22,34,52,.10);
    cursor:default;
    text-decoration:none;
}
.service-card::after,
.advantage-card::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
.service-card img,
.advantage-card img{
    width:100% !important;
    height:190px !important;
    margin:0 !important;
    border-radius:0 !important;
    object-fit:cover !important;
    display:block;
    transition:transform .45s ease;
}
.service-card h3,
.advantage-card h3{
    margin:0;
    padding:24px 24px 9px;
    font-size:23px;
    line-height:1.18;
    letter-spacing:-.35px;
}
.service-card p,
.advantage-card p{
    margin:0;
    padding:0 24px 27px;
    color:#667085;
    font-size:15px;
    line-height:1.72;
}
.service-card:hover img,
.advantage-card:hover img{transform:scale(1.035)}
.advantages-home{
    padding:74px 70px;
    border-radius:42px;
    background:
        radial-gradient(circle at 12% 18%, rgba(201,164,105,.16), transparent 28%),
        radial-gradient(circle at 88% 82%, rgba(77,107,96,.10), transparent 30%),
        linear-gradient(145deg,#f4f0e8 0%,#ebe5da 52%,#f7f4ee 100%);
    overflow:hidden;
}
.advantages-home .section-title span{color:#9a7440}
.advantages-home .section-title h2{color:#1f2b2a}
.advantages-home .advantage-card{
    background:rgba(255,255,255,.96);
}
@media(max-width:900px){
    .service-card,
    .advantage-card{
        flex:0 0 260px !important;
        min-width:260px !important;
        max-width:260px !important;
        min-height:0 !important;
        padding:0 !important;
    }
    .service-card img,
    .advantage-card img{height:168px !important}
    .service-card h3,
    .advantage-card h3{padding:20px 19px 8px !important;font-size:19px !important}
    .service-card p,
    .advantage-card p{padding:0 19px 22px !important;font-size:13px !important;line-height:1.62 !important}
    .advantages-home{
        width:calc(100% - 28px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding:30px 0 !important;
        border-radius:28px !important;
    }
    .advantages-home .section-title{padding-left:20px !important;padding-right:20px !important}
}

/* Advantage cards v2 — consistent photo cards */
.advantages-home .advantage-grid{
    align-items:stretch;
    gap:24px;
}
.advantages-home .advantage-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    height:100%;
    border-radius:25px;
    background:#fff;
    box-shadow:0 18px 44px rgba(48,42,32,.14);
}
.advantages-home .advantage-card img{
    width:100% !important;
    height:188px !important;
    object-fit:cover !important;
    object-position:center !important;
    flex:none;
}
.advantages-home .advantage-card h3{
    padding:22px 22px 8px !important;
    font-size:21px !important;
    line-height:1.3 !important;
    min-height:62px;
}
.advantages-home .advantage-card p{
    padding:0 22px 25px !important;
    font-size:14px !important;
    line-height:1.7 !important;
    flex:1;
}
@media(max-width:900px){
    .advantages-home .advantage-card{
        flex:0 0 276px !important;
        min-width:276px !important;
        max-width:276px !important;
    }
    .advantages-home .advantage-card img{height:172px !important}
    .advantages-home .advantage-card h3{
        min-height:0;
        padding:19px 18px 7px !important;
        font-size:18px !important;
    }
    .advantages-home .advantage-card p{
        padding:0 18px 21px !important;
        font-size:13px !important;
    }
}

/* Premium multilingual tour detail */
.tour-detail-page{margin:0;background:#f7f6f2;color:#13213a}.tour-detail-header{height:82px;padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(255,255,255,.96);position:relative;z-index:20;border-bottom:1px solid rgba(20,33,58,.07)}.tour-detail-logo{font-size:22px;font-weight:900;font-style:italic;color:#13213a}.tour-detail-header nav{display:flex;gap:30px}.tour-detail-header nav a{font-size:13px;font-weight:800}.tour-detail-lang{justify-self:end;display:flex;gap:4px;background:#eef0f3;padding:4px;border-radius:999px}.tour-detail-lang a{height:30px;min-width:34px;padding:0 9px;display:grid;place-items:center;border-radius:999px;font-size:11px;font-weight:900}.tour-detail-lang a.active{background:#13213a;color:#fff}.tour-premium-hero{height:650px;background-size:cover;background-position:center}.tour-premium-overlay{height:100%;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(7,17,34,.78),rgba(7,17,34,.26) 60%,rgba(7,17,34,.05));padding:0 7vw 74px}.tour-premium-copy{max-width:820px;color:#fff}.tour-eyebrow{font-size:11px;letter-spacing:.22em;font-weight:900;color:#e6bd8f}.tour-meta{display:flex;align-items:center;gap:13px;margin:18px 0 20px;font-size:13px;font-weight:800}.tour-meta i{width:28px;height:1px;background:rgba(255,255,255,.5)}.tour-meta strong{font-size:17px}.tour-premium-copy h1{font-size:clamp(52px,7vw,96px);line-height:.95;letter-spacing:-3px;max-width:900px;margin:0 0 24px}.tour-premium-copy p{max-width:670px;font-size:18px;line-height:1.75;color:rgba(255,255,255,.86)}.tour-premium-main{width:min(1180px,88vw);margin:0 auto;padding:40px 0 100px}.tour-back{display:inline-block;margin-bottom:70px;font-size:12px;font-weight:900;color:#6d7582}.tour-intro-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;padding-bottom:75px;border-bottom:1px solid #d9dde2}.tour-section-no{font-size:11px;font-weight:900;color:#b17843;letter-spacing:.16em}.tour-intro-grid h2,.tour-section-heading h2,.tour-info-block h2{font-size:clamp(34px,4vw,52px);letter-spacing:-1.5px;margin-top:12px}.tour-intro-grid>p{font-size:18px;line-height:2;color:#4e596b;white-space:pre-line}.tour-gallery-section{padding:74px 0;border-bottom:1px solid #d9dde2}.tour-section-heading{margin-bottom:30px}.tour-premium-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:230px 230px;gap:16px}.tour-premium-gallery img{width:100%;height:100%;object-fit:cover;border-radius:20px}.tour-premium-gallery img:first-child{grid-row:span 2}.tour-info-layout{display:grid;grid-template-columns:1fr 330px;gap:70px;padding-top:76px;align-items:start}.tour-info-block{padding-bottom:62px}.tour-rich-text{white-space:pre-line;font-size:16px;line-height:2;color:#4e596b}.itinerary-text{margin-top:25px;padding-left:24px;border-left:2px solid #d7b28c}.tour-inclusion-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tour-info-block.compact{background:#fff;padding:30px;border-radius:22px;box-shadow:0 14px 40px rgba(20,33,58,.06)}.tour-info-block.compact h2{font-size:25px;margin:10px 0 16px;letter-spacing:-.5px}.tour-mini-mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8f1eb;color:#32704c;font-weight:900}.tour-mini-mark.muted{background:#f0ece8;color:#8a6548}.tour-note{margin-top:20px;padding:26px 30px;border:1px solid #ddd8d1;border-radius:20px}.tour-note h3{font-size:18px;margin-bottom:10px}.tour-note p{font-size:14px;line-height:1.8;color:#667080;white-space:pre-line}.tour-consult-card{position:sticky;top:30px;background:#13213a;color:#fff;border-radius:26px;padding:34px}.tour-consult-card>span{font-size:11px;letter-spacing:.14em;color:#e6bd8f;font-weight:900}.tour-consult-card h3{font-size:30px;line-height:1.15;margin:15px 0}.tour-consult-card p{font-size:14px;line-height:1.8;color:rgba(255,255,255,.72);margin-bottom:24px}.tour-consult-card a{height:50px;border-radius:999px;background:#fff;color:#13213a;display:flex;align-items:center;justify-content:center;font-weight:900;margin-top:10px}.tour-consult-card a.secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25)}.tour-consult-card small{display:block;text-align:center;margin-top:14px;color:rgba(255,255,255,.55)}.tour-detail-footer{background:#111d31;color:#fff;padding:42px 6vw;display:flex;justify-content:space-between;gap:30px}.tour-detail-footer span{color:rgba(255,255,255,.62);font-size:13px}.advantages-home{background:#fff!important}
@media(max-width:900px){.tour-detail-header{height:auto;grid-template-columns:1fr auto;padding:16px 18px}.tour-detail-header nav{grid-column:1/-1;order:3;overflow-x:auto;gap:22px;padding-top:14px}.tour-detail-header nav a{white-space:nowrap}.tour-premium-hero{height:560px}.tour-premium-overlay{padding:0 24px 50px}.tour-premium-copy h1{font-size:50px;letter-spacing:-2px}.tour-premium-main{width:calc(100% - 36px);padding-bottom:60px}.tour-back{margin-bottom:45px}.tour-intro-grid{grid-template-columns:1fr;gap:20px;padding-bottom:50px}.tour-gallery-section{padding:50px 0}.tour-premium-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 160px}.tour-premium-gallery img:first-child{grid-column:span 2;grid-row:auto}.tour-info-layout{grid-template-columns:1fr;gap:30px;padding-top:50px}.tour-inclusion-grid{grid-template-columns:1fr}.tour-consult-card{position:static}.tour-detail-footer{display:block}.tour-detail-footer span{display:block;margin-top:10px}}

/* 2026 premium route & destination visual upgrade */
.tour-detail-page{background:#fbfaf7}
.tour-detail-header{position:sticky;top:0;box-shadow:0 10px 32px rgba(18,33,58,.04);backdrop-filter:blur(20px)}
.tour-premium-hero{height:min(72vh,760px);min-height:590px;position:relative;background-color:#dfe5ea}
.tour-premium-hero:after{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(transparent,rgba(7,17,34,.22));pointer-events:none}
.tour-premium-overlay{position:relative;z-index:1;background:linear-gradient(90deg,rgba(6,15,29,.76) 0%,rgba(6,15,29,.34) 54%,rgba(6,15,29,.08) 100%)}
.tour-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}
.tour-premium-copy h1{text-wrap:balance;text-shadow:0 5px 28px rgba(0,0,0,.2)}
.tour-premium-main{width:min(1240px,90vw)}
.tour-intro-grid{grid-template-columns:.62fr 1.38fr;gap:110px}
.tour-premium-gallery{grid-template-columns:1.3fr .85fr .85fr;grid-template-rows:255px 255px;gap:18px}
.tour-premium-gallery img{border-radius:24px;box-shadow:0 16px 40px rgba(18,33,58,.1);transition:transform .35s ease,box-shadow .35s ease}
.tour-premium-gallery img:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(18,33,58,.15)}
.tour-info-block.compact{border:1px solid rgba(18,33,58,.06);box-shadow:0 18px 54px rgba(20,33,58,.065)}
.tour-consult-card{background:linear-gradient(155deg,#14223a,#0e192b);box-shadow:0 24px 65px rgba(13,27,48,.2)}
.destination-card-image img,.tour-card img{image-rendering:auto}
@media(max-width:900px){.tour-premium-hero{min-height:520px;height:68vh}.tour-premium-gallery{grid-template-columns:1fr 1fr;grid-template-rows:235px 170px}.tour-intro-grid{gap:24px}.tour-premium-copy h1{text-wrap:wrap}}

/* V2.2 image-quality and alignment audit */
.destination-hero{background-size:cover!important;background-repeat:no-repeat!important;background-position:center center!important}
.destination-card{display:flex;flex-direction:column;min-height:100%}
.destination-card-image{aspect-ratio:16/10;height:auto!important;background:#e9edf2}
.destination-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.destination-card-copy{display:flex;flex-direction:column;flex:1}
.destination-card-copy p{margin-top:auto}
.destination-card-text-only{min-height:260px;padding-top:0;background:linear-gradient(145deg,#fff 0%,#f3f0ea 100%);border:1px solid rgba(18,34,58,.08)}
.destination-card-index{width:46px;height:46px;margin:24px 24px 0;display:grid;place-items:center;border-radius:50%;background:#123f86;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em}
.destination-card-text-only .destination-card-copy{padding-top:28px}
.destination-gallery{grid-auto-rows:auto!important;align-items:stretch}
.destination-gallery img{width:100%;aspect-ratio:16/10;height:auto!important;object-fit:cover;object-position:center;border-radius:20px}
.tour-premium-gallery img{object-position:center center}
@media(max-width:900px){.destination-card-image{aspect-ratio:16/10}.destination-gallery img{aspect-ratio:4/3}.destination-card-text-only{min-height:220px}}

/* V2.4 precise image alignment */
.destination-card-grid{align-items:stretch}
.destination-card{display:flex;flex-direction:column;height:100%}
.destination-card-image{width:100%;aspect-ratio:16/10!important;height:auto!important;overflow:hidden;background:#e8ebef}
.destination-card-image img{display:block;width:100%;height:100%;object-fit:cover!important;object-position:center center!important}
.destination-card-copy{display:flex;flex-direction:column;flex:1}
.destination-card-copy p{margin-top:auto}
.destination-gallery{align-items:stretch}
.destination-gallery img{display:block;width:100%;height:100%;object-fit:cover!important;object-position:center center!important;background:#e8ebef}
@media(max-width:900px){.destination-card-image{aspect-ratio:16/10!important}.destination-card-copy{min-height:190px}}

/* =========================================================
   V2.6 HOME HEADER — compact glass navigation over hero
   ========================================================= */
.front-header{
    position:absolute !important;
    top:22px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    z-index:100 !important;
    width:min(1320px,calc(100% - 48px)) !important;
    min-height:112px !important;
    height:auto !important;
    padding:18px 28px !important;
    border:1px solid rgba(255,255,255,.55) !important;
    border-radius:34px !important;
    background:rgba(255,255,255,.62) !important;
    -webkit-backdrop-filter:blur(22px) saturate(145%) !important;
    backdrop-filter:blur(22px) saturate(145%) !important;
    box-shadow:0 18px 54px rgba(15,23,42,.16) !important;
    display:grid !important;
    grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr) !important;
    grid-template-areas:"logo nav lang" !important;
    align-items:center !important;
    gap:24px !important;
}

.front-logo{
    grid-area:logo !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    color:#111827 !important;
    text-decoration:none !important;
    line-height:.9 !important;
    min-width:0 !important;
}

.front-logo img{
    display:block !important;
    max-width:245px !important;
    max-height:62px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:left center !important;
}

.front-logo-main,
.front-logo > span{
    display:block !important;
    font-size:clamp(30px,2.7vw,48px) !important;
    font-weight:900 !important;
    font-style:italic !important;
    letter-spacing:-2.2px !important;
}

.front-logo small{
    display:block !important;
    margin-top:10px !important;
    font-size:11px !important;
    line-height:1 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
    color:rgba(17,24,39,.56) !important;
    font-weight:800 !important;
}

.front-nav{
    grid-area:nav !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    white-space:nowrap !important;
}

.front-nav a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    padding:0 17px !important;
    border:1px solid rgba(255,255,255,.56) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.42) !important;
    color:#172033 !important;
    font-size:14px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important;
    transition:background .2s ease,border-color .2s ease,transform .2s ease,color .2s ease !important;
}

.front-nav a:hover{
    transform:translateY(-1px) !important;
    background:rgba(255,255,255,.78) !important;
    border-color:rgba(200,169,107,.75) !important;
    color:#8a6827 !important;
}

.front-lang{
    grid-area:lang !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:9px !important;
    white-space:nowrap !important;
}

.front-lang a{
    padding:5px 2px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:rgba(17,24,39,.58) !important;
    font-size:14px !important;
    font-weight:800 !important;
    text-decoration:none !important;
}

.front-lang a.active{
    color:#a47a28 !important;
}

.front-lang span{
    color:rgba(17,24,39,.25) !important;
    font-size:12px !important;
}

.hero-slider{
    margin-top:0 !important;
}

.hero-shade{
    padding-top:130px !important;
}

.hero-copy{
    transform:translateY(18px) !important;
}

.hero-copy .gold-btn,
.hero-copy .hero-btn{
    display:none !important;
}

@media (max-width:1100px) and (min-width:901px){
    .front-header{
        width:calc(100% - 36px) !important;
        grid-template-columns:minmax(190px,.8fr) auto minmax(170px,.65fr) !important;
        gap:14px !important;
        padding:16px 20px !important;
    }
    .front-nav a{
        padding:0 12px !important;
        font-size:13px !important;
    }
    .front-logo img{max-width:205px !important;}
}

@media(max-width:900px){
    .front-header{
        position:absolute !important;
        top:12px !important;
        left:12px !important;
        right:12px !important;
        transform:none !important;
        width:auto !important;
        min-height:64px !important;
        height:auto !important;
        padding:10px 14px !important;
        border-radius:24px !important;
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-areas:"logo lang" !important;
        gap:10px !important;
    }
    .front-nav{display:none !important;}
    .front-logo img{
        max-width:165px !important;
        max-height:40px !important;
    }
    .front-logo-main,
    .front-logo > span{
        font-size:24px !important;
        letter-spacing:-1.2px !important;
    }
    .front-logo small{
        margin-top:5px !important;
        font-size:7px !important;
        letter-spacing:.12em !important;
    }
    .front-lang{
        gap:5px !important;
    }
    .front-lang a{
        padding:4px 1px !important;
        font-size:11px !important;
    }
    .front-lang span{
        font-size:9px !important;
    }
    .hero-shade{
        padding-top:82px !important;
    }
    .hero-copy{
        transform:translateY(10px) !important;
    }
}


/* =========================================================
   V4 HOME HEADER — low-profile floating glass navigation
   No brand tagline. Preserves the full mobile navigation row.
   ========================================================= */
.front-header{
    top:16px !important;
    width:min(1240px,calc(100% - 40px)) !important;
    min-height:78px !important;
    padding:11px 18px !important;
    border-radius:28px !important;
    background:rgba(236,240,244,.44) !important;
    border:1px solid rgba(255,255,255,.58) !important;
    -webkit-backdrop-filter:blur(20px) saturate(140%) !important;
    backdrop-filter:blur(20px) saturate(140%) !important;
    box-shadow:0 12px 34px rgba(8,20,40,.13) !important;
    grid-template-columns:minmax(175px,.85fr) auto minmax(170px,.75fr) !important;
    gap:14px !important;
    transition:min-height .25s ease,padding .25s ease,top .25s ease,background .25s ease,box-shadow .25s ease !important;
}
.front-logo img{
    max-width:205px !important;
    max-height:50px !important;
}
.front-logo-main,
.front-logo > span{
    font-size:clamp(27px,2.35vw,40px) !important;
    letter-spacing:-1.8px !important;
}
.front-logo small{display:none !important;}
.front-nav{gap:6px !important;min-width:0 !important;}
.front-nav a{
    min-height:36px !important;
    padding:0 14px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.30) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.34) !important;
    font-size:13px !important;
}
.front-nav a:hover{
    background:rgba(255,255,255,.34) !important;
    border-color:rgba(255,255,255,.52) !important;
}
.front-lang{gap:7px !important;}
.front-lang a{font-size:13px !important;}
.hero-shade{padding-top:94px !important;}
.hero-copy{transform:translateY(0) !important;}

.front-header.is-compact{
    position:fixed !important;
    top:8px !important;
    min-height:62px !important;
    padding:8px 15px !important;
    background:rgba(239,242,246,.72) !important;
    box-shadow:0 10px 28px rgba(8,20,40,.16) !important;
}
.front-header.is-compact .front-logo img{max-width:175px !important;max-height:40px !important;}
.front-header.is-compact .front-logo-main,
.front-header.is-compact .front-logo > span{font-size:30px !important;}
.front-header.is-compact .front-nav a{min-height:32px !important;padding:0 12px !important;font-size:12px !important;}
.front-header.is-compact .front-lang a{font-size:12px !important;}

@media (max-width:1100px) and (min-width:901px){
    .front-header{
        width:calc(100% - 28px) !important;
        grid-template-columns:minmax(165px,.7fr) auto minmax(145px,.6fr) !important;
        padding:10px 14px !important;
        gap:9px !important;
    }
    .front-logo img{max-width:175px !important;}
    .front-nav a{padding:0 10px !important;font-size:12px !important;}
    .front-lang a{font-size:12px !important;}
}

@media(max-width:900px){
    .front-header{
        top:10px !important;
        left:10px !important;
        right:10px !important;
        width:auto !important;
        min-height:0 !important;
        padding:10px 12px 11px !important;
        border-radius:24px !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        grid-template-areas:"logo lang" "nav nav" !important;
        row-gap:8px !important;
        column-gap:8px !important;
        overflow:hidden !important;
    }
    .front-logo img{max-width:145px !important;max-height:39px !important;}
    .front-logo-main,
    .front-logo > span{font-size:23px !important;letter-spacing:-1.1px !important;}
    .front-lang{gap:5px !important;}
    .front-lang a{font-size:11px !important;padding:3px 1px !important;}
    .front-lang span{font-size:9px !important;}
    .front-nav{
        display:grid !important;
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        width:100% !important;
        gap:5px !important;
        overflow:visible !important;
        padding:0 !important;
    }
    .front-nav a{
        width:100% !important;
        min-width:0 !important;
        min-height:34px !important;
        padding:0 4px !important;
        font-size:clamp(10px,2.9vw,13px) !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }
    .hero-shade{padding-top:112px !important;}
    .hero-copy{transform:translateY(-4px) !important;}

    .front-header.is-compact{
        position:fixed !important;
        top:6px !important;
        padding:7px 10px !important;
        grid-template-areas:"logo lang" !important;
    }
    .front-header.is-compact .front-nav{display:none !important;}
    .front-header.is-compact .front-logo img{max-width:128px !important;max-height:34px !important;}
    .front-header.is-compact .front-logo-main,
    .front-header.is-compact .front-logo > span{font-size:21px !important;}
}

@media(max-width:390px){
    .front-header{left:8px !important;right:8px !important;padding-left:9px !important;padding-right:9px !important;}
    .front-nav{gap:4px !important;}
    .front-nav a{font-size:10px !important;padding:0 2px !important;}
    .front-logo img{max-width:132px !important;}
}


/* =========================================================
   V5 HOME HEADER — brand + language only
   Homepage navigation removed intentionally.
   ========================================================= */
.front-header{
    position:absolute !important;
    top:16px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(1240px,calc(100% - 40px)) !important;
    min-height:72px !important;
    padding:10px 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    border-radius:26px !important;
    overflow:hidden !important;
    background:rgba(236,240,244,.38) !important;
    border:1px solid rgba(255,255,255,.58) !important;
    -webkit-backdrop-filter:blur(20px) saturate(140%) !important;
    backdrop-filter:blur(20px) saturate(140%) !important;
    box-shadow:0 10px 30px rgba(8,20,40,.12) !important;
}
.front-header .front-nav{display:none !important;}
.front-header .front-logo{
    flex:0 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
}
.front-header .front-logo img{
    display:block !important;
    width:auto !important;
    max-width:205px !important;
    max-height:50px !important;
    object-fit:contain !important;
}
.front-header .front-logo-main,
.front-header .front-logo > span{
    font-size:clamp(27px,2.35vw,40px) !important;
    line-height:.94 !important;
    letter-spacing:-1.8px !important;
}
.front-header .front-lang{
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    white-space:nowrap !important;
}
.front-header .front-lang a{
    padding:5px 2px !important;
    background:transparent !important;
    border:0 !important;
    color:rgba(17,24,39,.60) !important;
    font-size:13px !important;
    font-weight:800 !important;
}
.front-header .front-lang a.active{color:#a47a28 !important;}
.front-header .front-lang span{
    color:rgba(17,24,39,.24) !important;
    font-size:11px !important;
}
.front-header.is-compact{
    position:fixed !important;
    top:8px !important;
    min-height:58px !important;
    padding:7px 18px !important;
    background:rgba(239,242,246,.72) !important;
    box-shadow:0 9px 26px rgba(8,20,40,.15) !important;
}
.front-header.is-compact .front-logo img{
    max-width:175px !important;
    max-height:40px !important;
}
.front-header.is-compact .front-logo-main,
.front-header.is-compact .front-logo > span{font-size:30px !important;}
.front-header.is-compact .front-lang a{font-size:12px !important;}
.hero-shade{padding-top:82px !important;}

@media(max-width:900px){
    .front-header{
        top:10px !important;
        left:10px !important;
        right:10px !important;
        transform:none !important;
        width:auto !important;
        min-height:68px !important;
        padding:10px 16px !important;
        border-radius:23px !important;
        gap:12px !important;
    }
    .front-header .front-logo img{
        max-width:150px !important;
        max-height:42px !important;
    }
    .front-header .front-logo-main,
    .front-header .front-logo > span{
        font-size:24px !important;
        letter-spacing:-1.2px !important;
    }
    .front-header .front-lang{gap:5px !important;}
    .front-header .front-lang a{
        padding:4px 1px !important;
        font-size:11px !important;
    }
    .front-header .front-lang span{font-size:9px !important;}
    .front-header.is-compact{
        top:6px !important;
        left:8px !important;
        right:8px !important;
        min-height:54px !important;
        padding:7px 13px !important;
    }
    .front-header.is-compact .front-logo img{
        max-width:132px !important;
        max-height:35px !important;
    }
    .front-header.is-compact .front-logo-main,
    .front-header.is-compact .front-logo > span{font-size:21px !important;}
    .front-header.is-compact .front-lang a{font-size:10px !important;}
    .hero-shade{padding-top:70px !important;}
}

@media(max-width:390px){
    .front-header{padding-left:12px !important;padding-right:12px !important;}
    .front-header .front-logo img{max-width:132px !important;}
    .front-header .front-lang a{font-size:10px !important;}
    .front-header .front-lang{gap:4px !important;}
}


/* =========================================================
   V5.2 FINAL HOME HEADER — logo + language only
   Deliberately appended last to override all legacy header rules.
   ========================================================= */
body.home-page .front-nav,
.front-header .front-nav,
.front-header nav,
.front-header > a[href^="#"]{
    display:none !important;
}
.front-header[data-build="v5.2-logo-language-only"]{
    position:absolute !important;
    top:14px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(1240px,calc(100% - 36px)) !important;
    min-height:76px !important;
    height:auto !important;
    padding:11px 22px !important;
    display:flex !important;
    grid-template-columns:none !important;
    grid-template-areas:none !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
    border-radius:27px !important;
    overflow:visible !important;
    background:rgba(236,240,244,.43) !important;
    border:1px solid rgba(255,255,255,.62) !important;
    -webkit-backdrop-filter:blur(22px) saturate(145%) !important;
    backdrop-filter:blur(22px) saturate(145%) !important;
    box-shadow:0 10px 30px rgba(8,20,40,.12) !important;
}
.front-header[data-build="v5.2-logo-language-only"] .front-logo{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    flex:0 1 auto !important;
}
.front-header[data-build="v5.2-logo-language-only"] .front-logo img{
    width:auto !important;
    height:auto !important;
    max-width:205px !important;
    max-height:52px !important;
    object-fit:contain !important;
}
.front-header[data-build="v5.2-logo-language-only"] .front-lang{
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    white-space:nowrap !important;
}
.front-header[data-build="v5.2-logo-language-only"] .front-lang a{
    padding:5px 2px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    color:rgba(17,24,39,.62) !important;
    font-size:13px !important;
    font-weight:800 !important;
}
.front-header[data-build="v5.2-logo-language-only"] .front-lang a.active{
    color:#a47a28 !important;
}
.front-header[data-build="v5.2-logo-language-only"] .front-lang span{
    color:rgba(17,24,39,.25) !important;
    font-size:11px !important;
}
.front-header[data-build="v5.2-logo-language-only"].is-compact{
    position:fixed !important;
    top:7px !important;
    min-height:58px !important;
    padding:7px 18px !important;
    background:rgba(239,242,246,.76) !important;
}
.hero-shade{padding-top:80px !important;}

@media(max-width:900px){
    .front-header[data-build="v5.2-logo-language-only"]{
        top:10px !important;
        left:10px !important;
        right:10px !important;
        transform:none !important;
        width:auto !important;
        min-height:78px !important;
        padding:11px 15px !important;
        border-radius:24px !important;
        gap:10px !important;
    }
    .front-header[data-build="v5.2-logo-language-only"] .front-logo img{
        max-width:154px !important;
        max-height:46px !important;
    }
    .front-header[data-build="v5.2-logo-language-only"] .front-lang{
        gap:5px !important;
    }
    .front-header[data-build="v5.2-logo-language-only"] .front-lang a{
        padding:4px 1px !important;
        font-size:11px !important;
    }
    .front-header[data-build="v5.2-logo-language-only"] .front-lang span{
        font-size:9px !important;
    }
    .front-header[data-build="v5.2-logo-language-only"].is-compact{
        top:6px !important;
        left:8px !important;
        right:8px !important;
        min-height:58px !important;
        padding:7px 12px !important;
    }
    .front-header[data-build="v5.2-logo-language-only"].is-compact .front-logo img{
        max-width:132px !important;
        max-height:37px !important;
    }
    .hero-shade{padding-top:76px !important;}
}

@media(max-width:390px){
    .front-header[data-build="v5.2-logo-language-only"]{
        left:8px !important;
        right:8px !important;
        padding-left:12px !important;
        padding-right:12px !important;
    }
    .front-header[data-build="v5.2-logo-language-only"] .front-logo img{
        max-width:136px !important;
    }
    .front-header[data-build="v5.2-logo-language-only"] .front-lang a{
        font-size:10px !important;
    }
}


/* =========================================================
   V6 HOME HEADER — static overlay on the hero
   No capsule, no sticky/fixed behavior.
   ========================================================= */
.front-header[data-build="v6-hero-overlay-static"]{
    position:absolute !important;
    z-index:40 !important;
    top:20px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(1240px,calc(100% - 56px)) !important;
    min-height:0 !important;
    padding:8px 4px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:visible !important;
    background:transparent !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
}
.front-header[data-build="v6-hero-overlay-static"].is-compact{
    position:absolute !important;
    top:20px !important;
    min-height:0 !important;
    padding:8px 4px !important;
    background:transparent !important;
    box-shadow:none !important;
}
.front-header[data-build="v6-hero-overlay-static"] .front-logo{
    filter:drop-shadow(0 2px 8px rgba(255,255,255,.72)) drop-shadow(0 2px 6px rgba(0,0,0,.18));
}
.front-header[data-build="v6-hero-overlay-static"] .front-logo img{
    max-width:205px !important;
    max-height:52px !important;
}
.front-header[data-build="v6-hero-overlay-static"] .front-logo-main,
.front-header[data-build="v6-hero-overlay-static"] .front-logo > span{
    color:#101a2d !important;
    text-shadow:0 1px 7px rgba(255,255,255,.82),0 2px 5px rgba(0,0,0,.16) !important;
}
.front-header[data-build="v6-hero-overlay-static"] .front-lang{
    padding:7px 10px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.16) !important;
    -webkit-backdrop-filter:blur(8px) saturate(120%) !important;
    backdrop-filter:blur(8px) saturate(120%) !important;
    box-shadow:0 2px 12px rgba(0,0,0,.08) !important;
}
.front-header[data-build="v6-hero-overlay-static"] .front-lang a{
    color:rgba(15,24,40,.72) !important;
    text-shadow:0 1px 5px rgba(255,255,255,.8) !important;
}
.front-header[data-build="v6-hero-overlay-static"] .front-lang a.active{
    color:#a9781c !important;
}
.hero-shade{padding-top:74px !important;}

@media(max-width:900px){
    .front-header[data-build="v6-hero-overlay-static"],
    .front-header[data-build="v6-hero-overlay-static"].is-compact{
        top:14px !important;
        left:18px !important;
        right:18px !important;
        transform:none !important;
        width:auto !important;
        padding:6px 0 !important;
        gap:10px !important;
    }
    .front-header[data-build="v6-hero-overlay-static"] .front-logo img{
        max-width:155px !important;
        max-height:44px !important;
    }
    .front-header[data-build="v6-hero-overlay-static"] .front-logo-main,
    .front-header[data-build="v6-hero-overlay-static"] .front-logo > span{
        font-size:24px !important;
        line-height:.95 !important;
    }
    .front-header[data-build="v6-hero-overlay-static"] .front-lang{
        gap:5px !important;
        padding:6px 7px !important;
        background:rgba(255,255,255,.14) !important;
    }
    .front-header[data-build="v6-hero-overlay-static"] .front-lang a{
        font-size:11px !important;
        padding:4px 1px !important;
    }
    .front-header[data-build="v6-hero-overlay-static"] .front-lang span{
        font-size:9px !important;
    }
    .hero-shade{padding-top:68px !important;}
}

@media(max-width:390px){
    .front-header[data-build="v6-hero-overlay-static"],
    .front-header[data-build="v6-hero-overlay-static"].is-compact{
        left:14px !important;
        right:14px !important;
    }
    .front-header[data-build="v6-hero-overlay-static"] .front-logo img{
        max-width:140px !important;
    }
    .front-header[data-build="v6-hero-overlay-static"] .front-lang a{
        font-size:10px !important;
    }
}


/* =========================================================
   V6.1 HOME HEADER — crisp text over hero
   White logo, text-only language switcher, stronger hero contrast.
   ========================================================= */
.front-header[data-build="v6-1-crisp-overlay"]{
    position:absolute !important;
    z-index:40 !important;
    top:20px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(1240px,calc(100% - 56px)) !important;
    min-height:0 !important;
    padding:8px 4px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:visible !important;
    background:transparent !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
}
.front-header[data-build="v6-1-crisp-overlay"].is-compact{
    position:absolute !important;
    top:20px !important;
    min-height:0 !important;
    padding:8px 4px !important;
    background:transparent !important;
    box-shadow:none !important;
}
.front-header[data-build="v6-1-crisp-overlay"] .front-logo{
    filter:drop-shadow(0 2px 7px rgba(0,0,0,.72)) !important;
}
.front-header[data-build="v6-1-crisp-overlay"] .front-logo img{
    max-width:205px !important;
    max-height:52px !important;
    filter:brightness(0) invert(1) !important;
}
.front-header[data-build="v6-1-crisp-overlay"] .front-logo-main,
.front-header[data-build="v6-1-crisp-overlay"] .front-logo > span{
    color:#fff !important;
    text-shadow:0 2px 7px rgba(0,0,0,.72) !important;
    letter-spacing:.2px !important;
}
.front-header[data-build="v6-1-crisp-overlay"] .front-lang{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
    white-space:nowrap !important;
}
.front-header[data-build="v6-1-crisp-overlay"] .front-lang a{
    color:rgba(255,255,255,.94) !important;
    background:transparent !important;
    border:0 !important;
    padding:5px 2px !important;
    font-weight:800 !important;
    text-shadow:0 2px 6px rgba(0,0,0,.78) !important;
}
.front-header[data-build="v6-1-crisp-overlay"] .front-lang a.active{
    color:#e0b755 !important;
    text-shadow:0 2px 7px rgba(0,0,0,.82) !important;
}
.front-header[data-build="v6-1-crisp-overlay"] .front-lang span{
    color:rgba(255,255,255,.58) !important;
    text-shadow:0 2px 5px rgba(0,0,0,.7) !important;
}

/* Darken only the upper/left hero area so the logo and copy remain crisp. */
.hero-shade{
    padding-top:74px !important;
    background:
        linear-gradient(180deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.28) 36%,rgba(0,0,0,.12) 66%,rgba(0,0,0,.04) 100%),
        linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.18) 54%,rgba(0,0,0,.03) 100%) !important;
}
.hero-copy,
.hero-copy span,
.hero-copy h1,
.hero-copy p{
    text-shadow:0 2px 10px rgba(0,0,0,.72) !important;
}

@media(max-width:900px){
    .front-header[data-build="v6-1-crisp-overlay"],
    .front-header[data-build="v6-1-crisp-overlay"].is-compact{
        top:14px !important;
        left:18px !important;
        right:18px !important;
        transform:none !important;
        width:auto !important;
        padding:6px 0 !important;
        gap:10px !important;
    }
    .front-header[data-build="v6-1-crisp-overlay"] .front-logo img{
        max-width:155px !important;
        max-height:44px !important;
    }
    .front-header[data-build="v6-1-crisp-overlay"] .front-logo-main,
    .front-header[data-build="v6-1-crisp-overlay"] .front-logo > span{
        font-size:24px !important;
        line-height:.95 !important;
    }
    .front-header[data-build="v6-1-crisp-overlay"] .front-lang{
        gap:5px !important;
    }
    .front-header[data-build="v6-1-crisp-overlay"] .front-lang a{
        font-size:11px !important;
        padding:5px 1px !important;
    }
    .front-header[data-build="v6-1-crisp-overlay"] .front-lang span{
        font-size:9px !important;
    }
    .hero-shade{
        padding-top:68px !important;
        background:
            linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.32) 38%,rgba(0,0,0,.14) 68%,rgba(0,0,0,.05) 100%),
            linear-gradient(90deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.20) 62%,rgba(0,0,0,.04) 100%) !important;
    }
}
@media(max-width:390px){
    .front-header[data-build="v6-1-crisp-overlay"],
    .front-header[data-build="v6-1-crisp-overlay"].is-compact{
        left:14px !important;
        right:14px !important;
    }
    .front-header[data-build="v6-1-crisp-overlay"] .front-logo img{
        max-width:140px !important;
    }
    .front-header[data-build="v6-1-crisp-overlay"] .front-lang a{
        font-size:10px !important;
    }
}


/* =========================================================
   V6.2 FINAL HOME HEADER — mobile white logo hard fix
   This block intentionally sits last to defeat older mobile rules.
   ========================================================= */
.front-header[data-build="v6-2-mobile-white-logo"]{
    position:absolute !important;
    z-index:80 !important;
    top:20px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(1240px,calc(100% - 56px)) !important;
    min-height:0 !important;
    padding:8px 4px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
}
.front-header[data-build="v6-2-mobile-white-logo"],
.front-header[data-build="v6-2-mobile-white-logo"].is-compact{
    position:absolute !important;
}
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo,
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo:link,
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo:visited,
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo:hover,
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo:active,
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo *,
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo-main,
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo > span{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    text-decoration:none !important;
    opacity:1 !important;
    visibility:visible !important;
    filter:none !important;
    mix-blend-mode:normal !important;
    text-shadow:0 2px 8px rgba(0,0,0,.88),0 0 2px rgba(0,0,0,.55) !important;
}
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo{
    display:block !important;
    max-width:230px !important;
    line-height:.9 !important;
    isolation:isolate !important;
}
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo-main,
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo > span{
    display:block !important;
    font-weight:800 !important;
    font-style:italic !important;
    letter-spacing:-1.4px !important;
}
.front-header[data-build="v6-2-mobile-white-logo"] .front-logo img{
    max-width:205px !important;
    max-height:52px !important;
    filter:brightness(0) invert(1) drop-shadow(0 2px 7px rgba(0,0,0,.75)) !important;
    opacity:1 !important;
}
.front-header[data-build="v6-2-mobile-white-logo"] .front-lang{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    white-space:nowrap !important;
}
.front-header[data-build="v6-2-mobile-white-logo"] .front-lang a{
    color:rgba(255,255,255,.96) !important;
    -webkit-text-fill-color:rgba(255,255,255,.96) !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:5px 2px !important;
    font-weight:800 !important;
    text-shadow:0 2px 7px rgba(0,0,0,.88) !important;
}
.front-header[data-build="v6-2-mobile-white-logo"] .front-lang a.active{
    color:#e0b755 !important;
    -webkit-text-fill-color:#e0b755 !important;
}
.front-header[data-build="v6-2-mobile-white-logo"] .front-lang span{
    color:rgba(255,255,255,.66) !important;
    -webkit-text-fill-color:rgba(255,255,255,.66) !important;
    text-shadow:0 2px 6px rgba(0,0,0,.8) !important;
}

@media(max-width:900px){
    .front-header[data-build="v6-2-mobile-white-logo"],
    .front-header[data-build="v6-2-mobile-white-logo"].is-compact{
        top:14px !important;
        left:18px !important;
        right:18px !important;
        transform:none !important;
        width:auto !important;
        padding:6px 0 !important;
        gap:10px !important;
    }
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo,
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo *,
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo-main,
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo > span{
        color:#fff !important;
        -webkit-text-fill-color:#fff !important;
        opacity:1 !important;
        filter:none !important;
        mix-blend-mode:normal !important;
        text-shadow:0 2px 9px rgba(0,0,0,.94),0 0 2px rgba(0,0,0,.7) !important;
    }
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo{
        width:190px !important;
        max-width:46vw !important;
    }
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo-main,
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo > span{
        font-size:24px !important;
        line-height:.9 !important;
        letter-spacing:-1.15px !important;
    }
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo img{
        max-width:155px !important;
        max-height:44px !important;
    }
    .front-header[data-build="v6-2-mobile-white-logo"] .front-lang{
        gap:5px !important;
    }
    .front-header[data-build="v6-2-mobile-white-logo"] .front-lang a{
        font-size:11px !important;
        padding:5px 1px !important;
    }
    .front-header[data-build="v6-2-mobile-white-logo"] .front-lang span{
        font-size:9px !important;
    }
}
@media(max-width:390px){
    .front-header[data-build="v6-2-mobile-white-logo"],
    .front-header[data-build="v6-2-mobile-white-logo"].is-compact{
        left:14px !important;
        right:14px !important;
    }
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo{
        width:170px !important;
        max-width:45vw !important;
    }
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo-main,
    .front-header[data-build="v6-2-mobile-white-logo"] .front-logo > span{
        font-size:22px !important;
    }
    .front-header[data-build="v6-2-mobile-white-logo"] .front-lang a{
        font-size:10px !important;
    }
}


/* =========================================================
   V6.3 FINAL — single mobile logo + larger language selector
   Prevent legacy mobile ::before rules from duplicating brand.
   ========================================================= */
.front-header[data-build="v6-3-mobile-logo-single"]{
    position:absolute !important;
    z-index:80 !important;
    top:20px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(1240px,calc(100% - 56px)) !important;
    min-height:0 !important;
    padding:8px 4px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}
.front-header[data-build="v6-3-mobile-logo-single"],
.front-header[data-build="v6-3-mobile-logo-single"].is-compact{
    position:absolute !important;
}

/* Kill every legacy generated logo. Only the real template content remains. */
.front-header[data-build="v6-3-mobile-logo-single"] .front-logo::before,
.front-header[data-build="v6-3-mobile-logo-single"] .front-logo::after{
    content:none !important;
    display:none !important;
}
.front-header[data-build="v6-3-mobile-logo-single"] .front-logo{
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    max-width:230px !important;
    height:auto !important;
    overflow:visible !important;
    font-size:inherit !important;
    line-height:.9 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    text-decoration:none !important;
    opacity:1 !important;
    filter:none !important;
    mix-blend-mode:normal !important;
    text-shadow:0 2px 9px rgba(0,0,0,.92),0 0 2px rgba(0,0,0,.62) !important;
}
.front-header[data-build="v6-3-mobile-logo-single"] .front-logo *{
    display:block !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
    filter:none !important;
}
.front-header[data-build="v6-3-mobile-logo-single"] .front-logo-main,
.front-header[data-build="v6-3-mobile-logo-single"] .front-logo > span{
    font-size:34px !important;
    line-height:.9 !important;
    font-weight:800 !important;
    font-style:italic !important;
    letter-spacing:-1.4px !important;
}
.front-header[data-build="v6-3-mobile-logo-single"] .front-logo img{
    max-width:205px !important;
    max-height:52px !important;
    filter:brightness(0) invert(1) drop-shadow(0 2px 7px rgba(0,0,0,.78)) !important;
}
.front-header[data-build="v6-3-mobile-logo-single"] .front-lang{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:10px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    white-space:nowrap !important;
}
.front-header[data-build="v6-3-mobile-logo-single"] .front-lang a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    padding:7px 3px !important;
    font-size:16px !important;
    line-height:1 !important;
    font-weight:800 !important;
    color:rgba(255,255,255,.98) !important;
    -webkit-text-fill-color:rgba(255,255,255,.98) !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    text-shadow:0 2px 7px rgba(0,0,0,.9) !important;
}
.front-header[data-build="v6-3-mobile-logo-single"] .front-lang a.active{
    color:#e0b755 !important;
    -webkit-text-fill-color:#e0b755 !important;
}
.front-header[data-build="v6-3-mobile-logo-single"] .front-lang span{
    font-size:13px !important;
    color:rgba(255,255,255,.72) !important;
    -webkit-text-fill-color:rgba(255,255,255,.72) !important;
    text-shadow:0 2px 6px rgba(0,0,0,.82) !important;
}

@media(max-width:900px){
    .front-header[data-build="v6-3-mobile-logo-single"],
    .front-header[data-build="v6-3-mobile-logo-single"].is-compact{
        top:14px !important;
        left:18px !important;
        right:18px !important;
        transform:none !important;
        width:auto !important;
        padding:6px 0 !important;
        gap:12px !important;
    }
    .front-header[data-build="v6-3-mobile-logo-single"] .front-logo{
        flex:0 1 auto !important;
        width:auto !important;
        min-width:0 !important;
        max-width:46vw !important;
        font-size:inherit !important;
        line-height:.9 !important;
        overflow:visible !important;
    }
    .front-header[data-build="v6-3-mobile-logo-single"] .front-logo-main,
    .front-header[data-build="v6-3-mobile-logo-single"] .front-logo > span{
        font-size:25px !important;
        line-height:.9 !important;
        letter-spacing:-1.15px !important;
    }
    .front-header[data-build="v6-3-mobile-logo-single"] .front-logo img{
        max-width:158px !important;
        max-height:44px !important;
    }
    .front-header[data-build="v6-3-mobile-logo-single"] .front-lang{
        flex:0 0 auto !important;
        gap:7px !important;
    }
    .front-header[data-build="v6-3-mobile-logo-single"] .front-lang a{
        min-width:38px !important;
        min-height:44px !important;
        padding:8px 2px !important;
        font-size:14px !important;
    }
    .front-header[data-build="v6-3-mobile-logo-single"] .front-lang span{
        font-size:11px !important;
    }
}
@media(max-width:390px){
    .front-header[data-build="v6-3-mobile-logo-single"],
    .front-header[data-build="v6-3-mobile-logo-single"].is-compact{
        left:14px !important;
        right:14px !important;
    }
    .front-header[data-build="v6-3-mobile-logo-single"] .front-logo{
        max-width:43vw !important;
    }
    .front-header[data-build="v6-3-mobile-logo-single"] .front-logo-main,
    .front-header[data-build="v6-3-mobile-logo-single"] .front-logo > span{
        font-size:23px !important;
    }
    .front-header[data-build="v6-3-mobile-logo-single"] .front-lang{
        gap:5px !important;
    }
    .front-header[data-build="v6-3-mobile-logo-single"] .front-lang a{
        min-width:35px !important;
        font-size:13px !important;
    }
}

/* V6.4 contact links: inherit card typography and remain clearly tappable */
.contact-strip p a{
    color:inherit;
    text-decoration:none;
    overflow-wrap:anywhere;
}
.contact-strip p a:hover,
.contact-strip p a:focus-visible{
    text-decoration:underline;
    text-underline-offset:3px;
}


/* V9.2 unified trilingual corporate footer */
.company-footer{
    background:linear-gradient(135deg,#101c31 0%,#172945 100%);
    color:#fff;
    padding:64px clamp(28px,6vw,92px);
}
.company-footer-grid{
    width:min(1320px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:1.05fr 1fr 1.15fr;
    gap:clamp(34px,5vw,80px);
    align-items:start;
}
.company-footer-block{min-width:0}
.company-footer-kicker{
    margin:0 0 14px!important;
    color:#d9ae55!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:.18em;
}
.company-footer h2{
    margin:0 0 22px;
    color:#fff;
    font-size:clamp(25px,2.5vw,38px);
    line-height:1.22;
    letter-spacing:-.03em;
}
.company-footer h3{
    margin:0 0 18px;
    color:#d9ae55;
    font-size:15px;
    font-weight:900;
    letter-spacing:.04em;
}
.company-footer p{
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:14px;
    line-height:1.9;
    white-space:pre-line;
}
.company-footer-established{
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.14);
}
@media(max-width:820px){
    .company-footer{padding:48px 28px 76px}
    .company-footer-grid{grid-template-columns:1fr;gap:34px}
    .company-footer-block+.company-footer-block{padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
    .company-footer h2{font-size:28px}
}

/* V9.3 unified detail navigation */
.detail-nav-contact{appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
.site-nav .detail-nav-contact{font-size:inherit;font-weight:inherit}
.detail-nav-contact:hover{opacity:.68}
@media(max-width:900px){.detail-nav-contact{flex:0 0 auto}}

/* V9.4 — keep the unified detail navigation visible on region/review pages */
.destination-header{
    min-height:82px;
    height:auto;
    padding:14px 5vw;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:24px;
}
.destination-header .site-logo{
    justify-self:start;
}
.destination-header .site-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:30px;
    min-width:0;
}
.destination-header .site-nav a,
.destination-header .site-nav .detail-nav-contact{
    white-space:nowrap;
    font-size:13px;
    font-weight:800;
}
.destination-header .destination-language{
    justify-self:end;
}

@media(max-width:900px){
    .destination-header{
        grid-template-columns:minmax(0,1fr) auto;
        padding:16px 18px;
        gap:10px 16px;
    }
    .destination-header .site-logo{
        font-size:22px;
    }
    .destination-header .site-logo span{
        font-size:14px;
    }
    .destination-header .destination-language{
        grid-column:2;
        grid-row:1;
    }
    .destination-header .site-nav{
        display:flex !important;
        grid-column:1 / -1;
        grid-row:2;
        justify-content:flex-start;
        gap:22px;
        overflow-x:auto;
        padding:6px 0 2px;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    .destination-header .site-nav::-webkit-scrollbar{
        display:none;
    }
    .destination-header .site-nav a,
    .destination-header .site-nav .detail-nav-contact{
        flex:0 0 auto;
    }
}

/* V9.6 — shared detail gallery for regions and Google reviews */
.review-detail-gallery-section{
    margin-top:28px;
}

.shared-detail-gallery{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-rows:auto;
    gap:22px;
    align-items:stretch;
}

.shared-detail-gallery img{
    display:block;
    grid-column:span 4;
    width:100%;
    aspect-ratio:16/10;
    height:auto;
    object-fit:cover;
    object-position:center;
    border-radius:20px;
    background:#e8ebef;
    box-shadow:0 16px 42px rgba(15,23,42,.08);
    transition:transform .25s ease,box-shadow .25s ease;
}

.shared-detail-gallery img:nth-child(5n+1),
.shared-detail-gallery img:nth-child(5n+4){
    grid-column:span 8;
}

.shared-detail-gallery img:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 22px 52px rgba(15,23,42,.12);
}

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

    .shared-detail-gallery img,
    .shared-detail-gallery img:nth-child(5n+1),
    .shared-detail-gallery img:nth-child(5n+4){
        grid-column:span 1;
        aspect-ratio:4/3;
        border-radius:18px;
    }
}
