/* Meem Ventures — Inner/service/about/contact CSS. */

09.91 — INNER SERVICE PAGES
========================================================= */

.inner-cinematic-hero {
    position: relative;
    min-height: 76vh;
    display: flex;
    align-items: flex-end;
    padding: 175px 0 92px;
    color: #fff;
    background-position: center;
    background-size: cover;
    overflow: hidden;
    isolation: isolate;
}

.inner-cinematic-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(6,31,27,.08), rgba(6,31,27,.72));
    pointer-events: none;
}

.inner-cinematic-hero .wrap {
    position: relative;
    z-index: 2;
}

.inner-hero-meta {
    display: flex;
    align-items: center;
    gap: 13px;
    color: #e5c789;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .24em;
}

.inner-hero-line {
    width: 45px;
    height: 1px;
    background: #e5c789;
}

.inner-cinematic-hero h1 {
    max-width: 930px;
    margin: 21px 0;
    font: 500 clamp(54px, 7.5vw, 104px)/.91 var(--serif);
    letter-spacing: -.045em;
}

.inner-cinematic-hero h1 em {
    color: #e5c789;
    font-style: italic;
}

.inner-cinematic-hero p {
    max-width: 540px;
    margin: 0;
    color: rgba(239,246,241,.82);
    font-size: 14px;
    line-height: 1.8;
}

.inner-hero-actions {
    display: flex;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
    margin-top: 31px;
}

.service-page {
    background: #f6f1e8;
}

.service-intro {
    padding: 120px 0;
    background: #f6f1e8;
}

.service-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    align-items: start;
}

.service-intro-grid h2 {
    margin: 18px 0 0;
    font: 500 clamp(47px, 5vw, 68px)/.96 var(--serif);
    letter-spacing: -.04em;
}

.service-intro-grid > div:last-child {
    padding-top: 31px;
}

.service-intro-lead {
    margin: 0 0 17px;
    color: #29443b;
    font: 500 21px/1.45 var(--serif);
}

.service-intro-grid > div:last-child p:not(.service-intro-lead) {
    max-width: 490px;
    margin: 0;
    color: #69766e;
    font-size: 13px;
    line-height: 1.85;
}

.service-detail-section,
.visa-process {
    padding: 120px 0 130px;
    background: #ece5d9;
}

.service-detail-heading {
    display: grid;
    grid-template-columns: 1fr .7fr;
    gap: 70px;
    align-items: end;
    margin-bottom: 55px;
}

.service-detail-heading h2 {
    margin: 18px 0 0;
    font: 500 clamp(45px, 5vw, 68px)/.95 var(--serif);
    letter-spacing: -.04em;
}

.service-detail-heading h2 em {
    color: var(--gold);
    font-style: italic;
}

.service-detail-heading > p {
    max-width: 360px;
    margin: 0;
    color: #68756e;
    font-size: 12px;
    line-height: 1.8;
}

.service-detail-grid,
.visa-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(9,45,39,.13);
}

.service-detail-grid article,
.visa-process-grid article {
    min-height: 260px;
    padding: 29px 27px 25px 0;
    border-right: 1px solid rgba(9,45,39,.13);
}

.service-detail-grid article + article,
.visa-process-grid article + article {
    padding-left: 27px;
}

.service-detail-grid article:last-child,
.visa-process-grid article:last-child {
    border-right: 0;
}

.service-detail-grid article > span,
.visa-process-grid article > span {
    color: #9c7c46;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .18em;
}

.service-detail-grid h3,
.visa-process-grid h3 {
    margin: 48px 0 9px;
    color: #17362d;
    font: 500 25px var(--serif);
}

.service-detail-grid p,
.visa-process-grid p {
    max-width: 230px;
    margin: 0;
    color: #6b776f;
    font-size: 11px;
    line-height: 1.75;
}


/* ---------- Sacred cities ---------- */

.sacred-cities {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 610px;
}

