/***************************************************
================== VAMIKA BRAND CSS ================
****************************************************
Loaded after main.css. Re-themes the Agenci template to the Vamika
brand (navy #0B3C5D, gold #D4AF37, white, light grey) and adapts the
dark-first template sections to a white, B2B layout.

01. Brand tokens
02. Base & utilities
03. Logo, buttons, eyebrow
04. Header, offcanvas, mobile menu
05. Hero
06. About & marquee
07. Product categories
08. Why choose us
09. Industries
10. Export markets
11. Featured products
12. Process
13. Testimonials
14. News
15. Call to action
16. Footer
17. Form labels & WhatsApp
18. About page
19. Export page
20. Industries page
21. News & article pages
22. Language translator
23. Products page
24. Products submenu
25. Product category blocks
26. Category range page
27. Contact page
28. Legal pages (Terms & Conditions, Privacy Policy)
****************************************************/


/* ========================= 01. Brand tokens ========================= */
:root {
    /* template main colour -> gold #D4AF37 */
    --main-h: 46;
    --main-s: 65%;
    --main-l: 52%;
    /* "-five" layout accent colours -> gold / navy */
    --main-six-h: 46;
    --main-six-s: 65%;
    --main-six-l: 52%;
    --main-seven-h: 204;
    --main-seven-s: 79%;
    --main-seven-l: 20%;
    /* headings & dark surfaces -> navy #0B3C5D */
    --black: 204 79% 20%;
    --body: 208 14% 36%;

    --v-navy: #0B3C5D;
    --v-navy-800: #0d4468;
    --v-navy-900: #072b43;
    --v-navy-950: #051f31;
    --v-gold: #D4AF37;
    --v-gold-700: #8f7117;
    --v-light: #F3F5F8;
    --v-border: #e2e8ee;
    --v-shadow: 0 18px 40px -18px rgba(11, 60, 93, 0.35);
}


/* ========================= 02. Base & utilities ========================= */
body.vamika-body {
    background-color: #fff;
    color: hsl(var(--body));
}

/* main.css colours every heading white (dark-first template); dark sections opt back in with .text-white */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    color: hsl(var(--heading-color));
}

.text-white-75 {
    color: rgba(255, 255, 255, 0.75) !important;
}

.vamika-bg-light {
    background-color: var(--v-light);
}

.vamika-section {
    position: relative;
}

.vamika-cover {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.vamika-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--v-navy);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color 0.3s;
}

.vamika-link:hover {
    color: var(--v-gold-700);
}

.vamika-link i {
    font-size: 1.25em;
}


/* ========================= 03. Logo, buttons, eyebrow ========================= */
/* .vamika-logo {
    display: inline-flex;
    align-items: center;
} */

.vamika-logo img {
    width: auto;
    height: 70px;
}

.vamika-header .vamika-logo img {
    height: 62px;
    transition: height 0.3s;
}

.vamika-header.fixed-header .vamika-logo img {
    height: 65px;
}

.vamika-logo--footer img {
    height: 84px;
}

@media screen and (max-width: 991px) {

    .vamika-header .vamika-logo img,
    .vamika-header.fixed-header .vamika-logo img {
        height: 46px;
    }
}

.vamika-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 26px;
    border: 1.5px solid transparent;
    border-radius: 999px;
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s, transform 0.3s;
}

.vamika-btn i {
    font-size: 1.1em;
    transition: transform 0.3s;
}

.vamika-btn:hover i.ph-arrow-right {
    transform: translateX(4px);
}

.vamika-btn--lg {
    padding: 17px 34px;
    font-size: 1.05rem;
}

.vamika-btn--sm {
    padding: 10px 20px;
    font-size: 0.9rem;
}

.vamika-btn--gold {
    background: var(--v-gold);
    border-color: var(--v-gold);
    color: var(--v-navy) !important;
}

.vamika-btn--gold:hover {
    background: #fff;
    border-color: #fff;
    color: var(--v-navy) !important;
}

.vamika-section .vamika-btn--gold:hover {
    background: var(--v-navy);
    border-color: var(--v-navy);
    color: #fff !important;
}

.vamika-btn--navy {
    background: var(--v-navy);
    border-color: var(--v-navy);
    color: #fff !important;
}

.vamika-btn--navy:hover {
    background: var(--v-gold);
    border-color: var(--v-gold);
    color: var(--v-navy) !important;
}

.vamika-btn--outline {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.7);
    color: #fff !important;
}

.vamika-btn--outline:hover {
    background: #fff;
    border-color: #fff;
    color: var(--v-navy) !important;
}

.vamika-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: var(--body-font);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--v-gold-700);
    position: relative;
}

.vamika-eyebrow::before {
    content: "";
    width: 32px;
    height: 2px;
    background: currentColor;
}

.text-center .vamika-eyebrow::after {
    content: "";
    width: 32px;
    height: 2px;
    background: currentColor;
}

.vamika-eyebrow--light {
    color: var(--v-gold);
}

.vamika-eyebrow--navy {
    color: var(--v-navy);
}

.vamika-icon-circle {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--v-navy);
    color: var(--v-gold);
    font-size: 1.6rem;
}

.vamika-icon-circle--sm {
    width: 44px;
    height: 44px;
    font-size: 1.3rem;
}

.vamika-icon-btn {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    background: transparent;
    color: #fff;
    font-size: 1.4rem;
    transition: 0.3s;
}

.vamika-icon-btn:hover {
    background: var(--v-gold);
    border-color: var(--v-gold);
    color: var(--v-navy);
}

/* Decorative theme shapes, muted to sit with the navy / gold palette */
.vamika-shape-tint {
    filter: grayscale(1) brightness(1.15);
    opacity: 0.3;
}

.vamika-cta .vamika-shape-tint {
    opacity: 0.12;
}

/* theme arrow buttons size to their label instead of a fixed width */
.theme-btn {
    white-space: nowrap;
}

/* One section-title style for the whole page (the "Industries We Serve" title):
   eyebrow + uppercase display title with the theme's char animation. */
.section-two-title {
    font-size: clamp(2.75rem, 1.6rem + 3.4vw, 5.25rem);
    line-height: 0.98;
}


/* ========================= 04. Header, offcanvas, mobile menu ========================= */
.vamika-header {
    position: absolute;
    inset: 0 0 auto 0;
    z-index: 99;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding: 10px 0;
}

.vamika-header.fixed-header {
    position: fixed;
    background: rgba(7, 43, 67, 0.97);
    border-bottom-color: transparent;
    padding: 5px 0;
}

.vamika-header .nav-menu__link {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 18px 0;
}
.vamika-header .vamika-btn {
    font-size: 14px;
}

.vamika-header.fixed-header .nav-menu__link {
    padding-block: 1.6rem !important;
}

.vamika-header .nav-menu__item.activePage>.nav-menu__link,
.vamika-header .nav-menu__link:hover {
    color: var(--v-gold) !important;
}

@media screen and (max-width: 1399px) {
    .vamika-header .nav-menu {
        gap: 1.2rem !important;
    }

    .vamika-header .nav-menu__link {
        font-size: 13px;
    }
}

@media screen and (max-width: 1199px) {
    .vamika-header .nav-menu {
        gap: 0.85rem !important;
    }

    .vamika-header .nav-menu__link {
        font-size: 0.86rem;
    }

    .vamika-header .header-button .vamika-btn {
        padding: 10px 16px;
        font-size: 0.85rem;
    }
}

@media screen and (max-width: 991px) {
    .vamika-header.fixed-header {
        padding-block: 12px;
    }
}

.vamika-offcanvas,
.vamika-mobile-menu {
    background: var(--v-navy-900);
}

.vamika-mobile-menu .nav-menu--mobile .nav-menu__link {
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}

.vamika-mobile-menu .mobile-menu__logo {
    margin-top: 8px;
}


/* ========================= 05. Hero (theme fullscreen-banner-three) ========================= */
/* the theme sizes everything to 100vh; keep room for the copy on very short screens */
.vamika-hero3 .swiper-container {
    height: max(100vh, 600px);
}

.vamika-hero3 .slider .swiper-slide .slide-inner,
.vamika-hero3 .slider .swiper-slide .slide-inner img {
    width: 100%;
    height: 100%;
}

/* navy wash so the copy stays readable on every photo */
.vamika-hero3 .swiper-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgb(0 0 0 / 32%) 0%, rgba(5, 31, 49, 0) 240px), linear-gradient(20deg, rgb(8 8 8 / 57%) 0%, rgb(0 0 0 / 56%) 45%, rgb(0 0 0 / 15%) 100%);
}

/* the theme pins the copy to the slide's bottom-left corner; line it up with the header logo instead */
.vamika-hero3 .swiper-slide>.container {
    position: absolute;
    inset: 0;
    z-index: 9;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    padding-top: 200px;
    padding-bottom: 110px;
}

.vamika-hero3 .fullscreen-banner-three-content {
    position: relative;
    inset: auto;
}

.vamika-hero3__tags {
    flex-wrap: wrap;
    margin-top: 12px;
}

.vamika-hero3__tags span {
    border-color: rgba(255, 255, 255, 0.45) !important;
    background: rgba(255, 255, 255, 0.06);
    font-weight: 500;
}

.vamika-hero3 .fullscreen-banner-three-list {
    margin-top: 24px;
}

/* the extra copy drops in after the title, like the theme's own layers */
.vamika-hero3__foot {
    margin-top: 10px;
    opacity: 0;
    transform: translateY(-170px);
}

.vamika-hero3 .swiper-slide-active .vamika-hero3__foot {
    opacity: 1;
    transform: translateY(0);
    transition: all 2400ms ease;
}

.vamika-hero3__text {
    max-width: 680px;
    margin-bottom: 28px;
    font-size: 18px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
}

.vamika-hero3 .fullscreen-banner-three-pagination {
    inset-inline-end: clamp(16px, 3vw, 48px);
    inset-block-end: 56px;
}

.vamika-hero3 .swiper-pagination-bullet-active::after {
    background-color: #D4AF37;
}

/* theme size (132px) on tall screens, smaller on laptop-height screens so the copy clears the header */
@media screen and (min-width: 992px) {
    .vamika-hero3 .fullscreen-banner-one-title {
        font-size: clamp(75px, 10.5vh, 132px);
    }
}

/* laptop-height screens and phones: number and tags share one row, tighter spacing */
@media screen and (min-width: 992px) and (max-height: 820px),
screen and (max-width: 767px) {
    .vamika-hero3 .fullscreen-banner-three-content-title {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px 24px;
        margin-bottom: 24px;
    }

    .vamika-hero3 .fullscreen-banner-one-sub-title {
        font-size: 3rem;
    }

    .vamika-hero3__tags {
        margin-top: 0;
    }

    .vamika-hero3 .swiper-slide>.container {
        padding-top: 130px;
        padding-bottom: 80px;
        padding-left: 30px;
    }

    .vamika-hero3__text {
        max-width: 760px;
        margin-bottom: 20px;
        font-size: 1rem;
    }
}

@media screen and (max-width: 767px) {
    .vamika-hero3 .swiper-container {
        height: 70vh;
    }

    .vamika-hero3 .swiper-slide>.container {
        padding-top: 110px;
        padding-bottom: 96px;
    }

    .vamika-hero3__tags {
        gap: 8px;
    }

    .vamika-hero3__tags span {
        padding: 4px 14px;
        font-size: 0.875rem;
    }

    .vamika-hero3__foot .d-flex {
        gap: 12px;
    }

    .vamika-hero3 .vamika-btn--lg {
        padding: 13px 20px;
        font-size: 0.95rem;
    }
}

@media screen and (max-width: 375px) {
    .vamika-hero3 .vamika-btn--lg {
        padding: 12px 16px;
        font-size: 0.9rem;
    }

    .vamika-hero3 .fullscreen-banner-three-pagination {
        inset-block-end: 40px;
        gap: 8px;
    }

    .vamika-hero3 .swiper-pagination-bullet {
        width: 36px;
        height: 8px;
        margin: 0 !important;
    }
}


/* ========================= 06. About & marquee ========================= */
.vamika-about__media .about-five-rate {
    inset-block-end: 40px;
    inset-inline-end: -24px;
    box-shadow: var(--v-shadow);
}

@media screen and (max-width: 767px) {
    .vamika-about__media .about-five-rate {
        inset-inline-end: 16px;
        inset-block-end: 16px;
        padding: 18px 20px !important;
    }
}
.vamika-section.about-five-area .about-five-wrapper {
    padding-left: 60px;
}

@media screen and (max-width: 1199px) {
    .vamika-section.about-five-area .about-five-wrapper {
        padding-inline-start: 0;
    }
}

.vamika-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vamika-check-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    color: var(--v-navy);
}

.vamika-check-list i {
    font-size: 1.5rem;
    color: var(--v-gold);
}

@media screen and (max-width: 575px) {
    .vamika-check-list {
        grid-template-columns: 1fr;
    }
}

.vamika-pill.about-five-feature {
    background: var(--v-light);
    border: 1px solid var(--v-border);
    margin: 0;
}

.vamika-marquee {
    background: var(--v-navy);
    padding-block: 30px !important;
}

.vamika-marquee .maquee-title {
    font-size: 44px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.55);
    white-space: nowrap;
}
@media screen and (max-width: 767px) {
    .vamika-marquee .maquee-title {
        font-size: 24px;
    }
}
.vamika-marquee .maquee-box:nth-child(even) .maquee-title {
    color: var(--v-gold);
    -webkit-text-stroke: 0;
}

.vamika-marquee .maquee-icon i {
    font-size: 2rem;
    color: var(--v-gold);
}


/* ========================= 07. Product categories ========================= */
.vamika-categories.project-section-new {
    background: #fff;
}

/* the theme sets line-height: 35%, so the glyphs rise far above the box — make room for the label */
.vamika-categories.project-section-new .text {
    margin-top: 0.3em;
    color: var(--v-navy);
}

.vamika-categories .container,
.vamika-products .container {
    padding-inline: clamp(16px, 3vw, 48px);
}

.vamika-categories__lead {
    position: relative;
    z-index: 2;
    margin-bottom: 32px;
}

/* card copy scrolls over the pinned giant title — give it a solid backing */
.vamika-categories .project-content {
    position: relative;
    z-index: 2;
    padding: 25px 12px 35px;
    background: #fff;
    /* box-shadow: 0 0 0 12px #fff; */
    background: rgba(255, 255, 255, 0.151);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    border-radius: 20px;
    margin-top: 0;
    max-width: 905px;
}
@media screen and (max-width: 767px) {
    .vamika-categories .project-content {
        padding-left: 0;
    }
}
.vamika-categories .project-card-item-new {
    position: relative;
    z-index: 2;
}

.vamika-categories .project-thumb {
    aspect-ratio: 905 / 552;
    /* box-shadow: var(--v-shadow); */
}

.vamika-categories .col-xl-4 .project-thumb {
    aspect-ratio: 601 / 375;
}

.vamika-categories__badge {
    position: absolute;
    inset-block-start: 20px;
    inset-inline-start: 20px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--v-gold);
    color: #052032;
    font-weight: 700;
    display: none;
}

.vamika-categories__badge i {
    font-size: 1.2rem;
}

.vamika-categories .project-content .title,
.vamika-categories .project-content .title a {
    color: var(--v-navy);
}

.vamika-categories .project-content .title a:hover {
    color: var(--v-navy);
    background-image: linear-gradient(180deg, var(--v-gold) 0%, var(--v-gold) 100%);
}

.vamika-categories .project-content p {
    color: hsl(var(--body));
}

.vamika-categories .project-content .tag-item {
    flex-wrap: wrap;
}

.vamika-categories .project-content .tag-item span {
    white-space: nowrap;
}


/* ========================= 08. Why choose us ========================= */
.vamika-dark-section {
    background-color: var(--v-navy-900);
}

/* Numbered corner notch (theme service-five), also used by the About page cards (.vamika-mvv).
   --v-notch must match the section background. The theme places the notch with percentages of its
   demo card size, so on our cards it floats off the corner and the card shows around it.
   Pin it to the top-right corner instead: the 90 x 100 box is rotated -90deg (drawn as 100 x 90),
   so top -6px / right 4px puts its drawn edges 1px past the card's top and right edges. */
