:root {
    --iim-bg: #08142d;
    --iim-bg-soft: #0f1f45;
    --iim-surface: #ffffff;
    --iim-surface-soft: #f3f7ff;
    --iim-surface-glass: rgba(8, 18, 44, 0.68);
    --iim-border: rgba(101, 134, 210, 0.25);
    --iim-border-strong: rgba(81, 122, 225, 0.42);
    --iim-text: #182948;
    --iim-text-soft: #556a8f;
    --iim-text-inverse: #eef4ff;
    --iim-primary: #2f68ff;
    --iim-primary-strong: #1f55ea;
    --iim-accent: #36c9ff;
    --iim-accent-soft: rgba(54, 201, 255, 0.2);
    --iim-heading: #122546;
    --iim-body: #314d76;
    --iim-muted: #5d7295;
    --iim-surface-2: #f7faff;
    --iim-danger: #ff5a7f;
    --iim-radius-xs: 10px;
    --iim-radius-sm: 14px;
    --iim-radius-md: 20px;
    --iim-radius-lg: 28px;
    --iim-shadow-sm: 0 12px 28px rgba(7, 21, 51, 0.08);
    --iim-shadow-md: 0 20px 48px rgba(7, 21, 51, 0.12);
    --iim-shadow-lg: 0 32px 70px rgba(5, 14, 35, 0.26);
    --iim-glow-primary: 0 0 0 1px rgba(58, 104, 255, 0.2), 0 14px 30px rgba(58, 104, 255, 0.24);
    --iim-content-width: min(1180px, calc(100vw - 32px));
    --iim-space-1: clamp(0.5rem, 0.35rem + 0.3vw, 0.7rem);
    --iim-space-2: clamp(0.8rem, 0.55rem + 0.5vw, 1.1rem);
    --iim-space-3: clamp(1rem, 0.7rem + 0.65vw, 1.45rem);
    --iim-space-4: clamp(1.35rem, 0.9rem + 0.9vw, 2rem);
    --iim-space-5: clamp(1.8rem, 1.2rem + 1.2vw, 2.8rem);
    --iim-space-6: clamp(2.4rem, 1.7rem + 1.8vw, 4rem);
    --iim-space-7: clamp(3rem, 2rem + 2.8vw, 5.4rem);
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--iim-text);
    background: radial-gradient(circle at 15% -20%, #234588 0%, rgba(35, 69, 136, 0) 43%),
        radial-gradient(circle at 90% -10%, #0f4f79 0%, rgba(15, 79, 121, 0) 38%),
        linear-gradient(180deg, #f4f7ff 0%, #eef3ff 45%, #f7f9ff 100%);
    font-feature-settings: "liga" 1, "kern" 1;
    letter-spacing: 0.01em;
}

.body-inner {
    position: relative;
    overflow: hidden;
}

.body-inner::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 88% 9%, rgba(74, 118, 255, 0.15), rgba(74, 118, 255, 0) 45%),
        radial-gradient(circle at 12% 24%, rgba(0, 194, 255, 0.1), rgba(0, 194, 255, 0) 40%);
    z-index: 0;
}

.body-inner > * {
    position: relative;
    z-index: 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--iim-heading);
}

p {
    line-height: 1.72;
    color: var(--iim-body);
}

#header {
    transition: background-color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

#header .header-inner {
    margin-top: 0;
    border-bottom: 1px solid rgba(118, 148, 218, 0.28);
    background: linear-gradient(135deg, rgba(8, 18, 44, 0.9), rgba(16, 42, 93, 0.82));
    backdrop-filter: blur(14px) saturate(1.25);
    box-shadow: 0 18px 40px rgba(4, 12, 32, 0.26);
}

/* Keep navigation visual language consistent with homepage on every page/state */
#header.header-sticky .header-inner,
#header.is-sticky .header-inner,
body:not([data-page-type="home"]) #header .header-inner {
    border-bottom: 1px solid rgba(118, 148, 218, 0.28);
    background: linear-gradient(135deg, rgba(8, 18, 44, 0.94), rgba(16, 42, 93, 0.9));
    backdrop-filter: blur(14px) saturate(1.25);
    box-shadow: 0 18px 40px rgba(4, 12, 32, 0.26);
}

#mainMenu nav > ul > li > a {
    font-weight: 650;
    letter-spacing: 0.02em;
    color: #f4f7ff;
    transition: color 0.25s ease, text-shadow 0.25s ease;
}

#header.header-sticky #mainMenu nav > ul > li > a,
#header.is-sticky #mainMenu nav > ul > li > a,
body:not([data-page-type="home"]) #mainMenu nav > ul > li > a {
    color: #f4f7ff;
}

#mainMenu nav > ul > li:hover > a,
#mainMenu nav > ul > li.current > a {
    color: #9bcbff;
    text-shadow: 0 0 24px rgba(58, 104, 255, 0.35);
}

#header.header-sticky #mainMenu nav > ul > li:hover > a,
#header.header-sticky #mainMenu nav > ul > li.current > a,
#header.is-sticky #mainMenu nav > ul > li:hover > a,
#header.is-sticky #mainMenu nav > ul > li.current > a,
body:not([data-page-type="home"]) #mainMenu nav > ul > li:hover > a,
body:not([data-page-type="home"]) #mainMenu nav > ul > li.current > a {
    color: #9bcbff;
    text-shadow: 0 0 24px rgba(58, 104, 255, 0.35);
}

#header .header-extras a,
#header #btn-search,
#header #mainMenu-trigger .lines,
#header #mainMenu-trigger .lines::before,
#header #mainMenu-trigger .lines::after {
    color: #e6efff;
}

body:not([data-page-type="home"]) #header #logo img {
    filter: none;
}

#mainMenu .dropdown-menu {
    border: 1px solid rgba(90, 122, 197, 0.3);
    border-radius: var(--iim-radius-sm);
    background: linear-gradient(180deg, rgba(11, 24, 55, 0.95), rgba(8, 19, 45, 0.95));
    box-shadow: var(--iim-shadow-lg);
}

#mainMenu .dropdown-menu a {
    color: #dbe7ff;
}

#mainMenu .dropdown-menu a:hover {
    color: #9fd7ff;
}

.btn,
.btn-primary,
.btn-rounded,
.iim-btn-primary,
.iim-block__cta-link {
    border: none;
    border-radius: 999px;
    background: linear-gradient(115deg, var(--iim-primary) 0%, #4a86ff 55%, #52a7ff 100%);
    color: #fff;
    font-weight: 650;
    letter-spacing: 0.02em;
    box-shadow: 0 14px 28px rgba(35, 83, 255, 0.24);
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.btn:hover,
.btn-primary:hover,
.btn-rounded:hover,
.iim-btn-primary:hover,
.iim-block__cta-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 34px rgba(35, 83, 255, 0.3);
    filter: saturate(1.08);
}

.iim-btn-ghost,
.btn.btn-light,
.btn.btn-default {
    border-radius: 999px;
    border: 1px solid rgba(129, 156, 223, 0.42);
    background: rgba(11, 28, 64, 0.24);
    color: #e4eeff;
    backdrop-filter: blur(8px);
}

#scrollTop {
    border-radius: 14px;
    box-shadow: var(--iim-shadow-sm);
}

#page-title {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(140, 162, 218, 0.2);
}

#page-title::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(4, 12, 33, 0.78), rgba(7, 23, 57, 0.68) 52%, rgba(8, 46, 80, 0.58)),
        radial-gradient(circle at 78% 0, rgba(58, 104, 255, 0.22), rgba(58, 104, 255, 0) 48%);
    z-index: 0;
}

#page-title .bg-overlay {
    background: transparent;
}

#page-title .container {
    position: relative;
    z-index: 2;
    width: var(--iim-content-width);
}

#page-title .page-title h1 {
    font-size: clamp(2rem, 3.2vw, 3.2rem);
    color: var(--iim-text-inverse);
    text-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
}

#page-title .page-title span {
    font-size: clamp(1rem, 1.15vw, 1.25rem);
    color: rgba(228, 239, 255, 0.88);
    max-width: 760px;
    display: block;
}