.sacred-city {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    color: #fff;
}

.sacred-city img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.1s ease;
}

.sacred-city:hover img {
    transform: scale(1.06);
}

.sacred-city-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6,31,27,.08), rgba(6,31,27,.86));
}

.sacred-city-copy {
    position: absolute;
    z-index: 2;
    left: clamp(28px, 5vw, 70px);
    right: 30px;
    bottom: 45px;
}

.sacred-city-copy > span {
    color: #e5c789;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .2em;
}

.sacred-city-copy h2 {
    margin: 14px 0 12px;
    font: 500 clamp(42px, 4.5vw, 61px)/.95 var(--serif);
}

.sacred-city-copy p {
    max-width: 340px;
    margin: 0;
    color: #c5d1ca;
    font-size: 11px;
    line-height: 1.7;
}


/* ---------- Service page CTA ---------- */

.service-page-cta {
    padding: 115px 0;
    background: var(--green);
    color: #fff;
}

.service-page-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 70px;
}

.service-page-cta h2 {
    margin: 18px 0 15px;
    font: 500 clamp(45px, 5vw, 68px)/.95 var(--serif);
    letter-spacing: -.04em;
}

.service-page-cta h2 em {
    color: var(--gold-light);
    font-style: italic;
}

.service-page-cta p {
    max-width: 500px;
    margin: 0;
    color: #afc0b7;
    font-size: 12px;
    line-height: 1.8;
}

.service-page-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    flex: 0 0 auto;
}

.service-page-cta-actions .premium-outline-btn {
    min-width: 180px;
}


/* ---------- Visa note ---------- */

.visa-note {
    padding: 75px 0;
    background: #f7f3eb;
}

.visa-note-inner {
    display: flex;
    align-items: flex-start;
    gap: 25px;
    max-width: 850px;
}

.visa-note-mark {
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    display: grid;
    place-items: center;
    border: 1px solid var(--gold);
    border-radius: 50%;
    color: #9a7a43;
    font: 500 20px var(--serif);
}

.visa-note h2 {
    margin: 11px 0 8px;
    font: 500 34px var(--serif);
}

.visa-note p {
    max-width: 600px;
    margin: 0;
    color: #68756e;
    font-size: 12px;
    line-height: 1.8;
}


/* ---------- Flights / hotels inner page ---------- */

.flight-hotel-showcase {
    padding: 120px 0;
    background: #ece5d9;
}

.flight-hotel-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.flight-hotel-card {
    overflow: hidden;
    border-radius: 22px;
    background: #f7f3eb;
    border: 1px solid rgba(9,45,39,.11);
}

.flight-hotel-card-image {
    height: 290px;
    overflow: hidden;
}

.flight-hotel-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .9s ease;
}

.flight-hotel-card:hover .flight-hotel-card-image img {
    transform: scale(1.06);
}

.flight-hotel-card-copy {
    padding: 33px 34px 37px;
}

.flight-hotel-card-copy > span {
    color: #9a7a43;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .2em;
}

.flight-hotel-card-copy h2 {
    margin: 11px 0 10px;
    color: #17362d;
    font: 500 36px var(--serif);
}

.flight-hotel-card-copy p {
    max-width: 450px;
    margin: 0;
    color: #68756e;
    font-size: 12px;
    line-height: 1.8;
}

.flight-hotel-card-copy ul {
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(9,45,39,.09);
}

.flight-hotel-card-copy li {
    padding: 8px 0;
    border-bottom: 1px solid rgba(9,45,39,.09);
    color: #69766e;
    font-size: 10px;
}

.flight-hotel-card-copy li::before {
    content: '✦';
    margin-right: 8px;
    color: var(--gold);
}

.flight-hotel-card-copy .premium-gold-btn {
    margin-top: 23px;
}


/* ---------- About page ---------- */

.about-page {
    background: #f6f1e8;
}

.about-page-intro {
    padding: 125px 0;
}