.vamika-why {
    --v-notch: var(--v-navy-900);
}

.vamika-why .service-five-button,
.vamika-mvv .service-five-button {
    inset: -6px 4px auto auto;
    background: var(--v-notch);
}

/* The theme cuts the rounded joins with a box-shadow, which leaves faint lines on the card along
   the pseudo-element's edges; a radial gradient draws the same curve without them. Offsets are in
   the badge's own (unrotated) axes: the card's top edge is its x = 89px, the right edge its y = 99px.
   Each join is 2px oversize so it tucks under the badge and past the card edge. */
.vamika-why .service-five-button::before,
.vamika-why .service-five-button::after,
.vamika-mvv .service-five-button::before,
.vamika-mvv .service-five-button::after {
    width: calc(1.25em + 2px);
    height: calc(1.25em + 2px);
    box-shadow: none;
    border-radius: 0;
    background: radial-gradient(circle at 0 0, transparent 1.25em, var(--v-notch) calc(1.25em + 0.5px));
}

/* join between the notch and the card's right edge */
.vamika-why .service-five-button::before,
.vamika-mvv .service-five-button::before {
    inset: calc(99px - 1.25em) auto auto -1.25em;
}

/* join between the notch and the card's top edge */
.vamika-why .service-five-button::after,
.vamika-mvv .service-five-button::after {
    inset: -1.25em auto auto calc(89px - 1.25em);
}

.vamika-why__text {
    font-size: 16px;
    color: hsl(var(--body));
}

.vamika-why .service-five-btn {
    padding: 0;
    border: 0;
    background: none;
}

.vamika-why .service-five-active .swiper-slide-active .vamika-why__text {
    color: var(--v-navy);
}

.vamika-why .service-five-dot .swiper-pagination-bullet::before {
    background: var(--v-gold);
}


/* ========================= 09. Industries ========================= */
/* .vamika-industries.project-two-area {
    padding-block: 140px;
} */

/* the theme's stacking pin releases the panels ~240px below their natural spot */
@media screen and (min-width: 992px) {
    .vamika-industries.project-two-area {
        padding-block-end: 380px;
    }
}

.vamika-industries .project-panel {
    padding: 42px;
    border: 1px solid var(--v-border);
    box-shadow: rgba(11, 60, 93, 0.3) 0px 2px 8px 0px;
}
@media screen and (max-width: 767px) {
    .vamika-industries .project-panel {
        padding: 25px;
    }
}
/* The stacking pin locks each card's height when the page loads. The photos are lazy-loaded, so
reserve their shape up front — otherwise the card is locked short and its text spills out below. */
.vamika-industries__img {
    aspect-ratio: 800 / 476;
    object-fit: cover;
}

@media screen and (max-width: 1399px) {
    .vamika-industries__img {
        aspect-ratio: 540 / 279;
    }
}

.vamika-industries .project-panel p {
    font-size: 16px;
}
.vamika-industries .project-panel .industries_info_button {
    font-size: 14px;
    text-transform: uppercase;
}
.vamika-industries .project-panel h3 {
    font-size: 45px;
    font-weight: 600;
    text-transform: uppercase;
}
.vamika-industries .project-panel h3 i {
    font-size: 0.7em;
}



/* ========================= 10. Export markets ========================= */
.vamika-map-card {
    position: relative;
    padding: 24px;
    border: 1px solid var(--v-border);
    background: linear-gradient(180deg, #fff 0%, var(--v-light) 100%);
}

/* whole world at the map's own proportions (900 x 441), so it fills the card edge to edge */
.vamika-world-map {
    aspect-ratio: 900 / 441;
}

.vamika-map-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin-top: 12px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--v-navy);
}

.vamika-map-legend span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.vamika-dot {
    width: 12px;
    height: 12px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--v-gold);
    box-shadow: 0 0 0 1px var(--v-gold);
}

.vamika-dot--hub {
    width: 16px;
    height: 16px;
    border: 3px solid var(--v-navy);
    box-shadow: none;
}

#vamika-world-map .jvm-line,
#vamika-world-map .jvm-lines-group path,
#vamika-world-map .jvm-lines-group line {
    stroke-dasharray: 5 5;
    animation: vamika-dash 40s linear infinite;
}

@keyframes vamika-dash {
    to {
        stroke-dashoffset: -600;
    }
}

.jvm-tooltip {
    padding: 6px 12px;
    border-radius: 6px;
    background: var(--v-navy);
    font-family: var(--body-font);
    font-size: 0.85rem;
    box-shadow: var(--v-shadow);
}

.vamika-flags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-bottom: 0;
    padding: 0;
    list-style: none;
}

.vamika-flags li {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 18px 9px 12px;
    border: 1px solid var(--v-border);
    border-radius: 999px;
    background: #fff;
    font-size: 0.925rem;
    font-weight: 600;
    color: var(--v-navy);
    text-transform: uppercase;
}

.vamika-flags img {
    width: 28px;
    height: 20px;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
    object-fit: cover;
}


/* ========================= 11. Featured products ========================= */
.vamika-products.project-section-new-4 {
    background-color: var(--v-navy-950);
}

.vamika-products .top-new-content-item {
    border-bottom-color: rgba(255, 255, 255, 0.18);
}

.vamika-products .top-new-content-item .sub-title-new::before {
    background-color: var(--v-gold);
}

/* 4 cards across the screen on desktop (20px theme gap between slides) */
.vamika-products .project-cards-item .project-image {
    width: calc((100vw - 60px) / 4);
    height: auto;
    aspect-ratio: 665 / 671;
}

@media screen and (max-width: 1199px) {
    .vamika-products .project-cards-item .project-image {
        width: calc((100vw - 40px) / 3);
    }
}

@media screen and (max-width: 767px) {
    .vamika-products .project-cards-item .project-image {
        width: 72vw;
    }
}

.vamika-products .project-cards-item .project-image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(5, 31, 49, 0.15) 0%, rgba(5, 31, 49, 0.7) 45%, rgba(5, 31, 49, 0.96) 100%);
    opacity: 0;
    transition: opacity 0.4s;
    pointer-events: none;
}

.vamika-products .project-cards-item:hover .project-image::after {
    opacity: 1;
}

.vamika-products .project-cards-item .project-image .project-content {
    z-index: 2;
    inset-inline: 24px;
}

.vamika-products .project-cards-item:hover .project-image .project-content {
    bottom: 24px;
}

.vamika-products .project-content .content h3 {
    margin-bottom: 2px;
    font-size: 45px;
    line-height: 1.2;
    color: #fff;
    text-transform: uppercase;
}
@media screen and (max-width: 991px) {
    .vamika-products .project-content .content h3 {
        font-size: 35px;
    }
}
.vamika-products .project-cards-item .project-image .project-content .content span {
    font-size: 15px;
}

.vamika-products .project-content .content h3 a {
    color: #fff;
}

.vamika-products .project-cards-item .project-image .project-content .content span {
    color: var(--v-gold);
}

.vamika-products__desc {
    display: -webkit-box;
    margin: 8px 0 14px;
    overflow: hidden;
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.82);
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

@media (hover: none) {
    .vamika-products .project-cards-item .project-image::after {
        opacity: 1;
    }

    .vamika-products .project-cards-item .project-image .project-content {
        opacity: 1;
        visibility: visible;
        bottom: 24px;
    }
}


/* ========================= 12. Process (theme working-process-section, index-2) ========================= */
.vamika-process {
    background-color: var(--v-light);
}

/* the theme widens this section's container to 1708px; keep it in line with the other sections */
.vamika-process.working-process-section .container {
    max-width: 1320px;
}

@media screen and (max-width: 1399px) {
    .vamika-process.working-process-section .container {
        max-width: 1140px;
    }
}

@media screen and (max-width: 1199px) {
    .vamika-process.working-process-section .container {
        max-width: 960px;
    }
}

@media screen and (max-width: 991px) {
    .vamika-process.working-process-section .container {
        max-width: 720px;
    }
}

@media screen and (max-width: 767px) {
    .vamika-process.working-process-section .container {
        max-width: 540px;
    }
}

@media screen and (max-width: 575px) {
    .vamika-process.working-process-section .container {
        max-width: none;
    }
}

/* the three arrow lines share the row with the steps below them */
.vamika-process .top-image-item-2 img {
    flex: 0 1 453px;
    min-width: 0;
}

/* second row of steps */
.vamika-process .working-process-wrapper + .top-image-item-2 {
    margin-top: 70px;
}

/* the theme centres the steps vertically, which staggers them when their text differs in length */
.vamika-process .working-process-wrapper {
    align-items: flex-start;
}

.vamika-process .working-process-wrapper .working-process-content {
    flex: 0 1 31%;
}

.vamika-process .working-process-wrapper .working-process-content span {
    display: block;
    color: rgba(11, 60, 93, 0.14);
}

.vamika-process .working-process-wrapper .working-process-content:hover span {
    color: var(--v-gold);
}

.vamika-process .working-process-content h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 40px;
    margin-bottom: 0;
    font-size: 45px;
    font-weight: 600;
    text-transform: uppercase;
}

.vamika-process .working-process-content h3 i {
    font-size: 0.7em;
}

@media screen and (max-width: 1200px) {
    /* the big numbers rise well above their line box, so leave room above each row */
    .vamika-process .working-process-wrapper {
        gap: 24px;
        margin-top: 150px;
    }

    .vamika-process .working-process-content h3 {
        justify-content: center;
        margin-top: 20px;
        font-size: 30px;
    }

    .vamika-process .working-process-content p {
        margin-inline: auto;
    }
}

@media screen and (max-width: 576px) {
    .vamika-process .working-process-wrapper {
        gap: 0;
        margin-top: 60px;
    }

    .vamika-process .working-process-wrapper .working-process-content {
        flex-basis: 100%;
    }
}


/* ========================= 13. Testimonials ========================= */
.vamika-testimonials.testimonial-three-area {
    background: var(--v-gold);
}

.vamika-testimonials .testimonial-three-wrapper {
    border-color: #ead48d;
}
.vamika-testimonials .testimonial-three-title {
    text-transform: uppercase;
    font-size: 28px;
}
.vamika-testimonials .testimonial-three-sm-paragraph {
    font-size: 14px;
}

.vamika-testimonials .service-five-dot .swiper-pagination-bullet::before {
    background: var(--v-navy);
}

.vamika-testimonial__origin {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    color: var(--v-navy);
}

.vamika-testimonial__origin img {
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.vamika-stars i {
    font-size: 1.1rem;
    color: var(--v-gold);
}

.vamika-avatar {
    width: 53px;
    height: 53px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--v-navy);
    color: var(--v-gold);
    font-weight: 700;
    letter-spacing: 0.04em;
}


/* ========================= 14. News ========================= */
.vamika-news .blog-two-wrapper {
    border: 1px solid var(--v-border);
    background: var(--v-light);
}

.vamika-news__author {
    padding: 4px;
    border: 1px solid var(--v-border);
    border-radius: 50%;
    background: #fff;
    object-fit: contain;
}

.vamika-news .blog-main-thumb {
    aspect-ratio: 360 / 283;
}

.vamika-news .blog-main-thumb img {
    height: 100%;
    object-fit: cover;
}

/* one photo per card: the theme hides the first image until hover (it swaps two photos),
   so keep this one visible and still, on hover too */
.vamika-news .blog-main-thumb img,
.vamika-news .blog-wrapper:hover .blog-main-thumb img {
    transform: none;
    opacity: 1;
    filter: none;
}


/* ========================= 15. Call to action ========================= */
.vamika-cta.cta-three-area {
    background-size: cover;
    background-position: center;
}

.vamika-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgb(0 0 0 / 32%) 0%, rgba(5, 31, 49, 0) 240px), linear-gradient(20deg, rgb(8 8 8 / 57%) 0%, rgb(0 0 0 / 56%) 45%, rgb(0 0 0 / 15%) 100%);
}

.vamika-cta .tw-w-704-px {
    max-width: 100%;
}

.vamika-cta .tw-btn-circle {
    width: 180px;
    height: 180px;
}

.vamika-cta .tw-btn-circle-text {
    font-size: 1.15rem;
    line-height: 1.3;
}


/* ========================= 16. Footer ========================= */
.vamika-footer.footer {
    padding-top: 0;
    background-color: var(--v-navy-950);
    background-size: cover;
}

.vamika-footer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgb(6 39 60 / 96%) 0%, rgb(5 32 50) 100%);
}

.vamika-footer__about {
    max-width: 360px;
}

.vamika-footer .contact-left-item i {
    font-size: 1.6rem;
}

.vamika-footer .contact-left-item .font-heading {
    line-height: 1.2;
}

.vamika-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

/* room below the copyright so the floating WhatsApp button never covers it at the end of the page */
.vamika-footer .vamika-footer__bottom {
    padding-bottom: 10px;
    padding-top: 10px;
}

.vamika-footer__legal {
    padding: 0;
    list-style: none;
}
.vamika-footer__legal li {
    font-size: 15px;
}

/* main.css hides every div in the copyright bar below 1400px; keep the copyright block */
.footer-copyright-wrapper .vamika-footer__meta {
    display: block;
}
.footer-copyright-wrapper .vamika-footer__meta .footer-bottom-text {
    font-size: 15px;
}

/* Spacer as wide as the part of the corner map that overlaps the container,
   so the legal links always stop short of the map. */
@media screen and (min-width: 1200px) {
    .footer-copyright-wrapper .vamika-footer__spacer {
        display: block;
        width: calc(min(434px, 50vw - 404px) - (50vw - 570px) + 36px);
    }
}

@media screen and (min-width: 1400px) {
    .footer-copyright-wrapper .vamika-footer__spacer {
        width: calc(min(434px, 50vw - 464px) - (50vw - 660px) + 36px);
    }
}

.vamika-map iframe {
    display: block;
    width: 100%;
    height: 200px;
    border: 0;
    border-radius: 12px;
}

/* Map in place of the theme's bottom-right footer image (footer-bg-shape, 434 x 520).
   Desktop (>= 1200px): pinned to the footer's bottom-right corner, narrowed to the space
   right of the content columns (they stop at 10/12). Tablet/mobile: in the flow below. */
.vamika-footer__map-slot {
    max-width: 1320px;
    margin: 8px auto 0;
    padding-inline: 12px;
}

.vamika-footer__map {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 20px;
    box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.6);
    opacity: 0.9;
}

.vamika-footer__map iframe {
    display: block;
    width: 100%;
    height: 300px;
    border: 0;
}

@media screen and (min-width: 1200px) {
    .vamika-footer__map-slot {
        position: absolute;
        inset: auto 0 0 auto;
        z-index: 2;
        /* free space right of the 10/12 content = 50vw - (10/12 of the 1140px container - half of it) - 24px gap */
        width: min(434px, calc(50vw - 404px));
        height: 480px;
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .vamika-footer__map {
        height: 100%;
        border-width: 1px 0 0 1px;
        border-radius: 20px 0 0 0;
    }

    .vamika-footer__map iframe {
        height: 100%;
    }
}

@media screen and (min-width: 1400px) {
    .vamika-footer__map-slot {
        /* same rule for the 1320px container */
        width: min(434px, calc(50vw - 400px));
    }
}

/* phones: Quick Links in two columns (the list's d-flex / flex-column utilities are !important) */
@media screen and (max-width: 575px) {
    .vamika-footer .footer-col-3 .footer-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 20px;
    }
}

.vamika-error--light {
    color: #ffb4a8;
}


/* ========================= 17. Form labels & WhatsApp ========================= */
.vamika-label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--v-navy);
}

.vamika-error {
    display: block;
    margin-top: 4px;
    font-size: 0.8rem;
    color: #c0392b;
}

.vamika-whatsapp {
    position: fixed;
    inset-inline-start: 24px;
    inset-block-end: 24px;
    z-index: 999;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 20px 11px 14px;
    border-radius: 999px;
    background: #25D366;
    color: #fff;
    font-weight: 700;
    box-shadow: 0 12px 30px -10px rgba(37, 211, 102, 0.7);
    transition: transform 0.3s;
}

.vamika-whatsapp:hover {
    color: #fff;
    transform: translateY(-3px);
}

.vamika-whatsapp i {
    font-size: 1.9rem;
}