#page-title .breadcrumb li,
#page-title .breadcrumb a {
    color: rgba(207, 224, 255, 0.85);
}

body[data-page-type="home"] #slider {
    border-bottom: 1px solid rgba(104, 139, 220, 0.18);
    box-shadow: inset 0 -24px 42px rgba(2, 8, 25, 0.46);
}

body[data-page-type="home"] .iim-home-static-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(2, 8, 24, 0.14) 0%, rgba(2, 8, 24, 0.66) 78%),
        radial-gradient(circle at 12% 20%, rgba(58, 104, 255, 0.2), rgba(58, 104, 255, 0) 40%);
    pointer-events: none;
}

body[data-page-type="home"] .iim-home-hero-from-cms {
    width: 100%;
    padding: clamp(1.3rem, 2vw, 2.4rem) 0 0;
}

body[data-page-type="home"] .iim-homepage .iim-container {
    width: var(--iim-content-width);
}

body[data-page-type="home"] .iim-homepage .iim-trust-card,
body[data-page-type="home"] .iim-homepage .iim-step,
body[data-page-type="home"] .iim-homepage .iim-industry-card,
body[data-page-type="home"] .iim-homepage .iim-faq-card,
body[data-page-type="home"] .iim-homepage .iim-case-card {
    border: 1px solid rgba(119, 150, 221, 0.2);
    border-radius: var(--iim-radius-md);
    box-shadow: 0 22px 42px rgba(9, 23, 54, 0.14);
    backdrop-filter: blur(8px);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body[data-page-type="home"] .iim-homepage .iim-trust-card:hover,
body[data-page-type="home"] .iim-homepage .iim-step:hover,
body[data-page-type="home"] .iim-homepage .iim-industry-card:hover,
body[data-page-type="home"] .iim-homepage .iim-faq-card:hover,
body[data-page-type="home"] .iim-homepage .iim-case-card:hover {
    transform: translateY(-6px);
    border-color: rgba(95, 136, 231, 0.42);
    box-shadow: 0 28px 54px rgba(9, 23, 54, 0.2);
}

body[data-page-type="home"] .iim-homepage .iim-section-label {
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body[data-page-type="home"] .iim-homepage .iim-btn-ghost {
    background: rgba(62, 129, 255, 0.12);
    color: #b8d4ff;
}

section > .container,
#page-content > .container {
    width: var(--iim-content-width);
}

section {
    position: relative;
}

section .heading-text.heading-section {
    margin-bottom: clamp(1.7rem, 1.2rem + 1.1vw, 2.8rem);
}

section .heading-text.heading-section h1,
section .heading-text.heading-section h2 {
    font-size: clamp(1.9rem, 2.7vw, 3rem);
    color: var(--iim-heading);
    margin-bottom: 0.6rem;
}

section .heading-text.heading-section .lead {
    max-width: 760px;
    color: var(--iim-text-soft);
    font-size: clamp(1rem, 1.08vw, 1.2rem);
}

.post-item .post-item-wrap,
.portfolio-item .portfolio-item-wrap,
.accordion .ac-item,
.widget,
.iim-block__inner {
    border: 1px solid var(--iim-border);
    border-radius: var(--iim-radius-md);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(246, 250, 255, 0.95));
    box-shadow: var(--iim-shadow-sm);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.post-item .post-item-wrap:hover,
.portfolio-item .portfolio-item-wrap:hover,
.accordion .ac-item:hover,
.widget:hover,
.iim-block__inner:hover {
    transform: translateY(-5px);
    border-color: var(--iim-border-strong);
    box-shadow: var(--iim-shadow-md);
}

.post-item .post-image img,
.portfolio-item .portfolio-image img {
    border-top-left-radius: calc(var(--iim-radius-md) - 1px);
    border-top-right-radius: calc(var(--iim-radius-md) - 1px);
}

.post-item-description h2,
.post-item-description h2 a {
    color: var(--iim-heading);
}

.post-item-description p {
    color: var(--iim-body);
}

.post-meta-date,
.post-meta-category a {
    color: var(--iim-muted);
    font-weight: 550;
}

.item-link {
    color: var(--iim-primary);
    font-weight: 650;
}

.accordion .ac-item {
    margin-bottom: var(--iim-space-2);
    overflow: hidden;
}

.accordion .ac-title {
    font-size: 1.05rem;
    color: var(--iim-heading);
    margin: 0;
    padding: 16px 20px;
    background: linear-gradient(90deg, rgba(58, 104, 255, 0.09), rgba(58, 104, 255, 0.02));
}

.accordion .ac-content {
    padding: 0 20px 20px;
    color: var(--iim-text-soft);
}

body[data-page-type="service"] #page-content > .container > .accordion,
body[data-page-type="service"] section .accordion {
    margin-top: var(--iim-space-5);
}

body[data-page-type="service"] #blog .post-item-description h2 {
    font-size: clamp(1.15rem, 1.3vw, 1.5rem);
}

body[data-page-type="service"] #blog .post-item-description .item-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

body[data-page-type="blog_list"] #blog.grid-layout .post-item {
    padding: 0;
}

body[data-page-type="blog_list"] #page-content #blog {
    margin-top: var(--iim-space-4);
}

body[data-page-type="blog_detail"] #page-content .content.col-lg-9 .post-item-wrap {
    border: 1px solid rgba(106, 140, 222, 0.24);
    border-radius: var(--iim-radius-lg);
    box-shadow: var(--iim-shadow-md);
    overflow: hidden;
}

body[data-page-type="blog_detail"] #page-content .post-item-description {
    padding: clamp(1.4rem, 1rem + 1vw, 2.4rem);
}

body[data-page-type="blog_detail"] .post-content-body {
    font-size: clamp(1rem, 1.02vw, 1.16rem);
    line-height: 1.86;
    color: var(--iim-body);
}

body[data-page-type="blog_detail"] .post-content-body h2,
body[data-page-type="blog_detail"] .post-content-body h3 {
    margin-top: 1.6em;
    margin-bottom: 0.65em;
    color: var(--iim-heading);
}

body[data-page-type="blog_detail"] .post-content-body blockquote {
    margin: 1.4rem 0;
    padding: 1rem 1.2rem 1rem 1.25rem;
    border-left: 4px solid var(--iim-primary);
    background: rgba(58, 104, 255, 0.07);
    border-radius: 0 var(--iim-radius-sm) var(--iim-radius-sm) 0;
}

body[data-page-type="blog_detail"] .sidebar .widget {
    margin-bottom: var(--iim-space-3);
    padding: 1rem;
}

body[data-page-type="blog_detail"] .post-thumbnail-entry {
    gap: 12px;
    border-radius: var(--iim-radius-sm);
}

body[data-page-type="contact"] section > .container > .row {
    row-gap: var(--iim-space-4);
    column-gap: var(--iim-space-3);
}

body[data-page-type="contact"] .widget-contact-form {
    border: 1px solid rgba(105, 141, 223, 0.25);
    border-radius: var(--iim-radius-md);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(246, 251, 255, 0.96));
    padding: clamp(1rem, 0.9rem + 1vw, 1.9rem);
    box-shadow: var(--iim-shadow-sm);
}

body[data-page-type="contact"] address {
    border: 1px solid rgba(105, 141, 223, 0.25);
    border-radius: var(--iim-radius-md);
    background: rgba(255, 255, 255, 0.85);
    padding: 1.1rem 1.25rem;
    box-shadow: var(--iim-shadow-sm);
}

body[data-page-type="contact"] .map {
    width: 100%;
    border-radius: var(--iim-radius-md);
    box-shadow: var(--iim-shadow-sm);
    border: 1px solid rgba(105, 141, 223, 0.3);
}

.form-control,
textarea.form-control,
input.form-control {
    border-radius: var(--iim-radius-xs);
    border: 1px solid rgba(121, 151, 218, 0.4);
    background: rgba(255, 255, 255, 0.95);
    min-height: 46px;
    transition: border-color 0.22s ease, box-shadow 0.22s ease;
    color: var(--iim-heading);
}

