/* Eurasian Adventure Club — theme on top of Bootstrap 5.3 */
:root{
  --green:#004410; --deep:#002d0b; --cream:#F2E5D0; --cream-2:#f8f1e4; --gold:#D8AE55; --gold-l:#E8C77C;
  --ink:#1b2a1f; --muted:#5d6b60; --line:rgba(0,68,16,.14);
  --font-display:'Playfair Display',Georgia,serif; --font-body:'Inter',system-ui,-apple-system,Arial,sans-serif;
  --r:18px; --shadow:0 18px 44px -22px rgba(0,45,11,.45);
  --bs-body-font-family:var(--font-body); --bs-body-color:var(--ink); --bs-link-color:var(--green); --bs-link-hover-color:var(--deep);
}
html{scroll-behavior:smooth} body{background:#fff;font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.display-font{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--deep);letter-spacing:-.01em}
img{max-width:100%}
.skip-link{position:absolute;left:1rem;top:.5rem;z-index:2000;background:#fff;padding:.5rem 1rem;border-radius:8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Buttons */
.btn{border-radius:999px;font-weight:600;padding:.7rem 1.5rem;transition:transform .2s,background .2s,color .2s,box-shadow .2s}
.btn-lg{padding:.9rem 2rem}
.btn-green{background:var(--green);color:#fff;border:2px solid var(--green)} .btn-green:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.btn-gold{background:var(--gold);color:var(--deep);border:2px solid var(--gold)} .btn-gold:hover{background:var(--gold-l);border-color:var(--gold-l);color:var(--deep);transform:translateY(-2px)}
.btn-line{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)} .btn-line:hover{background:#fff;color:var(--deep)}
.btn-line-dark{background:transparent;color:var(--green);border:2px solid var(--green)} .btn-line-dark:hover{background:var(--green);color:#fff}

/* Header */
.site-header{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 8px 30px -18px rgba(0,45,11,.6)}
.navbar{padding:.55rem 0}
.navbar-toggler{border:0;font-size:2rem;color:var(--green);padding:0 .25rem} .navbar-toggler:focus{box-shadow:none}
.nav-link{font-weight:600;color:var(--ink)!important;padding:.6rem .9rem!important;position:relative;font-size:.98rem}
.nav-link:hover,.nav-link.active{color:var(--green)!important}
@media(min-width:1200px){.nav-link.active::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.2rem;height:2px;background:var(--gold)}}
.dropdown-menu{border:0;border-radius:14px;box-shadow:var(--shadow);padding:.5rem}
.dropdown-item{border-radius:8px;padding:.55rem .9rem;font-weight:500} .dropdown-item:hover,.dropdown-item.active{background:var(--cream);color:var(--deep)}
@media(min-width:1200px){.dropdown:hover>.dropdown-menu{display:block}}

/* Section scaffolding */
.sec{padding:96px 0} .sec-cream{background:var(--cream)} .sec-soft{background:var(--cream-2)} .sec-green{background:var(--green);color:#e9efe9} .sec-deep{background:var(--deep);color:#e9efe9}
@media(max-width:767px){.sec{padding:64px 0}}
.sec-head{max-width:720px;margin-bottom:3rem} .sec-head h2{font-size:clamp(2rem,4vw,3rem)} .sec-head.on-dark h2{color:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;color:var(--gold);font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.9rem}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--gold)}
.sec-head.text-center .eyebrow::after{content:"";width:34px;height:2px;background:var(--gold)}
.sec-cream .eyebrow,.sec-soft .eyebrow,.sec:not(.sec-green):not(.sec-deep) .eyebrow{color:#a67c1f} .sec-cream .eyebrow::before,.sec-soft .eyebrow::before{background:#a67c1f}
.lead-sm{color:var(--muted);font-size:1.1rem} .on-dark .lead-sm{color:#cdd8cd}
.sec-green h2,.sec-green h3,.sec-deep h2,.sec-deep h3{color:#fff}

/* Home hero */
.hero{position:relative;min-height:calc(100vh - 74px);display:flex;flex-direction:column;justify-content:center;color:#fff;overflow:hidden;background:var(--deep)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,30,8,.86) 0%,rgba(0,45,11,.55) 55%,rgba(0,45,11,.25) 100%),linear-gradient(0deg,rgba(0,30,8,.7),transparent 45%)}
.hero .container{position:relative;z-index:2}
.hero-inner{max-width:760px}
.hero .eyebrow{color:var(--gold-l)} .hero .eyebrow::before{background:var(--gold-l)}
.hero h1{color:#fff;font-size:clamp(2.6rem,7vw,5.4rem);margin-bottom:1rem}
.hero h1 small{display:block;font-family:var(--font-body);font-size:clamp(.9rem,1.6vw,1.15rem);font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-l);margin-bottom:.9rem}
.tourism .flag{vertical-align:middle;border-radius:2px;display:inline-block}
.hero .tourism{font-weight:700;letter-spacing:.18em;font-size:.9rem;color:var(--gold);display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.hero .tourism::before{content:"";width:60px;height:1px;background:var(--gold)}
.hero p.lead{color:#e9efe9;max-width:560px;font-size:1.15rem}
.trust-row{display:flex;flex-wrap:wrap;gap:.5rem 1.8rem;margin-top:2.2rem;color:#dfe8df;font-weight:600}
.trust-row i{color:var(--gold);margin-right:.5rem}
.hero-panel{position:absolute;z-index:2;left:0;right:0;bottom:0;background:rgba(0,30,8,.82);backdrop-filter:blur(8px);border-top:1px solid rgba(216,174,85,.35);padding:1.4rem 0}
.hero-panel .row>div{padding-block:.4rem}
.hero-panel h6{color:var(--gold);font-family:var(--font-body);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.3rem}
.hero-panel p,.hero-panel a{color:#e9efe9;font-size:.92rem;margin:0;line-height:1.5;text-decoration:none}
.hero-panel .cats a{display:inline-block;margin-right:1rem;font-weight:600} .hero-panel a:hover{color:var(--gold-l)}
@media(max-width:991px){.hero{min-height:0}.hero-row{padding:60px 0 30px}.hero-panel{position:relative;margin-top:1rem}}

/* Inner page hero */
.page-hero{position:relative;color:#fff;padding:120px 0 96px;background:linear-gradient(rgba(0,30,8,.72),rgba(0,45,11,.8)),var(--hero,none) center/cover no-repeat,var(--deep)}
.page-hero h1{color:#fff;font-size:clamp(2.4rem,6vw,4.4rem);max-width:820px} .page-hero p{max-width:640px;color:#e3ebe3;font-size:1.15rem;margin:0} .page-hero .eyebrow{color:var(--gold-l)} .page-hero .eyebrow::before{background:var(--gold-l)}

/* Cards */
.card-eac{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.card-eac:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card-eac .ph{aspect-ratio:4/3;overflow:hidden;background:var(--cream)} .card-eac .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card-eac:hover .ph img{transform:scale(1.06)}
.card-eac .body{padding:1.5rem;display:flex;flex-direction:column;flex:1} .card-eac h3{font-size:1.4rem}
.card-eac p{color:var(--muted);font-size:.98rem} .card-eac .more{margin-top:auto;font-weight:700;text-decoration:none;color:var(--green)} .card-eac .more i{transition:transform .2s} .card-eac .more:hover i{transform:translate(3px,-3px)}

.dest{position:relative;border-radius:var(--r);overflow:hidden;min-height:420px;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s}
.dest::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,25,6,.92) 8%,rgba(0,25,6,.15) 60%)}
.dest:hover img{transform:scale(1.07)} .dest .inner{padding:1.6rem}
.dest .tag{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l);font-weight:700} .dest h3{color:#fff;font-size:1.55rem;margin:.3rem 0 .5rem} .dest p{font-size:.95rem;color:#e3ebe3;margin-bottom:.9rem}
.dest .idx{position:absolute;top:1.1rem;right:1.3rem;font-family:var(--font-display);font-size:1.4rem;color:rgba(255,255,255,.7)}
.dest a{color:var(--gold-l);font-weight:700;text-decoration:none}

.svc{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;padding:1.6rem;background:#fff;border-radius:var(--r);border:1px solid var(--line);height:100%;transition:border-color .25s,box-shadow .25s}
.svc:hover{border-color:var(--gold);box-shadow:var(--shadow)} .svc .ico{width:56px;height:56px;border-radius:14px;background:var(--cream);color:var(--green);display:grid;place-items:center;font-size:1.6rem}
.svc .tag{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#a67c1f} .svc h3{font-size:1.25rem;margin:.15rem 0 .4rem} .svc p{margin:0;color:var(--muted);font-size:.97rem}
.svc-img{border-radius:var(--r);overflow:hidden;height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line)} .svc-img img{aspect-ratio:16/10;object-fit:cover;width:100%} .svc-img .b{padding:1.3rem 1.4rem 1.5rem} .svc-img h3{font-size:1.2rem} .svc-img p{margin:0;color:var(--muted);font-size:.95rem}

.value-row{display:grid;grid-template-columns:64px 1fr;gap:1rem;padding:1.3rem 0;border-bottom:1px solid rgba(255,255,255,.18)}
.value-row .n{font-family:var(--font-display);font-size:1.6rem;color:var(--gold)} .value-row h3{font-size:1.35rem;margin:0 0 .2rem} .value-row p{margin:0;color:#cdd8cd}
.on-light .value-row{border-color:var(--line)} .on-light .value-row p{color:var(--muted)} .on-light .value-row h3{color:var(--deep)} .on-light .value-row .n{color:#a67c1f}

.stat{text-align:center;padding:1.5rem 1rem} .stat i{font-size:1.7rem;color:var(--gold)} .stat .num{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,3.6rem);color:#fff;line-height:1.1;margin:.4rem 0}
.stat h3{font-size:1.05rem;font-family:var(--font-body);font-weight:600;color:var(--gold-l)} .stat p{font-size:.9rem;color:#cdd8cd;margin:0}

.split-img{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:var(--cream)} .split-img img{width:100%;height:100%;object-fit:cover}
.pill{display:inline-block;padding:.4rem 1rem;border:1px solid var(--line);border-radius:999px;font-weight:600;color:var(--green);background:#fff;margin:0 .4rem .6rem 0}
.tick-list{list-style:none;padding:0;margin:0} .tick-list li{position:relative;padding-left:1.9rem;margin-bottom:.55rem} .tick-list li::before{content:"\F26E";font-family:"bootstrap-icons";position:absolute;left:0;color:var(--gold);font-size:1.1rem}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2rem;height:100%;position:relative;display:flex;flex-direction:column} .pcard.pop{border:2px solid var(--gold);box-shadow:var(--shadow)}
.pcard .badge-pop{position:absolute;top:-14px;left:2rem;background:var(--gold);color:var(--deep);font-weight:700;font-size:.75rem;letter-spacing:.1em;padding:.3rem .9rem;border-radius:999px}
.price{font-family:var(--font-display);font-size:2.3rem;color:var(--green)} .price small{font-family:var(--font-body);font-size:.9rem;color:var(--muted)}
.pcard .btn{margin-top:auto}

/* Tour category rows */
.tour-row{padding:72px 0} .tour-row:nth-child(even){background:var(--cream-2)} .tour-row .split-img{aspect-ratio:1/1}
.from{display:inline-block;background:var(--green);color:#fff;border-radius:999px;padding:.35rem 1.1rem;font-weight:700;margin-bottom:1.2rem}

/* FAQ */
.accordion{--bs-accordion-border-color:var(--line);--bs-accordion-active-bg:var(--cream);--bs-accordion-active-color:var(--deep);--bs-accordion-btn-focus-box-shadow:0 0 0 3px rgba(216,174,85,.5)}
.accordion-item{border-radius:14px!important;overflow:hidden;margin-bottom:.8rem;border:1px solid var(--line)!important} .accordion-button{font-weight:600;font-size:1.05rem}
.accordion-body{color:var(--muted)}

/* Rally */
.rally-banner{position:relative;color:#fff;padding:110px 0;background:linear-gradient(rgba(0,25,6,.78),rgba(0,45,11,.86)),var(--bg) center/cover no-repeat;text-align:center}
.rally-banner-img{padding:0;background:var(--deep);line-height:0}
.rally-banner-img>a{display:block}
.rally-banner-img img{display:block;width:100%;height:auto;transition:filter .25s} .rally-banner-img>a:hover img{filter:brightness(1.05)}
/* Rally banner on phones/tablets: the wide 2.4:1 image gets a taller frame, cropped from the centre so the logos, title, flag and tagline stay large and readable */
@media(max-width:767px){.rally-banner-img img{aspect-ratio:5/4;height:auto;object-fit:cover;object-position:50% 50%}}
@media(max-width:575px){.rally-banner-img img{aspect-ratio:1/1}}
.rally-banner-cta{text-align:center;line-height:1.7;padding:1.6rem 0;background:var(--deep)}
.rally-banner h2{color:#fff;font-size:clamp(2rem,5vw,3.4rem)} .rally-banner .big75{font-family:var(--font-display);font-size:clamp(5rem,14vw,9rem);color:var(--gold);line-height:1}
.obj{padding:1.8rem;border-radius:var(--r);background:#fff;border:1px solid var(--line);height:100%} .obj .k{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#a67c1f} .obj h3{font-size:1.3rem;margin:.4rem 0 .6rem} .obj p{margin:0;color:var(--muted);font-size:.97rem}
.tier{border-radius:var(--r);border:1px solid var(--line);background:#fff;padding:2rem;height:100%} .tier.top{background:var(--deep);color:#dfe8df;border-color:var(--gold)} .tier.top h3,.tier.top .price{color:#fff} .tier .price{font-size:1.9rem}
.tier .meta{color:#a67c1f;font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase} .tier.top .meta{color:var(--gold-l)} .tier ul{font-size:.94rem;margin-top:1.2rem}
.partner-logos img{max-height:120px;width:auto;background:#fff;border-radius:14px;padding:.6rem;object-fit:contain;max-width:100%}

/* Forms */
.form-card{background:#fff;border-radius:var(--r);padding:2.2rem;box-shadow:var(--shadow);border:1px solid var(--line)}
.form-control,.form-select{border-radius:12px;border:1px solid #cfd8cf;padding:.75rem 1rem;background-color:#fcfdfb} .form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(216,174,85,.45)}
.form-label{font-weight:600;font-size:.88rem;color:var(--deep)} .form-sec-title{font-family:var(--font-display);font-size:1.4rem;padding-bottom:.6rem;border-bottom:2px solid var(--gold);margin:2rem 0 1.2rem}
.contact-tile{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.18)} .contact-tile i{color:var(--gold);font-size:1.4rem} .contact-tile a{color:#fff}

/* CTA + footer */
.cta-band{background:linear-gradient(135deg,var(--deep),var(--green));color:#fff;padding:88px 0} .cta-band h2{color:#fff;font-size:clamp(2rem,4.5vw,3.2rem);max-width:760px;margin:0 auto 1rem} .cta-band p{max-width:620px;margin:0 auto 2rem;color:#dbe6db;font-size:1.1rem}
.site-footer{background:var(--deep);color:#c6d3c6;padding:80px 0 28px} .site-footer h5{color:#fff;font-family:var(--font-display);font-size:1.2rem;margin-bottom:1.1rem}
.site-footer a{color:#c6d3c6;text-decoration:none} .site-footer a:hover{color:var(--gold-l)} .site-footer li{margin-bottom:.55rem}
.footer-logo img{background:none;padding:0;border-radius:0;height:140px;width:auto} .social{display:flex;gap:.6rem;margin-top:1.2rem} .social a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;transition:.2s} .social a:hover{background:var(--gold);color:var(--deep);border-color:var(--gold)}
.contact-list li{display:flex;gap:.8rem} .contact-list i{color:var(--gold)}
.footer-bottom{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);margin-top:3rem;padding-top:1.5rem;font-size:.92rem}
.developed-by{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:2.4rem;font-size:.85rem;letter-spacing:.04em;color:#c6d3c6}
.developed-by a{display:inline-flex;align-items:center;background:#fff;padding:.4rem 1rem;border-radius:10px;line-height:0;box-shadow:0 6px 18px -6px rgba(0,0,0,.55);animation:devLogoBounce 2.6s ease-in-out infinite;transition:transform .25s,box-shadow .25s}
.developed-by a:hover{transform:scale(1.08);box-shadow:0 10px 24px -6px rgba(0,0,0,.65)}
.developed-by img{display:block;height:26px;width:auto;object-fit:contain}
@keyframes devLogoBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.developed-by a{animation:none}}
.float-call{position:fixed;right:20px;bottom:20px;z-index:1040;width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;font-size:1.9rem;box-shadow:0 10px 30px -6px rgba(37,211,102,.7);transition:transform .25s,box-shadow .25s;animation:floatCallBounce 2.6s ease-in-out infinite}
.float-call i{position:relative;z-index:2;line-height:0}
.float-call:hover{transform:scale(1.1);color:#fff;box-shadow:0 14px 34px -6px rgba(37,211,102,.85)}
.float-call-ring{position:absolute;inset:0;border-radius:50%;background:#25D366;z-index:1;animation:floatCallPulse 2.2s cubic-bezier(.4,0,.3,1) infinite}
@keyframes floatCallPulse{0%{transform:scale(1);opacity:.65}100%{transform:scale(1.9);opacity:0}}
@keyframes floatCallBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.float-call{animation:none}.float-call-ring{animation:none;display:none}}

/* Rally route map */
.rmap-wrap{overflow-x:auto;border:1px solid rgba(216,174,85,.22);border-radius:6px;background:#07160f}
.rmap{position:relative;min-width:760px}
.rmap svg{display:block;width:100%;height:auto;font-family:var(--font-body)}
.rm-name{fill:#fff;font-size:21px;font-weight:700;letter-spacing:.01em}
.rm-cap{fill:var(--gold);font-size:19px;font-weight:800;letter-spacing:.24em}
.rm-dot{fill:#0c1a12;stroke:#6f8172;stroke-width:2.5;transition:.3s}
.rm-stop{cursor:pointer;outline:none} .rm-stop:focus-visible .rm-dot{stroke:var(--gold)}
.rm-stop.done .rm-dot{fill:var(--gold);stroke:var(--gold)} .rm-stop.current .rm-dot{fill:#fff;stroke:var(--gold);stroke-width:4}
.rm-card{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:min(33%,420px);min-width:290px;padding:1.05rem 1.2rem;background:rgba(28,14,12,.82);border:1px solid rgba(216,174,85,.4);backdrop-filter:blur(6px)}
.rm-card-top{display:flex;justify-content:space-between;align-items:baseline;color:#e4c476;letter-spacing:.22em;font-size:.82rem;font-weight:700} .rm-card-top strong{letter-spacing:.02em;font-size:1rem}
.rm-bar{height:4px;background:rgba(255,255,255,.14);margin:.7rem 0 .9rem} .rm-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1c8a3f,#e2892f 45%,#d33a2b)}
.rm-card-bot{display:flex;justify-content:space-between;color:#fff;font-size:.95rem} .rm-card-bot strong{font-weight:700} .rm-card-bot span{color:#9aa79c;font-weight:600}
@media(max-width:767px){.rm-card{min-width:0;width:78%;bottom:12px;padding:.8rem 1rem}}

/* Modal */
.rally-modal-dialog{max-width:960px}
.rally-modal .modal-content{
  color:#fff;border:1px solid rgba(216,174,85,.38);border-radius:22px;overflow:hidden;position:relative;
  background:
    radial-gradient(ellipse 60% 70% at 22% 50%,rgba(40,90,55,.28),transparent 70%),
    linear-gradient(135deg,rgba(28,34,26,.72),rgba(16,20,15,.82));
  -webkit-backdrop-filter:blur(22px) saturate(120%);backdrop-filter:blur(22px) saturate(120%);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.06)}
/* blurred, dimmed page behind the popup */
.modal-backdrop.show{opacity:1;background:rgba(10,14,9,.62);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
.rally-modal .modal-dialog{transition:transform .35s ease,opacity .35s ease}
.rally-flags .flag{display:block;border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.rally-close{position:absolute;top:18px;right:18px;z-index:5;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;font-size:.85rem;transition:.2s}
.rally-close:hover{background:var(--gold);color:var(--deep);border-color:var(--gold)}

.rally-left{position:relative;padding:3rem 2.2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid rgba(255,255,255,.08)}
.rally-flags{margin-bottom:1.6rem;display:flex;align-items:center;gap:.9rem}
.rally-star{color:var(--gold);font-size:1rem}
.rally-circle{width:190px;height:190px;border-radius:50%;border:1px solid rgba(216,174,85,.5);display:grid;place-items:center;margin-bottom:1.4rem}
.rally-circle-num{font-family:var(--font-display);font-weight:700;font-size:5.2rem;color:var(--gold-l);line-height:1}
.rally-years{letter-spacing:.32em;font-size:.78rem;font-weight:700;color:#e7ecdf;margin-bottom:1.6rem}
.rally-route-mini{display:flex;align-items:center;gap:.7rem;font-size:.68rem;letter-spacing:.16em;font-weight:700;color:#cdd8c8;text-transform:uppercase}
.rally-route-mini .rally-route-dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}

.rally-right{padding:3rem 3rem 2.2rem}
.rally-right .eyebrow{color:var(--gold-l)} .rally-right .eyebrow::before{background:var(--gold-l)}
.rally-heading{font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem,3vw,2.6rem);color:#fff;margin-bottom:.15rem;text-transform:uppercase;letter-spacing:.01em}
.rally-heading .rally-dash{color:var(--gold-l)}
.rally-subheading{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,2.4vw,2rem);color:#fff;text-transform:uppercase;margin-bottom:1.3rem}
.rally-subheading .rally-gold{color:var(--gold)}
.rally-desc{color:#dbe6da;font-size:1.02rem;max-width:460px;margin-bottom:1.6rem}
.rally-desc strong{color:#fff}
.rally-route-bar{display:flex;align-items:center;gap:1.4rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1rem 1.4rem}
.rally-route-bar small{display:block;color:var(--gold);letter-spacing:.14em;font-size:.68rem;font-weight:700;margin-bottom:.2rem}
.rally-route-bar strong{color:#fff;font-size:.95rem;letter-spacing:.03em}
.rally-route-line{flex:1;height:1px;background:rgba(255,255,255,.25);position:relative}
.rally-route-line i{position:absolute;left:0;top:50%;width:7px;height:7px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%)}
.rally-btn{display:inline-flex;align-items:center;gap:.8rem;letter-spacing:.06em;font-size:.85rem;text-transform:uppercase;padding-right:.5rem}
.rally-btn-outline{border-color:rgba(255,255,255,.4)}
.rally-arrow{width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.15);display:inline-grid;place-items:center;font-size:.85rem}
.rally-btn-outline .rally-arrow{background:rgba(255,255,255,.12)}
.rally-footer-strip{text-align:center;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:#cdd8c8;border-top:1px solid rgba(255,255,255,.1);padding:.9rem;background:rgba(0,0,0,.15)}
@media(max-width:991px){.rally-left{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:2.4rem 1.5rem}.rally-right{padding:2.4rem 1.6rem 1.8rem}.rally-circle{width:150px;height:150px}.rally-circle-num{font-size:4rem}}
/* Rally popup on phones: a compact single-screen layout — flags/circle/years become one slim header band instead of three stacked blocks, and text/spacing shrink so the card fits without scrolling */
@media(max-width:575px){
  .rally-modal-dialog{margin:.65rem auto;max-width:none}
  .rally-modal .modal-content{max-height:calc(100dvh - 1.3rem);overflow-y:auto;border-radius:16px}
  .rally-close{top:10px;right:10px;width:28px;height:28px;font-size:.72rem}
  .rally-left{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:.8rem;row-gap:.3rem;padding:1rem 1rem .85rem}
  .rally-flags{margin-bottom:0}
  .rally-circle{width:58px;height:58px;margin-bottom:0}
  .rally-circle-num{font-size:1.55rem}
  .rally-years{flex-basis:100%;margin-bottom:0;font-size:.6rem;letter-spacing:.2em}
  .rally-route-mini{display:none}
  .rally-right{padding:1rem 1.1rem 1.2rem}
  .rally-right .eyebrow{font-size:.66rem;margin-bottom:.5rem}
  .rally-heading{font-size:1.3rem;margin-bottom:.1rem}
  .rally-subheading{font-size:1rem;margin-bottom:.6rem}
  .rally-desc{font-size:.84rem;line-height:1.45;margin-bottom:.9rem}
  .rally-route-bar{padding:.65rem .8rem;border-radius:10px}
  .rally-route-bar small{font-size:.58rem}
  .rally-route-bar strong{font-size:.78rem}
  .rally-right .d-flex{gap:.6rem!important;margin-top:.9rem!important}
  .rally-btn{font-size:.76rem;padding:.55rem .9rem;flex:1 1 auto;justify-content:center}
  .rally-arrow{width:24px;height:24px;font-size:.72rem}
  .rally-footer-strip{padding:.55rem;font-size:.6rem;letter-spacing:.18em}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Pakistan-China Rally page theme */
body.rally{
  --rally-bg:#021a0f;--rally-panel:#052417;--rally-panel-2:#091e16;--rally-line:rgba(255,255,255,.13);
  --pak:#18c875;--china:#ef334f;--rally-gold:#dfbf68;
  background:
    radial-gradient(circle at 8% 12%,rgba(20,200,117,.2),transparent 28%),
    radial-gradient(circle at 92% 28%,rgba(239,51,79,.22),transparent 28%),
    linear-gradient(180deg,#02150d,#04150f 48%,#071b12);
}
.rally .site-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.rally .nav-link{color:var(--ink)!important}.rally .nav-link:hover,.rally .nav-link.active{color:var(--green)!important}
.rally .site-header .btn-green{color:#fff!important}.rally .navbar-toggler{color:var(--green)}
.rally .hero{background:var(--rally-bg);min-height:calc(100vh - 100px)!important}
.rally .hero-bg{filter:saturate(1.05) contrast(1.08);background-position:center right}
.rally .hero::before{
  background:
    radial-gradient(circle at 82% 50%,rgba(239,51,79,.32),transparent 30%),
    linear-gradient(90deg,rgba(0,35,18,.96) 0%,rgba(0,41,23,.72) 43%,rgba(99,21,18,.48) 100%),
    linear-gradient(0deg,rgba(2,20,11,.94),rgba(2,20,11,.18) 60%);
}
.rally-hero-inner{max-width:1080px!important;padding-bottom:72px}
.rally-topline{position:absolute;top:0;left:0;right:0;transform:translateY(-42px);display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;color:#cbd7cd;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:900}
.rally-topline span:first-child{color:var(--pak)}.rally-topline strong{text-align:center;color:var(--rally-gold)}.rally-topline span:last-child{text-align:right;color:var(--rally-gold)}
.rally .hero .eyebrow{color:#d9decf}.rally .hero .eyebrow::before,.rally .hero .eyebrow::after{background:var(--rally-gold)}
.rally-hero-title{font-family:var(--font-body)!important;max-width:1120px;font-size:clamp(3.2rem,8.2vw,7.3rem)!important;line-height:.9!important;letter-spacing:.01em!important}
.rally-hero-title .pk{color:var(--pak);display:inline-block}.rally-hero-title .cn{color:var(--china);display:inline-block}
.rally-hero-title i{display:inline-block;width:clamp(48px,7vw,110px);height:8px;margin:0 .16em;background:var(--rally-gold);vertical-align:middle}
.rally-hero-title small{display:block!important;color:var(--rally-gold)!important;font-size:clamp(2.25rem,6.2vw,5.1rem)!important;letter-spacing:.02em!important;margin-top:.12em;text-transform:uppercase}
.rally-country-row{display:flex;align-items:center;gap:1rem;margin:1.4rem 0 1rem;flex-wrap:wrap}
.rally-country-row span{display:inline-flex;align-items:center;gap:.7rem;padding:.85rem 1.2rem;border:1px solid var(--rally-line);border-radius:8px;background:rgba(255,255,255,.05);color:#d7ddd4;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.rally-country-row b{color:var(--rally-gold)}
.rally-75-card{display:flex;align-items:center;gap:1.2rem;max-width:650px;margin-top:1.3rem;padding:1rem 1.2rem;border-left:3px solid var(--rally-gold);background:linear-gradient(90deg,rgba(3,42,24,.76),rgba(121,29,22,.14));color:#e6e9df}
.rally-75-card>strong{font-family:var(--font-display);font-size:3rem;line-height:1;color:var(--rally-gold);font-weight:700}
.rally-75-card span{display:block;color:#aeb8ac;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:900}.rally-75-card p{margin:0;font-size:.94rem;line-height:1.55;color:#f0d98f}
.rally .hero p.lead{color:#d5ded2;font-weight:600}.rally .trust-row i{color:var(--china)}
.rally main>.sec{background:
  linear-gradient(90deg,rgba(4,45,25,.88),rgba(4,22,15,.95) 52%,rgba(53,13,10,.8)),
  var(--rally-bg);color:#d8e3d8}
.rally .sec-soft,.rally .sec-green,.rally .sec-deep{background:
  radial-gradient(circle at 92% 25%,rgba(239,51,79,.16),transparent 32%),
  radial-gradient(circle at 6% 28%,rgba(24,200,117,.14),transparent 34%),
  linear-gradient(180deg,#031d12,#06150f)!important;color:#d8e3d8}
.rally .sec h2,.rally .sec h3{color:#fff}.rally .lead-sm,.rally .text-muted{color:#afbeb4!important}
.rally .sec-head .eyebrow,.rally .eyebrow{color:var(--rally-gold)}.rally .eyebrow::before,.rally .eyebrow::after{background:var(--rally-gold)}
.rally .svc,.rally .obj,.rally .accordion-item{background:rgba(4,32,20,.82);border-color:var(--rally-line);color:#d8e3d8;box-shadow:none}
.rally .svc:hover,.rally .obj:hover{border-color:rgba(239,51,79,.42);box-shadow:0 24px 60px -34px rgba(239,51,79,.6)}
.rally .svc .ico{background:linear-gradient(135deg,rgba(24,200,117,.2),rgba(239,51,79,.16));color:var(--rally-gold);border:1px solid var(--rally-line)}
.rally .svc p,.rally .obj p,.rally .accordion-body{color:#b7c5ba}.rally .obj .k,.rally .svc .tag{color:var(--rally-gold)}
.rally .pill{background:rgba(255,255,255,.04);border-color:var(--rally-line);color:#f0f5ef}.rally .accordion-button{background:#082319;color:#fff}.rally .accordion-button:not(.collapsed){background:linear-gradient(90deg,rgba(24,200,117,.18),rgba(239,51,79,.16));color:#fff}
.rally .cta-band{background:linear-gradient(110deg,#032216,#062519 48%,#64170f)}
.rally-partners{overflow:hidden}
.rally .partner-slider{position:relative;margin-top:2rem;overflow:hidden;padding:1rem 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.rally .partner-track{display:flex;align-items:center;gap:1rem;width:max-content;animation:partnerSlide 30s linear infinite}
.rally .partner-slider:hover .partner-track{animation-play-state:paused}
.rally .partner-slide{flex:0 0 220px;height:138px;display:grid;place-items:center;padding:1rem;background:#fff;border:1px solid rgba(255,255,255,.18);border-radius:14px;box-shadow:0 18px 55px -36px rgba(0,0,0,.8)}
.rally .partner-slide img{max-width:100%;max-height:108px;width:auto;height:auto;object-fit:contain}
@keyframes partnerSlide{from{transform:translateX(0)}to{transform:translateX(calc(-50% - .5rem))}}
@media (prefers-reduced-motion:reduce){.rally .partner-track{animation:none}}
@media (max-width:575px){.rally .partner-slide{flex-basis:170px;height:116px;padding:.85rem}.rally .partner-slide img{max-height:90px}}
.rally .rmap-wrap{border-color:rgba(24,200,117,.24);background:#03190f;box-shadow:0 34px 90px -60px rgba(239,51,79,.9)}
.rally .rm-card{background:rgba(3,26,17,.88);border-color:rgba(239,51,79,.38)}.rally .rm-bar i{background:linear-gradient(90deg,var(--pak),#f4efe1 50%,var(--china))}

.rally-days{position:relative;overflow:hidden}
.rally-days::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;opacity:.45;pointer-events:none}
.rally-days>.container{position:relative;z-index:1}
.rally-days-head{max-width:820px}.rally-days-head h2{font-family:var(--font-body);font-weight:900;text-transform:none;font-size:clamp(2.7rem,5.8vw,5rem);line-height:.9;color:#fff;text-shadow:4px 4px 0 rgba(0,0,0,.35)}
.rally-days-head h2 span{display:block}.rally-days-head h2{color:var(--pak)}.rally-days-head h2 span{color:#fff}.rally-days-head h2 em{font-style:normal;color:#ff6b5f}
.rally-stage-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem;margin:2rem 0 5rem}
.rally-stage-tab{display:flex;align-items:center;gap:.75rem;min-height:58px;padding:.75rem 1rem;border:1px solid var(--rally-line);border-radius:8px;background:rgba(2,22,14,.72);color:#fff;text-align:left;font:inherit;cursor:pointer}
.rally-stage-tab:focus-visible{outline:3px solid var(--rally-gold);outline-offset:3px}
.rally-stage-tab b{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#10261c;color:var(--rally-gold);font-size:.78rem}
.rally-stage-tab span{font-weight:900;font-size:.82rem;line-height:1.1}.rally-stage-tab small{display:block;color:var(--pak);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;margin-top:.18rem}
.rally-stage-tab.active{background:linear-gradient(110deg,rgba(24,200,117,.85),rgba(239,51,79,.75));box-shadow:0 18px 48px -28px var(--china)}
.rally-stage-tab.active b{background:#fff;color:#072316}.rally-stage-tab.active small{color:#fff}
.rally-days-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,.8fr);gap:1.1rem;align-items:stretch;max-width:1050px;margin:0 auto}
.rally-route-card,.rally-moments{border:1px solid var(--rally-line);background:rgba(3,29,18,.84);border-radius:16px;box-shadow:0 24px 70px -48px rgba(0,0,0,.85);overflow:hidden}
.rally-route-card{padding:1rem;display:flex;flex-direction:column;min-height:490px}.rally-route-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.rally-route-card-head span,.rally-moments-head span{display:block;color:#78dca8;text-transform:uppercase;font-size:.65rem;letter-spacing:.18em;font-weight:900}
.rally-route-card-head h3,.rally-moments-head h3{font-family:var(--font-body);font-weight:900;margin:.2rem 0 0;color:#fff}.rally-route-card-head h3 i,.rally-moments-head h3{color:var(--rally-gold);font-style:normal}
.rally-route-card-head b,.rally-moments-head b{align-self:flex-start;border:1px solid rgba(239,51,79,.6);background:rgba(239,51,79,.12);color:#fff;border-radius:999px;padding:.35rem .7rem;text-transform:uppercase;font-size:.58rem;letter-spacing:.12em}
.rally-visual-route{flex:1;min-height:330px}.rally-visual-route svg{display:block;width:100%;height:100%;min-height:330px;border-radius:12px;border:1px solid rgba(255,255,255,.08)}
.rally-route-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:.9rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}
.rally-route-meta>div{padding:.75rem;background:rgba(2,18,12,.72)}.rally-route-meta span,.rally-stage-progress span{display:block;color:#8ca599;text-transform:uppercase;letter-spacing:.14em;font-size:.6rem;font-weight:900}.rally-route-meta strong{display:block;color:#fff;font-size:.82rem;margin-top:.15rem}.rally-route-meta>div:nth-child(2) strong{color:var(--rally-gold)}
.rally-stage-progress{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;margin-top:.8rem}.rally-stage-progress div{height:4px;background:rgba(255,255,255,.13);border-radius:999px;overflow:hidden}.rally-stage-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--pak),#f4efe1 52%,var(--china));transition:width .45s ease}.rally-stage-progress b{color:#fff;font-size:.75rem}
.rally-moments{padding:1rem}.rally-moments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:1rem}.rally-moments-head h3{font-size:1.2rem}
.rally-moment{display:grid;grid-template-columns:38px 1fr;gap:.8rem;align-items:start;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-left:4px solid var(--pak);border-radius:8px;background:rgba(255,255,255,.045);margin-bottom:.65rem}
.rally-moment.cn{border-left-color:var(--china)}.rally-moment>b{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;background:rgba(24,200,117,.16);color:var(--pak);font-size:.72rem}.rally-moment.cn>b{background:rgba(239,51,79,.16);color:#ff766d}
.rally-moment strong{display:block;color:#fff;font-size:.84rem;line-height:1.2}.rally-moment p{margin:.2rem 0 0;color:#b7c5ba;font-size:.75rem;line-height:1.35}
.rally-next-destination{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;margin-top:1rem;padding:.85rem;border-top:1px solid rgba(255,255,255,.1)}.rally-next-destination span{color:#8ca599;text-transform:uppercase;letter-spacing:.14em;font-size:.58rem;font-weight:900}.rally-next-destination strong{color:#fff}.rally-next-destination i{width:28px;height:16px;border-radius:4px;background:linear-gradient(90deg,var(--pak) 50%,var(--china) 50%)}
@media(max-width:991px){.rally-stage-tabs{grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.rally-days-grid{grid-template-columns:1fr}.rally-topline{position:static;transform:none;margin-bottom:1.4rem}.rally-hero-title i{display:none}}
@media(max-width:575px){.rally-stage-tabs{grid-template-columns:1fr}.rally-country-row{justify-content:center}.rally-75-card{display:block;text-align:center}.rally .hero{min-height:0!important}.rally-hero-title{font-size:clamp(2.5rem,16vw,3.5rem)!important}.rally-hero-title small{font-size:clamp(1.7rem,11vw,2.45rem)!important}.rally-route-meta{grid-template-columns:1fr}.rally-stage-progress{grid-template-columns:1fr}.rally-route-card{min-height:0}}

/* Home hero — image card, uppercase headline */
.hero .eyebrow{letter-spacing:.24em;font-size:.82rem} .hero .eyebrow::after{content:"";width:34px;height:1px;background:var(--gold-l)} .hero .eyebrow::before{height:1px}
.hero h1{font-family:var(--font-body);font-weight:800;text-transform:uppercase;line-height:.98;letter-spacing:-.015em;font-size:clamp(2.8rem,6.6vw,5.6rem)}
.hero h1 small{color:#fff;font-weight:700;letter-spacing:.2em;font-size:clamp(1.05rem,2.1vw,1.6rem);margin-bottom:.4rem}
.hero-div{display:flex;align-items:center;gap:.7rem;margin:1.4rem 0 1rem;max-width:300px} .hero-div i{flex:1;height:1px;background:rgba(216,174,85,.6)} .hero-div b{width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.hero .tourism{display:block;font-size:clamp(1.05rem,2vw,1.5rem);letter-spacing:.16em;font-weight:800} .hero .tourism::before{display:none}
.hero .btn.btn-cream,.hero .btn.btn-bronze{border-radius:4px;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;padding:.95rem 1.7rem}
.btn-cream{background:#f6ecd8;color:var(--deep);border:1px solid #f6ecd8} .btn-cream:hover{background:#fff;color:var(--deep);transform:translateY(-2px)}
.btn-bronze{background:#b98a45;color:#fff;border:1px solid #b98a45} .btn-bronze:hover{background:#cc9c55;color:#fff;transform:translateY(-2px)}
.hero .trust-row{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;gap:.5rem 1.4rem}
.hero-card{position:relative;margin:0 0 0 auto;max-width:440px;aspect-ratio:4/4.6;overflow:hidden;border-radius:140px 16px 80px 16px;border:1px solid rgba(255,255,255,.28);box-shadow:0 30px 70px -20px rgba(0,0,0,.65);background:var(--deep)}
.hero-card img{width:100%;height:100%;object-fit:cover;display:block}
.hero-badge{position:absolute;left:20px;bottom:24px;display:flex;align-items:center;gap:.8rem;padding:.7rem 1.1rem .7rem .8rem;background:rgba(6,28,14,.82);border:1px solid rgba(216,174,85,.35);backdrop-filter:blur(6px);border-radius:4px}
.hero-badge-ico{width:36px;height:36px;border-radius:50%;background:#b98a45;color:#fff;display:grid;place-items:center;font-size:1rem}
.hero-badge small{display:block;color:var(--gold);font-size:.6rem;letter-spacing:.16em;font-weight:700;line-height:1.2} .hero-badge strong{display:block;color:#fff;font-size:.82rem;letter-spacing:.06em;line-height:1.3}
@media(max-width:991px){.hero-card{margin:0 auto;max-width:360px;border-radius:100px 14px 60px 14px}}

/* Hero: fit any viewport / browser zoom — sizes follow both width and height, panel sits in normal flow */
.hero{min-height:calc(100vh - 78px)}
.hero .container{flex:1;display:flex;align-items:center;padding-block:clamp(28px,6vh,72px)}
.hero .container>.hero-row{width:100%;margin:0;padding:0;--bs-gutter-y:1.5rem}
.hero-panel{position:relative;z-index:2;flex:none}
.hero h1{font-size:clamp(2.2rem,min(5.4vw,9.5vh),5rem);margin-bottom:.4rem}
.hero h1 small{font-size:clamp(.95rem,min(1.9vw,3.2vh),1.5rem)}
.hero .eyebrow{font-size:clamp(.7rem,1.6vh,.82rem);margin-bottom:clamp(.5rem,1.6vh,.9rem)}
.hero-div{margin:clamp(.7rem,2.2vh,1.4rem) 0 clamp(.5rem,1.4vh,1rem)}
.hero .tourism{font-size:clamp(.95rem,min(1.7vw,3vh),1.4rem);margin-bottom:.6rem}
.hero p.lead{font-size:clamp(.95rem,2.3vh,1.1rem);line-height:1.6;max-width:540px}
.hero .d-flex.mt-4{margin-top:clamp(.9rem,2.6vh,1.6rem)!important}
.hero .btn.btn-cream,.hero .btn.btn-bronze{padding:clamp(.65rem,1.8vh,.95rem) 1.5rem}
.hero .trust-row{margin-top:clamp(.9rem,2.6vh,2rem)}
.hero-card{aspect-ratio:auto;width:100%;max-width:420px;height:clamp(300px,58vh,520px)}
.hero-panel{padding:1rem 0} .hero-panel p,.hero-panel a{font-size:.88rem}
@media(max-width:991px){.hero{min-height:0}.hero .container{padding-block:48px 28px}.hero-card{height:340px;max-width:340px}}

/* Bigger logos */
.navbar-brand img{height:100px;width:auto}
.hero{min-height:calc(100vh - 100px)}
@media(max-width:1199px){.navbar-brand img{height:84px}}
@media(max-width:575px){.navbar-brand img{height:70px}.footer-logo img{height:115px}}

/* Mobile polish */
@media(max-width:991px){
  .navbar-collapse{text-align:center;padding:1rem 0 1.2rem}
  .navbar-nav{align-items:center}
  .dropdown-menu{text-align:center}
  .navbar .btn{display:inline-flex;justify-content:center}

  .home .hero-row>.col-lg-5,.home .hero-card{display:none}
  .hero .container{justify-content:center;text-align:center}
  .hero-inner{max-width:680px;margin-inline:auto}
  .hero .eyebrow,.hero .tourism,.hero .trust-row,.hero .d-flex{justify-content:center}
  .hero-div{margin-left:auto;margin-right:auto}
  .hero p.lead{margin-left:auto;margin-right:auto}
  .hero-panel{text-align:center}
  .hero-panel .cats a{margin:.15rem .45rem}
}

@media(max-width:767px){
  h1,h2,h3,h4{letter-spacing:0}
  .sec,.tour-row,.page-hero,.cta-band,.site-footer{text-align:center}
  .sec{padding:56px 0}
  .page-hero{padding:82px 0 64px}
  .page-hero h1,.page-hero p,.sec-head,.cta-band h2,.cta-band p{margin-left:auto;margin-right:auto}

  .eyebrow{justify-content:center}
  .eyebrow::before,.eyebrow::after{width:26px;height:1px;background:currentColor}
  .eyebrow::after{content:""}

  .hero .container{padding-block:42px 24px}
  .hero h1{font-size:clamp(2.05rem,13vw,3.15rem);line-height:1.04}
  .hero h1 small{font-size:clamp(.82rem,4.6vw,1.05rem);letter-spacing:.16em}
  .hero .tourism{font-size:.9rem;letter-spacing:.12em}
  .hero .d-flex.mt-4,.cta-band .d-flex{gap:.75rem!important}
  .hero .btn,.cta-band .btn{width:min(100%,280px);justify-content:center}
  .trust-row{justify-content:center;gap:.55rem 1rem}
  .hero-panel{padding:1.2rem 0}
  .hero-panel .row{--bs-gutter-y:1rem}

  .card-eac,.svc,.svc-img,.obj,.pcard,.tier,.form-card{max-width:440px;margin-left:auto;margin-right:auto}
  .card-eac .body,.svc,.svc-img .b,.obj,.pcard,.tier{text-align:center}
  .svc{display:block;padding:1.45rem}
  .svc .ico{margin:0 auto 1rem}
  .svc-img img,.card-eac .ph{aspect-ratio:16/11}
  .dest{min-height:360px;text-align:center}
  .dest .inner{padding:1.4rem}
  .dest .idx{left:50%;right:auto;transform:translateX(-50%)}

  .split-img{max-width:440px;margin-left:auto;margin-right:auto}
  .pill{margin-left:.25rem;margin-right:.25rem}
  .value-row{grid-template-columns:1fr;gap:.4rem;text-align:center;padding:1.1rem 0}
  .value-row .n{line-height:1}
  .tick-list{display:inline-block;text-align:left}
  .tick-list li{padding-left:1.7rem}

  .form-card{padding:1.5rem}
  .form-card .eyebrow,.form-card h2{text-align:center}
  .form-card .form-label{display:block;text-align:center}
  .form-control,.form-select,textarea.form-control{text-align:left}
  .form-card .col-12.d-flex{justify-content:center;text-align:center}
  .contact-tile{flex-direction:column;align-items:center;text-align:center;gap:.45rem}

  .rally-route-bar{display:block;text-align:center}
  .rally-route-line{display:block;width:100%;margin:.85rem 0}
  .rally-right .d-flex{justify-content:center}

  .site-footer{padding:60px 0 24px}
  .social,.contact-list li,.footer-bottom{justify-content:center}
  .contact-list li{align-items:center}
  .footer-bottom{display:block}
  .footer-bottom>*{display:block;margin:.55rem auto 0}
  .float-call{right:14px;bottom:14px;width:54px;height:54px;font-size:1.65rem}
}

/* ==========================================================
   Mobile typography fix (phones ≤767px)
   - hero headline no longer clips ("UNFORGETTABLE" fits at 320–430px)
   - smaller, calmer text scale across all pages
   Loaded last on purpose so it wins over earlier rules.
   ========================================================== */
@media(max-width:767px){
  /* base text */
  body{font-size:1rem;line-height:1.65}
  p{font-size:.97rem}

  /* ---- Home hero ---- */
  .hero .eyebrow{font-size:.68rem;letter-spacing:.18em;gap:.5rem;margin-bottom:.8rem;flex-wrap:nowrap}
  .hero .eyebrow::before,.hero .eyebrow::after{width:20px}
  .hero h1{font-size:clamp(1.7rem,9.4vw,2.9rem);line-height:1.1;letter-spacing:0;max-width:100%;overflow-wrap:break-word;margin-bottom:.2rem}
  .hero h1 small{font-size:clamp(.72rem,3.5vw,.95rem);letter-spacing:.2em;margin-bottom:.6rem}
  .hero-div{margin:1rem auto .8rem;max-width:220px}
  .hero .tourism{font-size:clamp(.72rem,3.4vw,.85rem);letter-spacing:.1em;margin-bottom:.7rem}
  .hero p.lead{font-size:.95rem;line-height:1.6;max-width:34ch}
  .hero .btn.btn-cream,.hero .btn.btn-bronze{font-size:.72rem;letter-spacing:.14em;padding:.8rem 1.2rem;width:min(100%,260px)}
  .hero .trust-row{font-size:.64rem;letter-spacing:.08em;gap:.4rem 1rem;margin-top:1.3rem}
  .hero-panel h6{font-size:.66rem}
  .hero-panel p,.hero-panel a{font-size:.85rem}

  /* ---- Inner page banners ---- */
  .page-hero{padding:64px 0 48px}
  .page-hero h1{font-size:clamp(1.85rem,8.2vw,2.5rem);line-height:1.15}
  .page-hero p{font-size:.98rem}

  /* ---- Section headings ---- */
  .sec-head{margin-bottom:2rem}
  .sec-head h2,.cta-band h2{font-size:clamp(1.55rem,6.8vw,2.05rem)}
  .lead-sm,.cta-band p{font-size:1rem}
  .eyebrow{font-size:.7rem;letter-spacing:.14em}
  .display-5{font-size:clamp(1.6rem,7vw,2rem)}
  .display-6{font-size:clamp(1.45rem,6.4vw,1.8rem)}
  .fs-2{font-size:clamp(1.3rem,5.8vw,1.55rem)!important}
  .fs-3{font-size:1.25rem!important}
  .fs-5{font-size:1.05rem!important}
  .fs-4{font-size:1.2rem!important}

  /* ---- Cards, stats, prices, forms ---- */
  .card-eac h3{font-size:1.25rem}
  .card-eac p,.svc p,.svc-img p,.obj p{font-size:.93rem}
  .svc h3{font-size:1.1rem}
  .svc-img h3{font-size:1.1rem}
  .obj h3{font-size:1.15rem}
  .dest h3{font-size:1.35rem}
  .value-row h3{font-size:1.2rem}
  .value-row .n{font-size:1.35rem}
  .stat .num{font-size:clamp(2.1rem,10vw,2.6rem)}
  .stat h3{font-size:1rem}
  .price{font-size:1.9rem}
  .tier .price{font-size:1.6rem}
  .form-sec-title{font-size:1.2rem}
  .accordion-button{font-size:.97rem}
  .btn{font-size:.95rem}
  .btn-lg{padding:.8rem 1.6rem}
  .nav-link{font-size:1rem}
  .site-footer h5{font-size:1.1rem}
  .site-footer,.footer-bottom{font-size:.92rem}

  /* ---- Pakistan–China rally page ---- */
  .rally-hero-title{font-size:clamp(2.1rem,13vw,3.1rem)!important;line-height:.95!important}
  .rally-hero-title small{font-size:clamp(1.4rem,9vw,2.1rem)!important}
  .rally-topline{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem 1rem;font-size:.62rem;letter-spacing:.14em;text-align:center}
  .rally-topline span,.rally-topline strong,.rally-topline span:last-child{text-align:center}
  .rally-country-row span{font-size:.8rem;padding:.6rem .9rem}
  .rally-75-card>strong{font-size:2.4rem}
  .rally-75-card p{font-size:.88rem}
  .rally .hero p.lead{font-weight:500}
  .rally-days-head h2{font-size:clamp(1.9rem,9.6vw,2.6rem);text-shadow:3px 3px 0 rgba(0,0,0,.35)}
  .rally-heading{font-size:clamp(1.5rem,7vw,1.9rem)}
  .rally-subheading{font-size:clamp(1.2rem,5.6vw,1.5rem)}
}

/* very small phones (≤360px, e.g. 320–360 wide) */
@media(max-width:360px){
  .hero h1{font-size:clamp(1.55rem,9vw,1.9rem)}
  .hero .eyebrow{letter-spacing:.14em}
  .hero .trust-row{font-size:.6rem}
  .rally-hero-title{font-size:clamp(1.9rem,12.5vw,2.4rem)!important}
}

/* About page — wide photo under "Our story" */
.split-img.wide{aspect-ratio:21/9}
@media(max-width:767px){.split-img.wide{max-width:none;aspect-ratio:16/10}}
