/* input(2466,1): run-time error CSS1019: Unexpected token, found '}'
input(3412,1): run-time error CSS1019: Unexpected token, found '}'
input(3708,1): run-time error CSS1019: Unexpected token, found '}'
input(4520,1): run-time error CSS1019: Unexpected token, found '}' */
/* ============================================================================
   IKHAYALAMI HERO RACK · 2026
   A four-scene, full-width accordion below the global header.

   The module is intentionally scoped to body.ikh-home-page and #ikhHeroRack.
   It does not alter List, Stay or Tenant+ journeys; those modes keep their
   existing one-viewport scene architecture.
   ============================================================================ */

:root {
    --ikh-rack-orange: #f58220;
    --ikh-rack-blue: #56c4f8;
    --ikh-rack-ink: #121820;
    --ikh-rack-muted: #5f6b78;
    --ikh-rack-paper: #f7f4ee;
    --ikh-rack-rail: 72px;
    --ikh-rack-ease: cubic-bezier(.16, 1, .3, 1);
}

body.ikh-home-page #leftPanel {
    --ikh-rack-search-reserve: clamp(208px, 25.5vh, 246px);
    --ikh-rack-inline-start: 90px;
    --ikh-rack-inline-end: 24px;
    --ikh-rack-footer-clearance: 80px;
}

body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) {
    padding-top: 0 !important;
}

/* Hide the rack whenever a specialised full-screen journey owns the panel. */
body.ikh-home-page #leftPanel.list-mode .ikh-hero-rack,
body.ikh-home-page #leftPanel.stay-mode .ikh-hero-rack,
body.ikh-home-page #leftPanel.tenant-mode .ikh-hero-rack {
    display: none !important;
}

/* --------------------------------------------------------------------------
   FIXED SEARCH DOCK
   The existing tabs/search markup is not rewritten. In Buy/Rent mode it is
   re-composed as a fixed bottom dock so story navigation never moves it.
   -------------------------------------------------------------------------- */
body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) > .search-wrapper {
    position: absolute !important;
    inset: auto var(--ikh-rack-inline-end) var(--ikh-rack-footer-clearance) var(--ikh-rack-inline-start) !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    z-index: 24 !important;
    display: flex !important;
    flex-direction: column !important;
    pointer-events: none;
    filter: drop-shadow(0 24px 34px rgba(15, 23, 42, .13));
}

body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) > .search-wrapper > * {
    pointer-events: auto;
}

body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) .search-top-bar {
    margin: 0 0 8px !important;
    width: fit-content;
    max-width: 100%;
}

body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) .dynamic-tabs-container {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
}

body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) #tab-buy-rent,
body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) #tab-buy-rent.active-tab {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) .search-row-grid {
    padding-top: 0 !important;
}

/* The fullscreen Trends portal remains viewport-owned, never constrained by
   the compact dock. */
body.ikh-home-page .trends-dashboard.td-open {
    pointer-events: auto;
}

/* --------------------------------------------------------------------------
   RACK SHELL
   -------------------------------------------------------------------------- */
.ikh-hero-rack {
    --rack-x: 50%;
    --rack-y: 40%;
    --rack-shift-x: 0px;
    --rack-shift-y: 0px;
    position: absolute;
    inset: 0 0 var(--ikh-rack-search-reserve) 0;
    z-index: 8;
    min-height: 250px;
    overflow: hidden;
    isolation: isolate;
    color: var(--ikh-rack-ink);
    background:
        radial-gradient(circle at var(--rack-x) var(--rack-y), rgba(255,255,255,.88) 0, rgba(255,255,255,.3) 26%, transparent 58%),
        linear-gradient(128deg, rgba(251,249,244,.94) 0%, rgba(241,244,247,.82) 52%, rgba(255,255,255,.72) 100%);
    border: 1px solid rgba(255,255,255,.88);
    border-top: 0;
    border-radius: 0 0 30px 30px;
    box-shadow:
        inset 0 22px 36px -34px rgba(15,23,42,.8),
        inset 0 -1px 0 rgba(255,255,255,.88),
        0 28px 54px -42px rgba(15,23,42,.58);
    backdrop-filter: saturate(145%) blur(30px);
    -webkit-backdrop-filter: saturate(145%) blur(30px);
    transition:
        inset .9s var(--ikh-rack-ease),
        min-height .9s var(--ikh-rack-ease),
        border-radius .9s var(--ikh-rack-ease),
        opacity .35s ease;
    contain: layout paint style;
}

.ikh-hero-rack::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -5;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.58) 48%, rgba(232,231,226,.24) 72%, rgba(17,23,31,.34) 100%),
        linear-gradient(90deg, rgba(245,130,32,.04), transparent 38%, rgba(86,196,248,.06));
}

.ikh-hero-rack::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 34%;
    z-index: -3;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(17,23,31,.24));
    opacity: .72;
}

.ikh-rack-atmosphere,
.ikh-rack-sheen,
.ikh-rack-grid {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.ikh-rack-atmosphere {
    z-index: -2;
    opacity: .58;
}

.ikh-rack-sheen {
    z-index: -1;
    background: linear-gradient(115deg, transparent 22%, rgba(255,255,255,.64) 43%, transparent 63%);
    transform: translateX(-75%);
    animation: ikhRackSheen 15s ease-in-out infinite;
    mix-blend-mode: soft-light;
}

.ikh-rack-grid {
    z-index: -4;
    opacity: .23;
    background-image:
        linear-gradient(rgba(65,78,92,.13) 1px, transparent 1px),
        linear-gradient(90deg, rgba(65,78,92,.13) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(90deg, transparent, #000 17%, #000 84%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 17%, #000 84%, transparent);
}

@keyframes ikhRackSheen {
    0%, 68%, 100% { transform: translateX(-75%); opacity: 0; }
    76% { opacity: .8; }
    92% { transform: translateX(75%); opacity: 0; }
}

/* --------------------------------------------------------------------------
   TOOLBAR
   -------------------------------------------------------------------------- */
.ikh-rack-toolbar {
    position: relative;
    z-index: 10;
    height: 48px;
    padding: 0 20px 0 max(20px, var(--ikh-rack-inline-start));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid rgba(43,54,67,.12);
    background: rgba(255,255,255,.34);
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.68);
}

.ikh-rack-brandline,
.ikh-rack-controls {
    display: flex;
    align-items: center;
}

.ikh-rack-brandline {
    min-width: 0;
    gap: 9px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .2em;
    color: #4c5967;
    white-space: nowrap;
}

.ikh-rack-brandline-mark {
    width: 26px;
    height: 2px;
    background: var(--ikh-rack-orange);
    box-shadow: 32px 0 0 -0.5px var(--ikh-rack-blue);
}

.ikh-rack-brandline-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 8px;
    padding-left: 14px;
    border-left: 1px solid rgba(55,65,81,.15);
    color: #6b7480;
    letter-spacing: .14em;
}

.ikh-rack-brandline-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34,197,94,.12);
}

.ikh-rack-controls { gap: 5px; }

.ikh-rack-control,
.ikh-rack-toggle {
    appearance: none;
    border: 1px solid rgba(34,44,56,.12);
    background: rgba(255,255,255,.58);
    color: #2b3540;
    height: 32px;
    transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.ikh-rack-control {
    width: 32px;
    display: grid;
    place-items: center;
    border-radius: 10px;
}

.ikh-rack-control svg,
.ikh-rack-toggle svg,
.ikh-rack-cta svg,
.ikh-rack-tour svg,
.ikh-rack-collapsed-handle svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ikh-rack-control:hover,
.ikh-rack-toggle:hover {
    transform: translateY(-1px);
    background: #fff;
    border-color: rgba(245,130,32,.32);
    box-shadow: 0 8px 18px -14px rgba(15,23,42,.72);
}

.ikh-rack-counter {
    min-width: 62px;
    text-align: center;
    font-variant-numeric: tabular-nums;
    font-size: 10px;
    letter-spacing: .12em;
    color: #6b7480;
}

.ikh-rack-counter b {
    font-size: 14px;
    color: var(--ikh-rack-orange);
}

.ikh-rack-counter i {
    margin: 0 5px;
    font-style: normal;
    color: rgba(77,88,99,.36);
}

.ikh-rack-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 11px;
    padding: 0 11px 0 13px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   HORIZONTAL ACCORDION
   -------------------------------------------------------------------------- */
.ikh-rack-deck {
    position: absolute;
    inset: 48px 0 34px;
    z-index: 4;
    display: flex;
    min-width: 0;
    overflow: hidden;
    perspective: 1800px;
}

.ikh-rack-panel {
    position: relative;
    display: flex;
    flex: 0 0 var(--ikh-rack-rail);
    min-width: 0;
    overflow: hidden;
    border-right: 1px solid rgba(28,37,47,.18);
    background: rgba(246,245,241,.53);
    box-shadow: inset 1px 0 rgba(255,255,255,.56);
    transition:
        flex-basis .95s var(--ikh-rack-ease),
        flex-grow .95s var(--ikh-rack-ease),
        background .6s ease,
        box-shadow .6s ease;
    transform-style: preserve-3d;
}

.ikh-rack-panel:last-child { border-right: 0; }

.ikh-rack-panel.is-active {
    flex: 1 1 auto;
    background: rgba(248,247,243,.36);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.24), 18px 0 38px -34px rgba(15,23,42,.65);
}

.ikh-rack-rail {
    appearance: none;
    position: relative;
    flex: 0 0 var(--ikh-rack-rail);
    width: var(--ikh-rack-rail);
    height: 100%;
    padding: 16px 0 14px;
    border: 0;
    background: rgba(248,247,243,.68);
    color: #1e2832;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    transition: background .35s ease, color .35s ease;
}

.ikh-rack-panel:nth-child(even) .ikh-rack-rail { background: rgba(239,242,245,.68); }

.ikh-rack-rail::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 2px;
    background: linear-gradient(180deg, transparent 5%, var(--ikh-rack-orange) 28%, var(--ikh-rack-blue) 70%, transparent 95%);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .8s var(--ikh-rack-ease);
}

.ikh-rack-panel.is-active .ikh-rack-rail::before { transform: scaleY(1); }

.ikh-rack-rail:hover,
.ikh-rack-panel.is-active .ikh-rack-rail {
    background: rgba(255,255,255,.82);
}

.ikh-rack-rail-number {
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-size: 15px;
    color: var(--ikh-rack-orange);
    letter-spacing: .05em;
}

.ikh-rack-panel[data-rack-tone="blue"] .ikh-rack-rail-number { color: #289fda; }

.ikh-rack-rail-title {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .22em;
    white-space: nowrap;
}

.ikh-rack-rail-arrow {
    font-size: 16px;
    color: #35414e;
    transition: transform .4s var(--ikh-rack-ease), color .3s ease;
}

.ikh-rack-rail:hover .ikh-rack-rail-arrow { transform: translate(2px,-2px); color: var(--ikh-rack-orange); }

.ikh-rack-stage {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    display: grid;
    grid-template-columns: minmax(340px, .94fr) minmax(300px, 1.06fr);
    align-items: stretch;
    overflow: hidden;
    opacity: 0;
    clip-path: inset(0 100% 0 0 round 0);
    transform: translateX(28px) rotateY(-2deg);
    transform-origin: left center;
    transition:
        opacity .38s ease .14s,
        clip-path .9s var(--ikh-rack-ease),
        transform .95s var(--ikh-rack-ease);
}

.ikh-rack-panel.is-active .ikh-rack-stage {
    opacity: 1;
    clip-path: inset(0 0 0 0 round 0);
    transform: translateX(0) rotateY(0);
}

.ikh-rack-copy {
    position: relative;
    z-index: 4;
    align-self: center;
    max-width: 700px;
    padding: clamp(24px, 4vh, 50px) clamp(24px, 3.2vw, 58px);
}

.ikh-rack-kicker,
.ikh-rack-copy h2,
.ikh-rack-copy > p,
.ikh-rack-actions,
.ikh-rack-proof,
.ikh-rack-story-points,
.ikh-rack-service-grid,
.ikh-rack-linkrow,
.ikh-rack-engage-grid,
.ikh-rack-tour {
    opacity: 0;
    transform: translateY(22px);
}

.ikh-rack-panel.is-active.is-entering .ikh-rack-kicker,
.ikh-rack-panel.is-active.is-entering .ikh-rack-copy h2,
.ikh-rack-panel.is-active.is-entering .ikh-rack-copy > p,
.ikh-rack-panel.is-active.is-entering .ikh-rack-actions,
.ikh-rack-panel.is-active.is-entering .ikh-rack-proof,
.ikh-rack-panel.is-active.is-entering .ikh-rack-story-points,
.ikh-rack-panel.is-active.is-entering .ikh-rack-service-grid,
.ikh-rack-panel.is-active.is-entering .ikh-rack-linkrow,
.ikh-rack-panel.is-active.is-entering .ikh-rack-engage-grid,
.ikh-rack-panel.is-active.is-entering .ikh-rack-tour {
    animation: ikhRackCopyIn .82s var(--ikh-rack-ease) forwards;
}

.ikh-rack-panel.is-active.is-entering .ikh-rack-copy h2 { animation-delay: .08s; }
.ikh-rack-panel.is-active.is-entering .ikh-rack-copy > p { animation-delay: .16s; }
.ikh-rack-panel.is-active.is-entering .ikh-rack-actions,
.ikh-rack-panel.is-active.is-entering .ikh-rack-story-points,
.ikh-rack-panel.is-active.is-entering .ikh-rack-service-grid,
.ikh-rack-panel.is-active.is-entering .ikh-rack-engage-grid { animation-delay: .24s; }
.ikh-rack-panel.is-active.is-entering .ikh-rack-proof,
.ikh-rack-panel.is-active.is-entering .ikh-rack-linkrow,
.ikh-rack-panel.is-active.is-entering .ikh-rack-tour { animation-delay: .32s; }

@keyframes ikhRackCopyIn {
    from { opacity: 0; transform: translateY(24px); filter: blur(8px); }
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

.ikh-rack-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .2em;
    color: #596575;
}

.ikh-rack-kicker::before {
    content: "";
    width: 28px;
    height: 2px;
    background: var(--ikh-rack-orange);
}

.ikh-rack-copy h2 {
    margin: 0;
    max-width: 780px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 4.4vw, 72px);
    line-height: .96;
    letter-spacing: -.045em;
    font-weight: 500;
    color: #141b22;
    text-wrap: balance;
}

.ikh-rack-copy h2 em {
    color: var(--ikh-rack-orange);
    font-weight: 500;
}

.ikh-rack-panel[data-rack-tone="blue"] .ikh-rack-copy h2 em { color: #2ca6df; }

.ikh-rack-copy > p {
    max-width: 660px;
    margin: 18px 0 0;
    color: #56616e;
    font-size: clamp(13px, 1.14vw, 17px);
    line-height: 1.58;
    font-weight: 430;
}

/* --------------------------------------------------------------------------
   COMMON ACTIONS / PROOF
   -------------------------------------------------------------------------- */
.ikh-rack-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 22px;
}

.ikh-rack-cta {
    appearance: none;
    min-height: 43px;
    padding: 0 16px;
    border-radius: 13px;
    border: 1px solid rgba(32,43,56,.13);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: rgba(255,255,255,.62);
    color: #1f2933;
    font-size: 12px;
    font-weight: 760;
    text-decoration: none;
    cursor: pointer;
    transition: transform .28s ease, box-shadow .28s ease, background .28s ease, border-color .28s ease;
}

.ikh-rack-cta:hover {
    transform: translateY(-2px);
    background: #fff;
    border-color: rgba(245,130,32,.35);
    box-shadow: 0 14px 24px -20px rgba(15,23,42,.75);
}

.ikh-rack-cta--primary {
    background: #111820;
    border-color: #111820;
    color: #fff;
    padding-inline: 18px;
}

.ikh-rack-cta--primary:hover { background: var(--ikh-rack-orange); border-color: var(--ikh-rack-orange); color: #fff; }

.ikh-rack-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.ikh-rack-proof span {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.45);
    border: 1px solid rgba(35,46,58,.1);
    font-size: 9px;
    font-weight: 720;
    letter-spacing: .04em;
    color: #53606c;
}

.ikh-rack-proof strong {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 15px;
    color: var(--ikh-rack-orange);
}

/* --------------------------------------------------------------------------
   STORY POINTS
   -------------------------------------------------------------------------- */
.ikh-rack-story-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 9px;
    margin-top: 20px;
}

.ikh-rack-story-points > span {
    min-width: 0;
    padding: 12px 12px 11px;
    border-top: 1px solid rgba(39,50,62,.18);
    background: linear-gradient(180deg, rgba(255,255,255,.4), rgba(255,255,255,.1));
}

.ikh-rack-story-points b {
    display: block;
    margin-bottom: 5px;
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    color: var(--ikh-rack-orange);
}

.ikh-rack-story-points strong,
.ikh-rack-story-points small { display: block; }
.ikh-rack-story-points strong { font-family: Georgia, 'Times New Roman', serif; font-size: 14px; }
.ikh-rack-story-points small { margin-top: 4px; color: #67717d; font-size: 10px; line-height: 1.38; }

/* --------------------------------------------------------------------------
   SERVICES
   -------------------------------------------------------------------------- */
.ikh-rack-copy--services { max-width: 820px; }
.ikh-rack-copy--services h2 { font-size: clamp(32px, 3.7vw, 62px); }
.ikh-rack-copy--services > p { margin-top: 12px; }

.ikh-rack-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
    margin-top: 18px;
}

.ikh-rack-service {
    appearance: none;
    min-width: 0;
    min-height: 68px;
    padding: 10px 11px;
    border: 1px solid rgba(36,47,59,.12);
    border-radius: 15px;
    background: rgba(255,255,255,.5);
    color: #1d2731;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    text-align: left;
    cursor: pointer;
    transition: transform .32s var(--ikh-rack-ease), background .25s ease, box-shadow .3s ease, border-color .25s ease;
}

