@font-face{font-family:Montserrat;src:url('assets/Montserrat-Regular.ttf')}@font-face{font-family:Montserrat;src:url('assets/Montserrat-SemiBold.ttf');font-weight:600}:root{--ink:#171916;--cream:#f2f0e7;--yellow:#e9f570;--muted:#a5a79e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--cream);font-family:Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:6px}.skip{position:fixed;top:-80px;z-index:20;background:var(--yellow);color:var(--ink);padding:15px}.skip:focus{top:10px}header{height:90px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:#141613}.brand{display:block;width:152px;height:80px;overflow:hidden}.brand img{width:180px;height:90px;object-fit:cover;transform:translate(-14px,-5px);mix-blend-mode:screen}nav{display:flex;align-items:center;gap:38px;font-size:12px}.nav-contact{border:1px solid #686b5f;border-radius:30px;padding:13px 20px}.nav-contact span{margin-left:35px}.hero{height:min(880px,calc(100svh - 90px));min-height:650px;position:relative;isolation:isolate;overflow:hidden}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 46%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,13,8,.85),rgba(5,13,8,.08) 80%),linear-gradient(90deg,rgba(5,13,8,.3),transparent);z-index:-2}.hero-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;padding:28px 4%}.hero-content{position:absolute;bottom:66px;left:4%;right:4%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;line-height:1.6;margin:0 0 24px}h1{font-size:clamp(64px,8.8vw,145px);line-height:.95;letter-spacing:-.065em;font-weight:600;margin:0 0 38px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.05em}h1 em{color:var(--yellow)}.hero-bottom{display:flex;align-items:center;gap:38px}.hero-bottom p{font-size:12px;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;border-radius:3px;padding:20px 25px;font-size:12px;font-weight:600}.yellow{background:var(--yellow);color:var(--ink)}.button:hover{transform:translateY(-2px)}.scroll-link{margin-left:auto;font-size:25px;border:1px solid #ffffff70;border-radius:50%;width:54px;height:54px;display:grid;place-items:center}.hero-caption{position:absolute;bottom:22px;right:4%;font-size:9px;letter-spacing:.14em}.section{padding:100px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}h2{font-size:clamp(42px,5vw,78px);font-weight:400;letter-spacing:-.055em;line-height:1.08;margin:0}.section-heading>p{font-size:12px;line-height:1.8;color:#b8bbae;max-width:350px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0}.filters button{border:1px solid #51544b;color:var(--cream);background:transparent;padding:11px 18px;border-radius:30px;font-size:11px;cursor:pointer}.filters button[aria-pressed=true]{background:var(--cream);border-color:var(--cream);color:var(--ink)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:42px 24px}.project.wide{grid-column:1/-1}.project-image{position:relative;overflow:hidden;aspect-ratio:1.65;background:#30352b}.wide .project-image{aspect-ratio:2.45}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project:hover img{transform:scale(1.035)}.project-action{position:absolute;right:18px;bottom:18px;background:var(--cream);color:var(--ink);padding:12px 16px;border-radius:25px;font-size:10px}.project-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px}.project h3{margin:0;font-size:22px;letter-spacing:-.04em;font-weight:400}.project-meta>span{font-size:8px;letter-spacing:.1em;color:var(--muted);max-width:45%;text-align:right;line-height:1.6}.text-link{display:inline-block;font-size:12px;padding-bottom:8px;border-bottom:1px solid;margin-top:35px}.feature{display:grid;grid-template-columns:1.1fr 1fr;background:#d9dccb;color:var(--ink)}.feature-image{min-height:650px}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-copy{padding:80px 12%}.feature-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:28px}.credit{font-size:9px;line-height:2;letter-spacing:.1em;margin-top:30px}.credit strong{font-size:12px;letter-spacing:0;font-weight:400}.services{background:var(--cream);color:var(--ink)}.services .section-heading>p{color:#5c6054}.services details{border-top:1px solid #bfc2b5}.services details:last-child{border-bottom:1px solid #bfc2b5}summary{display:flex;align-items:center;padding:26px 0;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.num{font-size:10px;min-width:70px}summary h3{font-size:clamp(23px,3vw,44px);font-weight:400;letter-spacing:-.04em;margin:0}.plus{margin-left:auto;font-size:28px}details[open] .plus{transform:rotate(45deg)}details>p{max-width:560px;font-size:13px;line-height:1.9;margin:0 0 28px 70px}.studio{display:grid;grid-template-columns:1.1fr 1fr}.studio-photo img{width:100%;height:100%;object-fit:cover;object-position:70%}.studio-photo{min-height:620px}.studio-copy{padding:85px 12%}.studio-copy h2{font-size:60px}.role{font-size:9px;letter-spacing:.1em;line-height:1.7;margin:24px 0 30px}.studio-copy p:not(.eyebrow):not(.role){font-size:13px;line-height:1.9;color:#b8bbae}.contact{background:var(--yellow);color:var(--ink)}.contact h2{font-size:clamp(52px,7.7vw,124px);line-height:1.02}.contact-bottom{display:flex;align-items:center;gap:40px;margin-top:50px}.contact-bottom>a:not(.button){font-size:12px;border-bottom:1px solid;padding-bottom:5px}.dark{background:var(--ink);color:var(--cream)}footer{padding:35px 6%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:25px;font-size:10px;color:#b9bdb0}footer div{display:flex;flex-wrap:wrap;gap:20px 28px}footer small{flex-basis:100%;font-size:9px;color:#818577}[hidden]{display:none!important}@media(max-width:760px){header{height:76px;padding:0 5%}.brand{width:110px;height:65px}.brand img{width:140px;height:75px}nav{gap:14px;font-size:10px}nav>a:nth-child(2){display:none}.nav-contact{padding:10px 12px}.nav-contact span{margin-left:12px}.hero{height:760px;max-height:calc(100svh - 76px);min-height:570px}.hero-image{object-position:37% center}.hero-top{padding:24px 5%;font-size:8px}.hero-top span:last-child{display:none}.hero-content{left:5%;right:5%;bottom:65px}.hero-content .eyebrow{font-size:8px;max-width:240px}h1{font-size:clamp(58px,13vw,98px);margin-bottom:28px}.hero-bottom{gap:15px;flex-wrap:wrap}.hero-bottom p{font-size:10px}.hero-bottom .button{gap:20px;padding:17px}.scroll-link{display:none}.section{padding:65px 6%}.section-heading{display:block}.section-heading>p{margin-top:23px}.projects{grid-template-columns:1fr;gap:30px}.wide .project-image,.project-image{aspect-ratio:1.5}.project h3{font-size:21px}.project-meta>span{font-size:7px}.filters{gap:7px}.filters button{padding:9px 12px;font-size:10px}.feature,.studio{grid-template-columns:1fr}.feature-image{height:380px;min-height:0}.feature-copy,.studio-copy{padding:55px 6%}.feature-copy h2 br{display:none}.feature-copy h2{max-width:430px}.studio-photo{height:420px;min-height:0}.studio-copy h2{font-size:50px}.num{min-width:40px}details>p{margin-left:40px}.contact-bottom{flex-wrap:wrap;gap:25px}.contact-bottom .button{flex-basis:100%}footer{padding:30px 6%}footer div{gap:20px}.eyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Commercial portfolio and director portrait */
.portrait-hero{object-position:right center}.hero:has(.portrait-hero) .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.35),transparent 75%),linear-gradient(0deg,rgba(0,0,0,.6),transparent 50%)}.hero:has(.portrait-hero) h1{font-size:clamp(64px,7.4vw,125px);max-width:65%}.commercial-preview{background:#252a24}.commercial-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 24px}.film-card{padding:0;text-align:left;background:none;border:0;color:inherit;cursor:pointer;min-width:0}.film-image{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#30352b}.film-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.film-card:hover img{transform:scale(1.03)}.play-badge{position:absolute;bottom:16px;right:16px;border-radius:30px;background:var(--cream);color:var(--ink);padding:12px 16px;font-size:11px}.film-meta{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-top:16px}.film-meta strong{font-size:23px;font-weight:400;letter-spacing:-.04em}.film-meta>span{font-size:10px;color:#b8bbae;text-align:right}.commercial-intro{padding-bottom:65px;border-bottom:1px solid #55594b}.commercial-intro h1{font-size:clamp(60px,7.7vw,120px)}.intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px}.intro-bottom p{max-width:550px;font-size:14px;line-height:1.9;color:#b8bbae}.commercial-featured{padding-bottom:0}.commercial-library .client-group{border-top:1px solid #51554b}.client-group h3{font-size:clamp(23px,3vw,37px)}.client-count{margin-left:auto;font-size:9px;letter-spacing:.1em;padding:0 20px}.client-group .plus{margin-left:0}.film-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:30px}.film-row{display:flex;align-items:center;gap:16px;border:1px solid #42473c;background:#23271f;color:var(--cream);min-width:0;padding:12px;text-align:left;cursor:pointer;font:inherit;font-size:12px}.film-row:hover{border-color:var(--yellow)}.film-row img,.drive-icon{width:90px;height:56px;object-fit:cover;flex-shrink:0}.drive-icon{display:grid;place-items:center;background:#32382c;color:var(--yellow);font-size:24px}.film-row>span:not(.drive-icon):not(.film-destination){line-height:1.6}.film-destination{margin-left:auto;flex-shrink:0;font-size:9px;color:var(--yellow)}#film-dialog{width:min(1000px,94vw);padding:20px;border:1px solid #696f60;background:#11140f;color:var(--cream);max-height:94svh}#film-dialog::backdrop{background:#000d}.film-dialog-heading{display:flex;align-items:center;gap:20px;margin-bottom:15px}.film-dialog-heading h2{font-size:20px;letter-spacing:0;line-height:1.4}.film-dialog-heading button{margin-left:auto;cursor:pointer;background:var(--yellow);border:0;width:40px;height:40px;flex-shrink:0;font-size:20px}#film-player{display:block;width:100%;max-height:75svh;background:#000}body:has(#film-dialog[open]){overflow:hidden}
@media(max-width:760px){nav>a:nth-child(2){display:block}nav>.studio-nav{display:none}nav{gap:12px}.hero:has(.portrait-hero) h1{max-width:none;font-size:clamp(58px,13vw,98px)}.portrait-hero{object-position:90% center}.hero:has(.portrait-hero) .hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.05) 85%)}.hero-caption{font-size:7px}.hero:has(.portrait-hero) .hero-content{bottom:55px}.commercial-grid,.film-list{grid-template-columns:1fr}.film-meta strong{font-size:22px}.film-meta>span{max-width:45%}.intro-bottom{display:block}.intro-bottom .button{margin-top:20px}.commercial-intro h1{font-size:14vw}.film-row{gap:10px;font-size:11px}.film-row img,.drive-icon{width:64px;height:46px}.film-destination{font-size:8px}.client-count{font-size:8px;padding:0 10px}#film-dialog{padding:12px}.film-dialog-heading h2{font-size:16px}}

