:root{
    --brand-yellow:#FFF200;
    --brand-gray:#9A9A9A;
    --brand-white:#FFFFFF;
    --brand-dark:#2b2b2b;
    --ink:#1b1b1b;

    --soft-bg:#fbfbfb;
    --card:#ffffff;

    --shadow-soft: 0 15px 35px rgba(0,0,0,0.12);
    --shadow-strong: 0 25px 50px rgba(0,0,0,0.30);

    --stats-bg: #2f2f2f;
    --stats-accent: var(--brand-yellow);
    --stats-circle: rgba(255,255,255,0.10);
    --stats-circle-border: rgba(255,255,255,0.18);
}

*{ margin:0; padding:0; box-sizing:border-box; font-family:'Cairo', sans-serif; }
body{
    background: var(--soft-bg);
    color: var(--ink);
    overflow-x:hidden;
}

.pattern-bg{ position:relative; overflow:hidden; }
.pattern-bg::before{
    content:"";
    position:absolute;
    inset:-120px;
    background:
        radial-gradient(circle at 20% 30%, rgba(255,242,0,0.10), transparent 35%),
        radial-gradient(circle at 80% 60%, rgba(154,154,154,0.10), transparent 40%),
        repeating-linear-gradient(45deg,
            rgba(0,0,0,0.03) 0px,
            rgba(0,0,0,0.03) 2px,
            transparent 2px,
            transparent 10px
        );
    opacity:.55;
    transform: rotate(-3deg);
    pointer-events:none;
}

header{
    position:fixed;
    top:0;
    width:100%;
    z-index:1000;
    padding: 14px 5%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 14px;

    background: white; /* خلفية بيضاء ثابتة */
    border-bottom: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

header::after{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width: 8px;
    right:0;
    background: var(--brand-yellow);
    opacity:.95;
}
body.en-lang header::after{
    right:auto; left:0;
}

.brand{
    display:flex;
    align-items:center;
    gap: 12px;
    min-width: 0;
    text-decoration:none;
    color: var(--brand-dark); 
}
.brand-logo{
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: white;
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: var(--shadow-soft);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    flex: 0 0 56px;
    position:relative;
}
.brand-logo::before{
    content:"";
    position:absolute;
    top:0; bottom:0;
    right:0;
    width: 6px;
    background: var(--brand-yellow);
}
body.en-lang .brand-logo::before{
    right:auto; left:0;
}
.brand-logo img{
    width: 88%;
    height: 88%;
    object-fit: contain;
    display:block;
}
.brand-text{
    display:flex;
    flex-direction:column;
    gap: 2px;
    min-width:0;
}
.brand-name{
    font-weight: 900;
    font-size: 1.08rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow:hidden;
    text-overflow: ellipsis;
    max-width: 360px;
    color: var(--brand-dark);
}
.brand-tag{
    font-weight: 800;
    font-size: .92rem;
    opacity: .80;
    color: var(--brand-gray);
    white-space: nowrap;
    overflow:hidden;
    text-overflow: ellipsis;
    max-width: 360px;
}

nav ul{ display:flex; gap:22px; list-style:none; }
nav a{
    color: var(--brand-dark);
    text-decoration:none;
    font-weight:900;
    transition:.25s;
    font-size:1.02rem;
    opacity:.85;
}
nav a:hover{ color: var(--brand-yellow); }

/* Lang */
.lang-wrap{ display:flex; align-items:center; gap:10px; }
.lang-select-wrap{ position:relative; display:inline-block; }
.lang-select{
    appearance:none;
    background: white;
    border: 1px solid rgba(0,0,0,0.10);
    color: var(--brand-dark);
    padding: 10px 42px 10px 14px;
    border-radius: 12px;
    cursor:pointer;
    outline:none;
    font-weight:900;
    box-shadow: var(--shadow-soft);
}
.lang-select option{ color:#111; }
.lang-select-wrap:after{
    content:"▼";
    position:absolute;
    left: 14px;
    top:50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: var(--brand-gray);
    pointer-events:none;
}
body.en-lang .lang-select-wrap:after{ left:auto; right:14px; }
body.en-lang .lang-select{ padding: 10px 14px 10px 42px; }

.menu-btn{
    display:none;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    border: 1px solid rgba(0,0,0,0.08);
    background: white;
    color: var(--brand-dark);
    cursor:pointer;
    align-items:center;
    justify-content:center;
    transition:.25s;
    box-shadow: var(--shadow-soft);
}
.menu-btn:hover{ transform: translateY(-2px); }

.mobile-menu{
    position:fixed;
    top: 84px; 
    right: 5%;
    left: 5%;
    z-index:1200;
    background: white;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 22px;
    padding: 14px;
    box-shadow: var(--shadow-strong);
    display:none;
}
.mobile-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 16px;
    text-decoration:none;
    color: var(--brand-dark);
    font-weight: 900;
    opacity:.96;
    border: 1px solid rgba(0,0,0,0.05);
    background: rgba(0,0,0,0.02);
    margin-bottom: 10px;
    transition:.25s;
}
.mobile-menu a:hover{
    border-color: var(--brand-yellow);
    background: rgba(255,242,0,0.08);
    color: var(--brand-dark);
}
.mobile-menu a:last-child{ margin-bottom:0; }

body.en-lang .mobile-menu{ right: 5%; left: 5%; }


.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: 84px;
    margin-top:0;
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(135deg, rgba(43,43,43,0.88) 0%, rgba(154,154,154,0.35) 100%),
        radial-gradient(900px 500px at 20% 10%, rgba(255,242,0,0.18), transparent 60%);
    z-index:1;
}
.hero.is-transitioning{ transition: background-image 500ms ease; }

