.imgl-page {
    --imgl-bg: #080908;
    --imgl-surface: #101210;
    --imgl-surface-alt: #151714;
    --imgl-text: #f5f3ec;
    --imgl-muted: #aaa9a1;
    --imgl-line: rgba(255, 255, 255, 0.16);
    --imgl-accent: #d9ff43;
    --imgl-accent-ink: #111407;
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
    color: var(--imgl-text);
    background: var(--imgl-bg);
    box-shadow: 0 0 0 100vmax var(--imgl-bg);
    clip-path: inset(0 -100vmax);
}

html:has(.imgl-page),
body:has(.imgl-page) {
    overflow-x: clip;
}

body:has(.imgl-page) .fx-header {
    border-bottom-color: rgba(217, 255, 67, 0.16) !important;
    background: rgba(7, 8, 7, 0.88) !important;
}

body:has(.imgl-page) .fx-header a[href*="/register"] {
    background: var(--imgl-accent) !important;
    color: var(--imgl-accent-ink) !important;
    box-shadow: 0 12px 32px rgba(217, 255, 67, 0.16) !important;
}

body:has(.imgl-page) .theme-toggle__thumb {
    background: linear-gradient(135deg, #d9ff43, #65d8ff);
    box-shadow: 0 4px 14px rgba(217, 255, 67, 0.2);
}

body:has(.imgl-page) .fx-footer {
    border-top-color: rgba(217, 255, 67, 0.14);
    background: #050605;
}

.theme-light .imgl-page {
    --imgl-bg: #efeee7;
    --imgl-surface: #faf9f3;
    --imgl-surface-alt: #e5e4dc;
    --imgl-text: #171914;
    --imgl-muted: #65675f;
    --imgl-line: rgba(21, 24, 17, 0.18);
    --imgl-accent: #567000;
    --imgl-accent-ink: #f8ffd9;
}

.theme-light body:has(.imgl-page) .fx-header {
    border-bottom-color: rgba(86, 112, 0, 0.18) !important;
    background: rgba(242, 241, 234, 0.91) !important;
}

.theme-light body:has(.imgl-page) .fx-footer {
    border-top-color: rgba(86, 112, 0, 0.16);
    background: #e4e3db;
}

.imgl-page *,
.imgl-page *::before,
.imgl-page *::after {
    box-sizing: border-box;
}

.imgl-page a {
    color: inherit;
    text-decoration: none;
}

.imgl-shell {
    width: min(100% - 3rem, 1120px);
    margin-inline: auto;
}

.imgl-full-bleed {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
}

.imgl-overline,
.imgl-section-index {
    margin: 0;
    color: var(--imgl-accent);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.imgl-hero {
    --spot-x: 67%;
    --spot-y: 39%;
    min-height: calc(100svh - 72px);
    overflow: hidden;
    isolation: isolate;
    background: #070807;
}

.imgl-hero__image {
    position: absolute;
    z-index: -5;
    inset: -3%;
    width: 106%;
    height: 106%;
    object-fit: cover;
    object-position: 54% center;
    filter: saturate(0.83) contrast(1.04);
    transform: scale(1.025);
    animation: imgl-hero-in 1.4s cubic-bezier(.18, .78, .2, 1) both;
    will-change: transform;
}

.imgl-hero__shade {
    position: absolute;
    z-index: -4;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(5, 6, 5, 0.99) 0%, rgba(5, 6, 5, 0.94) 30%, rgba(5, 6, 5, 0.64) 48%, rgba(5, 6, 5, 0.08) 78%),
        linear-gradient(180deg, rgba(5, 6, 5, 0.12), transparent 58%, rgba(5, 6, 5, 0.86));
}

.imgl-hero__grain {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: 0.17;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
    mix-blend-mode: soft-light;
    pointer-events: none;
}

.imgl-hero__spot {
    position: absolute;
    z-index: -2;
    inset: 0;
    background: radial-gradient(circle 20rem at var(--spot-x) var(--spot-y), rgba(217, 255, 67, 0.09), transparent 72%);
    pointer-events: none;
}

.theme-light .imgl-hero {
    background: #e9ebe7;
}

.theme-light .imgl-hero__image {
    opacity: 0.96;
    filter: saturate(0.75) contrast(0.96);
}

.theme-light .imgl-hero__shade {
    background:
        linear-gradient(90deg, rgba(239, 238, 231, 0.99) 0%, rgba(239, 238, 231, 0.95) 31%, rgba(239, 238, 231, 0.66) 50%, rgba(239, 238, 231, 0.04) 80%),
        linear-gradient(180deg, rgba(239, 238, 231, 0.08), transparent 58%, rgba(239, 238, 231, 0.84));
}

.imgl-hero__inner {
    display: flex;
    min-height: calc(100svh - 72px);
    flex-direction: column;
    padding: clamp(2rem, 5vh, 4rem) 0 2rem;
}

.imgl-back {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 0.65rem;
    padding: 0.45rem 0;
    color: rgba(245, 243, 236, 0.66) !important;
    font-size: 0.72rem;
    font-weight: 760;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    transition: color 180ms ease, transform 180ms ease;
}

.theme-light .imgl-back {
    color: rgba(23, 25, 20, 0.68) !important;
}

.imgl-back:hover {
    color: var(--imgl-accent) !important;
    transform: translateX(-4px);
}

.imgl-hero__copy {
    width: min(47rem, 72%);
    margin-block: auto;
    padding: clamp(4rem, 9vh, 8rem) 0 3rem;
    animation: imgl-copy-in 900ms 150ms cubic-bezier(.2, .75, .18, 1) both;
}

.imgl-hero h1 {
    max-width: none;
    margin: 0.9rem 0 0;
    font-size: clamp(4.2rem, 8.2vw, 8rem);
    font-weight: 900;
    line-height: 0.84;
    letter-spacing: -0.075em;
}

.imgl-hero h1 em,
.imgl-intro h2 em,
.imgl-providers__heading h2 em,
.imgl-process h2 em,
.imgl-faq h2 em,
.imgl-final h2 em {
    color: var(--imgl-accent);
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 400;
}

.imgl-hero h1 em {
    display: block;
    width: max-content;
    max-width: 100%;
    font-size: 0.74em;
    line-height: 0.98;
    letter-spacing: -0.06em;
    white-space: nowrap;
}

.imgl-hero__lead {
    margin: 1.8rem 0 0;
    font-size: clamp(1.35rem, 2.25vw, 2.1rem);
    font-weight: 720;
    letter-spacing: -0.035em;
}

.imgl-hero__text {
    max-width: 36rem;
    margin: 0.85rem 0 0;
    color: rgba(245, 243, 236, 0.7);
    font-size: 1rem;
    line-height: 1.7;
}

.theme-light .imgl-hero__text {
    color: rgba(23, 25, 20, 0.7);
}

.imgl-actions {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-top: 2rem;
}

.imgl-button {
    display: inline-flex;
    min-height: 3.45rem;
    align-items: center;
    justify-content: center;
    gap: 1.8rem;
    padding: 0.9rem 1.35rem;
    border: 1px solid transparent;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.02em;
    transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.imgl-button:hover {
    transform: translateY(-3px);
}

.imgl-button--primary {
    background: var(--imgl-accent);
    color: var(--imgl-accent-ink) !important;
    box-shadow: 0 18px 46px rgba(217, 255, 67, 0.15);
}

.imgl-text-link {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    border-bottom: 1px solid currentColor;
    padding: 0.6rem 0;
    color: rgba(245, 243, 236, 0.8) !important;
    font-size: 0.78rem;
    font-weight: 760;
}

.theme-light .imgl-text-link {
    color: rgba(23, 25, 20, 0.78) !important;
}

.imgl-hero__footer {
    display: grid;
    grid-template-columns: auto minmax(2rem, 1fr) auto minmax(2rem, 1fr) auto;
    gap: 1rem;
    align-items: center;
    color: rgba(245, 243, 236, 0.58);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.theme-light .imgl-hero__footer {
    color: rgba(23, 25, 20, 0.58);
}

.imgl-hero__footer i {
    height: 1px;
    background: currentColor;
    opacity: 0.5;
}

.imgl-main {
    background: var(--imgl-bg);
}

.imgl-intro {
    display: grid;
    grid-template-columns: 5rem minmax(25rem, 0.95fr) minmax(24rem, 1.05fr);
    gap: clamp(2rem, 5vw, 5rem);
    padding: clamp(7rem, 12vw, 11rem) 0;
}

.imgl-intro h2,
.imgl-providers__heading h2,
.imgl-process h2,
.imgl-faq h2,
.imgl-final h2 {
    margin: 0;
    font-size: clamp(3rem, 5.8vw, 5.7rem);
    font-weight: 880;
    line-height: 0.91;
    letter-spacing: -0.067em;
}

.imgl-intro__copy > p {
    max-width: 31rem;
    margin: 1.6rem 0 0;
    color: var(--imgl-muted);
    font-size: 1.02rem;
    line-height: 1.75;
}

.imgl-use-cases {
    border-top: 1px solid var(--imgl-line);
}

.imgl-use-cases a {
    display: grid;
    grid-template-columns: 2rem minmax(10rem, 1fr) minmax(8rem, auto) auto;
    gap: 1rem;
    align-items: center;
    border-bottom: 1px solid var(--imgl-line);
    padding: 1.35rem 0;
    transition: color 180ms ease, padding 180ms ease;
}

.imgl-use-cases a:hover {
    padding-inline: 0.45rem;
    color: var(--imgl-accent);
}

.imgl-use-cases span,
.imgl-use-cases small {
    color: var(--imgl-muted);
    font-size: 0.62rem;
    font-weight: 780;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.imgl-use-cases strong {
    font-size: 0.94rem;
}

.imgl-use-cases i {
    font-style: normal;
}

.imgl-providers {
    border-top: 1px solid var(--imgl-line);
}

.imgl-providers__heading {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 5rem);
    padding: clamp(6rem, 10vw, 9rem) 0 clamp(4rem, 7vw, 6rem);
}

.imgl-providers__heading h2 {
    max-width: 11ch;
}

.imgl-provider {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 47rem;
    border-top: 1px solid var(--imgl-line);
    background: var(--imgl-surface);
}

.imgl-provider:nth-of-type(even) {
    background: var(--imgl-surface-alt);
}

.imgl-provider__media {
    position: relative;
    min-height: 47rem;
    overflow: hidden;
    background: #161816;
}

.imgl-provider__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 65%, rgba(3, 4, 3, 0.64));
    pointer-events: none;
}

.imgl-provider__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.015);
    transition: transform 800ms cubic-bezier(.2, .75, .2, 1), filter 500ms ease;
}