.form-control::placeholder,
textarea.form-control::placeholder,
input.form-control::placeholder {
    color: #7b8fae;
}

.form-control:focus,
textarea.form-control:focus,
input.form-control:focus {
    border-color: rgba(58, 104, 255, 0.75);
    box-shadow: 0 0 0 4px rgba(58, 104, 255, 0.16);
}

body[data-page-type="404"] .page-error-404 {
    font-size: clamp(5rem, 11vw, 11rem);
    font-weight: 800;
    line-height: 0.9;
    background: linear-gradient(145deg, #1f4df4 0%, #4f86ff 48%, #5ee8e0 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 14px 34px rgba(35, 83, 255, 0.32));
}

#footer {
    background: linear-gradient(180deg, #070f26 0%, #050a1a 62%, #040813 100%);
    border-top: 1px solid rgba(110, 140, 206, 0.24);
}

#footer .footer-content {
    background: radial-gradient(circle at 15% 8%, rgba(58, 104, 255, 0.16), rgba(58, 104, 255, 0) 36%),
        radial-gradient(circle at 84% 0, rgba(60, 231, 196, 0.12), rgba(60, 231, 196, 0) 28%);
}

#footer .widget h4,
#footer .widget-title {
    color: #f0f6ff;
    letter-spacing: 0.03em;
}

#footer .list a,
#footer .copyright-text,
#footer p,
#footer small,
#footer address,
#footer a {
    color: rgba(215, 228, 248, 0.9);
}

#footer .list a:hover,
#footer a:hover {
    color: #80b5ff;
}

#footer .social-icons li a {
    border-radius: 50%;
    background: rgba(73, 113, 203, 0.2);
    border: 1px solid rgba(118, 150, 219, 0.3);
}

#footer .social-icons li a:hover {
    background: rgba(65, 126, 255, 0.28);
}

.whatsapp-float img {
    border-radius: 999px;
    box-shadow: 0 18px 36px rgba(23, 171, 105, 0.36);
}

.iim-block__inner {
    backdrop-filter: blur(6px);
}

.iim-block__title {
    color: var(--iim-heading);
}

.iim-block__subtitle,
.iim-block__body {
    color: var(--iim-body);
}

@keyframes iimPulseGlow {
    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(58, 104, 255, 0.16);
    }
    50% {
        box-shadow: 0 0 0 12px rgba(58, 104, 255, 0);
    }
}

body[data-page-type="home"] .iim-homepage .iim-check {
    animation: iimPulseGlow 2.5s ease-in-out infinite;
}

.iim-section {
    padding-top: var(--iim-space-5);
    padding-bottom: var(--iim-space-5);
}

.iim-content-prose {
    max-width: min(980px, 100%);
    margin: 0 auto;
    color: var(--iim-text-soft);
}

.iim-content-prose > *:first-child {
    margin-top: 0 !important;
}

.iim-content-prose > *:last-child {
    margin-bottom: 0 !important;
}

.iim-content-prose h1,
.iim-content-prose h2,
.iim-content-prose h3 {
    color: var(--iim-heading);
    margin-top: 1.4em;
    margin-bottom: 0.55em;
}

.iim-content-prose p,
.iim-content-prose li {
    line-height: 1.86;
    font-size: clamp(1rem, 1.02vw, 1.16rem);
}

.iim-content-prose ul,
.iim-content-prose ol {
    margin: 0.85rem 0 1rem 1.2rem;
}

.iim-content-prose a {
    color: var(--iim-primary);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.iim-content-prose blockquote {
    margin: 1.2rem 0;
    padding: 0.95rem 1.1rem;
    border-left: 4px solid var(--iim-primary);
    background: rgba(58, 104, 255, 0.08);
    border-radius: 0 var(--iim-radius-sm) var(--iim-radius-sm) 0;
}

.iim-section-head {
    display: grid;
    gap: 0.5rem;
    margin: var(--iim-space-5) 0 var(--iim-space-3);
}

.iim-section-head h2 {
    font-size: clamp(1.6rem, 2.2vw, 2.45rem);
    margin: 0;
    color: var(--iim-heading);
}

.iim-section-head p {
    margin: 0;
    max-width: 780px;
    color: var(--iim-muted);
}

.iim-inline-cta {
    margin-top: var(--iim-space-5);
}

.iim-inline-cta__inner {
    border: 1px solid rgba(102, 139, 225, 0.34);
    border-radius: var(--iim-radius-md);
    background:
        linear-gradient(110deg, rgba(12, 26, 60, 0.93), rgba(17, 44, 95, 0.9)),
        radial-gradient(circle at 85% 10%, rgba(80, 137, 255, 0.34), rgba(80, 137, 255, 0) 43%);
    box-shadow: var(--iim-shadow-lg);
    padding: clamp(1.2rem, 1rem + 1.1vw, 2.1rem);
    color: #e8f1ff;
}

.iim-inline-cta__inner h3 {
    margin: 0 0 0.55rem;
    color: #ffffff;
    font-size: clamp(1.35rem, 1.8vw, 2rem);
}

.iim-inline-cta__inner p {
    margin: 0 0 1rem;
    color: rgba(224, 237, 255, 0.88);
    max-width: 760px;
}

.iim-inline-cta__inner .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

body[data-page-type="service"] .iim-service-grid .post-item-wrap {
    height: 100%;
}

body[data-page-type="service"] .iim-service-grid .post-item-description {
    display: flex;
    flex-direction: column;
    min-height: 210px;
}

body[data-page-type="service"] .iim-service-grid .item-link {
    margin-top: auto;
}

body[data-page-type="blog_list"] .iim-post-item-featured .post-item-wrap {
    border-color: rgba(69, 116, 222, 0.46);
    box-shadow: var(--iim-shadow-md), 0 0 0 1px rgba(69, 116, 222, 0.18) inset;
}

body[data-page-type="blog_list"] .iim-post-item-featured .post-item-description h2 {
    font-size: clamp(1.25rem, 1.55vw, 1.7rem);
}

body[data-page-type="blog_detail"] .iim-article-content h2 {
    font-size: clamp(1.55rem, 2vw, 2.2rem);
    margin-bottom: 0.9rem;
}

body[data-page-type="blog_detail"] .iim-inline-cta--blog-detail {
    margin-top: var(--iim-space-5);
}

body[data-page-type="contact"] .iim-contact-card {
    border: 1px solid rgba(106, 143, 223, 0.3);
    border-radius: var(--iim-radius-md);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(246, 250, 255, 0.97));
    box-shadow: var(--iim-shadow-sm);
    padding: clamp(1.1rem, 0.9rem + 1vw, 1.8rem);
    height: 100%;
}

body[data-page-type="contact"] .iim-contact-form-wrap .widget-contact-form {
    margin-bottom: 0;
}

.iim-contact-trust {
    margin-top: 1rem;
    display: grid;
    gap: 0.52rem;
}

.iim-contact-trust__item {
    position: relative;
    padding-left: 22px;
    color: var(--iim-body);
    font-weight: 550;
    font-size: 0.95rem;
}

.iim-contact-trust__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.56em;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: linear-gradient(180deg, #2f73ff, #37d6d2);
}

body[data-page-type="contact"] .iim-contact-map-wrap {
    margin-top: 1rem;
}

body[data-page-type="contact"] .iim-contact-map-wrap .map {
    min-height: 340px;
}

@media (max-width: 1199.98px) {
    #mainMenu nav > ul > li > a {
        font-size: 0.9rem;
    }

    body[data-page-type="blog_detail"] .sidebar {
        margin-top: var(--iim-space-4);
    }
}

