:root {
    --hllm-ink: #101820;
    --hllm-paper: #f6f3ed;
    --hllm-white: #fff;
    --hllm-gold: #b78a35;
    --hllm-gold-light: #dcc58d;
    --hllm-muted: #5f6a72;
    --hllm-line: rgba(16, 24, 32, .15);
    --hllm-display: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
    --hllm-body: "Avenir Next", "Segoe UI", sans-serif;
}

.hll-motion-enabled .site-content,
.hll-motion-enabled .site-main,
.hll-motion-enabled .entry-content {
    margin: 0 !important;
    padding: 0 !important;
}

.hll-motion-enabled .site-content > .ast-container {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.hll-motion-enabled article.page,
.hll-motion-enabled .entry-content > .hllm {
    margin: 0;
    padding: 0;
}

.hllm {
    overflow: clip;
    color: var(--hllm-ink);
    background: var(--hllm-paper);
    font-family: var(--hllm-body);
}

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

.hllm img,
.hllm video {
    display: block;
    max-width: 100%;
}

.hllm a {
    color: inherit;
}

.hllm h1,
.hllm h2,
.hllm h3,
.hllm p,
.hllm figure {
    margin-block-start: 0;
}

.hllm h1,
.hllm h2 {
    font-family: var(--hllm-display);
    font-weight: 500;
    letter-spacing: 0;
}

.hllm h2 {
    max-width: 17ch;
    margin-block-end: 0;
    font-size: clamp(2.5rem, 5.2vw, 5.7rem);
    line-height: .98;
}

.hllm-section {
    padding: clamp(5rem, 10vw, 10rem) max(5vw, calc((100vw - 86rem) / 2));
}

.hllm-eyebrow {
    margin-block-end: 1.25rem;
    color: var(--hllm-gold);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16rem;
    line-height: 1.4;
    text-transform: uppercase;
}

.hllm-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(17rem, .65fr);
    gap: clamp(2rem, 6vw, 7rem);
    align-items: end;
    margin-block-end: clamp(3rem, 6vw, 6rem);
}

.hllm-section-head > p,
.hllm-story-copy > p,
.hllm-trust-copy > p,
.hllm-inquiry > div > p {
    color: var(--hllm-muted);
    font-size: clamp(1rem, 1.15vw, 1.16rem);
    line-height: 1.8;
}

.hllm-hero {
    position: relative;
    display: grid;
    min-height: min(58rem, calc(100svh - 4rem));
    place-items: end start;
    isolation: isolate;
    overflow: hidden;
    color: var(--hllm-white);
    background: var(--hllm-ink);
}

.hllm-hero-media,
.hllm-hero-media img,
.hllm-hero-shade,
.hllm-hero-highlight {
    position: absolute;
    inset: 0;
}

.hllm-hero-media {
    z-index: -2;
    overflow: hidden;
}

.hllm-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
    transform: none;
}

@media (min-width: 48rem) {
    .hllm-hero-media img {
        object-fit: contain;
        object-position: center;
    }
}

.hllm-hero-shade {
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(7, 13, 18, .77) 0%, rgba(7, 13, 18, .43) 40%, rgba(7, 13, 18, .04) 76%),
        linear-gradient(0deg, rgba(7, 13, 18, .55), transparent 48%);
}

.hllm-hero-highlight {
    z-index: 2;
    width: 18%;
    height: 140%;
    opacity: .25;
    background: linear-gradient(90deg, transparent, rgba(255, 246, 213, .75), transparent);
    filter: blur(18px);
    transform: translate3d(-190%, -15%, 0) rotate(16deg);
    pointer-events: none;
}

.hllm-hero-content {
    width: min(46rem, 86vw);
    margin-inline-start: max(5vw, calc((100vw - 86rem) / 2));
    padding-block: clamp(8rem, 17vh, 12rem) clamp(5rem, 11vh, 8rem);
}

.hllm-hero-title {
    display: flex;
    flex-wrap: wrap;
    gap: 0 .25em;
    max-width: 10ch;
    margin-block: 0 1.75rem;
    color: var(--hllm-white) !important;
    font-size: clamp(4rem, 7vw, 7.2rem);
    line-height: .9;
}

.hllm-hero-title span {
    display: block;
    overflow: hidden;
    padding-block: .05em .25em;
    margin-block-end: -.2em;
}