@media screen and (max-width: 575px) {
    .vamika-whatsapp {
        padding: 12px;
    }

    .vamika-whatsapp__label {
        display: none;
    }
}


/* ========================= 18. About page ========================= */
/* Page banner (theme breadcrumb-area) */
.vamika-page-banner.breadcrumb-area {
    padding-block: 210px 90px;
    background-size: cover;
    background-position: center;
}
@media screen and (max-width: 1599px) {
    .vamika-page-banner.breadcrumb-area {
        padding-block: 180px 60px;
    }
}
@media screen and (max-width: 1366px) {
    .vamika-page-banner.breadcrumb-area {
        padding-block: 150px 40px;
    }
}

.vamika-page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(100deg, rgb(0 0 0 / 96%) 0%, rgb(0 0 0 / 82%) 50%, rgb(0 0 0 / 45%) 100%);
}

/* the theme shape is dark; invert it to a faint white asterisk */
.vamika-page-banner__shape {
    inset-block: auto -90px;
    inset-inline: auto 8%;
    width: 260px;
    filter: invert(1);
    opacity: 0.08;
    animation: vamika-spin 40s linear infinite;
    display: none;
}

@keyframes vamika-spin {
    to {
        transform: rotate(360deg);
    }
}

@media screen and (max-width: 767px) {
    .vamika-page-banner.breadcrumb-area {
        padding-block: 115px 40px;
    }

    .vamika-page-banner__shape {
        width: 160px;
        inset-block-end: -50px;
    }
}


.vamika-breadcrumb {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 25px 0;
    padding: 8px 15px 5px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    /* border-radius: 999px; */
    background: rgba(255, 255, 255, 0.08);
    list-style: none;
    font-size: 15px;
    font-weight: 500;
    color: var(--v-gold);
}

.vamika-breadcrumb a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    transition: color 0.3s;
}

.vamika-breadcrumb a:hover {
    color: var(--v-gold);
}

.vamika-breadcrumb li+li::before {
    content: "/";
    margin-inline-end: 10px;
    color: rgba(255, 255, 255, 0.45);
}

/* The base breadcrumb is built for a dark banner — white text in a translucent white pill.
   On a light surface (the category hero panel) that leaves an invisible pill and invisible
   separators, so this variant restates every colour against a light background. */
.vamika-breadcrumb--onlight {
    /* border-color: var(--v-border);
    background: var(--v-light); */
    color: var(--v-gold-700);
    border-bottom: 1px solid #d3d5d7;
}

.vamika-breadcrumb--onlight a {
    color: var(--v-navy);
}

.vamika-breadcrumb--onlight a:hover {
    color: var(--v-gold-700);
}

.vamika-breadcrumb--onlight li+li::before {
    color: rgba(11, 60, 93, 0.35);
}

/* Who we are (theme about-two-area) */
.vamika-who__media {
    padding-inline-end: 20%;
    padding-block-end: 10%;
}

/* Fixed portrait 4:5 at every screen size, so one portrait photo (1200 x 1500) always fits */
.vamika-who__main img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
    box-shadow: var(--v-shadow);
}

/* stacked layout: keep the portrait photos from growing too tall */
@media screen and (max-width: 1199px) {
    .vamika-who__media {
        max-width: 560px;
    }
}

.vamika-who .about-two-thumb {
    margin-bottom: 0;
}

.vamika-who__inset {
    position: absolute;
    inset-inline-end: 0;
    inset-block-end: 0;
    width: 44%;
    padding: 8px;
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--v-shadow);
}

.vamika-who__inset img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.vamika-who__badge.about-two-sticker {
    inset-block-start: 28px;
    inset-inline-start: -24px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px 14px 14px;
    color: var(--v-navy);
    box-shadow: var(--v-shadow);
}

.vamika-who__badge strong {
    font-size: 1.05rem;
}

@media screen and (max-width: 767px) {
    .vamika-who__badge.about-two-sticker {
        inset-inline-start: 12px;
        inset-block-start: 12px;
    }
}

.vamika-who__body {
    padding-inline-start: 2.5rem;
}

@media screen and (max-width: 1199px) {
    .vamika-who__body {
        padding-inline-start: 0;
    }
}

.vamika-who .about-two-paragraph {
    border-bottom-color: var(--v-border);
    font-size: 1.1rem;
    color: var(--v-navy);
}

/* Key numbers (theme counter-box-items) */
.vamika-counters .counter-box-items {
    max-width: none;
}

.vamika-counters .counter-title {
    margin: 0;
    font-size: clamp(3.75rem, 2.5rem + 3vw, 6rem);
    line-height: 1.3;
    color: #fff;
}

.vamika-counters .counter-title .odometer {
    color: #fff;
}

.vamika-counters__plus {
    color: var(--v-gold);
}

.vamika-counters .counter-box-items .title-2 {
    margin-bottom: 8px;
    font-family: var(--body-font);
    font-size: 1.25rem;
    border-top-color: rgba(255, 255, 255, 0.18);
    padding-top: 20px;
    color: var(--v-gold);
}

.vamika-counters .counter-box-items p:not(.counter-title) {
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.72);
}

/* Mission, vision & values (theme service-five cards, as a static grid) */
/* No border or shadow: the corner tab covers the card's top-right corner, and either would show around it. */
.vamika-mvv__card.service-five-wrapper {
    border: 0;
    transition: transform 0.4s;
}
.vamika-mvv__card.service-five-wrapper p {
    font-size: 16px;
}

.vamika-mvv__card:hover {
    transform: translateY(-6px);
}

.vamika-mvv__card .service-five-title {
    padding-inline-end: 64px;
}

/* Corner notch colour = section background (notch position and joins: see 08. Why choose us) */
.vamika-mvv {
    --v-notch: var(--v-light);
}

.vamika-mvv .service-five-list li::marker {
    color: var(--v-gold);
}

/* Quality & sourcing (theme skill-three-area) */
.vamika-quality.skill-three-area {
    background: #fff;
}

.vamika-quality__steps {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vamika-quality__steps li {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 20px 22px;
    border: 1px solid var(--v-border);
    border-radius: 16px;
    background: var(--v-light);
    transition: border-color 0.3s, background-color 0.3s;
}

.vamika-quality__steps li:hover {
    border-color: var(--v-gold);
    background: #fff;
}
.vamika-quality__steps li p {
    font-size: 16px;
}
@media screen and (max-width: 767px) {
    .vamika-quality__steps li {
        display: block;
    }
    .vamika-quality__steps li .vamika-icon-circle {
        margin-bottom: 15px;
    }
}
.vamika-quality__media {
    padding-inline-start: 2.5rem;
}

.vamika-quality__media img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
    box-shadow: var(--v-shadow);
}

.vamika-quality__card {
    position: absolute;
    inset-inline-start: 0;
    inset-block-end: 40px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 24px 18px 18px;
    color: hsl(var(--body));
    box-shadow: var(--v-shadow);
}

.vamika-quality__card strong {
    font-size: 1.05rem;
    color: var(--v-navy);
}

@media screen and (max-width: 1199px) {
    /* same portrait 4:5 as desktop, capped so it isn't too tall */
    .vamika-quality__media {
        max-width: 560px;
        padding-inline-start: 0;
    }

    .vamika-quality__card {
        inset-inline-start: 16px;
        inset-block-end: 16px;
    }
}

@media screen and (max-width: 575px) {
    .vamika-counters .counter-title {
        font-size: 3.25rem;
    }

    .vamika-counters .counter-box-items .title-2 {
        font-size: 1.05rem;
        padding-top: 14px;
    }

    .vamika-counters .counter-box-items p:not(.counter-title) {
        font-size: 0.875rem;
    }
}


/* ========================= 19. Export page ========================= */
/* Export hero (theme banner-five-area) */
/* sized so the whole hero, stats row included, fits in one screen */
.vamika-export-hero.banner-five-area {
    padding-block: 160px 0;
    background-size: cover;
    background-position: center;
}

.vamika-export-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(100deg, rgb(0 0 0 / 96%) 0%, rgb(0 0 0 / 82%) 50%, rgb(0 0 0 / 45%) 100%);
}

/* same heading font and style as every section title (theme --heading-font, uppercase) */
.vamika-export-hero__title.banner-five-title {
    max-width: 1100px;
    font-family: var(--heading-font);
    font-size: clamp(3.25rem, 1.8rem + 4vw, 6.5rem);
    /* the theme's banner title is 900; section titles use the heading default of 600 */
    font-weight: 600;
    line-height: 0.98;
    letter-spacing: 0;
}

.vamika-export-hero__text {
    max-width: 700px;
    /* font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.25rem); */
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
}

.vamika-export-hero__stats.banner-five-counter-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 56px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.vamika-export-hero__stats .banner-five-counter-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px 24px 28px 0;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
}

.vamika-export-hero__stats .banner-five-counter-item + .banner-five-counter-item {
    padding-inline-start: 28px;
    border-inline-start: 1px solid rgba(255, 255, 255, 0.16);
}

.vamika-export-hero__stat {
    font-family: var(--heading-font);
    font-size: clamp(2.4rem, 1.8rem + 1.6vw, 3.5rem);
    line-height: 1;
    color: var(--v-gold);
}

/* short laptop screens (e.g. 1366 x 768): tighten so it still fits one screen */
@media screen and (min-width: 992px) and (max-height: 820px) {
    .vamika-export-hero.banner-five-area {
        padding-block-start: 130px;
    }

    .vamika-export-hero__title.banner-five-title {
        font-size: clamp(3rem, 1.6rem + 3vw, 4.75rem);
    }


    .vamika-export-hero__stats.banner-five-counter-wrap {
        margin-top: 36px;
    }

    .vamika-export-hero__stats .banner-five-counter-item {
        padding-block: 18px 22px;
    }
}

@media screen and (max-width: 767px) {
    .vamika-export-hero.banner-five-area {
        padding-block-start: 120px;
    }

    /* phones: the menu already marks the page; drop the breadcrumb so the hero fits one screen */
    .vamika-export-hero nav[aria-label="Breadcrumb"] {
        display: none;
    }

    .vamika-export-hero__title.banner-five-title {
        font-size: 3rem;
    }

    .vamika-export-hero__stats.banner-five-counter-wrap {
        margin-top: 36px;
    }

    .vamika-export-hero__stats .banner-five-counter-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 22px 10px 24px 0;
        font-size: 0.85rem;
    }

    .vamika-export-hero__stats .banner-five-counter-item + .banner-five-counter-item {
        padding-inline-start: 14px;
    }
}

/* Global reach map (theme interactive-gallery-area): dotted world, glowing export markets, routes from Dubai */
.vamika-worldmap.interactive-gallery-area {
    position: relative;
    overflow: hidden;
    /* 140px on tall desktop screens, less on laptops so the map is not pushed off screen */
    padding-block: clamp(64px, 11vh, 140px);
    background:
        radial-gradient(55% 60% at 60% 40%, rgba(11, 60, 93, 0.9) 0%, rgba(5, 31, 49, 0) 70%),
        var(--v-navy-950);
}

.vamika-worldmap__viewport {
    overflow: hidden;
}

/* heading above the map */
.vamika-worldmap__head {
    margin-bottom: 20px;
}

.vamika-worldmap__head .section-two-title {
    font-size: clamp(2.5rem, 1.5rem + 2vw, 3.75rem);
}

/* map: at most 1100px wide, and never taller than the screen below the fixed header, so the
   whole map (Senegal to the Maldives, Jordan to Mozambique) is in view at once. The heading
   scrolls away above it. 1.65 = the map's width / height; 150px = site header + breathing room.
   On a 1366 x 768 laptop this gives a map of about 1000px instead of 700px, which keeps the
   Gulf tags (Kuwait, Bahrain, Qatar) apart. The 140px side margin leaves room for the
   Senegal tag, which sits to the left of the map's westernmost marker. */
.vamika-worldmap__stage {
    position: relative;
    width: min(calc(100% - 140px), 1100px, calc((100vh - 150px) * 1.65));
    margin-inline: auto;
}

.vamika-worldmap__svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

/* land, drawn as rows of round dots */
.vamika-worldmap__land path {
    fill: none;
    stroke: rgba(255, 255, 255, 0.13);
    stroke-width: 1.25;
    stroke-linecap: round;
    transition: stroke 0.5s, opacity 0.5s;
}

.vamika-worldmap__land path.is-market {
    stroke: rgba(212, 175, 55, 0.72);
}

.vamika-worldmap__land path.is-hub {
    stroke: #f0cf5f;
}

/* routes from Dubai */
.vamika-worldmap__route {
    fill: none;
    stroke: rgba(212, 175, 55, 0.75);
    stroke-width: 0.45;
    stroke-linecap: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 1.6s cubic-bezier(0.65, 0, 0.35, 1) calc(0.3s + var(--i) * 0.08s), opacity 0.5s;
}

