.esai-page-wrap { --esai-primary:#0f766e; --esai-dark:#0f172a; --esai-muted:#475569; --esai-bg:#f8fafc; font-family: inherit; color: var(--esai-dark); }
.esai-container { max-width: 1120px; margin: 0 auto; padding: 0 22px; }
.esai-hero { padding: 76px 0; background: linear-gradient(135deg, #ecfeff 0%, #f8fafc 58%, #ffffff 100%); border-bottom: 1px solid #e2e8f0; }
.esai-eyebrow { display:inline-block; padding:7px 12px; border-radius:999px; background:#ccfbf1; color:#115e59; font-weight:700; font-size:13px; margin-bottom:18px; }
.esai-hero h2.esai-fallback-main-title { font-size: clamp(34px, 5vw, 58px); line-height:1.05; letter-spacing:-.04em; max-width: 930px; margin:0 0 18px; }
.esai-hero p { max-width: 820px; font-size: 18px; line-height:1.75; color: var(--esai-muted); }
.esai-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.esai-btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding: 13px 20px; border-radius: 999px; text-decoration:none !important; font-weight: 800; transition:.2s ease; }
.esai-btn-primary { background:var(--esai-primary); color:#fff !important; box-shadow:0 10px 22px rgba(15,118,110,.22); }
.esai-btn-primary:hover { transform: translateY(-1px); filter: brightness(.95); }
.esai-btn-secondary { background:#fff; color:var(--esai-primary) !important; border:1px solid #99f6e4; }
.esai-content { padding: 52px 0; background:#fff; }
.esai-section-card { padding: 30px; border: 1px solid #e2e8f0; border-radius: 24px; box-shadow: 0 12px 32px rgba(15,23,42,.05); margin-bottom: 22px; background:#fff; }
.esai-section-card h2, .esai-related h2, .esai-faq h2, .esai-final-cta h2 { font-size: clamp(25px, 3vw, 36px); line-height:1.18; letter-spacing:-.025em; margin: 0 0 14px; color: var(--esai-dark); }
.esai-section-card p, .esai-faq p, .esai-final-cta p, .esai-disclaimer p { color: var(--esai-muted); line-height:1.8; font-size:16px; }
.esai-check-list { display:grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap:10px; padding:0; margin: 18px 0 0; list-style:none; }
.esai-check-list li { padding:12px 14px 12px 42px; border-radius:14px; background:#f0fdfa; border:1px solid #ccfbf1; position:relative; color:#134e4a; font-weight:650; }
.esai-check-list li:before { content:'✓'; position:absolute; left:14px; top:10px; width:20px; height:20px; border-radius:50%; background:#0f766e; color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; }
.esai-mini-cta { margin: 22px 0 0; padding: 18px; border-radius:18px; background:#f8fafc; border:1px dashed #14b8a6; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.esai-mini-cta strong { color: var(--esai-dark); }
.esai-mini-cta span { color: var(--esai-muted); }
.esai-mini-cta a { padding:9px 14px; border-radius:999px; background:var(--esai-primary); color:#fff !important; text-decoration:none !important; font-weight:700; }
.esai-related { padding: 52px 0; background: var(--esai-bg); }
.esai-related-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap:14px; margin-top:20px; }
.esai-related-grid a { padding:18px; background:#fff; border:1px solid #e2e8f0; border-radius:18px; text-decoration:none !important; box-shadow: 0 8px 20px rgba(15,23,42,.04); }
.esai-related-grid span { display:block; color:#64748b; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; margin-bottom:8px; }
.esai-related-grid strong { color:var(--esai-dark); font-size:16px; line-height:1.35; }
.esai-faq { padding: 54px 0; background:#fff; }
.esai-faq-grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(290px,1fr)); gap:16px; margin-top:22px; }
.esai-faq-item { padding:22px; border-radius:20px; border:1px solid #e2e8f0; background:#fff; }
.esai-faq-item h3 { margin:0 0 10px; font-size:19px; line-height:1.35; }
.esai-final-cta { padding: 62px 0; text-align:center; background: linear-gradient(135deg, #0f766e, #134e4a); color:#fff; }
.esai-final-cta h2, .esai-final-cta p { color:#fff; margin-left:auto; margin-right:auto; max-width:850px; }
.esai-final-cta .esai-btn-primary { background:#fff; color:#0f766e !important; }
.esai-disclaimer { padding: 20px 0; background:#fefce8; border-top:1px solid #fde68a; }
.esai-disclaimer p { font-size:14px; margin:0; color:#854d0e; }
@media (max-width: 720px) { .esai-hero { padding: 52px 0; } .esai-section-card { padding:22px; } .esai-actions, .esai-mini-cta { align-items:stretch; flex-direction:column; } .esai-btn, .esai-mini-cta a { width:100%; } }

/* V4 true full-width Elementor container fixes */
body.elementor-page { overflow-x: hidden; }
.elementor .esai-page-fullbleed.e-con,
.elementor .esai-page-fullbleed.elementor-element,
.esai-page-fullbleed {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    --width: 100vw;
    --content-width: 100vw;
    box-sizing: border-box;
}
.elementor .esai-page-fullbleed > .e-con-inner {
    max-width: none !important;
    width: 100% !important;
}
.elementor .esai-hero-split {
    min-height: 720px;
}
.elementor .esai-hero-title .elementor-heading-title {
    font-size: clamp(38px, 4.8vw, 72px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.045em;
}
.elementor .esai-hero-intro p,
.elementor .esai-section-body p {
    font-size: 18px;
    line-height: 1.78;
    margin-bottom: 14px;
}
.elementor .esai-hero-image-widget img {
    width: 100% !important;
    height: auto !important;
    border-radius: 24px;
    display: block;
    box-shadow: 0 22px 55px rgba(15, 23, 42, .12);
}
.elementor .esai-trust-card {
    box-shadow: 0 10px 25px rgba(15, 23, 42, .05);
}
.elementor .esai-section-card-col {
    box-shadow: 0 16px 35px rgba(15, 23, 42, .06);
}
.elementor .esai-section-heading .elementor-heading-title {
    font-size: clamp(30px, 3vw, 46px) !important;
}
.elementor .esai-faq-accordion {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}
.elementor .esai-final-cta-text p {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    font-size: 18px;
    line-height: 1.8;
}
@media (max-width: 1024px) {
    .elementor .esai-hero-split,
    .elementor .esai-content-row,
    .elementor .esai-trust-strip {
        padding-left: 32px !important;
        padding-right: 32px !important;
    }
    .elementor .esai-hero-left,
    .elementor .esai-hero-right,
    .elementor .esai-section-text-col,
    .elementor .esai-section-card-col,
    .elementor .esai-trust-card {
        width: 100% !important;
    }
}
@media (max-width: 767px) {
    .elementor .esai-hero-split,
    .elementor .esai-content-row,
    .elementor .esai-related-full,
    .elementor .esai-faq-full,
    .elementor .esai-final-cta-full,
    .elementor .esai-disclaimer-full,
    .elementor .esai-trust-strip {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .elementor .esai-hero-title .elementor-heading-title {
        font-size: clamp(34px, 10vw, 46px) !important;
    }
}


/* V5 premium landing page design */
.elementor .esai-premium-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 12%, rgba(20,184,166,.18), transparent 34%),
        radial-gradient(circle at 86% 20%, rgba(14,165,233,.16), transparent 30%),
        linear-gradient(135deg, #F0FDFA 0%, #FFFFFF 50%, #ECFEFF 100%) !important;
}
.elementor .esai-premium-hero::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -140px;
    top: 80px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(15,118,110,.22), rgba(14,165,233,.14));
    filter: blur(8px);
    z-index: -1;
}
.elementor .esai-premium-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(15,23,42,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,42,.045) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 85%);
    z-index: -2;
}
.elementor .esai-premium-eyebrow .elementor-heading-title,
.elementor .esai-premium-eyebrow {
    display: inline-flex;
    align-items: center;
    width: auto !important;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(15,118,110,.10);
    border: 1px solid rgba(15,118,110,.18);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.elementor .esai-premium-hero-title .elementor-heading-title {
    font-size: clamp(42px, 5.2vw, 82px) !important;
    line-height: .98 !important;
    letter-spacing: -0.06em;
    max-width: 920px;
}
.elementor .esai-premium-hero-intro p {
    font-size: 19px;
    line-height: 1.85;
    max-width: 760px;
    margin-bottom: 0;
}
.elementor .esai-premium-primary-btn .elementor-button,
.elementor .esai-premium-section-btn .elementor-button,
.elementor .esai-premium-small-btn .elementor-button {
    border-radius: 999px !important;
    padding: 16px 26px !important;
    background: linear-gradient(135deg, #0F766E, #14B8A6) !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 18px 38px rgba(15,118,110,.24) !important;
}
.elementor .esai-premium-ghost-btn .elementor-button {
    border-radius: 999px !important;
    padding: 16px 26px !important;
    background: #FFFFFF !important;
    color: #0F766E !important;
    border: 1px solid rgba(15,118,110,.18) !important;
    font-weight: 800 !important;
    box-shadow: 0 14px 28px rgba(15,23,42,.08) !important;
}
.elementor .esai-premium-white-btn .elementor-button {
    border-radius: 999px !important;
    padding: 16px 26px !important;
    background: #FFFFFF !important;
    color: #0F766E !important;
    font-weight: 800 !important;
}
.elementor .esai-premium-hero-checks {
    margin-top: 24px;
}
.elementor .esai-premium-hero-checks .elementor-icon-list-item {
    padding: 8px 0;
}
.elementor .esai-premium-hero-visual {
    position: relative;
    backdrop-filter: blur(18px);
    box-shadow: 0 30px 80px rgba(15,23,42,.14), inset 0 0 0 1px rgba(255,255,255,.7);
}
.elementor .esai-premium-hero-image-widget img {
    width: 100% !important;
    min-height: 370px;
    object-fit: cover;
    border-radius: 28px !important;
    box-shadow: 0 24px 60px rgba(15,23,42,.16) !important;
}
.elementor .esai-premium-floating-card {
    box-shadow: 0 20px 50px rgba(15,23,42,.10);
    border: 1px solid rgba(226,232,240,.85);
}
.elementor .esai-premium-card-dark {
    border: 1px solid rgba(153,246,228,.22) !important;
    background: linear-gradient(135deg, #0F766E, #073B3A) !important;
}
.elementor .esai-premium-card-title .elementor-heading-title,
.elementor .esai-premium-destination-title .elementor-heading-title,
.elementor .esai-premium-trust-heading .elementor-heading-title,
.elementor .esai-journey-title .elementor-heading-title,
.elementor .esai-support-card-heading .elementor-heading-title,
.elementor .esai-related-card-heading .elementor-heading-title {
    letter-spacing: -0.025em;
}
.elementor .esai-premium-trust-strip {
    margin-top: -1px !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%) !important;
}
.elementor .esai-premium-trust-card,
.elementor .esai-premium-journey-card,
.elementor .esai-premium-support-card,
.elementor .esai-premium-related-card,
.elementor .esai-premium-content-side-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(226,232,240,.9);
    box-shadow: 0 18px 45px rgba(15,23,42,.07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.elementor .esai-premium-trust-card::before,
.elementor .esai-premium-journey-card::before,
.elementor .esai-premium-support-card::before,
.elementor .esai-premium-related-card::before,
.elementor .esai-premium-content-side-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, #0F766E, #38BDF8);
}
.elementor .esai-premium-trust-card:hover,
.elementor .esai-premium-journey-card:hover,
.elementor .esai-premium-support-card:hover,
.elementor .esai-premium-related-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 26px 70px rgba(15,23,42,.12);
    border-color: rgba(20,184,166,.35);
}
.elementor .esai-premium-card-number .elementor-heading-title,
.elementor .esai-journey-step .elementor-heading-title {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #ECFDF5;
    font-weight: 900;
}
.elementor .esai-premium-section-title .elementor-heading-title {
    font-size: clamp(30px, 3.6vw, 52px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.elementor .esai-premium-section-subtitle p {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    font-size: 18px;
    line-height: 1.8;
}
.elementor .esai-premium-journey-section {
    background:
        radial-gradient(circle at 20% 0%, rgba(20,184,166,.12), transparent 26%),
        #F8FAFC !important;
}
.elementor .esai-premium-content-row {
    position: relative;
    overflow: hidden;
}
.elementor .esai-premium-content-row::before {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    left: -100px;
    bottom: -120px;
    border-radius: 999px;
    background: rgba(20,184,166,.08);
}
.elementor .esai-premium-section-label .elementor-heading-title,
.elementor .esai-related-card-label .elementor-heading-title {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: #ECFDF5;
    color: #0F766E !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.elementor .esai-premium-content-heading .elementor-heading-title {
    font-size: clamp(30px, 3.4vw, 52px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em;
}
.elementor .esai-premium-content-body p,
.elementor .esai-premium-side-list .elementor-icon-list-text,
.elementor .esai-premium-card-text p,
.elementor .esai-premium-trust-text p,
.elementor .esai-journey-text p,
.elementor .esai-support-card-text p {
    font-size: 17px;
    line-height: 1.78;
}
.elementor .esai-premium-side-list .elementor-icon-list-item,
.elementor .esai-premium-mini-list .elementor-icon-list-item {
    padding: 9px 0;
}
.elementor .esai-premium-support-section {
    background:
        radial-gradient(circle at 76% 24%, rgba(56,189,248,.16), transparent 30%),
        linear-gradient(180deg, #EEFDF8 0%, #FFFFFF 100%) !important;
}
.elementor .esai-related-card-btn .elementor-button {
    border-radius: 999px !important;
    background: #F0FDFA !important;
    color: #0F766E !important;
    border: 1px solid rgba(15,118,110,.14) !important;
    font-weight: 800 !important;
}
.elementor .esai-premium-faq-section {
    background: linear-gradient(180deg, #F8FAFC, #FFFFFF) !important;
}
.elementor .esai-premium-faq-accordion {
    max-width: 1040px;
    margin: 24px auto 0;
}
.elementor .esai-premium-faq-accordion .elementor-accordion-item {
    border: 1px solid rgba(226,232,240,.9) !important;
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 14px;
    background: #FFFFFF;
    box-shadow: 0 12px 34px rgba(15,23,42,.05);
}
.elementor .esai-premium-faq-accordion .elementor-tab-title {
    font-weight: 800;
    color: #0F172A;
}
.elementor .esai-premium-final-cta {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 20%, rgba(20,184,166,.28), transparent 30%),
        radial-gradient(circle at 82% 10%, rgba(56,189,248,.20), transparent 32%),
        linear-gradient(135deg, #061526, #0F172A 55%, #073B3A) !important;
}
.elementor .esai-premium-final-cta::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 34px;
    pointer-events: none;
}
.elementor .esai-premium-final-title .elementor-heading-title {
    font-size: clamp(32px, 4vw, 58px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.05em;
    max-width: 900px;
    margin: 0 auto;
}
.elementor .esai-premium-final-text p {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
    font-size: 18px;
    line-height: 1.82;
}
.elementor .esai-premium-disclaimer-text p {
    color: #854D0E;
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}
@media (max-width: 1100px) {
    .elementor .esai-premium-hero-left,
    .elementor .esai-premium-hero-visual,
    .elementor .esai-premium-content-text-col,
    .elementor .esai-premium-content-side-card,
    .elementor .esai-premium-trust-card,
    .elementor .esai-premium-support-card,
    .elementor .esai-premium-related-card,
    .elementor .esai-premium-journey-card {
        width: 100% !important;
    }
}
@media (max-width: 767px) {
    .elementor .esai-premium-hero,
    .elementor .esai-premium-trust-strip,
    .elementor .esai-premium-journey-section,
    .elementor .esai-premium-content-row,
    .elementor .esai-premium-support-section,
    .elementor .esai-premium-related-section,
    .elementor .esai-premium-faq-section,
    .elementor .esai-premium-final-cta,
    .elementor .esai-premium-disclaimer {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .elementor .esai-premium-hero {
        padding-top: 70px !important;
        padding-bottom: 72px !important;
    }
    .elementor .esai-premium-hero-title .elementor-heading-title {
        font-size: clamp(36px, 11vw, 52px) !important;
    }
    .elementor .esai-premium-hero-buttons {
        align-items: stretch !important;
    }
    .elementor .esai-premium-primary-btn,
    .elementor .esai-premium-ghost-btn,
    .elementor .esai-premium-white-btn {
        width: 100% !important;
    }
}

/* V2 final full-bleed premium India-only layout fixes */
body.elementor-page, body.page { overflow-x: hidden !important; }
body.elementor-page .site,
body.elementor-page .site-content,
body.elementor-page .content-area,
body.elementor-page #primary,
body.elementor-page #content,
body.elementor-page .site-main,
body.elementor-page .page-content,
body.elementor-page .entry-content,
body.elementor-page article.page,
body.elementor-page .hentry,
body.elementor-page .container,
body.elementor-page .ast-container,
body.elementor-page .col-full,
body.elementor-page .wrap,
body.elementor-page .page-wrapper {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.elementor-page .elementor[data-elementor-type="wp-page"] {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}
.elementor .esai-page-fullbleed,
.elementor .esai-page-fullbleed.e-con,
.elementor .esai-page-fullbleed.elementor-element,
body .esai-page-fullbleed {
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    --width: 100vw !important;
    --content-width: 100vw !important;
    box-sizing: border-box !important;
}
.elementor .esai-page-fullbleed > .e-con-inner,
body .esai-page-fullbleed > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
.elementor .esai-premium-hero {
    background:
        radial-gradient(circle at 6% 20%, rgba(20,184,166,.24), transparent 32%),
        radial-gradient(circle at 85% 16%, rgba(14,165,233,.22), transparent 30%),
        linear-gradient(135deg, #EFFFFB 0%, #F8FAFC 45%, #FFFFFF 100%) !important;
    padding-left: clamp(28px, 6vw, 110px) !important;
    padding-right: clamp(28px, 6vw, 110px) !important;
}
.elementor .esai-premium-hero-title .elementor-heading-title {
    font-size: clamp(48px, 6.2vw, 96px) !important;
    max-width: 980px !important;
}
.elementor .esai-premium-hero-intro p {
    font-size: 20px !important;
    max-width: 780px !important;
}
.elementor .esai-premium-hero-visual {
    border: 1px solid rgba(255,255,255,.85) !important;
    box-shadow: 0 35px 95px rgba(15,23,42,.16), inset 0 0 0 1px rgba(255,255,255,.55) !important;
}
.elementor .esai-premium-hero-image-widget img {
    min-height: 420px !important;
    object-fit: cover !important;
}
.elementor .esai-premium-destination-title .elementor-heading-title,
.elementor .esai-premium-destination-text p {
    color: #fff !important;
}
@media (max-width: 1024px) {
    .elementor .esai-premium-hero-left,
    .elementor .esai-premium-hero-visual { width: 100% !important; }
    .elementor .esai-premium-hero { min-height: auto !important; padding-top: 70px !important; padding-bottom: 70px !important; }
}
