/* ===========================
   GOOGLE FONTS
=========================== */


/* ===========================
   CSS RESET
=========================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
/* ===========================
   ROOT VARIABLES
=========================== */

:root {

    --primary-color: #D4AF37;
    --primary-hover: #B8860B;

    --black: #0D0D0D;
    --dark: #1A1A1A;

    --white: #FFFFFF;

    --container-width: 1200px;

    --transition: all 0.3s ease;

}
/* ===========================
   BODY
=========================== */

body{

    background: var(--black);

    color: var(--white);

    font-family: 'Poppins', sans-serif;

    overflow-x:clip;

}

html{ scroll-behavior:smooth; }
section[id], footer[id]{ scroll-margin-top:100px; }

:focus-visible{ outline:2px solid #D4AF37; outline-offset:3px; }

/* ===========================
   LINKS
=========================== */

a{
    text-decoration: none;
    color: inherit;
}

/* ===========================
   LISTS
=========================== */

ul{
    list-style: none;
}

/* ===========================
   HEADER
=========================== */
.header{

    width:100%;

    padding:20px 0;

    position:fixed;

    top:0;

    left:0;

    z-index:3000;

    transition:all .4s ease;

}

.header.scrolled{

    background:rgba(0,0,0,.90);

    backdrop-filter:blur(10px);

    border-bottom:1px solid rgba(255,255,255,.08);

}

/* ===========================
   NAVBAR
=========================== */

nav{

    max-width:1200px;

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

}
/* ===========================
   LOGO
=========================== */

.logo{

    display:flex;

    align-items:center;

    gap:12px;

}.logo img{

    width:50px;

}.logo span{

    font-size:22px;

    font-weight:700;

}
/* ===========================
   NAV LINKS
=========================== */

.nav-links{

    display:flex;

    gap:35px;

}.nav-links a{

    font-size:16px;

    font-weight:500;

    transition:var(--transition);

}.nav-links a:hover{

    color:var(--primary-color);

}
.nav-links a.is-active{ color:var(--primary-color); }
/* ===========================
   NAV BUTTON
=========================== */

.btn-primary{

    background: var(--primary-color);

    color: var(--black);

    padding: 12px 24px;

    border-radius: 50px;

    font-weight: 600;

    transition: var(--transition);

}
.btn-primary:hover{

    background: var(--primary-hover);

}
header{

    width:100%;

    padding:20px 0;

    border-bottom:1px solid rgba(255,255,255,0.08);

}

nav{

    max-width:1200px;

    margin:auto;

    padding:0 20px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}
/* ===========================
   HERO SECTION
=========================== */

.hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    padding:150px 80px 100px;
    position:relative;
    overflow:hidden;
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(8,8,8,.96) 0%, rgba(8,8,8,.82) 42%, rgba(8,8,8,.38) 100%);
    z-index:1;
}
.hero::after{ content:""; position:absolute; z-index:1; width:48vw; height:48vw; right:-16vw; bottom:-28vw; border:1px solid rgba(212,175,55,.25); border-radius:50%; box-shadow:0 0 0 45px rgba(212,175,55,.035), 0 0 0 90px rgba(212,175,55,.025); pointer-events:none; }

.hero-content{
    max-width:760px;
    position:relative;
    z-index:2;
    padding:46px 50px;
    border:1px solid rgba(212,175,55,.23);
    border-radius:22px;
    background:linear-gradient(135deg, rgba(23,23,23,.78), rgba(13,13,13,.42));
    box-shadow:0 24px 65px rgba(0,0,0,.38);
    backdrop-filter:blur(12px);
    animation:heroReveal .8s ease both;
}