.imgl-provider:hover .imgl-provider__media img {
    transform: scale(1.045);
    filter: saturate(1.08);
}

.imgl-provider__media > span {
    position: absolute;
    z-index: 2;
    right: 1.5rem;
    bottom: 1.3rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.62rem;
    font-weight: 820;
    letter-spacing: 0.16em;
}

.imgl-provider__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: clamp(3rem, 6vw, 7rem) max(3rem, calc((100vw - 1120px) / 2)) clamp(3rem, 6vw, 7rem) clamp(3rem, 6vw, 7rem);
}

.imgl-provider--reverse .imgl-provider__media {
    grid-column: 2;
}

.imgl-provider--reverse .imgl-provider__content {
    grid-row: 1;
    grid-column: 1;
    padding-right: clamp(3rem, 6vw, 7rem);
    padding-left: max(3rem, calc((100vw - 1120px) / 2));
}

.imgl-provider__brand {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.imgl-provider__brand > img {
    width: 2.15rem;
    height: 2.15rem;
    object-fit: contain;
}

.theme-light .imgl-provider__brand > img {
    filter: none;
}

.imgl-provider__brand p {
    margin: 0;
    color: var(--imgl-accent);
    font-size: 0.59rem;
    font-weight: 820;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.imgl-provider__brand strong {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.93rem;
}

.imgl-provider h3 {
    max-width: 10ch;
    margin: 2rem 0 0;
    font-size: clamp(2.8rem, 5vw, 5rem);
    font-weight: 870;
    line-height: 0.92;
    letter-spacing: -0.065em;
}

.imgl-provider__description {
    max-width: 38rem;
    margin: 1.35rem 0 0;
    color: var(--imgl-muted);
    font-size: 0.98rem;
    line-height: 1.68;
}

.imgl-models {
    margin-top: 2.2rem;
    border-top: 1px solid var(--imgl-line);
}

.imgl-model {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) auto 1.2rem;
    gap: 1rem;
    align-items: center;
    border-bottom: 1px solid var(--imgl-line);
    padding: 1rem 0;
    transition: color 180ms ease, padding 180ms ease;
}

.imgl-model:hover {
    padding-inline: 0.45rem;
    color: var(--imgl-accent);
}

.imgl-model > span {
    color: var(--imgl-muted);
    font-size: 0.6rem;
    font-weight: 820;
}

.imgl-model div {
    min-width: 0;
}

.imgl-model div strong {
    display: block;
    font-size: 0.94rem;
}

.imgl-model div small {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 0.25rem;
    color: var(--imgl-muted);
    font-size: 0.76rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.imgl-model > b {
    color: var(--imgl-muted);
    font-size: 0.7rem;
    font-weight: 760;
    white-space: nowrap;
}

.imgl-model > i {
    color: var(--imgl-accent);
    font-style: normal;
    transition: transform 180ms ease;
}

.imgl-model:hover > i {
    transform: translate(3px, -3px);
}

.imgl-provider__detail {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 0.8rem;
    margin-top: 1.5rem;
    border-bottom: 1px solid currentColor;
    padding-bottom: 0.35rem;
    color: var(--imgl-muted) !important;
    font-size: 0.72rem;
    font-weight: 760;
    transition: color 180ms ease;
}

.imgl-provider__detail:hover {
    color: var(--imgl-accent) !important;
}

.imgl-process {
    display: grid;
    grid-template-columns: minmax(27rem, 0.9fr) minmax(28rem, 1.1fr);
    gap: clamp(4rem, 8vw, 8rem);
    padding: clamp(8rem, 13vw, 12rem) 0;
}

.imgl-process__heading {
    position: sticky;
    top: 7rem;
    align-self: start;
}

.imgl-process__heading h2 {
    margin-top: 1rem;
}

.imgl-process__steps {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--imgl-line);
    list-style: none;
}

.imgl-process__steps li {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 1.3rem;
    border-bottom: 1px solid var(--imgl-line);
    padding: 2rem 0;
}

.imgl-process__steps li > span {
    color: var(--imgl-accent);
    font-size: 0.65rem;
    font-weight: 850;
    letter-spacing: 0.1em;
}

.imgl-process__steps strong {
    font-size: 1.25rem;
    letter-spacing: -0.025em;
}

.imgl-process__steps p {
    max-width: 29rem;
    margin: 0.75rem 0 0;
    color: var(--imgl-muted);
    line-height: 1.7;
}

.imgl-faq {
    display: grid;
    grid-template-columns: minmax(30rem, 1fr) minmax(30rem, 1fr);
    gap: clamp(3rem, 6vw, 6rem);
    border-top: 1px solid var(--imgl-line);
    padding: clamp(7rem, 11vw, 10rem) 0;
}

.imgl-faq__heading h2 {
    margin-top: 1rem;
    font-size: clamp(3rem, 5vw, 4.7rem);
}

.imgl-faq__items {
    border-top: 1px solid var(--imgl-line);
}

.imgl-faq-item {
    border-bottom: 1px solid var(--imgl-line);
}

.imgl-faq-item button {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 0;
    padding: 1.45rem 0;
    background: transparent;
    color: var(--imgl-text);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.imgl-faq-item button:focus-visible {
    outline: 2px solid var(--imgl-accent);
    outline-offset: 4px;
}

.imgl-faq-item button > span {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.7rem;
    align-items: baseline;
    font-size: 0.98rem;
    font-weight: 760;
}

.imgl-faq-item button small {
    color: var(--imgl-accent);
    font-size: 0.62rem;
    font-weight: 850;
}

.imgl-faq-item button i {
    color: var(--imgl-accent);
    font-size: 1.35rem;
    font-style: normal;
}

.imgl-faq-item__answer {
    padding: 0 3.2rem 1.6rem;
}

.imgl-faq-item__answer p {
    margin: 0;
    color: var(--imgl-muted);
    line-height: 1.72;
}

.imgl-final {
    isolation: isolate;
    overflow: hidden;
    background: var(--imgl-accent);
    color: var(--imgl-accent-ink);
}

.imgl-final__image {
    position: absolute;
    z-index: -1;
    inset: 0 0 0 50%;
    background:
        linear-gradient(90deg, var(--imgl-accent), transparent 46%),
        url('/images/landing/providers/midjourney-image-scene.png') center/cover no-repeat;
    opacity: 0.45;
}

.theme-light .imgl-final__image {
    opacity: 0.32;
}

.imgl-final__inner {
    padding: clamp(7rem, 13vw, 12rem) 0;
}

.imgl-final .imgl-overline {
    color: rgba(17, 20, 7, 0.62);
}

.theme-light .imgl-final .imgl-overline {
    color: rgba(248, 255, 217, 0.62);
}

.imgl-final h2 {
    max-width: 12ch;
    margin-top: 1rem;
}

.imgl-final h2 em {
    color: inherit;
}

.imgl-final__inner > p:not(.imgl-overline) {
    max-width: 34rem;
    margin: 1.8rem 0 0;
    font-size: 1.03rem;
    line-height: 1.68;
}

.imgl-button--light {
    margin-top: 2rem;
    background: var(--imgl-accent-ink);
    color: var(--imgl-accent) !important;
}

.imgl-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 720ms cubic-bezier(.2, .75, .18, 1), transform 720ms cubic-bezier(.2, .75, .18, 1);
}

.imgl-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes imgl-hero-in {
    from { opacity: 0; transform: scale(1.085); }
    to { opacity: 1; transform: scale(1.025); }
}

@keyframes imgl-copy-in {
    from { opacity: 0; transform: translateY(26px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1080px) {
    .imgl-intro {
        grid-template-columns: 4rem minmax(20rem, 0.9fr) minmax(21rem, 1.1fr);
        gap: 2rem;
    }

    .imgl-provider__content,
    .imgl-provider--reverse .imgl-provider__content {
        padding: 4rem 2.5rem;
    }

    .imgl-provider h3 {
        font-size: clamp(2.7rem, 5vw, 4rem);
    }

    .imgl-process,
    .imgl-faq {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .imgl-process__heading {
        position: static;
    }
}

@media (max-width: 820px) {
    .imgl-shell {
        width: min(100% - 2rem, 1120px);
    }

    .imgl-hero {
        min-height: 51rem;
    }

    .imgl-hero__image {
        object-position: 64% center;
    }

    .imgl-hero__shade {
        background:
            linear-gradient(180deg, rgba(5, 6, 5, 0.5) 0%, rgba(5, 6, 5, 0.78) 35%, rgba(5, 6, 5, 0.98) 72%),
            linear-gradient(90deg, rgba(5, 6, 5, 0.75), rgba(5, 6, 5, 0.06));
    }

    .theme-light .imgl-hero__shade {
        background:
            linear-gradient(180deg, rgba(239, 238, 231, 0.3) 0%, rgba(239, 238, 231, 0.72) 35%, rgba(239, 238, 231, 0.98) 72%),
            linear-gradient(90deg, rgba(239, 238, 231, 0.7), rgba(239, 238, 231, 0.05));
    }

    .imgl-hero__inner {
        min-height: 51rem;
        padding: 1.5rem 0;
    }

    .imgl-hero__copy {
        width: 100%;
        margin-top: auto;
        padding: 7rem 0 2rem;
    }

    .imgl-hero h1 {
        font-size: clamp(4rem, 18vw, 6.4rem);
    }

    .imgl-hero__footer {
        grid-template-columns: auto 1fr auto;
    }

    .imgl-hero__footer i:nth-of-type(2),
    .imgl-hero__footer span:last-child {
        display: none;
    }

    .imgl-intro {
        grid-template-columns: 1fr;
        gap: 2.3rem;
        padding: 6rem 0;
    }

    .imgl-providers__heading {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .imgl-provider,
    .imgl-provider--reverse {
        grid-template-columns: 1fr;
    }

    .imgl-provider__media,
    .imgl-provider--reverse .imgl-provider__media {
        grid-row: auto;
        grid-column: 1;
        min-height: min(115vw, 38rem);
    }

    .imgl-provider__content,
    .imgl-provider--reverse .imgl-provider__content {
        grid-row: auto;
        grid-column: 1;
        padding: 4.5rem 1rem 5rem;
    }

    .imgl-provider h3 {
        font-size: clamp(2.8rem, 12vw, 4.6rem);
    }

    .imgl-process,
    .imgl-faq {
        gap: 3.5rem;
        padding: 6rem 0;
    }

    .imgl-intro h2,
    .imgl-providers__heading h2,
    .imgl-process h2,
    .imgl-faq h2,
    .imgl-final h2 {
        font-size: clamp(2.8rem, 12vw, 4.6rem);
    }

    .imgl-final__image {
        inset: 0;
        background:
            linear-gradient(180deg, var(--imgl-accent) 0%, rgba(217, 255, 67, 0.83) 60%, rgba(217, 255, 67, 0.7)),
            url('/images/landing/providers/midjourney-image-scene.png') center/cover no-repeat;
        opacity: 0.34;
    }
}

@media (max-width: 560px) {
    .imgl-page {
        margin-top: -2.5rem;
    }

    .imgl-hero h1 {
        font-size: clamp(3rem, 16vw, 5.5rem);
    }

    .imgl-hero h1 em {
        font-size: 0.68em;
    }

    .imgl-hero__lead {
        font-size: 1.25rem;
    }

    .imgl-hero__text {
        font-size: 0.92rem;
    }

    .imgl-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.8rem;
    }

    .imgl-button {
        width: 100%;
    }

    .imgl-use-cases a {
        grid-template-columns: 1.8rem minmax(0, 1fr) auto;
        gap: 0.7rem;
    }

    .imgl-use-cases small {
        grid-row: 2;
        grid-column: 2;
    }

    .imgl-use-cases i {
        grid-row: 1 / span 2;
        grid-column: 3;
    }

    .imgl-model {
        grid-template-columns: 1.6rem minmax(0, 1fr) 1rem;
        gap: 0.7rem;
    }

    .imgl-model > b {
        grid-row: 2;
        grid-column: 2;
        margin-top: -0.2rem;
    }

    .imgl-model > i {
        grid-row: 1 / span 2;
        grid-column: 3;
    }

    .imgl-faq-item button > span {
        grid-template-columns: 2rem minmax(0, 1fr);
    }

    .imgl-faq-item__answer {
        padding-left: 2.7rem;
    }

    .imgl-final__inner {
        padding: 6rem 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .imgl-hero__image,
    .imgl-hero__copy,
    .imgl-reveal,
    .imgl-provider__media img {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    .imgl-reveal {
        opacity: 1;
    }
}
