:root{--ink:#171713;--ivory:#f6f3ec;--white:#fff;--teal:#204f4f;--mist:#dedfd8;--gold:#b9a57d;--muted:#6f6c64;--line:rgba(23,23,19,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:300;line-height:1.65}a{color:inherit;text-decoration:none}img,video{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:92px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(246,243,236,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(23,23,19,.08)}.wordmark{font-family:'Italiana',serif;letter-spacing:.18em;font-size:1.45rem}.wordmark span{display:block;font-family:'DM Sans',sans-serif;font-size:.46rem;text-align:center;letter-spacing:.5em;margin-top:-.25rem}.nav{display:flex;align-items:center;gap:2.1rem;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}.nav a{border-bottom:1px solid transparent;padding:.45rem 0}.nav a:hover{border-color:currentColor}.inquire-link{border:1px solid var(--ink)!important;padding:.7rem 1rem!important}.menu{display:none;border:0;background:transparent;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.social-links{display:flex;align-items:center;justify-content:center;gap:.55rem}.social-icon{width:29px;height:29px!important;border:1px solid currentColor!important;border-radius:50%;padding:6px!important;display:grid!important;place-items:center;transition:background .2s,color .2s}.social-icon:hover{background:var(--ink);color:var(--ivory)}.social-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8}.social-icon svg .icon-dot{fill:currentColor;stroke:none}.social-icon-yelp{font-size:1rem;line-height:1;padding:0!important}.social-links-footer{margin-top:.9rem}.social-links-footer .social-icon:hover{background:var(--ink);color:var(--ivory)}
.film-hero{height:calc(100vh - 92px);min-height:620px;position:relative;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.film-poster{position:absolute;inset:0;filter:saturate(.78);animation:slowZoom 18s ease-out both}.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.36))}.film-copy{position:relative;z-index:2;padding:0 1.25rem}.overline,.place{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase}.film-copy h1{font-family:'Italiana',serif;font-weight:400;font-size:clamp(3.4rem,7vw,7.4rem);line-height:.88;margin:1.5rem 0 2rem;text-shadow:0 2px 24px rgba(0,0,0,.3)}.film-copy h1 em{font-family:'Mrs Saint Delafield',cursive;font-size:1.05em;font-weight:400}.scroll{position:absolute;bottom:2rem;right:3rem;font-size:1.3rem}@keyframes slowZoom{from{transform:scale(1)}to{transform:scale(1.07)}}
.intro{text-align:center;padding:9rem 2rem 10rem;max-width:1100px;margin:auto}.kicker,.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:500}.kicker{color:var(--teal)}.intro h2,.section-title h2,.service-feature h2,.corporate h2,.markets h2,.about h2,.inquire h2{font-family:'Italiana',serif;font-weight:400;font-size:clamp(3rem,6vw,6.4rem);line-height:.95;margin:1.1rem 0 2rem}.intro h2 i,.service-feature h2 i,.corporate h2 i,.section-title h2 i,.about h2 i,.inquire h2 i{font-family:'Mrs Saint Delafield',cursive;font-weight:400}.lead{font-family:'Italiana',serif;font-size:clamp(1.25rem,2.1vw,1.8rem);max-width:790px;margin:0 auto;color:#3b3934}.intro-actions{display:flex;justify-content:center;gap:2.5rem;margin-top:3rem}.text-link{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;border-bottom:1px solid;padding-bottom:.35rem}
.image-triptych{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:1.3vw;padding:0 3vw;align-items:center}.image-triptych figure{height:53vw;max-height:760px;margin:0}.image-triptych figure:not(.tall){height:40vw;max-height:590px}
.service-feature{display:grid;grid-template-columns:1fr 1fr;min-height:760px;margin:10rem 0 0;background:#fff}.service-feature.reverse .feature-copy{order:2}.feature-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}.service-feature h2{font-size:clamp(3rem,5vw,5.3rem);margin:1.25rem 0 2rem}.feature-copy>p:not(.eyebrow){max-width:590px;color:var(--muted)}.feature-copy ul{list-style:none;padding:0;margin:1.5rem 0 2.5rem;border-top:1px solid var(--line)}.feature-copy li{padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.84rem}.feature-image{min-height:650px}.button{display:inline-flex;width:max-content;align-items:center;justify-content:center;border:1px solid var(--ink);padding:1rem 1.5rem;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;transition:.2s}.button:hover{background:var(--ink);color:#fff}
.corporate{background:var(--teal);color:#fff;padding:10rem 8vw;display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:end}.corporate-inner>p:not(.eyebrow){max-width:660px;color:#dde7e4}.light{color:#d3c3a0}.pale{border-color:#fff;color:#fff}.pale:hover{background:#fff;color:var(--teal)}.corporate-list{border-top:1px solid rgba(255,255,255,.3)}.corporate-list span{display:block;border-bottom:1px solid rgba(255,255,255,.3);padding:1rem 0;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem}
.films{padding:11rem 4vw 3rem;text-align:center}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}.film-grid figure{position:relative;aspect-ratio:9/14;margin:0;overflow:hidden;background:#111;color:#fff;isolation:isolate}.film-grid video{position:absolute;inset:0}.film-grid figcaption{position:absolute;z-index:2;left:1.5rem;bottom:1.3rem;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;text-shadow:0 1px 10px rgba(0,0,0,.8);pointer-events:none}
.portfolio-preview{padding:11rem 4vw;text-align:center}.section-title{max-width:950px;margin:0 auto 5rem}.section-title>p:last-child{max-width:700px;margin:0 auto;color:var(--muted)}.mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:350px 350px;gap:1rem;margin-bottom:3rem}.mosaic figure{margin:0;overflow:hidden}.mosaic .wide{grid-row:span 2}.mosaic figure:nth-child(4){grid-column:span 2}.mosaic img{transition:transform .8s}.mosaic figure:hover img{transform:scale(1.025)}.portfolio-preview .button{margin:auto}
.markets{display:grid;grid-template-columns:1fr 1fr;background:var(--mist)}.markets>a{display:block;padding:8rem 8vw;min-height:520px;transition:background .25s}.markets>a:hover{background:rgba(255,255,255,.25)}.markets>a+a{border-left:1px solid var(--line)}.markets h2{font-size:clamp(3rem,5vw,5.3rem)}.markets p:last-child{max-width:520px;color:#57544e}.about{display:grid;grid-template-columns:.85fr 1.15fr;padding:11rem 8vw;gap:9vw;align-items:center}.about-image{height:700px}.about h2{font-size:clamp(3rem,5vw,5.4rem)}.about-copy>p:not(.eyebrow){max-width:620px;color:var(--muted)}.about-copy .text-link{display:inline-block;margin-top:1.5rem}.inquire{background:var(--ink);color:#fff;text-align:center;padding:10rem 2rem}.inquire .kicker{color:#c8b68e}.inquire h2{font-size:clamp(3.5rem,7vw,7.5rem)}.inquire>p:not(.kicker){color:#c9c7c0;margin:-.5rem 0 2.5rem}footer{background:var(--ivory);color:var(--ink);border-top:1px solid var(--line);padding:3rem 4vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:.73rem;letter-spacing:.06em}footer>div{text-align:center}footer>p{text-align:right}.footer-mark{width:max-content}footer p{margin:.2rem 0;color:var(--muted)}
@media(max-width:1180px) and (min-width:901px){.menu{display:block}.nav{display:none;position:absolute;left:0;right:0;top:92px;background:var(--ivory);padding:2rem 4vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}}
@media(max-width:900px){.site-header{height:76px}.menu{display:block}.nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--ivory);padding:2rem;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.film-hero{height:calc(100vh - 76px)}.scroll{right:1.2rem;bottom:1.4rem}.service-feature{grid-template-columns:1fr;margin-top:5rem}.service-feature.reverse .feature-copy{order:0}.feature-copy{padding:6rem 7vw}.feature-image{min-height:600px}.corporate{grid-template-columns:1fr}.film-grid{grid-template-columns:1fr}.film-grid figure{aspect-ratio:9/14;max-height:760px}.film-grid figure:last-child{aspect-ratio:16/10}.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:500px 300px 300px}.mosaic .wide{grid-column:span 2;grid-row:auto}.mosaic figure:nth-child(4){grid-column:span 2}.markets,.about{grid-template-columns:1fr}.markets>a+a{border-left:0;border-top:1px solid var(--line)}.about-image{height:600px}footer{grid-template-columns:1fr;text-align:center;gap:1.5rem}footer>*{margin:auto!important;text-align:center!important}}
@media(max-width:560px){.site-header{padding:0 1.2rem}.film-copy h1{font-size:3.25rem}.film-copy h1 em{font-size:1.08em}.overline,.place{font-size:.58rem;letter-spacing:.14em}.intro{padding:6rem 1.4rem}.intro-actions{flex-direction:column;align-items:center;gap:1.4rem}.image-triptych{grid-template-columns:1fr;padding:0 1rem}.image-triptych figure,.image-triptych figure:not(.tall){height:120vw;max-height:620px}.image-triptych figure:not(.tall):last-child{display:none}.feature-copy{padding:5rem 1.5rem}.feature-image{min-height:520px}.corporate{padding:7rem 1.5rem}.portfolio-preview{padding:7rem 1rem}.mosaic{grid-template-columns:1fr;grid-template-rows:repeat(4,105vw)}.mosaic .wide,.mosaic figure:nth-child(4){grid-column:auto}.markets>a{padding:6rem 1.5rem;min-height:0}.about{padding:7rem 1.5rem;gap:4rem}.about-image{height:125vw}.inquire{padding:7rem 1.25rem}}

/* Final editorial refinements for the approved design. */
.film-copy{width:min(94vw,1120px)}
.film-copy h1{line-height:.94}
.film-copy h1 em,
.intro h2 i,
.service-feature h2 i,
.corporate h2 i,
.section-title h2 i,
.about h2 i,
.inquire h2 i{display:inline-block;line-height:1.05;padding:.02em .06em .12em}
.place{max-width:100%;line-height:1.7}
.film-grid figure{min-width:0}
.film-grid video{z-index:1}
.film-grid figcaption{right:1.5rem;line-height:1.4}
.films-action{display:flex;justify-content:center;margin-top:2.5rem}
.button:disabled{opacity:.55;cursor:wait}

@media(max-width:560px){
  .film-hero{min-height:570px}
  .film-copy{width:100%;padding:0 1rem}
  .film-copy h1{font-size:clamp(2.75rem,14vw,3.55rem);line-height:.98;margin:1.1rem 0 1.5rem}
  .film-copy h1 em{font-size:1.06em;line-height:1.08}
  .place{max-width:20rem;margin-left:auto;margin-right:auto}
  .films{padding:7rem 1rem 2rem}
}