.hllm-hero-title i {
    display: block;
    font-style: normal;
}

.hllm-hero-copy {
    max-width: 38rem;
    margin-block-end: 2rem;
    color: rgba(255, 255, 255, .82);
    font-size: clamp(1rem, 1.3vw, 1.22rem);
    line-height: 1.7;
}

.hllm-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.hllm-button {
    display: inline-flex;
    min-height: 3.2rem;
    align-items: center;
    justify-content: center;
    padding-inline: 1.35rem;
    border: 1px solid currentColor;
    border-radius: 0;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .03rem;
    text-decoration: none !important;
    transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.hllm-button:hover,
.hllm-button:focus-visible {
    transform: translateY(-2px);
}

.hllm-button:focus-visible,
.hllm-text-link:focus-visible,
.hllm-series-card:focus-visible,
.hllm-scroll-cue:focus-visible {
    outline: 3px solid var(--hllm-gold-light);
    outline-offset: 4px;
}

.hllm-button-light {
    color: var(--hllm-ink) !important;
    border-color: var(--hllm-white);
    background: var(--hllm-white);
}

.hllm-button-ghost {
    color: var(--hllm-white) !important;
    border-color: rgba(255, 255, 255, .7);
    background: transparent;
}

.hllm-button-dark {
    color: var(--hllm-white) !important;
    border-color: var(--hllm-ink);
    background: var(--hllm-ink);
}

.hllm-button-outline {
    color: var(--hllm-ink) !important;
    border-color: var(--hllm-gold);
    background: transparent;
}

.hllm-scroll-cue {
    position: absolute;
    right: max(3vw, calc((100vw - 86rem) / 2));
    bottom: 3.4rem;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: .8rem;
    color: var(--hllm-white) !important;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14rem;
    text-decoration: none !important;
    text-transform: uppercase;
}

.hllm-scroll-cue i {
    position: relative;
    display: block;
    width: 4.5rem;
    height: 1px;
    overflow: hidden;
    background: rgba(255, 255, 255, .4);
}

.hllm-scroll-cue i::after {
    position: absolute;
    inset: 0;
    content: "";
    background: var(--hllm-white);
    animation: hllm-cue 2.4s ease-in-out infinite;
    transform: translateX(-105%);
}

@keyframes hllm-cue {
    55%,
    100% { transform: translateX(105%); }
}

.hllm-series {
    background: var(--hllm-paper);
}

.hllm-series-viewport {
    overflow: visible;
}

.hllm-series-track {
    display: grid;
    grid-template-columns: repeat(4, minmax(20rem, 1fr));
    gap: 1rem;
}

.hllm-series-card {
    display: grid;
    color: var(--hllm-ink) !important;
    border-block-start: 1px solid var(--hllm-line);
    text-decoration: none !important;
}

.hllm-series-card figure {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    margin-block-end: 1.5rem;
    background: #e7ebed;
}

.hllm-series-card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .8s cubic-bezier(.2, .75, .25, 1);
}

.hllm-series-card:hover img,
.hllm-series-card:focus-visible img {
    transform: none;
}

.hllm-series-card figure span {
    position: absolute;
    top: 1rem;
    left: 1rem;
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    color: var(--hllm-white);
    border-radius: 50%;
    background: rgba(16, 24, 32, .88);
    font-size: .68rem;
    font-weight: 800;
}

.hllm-series-card h3 {
    margin-block-end: .5rem;
    font-family: var(--hllm-display);
    font-size: clamp(1.75rem, 2.3vw, 2.7rem);
    font-weight: 500;
}

.hllm-series-card p {
    min-height: 3.4rem;
    margin-block-end: 1rem;
    color: var(--hllm-muted);
    line-height: 1.6;
}

.hllm-series-card b,
.hllm-text-link {
    width: fit-content;
    padding-block-end: .25rem;
    color: var(--hllm-gold);
    border-block-end: 1px solid currentColor;
    font-size: .72rem;
    letter-spacing: .08rem;
    text-transform: uppercase;
}

.hllm-story {
    display: grid;
    grid-template-columns: minmax(19rem, .8fr) minmax(0, 1.45fr);
    gap: clamp(3rem, 8vw, 9rem);
    align-items: center;
    background: var(--hllm-white);
}

.hllm-story-copy h2 {
    margin-block-end: 2rem;
}

