.home-page {
    overflow: clip;
    background: var(--attiva-ivory);
}

.home-origin-story {
    position: relative;
    isolation: isolate;
    min-height: min(860px, 92svh);
    padding: clamp(72px, 9vw, 132px) clamp(22px, 5vw, 80px) clamp(64px, 8vw, 112px);
    overflow: hidden;
    color: var(--attiva-deep);
    background:
        radial-gradient(circle at 76% 45%, rgba(98, 197, 207, .18), transparent 28%),
        linear-gradient(125deg, #fbfaf6 0%, #f7faf8 54%, #e7f2f2 100%);
}

.home-origin-story::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .38;
    background-image: radial-gradient(rgba(6, 47, 85, .12) .65px, transparent .65px);
    background-size: 17px 17px;
    mask-image: linear-gradient(90deg, #000, transparent 48%);
}

.home-origin-story__mountains {
    position: absolute;
    z-index: -1;
    right: -2%;
    bottom: 0;
    width: min(72vw, 1120px);
    height: auto;
    opacity: .12;
    transform: scale(1.12);
    transform-origin: right bottom;
}

.home-origin-story__inner {
    width: min(1320px, 100%);
    min-height: 650px;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(310px, .72fr) minmax(250px, .48fr);
    align-items: center;
    gap: clamp(34px, 5vw, 82px);
    margin: 0 auto;
}

.home-origin-story__copy { max-width: 620px; }

.home-origin-story__eyebrow,
.home-section-heading span {
    display: block;
    margin-bottom: 18px;
    color: #087397;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.home-origin-story h2,
.home-section-heading h2 {
    margin: 0;
    color: var(--attiva-deep);
    font-family: "Cormorant Garamond", serif;
    font-weight: 600;
    letter-spacing: -.045em;
}

.home-origin-story h2 {
    max-width: 620px;
    font-size: clamp(4rem, 8vw, 7.8rem);
    line-height: .82;
}

.home-origin-story__lead {
    max-width: 570px;
    margin: clamp(30px, 4vw, 48px) 0 14px;
    color: #244a62;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1.55rem, 2.2vw, 2.15rem);
    line-height: 1.18;
}

.home-origin-story__copy > p:not(.home-origin-story__lead) {
    max-width: 530px;
    color: #587084;
    font-size: .9rem;
    line-height: 1.8;
}

.home-origin-story__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    margin-top: 34px;
}

.home-origin-story__text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--attiva-deep);
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}

.home-origin-story__text-link i { transition: transform .25s ease; }
.home-origin-story__text-link:hover i { transform: translateX(5px); }

.home-origin-story__product {
    position: relative;
    align-self: stretch;
    display: grid;
    place-items: center;
    min-height: 640px;
}

.home-origin-story__product > img {
    position: relative;
    z-index: 2;
    width: min(100%, 405px);
    max-height: 650px;
    object-fit: contain;
    mix-blend-mode: multiply;
    filter: drop-shadow(0 28px 34px rgba(6, 47, 85, .16));
}

.home-origin-story__halo {
    position: absolute;
    width: min(34vw, 460px);
    aspect-ratio: 1;
    border: 1px solid rgba(8, 121, 167, .22);
    border-radius: 50%;
    background: rgba(255, 255, 255, .45);
    box-shadow: 0 0 0 42px rgba(255, 255, 255, .18), 0 0 0 84px rgba(98, 197, 207, .06);
}

.home-origin-story__caption {
    position: absolute;
    z-index: 3;
    right: -18px;
    bottom: 60px;
    display: grid;
    gap: 3px;
    padding: 14px 18px;
    border-left: 2px solid var(--attiva-gold);
    background: rgba(251, 250, 246, .82);
    backdrop-filter: blur(8px);
}

.home-origin-story__caption span {
    color: #6e8492;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.home-origin-story__caption strong {
    font-family: "Cormorant Garamond", serif;
    font-size: 1.28rem;
}

.home-origin-story__facts {
    display: grid;
    align-content: center;
    gap: 0;
    border-top: 1px solid var(--attiva-line);
}

.home-origin-story__facts > div {
    display: grid;
    gap: 2px;
    padding: 23px 0;
    border-bottom: 1px solid var(--attiva-line);
}

.home-origin-story__facts strong {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2rem, 3vw, 3.25rem);
    font-weight: 600;
    line-height: .92;
}

.home-origin-story__facts span {
    color: #687e8e;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-origin-story__facts p {
    margin: 24px 0 0;
    color: #4e697b;
    font-size: .76rem;
    line-height: 1.65;
}

.home-origin-story__facts i { margin-right: 7px; color: var(--attiva-blue); }

.line-grid {
    padding: clamp(64px, 8vw, 112px) clamp(18px, 4vw, 62px);
    background: #f5f8f8;
}

.home-section-heading {
    width: min(1300px, 100%);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .65fr);
    align-items: end;
    gap: 30px;
    margin: 0 auto 42px;
}

.home-section-heading span { margin-bottom: 10px; }
.home-section-heading h2 { font-size: clamp(2.8rem, 5vw, 5rem); line-height: .92; }
.home-section-heading p { max-width: 480px; margin: 0 0 5px auto; color: #61798a; font-size: .88rem; line-height: 1.7; }

.line-grid > .row { width: min(1420px, 100%); margin-inline: auto; }
.line-grid .home-card { border-top: 0; border-radius: 4px; box-shadow: 0 12px 34px rgba(6, 47, 85, .08); }
.line-grid .home-card:hover { box-shadow: 0 22px 48px rgba(6, 47, 85, .14); }

.js [data-home-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1);
}

.js [data-home-reveal][data-home-reveal-delay="1"] { transition-delay: .12s; }
.js [data-home-reveal][data-home-reveal-delay="2"] { transition-delay: .24s; }
.js [data-home-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1180px) {
    .home-origin-story__inner { grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr); }
    .home-origin-story__facts { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
    .home-origin-story__facts > div { padding: 20px 24px 20px 0; border-right: 1px solid var(--attiva-line); }
    .home-origin-story__facts p { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .home-origin-story { min-height: auto; padding: 66px 20px 58px; }
    .home-origin-story__inner { min-height: 0; grid-template-columns: 1fr; gap: 28px; }
    .home-origin-story h2 { font-size: clamp(3.65rem, 19vw, 5.4rem); }
    .home-origin-story__lead { font-size: 1.5rem; }
    .home-origin-story__actions { align-items: stretch; flex-direction: column; gap: 18px; }
    .home-origin-story__actions .button-primary { justify-content: center; }
    .home-origin-story__text-link { justify-content: center; }
    .home-origin-story__product { min-height: 500px; order: 2; }
    .home-origin-story__product > img { max-height: 500px; }
    .home-origin-story__halo { width: 78vw; }
    .home-origin-story__caption { right: 0; bottom: 32px; }
    .home-origin-story__facts { grid-column: auto; grid-template-columns: 1fr; order: 3; }
    .home-origin-story__facts > div { padding: 18px 0; border-right: 0; }
    .home-origin-story__facts p { grid-column: auto; }
    .home-section-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; }
    .home-section-heading p { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .js [data-home-reveal] { opacity: 1; transform: none; transition: none; }
    .home-origin-story__text-link i { transition: none; }
}
