:root{
    --ink:#0c0f14;
    --charcoal:#131922;
    --soft-black:#1a2230;
    --pearl:#fbfbfd;
    --pearl-2:#f3f4f7;
    --rose-gold:#c8a46a;
    --champagne:#e9d7b2;
    --muted:rgba(12,15,20,0.68);
    --glass-bg:rgba(255,255,255,0.14);
    --glass-border:rgba(255,255,255,0.20);
    --shadow-soft:0 15px 35px rgba(12,15,20,0.10);
    --shadow-strong:0 25px 60px rgba(0,0,0,0.35);
    --stats-bg:#0e1218;
    --stats-gold:var(--rose-gold);
    --stats-circle:rgba(255,255,255,0.10);
    --stats-circle-border:rgba(255,255,255,0.18);
    --ring:rgba(200,164,106,0.25);
}

*{margin:0;padding:0;box-sizing:border-box;font-family:'Cairo',sans-serif}
body{
    background:radial-gradient(1200px 700px at 20% 0%, rgba(200,164,106,0.12), transparent 55%),
               radial-gradient(1000px 600px at 85% 12%, rgba(0,0,0,0.08), transparent 55%),
               linear-gradient(180deg, var(--pearl) 0%, var(--pearl-2) 100%);
    color:var(--ink);
    overflow-x:hidden;
}

.lang-wrap{display:flex;align-items:center;gap:10px}
.lang-select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.22);
    color:#fff;
    padding:10px 42px 10px 14px;
    border-radius:12px;
    backdrop-filter:blur(12px);
    cursor:pointer;
    outline:none;
    font-weight:900;
}
.lang-select option{color:#111}
.lang-select-wrap{position:relative;display:inline-block}
.lang-select-wrap:after{
    content:"▼";
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    font-size:12px;
    color:rgba(255,255,255,0.88);
    pointer-events:none;
}

header{
    position:absolute;
    top:0;
    width:100%;
    z-index:100;
    padding:18px 5%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

nav ul{display:flex;gap:28px;list-style:none}
nav a{
    color:#fff;
    text-decoration:none;
    font-weight:900;
    transition:.25s;
    font-size:1.05rem;
    position:relative;
    opacity:.96;
}
nav a:hover{color:var(--champagne)}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:#fff;
    min-width:220px;
}
.brand-badge{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    border-radius:18px;
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.22);
    backdrop-filter:blur(12px);
    box-shadow:0 14px 35px rgba(0,0,0,0.22);
    overflow:hidden;
    transition:transform .25s ease, background .25s ease;
    flex:0 0 58px;
}
.brand-badge:before{
    content:"";
    position:absolute;
    inset:-2px;
    border-radius:20px;
    background:radial-gradient(240px 120px at 30% 0%, rgba(200,164,106,0.40), transparent 60%);
    filter:blur(10px);
    opacity:.9;
}
.brand-badge img{
    position:relative;
    width:48px;
    height:48px;
    object-fit:cover;
    border-radius:14px;
    background:#fff;
    border:1px solid rgba(0,0,0,0.06);
}
.brand:hover .brand-badge{transform:translateY(-2px);background:rgba(255,255,255,0.16)}
.brand-text{display:flex;flex-direction:column;gap:2px;line-height:1.15}
.brand-name{font-weight:900;font-size:1.05rem;letter-spacing:.2px;white-space:nowrap}
.brand-tag{font-weight:900;font-size:.82rem;opacity:.86;white-space:nowrap;color:rgba(255,255,255,0.86)}