.hero-subtitle{
    color:var(--primary-color);
    display:flex;
    align-items:center;
    gap:12px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:22px;
}
.hero-subtitle::before{ content:""; width:34px; height:1px; background:#D4AF37; }
.hero h1{
    font-family:'Playfair Display', serif;
    max-width:690px;
    font-size:clamp(52px, 5.4vw, 78px);
    font-weight:700;
    line-height:1.04;
    letter-spacing:-.035em;
    margin-bottom:27px;
}

.hero h1 span{

    color:var(--primary-color);

}


.hero-description{
    font-size:18px;
    line-height:1.8;
    color:#dedede;
    max-width:570px;
    margin-bottom:34px;
}

.hero-buttons{
    display:flex;
    gap:14px;
    align-items:center;
    flex-wrap:wrap;
}
.hero{
    justify-content:flex-start;
    background:url("../images/hero-bg.jpg");
    background-size:cover;
    background-position:center 35%;
    background-repeat:no-repeat;
}

/* ===========================
   SECONDARY BUTTON
=========================== */

.hero .btn-primary, .hero .btn-secondary{ padding:15px 25px; border-radius:7px; font-size:13px; font-weight:700; letter-spacing:.04em; transition:transform .3s ease, box-shadow .3s ease, background-color .3s ease, color .3s ease; }
.hero .btn-primary{ background:#D4AF37; color:#0D0D0D; border:1px solid #D4AF37; box-shadow:0 10px 24px rgba(212,175,55,.2); }
.hero .btn-primary:hover{ background:#f1cf62; transform:translateY(-3px); box-shadow:0 15px 30px rgba(212,175,55,.35); }
.hero .btn-secondary{ border:1px solid rgba(212,175,55,.7); background:rgba(255,255,255,.04); color:#fff; }
.hero .btn-secondary:hover{ background:rgba(212,175,55,.15); border-color:#D4AF37; color:#D4AF37; transform:translateY(-3px); }
header.scrolled{
    background: rgba(0,0,0,0.95);
    backdrop-filter: blur(12px);
    transition: 0.3s;
}
    /* ===========================
   FEATURES
=========================== */

.features{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    padding:88px max(40px, calc((100% - 1200px) / 2));
    background:#111;
}

.feature{
    display:flex;
    min-height:245px;
    padding:34px 28px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid #D4AF37;
    border-radius:18px;
    background:linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.025));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 14px 30px rgba(0,0,0,.24);
    backdrop-filter:blur(14px);
    text-align:center;
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
}

.feature:hover{
    transform:translateY(-9px);
    border-color:#f1cf62;
    background:linear-gradient(145deg, rgba(212,175,55,.16), rgba(255,255,255,.05));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 20px 42px rgba(0,0,0,.34), 0 0 28px rgba(212,175,55,.24);
}

.feature .stat-icon{
    display:grid;
    width:52px;
    height:52px;
    margin-bottom:19px;
    place-items:center;
    border:1px solid rgba(212,175,55,.65);
    border-radius:50%;
    background:rgba(212,175,55,.09);
    color:#D4AF37;
    font-size:21px;
    box-shadow:0 0 18px rgba(212,175,55,.14);
}

.feature h3{
    color:#D4AF37;
    font-family:'Playfair Display', serif;
    font-size:clamp(48px, 4vw, 62px);
    line-height:1;
    text-shadow:0 2px 18px rgba(212,175,55,.23);
}

.feature p{
    margin-top:13px;
    color:#fff;
    font-size:12px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
}

@media (max-width: 992px){
    .features{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:16px;
        padding:68px 30px;
    }

    .feature{
        min-height:220px;
        padding:28px 18px;
    }
}

@media (max-width: 640px){
    .features{
        grid-template-columns:1fr;
        gap:16px;
        padding:58px 20px;
    }

    .feature{
        min-height:205px;
    }
}
.hero-stats{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; flex-basis:100%; width:100%; margin-top:34px; }
.hero-stats .stat{ padding:17px 18px; border:1px solid rgba(255,255,255,.1); border-radius:11px; background:rgba(255,255,255,.045); transition:background-color .3s ease, border-color .3s ease, transform .3s ease; }
.hero-stats .stat:hover{ border-color:rgba(212,175,55,.5); background:rgba(212,175,55,.08); transform:translateY(-3px); }
.hero-stats .stat h3{ color:#D4AF37; font-family:'Playfair Display', serif; font-size:31px; line-height:1; margin-bottom:7px; }
.hero-stats .stat p{ color:#dedede; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }

@keyframes heroReveal{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:translateY(0); } }
.features-strip{
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    width:100%;
    padding:22px 0;
    background:#0B0B0B;
    border-top:1px solid rgba(212,175,55,.2);
    border-bottom:1px solid rgba(212,175,55,.2);
}

.marquee-track{ display:flex; align-items:center; width:max-content; animation:servicesMarquee 28s linear infinite; will-change:transform; }
.features-strip:hover .marquee-track{ animation-play-state:paused; }
.marquee-group{ display:flex; flex:0 0 auto; align-items:center; gap:32px; padding-right:32px; }
.feature-item{ display:flex; align-items:center; flex:0 0 auto; gap:11px; min-width:max-content; padding:11px 22px; border:1px solid rgba(212,175,55,.32); border-radius:999px; background:rgba(255,255,255,.025); color:#f1f1f1; font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; transition:background-color .25s ease, border-color .25s ease, color .25s ease; }
.feature-item i{ color:#D4AF37; font-size:16px; }
.feature-item:hover{ border-color:rgba(212,175,55,.55); background:rgba(212,175,55,.09); color:#fff; }
@keyframes servicesMarquee{ from{ transform:translate3d(0, 0, 0); } to{ transform:translate3d(-50%, 0, 0); } }
/* ===========================
   PREMIUM PACKAGE BANNERS
=========================== */

.packages{ padding:100px 80px; background:#0D0D0D; }
.packages .section-title{ margin-bottom:52px; text-align:center; }
.packages .section-title h2{ color:#fff; font-size:48px; }
.packages .section-title p{ margin-top:15px; color:#b9b9b9; }

.package-grid{ display:grid; gap:30px; max-width:1200px; margin:0 auto; }

.package-banner{
    display:grid;
    grid-template-columns:38% minmax(250px, 1fr) 175px 170px;
    align-items:center;
    min-height:272px;
    overflow:hidden;
    background:#171717;
    border:1px solid rgba(212,175,55,.35);
    border-radius:18px;
    transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.package-banner:hover{ transform:translateY(-5px); border-color:#D4AF37; box-shadow:0 18px 42px rgba(0,0,0,.38), 0 8px 28px rgba(212,175,55,.12); }
.package-image{ position:relative; align-self:stretch; overflow:hidden; }
.package-image::after{ position:absolute; inset:0; content:""; background:linear-gradient(90deg, rgba(13,13,13,.08) 20%, rgba(13,13,13,.82) 100%), linear-gradient(0deg, rgba(0,0,0,.3), transparent 55%); }
.package-image img{ display:block; width:100%; height:100%; min-height:272px; object-fit:cover; transition:transform .65s ease; }
.package-banner:hover .package-image img{ transform:scale(1.06); }

.package-badge{ position:absolute; z-index:1; top:22px; left:22px; padding:8px 15px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:#D4AF37; color:#0D0D0D; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.package-content{ padding:42px 44px; }
.package-kicker{ color:#D4AF37; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.package-content h3{ margin-top:10px; color:#fff; font-family:Georgia, 'Times New Roman', serif; font-size:42px; font-weight:600; line-height:1.08; letter-spacing:-.02em; }
.package-divider{ display:block; width:68px; height:1px; margin:23px 0; background:linear-gradient(90deg, #D4AF37, rgba(212,175,55,.15)); }
.package-features{ display:grid; grid-template-columns:repeat(2, max-content); gap:17px 30px; color:#fff; font-size:14px; font-weight:500; letter-spacing:.02em; }
.package-features li{ display:flex; align-items:center; gap:11px; }
.package-features li i{ display:grid; width:25px; height:25px; place-items:center; color:#D4AF37; font-size:16px; line-height:1; }

.package-price{ padding:32px 24px; border-left:1px solid rgba(212,175,55,.25); }
.package-price span{ display:block; color:#aaa; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.package-price strong{ display:block; margin-top:9px; color:#D4AF37; font-size:28px; white-space:nowrap; }
.package-button{ justify-self:center; padding:14px 21px; border:1px solid #D4AF37; border-radius:8px; background:#D4AF37; color:#0D0D0D; font-size:13px; font-weight:700; letter-spacing:.03em; box-shadow:0 8px 20px rgba(212,175,55,.18); transition:background-color .3s ease, color .3s ease, box-shadow .3s ease, transform .3s ease; }
.package-button span{ display:inline-block; margin-left:5px; transition:transform .3s ease; }
.package-button:hover{ background:#f0cf62; color:#0D0D0D; box-shadow:0 12px 26px rgba(212,175,55,.35); transform:translateY(-3px); }
.package-button:hover span{ transform:translateX(3px); }
/* ===========================
   WHY CHOOSE US
=========================== */

.why-us{
    position:relative;
    padding:110px 80px;
    overflow:hidden;
    background:radial-gradient(circle at 8% 16%, rgba(212,175,55,.1), transparent 26%), #0D0D0D;
}
.why-us::before{ position:absolute; inset:26px; content:""; border:1px solid rgba(212,175,55,.09); border-radius:28px; pointer-events:none; }
.why-us .section-title{ position:relative; z-index:1; max-width:680px; margin:0 auto 55px; text-align:center; }
.why-us .section-title h2{ color:#fff; font-family:'Playfair Display', serif; font-size:clamp(35px, 4vw, 52px); line-height:1.12; letter-spacing:-.025em; }
.why-us .section-title h2::after{ display:block; width:64px; height:1px; margin:20px auto 0; content:""; background:linear-gradient(90deg, transparent, #D4AF37, transparent); }
.why-us .section-title p{ margin-top:19px; color:#c9c9c9; font-size:16px; line-height:1.8; }

.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    position:relative;
    z-index:1;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    grid-auto-rows:1fr;
    gap:24px;
    max-width:1200px;
    margin:0 auto;
}

.why-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    height:100%;
    padding:40px 30px 35px;
    text-align:center;
    border:1px solid rgba(212,175,55,.22);
    border-radius:20px;
    background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    box-shadow:0 14px 36px rgba(0,0,0,.2);
    backdrop-filter:blur(12px);
    transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease, background-color .35s ease;
}

.why-card:hover{
    transform:translateY(-9px);
    border-color:#D4AF37;
    background:linear-gradient(145deg, rgba(212,175,55,.16), rgba(255,255,255,.04));
    box-shadow:0 21px 45px rgba(0,0,0,.35), 0 9px 30px rgba(212,175,55,.15);
}

.why-icon{
    display:grid;
    width:74px;
    height:74px;
    margin-bottom:27px;
    place-items:center;
    border:1px solid rgba(212,175,55,.48);
    border-radius:50%;
    background:rgba(212,175,55,.08);
    box-shadow:inset 0 0 18px rgba(212,175,55,.08);
    color:#D4AF37;
    font-size:0;
    transition:transform .35s ease, background-color .35s ease, box-shadow .35s ease;
}
.why-icon::before{ font-family:"Font Awesome 6 Free"; font-size:31px; font-weight:900; }
.why-card:nth-child(1) .why-icon::before{ content:"\f5ab"; }
.why-card:nth-child(2) .why-icon::before{ content:"\f594"; }
.why-card:nth-child(3) .why-icon::before{ content:"\f5b0"; }
.why-card:nth-child(4) .why-icon::before{ content:"\f207"; }
.why-card:nth-child(5) .why-icon::before{ content:"\f590"; }
.why-card:nth-child(6) .why-icon::before{ content:"\f2b5"; }
.why-card:hover .why-icon{ background:rgba(212,175,55,.16); box-shadow:inset 0 0 20px rgba(212,175,55,.12), 0 0 22px rgba(212,175,55,.13); transform:scale(1.07); }

.why-card h3{
    color:#fff;
    font-family:'Playfair Display', serif;
    font-size:23px;
    font-weight:700;
    line-height:1.25;
    margin-bottom:13px;
}

.why-card p{
    max-width:255px;
    color:#c7c7c7;
    font-size:14px;
    line-height:1.8;
}/* ===========================
   TESTIMONIALS
=========================== */

.testimonials{
    position:relative;
    padding:110px 80px;
    overflow:hidden;
    background:radial-gradient(circle at 88% 15%, rgba(212,175,55,.1), transparent 24%), #0D0D0D;
}
.testimonials .section-title{ position:relative; z-index:1; max-width:650px; margin:0 auto 55px; text-align:center; }
.testimonials .section-title h2{ color:#fff; font-family:'Playfair Display', serif; font-size:clamp(35px, 4vw, 52px); line-height:1.12; letter-spacing:-.025em; }
.testimonials .section-title h2::after{ display:block; width:64px; height:1px; margin:20px auto 0; content:""; background:linear-gradient(90deg, transparent, #D4AF37, transparent); }
.testimonials .section-title p{ margin-top:19px; color:#c9c9c9; font-size:16px; line-height:1.8; }

.testimonial-grid{
    position:relative;
    z-index:1;
    overflow:hidden;
    width:100%;
    margin:0 auto;
}

.testimonial-track{ display:flex; width:max-content; will-change:transform; animation:testimonialsMarquee 85s linear infinite; }
.testimonial-group{ display:flex; align-items:stretch; gap:24px; padding-right:24px; }
.testimonial-grid:hover .testimonial-track,.testimonial-grid:focus-within .testimonial-track{ animation-play-state:paused; }
@keyframes testimonialsMarquee{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-50%,0,0); } }

.testimonial-card{
    display:flex;
    flex-direction:column;
    flex:0 0 min(340px, calc(100vw - 48px));
    min-height:305px;
    padding:33px;
    border:1px solid rgba(212,175,55,.25);
    border-radius:20px;
    background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    box-shadow:0 14px 36px rgba(0,0,0,.2);
    backdrop-filter:blur(12px);
    transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease, background-color .35s ease;
}

.testimonial-card:hover{
    transform:translateY(-9px);
    border-color:#D4AF37;
    background:linear-gradient(145deg, rgba(212,175,55,.14), rgba(255,255,255,.04));
    box-shadow:0 22px 46px rgba(0,0,0,.34), 0 8px 27px rgba(212,175,55,.14);
}

.testimonial-card p{
    margin-top:20px;
    color:#d1d1d1;
    font-size:15px;
    font-style:italic;
    line-height:1.85;
}

.testimonial-person{ display:flex; align-items:center; gap:14px; }
.testimonial-avatar{ display:grid; flex:0 0 58px; width:58px; height:58px; place-items:center; border:1px solid rgba(212,175,55,.55); border-radius:50%; background:linear-gradient(145deg, #D4AF37, #8f6e15); color:#0D0D0D; font-family:'Playfair Display', serif; font-size:18px; font-weight:800; }
.testimonial-person h3{ color:#fff; font-family:'Playfair Display', serif; font-size:20px; line-height:1.25; }
.testimonial-person span{ display:block; margin-top:4px; color:#c4c4c4; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.testimonial-stars{ display:flex; gap:5px; margin-top:27px; color:#D4AF37; font-size:14px; }
/* ===========================
   GALLERY
=========================== */

.gallery{
    padding:100px 80px;
    overflow:hidden;
    background:radial-gradient(circle at 90% 15%, rgba(212,175,55,.08), transparent 25%), #111;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
    max-width:1240px;
    margin:54px auto 0;
}

.gallery-item{
    position:relative;
    aspect-ratio:16 / 10;
    display:block;
    overflow:hidden;
    padding:14px;
    border:1px solid rgba(212,175,55,.28);
    border-radius:18px;
    background:linear-gradient(145deg, #151515, #060606);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045), 0 12px 28px rgba(0,0,0,.24);
    cursor:pointer;
    isolation:isolate;
    transition:transform .4s ease, border-color .4s ease, box-shadow .4s ease;
}

.gallery-item--tall,
.gallery-item--wide{ grid-column:auto; grid-row:auto; }

.gallery-item img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    transition:filter .4s ease;
}

.gallery-item__overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    padding:24px;
    background:linear-gradient(180deg, rgba(0,0,0,0) 38%, rgba(0,0,0,.88) 100%);
    color:#fff;
    font-family:'Playfair Display', serif;
    font-size:22px;
    font-weight:700;
    opacity:0;
    transition:opacity .35s ease;
}

.gallery-item__overlay i{
    display:grid;
    width:39px;
    height:39px;
    flex:0 0 39px;
    place-items:center;
    border:1px solid rgba(212,175,55,.75);
    border-radius:50%;
    background:rgba(13,13,13,.55);
    color:#D4AF37;
    font-size:15px;
}

.gallery-item:hover,
.gallery-item:focus-visible{
    z-index:1;
    border-color:#D4AF37;
    box-shadow:0 18px 38px rgba(0,0,0,.38), 0 0 28px rgba(212,175,55,.18);
    transform:translateY(-5px);
    outline:none;
}

.gallery-item:hover img,
.gallery-item:focus-visible img{ filter:brightness(1.08); }
.gallery-item:hover .gallery-item__overlay,
.gallery-item:focus-visible .gallery-item__overlay{ opacity:1; }

.gallery-lightbox{
    position:fixed;
    z-index:5000;
    inset:0;
    display:grid;
    place-items:center;
    padding:32px;
    background:rgba(0,0,0,.9);
    backdrop-filter:blur(10px);
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease, visibility .3s ease;
}

.gallery-lightbox.is-open{ opacity:1; visibility:visible; }
.gallery-lightbox__content{ position:relative; max-width:min(1100px, 100%); max-height:calc(100vh - 64px); margin:0; }
.gallery-lightbox__content img{ display:block; max-width:100%; max-height:calc(100vh - 120px); border:1px solid rgba(212,175,55,.55); border-radius:18px; box-shadow:0 25px 70px rgba(0,0,0,.65); object-fit:contain; }
.gallery-lightbox__content figcaption{ margin-top:14px; color:#fff; font-family:'Playfair Display', serif; font-size:20px; text-align:center; }
.gallery-lightbox__close{ position:absolute; top:24px; right:24px; display:grid; width:46px; height:46px; place-items:center; border:1px solid rgba(212,175,55,.6); border-radius:50%; background:rgba(13,13,13,.82); color:#D4AF37; cursor:pointer; font-size:20px; transition:background-color .25s ease, transform .25s ease; }
.gallery-lightbox__close:hover{ background:#D4AF37; color:#0D0D0D; transform:rotate(90deg); }
body.gallery-lightbox-open{ overflow:hidden; }

@media (max-width:900px){
    .gallery{ padding:80px 30px; }
    .gallery-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
}

@media (max-width:640px){
    .gallery{ padding:64px 20px; }
    .gallery-grid{ grid-template-columns:1fr; gap:14px; margin-top:38px; }
    .gallery-item,
    .gallery-item--tall,
    .gallery-item--wide{ grid-column:auto; grid-row:auto; }
    .gallery-item__overlay{ padding:18px; font-size:19px; opacity:1; }
    .gallery-lightbox{ padding:20px; }
    .gallery-lightbox__close{ top:15px; right:15px; }
}
/* ===========================
        FAQ
=========================== */

.faq{

    padding:100px 80px;

    background:#111;

}

.faq-container{

    max-width:900px;

    margin:60px auto 0;

}

.faq details{

    background:#1a1a1a;

    margin-bottom:18px;

    border-radius:12px;

    overflow:hidden;

}

.faq summary{

    padding:22px;

    cursor:pointer;

    font-size:18px;

    font-weight:600;

}

.faq p{

    padding:0 22px 22px;

    color:#cccccc;

    line-height:1.8;

}
/* Premium FAQ accordion */
.faq{ background:radial-gradient(circle at 10% 12%, rgba(212,175,55,.08), transparent 24%), #111; }
.faq-container{ display:grid; gap:16px; max-width:960px; margin:55px auto 0; }
.faq-item{ overflow:hidden; border:1px solid rgba(212,175,55,.28); border-radius:18px; background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 12px 30px rgba(0,0,0,.2); backdrop-filter:blur(12px); transition:border-color .3s ease, box-shadow .3s ease, background-color .3s ease; }
.faq-item.is-open{ border-color:rgba(212,175,55,.7); background:linear-gradient(145deg, rgba(212,175,55,.13), rgba(255,255,255,.04)); box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 17px 36px rgba(0,0,0,.28), 0 0 25px rgba(212,175,55,.1); }
.faq-question{ display:flex; width:100%; align-items:center; justify-content:space-between; gap:24px; padding:25px 28px; border:0; background:transparent; color:#fff; cursor:pointer; font-family:'Playfair Display', serif; font-size:20px; font-weight:700; line-height:1.35; text-align:left; }
.faq-question:focus-visible{ outline:2px solid #D4AF37; outline-offset:-4px; }
.faq-toggle-symbol{ display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border:1px solid rgba(212,175,55,.55); border-radius:50%; color:#D4AF37; font-family:Poppins, sans-serif; font-size:24px; font-weight:400; line-height:1; transition:background-color .3s ease, color .3s ease, transform .3s ease; }
.faq-item.is-open .faq-toggle-symbol{ background:#D4AF37; color:#0D0D0D; transform:rotate(180deg); }
.faq-answer{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s ease; }
.faq-item.is-open .faq-answer{ grid-template-rows:1fr; }
.faq-answer > div{ overflow:hidden; }
.faq-answer p{ margin:0; padding:0 28px 27px; color:#d5d5d5; font-size:15px; line-height:1.8; }

@media (max-width:640px){
    .faq{ padding:70px 20px; }
    .faq-container{ gap:13px; margin-top:38px; }
    .faq-question{ gap:16px; padding:21px 19px; font-size:17px; }
    .faq-toggle-symbol{ width:31px; height:31px; flex-basis:31px; font-size:21px; }
    .faq-answer p{ padding:0 19px 22px; font-size:14px; }
}

/* ===========================
        FOOTER
=========================== */

.footer{

    background:#0b0b0b;

    padding:80px 80px 20px;

    border-top:1px solid rgba(255,255,255,.08);

}

.footer-container{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    gap:60px;

}

.footer-about img{

    width:70px;

    margin-bottom:15px;

}

.footer-about h3{

    margin-bottom:15px;

}

.footer-about p{

    color:#bfbfbf;

    line-height:1.8;

    max-width:350px;

}

.footer-links h4,

.footer-contact h4{

    margin-bottom:20px;

}

.footer-links{

    display:flex;

    flex-direction:column;

    gap:12px;

}

.footer-links a{

    color:#bfbfbf;

    transition:.3s;

}

.footer-links a:hover{

    color:var(--primary-color);

}

.footer-contact p{

    margin-bottom:12px;

    color:#bfbfbf;

}

.copyright{

    margin-top:60px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;

    color:#888;

}
/* Premium footer */
.footer{ position:relative; overflow:hidden; padding:92px max(40px, calc((100% - 1240px) / 2)) 24px; border-top:1px solid rgba(212,175,55,.26); background:radial-gradient(circle at 10% 15%, rgba(212,175,55,.11), transparent 24%), #090909; }
.footer::before{ position:absolute; inset:20px; content:""; border:1px solid rgba(212,175,55,.09); border-radius:26px; pointer-events:none; }
.footer-container{ position:relative; z-index:1; display:grid; grid-template-columns:1.45fr .85fr .95fr 1.35fr; gap:24px; }
.footer-about,.footer-links,.footer-services,.footer-contact{ min-width:0; padding:28px; border:1px solid rgba(212,175,55,.18); border-radius:20px; background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 14px 32px rgba(0,0,0,.22); backdrop-filter:blur(12px); }
.footer-about img{ width:64px; height:64px; margin:0 0 18px; border:1px solid rgba(212,175,55,.55); border-radius:50%; object-fit:cover; box-shadow:0 0 20px rgba(212,175,55,.12); }
.footer-kicker{ margin:0 0 8px; color:#D4AF37; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.footer-about h3{ margin:0 0 15px; color:#fff; font-family:'Playfair Display', serif; font-size:25px; line-height:1.22; }
.footer-about > p:not(.footer-kicker){ margin:0; color:#c9c9c9; font-size:14px; line-height:1.8; }
.footer-since{ display:inline-flex; align-items:center; gap:9px; margin-top:21px; color:#D4AF37; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.footer-links,.footer-services{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-links h4,.footer-services h4,.footer-contact h4{ margin:0 0 7px; color:#fff; font-family:'Playfair Display', serif; font-size:19px; }
.footer-links a,.footer-services a{ position:relative; color:#c7c7c7; font-size:14px; transition:color .25s ease, transform .25s ease; }
.footer-links a::before,.footer-services a::before{ content:""; display:inline-block; width:0; height:1px; margin:0 0 4px; background:#D4AF37; transition:width .25s ease, margin .25s ease; }
.footer-links a:hover,.footer-services a:hover{ color:#D4AF37; transform:translateX(4px); }
.footer-links a:hover::before,.footer-services a:hover::before{ width:12px; margin-right:7px; }
.footer-contact{ display:flex; flex-direction:column; gap:14px; }
.footer-contact a,.footer-contact p{ display:flex; align-items:flex-start; gap:10px; margin:0; color:#c7c7c7; font-size:13px; line-height:1.55; }
.footer-contact i{ width:16px; margin-top:3px; color:#D4AF37; text-align:center; }
.footer-contact a:hover{ color:#D4AF37; }
.footer-bottom{ position:relative; z-index:1; display:flex; align-items:center; gap:22px; margin-top:25px; padding:22px 6px 0; border-top:1px solid rgba(212,175,55,.2); color:#9d9d9d; font-size:12px; }
.footer-bottom p{ margin:0; }
.footer-bottom p:nth-child(2){ margin-left:auto; }
.footer-bottom p span{ color:#D4AF37; }
.footer-socials{ display:flex; gap:9px; }
.footer-socials a,.footer-scroll-top{ display:grid; width:35px; height:35px; place-items:center; border:1px solid rgba(212,175,55,.38); border-radius:50%; background:rgba(255,255,255,.035); color:#D4AF37; cursor:pointer; transition:transform .25s ease, background-color .25s ease, color .25s ease, box-shadow .25s ease; }
.footer-socials a:hover,.footer-scroll-top:hover{ background:#D4AF37; color:#0D0D0D; box-shadow:0 0 18px rgba(212,175,55,.28); transform:translateY(-3px); }
.footer-scroll-top{ margin-left:3px; border:0; }

@media (max-width:1000px){
    .footer{ padding:75px 30px 24px; }
    .footer-container{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width:640px){
    .footer{ padding:64px 20px 20px; }
    .footer::before{ inset:12px; border-radius:20px; }
    .footer-container{ grid-template-columns:1fr; gap:15px; }
    .footer-about,.footer-links,.footer-services,.footer-contact{ padding:24px 20px; text-align:left; }
    .footer-about > p:not(.footer-kicker){ margin:0; }
    .footer-bottom{ flex-wrap:wrap; justify-content:center; gap:14px; padding-top:19px; text-align:center; }
    .footer-bottom p:nth-child(2){ margin-left:0; }
    .footer-socials{ order:3; }
    .footer-scroll-top{ position:absolute; right:0; top:16px; }
}

/* ==========================
   HAMBURGER MENU
========================== */

.menu-toggle{
    display:none;
    width:32px;
    height:24px;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    cursor:pointer;

    position:relative;

    z-index:1001;
}
.menu-toggle span{
    position:absolute;

    width:100%;
    height:3px;

    background:#D4AF37;

    border-radius:10px;

    transition:.3s;
}

.menu-toggle span:nth-child(1){
    top:0;
}

.menu-toggle span:nth-child(2){
    top:10px;
}

.menu-toggle span:nth-child(3){
    top:20px;
}


/* ========================================
   RESPONSIVE DESIGN
======================================== */

/* Laptop */
@media (max-width: 1200px) {

}

/* Tablet */
@media (max-width: 992px) {
    nav{
        padding: 0 30px;
    }

    .nav-links{
        gap:20px;
    }

.hero h1{
    font-size:56px;
}

.hero-description{
    font-size:17px;
}

}

/* Mobile */
@media (max-width: 768px){

    .hero{
        min-height:auto;
        padding:130px 20px 72px;
    }

    .hero-buttons{
        gap:12px;
    }

 .menu-toggle{
    display:block;
    position:fixed;

    top:30px;
    right:25px;

    z-index:4000;
}


   .nav-links{
    position: fixed;
    top: 0;
    right: -100%;

    width: 280px;
    height: 100vh;

    padding-top: 90px;
    padding-left: 30px;

    background:#0d0d0d;

    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;

    gap:30px;

    transition:.4s ease;

    z-index:2000;
}



   .nav-links.active{
    right: 0;
}
.nav-button{
    display:none;
}
.hero-content{
    max-width:100%;
    padding:32px 24px;
    border-radius:17px;
}

.hero h1{
    font-size:clamp(38px, 11vw, 48px);
    line-height:1.08;
}

.hero-description{
    font-size:15px;
    line-height:1.7;
}

.hero-stats{
    grid-template-columns:1fr;
    gap:8px;
    margin-top:26px;
}

.hero-stats .stat{
    padding:14px 16px;
}

.hero-stats .stat h3{
    font-size:27px;
}

.hero-stats .stat p{
    font-size:10px;
}



}



/* ========================= */
/* OVERLAY */
/* ========================= */

.overlay{
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;

    background: rgba(0,0,0,.65);
    backdrop-filter: blur(5px);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition: all .35s ease;

    z-index:1998;
}

.overlay.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;

}


.menu-toggle.active span:nth-child(1){
    transform:rotate(45deg);
    top:10px;
}

.menu-toggle.active span:nth-child(2){
    opacity:0;
}

.menu-toggle.active span:nth-child(3){
    transform:rotate(-45deg);
    top:10px;
}
body.menu-open{
    overflow: hidden;
}
html.menu-open,
body.menu-open{
    overflow: hidden;
    height: 100%;
}
.mobile-logo{
    display:none;
}

@media (max-width:768px){

.mobile-logo{
    display:flex;
    flex-direction:column;
    align-items:center;

    width:100%;

    margin-bottom:40px;
}

.mobile-logo img{
    width:70px;
    border-radius:50%;
    margin-bottom:15px;
}

.mobile-logo__name{
    color:#fff;
    font-size:18px;
    text-align:center;
}
.features-strip{
    padding:17px 0;
}

.feature-item{
    gap:9px;
    padding:10px 17px;
    font-size:11px;
}

.marquee-group{
    gap:20px;
    padding-right:20px;
}
/* ===========================
   PACKAGE BANNERS: TABLET
=========================== */

.packages{ padding:70px 28px; }
.packages .section-title{ margin-bottom:38px; }
.packages .section-title h2{ font-size:38px; }
.package-banner{ grid-template-columns:38% minmax(0, 1fr) 155px; }
.package-button{ grid-column:2 / -1; justify-self:start; margin:0 0 26px 34px; }

@media (max-width:640px){
    .packages{ padding:64px 18px; }
    .packages .section-title h2{ font-size:31px; }
    .package-grid{ gap:18px; }
    .package-banner{ display:flex; flex-direction:column; align-items:stretch; }
    .package-image{ height:235px; min-height:235px; }
    .package-image::after{ background:linear-gradient(0deg, #171717, transparent 55%); }
    .package-image img{ min-height:235px; }
    .package-content{ padding:32px 26px 25px; }
    .package-content h3{ font-size:32px; }
    .package-features{ gap:9px 14px; }
    .package-price{ margin:0 22px; padding:18px 0; border-top:1px solid rgba(212,175,55,.2); border-left:0; }
    .package-button{ align-self:flex-start; margin:0 22px 24px; }
}
/* ===========================
   WHY US MOBILE
=========================== */

.why-us{
    padding:76px 20px;
}

.why-us::before{
    inset:12px;
    border-radius:20px;
}

.why-us .section-title{
    margin-bottom:36px;
}

.why-us .section-title p{
    font-size:14px;
}

.why-grid{
    grid-template-columns:1fr;
    gap:16px;
}

.why-card{
    padding:31px 24px 28px;
}

.why-icon{
    width:64px;
    height:64px;
    margin-bottom:21px;
}

.why-icon::before{
    font-size:27px;
}
/* ===========================
   TESTIMONIAL MOBILE
=========================== */

.testimonials{
    padding:76px 20px;
}

.testimonials .section-title{
    margin-bottom:36px;
}

.testimonials .section-title p{
    font-size:14px;
}

.testimonial-grid{
    grid-template-columns:1fr;
    gap:16px;
}

.testimonial-card{
    padding:28px 24px;
}
/* ===========================
   GALLERY MOBILE
=========================== */

.gallery{
    padding:70px 20px;
}

.gallery-grid{
    grid-template-columns:1fr;
}
/* ===========================
   FAQ MOBILE
=========================== */

.faq{
    padding:70px 20px;
}
/* ===========================
   FOOTER MOBILE
=========================== */

.footer{
    padding:70px 20px 30px;
}

.footer-container{
    grid-template-columns:1fr;
    text-align:center;
}

.footer-about p{
    margin:auto;
}

}

/* Footer responsive overrides */
@media (max-width:768px){
    .footer{ padding:64px 20px 20px; }
    .footer-container{ grid-template-columns:1fr; gap:15px; text-align:left; }
    .footer-about,.footer-links,.footer-services,.footer-contact{ padding:24px 20px; text-align:left; }
    .footer-about p{ margin:0; }
    .footer-bottom{ flex-wrap:wrap; justify-content:center; gap:14px; padding-top:19px; text-align:center; }
    .footer-bottom p:nth-child(2){ margin-left:0; }
    .footer-socials{ order:3; }
    .footer-scroll-top{ position:absolute; top:16px; right:0; }
}

/* Unified premium motion system */
:root{ --motion-ease:cubic-bezier(.22,.72,.18,1); }
.motion-reveal,.scroll-reveal{ opacity:0; transform:translate3d(0,26px,0); transition:opacity .72s var(--motion-ease),transform .72s var(--motion-ease),filter .72s var(--motion-ease); transition-delay:var(--reveal-delay,0ms); will-change:opacity,transform,filter; }
.motion-reveal--left{ transform:translate3d(-30px,0,0); }
.motion-reveal--right{ transform:translate3d(30px,0,0); }
.motion-reveal--fade{ transform:none; }
.motion-reveal--scale,.image-reveal{ transform:scale(.965); }
.motion-reveal--blur{ filter:blur(9px); }
.motion-reveal.is-revealed,.scroll-reveal.is-revealed,.image-reveal.is-revealed{ opacity:1; transform:none; }
.scroll-progress{ position:fixed; z-index:6000; top:0; left:0; width:100%; height:3px; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,#B8860B,#D4AF37,#f1cf62); box-shadow:0 1px 10px rgba(212,175,55,.42); pointer-events:none; will-change:transform; }
.hero-content > *,.about-hero__content > *,.contact-hero__content > *,.packages-hero__content > *{ animation:heroItem .72s var(--motion-ease) both; }
.hero-content > *:nth-child(1),.about-hero__content > *:nth-child(1),.contact-hero__content > *:nth-child(1),.packages-hero__content > *:nth-child(1){ animation-delay:.12s; }
.hero-content > *:nth-child(2),.about-hero__content > *:nth-child(2),.contact-hero__content > *:nth-child(2),.packages-hero__content > *:nth-child(2){ animation-delay:.2s; }
.hero-content > *:nth-child(3),.about-hero__content > *:nth-child(3),.contact-hero__content > *:nth-child(3),.packages-hero__content > *:nth-child(3){ animation-delay:.28s; }
.hero-content > *:nth-child(n+4),.about-hero__content > *:nth-child(n+4),.contact-hero__content > *:nth-child(n+4),.packages-hero__content > *:nth-child(n+4){ animation-delay:.36s; }
@keyframes heroItem{ from{ opacity:0; transform:translate3d(0,18px,0); } to{ opacity:1; transform:none; } }
.btn-primary,.btn-secondary,.package-button,.whatsapp-cta__button,.packages-whatsapp a{ position:relative; overflow:hidden; isolation:isolate; }
.btn-primary::after,.package-button::after,.whatsapp-cta__button::after,.packages-whatsapp a::after{ position:absolute; z-index:0; inset:-1px; content:""; background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.22) 48%,transparent 68%); mix-blend-mode:soft-light; pointer-events:none; transform:translateX(-120%); transition:transform .62s var(--motion-ease); }
.btn-primary:hover::after,.package-button:hover::after,.whatsapp-cta__button:hover::after,.packages-whatsapp a:hover::after{ transform:translateX(120%); }
.button-ripple{ position:absolute; z-index:0; width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.28); mix-blend-mode:soft-light; transform:translate(-50%,-50%) scale(0); pointer-events:none; animation:buttonRipple .62s ease-out forwards; }
@keyframes buttonRipple{ to{ transform:translate(-50%,-50%) scale(24); opacity:0; } }
.gallery-item:hover img,.gallery-item:focus-visible img{ transform:scale(1.045); }
.features-strip:focus-within .marquee-track,.testimonial-grid:focus-within .testimonial-track{ animation-play-state:paused; }
.btn-primary,.btn-secondary,.package-button{ transition:transform .3s ease, scale .3s ease, box-shadow .3s ease, background-color .3s ease, color .3s ease; }
.btn-primary:hover,.btn-secondary:hover,.package-button:hover{ scale:1.03; }
header{ transition:background-color .35s ease, box-shadow .35s ease, backdrop-filter .35s ease; }

/* ===========================
   ABOUT PAGE
=========================== */
.about-page .nav-links a.is-active{ color:#D4AF37; }
.about-page .nav-links a.is-active::after{ display:block; width:5px; height:5px; margin:5px auto 0; border-radius:50%; content:""; background:#D4AF37; }
.about-page .btn-primary{ display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:7px; padding:15px 24px; }
.about-page .eyebrow{ display:flex; align-items:center; gap:11px; color:#D4AF37; font-size:11px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }
.about-page .eyebrow span{ width:31px; height:1px; background:#D4AF37; }
.about-page h1,.about-page h2,.about-page h3{ font-family:'Playfair Display', serif; }
.about-page h1 em,.about-page h2 em{ color:#D4AF37; font-style:normal; }
.about-hero{ position:relative; display:flex; min-height:760px; align-items:center; overflow:hidden; padding:155px max(40px, calc((100% - 1200px) / 2)) 100px; background:linear-gradient(90deg, rgba(8,8,8,.98) 0%, rgba(8,8,8,.85) 48%, rgba(8,8,8,.32) 100%), url('../images/hero-bg.jpg') center/cover; }
.about-hero::before{ position:absolute; inset:0; content:""; background:linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.35)); }
.about-hero__content{ position:relative; z-index:1; max-width:720px; animation:heroReveal .8s ease both; }
.about-hero h1{ margin:20px 0 25px; font-size:clamp(48px, 6vw, 78px); line-height:1.04; letter-spacing:-.04em; }
.about-hero__content > p:not(.eyebrow){ max-width:570px; color:#ddd; font-size:17px; line-height:1.85; }
.about-hero__actions{ display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:35px; }
.text-link,.outline-link{ color:#fff; font-size:13px; font-weight:700; letter-spacing:.04em; transition:color .25s ease; }
.text-link i,.outline-link i{ margin-left:8px; color:#D4AF37; transition:transform .25s ease; }.text-link:hover,.outline-link:hover{ color:#D4AF37; }.text-link:hover i,.outline-link:hover i{ transform:translateX(5px); }
.about-hero__orb{ position:absolute; z-index:1; right:-13vw; bottom:-22vw; width:57vw; height:57vw; border:1px solid rgba(212,175,55,.27); border-radius:50%; box-shadow:0 0 0 48px rgba(212,175,55,.04),0 0 0 96px rgba(212,175,55,.025); }
.about-hero__seal{ position:absolute; z-index:1; right:max(40px, calc((100% - 1200px) / 2)); bottom:85px; display:flex; width:120px; height:120px; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:1px solid rgba(212,175,55,.64); border-radius:50%; background:rgba(13,13,13,.68); color:#D4AF37; text-align:center; backdrop-filter:blur(8px); }.about-hero__seal i{ font-size:24px; }.about-hero__seal span{ font-family:'Playfair Display',serif; font-size:16px; font-weight:700; line-height:1.05; }
.about-story{ display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.92fr); align-items:center; gap:clamp(60px,9vw,135px); max-width:1200px; margin:auto; padding:125px 0; }
.about-story__visual{ position:relative; min-height:530px; }.about-story__visual img{ display:block; width:calc(100% - 35px); height:530px; object-fit:cover; filter:brightness(.79) saturate(.82); }.about-story__frame{ position:absolute; right:0; bottom:-30px; width:75%; height:78%; border:1px solid rgba(212,175,55,.45); pointer-events:none; }.about-story__note{ position:absolute; left:28px; bottom:28px; display:flex; align-items:center; gap:14px; padding:16px 21px; border:1px solid rgba(212,175,55,.37); background:rgba(12,12,12,.86); color:#fff; font-size:12px; font-weight:600; line-height:1.5; backdrop-filter:blur(8px); }.about-story__note i{ color:#D4AF37; font-size:24px; }
.about-story__copy h2,.section-heading h2,.achievements h2,.about-cta h2{ margin:18px 0 24px; color:#fff; font-size:clamp(39px,4.3vw,58px); line-height:1.1; letter-spacing:-.035em; }.about-story__copy > p:not(.eyebrow){ margin-bottom:17px; color:#c5c5c5; font-size:15px; line-height:1.9; }.outline-link{ display:inline-block; margin-top:17px; padding-bottom:9px; border-bottom:1px solid rgba(212,175,55,.6); }
.purpose{ padding:115px max(40px, calc((100% - 1200px) / 2)); background:radial-gradient(circle at 10% 5%,rgba(212,175,55,.1),transparent 27%),#111; }.purpose__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:52px; }.purpose-card{ position:relative; overflow:hidden; min-height:325px; padding:43px; border:1px solid rgba(212,175,55,.2); background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.02)); transition:transform .35s ease,border-color .35s ease,background .35s ease; }.purpose-card:hover{ transform:translateY(-7px); border-color:#D4AF37; background:linear-gradient(135deg,rgba(212,175,55,.16),rgba(255,255,255,.035)); }.purpose-card__number{ position:absolute; top:22px; right:28px; color:rgba(212,175,55,.3); font-family:'Playfair Display',serif; font-size:22px; }.purpose-card__icon{ display:grid; width:60px; height:60px; place-items:center; border:1px solid rgba(212,175,55,.55); border-radius:50%; color:#D4AF37; font-size:23px; }.purpose-card h3{ margin:29px 0 14px; color:#fff; font-size:29px; }.purpose-card p{ max-width:430px; color:#c8c8c8; font-size:14px; line-height:1.85; }
.about-why{ padding:120px max(40px, calc((100% - 1200px) / 2)); }.section-heading--center{ max-width:720px; margin:auto; text-align:center; }.section-heading--center .eyebrow{ justify-content:center; }.section-heading--center > p:last-child{ color:#bdbdbd; font-size:15px; line-height:1.8; }.about-why__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:52px; }.about-why__grid article{ padding:30px 23px; border-top:1px solid rgba(212,175,55,.46); background:#141414; transition:transform .3s ease,background .3s ease; }.about-why__grid article:hover{ transform:translateY(-6px); background:#1a1914; }.about-why__grid i{ color:#D4AF37; font-size:24px; }.about-why__grid h3{ margin:25px 0 11px; color:#fff; font-size:20px; line-height:1.25; }.about-why__grid p{ color:#bfbfbf; font-size:13px; line-height:1.75; }
.achievements{ display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:center; padding:108px max(40px, calc((100% - 1200px) / 2)); background:linear-gradient(110deg,rgba(212,175,55,.09),transparent 36%),#0a0a0a; }.achievements__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; border:1px solid rgba(212,175,55,.27); background:rgba(212,175,55,.27); }.counter-card{ min-height:175px; padding:31px; background:#111; }.counter-card strong{ display:block; color:#D4AF37; font-family:'Playfair Display',serif; font-size:clamp(42px,4vw,58px); line-height:1; }.counter-card span{ display:block; margin-top:14px; color:#d1d1d1; font-size:12px; font-weight:600; letter-spacing:.08em; line-height:1.45; text-transform:uppercase; }
.about-cta{ position:relative; overflow:hidden; min-height:485px; padding:95px max(40px, calc((100% - 970px) / 2)); background:linear-gradient(90deg,rgba(10,10,10,.96),rgba(10,10,10,.68)),url('../images/makkah/makkah-07.jpeg') center/cover; }.about-cta::after{ position:absolute; right:-80px; bottom:-120px; width:370px; height:370px; border:1px solid rgba(212,175,55,.32); border-radius:50%; content:""; box-shadow:0 0 0 45px rgba(212,175,55,.04); }.about-cta > div{ position:relative; z-index:1; }.about-cta h2{ font-size:clamp(39px,4.6vw,62px); }.about-cta p:not(.eyebrow){ max-width:530px; margin:0 0 30px; color:#d1d1d1; font-size:15px; line-height:1.8; }
@media (max-width:1240px){ .about-story{ margin:0 40px; }.about-why__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:800px){ .about-hero{ min-height:680px; padding:135px 28px 90px; }.about-hero__seal{ right:28px; bottom:38px; width:98px; height:98px; }.about-story{ grid-template-columns:1fr; gap:72px; margin:0 28px; padding:85px 0; }.about-story__visual{ min-height:410px; }.about-story__visual img{ width:calc(100% - 22px); height:410px; }.purpose,.about-why,.achievements{ padding:82px 28px; }.achievements{ grid-template-columns:1fr; gap:25px; }.about-cta{ padding:80px 28px; }.about-why__grid{ gap:12px; }.purpose__grid{ margin-top:38px; } }
@media (max-width:560px){ .about-page .nav-links a.is-active::after{ margin-left:0; }.about-hero{ min-height:650px; padding:128px 21px 80px; background-position:63% center; }.about-hero h1{ font-size:43px; }.about-hero__content > p:not(.eyebrow){ font-size:14px; }.about-hero__actions{ align-items:flex-start; flex-direction:column; gap:20px; }.about-hero__seal{ display:none; }.about-story{ gap:60px; margin:0 20px; padding:70px 0; }.about-story__visual{ min-height:350px; }.about-story__visual img{ height:350px; }.about-story__frame{ bottom:-20px; }.about-story__note{ left:15px; bottom:15px; padding:12px 14px; font-size:11px; }.about-story__copy h2,.section-heading h2,.achievements h2,.about-cta h2{ font-size:37px; }.purpose,.about-why,.achievements{ padding:70px 20px; }.purpose__grid,.about-why__grid{ grid-template-columns:1fr; }.purpose-card{ min-height:285px; padding:32px 27px; }.about-why__grid{ margin-top:36px; }.achievements__grid{ grid-template-columns:1fr 1fr; }.counter-card{ min-height:145px; padding:23px 17px; }.counter-card span{ font-size:10px; }.about-cta{ min-height:450px; padding:70px 20px; }.about-cta .btn-primary{ width:100%; } }

/* ===========================
   CONTACT PAGE
=========================== */
.contact-page .nav-links a.is-active{ color:#D4AF37; }.contact-page .nav-links a.is-active::after{ display:block; width:5px; height:5px; margin:5px auto 0; border-radius:50%; content:""; background:#D4AF37; }.contact-page .btn-primary{ display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:7px; padding:15px 24px; }.contact-page h1,.contact-page h2,.contact-page h3{ font-family:'Playfair Display',serif; }.contact-page h1 em,.contact-page h2 em{ color:#D4AF37; font-style:normal; }
.contact-hero{ position:relative; display:flex; min-height:700px; align-items:center; overflow:hidden; padding:150px max(40px,calc((100% - 1200px)/2)) 90px; background:linear-gradient(90deg,rgba(8,8,8,.97) 0%,rgba(8,8,8,.78) 47%,rgba(8,8,8,.34) 100%),url('../images/gallery5.png') center/cover; }.contact-hero::after{ position:absolute; right:-16vw; bottom:-25vw; width:57vw; height:57vw; border:1px solid rgba(212,175,55,.3); border-radius:50%; content:""; box-shadow:0 0 0 45px rgba(212,175,55,.04),0 0 0 90px rgba(212,175,55,.025); }.contact-hero__content{ position:relative; z-index:1; max-width:700px; animation:heroReveal .8s ease both; }.contact-hero h1{ margin:18px 0 24px; font-size:clamp(48px,6vw,77px); line-height:1.04; letter-spacing:-.04em; }.contact-hero__content > p:not(.eyebrow){ max-width:570px; margin-bottom:33px; color:#ddd; font-size:17px; line-height:1.85; }.contact-hero__detail{ position:absolute; z-index:1; right:max(40px,calc((100% - 1200px)/2)); bottom:70px; display:flex; align-items:center; gap:15px; padding:20px 25px; border:1px solid rgba(212,175,55,.36); background:rgba(10,10,10,.66); color:#fff; font-family:'Playfair Display',serif; font-size:16px; line-height:1.3; backdrop-filter:blur(10px); }.contact-hero__detail i{ color:#D4AF37; font-size:26px; }
.contact-details{ padding:110px max(40px,calc((100% - 1200px)/2)); background:radial-gradient(circle at 5% 8%,rgba(212,175,55,.1),transparent 25%),#101010; }.contact-cards{ display:grid; grid-template-columns:repeat(5,1fr); gap:13px; margin-top:52px; }.contact-card{ position:relative; display:flex; min-height:205px; flex-direction:column; justify-content:space-between; overflow:hidden; padding:25px 22px; border:1px solid rgba(212,175,55,.2); background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.015)); transition:transform .32s ease,border-color .32s ease,background .32s ease,box-shadow .32s ease; }.contact-card:hover{ transform:translateY(-7px); border-color:#D4AF37; background:linear-gradient(135deg,rgba(212,175,55,.16),rgba(255,255,255,.03)); box-shadow:0 16px 32px rgba(0,0,0,.25); }.contact-card__icon{ display:grid; width:45px; height:45px; place-items:center; border:1px solid rgba(212,175,55,.55); border-radius:50%; color:#D4AF37; font-size:18px; }.contact-card small,.contact-card strong,.contact-card em{ display:block; }.contact-card small{ margin-bottom:8px; color:#D4AF37; font-size:10px; font-style:normal; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.contact-card strong{ color:#fff; font-size:14px; line-height:1.4; }.contact-card em{ margin-top:6px; color:#aaa; font-size:11px; font-style:normal; line-height:1.5; overflow-wrap:anywhere; }.contact-card__arrow{ position:absolute; right:20px; top:27px; color:rgba(212,175,55,.8); font-size:12px; }
.contact-form-section{ display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(40px,8vw,120px); align-items:start; padding:120px max(40px,calc((100% - 1200px)/2)); }.contact-form-section__intro h2,.map-section h2,.whatsapp-cta h2{ margin:18px 0 22px; color:#fff; font-size:clamp(39px,4.4vw,58px); line-height:1.1; letter-spacing:-.035em; }.contact-form-section__intro > p:not(.eyebrow){ color:#c5c5c5; font-size:14px; line-height:1.9; }.form-assurance{ display:flex; gap:12px; margin-top:29px; padding:16px 0; border-top:1px solid rgba(212,175,55,.24); color:#aaa; font-size:11px; line-height:1.65; }.form-assurance i{ color:#D4AF37; font-size:18px; }.contact-form{ display:grid; grid-template-columns:repeat(2,1fr); gap:19px; padding:35px; border:1px solid rgba(212,175,55,.25); border-radius:4px; background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.018)); box-shadow:0 20px 45px rgba(0,0,0,.2); }.form-field{ min-width:0; }.form-field--full{ grid-column:1/-1; }.form-field label{ display:block; margin-bottom:8px; color:#e6e6e6; font-size:12px; font-weight:600; }.form-field input,.form-field select,.form-field textarea{ width:100%; border:1px solid rgba(255,255,255,.13); border-radius:2px; outline:0; background:rgba(7,7,7,.58); color:#fff; font:400 13px 'Poppins',sans-serif; transition:border-color .25s ease,box-shadow .25s ease; }.form-field input,.form-field select{ height:49px; padding:0 14px; }.form-field textarea{ resize:vertical; padding:13px 14px; }.form-field select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,#D4AF37 50%),linear-gradient(135deg,#D4AF37 50%,transparent 50%); background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }.form-field option{ background:#161616; }.form-field input::placeholder,.form-field textarea::placeholder{ color:#777; }.form-field input:focus,.form-field select:focus,.form-field textarea:focus{ border-color:#D4AF37; box-shadow:0 0 0 3px rgba(212,175,55,.12); }.form-submit{ grid-column:1/-1; justify-self:start; border:0; cursor:pointer; font-family:'Poppins',sans-serif; }
.map-section{ position:relative; display:flex; min-height:415px; align-items:center; overflow:hidden; padding:80px max(40px,calc((100% - 970px)/2)); background:linear-gradient(90deg,#111 0%,#111 44%,rgba(17,17,17,.88) 100%); }.map-section__content{ position:relative; z-index:1; max-width:460px; }.map-section__content > p:not(.eyebrow){ margin-bottom:23px; color:#bcbcbc; font-size:14px; line-height:1.8; }.map-placeholder{ display:inline-flex; align-items:center; gap:9px; padding:11px 15px; border:1px solid rgba(212,175,55,.42); color:#D4AF37; font-size:11px; font-weight:600; }.map-section__pattern{ position:absolute; right:0; inset-block:0; display:flex; width:55%; align-items:center; justify-content:center; overflow:hidden; background:repeating-linear-gradient(34deg,transparent 0 25px,rgba(212,175,55,.055) 26px 27px),repeating-linear-gradient(-45deg,transparent 0 44px,rgba(212,175,55,.05) 45px 47px); }.map-section__pattern::before{ position:absolute; width:330px; height:330px; border:1px solid rgba(212,175,55,.34); border-radius:50%; content:""; box-shadow:0 0 0 42px rgba(212,175,55,.04),0 0 0 84px rgba(212,175,55,.025); }.map-section__pattern i{ position:relative; z-index:1; color:#D4AF37; font-size:50px; text-shadow:0 0 35px rgba(212,175,55,.3); }
.whatsapp-cta{ display:flex; align-items:center; justify-content:space-between; gap:35px; margin:95px auto; max-width:1200px; padding:52px 60px; border:1px solid rgba(212,175,55,.45); background:radial-gradient(circle at 10% 0%,rgba(212,175,55,.14),transparent 31%),#131313; }.whatsapp-cta > div{ position:relative; padding-left:80px; }.whatsapp-cta > div > .fa-whatsapp{ position:absolute; left:0; top:6px; color:#D4AF37; font-size:48px; }.whatsapp-cta h2{ margin:10px 0 10px; font-size:38px; }.whatsapp-cta p:not(.eyebrow){ color:#bfbfbf; font-size:13px; }.whatsapp-cta__button{ display:inline-flex; flex:0 0 auto; align-items:center; gap:10px; padding:16px 21px; background:#D4AF37; color:#0d0d0d; font-size:13px; font-weight:700; transition:transform .25s ease,background .25s ease,box-shadow .25s ease; }.whatsapp-cta__button:hover{ transform:translateY(-3px); background:#f1cf62; box-shadow:0 10px 22px rgba(212,175,55,.2); }
@media (max-width:1100px){ .contact-cards{ grid-template-columns:repeat(3,1fr); }.whatsapp-cta{ margin-inline:40px; } }
@media (max-width:800px){ .contact-hero{ min-height:650px; padding:132px 28px 80px; }.contact-hero__detail{ right:28px; bottom:36px; }.contact-details,.contact-form-section{ padding:80px 28px; }.contact-form-section{ grid-template-columns:1fr; }.contact-form-section__intro{ max-width:560px; }.map-section{ padding:70px 28px; }.whatsapp-cta{ margin:75px 28px; padding:42px 38px; } }
@media (max-width:560px){ .contact-page .nav-links a.is-active::after{ margin-left:0; }.contact-hero{ min-height:620px; padding:125px 20px 72px; background-position:62% center; }.contact-hero h1{ font-size:43px; }.contact-hero__content > p:not(.eyebrow){ font-size:14px; }.contact-hero__detail{ display:none; }.contact-details,.contact-form-section{ padding:68px 20px; }.contact-cards{ grid-template-columns:1fr; margin-top:36px; }.contact-card{ min-height:165px; }.contact-form{ grid-template-columns:1fr; padding:25px 20px; }.form-field--full,.form-submit{ grid-column:auto; }.form-submit{ width:100%; }.map-section{ min-height:400px; padding:65px 20px; }.map-section__pattern{ right:-45%; width:100%; opacity:.75; }.whatsapp-cta{ align-items:flex-start; flex-direction:column; margin:65px 20px; padding:34px 25px; }.whatsapp-cta > div{ padding-left:0; }.whatsapp-cta > div > .fa-whatsapp{ position:static; display:block; margin-bottom:18px; }.whatsapp-cta h2{ font-size:34px; }.whatsapp-cta__button{ width:100%; justify-content:center; } }

/* ===========================
   PACKAGES PAGE
=========================== */
.packages-page .nav-links a.is-active{ color:#D4AF37; }.packages-page .nav-links a.is-active::after{ display:block; width:5px; height:5px; margin:5px auto 0; border-radius:50%; content:""; background:#D4AF37; }.packages-page .btn-primary{ display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 24px; border-radius:7px; }.packages-page h1,.packages-page h2,.packages-page h3{ font-family:'Playfair Display',serif; }.packages-page h1 em,.packages-page h2 em{ color:#D4AF37; font-style:normal; }
.packages-hero{ position:relative; display:flex; min-height:710px; align-items:center; overflow:hidden; padding:150px max(40px,calc((100% - 1200px)/2)) 95px; background:linear-gradient(90deg,rgba(8,8,8,.97),rgba(8,8,8,.75) 50%,rgba(8,8,8,.32)),url('../images/hero-bg.jpg') center/cover; }.packages-hero::after{ position:absolute; right:-14vw; bottom:-24vw; width:58vw; height:58vw; border:1px solid rgba(212,175,55,.3); border-radius:50%; content:""; box-shadow:0 0 0 44px rgba(212,175,55,.04),0 0 0 88px rgba(212,175,55,.025); }.packages-hero__content{ position:relative; z-index:1; max-width:720px; animation:heroReveal .8s ease both; }.packages-hero h1{ margin:18px 0 24px; font-size:clamp(48px,6vw,77px); line-height:1.04; letter-spacing:-.04em; }.packages-hero__content > p:not(.eyebrow){ max-width:565px; margin-bottom:34px; color:#dedede; font-size:17px; line-height:1.85; }.packages-hero__link{ margin-left:24px; color:#fff; font-size:13px; font-weight:700; }.packages-hero__link i{ margin-left:7px; color:#D4AF37; transition:transform .25s ease; }.packages-hero__link:hover{ color:#D4AF37; }.packages-hero__link:hover i{ transform:translateX(4px); }.packages-hero__stamp{ position:absolute; z-index:1; right:max(40px,calc((100% - 1200px)/2)); bottom:72px; display:flex; align-items:center; gap:15px; padding:19px 23px; border:1px solid rgba(212,175,55,.4); background:rgba(10,10,10,.65); color:#fff; font-family:'Playfair Display',serif; font-size:15px; line-height:1.35; backdrop-filter:blur(9px); }.packages-hero__stamp i{ color:#D4AF37; font-size:28px; }
.premium-packages{ padding:115px max(40px,calc((100% - 1200px)/2)); background:radial-gradient(circle at 5% 8%,rgba(212,175,55,.1),transparent 28%),#101010; }.premium-packages .section-heading > p:last-child{ margin-top:0; color:#bababa; font-size:15px; line-height:1.8; }.premium-package-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:21px; margin-top:52px; }.premium-package{ position:relative; overflow:hidden; border:1px solid rgba(212,175,55,.22); background:#151515; transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease; }.premium-package:hover{ transform:translateY(-8px); border-color:#D4AF37; box-shadow:0 20px 38px rgba(0,0,0,.3),0 0 24px rgba(212,175,55,.1); }.premium-package--featured{ border-color:rgba(212,175,55,.64); }.premium-package__label{ position:absolute; z-index:2; top:16px; right:0; padding:8px 16px; background:#D4AF37; color:#0d0d0d; font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }.premium-package__image{ position:relative; height:225px; overflow:hidden; }.premium-package__image::after{ position:absolute; inset:0; content:""; background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%); }.premium-package__image img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }.premium-package:hover .premium-package__image img{ transform:scale(1.06); }.premium-package__image span{ position:absolute; z-index:1; left:17px; bottom:16px; padding:6px 11px; border:1px solid rgba(255,255,255,.32); background:rgba(0,0,0,.45); color:#fff; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.premium-package__body{ padding:30px 27px 25px; }.premium-package h3{ margin:9px 0 13px; color:#fff; font-size:31px; line-height:1.08; }.premium-package__body > p:not(.package-kicker){ min-height:50px; color:#bababa; font-size:13px; line-height:1.8; }.premium-package ul{ display:grid; gap:9px; margin:21px 0; color:#ddd; font-size:12px; }.premium-package li i{ margin-right:8px; color:#D4AF37; }.premium-package__bottom{ display:flex; align-items:end; justify-content:space-between; padding-top:18px; border-top:1px solid rgba(212,175,55,.2); }.premium-package__bottom small,.premium-package__bottom strong{ display:block; }.premium-package__bottom small{ color:#aaa; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }.premium-package__bottom strong{ margin-top:5px; color:#D4AF37; font-family:'Playfair Display',serif; font-size:25px; }.premium-package__bottom a{ color:#fff; font-size:12px; font-weight:700; }.premium-package__bottom a i{ margin-left:5px; color:#D4AF37; }
.comparison{ padding:112px max(40px,calc((100% - 1200px)/2)); }.comparison-table{ margin-top:44px; overflow:auto; border:1px solid rgba(212,175,55,.28); }.comparison-table table{ width:100%; min-width:700px; border-collapse:collapse; }.comparison-table th,.comparison-table td{ padding:19px 25px; border-bottom:1px solid rgba(255,255,255,.08); color:#d4d4d4; font-size:13px; text-align:center; }.comparison-table thead th{ background:rgba(212,175,55,.13); color:#D4AF37; font-family:'Playfair Display',serif; font-size:19px; }.comparison-table th:first-child,.comparison-table tbody th{ text-align:left; }.comparison-table tbody th{ color:#fff; font-size:13px; font-weight:600; }.comparison-table td i{ color:#D4AF37; }.comparison-table__price th,.comparison-table__price td{ border-bottom:0; color:#D4AF37; font-family:'Playfair Display',serif; font-size:20px; }.comparison-note{ margin-top:17px; color:#8f8f8f; font-size:11px; line-height:1.7; }
.travel-details{ overflow:hidden; }.travel-detail{ display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:520px; }.travel-detail--hotel{ background:#151515; }.travel-detail--visa{ background:#0d0d0d; }.travel-detail__image{ position:relative; height:100%; min-height:520px; overflow:hidden; }.travel-detail__image::after{ position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.48)); }.travel-detail__image img{ width:100%; height:100%; object-fit:cover; filter:saturate(.78) brightness(.8); }.travel-detail__image span{ position:absolute; z-index:1; left:50%; top:50%; display:grid; width:70px; height:70px; place-items:center; border:1px solid rgba(212,175,55,.72); border-radius:50%; background:rgba(12,12,12,.66); color:#D4AF37; font-size:25px; transform:translate(-50%,-50%); }.travel-detail__copy{ max-width:580px; padding:70px clamp(35px,8vw,130px); }.travel-detail__copy h2,.transport-info h2,.packages-whatsapp h2{ margin:18px 0 22px; color:#fff; font-size:clamp(39px,4.2vw,58px); line-height:1.1; letter-spacing:-.035em; }.travel-detail__copy > p:not(.eyebrow){ color:#c1c1c1; font-size:14px; line-height:1.9; }.travel-detail__copy ul{ display:grid; gap:12px; margin-top:25px; color:#e0e0e0; font-size:12px; }.travel-detail__copy li i{ width:20px; color:#D4AF37; }
.transport-info{ position:relative; min-height:460px; padding:90px max(40px,calc((100% - 970px)/2)); background:linear-gradient(90deg,rgba(10,10,10,.95),rgba(10,10,10,.64)),url('../images/journey/journey-03.jpeg') center/cover; }.transport-info__content{ position:relative; z-index:1; max-width:620px; }.transport-info__content > p:not(.eyebrow){ max-width:540px; color:#d0d0d0; font-size:14px; line-height:1.8; }.transport-info__items{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }.transport-info__items span{ padding:12px 15px; border:1px solid rgba(212,175,55,.42); background:rgba(13,13,13,.54); color:#fff; font-size:12px; }.transport-info__items i{ margin-right:7px; color:#D4AF37; }
.packages-faq{ padding:112px max(40px,calc((100% - 1000px)/2)); background:#111; }.packages-faq .faq-list{ margin-top:44px; }.packages-whatsapp{ display:flex; align-items:center; justify-content:space-between; gap:35px; max-width:1200px; margin:95px auto; padding:52px 60px; border:1px solid rgba(212,175,55,.45); background:radial-gradient(circle at 8% 0%,rgba(212,175,55,.14),transparent 31%),#131313; }.packages-whatsapp > div{ position:relative; padding-left:80px; }.packages-whatsapp > div > .fa-whatsapp{ position:absolute; left:0; top:5px; color:#D4AF37; font-size:48px; }.packages-whatsapp h2{ margin:10px 0; font-size:38px; }.packages-whatsapp p:not(.eyebrow){ color:#bdbdbd; font-size:13px; }.packages-whatsapp a{ display:inline-flex; flex:0 0 auto; align-items:center; gap:9px; padding:16px 21px; background:#D4AF37; color:#0d0d0d; font-size:13px; font-weight:700; transition:transform .25s ease,background .25s ease,box-shadow .25s ease; }.packages-whatsapp a:hover{ transform:translateY(-3px); background:#f1cf62; box-shadow:0 10px 22px rgba(212,175,55,.2); }
@media (max-width:1000px){ .premium-package-grid{ grid-template-columns:repeat(2,1fr); }.premium-package:last-child{ grid-column:1/-1; max-width:calc(50% - 11px); }.travel-detail__copy{ padding:55px 45px; }.packages-whatsapp{ margin-inline:40px; } }
@media (max-width:760px){ .packages-hero{ min-height:650px; padding:132px 28px 82px; }.packages-hero__stamp{ right:28px; bottom:35px; }.premium-packages,.comparison,.packages-faq{ padding:80px 28px; }.travel-detail{ grid-template-columns:1fr; }.travel-detail--visa .travel-detail__image{ grid-row:1; }.travel-detail__image{ min-height:350px; height:350px; }.travel-detail__copy{ max-width:680px; padding:65px 40px; }.transport-info{ padding:75px 28px; }.packages-whatsapp{ margin:75px 28px; padding:42px 38px; } }
@media (max-width:560px){ .packages-page .nav-links a.is-active::after{ margin-left:0; }.packages-hero{ min-height:615px; padding:125px 20px 75px; background-position:62% center; }.packages-hero h1{ font-size:43px; }.packages-hero__content > p:not(.eyebrow){ font-size:14px; }.packages-hero__stamp{ display:none; }.packages-hero__link{ display:inline-block; margin:20px 0 0; }.premium-packages,.comparison,.packages-faq{ padding:68px 20px; }.premium-package-grid{ grid-template-columns:1fr; margin-top:38px; }.premium-package:last-child{ grid-column:auto; max-width:none; }.comparison-table{ margin-inline:-20px; }.travel-detail__image{ min-height:300px; height:300px; }.travel-detail__copy{ padding:60px 20px; }.transport-info{ padding:68px 20px; }.transport-info__items{ display:grid; grid-template-columns:1fr; }.packages-whatsapp{ align-items:flex-start; flex-direction:column; margin:65px 20px; padding:34px 25px; }.packages-whatsapp > div{ padding-left:0; }.packages-whatsapp > div > .fa-whatsapp{ position:static; display:block; margin-bottom:18px; }.packages-whatsapp h2{ font-size:34px; }.packages-whatsapp a{ width:100%; justify-content:center; } }

/* Sprint 3: gallery filtering and masonry layout reuse the existing gallery system. */
.gallery-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1240px;margin:34px auto -22px;}
.gallery-filters button{padding:10px 16px;border:1px solid rgba(212,175,55,.38);border-radius:999px;background:rgba(255,255,255,.035);color:#d5d5d5;cursor:pointer;font:600 11px 'Poppins',sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;}
.gallery-filters button:hover,.gallery-filters button.is-active{border-color:#D4AF37;background:#D4AF37;color:#0D0D0D;transform:translateY(-2px);}
.gallery-page .gallery-grid{grid-auto-flow:dense;grid-auto-rows:180px;}
.gallery-page .gallery-item{aspect-ratio:auto;}
.gallery-page .gallery-item--wide{grid-column:span 2;}
.gallery-page .gallery-item--tall{grid-row:span 2;}
.gallery-page .gallery-item[hidden]{display:none;}
@media (min-width:1101px){.nav-links{gap:18px;}.nav-links a{font-size:12px;}}
@media (max-width:900px){.gallery-page .gallery-grid{grid-auto-rows:160px;}.gallery-page .gallery-item--wide{grid-column:span 2;}.gallery-page .gallery-item--tall{grid-row:span 2;}}
@media (max-width:640px){.gallery-filters{justify-content:flex-start;margin-top:28px;margin-bottom:-10px;}.gallery-filters button{padding:9px 13px;font-size:10px;}.gallery-page .gallery-grid{grid-auto-rows:auto;}.gallery-page .gallery-item--wide,.gallery-page .gallery-item--tall{grid-column:auto;grid-row:auto;}}
/* Sprint 4: subtle shared polish without changing page structure. */
:root{--ease-premium:cubic-bezier(.22,.72,.18,1);}
body{animation:pageFadeIn .38s var(--ease-premium) both;}
@keyframes pageFadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.btn-primary,.btn-secondary,.package-button,.whatsapp-cta__button,.packages-whatsapp a{will-change:transform;}
.btn-primary:focus-visible,.btn-secondary:focus-visible,.package-button:focus-visible,.whatsapp-cta__button:focus-visible,.packages-whatsapp a:focus-visible{outline:2px solid #fff;outline-offset:4px;}
.btn-primary:active,.btn-secondary:active,.package-button:active,.whatsapp-cta__button:active,.packages-whatsapp a:active{transform:translateY(0) scale(.98);}
@media (hover:hover){.testimonial-card:hover,.premium-package:hover,.contact-card:hover,.purpose-card:hover,.about-why__grid article:hover,.gallery-item:hover{transition-timing-function:var(--ease-premium);}}
img{content-visibility:auto;}
.header.scrolled{box-shadow:0 10px 28px rgba(0,0,0,.22);}
.footer-services h4 + h4{margin-top:14px;padding-top:16px;border-top:1px solid rgba(212,175,55,.18);}
@media (max-width:1100px) and (min-width:769px){nav{padding-inline:24px}.logo img{width:42px}.logo span{font-size:18px}.nav-links{gap:12px}.nav-links a{font-size:12px}.nav-button .btn-primary{padding:11px 16px;font-size:12px}}
@media (max-width:640px){.footer-container{gap:12px}.footer-about,.footer-links,.footer-services,.footer-contact{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 24px rgba(0,0,0,.2)}.contact-hero__content,.packages-hero__content,.about-hero__content{max-width:100%}}
/* Shared enquiry state; injected by the reusable form controller. */
.form-status{grid-column:1/-1;margin:0;color:#d5d5d5;font-size:12px;line-height:1.6}.form-status--loading{color:#d5d5d5}.form-status--success,.form-status--notice{color:#f1cf62}.form-status--error{color:#ff9b9b}.form-submit:disabled{cursor:wait;opacity:.72}
.form-field__error{ min-height:0; margin:6px 0 0; color:#ffb1b1; font-size:11px; line-height:1.45; }
.form-field--invalid input,.form-field--invalid select,.form-field--invalid textarea{ border-color:#ff9b9b; box-shadow:0 0 0 3px rgba(255,155,155,.1); }
.contact-form[aria-busy="true"]{ cursor:progress; }

/* ===========================
   PREMIUM EXPERIENCE REFINEMENT
   Shared finishing layer — preserves the established brand and layouts.
=========================== */
:root{
    --surface: #141414;
    --surface-raised: #191919;
    --line-soft: rgba(255,255,255,.10);
    --gold-soft: rgba(212,175,55,.32);
    --shadow-soft: 0 16px 38px rgba(0,0,0,.22);
    --shadow-lift: 0 24px 48px rgba(0,0,0,.36);
}

html{ -webkit-text-size-adjust:100%; text-rendering:optimizeLegibility; }
body{ line-height:1.6; }
::selection{ background:#D4AF37; color:#0D0D0D; }

/* A composed, legible navigation treatment at every breakpoint. */
.header{ padding:16px 0; }
.header.scrolled{ box-shadow:0 10px 30px rgba(0,0,0,.22); }
.logo-link{ display:inline-flex; align-items:center; gap:12px; }
.logo img{ border-radius:50%; box-shadow:0 5px 16px rgba(0,0,0,.28); }
.nav-links a{ position:relative; padding:11px 0; }
.nav-links a:not(.is-active)::after{ position:absolute; right:0; bottom:3px; left:0; height:1px; content:""; background:#D4AF37; transform:scaleX(0); transform-origin:left; transition:transform .28s ease; }
.nav-links a:hover::after{ transform:scaleX(1); }

/* Consistent tactile controls; all primary actions keep the existing colour. */
.btn-primary,.btn-secondary,.package-button,.whatsapp-cta__button,.packages-whatsapp a{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}
.btn-primary:active,.btn-secondary:active,.package-button:active,.whatsapp-cta__button:active,.packages-whatsapp a:active{ transform:translateY(1px) scale(.985); }

/* Make repeated surfaces feel intentionally related, rather than uniformly flat. */
.feature,.why-card,.testimonial-card,.faq-item,.purpose-card,.premium-package,.contact-card{
    border-color:var(--gold-soft);
    box-shadow:var(--shadow-soft);
}
.feature:hover,.why-card:hover,.testimonial-card:hover,.faq-item:hover,.purpose-card:hover,.premium-package:hover,.contact-card:hover{
    box-shadow:var(--shadow-lift);
}
.package-banner,.contact-form{ box-shadow:0 20px 48px rgba(0,0,0,.28); }
.package-image img,.premium-package__image img,.gallery-item img,.travel-detail__image img,.about-story__visual img{ transition:transform .65s cubic-bezier(.2,.7,.2,1), filter .45s ease; }

/* Better keyboard landmarks without changing the page hierarchy. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
    outline:3px solid #D4AF37;
    outline-offset:4px;
}
.faq-question,.gallery-item{ -webkit-tap-highlight-color:transparent; }
.gallery-item{ border-radius:14px; }
.gallery-item:focus-visible{ outline-offset:5px; }

/* Long-form and form content receives the calmer reading rhythm elderly guests need. */
.about-story__copy > p:not(.eyebrow),.purpose-card p,.about-why__grid p,.contact-form-section__intro > p:not(.eyebrow),.travel-detail__copy > p:not(.eyebrow),.premium-package__body > p:not(.package-kicker),.blog-card p,.legal-page .faq-answer p{
    color:#d1d1d1;
    line-height:1.9;
}
.form-field label{ font-size:13px; }
.form-field input,.form-field select,.form-field textarea{ font-size:15px; border-radius:7px; }
.form-field input,.form-field select{ min-height:52px; }
.form-field textarea{ min-height:136px; }

/* Ensure imagery has a cinematic, steady presence. */
.gallery-item img,.premium-package__image img,.package-image img{ filter:brightness(.88) saturate(.9); }
.gallery-item:hover img,.premium-package:hover .premium-package__image img,.package-banner:hover .package-image img{ filter:brightness(1) saturate(1); }

@media (max-width:768px){
    body{ font-size:16px; }
    .header{ padding:12px 0; }
    nav{ padding:0 20px; }
    .logo img{ width:44px; }
    .logo span{ max-width:190px; font-size:17px; line-height:1.16; }
    .menu-toggle{ top:22px; right:20px; width:38px; height:32px; padding:4px 0; }
    .menu-toggle span{ height:2px; }
    .menu-toggle span:nth-child(1){ top:4px; }
    .menu-toggle span:nth-child(2){ top:15px; }
    .menu-toggle span:nth-child(3){ top:26px; }
    .menu-toggle.active span:nth-child(1),.menu-toggle.active span:nth-child(3){ top:15px; }
    .nav-links{ width:min(86vw,330px); padding:92px 28px 38px; gap:5px; border-left:1px solid rgba(212,175,55,.3); box-shadow:-22px 0 50px rgba(0,0,0,.34); }
    .nav-links li:not(.mobile-logo){ width:100%; border-bottom:1px solid rgba(255,255,255,.07); }
    .nav-links a{ display:block; width:100%; padding:16px 0; font-size:17px; }
    .nav-links a::after{ display:none; }
    .mobile-logo{ margin-bottom:24px; }
    .mobile-logo img{ width:64px; }

    .hero{ padding:112px 20px 64px; background-position:58% center; }
    .hero-content{ padding:29px 22px; background:linear-gradient(135deg,rgba(23,23,23,.88),rgba(13,13,13,.66)); }
    .hero-subtitle{ margin-bottom:16px; font-size:10px; }
    .hero h1{ margin-bottom:20px; letter-spacing:-.025em; }
    .hero-description{ margin-bottom:27px; color:#ededed; font-size:16px; line-height:1.75; }
    .hero-buttons{ display:grid; grid-template-columns:1fr; width:100%; }
    .hero .btn-primary,.hero .btn-secondary{ width:100%; min-height:52px; padding:15px 18px; font-size:14px; }
    .hero-stats .stat{ padding:16px; }
    .hero-stats .stat p{ font-size:11px; line-height:1.45; }

    .packages,.gallery,.faq{ padding-right:20px; padding-left:20px; }
    .packages .section-title h2,.why-us .section-title h2,.testimonials .section-title h2{ font-size:clamp(32px,9vw,39px); }
    .package-banner{ border-radius:16px; }
    .package-content{ padding:28px 22px 22px; }
    .package-content h3{ font-size:30px; }
    .package-features{ grid-template-columns:1fr; gap:12px; font-size:15px; }
    .package-price{ margin:0 22px; }
    .package-button{ width:calc(100% - 44px); min-height:50px; margin:0 22px 24px; }
    .feature,.why-card,.testimonial-card{ border-radius:16px; }
    .why-card p,.testimonial-card p{ font-size:15px; line-height:1.8; }
    .testimonial-card{ min-height:290px; }
    .faq-question{ min-height:72px; padding:20px; font-size:18px; }
    .faq-answer p{ padding:0 20px 22px; font-size:15px; line-height:1.75; }

    .about-hero__content > p:not(.eyebrow),.contact-hero__content > p:not(.eyebrow){ font-size:16px; line-height:1.8; }
    .about-hero__actions .btn-primary,.contact-hero .btn-primary,.about-cta .btn-primary{ min-width:100%; }
    .purpose-card,.contact-card,.premium-package{ border-radius:14px; }
    .purpose-card p,.contact-card strong,.premium-package__body > p:not(.package-kicker){ font-size:14px; }
    .contact-card{ min-height:190px; padding:24px 20px; }
    .contact-form{ gap:16px; padding:24px 20px; border-radius:14px; }
    .form-submit{ width:100%; min-height:52px; }
    .comparison-table{ -webkit-overflow-scrolling:touch; border-radius:12px; }
    .packages-whatsapp,.whatsapp-cta{ border-radius:16px; }
    .footer-contact a,.footer-links a,.footer-services a{ min-height:38px; display:flex; align-items:center; }
}

/* Launch refinements: official package details and compact mobile rhythm. */
.packages-page:not(.blog-page) .premium-package{ display:flex; flex-direction:column; }
.packages-page:not(.blog-page) .premium-package__body{ display:flex; flex:1; flex-direction:column; }
.packages-page:not(.blog-page) .premium-package__body > p:not(.package-kicker){ min-height:68px; }
.packages-page:not(.blog-page) .premium-package ul{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }
.packages-page:not(.blog-page) .premium-package li{ display:flex; align-items:flex-start; line-height:1.45; }
.packages-page:not(.blog-page) .premium-package__bottom{ margin-top:auto; }
.package-policy{ display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; margin-top:28px; padding:25px 28px; border:1px solid rgba(212,175,55,.33); border-radius:14px; background:linear-gradient(135deg,rgba(212,175,55,.09),rgba(255,255,255,.025)); color:#d7d7d7; box-shadow:0 16px 36px rgba(0,0,0,.18); }
.package-policy div{ display:grid; grid-template-columns:auto 1fr; column-gap:12px; align-items:center; }
.package-policy i{ grid-row:span 2; color:#D4AF37; font-size:20px; }
.package-policy strong{ color:#fff; font-size:14px; }
.package-policy span,.package-policy p{ color:#c5c5c5; font-size:12px; line-height:1.65; }
.package-policy p{ grid-column:1 / -1; margin:0; padding-top:17px; border-top:1px solid rgba(212,175,55,.2); }

@media (max-width:480px){
    .header{ padding:10px 0; }
    .logo img{ width:40px; }
    .logo span{ max-width:158px; font-size:15px; }
    .menu-toggle{ top:18px; right:17px; }
    .nav-links{ width:min(89vw,310px); padding:82px 22px 28px; }
    .nav-links a{ padding:13px 0; font-size:16px; }
    .hero{ padding:94px 16px 52px; }
    .hero-content{ padding:25px 18px; }
    .hero h1{ font-size:clamp(34px,10vw,42px); }
    .hero-description{ font-size:15px; }
    .hero .btn-primary,.hero .btn-secondary{ min-height:48px; font-size:13px; }
    .features{ padding:48px 16px; }
    .feature{ min-height:185px; padding:26px 18px; }
    .packages,.gallery,.faq,.why-us,.testimonials{ padding-right:16px; padding-left:16px; }
    .package-image,.package-image img{ min-height:205px; height:205px; }
    .package-content{ padding:25px 18px 20px; }
    .package-content h3{ font-size:28px; }
    .package-price{ margin:0 18px; }
    .package-button{ width:calc(100% - 36px); margin-right:18px; margin-left:18px; }
    .testimonial-card{ flex-basis:calc(100vw - 32px); min-height:270px; padding:23px 20px; }
    .testimonial-track{ animation-duration:68s; }
    .gallery-item{ padding:8px; }
    .gallery-item__overlay{ padding:15px; font-size:17px; }
    .faq-question{ min-height:64px; padding:17px; font-size:17px; }
    .faq-toggle-symbol{ width:30px; height:30px; flex-basis:30px; font-size:21px; }
    .about-hero,.contact-hero,.packages-hero{ min-height:560px; padding-right:16px; padding-left:16px; }
    .about-hero h1,.contact-hero h1,.packages-hero h1{ font-size:39px; }
    .contact-details,.contact-form-section,.premium-packages,.comparison,.packages-faq,.purpose,.about-why,.achievements{ padding-right:16px; padding-left:16px; }
    .premium-package__body{ padding:25px 20px 21px; }
    .premium-package h3{ font-size:28px; }
    .packages-page:not(.blog-page) .premium-package ul{ grid-template-columns:1fr; }
    .packages-page:not(.blog-page) .premium-package__body > p:not(.package-kicker){ min-height:auto; }
    .package-policy{ grid-template-columns:1fr; gap:16px; padding:21px 18px; }
    .package-policy p{ grid-column:auto; }
    .contact-form{ padding:21px 16px; }
    .footer{ padding-right:16px; padding-left:16px; }
}

/* Cinematic progressive enhancements — activated only by the shared script. */
.page-transition{ position:fixed; z-index:9999; inset:0; display:grid; place-items:center; background:radial-gradient(circle at 50% 45%,#26200d 0,#0d0d0d 48%); opacity:0; pointer-events:none; transition:opacity .42s var(--motion-ease); }
.page-transition::before{ width:78px; height:78px; border:1px solid rgba(212,175,55,.72); border-radius:50%; content:""; box-shadow:0 0 0 12px rgba(212,175,55,.08),0 0 38px rgba(212,175,55,.32); animation:loaderOrbit 1.2s linear infinite; }
.page-transition.is-active{ opacity:1; pointer-events:auto; }
@keyframes loaderOrbit{ to{ transform:rotate(360deg); } }

.cursor-glow{ position:fixed; z-index:2500; width:250px; height:250px; border-radius:50%; background:radial-gradient(circle,rgba(212,175,55,.12),rgba(212,175,55,.035) 34%,transparent 70%); transform:translate3d(-50%,-50%,0); pointer-events:none; mix-blend-mode:screen; opacity:0; transition:opacity .28s ease; will-change:left,top; }
.cursor-glow.is-visible{ opacity:1; }
.hero-particles{ position:absolute; z-index:1; inset:0; overflow:hidden; pointer-events:none; }
.hero-particles span{ position:absolute; width:3px; height:3px; border-radius:50%; background:#D4AF37; box-shadow:0 0 12px rgba(212,175,55,.8); opacity:.24; animation:particleFloat var(--particle-duration,12s) ease-in-out infinite alternate; animation-delay:var(--particle-delay,0s); }
@keyframes particleFloat{ from{ transform:translate3d(0,0,0) scale(.7); opacity:.1; } to{ transform:translate3d(var(--particle-x,20px),var(--particle-y,-60px),0) scale(1.3); opacity:.62; } }

.motion-magnetic{ transition:transform .22s var(--motion-ease),box-shadow .28s ease,background-color .28s ease,color .28s ease; will-change:transform; }
.motion-glass{ box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 20px 55px rgba(0,0,0,.3),0 0 0 1px rgba(212,175,55,.12); }
.motion-border{ position:relative; }
.motion-border::before{ position:absolute; z-index:0; inset:-1px; border-radius:inherit; content:""; background:linear-gradient(120deg,transparent 15%,rgba(212,175,55,.68),transparent 46%,rgba(255,255,255,.18),transparent 78%); background-size:240% 100%; opacity:.42; pointer-events:none; animation:borderShimmer 7s linear infinite; }
.motion-border > *{ position:relative; z-index:1; }
@keyframes borderShimmer{ to{ background-position:240% 0; } }
.hero-content.motion-border::before{ border-radius:22px; }
.premium-package.motion-border::before,.package-banner.motion-border::before{ border-radius:inherit; }
.gsap-enhanced .section-heading h2,.gsap-enhanced .section-title h2{ text-wrap:balance; }

@media (max-width:768px),(hover:none){
    .cursor-glow{ display:none; }
    .motion-border::before{ animation-duration:10s; opacity:.26; }
}
/* Motion is opt-out through data-motion="off". Browser preference alone must not
   freeze core navigation, reveal, marquee, or feedback interactions. */
html:not([data-motion="off"]) .motion-reveal,
html:not([data-motion="off"]) .scroll-reveal{ opacity:0; transform:translate3d(0,26px,0); filter:none; transition:opacity .72s var(--motion-ease),transform .72s var(--motion-ease),filter .72s var(--motion-ease); }
html:not([data-motion="off"]) .motion-reveal--left{ transform:translate3d(-30px,0,0); }
html:not([data-motion="off"]) .motion-reveal--right{ transform:translate3d(30px,0,0); }
html:not([data-motion="off"]) .motion-reveal--scale{ transform:scale(.965); }
html:not([data-motion="off"]) .motion-reveal--blur{ filter:blur(9px); }
html:not([data-motion="off"]) .motion-reveal.is-revealed,
html:not([data-motion="off"]) .scroll-reveal.is-revealed{ opacity:1; transform:none; filter:none; }
html:not([data-motion="off"]) .hero-content > *,
html:not([data-motion="off"]) .about-hero__content > *,
html:not([data-motion="off"]) .contact-hero__content > *,
html:not([data-motion="off"]) .packages-hero__content > *{ animation:heroItem .72s var(--motion-ease) both; }
html:not([data-motion="off"]) .marquee-track{ animation:servicesMarquee 28s linear infinite; }
html:not([data-motion="off"]) .testimonial-track{ animation:testimonialsMarquee 85s linear infinite; }
html:not([data-motion="off"]) .btn-primary,
html:not([data-motion="off"]) .btn-secondary,
html:not([data-motion="off"]) .package-button{ transition:transform .3s ease,scale .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease; }
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }

/* Mobile density pass — intentionally scoped below the desktop breakpoint. */
@media (max-width:767px){
    .header{ padding:9px 0; }
    nav{ padding-inline:18px; }
    .logo img{ width:41px; }
    .logo span{ max-width:170px; font-size:16px; line-height:1.14; }
    .menu-toggle{ top:17px; right:18px; width:36px; height:30px; }
    .nav-links{ width:min(84vw,306px); padding:76px 22px 26px; gap:2px; }
    .nav-links a{ min-height:44px; padding:12px 0; font-size:16px; }
    .mobile-logo{ margin-bottom:18px; }
    .mobile-logo img{ width:56px; margin-bottom:10px; }
    .mobile-logo__name{ font-size:16px; }

    .hero{ padding:92px 18px 54px; }
    .hero-content{ padding:24px 19px; border-radius:16px; }
    .hero-subtitle{ margin-bottom:13px; font-size:9px; }
    .hero h1{ margin-bottom:16px; font-size:clamp(34px,9.2vw,43px); line-height:1.06; }
    .hero-description{ margin-bottom:22px; font-size:14px; line-height:1.65; }
    .hero-buttons{ gap:10px; }
    .hero .btn-primary,.hero .btn-secondary{ min-height:46px; padding:12px 16px; font-size:13px; }
    .hero-stats{ gap:7px; margin-top:21px; }
    .hero-stats .stat{ padding:13px 14px; }
    .hero-stats .stat h3{ font-size:25px; }

    .features{ gap:13px; padding:54px 18px; }
    .feature{ min-height:174px; padding:24px 18px; }
    .feature .stat-icon{ width:46px; height:46px; margin-bottom:14px; font-size:18px; }
    .feature h3{ font-size:42px; }
    .feature p{ margin-top:9px; font-size:10px; }
    .features-strip{ padding:13px 0; }
    .feature-item{ padding:9px 14px; font-size:10px; }

    .packages,.why-us,.testimonials,.gallery,.faq{ padding:64px 18px; }
    .packages .section-title,.why-us .section-title,.testimonials .section-title{ margin-bottom:30px; }
    .packages .section-title h2,.why-us .section-title h2,.testimonials .section-title h2{ font-size:clamp(29px,8vw,36px); }
    .packages .section-title p,.why-us .section-title p,.testimonials .section-title p{ font-size:13px; line-height:1.65; }
    .package-grid{ gap:15px; }
    .package-image,.package-image img{ min-height:205px; height:205px; }
    .package-content{ padding:24px 19px 18px; }
    .package-content h3{ font-size:28px; }
    .package-divider{ margin:17px 0; }
    .package-features{ gap:10px; font-size:13px; }
    .package-price{ margin:0 19px; padding:15px 0; }
    .package-price strong{ font-size:25px; }
    .package-button{ width:calc(100% - 38px); min-height:46px; margin:0 19px 19px; padding:12px 16px; }
    .why-us::before{ inset:9px; }
    .why-grid{ gap:13px; }
    .why-card{ padding:26px 19px 23px; }
    .why-icon{ width:56px; height:56px; margin-bottom:16px; }
    .why-icon::before{ font-size:24px; }
    .why-card h3{ margin-bottom:9px; font-size:21px; }
    .why-card p{ font-size:13px; line-height:1.7; }
    .testimonial-group{ gap:14px; padding-right:14px; }
    .testimonial-card{ flex-basis:min(300px,calc(100vw - 36px)); min-height:250px; padding:22px 19px; }
    .testimonial-avatar{ width:48px; height:48px; flex-basis:48px; font-size:16px; }
    .testimonial-person h3{ font-size:18px; }
    .testimonial-stars{ margin-top:18px; }
    .testimonial-card p{ margin-top:14px; font-size:14px; line-height:1.7; }

    .gallery-grid{ gap:12px; margin-top:30px; }
    .gallery-item{ padding:8px; border-radius:13px; }
    .gallery-item__overlay{ padding:15px; font-size:17px; }
    .gallery-item__overlay i{ width:34px; height:34px; flex-basis:34px; }
    .faq-container{ margin-top:32px; gap:12px; }
    .faq-item{ border-radius:14px; }
    .faq-question{ min-height:62px; padding:16px 17px; gap:14px; font-size:17px; }
    .faq-answer p{ padding:0 17px 18px; font-size:14px; line-height:1.7; }

    .about-hero,.contact-hero,.packages-hero{ min-height:545px; padding:104px 18px 58px; }
    .about-hero h1,.contact-hero h1,.packages-hero h1{ margin-bottom:17px; font-size:clamp(37px,9.5vw,44px); }
    .about-hero__content > p:not(.eyebrow),.contact-hero__content > p:not(.eyebrow),.packages-hero__content > p:not(.eyebrow){ margin-bottom:23px; font-size:14px; line-height:1.7; }
    .about-story,.contact-details,.contact-form-section,.premium-packages,.comparison,.packages-faq,.purpose,.about-why,.achievements{ padding-top:64px; padding-bottom:64px; }
    .about-story{ gap:48px; margin-inline:18px; }
    .about-story__visual{ min-height:315px; }
    .about-story__visual img{ height:315px; }
    .purpose__grid,.about-why__grid{ gap:13px; margin-top:31px; }
    .purpose-card{ min-height:250px; padding:26px 21px; }
    .purpose-card h3{ margin:20px 0 10px; font-size:25px; }
    .contact-cards{ gap:12px; margin-top:30px; }
    .contact-card{ min-height:155px; padding:20px 18px; }
    .contact-form{ gap:13px; padding:20px 18px; }
    .form-field label{ margin-bottom:6px; font-size:12px; }
    .form-field input,.form-field select{ min-height:46px; height:46px; font-size:14px; }
    .form-field textarea{ min-height:112px; font-size:14px; }
    .form-submit{ min-height:46px; }
    .premium-package-grid{ gap:15px; margin-top:31px; }
    .premium-package__image{ height:190px; }
    .premium-package__body{ padding:23px 19px 19px; }
    .premium-package h3{ font-size:27px; }
    .premium-package ul{ margin:16px 0; font-size:12px; }
    .travel-detail{ min-height:0; }
    .travel-detail__image{ min-height:265px; height:265px; }
    .travel-detail__copy{ padding:52px 18px; }
    .travel-detail__copy h2,.transport-info h2,.packages-whatsapp h2{ font-size:34px; }
    .transport-info{ min-height:0; padding:62px 18px; }
    .packages-whatsapp,.whatsapp-cta{ margin:55px 18px; padding:28px 22px; }

    .footer{ padding:54px 18px 18px; }
    .footer-container{ gap:12px; }
    .footer-about,.footer-links,.footer-services,.footer-contact{ padding:20px 18px; }
    .footer-about h3{ font-size:24px; }
    .footer-bottom{ margin-top:18px; padding-top:17px; font-size:11px; }
}

/* Dedicated gallery masonry: natural image ratios avoid cropping and letterboxing. */
.gallery-page .gallery-grid{
    display:block;
    columns:3 280px;
    column-gap:18px;
    grid-auto-flow:initial;
    grid-auto-rows:auto;
}
.gallery-page .gallery-item,
.gallery-page .gallery-item--wide,
.gallery-page .gallery-item--tall{
    display:block;
    width:100%;
    margin:0 0 18px;
    padding:0;
    break-inside:avoid;
    aspect-ratio:auto;
    opacity:1;
    transition:opacity .22s ease, transform .32s var(--ease-premium), border-color .32s ease, box-shadow .32s ease;
}
.gallery-page .gallery-item img{
    width:100%;
    height:auto;
    object-fit:initial;
    transform:scale(1);
    transition:transform .55s var(--ease-premium), filter .35s ease;
}
.gallery-page .gallery-item:hover img,
.gallery-page .gallery-item:focus-visible img{ transform:scale(1.025); }
.gallery-page .gallery-item.is-filtering-out{
    opacity:0;
    pointer-events:none;
    transform:translateY(8px) scale(.985);
}
@media (max-width:900px){
    .gallery-page .gallery-grid{ columns:2 230px; column-gap:14px; }
    .gallery-page .gallery-item,
    .gallery-page .gallery-item--wide,
    .gallery-page .gallery-item--tall{ margin-bottom:14px; }
}
@media (max-width:640px){
    .gallery-page .gallery-grid{ columns:1; column-gap:0; }
    .gallery-page .gallery-item,
    .gallery-page .gallery-item--wide,
    .gallery-page .gallery-item--tall{ margin-bottom:12px; }
}

@media (max-width:359px){
    .logo span{ max-width:143px; font-size:14px; }
    .hero{ padding-inline:14px; }
    .hero h1{ font-size:33px; }
    .packages,.why-us,.testimonials,.gallery,.faq{ padding-right:14px; padding-left:14px; }
    .testimonial-card{ flex-basis:calc(100vw - 28px); }
    .about-hero,.contact-hero,.packages-hero{ padding-right:14px; padding-left:14px; }
    .footer{ padding-right:14px; padding-left:14px; }
}

/* Embedded contact location, using the existing black-and-gold map section. */
.map-section--embedded{ isolation:isolate; }
.map-section--embedded .map-section__pattern{ display:none; }
.map-section--embedded .map-section__content{ max-width:470px; }
.map-embed{ position:absolute; z-index:0; inset:0 0 0 auto; width:58%; overflow:hidden; }
.map-embed::after{ position:absolute; inset:0; content:""; background:linear-gradient(90deg,#111 0%,rgba(17,17,17,.78) 22%,rgba(17,17,17,.08) 72%); pointer-events:none; }
.map-embed iframe{ display:block; width:100%; height:100%; border:0; filter:grayscale(.82) contrast(1.06) brightness(.74); }
.map-actions{ display:flex; flex-wrap:wrap; gap:11px; margin-top:26px; }
.map-actions a{ min-height:46px; }
.map-business-link{ display:inline-flex; align-items:center; gap:9px; padding:11px 15px; border:1px solid rgba(212,175,55,.42); color:#fff; font-size:11px; font-weight:600; transition:transform .25s ease,border-color .25s ease,background-color .25s ease,color .25s ease; }
.map-business-link i{ color:#D4AF37; font-size:14px; }
.map-business-link:hover{ border-color:#D4AF37; background:rgba(212,175,55,.11); color:#D4AF37; transform:translateY(-2px); }
@media (max-width:767px){
    .map-section--embedded{ min-height:510px; align-items:flex-start; padding-top:62px; }
    .map-section--embedded .map-section__content{ max-width:100%; }
    .map-embed{ top:auto; width:100%; height:225px; }
    .map-embed::after{ background:linear-gradient(180deg,#111 0%,rgba(17,17,17,.18) 45%,rgba(17,17,17,.08)); }
    .map-actions{ gap:9px; margin-top:20px; }
    .map-actions a{ flex:1 1 145px; justify-content:center; }
}

/* Smoothness pass: retain the existing visual language with lighter motion. */
:root{ --butter-ease:cubic-bezier(.22,.72,.18,1); }
@media (prefers-reduced-motion:no-preference){
    .header,.nav-links,.overlay,.gallery-lightbox,.faq-answer,.faq-answer > div{ transition-timing-function:var(--butter-ease); }
    .page-transition,.hero-particles span,.motion-border::before{ backface-visibility:hidden; }
    .btn-primary,.btn-secondary,.package-button,.whatsapp-cta__button,.packages-whatsapp a,.premium-package__bottom a{ transition-timing-function:var(--butter-ease); }
}
@media (hover:hover) and (pointer:fine){
    .nav-links a,.footer-links a,.footer-services a,.premium-package__bottom a{ transition-timing-function:var(--butter-ease); }
}
@media (prefers-reduced-motion:reduce){
    html{ scroll-behavior:auto; }
}