@media (max-width: 991.98px) {
    #header .header-inner {
        backdrop-filter: blur(9px);
    }

    #page-title .page-title h1 {
        font-size: clamp(1.7rem, 5.8vw, 2.5rem);
    }

    #page-title .page-title span {
        font-size: 0.98rem;
    }

    .post-item .post-item-wrap,
    .portfolio-item .portfolio-item-wrap,
    .accordion .ac-item,
    .widget,
    .iim-block__inner {
        border-radius: var(--iim-radius-sm);
    }

    body[data-page-type="home"] .iim-homepage .iim-trust-card:hover,
    body[data-page-type="home"] .iim-homepage .iim-step:hover,
    body[data-page-type="home"] .iim-homepage .iim-industry-card:hover,
    body[data-page-type="home"] .iim-homepage .iim-faq-card:hover,
    body[data-page-type="home"] .iim-homepage .iim-case-card:hover {
        transform: translateY(-3px);
    }
}

@media (max-width: 767.98px) {
    :root {
        --iim-content-width: min(1180px, calc(100vw - 20px));
    }

    #header #logo img {
        height: 62px !important;
    }

    #page-title .breadcrumb {
        margin-bottom: 0.65rem;
    }

    .btn,
    .btn-primary,
    .btn-rounded,
    .iim-btn-primary,
    .iim-block__cta-link {
        font-size: 0.92rem;
        padding-left: 18px;
        padding-right: 18px;
    }

    .form-control,
    textarea.form-control,
    input.form-control {
        min-height: 50px;
    }

    .iim-inline-cta__inner {
        padding: 1rem;
    }

    body[data-page-type="contact"] .iim-contact-map-wrap .map {
        min-height: 280px;
    }
}

.iim-main-shell {
    position: relative;
    z-index: 1;
}

.iim-section--home-content,
.iim-section--content,
.iim-section--service-list,
.iim-section--service-detail,
.iim-section--blog-list,
.iim-section--blog-detail,
.iim-section--contact {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(247, 250, 255, 0.92));
}

.iim-section--service-list .iim-content-prose,
.iim-section--service-detail .iim-content-prose,
.iim-section--blog-list .iim-content-prose,
.iim-section--content .iim-content-prose,
.iim-section--contact .iim-content-prose {
    border: 1px solid var(--iim-border);
    border-radius: var(--iim-radius-md);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 249, 255, 0.96));
    box-shadow: var(--iim-shadow-sm);
    padding: clamp(1rem, 0.9rem + 0.9vw, 1.7rem);
}

body[data-page-type="service"] .iim-seo-refresh-20260327.iim-content-intro,
body[data-page-type="blog_list"] .iim-seo-refresh-20260327.iim-content-intro,
body[data-page-type="blog_detail"] .iim-seo-refresh-20260327.iim-content-intro {
    border: 1px solid rgba(81, 122, 225, 0.26);
    border-radius: var(--iim-radius-sm);
    background: linear-gradient(180deg, rgba(241, 247, 255, 0.92), rgba(236, 244, 255, 0.94));
    padding: clamp(0.9rem, 0.8rem + 0.6vw, 1.35rem);
    margin-bottom: var(--iim-space-4);
}

body[data-page-type="service"] [class^="KEYBOARD-"],
body[data-page-type="service"] [class*=" KEYBOARD-"] {
    color: var(--iim-body);
}

body[data-page-type="service"] .KEYBOARD-hero,
body[data-page-type="service"] .KEYBOARD-why-seo-bg,
body[data-page-type="service"] .KEYBOARD-container,
body[data-page-type="service"] .KEYBOARD-services-section {
    border-radius: var(--iim-radius-md);
}

body[data-page-type="service"] .KEYBOARD-benefit-item,
body[data-page-type="service"] .KEYBOARD-service-item,
body[data-page-type="service"] .KEYBOARD-stat-box,
body[data-page-type="service"] .KEYBOARD-feature-card,
body[data-page-type="service"] .KEYBOARD-step-card {
    border: 1px solid var(--iim-border);
    border-radius: var(--iim-radius-sm);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 255, 0.96));
    box-shadow: var(--iim-shadow-sm);
}

body[data-page-type="service"] .KEYBOARD-cta-button,
body[data-page-type="service"] a[class*="KEYBOARD-cta"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(115deg, var(--iim-primary) 0%, #4a86ff 55%, #52a7ff 100%);
    color: #fff !important;
    font-weight: 650;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(35, 83, 255, 0.24);
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

body[data-page-type="service"] .KEYBOARD-cta-button:hover,
body[data-page-type="service"] a[class*="KEYBOARD-cta"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 34px rgba(35, 83, 255, 0.3);
}

body[data-page-type="blog_detail"] .post-content-body > section {
    margin-top: var(--iim-space-4);
}

body[data-page-type="blog_detail"] .post-content-body > section:first-child {
    margin-top: 0;
}

body[data-page-type="home"] .iim-inline-cta--home {
    margin-top: var(--iim-space-6);
}

#footer .footer-content .widget {
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}

#footer .footer-content .widget:hover {
    box-shadow: none;
    transform: none;
}

body[data-page-type="blog_list"] .iim-blog-grid {
    gap: clamp(1rem, 0.8rem + 0.8vw, 1.8rem);
}

body[data-page-type="blog_list"] .iim-blog-card .post-item-wrap,
body[data-page-type="blog_detail"] .iim-blog-card .post-item-wrap,
body[data-page-type="blog_detail"] .iim-article-card .post-item-wrap {
    overflow: hidden;
}

body[data-page-type="blog_list"] .iim-blog-card .post-image,
body[data-page-type="blog_detail"] .iim-blog-card .post-image {
    position: relative;
}

body[data-page-type="blog_list"] .iim-blog-card .post-image img,
body[data-page-type="blog_detail"] .iim-blog-card .post-image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

body[data-page-type="blog_list"] .iim-post-item-featured .post-item-wrap {
    border-color: rgba(58, 104, 255, 0.42);
    background: linear-gradient(180deg, rgba(251, 253, 255, 0.98), rgba(240, 247, 255, 0.98));
}

body[data-page-type="blog_list"] .iim-post-badge {
    position: absolute;
    left: 14px;
    top: 14px;
    z-index: 2;
    background: linear-gradient(115deg, rgba(20, 60, 150, 0.92), rgba(31, 117, 255, 0.92));
    border: 1px solid rgba(121, 174, 255, 0.42);
    border-radius: 999px;
    padding: 6px 12px;
}

body[data-page-type="blog_list"] .iim-post-badge a {
    color: #eff6ff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body[data-page-type="blog_list"] .iim-blog-card__content,
body[data-page-type="blog_detail"] .iim-blog-card__content {
    display: flex;
    flex-direction: column;
    min-height: 240px;
}

body[data-page-type="blog_list"] .iim-blog-card__meta,
body[data-page-type="blog_detail"] .iim-blog-card__meta,
body[data-page-type="blog_detail"] .iim-article-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.72rem 0.95rem;
    margin-bottom: 0.7rem;
}

body[data-page-type="blog_list"] .iim-blog-card__meta .post-meta-category,
body[data-page-type="blog_detail"] .iim-blog-card__meta .post-meta-category,
body[data-page-type="blog_detail"] .iim-article-meta .post-meta-category {
    margin: 0;
}

body[data-page-type="blog_list"] .iim-blog-card h3,
body[data-page-type="blog_list"] .iim-blog-card h3 a,
body[data-page-type="blog_detail"] .iim-blog-card h3,
body[data-page-type="blog_detail"] .iim-blog-card h3 a {
    color: var(--iim-heading);
}

body[data-page-type="blog_list"] .iim-blog-card h3 {
    font-size: clamp(1.2rem, 1.3vw, 1.55rem);
    line-height: 1.3;
    margin: 0 0 0.7rem;
}

body[data-page-type="blog_list"] .iim-blog-card p,
body[data-page-type="blog_detail"] .iim-blog-card p {
    color: var(--iim-body);
    margin: 0 0 0.95rem;
}

body[data-page-type="blog_list"] .iim-blog-card__link,
body[data-page-type="blog_detail"] .iim-blog-card__link {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 650;
    text-decoration: none;
}

body[data-page-type="blog_detail"] .iim-blog-detail-shell {
    padding-right: clamp(0rem, 0.2rem + 0.3vw, 0.6rem);
}

