/* Independent homepage composition, reusing the existing marketing header. */
html:has(>.homepage-v2),.homepage-v2{background:#090909}
html.home-covered,html.home-covered>.homepage-v2{background:#fff}
.homepage-v2 .home-v2-cover{position:sticky;top:0;height:100svh;z-index:0}
.homepage-v2>header{position:absolute;inset:0 0 auto;width:100%;z-index:1;background:#090909;color:#fff}
.homepage-v2 .commercial-header .brand-logo{filter:brightness(0) invert(1)}
.homepage-v2 .commercial-header .header-link:hover{background:#252525}
.homepage-v2 .commercial-header .studio-cta{background:#fff;color:#090909}
.homepage-v2 .commercial-header .studio-cta:hover{background:#ffff51;color:#090909}
.homepage-v2>header a:focus-visible,.homepage-v2 .home-v2-cover a:focus-visible{outline-color:#fff}
.homepage-v2>main{width:100%;max-width:none;margin:0;padding:0;min-height:0}
.homepage-v2 .hero-v2{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:20px;padding:93px 40px 30px;background:#090909;color:#fff}
.homepage-v2 .art-v2{width:100%;max-width:none;min-height:0;margin:0;padding:0;background:transparent;border:0;border-radius:0;position:relative}
.homepage-v2 .hero-motion{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;background:#090909;overflow:hidden}
.homepage-v2 .hero-motion canvas{transform:none;width:100%;height:100%;object-fit:contain;border:0;border-radius:0;box-shadow:none;cursor:default}
.homepage-v2 .image-strip{left:50%;right:auto;width:auto;height:100%;max-width:100%;transform:translateX(-50%);background:#090909;padding:0;border:0;box-shadow:none}
.homepage-v2 .home-v2-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.homepage-v2 .intro-v2{font-size:clamp(20px,1.65vw,27px);line-height:1.23;letter-spacing:-.025em;max-width:470px;margin:0}
.homepage-v2 .home-v2-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 24px;max-width:330px;text-align:right;font-size:12px;color:#636569}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:760px){
 .homepage-v2 .hero-v2{gap:14px;padding:64px 20px 24px}
 .homepage-v2 .home-v2-footer{flex-direction:column-reverse;align-items:stretch;gap:14px}
 .homepage-v2 .home-v2-actions{max-width:100%}
 .homepage-v2 .intro-v2{font-size:22px;max-width:410px}
}
@media(max-width:380px){.homepage-v2 .intro-v2{font-size:19px}.homepage-v2 .hero-v2{padding-bottom:20px}}
@media(max-height:600px) and (min-width:600px){
 .homepage-v2 .hero-v2{gap:10px;padding-bottom:16px}
 .homepage-v2 .home-v2-footer{flex-direction:row;align-items:flex-end;gap:24px}
 .homepage-v2 .intro-v2{font-size:19px;max-width:440px}
}

/* The opaque tool section scrolls over the sticky first screen using normal scrolling. */
.homepage-v2 .tools-overlay{position:relative;z-index:2;background:#fff;padding:clamp(64px,7.5vw,120px) 40px 48px;outline:none}
.homepage-v2 .tools-overlay-start{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}
.homepage-v2 .tools-intro{margin-bottom:clamp(48px,6vw,96px)}
.homepage-v2 .tools-intro .eyebrow{margin-bottom:24px}
.homepage-v2 .tools-intro h2{max-width:1440px;font-size:clamp(36px,4.5vw,76px);line-height:1.08;letter-spacing:-.035em}
.homepage-v2 .tools-intro h2 span{color:#85868b}
.homepage-v2 .tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 24px}
.homepage-v2 .tool-block{display:block;min-width:0}
.homepage-v2 .tool-visual{position:relative;aspect-ratio:4/3;overflow:hidden;background:#f5f5f2}
.homepage-v2 .tool-visual>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.homepage-v2 .tool-motion>img{object-position:50% 38%}
.homepage-v2 .tool-type{background:#000}
.homepage-v2 .tool-label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}
.homepage-v2 .tool-label h3{font-size:clamp(26px,2.3vw,38px);line-height:1.1;font-weight:400;letter-spacing:-.03em;margin:0}
.homepage-v2 .tool-label>span{font-size:27px;transition:transform .2s ease}
.homepage-v2 .tool-block>p{color:#636569;font-size:17px;line-height:1.4;margin:9px 0 0}
.homepage-v2 .tool-block:focus-visible{outline:3px solid #090909;outline-offset:7px}
@media(hover:hover){.homepage-v2 .tool-block:hover .tool-label>span{transform:translate(3px,-3px)}.homepage-v2 .tool-block:not(:has(.tool-carousel)):hover .tool-visual>img{transform:scale(1.025)}}
.homepage-v2 .tool-carousel{background:#e4e6dc;display:flex;align-items:center;justify-content:center;gap:3%;padding:8% 7%}
.homepage-v2 .tool-carousel>img{flex:0 0 39%;width:39%;height:auto;aspect-ratio:4/5;object-fit:cover;box-shadow:0 8px 28px #00000012}
.homepage-v2 .tool-carousel>img:first-child{transform:rotate(-8deg) translateY(6%)}
.homepage-v2 .tool-carousel>img:nth-child(2){transform:translateY(-5%);z-index:1}
.homepage-v2 .tool-carousel>img:last-child{transform:rotate(8deg) translateY(6%)}
.homepage-v2 .tool-block-wide{grid-column:1/-1}
.homepage-v2 .tool-banner{aspect-ratio:2/1;background:#f0efe0}
.homepage-v2 .tool-banner>img{object-fit:contain}
.homepage-v2 .tools-end{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:100px 0 28px}
.homepage-v2 .tools-end>p{font-size:clamp(30px,4vw,60px);letter-spacing:-.035em;margin:0}
.homepage-v2 .tools-end>.button{flex-shrink:0;background:#090909;color:#fff}
.homepage-v2 .tools-end>.button:hover{background:#ffff51;color:#090909}
.homepage-v2>footer.home-v2-site-footer{position:relative;z-index:2;background:#fff;max-width:none;padding:30px 40px;border-top:1px solid #e4e5e7}
.homepage-v2 .home-v2-explore{display:inline-flex;align-items:center;gap:18px;min-height:44px;border-bottom:1px solid #fff;font-size:15px;color:#fff;white-space:nowrap}
@media(max-width:760px){
 .homepage-v2 .tools-overlay{padding:64px 20px 30px}
 .homepage-v2 .tools-intro{margin-bottom:40px}
 .homepage-v2 .tools-intro h2{font-size:clamp(32px,5.8vw,44px)}
 .homepage-v2 .tool-grid{grid-template-columns:1fr;gap:40px}
 .homepage-v2 .tool-label{margin-top:16px}
 .homepage-v2 .tool-block>p{font-size:16px}
 .homepage-v2 .tools-end{align-items:flex-start;flex-direction:column;padding:64px 0 16px}
 .homepage-v2>footer.home-v2-site-footer{padding:28px 20px}
 .homepage-v2>footer nav{gap:4px 20px}
 .homepage-v2>footer nav a{display:inline-flex;align-items:center;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.homepage-v2 .home-v2-cover{position:relative}.homepage-v2 .tool-visual>img,.homepage-v2 .tool-label>span{transition:none}}

/* Rounded still fallback matches the homepage canvas cards. */
.homepage-v2 .art-v2 .art-grid picture{border-radius:clamp(12px,2vw,28px);overflow:hidden}

/* Homepage tool previews: silent, automatically playing videos. */
.homepage-v2 .tool-video-block{position:relative}
.homepage-v2 .tool-video-block>a{display:block}
.homepage-v2 .tool-logo{background:#000}
.homepage-v2 .tool-video-block video{display:block;width:100%;height:100%;object-fit:contain;background:#000}

/* Match the static opening to the animated cards, including on narrow screens. */
.homepage-v2 .hero-motion{container-type:size}
.homepage-v2 .art-v2 .art-grid{--opening-unit:min(100cqh,67.6775cqw);inset:0;width:100%;height:100%;max-width:none;transform:none;aspect-ratio:auto;justify-content:center;gap:calc(var(--opening-unit)*.024)}
.homepage-v2 .art-v2 .art-grid>picture{width:calc(var(--opening-unit)*.411147541);height:calc(var(--opening-unit)*.57);flex-shrink:0;border-radius:calc(var(--opening-unit)*.032891803)}
.homepage-v2 .art-v2 .art-grid>picture:nth-child(2){width:calc(var(--opening-unit)*.548196721);height:calc(var(--opening-unit)*.76);border-radius:calc(var(--opening-unit)*.043855738)}
.homepage-v2 .art-v2 .art-grid>picture>img{width:100%;height:100%;object-fit:cover}