.hero{
    position:relative;
    height:100vh;
    width:100%;
    background-size:cover;
    background-position:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    overflow:hidden;
    padding-top:90px;
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(12,15,20,0.86) 0%, rgba(19,25,34,0.72) 50%, rgba(200,164,106,0.22) 100%);
    z-index:1;
}
.hero.is-transitioning{transition:background-image 500ms ease}
.hero-content{
    position:relative;
    z-index:2;
    text-align:center;
    color:#fff;
    animation:fadeIn 1.25s ease;
    padding:0 14px;
}
.hero h1{font-size:3rem;margin-bottom:14px;letter-spacing:.4px;font-weight:900}
.hero p{
    font-size:1.25rem;
    opacity:.92;
    margin-bottom:26px;
    max-width:820px;
    line-height:1.95;
}
.cta-btn{
    background:var(--rose-gold);
    color:var(--ink);
    padding:15px 44px;
    border-radius:14px;
    font-weight:900;
    text-decoration:none;
    border:2px solid rgba(200,164,106,0.85);
    transition:.35s;
    display:inline-block;
    box-shadow:0 18px 40px rgba(0,0,0,0.22);
}
.cta-btn:hover{
    background:transparent;
    color:#fff;
    border-color:rgba(255,255,255,0.85);
    transform:translateY(-2px);
}

.hero-nav-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:3;
    width:52px;
    height:52px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.25);
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(12px);
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.25s;
    user-select:none;
}
.hero-nav-btn:hover{background:rgba(255,255,255,0.18);transform:translateY(-50%) scale(1.05)}
.hero-prev{right:18px}
.hero-next{left:18px}

.hero-dots{
    position:absolute;
    bottom:26px;
    left:50%;
    transform:translateX(-50%);
    z-index:3;
    display:flex;
    gap:10px;
    padding:10px 12px;
    border-radius:999px;
    background:rgba(255,255,255,0.10);
    border:1px solid rgba(255,255,255,0.18);
    backdrop-filter:blur(12px);
}
.hero-dot{
    width:11px;
    height:11px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.65);
    background:transparent;
    cursor:pointer;
    transition:.2s;
}
.hero-dot.active{background:#fff;transform:scale(1.15)}

.section-padding{padding:100px 8%;text-align:center}
.section-title{font-size:2.5rem;color:var(--ink);font-weight:900}
.section-line{
    width:72px;
    height:5px;
    background:linear-gradient(90deg, rgba(200,164,106,0.15), rgba(200,164,106,0.95), rgba(200,164,106,0.15));
    margin:16px auto 0;
    border-radius:999px;
}
.section-subtitle{
    margin:18px auto 0;
    font-size:1.1rem;
    opacity:.9;
    max-width:980px;
    line-height:1.95;
    color:var(--muted);
}

.mini-title{
    margin-top:46px;
    font-weight:900;
    font-size:1.35rem;
    color:rgba(12,15,20,0.88);
    letter-spacing:.2px;
}
.mini-sub{
    margin-top:10px;
    color:var(--muted);
    font-weight:800;
    font-size:1.02rem;
}

.dest-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
    gap:26px;
    margin-top:32px;
}
.dest-card{
    height:450px;
    border-radius:26px;
    overflow:hidden;
    position:relative;
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(0,0,0,0.06);
    background:#fff;
}
.dest-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
    filter:saturate(1.02) contrast(1.02);
}
.dest-card:hover img{transform:scale(1.08) rotate(.6deg)}
.dest-info{
    position:absolute;
    bottom:0;
    width:100%;
    padding:40px 20px;
    background:linear-gradient(transparent, rgba(12,15,20,0.92));
    color:#fff;
    text-align:right;
}
.dest-info h3{
    font-size:1.55rem;
    font-weight:900;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    gap:12px;
}
.dest-info p{margin-top:10px;opacity:.9;line-height:1.8}

.info-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:26px;
    margin-top:50px;
    text-align:right;
}
.info-card{
    background:#fff;
    border-radius:22px;
    padding:28px 22px;
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(0,0,0,0.06);
    transition:.35s ease;
    position:relative;
    overflow:hidden;
}
.info-card:before{
    content:"";
    position:absolute;
    top:-60px;
    left:-60px;
    width:160px;
    height:160px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(200,164,106,0.22) 0%, transparent 60%);
    opacity:.9;
}
.info-card:hover{
    transform:translateY(-10px);
    box-shadow:0 28px 60px rgba(0,0,0,0.14);
}
.info-card h3{color:var(--ink);margin-bottom:10px;font-size:1.5rem;font-weight:900}
.info-card p{color:rgba(12,15,20,0.78);font-size:1.05rem;line-height:1.9}