.vamika-worldmap__mover {
    fill: #fff;
    filter: drop-shadow(0 0 1.5px #D4AF37);
    transition: opacity 0.5s;
}

/* markers: a gold point with a soft pulsing ring */
.vamika-worldmap__point {
    fill: #D4AF37;
    stroke: var(--v-navy-950);
    stroke-width: 0.6;
}

.vamika-worldmap__pulse {
    fill: rgba(212, 175, 55, 0.35);
    transform-box: fill-box;
    transform-origin: center;
    animation: vamika-map-pulse 2.6s ease-out infinite;
    animation-delay: calc(var(--i, 0) * 0.2s);
}

.vamika-worldmap__marker.is-hub .vamika-worldmap__point {
    fill: #fff;
    stroke: #D4AF37;
    stroke-width: 1;
}

.vamika-worldmap__marker.is-hub .vamika-worldmap__pulse {
    fill: rgba(255, 255, 255, 0.3);
}

.vamika-worldmap__marker {
    transform-box: fill-box;
    transform-origin: center;
    transition: opacity 0.5s;
}

@keyframes vamika-map-pulse {
    0% {
        opacity: 0.9;
        transform: scale(1);
    }

    100% {
        opacity: 0;
        transform: scale(4);
    }
}

.vamika-worldmap__glow {
    animation: vamika-map-glow 4s ease-in-out infinite alternate;
    transform-box: fill-box;
    transform-origin: center;
}

@keyframes vamika-map-glow {
    to {
        transform: scale(1.25);
        opacity: 0.7;
    }
}

/* name tags */
.vamika-worldmap__label {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 11px 5px 6px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: rgba(5, 31, 49, 0.82);
    backdrop-filter: blur(4px);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
    transition: opacity 0.5s;
}

.vamika-worldmap__label img {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    object-fit: cover;
}

/* place each tag beside its marker */
.vamika-worldmap__label.is-right {
    transform: translate(14px, -50%);
}

.vamika-worldmap__label.is-left {
    transform: translate(calc(-100% - 14px), -50%);
}

.vamika-worldmap__label.is-top {
    transform: translate(-50%, calc(-100% - 12px));
}

.vamika-worldmap__label.is-bottom {
    transform: translate(-50%, 12px);
}

/* up and to the left, for a marker whose neighbour's tag sits directly above it (Kuwait / Bahrain) */
.vamika-worldmap__label.is-top-left {
    transform: translate(calc(-100% + 12px), calc(-100% - 26px));
}

.vamika-worldmap__label--hub {
    gap: 9px;
    padding: 7px 14px 7px 7px;
    border-color: rgba(212, 175, 55, 0.7);
    background: #D4AF37;
    color: var(--v-navy);
    font-size: 0.85rem;
    box-shadow: 0 10px 30px -10px rgba(212, 175, 55, 0.7);
}

.vamika-worldmap__label--hub img {
    width: 20px;
    height: 20px;
}

.vamika-worldmap__label--hub strong {
    margin-inline-end: 4px;
}

.vamika-worldmap__label--hub.is-right {
    transform: translate(18px, -50%);
}

/* entrance: set up by JS (is-ready), played when the map scrolls into view (is-visible) */
.vamika-worldmap__stage.is-ready:not(.is-visible) .vamika-worldmap__route {
    stroke-dashoffset: 1;
}

.vamika-worldmap__stage.is-ready:not(.is-visible) .vamika-worldmap__marker,
.vamika-worldmap__stage.is-ready:not(.is-visible) .vamika-worldmap__label,
.vamika-worldmap__stage.is-ready:not(.is-visible) .vamika-worldmap__mover {
    opacity: 0;
}

/* one-off entrance ("backwards" fill, so nothing stays stuck in its first frame) */
.vamika-worldmap__stage.is-ready.is-visible .vamika-worldmap__marker {
    animation: vamika-map-pop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
    animation-delay: calc(0.9s + var(--i, 0) * 0.08s);
}

.vamika-worldmap__stage.is-ready.is-visible .vamika-worldmap__label {
    animation: vamika-map-fade 0.5s ease-out backwards;
    animation-delay: calc(1.1s + var(--i, 0) * 0.08s);
}

@keyframes vamika-map-pop {
    from {
        opacity: 0;
        transform: scale(0);
    }
}

@keyframes vamika-map-fade {
    from {
        opacity: 0;
    }
}

/* tablets & phones: the map is shown larger than the screen and anchored left,
   so every market from Senegal to the Maldives stays in view */
@media screen and (max-width: 991px) {
    .vamika-worldmap.interactive-gallery-area {
        padding-block: 48px;
    }

    .vamika-worldmap__stage {
        width: 118vw;
        max-width: none;
        margin-inline: 0;
    }

    .vamika-worldmap__label {
        font-size: 0.7rem;
    }

    .vamika-worldmap__label.is-sm-top {
        transform: translate(-50%, calc(-100% - 12px));
    }
}

/* phones: only the Dubai tag (above its marker, so it is not cut off at the right edge) */
@media screen and (max-width: 575px) {
    .vamika-worldmap.interactive-gallery-area {
        padding-block: 36px;
    }

    .vamika-worldmap__label:not(.vamika-worldmap__label--hub) {
        display: none;
    }

    .vamika-worldmap__label--hub.is-right {
        transform: translate(-50%, calc(-100% - 14px));
    }
}

@media (prefers-reduced-motion: reduce) {
    .vamika-worldmap__pulse,
    .vamika-worldmap__glow {
        animation: none;
    }

    .vamika-worldmap__mover {
        display: none;
    }
}

/* Export markets explorer (theme project-five-area + common-tab) */

/* region tabs */
.vamika-market-tabs.common-tab {
    display: grid;
    gap: 14px;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    list-style: none;
}

/* equal-height tabs when they sit in a row */
.vamika-market-tabs .nav-item {
    display: flex;
}

.vamika-market-tab.nav-link {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
        "num body arrow"
        "num flags arrow";
    align-items: center;
    gap: 6px 18px;
    padding: 22px 24px;
    border: 1px solid var(--v-border) !important;
    border-radius: 18px;
    background: #fff;
    color: var(--v-navy);
    text-align: start;
    transition: background-color 0.35s, border-color 0.35s, box-shadow 0.35s, transform 0.35s;
}

.vamika-market-tab.nav-link:hover {
    color: var(--v-navy);
    transform: translateX(4px);
    box-shadow: var(--v-shadow);
}

.vamika-market-tab.nav-link.active {
    background: var(--v-navy);
    border-color: var(--v-navy) !important;
    color: #fff !important;
    box-shadow: var(--v-shadow);
    transform: none;
}

.vamika-market-tab__num {
    grid-area: num;
    font-family: var(--heading-font);
    font-size: 2.6rem;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px #b7c3cd;
    transition: color 0.35s, -webkit-text-stroke-color 0.35s;
}

.vamika-market-tab.active .vamika-market-tab__num {
    color: var(--v-gold);
    -webkit-text-stroke-color: var(--v-gold);
}

.vamika-market-tab__body {
    grid-area: body;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 12px;
}

.vamika-market-tab__name {
    font-size: 1.2rem;
    font-weight: 700;
}

.vamika-market-tab__meta {
    font-size: 0.85rem;
    font-weight: 600;
    color: hsl(var(--body));
}

.vamika-market-tab.active .vamika-market-tab__meta {
    color: rgba(255, 255, 255, 0.7);
}

.vamika-market-tab__flags {
    grid-area: flags;
    display: flex;
    padding-inline-start: 6px;
}

.vamika-market-tab__flags img {
    width: 26px;
    height: 26px;
    margin-inline-start: -6px;
    border: 2px solid #fff;
    border-radius: 50%;
    object-fit: cover;
}

.vamika-market-tab.active .vamika-market-tab__flags img {
    border-color: var(--v-navy);
}

.vamika-market-tab__arrow {
    grid-area: arrow;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--v-light);
    color: var(--v-navy);
    transition: background-color 0.35s, color 0.35s, transform 0.35s;
}

.vamika-market-tab.active .vamika-market-tab__arrow {
    background: var(--v-gold);
    color: var(--v-navy);
    transform: rotate(-45deg);
}

/* Dubai hub card under the tabs */
.vamika-market-hub {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 22px;
    border: 1px dashed #c9d3dc;
    border-radius: 18px;
}

.vamika-market-hub__flag img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--v-gold);
}

.vamika-market-hub strong {
    display: block;
    color: var(--v-navy);
}

.vamika-market-hub span {
    font-size: 0.875rem;
}

/* Desktop: panels stacked in one grid cell, so switching never changes the section height.
   Smaller screens use Bootstrap's normal show/hide, so short regions leave no empty space. */
@media screen and (min-width: 1200px) {
    .vamika-market-side {
        display: flex;
        flex-direction: column;
    }

    .vamika-market-side .vamika-market-hub {
        margin-top: auto;
    }

    .vamika-market-panels {
        display: grid;
        height: 100%;
    }

    .vamika-market-panels > .tab-pane {
        grid-area: 1 / 1;
        display: block !important;
        visibility: hidden;
        opacity: 0;
        transform: translateY(12px);
        transition: opacity 0.4s, transform 0.4s, visibility 0.4s;
    }

    .vamika-market-panels > .tab-pane.active {
        visibility: visible;
        opacity: 1;
        transform: none;
    }
}

.vamika-market-panel {
    position: relative;
    overflow: hidden;
    padding: 44px 44px 40px;
    border-radius: 24px;
    background: linear-gradient(135deg, var(--v-navy-950) 0%, var(--v-navy) 100%);
    color: rgba(255, 255, 255, 0.78);
}

/* faint globe grid behind the panel content */
.vamika-market-panel::before {
    content: "";
    position: absolute;
    inset-block-start: -140px;
    inset-inline-end: -140px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(212, 175, 55, 0.16);
    border-radius: 50%;
    background:
        radial-gradient(circle, transparent 58%, rgba(212, 175, 55, 0.1) 59%, transparent 60%),
        radial-gradient(circle, transparent 38%, rgba(212, 175, 55, 0.1) 39%, transparent 40%);
    pointer-events: none;
}

.vamika-market-panel__head {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.vamika-market-panel__head p {
    max-width: 520px;
}

.vamika-market-panel__note {
    display: block;
    margin-bottom: 6px;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--v-gold);
}

.vamika-market-panel__title {
    margin-bottom: 10px;
    font-size: clamp(2.4rem, 1.6rem + 2vw, 3.5rem);
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
}

.vamika-market-panel__count {
    font-family: var(--heading-font);
    font-size: clamp(4rem, 2.8rem + 3vw, 6rem);
    line-height: 0.85;
    color: transparent;
    -webkit-text-stroke: 1px rgba(212, 175, 55, 0.75);
}

.vamika-market-countries {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vamika-market-country {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.05);
    transition: background-color 0.3s, border-color 0.3s;
}

.vamika-market-country:hover {
    border-color: rgba(212, 175, 55, 0.6);
    background: rgba(255, 255, 255, 0.09);
}

.vamika-market-country__flag {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.12);
    overflow: hidden;
}

.vamika-market-country__flag img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vamika-market-country__body strong {
    display: block;
    font-size: 1.1rem;
    color: #fff;
}

.vamika-market-country__body span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
}

.vamika-market-country__body span i {
    color: var(--v-gold);
}

.vamika-market-country--more {
    border-style: dashed;
}

.vamika-market-country--more .vamika-market-country__flag {
    background: rgba(212, 175, 55, 0.14);
    color: var(--v-gold);
    font-size: 1.6rem;
}

.vamika-market-country--more a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--v-gold);
}

.vamika-market-country--more a:hover {
    color: #fff;
}

/* tablet & phone: tabs become a row above the panel */
@media screen and (max-width: 1199px) {
    .vamika-market-tabs.common-tab {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .vamika-market-tab.nav-link {
        grid-template-columns: 1fr;
        grid-template-areas: "num" "body" "flags";
        padding: 18px;
    }

    .vamika-market-tab__arrow {
        display: none;
    }

    .vamika-market-tab.nav-link:hover {
        transform: none;
    }
}

@media screen and (max-width: 767px) {
    .vamika-market-tabs.common-tab {
        gap: 8px;
    }

    .vamika-market-tab.nav-link {
        gap: 4px;
        padding: 14px 12px;
        border-radius: 14px;
    }

    .vamika-market-tab__num {
        font-size: 1.8rem;
    }

    .vamika-market-tab__name {
        font-size: 0.95rem;
    }

    .vamika-market-tab__meta,
    .vamika-market-tab__flags {
        display: none;
    }

    .vamika-market-panel {
        padding: 28px 20px 24px;
        border-radius: 18px;
    }

    .vamika-market-countries {
        grid-template-columns: 1fr;
    }
}

/* Export supply capabilities (theme feature-three-area): intro left, staggered 2 x 2 cards right */
.vamika-capabilities.feature-three-area {
    background: #fff;
}

.vamika-capabilities__intro {
    max-width: 480px;
}

.vamika-capabilities__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    padding: 28px 28px 68px;
    border-radius: 28px;
    background: var(--v-light);
}

/* second column sits lower for a staggered layout */
.vamika-capabilities__grid > .vamika-capability:nth-child(even) {
    margin-top: 40px;
    margin-bottom: -40px;
}

.vamika-capability {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 30px 28px 32px;
    border: 1px solid var(--v-border);
    border-radius: 20px;
    background: #fff;
    transition: background-color 0.4s, border-color 0.4s, box-shadow 0.4s;
}

.vamika-capability:hover {
    border-color: var(--v-navy);
    background: var(--v-navy);
    box-shadow: var(--v-shadow);
}

.vamika-capability__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 28px;
}

.vamika-capability .vamika-icon-circle {
    transition: background-color 0.4s, color 0.4s;
}

.vamika-capability:hover .vamika-icon-circle {
    background: var(--v-gold);
    color: var(--v-navy);
}

.vamika-capability__num {
    font-family: var(--heading-font);
    font-size: 3.25rem;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px #c9d3dc;
    transition: -webkit-text-stroke-color 0.4s;
}

.vamika-capability:hover .vamika-capability__num {
    -webkit-text-stroke-color: var(--v-gold);
}

.vamika-capability__title {
    margin-bottom: 10px;
    font-family: var(--body-font);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--v-navy);
    transition: color 0.4s;
}

.vamika-capability p {
    font-size: 16px;
    transition: color 0.4s;
}

.vamika-capability:hover .vamika-capability__title {
    color: #fff;
}

.vamika-capability:hover p {
    color: rgba(255, 255, 255, 0.75);
}

@media screen and (max-width: 1199px) {
    .vamika-capabilities__intro {
        max-width: 640px;
    }
}

@media screen and (max-width: 575px) {
    .vamika-capabilities__grid {
        grid-template-columns: 1fr;
        padding: 16px;
        border-radius: 20px;
    }

    .vamika-capabilities__grid > .vamika-capability:nth-child(even) {
        margin: 0;
    }
}

/* International trade support (theme service-area / service-item) */
/* .vamika-trade-support.service-area {
    padding-block: 140px;
} */

.vamika-trade-support__media {
    padding-block-end: 90px;
}

.vamika-trade-support__media img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
    box-shadow: var(--v-shadow);
}

.vamika-trade-support__docs {
    position: absolute;
    inset-inline-end: -28px;
    inset-block-end: 0;
    width: min(320px, 80%);
    padding: 24px 26px;
    box-shadow: var(--v-shadow);
}

.vamika-trade-support__docs-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    font-weight: 700;
    color: var(--v-navy);
}

.vamika-trade-support__docs-title i {
    font-size: 1.5rem;
    color: var(--v-gold);
}

.vamika-trade-support__docs ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vamika-trade-support__docs li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.925rem;
    font-weight: 600;
    color: hsl(var(--body));
}

.vamika-trade-support__docs li::before {
    content: "";
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--v-gold);
}

.vamika-trade-support__body {
    padding-inline-start: 2.5rem;
}

.vamika-support-grid {
    border-top: 1px solid var(--v-border);
    border-inline-start: 1px solid var(--v-border);
}

.vamika-support-item.service-item {
    height: 100%;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 26px 20px;
    border-inline-end: 1px solid var(--v-border);
    border-bottom: 1px solid var(--v-border);
    transition: background-color 0.3s;
}

.vamika-support-item.service-item p {
    font-size: 16px;
}

.vamika-support-item:hover {
    background: #fff;
}

.vamika-support-item__icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--v-navy);
    color: var(--v-gold);
    font-size: 1.45rem;
    transition: background-color 0.3s, color 0.3s;
}

.vamika-support-item:hover .vamika-support-item__icon {
    background: var(--v-gold);
    color: var(--v-navy);
}

@media screen and (max-width: 1199px) {
    .vamika-trade-support__media {
        max-width: 560px;
    }

    .vamika-trade-support__docs {
        inset-inline-end: 16px;
    }

    .vamika-trade-support__body {
        padding-inline-start: 0;
    }
    .vamika-support-item.service-item {
        display: block;
    }
    .vamika-support-item__icon {
        margin-bottom: 15px;
    }
}

/* Export inquiry (theme contact-five-area: photo panel + form) */
.vamika-export-inquiry.contact-five-area {
    /* padding-block: 140px; */
    background: #fff;
}

/* the theme draws a large dark box behind this section */
.vamika-export-inquiry.contact-five-area::before {
    content: none;
}

.vamika-export-inquiry__card {
    border: 1px solid var(--v-border);
    box-shadow: var(--v-shadow);
}

.vamika-export-inquiry__aside.contact-five-thumb {
    position: relative;
    z-index: 1;
    margin: 0;
    background-size: cover;
    background-position: center;
}

.vamika-export-inquiry__aside::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(5, 31, 49, 0.78) 0%, rgba(5, 31, 49, 0.95) 100%);
}

.vamika-export-inquiry__aside-content {
    padding: 56px 48px;
}

/* the theme title is outline-only text; make it solid for readability */
.vamika-export-inquiry__title.contact-five-title {
    font-family: var(--heading-font);
    font-size: clamp(2.75rem, 1.8rem + 2.6vw, 4.25rem);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: 0;
    color: #fff;
    -webkit-text-fill-color: #fff;
    -webkit-text-stroke: 0;
}

.vamika-export-inquiry__contacts {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 24px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    list-style: none;
    color: rgba(255, 255, 255, 0.85);
    font-weight: 600;
}

.vamika-export-inquiry__contacts li {
    display: flex;
    align-items: center;
    gap: 12px;
}

.vamika-export-inquiry__contacts i {
    font-size: 1.35rem;
    color: var(--v-gold);
}

.vamika-export-inquiry__contacts a {
    color: #fff;
}

.vamika-export-inquiry__contacts a:hover {
    color: var(--v-gold);
}

/* export page: what the buyer gets, in place of contact details (those live in the footer) */
.vamika-export-inquiry__points {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 24px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    list-style: none;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 600;
}

.vamika-export-inquiry__points li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.vamika-export-inquiry__points i {
    flex-shrink: 0;
    margin-top: 1px;
    font-size: 1.35rem;
    color: var(--v-gold);
}

.vamika-export-inquiry__form.contact-five-wrapper {
    margin: 0;
    padding: 56px 48px;
    background: #fff;
}

.vamika-input {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid var(--v-border);
    border-radius: 10px;
    background: var(--v-light);
    color: var(--v-navy);
    font-weight: 500;
    outline: none;
    transition: border-color 0.3s, background-color 0.3s, box-shadow 0.3s;
}

.vamika-input::placeholder {
    color: #8a97a3;
}

.vamika-input:focus {
    border-color: var(--v-gold);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.15);
}

