
@keyframes homeHeroCopyEnter {
 from {
 opacity: 0;
 transform: translate3d(0, -82px, 0);
 filter: blur(8px);
 }
 to {
 opacity: 1;
 transform: translate3d(0, 0, 0);
 filter: blur(0);
 }
}

@keyframes homeTileFloat {
 0%, 100% { translate: 0 0; }
 50% { translate: 0 -5px; }
}

.home-story-card {position: relative;
 overflow: hidden;
 width: 100%;
 min-height: clamp(560px, 70vh, 760px);
 padding: clamp(28px, 3.2vw, 48px);
 border: 1px solid rgba(245, 242, 223, .15);
 border-radius: clamp(24px, 2.6vw, 34px);
 color: rgba(255, 248, 232, .88);
 background:
 radial-gradient(circle at 78% 14%, rgba(217, 201, 142, .12), transparent 18rem),
 radial-gradient(circle at 24% 78%, rgba(245, 242, 223, .055), transparent 18rem),
 linear-gradient(145deg, rgba(245, 242, 223, .060), rgba(21, 25, 20, .48) 56%, rgba(228, 154, 46, .020));
 box-shadow: 0 32px 110px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .10), inset 0 -1px 0 rgba(0, 0, 0, .22);
 backdrop-filter: blur(10px) saturate(120%);}

.home-story-card::before {content: "";
 position: absolute;
 inset: 0;
 opacity: .32;
 background-image:
 linear-gradient(rgba(245, 242, 223, .060) 1px, transparent 1px),
 linear-gradient(90deg, rgba(245, 242, 223, .050) 1px, transparent 1px);
 background-size: 54px 54px;
 mask-image: radial-gradient(circle at 68% 30%, black, transparent 78%);
 pointer-events: none;}

.home-story-card::after {content: "";
 position: absolute;
 inset: -1px;
 background: linear-gradient(120deg, transparent 30%, rgba(255, 248, 232, .055) 43%, rgba(217, 201, 142, .050) 50%, transparent 66%);
 opacity: .40;
 pointer-events: none;}

.home-story-card > * {position: relative;
 z-index: 1;}

.home-story-right-kicker {width: max-content;
 max-width: 100%;
 display: flex;
 align-items: center;
 gap: 14px;
 margin: 0 0 clamp(26px, 3.2vw, 42px);
 color: rgba(255, 248, 232, .95);
 font-size: clamp(.78rem, .8vw, .94rem);
 font-weight: 600;
 letter-spacing: .075em;
 white-space: nowrap;
 text-shadow: 0 0 18px rgba(255, 248, 232, .13), 0 0 28px rgba(217, 201, 142, .08);}

.home-story-right-kicker::before,
.home-story-right-kicker::after {content: "";
 display: block;
 width: clamp(28px, 4vw, 74px);
 height: 1px;
 background: linear-gradient(90deg, transparent, rgba(217, 201, 142, .74), rgba(245, 242, 223, .28), transparent);
 box-shadow: 0 0 18px rgba(217, 201, 142, .16);}

.home-story-right-kicker::after {width: clamp(18px, 2.5vw, 46px);
 opacity: .55;}

.home-card-headline > span {display: block;
 margin: 0 0 14px;
 color: rgba(217, 201, 142, .92);
 font-size: .76rem;
 font-weight: 800;
 letter-spacing: .13em;
 text-transform: uppercase;}

.home-card-headline h3 {margin: 0;
 color: #fffbea;
 font-family: var(--font-heading);
 font-size: clamp(1.75rem, 3vw, 4.1rem);
 font-weight: 600;
 line-height: 1.02;
 letter-spacing: -.055em;
 text-wrap: balance;}

.home-card-headline p {max-width: 830px;
 margin: clamp(18px, 2vw, 26px) 0 0;
 color: rgba(255, 248, 232, .76);
 font-size: clamp(.98rem, 1.05vw, 1.14rem);
 line-height: 1.72;}

.home-story.home-hero {padding-top: clamp(142px, 16vh, 178px);
 padding-bottom: clamp(92px, 12vw, 156px);
 overflow: visible;}

.home-story.home-hero .sticky-scroll-grid,
.home-story-grid {width: min(1500px, 100%);
 grid-template-columns: minmax(340px, .60fr) minmax(620px, 1.20fr);
 gap: clamp(36px, 6vw, 104px);
 align-items: start;}

.home-story.home-hero .sticky-scroll-copy,
.home-story-copy {grid-column: 1;
 top: clamp(118px, 15vh, 166px);
 min-height: 70vh;}

.home-story.home-hero .sticky-scroll-copy-inner,
.home-story-copy-inner {width: min(610px, 100%);}

.home-story.home-hero .sticky-scroll-track,
.home-story-track {grid-column: 2;
 display: grid;
 gap: clamp(36px, 8vh, 96px);
 padding-top: 0;
 justify-items: stretch;}

.home-story.home-hero .sticky-scroll-item,
.home-story-item {width: 100%;
 min-height: 78vh;
 display: flex;
 align-items: center;
 justify-content: stretch;}

.home-story.home-hero .sticky-scroll-item:first-child,
.home-story-item-hero {min-height: 78vh;
 padding-top: 0;
 align-items: flex-start;
 justify-content: center;}

.home-story-item-content {align-items: center;}

.home-story .home-story-card {min-height: clamp(560px, 70vh, 760px);}

.home-story.home-hero .sticky-scroll-title {font-size: clamp(1.62rem, 2.62vw, 3.35rem);
 line-height: 1.045;}

.home-story.home-hero .sticky-scroll-lead {max-width: 570px;
 color: rgba(255, 248, 232, .78);
 font-size: clamp(.98rem, 1.04vw, 1.18rem);
 line-height: 1.76;}

.home-story.home-hero {padding-top: clamp(138px, 15vh, 172px);
 padding-bottom: clamp(76px, 10vw, 132px);}

.home-story.home-hero .sticky-scroll-grid,
.home-story-grid {grid-template-columns: minmax(330px, .58fr) minmax(650px, 1.24fr);
 gap: clamp(40px, 6.4vw, 116px);}

.home-story.home-hero .sticky-scroll-copy,
.home-story-copy {top: clamp(112px, 14vh, 154px);
 min-height: 72vh;}

.home-story.home-hero .sticky-scroll-track,
.home-story-track {gap: clamp(28px, 7vh, 82px);}

.home-story.home-hero .sticky-scroll-item,
.home-story-item {min-height: 82vh;}

.home-story.home-hero .sticky-scroll-title {max-width: 660px;
 font-size: clamp(1.76rem, 2.75vw, 3.55rem);}

.home-story.home-hero .sticky-scroll-lead {max-width: 600px;
 color: rgba(255, 248, 232, .82);}

.home-story.home-hero .sticky-scroll-action-primary {min-width: 136px;}

.home-story.home-hero .sticky-scroll-action:not(.sticky-scroll-action-primary) {min-width: 190px;}

.home-story.home-hero .home-story-item-hero {align-items: flex-start;}

.home-story.home-hero .home-story-item-hero .home-hero-os-shell {align-self: flex-start;}

@keyframes homeProcessRotate {
 to { transform: rotate(360deg); }
}

@keyframes homeProcessPulse {
 0%, 100% { opacity: .42; transform: scale(.82); }
 50% { opacity: 1; transform: scale(1.18); }
}