.ikh-rack-service:hover {
    transform: translateY(-3px) scale(1.008);
    background: rgba(255,255,255,.88);
    border-color: rgba(245,130,32,.3);
    box-shadow: 0 16px 28px -24px rgba(15,23,42,.75);
}

.ikh-rack-service > i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #fff3e8;
    color: var(--ikh-rack-orange);
    font-size: 15px;
}

.ikh-rack-service:nth-child(even) > i { background: #edf9ff; color: #229ed9; }
.ikh-rack-service span, .ikh-rack-service strong, .ikh-rack-service small { display: block; min-width: 0; }
.ikh-rack-service strong { font-family: Georgia, 'Times New Roman', serif; font-size: 14px; }
.ikh-rack-service small { margin-top: 2px; color: #6a7581; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ikh-rack-service > b { font-family: Georgia, 'Times New Roman', serif; font-size: 11px; font-style: italic; color: rgba(77,88,100,.46); }

.ikh-rack-linkrow {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 9px;
}

.ikh-rack-linkrow a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border-radius: 10px;
    color: #45515e;
    background: rgba(255,255,255,.35);
    border: 1px solid rgba(43,54,66,.1);
    text-decoration: none;
    font-size: 10px;
    font-weight: 760;
    transition: color .25s ease, background .25s ease, transform .25s ease;
}
.ikh-rack-linkrow a:hover { color: var(--ikh-rack-orange); background: #fff; transform: translateY(-1px); }

/* --------------------------------------------------------------------------
   ENGAGE
   -------------------------------------------------------------------------- */
.ikh-rack-copy--engage h2 { font-size: clamp(34px, 4vw, 66px); }
.ikh-rack-copy--engage > p { margin-top: 13px; }

.ikh-rack-engage-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
    margin-top: 18px;
}

.ikh-rack-engage-card {
    appearance: none;
    min-width: 0;
    min-height: 62px;
    padding: 9px 10px;
    border: 1px solid rgba(38,49,61,.12);
    border-radius: 15px;
    background: rgba(255,255,255,.5);
    color: #1f2933;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: transform .3s var(--ikh-rack-ease), background .25s ease, box-shadow .3s ease, border-color .25s ease;
}

.ikh-rack-engage-card:hover {
    color: #1f2933;
    transform: translateY(-3px);
    background: rgba(255,255,255,.9);
    box-shadow: 0 16px 28px -24px rgba(15,23,42,.72);
}

.ikh-rack-engage-card > span:nth-child(2),
.ikh-rack-engage-card strong,
.ikh-rack-engage-card small { display: block; min-width: 0; }
.ikh-rack-engage-card strong { font-family: Georgia, 'Times New Roman', serif; font-size: 13px; }
.ikh-rack-engage-card small { margin-top: 2px; color: #6a7581; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ikh-rack-engage-card > i:last-child { font-size: 12px; color: #707b86; }

.ikh-rack-engage-icon {
    width: 34px;
    height: 34px;
    display: grid !important;
    place-items: center;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 8px 18px -15px rgba(15,23,42,.8);
}
.ikh-rack-engage-card--mail .ikh-rack-engage-icon { color: var(--ikh-rack-orange); background: #fff3e8; }
.ikh-rack-engage-card--youtube .ikh-rack-engage-icon { color: #ef4444; background: #fff0f0; }
.ikh-rack-engage-card--linkedin .ikh-rack-engage-icon { color: #0a66c2; background: #eef6ff; }
.ikh-rack-engage-card--location .ikh-rack-engage-icon { color: #22a663; background: #edfdf5; }

.ikh-rack-tour {
    appearance: none;
    width: 100%;
    min-height: 52px;
    margin-top: 9px;
    padding: 8px 12px;
    border-radius: 15px;
    border: 1px solid rgba(245,130,32,.24);
    background: linear-gradient(100deg, rgba(245,130,32,.1), rgba(86,196,248,.08));
    color: #1c2630;
    display: grid;
    grid-template-columns: 14px minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    text-align: left;
    cursor: pointer;
    transition: transform .28s ease, background .28s ease, box-shadow .28s ease;
}
.ikh-rack-tour:hover { transform: translateY(-2px); background: rgba(255,255,255,.8); box-shadow: 0 14px 24px -20px rgba(15,23,42,.72); }
.ikh-rack-tour strong, .ikh-rack-tour small { display: block; }
.ikh-rack-tour strong { font-size: 11px; }
.ikh-rack-tour small { margin-top: 2px; color: #6b7580; font-size: 9px; }
.ikh-rack-tour-pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--ikh-rack-orange); box-shadow: 0 0 0 0 rgba(245,130,32,.35); animation: ikhRackPulse 2.3s ease-out infinite; }
@keyframes ikhRackPulse { 70%,100% { box-shadow: 0 0 0 9px rgba(245,130,32,0); } }

/* --------------------------------------------------------------------------
   ILLUSTRATION LAYER
   -------------------------------------------------------------------------- */
.ikh-rack-art {
    position: relative;
    z-index: 2;
    min-width: 0;
    overflow: hidden;
    transform: translate3d(var(--rack-shift-x), var(--rack-shift-y), 0);
    transition: transform .2s linear;
}

.ikh-rack-art::before {
    content: "";
    position: absolute;
    width: min(36vw, 520px);
    aspect-ratio: 1;
    right: -10%;
    top: -34%;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 38%, rgba(255,255,255,.92), rgba(245,130,32,.42) 28%, rgba(245,130,32,.13) 58%, transparent 72%);
    filter: blur(.2px);
    opacity: .74;
}

.ikh-rack-panel[data-rack-tone="blue"] .ikh-rack-art::before {
    background: radial-gradient(circle at 40% 38%, rgba(255,255,255,.94), rgba(86,196,248,.4) 28%, rgba(86,196,248,.12) 58%, transparent 72%);
}

.ikh-rack-sketch {
    position: absolute;
    inset: auto 1.5% 5% -4%;
    width: 104%;
    height: auto;
    overflow: visible;
    filter: drop-shadow(0 16px 18px rgba(15,23,42,.08));
}

.ikh-rack-sketch--low { bottom: 0; opacity: .85; }

.ikh-rack-sketch path,
.ikh-rack-sketch circle {
    vector-effect: non-scaling-stroke;
}

.sketch-line,
.sketch-soft,
.sketch-orange,
.sketch-blue {
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 1200;
    stroke-dashoffset: 1200;
}

.sketch-line { stroke: #536273; stroke-width: 1.55; }
.sketch-soft { stroke: rgba(61,72,84,.46); stroke-width: 1.15; }
.sketch-orange { stroke: var(--ikh-rack-orange); stroke-width: 1.5; }
.sketch-blue { stroke: #279fd8; stroke-width: 1.5; }
.sketch-node { opacity: 0; }
.sketch-node--orange { fill: var(--ikh-rack-orange); }
.sketch-node--blue { fill: #279fd8; }

.ikh-rack-panel.is-active.is-entering .sketch-line,
.ikh-rack-panel.is-active.is-entering .sketch-soft,
.ikh-rack-panel.is-active.is-entering .sketch-orange,
.ikh-rack-panel.is-active.is-entering .sketch-blue {
    animation: ikhRackSketch 1.7s var(--ikh-rack-ease) forwards;
}
.ikh-rack-panel.is-active.is-entering .sketch-delay-1 { animation-delay: .1s; }
.ikh-rack-panel.is-active.is-entering .sketch-delay-2 { animation-delay: .22s; }
.ikh-rack-panel.is-active.is-entering .sketch-delay-3 { animation-delay: .34s; }
.ikh-rack-panel.is-active.is-entering .sketch-delay-4 { animation-delay: .46s; }
.ikh-rack-panel.is-active.is-entering .sketch-node { animation: ikhRackNode .7s ease .8s forwards; }

@keyframes ikhRackSketch { to { stroke-dashoffset: 0; } }
@keyframes ikhRackNode { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: scale(1); } }

.ikh-rack-sun {
    position: absolute;
    width: clamp(170px, 22vw, 380px);
    aspect-ratio: 1;
    top: 2%;
    right: 7%;
    border-radius: 50%;
    background: radial-gradient(circle at 38% 36%, #fff8eb 0 8%, #ffc477 27%, #f58220 68%, #dc5900 100%);
    box-shadow: 0 0 80px rgba(245,130,32,.18), inset -30px -35px 60px rgba(122,49,0,.18);
    opacity: .62;
    animation: ikhRackSun 11s ease-in-out infinite;
}
@keyframes ikhRackSun { 50% { transform: translateY(7px) scale(1.018); filter: saturate(1.12); } }

.ikh-rack-art-caption {
    position: absolute;
    right: 5%;
    bottom: 16px;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .2em;
    color: rgba(37,48,60,.58);
}

.ikh-rack-quote-mark {
    position: absolute;
    top: 4%;
    right: 7%;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(120px, 15vw, 240px);
    line-height: 1;
    color: rgba(86,196,248,.2);
}

.ikh-rack-service-orb {
    position: absolute;
    width: clamp(190px, 22vw, 340px);
    aspect-ratio: 1;
    top: 50%;
    left: 54%;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    display: grid;
    place-items: center;
    border: 1px solid rgba(48,60,72,.15);
    background: radial-gradient(circle, rgba(255,255,255,.85), rgba(255,255,255,.32) 60%, transparent 61%);
    box-shadow: 0 26px 50px -38px rgba(15,23,42,.8), inset 0 0 0 12px rgba(255,255,255,.2);
}

.ikh-rack-service-orb strong {
    text-align: center;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(20px, 2.2vw, 35px);
    line-height: .94;
}

.ikh-rack-service-orb span {
    position: absolute;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(20,27,35,.86);
    color: #fff;
    font-size: 7px;
    font-weight: 850;
    letter-spacing: .12em;
}
.ikh-rack-service-orb span:nth-child(1) { top: 7%; left: 40%; }
.ikh-rack-service-orb span:nth-child(2) { top: 27%; right: -3%; }
.ikh-rack-service-orb span:nth-child(3) { bottom: 20%; right: 2%; }
.ikh-rack-service-orb span:nth-child(4) { bottom: 7%; left: 34%; }
.ikh-rack-service-orb span:nth-child(5) { top: 42%; left: -8%; background: var(--ikh-rack-orange); }

.ikh-rack-orbit {
    position: absolute;
    top: 50%;
    left: 54%;
    border: 1px dashed rgba(60,72,84,.22);
    border-radius: 50%;
    transform: translate(-50%,-50%);
}
.ikh-rack-orbit--one { width: 68%; aspect-ratio: 1; animation: ikhRackOrbit 24s linear infinite; }
.ikh-rack-orbit--two { width: 83%; aspect-ratio: 1; animation: ikhRackOrbit 34s linear reverse infinite; opacity: .6; }
@keyframes ikhRackOrbit { to { transform: translate(-50%,-50%) rotate(360deg); } }

.ikh-rack-signal {
    position: absolute;
    top: 50%;
    left: 54%;
    width: clamp(190px, 23vw, 350px);
    aspect-ratio: 1;
    transform: translate(-50%,-50%);
    display: grid;
    place-items: center;
}
.ikh-rack-signal b {
    position: relative;
    z-index: 2;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(24px, 2.6vw, 42px);
    line-height: .9;
    text-align: center;
}
.ikh-rack-signal span {
    position: absolute;
    inset: 50%;
    border: 1px solid rgba(86,196,248,.32);
    border-radius: 50%;
    transform: translate(-50%,-50%) scale(.1);
    animation: ikhRackSignal 4.8s ease-out infinite;
}
.ikh-rack-signal span:nth-child(2) { animation-delay: 1.2s; }
.ikh-rack-signal span:nth-child(3) { animation-delay: 2.4s; }
.ikh-rack-signal span:nth-child(4) { animation-delay: 3.6s; }
@keyframes ikhRackSignal { 0% { width: 18%; height: 18%; opacity: .9; } 100% { width: 100%; height: 100%; opacity: 0; } }

/* --------------------------------------------------------------------------
   FOOTER LINE / PROGRESS
   -------------------------------------------------------------------------- */
.ikh-rack-footerline {
    position: absolute;
    inset: auto 18px 0 max(18px, var(--ikh-rack-inline-start));
    z-index: 11;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: rgba(255,255,255,.88);
    text-shadow: 0 1px 12px rgba(15,23,42,.38);
}

.ikh-rack-progress { display: flex; gap: 5px; }
.ikh-rack-progress button {
    appearance: none;
    width: 18px;
    height: 3px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.44);
    cursor: pointer;
    transition: width .45s var(--ikh-rack-ease), background .3s ease;
}
.ikh-rack-progress button.is-active { width: 42px; background: var(--ikh-rack-orange); }

.ikh-rack-scrollcue,
.ikh-rack-active-label {
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.ikh-rack-scrollcue { display: inline-flex; align-items: center; gap: 8px; }
.ikh-rack-scrollcue i { width: 18px; height: 1px; background: currentColor; position: relative; }
.ikh-rack-scrollcue i::after { content: ""; position: absolute; right: 0; top: -2px; width: 5px; height: 5px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); }
.ikh-rack-active-label { color: #fff; }

/* --------------------------------------------------------------------------
   COLLAPSED STATE
   -------------------------------------------------------------------------- */
.ikh-rack-collapsed-handle {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 20;
    width: 100%;
    height: 100%;
    padding: 0 max(20px, var(--ikh-rack-inline-end)) 0 max(20px, var(--ikh-rack-inline-start));
    border: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.92), rgba(246,247,247,.78));
    color: #1d2731;
    align-items: center;
    gap: 11px;
    text-align: left;
    cursor: pointer;
}
.ikh-rack-collapsed-mark { width: 28px; height: 2px; background: var(--ikh-rack-orange); box-shadow: 32px 0 0 -0.5px var(--ikh-rack-blue); }
.ikh-rack-collapsed-handle strong { font-family: Georgia, 'Times New Roman', serif; font-size: 15px; font-weight: 600; }
.ikh-rack-collapsed-handle small { color: #6c7580; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.ikh-rack-collapsed-handle svg { margin-left: auto; }

body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-hero-rack {
    inset: 0 0 auto 0;
    min-height: 46px;
    height: 46px;
    border-radius: 0 0 16px 16px;
}
body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-rack-toolbar,
body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-rack-deck,
body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-rack-footerline,
body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-rack-atmosphere,
body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-rack-sheen,
body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-rack-grid { display: none; }
body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-rack-collapsed-handle { display: flex; }

/* --------------------------------------------------------------------------
   RESPONSIVE: TABLET / NARROW DESKTOP
   -------------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
    :root { --ikh-rack-rail: 62px; }
    body.ikh-home-page #leftPanel { --ikh-rack-search-reserve: clamp(210px, 27vh, 252px); }
    .ikh-rack-stage { grid-template-columns: minmax(310px, 1.08fr) minmax(230px, .92fr); }
    .ikh-rack-copy { padding-inline: clamp(20px, 2.8vw, 38px); }
    .ikh-rack-copy h2 { font-size: clamp(31px, 4.6vw, 56px); }
    .ikh-rack-copy > p { font-size: 13px; }
    .ikh-rack-story-points small { display: none; }
    .ikh-rack-art::before { right: -24%; }
    .ikh-rack-brandline-status { display: none; }
}

@media (max-width: 991.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-inline-start: 14px;
        --ikh-rack-inline-end: 14px;
        --ikh-rack-search-reserve: clamp(250px, 35vh, 330px);
    }

    body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) > .search-wrapper {
        bottom: var(--ikh-rack-footer-clearance) !important;
        filter: drop-shadow(0 16px 26px rgba(15,23,42,.14));
    }

    .ikh-rack-toolbar { padding-inline: 14px; height: 44px; }
    .ikh-rack-brandline-copy { max-width: 42vw; overflow: hidden; text-overflow: ellipsis; }
    .ikh-rack-deck { top: 44px; }
    .ikh-rack-toggle-label { display: none; }
    .ikh-rack-toggle { width: 32px; padding: 0; justify-content: center; }
    .ikh-rack-stage { grid-template-columns: minmax(290px, 1fr) minmax(180px, .72fr); }
    .ikh-rack-art-caption { display: none; }
    .ikh-rack-service-orb, .ikh-rack-signal { left: 48%; }
}

/* --------------------------------------------------------------------------
   MOBILE STORY DECK
   The same four accordion panels become a horizontal tab rail plus one active
   stage. Search remains docked at the bottom and never participates in the
   wheel/swipe transition.
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-search-reserve: clamp(286px, 42vh, 350px);
        --ikh-rack-footer-clearance: calc(76px + env(safe-area-inset-bottom, 0px));
    }

    .ikh-hero-rack {
        min-height: 230px;
        border-radius: 0 0 22px 22px;
    }

    .ikh-rack-toolbar {
        height: 40px;
        padding-inline: 10px;
    }

    .ikh-rack-brandline { font-size: 7px; letter-spacing: .14em; }
    .ikh-rack-brandline-copy { max-width: 38vw; }
    .ikh-rack-brandline-mark { width: 18px; box-shadow: 22px 0 0 -0.5px var(--ikh-rack-blue); }
    .ikh-rack-control { display: none; }
    .ikh-rack-counter { min-width: 48px; }

    .ikh-rack-deck {
        inset: 40px 0 30px;
        display: block;
        overflow: hidden;
    }

    .ikh-rack-panel,
    .ikh-rack-panel.is-active {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        background: transparent;
        opacity: 0;
        pointer-events: none;
        transform: translateX(7%) scale(.985);
        transition: opacity .5s ease, transform .75s var(--ikh-rack-ease);
    }

    .ikh-rack-panel.is-active {
        opacity: 1;
        pointer-events: auto;
        transform: translateX(0) scale(1);
    }

    .ikh-rack-rail {
        position: absolute;
        z-index: 14;
        top: 8px;
        left: 10px;
        width: auto;
        height: 26px;
        padding: 0 9px;
        border: 1px solid rgba(32,43,55,.12);
        border-radius: 999px;
        display: inline-flex;
        flex-direction: row;
        gap: 7px;
        justify-content: center;
        background: rgba(255,255,255,.72) !important;
        box-shadow: 0 8px 18px -16px rgba(15,23,42,.8);
    }

    .ikh-rack-rail::before,
    .ikh-rack-rail-arrow { display: none; }
    .ikh-rack-rail-title { writing-mode: horizontal-tb; transform: none; font-size: 7px; letter-spacing: .14em; }
    .ikh-rack-rail-number { font-size: 10px; }

    .ikh-rack-stage,
    .ikh-rack-panel.is-active .ikh-rack-stage {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        display: block;
        opacity: 1;
        clip-path: none;
        transform: none;
        overflow: hidden;
    }

    .ikh-rack-copy {
        position: relative;
        z-index: 5;
        width: 100%;
        height: 100%;
        max-width: none;
        padding: 46px 17px 18px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .ikh-rack-kicker { margin-bottom: 7px; font-size: 7px; letter-spacing: .15em; }
    .ikh-rack-kicker::before { width: 18px; }
    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2 {
        max-width: 91%;
        font-size: clamp(28px, 8.4vw, 41px);
        line-height: .98;
    }
    .ikh-rack-copy > p { max-width: 91%; margin-top: 9px; font-size: 10.5px; line-height: 1.42; }

    .ikh-rack-art {
        position: absolute;
        inset: 0;
        z-index: 1;
        opacity: .35;
        transform: none;
        pointer-events: none;
    }
    .ikh-rack-art::before { width: 300px; right: -33%; top: -32%; opacity: .68; }
    .ikh-rack-sketch { width: 110%; left: -12%; bottom: -4%; }
    .ikh-rack-sun { width: 210px; right: -12%; top: 2%; opacity: .48; }
    .ikh-rack-quote-mark { right: -2%; top: 3%; font-size: 140px; }
    .ikh-rack-service-orb, .ikh-rack-signal, .ikh-rack-orbit { display: none; }

    .ikh-rack-actions { margin-top: 12px; gap: 7px; }
    .ikh-rack-cta { min-height: 36px; padding-inline: 12px; border-radius: 11px; font-size: 9px; }
    .ikh-rack-proof { margin-top: 10px; gap: 5px; }
    .ikh-rack-proof span { padding: 5px 7px; font-size: 7px; }
    .ikh-rack-proof strong { font-size: 11px; }

    .ikh-rack-story-points { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 5px; margin-top: 11px; }
    .ikh-rack-story-points > span { padding: 7px 6px; }
    .ikh-rack-story-points b { margin-bottom: 2px; font-size: 9px; }
    .ikh-rack-story-points strong { font-size: 9px; }
    .ikh-rack-story-points small { display: none; }

    .ikh-rack-service-grid,
    .ikh-rack-engage-grid { gap: 5px; margin-top: 10px; }
    .ikh-rack-service { min-height: 46px; padding: 5px 6px; grid-template-columns: 25px minmax(0,1fr); gap: 6px; border-radius: 11px; }
    .ikh-rack-service > i { width: 25px; height: 25px; border-radius: 8px; font-size: 11px; }
    .ikh-rack-service strong { font-size: 9px; }
    .ikh-rack-service small { font-size: 7px; }
    .ikh-rack-service > b { display: none; }
    .ikh-rack-linkrow { margin-top: 5px; gap: 5px; }
    .ikh-rack-linkrow a { padding: 5px 7px; border-radius: 8px; font-size: 7px; }

    .ikh-rack-engage-card { min-height: 43px; padding: 5px 6px; grid-template-columns: 25px minmax(0,1fr); gap: 6px; border-radius: 11px; }
    .ikh-rack-engage-icon { width: 25px; height: 25px; border-radius: 8px; font-size: 10px; }
    .ikh-rack-engage-card strong { font-size: 8.5px; }
    .ikh-rack-engage-card small { font-size: 6.5px; }
    .ikh-rack-engage-card > i:last-child { display: none; }
    .ikh-rack-tour { min-height: 39px; margin-top: 5px; border-radius: 11px; padding: 5px 7px; }
    .ikh-rack-tour strong { font-size: 8.5px; }
    .ikh-rack-tour small { font-size: 6.5px; }

    .ikh-rack-footerline { height: 30px; inset-inline: 12px; }
    .ikh-rack-scrollcue { display: none; }
    .ikh-rack-active-label { font-size: 7px; }
    .ikh-rack-progress button { width: 13px; }
    .ikh-rack-progress button.is-active { width: 30px; }

    body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-hero-rack { min-height: 42px; height: 42px; }
    .ikh-rack-collapsed-handle { padding-inline: 12px; }
    .ikh-rack-collapsed-mark { width: 18px; box-shadow: 22px 0 0 -0.5px var(--ikh-rack-blue); }
    .ikh-rack-collapsed-handle strong { font-size: 12px; }
    .ikh-rack-collapsed-handle small { font-size: 7px; }
}

@media (max-width: 479.98px) {
    body.ikh-home-page #leftPanel { --ikh-rack-search-reserve: clamp(300px, 44vh, 370px); }
    .ikh-rack-brandline-copy { max-width: 30vw; }
    .ikh-rack-copy { padding-inline: 13px; }
    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2 { max-width: 96%; font-size: clamp(25px, 8vw, 34px); }
    .ikh-rack-copy > p { max-width: 96%; }
    .ikh-rack-story-points strong { font-size: 8px; }
}

/* Very short screens: protect the search dock first, compact the story copy. */
@media (max-height: 720px) and (min-width: 768px) {
    body.ikh-home-page #leftPanel { --ikh-rack-search-reserve: 214px; }
    .ikh-rack-toolbar { height: 42px; }
    .ikh-rack-deck { inset: 42px 0 30px; }
    .ikh-rack-copy { padding-block: 18px; }
    .ikh-rack-copy h2 { font-size: clamp(30px, 4vw, 50px); }
    .ikh-rack-copy > p { margin-top: 10px; line-height: 1.4; }
    .ikh-rack-actions, .ikh-rack-story-points, .ikh-rack-service-grid, .ikh-rack-engage-grid { margin-top: 11px; }
    .ikh-rack-proof { display: none; }
}

@media (max-height: 680px) and (max-width: 767.98px) {
    body.ikh-home-page #leftPanel { --ikh-rack-search-reserve: 314px; }
    .ikh-rack-copy > p { display: none; }
    .ikh-rack-copy { padding-top: 42px; }
}

/* --------------------------------------------------------------------------
   FOCUS / REDUCED MOTION / CONTRAST
   -------------------------------------------------------------------------- */
.ikh-hero-rack button:focus-visible,
.ikh-hero-rack a:focus-visible {
    outline: 3px solid rgba(245,130,32,.42) !important;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .ikh-hero-rack *,
    .ikh-hero-rack *::before,
    .ikh-hero-rack *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }
    .ikh-rack-atmosphere { display: none; }
}

@media (forced-colors: active) {
    .ikh-hero-rack,
    .ikh-rack-panel,
    .ikh-rack-rail,
    .ikh-rack-service,
    .ikh-rack-engage-card,
    .ikh-rack-cta { forced-color-adjust: auto; }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · COMPACT GEOMETRY PASS · 2026-08

   Purpose:
   - Reduce the expanded rack to the compact depth approved in the visual review.
   - Anchor the existing tabs/search dock directly below the rack instead of to
     the bottom of the viewport.
   - Move the complete dock upward with the collapsed story handle.
   - Restore a genuinely full-width five-tab control on mobile.
   - Keep every story/service/engagement label readable without ellipsis or
     content removal, including short mobile frames.
   ============================================================================ */

body.ikh-home-page #leftPanel {
    --ikh-rack-expanded-height: clamp(300px, 37vh, 342px);
    --ikh-rack-expanded-height: clamp(300px, 37dvh, 342px);
    --ikh-rack-collapsed-height: 46px;
    --ikh-rack-dock-gap: 8px;
}

/* The rack now owns a deliberate compact height rather than consuming all
   space left above a bottom-anchored search reserve. */
body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) .ikh-hero-rack {
    inset: 0 0 auto 0;
    width: 100%;
    height: var(--ikh-rack-expanded-height);
    min-height: 0;
    max-height: var(--ikh-rack-expanded-height);
    transition:
        height .82s var(--ikh-rack-ease),
        max-height .82s var(--ikh-rack-ease),
        border-radius .82s var(--ikh-rack-ease),
        opacity .35s ease;
}

/* The existing search markup remains untouched, but its vertical origin now
   follows the rack. This is what makes tabs + strip travel upward on collapse. */
body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) > .search-wrapper {
    inset: auto var(--ikh-rack-inline-end) auto var(--ikh-rack-inline-start) !important;
    top: calc(var(--ikh-rack-expanded-height) + var(--ikh-rack-dock-gap)) !important;
    bottom: auto !important;
    transition: top .82s var(--ikh-rack-ease), filter .35s ease !important;
    will-change: top;
}

body.ikh-home-page #leftPanel.ikh-rack-collapsed:not(.list-mode):not(.stay-mode):not(.tenant-mode) > .search-wrapper {
    top: calc(var(--ikh-rack-collapsed-height) + var(--ikh-rack-dock-gap)) !important;
}

body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-hero-rack,
body.ikh-home-page #leftPanel.ikh-rack-collapsed:not(.list-mode):not(.stay-mode):not(.tenant-mode) .ikh-hero-rack {
    height: var(--ikh-rack-collapsed-height);
    min-height: var(--ikh-rack-collapsed-height);
    max-height: var(--ikh-rack-collapsed-height);
}

/* Compact shell chrome. */
.ikh-rack-toolbar {
    height: 42px;
    padding-left: max(18px, var(--ikh-rack-inline-start));
}

.ikh-rack-deck {
    inset: 42px 0 28px;
}

.ikh-rack-footerline {
    height: 28px;
}

:root {
    --ikh-rack-rail: 62px;
}

.ikh-rack-rail {
    padding-block: 11px 9px;
}

.ikh-rack-rail-number {
    font-size: 13px;
}

.ikh-rack-rail-title {
    font-size: 10px;
    letter-spacing: .2em;
}

/* Dense but calm stage typography. The copy remains fully visible rather than
   being line-clamped or hidden on shorter displays. */
.ikh-rack-stage {
    grid-template-columns: minmax(350px, 1.08fr) minmax(260px, .92fr);
}

.ikh-rack-copy {
    max-width: 720px;
    padding: clamp(14px, 2.1vh, 22px) clamp(22px, 2.7vw, 44px);
}

.ikh-rack-kicker {
    gap: 8px;
    margin-bottom: 7px;
    font-size: 8px;
    letter-spacing: .18em;
}

.ikh-rack-kicker::before {
    width: 23px;
}

.ikh-rack-copy h2,
.ikh-rack-copy--services h2,
.ikh-rack-copy--engage h2 {
    font-size: clamp(30px, 3.45vw, 54px);
    line-height: .94;
    letter-spacing: -.042em;
}

.ikh-rack-copy > p,
.ikh-rack-copy--services > p,
.ikh-rack-copy--engage > p {
    max-width: 650px;
    margin-top: 9px;
    font-size: clamp(11px, .91vw, 14px);
    line-height: 1.42;
}

.ikh-rack-actions {
    gap: 8px;
    margin-top: 12px;
}

.ikh-rack-cta {
    min-height: 35px;
    padding-inline: 13px;
    border-radius: 11px;
    font-size: 10px;
}

.ikh-rack-proof {
    gap: 6px;
    margin-top: 9px;
}

.ikh-rack-proof span {
    padding: 5px 8px;
    font-size: 8px;
}

.ikh-rack-proof strong {
    font-size: 12px;
}

.ikh-rack-story-points {
    gap: 7px;
    margin-top: 11px;
}

.ikh-rack-story-points > span {
    min-height: 54px;
    padding: 7px 8px;
}

.ikh-rack-story-points b {
    margin-bottom: 2px;
    font-size: 10px;
}

.ikh-rack-story-points strong {
    font-size: 10px;
}

.ikh-rack-story-points small {
    display: block;
    margin-top: 2px;
    font-size: 7.5px;
    line-height: 1.25;
}

/* Services and engagement: remove ellipsis and let concise supporting copy
   wrap naturally inside smaller cards. */
.ikh-rack-service-grid,
.ikh-rack-engage-grid {
    gap: 6px;
    margin-top: 10px;
}

.ikh-rack-service {
    min-height: 48px;
    padding: 6px 8px;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 8px;
    border-radius: 12px;
}

.ikh-rack-service > i,
.ikh-rack-engage-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    font-size: 13px;
}