.about-page-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
}

.about-page-intro h2 {
    margin: 18px 0 0;
    font: 500 clamp(48px, 5vw, 70px)/.95 var(--serif);
    letter-spacing: -.04em;
}

.about-page-intro h2 em {
    color: var(--gold);
    font-style: italic;
}

.about-page-lead {
    margin: 0 0 17px;
    color: #29443b;
    font: 500 22px/1.45 var(--serif);
}

.about-page-intro-grid > div:last-child {
    padding-top: 35px;
}

.about-page-intro-grid > div:last-child p:not(.about-page-lead) {
    max-width: 500px;
    margin: 0;
    color: #69766e;
    font-size: 13px;
    line-height: 1.85;
}

.about-principles {
    padding: 120px 0;
    background: #ece5d9;
}

.about-principles-heading h2 {
    margin: 17px 0 55px;
    font: 500 clamp(45px, 5vw, 67px)/.95 var(--serif);
}

.about-principles-heading h2 em {
    color: var(--gold);
    font-style: italic;
}

.about-principles-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid rgba(9,45,39,.13);
}

.about-principles-grid article {
    min-height: 270px;
    padding: 28px 28px 20px 0;
    border-right: 1px solid rgba(9,45,39,.13);
}

.about-principles-grid article + article {
    padding-left: 28px;
}

.about-principles-grid article:last-child {
    border-right: 0;
}

.about-principles-grid span {
    color: #9a7a43;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .18em;
}

.about-principles-grid h3 {
    margin: 50px 0 8px;
    font: 500 27px var(--serif);
    color: #17362d;
}

.about-principles-grid p {
    max-width: 270px;
    margin: 0;
    color: #69766e;
    font-size: 11px;
    line-height: 1.8;
}

.about-page-cta {
    padding: 125px 0;
    background: var(--green);
    color: #fff;
}

.about-page-cta h2 {
    margin: 17px 0;
    font: 500 clamp(50px, 6vw, 76px)/.94 var(--serif);
}

.about-page-cta p {
    max-width: 430px;
    margin: 0 0 27px;
    color: #afc0b7;
    font-size: 13px;
    line-height: 1.8;
}


/* ---------- Contact page ---------- */

.contact-page {
    background: #f6f1e8;
}

.contact-grid-section {
    padding: 120px 0;
}

.contact-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 100px;
    align-items: start;
}

.contact-intro h2 {
    margin: 18px 0;
    font: 500 clamp(49px, 5vw, 70px)/.95 var(--serif);
}

.contact-intro p {
    max-width: 340px;
    margin: 0;
    color: #69766e;
    font-size: 12px;
    line-height: 1.8;
}

.contact-methods {
    border-top: 1px solid rgba(9,45,39,.13);
}

.contact-method {
    display: grid;
    grid-template-columns: 45px 1fr 30px;
    align-items: center;
    gap: 15px;
    padding: 24px 0;
    border-bottom: 1px solid rgba(9,45,39,.13);
    transition: padding .35s ease, color .35s ease;
}

.contact-method:hover {
    padding-left: 8px;
}

.contact-method-number {
    color: #a07e47;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .16em;
}

.contact-method small {
    display: block;
    color: #9a7a43;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .18em;
}

.contact-method strong {
    display: block;
    margin-top: 5px;
    color: #17362d;
    font: 500 22px var(--serif);
}

.contact-method > span:last-child {
    color: #a07e47;
    font-size: 18px;
}

.contact-final {
    padding: 120px 0;
    background: #ece5d9;
}

.contact-final h2 {
    margin: 17px 0;
    font: 500 clamp(50px, 6vw, 76px)/.94 var(--serif);
}

.contact-final h2 em {
    color: var(--gold);
    font-style: italic;
}

.contact-final p {
    max-width: 470px;
    margin: 0 0 28px;
    color: #69766e;
    font-size: 12px;
    line-height: 1.8;
}


/* =========================================================