.vamika-input--area {
    min-height: 150px;
    resize: vertical;
}

.vamika-export-inquiry__success {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 28px;
    padding: 18px 20px;
    border: 1px solid #bfe3cb;
    border-radius: 12px;
    background: #eefaf2;
    color: #1d5b33;
}

.vamika-export-inquiry__success i {
    font-size: 1.6rem;
    color: #2e9b57;
}

.vamika-export-inquiry__success strong,
.vamika-export-inquiry__success span {
    display: block;
}

@media screen and (max-width: 767px) {
    .vamika-export-inquiry__aside-content,
    .vamika-export-inquiry__form.contact-five-wrapper {
        padding: 36px 22px;
    }
}

/* -- What Vamika does (theme about-four-area, recoloured for a white ground) -- */
.vamika-export-about {
    background: #fff;
}

/* the theme shrinks this title to 3.6rem under 1200px; keep the site-wide title scale */
.vamika-export-about .section-two-title {
    font-size: clamp(2.75rem, 1.6rem + 3.4vw, 5.25rem);
}

/* 360 degree globe (public/js/vamika-globe.js) */
.vamika-globe {
    max-width: 420px;
}

.vamika-globe__canvas {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    cursor: grab;
    touch-action: pan-y; /* a sideways drag turns the globe, vertical swipes still scroll */
}

.vamika-globe.is-dragging .vamika-globe__canvas {
    cursor: grabbing;
}

.vamika-export-about__features.about-four-wrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 48px;
    padding-top: 40px;
    border-top: 1px solid var(--v-border);
}

/* keep the icon and its title on one line (the theme wraps them under 1200px) */
.vamika-export-about .about-four-content {
    flex-wrap: nowrap;
}

.vamika-export-about__icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.14);
    font-size: 1.75rem;
    color: var(--v-gold-700);
}

.vamika-export-about__title {
    font-family: var(--heading-font);
    font-size: 35px;
    line-height: 1.05;
    text-transform: uppercase;
    color: var(--v-navy);
}

@media screen and (max-width: 575px) {
    .vamika-export-about__features.about-four-wrap {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }
}

/* stacked layout: centre the globe above the text */
@media screen and (max-width: 991px) {
    .vamika-globe {
        max-width: 360px;
        margin-inline: auto;
    }
}


/* ========================= 20. Industries page ========================= */

/* -- shared pill (the .about-five-feature variant above keeps its own look) -- */
.vamika-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 16px;
    border: 1px solid var(--v-gold);
    border-radius: 999px;
    background: #fff;
    color: var(--v-gold-700);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.4;
}

/* -- intro stats -- */
.vamika-industries-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 0;
    padding: 30px 20px;
    border: 1px solid var(--v-border);
    border-radius: 18px;
    background: var(--v-light);
}

.vamika-industries-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: center;
    padding: 10px;
}
.vamika-industries-stat img{
    max-width: 60px;
    margin: auto;
    margin-bottom: 20px;
}

.vamika-industries-stat + .vamika-industries-stat {
    border-inline-start: 1px solid var(--v-border);
}

.vamika-industries-stat__value {
    font-family: var(--heading-font);
    font-size: 55px;
    font-weight: 700;
    line-height: 1;
    color: var(--v-navy);
}

.vamika-industries-stat__label {
    font-size: 0.9rem;
    font-weight: 600;
    color: hsl(var(--body));
}

.vamika-industries-stat__note {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 12px;
    padding-top: 24px;
    border-top: 1px solid var(--v-border);
    font-weight: 600;
    color: var(--v-navy);
}

.vamika-industries-stat__note i {
    flex-shrink: 0;
    margin-top: 2px;
    font-size: 1.25rem;
}

/* -- industry cards -- */
.vamika-industry-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--v-border);
    border-radius: 18px;
    background: #fff;
    transition: transform 0.4s, box-shadow 0.4s;
}

.vamika-industry-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--v-shadow);
}

.vamika-industry-card__media {
    position: relative;
    overflow: hidden;
}

.vamika-industry-card__media img {
    display: block;
    width: 100%;
    height: 360px;
    object-fit: cover;
    transition: transform 0.6s;
}

.vamika-industry-card:hover .vamika-industry-card__media img {
    transform: scale(1.05);
}

.vamika-industry-card__num {
    position: absolute;
    inset-block-start: 16px;
    inset-inline-end: 16px;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--v-navy);
    color: var(--v-gold);
    font-weight: 700;
    line-height: 1;
}

.vamika-industry-card__body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 32px;
}

.vamika-industry-card__head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.vamika-industry-card__title {
    margin: 0;
    font-family: var(--heading-font);
    font-size: 2.75rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-industry-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.vamika-industry-card__text {
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: 500;
}

.vamika-industry-card__subtitle {
    margin-bottom: 14px;
    font-family: var(--body-font);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--v-gold-700);
}

.vamika-industry-card__list.vamika-check-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin-bottom: 24px;
}

.vamika-industry-card__list.vamika-check-list li {
    align-items: flex-start;
    font-size: 0.95rem;
    font-weight: 600;
}

.vamika-industry-card__list.vamika-check-list i {
    flex-shrink: 0;
    margin-top: 1px;
    font-size: 1.25rem;
}

.vamika-industry-card__need {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: auto;
    margin-bottom: 24px;
    padding: 16px 18px;
    border-inline-start: 3px solid var(--v-gold);
    border-radius: 0 10px 10px 0;
    background: var(--v-light);
    font-size: 0.95rem;
}

.vamika-industry-card__need i {
    flex-shrink: 0;
    margin-top: 2px;
    font-size: 1.15rem;
    color: var(--v-gold);
}

.vamika-industry-card__need strong {
    color: var(--v-navy);
}

.vamika-industry-card .vamika-btn {
    align-self: flex-start;
}

/* deep-linked cards (e.g. /industries#retail) clear the fixed header */
.vamika-industry-card[id] {
    scroll-margin-top: 120px;
}

@media screen and (max-width: 1199px) {
    .vamika-industries-stats {
        max-width: 640px;
    }
}

@media screen and (max-width: 575px) {
    .vamika-industries-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 24px;
    }

    .vamika-industries-stat:nth-child(3) {
        border-inline-start: 0;
    }

    .vamika-industries-stat__value {
        font-size: 2.25rem;
    }

    .vamika-industry-card__body {
        padding: 24px 22px;
    }

    .vamika-industry-card__media img {
        height: 210px;
    }

    .vamika-industry-card__title {
        font-size: 35px;
    }

    /* the longest labels ("Quote for Wholesale Distributors") outrun a nowrap inline button */
    .vamika-industry-card .vamika-btn {
        align-self: stretch;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }
}


/* -- why industries choose us: proof bento --
   Mixed tiles (statement, figure, photo, three claims) on a 3-column grid, so the whole
   argument reads at a glance. Deliberately unlike the homepage card carousel (.vamika-why)
   and the export page's media + icon grid (.vamika-trade-support). */
.vamika-sector-proof {
    overflow: clip;
    background: #fff;
}

.vamika-sector-proof::before {
    content: "";
    position: absolute;
    inset-inline-start: -220px;
    bottom: -180px;
    z-index: -1;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.12), transparent 70%);
}

.vamika-proof-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

/* -- lead tile: navy, spans two columns and both upper rows -- */
.vamika-proof-lead {
    position: relative;
    z-index: 1;
    grid-column: span 2;
    grid-row: span 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
    padding: 48px;
    border-radius: 22px;
    background: var(--v-navy-900);
}

.vamika-proof-lead::after {
    content: "";
    position: absolute;
    inset-inline-end: -120px;
    top: -120px;
    z-index: -1;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.22), transparent 68%);
}

.vamika-proof-lead__label {
    margin-bottom: 18px;
    padding: 6px 16px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.16);
    color: var(--v-gold);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vamika-proof-lead__title {
    /* max-width: 18ch; */
    margin-bottom: 16px;
    font-size: 45px;
    line-height: 1.15;
    color: #fff;
}

.vamika-proof-lead__text {
    max-width: 54ch;
    margin-bottom: 28px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.72);
}

.vamika-proof-lead__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 28px;
    width: 100%;
    margin: 0 0 32px;
    padding: 28px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    list-style: none;
}

.vamika-proof-lead__list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
}

.vamika-proof-lead__list i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-top: 2px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.18);
    font-size: 0.75rem;
    color: var(--v-gold);
}

.vamika-proof-lead .vamika-btn {
    margin-top: auto;
}

/* -- figure tile: the one gold surface in the grid -- */
.vamika-proof-figure {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 36px;
    border-radius: 22px;
    background: var(--v-gold);
    color: var(--v-navy-900);
}

.vamika-proof-figure__value {
    font-family: var(--heading-font);
    font-size: 5rem;
    font-weight: 700;
    line-height: 0.9;
    color: var(--v-navy-900);
}

.vamika-proof-figure__label {
    margin-top: 12px;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--v-navy-900);
}

.vamika-proof-figure__note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(11, 60, 93, 0.25);
    font-size: 0.88rem;
    font-weight: 600;
    color: rgba(7, 43, 67, 0.8);
}

.vamika-proof-figure__note i {
    font-size: 1.1rem;
}

/* -- photo tile -- */
.vamika-proof-photo {
    position: relative;
    overflow: hidden;
    min-height: 240px;
    border-radius: 22px;
}

.vamika-proof-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.vamika-proof-photo:hover img {
    transform: scale(1.05);
}

.vamika-proof-photo__caption {
    position: absolute;
    inset-inline: 20px;
    bottom: 20px;
    padding: 14px 18px;
    border-radius: 14px;
    background: rgba(5, 31, 49, 0.82);
    color: #fff;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.4;
    backdrop-filter: blur(6px);
}

/* -- claim tiles -- */
.vamika-proof-card {
    display: flex;
    flex-direction: column;
    padding: 34px 30px;
    border: 1px solid var(--v-border);
    border-radius: 22px;
    background: #fff;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.vamika-proof-card:hover {
    transform: translateY(-6px);
    border-color: transparent;
    box-shadow: var(--v-shadow);
}

.vamika-proof-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 22px;
    border-radius: 16px;
    background: rgba(212, 175, 55, 0.14);
    font-size: 1.65rem;
    color: var(--v-gold-700);
    transition: background-color 0.35s ease, color 0.35s ease;
}

.vamika-proof-card:hover .vamika-proof-card__icon {
    background: var(--v-navy);
    color: var(--v-gold);
}

.vamika-proof-card__title {
    margin-bottom: 12px;
    font-size: 32px;
    line-height: 1.25;
    text-transform: uppercase;
}

.vamika-proof-card__text {
    font-size: 16px;
    margin-bottom: 22px;
    font-weight: 500;
}

.vamika-proof-card__for {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 8px;
    /* two rows of links: a floor here keeps the rule at the same height in every card */
    /* min-height: 84px; */
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid var(--v-border);
}

.vamika-proof-card__for a {
    padding: 5px 13px;
    border: 1px solid var(--v-border);
    border-radius: 999px;
    background: var(--v-light);
    color: var(--v-navy);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.4;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.vamika-proof-card__for a:hover {
    border-color: var(--v-gold);
    background: var(--v-gold);
    color: var(--v-navy-900);
}

@media screen and (max-width: 1199px) {
    .vamika-proof-lead {
        padding: 36px;
    }

    .vamika-proof-lead__title {
        font-size: 2rem;
    }

    .vamika-proof-figure__value {
        font-size: 4rem;
    }

    .vamika-proof-card {
        padding: 28px 24px;
    }

    .vamika-proof-card__title {
        font-size: 35px;
    }
}

/* below lg: lead tile goes full width, figure and photo sit side by side, claims stack in two */
@media screen and (max-width: 991px) {
    .vamika-proof-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vamika-proof-lead {
        grid-column: span 2;
        grid-row: auto;
    }

    .vamika-proof-card:last-child {
        grid-column: span 2;
    }
}

@media screen and (max-width: 575px) {
    .vamika-proof-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .vamika-proof-lead,
    .vamika-proof-card:last-child {
        grid-column: auto;
    }

    .vamika-proof-lead {
        padding: 28px 22px;
    }

    .vamika-proof-lead__title {
        max-width: none;
        font-size: 1.7rem;
    }

    .vamika-proof-lead__list {
        grid-template-columns: minmax(0, 1fr);
    }

    .vamika-proof-lead .vamika-btn {
        align-self: stretch;
        justify-content: center;
    }

    .vamika-proof-figure {
        padding: 28px 24px;
    }

    .vamika-proof-figure__value {
        font-size: 3.5rem;
    }

    .vamika-proof-photo {
        min-height: 200px;
    }

    .vamika-proof-card {
        padding: 26px 22px;
    }

    .vamika-proof-card__for {
        min-height: 0;
    }
}


/* ========================= 21. News & article pages ========================= */

/* -- shared post meta line -- */
.vamika-post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    font-size: 0.88rem;
    font-weight: 600;
    color: hsl(var(--body));
}

.vamika-post-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vamika-post-meta i {
    font-size: 1.1rem;
    color: var(--v-gold);
}

.vamika-post-meta__cat {
    padding: 5px 14px;
    border-radius: 999px;
    background: var(--v-navy);
    color: var(--v-gold);
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.vamika-post-meta--light,
.vamika-post-meta--light span {
    color: rgba(255, 255, 255, 0.85);
}

.vamika-post-meta--light .vamika-post-meta__cat {
    background: var(--v-gold);
    color: var(--v-navy);
}

/* -- post cards (news index, read-next, homepage strip) -- */
.vamika-post-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.vamika-news__title a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.vamika-post-card__title a,
.vamika-news__title a {
    color: inherit;
    text-decoration: none;
    background-image: linear-gradient(var(--v-gold), var(--v-gold));
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0 2px;
    transition: background-size 0.4s;
}

.vamika-post-card__title a:hover,
.vamika-news__title a:hover {
    color: inherit;
    background-size: 100% 2px;
}

.vamika-post-card__excerpt {
    margin-top: 14px;
    margin-bottom: 0px;
    font-size: 16px;
    font-weight: 500;
}

.vamika-post-card .vamika-link {
    margin-top: auto;
    margin-bottom: 24px;
    align-self: flex-start;
}

/* homepage news strip: three-line summary, Read More button pinned to the card's foot */
.vamika-news:not(.vamika-news-index) .vamika-post-card__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.vamika-post-card__more {
    margin-top: auto;
    margin-bottom: 24px;
}

/* the index reuses the homepage card, which carries the template's dark-section colours */
.vamika-news-index .blog-two-wrapper .vamika-news__title,
.vamika-news-index .blog-two-wrapper h3 {
    color: var(--v-navy);
}

/* -- featured (newest) article -- */
.vamika-featured-post {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--v-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--v-shadow);
}

.vamika-featured-post__media {
    position: relative;
    display: block;
    overflow: hidden;
}

.vamika-featured-post__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 380px;
    object-fit: cover;
    transition: transform 0.6s;
}

.vamika-featured-post:hover .vamika-featured-post__media img {
    transform: scale(1.04);
}

.vamika-featured-post__flag {
    position: absolute;
    inset-block-start: 20px;
    inset-inline-start: 20px;
    padding: 6px 16px;
    border-radius: 999px;
    background: var(--v-gold);
    color: var(--v-navy);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.vamika-featured-post__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 48px;
}

.vamika-featured-post__title {
    margin-bottom: 18px;
    font-family: var(--heading-font);
    font-size: 2.6rem;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-featured-post__title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s;
}

.vamika-featured-post__title a:hover {
    color: var(--v-gold-700);
}

.vamika-featured-post__text {
    margin-bottom: 28px;
    font-weight: 500;
}

/* -- article body -- */
.vamika-article__body {
    font-size: 1.05rem;
}

.vamika-article__lead {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--v-border);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--v-navy);
}

.vamika-article__body h2 {
    margin-top: 48px;
    margin-bottom: 5px;
    font-family: var(--heading-font);
    font-size: 45px;
    line-height: 1.15;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-article__body p {
    margin-bottom: 12px;
    font-weight: 500;
    line-height: 1.8;
}

.vamika-article__list {
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 14px;
}

.vamika-article__list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-weight: 500;
    line-height: 1.7;
}