.hllm-story-copy > p {
    margin-block-end: 1.2rem;
}

.hllm-text-link {
    display: inline-block;
    margin-block-start: 1rem;
    font-weight: 800;
    text-decoration: none !important;
}

.hllm-film {
    position: relative;
    margin: 0;
}

.hllm-film video {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: var(--hllm-ink);
}

.hllm-film figcaption {
    margin-block-start: .85rem;
    color: var(--hllm-muted);
    font-size: .72rem;
    letter-spacing: .08rem;
    text-transform: uppercase;
}

.hllm-vr {
    background: #ebe8e1;
}

.hllm-vr-frame {
    position: relative;
    overflow: hidden;
    background: var(--hllm-ink);
    box-shadow: 0 1.5rem 4rem rgba(16, 24, 32, .16);
}

.hllm-vr-frame::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 18rem;
    max-width: 32vw;
    height: 4.5rem;
    margin: 0 auto;
    content: "";
    background: #ebe8e1;
    pointer-events: none;
}

.hllm-vr-frame iframe {
    display: block;
    width: 100%;
    height: min(72svh, 46rem);
    min-height: 34rem;
    border: 0;
}

.hllm-vr-fallback {
    margin-block: 1rem 0;
    color: var(--hllm-muted);
    font-size: .9rem;
    line-height: 1.6;
}

.hllm-vr-fallback a {
    color: var(--hllm-gold);
    font-weight: 800;
}

.hllm-process {
    background: #ebe8e1;
}

.hllm-process-layout {
    display: grid;
    grid-template-columns: minmax(22rem, .9fr) minmax(25rem, 1.1fr);
    gap: clamp(2.5rem, 7vw, 8rem);
    align-items: start;
}

.hllm-process-visual {
    position: sticky;
    top: 7rem;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: #dce0e1;
}

.hllm-process-visual > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    object-fit: cover;
    transform: scale(1.035);
    transition: opacity .45s ease, transform .8s ease;
}

.hllm-process-visual > img.is-active {
    opacity: 1;
    transform: scale(1);
}

.hllm-process-meter {
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
    z-index: 3;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: .85rem 1rem;
    color: var(--hllm-white);
    background: rgba(16, 24, 32, .9);
}

.hllm-process-meter span {
    display: block;
    height: 2px;
    background: linear-gradient(90deg, var(--hllm-gold) 10%, rgba(255, 255, 255, .2) 10%);
}

.hllm-process-meter b {
    font-size: .7rem;
    letter-spacing: .08rem;
}

.hllm-process-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.hllm-process-list li {
    display: grid;
    grid-template-columns: 3.2rem 1fr;
    gap: 1rem;
    min-height: 14rem;
    align-content: center;
    opacity: .42;
    border-block-start: 1px solid var(--hllm-line);
    transition: opacity .25s ease;
}

.hllm-process-list li:last-child {
    border-block-end: 1px solid var(--hllm-line);
}

.hllm-process-list li.is-active {
    opacity: 1;
}

.hllm-process-list li > span {
    padding-block-start: .35rem;
    color: var(--hllm-gold);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08rem;
}

.hllm-process-list p {
    margin-block-end: .55rem;
    color: var(--hllm-gold);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1rem;
    text-transform: uppercase;
}

.hllm-process-list h3 {
    margin-block-end: .85rem;
    font-family: var(--hllm-display);
    font-size: clamp(2rem, 3vw, 3.5rem);
    font-weight: 500;
}

.hllm-process-list small {
    display: block;
    max-width: 35rem;
    color: var(--hllm-muted);
    font-size: .98rem;
    line-height: 1.65;
}

.hllm-dark {
    color: var(--hllm-white);
    background: var(--hllm-ink);
}

.hllm-dark h2,
.hllm-dark h3 {
    color: var(--hllm-white) !important;
}

.hllm-dark-inner {
    padding: clamp(6rem, 11vw, 11rem) max(5vw, calc((100vw - 86rem) / 2));
}

.hllm-dark h2 {
    max-width: 14ch;
}

.hllm-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-block: clamp(4rem, 8vw, 8rem);
    border-block: 1px solid rgba(255, 255, 255, .18);
}

.hllm-metrics div {
    min-height: 11rem;
    padding: 2rem 1.5rem;
    border-inline-end: 1px solid rgba(255, 255, 255, .18);
}

