.home-hero { min-height:100svh; position:relative; overflow:hidden; background:#0a0a0a; color:#f1eee8; }
.home-hero__media { position:absolute; inset:0; }
.home-hero__media img { object-position:50% 28%; }
.home-hero__media:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0005,transparent 65%),linear-gradient(0deg,#0009,transparent 55%); }
.home-hero__content { position:relative; min-height:100svh; padding:calc(var(--nav-h) + 30px) var(--pad) 28px; display:flex; flex-direction:column; justify-content:flex-end; }
.home-hero__content > .eyebrow { color:#f1eee8; margin-bottom:36px; }
.home-hero__title { margin-left:-.02em; font:400 clamp(9rem,25vw,31rem)/.72 var(--serif); letter-spacing:-.055em; padding-bottom:.1em; }
.hero-explore { position:absolute; top:calc(var(--nav-h) + 26px); right:var(--pad); }
.home-hero__meta { margin-top:40px; display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:20px; }
.home-hero__meta p { max-width:19rem; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; }
.home-hero__meta > :last-child { text-align:right; justify-self:end; }
.scroll-cue { display:grid; place-items:center; width:44px; height:44px; border:1px solid #f1eee870; }
.scroll-cue svg { width:18px; height:18px; }
.home-statement { min-height:75svh; display:grid; place-items:center; text-align:center; }
.home-statement > div { width:100%; }
.home-statement .display { margin:40px auto 65px; font-size:clamp(4rem,9.8vw,11rem); }
.home-statement .accent { color:var(--accent); }
.statement-end { max-width:650px; margin:auto; display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:18px; text-transform:uppercase; font-size:.57rem; letter-spacing:.13em; }
.statement-end a { display:flex; align-items:center; gap:12px; min-height:44px; }
.statement-end svg { width:20px; }
.home-teasers { display:grid; grid-template-columns:1.15fr .85fr; gap:10vw; align-items:start; }
.teaser { min-width:0; }
.teaser--offset { margin-top:24vw; }
.teaser__image { aspect-ratio:4/5; }
.teaser--offset .teaser__image { aspect-ratio:3/4; }
.teaser__caption { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:20px; }
.teaser__caption h2 { font:400 clamp(2.5rem,4vw,4rem)/1 var(--serif); letter-spacing:-.04em; }
.home-work-preview { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:start; }
.home-work-preview__sticky { position:sticky; top:calc(var(--nav-h) + 8vh); }
.home-work-preview__sticky h2 { margin:30px 0; }
.home-work-preview__sticky .link-arrow { margin-top:28px; }
.home-work-preview__list { display:grid; gap:6vw; }
.preview-card { display:block; position:relative; overflow:hidden; aspect-ratio:4/5; }
.preview-card:first-child { aspect-ratio:3/4; }
.preview-card:nth-child(2) { width:85%; justify-self:end; }
.preview-card img { transition:transform 1s var(--ease); }
.preview-card:first-child img { object-position:50% 48%; }
.preview-card:after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,#0009); pointer-events:none; }
.preview-card:hover img { transform:scale(1.025); }
.preview-card__label { position:absolute; z-index:1; left:24px; right:24px; bottom:24px; display:flex; justify-content:space-between; align-items:end; color:#f1eee8; }
.preview-card__label h3 { font:400 clamp(2.3rem,4.5vw,5rem)/1 var(--serif); letter-spacing:-.03em; }
.preview-card__label span { font-size:.63rem; }
.home-contact-tease { min-height:80svh; display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; padding:8vw var(--pad); align-items:center; }
.home-contact-tease__media { aspect-ratio:1179/1421; }
.home-contact-tease__media img { transform:none; }
.home-contact-tease__copy h2 { margin:24px 0 35px; font:400 clamp(3.7rem,7.2vw,8rem)/.98 var(--serif); letter-spacing:-.045em; }

.boot-ready .home-hero__title > span { display:block; animation:hero-title-in .85s var(--ease) both; }
@keyframes hero-title-in { from { opacity:0; transform:translateY(35px); } to { opacity:1; transform:none; } }