.vamika-article__list i {
    flex-shrink: 0;
    margin-top: 3px;
    font-size: 1.3rem;
    color: var(--v-gold);
}

.vamika-article__quote {
    position: relative;
    margin: 40px 0;
    padding: 36px 40px;
    border-inline-start: 4px solid var(--v-gold);
    border-radius: 0 14px 14px 0;
    background: var(--v-light);
}

.vamika-article__quote i {
    display: block;
    margin-bottom: 12px;
    font-size: 1.8rem;
    color: var(--v-gold);
}

.vamika-article__quote p {
    margin: 0;
    font-family: var(--heading-font);
    font-size: 1.6rem;
    line-height: 1.35;
    color: var(--v-navy);
}

.vamika-article__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--v-border);
}

/* -- article CTA -- */
.vamika-article__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-top: 56px;
    padding: 40px;
    border-radius: 18px;
    background: var(--v-navy);
    color: rgba(255, 255, 255, 0.8);
}

.vamika-article__cta-title {
    margin-bottom: 10px;
    font-family: var(--heading-font);
    font-size: 1.9rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: #fff;
}

.vamika-article__cta .vamika-btn {
    flex-shrink: 0;
}

/* -- article footer -- */
.vamika-article__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--v-border);
}

/* -- article photo at the introduction -- */
.vamika-article__image {
    margin: 0 0 36px;
}

.vamika-article__image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 18px;
}

/* -- recent blogs sidebar (theme blog-siteber / blog-recent widget, include/recent-blogs) -- */
.vamika-blog-sidebar.blog-siteber {
    border: 1px solid var(--v-border);
    background: var(--v-light);
}

.vamika-blog-sidebar__title {
    font-family: var(--heading-font);
    font-size: 2rem;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-blog-sidebar .blog-recent-item + .blog-recent-item {
    padding-top: 20px;
    border-top: 1px solid var(--v-border);
}

.vamika-blog-sidebar .blog-recent-img img {
    object-fit: cover;
}

.vamika-blog-sidebar__date {
    font-size: 0.875rem;
}

.vamika-blog-sidebar__post {
    line-height: 1.4;
}

.vamika-blog-sidebar__post a {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--v-navy);
    transition: color 0.3s;
}

.vamika-blog-sidebar__post a:hover {
    color: var(--v-gold);
}

@media screen and (max-width: 991px) {
    .vamika-featured-post {
        grid-template-columns: minmax(0, 1fr);
    }

    .vamika-featured-post__media img {
        min-height: 260px;
        max-height: 340px;
    }

    .vamika-featured-post__body {
        padding: 36px 32px;
    }

    .vamika-featured-post__title {
        font-size: 2.1rem;
    }

    .vamika-article__cta {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media screen and (max-width: 575px) {
    .vamika-featured-post__body {
        padding: 28px 22px;
    }

    .vamika-featured-post__title {
        font-size: 1.75rem;
    }

    .vamika-article__lead {
        font-size: 1.15rem;
    }

    .vamika-article__body h2 {
        margin-top: 36px;
        font-size: 1.6rem;
    }

    .vamika-article__quote {
        padding: 26px 22px;
    }

    .vamika-article__quote p {
        font-size: 1.3rem;
    }

    .vamika-article__cta {
        padding: 28px 22px;
    }

    .vamika-article__cta-title {
        font-size: 1.5rem;
    }

    .vamika-article__cta .vamika-btn,
    .vamika-featured-post .vamika-btn {
        align-self: stretch;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }
}


/* ========================= 22. Language translator ========================= */

/* -- hide Google's own chrome: the mount, the top banner and the hover balloon -- */
#google_translate_element {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* Google pushes the page down by 40px for its banner frame; the header is fixed, so remove it */
body {
    top: 0 !important;
}

.skiptranslate iframe,
iframe.skiptranslate,
.goog-te-banner-frame {
    display: none !important;
    visibility: hidden !important;
}

.goog-te-balloon-frame,
#goog-gt-tt,
.goog-tooltip {
    display: none !important;
}

.goog-text-highlight {
    background: none !important;
    box-shadow: none !important;
}

/* -- the widget -- */
.vamika-translate {
    position: relative;
}

.vamika-translate__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1;
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.vamika-translate__btn:hover,
.vamika-translate.is-open .vamika-translate__btn {
    border-color: var(--v-gold);
    background: var(--v-gold);
    color: var(--v-navy);
}

.vamika-translate__btn > i:first-child {
    font-size: 1.15rem;
}

.vamika-translate__current {
    min-width: 2ch;
    letter-spacing: 0.04em;
}

.vamika-translate__caret {
    font-size: 0.8rem;
    transition: transform 0.3s;
}

.vamika-translate.is-open .vamika-translate__caret {
    transform: rotate(180deg);
}

/* -- the menu -- */
.vamika-translate__menu {
    position: absolute;
    inset-block-start: calc(100% + 12px);
    inset-inline-end: 0;
    z-index: 999;
    width: 320px;
    padding: 14px;
    border: 1px solid var(--v-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 50px -20px rgba(11, 60, 93, 0.45);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
}

.vamika-translate.is-open .vamika-translate__menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* -- search -- */
.vamika-translate__search {
    position: relative;
    margin-bottom: 10px;
}

.vamika-translate__search i {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 14px;
    transform: translateY(-50%);
    font-size: 1.05rem;
    color: var(--v-gold);
    pointer-events: none;
}

.vamika-translate__search input {
    width: 100%;
    padding: 11px 16px 11px 40px;
    border: 1px solid var(--v-border);
    border-radius: 10px;
    background: var(--v-light);
    color: var(--v-navy);
    font-size: 0.92rem;
    outline: 0;
    transition: border-color 0.3s, background-color 0.3s;
}

.vamika-translate__search input:focus {
    border-color: var(--v-gold);
    background: #fff;
}

.vamika-translate__search input::placeholder {
    color: hsl(var(--body));
    opacity: 0.8;
}

/* -- language list -- */
.vamika-translate__list {
    max-height: 290px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
    overscroll-behavior: contain;
}

.vamika-translate__list::-webkit-scrollbar {
    width: 6px;
}

.vamika-translate__list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: var(--v-border);
}

.vamika-translate__list::-webkit-scrollbar-thumb:hover {
    background: var(--v-gold);
}

.vamika-translate__list button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--v-navy);
    text-align: start;
    transition: background-color 0.25s, color 0.25s;
}

.vamika-translate__list button:hover,
.vamika-translate__list button:focus-visible {
    background: var(--v-light);
}

.vamika-translate__list button.is-active {
    background: var(--v-navy);
    color: #fff;
}

.vamika-translate__name {
    font-size: 0.93rem;
    font-weight: 600;
}

.vamika-translate__native {
    flex-shrink: 0;
    font-size: 0.82rem;
    color: hsl(var(--body));
}

.vamika-translate__list button.is-active .vamika-translate__native {
    color: var(--v-gold);
}

/* -- empty state & footnote -- */
.vamika-translate__empty {
    margin: 10px 0 2px;
    padding: 10px 12px;
    font-size: 0.88rem;
    color: hsl(var(--body));
}

.vamika-translate__note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--v-border);
    font-size: 0.78rem;
    line-height: 1.45;
    color: hsl(var(--body));
}

.vamika-translate__note i {
    flex-shrink: 0;
    margin-top: 1px;
    font-size: 0.95rem;
    color: var(--v-gold);
}

/* -- panel variant: mobile menu / offcanvas, where the menu opens inline -- */
.vamika-translate--panel .vamika-translate__btn {
    width: 100%;
    justify-content: space-between;
    padding: 13px 18px;
    display: none;
}

.vamika-translate--panel .vamika-translate__btn > i:first-child {
    margin-inline-end: auto;
}

.vamika-translate--panel .vamika-translate__current {
    margin-inline-end: auto;
    margin-inline-start: 10px;
}

.vamika-translate--panel .vamika-translate__menu {
    position: static;
    width: 100%;
    margin-top: 10px;
    padding: 12px;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
}

.vamika-translate--panel.is-open .vamika-translate__menu {
    display: block;
}

.vamika-translate--panel .vamika-translate__list {
    max-height: 210px;
}

/* -- header variant on smaller screens -- */
@media screen and (max-width: 1199px) {
    .vamika-translate--header .vamika-translate__btn {
        padding: 9px 13px;
    }
}

@media screen and (max-width: 575px) {
    .vamika-translate--header .vamika-translate__menu {
        position: fixed;
        inset-block-start: 84px;
        inset-inline: 16px;
        width: auto;
    }

    .vamika-translate--header .vamika-translate__list {
        max-height: 50vh;
    }
}


/* ========================= 23. Products page ========================= */
/* Nothing here is shared with another page: the catalogue hero, the finder,
   the item grid, the enquiry tray, the spec table and the accordion are all
   used only on /products. */

/* -- 23.1 catalogue hero -- */
.vamika-catalogue-hero {
    padding: 190px 0 60px;
    background:
    radial-gradient(120% 140% at 85% 0%, rgba(212, 175, 55, 0.18) 0%, rgba(212, 175, 55, 0) 55%),
    var(--v-navy);
    color: #fff;
}

.vamika-catalogue-hero .vamika-breadcrumb a,
.vamika-catalogue-hero .vamika-breadcrumb li {
    color: rgba(255, 255, 255, 0.7);
}

.vamika-catalogue-hero__lead {
    margin: 0;
    padding-inline-start: 22px;
    border-inline-start: 3px solid var(--v-gold);
    font-weight: 500;
    line-height: 1.7;
    /* color: rgba(255, 255, 255, 0.78); */
}

/* -- 23.2 the finder (search + chips) -- */
.vamika-finder {
    margin-top: 54px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 20px;
    background: rgb(11 60 93);
    backdrop-filter: blur(6px);
    margin-bottom: 50px;
}

.vamika-finder__search {
    position: relative;
    margin-bottom: 18px;
}

.vamika-finder__search > i {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 22px;
    transform: translateY(-50%);
    font-size: 1.35rem;
    color: var(--v-gold);
    pointer-events: none;
}

.vamika-finder__search input {
    width: 100%;
    padding: 18px 56px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(11, 60, 93, 0.55);
    color: #fff;
    font-size: 1.02rem;
    outline: 0;
    transition: border-color 0.3s, background-color 0.3s;
}

.vamika-finder__search input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.vamika-finder__search input:focus {
    border-color: var(--v-gold);
    background: rgba(11, 60, 93, 0.85);
}

/* the browser's own clear affordance would sit on top of ours */
.vamika-finder__search input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.vamika-finder__clear {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 18px;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 0.8rem;
    transition: background-color 0.25s, color 0.25s;
}

.vamika-finder__clear:hover {
    background: var(--v-gold);
    color: var(--v-navy);
}

.vamika-finder__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.vamika-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    background: transparent;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.9rem;
    font-weight: 600;
    transition: background-color 0.25s, color 0.25s, border-color 0.25s;
}

.vamika-chip span {
    padding: 1px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 0.75rem;
    line-height: 1.6;
}

.vamika-chip:hover {
    border-color: var(--v-gold);
    color: #fff;
}

.vamika-chip.is-active {
    border-color: var(--v-gold);
    background: var(--v-gold);
    color: var(--v-navy);
}

.vamika-chip.is-active span {
    background: rgba(11, 60, 93, 0.18);
}

/* -- 23.3 catalogue grid -- */
.vamika-catalogue {
    /* padding: 70px 0 110px; */
    background: #fff;
}

.vamika-catalogue__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 30px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--v-border);
}

.vamika-catalogue__count {
    font-weight: 600;
    color: var(--v-navy);
}

.vamika-catalogue__hint {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    color: hsl(var(--body));
}

.vamika-catalogue__hint i {
    font-size: 1.1rem;
    color: var(--v-gold);
}

.vamika-catalogue__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 26px;
}

/* -- item card: media on top, tick in the corner -- */
.vamika-item {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--v-border);
    border-radius: 14px;
    background: #fff;
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

.vamika-item:hover {
    transform: translateY(-4px);
    border-color: rgba(212, 175, 55, 0.6);
    box-shadow: 0 20px 38px -24px rgba(11, 60, 93, 0.5);
}

.vamika-item[hidden] {
    display: none;
}

.vamika-item__media {
    overflow: hidden;
}

.vamika-item__media img {
    display: block;
    width: 100%;
    height: 240px;
    object-fit: cover;
    transition: transform 0.6s;
}

.vamika-item:hover .vamika-item__media img {
    transform: scale(1.06);
}

.vamika-item__body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 20px 20px 22px;
}

.vamika-item__tag {
    margin-bottom: 8px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--v-gold-700);
}

.vamika-item__title {
    margin-bottom: 8px;
    font-family: var(--heading-font);
    font-size: 2.35rem;
    line-height: 1.15;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-item__body p {
    margin-bottom: 18px;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.6;
}

.vamika-item__quote {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding: 0;
    border: 0;
    background: none;
    color: var(--v-navy);
    font-size: 0.9rem;
    font-weight: 700;
    transition: color 0.25s, gap 0.25s;
}

.vamika-item__quote i {
    font-size: 0.95rem;
    color: var(--v-gold);
}

.vamika-item__quote:hover {
    gap: 12px;
    color: var(--v-gold-700);
}

/* -- empty state -- */
.vamika-catalogue__empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 40px 0 0;
    padding: 48px 24px;
    border: 1px dashed var(--v-border);
    border-radius: 16px;
    background: var(--v-light);
    font-weight: 500;
    color: hsl(var(--body));
}

.vamika-catalogue__empty i {
    font-size: 1.3rem;
    color: var(--v-gold);
}

.vamika-inline-link {
    padding: 0;
    border: 0;
    background: none;
    color: var(--v-navy);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.vamika-inline-link:hover {
    color: var(--v-gold-700);
}

/* -- 23.4 "what to send" table -- */
.vamika-specs {
    padding: 110px 0;
    background: var(--v-light);
}

.vamika-specs__head {
    max-width: 720px;
    margin-bottom: 44px;
}

.vamika-specs__lead {
    font-weight: 500;
    line-height: 1.7;
}

.vamika-specs__scroll {
    /* overflow-x: auto; */
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 40px -28px rgba(11, 60, 93, 0.5);
}

.vamika-specs__table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    text-align: start;
}

.vamika-specs__table thead th {
    padding: 18px 22px;
    background: var(--v-navy);
    color: var(--v-gold);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    white-space: nowrap;
}

.vamika-specs__table thead th:first-child {
    border-start-start-radius: 16px;
}

.vamika-specs__table thead th:last-child {
    border-start-end-radius: 16px;
}

.vamika-specs__table tbody th,
.vamika-specs__table tbody td {
    padding: 20px 22px;
    border-top: 1px solid var(--v-border);
    font-size: 0.93rem;
    font-weight: 500;
    vertical-align: top;
}

.vamika-specs__table tbody th {
    display: table-cell;
    font-weight: 700;
    color: var(--v-navy);
    white-space: nowrap;
}

.vamika-specs__table tbody th i {
    margin-inline-end: 8px;
    font-size: 1.15rem;
    color: var(--v-gold);
    vertical-align: -2px;
}

.vamika-specs__table tbody tr:hover {
    background: var(--v-light);
}

.vamika-specs__foot {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 24px;
    font-size: 0.92rem;
    font-weight: 500;
    color: hsl(var(--body));
}

.vamika-specs__foot i {
    flex-shrink: 0;
    margin-top: 2px;
    font-size: 1.15rem;
    color: var(--v-gold);
}

/* -- 23.5 ordering FAQ -- */
.vamika-faq {
    padding: 110px 0;
    background: #fff;
}

.vamika-faq__text {
    margin-bottom: 26px;
    font-weight: 500;
    line-height: 1.7;
}

.vamika-faq__wa {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 24px;
    border: 1px solid var(--v-navy);
    border-radius: 999px;
    color: var(--v-navy);
    font-weight: 700;
    transition: background-color 0.25s, color 0.25s;
}

.vamika-faq__wa:hover {
    background: var(--v-navy);
    color: #fff;
}

.vamika-faq__wa i {
    font-size: 1.2rem;
    color: #25d366;
}

.vamika-faq__wa:hover i {
    color: #fff;
}