.ikh-rack-service strong,
.ikh-rack-engage-card strong {
    font-size: 11.5px;
    line-height: 1.08;
}

.ikh-rack-service small,
.ikh-rack-engage-card small {
    margin-top: 1px;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    font-size: 8px;
    line-height: 1.2;
}

.ikh-rack-linkrow {
    gap: 6px;
    margin-top: 6px;
}

.ikh-rack-linkrow a {
    padding: 6px 9px;
    border-radius: 9px;
    font-size: 8.5px;
}

.ikh-rack-engage-card {
    min-height: 48px;
    padding: 6px 8px;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 8px;
    border-radius: 12px;
}

.ikh-rack-tour {
    min-height: 40px;
    margin-top: 6px;
    padding: 6px 9px;
    border-radius: 12px;
}

.ikh-rack-tour strong {
    font-size: 9.5px;
}

.ikh-rack-tour small {
    font-size: 7.5px;
}

/* Illustration remains expressive but no longer dictates the rack height. */
.ikh-rack-art::before {
    width: min(29vw, 360px);
    top: -44%;
}

.ikh-rack-sun {
    width: clamp(150px, 18vw, 275px);
    top: -2%;
}

.ikh-rack-sketch {
    bottom: -2%;
    width: 101%;
}

.ikh-rack-service-orb,
.ikh-rack-signal {
    width: clamp(150px, 18vw, 245px);
}

.ikh-rack-service-orb strong,
.ikh-rack-signal b {
    font-size: clamp(18px, 1.8vw, 29px);
}

/* Narrow desktop/tablet: preserve the same compact vertical rhythm while
   giving copy priority over decorative art. */
@media (max-width: 1199.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: clamp(292px, 38vh, 330px);
        --ikh-rack-expanded-height: clamp(292px, 38dvh, 330px);
    }

    :root {
        --ikh-rack-rail: 56px;
    }

    .ikh-rack-stage {
        grid-template-columns: minmax(330px, 1.16fr) minmax(200px, .84fr);
    }

    .ikh-rack-copy {
        padding-inline: clamp(18px, 2.4vw, 30px);
    }

    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2 {
        font-size: clamp(28px, 4vw, 46px);
    }

    .ikh-rack-copy > p {
        font-size: 11px;
    }

    .ikh-rack-story-points small {
        display: block;
    }
}

@media (max-width: 991.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: clamp(286px, 39vh, 322px);
        --ikh-rack-expanded-height: clamp(286px, 39dvh, 322px);
    }

    .ikh-rack-toolbar {
        height: 40px;
    }

    .ikh-rack-deck {
        inset: 40px 0 26px;
    }

    .ikh-rack-footerline {
        height: 26px;
    }

    .ikh-rack-stage {
        grid-template-columns: minmax(300px, 1.25fr) minmax(150px, .75fr);
    }

    .ikh-rack-copy {
        padding-block: 12px;
    }

    .ikh-rack-art {
        opacity: .72;
    }
}