.hero::after{
    content:"";
    position:absolute;
    top:0; bottom:0;
    width: 10px;
    right: 0;
    background: var(--brand-yellow);
    z-index:2;
    opacity: .95;
}
body.en-lang .hero::after{
    right:auto; left:0;
}

.hero-content{
    position:relative;
    z-index:3;
    text-align:center;
    color:#fff;
    animation: fadeIn 1.3s ease;
    padding: 0 14px;
    max-width: 980px;
}

.hero h1{
    font-size: 3rem;
    margin-bottom: 12px;
    letter-spacing: .2px;
    font-weight: 900;
}
.hero p{
    font-size: 1.22rem;
    opacity: 0.94;
    margin-bottom: 24px;
    line-height: 1.9;
}

.cta-btn{
    background: var(--brand-yellow);
    color: #111;
    padding: 15px 42px;
    border-radius: 14px;
    font-weight: 900;
    text-decoration:none;
    border: 2px solid var(--brand-yellow);
    transition: .35s;
    display:inline-flex;
    align-items:center;
    gap: 10px;
    box-shadow: 0 14px 30px rgba(0,0,0,0.25);
}
.cta-btn:hover{
    background: transparent;
    color: #fff;
    border-color: #fff;
    transform: translateY(-2px);
}

.hero-nav-btn{
    position:absolute;
    top:55%;
    transform: translateY(-50%);
    z-index:4;
    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(10px);
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.28s;
    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; }
body.en-lang .hero-prev{ left:18px; right:auto; }
body.en-lang .hero-next{ right:18px; left:auto; }

.hero-dots{
    position:absolute;
    bottom:26px;
    left:50%;
    transform: translateX(-50%);
    z-index:4;
    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(10px);
}
.hero-dot{
    width: 11px;
    height: 11px;
    border-radius:50%;
    border: 1px solid rgba(255,255,255,0.65);
    background: transparent;
    cursor:pointer;
    transition: .25s;
}
.hero-dot.active{ background: var(--brand-yellow); border-color: var(--brand-yellow); transform: scale(1.15); }

.section-padding{ padding: 95px 8%; text-align:center; position:relative; }
.section-title{ font-size: 2.5rem; color: var(--ink); font-weight: 900; }
.section-line{
    width: 64px;
    height: 6px;
    background: var(--brand-yellow);
    margin: 14px auto 0;
    border-radius: 999px;
}
.section-subtitle{
    margin: 18px auto 0;
    font-size: 1.1rem;
    opacity: 0.88;
    max-width: 980px;
    line-height: 1.95;
}