.lead-commercial .film-image{aspect-ratio:4/5}.lead-commercial .film-meta strong{font-size:clamp(25px,3vw,40px)}.supporting-label{margin-top:65px}.lead-commercial .film-image img{object-position:center}

/* CASA leads the commercial portfolio; Resort Life Carts follows. */
.lead-commercial{grid-template-columns:1fr;gap:50px}.lead-commercial .primary-film .film-image{aspect-ratio:16/9}.lead-commercial .primary-film .film-meta strong{font-size:clamp(36px,5vw,68px)}.lead-commercial .secondary-film{display:grid;grid-template-columns:minmax(150px,260px) 1fr;align-items:center;gap:36px;border-top:1px solid #51554b;padding-top:35px}.lead-commercial .secondary-film .film-meta{display:flex;align-items:flex-start;flex-direction:column;gap:14px}.lead-commercial .secondary-film .film-meta>span{text-align:left;max-width:none}@media(max-width:760px){.lead-commercial{gap:32px}.lead-commercial .secondary-film{grid-template-columns:1fr;gap:0}.lead-commercial .secondary-film .film-image{aspect-ratio:4/5;max-height:480px}.lead-commercial .secondary-film .film-meta{flex-direction:row;align-items:center;justify-content:space-between}.lead-commercial .primary-film .film-meta>span{font-size:9px}}

/* Standalone portfolio pages */
nav a[aria-current="page"]{color:var(--yellow);text-decoration:underline;text-underline-offset:7px}.page-index .hero{height:580px;min-height:480px;max-height:75svh}.page-studio .studio-copy h1{font-size:clamp(48px,5vw,80px);line-height:1.05}.page-contact main{min-height:calc(100svh - 210px);background:var(--yellow)}.page-contact .contact{min-height:calc(100svh - 210px);display:flex;flex-direction:column;justify-content:center}.page-contact h1{font-size:clamp(52px,7.7vw,124px);line-height:1.02}.project-back{padding:28px 6%;font-size:12px}.page-mon-rovia .feature-copy h1{font-size:clamp(45px,5vw,78px);line-height:1.05}.page-inquiry{padding-top:0}.page-index .hero:has(.portrait-hero) h1{font-size:clamp(64px,7.4vw,115px)}
@media(max-width:760px){header{height:auto;min-height:100px;flex-wrap:wrap;padding-top:4px;padding-bottom:14px;gap:0}header .brand{height:54px}header nav{width:100%;justify-content:space-between;gap:8px}nav>.studio-nav{display:block}nav .nav-contact{padding:8px 10px}.page-index .hero{height:580px;min-height:470px;max-height:none}.page-index .hero:has(.portrait-hero) h1{font-size:clamp(52px,13vw,80px)}.page-studio .studio-copy h1{font-size:52px}.page-contact .contact-bottom{gap:24px}.page-contact .contact-bottom>a{overflow-wrap:anywhere}.page-mon-rovia .feature-image{height:300px}}
.page-contact h1 em{color:var(--ink)}

.reel-section{background:#10120f}.reel-player{aspect-ratio:16/9;width:100%;background:#000}.reel-player video{display:block;width:100%;height:100%;border:0}.reel-section .section-heading{margin-bottom:30px}#reel{scroll-margin-top:24px}