/* --------------------------------------------------------------------------
   MOBILE
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: clamp(292px, 35vh, 326px);
        --ikh-rack-expanded-height: clamp(292px, 35dvh, 326px);
        --ikh-rack-collapsed-height: 44px;
        --ikh-rack-dock-gap: 7px;
        --ikh-rack-inline-start: 14px;
        --ikh-rack-inline-end: 14px;
    }

    body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) > .search-wrapper {
        width: auto !important;
        max-width: none !important;
    }

    /* Restore the original full-width mobile mode rack. */
    body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) .search-top-bar {
        width: 100% !important;
        max-width: none !important;
        margin-bottom: 8px !important;
    }

    body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) .search-top-bar > .bg-pill-container.scrollable-pills {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: stretch !important;
        gap: 0 !important;
        overflow: hidden !important;
    }

    body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) .search-top-bar .nav-pill {
        flex: 1 1 20% !important;
        width: 20% !important;
        min-width: 0 !important;
        max-width: none !important;
        padding-inline: 3px !important;
        white-space: nowrap;
        text-align: center;
    }

    .ikh-rack-toolbar {
        height: 38px;
        padding-inline: 9px;
    }

    .ikh-rack-deck {
        inset: 38px 0 24px;
    }

    .ikh-rack-footerline {
        height: 24px;
    }

    .ikh-rack-panel,
    .ikh-rack-panel.is-active,
    .ikh-rack-stage,
    .ikh-rack-panel.is-active .ikh-rack-stage {
        overflow: hidden;
    }

    .ikh-rack-rail {
        top: 6px;
        left: 8px;
        height: 24px;
        padding-inline: 8px;
    }

    .ikh-rack-copy {
        padding: 36px 13px 8px;
        justify-content: center;
    }

    .ikh-rack-kicker {
        margin-bottom: 5px;
        font-size: 6.5px;
    }

    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2 {
        max-width: 98%;
        font-size: clamp(23px, 7.1vw, 30px);
        line-height: .96;
    }

    .ikh-rack-copy > p,
    .ikh-rack-copy--services > p,
    .ikh-rack-copy--engage > p {
        display: block;
        max-width: 98%;
        margin-top: 6px;
        font-size: 9px;
        line-height: 1.3;
    }

    .ikh-rack-actions {
        margin-top: 8px;
        gap: 5px;
    }

    .ikh-rack-cta {
        min-height: 30px;
        padding-inline: 9px;
        border-radius: 9px;
        font-size: 8px;
    }

    .ikh-rack-proof {
        margin-top: 6px;
        gap: 4px;
        flex-wrap: nowrap;
    }

    .ikh-rack-proof span {
        flex: 1 1 0;
        min-width: 0;
        padding: 4px 4px;
        font-size: 6px;
        white-space: nowrap;
        text-align: center;
    }

    .ikh-rack-proof strong {
        font-size: 9px;
    }

    .ikh-rack-story-points {
        gap: 4px;
        margin-top: 7px;
    }

    .ikh-rack-story-points > span {
        min-height: 42px;
        padding: 5px 4px;
    }

    .ikh-rack-story-points b {
        font-size: 8px;
    }

    .ikh-rack-story-points strong {
        font-size: 7.5px;
    }

    .ikh-rack-story-points small {
        display: block;
        font-size: 5.7px;
        line-height: 1.18;
    }

    .ikh-rack-service-grid,
    .ikh-rack-engage-grid {
        gap: 4px;
        margin-top: 7px;
    }

    .ikh-rack-service,
    .ikh-rack-engage-card {
        min-height: 40px;
        padding: 4px 5px;
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 5px;
        border-radius: 9px;
    }

    .ikh-rack-service > i,
    .ikh-rack-engage-icon {
        width: 22px;
        height: 22px;
        border-radius: 7px;
        font-size: 9px;
    }

    .ikh-rack-service strong,
    .ikh-rack-engage-card strong {
        font-size: 7.5px;
    }

    .ikh-rack-service small,
    .ikh-rack-engage-card small {
        display: block;
        font-size: 5.8px;
        line-height: 1.16;
        white-space: normal;
    }

    .ikh-rack-service > b,
    .ikh-rack-engage-card > i:last-child {
        display: none;
    }

    .ikh-rack-linkrow {
        margin-top: 4px;
        gap: 4px;
        flex-wrap: nowrap;
    }

    .ikh-rack-linkrow a {
        flex: 1 1 0;
        min-width: 0;
        justify-content: center;
        padding: 4px 5px;
        font-size: 5.8px;
        white-space: nowrap;
    }

    .ikh-rack-tour {
        min-height: 32px;
        margin-top: 4px;
        padding: 4px 6px;
        border-radius: 9px;
    }

    .ikh-rack-tour strong {
        font-size: 7.5px;
    }

    .ikh-rack-tour small {
        display: block;
        font-size: 5.8px;
    }

    .ikh-rack-art {
        opacity: .26;
    }

    .ikh-rack-sketch {
        bottom: -10%;
    }

    .ikh-rack-sun {
        width: 165px;
        right: -17%;
    }

    .ikh-rack-quote-mark {
        font-size: 110px;
    }

    body.ikh-home-page #leftPanel.ikh-rack-collapsed .ikh-hero-rack {
        height: var(--ikh-rack-collapsed-height);
        min-height: var(--ikh-rack-collapsed-height);
        max-height: var(--ikh-rack-collapsed-height);
    }
}

@media (max-width: 479.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: clamp(286px, 35vh, 318px);
        --ikh-rack-expanded-height: clamp(286px, 35dvh, 318px);
    }

    .ikh-rack-brandline-copy {
        max-width: 34vw;
    }

    .ikh-rack-copy {
        padding-inline: 11px;
    }

    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2 {
        font-size: clamp(22px, 6.9vw, 28px);
    }
}

/* Short frames are compacted, never content-stripped. */
@media (max-height: 720px) and (min-width: 768px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: 286px;
    }

    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2 {
        font-size: clamp(27px, 3.5vw, 44px);
    }

    .ikh-rack-proof {
        display: flex;
    }
}

@media (max-height: 680px) and (max-width: 767.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: 278px;
    }

    .ikh-rack-copy {
        padding-top: 34px;
    }

    .ikh-rack-copy > p {
        display: block;
        font-size: 8.3px;
    }
}

/* Final fit pass for the deliberately shallower desktop rack. */
@media (min-width: 768px) {
    .ikh-rack-copy {
        align-self: stretch;
        height: 100%;
        padding-block: 8px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .ikh-rack-kicker {
        margin-bottom: 5px;
        font-size: 7.5px;
    }

    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2 {
        font-size: clamp(29px, 2.95vw, 46px);
        line-height: .91;
    }

    .ikh-rack-copy > p,
    .ikh-rack-copy--services > p,
    .ikh-rack-copy--engage > p {
        margin-top: 6px;
        font-size: clamp(10px, .76vw, 12px);
        line-height: 1.3;
    }

    .ikh-rack-actions {
        margin-top: 8px;
    }

    .ikh-rack-cta {
        min-height: 31px;
        padding-inline: 11px;
        font-size: 8.8px;
    }

    .ikh-rack-proof {
        margin-top: 6px;
    }

    .ikh-rack-proof span {
        padding-block: 4px;
        font-size: 7px;
    }

    .ikh-rack-story-points {
        gap: 5px;
        margin-top: 7px;
    }

    .ikh-rack-story-points > span {
        min-height: 43px;
        padding: 5px 6px;
    }

    .ikh-rack-story-points b {
        font-size: 8px;
    }

    .ikh-rack-story-points strong {
        font-size: 8.5px;
    }

    .ikh-rack-story-points small {
        font-size: 6.3px;
        line-height: 1.16;
    }

    .ikh-rack-story-points + .ikh-rack-cta {
        min-height: 28px;
        margin-top: 5px;
        align-self: flex-start;
    }

    .ikh-rack-service-grid,
    .ikh-rack-engage-grid {
        gap: 4px;
        margin-top: 7px;
    }

    .ikh-rack-service,
    .ikh-rack-engage-card {
        min-height: 40px;
        padding: 4px 6px;
        grid-template-columns: 26px minmax(0, 1fr) auto;
        gap: 6px;
        border-radius: 10px;
    }

    .ikh-rack-service > i,
    .ikh-rack-engage-icon {
        width: 26px;
        height: 26px;
        border-radius: 8px;
        font-size: 11px;
    }

    .ikh-rack-service strong,
    .ikh-rack-engage-card strong {
        font-size: 9.5px;
    }

    .ikh-rack-service small,
    .ikh-rack-engage-card small {
        font-size: 6.8px;
        line-height: 1.14;
    }

    .ikh-rack-linkrow {
        margin-top: 4px;
        gap: 4px;
    }

    .ikh-rack-linkrow a {
        min-height: 23px;
        padding: 4px 7px;
        font-size: 7px;
    }

    .ikh-rack-tour {
        min-height: 32px;
        margin-top: 4px;
        padding-block: 4px;
    }

    .ikh-rack-tour strong {
        font-size: 8px;
    }

    .ikh-rack-tour small {
        font-size: 6.4px;
    }
}

/* Readability reserve on handhelds: still compact, but not micro-typography. */
@media (max-width: 767.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: clamp(304px, 38vh, 330px);
        --ikh-rack-expanded-height: clamp(304px, 38dvh, 330px);
    }

    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2 {
        font-size: clamp(24px, 7.4vw, 31px);
    }

    .ikh-rack-copy > p,
    .ikh-rack-copy--services > p,
    .ikh-rack-copy--engage > p {
        font-size: 9.4px;
    }

    .ikh-rack-story-points strong,
    .ikh-rack-service strong,
    .ikh-rack-engage-card strong,
    .ikh-rack-tour strong {
        font-size: 8px;
    }

    .ikh-rack-story-points small,
    .ikh-rack-service small,
    .ikh-rack-engage-card small,
    .ikh-rack-tour small {
        font-size: 6.1px;
    }
}

@media (max-width: 479.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: clamp(300px, 38vh, 322px);
        --ikh-rack-expanded-height: clamp(300px, 38dvh, 322px);
    }
}

/* 720p-class laptops retain all story content by using a few extra pixels of
   rack depth; the search dock still begins far above its former position. */
@media (max-height: 720px) and (min-width: 768px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: 314px;
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V3 VISUAL COMPLETION + CINEMATIC SLOW MOTION
   - Keeps every architectural illustration inside the compact rack viewport.
   - Improves Our Story micro-copy readability.
   - Guarantees both Services destination buttons remain visible.
   - Introduces a deliberate slow-motion rack reveal without an external runtime.
   ============================================================================ */

:root {
    --ikh-rack-motion-duration: 1550ms;
    --ikh-rack-copy-duration: 1120ms;
    --ikh-rack-art-duration: 2200ms;
    --ikh-rack-motion-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Slow, editorial panel travel inspired by the supplied rack prototype. */
.ikh-rack-panel {
    transition:
        flex-basis var(--ikh-rack-motion-duration) var(--ikh-rack-motion-ease),
        flex-grow var(--ikh-rack-motion-duration) var(--ikh-rack-motion-ease),
        background .8s ease,
        box-shadow .8s ease,
        opacity .7s ease,
        filter .9s ease;
}

.ikh-rack-rail::before {
    transition-duration: 1.35s;
    transition-timing-function: var(--ikh-rack-motion-ease);
}

.ikh-rack-stage {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
    filter: blur(7px) saturate(.92);
    transform: translate3d(42px, 0, 0) scale(.988) rotateY(-1.25deg);
    transition:
        opacity .68s ease .12s,
        clip-path var(--ikh-rack-motion-duration) var(--ikh-rack-motion-ease),
        transform var(--ikh-rack-motion-duration) var(--ikh-rack-motion-ease),
        filter 1.12s var(--ikh-rack-motion-ease);
}

#ikhHeroRack[data-rack-direction="backward"] .ikh-rack-stage {
    clip-path: inset(0 0 0 100%);
    transform: translate3d(-42px, 0, 0) scale(.988) rotateY(1.25deg);
    transform-origin: right center;
}

.ikh-rack-panel.is-active .ikh-rack-stage {
    clip-path: inset(0);
    opacity: 1;
    filter: blur(0) saturate(1);
    transform: translate3d(0, 0, 0) scale(1) rotateY(0);
}

#ikhHeroRack[data-rack-direction="forward"] .ikh-rack-panel.is-leaving .ikh-rack-stage {
    clip-path: inset(0 0 0 100%);
    opacity: 0;
    filter: blur(9px) saturate(.9);
    transform: translate3d(-34px, 0, 0) scale(.985);
}

#ikhHeroRack[data-rack-direction="backward"] .ikh-rack-panel.is-leaving .ikh-rack-stage {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
    filter: blur(9px) saturate(.9);
    transform: translate3d(34px, 0, 0) scale(.985);
}

/* Fine scan of light across each newly opened scene. */
.ikh-rack-stage::after {
    content: "";
    position: absolute;
    z-index: 20;
    inset-block: 0;
    left: -14%;
    width: 2px;
    pointer-events: none;
    opacity: 0;
    background: linear-gradient(180deg,
        transparent 4%,
        rgba(245,130,32,.22) 18%,
        rgba(255,255,255,.94) 50%,
        rgba(86,196,248,.24) 82%,
        transparent 96%);
    box-shadow: 0 0 24px 4px rgba(245,130,32,.2);
}

.ikh-rack-panel.is-active.is-entering .ikh-rack-stage::after {
    animation: ikhRackSlowScan 1.85s var(--ikh-rack-motion-ease) .08s both;
}

@keyframes ikhRackSlowScan {
    0% { left: -14%; opacity: 0; }
    12% { opacity: .78; }
    78% { opacity: .58; }
    100% { left: 114%; opacity: 0; }
}

.ikh-rack-panel.is-active.is-entering .ikh-rack-kicker,
.ikh-rack-panel.is-active.is-entering .ikh-rack-copy h2,
.ikh-rack-panel.is-active.is-entering .ikh-rack-copy > p,
.ikh-rack-panel.is-active.is-entering .ikh-rack-actions,
.ikh-rack-panel.is-active.is-entering .ikh-rack-proof,
.ikh-rack-panel.is-active.is-entering .ikh-rack-story-points,
.ikh-rack-panel.is-active.is-entering .ikh-rack-service-grid,
.ikh-rack-panel.is-active.is-entering .ikh-rack-linkrow,
.ikh-rack-panel.is-active.is-entering .ikh-rack-engage-grid,
.ikh-rack-panel.is-active.is-entering .ikh-rack-tour {
    animation-duration: var(--ikh-rack-copy-duration);
    animation-timing-function: var(--ikh-rack-motion-ease);
}

.ikh-rack-panel.is-active.is-entering .ikh-rack-copy h2 { animation-delay: .15s; }
.ikh-rack-panel.is-active.is-entering .ikh-rack-copy > p { animation-delay: .27s; }
.ikh-rack-panel.is-active.is-entering .ikh-rack-actions,
.ikh-rack-panel.is-active.is-entering .ikh-rack-story-points,
.ikh-rack-panel.is-active.is-entering .ikh-rack-service-grid,
.ikh-rack-panel.is-active.is-entering .ikh-rack-engage-grid { animation-delay: .39s; }
.ikh-rack-panel.is-active.is-entering .ikh-rack-proof,
.ikh-rack-panel.is-active.is-entering .ikh-rack-linkrow,
.ikh-rack-panel.is-active.is-entering .ikh-rack-tour { animation-delay: .52s; }

.ikh-rack-panel.is-active.is-entering .sketch-line,
.ikh-rack-panel.is-active.is-entering .sketch-soft,
.ikh-rack-panel.is-active.is-entering .sketch-orange,
.ikh-rack-panel.is-active.is-entering .sketch-blue {
    animation-duration: var(--ikh-rack-art-duration);
    animation-timing-function: var(--ikh-rack-motion-ease);
}

/* Keep the complete drawing inside the illustration column rather than using
   the SVG width as the sizing authority (which clipped roofs on shallow racks). */
@media (min-width: 768px) {
    .ikh-rack-art {
        overflow: hidden;
        padding: 7px 10px 4px;
    }

    .ikh-rack-art::before {
        width: min(58%, 270px);
        max-width: calc(100% - 20px);
        top: 50%;
        right: 5%;
        transform: translateY(-50%);
    }

    .ikh-rack-sketch,
    .ikh-rack-sketch--low {
        inset: auto 2% 2% 2%;
        width: 96%;
        height: 94%;
        max-height: 94%;
        object-fit: contain;
        object-position: center bottom;
    }

    .ikh-rack-sun {
        width: min(48%, 242px);
        max-width: calc(100% - 24px);
        top: 50%;
        right: 7%;
        transform: translateY(-50%);
        animation: ikhRackSunContained 12s ease-in-out infinite;
    }

    @keyframes ikhRackSunContained {
        0%, 100% { transform: translateY(-50%) scale(1); filter: saturate(1); }
        50% { transform: translateY(calc(-50% + 5px)) scale(1.018); filter: saturate(1.1); }
    }

    .ikh-rack-quote-mark {
        top: 7%;
        right: 8%;
        font-size: clamp(92px, 10vw, 150px);
    }

    .ikh-rack-art-caption {
        right: 5%;
        bottom: 7px;
    }

    .ikh-rack-service-orb,
    .ikh-rack-signal {
        width: min(52%, 218px);
        max-width: calc(100% - 28px);
        top: 49%;
        left: 52%;
    }

    .ikh-rack-service-orb span:nth-child(2) { right: 1%; }
    .ikh-rack-service-orb span:nth-child(3) { right: 3%; }
    .ikh-rack-service-orb span:nth-child(5) { left: 1%; }

    .ikh-rack-orbit--one { width: min(66%, 250px); }
    .ikh-rack-orbit--two { width: min(78%, 290px); }

    /* Our Story: readable supporting sentences without surrendering compactness. */
    .ikh-rack-story-points > span {
        min-height: 49px;
        padding: 6px 7px;
    }

    .ikh-rack-story-points strong {
        font-size: clamp(9.5px, .68vw, 11px);
    }

    .ikh-rack-story-points small {
        font-size: clamp(7.6px, .56vw, 9px);
        line-height: 1.28;
        color: #596572;
    }

    /* Services: reserve a real final row for the two destinations. */
    .ikh-rack-copy--services {
        justify-content: center;
        padding-block: 5px;
        overflow: visible;
    }

    .ikh-rack-copy--services h2 {
        font-size: clamp(28px, 2.7vw, 42px);
        line-height: .91;
    }

    .ikh-rack-copy--services > p {
        margin-top: 4px;
        font-size: clamp(9.5px, .7vw, 11px);
        line-height: 1.22;
    }

    .ikh-rack-copy--services .ikh-rack-service-grid {
        gap: 4px;
        margin-top: 5px;
        flex: 0 0 auto;
    }

    .ikh-rack-copy--services .ikh-rack-service {
        min-height: 36px;
        padding: 3px 5px;
        grid-template-columns: 24px minmax(0, 1fr) auto;
        gap: 6px;
        border-radius: 9px;
    }

    .ikh-rack-copy--services .ikh-rack-service > i {
        width: 24px;
        height: 24px;
        border-radius: 7px;
        font-size: 10px;
    }

    .ikh-rack-copy--services .ikh-rack-service strong {
        font-size: 9px;
    }

    .ikh-rack-copy--services .ikh-rack-service small {
        font-size: 6.6px;
        line-height: 1.12;
    }

    .ikh-rack-copy--services .ikh-rack-linkrow {
        display: flex !important;
        flex: 0 0 auto;
        min-height: 24px;
        margin-top: 4px;
        overflow: visible;
        visibility: visible;
    }

    .ikh-rack-copy--services .ikh-rack-linkrow a {
        min-height: 24px;
        padding: 4px 7px;
        font-size: 7px;
        white-space: nowrap;
    }
}