.dest-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 28px;
    margin-top: 50px;
}
.dest-card{
    height: 440px;
    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: .65s;
    filter: saturate(1.03) contrast(1.02);
}
.dest-card:hover img{ transform: scale(1.09) rotate(0.6deg); }

.dest-info{
    position:absolute;
    bottom:0;
    width:100%;
    padding: 38px 20px;
    background: linear-gradient(transparent, rgba(0,0,0,0.78));
    color:#fff;
    text-align:right;
}
.dest-info h3{ font-size: 1.55rem; font-weight: 900; margin-bottom: 6px; }
.dest-info p{ opacity:.92; line-height:1.8; }

.info-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
    margin-top: 50px;
    text-align:right;
}
.info-card{
    background: var(--card);
    border-radius: 24px;
    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:0;
    bottom:0;
    right:0;
    width: 8px;
    background: var(--brand-yellow);
    opacity: .9;
}
body.en-lang .info-card::before{ right:auto; left:0; }
.info-card:hover{
    transform: translateY(-10px);
    box-shadow: 0 25px 55px rgba(0,0,0,0.16);
}
.info-card h3{ color: var(--ink); margin-bottom: 10px; font-size: 1.5rem; font-weight: 900; }
.info-card p{ color: rgba(0,0,0,0.78); font-size: 1.05rem; line-height: 1.95; }


.wa-card{ cursor:pointer; outline:none; }
.wa-card:focus-visible{
    box-shadow: 0 0 0 4px rgba(255,242,0,0.25), var(--shadow-soft);
    transform: translateY(-4px);
}
.dest-card.wa-card::after{
    content: attr(data-hoverhint);
    position:absolute;
    top:18px;
    left:18px;
    background: rgba(0,0,0,0.26);
    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.wa-card:hover::after{ opacity:1; transform: translateY(0); }

.info-card.wa-card::after{
    content: attr(data-hoverhint);
    position:absolute;
    top:18px;
    left:18px;
    background: rgba(255,242,0,0.16);
    border: 1px solid rgba(255,242,0,0.35);
    color: #111;
    padding: 7px 12px;
    border-radius: 999px;
    font-weight: 900;
    font-size: .95rem;
    opacity:0;
    transform: translateY(-6px);
    transition:.25s ease;
    pointer-events:none;
}
.info-card.wa-card:hover::after{ opacity:1; transform: translateY(0); }


.stats-section{
    background:
        radial-gradient(1200px 600px at 50% 10%, rgba(255,255,255,0.10), transparent 60%),
        radial-gradient(900px 500px at 15% 70%, rgba(255,242,0,0.10), transparent 65%),
        var(--stats-bg);
    color:#fff;
    position:relative;
    overflow:hidden;
}
.stats-section .section-title{ color:#fff; }
.stats-section .section-line{ background: rgba(255,242,0,0.90); }
.stats-section .section-subtitle{ color: rgba(255,255,255,0.84); opacity:1; }

.stats-grid{
    margin-top: 55px;
    display:grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 24px;
    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;
    position:relative;
    overflow:hidden;
}
.stat-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height: 6px;
    background: var(--brand-yellow);
    opacity:.95;
}
.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-accent);
    filter: drop-shadow(0 10px 14px rgba(0,0,0,0.20));
}
.stat-number{
    font-size: 56px;
    font-weight: 900;
    color: var(--stats-accent);
    line-height: 1;
    margin-bottom: 12px;
    letter-spacing: .5px;
}
.stat-label{ font-size: 1.28rem; font-weight: 700; opacity: .96; }
.stat-hint{ margin-top: 10px; font-size: 0.95rem; opacity: 0.78; line-height: 1.6; }

