/* The homepage after the film. Uses brand.css tokens; the film itself is film.css. */
.fl-actions .btn{min-height:52px}

.intro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,120px);align-items:center}
.intro-portrait{border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:var(--raised)}
.intro-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.intro-copy .lede{margin-top:var(--s-4)}
.intro-copy .h2{max-width:20ch}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s-5);margin:var(--s-6) 0 var(--s-5);border-top:1px solid var(--line)}
.facts > div{padding:18px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:14px;color:var(--stone-3)}
.facts dd{margin-top:4px;font:400 clamp(24px,2.2vw,30px)/1.15 var(--display);color:var(--stone)}
.facts small{font:400 14px var(--sans);color:var(--stone-3)}
@media (max-width:900px){.intro-grid{grid-template-columns:1fr}.intro-portrait{aspect-ratio:1/1;max-width:520px}}

.services .h2{margin-bottom:var(--s-6)}
.service-list{border-top:1px solid var(--line)}
.service-list a{display:grid;grid-template-columns:minmax(160px,.55fr) minmax(0,1fr) 48px;gap:var(--s-5);align-items:center;padding:clamp(24px,3vw,40px) 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background .35s var(--ease)}
.service-name{font:400 clamp(40px,5vw,72px)/1 var(--display);letter-spacing:-.025em;color:var(--stone);transition:color .25s,transform .45s var(--ease)}
.service-line{color:var(--stone-2);font-size:17.5px;max-width:52ch}
.service-go{justify-self:end;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-2);background:center/16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%23ece6db' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");transition:background-color .25s,box-shadow .25s,transform .45s var(--ease)}
.service-list a:hover .service-name{color:var(--brass-2);transform:translateX(6px)}
.service-list a:hover .service-go{background-color:var(--brass);box-shadow:none;transform:translateX(-4px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%231a140b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@media (max-width:760px){.service-list a{grid-template-columns:1fr 44px;gap:10px var(--s-3)}.service-line{grid-column:1 / 2}.service-go{grid-row:1 / span 2;grid-column:2}}

.areas-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-6)}
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}
.area-grid a{position:relative;display:block;aspect-ratio:3/4;border-radius:14px;overflow:hidden;text-decoration:none;background:var(--raised)}
.area-grid img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.area-grid a::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,14,13,.88) 0%,rgba(15,14,13,.35) 38%,rgba(15,14,13,0) 62%)}
.area-grid span{position:absolute;left:var(--s-4);right:var(--s-4);bottom:var(--s-4);z-index:1;display:grid;gap:6px;color:var(--stone-2);font-size:15px}
.area-grid b{font:400 clamp(28px,2.6vw,38px)/1.05 var(--display);letter-spacing:-.015em;color:var(--stone);font-weight:400}
.area-grid a:hover img{transform:scale(1.04)}
.credit{margin-top:var(--s-3);font-size:13px;color:var(--stone-3)}
@media (max-width:860px){.area-grid{grid-template-columns:1fr}.area-grid a{aspect-ratio:4/3}}
.facts dd.facts-text{font:500 18px/1.4 var(--sans);padding-top:6px}