/* Mobile keeps the illustration as a complete, quiet blueprint behind copy. */
@media (max-width: 767.98px) {
    .ikh-rack-panel,
    .ikh-rack-panel.is-active {
        filter: blur(5px) saturate(.94);
        transform: translateX(8%) scale(.982);
        transition:
            opacity .72s ease,
            transform 1.35s var(--ikh-rack-motion-ease),
            filter 1s var(--ikh-rack-motion-ease);
    }

    #ikhHeroRack[data-rack-direction="backward"] .ikh-rack-panel {
        transform: translateX(-8%) scale(.982);
    }

    .ikh-rack-panel.is-active {
        filter: blur(0) saturate(1);
        transform: translateX(0) scale(1);
    }

    .ikh-rack-stage,
    #ikhHeroRack[data-rack-direction="backward"] .ikh-rack-stage,
    .ikh-rack-panel.is-active .ikh-rack-stage {
        clip-path: none;
        filter: none;
        transform: none;
    }

    .ikh-rack-stage::after { display: none; }

    .ikh-rack-art {
        inset: 0;
        padding: 3px;
        overflow: hidden;
        opacity: .29;
    }

    .ikh-rack-art::before {
        width: min(58vw, 210px);
        max-width: calc(100% - 18px);
        top: 50%;
        right: 4%;
        transform: translateY(-50%);
    }

    .ikh-rack-sketch,
    .ikh-rack-sketch--low {
        inset: auto 1% 1% 1%;
        width: 98%;
        height: 88%;
        max-height: 88%;
        object-fit: contain;
        object-position: center bottom;
    }

    .ikh-rack-sun {
        width: min(53vw, 172px);
        max-width: calc(100% - 18px);
        top: 50%;
        right: 3%;
        transform: translateY(-50%);
        animation: ikhRackSunContained 12s ease-in-out infinite;
    }

    .ikh-rack-quote-mark {
        top: 11%;
        right: 5%;
        font-size: clamp(82px, 28vw, 112px);
    }

    .ikh-rack-story-points strong {
        font-size: 8.6px;
    }

    .ikh-rack-story-points small {
        font-size: 6.8px;
        line-height: 1.22;
    }

    .ikh-rack-copy--services {
        justify-content: center;
    }

    .ikh-rack-copy--services h2 {
        font-size: clamp(22px, 6.7vw, 28px);
    }

    .ikh-rack-copy--services .ikh-rack-linkrow {
        display: flex !important;
        visibility: visible;
        min-height: 25px;
    }

    .ikh-rack-copy--services .ikh-rack-linkrow a {
        min-height: 25px;
        font-size: 6.4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ikh-rack-panel,
    .ikh-rack-stage,
    .ikh-rack-rail::before {
        transition-duration: .001ms !important;
    }

    .ikh-rack-stage::after {
        display: none !important;
    }

    .ikh-rack-panel.is-active.is-entering .ikh-rack-kicker,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-copy h2,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-copy > p,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-actions,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-proof,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-story-points,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-service-grid,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-linkrow,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-engage-grid,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-tour,
    .ikh-rack-panel.is-active.is-entering .sketch-line,
    .ikh-rack-panel.is-active.is-entering .sketch-soft,
    .ikh-rack-panel.is-active.is-entering .sketch-orange,
    .ikh-rack-panel.is-active.is-entering .sketch-blue {
        animation-duration: .001ms !important;
        animation-delay: 0ms !important;
    }
}

/* Global definition also serves handhelds; the transform always keeps the sun
   centred inside the compact illustration viewport. */
@keyframes ikhRackSunContained {
    0%, 100% { transform: translateY(-50%) scale(1); filter: saturate(1); }
    50% { transform: translateY(calc(-50% + 5px)) scale(1.018); filter: saturate(1.1); }
}


/* ============================================================================
   IKHAYALAMI HERO RACK · V4 REVERSE-NAVIGATION + OUR STORY FIT
   - Active stages always win over directional entry presets.
   - All stages stay mounted, eliminating delayed hidden-state races.
   - Our Story receives a wider editorial copy column and a guaranteed CTA row.
   ============================================================================ */

/* Inactive mounted stages remain non-interactive while retaining their exit
   animation. The active panel alone owns pointer input. */
.ikh-rack-stage[aria-hidden="true"] {
    pointer-events: none;
}

.ikh-rack-stage[aria-hidden="false"] {
    pointer-events: auto;
}

/* The backward preset previously had ID-level specificity and could override
   the generic active-state rule, leaving Welcome/Services fully clipped. */
#ikhHeroRack[data-rack-direction="backward"] .ikh-rack-panel.is-active .ikh-rack-stage,
#ikhHeroRack[data-rack-direction="forward"] .ikh-rack-panel.is-active .ikh-rack-stage {
    clip-path: inset(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: blur(0) saturate(1) !important;
    transform: translate3d(0, 0, 0) scale(1) rotateY(0) !important;
    transform-origin: center !important;
}

/* OUR STORY — use more of the active stage for the three principles, while
   retaining a complete architectural illustration at the right. */