/* Testimonials */
.testimonials-wrap{
    margin-top: 55px;
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    text-align:right;
}
.t-card{
    background:#fff;
    border-radius: 24px;
    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 25px 55px rgba(0,0,0,0.16);
}
.t-card::before{
    content:"";
    position:absolute;
    top:0; bottom:0;
    right:0;
    width: 8px;
    background: var(--brand-yellow);
}
body.en-lang .t-card::before{ right:auto; left:0; }
.t-top{
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
.t-name{ font-weight: 900; font-size: 1.18rem; color: var(--ink); }
.t-meta{ opacity:.78; font-weight: 800; font-size:.95rem; margin-top: 4px; }
.t-stars{ display:flex; gap:4px; color: var(--brand-yellow); font-size: 1.05rem; flex: 0 0 auto; }
.t-quote{ color: rgba(0,0,0,0.78); font-size: 1.05rem; line-height: 1.95; }
.t-badge{
    position:absolute;
    top:18px;
    left:18px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(255,242,0,0.16);
    border: 1px solid rgba(255,242,0,0.35);
    display:flex;
    align-items:center;
    justify-content:center;
    color: #111;
}


#team{ background: rgba(154,154,154,0.10); }
.team-grid{
    margin-top: 55px;
    display:grid;
    grid-template-columns: repeat(3, minmax(260px, 1fr));
    gap: 24px;
    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::before{
    content:"";
    position:absolute;
    top:0; bottom:0;
    right:0;
    width: 8px;
    background: var(--brand-yellow);
}
body.en-lang .team-card::before{ right:auto; left:0; }
.team-card:hover{
    transform: translateY(-10px);
    box-shadow: 0 25px 55px rgba(0,0,0,0.16);
}
.team-top{ display:flex; align-items:center; gap: 16px; margin-bottom: 14px; }
.team-avatar{
    width: 98px;
    height: 98px;
    border-radius: 22px;
    overflow:hidden;
    flex: 0 0 98px;
    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.30rem; font-weight: 900; color: var(--ink); margin-bottom: 6px; }
.team-role{ font-size: 1rem; font-weight: 900; opacity: .82; }
.team-desc{ color: rgba(0,0,0,0.78); font-size: 1.05rem; line-height: 1.95; margin-top: 10px; }
.team-phones{
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed rgba(0,0,0,0.14);
    display:flex;
    flex-direction:column;
    gap: 8px;
}
.team-phone-row{
    display:flex;
    align-items:center;
    gap: 10px;
    flex-wrap: wrap;
    font-weight: 900;
    color: var(--ink);
}
.team-phone-row i{ width:18px; text-align:center; opacity:.85; }
.team-phone-row a{ color: var(--ink); text-decoration:none; direction:ltr; }
.team-phone-row a:hover{ text-decoration: underline; }

.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.03);
    color: var(--ink);
    transition: .25s ease;
}
.team-btn:hover{ transform: translateY(-3px); background: rgba(0,0,0,0.05); }
.team-btn.whatsapp{ border-color: rgba(37,211,102,0.35); background: rgba(37,211,102,0.10); }
.team-btn.email{ border-color: rgba(255,242,0,0.40); background: rgba(255,242,0,0.14); }
.team-btn.call{ border-color: rgba(0,0,0,0.18); background: rgba(0,0,0,0.04); }


#contact{
    background: linear-gradient(135deg, #2b2b2b 0%, #3a3a3a 55%, #2b2b2b 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;
    position:relative;
    overflow:hidden;
}
#contact::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(900px 520px at 15% 20%, rgba(255,242,0,0.14), transparent 60%),
        radial-gradient(900px 520px at 85% 70%, rgba(154,154,154,0.14), transparent 65%);
    pointer-events:none;
}
.contact-col{ position:relative; z-index:1; }
.contact-col h3{
    color: var(--brand-yellow);
    margin-bottom: 18px;
    font-size: 1.8rem;
    position:relative;
    padding-bottom: 10px;
    font-weight: 900;
}
.contact-col h3::after{
    content:'';
    position:absolute;
    bottom:0;
    right:0;
    width: 60px;
    height: 3px;
    background: rgba(255,242,0,0.90);
    border-radius: 2px;
}
body.en-lang .contact-col h3::after{ right:auto; left:0; }