.social-card{cursor:pointer;outline:none}
.social-card:focus-visible{
    box-shadow:0 0 0 4px var(--ring), var(--shadow-soft);
    transform:translateY(-4px);
}
.dest-card.social-card::after{
    content:attr(data-hoverhint);
    position:absolute;
    top:18px;
    left:18px;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.22);
    color:#fff;
    padding:8px 12px;
    border-radius:999px;
    font-weight:900;
    font-size:.95rem;
    backdrop-filter:blur(10px);
    opacity:0;
    transform:translateY(-6px);
    transition:.25s ease;
    pointer-events:none;
    z-index:2;
}
.dest-card.social-card:hover::after{opacity:1;transform:translateY(0)}

.stats-section{
    background:radial-gradient(1200px 650px at 50% 10%, rgba(200,164,106,0.18), transparent 60%), var(--stats-bg);
    color:#fff;
    position:relative;
    overflow:hidden;
}
.stats-section .section-title{color:#fff}
.stats-section .section-line{background:rgba(200,164,106,0.95)}
.stats-section .section-subtitle{color:rgba(255,255,255,0.82);opacity:1}

.stats-grid{
    margin-top:55px;
    display:grid;
    grid-template-columns:repeat(4, minmax(220px, 1fr));
    gap:26px;
    align-items:stretch;
}
.stat-card{
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.14);
    border-radius:26px;
    padding:26px 18px;
    text-align:center;
    backdrop-filter:blur(10px);
    box-shadow:0 18px 38px rgba(0,0,0,0.18);
    transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
}
.stat-card:hover{
    transform:translateY(-10px);
    background:rgba(255,255,255,0.09);
    box-shadow:0 26px 55px rgba(0,0,0,0.24);
}
.stat-icon{
    width:90px;
    height:90px;
    border-radius:50%;
    margin:0 auto 18px;
    background:var(--stats-circle);
    border:1px solid var(--stats-circle-border);
    display:flex;
    align-items:center;
    justify-content:center;
}
.stat-icon i{
    font-size:34px;
    color:var(--stats-gold);
    filter:drop-shadow(0 10px 14px rgba(0,0,0,0.20));
}
.stat-number{
    font-size:54px;
    font-weight:900;
    color:var(--stats-gold);
    line-height:1;
    margin-bottom:10px;
    letter-spacing:.5px;
}
.stat-label{font-size:1.25rem;font-weight:800;opacity:.95}
.stat-hint{margin-top:10px;font-size:.95rem;opacity:.78;line-height:1.7}

.testimonials-wrap{
    margin-top:55px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:26px;
    text-align:right;
}
.t-card{
    background:#fff;
    border-radius:22px;
    padding:26px 22px;
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(0,0,0,0.06);
    transition:.35s ease;
    position:relative;
    overflow:hidden;
}
.t-card:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(0,0,0,0.14)}
.t-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.t-name{font-weight:900;font-size:1.2rem;color:var(--ink)}
.t-meta{opacity:.78;font-weight:800;font-size:.95rem;margin-top:4px}
.t-stars{display:flex;gap:4px;color:#f3c84b;font-size:1.05rem;flex:0 0 auto}
.t-quote{color:rgba(12,15,20,0.78);font-size:1.05rem;line-height:1.9}
.t-badge{
    position:absolute;
    top:18px;
    left:18px;
    width:42px;
    height:42px;
    border-radius:14px;
    background:rgba(200,164,106,0.10);
    border:1px solid rgba(200,164,106,0.22);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--ink);
}

