/* Editorial black homepage, scoped to the redesign theme. */
.is-landing { background:#080808; color:#f3f2ef; }
.home-v2 { --home-bg:#080808; --home-fg:#f3f2ef; --home-muted:#aaa9a6; --home-line:#363636; --home-red:#ff3333; overflow:hidden; overflow:clip; background:var(--home-bg); color:var(--home-fg); }
.home-v2__wrap { width:min(100%,1680px); margin-inline:auto; padding-inline:clamp(22px,4.2vw,70px); }
.home-v2 a:focus-visible { outline:2px solid var(--home-red); outline-offset:5px; }
.home-v2 h1,.home-v2 h2,.home-v2 h3,.home-v2 p { margin:0; }
.home-v2 h1 i,.home-v2 h2 em { color:var(--home-red); font-style:normal!important; }
.home-v2 h1,.home-v2 h1 span,.home-v2 h1 i,.home-v2 h2,.home-v2 h2 em,.home-v2 h3 { font-weight:600!important; letter-spacing:-.075em!important; }
.home-v2 a,.home-v2 a:link,.home-v2 a:visited { color:var(--home-fg); }
.home-v2__hero { min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding-top:clamp(135px,16vh,180px); padding-bottom:clamp(30px,5vh,55px); }
.home-v2 h1 { width:100%; margin-block:auto!important; padding-block:25px; font-size:clamp(64px,10vw,158px)!important; line-height:.88; }
.home-v2 h1 span { display:block; white-space:nowrap; }
.home-v2__hero-bottom { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.home-v2__hero-bottom p { max-width:400px; font-size:clamp(16px,1.35vw,20px)!important; line-height:1.45; }
.home-v2__arrow-link { display:inline-flex; align-items:center; gap:28px; padding-bottom:7px; border-bottom:1px solid currentColor; font-size:14px!important; line-height:1.3; white-space:nowrap; transition:color .2s,border-color .2s; }
.home-v2__arrow-link span { font-size:21px!important; line-height:1; transition:transform .25s; }
.home-v2__arrow-link:hover,.home-v2__project a:hover .home-v2__project-title { color:var(--home-red)!important; }
.home-v2__arrow-link:hover span { transform:translate(3px,-3px); }
.home-v2__work { padding-top:clamp(85px,13vw,190px); padding-bottom:clamp(100px,14vw,200px); scroll-margin-top:80px; }
.home-v2__work-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; padding-bottom:clamp(45px,7vw,95px); }
.home-v2 h2 { font-size:clamp(55px,7.9vw,124px)!important; line-height:.94; }
.home-v2__work-rows { display:grid; gap:clamp(26px,4vw,60px); }
.home-v2__work-row { width:100%; overflow:hidden; overflow:clip; touch-action:pan-y pinch-zoom; }
.home-v2__work-track,.home-v2__work-set { display:flex; width:max-content; }
.home-v2__work-track { will-change:transform; }
.home-v2__work-set { gap:clamp(15px,2vw,34px); padding-right:clamp(15px,2vw,34px); }
.home-v2__project { min-width:0; }
.home-v2__project a { display:block; }
.home-v2__project { width:clamp(290px,31vw,570px); }
.home-v2__project-media { display:block; overflow:hidden; background:#171717; aspect-ratio:1.06; }
.home-v2__work-row:nth-child(2) .home-v2__project-media { aspect-ratio:1.32; }
.home-v2__project-image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.1,1),filter .4s; }
.home-v2__project a:hover .home-v2__project-image { transform:scale(1.055); }
.home-v2__project-meta { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-top:14px; }
.home-v2__project-title { font-size:clamp(19px,1.7vw,27px)!important; line-height:1.16; font-weight:600!important; letter-spacing:-.05em!important; transition:color .2s; }
.home-v2__project-cat { max-width:42%; color:var(--home-muted); font-size:11px!important; line-height:1.35; text-align:right; }
.home-v2__work-end { display:flex; justify-content:flex-end; margin-top:clamp(60px,7vw,110px); }
.home-v2__services { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(50px,8vw,150px); padding-top:clamp(85px,11vw,165px); padding-bottom:clamp(110px,15vw,220px); scroll-margin-top:80px; }
.home-v2__services-intro h2 { margin:0 0 28px; font-size:clamp(54px,5.7vw,90px)!important; }
.home-v2__services-intro > p:last-child { max-width:440px; color:var(--home-muted); font-size:clamp(17px,1.45vw,22px)!important; line-height:1.5; }
.home-v2__service-list { display:grid; align-content:start; gap:clamp(42px,5vw,78px); }
.home-v2__service { padding:0; }
.home-v2__service h3 { font-size:clamp(28px,3.3vw,52px)!important; line-height:1.08; }
.home-v2__service p { max-width:510px; margin-top:16px; color:var(--home-muted); font-size:15px!important; line-height:1.55; }
.home-v2__about { padding-top:clamp(85px,11vw,160px); padding-bottom:clamp(100px,12vw,180px); }
.home-v2__about > div { width:min(100%,950px); margin-left:auto; }
.home-v2__about h2 { max-width:1080px; font-size:clamp(44px,5.4vw,86px)!important; }
.home-v2__about p { max-width:620px; margin:35px 0; color:var(--home-muted); font-size:clamp(17px,1.5vw,22px)!important; line-height:1.5; }
.home-v2__contact { padding-top:clamp(70px,9vw,130px); padding-bottom:clamp(110px,14vw,220px); }
.home-v2__contact h2 { margin:0 0 50px; font-size:clamp(58px,8vw,125px)!important; }
.home-v2__contact-link { display:inline-flex; justify-content:space-between; align-items:center; width:min(100%,500px); padding:18px 0; color:var(--home-red)!important; font-size:clamp(20px,2vw,30px)!important; transition:padding .2s; }
.home-v2__contact-link:hover { padding-inline:10px; }
.home-v2__contact-link span { font-size:30px!important; }
.is-landing .site-nav { background:#080808; }
.is-landing .site-nav.scrolled { background:rgba(8,8,8,.94); }
.is-landing .nav-logo,.is-landing .nav-logo:link,.is-landing .nav-logo:visited,.is-landing .nav-logo:hover,.is-landing .nav-logo:active,.is-landing .nav-links a,.is-landing .nav-links a:link,.is-landing .nav-links a:visited { color:#f3f2ef!important; }
.is-landing .nav-links a:hover { color:#ff3333!important; }
.is-landing .nav-toggle { color:#f3f2ef!important; }
.is-landing .site-footer { background:#080808; color:#f3f2ef; }
.is-landing .site-footer::before { display:none; }
.is-landing .site-footer a,.is-landing .site-footer a:link,.is-landing .site-footer a:visited { color:#f3f2ef; }
@media(max-width:900px) {
  .home-v2__hero { padding-top:135px; }
  .home-v2 h1 { font-size:clamp(58px,9.7vw,90px)!important; }
  .home-v2__services { grid-template-columns:1fr; gap:60px; }
  .home-v2__about > div { margin-left:0; }
  .is-landing .nav-links { background:#080808; border-color:#363636; }
  .is-landing .nav-links li { border-color:#363636; }
}
@media(max-width:650px) {
  .home-v2__hero { min-height:100svh; padding-top:120px; padding-bottom:30px; }
  .home-v2 h1 { font-size:clamp(51px,16vw,70px)!important; line-height:.96; }
  .home-v2__hero-bottom { flex-direction:column; align-items:start; gap:28px; }
  .home-v2__work-heading { align-items:start; flex-direction:column; }
  .home-v2 h2 { font-size:clamp(50px,11vw,74px)!important; }
  .home-v2__project { width:76vw; }
  .home-v2__project-title { font-size:19px!important; }
  .home-v2__services-intro h2 { font-size:clamp(54px,11vw,74px)!important; }
  .home-v2__service-list { gap:44px; }
  .home-v2__service h3 { font-size:34px!important; }
  .home-v2__contact h2 { font-size:clamp(47px,10vw,70px)!important; }
}
@media(max-width:380px) { .home-v2__about h2 { font-size:11.8vw!important; } }
@media(prefers-reduced-motion:reduce) { .home-v2 * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media(prefers-reduced-motion:reduce) { .home-v2__work-track { will-change:auto; } }