.contact-col p{ margin-bottom: 10px; font-size: 1.1rem; opacity: .90; line-height: 1.9; }
.contact-col a{ color:#fff; text-decoration:none; font-weight:900; transition: color .25s ease; }
.contact-col a:hover{ color: var(--brand-yellow); }

.contact-badge{
    display:inline-block;
    margin-bottom: 14px;
    color:#111;
    background: var(--brand-yellow);
    border: 1px solid rgba(255,242,0,0.55);
    padding: 10px 15px;
    border-radius: 14px;
    font-weight: 900;
    font-size: 1rem;
}

.social-links{ display:flex; flex-wrap:wrap; gap: 12px; margin-top: 18px; }
.social-link{
    display:flex;
    align-items:center;
    justify-content:center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.20);
    color:#fff;
    font-size: 1.2rem;
    transition: all .28s ease;
    text-decoration:none;
}
.social-link:hover{
    transform: translateY(-6px);
    background: rgba(255,242,0,0.20);
    border-color: rgba(255,242,0,0.35);
    color: var(--brand-yellow);
    box-shadow: 0 10px 18px rgba(0,0,0,0.20);
}

.gov-logos{ display:flex; flex-direction:column; gap:16px; margin-top: 16px; }
.gov-cell{
    width:100%;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 18px;
    padding: 18px 16px;
    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.05rem; opacity: 0.92; margin-bottom: 6px; line-height: 1.4; }
.gov-value{
    font-size: 1.18rem;
    font-weight: 900;
    direction:ltr;
    text-align:right;
    word-break: break-all;
    line-height: 1.25;
}
.gov-icon{
    width: 60px;
    height: 60px;
    border-radius: 14px;
    background: rgba(255,242,0,0.18);
    border: 1px solid rgba(255,242,0,0.30);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    flex: 0 0 60px;
}
.gov-icon img{ width:100%; height:100%; object-fit: contain; display:block; background: #fff; }
.gov-divider{ width:100%; height:1px; background: rgba(255,255,255,0.18); margin: 10px 0 2px; }
.gov-verified{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap: 12px;
    color:#fff;
    font-weight: 900;
    font-size: 1.2rem;
    padding: 10px 12px;
    opacity: .95;
}
.gov-verified .gov-icon{ width: 64px; height: 64px; flex: 0 0 64px; }

.floating-actions{
    position:fixed;
    bottom: 40px;
    left: 40px;
    z-index:1000;
    display:flex;
    flex-direction:column;
    gap: 14px;
}
body.en-lang .floating-actions{ left:auto; right:40px; }

.float-btn{
    width: 65px;
    height: 65px;
    border-radius: 50%;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow: 0 10px 25px rgba(0,0,0,0.22);
    transition: .28s;
    border: 1px solid rgba(255,255,255,0.10);
}
.float-btn:hover{ transform: translateY(-10px); }
.float-whatsapp{ background:#25D366; }
.float-call{ background: var(--brand-yellow); }
.float-call svg{ fill:#111; }

footer{
    background: #1f1f1f;
    color: rgba(255,255,255,0.72);
    text-align:center;
    padding: 24px;
}

@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)); }
    nav ul{ gap:18px; }
    .brand-name, .brand-tag{ max-width: 260px; }
}
@media (max-width: 900px){
    .team-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 820px){
    nav{ display:none; }
    .menu-btn{ display:inline-flex; }
    .brand-name, .brand-tag{ max-width: 220px; }
    .hero h1{ font-size: 2.15rem; }
}
@media (max-width: 768px){
    header{ padding: 12px 5%; }
    .brand-logo{ width: 50px; height: 50px; border-radius: 15px; flex-basis: 50px; }


    .brand-name, .brand-tag {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        max-width: none;
    }
    .brand-name { font-size: 0.95rem; }
    .brand-tag { font-size: 0.8rem; }
    .brand-text { flex: 1; min-width: 0; }

    .floating-actions{ left:18px; bottom: 18px; }
    body.en-lang .floating-actions{ right:18px; }

    .hero-prev{ right: 10px; }
    .hero-next{ left: 10px; }

    .stats-grid{ grid-template-columns: 1fr; }
    .stat-number{ font-size: 52px; }

    .hero{ padding-top: 74px; }
    .mobile-menu{ top: 74px; }
}

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; }