.hllm-metrics div:last-child {
    border-inline-end: 0;
}

.hllm-metrics strong,
.hllm-metrics span {
    display: block;
}

.hllm-metrics strong {
    margin-block-end: 1rem;
    color: var(--hllm-gold-light);
    font-family: var(--hllm-display);
    font-size: clamp(2.4rem, 4vw, 4.5rem);
    font-weight: 500;
}

.hllm-metrics span {
    color: rgba(255, 255, 255, .65);
    font-size: .76rem;
    letter-spacing: .07rem;
    text-transform: uppercase;
}

.hllm-capability-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(255, 255, 255, .18);
}

.hllm-capability-grid article {
    min-height: 18rem;
    padding: clamp(1.7rem, 3vw, 3rem);
    background: var(--hllm-ink);
}

.hllm-capability-grid article > span {
    color: var(--hllm-gold-light);
    font-size: .7rem;
}

.hllm-capability-grid h3 {
    max-width: 11ch;
    margin-block: 4rem 1rem;
    font-family: var(--hllm-display);
    font-size: clamp(1.7rem, 2.5vw, 2.7rem);
    font-weight: 500;
}

.hllm-capability-grid p {
    color: rgba(255, 255, 255, .62);
    line-height: 1.7;
}

.hllm-trust {
    display: grid;
    grid-template-columns: minmax(20rem, .72fr) minmax(0, 1.28fr);
    gap: clamp(3rem, 7vw, 8rem);
    padding: 0 max(5vw, calc((100vw - 86rem) / 2)) clamp(6rem, 11vw, 11rem);
}

.hllm-trust-copy {
    align-self: center;
}

.hllm-trust-copy h2 {
    margin-block-end: 2rem;
    font-size: clamp(2.8rem, 5vw, 5.5rem);
}

.hllm-trust-copy > p {
    color: rgba(255, 255, 255, .64);
}

.hllm-trust-copy .hllm-actions {
    margin-block-start: 2rem;
}

.hllm-trust-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.hllm-trust-gallery figure {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    margin: 0;
    background: #25313a;
}

.hllm-trust-gallery figure.is-featured {
    grid-column: 1 / -1;
    aspect-ratio: 16 / 8;
}

.hllm-trust-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 32%;
    filter: saturate(.82);
    transition: transform .8s cubic-bezier(.2, .75, .25, 1), filter .3s ease;
}

.hllm-trust-gallery figure:nth-child(2) img,
.hllm-trust-gallery figure:nth-child(3) img {
    object-position: center 24%;
}

.hllm-trust-gallery figure:hover img {
    filter: saturate(1);
    transform: scale(1.035);
}

.hllm-trust-gallery figcaption {
    position: absolute;
    right: .9rem;
    bottom: .9rem;
    left: .9rem;
    padding: .7rem .8rem;
    color: var(--hllm-white);
    background: rgba(16, 24, 32, .78);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .05rem;
    text-transform: uppercase;
}

.hllm-inquiry {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(20rem, .7fr);
    gap: clamp(3rem, 8vw, 10rem);
    align-items: end;
    padding: clamp(6rem, 12vw, 12rem) max(5vw, calc((100vw - 86rem) / 2));
    background: var(--hllm-white);
}

.hllm-inquiry h2 {
    max-width: 14ch;
    margin-block-end: 2rem;
}

.hllm-inquiry-actions {
    display: grid;
    gap: .75rem;
}

.hllm-inquiry-actions p {
    margin: 1rem 0 0;
    color: var(--hllm-muted);
}

.hllm-inquiry-actions p a {
    text-decoration: none;
}

.hllm.is-ready .hllm-reveal {
    opacity: 0;
    transform: translateY(1.2rem);
}

@media (min-width: 64rem) {
    .hllm-series {
        min-height: 100svh;
        padding-block: clamp(2rem, 4vh, 3.5rem);
    }

    .hllm-series .hllm-section-head {
        margin-block-end: clamp(1.5rem, 3vh, 2.5rem);
    }

    .hllm-series .hllm-section-head h2 {
        font-size: clamp(2.8rem, 3.8vw, 4.8rem);
    }

    .hllm-series-track {
        width: max-content;
        grid-template-columns: repeat(4, clamp(25rem, min(31vw, 60vh), 36rem));
    }

    .hllm-series-card {
        grid-template-rows: auto auto;
        height: auto;
    }

    .hllm-series-card figure {
        height: auto;
        min-height: 0;
        margin-block-end: 1rem;
        aspect-ratio: 1 / 1;
    }

    .hllm-series-card p {
        min-height: 0;
        margin-block-end: .65rem;
    }

    .hllm-series-card h3 {
        margin-block-end: .3rem;
        font-size: clamp(1.65rem, 2vw, 2.35rem);
    }
}