@media (min-width: 1180px) {
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-stage {
        grid-template-columns: minmax(660px, 1.28fr) minmax(330px, .72fr);
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy {
        max-width: none;
        width: 100%;
        padding: 5px clamp(12px, 1.35vw, 24px) 5px clamp(20px, 2.3vw, 40px);
        justify-content: center;
        overflow: visible;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy h2 {
        max-width: 100%;
        font-size: clamp(35px, 2.85vw, 48px);
        line-height: .9;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy > p {
        max-width: 100%;
        margin-top: 5px;
        font-size: clamp(10px, .72vw, 12px);
        line-height: 1.25;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points {
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
        margin-top: 6px;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points > span {
        min-width: 0;
        min-height: 41px;
        padding: 4px 7px;
        overflow: visible;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points b {
        margin-bottom: 1px;
        font-size: 8.5px;
        line-height: 1;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points strong {
        font-size: clamp(10px, .72vw, 12px);
        line-height: 1.05;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points small {
        display: block;
        margin-top: 2px;
        color: #4f5c69;
        font-size: clamp(8.2px, .57vw, 9.6px);
        line-height: 1.15;
        text-wrap: pretty;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points + .ikh-rack-cta {
        display: inline-flex !important;
        flex: 0 0 auto;
        align-self: flex-start;
        min-height: 27px;
        margin-top: 4px;
        padding-inline: 10px;
        visibility: visible !important;
        opacity: 1;
        overflow: visible;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        min-width: 0;
    }
}

/* On wide desktop frames the descriptions fit as a clean, single editorial
   line beneath each principle. */
@media (min-width: 1500px) {
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-stage {
        grid-template-columns: minmax(850px, 1.42fr) minmax(390px, .58fr);
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points small {
        white-space: nowrap;
        font-size: clamp(8.8px, .51vw, 10px);
    }
}

/* Mid-size laptops keep the CTA visible and allow a graceful two-line wrap
   rather than shrinking the principle descriptions into micro-copy. */
@media (min-width: 768px) and (max-width: 1179.98px) {
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy {
        padding-block: 4px;
        justify-content: center;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points {
        margin-top: 5px;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points + .ikh-rack-cta {
        display: inline-flex !important;
        min-height: 26px;
        margin-top: 3px;
        visibility: visible !important;
    }
}

/* Handhelds: preserve the existing full-width story deck while ensuring the
   CTA cannot disappear beneath the footer veil. */
@media (max-width: 767.98px) {
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy {
        justify-content: center;
        padding-bottom: 30px;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points + .ikh-rack-cta {
        display: inline-flex !important;
        align-self: flex-start;
        min-height: 28px;
        margin-top: 5px;
        visibility: visible !important;
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V5 ACTION LEGIBILITY
   - Uses the remaining lower breathing room on Welcome and Services.
   - Enlarges only the requested action labels without changing rack height.
   - Retains compact fit on laptops and the established mobile composition.
   ============================================================================ */

/* WELCOME — larger, clearer primary and secondary action text. */
.ikh-rack-panel[data-rack-index="0"] .ikh-rack-actions {
    margin-top: 13px;
}

.ikh-rack-panel[data-rack-index="0"] .ikh-rack-cta {
    min-height: 38px;
    padding-inline: 15px;
    font-size: clamp(11px, .72vw, 12px);
    line-height: 1;
    letter-spacing: -.01em;
}

.ikh-rack-panel[data-rack-index="0"] .ikh-rack-cta--primary {
    padding-inline: 17px;
}

.ikh-rack-panel[data-rack-index="0"] .ikh-rack-cta svg {
    width: 15px;
    height: 15px;
}

/* SERVICES — make the two destination buttons feel intentional rather than
   micro-labels while preserving the compact four-service grid above them. */
.ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow {
    min-height: 29px;
    margin-top: 5px;
    gap: 7px;
}

.ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow a {
    min-height: 29px;
    padding: 5px 10px;
    border-radius: 9px;
    font-size: clamp(8.5px, .58vw, 10px);
    line-height: 1.08;
    letter-spacing: -.005em;
}

.ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow a i {
    font-size: .92em;
}

/* 720p-class desktop frames still receive a meaningful increase, but use a
   slightly tighter measure so the final action row cannot touch the veil. */
@media (min-width: 768px) and (max-height: 720px) {
    .ikh-rack-panel[data-rack-index="0"] .ikh-rack-actions {
        margin-top: 10px;
    }

    .ikh-rack-panel[data-rack-index="0"] .ikh-rack-cta {
        min-height: 35px;
        padding-inline: 13px;
        font-size: 10.5px;
    }

    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow {
        min-height: 26px;
        margin-top: 4px;
    }

    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow a {
        min-height: 26px;
        padding: 4px 8px;
        font-size: 8px;
    }
}

/* Mobile keeps the full-width layout and gains legibility without enlarging
   the rack or forcing the labels to wrap prematurely. */
@media (max-width: 767.98px) {
    .ikh-rack-panel[data-rack-index="0"] .ikh-rack-cta {
        min-height: 38px;
        padding-inline: 13px;
        font-size: clamp(9.5px, 2.75vw, 11px);
    }

    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow {
        min-height: 28px;
        gap: 6px;
    }

    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow a {
        min-height: 28px;
        padding: 5px 8px;
        font-size: clamp(7.5px, 2.2vw, 9px);
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V6 MOBILE EDITORIAL COMPOSITION
   Desktop remains untouched. Handhelds use an intentional content-first card:
   illustrations are contained as visual jewels/watermarks, never laid over
   primary copy; every action remains readable and the search dock stays fixed.
   ============================================================================ */
@media (max-width: 767.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: clamp(344px, 42dvh, 382px);
        --ikh-rack-expanded-height: clamp(344px, 42svh, 382px);
        --ikh-rack-dock-gap: 8px;
        --ikh-rack-inline-start: 12px;
        --ikh-rack-inline-end: 12px;
    }

    .ikh-hero-rack {
        border-radius: 0 0 24px 24px;
        box-shadow:
            inset 0 18px 30px -28px rgba(15,23,42,.72),
            inset 0 -1px 0 rgba(255,255,255,.88),
            0 24px 44px -34px rgba(15,23,42,.54);
    }

    .ikh-rack-toolbar {
        height: 42px;
        padding: 0 8px 0 12px;
        background: rgba(255,255,255,.58);
        backdrop-filter: blur(18px) saturate(145%);
        -webkit-backdrop-filter: blur(18px) saturate(145%);
    }

    .ikh-rack-brandline {
        gap: 7px;
        font-size: 6.8px;
        letter-spacing: .13em;
    }

    .ikh-rack-brandline-copy {
        max-width: min(47vw, 178px);
        text-overflow: ellipsis;
    }

    .ikh-rack-counter {
        min-width: 50px;
        font-size: 9px;
    }

    .ikh-rack-counter b {
        font-size: 16px;
    }

    .ikh-rack-toggle {
        width: 34px;
        height: 34px;
        border-radius: 12px;
    }

    .ikh-rack-deck {
        inset: 42px 0 27px;
        padding: 6px 7px 5px;
        overflow: hidden;
    }

    .ikh-rack-footerline {
        inset-inline: 13px;
        height: 27px;
    }

    .ikh-rack-scrollcue {
        display: none;
    }

    .ikh-rack-progress {
        gap: 5px;
    }

    .ikh-rack-progress button {
        width: 15px;
        height: 3px;
    }

    .ikh-rack-progress button.is-active {
        width: 36px;
    }

    .ikh-rack-active-label {
        font-size: 7px;
        letter-spacing: .14em;
    }

    .ikh-rack-panel,
    .ikh-rack-panel.is-active {
        inset: 6px 7px 5px;
        width: auto;
        height: auto;
        border-radius: 20px;
        overflow: hidden;
        transform: translate3d(8%,0,0) scale(.985);
        filter: blur(5px) saturate(.9);
        transition:
            opacity .62s ease,
            transform 1.05s var(--ikh-rack-ease),
            filter .72s ease;
    }

    .ikh-rack-panel.is-active {
        transform: translate3d(0,0,0) scale(1);
        filter: blur(0) saturate(1);
    }

    .ikh-rack-panel::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        border: 1px solid rgba(255,255,255,.82);
        border-radius: inherit;
        background:
            radial-gradient(circle at 88% 12%, rgba(255,255,255,.82), transparent 33%),
            linear-gradient(142deg, rgba(255,255,255,.88), rgba(247,247,244,.70) 55%, rgba(225,229,231,.66));
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.94),
            0 18px 32px -28px rgba(15,23,42,.62);
        pointer-events: none;
    }

    .ikh-rack-panel[data-rack-tone="blue"]::before {
        background:
            radial-gradient(circle at 88% 12%, rgba(218,245,255,.88), transparent 34%),
            linear-gradient(142deg, rgba(255,255,255,.9), rgba(246,250,251,.72) 55%, rgba(222,231,235,.66));
    }

    .ikh-rack-stage,
    .ikh-rack-panel.is-active .ikh-rack-stage {
        inset: 0;
        border-radius: inherit;
        overflow: hidden;
    }

    .ikh-rack-rail {
        top: 10px;
        left: 11px;
        height: 27px;
        padding: 0 10px;
        gap: 7px;
        border-color: rgba(38,50,62,.13);
        background: rgba(255,255,255,.82) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.9),
            0 10px 20px -18px rgba(15,23,42,.72);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .ikh-rack-rail-number {
        font-size: 10px;
    }

    .ikh-rack-rail-title {
        font-size: 7.5px;
        letter-spacing: .17em;
    }

    .ikh-rack-copy,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy {
        position: relative;
        z-index: 6;
        width: 100%;
        height: 100%;
        max-width: none;
        padding: 46px 12px 10px;
        justify-content: flex-start;
        overflow: hidden;
    }

    .ikh-rack-kicker {
        gap: 6px;
        margin: 0 0 5px;
        max-width: 68%;
        font-size: 6.8px;
        line-height: 1.2;
        letter-spacing: .14em;
    }

    .ikh-rack-kicker::before {
        width: 17px;
    }

    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy h2 {
        max-width: 67%;
        font-size: clamp(28px, 7.7vw, 34px);
        line-height: .94;
        letter-spacing: -.045em;
        text-wrap: balance;
    }

    .ikh-rack-copy > p,
    .ikh-rack-copy--services > p,
    .ikh-rack-copy--engage > p,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy > p {
        display: block;
        max-width: 100%;
        margin-top: 7px;
        color: #4d5a67;
        font-size: clamp(9.4px, 2.55vw, 10.7px);
        line-height: 1.35;
        text-wrap: pretty;
    }

    /* Contained mobile illustration jewel. It has its own visual territory and
       can no longer cross through headings, buttons or service cards. */
    .ikh-rack-art {
        position: absolute;
        z-index: 3;
        top: 43px;
        right: 9px;
        bottom: auto;
        left: auto;
        width: 31%;
        height: 104px;
        min-width: 0;
        border: 1px solid rgba(255,255,255,.72);
        border-radius: 18px;
        overflow: hidden;
        opacity: .84;
        background:
            linear-gradient(155deg, rgba(255,255,255,.78), rgba(255,255,255,.28)),
            radial-gradient(circle at 70% 20%, rgba(245,130,32,.22), transparent 62%);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.9),
            0 16px 26px -22px rgba(15,23,42,.68);
        transform: none;
        pointer-events: none;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .ikh-rack-panel[data-rack-tone="blue"] .ikh-rack-art {
        background:
            linear-gradient(155deg, rgba(255,255,255,.8), rgba(255,255,255,.28)),
            radial-gradient(circle at 70% 20%, rgba(86,196,248,.26), transparent 62%);
    }

    .ikh-rack-art::before {
        width: 132px;
        top: -54px;
        right: -48px;
        opacity: .72;
    }

    .ikh-rack-sketch,
    .ikh-rack-sketch--low {
        inset: auto auto -8px -40%;
        width: 178%;
        height: auto;
        opacity: .94;
        filter: none;
    }

    .ikh-rack-sun {
        width: 110px;
        top: -21px;
        right: -23px;
        opacity: .62;
    }

    .ikh-rack-art-caption,
    .ikh-rack-quote-mark {
        display: none;
    }

    .ikh-rack-service-orb,
    .ikh-rack-signal {
        display: grid;
        left: 50%;
        top: 50%;
        width: 74px;
        transform: translate(-50%,-50%);
    }

    .ikh-rack-service-orb strong,
    .ikh-rack-signal b {
        font-size: 13px;
        line-height: .92;
    }

    .ikh-rack-service-orb span {
        display: none;
    }

    .ikh-rack-orbit {
        display: block;
        left: 50%;
        top: 50%;
        width: 84px;
        height: 84px;
    }

    .ikh-rack-actions {
        margin-top: 9px;
        gap: 6px;
        flex-wrap: nowrap;
    }

    .ikh-rack-panel[data-rack-index="0"] .ikh-rack-actions {
        margin-top: 9px;
    }

    .ikh-rack-cta,
    .ikh-rack-panel[data-rack-index="0"] .ikh-rack-cta {
        min-height: 35px;
        padding-inline: 11px;
        border-radius: 11px;
        font-size: clamp(9px, 2.45vw, 10.5px);
        white-space: nowrap;
    }

    .ikh-rack-panel[data-rack-index="0"] .ikh-rack-cta--primary {
        padding-inline: 13px;
    }

    .ikh-rack-proof {
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 5px;
        margin-top: 8px;
    }

    .ikh-rack-proof span {
        padding: 6px 4px;
        border: 1px solid rgba(42,54,66,.08);
        border-radius: 11px;
        background: rgba(255,255,255,.58);
        font-size: 6.8px;
        line-height: 1.15;
        white-space: normal;
        text-align: center;
    }

    .ikh-rack-proof strong {
        display: inline;
        margin-right: 2px;
        font-size: 10px;
    }

    /* Our Story becomes an editorial principle strip rather than three tiny
       columns sitting under a full-size illustration. */
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy h2 {
        max-width: 100%;
        padding-right: 0;
        font-size: clamp(27px, 7.35vw, 32px);
        line-height: .94;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        top: 45px;
        right: -10px;
        width: 48%;
        height: 118px;
        border: 0;
        border-radius: 0;
        opacity: .12;
        background: transparent;
        box-shadow: none;
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 38%);
        mask-image: linear-gradient(90deg, transparent, #000 38%);
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-sketch {
        width: 188%;
        left: -62%;
        bottom: -10px;
    }

    .ikh-rack-story-points,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points {
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 5px;
        width: 100%;
        margin-top: 8px;
    }

    .ikh-rack-story-points > span,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points > span {
        min-width: 0;
        min-height: 58px;
        padding: 6px;
        border: 1px solid rgba(42,54,66,.09);
        border-radius: 12px;
        background: rgba(255,255,255,.62);
        overflow: hidden;
    }

    .ikh-rack-story-points b,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points b {
        margin-bottom: 2px;
        font-size: 8px;
    }

    .ikh-rack-story-points strong,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points strong {
        font-size: 9.3px;
        line-height: 1.05;
    }

    .ikh-rack-story-points small,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points small {
        display: block;
        margin-top: 3px;
        color: #55626f;
        font-size: 6.7px;
        line-height: 1.18;
        text-wrap: pretty;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-story-points + .ikh-rack-cta {
        min-height: 32px;
        margin-top: 6px;
        font-size: 9px;
    }

    /* Services: clear two-by-two operating map with a real final action row. */
    .ikh-rack-copy--services h2 {
        max-width: 72%;
        font-size: clamp(25px, 6.9vw, 30px);
    }

    .ikh-rack-service-grid,
    .ikh-rack-engage-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 5px;
        margin-top: 8px;
    }

    .ikh-rack-service,
    .ikh-rack-engage-card {
        min-height: 47px;
        padding: 6px;
        grid-template-columns: 27px minmax(0,1fr);
        gap: 6px;
        border-radius: 12px;
        background: rgba(255,255,255,.66);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
    }

    .ikh-rack-service > i,
    .ikh-rack-engage-icon {
        width: 27px;
        height: 27px;
        border-radius: 9px;
        font-size: 11px;
    }

    .ikh-rack-service strong,
    .ikh-rack-engage-card strong {
        font-size: 9.3px;
        line-height: 1.05;
    }

    .ikh-rack-service small,
    .ikh-rack-engage-card small {
        display: block;
        margin-top: 2px;
        font-size: 6.7px;
        line-height: 1.16;
        white-space: normal;
    }

    .ikh-rack-linkrow,
    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        min-height: 31px;
        gap: 5px;
        margin-top: 6px;
    }

    .ikh-rack-linkrow a,
    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow a {
        min-width: 0;
        min-height: 31px;
        padding: 6px 7px;
        border-radius: 10px;
        font-size: clamp(7.4px, 2.1vw, 8.7px);
        line-height: 1.1;
        white-space: normal;
        text-align: center;
    }

    .ikh-rack-copy--engage h2 {
        max-width: 70%;
    }

    .ikh-rack-tour {
        min-height: 35px;
        margin-top: 6px;
        padding: 5px 8px;
        border-radius: 11px;
    }

    .ikh-rack-tour strong {
        font-size: 8.8px;
    }

    .ikh-rack-tour small {
        font-size: 6.7px;
    }

    /* Deliberate mobile reveal: the visual jewel settles first, then content.
       It is slower than a utility transition but remains responsive to touch. */
    .ikh-rack-panel.is-active.is-entering .ikh-rack-art {
        animation: ikhRackMobileJewel 1.15s var(--ikh-rack-ease) both;
    }

    .ikh-rack-panel.is-active.is-entering .ikh-rack-copy h2,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-copy > p,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-actions,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-proof,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-story-points,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-service-grid,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-linkrow,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-engage-grid,
    .ikh-rack-panel.is-active.is-entering .ikh-rack-tour {
        animation-duration: .92s;
    }

    @keyframes ikhRackMobileJewel {
        from { opacity: 0; transform: translate3d(18px,-6px,0) scale(.92); filter: blur(8px); }
        to { opacity: .84; transform: translate3d(0,0,0) scale(1); filter: blur(0); }
    }

    body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) .search-top-bar {
        width: 100% !important;
    }

    body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) .search-top-bar > .bg-pill-container.scrollable-pills {
        width: 100% !important;
        padding: 4px !important;
        border-radius: 21px !important;
    }

    body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) .search-top-bar .nav-pill {
        flex: 1 1 20% !important;
        width: 20% !important;
        min-width: 0 !important;
        padding-inline: 1px !important;
        font-size: clamp(11px, 3.1vw, 14px) !important;
    }
}

@media (max-width: 374.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: 348px;
    }

    .ikh-rack-copy,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy {
        padding-inline: 10px;
    }

    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy h2 {
        font-size: 27px;
    }

    .ikh-rack-copy > p,
    .ikh-rack-copy--services > p,
    .ikh-rack-copy--engage > p,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy > p {
        font-size: 9.2px;
    }

    .ikh-rack-story-points small,
    .ikh-rack-service small,
    .ikh-rack-engage-card small {
        font-size: 6.3px;
    }
}

@media (max-height: 720px) and (max-width: 767.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: 326px;
    }

    .ikh-rack-copy,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy {
        padding-top: 43px;
    }

    .ikh-rack-copy h2,
    .ikh-rack-copy--services h2,
    .ikh-rack-copy--engage h2,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy h2 {
        font-size: 25px;
    }

    .ikh-rack-copy > p,
    .ikh-rack-copy--services > p,
    .ikh-rack-copy--engage > p,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy > p {
        margin-top: 5px;
        font-size: 8.7px;
        line-height: 1.25;
    }

    .ikh-rack-story-points,
    .ikh-rack-service-grid,
    .ikh-rack-engage-grid {
        margin-top: 6px;
    }

    .ikh-rack-story-points > span {
        min-height: 52px;
    }

    .ikh-rack-service,
    .ikh-rack-engage-card {
        min-height: 43px;
    }
}

/* V6.1 mobile fit calibration: reserve a little more vertical room for the
   complete Services/Engage action rows and keep every visual jewel beside,
   never beneath, the editorial copy. */
@media (max-width: 767.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: clamp(370px, 45dvh, 396px);
        --ikh-rack-expanded-height: clamp(370px, 45svh, 396px);
    }

    .ikh-rack-panel[data-rack-index="0"] .ikh-rack-copy > p,
    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy > p,
    .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy > p {
        max-width: 70%;
    }

    .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy h2 {
        max-width: 72%;
    }

    .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art {
        width: 24%;
        height: 86px;
        right: 11px;
    }

    .ikh-rack-panel[data-rack-index="3"] .ikh-rack-signal {
        width: 62px;
    }

    .ikh-rack-panel[data-rack-index="3"] .ikh-rack-signal b {
        font-size: 11px;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy > p {
        max-width: 70%;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        top: 121px;
        right: 10px;
        width: 27%;
        height: 52px;
        border: 1px solid rgba(255,255,255,.76);
        border-radius: 14px;
        opacity: .62;
        background:
            linear-gradient(155deg, rgba(255,255,255,.86), rgba(255,255,255,.3)),
            radial-gradient(circle at 70% 20%, rgba(86,196,248,.24), transparent 65%);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
        -webkit-mask-image: none;
        mask-image: none;
    }

    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-sketch {
        width: 178%;
        left: -54%;
        bottom: -19px;
    }

    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow,
    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow a {
        visibility: visible !important;
        opacity: 1 !important;
    }
}

@media (max-height: 720px) and (max-width: 767.98px) {
    body.ikh-home-page #leftPanel {
        --ikh-rack-expanded-height: 352px;
    }

    .ikh-rack-panel[data-rack-index="0"] .ikh-rack-copy > p,
    .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy > p,
    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy > p,
    .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy > p {
        font-size: 8.4px;
    }

    .ikh-rack-service,
    .ikh-rack-engage-card {
        min-height: 41px;
        padding-block: 5px;
    }

    .ikh-rack-story-points > span {
        min-height: 49px;
    }

    .ikh-rack-linkrow,
    .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow {
        min-height: 28px;
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V7 MOBILE STATE RESET + SAFE COMPOSITION
   Fixes the directional specificity leak that could leave the active handheld
   scene translated beyond the left edge after reverse navigation. The active
   scene now always settles on the same geometry, regardless of travel direction.
   ============================================================================ */
@media (max-width: 767.98px) {
    /* Direction belongs only to the incoming/outgoing animation. It must never
       alter the final geometry of the active scene. These ID-level selectors
       intentionally outrank the earlier backward-motion preset. */
    #ikhHeroRack[data-rack-direction="forward"] .ikh-rack-panel.is-active,
    #ikhHeroRack[data-rack-direction="backward"] .ikh-rack-panel.is-active,
    #ikhHeroRack[data-rack-direction="idle"] .ikh-rack-panel.is-active,
    #ikhHeroRack .ikh-rack-panel.is-active {
        inset: 6px 8px 5px !important;
        width: auto !important;
        height: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        filter: blur(0) saturate(1) !important;
        transform: translate3d(0, 0, 0) scale(1) !important;
        transform-origin: center !important;
        z-index: 5;
    }

    /* Inactive scenes may still travel slowly in the requested direction, but
       cannot pull the active card with them or sit above it. */
    #ikhHeroRack .ikh-rack-panel:not(.is-active) {
        inset: 6px 8px 5px !important;
        width: auto !important;
        height: auto !important;
        opacity: 0 !important;
        pointer-events: none !important;
        z-index: 1;
    }

    #ikhHeroRack[data-rack-direction="forward"] .ikh-rack-panel:not(.is-active) {
        transform: translate3d(7%, 0, 0) scale(.985) !important;
    }

    #ikhHeroRack[data-rack-direction="backward"] .ikh-rack-panel:not(.is-active) {
        transform: translate3d(-7%, 0, 0) scale(.985) !important;
    }

    /* The active stage and its content receive a complete geometry reset. This
       also protects against a partially completed clip-path/3D transition when
       users swipe rapidly or reverse direction. */
    #ikhHeroRack[data-rack-direction="forward"] .ikh-rack-panel.is-active .ikh-rack-stage,
    #ikhHeroRack[data-rack-direction="backward"] .ikh-rack-panel.is-active .ikh-rack-stage,
    #ikhHeroRack[data-rack-direction="idle"] .ikh-rack-panel.is-active .ikh-rack-stage,
    #ikhHeroRack .ikh-rack-panel.is-active .ikh-rack-stage {
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        opacity: 1 !important;
        visibility: visible !important;
        clip-path: none !important;
        filter: none !important;
        transform: none !important;
        transform-origin: center !important;
    }

    #ikhHeroRack .ikh-rack-panel.is-active .ikh-rack-copy {
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-inline: clamp(14px, 3.8vw, 18px) !important;
        overflow: hidden;
        transform: none !important;
    }

    #ikhHeroRack .ikh-rack-panel.is-active .ikh-rack-rail {
        left: clamp(12px, 3.2vw, 16px) !important;
    }

    /* Keep headings and supporting copy inside the editorial safe area. The art
       remains a separate jewel at the right rather than becoming a crop mask. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="0"].is-active .ikh-rack-copy h2,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"].is-active .ikh-rack-copy h2,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"].is-active .ikh-rack-copy h2 {
        max-width: calc(100% - clamp(116px, 33vw, 170px));
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="0"].is-active .ikh-rack-copy > p,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"].is-active .ikh-rack-copy > p,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"].is-active .ikh-rack-copy > p {
        max-width: calc(100% - clamp(116px, 33vw, 170px));
        padding-right: 0;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"].is-active .ikh-rack-copy h2 {
        max-width: 100%;
        padding-right: 0;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"].is-active .ikh-rack-copy > p {
        max-width: calc(100% - clamp(96px, 28vw, 150px));
    }

    #ikhHeroRack .ikh-rack-panel.is-active .ikh-rack-art {
        transform: none !important;
        transform-origin: center !important;
    }

    /* A slightly calmer entrance on handhelds: no horizontal translation is
       applied to the actual copy, so the first glyph can never be clipped. */
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-kicker,
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-copy h2,
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-copy > p,
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-actions,
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-proof,
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-story-points,
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-service-grid,
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-linkrow,
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-engage-grid,
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-tour {
        animation-name: ikhRackMobileSafeIn;
        animation-fill-mode: forwards;
    }

    @keyframes ikhRackMobileSafeIn {
        from { opacity: 0; transform: translate3d(0, 10px, 0) scale(.995); filter: blur(5px); }
        to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
    }
}

@media (max-width: 374.98px) {
    #ikhHeroRack .ikh-rack-panel.is-active .ikh-rack-copy {
        padding-inline: 12px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="0"].is-active .ikh-rack-copy h2,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"].is-active .ikh-rack-copy h2,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"].is-active .ikh-rack-copy h2 {
        max-width: calc(100% - 112px);
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V8 STATE HIERARCHY, ACCESSIBILITY + CTA RHYTHM
   - Keeps only the distinctive accordion rail and the global header progress.
   - Removes the redundant counter, footer dashes and duplicated active label.
   - Gives the final scene a useful return action instead of an edge-bounce cue.
   - Raises all small text/accent colours to WCAG AA-friendly contrast.
   - Uses one predictable primary/secondary action hierarchy on every scene.
   ============================================================================ */
:root {
    --ikh-rack-orange-text: #b24e00;
    --ikh-rack-blue-text: #0b6f9e;
    --ikh-rack-small-text: #5f6975;
}

.ikh-rack-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Defensive hiding means the visual hierarchy is corrected even if a view is
   briefly served from an older compiled Razor cache. */
#ikhHeroRack .ikh-rack-counter,
#ikhHeroRack .ikh-rack-progress,
#ikhHeroRack .ikh-rack-active-label {
    display: none !important;
}

#ikhHeroRack .ikh-rack-controls {
    margin-inline-start: auto;
}

#ikhHeroRack .ikh-rack-control:disabled {
    opacity: .34;
    cursor: default;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

/* Accessible brand accents: bright orange/blue remain for rules, fills and
   ambient graphics; text uses darker companion tones. */
#ikhHeroRack .ikh-rack-kicker {
    color: #4f5965;
}

#ikhHeroRack .ikh-rack-copy h2 em,
#ikhHeroRack .ikh-rack-rail-number,
#ikhHeroRack .ikh-rack-story-points b,
#ikhHeroRack .ikh-rack-proof strong {
    color: var(--ikh-rack-orange-text);
}

#ikhHeroRack .ikh-rack-panel[data-rack-tone="blue"] .ikh-rack-copy h2 em,
#ikhHeroRack .ikh-rack-panel[data-rack-tone="blue"] .ikh-rack-rail-number {
    color: var(--ikh-rack-blue-text);
}

#ikhHeroRack .ikh-rack-service small,
#ikhHeroRack .ikh-rack-engage-card small,
#ikhHeroRack .ikh-rack-story-points small {
    color: var(--ikh-rack-small-text);
}

#ikhHeroRack .ikh-rack-service > i {
    color: var(--ikh-rack-orange-text);
}

#ikhHeroRack .ikh-rack-cta--primary:hover,
#ikhHeroRack .ikh-rack-cta--primary:focus-visible {
    background: var(--ikh-rack-orange-text);
    border-color: var(--ikh-rack-orange-text);
    color: #fff;
}

#ikhHeroRack .ikh-rack-linkrow a:hover {
    color: var(--ikh-rack-orange-text);
}

/* One footer affordance only. It advances through scenes and becomes a return
   action on Engage, so the last card never advertises a non-existent next step. */
#ikhHeroRack .ikh-rack-footerline {
    justify-content: center;
    padding-inline: 0;
}

#ikhHeroRack .ikh-rack-scrollcue {
    appearance: none;
    min-height: 26px;
    padding: 4px 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(16, 24, 32, .14);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font: inherit;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
    cursor: pointer;
    text-shadow: 0 1px 10px rgba(15,23,42,.42);
    transition: background .28s ease, transform .28s ease, box-shadow .28s ease;
}

#ikhHeroRack .ikh-rack-scrollcue:hover,
#ikhHeroRack .ikh-rack-scrollcue:focus-visible {
    background: rgba(16, 24, 32, .28);
    transform: translateY(-1px);
    box-shadow: 0 10px 20px -16px rgba(15,23,42,.72);
}

#ikhHeroRack .ikh-rack-scrollcue:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

#ikhHeroRack .ikh-rack-scrollcue i {
    transition: transform .48s var(--ikh-rack-ease);
}

#ikhHeroRack .ikh-rack-scrollcue.is-return i {
    transform: rotate(180deg);
}

/* Shared CTA grammar: the first action is always the dark, high-confidence
   destination; the second is a quieter alternate path. */
#ikhHeroRack .ikh-rack-actions--story,
#ikhHeroRack .ikh-rack-actions--services,
#ikhHeroRack .ikh-rack-actions--engage {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

#ikhHeroRack .ikh-rack-actions--story .ikh-rack-cta,
#ikhHeroRack .ikh-rack-actions--services .ikh-rack-cta,
#ikhHeroRack .ikh-rack-actions--engage .ikh-rack-cta {
    width: auto;
    min-width: 0;
    min-height: 38px;
    padding: 0 15px;
    border-radius: 11px;
    font-size: clamp(10.5px, .72vw, 12px);
    line-height: 1.05;
    white-space: nowrap;
}

#ikhHeroRack .ikh-rack-actions--services {
    min-height: 38px;
}

#ikhHeroRack .ikh-rack-actions--services .ikh-rack-cta {
    display: inline-flex;
    flex: 0 1 auto;
    text-align: center;
}