#team{background:rgba(0,0,0,0.03)}
.team-grid{
    margin-top:55px;
    display:grid;
    grid-template-columns:repeat(3, minmax(260px, 1fr));
    gap:26px;
    text-align:right;
    align-items:stretch;
}
.team-card{
    background:#fff;
    border-radius:26px;
    padding:26px 22px;
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(0,0,0,0.06);
    transition:.35s ease;
    position:relative;
    overflow:hidden;
}
.team-card:hover{transform:translateY(-10px);box-shadow:0 28px 60px rgba(0,0,0,0.14)}
.team-top{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.team-avatar{
    width:92px;
    height:92px;
    border-radius:22px;
    overflow:hidden;
    flex:0 0 92px;
    border:1px solid rgba(0,0,0,0.10);
    box-shadow:0 12px 25px rgba(0,0,0,0.10);
    background:#fff;
}
.team-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.team-name{font-size:1.28rem;font-weight:900;color:var(--ink);margin-bottom:6px}
.team-role{font-size:1rem;font-weight:900;opacity:.82;color:rgba(12,15,20,0.85)}
.team-desc{
    color:rgba(12,15,20,0.78);
    font-size:1.05rem;
    line-height:1.9;
    margin-top:10px;
}
.team-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.team-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border-radius:14px;
    text-decoration:none;
    font-weight:900;
    border:1px solid rgba(0,0,0,0.10);
    background:rgba(0,0,0,0.04);
    color:var(--ink);
    transition:.25s ease;
}
.team-btn:hover{transform:translateY(-3px);background:rgba(0,0,0,0.06)}
.team-btn.instagram{border-color:rgba(225,48,108,0.28);background:rgba(225,48,108,0.08)}
.team-btn i{font-size:1.05rem}

#contact{
    background:linear-gradient(135deg, rgba(12,15,20,0.98) 0%, rgba(19,25,34,0.98) 70%, rgba(200,164,106,0.20) 100%);
    color:#fff;
    padding:80px 8%;
    border-radius:60px 60px 0 0;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:40px;
    text-align:right;
}
.contact-col h3{
    color:rgba(255,255,255,0.88);
    margin-bottom:18px;
    font-size:1.75rem;
    position:relative;
    padding-bottom:10px;
    font-weight:900;
}
.contact-col h3::after{
    content:'';
    position:absolute;
    bottom:0;
    right:0;
    width:64px;
    height:3px;
    background:rgba(200,164,106,0.95);
    border-radius:2px;
}
.contact-col p{margin-bottom:10px;font-size:1.08rem;opacity:.90;line-height:1.9}
.contact-col a{
    color:#fff;
    text-decoration:none;
    font-weight:900;
    transition:.25s ease;
}
.contact-col a:hover{color:var(--champagne)}

.contact-badge{
    display:inline-block;
    margin-bottom:14px;
    color:var(--ink);
    background:rgba(200,164,106,0.95);
    border:1px solid rgba(200,164,106,0.95);
    padding:10px 15px;
    border-radius:14px;
    font-weight:900;
    font-size:1rem;
    box-shadow:0 16px 35px rgba(0,0,0,0.22);
}