body[data-page-type="blog_detail"] .iim-article-card .post-image img {
    width: 100%;
    min-height: clamp(220px, 34vw, 420px);
    object-fit: cover;
}

body[data-page-type="blog_detail"] .iim-article-head {
    margin-bottom: var(--iim-space-3);
}

body[data-page-type="blog_detail"] .iim-article-head h2 {
    margin: 0;
    font-size: clamp(1.6rem, 2.2vw, 2.45rem);
    line-height: 1.2;
}

body[data-page-type="blog_detail"] .iim-article-readtime {
    color: var(--iim-muted);
    font-weight: 600;
}

body[data-page-type="blog_detail"] .iim-content-prose--article {
    max-width: min(860px, 100%);
    margin: 0;
    padding: clamp(1rem, 0.9rem + 0.7vw, 1.4rem);
    border: 1px solid rgba(106, 140, 222, 0.2);
    border-radius: var(--iim-radius-sm);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 255, 0.98));
}

body[data-page-type="blog_detail"] .iim-content-prose--article h2 {
    font-size: clamp(1.3rem, 1.55vw, 1.85rem);
    margin-top: 1.5em;
    margin-bottom: 0.58em;
}

body[data-page-type="blog_detail"] .iim-content-prose--article h3 {
    font-size: clamp(1.08rem, 1.28vw, 1.42rem);
    margin-top: 1.4em;
    margin-bottom: 0.54em;
}

body[data-page-type="blog_detail"] .iim-content-prose--article p {
    margin: 0 0 1rem;
    color: var(--iim-body);
}

body[data-page-type="blog_detail"] .iim-content-prose--article ul,
body[data-page-type="blog_detail"] .iim-content-prose--article ol {
    margin: 0.9rem 0 1.1rem 1.35rem;
}

body[data-page-type="blog_detail"] .iim-content-prose--article li {
    margin-bottom: 0.5rem;
}

body[data-page-type="blog_detail"] .iim-content-prose--article blockquote {
    margin: 1.35rem 0;
    padding: 1rem 1.2rem;
    border-left: 4px solid var(--iim-primary);
    background: linear-gradient(100deg, rgba(58, 104, 255, 0.11), rgba(58, 104, 255, 0.04));
}

body[data-page-type="blog_detail"] .iim-content-prose--article img {
    max-width: 100%;
    border-radius: var(--iim-radius-sm);
    margin: 1rem 0;
}

body[data-page-type="blog_detail"] .iim-blog-sidebar .widget {
    padding: clamp(0.9rem, 0.8rem + 0.5vw, 1.25rem);
}

body[data-page-type="blog_detail"] .iim-blog-sidebar .widget-title {
    margin-bottom: 0.7rem;
    color: var(--iim-heading);
}

body[data-page-type="blog_detail"] .iim-blog-sidebar .post-thumbnail-entry {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 0.75rem;
    padding: 0.52rem;
    border-radius: var(--iim-radius-xs);
    background: rgba(247, 251, 255, 0.84);
    border: 1px solid rgba(116, 149, 219, 0.2);
    margin-bottom: 0.58rem;
}

body[data-page-type="blog_detail"] .iim-blog-sidebar .post-thumbnail-entry img {
    width: 88px;
    height: 68px;
    object-fit: cover;
    border-radius: 10px;
}

body[data-page-type="blog_detail"] .iim-blog-sidebar .post-thumbnail-content a {
    color: var(--iim-heading);
    font-weight: 620;
    line-height: 1.34;
    display: block;
}

body[data-page-type="blog_detail"] .iim-blog-sidebar .post-date {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--iim-muted);
    font-size: 0.82rem;
    margin-top: 0.25rem;
}

body[data-page-type="blog_detail"] .iim-blog-sidebar .tags a {
    border-radius: 999px;
    border: 1px solid rgba(112, 145, 218, 0.3);
    background: rgba(245, 250, 255, 0.95);
    color: var(--iim-body);
    font-size: 0.82rem;
    padding: 0.3rem 0.72rem;
}

body[data-page-type="blog_detail"] .iim-blog-sidebar .tags a:hover {
    border-color: rgba(63, 112, 225, 0.42);
    color: var(--iim-primary-strong);
}

body[data-page-type="blog_detail"] .iim-sidebar-widget--newsletter small {
    color: var(--iim-muted);
    display: block;
    margin-bottom: 0.62rem;
}

body[data-page-type="blog_detail"] .iim-section--blog-related {
    padding-top: var(--iim-space-5);
}

body[data-page-type="blog_detail"] .iim-section--blog-related .heading-section {
    margin-bottom: var(--iim-space-4);
}

@media (max-width: 991.98px) {
    body[data-page-type="blog_detail"] .iim-blog-detail-shell {
        padding-right: 0;
    }

    body[data-page-type="blog_detail"] .iim-blog-sidebar .post-thumbnail-entry {
        grid-template-columns: 72px 1fr;
    }

    body[data-page-type="blog_detail"] .iim-blog-sidebar .post-thumbnail-entry img {
        width: 72px;
        height: 58px;
    }
}

.iim-section-shell {
    width: 100%;
}

body[data-page-type="contact"] .iim-contact-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--iim-space-4);
    margin-left: 0;
    margin-right: 0;
}

body[data-page-type="contact"] .iim-contact-layout > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    float: none;
    padding-left: 0;
    padding-right: 0;
}

body[data-page-type="contact"] .iim-contact-card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

body[data-page-type="contact"] .iim-contact-card__sub {
    margin: -0.15rem 0 0.25rem;
    color: var(--iim-muted);
    max-width: 62ch;
}

body[data-page-type="contact"] .iim-contact-form .iim-form-group {
    margin-bottom: 0.95rem;
}

body[data-page-type="contact"] .iim-contact-form .iim-form-group--full {
    margin-bottom: 1.1rem;
}

body[data-page-type="contact"] .iim-contact-form .btn {
    min-height: 46px;
    padding-left: 24px;
    padding-right: 24px;
}

body[data-page-type="contact"] .iim-contact-address {
    margin-bottom: 0;
    line-height: 1.75;
}

body[data-page-type="contact"] .iim-contact-address a {
    color: var(--iim-primary-strong);
}

#slider + .iim-section,
#page-title + .iim-section {
    padding-top: clamp(1.2rem, 1rem + 0.8vw, 2rem) !important;
}

.iim-section--content .iim-content-prose--page {
    max-width: min(900px, 100%);
    margin: 0 auto;
}

.iim-section--content .iim-content-prose--page h2,
.iim-section--content .iim-content-prose--page h3 {
    margin-top: 1.45em;
    margin-bottom: 0.55em;
    line-height: 1.25;
}

.iim-section--content .iim-content-prose--page p {
    margin-bottom: 0.95rem;
}

.iim-section--content .iim-content-prose--page ul,
.iim-section--content .iim-content-prose--page ol {
    margin: 0.95rem 0 1.1rem 1.35rem;
}

.iim-section--about .iim-content-prose--about {
    max-width: min(1160px, 100%);
}

body[data-page-slug="about-imagineink"] .globulus-hero,
body[data-page-slug="about-imagineink"] .globulus-modern-section,
body[data-page-slug="about-imagineink"] .globulus-cards-section,
body[data-page-slug="about-imagineink"] .globulus-cta-section {
    border: 1px solid rgba(102, 138, 220, 0.24) !important;
    border-radius: var(--iim-radius-md) !important;
    box-shadow: var(--iim-shadow-sm) !important;
}

body[data-page-slug="about-imagineink"] .globulus-modern-text-title,
body[data-page-slug="about-imagineink"] .globulus-why-choose-title,
body[data-page-slug="about-imagineink"] .globulus-brands-title,
body[data-page-slug="about-imagineink"] .globulus-cta-title {
    color: var(--iim-heading) !important;
    text-shadow: none !important;
}

body[data-page-slug="about-imagineink"] .globulus-modern-text-para,
body[data-page-slug="about-imagineink"] .globulus-why-card-desc,
body[data-page-slug="about-imagineink"] .globulus-brands-desc,
body[data-page-slug="about-imagineink"] .globulus-cta-para,
body[data-page-slug="about-imagineink"] .globulus-contact-item-link {
    color: var(--iim-body) !important;
}