@media (max-width: 63.99rem) {
    .hllm-section-head,
    .hllm-story,
    .hllm-process-layout,
    .hllm-trust,
    .hllm-inquiry {
        grid-template-columns: 1fr;
    }

    .hllm-series-track {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
    }

    .hllm-series-card {
        flex: 0 0 min(83vw, 30rem);
        scroll-snap-align: start;
    }

    .hllm-process-visual {
        position: relative;
        top: auto;
        max-width: 42rem;
    }

    .hllm-process-list li {
        min-height: 11rem;
    }

    .hllm-metrics {
        grid-template-columns: repeat(2, 1fr);
    }

    .hllm-metrics div:nth-child(2) {
        border-inline-end: 0;
    }

    .hllm-metrics div:nth-child(-n+2) {
        border-block-end: 1px solid rgba(255, 255, 255, .18);
    }

    .hllm-capability-grid {
        grid-template-columns: 1fr;
    }

    .hllm-capability-grid article {
        min-height: 14rem;
    }

    .hllm-capability-grid h3 {
        margin-block-start: 2.5rem;
    }
}

@media (max-width: 47.99rem) {
    .hllm-section {
        padding: 5.5rem 1.25rem;
    }

    .hllm h2 {
        font-size: clamp(2.45rem, 12vw, 4.2rem);
    }

    .hllm-hero {
        min-height: calc(100svh - 3.6rem);
        align-items: end;
    }

    .hllm-hero-media img {
        object-position: 58% center;
    }

    .hllm-hero-shade {
        background: linear-gradient(0deg, rgba(7, 13, 18, .86) 0%, rgba(7, 13, 18, .36) 68%, rgba(7, 13, 18, .18));
    }

    .hllm-hero-content {
        width: auto;
        margin-inline: 0;
        padding: 8rem 1.25rem 6.5rem;
    }

    .hllm-hero-title {
        max-width: none;
        font-size: clamp(3.2rem, 14vw, 5.4rem);
    }

    .hllm-hero-copy {
        max-width: 29rem;
    }

    .hllm-button {
        min-height: 3.25rem;
    }

    .hllm-vr-frame iframe {
        height: 70svh;
        min-height: 28rem;
    }

    .hllm-vr-frame::after {
        width: 16rem;
        max-width: 56vw;
        height: 4rem;
    }

    .hllm-scroll-cue {
        display: none;
    }

    .hllm-series-track {
        margin-inline-end: -1.25rem;
        padding-inline-end: 1.25rem;
    }

    .hllm-story {
        gap: 3.5rem;
    }

    .hllm-process-layout {
        gap: 2rem;
    }

    .hllm-process-visual {
        position: sticky;
        top: .75rem;
        z-index: 5;
        aspect-ratio: 4 / 3;
        box-shadow: 0 .75rem 2rem rgba(16, 24, 32, .14);
    }

    .hllm-process-list li {
        grid-template-columns: 2.6rem 1fr;
        min-height: 10rem;
    }

    .hllm-process-list h3 {
        font-size: 2rem;
    }

    .hllm-dark-inner,
    .hllm-trust,
    .hllm-inquiry {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    .hllm-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .hllm-metrics div {
        min-height: 9rem;
        padding: 1.5rem 1rem;
    }

    .hllm-trust-gallery {
        grid-template-columns: 1fr;
    }

    .hllm-trust-gallery figure.is-featured {
        grid-column: auto;
        aspect-ratio: 4 / 3;
    }

    .hllm-trust-gallery figure {
        aspect-ratio: 4 / 3;
    }

    .hllm-inquiry {
        padding-block: 6rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hllm *,
    .hllm *::before,
    .hllm *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .hllm.is-ready .hllm-reveal {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-contrast: more) {
    .hllm {
        --hllm-muted: #38434a;
        --hllm-line: rgba(16, 24, 32, .42);
    }
}