#ikhHeroRack .ikh-rack-actions--services .ikh-rack-cta--primary,
#ikhHeroRack .ikh-rack-actions--engage .ikh-rack-cta--primary,
#ikhHeroRack .ikh-rack-actions--story .ikh-rack-cta--primary {
    background: #111820;
    border-color: #111820;
    color: #fff;
}

#ikhHeroRack .ikh-rack-actions--services .ikh-rack-cta--quiet,
#ikhHeroRack .ikh-rack-actions--engage .ikh-rack-cta--quiet,
#ikhHeroRack .ikh-rack-actions--story .ikh-rack-cta--quiet {
    background: rgba(255,255,255,.72);
    color: #1f2933;
}

@media (max-width: 767.98px) {
    /* The rail pill already communicates state on mobile. The footer cue is
       intentionally absent to keep the content card calm and uncluttered. */
    #ikhHeroRack .ikh-rack-scrollcue {
        display: none !important;
    }

    #ikhHeroRack .ikh-rack-actions--story,
    #ikhHeroRack .ikh-rack-actions--services,
    #ikhHeroRack .ikh-rack-actions--engage {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        gap: 6px;
        margin-top: 6px;
    }

    #ikhHeroRack .ikh-rack-actions--story .ikh-rack-cta,
    #ikhHeroRack .ikh-rack-actions--services .ikh-rack-cta,
    #ikhHeroRack .ikh-rack-actions--engage .ikh-rack-cta {
        width: 100%;
        min-height: 34px;
        padding-inline: 8px;
        font-size: clamp(8px, 2.3vw, 9.5px);
        white-space: normal;
        text-align: center;
    }

    #ikhHeroRack .ikh-rack-actions--story .ikh-rack-cta svg,
    #ikhHeroRack .ikh-rack-actions--services .ikh-rack-cta i,
    #ikhHeroRack .ikh-rack-actions--engage .ikh-rack-cta svg {
        flex: 0 0 auto;
    }

    #ikhHeroRack .ikh-rack-service small,
    #ikhHeroRack .ikh-rack-engage-card small,
    #ikhHeroRack .ikh-rack-story-points small {
        color: #53606c;
    }
}

@media (max-width: 374.98px) {
    #ikhHeroRack .ikh-rack-actions--story .ikh-rack-cta,
    #ikhHeroRack .ikh-rack-actions--services .ikh-rack-cta,
    #ikhHeroRack .ikh-rack-actions--engage .ikh-rack-cta {
        min-height: 32px;
        padding-inline: 6px;
        font-size: 7.8px;
    }
}

/* V8.1 handheld fit: preserve the shared CTA hierarchy without allowing the
   Services or Engage actions to fall into the footer veil. */
@media (max-width: 767.98px) {
    #ikhHeroRack .ikh-rack-copy--services .ikh-rack-linkrow.ikh-rack-actions--services {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        flex: none !important;
        min-height: 34px;
        overflow: visible;
    }

    #ikhHeroRack .ikh-rack-actions--services .ikh-rack-cta {
        grid-column: auto !important;
        flex: none !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy {
        padding-top: 44px !important;
        padding-bottom: 7px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy h2 {
        font-size: clamp(25px, 6.9vw, 29px);
        line-height: .92;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy > p {
        margin-top: 4px;
        font-size: clamp(8.7px, 2.35vw, 9.8px);
        line-height: 1.25;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-engage-grid {
        gap: 4px;
        margin-top: 5px;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-engage-card {
        min-height: 39px;
        padding: 4px 5px;
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 5px;
        border-radius: 10px;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-engage-icon {
        width: 24px;
        height: 24px;
        border-radius: 8px;
        font-size: 10px;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-engage-card strong {
        font-size: 8.7px;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-engage-card small {
        margin-top: 1px;
        font-size: 6.2px;
        line-height: 1.12;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-actions--engage {
        margin-top: 4px;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-actions--engage .ikh-rack-cta {
        min-height: 32px;
    }
}


/* ============================================================================
   IKHAYALAMI HERO RACK · V9 MOBILE RAIL + ENGAGE SAFE AREA
   - Translates the distinctive desktop spine into a visible four-stop mobile rail.
   - Removes swipe-only discovery while avoiding a duplicate counter/progress label.
   - Reclaims the empty handheld footer strip for content and prevents Engage clipping.
   - Lifts the desktop Engage actions/caption clear of the footer veil.
   ============================================================================ */
.ikh-rack-mobile-nav {
    display: none;
}

/* Engage had only a few pixels of safe area above the footer veil. Keep both
   the actions and the illustration caption visibly inside the stage. */
@media (min-width: 768px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-actions--engage {
        margin-top: 6px;
        transform: translateY(-4px);
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art-caption {
        bottom: 26px;
    }
}

@media (max-width: 767.98px) {
    /* The mobile rail is the handheld expression of the accordion spines. All
       four destinations are directly visible and thumb-reachable at all times. */
    #ikhHeroRack .ikh-rack-mobile-nav {
        position: absolute;
        z-index: 24;
        top: 42px;
        right: 0;
        left: 0;
        height: 36px;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
        padding: 3px 8px 4px;
        background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(245,247,248,.62));
        border-top: 1px solid rgba(255,255,255,.82);
        border-bottom: 1px solid rgba(44,57,70,.10);
        box-shadow: 0 12px 26px -24px rgba(15,23,42,.62);
        backdrop-filter: blur(16px) saturate(145%);
        -webkit-backdrop-filter: blur(16px) saturate(145%);
        transition: opacity .32s ease, transform .56s var(--ikh-rack-ease);
    }

    #ikhHeroRack .ikh-rack-mobile-step {
        position: relative;
        min-width: 0;
        height: 28px;
        margin: 0;
        padding: 0 4px;
        border: 1px solid transparent;
        border-radius: 9px;
        background: transparent;
        color: #53606d;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        cursor: pointer;
        overflow: hidden;
        -webkit-tap-highlight-color: transparent;
        transition:
            color .34s ease,
            background .46s var(--ikh-rack-ease),
            border-color .46s var(--ikh-rack-ease),
            box-shadow .46s var(--ikh-rack-ease),
            transform .34s var(--ikh-rack-ease);
    }

    #ikhHeroRack .ikh-rack-mobile-step::after {
        content: "";
        position: absolute;
        right: 8px;
        bottom: 2px;
        left: 8px;
        height: 2px;
        border-radius: 999px;
        background: var(--ikh-rack-orange);
        opacity: 0;
        transform: scaleX(.28);
        transition: opacity .32s ease, transform .64s var(--ikh-rack-ease);
    }

    #ikhHeroRack .ikh-rack-mobile-step[data-rack-tone="blue"]::after {
        background: #1688bd;
    }

    #ikhHeroRack .ikh-rack-mobile-step span {
        flex: 0 0 auto;
        color: #6d7782;
        font-size: 7px;
        font-weight: 900;
        line-height: 1;
        letter-spacing: .08em;
    }

    #ikhHeroRack .ikh-rack-mobile-step strong {
        min-width: 0;
        overflow: hidden;
        color: inherit;
        font-size: clamp(7px, 2.05vw, 8.4px);
        font-weight: 850;
        line-height: 1;
        letter-spacing: .075em;
        text-overflow: clip;
        text-transform: uppercase;
        white-space: nowrap;
    }

    #ikhHeroRack .ikh-rack-mobile-step.is-active {
        color: #18222d;
        border-color: rgba(38,50,62,.10);
        background: rgba(255,255,255,.90);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.98),
            0 8px 18px -15px rgba(15,23,42,.72);
        transform: translateY(-1px);
    }

    #ikhHeroRack .ikh-rack-mobile-step.is-active span {
        color: var(--ikh-rack-orange-text);
    }

    #ikhHeroRack .ikh-rack-mobile-step[data-rack-tone="blue"].is-active span {
        color: var(--ikh-rack-blue-text);
    }

    #ikhHeroRack .ikh-rack-mobile-step.is-active::after {
        opacity: 1;
        transform: scaleX(1);
    }

    #ikhHeroRack .ikh-rack-mobile-step:focus-visible {
        outline: 2px solid #111820;
        outline-offset: -1px;
    }

    #ikhHeroRack .ikh-rack-mobile-step:active {
        transform: translateY(0) scale(.985);
    }

    /* The separate mobile rail replaces the single in-card rail pill, avoiding
       two simultaneous state indicators and releasing valuable copy height. */
    #ikhHeroRack .ikh-rack-panel .ikh-rack-rail {
        display: none !important;
    }

    #ikhHeroRack .ikh-rack-deck {
        inset: 78px 0 0 !important;
    }

    #ikhHeroRack .ikh-rack-footerline {
        display: none !important;
    }

    #ikhHeroRack .ikh-rack-panel,
    #ikhHeroRack .ikh-rack-panel.is-active,
    #ikhHeroRack[data-rack-direction="forward"] .ikh-rack-panel.is-active,
    #ikhHeroRack[data-rack-direction="backward"] .ikh-rack-panel.is-active,
    #ikhHeroRack[data-rack-direction="idle"] .ikh-rack-panel.is-active,
    #ikhHeroRack .ikh-rack-panel:not(.is-active) {
        inset: 6px 8px 6px !important;
    }

    #ikhHeroRack .ikh-rack-panel.is-active .ikh-rack-copy,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"].is-active .ikh-rack-copy,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy {
        padding-top: clamp(13px, 3.4vw, 16px) !important;
        padding-bottom: clamp(10px, 2.8vw, 13px) !important;
    }

    #ikhHeroRack .ikh-rack-panel.is-active .ikh-rack-art,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art {
        top: clamp(13px, 3.5vw, 17px);
    }

    /* Our Story intentionally keeps its small architecture jewel beside the
       principle strip rather than at the top. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        top: 90px;
    }

    /* Engage receives a small final fit calibration now that the empty footer
       strip is gone. Nothing is hidden; spacing is simply distributed better. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy h2 {
        font-size: clamp(26px, 7.1vw, 30px);
        line-height: .93;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy > p {
        max-width: calc(100% - clamp(88px, 26vw, 124px));
        font-size: clamp(9px, 2.4vw, 10.2px);
        line-height: 1.28;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-engage-grid {
        margin-top: 6px;
        gap: 5px;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-actions--engage {
        margin-top: 6px;
        transform: none;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art-caption {
        display: none !important;
    }

    body.ikh-home-page #leftPanel.ikh-rack-collapsed #ikhHeroRack .ikh-rack-mobile-nav {
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
    }
}

@media (max-width: 374.98px) {
    #ikhHeroRack .ikh-rack-mobile-nav {
        gap: 3px;
        padding-inline: 6px;
    }

    #ikhHeroRack .ikh-rack-mobile-step {
        gap: 3px;
        padding-inline: 3px;
    }

    #ikhHeroRack .ikh-rack-mobile-step strong {
        font-size: 6.8px;
        letter-spacing: .045em;
    }

    #ikhHeroRack .ikh-rack-mobile-step span {
        font-size: 6.5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #ikhHeroRack .ikh-rack-mobile-step,
    #ikhHeroRack .ikh-rack-mobile-step::after,
    #ikhHeroRack .ikh-rack-mobile-nav {
        transition-duration: 1ms !important;
    }
}

@media (max-width: 767.98px) {
    body.ikh-home-page #leftPanel.ikh-rack-collapsed #ikhHeroRack .ikh-rack-mobile-nav {
        visibility: hidden;
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V10 MOBILE GLASS ARCHITECTURE
   - Removes the boxed illustration-jewel treatment on handhelds.
   - Gives each drawing a larger, purpose-built composition zone.
   - Uses an organic glass veil behind the artwork rather than a visible wrapper.
   - Keeps copy, actions and service cards in their own readable layer.
   Desktop geometry remains unchanged.
   ============================================================================ */
@media (max-width: 767.98px) {
    #ikhHeroRack .ikh-rack-panel.is-active .ikh-rack-art,
    #ikhHeroRack .ikh-rack-panel .ikh-rack-art {
        z-index: 3;
        border: 0 !important;
        border-radius: 0 !important;
        overflow: visible !important;
        opacity: 1 !important;
        background: transparent !important;
        box-shadow: none !important;
        isolation: isolate;
        -webkit-mask-image: none !important;
        mask-image: none !important;
    }

    /* The visual backing is intentionally not a card. It is an irregular,
       translucent architectural veil that lets the grid and ambient colour
       remain visible through the artwork. */
    #ikhHeroRack .ikh-rack-art::before {
        content: "";
        position: absolute;
        z-index: -2;
        inset: 7px 3px 3px 8px;
        width: auto;
        height: auto;
        border: 1px solid rgba(255,255,255,.58);
        border-radius: 48% 52% 42% 58% / 42% 38% 62% 58%;
        opacity: .94;
        background:
            linear-gradient(145deg, rgba(255,255,255,.70), rgba(255,255,255,.19) 56%, rgba(255,255,255,.38)),
            radial-gradient(circle at 74% 18%, rgba(245,130,32,.22), transparent 56%);
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.88),
            inset 16px -14px 34px -28px rgba(15,23,42,.28),
            0 22px 34px -30px rgba(15,23,42,.56);
        backdrop-filter: blur(17px) saturate(158%);
        -webkit-backdrop-filter: blur(17px) saturate(158%);
        transform: rotate(-2deg);
        pointer-events: none;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-tone="blue"] .ikh-rack-art::before {
        background:
            linear-gradient(145deg, rgba(255,255,255,.74), rgba(255,255,255,.18) 56%, rgba(255,255,255,.36)),
            radial-gradient(circle at 74% 18%, rgba(86,196,248,.27), transparent 58%);
    }

    #ikhHeroRack .ikh-rack-art::after {
        content: "";
        position: absolute;
        z-index: -3;
        right: -8%;
        bottom: -8%;
        width: 72%;
        aspect-ratio: 1;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(245,130,32,.18), rgba(245,130,32,.04) 54%, transparent 72%);
        filter: blur(5px);
        pointer-events: none;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-tone="blue"] .ikh-rack-art::after {
        background: radial-gradient(circle, rgba(86,196,248,.21), rgba(86,196,248,.04) 54%, transparent 72%);
    }

    /* Welcome: use the generous open quadrant rather than confining the houses
       to a small badge. The drawing remains behind the content safe area. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="0"] .ikh-rack-art {
        top: 34px !important;
        right: 2px !important;
        width: clamp(150px, 43vw, 190px) !important;
        height: 158px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="0"] .ikh-rack-art::before {
        inset: 4px -2px 9px 12px;
        border-radius: 57% 43% 48% 52% / 36% 44% 56% 64%;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="0"] .ikh-rack-sun {
        width: 132px;
        height: 132px;
        top: -17px;
        right: -13px;
        opacity: .58;
        filter: saturate(.92);
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="0"] .ikh-rack-sketch {
        left: -46% !important;
        bottom: -12px !important;
        width: 194% !important;
        height: auto !important;
        opacity: .98;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="0"] .ikh-rack-copy h2,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="0"] .ikh-rack-copy > p {
        max-width: calc(100% - clamp(142px, 40vw, 184px)) !important;
    }

    /* Story: move the drawing lower and farther right so it complements the
       paragraph rather than competing with the headline. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        top: 104px !important;
        right: 0 !important;
        width: clamp(144px, 41vw, 184px) !important;
        height: 92px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art::before {
        inset: 2px -4px 2px 10px;
        border-radius: 60% 40% 58% 42% / 54% 38% 62% 46%;
        transform: rotate(1.5deg);
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-sketch {
        left: -56% !important;
        bottom: -27px !important;
        width: 198% !important;
        opacity: .94;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy > p {
        max-width: calc(100% - clamp(130px, 37vw, 170px)) !important;
    }

    /* Services: the one-account device is now a floating glass instrument,
       large enough to read without looking like a second card inside the card. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 28px !important;
        right: -2px !important;
        width: clamp(148px, 42vw, 188px) !important;
        height: 146px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art::before {
        inset: 7px -3px 10px 13px;
        border-radius: 50% 50% 44% 56% / 46% 40% 60% 54%;
        transform: rotate(2deg);
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service-orb {
        top: 48%;
        width: 88px;
        transform: translate(-50%,-50%);
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service-orb strong {
        font-size: 15px;
        line-height: .88;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-orbit {
        width: 108px;
        height: 108px;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-sketch--low {
        left: -48% !important;
        bottom: -14px !important;
        width: 198% !important;
        opacity: .86;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy h2,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy > p {
        max-width: calc(100% - clamp(140px, 39vw, 180px)) !important;
    }

    /* Engage: keep the signal strong but visually lighter so the action grid is
       still the clear destination. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art {
        top: 30px !important;
        right: 0 !important;
        width: clamp(132px, 38vw, 170px) !important;
        height: 126px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art::before {
        inset: 5px -2px 7px 8px;
        border-radius: 48% 52% 57% 43% / 43% 39% 61% 57%;
        transform: rotate(-1deg);
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-signal {
        width: 76px;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-signal b {
        font-size: 12px;
        line-height: .86;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-sketch--low {
        left: -57% !important;
        bottom: -18px !important;
        width: 214% !important;
        opacity: .9;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy h2,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-copy > p {
        max-width: calc(100% - clamp(124px, 35vw, 160px)) !important;
    }

    /* The glass layer settles slowly, but the final state is deterministic after
       forward, reverse and direct rail navigation. */
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-art {
        animation-name: ikhRackMobileGlassArt;
        animation-duration: 1.18s;
        animation-timing-function: var(--ikh-rack-ease);
        animation-fill-mode: both;
    }

    @keyframes ikhRackMobileGlassArt {
        from {
            opacity: 0;
            transform: translate3d(13px,-5px,0) scale(.94);
            filter: blur(7px) saturate(.9);
        }
        to {
            opacity: 1;
            transform: translate3d(0,0,0) scale(1);
            filter: blur(0) saturate(1);
        }
    }
}