body[data-page-slug="about-imagineink"] .globulus-card-front-text,
body[data-page-slug="about-imagineink"] .globulus-card-back-title,
body[data-page-slug="about-imagineink"] .globulus-why-card-title {
    color: var(--iim-heading) !important;
}

body[data-page-slug="about-imagineink"] .globulus-card-back-desc,
body[data-page-slug="about-imagineink"] .globulus-visual-text,
body[data-page-slug="about-imagineink"] .globulus-contact-item {
    color: var(--iim-muted) !important;
}

body[data-page-slug="about-imagineink"] .globulus-card-front-text[style],
body[data-page-slug="about-imagineink"] .globulus-visual-text[style],
body[data-page-slug="about-imagineink"] .globulus-card-back-icon[style],
body[data-page-slug="about-imagineink"] .globulus-why-card-icon[style],
body[data-page-slug="about-imagineink"] .globulus-contact-item-icon[style] {
    color: var(--iim-primary) !important;
}

body[data-page-slug="about-imagineink"] .globulus-cta-button,
body[data-page-slug="about-imagineink"] .globulus-cta-section a.globulus-cta-button {
    background: linear-gradient(115deg, var(--iim-primary) 0%, #4a86ff 55%, #52a7ff 100%) !important;
    color: #fff !important;
    border: 0 !important;
}

body[data-page-slug="about-imagineink"] .globulus-contact-item-link:hover,
body[data-page-slug="about-imagineink"] .globulus-modern-text a:hover {
    color: var(--iim-primary-strong) !important;
}

body[data-page-slug="about-imagineink"] .globulus-hero h1,
body[data-page-slug="about-imagineink"] .globulus-hero h2,
body[data-page-slug="about-imagineink"] .globulus-hero h3 {
    color: var(--iim-heading) !important;
    text-shadow: none !important;
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: clamp(2rem, 4.2vw, 3.4rem) !important;
    line-height: 1.12 !important;
    margin-bottom: 0.45em !important;
}

body[data-page-slug="about-imagineink"] .globulus-hero p,
body[data-page-slug="about-imagineink"] .globulus-modern-text p,
body[data-page-slug="about-imagineink"] .globulus-card-back-desc,
body[data-page-slug="about-imagineink"] .globulus-why-card-desc,
body[data-page-slug="about-imagineink"] .globulus-cta-para {
    color: var(--iim-body) !important;
    line-height: 1.74 !important;
}

body[data-page-slug="about-imagineink"] .globulus-modern-text p + p,
body[data-page-slug="about-imagineink"] .globulus-cta-para + .globulus-cta-para {
    margin-top: 0.68rem !important;
}

body[data-page-slug="about-imagineink"] .globulus-cards-section h2,
body[data-page-slug="about-imagineink"] .globulus-modern-section h2 {
    color: var(--iim-heading) !important;
    line-height: 1.2 !important;
}

body[data-page-type="page"] .iim-content-prose--page a {
    color: var(--iim-primary-strong);
    text-underline-offset: 2px;
}

body[data-page-type="page"] .iim-content-prose--page blockquote {
    margin: 1.2rem 0;
    padding: 0.85rem 1.05rem;
    border-left: 3px solid rgba(56, 103, 224, 0.85);
    background: rgba(236, 244, 255, 0.78);
    border-radius: 10px;
}

body[data-page-type="page"] .iim-content-prose--page > * + h2,
body[data-page-type="page"] .iim-content-prose--page > * + h3 {
    margin-top: 1.45em;
}

#footer .iim-footer-content {
    padding-top: clamp(2.2rem, 1.8rem + 1.2vw, 3.4rem);
}

#footer .iim-footer-grid {
    row-gap: 1.2rem;
}

#footer .iim-footer-widget {
    padding: 0.15rem 0.25rem;
}

#footer .iim-footer-widget h4,
#footer .iim-footer-widget .widget-title {
    margin-bottom: 0.9rem;
    font-size: 1rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

#footer .iim-footer-widget .list li {
    margin-bottom: 0.44rem;
}

#footer .iim-footer-widget .list a {
    color: rgba(223, 234, 251, 0.9);
}

#footer .iim-footer-widget--newsletter p {
    color: rgba(219, 231, 250, 0.84);
    margin-bottom: 0.8rem;
}

#footer .iim-footer-widget--newsletter .form-control {
    min-height: 44px;
}

#footer .iim-footer-copyright {
    border-top: 1px solid rgba(107, 141, 209, 0.22);
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
}

#footer .iim-footer-bottom {
    align-items: center;
    row-gap: 0.7rem;
}

#footer .iim-footer-bottom .copyright-text {
    color: rgba(220, 231, 249, 0.92);
}

@media (max-width: 991.98px) {
    body[data-page-type="contact"] .iim-contact-card__sub {
        max-width: 100%;
    }

    #footer .iim-footer-content {
        padding-top: 1.9rem;
    }
}

@media (max-width: 767.98px) {
    body[data-page-type="contact"] .iim-contact-form .btn {
        width: 100%;
        justify-content: center;
    }

    #footer .iim-footer-bottom .text-end {
        text-align: left !important;
    }
}

/* ---------- Phase 2 structural modernization ---------- */
.iim-page-intro {
    display: grid;
    gap: clamp(1rem, 0.85rem + 0.8vw, 1.8rem);
    margin-bottom: var(--iim-space-4);
}

.iim-page-intro .iim-content-prose {
    margin: 0;
}

.iim-page-intro .iim-section-head {
    margin: 0;
}

.iim-faq-shell {
    border: 1px solid rgba(109, 141, 217, 0.24);
    border-radius: var(--iim-radius-md);
    background: linear-gradient(180deg, rgba(252, 254, 255, 0.95), rgba(243, 248, 255, 0.96));
    box-shadow: var(--iim-shadow-sm);
    padding: clamp(0.95rem, 0.85rem + 0.7vw, 1.45rem);
    margin-top: var(--iim-space-3);
}

.iim-faq-shell .iim-faq-accordion {
    margin: 0;
}

.iim-faq-shell .ac-item {
    margin-bottom: 0.75rem;
}

.iim-faq-shell .ac-item:last-child {
    margin-bottom: 0;
}

.iim-faq-shell .ac-title {
    font-size: clamp(1rem, 1.1vw, 1.16rem);
    font-weight: 640;
}

.iim-home-static-hero {
    position: relative;
    min-height: 78vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(104, 139, 220, 0.22);
}

.iim-home-static-hero__inner {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
    padding: clamp(5.8rem, 7.5vw, 8.2rem) 15px clamp(3.8rem, 4.5vw, 5.3rem);
}

.iim-home-static-hero__title {
    font-family: Rubik, sans-serif;
    font-size: clamp(2.1rem, 6.1vw, 5rem);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 1rem;
    color: #f5f9ff;
}

.iim-home-static-hero__desc {
    font-size: clamp(1rem, 2vw, 1.34rem);
    line-height: 1.62;
    max-width: 920px;
    margin: 0 auto 1.7rem;
    color: rgba(235, 243, 255, 0.94);
}

.iim-home-static-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding-left: 30px;
    padding-right: 30px;
    background: linear-gradient(115deg, #44bf82, #5bd18d) !important;
    box-shadow: 0 18px 32px rgba(44, 189, 120, 0.25);
}

.iim-home-static-hero__cta:hover {
    box-shadow: 0 22px 36px rgba(44, 189, 120, 0.35);
}

.iim-home-static-hero__preload {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

body[data-page-type="home"] .iim-home-content-prose {
    max-width: min(1080px, 100%);
    margin-left: auto;
    margin-right: auto;
}

body[data-page-type="home"] .iim-home-content-prose > * + * {
    margin-top: 0.9rem;
}

body[data-page-type="home"] .iim-home-legacy-service-card {
    border: 1px solid rgba(113, 147, 222, 0.22);
    border-radius: var(--iim-radius-sm);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(245, 250, 255, 0.95));
    box-shadow: var(--iim-shadow-sm);
    padding: 1rem 1.05rem;
    min-height: 100%;
}