.vamika-accordion__item {
    border: 1px solid var(--v-border);
    border-radius: 14px;
    background: #fff;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.vamika-accordion__item + .vamika-accordion__item {
    margin-top: 12px;
}

.vamika-accordion__item.is-open {
    border-color: var(--v-gold);
    box-shadow: 0 18px 38px -28px rgba(11, 60, 93, 0.55);
}

.vamika-accordion__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    padding: 22px 24px;
    border: 0;
    background: none;
    color: var(--v-navy);
    font-family: var(--body-font);
    font-size: 20px;
    font-weight: 700;
    text-align: start;
    transition: color 0.25s;
}

.vamika-accordion__head:hover {
    color: var(--v-gold-700);
}

.vamika-accordion__head i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--v-light);
    color: var(--v-navy);
    font-size: 0.85rem;
    transition: transform 0.3s, background-color 0.3s, color 0.3s;
}

.vamika-accordion__item.is-open .vamika-accordion__head i {
    transform: rotate(45deg);
    background: var(--v-gold);
    color: var(--v-navy);
}

.vamika-accordion__panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.35s ease;
}

.vamika-accordion__item.is-open .vamika-accordion__panel {
    grid-template-rows: 1fr;
}

.vamika-accordion__panel > p {
    overflow: hidden;
    margin: 0;
    padding: 0 24px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.75;
    transition: padding 0.35s ease;
}

.vamika-accordion__item.is-open .vamika-accordion__panel > p {
    padding-bottom: 24px;
}

/* -- 23.6 responsive -- */
@media screen and (max-width: 991px) {
    .vamika-catalogue-hero {
        padding-top: 150px;
    }

    .vamika-catalogue-hero__lead {
        margin-top: 8px;
    }

    .vamika-specs,
    .vamika-faq {
        padding: 80px 0;
    }

    /* let long headings and category names wrap so the table fits a tablet */
    .vamika-specs__table {
        min-width: 640px;
    }

    .vamika-specs__table thead th,
    .vamika-specs__table tbody th {
        white-space: normal;
    }
}

@media screen and (max-width: 767px) {
    /* four columns can't fit a phone: swipe the table inside its card */
    .vamika-specs__scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media screen and (max-width: 575px) {
    .vamika-catalogue-hero {
        padding: 130px 0 46px;
    }

    .vamika-finder {
        padding: 16px;
    }

    .vamika-finder__search input {
        padding: 15px 48px;
        font-size: 0.95rem;
    }

    .vamika-finder__chips {
        gap: 8px;
    }

    .vamika-chip {
        padding: 8px 14px;
        font-size: 0.83rem;
    }

    .vamika-catalogue__grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 18px;
    }

    .vamika-accordion__head {
        padding: 18px 18px;
        font-size: 0.97rem;
    }

    .vamika-accordion__panel > p {
        padding: 0 18px;
    }

    .vamika-accordion__item.is-open .vamika-accordion__panel > p {
        padding-bottom: 18px;
    }
}


/* ========================= 24. Products submenu ========================= */
/* The template supplies the open/close behaviour (.has-submenu hover on desktop,
   slideToggle under 992px) but no position or surface for .nav-submenu, so the
   brand panel is defined here. */

/* the panel is absolute, so the item it belongs to has to be the positioning context */
.nav-menu__item.has-submenu {
    position: relative;
}

.vamika-submenu {
    position: absolute;
    inset-block-start: 100%;
    inset-inline-start: 0;
    z-index: 99;
    min-width: 268px;
    margin: 0;
    padding: 10px;
    border: 1px solid var(--v-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 24px 50px -22px rgba(11, 60, 93, 0.45);
    list-style: none;
}

/* room for the caret the template adds to the parent link */
.has-submenu > .nav-menu__link {
    padding-inline-end: 18px;
}

.vamika-submenu .nav-submenu__item + .nav-submenu__item {
    margin-top: 2px;
}

.vamika-submenu .nav-submenu__link {
    position: relative;
    display: block;
    padding: 9px 12px;
    border-radius: 8px;
    color: var(--v-navy);
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.45;
    white-space: nowrap;
    transition: background-color 0.25s, color 0.25s, margin-inline-start 0.3s;
}

.vamika-submenu .nav-submenu__link:hover {
    background: var(--v-light);
    color: var(--v-gold-700);
}

/* the template draws a small dash on hover; keep it clear of the padding */
.vamika-submenu .nav-submenu__item .nav-submenu__link::before {
    left: 2px;
    bottom: 50%;
    transform: translateY(50%);
    background: var(--v-gold);
}

.vamika-submenu .nav-submenu__item .nav-submenu__link:hover {
    margin-inline-start: 6px;
}

/* -- inside the mobile menu the panel sits inline, on the dark surface -- */
.nav-menu--mobile .vamika-submenu {
    position: static;
    min-width: 0;
    margin-inline-start: 10px;
    padding: 4px 0 8px;
    border: 0;
    border-inline-start: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0;
    background: none !important;
    box-shadow: none;
}

.nav-menu--mobile .vamika-submenu .nav-submenu__link {
    padding: 8px 14px;
    border-radius: 0;
    color: rgba(255, 255, 255, 0.78);
    white-space: normal;
}

.nav-menu--mobile .vamika-submenu .nav-submenu__link:hover {
    background: none;
    color: var(--v-gold);
}

@media screen and (max-width: 991px) {
    /* the caret belongs beside the label, not at the far edge of a full-width row */
    .nav-menu--mobile .has-submenu > .nav-menu__link {
        padding-inline-end: 24px;
    }
}


/* ========================= 25. Product category blocks ========================= */
/* The catalogue is grouped under its six main categories; the filter shows and
   hides whole blocks, so a heading never sits above an empty grid. */

.vamika-catalogue__blocks {
    display: flex;
    flex-direction: column;
    gap: 72px;
}

.vamika-cat-block[hidden] {
    display: none;
}

/* deep links (/products#ceramic-tiles, the nav submenu) clear the fixed header */
.vamika-cat-block {
    scroll-margin-top: 130px;
}

.vamika-cat-block__head {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--v-border);
}

.vamika-cat-block__num {
    font-family: var(--heading-font);
    font-size: 70px;
    font-weight: 700;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px var(--v-border);
}

.vamika-cat-block__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 75px;
    height: 75px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--v-navy);
    color: var(--v-gold);
    font-size: 1.5rem;
}

.vamika-cat-block__text {
    flex-grow: 1;
    min-width: 0;
}

.vamika-cat-block__title {
    margin-bottom: 4px;
    font-family: var(--heading-font);
    font-size: 45px;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-cat-block__blurb {
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.6;
}

.vamika-cat-block__quote {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    flex-shrink: 0;
    padding: 12px 22px;
    border: 1px solid var(--v-navy);
    border-radius: 999px;
    background: transparent;
    color: var(--v-navy);
    font-size: 0.9rem;
    font-weight: 700;
    white-space: nowrap;
    transition: background-color 0.25s, color 0.25s, border-color 0.25s;
}

.vamika-cat-block__quote i {
    font-size: 0.9rem;
    color: var(--v-gold);
    transition: color 0.25s;
}

.vamika-cat-block__quote:hover {
    border-color: var(--v-gold);
    background: var(--v-gold);
    color: var(--v-navy);
}

.vamika-cat-block__quote:hover i {
    color: var(--v-navy);
}

.vamika-cat-block__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 26px;
}

@media screen and (max-width: 1399px) {
    .vamika-cat-block__grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 26px;
    }
}
@media screen and (max-width: 991px) {
    .vamika-catalogue__blocks {
        gap: 56px;
    }

    .vamika-cat-block__head {
        flex-wrap: wrap;
        gap: 14px;
    }

    .vamika-cat-block__text {
        flex-basis: 100%;
        order: 3;
    }

    .vamika-cat-block__quote {
        margin-inline-start: auto;
    }
}

@media screen and (max-width: 575px) {
    .vamika-cat-block__num {
        font-size: 2.4rem;
    }

    .vamika-cat-block__icon {
        width: 44px;
        height: 44px;
        font-size: 1.2rem;
    }

    .vamika-cat-block__quote {
        flex-basis: 100%;
        order: 4;
        justify-content: center;
        margin-inline-start: 0;
        white-space: normal;
    }

    .vamika-cat-block__grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 18px;
    }
}



.theme-btn-main .theme-btn {
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 700 !important;
}


/* ========================= 26. Category range page ========================= */
/* Used by /products/<category>. The overlapping hero panel, the sticky sub-nav,
   the alternating range rows and the scroll-snap sibling rail appear nowhere else. */

/* -- 26.1 hero: photo band with a panel overlapping its lower edge --
   The site header is transparent and absolutely positioned, with white nav links, so it
   needs a dark surface beneath it. The photo therefore starts at the very top of the page
   and runs up behind the header — no padding above it, or the links sit on white. */
.vamika-range-hero {
    position: relative;
}

.vamika-range-hero__media {
    position: relative;
    height: 550px;
}

.vamika-range-hero__media::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, rgba(5, 31, 49, 0.88) 0%, rgba(5, 31, 49, 0.62) 22%, rgba(5, 31, 49, 0.45) 100%);
}

.vamika-range-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vamika-range-hero__panel {
    position: relative;
    z-index: 2;
    max-width: 820px;
    margin-top: -220px;
    margin-bottom: -60px;
    padding: 46px 50px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 34px 70px -34px rgba(11, 60, 93, 0.6);
}

.vamika-range-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding: 7px 16px;
    border-radius: 999px;
    background: var(--v-light);
    color: var(--v-gold-700);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.vamika-range-hero__eyebrow i {
    font-size: 1rem;
}

.vamika-range-hero__title {
    margin-bottom: 18px;
    font-family: var(--heading-font);
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 0.98;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-range-hero__lead {
    max-width: 62ch;
    margin-bottom: 30px;
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.7;
}

.vamika-range-hero__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 46px;
    margin: 0 0 30px;
    padding-top: 26px;
    border-top: 1px solid var(--v-border);
}

.vamika-range-hero__facts dt {
    margin-bottom: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--v-gold-700);
}

.vamika-range-hero__facts dd {
    margin: 0;
    font-weight: 700;
    color: var(--v-navy);
}

.vamika-range-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    border: 0;
    border-radius: 999px;
    background: var(--v-navy);
    color: #fff;
    font-weight: 700;
    transition: background-color 0.25s, transform 0.25s;
}

.vamika-range-hero__cta i {
    color: var(--v-gold);
}

.vamika-range-hero__cta:hover {
    background: var(--v-navy-900);
    color: #fff;
    transform: translateY(-2px);
}

/* -- 26.2 sticky sub-navigation -- */
.vamika-subnav {
    /* ScrollSmoother transforms the page wrapper, which kills position:sticky — the bar is
       pinned by ScrollTrigger in vamika-category.js instead. */
    position: relative;
    z-index: 40;
    margin-top: 140px;
    border-block: 1px solid var(--v-border);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
}

.vamika-subnav__inner {
    display: flex;
    align-items: center;
    gap: 26px;
}

.vamika-subnav__label {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--v-gold-700);
}

.vamika-subnav__list {
    display: flex;
    gap: 6px;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    list-style: none;
    scrollbar-width: none;
}

.vamika-subnav__list::-webkit-scrollbar {
    display: none;
}

.vamika-subnav__list a {
    position: relative;
    display: block;
    padding: 18px 14px;
    color: hsl(var(--body));
    font-size: 0.92rem;
    font-weight: 600;
    white-space: nowrap;
    transition: color 0.25s;
}

.vamika-subnav__list a::after {
    position: absolute;
    inset-block-end: 0;
    inset-inline: 14px;
    height: 2px;
    content: "";
    background: var(--v-gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s;
}

.vamika-subnav__list a:hover {
    color: var(--v-navy);
}

.vamika-subnav__list a.is-active {
    color: var(--v-navy);
}

.vamika-subnav__list a.is-active::after {
    transform: scaleX(1);
}

/* -- 26.3 alternating range rows -- */
.vamika-ranges {
    padding: 100px 0;
    background: #fff;
}

.vamika-range {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 60px;
    /* the sticky bar sits above a deep-linked row */
    scroll-margin-top: 150px;
}

.vamika-range + .vamika-range {
    margin-top: 100px;
    padding-top: 100px;
    border-top: 1px solid var(--v-border);
}

.vamika-range--flip .vamika-range__media {
    order: 2;
}

.vamika-range__media {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}

.vamika-range__media img {
    display: block;
    width: 100%;
    /* height: 420px; */
    object-fit: cover;
    transition: transform 0.7s;
}

.vamika-range:hover .vamika-range__media img {
    transform: scale(1.04);
}

.vamika-range__index {
    position: absolute;
    inset-block-end: 20px;
    inset-inline-start: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--v-gold);
    color: var(--v-navy);
    font-family: var(--heading-font);
    font-size: 1.5rem;
    font-weight: 700;
}

.vamika-range__title {
    margin-bottom: 16px;
    font-family: var(--heading-font);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.08;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-range__text {
    margin-bottom: 24px;
    font-weight: 500;
    line-height: 1.75;
}

.vamika-range__list {
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}

.vamika-range__list li {
    position: relative;
    padding: 9px 0 9px 26px;
    border-bottom: 1px dashed var(--v-border);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--v-navy);
}

.vamika-range__list li::before {
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 15px;
    width: 10px;
    height: 2px;
    content: "";
    background: var(--v-gold);
}

.vamika-range__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.vamika-range__note {
    display: flex;
    align-items: baseline;
    gap: 8px;
    /* max-width: 44ch; */
    font-size: 0.86rem;
    font-weight: 500;
    color: hsl(var(--body));
}

.vamika-range__note i {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--v-gold);
}

.vamika-range__quote {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    flex-shrink: 0;
    padding: 12px 24px;
    border: 1px solid var(--v-navy);
    border-radius: 999px;
    background: transparent;
    color: var(--v-navy);
    font-size: 0.9rem;
    font-weight: 700;
    transition: background-color 0.25s, color 0.25s, border-color 0.25s;
}

.vamika-range__quote i {
    font-size: 0.9rem;
    color: var(--v-gold);
    transition: color 0.25s;
}

.vamika-range__quote:hover {
    border-color: var(--v-gold);
    background: var(--v-gold);
    color: var(--v-navy);
}

.vamika-range__quote:hover i {
    color: var(--v-navy);
}

/* -- 26.4 sibling category rail -- */
.vamika-siblings {
    padding: 100px 0;
    background: var(--v-light);
    overflow: hidden;
}

.vamika-siblings__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px 32px;
    margin-bottom: 40px;
}

.vamika-siblings__lead {
    max-width: 62ch;
    margin-top: 14px;
    font-weight: 500;
    color: hsl(var(--body));
}

.vamika-siblings__all {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--v-navy);
    font-weight: 700;
    transition: gap 0.25s, color 0.25s;
}

.vamika-siblings__all i {
    color: var(--v-gold);
}

.vamika-siblings__all:hover {
    gap: 14px;
    color: var(--v-gold-700);
}

/* Six tracks so three tiles (span 2) sit on the first row and two (span 3) on the second —
   five categories divide into a deliberate layout rather than an odd row of five. */
.vamika-siblings__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 20px;
}

.vamika-sibling {
    position: relative;
    grid-column: span 2;
    display: block;
    overflow: hidden;
    min-height: 280px;
    border-radius: 18px;
    background: var(--v-navy-900);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

/* the 4th and 5th tiles take the wide slots — by position, because the shared
   include hides a different category on each page */
.vamika-sibling:nth-child(n+4) {
    grid-column: span 3;
}

.vamika-sibling:hover {
    transform: translateY(-5px);
    box-shadow: 0 26px 50px -30px rgba(11, 60, 93, 0.65);
}

.vamika-sibling__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.vamika-sibling:hover .vamika-sibling__img {
    transform: scale(1.06);
}

/* the scrim keeps the name legible over any of the six photos */
.vamika-sibling::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(5, 31, 49, 0.95) 0%, rgba(5, 31, 49, 0.78) 30%, rgba(5, 31, 49, 0.3) 62%, rgba(5, 31, 49, 0.05) 100%);
}

.vamika-sibling__body {
    position: absolute;
    z-index: 1;
    inset-inline: 24px;
    bottom: 24px;
    display: block;
}

