:root{
--color-navy-900:#0f1929;--color-navy-800:#1a2744;--color-navy-700:#243660;--color-navy-600:#2d4275;--color-gold-500:#c9a84c;--color-gold-400:#d4b86a;--color-gold-300:#e8c96d;--color-gold-100:#fdf6e3;--color-grey-900:#111827;--color-grey-700:#374151;--color-grey-500:#6b7280;--color-grey-300:#d1d5db;--color-grey-100:#f3f4f6;--color-white:#ffffff;--color-off-white:#f8f9fc;
--color-primary:var(--color-navy-800);--color-accent:var(--color-gold-500);--color-text:var(--color-grey-700);--color-text-muted:var(--color-grey-500);--color-bg:var(--color-off-white);--color-surface:var(--color-white);--color-border:var(--color-grey-300);
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
--shadow-sm:0 1px 3px rgba(26,39,68,.06),0 1px 2px rgba(26,39,68,.04);--shadow-md:0 4px 16px rgba(26,39,68,.08),0 2px 6px rgba(26,39,68,.05);--shadow-lg:0 10px 40px rgba(26,39,68,.12),0 4px 16px rgba(26,39,68,.08);--shadow-xl:0 20px 60px rgba(26,39,68,.16),0 8px 24px rgba(26,39,68,.10);--shadow-gold:0 4px 20px rgba(201,168,76,.25);
--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-2xl:32px;--radius-full:9999px;
--transition-fast:all .15s ease;--transition-base:all .3s ease;--transition-slow:all .5s ease;--transition-spring:all .4s cubic-bezier(.34,1.56,.64,1);
--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;
--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.6;--leading-relaxed:1.75;
--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.05em;--tracking-wider:.1em;--tracking-widest:.2em;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:'Open Sans',sans-serif;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text);background:var(--color-bg);overflow-x:hidden}
body.menu-open{overflow:hidden}
html,body{max-width:100%}
img{max-width:100%;display:block}
img[data-img-ready="false"]{opacity:0}
img[data-img-ready="true"]{opacity:1;transition:opacity .35s ease}
a,button,input,select,textarea{transition:var(--transition-base)}
h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-4);font-family:'Playfair Display',serif;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-primary)}
h1{font-size:clamp(var(--text-5xl),8vw,var(--text-7xl))}
h2{font-size:clamp(2rem,4vw,2.75rem)}
h3{font-size:var(--text-2xl)}
p{margin:0 0 var(--space-4);max-width:680px;color:var(--color-text-muted)}
::selection{background:var(--color-gold-300);color:var(--color-navy-800)}
:focus-visible{outline:2px solid var(--color-gold-500);outline-offset:3px;border-radius:var(--radius-sm)}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--color-grey-100)}
::-webkit-scrollbar-thumb{background:var(--color-gold-500);border-radius:var(--radius-full)}
::-webkit-scrollbar-thumb:hover{background:var(--color-navy-800)}
.img-skeleton{position:relative;overflow:hidden;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}
@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes loaderShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes kenBurns{0%{transform:scale(1)}100%{transform:scale(1.06)}}
@keyframes fadeUp{to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.34)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shake{25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}
.topbar{position:relative;z-index:1035;background:rgba(15,25,41,.7);backdrop-filter:blur(14px)}
.topbar-inner{display:flex;justify-content:space-between;gap:var(--space-6);align-items:center;padding:10px 0}
.topbar-copy,.topbar-contact a{font-family:'Montserrat',sans-serif;font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:rgba(255,255,255,.82);text-decoration:none}
.topbar-contact{display:flex;gap:var(--space-6);flex-wrap:wrap}
.npg-navbar{position:sticky;top:0;height:80px;z-index:1030;background:rgba(15,25,41,.58);backdrop-filter:blur(16px)}
.npg-navbar.scrolled{height:60px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:var(--shadow-md)}
.navbar-shell{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);position:relative}
.navbar-brand,.navbar-nav,.nav-cta-wrap{display:flex;align-items:center}
.navbar-brand{margin:0;padding:0;min-width:0;flex:0 0 auto}
.brand-logo,.footer-logo{width:160px;height:58px;object-fit:contain;object-position:left center}
.navbar-nav{gap:var(--space-2)}
.nav-link{min-height:44px;display:inline-flex;align-items:center;font-family:'Montserrat',sans-serif;font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-white)!important;position:relative;padding:var(--space-3) var(--space-4)!important}
.npg-navbar.scrolled .nav-link{color:var(--color-primary)!important}
.nav-link::after{content:"";position:absolute;left:var(--space-4);right:var(--space-4);bottom:7px;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav-link:hover::after,.nav-link.active::after,.nav-link.nav-link-active::after{transform:scaleX(1)}
.nav-link.active,.nav-link.nav-link-active{color:var(--color-accent)!important}
.navbar-toggler{display:none;width:44px;height:44px;border:0;background:none;padding:0;flex:0 0 44px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-left:auto}
.navbar-toggler span{display:block;height:2px;background:var(--color-white)}
.npg-navbar.scrolled .navbar-toggler span{background:var(--color-primary)}
.mobile-menu-backdrop{position:fixed;inset:0;background:rgba(15,25,41,.58);backdrop-filter:blur(8px);opacity:0;visibility:hidden;z-index:1028}
.mobile-menu-backdrop.active{opacity:1;visibility:visible}
.mobile-menu-header{display:none}
.page-loader-bar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--color-gold-500),var(--color-gold-300),var(--color-gold-500));background-size:200% 100%;animation:loaderShimmer 1s infinite linear;z-index:99999;box-shadow:0 0 8px rgba(201,168,76,.5)}
.btn,.btn-primary-npg,.btn-outline-npg,.btn-ghost-navy{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-full);font-family:'Montserrat',sans-serif;font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-wide);text-decoration:none;cursor:pointer;position:relative;overflow:hidden;padding:14px 32px}
.btn-primary-npg,.btn-book-now,.btn-gold{background:var(--color-gold-500);color:var(--color-navy-800);border:2px solid transparent;box-shadow:var(--shadow-gold)}
.btn-primary-npg::before,.btn-book-now::before,.btn-gold::before{content:"";position:absolute;inset:0;background:var(--color-gold-300);transform:translateX(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1)}
.btn-primary-npg:hover::before,.btn-book-now:hover::before,.btn-gold:hover::before{transform:translateX(0)}
.btn-primary-npg:hover,.btn-book-now:hover,.btn-gold:hover{transform:translateY(-2px);box-shadow:var(--shadow-gold)}
.btn-primary-npg span,.btn-primary-npg i,.btn-book-now span,.btn-gold span{position:relative;z-index:1}
.btn-arrow{transition:transform .3s ease}
.btn-primary-npg:hover .btn-arrow,.btn-book-now:hover .btn-arrow,.btn-gold:hover .btn-arrow{transform:translateX(4px)}
.btn-outline-npg,.btn-outline-light{background:transparent;color:var(--color-white);border:2px solid rgba(255,255,255,.6)}
.btn-outline-npg:hover,.btn-outline-light:hover{background:rgba(255,255,255,.12);border-color:var(--color-white);transform:translateY(-2px)}
.btn-ghost-navy,.btn-ghost{background:transparent;color:var(--color-navy-800);border:2px solid var(--color-navy-800)}
.btn-ghost-navy:hover,.btn-ghost:hover{background:var(--color-navy-800);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.animated-link,.text-link{position:relative;text-decoration:none;color:var(--color-accent);font-family:'Montserrat',sans-serif;font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-wide)}
.animated-link::after,.text-link::after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--color-accent);transition:width .3s ease}
.animated-link:hover::after,.text-link:hover::after{width:100%}
.animated-link span,.text-link span{transition:transform .3s ease}
.animated-link:hover span,.text-link:hover span{transform:translateX(4px)}
.npg-input,.form-control,.form-select,textarea{width:100%;padding:14px 18px;border:2px solid var(--color-border);border-radius:var(--radius-md);font-family:'Open Sans',sans-serif;font-size:var(--text-base);color:var(--color-text);background:var(--color-white);outline:none;appearance:none}
.npg-input:focus,.form-control:focus,.form-select:focus,textarea:focus{border-color:var(--color-gold-500);box-shadow:0 0 0 4px rgba(201,168,76,.12)}
.npg-input::placeholder,.form-control::placeholder,textarea::placeholder{color:var(--color-grey-300)}
.form-label{font-family:'Montserrat',sans-serif;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-muted);margin-bottom:10px}
section{position:relative;padding:var(--space-24) 0}
.section-heading{margin:0 auto var(--space-16);max-width:760px}
.section-heading.text-center{text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:'Montserrat',sans-serif;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4)}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--color-accent);display:inline-block}
.section-heading h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;color:var(--color-primary);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);padding-top:var(--space-2)}
.section-heading h2::before{content:"";display:block;width:48px;height:3px;background:var(--color-accent);border-radius:var(--radius-full);margin:0 0 var(--space-5)}
.section-heading.text-center h2::before{margin:0 auto var(--space-5)}
.section-heading p{font-family:'Open Sans',sans-serif;font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text-muted);max-width:600px}
.section-dark-pattern{background:var(--color-navy-800)}
.section-dark-pattern::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.03),rgba(255,255,255,.03) 2px,transparent 2px,transparent 18px)}
.section-dot-grid{background-color:var(--color-off-white);background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:24px 24px}
.surface-soft{background:var(--color-off-white)}
.section-divider-top::before{content:"";position:absolute;left:0;right:0;top:-1px;height:60px;background:linear-gradient(175deg,var(--color-bg) 48%,transparent 49%)}
.home-hero{min-height:100vh;display:flex;align-items:flex-end;background:var(--color-navy-800);padding:140px 0 80px;overflow:hidden}
.hero-bg-image,.hero-media{position:absolute;inset:0;background-size:cover;background-position:center;animation:kenBurns 12s ease-out forwards}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,39,68,.88) 0%,rgba(26,39,68,.55) 60%,transparent 100%)}
.hero-grain-overlay{position:absolute;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");pointer-events:none}
.hero-content{position:relative;z-index:2}
.hero-copy{max-width:680px}
.hero-content,.hero-copy{display:flex;flex-direction:column;align-items:flex-start}
.hero-headline{font-size:clamp(2.75rem,8vw,4.5rem);color:var(--color-white)}
.hero-subtext{font-size:var(--text-lg);color:rgba(255,255,255,.82);max-width:580px}
.hero-cta-row,.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-8)}
.hero-glassbar,.hero-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--space-20);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);border-radius:var(--radius-xl);overflow:hidden}
.glass-stat{padding:22px 28px;position:relative}
.glass-stat:not(:last-child)::after{content:"";position:absolute;top:20px;bottom:20px;right:0;width:1px;background:rgba(201,168,76,.8)}
.glass-stat strong{display:block;font-family:'Playfair Display',serif;font-size:var(--text-3xl);color:var(--color-white)}
.glass-stat span{font-family:'Montserrat',sans-serif;font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:rgba(255,255,255,.78)}
.page-hero{min-height:420px;display:flex;align-items:center;background-size:cover;background-position:center;background-attachment:fixed}
.page-hero-content{text-align:center;padding:110px 0 50px;color:var(--color-white);max-width:760px;margin:0 auto}
.page-hero-content h1{font-size:clamp(2.5rem,6vw,3.75rem);color:var(--color-white)}
.page-hero-content p{font-size:var(--text-lg);color:rgba(255,255,255,.82)}
.breadcrumb-trail{display:block;margin-bottom:var(--space-4)}
.service-card,.tour-card,.blog-card,.testimonial-card,.gallery-card,.info-card,.form-panel,.booking-sidebar,.article-shell,.article-sidebar,.contact-card,.empty-state,.how-step{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid rgba(26,39,68,.05)}
.service-card:hover,.tour-card:hover,.blog-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}
.service-card,.tour-card,.blog-card,.testimonial-card,.contact-card,.info-card,.how-step{height:100%}
.service-card,.tour-card,.blog-card{display:flex;flex-direction:column}
.service-card{overflow:hidden;position:relative}
.card-grid{align-items:stretch}
.card-grid-item{display:flex}
.card-grid-item>.service-card,.card-grid-item>.tour-card,.card-grid-item>.blog-card{width:100%}
.service-card::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--color-accent);transition:width .3s ease}
.service-card:hover::after{width:100%}
.service-image-wrap,.tour-image-wrap,.card-image,.gallery-card,.shine-effect{position:relative;overflow:hidden}
.service-image-wrap img,.tour-image-wrap img,.card-image img,.gallery-card img,.blog-card img,.service-split-media img,.image-stack img,.article-shell img{width:100%;height:100%;object-fit:cover}
.service-image-wrap img{height:260px}
.tour-card .card-image,.tour-image-wrap{height:240px}
.tour-card .card-image img,.tour-image-wrap img{transition:transform .6s cubic-bezier(.4,0,.2,1)}
.tour-card:hover .card-image img,.tour-card:hover .tour-image-wrap img,.service-card:hover .service-image-wrap img,.blog-card:hover img,.gallery-card:hover img{transform:scale(1.08)}
.card-image-overlay,.tour-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,39,68,.7) 0%,transparent 60%);opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease}
.tour-card:hover .card-image-overlay,.tour-card:hover .tour-overlay{opacity:1}
.shine-effect::after{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,.15) 50%,rgba(255,255,255,0) 100%);transform:skewX(-25deg);pointer-events:none}
.shine-effect:hover::after{left:125%;transition:left .6s ease}
.icon-badge{position:absolute;left:20px;bottom:-22px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--color-accent);color:var(--color-white);box-shadow:var(--shadow-gold)}
.icon-badge-static{position:relative;left:auto;bottom:auto;margin-bottom:var(--space-6)}
.service-body,.tour-body,.blog-body,.testimonial-card{padding:30px 24px 24px}
.service-body,.tour-body,.blog-body{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 auto;height:auto;gap:12px}
.service-body h3,.tour-body h2,.blog-body h2{font-family:'Montserrat',sans-serif;font-size:var(--text-xl);font-weight:700;color:var(--color-primary)}
.service-body h3,.tour-body h2,.blog-body h2{margin-bottom:0}
.service-body p,.tour-body p,.blog-body p,.testimonial-card p,.editorial-copy .lead-copy,.booking-info-card p,.contact-card p,.article-content{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-muted)}
.service-body p,.tour-body p,.blog-body p{margin-bottom:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.service-body p,.blog-body p{-webkit-line-clamp:3}
.tour-body p{-webkit-line-clamp:4}
.blog-card img{width:100%;height:240px;object-fit:cover}
.badge-pill{position:absolute;top:18px;border-radius:var(--radius-full);padding:7px 12px;font-family:'Montserrat',sans-serif;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase}
.badge-destination{left:18px;background:var(--color-accent);color:var(--color-primary)}
.badge-duration{right:18px;background:rgba(26,39,68,.66);color:var(--color-white)}
.tour-stars,.post-date{font-family:'Montserrat',sans-serif;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent)}
.tour-highlights,.tour-meta{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
.tour-highlights{width:100%;min-height:44px;padding-top:8px}
.tour-highlights span{font-family:'Montserrat',sans-serif;font-size:var(--text-xs);color:var(--color-text-muted)}
.tour-meta strong,.price-highlight strong,.tour-price-bar strong{font-family:'Playfair Display',serif;font-size:var(--text-3xl);font-weight:700;color:var(--color-accent);text-shadow:0 2px 8px rgba(201,168,76,.3)}
.tour-meta strong,.price-highlight strong{padding-left:14px;border-left:3px solid var(--color-accent)}
.tour-meta{width:100%;margin-top:auto;padding-top:18px;border-top:1px solid rgba(26,39,68,.08)}
.tour-meta .btn{margin-left:auto}
.blog-body .animated-link,.blog-body .text-link,.service-body .animated-link{margin-top:auto}
.text-gold{color:var(--color-accent)!important}
.icon-wrap{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:rgba(22,163,74,.12);color:#16a34a;font-size:2rem}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);position:relative}
.steps-connector,.how-grid::before{content:"";position:absolute;left:16%;right:16%;top:48px;border-top:2px dashed rgba(201,168,76,.5)}
.how-step{padding:44px 26px 24px;text-align:center}
.step-number{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto var(--space-6);background:rgba(201,168,76,.14);color:var(--color-accent);font-family:'Playfair Display',serif;font-size:var(--text-3xl)}
.how-step i{font-size:1.4rem;color:var(--color-primary);margin-bottom:var(--space-4)}
.stats-showcase{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);position:relative;z-index:1;align-items:stretch}
.stats-card{text-align:center;padding:34px 22px;border-radius:var(--radius-lg);border:1px solid rgba(26,39,68,.08);background:var(--color-white);box-shadow:var(--shadow-sm)}
.stats-card strong{display:block;font-family:'Playfair Display',serif;font-size:clamp(var(--text-4xl),6vw,var(--text-6xl));color:var(--color-primary);text-shadow:none}
.stats-card span{display:block;font-family:'Montserrat',sans-serif;font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted)}
.section-dark-pattern .stats-card,.section-dark .stats-card,.stats-band .stats-card{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.02);box-shadow:none}
.section-dark-pattern .stats-card strong,.section-dark .stats-card strong,.stats-band .stats-card strong{color:var(--color-accent);text-shadow:0 2px 8px rgba(201,168,76,.3)}
.section-dark-pattern .stats-card span,.section-dark .stats-card span,.stats-band .stats-card span{color:var(--color-white)}
.testimonial-card{height:100%;position:relative;padding:40px 30px 28px}
.testimonial-card::before{content:'"';position:absolute;left:16px;top:6px;font-family:'Playfair Display',serif;font-size:120px;line-height:1;color:rgba(201,168,76,.08);z-index:0}
.testimonial-card>*{position:relative;z-index:1}
.quote-mark{display:none}
.testimonial-person{display:flex;align-items:center;gap:14px;margin-top:var(--space-5)}
.testimonial-person img{width:60px;height:60px;border-radius:50%;object-fit:cover}
.testimonial-person strong{font-family:'Montserrat',sans-serif;font-size:var(--text-base);font-weight:700}
.testimonial-person span{display:block;font-size:var(--text-sm);color:var(--color-text-muted)}
.gallery-lux-grid,.gallery-masonry{columns:3;gap:var(--space-5)}
.gallery-card{break-inside:avoid;margin-bottom:var(--space-5);padding:0;cursor:pointer}
.gallery-card img{border-radius:var(--radius-md)}
.gallery-overlay{position:absolute;inset:0;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--color-white);background:linear-gradient(to top,rgba(26,39,68,.7) 0%,transparent 60%);opacity:0}
.gallery-card:hover .gallery-overlay{opacity:1}
.service-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:84px}
.service-split.reverse .service-split-media{order:2}
.service-split.reverse .service-split-copy{order:1}
.service-split-media img,.image-stack img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-height:500px}
.service-split-copy h2,.editorial-copy h2,.booking-info-card h2,.contact-form-pane h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,2.75rem)}
.editorial-copy,.service-split-copy,.contact-form-pane{display:flex;flex-direction:column;align-items:flex-start}
.editorial-copy .lead-copy,.service-split-copy p{max-width:640px;margin-bottom:0}
.mission-card{padding:24px}
.tour-filter-sticky{position:sticky;top:60px;z-index:1018;background:rgba(248,249,252,.92);backdrop-filter:blur(10px);padding:16px 0;border-bottom:1px solid rgba(26,39,68,.06)}
.tour-filter-bar{display:grid;grid-template-columns:2fr 1.3fr 1.3fr auto;gap:14px;background:var(--color-white);padding:16px;border-radius:var(--radius-full);box-shadow:var(--shadow-md)}
.empty-state{text-align:center;padding:60px 30px}
.empty-illustration{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:rgba(201,168,76,.14);margin:0 auto var(--space-4);color:var(--color-accent);font-size:2rem}
.tour-detail-hero{height:500px;background-size:cover;background-position:center;display:flex;align-items:flex-end}
.tour-hero-content{padding:0 0 64px;color:var(--color-white)}
.tour-hero-content h1{color:var(--color-white);font-size:clamp(2.5rem,6vw,4rem)}
.tour-hero-content p{color:rgba(255,255,255,.82)}
.tour-detail-shell,.booking-sidebar,.article-shell,.article-sidebar,.contact-card,.form-panel{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.tour-detail-shell,.article-shell,.article-sidebar,.form-panel{padding:28px}
.tour-price-bar{display:flex;align-items:end;gap:10px;padding-bottom:24px;border-bottom:1px solid rgba(26,39,68,.08);margin-bottom:24px}
.tour-tabs{display:flex;gap:18px;flex-wrap:wrap;border-bottom:1px solid rgba(26,39,68,.08);padding-bottom:16px;margin-bottom:24px}
.tour-tabs a{text-decoration:none;font-family:'Montserrat',sans-serif;font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-wide);color:var(--color-primary)}
.tour-section-block{padding:18px 0;border-bottom:1px solid rgba(26,39,68,.08)}
.timeline-block{padding-left:22px;border-left:2px solid rgba(201,168,76,.45)}
.booking-sidebar{position:sticky;top:95px;overflow:hidden}
.booking-sidebar-header{background:var(--color-accent);padding:18px 24px;font-family:'Montserrat',sans-serif;font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-primary)}
.booking-sidebar-body{padding:24px}
.price-highlight{padding:18px;background:var(--color-gold-100);border-radius:var(--radius-md);margin-bottom:20px}
.price-highlight span,.price-highlight small{display:block;font-family:'Montserrat',sans-serif;font-size:var(--text-sm)}
.booking-layout,.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:start}
.booking-info-card{background:linear-gradient(180deg,var(--color-navy-800),var(--color-navy-700));color:var(--color-white);padding:38px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);height:100%}
.booking-form-card,.form-panel{display:flex;flex-direction:column}
.form-label{display:inline-block;margin-bottom:var(--space-2)}
.booking-info-card h2,.booking-info-card .eyebrow{color:var(--color-white)}
.booking-info-card p,.booking-info-card span,.traveller-quote,.luxury-bullets.light li{color:rgba(255,255,255,.82)}
.booking-contact-list{display:grid;gap:14px;margin-top:30px}
.traveller-quote{font-style:italic;border-left:2px solid var(--color-gold-300);padding-left:16px;margin-top:28px}
.contact-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:18px;align-items:stretch}
.contact-card{display:flex;gap:16px;align-items:flex-start;padding:24px}
.contact-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary);color:var(--color-accent);flex-shrink:0}
.map-panel iframe{min-height:420px;width:100%;border:0;border-radius:var(--radius-lg)}
.sidebar-post-link{display:block;text-decoration:none;padding:16px;border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-primary);margin-bottom:12px}
.sidebar-post-link span{display:block;font-size:var(--text-sm);color:var(--color-text-muted)}
.newsletter-card{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;padding:40px;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--color-navy-800),var(--color-navy-700));color:var(--color-white)}
.newsletter-card h3{font-size:clamp(2rem,4vw,2.75rem);color:var(--color-white)}
.newsletter-card p{color:rgba(255,255,255,.78)}
.newsletter-form{display:flex;gap:10px;align-items:center}
.newsletter-form>*{min-width:0}
.site-footer{margin-top:90px;background:var(--color-primary);color:var(--color-white)}
.footer-main{padding:70px 0 40px}
.footer-lead{color:rgba(255,255,255,.74)}
.social-links{display:flex;gap:12px}
.social-links a,.footer-link,.filter-pill{min-height:44px;display:inline-flex;align-items:center}
.social-links a{width:42px;height:42px;justify-content:center;border-radius:50%;border:1px solid var(--color-accent);color:var(--color-accent);text-decoration:none}
.social-links a:hover{background:var(--color-accent);color:var(--color-primary)}
.site-footer h5{font-family:'Montserrat',sans-serif;font-size:var(--text-base);font-weight:700;color:var(--color-white);margin-bottom:20px}
.footer-links,.footer-contact{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.footer-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:rgba(255,255,255,.78);font-family:'Open Sans',sans-serif}
.footer-links a:hover{color:var(--color-gold-300)}
.footer-main .row{align-items:start}
.footer-main .col-lg-4,.footer-main .col-lg-2,.footer-main .col-lg-3{display:flex;flex-direction:column}
.footer-contact li{display:flex;gap:12px}
.footer-contact i{margin-top:6px;color:var(--color-accent)}
.footer-contact span{color:rgba(255,255,255,.78)}
.footer-bar{background:var(--color-navy-900);border-top:1px solid rgba(232,201,109,.35)}
.footer-bar-inner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 0}
.whatsapp-wrap{position:fixed;right:24px;bottom:24px;z-index:1000;opacity:0;transform:translateY(16px)}
.whatsapp-wrap.visible{opacity:1;transform:translateY(0)}
.whatsapp-tooltip{position:absolute;right:70px;top:50%;transform:translateY(-50%);padding:8px 12px;border-radius:var(--radius-full);background:var(--color-white);color:var(--color-primary);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;white-space:nowrap}
.whatsapp-wrap:hover .whatsapp-tooltip{opacity:1}
.whatsapp-float{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:var(--color-white);font-size:1.6rem;text-decoration:none;box-shadow:var(--shadow-lg);animation:pulse 2s infinite}
#back-to-top{position:fixed;bottom:100px;right:24px;width:44px;height:44px;background:var(--color-navy-800);color:var(--color-gold-500);border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;transform:translateY(16px);transition:var(--transition-base);z-index:999}
#back-to-top.visible{opacity:1;transform:translateY(0)}
#back-to-top:hover{background:var(--color-gold-500);color:var(--color-navy-800);box-shadow:var(--shadow-gold)}
.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.animate-on-scroll.animate-in{opacity:1;transform:none}
.animate-sequence>*{opacity:0;transform:translateY(28px);animation:fadeUp .8s forwards}
.animate-sequence>*:nth-child(2){animation-delay:.2s}.animate-sequence>*:nth-child(3){animation-delay:.4s}.animate-sequence>*:nth-child(4){animation-delay:.6s}
.is-loading{position:relative;color:transparent!important}
.is-loading::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid rgba(255,255,255,.4);border-top-color:var(--color-white);border-radius:50%;animation:spin .8s linear infinite}
.btn-gold.is-loading::after,.btn-book-now.is-loading::after,.btn-primary-npg.is-loading::after{border:2px solid rgba(26,39,68,.22);border-top-color:var(--color-navy-800)}
.shake{animation:shake .32s linear}
@media (max-width:1199px){
.hero-glassbar,.stats-showcase{grid-template-columns:repeat(2,1fr)}
.newsletter-card{grid-template-columns:1fr}
.tour-filter-bar{grid-template-columns:1fr 1fr}
}
@media (max-width:1024px){
.service-split,.booking-layout,.contact-layout{grid-template-columns:1fr}
.booking-sidebar{position:relative;top:auto}
.tour-filter-bar{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
body{overflow-x:hidden}
section{padding:var(--space-16) 0}
.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{padding-left:var(--space-4);padding-right:var(--space-4)}
.hero-section{height:100svh}
.page-hero{min-height:360px;background-attachment:scroll}
.hero-headline{font-size:clamp(2rem,8vw,3rem)}
.hero-subtext{font-size:var(--text-base)}
.hero-content,.hero-copy,.editorial-copy,.service-split-copy,.contact-form-pane{text-align:center;align-items:center}
.hero-cta-row{flex-direction:column;align-items:center;gap:var(--space-3)}
.hero-cta-row .btn-primary-npg,.hero-cta-row .btn-outline-npg,.hero-cta-row .btn-gold,.hero-cta-row .btn-outline-light{width:100%;justify-content:center}
.hero-stats-bar,.hero-glassbar{grid-template-columns:1fr 1fr;gap:0}
.glass-stat{padding:18px 16px}
.page-hero-content{padding:96px 0 36px}
.tour-card{margin-bottom:var(--space-6)}
.services-grid{grid-template-columns:1fr}
.steps-connector,.how-grid::before{display:none}
.how-grid{grid-template-columns:1fr;gap:var(--space-8)}
.npg-navbar{position:fixed;background:var(--color-navy-800)!important}
.npg-navbar .container{padding-left:var(--space-4);padding-right:var(--space-4)}
.navbar-shell{min-height:72px}
.navbar-brand{max-width:calc(100% - 60px)}
.navbar-brand img{max-width:132px;height:46px;object-fit:contain}
.testimonials-carousel .swiper-slide{width:100%!important}
.gallery-masonry,.gallery-lux-grid{columns:2;gap:var(--space-3)}
.footer-grid,.footer-main .row{grid-template-columns:1fr;gap:var(--space-8)}
.contact-card-grid{grid-template-columns:1fr}
.stats-showcase,.tour-filter-bar,.contact-card-grid,.hero-stats-bar,.hero-glassbar{width:100%}
.stats-showcase{grid-template-columns:1fr 1fr}
.service-split{gap:28px;margin-bottom:56px}
.service-split-media img,.image-stack img{min-height:320px}
.tour-filter-sticky{position:relative;top:auto;padding:0;border:0;background:transparent;backdrop-filter:none}
.tour-filter-bar{grid-template-columns:1fr;border-radius:var(--radius-xl);padding:14px}
.tour-tabs{gap:12px}
.tour-price-bar{flex-direction:column;align-items:flex-start}
.booking-layout,.contact-layout{gap:24px}
.booking-info-card,.tour-detail-shell,.article-shell,.article-sidebar,.form-panel,.booking-sidebar-body{padding:22px}
.booking-sidebar-header{padding:16px 22px}
.newsletter-card{padding:28px}
.newsletter-form{flex-direction:column;align-items:stretch}
.newsletter-form .btn,.newsletter-form button,.newsletter-form .form-control{width:100%}
.map-panel iframe,.contact-map iframe{min-height:320px}
.footer-bar-inner{justify-content:center;text-align:center}
.whatsapp-wrap{right:18px;bottom:18px}
#back-to-top{right:18px;bottom:86px}
.admin-sidebar{transform:translateX(-100%);transition:transform .3s ease}
.admin-sidebar.open{transform:translateX(0)}
.admin-main{margin-left:0!important}
.topbar-contact{display:none}
.navbar-toggler{display:flex}
.navbar-toggler span{width:28px}
.collapse.navbar-collapse{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;background:rgba(26,39,68,.97);backdrop-filter:blur(18px);padding:28px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;transform:translateX(100%);transition:transform .35s ease;z-index:1060}
.collapse.navbar-collapse.open{transform:translateX(0)}
.mobile-menu-header{display:flex;position:absolute;top:28px;left:24px;right:24px;justify-content:space-between;align-items:center}
.mobile-close{border:0;background:none;color:var(--color-white);font-size:1.4rem}
.navbar-nav{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:10px;margin:0;padding:0}
.navbar-nav .nav-item{width:100%;display:flex;justify-content:center}
.navbar-nav .nav-link{justify-content:center;width:100%;max-width:280px;padding:14px 20px!important}
.nav-cta-wrap{margin-top:var(--space-6);width:100%;display:flex;justify-content:center}
.nav-cta-wrap .btn{width:100%;max-width:280px}
body.menu-open .navbar-brand,body.menu-open .navbar-toggler{opacity:0;pointer-events:none}
}
@media (max-width:575.98px){
.hero-stats-bar,.hero-glassbar,.stats-showcase{grid-template-columns:1fr}
.gallery-masonry,.gallery-lux-grid{columns:1}
.hero-content{padding-top:104px;padding-bottom:var(--space-12)}
.tour-detail-hero{height:420px}
.tour-hero-content{padding-bottom:40px}
.tour-filter-bar,.booking-info-card,.newsletter-card,.form-panel,.tour-detail-shell,.article-shell,.article-sidebar,.contact-card,.admin-panel{border-radius:var(--radius-lg)}
.table-wrap{margin-inline:-4px}
}
@media (max-width:375px){
.hero-headline{font-size:1.75rem}
.btn-primary-npg,.btn-outline-npg,.btn-gold,.btn-outline-light{padding:12px 24px}
.page-hero-content h1{font-size:2rem}
.glass-stat{padding:16px 14px}
.navbar-shell{min-height:68px}
.navbar-brand img{max-width:118px;height:42px}
}