body[data-page-type="service"] .iim-page-intro--service-list .iim-content-prose,
body[data-page-type="service"] .iim-page-intro--service-detail .iim-content-prose,
body[data-page-type="page"] .iim-page-intro--default .iim-content-prose {
    border-color: rgba(84, 125, 221, 0.32);
}

body[data-page-type="service"] .iim-service-card .post-item-description {
    display: grid;
    gap: 0.72rem;
}

body[data-page-type="service"] .iim-service-card h2 a {
    color: var(--iim-heading);
}

body[data-page-type="service"] .iim-service-card h2 a:hover {
    color: var(--iim-primary-strong);
}

body[data-page-type="service"] .iim-service-card .item-link {
    font-weight: 620;
}

body[data-page-type="service"] .iim-inline-cta--service,
body[data-page-type="service"] .iim-inline-cta--service-detail {
    margin-top: var(--iim-space-4);
}

body[data-page-type="blog_list"] .iim-page-intro--blog-list .iim-content-prose {
    border-color: rgba(84, 125, 221, 0.32);
}

body[data-page-type="blog_list"] .iim-blog-grid--listing .iim-blog-card {
    height: 100%;
}

body[data-page-type="blog_list"] .iim-blog-grid--listing .iim-blog-card .post-item-wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
}

body[data-page-type="blog_list"] .iim-blog-grid--listing .iim-blog-card__content {
    display: flex;
    flex-direction: column;
    min-height: 230px;
}

body[data-page-type="blog_list"] .iim-blog-grid--listing .iim-blog-card__link {
    margin-top: auto;
}

body[data-page-type="blog_detail"] .iim-blog-main-col .iim-faq-shell {
    margin-top: var(--iim-space-4);
}

body[data-page-type="blog_detail"] .iim-blog-sidebar-col .theiaStickySidebar {
    display: grid;
    gap: 0.9rem;
}

body[data-page-type="blog_detail"] .iim-article-content .iim-content-prose--article > *:first-child {
    margin-top: 0;
}

body[data-page-type="blog_detail"] .iim-article-content .iim-content-prose--article > *:last-child {
    margin-bottom: 0;
}

body[data-page-type="contact"] .iim-contact-form label {
    font-weight: 600;
    color: var(--iim-heading);
    margin-bottom: 0.3rem;
    letter-spacing: 0.01em;
}

body[data-page-type="contact"] .iim-contact-card h3 {
    margin-bottom: 0.2rem;
}

body[data-page-type="contact"] .iim-contact-map-wrap .map {
    min-height: 320px;
}

body[data-page-type="page"] .iim-page-intro--about,
body[data-page-type="page"] .iim-page-intro--default {
    margin-bottom: var(--iim-space-3);
}

body[data-page-type="page"] .iim-content-prose--page h2 {
    font-size: clamp(1.5rem, 1.8vw, 2.15rem);
}

body[data-page-type="page"] .iim-content-prose--page h3 {
    font-size: clamp(1.14rem, 1.32vw, 1.5rem);
}

body[data-page-type="page"] .iim-content-prose--page p + ul,
body[data-page-type="page"] .iim-content-prose--page p + ol {
    margin-top: 0.45rem;
}

#header .header-inner .container {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

#header #mainMenu-trigger {
    margin-left: auto;
}

#header .header-extras ul {
    align-items: center;
    gap: 0.35rem;
}

#footer .iim-footer-grid {
    align-items: flex-start;
}

#footer .iim-footer-widget .list li a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
}

#footer .iim-footer-widget .list li a:focus {
    outline: 2px solid rgba(125, 170, 255, 0.55);
    outline-offset: 3px;
    border-radius: 8px;
}

@media (max-width: 991.98px) {
    .iim-home-static-hero {
        min-height: 66vh;
    }

    .iim-home-static-hero__inner {
        padding-top: 6.2rem;
        padding-bottom: 3.4rem;
    }

    #header .header-inner .container {
        flex-wrap: wrap;
    }

    body[data-page-type="contact"] .iim-contact-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .iim-page-intro {
        gap: 0.85rem;
    }

    .iim-faq-shell {
        padding: 0.82rem;
    }

    .iim-home-static-hero {
        min-height: 58vh;
    }

    .iim-home-static-hero__title {
        font-size: clamp(1.8rem, 8vw, 2.6rem);
    }

    .iim-home-static-hero__desc {
        font-size: 0.98rem;
    }

    #slider + .iim-section,
    #page-title + .iim-section {
        padding-top: 1rem !important;
    }

    body[data-page-type="contact"] .iim-contact-layout {
        grid-template-columns: 1fr;
    }
}

/* ---------- CMS authored HTML alignment (global) ---------- */
.iim-content-prose > h2,
.iim-content-prose > h3,
.iim-content-prose > h4 {
    max-width: 74ch;
}

.iim-content-prose > p,
.iim-content-prose > ul,
.iim-content-prose > ol,
.iim-content-prose > blockquote {
    max-width: 74ch;
}

.iim-content-prose > div:not([class]) {
    max-width: 74ch;
    margin: 0 0 1rem;
}

.iim-content-prose > div:not([class]) > *:first-child {
    margin-top: 0;
}

.iim-content-prose > div:not([class]) > *:last-child {
    margin-bottom: 0;
}

.iim-content-prose table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0 1.2rem;
    border: 1px solid rgba(101, 137, 212, 0.25);
    border-radius: 10px;
    overflow: hidden;
}

.iim-content-prose table th,
.iim-content-prose table td {
    padding: 0.7rem 0.75rem;
    border-bottom: 1px solid rgba(101, 137, 212, 0.18);
    font-size: 0.96rem;
    color: var(--iim-body);
}

.iim-content-prose table th {
    background: rgba(88, 131, 231, 0.08);
    color: var(--iim-heading);
    font-weight: 640;
}

.iim-content-prose hr {
    border: 0;
    border-top: 1px solid rgba(108, 141, 214, 0.24);
    margin: 1.2rem 0;
}

.iim-cms-section,
.iim-cms-article {
    border: 1px solid rgba(109, 142, 218, 0.22);
    border-radius: var(--iim-radius-sm);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 250, 255, 0.98));
    box-shadow: var(--iim-shadow-sm);
    padding: clamp(0.95rem, 0.85rem + 0.65vw, 1.45rem);
    margin: 1rem 0 1.25rem;
}

.iim-cms-section > *:last-child,
.iim-cms-article > *:last-child {
    margin-bottom: 0;
}

.iim-cms-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.8rem, 0.7rem + 0.5vw, 1.2rem);
    margin: 0.95rem 0 1rem;
}

.iim-cms-card {
    border: 1px solid rgba(110, 143, 219, 0.24);
    border-radius: 12px;
    background: rgba(248, 252, 255, 0.92);
    padding: 0.82rem 0.88rem;
}

.iim-cms-card h3,
.iim-cms-card h4 {
    margin-top: 0;
    margin-bottom: 0.45rem;
}

.iim-cms-highlight {
    border-left: 4px solid var(--iim-primary);
    background: rgba(58, 104, 255, 0.09);
    border-radius: 0 10px 10px 0;
    padding: 0.82rem 0.95rem;
    margin: 0.95rem 0 1rem;
}

a.iim-cms-cta,
.iim-content-prose .iim-cms-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    background: linear-gradient(115deg, var(--iim-primary) 0%, #4a86ff 55%, #52a7ff 100%);
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 640;
    letter-spacing: 0.01em;
    box-shadow: 0 12px 24px rgba(35, 83, 255, 0.22);
}

a.iim-cms-cta:hover,
.iim-content-prose .iim-cms-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(35, 83, 255, 0.28);
}

body[data-page-type="blog_detail"] .post-content-body.iim-content-prose--article h2,
body[data-page-type="blog_detail"] .post-content-body.iim-content-prose--article h3 {
    max-width: 36ch;
}