.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.social-link{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:50%;
    background:rgba(255,255,255,0.10);
    border:1px solid rgba(255,255,255,0.18);
    color:#fff;
    font-size:1.25rem;
    transition:all .25s ease;
    text-decoration:none;
}
.social-link:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,0.18);
    box-shadow:0 10px 20px rgba(0,0,0,0.22);
}
.social-link.whatsapp{background:#25D366;border-color:rgba(37,211,102,0.55)}
.social-link.phone{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.22)}
.social-link.instagram{background:rgba(225,48,108,0.95);border-color:rgba(225,48,108,0.55)}
.social-link.snapchat{background:#FFFC00;border-color:rgba(255,252,0,0.55);color:#111}
.social-link.tiktok{background:#111;border-color:rgba(255,255,255,0.18);color:#fff}
.social-handle{
    margin-top:14px;
    opacity:.88;
    font-weight:900;
    line-height:1.9;
}
.social-hint{
    margin-top:18px;
    font-size:.92rem;
    opacity:.85;
}
.social-handle-margin{margin-top:10px}

.gov-logos{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.gov-cell{
    width:100%;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.16);
    border-radius:18px;
    padding:16px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    backdrop-filter:blur(10px);
}
.gov-text{min-width:0;flex:1}
.gov-label{font-size:1.02rem;opacity:.92;margin-bottom:6px;line-height:1.4}
.gov-value{
    font-size:1.15rem;
    font-weight:900;
    letter-spacing:.2px;
    direction:ltr;
    text-align:right;
    word-break:break-all;
    line-height:1.25;
}
.gov-value-rtl{direction:rtl;text-align:right}
.gov-icon{
    width:56px;
    height:56px;
    border-radius:14px;
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.18);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    flex:0 0 56px;
}
.gov-icon i{font-size:24px;color:rgba(255,255,255,0.92)}

.floating-actions{
    position:fixed;
    bottom:40px;
    left:40px;
    z-index:1000;
    display:flex;
    flex-direction:column;
    gap:14px;
}
.float-btn{
    width:64px;
    height:64px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 12px 28px rgba(0,0,0,0.25);
    transition:.25s;
    text-decoration:none;
}
.float-btn:hover{transform:translateY(-10px)}
.float-whatsapp{background:#25D366}
.float-phone{background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.18);backdrop-filter:blur(10px)}
.float-instagram{background:rgba(225,48,108,0.95)}
.float-snapchat{background:#FFFC00}
.float-tiktok{background:#111;border:1px solid rgba(255,255,255,0.18);backdrop-filter:blur(10px)}

.float-icon-white{font-size:30px;color:#fff}
.float-phone-icon{font-size:26px;color:#fff}
.float-snap-icon{font-size:30px;color:#111 !important}

footer{background:#0b0f14;color:rgba(255,255,255,0.55);text-align:center;padding:25px}

@keyframes fadeIn{
    from{opacity:0;transform:translateY(18px)}
    to{opacity:1;transform:translateY(0)}
}

@media (max-width:1100px){
    .stats-grid{grid-template-columns:repeat(2, minmax(220px, 1fr))}
    .team-grid{grid-template-columns:repeat(2, minmax(260px, 1fr))}
}
@media (max-width:900px){
    .team-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
    .brand{min-width:auto}
    .brand-text{display:none}
    .brand-badge{width:54px;height:54px;border-radius:16px}
    .brand-badge img{width:44px;height:44px;border-radius:12px}
    .hero h1{font-size:2rem}
    header nav{display:none}
    .floating-actions{left:18px;bottom:18px}
    .hero-prev{right:10px}
    .hero-next{left:10px}
    .social-links{justify-content:center}
    .stats-grid{grid-template-columns:1fr}
    .stat-number{font-size:50px}
}

body.en-lang .dest-info,
body.en-lang .info-grid,
body.en-lang #contact,
body.en-lang .testimonials-wrap,
body.en-lang .team-grid{text-align:left}
body.en-lang .contact-col h3::after{right:auto;left:0}
body.en-lang .floating-actions{left:auto;right:18px}
body.en-lang .hero-prev{left:18px;right:auto}
body.en-lang .hero-next{right:18px;left:auto}
body.en-lang .lang-select-wrap:after{right:14px;left:auto}
body.en-lang .lang-select{padding:10px 14px 10px 42px}
body.en-lang header{direction:ltr}
body.en-lang .brand{flex-direction:row}

.map-card{
    width:100%;
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,0.16);
    background:rgba(255,255,255,0.06);
    box-shadow:0 18px 38px rgba(0,0,0,0.18);
    backdrop-filter:blur(10px);
}
.map-card iframe{
    width:100%;
    height:320px;
    border:0;
    display:block;
    filter:saturate(1.05) contrast(1.02);
}
.map-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.map-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border-radius:14px;
    text-decoration:none;
    font-weight:900;
    border:1px solid rgba(255,255,255,0.18);
    background:rgba(255,255,255,0.10);
    color:#fff;
    transition:.25s ease;
}
.map-btn:hover{
    transform:translateY(-3px);
    background:rgba(255,255,255,0.16);
}

.values-light{background:rgba(0,0,0,0.03)}