@media (max-width: 374.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="0"] .ikh-rack-art {
        right: -8px !important;
        width: 148px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        right: -8px !important;
        width: 139px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        right: -8px !important;
        width: 145px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art {
        right: -7px !important;
        width: 126px !important;
    }
}

@media (prefers-reduced-motion: reduce) and (max-width: 767.98px) {
    #ikhHeroRack .ikh-rack-panel.is-active.is-entering .ikh-rack-art {
        animation-duration: 1ms !important;
    }
}

/* V10.1 Story placement: the blueprint occupies the open paragraph-side zone
   and clears the three principle cards completely. */
@media (max-width: 767.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        top: 78px !important;
        right: -2px !important;
        width: clamp(142px, 40vw, 178px) !important;
        height: 84px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art::before {
        inset: 3px -3px 2px 10px;
        border-radius: 62% 38% 55% 45% / 52% 40% 60% 48%;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-sketch {
        left: -54% !important;
        bottom: -31px !important;
        width: 204% !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-copy > p {
        max-width: calc(100% - clamp(136px, 38vw, 172px)) !important;
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V10.2 MOBILE SERVICES ACTION SAFE AREA
   Keeps the two Services destinations permanently visible on real handheld
   browsers, including narrower fonts and larger accessibility text metrics.
   ============================================================================ */
@media (max-width: 767.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services {
        position: relative !important;
        height: 100% !important;
        min-height: 0 !important;
        padding-top: clamp(12px, 3.2vw, 15px) !important;
        padding-bottom: 52px !important;
        overflow: visible !important;
    }

    /* Give the headline and introduction more usable line length. This saves a
       full text row without shrinking the editorial character of the card. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services h2 {
        max-width: calc(100% - clamp(104px, 29vw, 132px)) !important;
        font-size: clamp(26px, 6.85vw, 30px) !important;
        line-height: .92 !important;
        text-wrap: balance;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services > p {
        max-width: calc(100% - clamp(96px, 27vw, 124px)) !important;
        margin-top: 4px !important;
        font-size: clamp(8.7px, 2.35vw, 9.8px) !important;
        line-height: 1.22 !important;
    }

    /* The illustration remains generous, but is lifted into the true open
       quadrant so it no longer steals vertical room from the action row. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 20px !important;
        right: -5px !important;
        width: clamp(132px, 37vw, 166px) !important;
        height: 126px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service-grid {
        gap: 4px !important;
        margin-top: 6px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service {
        min-height: 43px !important;
        padding: 5px 6px !important;
        grid-template-columns: 25px minmax(0, 1fr) !important;
        gap: 5px !important;
        border-radius: 11px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service > i {
        width: 25px !important;
        height: 25px !important;
        border-radius: 8px !important;
        font-size: 10px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service > b {
        display: none !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service strong {
        font-size: clamp(8.9px, 2.45vw, 10px) !important;
        line-height: 1.04 !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service small {
        margin-top: 1px !important;
        font-size: clamp(6.2px, 1.72vw, 7px) !important;
        line-height: 1.1 !important;
    }

    /* Anchor the CTA pair to a protected bottom safe area. Their position no
       longer depends on font wrapping in the service descriptions above. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow.ikh-rack-actions--services {
        position: absolute !important;
        z-index: 12 !important;
        left: clamp(14px, 3.8vw, 18px) !important;
        right: clamp(14px, 3.8vw, 18px) !important;
        bottom: 10px !important;
        width: auto !important;
        min-height: 35px !important;
        margin: 0 !important;
        gap: 6px !important;
        overflow: visible !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-actions--services .ikh-rack-cta {
        min-height: 35px !important;
        padding-inline: 7px !important;
        border-radius: 10px !important;
        font-size: clamp(8px, 2.2vw, 9.3px) !important;
        line-height: 1.08 !important;
    }
}

@media (max-width: 374.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services {
        padding-bottom: 49px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services h2 {
        max-width: calc(100% - 100px) !important;
        font-size: 25.5px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services > p {
        max-width: calc(100% - 92px) !important;
        font-size: 8.4px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        width: 130px !important;
        height: 120px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service {
        min-height: 41px !important;
        padding: 4px 5px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-linkrow.ikh-rack-actions--services {
        bottom: 9px !important;
        min-height: 33px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-actions--services .ikh-rack-cta {
        min-height: 33px !important;
        font-size: 7.7px !important;
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V10.3 MOBILE SERVICES TITLE RHYTHM
   Gives the Services editorial heading two intentional lines and preserves the
   paragraph's own flow so copy can never collide with the title on handhelds.
   ============================================================================ */
.ikh-rack-copy--services .ikh-rack-title-line {
    display: inline;
}

@media (max-width: 767.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services h2 {
        position: relative !important;
        z-index: 8 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        font-size: clamp(26px, 7vw, 30px) !important;
        line-height: .93 !important;
        letter-spacing: -.045em !important;
        text-wrap: initial !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services h2 .ikh-rack-title-line {
        display: block !important;
        width: max-content;
        max-width: 100%;
        white-space: nowrap;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services h2 .ikh-rack-title-line + .ikh-rack-title-line {
        margin-top: 1px;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services > p {
        position: relative !important;
        z-index: 8 !important;
        max-width: calc(100% - clamp(112px, 30vw, 136px)) !important;
        margin-top: 6px !important;
        clear: both !important;
    }

    /* Place the glass illustration beneath the completed heading, beside the
       introduction, rather than allowing it to intersect the title lines. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 76px !important;
        right: -7px !important;
        width: clamp(132px, 37vw, 166px) !important;
        height: 120px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service-grid {
        position: relative;
        z-index: 9;
        margin-top: 7px !important;
    }
}

@media (max-width: 374.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services h2 {
        font-size: 25px !important;
        line-height: .94 !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services > p {
        max-width: calc(100% - 104px) !important;
        margin-top: 5px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 72px !important;
        right: -9px !important;
        width: 132px !important;
        height: 116px !important;
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V10.4 MOBILE OPEN-ART COMPOSITION
   - Removes the visible rounded/organic glass lens from every handheld scene.
   - Keeps the architectural drawings crisp through line-level depth, not a
     second wrapper inside the editorial card.
   - Lifts Story, Services and Engage artwork into their available upper zones.
   - Raises the desktop Engage CTA pair fully clear of the footer veil.
   ============================================================================ */

/* The Engage CTA row was touching the desktop footer veil by a few pixels. */
@media (min-width: 768px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-actions--engage {
        position: relative;
        z-index: 14;
        margin-top: 4px;
        transform: translateY(-10px);
    }
}

@media (max-width: 767.98px) {
    /* Remove the shared rounded glass lens/glow while retaining the illustration
       itself. The artwork now reads as part of the page rather than a card
       nested inside another card. */
    #ikhHeroRack .ikh-rack-art::before,
    #ikhHeroRack .ikh-rack-art::after {
        content: none !important;
        display: none !important;
    }

    #ikhHeroRack .ikh-rack-art {
        filter: none !important;
    }

    #ikhHeroRack .ikh-rack-art .ikh-rack-sketch {
        filter:
            drop-shadow(0 1px 0 rgba(255,255,255,.84))
            drop-shadow(0 10px 15px rgba(15,23,42,.08));
    }

    #ikhHeroRack .ikh-rack-art .ikh-rack-quote-mark,
    #ikhHeroRack .ikh-rack-art .ikh-rack-service-orb,
    #ikhHeroRack .ikh-rack-art .ikh-rack-signal {
        filter: drop-shadow(0 12px 18px rgba(15,23,42,.10));
    }

    /* Story: move the drawing upward into the paragraph-side opening. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        top: 64px !important;
        right: -1px !important;
    }

    /* Services: lift One Account above the service cards while preserving the
       protected CTA safe area. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 60px !important;
        right: -6px !important;
    }

    /* Engage: use the clear upper-right quadrant and keep the contact grid calm. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art {
        top: 14px !important;
        right: -1px !important;
    }
}

@media (max-width: 374.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        top: 61px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 58px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art {
        top: 12px !important;
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V10.5 MOBILE TYPOGRAPHIC ARTWORK
   Removes the remaining circular animation devices from Services and Engage,
   while preserving the architectural line work and the message each visual
   carries. The result is lighter, clearer and more editorial on handhelds.
   ============================================================================ */
@media (max-width: 767.98px) {
    /* Services: remove the circular account orb and orbit rings. "ONE ACCOUNT"
       remains as floating editorial typography above the connected houses. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-orbit,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service-orb span {
        display: none !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service-orb {
        width: auto !important;
        height: auto !important;
        aspect-ratio: auto !important;
        top: 39% !important;
        left: 58% !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: translate(-50%,-50%) !important;
        filter: none !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service-orb strong {
        display: block;
        color: #17202a;
        font-size: clamp(15px, 4.2vw, 18px) !important;
        line-height: .82 !important;
        letter-spacing: -.045em;
        text-shadow: 0 1px 0 rgba(255,255,255,.92), 0 9px 18px rgba(15,23,42,.08);
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 50px !important;
    }

    /* Engage: keep LET'S BUILD, remove the circular signal-wave device. */
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-signal span {
        display: none !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-signal {
        width: auto !important;
        height: auto !important;
        aspect-ratio: auto !important;
        top: 35% !important;
        left: 56% !important;
        transform: translate(-50%,-50%) !important;
        filter: none !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-signal b {
        font-size: clamp(12px, 3.5vw, 15px) !important;
        line-height: .82 !important;
        text-shadow: 0 1px 0 rgba(255,255,255,.92), 0 9px 18px rgba(15,23,42,.08);
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        top: 58px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art {
        top: 7px !important;
    }
}

@media (max-width: 374.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"] .ikh-rack-art {
        top: 56px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 48px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"] .ikh-rack-art {
        top: 6px !important;
    }
}

/* Final handheld service-art clearance: keep the connected-house baseline above
   the service-card grid after the circular device has been removed. */
@media (max-width: 767.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 30px !important;
    }
}

@media (max-width: 374.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 28px !important;
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · V10.6 MOBILE SERVICES ART LIFT
   Uses the unused upper-right air on the Services scene so the connected-home
   illustration reads as one deliberate editorial composition, while its
   baseline remains safely clear of the service cards and protected CTA row.
   ============================================================================ */
@media (max-width: 767.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 10px !important;
        right: -8px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service-orb {
        top: 35% !important;
    }
}

@media (max-width: 374.98px) {
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-art {
        top: 7px !important;
        right: -10px !important;
    }

    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-service-orb {
        top: 34% !important;
    }
}

/* ============================================================================
   IKHAYALAMI HERO RACK · TRANSLATION-AWARE FLUID GEOMETRY · 2026-08
   --------------------------------------------------------------------------
   The language engine can produce longer words and additional lines. This
   final layer removes English-only no-wrap assumptions, lets every scene grow
   naturally, and keeps the search dock attached to the live rack height.
   ============================================================================ */
body.ikh-home-page #leftPanel {
    --ikh-rack-measured-height: 0px;
    --ikh-rack-live-height: max(var(--ikh-rack-expanded-height), var(--ikh-rack-measured-height));
}

body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) #ikhHeroRack {
    height: var(--ikh-rack-live-height) !important;
    max-height: var(--ikh-rack-live-height) !important;
    transition:
        height .82s var(--ikh-rack-ease),
        max-height .82s var(--ikh-rack-ease),
        border-radius .82s var(--ikh-rack-ease),
        opacity .35s ease !important;
}

body.ikh-home-page #leftPanel:not(.list-mode):not(.stay-mode):not(.tenant-mode) > .search-wrapper {
    top: calc(var(--ikh-rack-live-height) + var(--ikh-rack-dock-gap)) !important;
}

body.ikh-home-page #leftPanel.ikh-rack-collapsed:not(.list-mode):not(.stay-mode):not(.tenant-mode) #ikhHeroRack {
    height: var(--ikh-rack-collapsed-height) !important;
    min-height: var(--ikh-rack-collapsed-height) !important;
    max-height: var(--ikh-rack-collapsed-height) !important;
}

body.ikh-home-page #leftPanel.ikh-rack-collapsed:not(.list-mode):not(.stay-mode):not(.tenant-mode) > .search-wrapper {
    top: calc(var(--ikh-rack-collapsed-height) + var(--ikh-rack-dock-gap)) !important;
}

#ikhHeroRack [data-i18n],
#ikhHeroRack .ikh-rack-copy,
#ikhHeroRack .ikh-rack-copy * {
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

#ikhHeroRack .ikh-rack-toolbar {
    height: auto !important;
    min-height: 42px;
    padding-block: 5px;
}

#ikhHeroRack .ikh-rack-brandline {
    white-space: normal;
    line-height: 1.25;
}

#ikhHeroRack .ikh-rack-brandline-copy,
#ikhHeroRack .ikh-rack-brandline-status > span,
#ikhHeroRack .ikh-rack-toggle-label {
    white-space: normal;
}

#ikhHeroRack .ikh-rack-toggle {
    height: auto;
    min-height: 32px;
    max-width: min(230px, 34vw);
    line-height: 1.15;
    text-align: left;
}

#ikhHeroRack .ikh-rack-deck {
    inset: var(--ikh-rack-toolbar-height, 42px) 0 28px;
}

#ikhHeroRack .ikh-rack-copy h2,
#ikhHeroRack .ikh-rack-copy h2 > span,
#ikhHeroRack .ikh-rack-copy h2 em,
#ikhHeroRack .ikh-rack-title-line {
    max-width: 100%;
    white-space: normal !important;
}

#ikhHeroRack .ikh-rack-panel[data-rack-index="2"] .ikh-rack-copy--services h2 .ikh-rack-title-line {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
}

#ikhHeroRack .ikh-rack-copy > p,
#ikhHeroRack .ikh-rack-kicker,
#ikhHeroRack .ikh-rack-art-caption {
    white-space: normal;
}

#ikhHeroRack .ikh-rack-actions,
#ikhHeroRack .ikh-rack-linkrow {
    align-items: stretch;
}

#ikhHeroRack .ikh-rack-cta {
    height: auto !important;
    min-height: 38px;
    padding-block: 8px;
    line-height: 1.18;
    white-space: normal !important;
    text-wrap: balance;
}

#ikhHeroRack .ikh-rack-proof > span {
    height: auto;
    min-height: 34px;
    white-space: normal;
}

#ikhHeroRack .ikh-rack-proof small {
    display: inline;
    margin: 0;
    color: inherit;
    font: inherit;
    line-height: inherit;
}

#ikhHeroRack .ikh-rack-story-points > span,
#ikhHeroRack .ikh-rack-service,
#ikhHeroRack .ikh-rack-engage-card {
    height: auto !important;
}

#ikhHeroRack .ikh-rack-story-points strong,
#ikhHeroRack .ikh-rack-story-points small,
#ikhHeroRack .ikh-rack-service strong,
#ikhHeroRack .ikh-rack-service small,
#ikhHeroRack .ikh-rack-engage-card strong,
#ikhHeroRack .ikh-rack-engage-card small {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

#ikhHeroRack.ikh-rack-has-overflow .ikh-rack-panel.is-active .ikh-rack-copy {
    align-self: stretch;
    max-height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(61, 74, 88, .22) transparent;
}

#ikhHeroRack.ikh-rack-has-overflow .ikh-rack-panel.is-active .ikh-rack-copy::-webkit-scrollbar {
    width: 5px;
}

#ikhHeroRack.ikh-rack-has-overflow .ikh-rack-panel.is-active .ikh-rack-copy::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(61, 74, 88, .18);
}

@media (min-width: 768px) {
    #ikhHeroRack .ikh-rack-rail-title {
        max-height: calc(100% - 82px);
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.05;
        text-align: center;
    }

    #ikhHeroRack .ikh-rack-copy {
        align-self: center;
        height: auto !important;
        min-height: 0;
    }
}

@media (max-width: 767.98px) {
    #ikhHeroRack .ikh-rack-toolbar {
        min-height: 38px;
        padding-block: 4px;
    }

    #ikhHeroRack .ikh-rack-brandline {
        min-width: 0;
        flex: 1 1 auto;
    }

    #ikhHeroRack .ikh-rack-brandline-copy {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    #ikhHeroRack .ikh-rack-brandline-status {
        display: none;
    }

    #ikhHeroRack .ikh-rack-mobile-nav {
        top: var(--ikh-rack-toolbar-height, 42px) !important;
        height: auto !important;
        min-height: 36px;
        align-items: stretch;
    }

    #ikhHeroRack .ikh-rack-mobile-step {
        height: auto !important;
        min-height: 28px;
        padding-block: 4px;
        align-items: center;
    }

    #ikhHeroRack .ikh-rack-mobile-step strong {
        overflow: visible;
        white-space: normal !important;
        line-height: 1.08;
        text-align: center;
        text-overflow: clip;
        text-wrap: balance;
    }

    #ikhHeroRack .ikh-rack-deck {
        inset: calc(var(--ikh-rack-toolbar-height, 42px) + var(--ikh-rack-mobile-nav-height, 36px)) 0 0 !important;
    }

    #ikhHeroRack .ikh-rack-panel.is-active .ikh-rack-copy,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="1"].is-active .ikh-rack-copy,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="2"].is-active .ikh-rack-copy,
    #ikhHeroRack .ikh-rack-panel[data-rack-index="3"].is-active .ikh-rack-copy {
        height: auto !important;
        min-height: 100%;
        justify-content: flex-start;
    }

    #ikhHeroRack .ikh-rack-copy h2,
    #ikhHeroRack .ikh-rack-copy--services h2,
    #ikhHeroRack .ikh-rack-copy--engage h2 {
        text-wrap: balance;
    }

    #ikhHeroRack .ikh-rack-story-points,
    #ikhHeroRack .ikh-rack-service-grid,
    #ikhHeroRack .ikh-rack-engage-grid {
        grid-auto-rows: minmax(min-content, auto);
    }

    #ikhHeroRack .ikh-rack-actions,
    #ikhHeroRack .ikh-rack-linkrow {
        grid-auto-rows: minmax(34px, auto);
    }
}
