/* A trailer assembling in a continuous document; no scroll pinning. */
.home-v2{--hv-bg:#101317;--hv-fg:#f2f2ed;--hv-muted:#b2bac2;--hv-blue:#0649ef;background:var(--hv-bg);color:var(--hv-fg);overflow:clip;isolation:isolate}
body.home-v2-page,body:has(.home-v2){background:#101317;color:#f2f2ed;color-scheme:dark}
body.home-v2-page .header,body:has(.home-v2) .header{background:#101317;border-color:#ffffff15}
body.home-v2-page .header-inner,body:has(.home-v2) .header-inner{min-height:76px;max-width:1440px}
body.home-v2-page .brand,body:has(.home-v2) .brand{width:123px;height:70px}
body.home-v2-page .footer,body:has(.home-v2) .footer{background:#101317;border-color:#ffffff20;color:#f2f2ed}
.home-v2::selection,.home-v2 ::selection{background:#0649ef;color:white}
.home-v2 a:focus-visible{outline:3px solid #9dbbff;outline-offset:6px}
.home-v2 h2{font-size:clamp(3.6rem,6.8vw,6rem);text-transform:uppercase;line-height:1;letter-spacing:-.015em;text-wrap:balance}
.home-v2 h2 em{color:#356dff;font-weight:700;font-style:italic;line-height:1.1;display:inline-block;padding-bottom:.025em}
.home-v2 p{color:var(--hv-muted)}
.hv-hero{position:relative;isolation:isolate;min-height:clamp(560px,calc(100svh - 76px),940px);overflow:clip;background:#101317}
.hv-photo-plane{position:absolute;inset:-40px 0 0;z-index:-4;overflow:hidden}
.hv-photo{width:100%;height:100%;max-width:none;object-fit:cover;object-position:52% 55%;image-rendering:auto}
.hv-hero-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(180deg,#080f18a8 0%,#0c12203b 44%,#101317 100%),linear-gradient(90deg,#0a10199c 0%,#0e15210c 72%);pointer-events:none}
.hv-hero-content{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:inherit;padding-block:clamp(56px,8vw,125px) 54px;z-index:2}
.hv-lockup{position:relative;width:clamp(370px,54vw,760px);transform-origin:12% 60%;isolation:isolate}
.hv-lockup:before{content:'';position:absolute;inset:-52% -12% -48%;z-index:-1;background:radial-gradient(ellipse at 47% 42%,#f0f5ff1c 0%,#0d1726a6 44%,transparent 70%);pointer-events:none}
.hv-lockup img{width:100%;height:auto;filter:url('#brand-on-dark') drop-shadow(0 3px 7px #010817bb);display:block}
.hv-hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;width:100%;gap:40px}
.hv-hero-bottom>p{color:#f2f2ed;max-width:440px;font-size:1.2rem;line-height:1.4;font-weight:500;text-wrap:pretty}
.hv-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hv-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:52px;padding:13px 26px;background:var(--hv-blue);color:white;font-weight:600;border:1px solid var(--hv-blue);border-radius:100px;max-width:100%;line-height:1.5}
.hv-button-outline{background:#10131798;border-color:#ced8e780}
.hv-button:hover{background:#245fff;border-color:#245fff}
.hv-button-outline:hover{background:#1b2433;border-color:#d4dce8}
.hv-arrow{display:block;width:23px;height:23px;position:relative;flex-shrink:0}
.hv-arrow:before{content:'';position:absolute;width:19px;height:1.5px;background:currentColor;top:12px;left:1px;transform:rotate(-45deg);transform-origin:center}
.hv-arrow:after{content:'';position:absolute;right:2px;top:4px;width:10px;height:10px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}
.hv-text-link{display:inline-flex;align-items:center;gap:42px;font-weight:600;padding-block:11px;border-bottom:1px solid #86909f;margin-top:25px;min-height:48px}
.hv-text-link:hover{color:#7096ff;border-color:#7096ff}
.hv-forge{position:relative;padding-block:98px 82px;isolation:isolate;overflow:clip}
.hv-forge-layout{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:24px;position:relative}
.hv-work-copy{position:relative;z-index:2}
.hv-work-copy h2{max-width:610px}
.hv-work-description{max-width:560px;margin-top:30px;font-size:1.05rem;line-height:1.65}
.hv-work-description p+p{margin-top:16px}
.hv-trailer-scene{position:relative;width:100%;margin-left:0;height:540px;isolation:isolate;pointer-events:none}
.hv-trailer-light{position:absolute;inset:10% -6% 1%;z-index:-1;background:radial-gradient(ellipse at 60% 66%,#20396355,transparent 65%)}
.hv-trailer-ground{position:absolute;left:19%;right:4%;height:22%;bottom:9%;z-index:-1;background:radial-gradient(ellipse,#01040dcc,transparent 68%);transform:rotate(-7deg)}
.hv-trailer{position:absolute;width:100%;height:auto;left:0;top:50%;transform:translateY(-50%);overflow:visible;filter:drop-shadow(8px 22px 16px #02050a6b)}
.hv-trailer-part,.hv-wheel-turn{transform-box:view-box;transform-origin:50% 50%}
.hv-motion-band{height:176px;display:flex;align-items:center;overflow:clip;border-block:1px solid #ffffff16;background:#121720}
.hv-moving-type{display:flex;align-items:center;gap:55px;width:max-content;font-family:var(--display);font-size:clamp(5rem,11vw,11rem);font-weight:800;line-height:1;color:#53637b;white-space:nowrap;transform:translateX(-5vw)}
.hv-moving-type span:nth-child(2){color:#356dff;font-style:italic}
.hv-families{padding-block:45px 100px;position:relative}
.hv-family-directory{display:flex;flex-direction:column;align-items:center;gap:0}
.hv-family-stage{width:100%;max-width:1100px;padding-block:44px 40px;position:relative;isolation:isolate}
.hv-family{display:flex;flex-direction:column;align-items:center;width:100%;position:relative;color:var(--hv-fg)}
.home-v2 .hv-family h2{position:relative;z-index:1;font-size:clamp(3.3rem,7.7vw,6rem);font-weight:700;text-align:center;line-height:1.1;letter-spacing:-.01em;padding-bottom:.05em}
.hv-family-visual{width:100%;max-width:820px;height:clamp(250px,31vw,390px);position:relative;isolation:isolate;margin-top:20px}
.hv-family-visual img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(10px 21px 12px #02040a85)}
.hv-family-shadow{position:absolute;left:12%;right:8%;height:22%;bottom:5%;z-index:-1;opacity:.67;background:radial-gradient(ellipse,var(--hv-category-accent),transparent 66%);transform:rotate(-4deg)}
.hv-family-footer{text-align:center;margin-top:35px}
.hv-family-footer .hv-text-link{margin-top:0}
.hv-social{position:relative;padding-block:94px 103px;background:#131921;border-block:1px solid #ffffff16}
.hv-social-heading{display:flex;flex-direction:column;align-items:center;text-align:center}
.home-v2 .hv-social h2{max-width:980px;font-size:clamp(3.4rem,6.7vw,5.8rem)}
.hv-social-heading>p{margin-top:22px;font-size:1.2rem}
.hv-social-links{display:flex;align-items:center;justify-content:center;gap:38px;margin-top:30px;flex-wrap:wrap}
.hv-social-links>a{display:inline-flex;align-items:center;gap:14px;min-height:50px;font-size:1.15rem;font-weight:600;color:#f2f2ed}
.hv-social-links svg{width:31px;height:31px;flex-shrink:0}
.hv-social-links .hv-arrow{width:20px;height:20px;margin-left:4px}
.hv-reels{max-width:1120px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:55px auto 0}
.hv-reel{min-width:0}
.hv-reel-direct{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-block:1px solid #ffffff30;color:#f2f2ed;font-size:1.35rem;font-weight:600}
.hv-reel-direct:hover{color:#9dbbff}
.hv-reel-direct>svg{width:29px;height:29px;flex-shrink:0}
.hv-reel-direct>span:not(.hv-arrow){margin-right:auto}
.hv-reel-frame{height:560px;overflow:hidden;border-radius:12px;background:#0b1018}
.hv-reel iframe{display:block;width:100%;height:100%;border:0;background:#fff;color-scheme:light}
.hv-reel-link{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:50px;padding-block:13px;font-size:.97rem;color:#d5dce6}
.hv-reel-link:hover{color:#88aaff}
.hv-project{position:relative;overflow:clip;background:#131c2a;border-top:1px solid #ffffff16}
.hv-project-inner{position:relative;z-index:1;padding-block:88px 94px;isolation:isolate}
.hv-project h2{max-width:850px}
.hv-project p{margin-top:25px;max-width:460px;font-size:1.05rem}
.hv-project .hv-button{margin-top:31px}
@media(hover:hover) and (pointer:fine){
  .hv-button:hover{transform:translateY(-6px) rotate(-2deg)}
  .hv-button-outline:hover{transform:translateY(-6px) rotate(2deg)}
  .hv-button:hover .hv-arrow,.hv-text-link:hover .hv-arrow,.hv-social-links>a:hover .hv-arrow,.hv-reel-direct:hover .hv-arrow{transform:translate(6px,-6px) rotate(7deg)}
  .hv-family:hover h2{color:#88aaff}
  .hv-social-links>a:hover svg{transform:translateY(-5px) rotate(-8deg)}
}
@media(prefers-reduced-motion:no-preference){
  .hv-button{transition:transform 220ms cubic-bezier(.23,1,.32,1),background 180ms,border-color 180ms}
  .hv-button:active{transform:translateY(-1px) scale(.96)}
  .hv-arrow,.hv-social-links svg{transition:transform 220ms cubic-bezier(.23,1,.32,1)}
  .hv-family h2{transition:color 180ms}
  .hv-lockup{animation:hv-lockup-in 850ms cubic-bezier(.16,1,.3,1) both}
  .hv-hero-bottom>p{animation:hv-copy-in 800ms 90ms cubic-bezier(.16,1,.3,1) both}
  .hv-hero-actions .hv-button{animation:hv-button-in 850ms 150ms cubic-bezier(.16,1,.3,1) both}
  .hv-hero-actions .hv-button+.hv-button{animation-delay:240ms}
  @keyframes hv-lockup-in{from{opacity:.5;translate:-45px 35px;scale:.94;rotate:-3deg}to{opacity:1;translate:0 0;scale:1;rotate:0deg}}
  @keyframes hv-copy-in{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}
  @keyframes hv-button-in{from{opacity:0;translate:75px 28px;rotate:8deg}to{opacity:1;translate:0 0;rotate:0deg}}
}
@media(min-width:1600px){.hv-forge-layout{gap:4%}.hv-trailer-scene{height:600px}}
@media(max-width:1100px){.hv-hero-content{padding-bottom:44px}.hv-forge-layout{grid-template-columns:1fr 1fr}.hv-trailer-scene{width:100%;margin-left:0;height:470px}.hv-work-description{max-width:490px}.hv-reels{gap:18px}.hv-reel-frame{height:505px}}
@media(max-width:780px){.hv-hero{min-height:650px}.hv-hero-content{padding-block:70px 40px}.hv-lockup{width:min(590px,89vw)}.hv-hero-bottom{flex-direction:column;align-items:flex-start;gap:24px}.hv-hero-bottom>p{max-width:490px}.hv-forge{padding-block:30px 68px}.hv-forge-layout{grid-template-columns:1fr;gap:0}.hv-work-copy h2{font-size:clamp(3.5rem,10vw,5.7rem);max-width:650px}.hv-trailer-scene{height:clamp(300px,53vw,420px);width:calc(100% + 20px);order:-1;margin:0 -10px 10px}.hv-work-description{max-width:650px}.hv-motion-band{height:145px}.hv-families{padding-block:15px 75px}.hv-family-stage{padding-block:32px}.hv-family-visual{height:clamp(220px,40vw,300px);margin-top:10px}.hv-project-inner{padding-block:70px 76px}.hv-social{padding-block:76px}.hv-reels{max-width:500px;grid-template-columns:1fr;gap:30px;margin-top:40px}.hv-reel-frame{height:620px}}
@media(max-width:520px){body.home-v2-page .header-inner,body:has(.home-v2) .header-inner{min-height:76px;padding-block:0;gap:13px}body.home-v2-page .brand,body:has(.home-v2) .brand{width:100px;height:67px}.hv-hero{min-height:clamp(580px,calc(100svh - 76px),790px)}.hv-photo{object-position:57% 53%}.hv-hero-shade{background:linear-gradient(180deg,#08101bc2,#0c122025 48%,#101317 89%),linear-gradient(90deg,#0a101985,#0e152112)}.hv-hero-content{padding-block:67px 35px}.hv-lockup{width:100%;margin-left:0}.hv-hero-bottom{gap:24px}.hv-hero-bottom>p{font-size:1.12rem;max-width:360px}.hv-hero-actions{gap:10px;width:100%}.hv-button{min-height:49px;padding:12px 20px;gap:20px;font-size:.95rem}.home-v2 h2{font-size:clamp(3.4rem,14.5vw,4.9rem);line-height:1}.hv-work-copy h2{font-size:clamp(3.35rem,14.8vw,4.4rem)}.hv-trailer-scene{height:255px;width:calc(100% + 14px);margin-inline:-7px;margin-bottom:14px}.hv-work-description{margin-top:24px;font-size:1rem}.hv-forge{padding-bottom:55px}.hv-motion-band{height:119px}.hv-moving-type{font-size:5.8rem;gap:34px}.hv-families{padding-block:5px 55px}.hv-family-stage{padding-block:28px 20px}.home-v2 .hv-family h2{font-size:clamp(2.55rem,10.5vw,3.6rem)}.hv-family-visual{height:190px;width:92%;margin-top:4px}.hv-family-footer{margin-top:31px}.hv-project-inner{padding-block:61px 68px}.hv-project p{font-size:1rem;max-width:310px}.hv-social{padding-block:62px}.home-v2 .hv-social h2{font-size:clamp(3rem,12vw,4rem)}.hv-social-heading>p{font-size:1.1rem}.hv-social-links{gap:25px}.hv-social-links>a{gap:10px;font-size:1.05rem}.hv-social-links svg{width:27px;height:27px}.hv-social-links .hv-arrow{display:none}.hv-reel-frame{height:550px}.hv-reels{gap:26px}}
@media(prefers-reduced-motion:reduce){.home-v2 *{animation:none!important;transition-duration:.01ms!important}.hv-moving-type,.hv-button,.hv-button-outline,.hv-social-links svg,.hv-arrow{transform:none!important}}

/* User-supplied videos: posters first, playback on request. */
.hv-video-gallery{margin:48px auto 0;max-width:1200px}
.hv-videos.options-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 0 18px;scrollbar-width:thin;scrollbar-color:#6c7a94 #202a39}
.hv-videos.options-rail::-webkit-scrollbar-track{background:#202a39}
.hv-videos.options-rail::-webkit-scrollbar-thumb{background:#6c7a94}
.hv-video-item{min-width:0;scroll-snap-align:start}
.hv-video-frame{position:relative;aspect-ratio:9/16;overflow:hidden;background:#080c12;border-radius:14px}
.hv-video-frame video{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.hv-videos:focus-visible,.hv-video-nav:focus-visible,.hv-video-control:focus-visible{outline:3px solid #9dbbff;outline-offset:4px}
.hv-video-frame:focus-within{outline:2px solid #9dbbff;outline-offset:4px}
.hv-video-controls{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;padding:28px 12px 12px;background:linear-gradient(transparent,#050a12c7);pointer-events:none}
.hv-video-control{display:grid;place-items:center;width:46px;height:46px;padding:0;border-radius:50%;border:0;color:#fff;background:#101a2bed;cursor:pointer;pointer-events:auto}
.hv-video-play{background:#0649ef}
.hv-video-control svg{width:24px;height:24px}
.hv-video-play [data-video-icon="play"]{margin-left:3px}
.hv-video-controls [hidden],.hv-video-controls[hidden],.hv-video-error[hidden]{display:none}
.hv-video-navigation{display:none;justify-content:flex-end;gap:12px;margin-top:6px}
.hv-video-gallery.rail-has-overflow .hv-video-navigation{display:flex}
.hv-video-nav{display:grid;place-items:center;width:48px;height:48px;background:transparent;border:1px solid #75849a;border-radius:50%;color:#eef2f9;cursor:pointer}
.hv-video-nav svg{width:25px;height:25px}
.hv-video-nav:disabled{opacity:.3;cursor:default}
.home-v2 .hv-video-error{margin-top:12px;font-size:.95rem;color:#d5dce6}
.hv-video-error a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.hv-videos.options-rail{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(39vw,310px);gap:20px}}
@media(max-width:520px){.hv-video-gallery{margin-top:34px}.hv-videos.options-rail{grid-auto-columns:82%;gap:16px;padding-bottom:16px}.hv-video-control{width:48px;height:48px}}
@media(hover:hover) and (pointer:fine){.hv-video-control:hover{background:#245fff;scale:1.07}.hv-video-nav:not(:disabled):hover{background:#0649ef;transform:translateY(-4px)}}
@media(prefers-reduced-motion:no-preference){.hv-video-control,.hv-video-nav{transition:transform 180ms cubic-bezier(.23,1,.32,1),scale 180ms cubic-bezier(.23,1,.32,1),background-color 180ms}.hv-video-control:active{scale:.95}.hv-video-nav:not(:disabled):active{transform:scale(.95)}}
