/* Homepage only. Shared navigation, footer and dark tokens live in luxury.css. */
.home-page .mp-wrap{width:calc(100% - 64px);max-width:1800px;margin-inline:auto}
.home-page .mp-hero{position:relative;isolation:isolate;height:100svh;min-height:580px;overflow:hidden;background:#171717;color:#fff}
.home-page .mp-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 64%;z-index:-2}
.home-page .mp-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,transparent 38%,rgba(0,0,0,.08) 58%,rgba(0,0,0,.63) 100%)}
.home-page .mp-hero-content{position:absolute;inset:auto 48px 43px;display:flex;direction:ltr;align-items:flex-end;justify-content:space-between;gap:32px}
.home-page .mp-hero-title h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(76px,10vw,160px);font-weight:400;line-height:.82;letter-spacing:-.045em;margin:0 0 25px -.055em}
.home-page .mp-hero-title p{font-family:Arial,Helvetica,sans-serif;font-size:clamp(10px,1vw,14px);font-weight:400;letter-spacing:.25em;line-height:1.5;color:rgba(255,255,255,.88)}
.home-page .mp-hero-link{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-shrink:0;background:var(--brand);color:#171717;padding:18px 24px;min-width:186px;border-radius:32px;font-size:14px;line-height:1.5;transition:background .2s,transform .2s}
.home-page .mp-hero-link>span:last-child{font-family:Arial,sans-serif;font-size:26px;line-height:1}
.home-page .mp-hero-link:hover{background:var(--brand);transform:translateY(-3px)}
.home-page .mp-projects{padding-block:73px 88px;scroll-margin-top:110px}
.home-page .mp-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:25px}
.home-page .mp-section-heading h2{font-size:20px;line-height:1.6;font-weight:400}
.home-page .mp-section-heading>span{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.18em;color:#aaa7a2}
.home-page .mp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.home-page .mp-card{min-width:0}
.home-page .mp-card--wide{grid-column:1/-1}
.home-page .mp-card--wide .mp-card-image{aspect-ratio:16/9;max-height:760px}
.home-page .mp-card>a{display:block}
.home-page .mp-card-image{position:relative;aspect-ratio:1.1;overflow:hidden;background:#252525;border-radius:28px}
.home-page .mp-card-image img{height:100%;width:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.home-page .mp-card:first-child .mp-card-image img{object-position:52% 60%}
.home-page .mp-card:last-child .mp-card-image img{object-position:50% 50%}
.home-page .mp-card-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:21px}
.home-page .mp-card-caption h3{font-size:clamp(25px,2.3vw,37px);font-weight:400;line-height:1.5}
.home-page .mp-card-type{position:absolute;top:20px;right:20px;padding:9px 14px;background:rgba(20,20,20,.52);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:30px;color:#fff;font-size:11px;line-height:1.5}
.home-page .mp-card-arrow{position:absolute;bottom:20px;right:20px;display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(20,20,20,.42);backdrop-filter:blur(10px);font-family:Arial,sans-serif;font-size:29px;font-weight:400;line-height:1;color:#fff;transition:background .25s,color .25s,transform .25s}
.home-page .mp-card>a:hover .mp-card-image img{transform:scale(1.035)}
.home-page .mp-card>a:hover .mp-card-arrow{background:var(--brand);color:#171717;transform:rotate(-8deg)}
.home-page .mp-about{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:65px 75px;border-top:1px solid #3e3c39;scroll-margin-top:110px}
.home-page .mp-about-name h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(43px,5.5vw,80px);letter-spacing:.01em;font-weight:400;line-height:1}
.home-page .mp-about-name p{font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.06em;color:#aaa7a2;margin-top:16px;line-height:1.6}
.home-page .mp-services{font-size:clamp(15px,1.8vw,25px);font-weight:400;line-height:2;max-width:760px}
.home-page .mp-contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:72px 95px;border-top:1px solid #3e3c39;scroll-margin-top:110px}
.home-page .mp-contact-intro h2{font-size:clamp(39px,5vw,72px);font-weight:400;line-height:1.4;margin:0 0 24px}
.home-page .mp-contact-cta{display:inline-flex;align-items:center;gap:40px;font-size:15px;color:var(--brand);line-height:1.5;border-bottom:1px solid var(--brand);padding-bottom:10px}
.home-page .mp-contact-cta>span{font-family:Arial,sans-serif;font-size:26px}
.home-page .mp-contact-details{padding-top:10px;display:flex;flex-direction:column;align-items:flex-start;gap:27px}
.home-page .mp-phones{display:flex;flex-direction:column;gap:13px;align-items:flex-start}
.home-page .mp-phones a{font-family:Arial,Helvetica,sans-serif;font-size:clamp(25px,2.5vw,36px);line-height:1.25;font-weight:400;letter-spacing:.01em;white-space:nowrap}
.home-page .mp-contact-details address{font-style:normal;font-size:14px;color:#aaa7a2;line-height:1.8}
.home-page .mp-instagram{display:inline-flex;direction:ltr;align-items:center;gap:27px;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.4}
.home-page .mp-instagram>span:last-child{font-size:23px;color:var(--brand)}
.home-page .mp-phones a:hover,.home-page .mp-instagram:hover{color:var(--brand)}
@media(min-width:1921px){.home-page .mp-hero-content{left:max(48px,calc((100vw - 1800px)/2));right:max(48px,calc((100vw - 1800px)/2))}}
@media(max-width:1100px){.home-page .mp-hero-content{inset:auto 32px 35px}.home-page .mp-hero-link{min-width:166px;padding:16px 20px;font-size:13px}.home-page .mp-about{align-items:flex-start;gap:36px}.home-page .mp-services{max-width:52%;padding-top:4px}.home-page .mp-contact{gap:40px}}
@media(max-width:760px){.home-page .mp-wrap{width:calc(100% - 40px)}.home-page .mp-hero{min-height:560px}.home-page .mp-hero-image{object-position:55% 50%}.home-page .mp-hero-content{inset:auto 20px 28px;align-items:flex-start;flex-direction:column;gap:28px}.home-page .mp-hero-title h1{font-size:22vw;margin-bottom:19px}.home-page .mp-hero-title p{font-size:9px;letter-spacing:.21em}.home-page .mp-hero-link{min-width:178px;font-size:13px;padding:14px 19px;gap:30px}.home-page .mp-projects{padding-block:43px 54px}.home-page .mp-section-heading{padding-bottom:20px}.home-page .mp-section-heading h2{font-size:18px}.home-page .mp-section-heading>span{font-size:9px}.home-page .mp-grid{grid-template-columns:1fr;gap:36px}.home-page .mp-card-image{aspect-ratio:1.15;border-radius:22px}.home-page .mp-card-caption{padding-top:15px}.home-page .mp-card-caption h3{font-size:28px}.home-page .mp-card-type{font-size:10px;top:16px;right:16px;padding:8px 12px}.home-page .mp-card-arrow{font-size:26px;right:16px;bottom:16px;width:48px;height:48px}.home-page .mp-about{display:block;padding-block:45px 49px}.home-page .mp-about-name h2{font-size:48px}.home-page .mp-about-name p{font-size:10px;margin-top:13px}.home-page .mp-services{max-width:none;font-size:17px;margin-top:26px;padding:0;line-height:1.9}.home-page .mp-contact{grid-template-columns:1fr;gap:39px;padding-block:46px 59px}.home-page .mp-contact-intro h2{font-size:43px;margin-bottom:17px}.home-page .mp-contact-cta{font-size:14px;gap:32px;padding-bottom:6px}.home-page .mp-contact-details{padding:0;gap:24px}.home-page .mp-phones{gap:12px}.home-page .mp-phones a{font-size:29px}.home-page .mp-contact-details address{font-size:13px}.home-page .mp-instagram{font-size:17px}}
@media(max-width:380px){.home-page .mp-hero{min-height:520px}.home-page .mp-hero-title p{font-size:8px;letter-spacing:.19em}.home-page .mp-services{font-size:15px}.home-page .mp-phones a{font-size:26px}}
@media(prefers-reduced-motion:reduce){.home-page .mp-card-image img,.home-page .mp-card-arrow,.home-page .mp-hero-link{transition:none}.home-page .mp-card>a:hover .mp-card-image img,.home-page .mp-card>a:hover .mp-card-arrow,.home-page .mp-hero-link:hover{transform:none}}

/* The photograph remains under the film until the first playing event. */
.home-page .mp-hero-film{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 64%;opacity:0;pointer-events:none;transition:opacity .6s ease}
.home-page .mp-hero.has-hero-film .mp-hero-film{opacity:1}
.home-page .mp-film-toggle{position:absolute;right:48px;bottom:128px;z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(20,20,20,.55);backdrop-filter:blur(8px);color:#fff;transition:background .2s,border-color .2s}
.home-page .mp-film-toggle:hover{background:rgba(20,20,20,.85);border-color:#fff}
.home-page .mp-film-toggle .mp-film-pause{display:none}
.home-page .mp-film-toggle[data-state=playing] .mp-film-play{display:none}
.home-page .mp-film-toggle[data-state=playing] .mp-film-pause{display:block}
@media(max-width:1100px){.home-page .mp-film-toggle{right:32px;bottom:116px}}
@media(max-width:760px){.home-page .mp-hero-film{object-position:55% 50%}.home-page .mp-film-toggle{right:20px;bottom:28px}}
@media(prefers-reduced-motion:reduce){.home-page .mp-hero-film,.home-page .mp-film-toggle{transition:none}}

/* A short second film between the projects and studio information. */
.home-page .mp-film-section{padding-bottom:84px}
.home-page .mp-film-feature{position:relative;isolation:isolate;aspect-ratio:1.8;max-height:760px;overflow:hidden;border-radius:28px;background:#252525;color:#fff}
.home-page .mp-feature-poster,.home-page .mp-feature-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.home-page .mp-feature-film{opacity:0;pointer-events:none;transition:opacity .6s ease}
.home-page .mp-film-feature.has-hero-film .mp-feature-film{opacity:1}
.home-page .mp-film-feature:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.66))}
.home-page .mp-film-caption{position:absolute;z-index:1;bottom:34px;right:34px;left:106px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.home-page .mp-film-caption h2{font-size:clamp(22px,2.8vw,40px);font-weight:400;line-height:1.5;margin:0}
.home-page .mp-film-caption a{display:inline-flex;gap:18px;align-items:center;font-size:12px;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:5px}
.home-page .mp-film-caption a span{font-size:25px;line-height:1}
.home-page .mp-film-caption a:hover{color:var(--brand);border-color:currentColor}
.home-page .mp-film-feature .mp-film-toggle{right:auto;left:28px;bottom:34px}
@media(max-width:760px){.home-page .mp-film-section{padding-bottom:54px}.home-page .mp-film-feature{aspect-ratio:4/5;border-radius:22px}.home-page .mp-film-caption{right:22px;left:82px;bottom:25px;display:block}.home-page .mp-film-caption h2{font-size:27px;line-height:1.45;margin-bottom:15px}.home-page .mp-film-caption a{font-size:12px;gap:14px}.home-page .mp-film-feature .mp-film-toggle{left:20px;bottom:25px}}
@media(prefers-reduced-motion:reduce){.home-page .mp-feature-film{transition:none}}