/* the index reads as a chip in the free top-left corner; inline above the name it was
   small gold type over a photograph and barely legible */
.vamika-sibling__num {
    position: absolute;
    z-index: 1;
    inset-block-start: 20px;
    inset-inline-start: 20px;
    display: inline-flex;
    align-items: center;
    padding: 10px 10px 5px 13px;
    border: 1px solid rgba(212, 175, 55, 0.5);
    border-radius: 999px;
    background: rgba(5, 31, 49, 0.55);
    font-family: var(--heading-font);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--v-gold);
    line-height: 1;
}

.vamika-sibling__name {
    display: block;
    margin-bottom: 6px;
    font-family: var(--heading-font);
    font-size:2.2rem;
    line-height: 1.15;
    text-transform: uppercase;
    color: #fff;
}

.vamika-sibling__text {
    display: block;
    font-size: 0.9rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.78);
}

.vamika-sibling__go {
    position: absolute;
    z-index: 1;
    inset-block-start: 20px;
    inset-inline-end: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;
    background: rgba(5, 31, 49, 0.4);
    color: #fff;
    transition: background-color 0.25s, border-color 0.25s, color 0.25s;
}

.vamika-sibling:hover .vamika-sibling__go {
    border-color: var(--v-gold);
    background: var(--v-gold);
    color: var(--v-navy-900);
}

/* -- 26.5 closing prompt -- */
.vamika-prompt {
    padding: 0 0 100px;
    background: var(--v-light);
}

.vamika-prompt__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 34px 40px;
    border-radius: 18px;
    background: var(--v-navy);
}

.vamika-prompt__text {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.8);
}

.vamika-prompt__text strong {
    color: #fff;
}

.vamika-prompt__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.vamika-prompt__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border: 0;
    border-radius: 999px;
    background: var(--v-gold);
    color: var(--v-navy);
    font-weight: 700;
    transition: background-color 0.25s, transform 0.25s;
}

.vamika-prompt__btn:hover {
    background: #e3c356;
    transform: translateY(-2px);
}

.vamika-prompt__wa {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 14px 24px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    background-color: #25d366;
    color: var(--v-navy);
    font-weight: 700;
    transition: border-color 0.25s, background-color 0.25s;
}

.vamika-prompt__wa i {
    color: var(--v-navy);
}

.vamika-prompt__wa:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}
.vamika-prompt__wa:hover i {
    color: #fff;
}

/* -- 26.6 responsive -- */
@media screen and (max-width: 1199px) {
    .vamika-range {
        gap: 40px;
    }

    .vamika-range__media img {
        height: 340px;
    }
}

@media screen and (max-width: 991px) {
    .vamika-range-hero__media {
        height: 440px;
    }

    .vamika-range-hero__panel {
        margin-top: -150px;
        padding: 34px 30px;
    }

    .vamika-subnav {
        margin-top: 80px;
    }

    .vamika-range {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    /* the photo leads on every row once they stack */
    .vamika-range--flip .vamika-range__media {
        order: 0;
    }

    .vamika-range + .vamika-range {
        margin-top: 70px;
        padding-top: 70px;
    }

    .vamika-ranges,
    .vamika-siblings {
        padding: 70px 0;
    }

    /* three tracks: two tiles per row, the last one full width */
    .vamika-siblings__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .vamika-sibling,
    .vamika-sibling:nth-child(n+4) {
        grid-column: span 2;
    }

    .vamika-sibling:last-child {
        grid-column: span 4;
    }

    .vamika-prompt {
        padding-bottom: 70px;
    }
}

@media screen and (max-width: 575px) {

    .vamika-range-hero__media {
        height: 340px;
    }

    .vamika-range-hero__panel {
        margin-top: -110px;
        padding: 26px 22px;
    }

    .vamika-range-hero__facts {
        gap: 16px 28px;
    }

    .vamika-siblings__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .vamika-sibling,
    .vamika-sibling:nth-child(n+4),
    .vamika-sibling:last-child {
        grid-column: auto;
        min-height: 230px;
    }

    .vamika-range-hero__cta,
    .vamika-prompt__btn,
    .vamika-prompt__wa {
        width: 100%;
        justify-content: center;
    }

    .vamika-subnav__inner {
        gap: 14px;
    }

    .vamika-range+.vamika-range {
        margin-top: 60px;
        padding-top: 60px;
    }

    .vamika-subnav__label {
        display: none;
    }

    .vamika-range__media img {
        height: 240px;
    }

    .vamika-range__foot {
        gap: 14px;
    }

    .vamika-range__quote {
        width: 100%;
        justify-content: center;
    }

    .vamika-prompt__inner {
        padding: 26px 22px;
    }

    .vamika-prompt__actions {
        width: 100%;
    }
}


/* ========================= 27. Contact page ========================= */
/* Theme contact-ip-area (contact.html) recoloured for a white ground, a "what happens
   next" strip, and a full-width office map. The success message reuses section 19. */

/* -- 27.1 contact details + form -- */
.vamika-contact {
    background: #fff;
}

.vamika-contact__intro {
    padding-inline-start: 22px;
    border-inline-start: 3px solid var(--v-gold);
    font-weight: 500;
    line-height: 1.7;
}

.vamika-contact__details {
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.vamika-contact__item {
    align-items: flex-start;
}

.vamika-contact__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--v-gold);
    box-shadow: 0 12px 26px -14px rgba(212, 175, 55, 0.9);
}

.vamika-contact__icon img {
    width: 30px;
    height: 30px;
}

.vamika-contact__label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--v-gold-700);
}

.vamika-contact__value {
    display: block;
    font-family: var(--heading-font);
    font-size: 30px;
    line-height: 1.1;
    color: var(--v-navy);
    overflow-wrap: anywhere;
    transition: color 0.25s;
}

a.vamika-contact__value:hover {
    color: var(--v-gold-700);
}

.vamika-contact__hint {
    display: block;
    margin-top: 6px;
    font-size: 0.93rem;
    font-weight: 500;
}

/* navy card with routes to the products and export pages */
.vamika-contact__routes {
    margin-top: 6px;
    padding: 28px 28px 12px;
    border-radius: 20px;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(212, 175, 55, 0.2) 0%, rgba(212, 175, 55, 0) 55%),
        var(--v-navy);
}

.vamika-contact__routes-title {
    display: block;
    margin-bottom: 8px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--v-gold);
}

.vamika-contact__route {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.9rem;
    line-height: 1.45;
}

.vamika-contact__route:first-of-type {
    border-top: 0;
}

.vamika-contact__route > i:first-child {
    flex-shrink: 0;
    font-size: 1.6rem;
    color: var(--v-gold);
}

.vamika-contact__route strong {
    display: block;
    font-size: 1rem;
    color: #fff;
}

.vamika-contact__route-go {
    flex-shrink: 0;
    margin-inline-start: auto;
    color: rgba(255, 255, 255, 0.6);
    transition: color 0.25s, transform 0.25s;
}

.vamika-contact__route:hover {
    color: rgba(255, 255, 255, 0.9);
}

.vamika-contact__route:hover .vamika-contact__route-go {
    color: var(--v-gold);
    transform: translate(3px, -3px);
}

/* the form card */
.vamika-contact__form {
    padding: 44px;
    border: 1px solid var(--v-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 30px 60px -40px rgba(11, 60, 93, 0.45);
}

.vamika-contact__form-head {
    margin-bottom: 28px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--v-border);
}

.vamika-contact__form-title {
    margin-bottom: 6px;
    font-family: var(--heading-font);
    font-size: clamp(1.9rem, 1.4rem + 1.2vw, 2.5rem);
    line-height: 1;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-contact__form-head p {
    font-size: 0.9rem;
}

.vamika-contact__form .vamika-export-inquiry__success {
    margin-bottom: 26px;
}

/* the select shares .vamika-input; this only swaps the native arrow for one in brand navy */
.vamika-input--select {
    appearance: none;
    padding-right: 46px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230B3C5D' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
    background-position: right 18px center;
    background-repeat: no-repeat;
    background-size: 14px;
    cursor: pointer;
}

/* -- 27.2 what happens next -- */
.vamika-steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* dashed line joining the step icons, seen in the gaps between the cards */
.vamika-steps::before {
    content: "";
    position: absolute;
    top: 62px;
    inset-inline: 8%;
    border-top: 2px dashed rgba(212, 175, 55, 0.55);
}

.vamika-step {
    position: relative;
    padding: 30px 26px 32px;
    border: 1px solid var(--v-border);
    border-radius: 20px;
    background: #fff;
    transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}

.vamika-step:hover {
    border-color: transparent;
    box-shadow: var(--v-shadow);
    transform: translateY(-5px);
}

.vamika-step__num {
    position: absolute;
    top: 20px;
    inset-inline-end: 24px;
    font-family: var(--heading-font);
    font-size: 3rem;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 1px rgba(11, 60, 93, 0.25);
}

.vamika-step__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 24px;
    border-radius: 50%;
    background: var(--v-navy);
    font-size: 1.8rem;
    color: var(--v-gold);
    transition: background 0.3s, color 0.3s;
}

.vamika-step:hover .vamika-step__icon {
    background: var(--v-gold);
    color: var(--v-navy);
}

.vamika-step__title {
    margin-bottom: 10px;
    font-family: var(--heading-font);
    font-size: 1.75rem;
    line-height: 1.05;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-step p {
    font-size: 0.95rem;
}

/* -- 27.3 office map -- */
.vamika-contact-map {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 540px;
    padding-block: 70px;
    overflow: hidden;
    background: var(--v-navy-950);
}

.vamika-contact-map__frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* the card sits on the right (Google places its own place box top-left), and the map
   stays draggable around it */
.vamika-contact-map .container {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
    pointer-events: none;
}

.vamika-contact-map__card {
    max-width: 430px;
    padding: 40px 36px;
    border-radius: 24px;
    background: rgba(11, 60, 93, 0.96);
    box-shadow: 0 30px 60px -30px rgba(5, 31, 49, 0.8);
    color: rgba(255, 255, 255, 0.8);
    pointer-events: auto;
}

.vamika-contact-map__title {
    margin-bottom: 12px;
    font-family: var(--heading-font);
    font-size: clamp(2.4rem, 1.8rem + 1.6vw, 3.2rem);
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
}

.vamika-contact-map__address {
    margin-bottom: 20px;
    line-height: 1.7;
}

.vamika-contact-map__list {
    display: grid;
    gap: 10px;
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}

.vamika-contact-map__list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.vamika-contact-map__list i {
    font-size: 1.2rem;
    color: var(--v-gold);
}

.vamika-contact-map__list a {
    color: #fff;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.vamika-contact-map__list a:hover {
    color: var(--v-gold);
}

/* -- 27.4 responsive -- */
@media screen and (max-width: 1199px) {
    .vamika-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vamika-steps::before {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .vamika-contact__form {
        padding: 30px 22px;
        border-radius: 20px;
    }

    .vamika-contact__icon {
        width: 60px;
        height: 60px;
    }

    .vamika-contact__icon img {
        width: 26px;
        height: 26px;
    }

    /* map on top, the office card overlapping its lower edge */
    .vamika-contact-map {
        display: block;
        min-height: 0;
        padding: 0 0 60px;
        background: #fff;
    }

    .vamika-contact-map__frame {
        position: static;
        display: block;
        height: 320px;
    }

    .vamika-contact-map__card {
        max-width: none;
        margin-top: -50px;
        padding: 32px 24px;
    }
}

@media screen and (max-width: 575px) {
    .vamika-steps {
        grid-template-columns: minmax(0, 1fr);
    }

    .vamika-contact__routes {
        padding: 24px 20px 8px;
    }
}

/* News index: tighter gap under the heading row on phones */
@media screen and (max-width: 575px) {
    .vamika-news .row.tw-mb-18 {
        margin-block-end: var(--size-10);
    }
}


/* ========================= 28. Legal pages (Terms & Conditions, Privacy Policy) ========================= */
/* A readable document column with numbered gold headings, and a side column of two cards. */
.vamika-legal {
    background: #fff;
}

.vamika-legal__doc {
    max-width: 780px;
}

.vamika-legal__intro {
    margin-bottom: 44px;
    padding-bottom: 36px;
    border-bottom: 1px solid var(--v-border);
}

.vamika-legal__updated {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 22px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.14);
    color: var(--v-gold-700);
    font-size: 0.85rem;
    font-weight: 700;
}

.vamika-legal__lead {
    margin-bottom: 16px;
    font-size: 1.12rem;
    font-weight: 500;
    line-height: 1.75;
    color: var(--v-navy);
}

.vamika-legal__section {
    padding-block: 26px;
    border-bottom: 1px solid var(--v-border);
}

.vamika-legal__section:last-child {
    border-bottom: 0;
}

.vamika-legal__heading {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 14px;
    font-family: var(--heading-font);
    font-size: clamp(1.7rem, 1.3rem + 1vw, 2.2rem);
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-legal__heading span {
    flex-shrink: 0;
    min-width: 2ch;
    color: var(--v-gold);
}

.vamika-legal__section p {
    margin-bottom: 12px;
    line-height: 1.75;
}

.vamika-legal__section p:last-child {
    margin-bottom: 0;
}

/* links inside the text, e.g. "Privacy Policy" in the Terms */
.vamika-legal__section p a {
    color: var(--v-navy);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: var(--v-gold);
    text-underline-offset: 3px;
}

.vamika-legal__section p a:hover {
    color: var(--v-gold-700);
}

.vamika-legal__list {
    display: grid;
    gap: 8px;
    margin: 4px 0 16px;
    padding: 0;
    list-style: none;
}

.vamika-legal__list li {
    position: relative;
    padding-inline-start: 22px;
    font-weight: 500;
    color: var(--v-navy);
}

.vamika-legal__list li::before {
    content: "";
    position: absolute;
    top: 0.62em;
    inset-inline-start: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--v-gold);
}

.vamika-legal__address {
    display: grid;
    gap: 4px;
    margin: 16px 0 0;
    padding: 22px 24px;
    border-inline-start: 3px solid var(--v-gold);
    border-radius: 0 14px 14px 0;
    background: var(--v-light);
    font-style: normal;
    line-height: 1.6;
}

.vamika-legal__address strong {
    color: var(--v-navy);
}

.vamika-legal__address a {
    color: var(--v-navy);
    font-weight: 600;
}

.vamika-legal__address a:hover {
    color: var(--v-gold-700);
}

/* side column */
.vamika-legal__aside {
    display: grid;
    gap: 24px;
}

.vamika-legal__card {
    padding: 32px 28px;
    border: 1px solid var(--v-border);
    border-radius: 22px;
    background: #fff;
}

.vamika-legal__card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 18px;
    border-radius: 50%;
    background: rgba(212, 175, 55, 0.14);
    font-size: 1.7rem;
    color: var(--v-gold-700);
}

.vamika-legal__card-title {
    margin-bottom: 16px;
    font-family: var(--heading-font);
    font-size: 1.9rem;
    line-height: 1.05;
    text-transform: uppercase;
    color: var(--v-navy);
}

.vamika-legal__facts {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vamika-legal__facts li {
    padding-block: 12px;
    border-top: 1px solid var(--v-border);
    font-weight: 600;
    color: var(--v-navy);
}

.vamika-legal__facts span {
    display: block;
    margin-bottom: 2px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--v-gold-700);
}

.vamika-legal__card--navy {
    border-color: transparent;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(212, 175, 55, 0.2) 0%, rgba(212, 175, 55, 0) 55%),
        var(--v-navy);
    color: rgba(255, 255, 255, 0.78);
}

.vamika-legal__card--navy .vamika-legal__card-icon {
    background: rgba(212, 175, 55, 0.18);
    color: var(--v-gold);
}

.vamika-legal__card--navy .vamika-legal__card-title {
    color: #fff;
}

.vamika-legal__card--navy p {
    margin-bottom: 22px;
}

@media screen and (max-width: 991px) {
    .vamika-legal__doc {
        max-width: none;
    }

    /* the two cards side by side under the document on tablets */
    .vamika-legal__aside {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 575px) {
    .vamika-legal__aside {
        grid-template-columns: minmax(0, 1fr);
    }

    .vamika-legal__card {
        padding: 26px 22px;
    }
}