body[data-page-type="blog_detail"] .post-content-body.iim-content-prose--article p,
body[data-page-type="blog_detail"] .post-content-body.iim-content-prose--article ul,
body[data-page-type="blog_detail"] .post-content-body.iim-content-prose--article ol,
body[data-page-type="blog_detail"] .post-content-body.iim-content-prose--article blockquote {
    max-width: 74ch;
}

body[data-page-type="service"] .iim-content-prose--service h2,
body[data-page-type="service"] .iim-content-prose--service h3 {
    max-width: 40ch;
}

body[data-page-type="service"] .iim-content-prose--service p,
body[data-page-type="service"] .iim-content-prose--service ul,
body[data-page-type="service"] .iim-content-prose--service ol,
body[data-page-type="service"] .iim-content-prose--service blockquote {
    max-width: 76ch;
}

@media (max-width: 991.98px) {
    .iim-cms-grid {
        grid-template-columns: 1fr;
    }
}

body[data-page-type="page"] .iim-section--about .iim-page-intro,
body[data-page-type="page"] .iim-section--content .iim-page-intro--about,
body[data-page-type="page"] .iim-section--testimonials .iim-page-intro,
body[data-page-type="page"] .iim-section--case-study-list .iim-page-intro {
    border: 1px solid rgba(110, 143, 219, 0.22);
    border-radius: var(--iim-radius-md);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 251, 255, 0.98));
    box-shadow: var(--iim-shadow-sm);
    padding: clamp(1rem, 0.88rem + 0.9vw, 1.7rem);
}

body[data-page-type="page"] .iim-section--testimonials .iim-testimonial-carousel {
    margin-top: clamp(1rem, 0.9rem + 0.6vw, 1.6rem);
    border: 1px solid rgba(110, 143, 219, 0.22);
    border-radius: var(--iim-radius-md);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 251, 255, 0.98));
    box-shadow: var(--iim-shadow-sm);
    padding: clamp(0.95rem, 0.8rem + 0.9vw, 1.5rem);
}

body[data-page-type="page"] .iim-section--case-study-detail .iim-article-card .post-item-wrap {
    border-radius: var(--iim-radius-lg);
}

body[data-page-type="page"] .iim-section--case-study-detail .iim-content-prose--article h2,
body[data-page-type="page"] .iim-section--case-study-detail .iim-content-prose--article h3 {
    max-width: 40ch;
}

body[data-page-type="page"] .iim-section--case-study-detail .iim-content-prose--article p,
body[data-page-type="page"] .iim-section--case-study-detail .iim-content-prose--article ul,
body[data-page-type="page"] .iim-section--case-study-detail .iim-content-prose--article ol,
body[data-page-type="page"] .iim-section--case-study-detail .iim-content-prose--article blockquote {
    max-width: 76ch;
}

/* About page CMS custom markup hardening (globulus blocks) */
body[data-page-slug="about-imagineink"] .iim-content-prose--about {
    max-width: 100%;
}

body[data-page-slug="about-imagineink"] .globulus-hero {
    border: 1px solid rgba(88, 125, 215, 0.24);
    border-radius: var(--iim-radius-md);
    background:
        radial-gradient(circle at 80% 8%, rgba(70, 121, 255, 0.2), rgba(70, 121, 255, 0) 46%),
        radial-gradient(circle at 18% 12%, rgba(33, 195, 255, 0.18), rgba(33, 195, 255, 0) 42%),
        linear-gradient(155deg, #0b1f4c 0%, #0a1a44 58%, #08173b 100%);
    box-shadow: var(--iim-shadow-md);
    min-height: clamp(300px, 44vw, 560px);
    padding: clamp(2rem, 3vw, 3.5rem);
    display: grid;
    place-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin: 0.75rem 0 1.45rem;
}

body[data-page-slug="about-imagineink"] .globulus-hero h1,
body[data-page-slug="about-imagineink"] .globulus-hero h2 {
    color: #f3f8ff !important;
    margin: 0;
    font-size: clamp(2rem, 4vw, 4rem);
    text-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}

body[data-page-slug="about-imagineink"] .globulus-hero p {
    color: rgba(221, 235, 255, 0.92) !important;
    margin: 0.65rem auto 0;
    max-width: 52ch;
    font-size: clamp(1rem, 1.5vw, 1.35rem);
}

body[data-page-slug="about-imagineink"] .globulus-scroll-indicator,
body[data-page-slug="about-imagineink"] .globulus-scroll-progress {
    display: none !important;
}

body[data-page-slug="about-imagineink"] .globulus-modern-section {
    border: 1px solid rgba(109, 142, 218, 0.22);
    border-radius: var(--iim-radius-sm);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 250, 255, 0.98));
    box-shadow: var(--iim-shadow-sm);
    padding: clamp(1rem, 1.6vw, 1.7rem);
    margin: 0 0 1.1rem;
}

body[data-page-slug="about-imagineink"] .globulus-modern-content {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: clamp(0.95rem, 1.6vw, 1.5rem);
    align-items: stretch;
}

body[data-page-slug="about-imagineink"] .globulus-modern-text-title,
body[data-page-slug="about-imagineink"] .globulus-why-choose-title,
body[data-page-slug="about-imagineink"] .globulus-brands-title,
body[data-page-slug="about-imagineink"] .globulus-services-section > h2 {
    color: var(--iim-heading) !important;
    margin: 0 0 0.7rem;
    font-size: clamp(1.35rem, 2vw, 2rem);
}

body[data-page-slug="about-imagineink"] .globulus-modern-text-para,
body[data-page-slug="about-imagineink"] .globulus-brands-desc,
body[data-page-slug="about-imagineink"] .globulus-cta-para {
    color: var(--iim-body) !important;
    margin: 0 0 0.72rem;
}

body[data-page-slug="about-imagineink"] .globulus-modern-visual,
body[data-page-slug="about-imagineink"] .globulus-visual-card,
body[data-page-slug="about-imagineink"] .globulus-card,
body[data-page-slug="about-imagineink"] .globulus-why-card {
    border: 1px solid rgba(109, 142, 218, 0.22);
    border-radius: 14px;
    background: rgba(248, 252, 255, 0.95);
    box-shadow: 0 12px 28px rgba(7, 21, 51, 0.08);
}

body[data-page-slug="about-imagineink"] .globulus-card-front,
body[data-page-slug="about-imagineink"] .globulus-card-back,
body[data-page-slug="about-imagineink"] .globulus-why-card-title,
body[data-page-slug="about-imagineink"] .globulus-visual-text {
    color: var(--iim-heading) !important;
}

body[data-page-slug="about-imagineink"] .globulus-card-back-desc,
body[data-page-slug="about-imagineink"] .globulus-why-card-desc {
    color: var(--iim-body) !important;
}

body[data-page-slug="about-imagineink"] .globulus-cta-section {
    border: 1px solid rgba(98, 133, 215, 0.26);
    border-radius: var(--iim-radius-md);
    background:
        radial-gradient(circle at 82% 12%, rgba(80, 130, 255, 0.19), rgba(80, 130, 255, 0) 46%),
        linear-gradient(160deg, #0b214e 0%, #0a1d45 56%, #071639 100%);
    box-shadow: var(--iim-shadow-lg);
    padding: clamp(1.2rem, 2vw, 2rem);
}

body[data-page-slug="about-imagineink"] .globulus-cta-title,
body[data-page-slug="about-imagineink"] .globulus-contact-item-link,
body[data-page-slug="about-imagineink"] .globulus-contact-item-icon {
    color: #edf5ff !important;
}

body[data-page-slug="about-imagineink"] .globulus-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.58rem 1.05rem;
    border-radius: 999px;
    background: linear-gradient(115deg, var(--iim-primary) 0%, #4a86ff 55%, #52a7ff 100%);
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 640;
    box-shadow: 0 14px 28px rgba(35, 83, 255, 0.24);
}

@media (max-width: 991.98px) {
    body[data-page-slug="about-imagineink"] .globulus-modern-content {
        grid-template-columns: 1fr;
    }
}
