.portfolio-intro{background:#172533;color:#fff;padding:95px 0 85px;position:relative;overflow:hidden}
.portfolio-intro::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,32,50,.95),rgba(16,32,50,.74) 52%,rgba(16,32,50,.3)),url('portfolio/10-aerial-setting.jpg') center 47%/cover;opacity:.88}
.portfolio-intro .wrap{position:relative}.portfolio-intro .eyebrow{color:#b8d6f6}.portfolio-intro h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.035em;line-height:1.08;font-size:clamp(3.3rem,6vw,6rem);margin:0 0 22px}.portfolio-intro h1 em{font-style:normal;color:#a9d1f9}.portfolio-intro p:not(.eyebrow){max-width:600px;font-size:19px;line-height:1.6;color:#e0eaf2}.portfolio-jump{display:flex;gap:24px;margin-top:38px}.portfolio-jump a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid #a7c9e9;padding-bottom:5px}.portfolio-jump a:hover{color:#acd3fc}
.portfolio-photos{padding:95px 0 110px}.portfolio-films{padding:95px 0 110px;background:#eef3f8}.portfolio-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.portfolio-heading .eyebrow{margin-bottom:12px}.portfolio-heading h2{font-size:clamp(2.7rem,4vw,4.4rem);margin:0}.portfolio-heading>p{color:var(--muted);max-width:360px;margin:0 0 7px;font-size:17px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-item{display:block;border:0;background:#e8edf2;padding:0;text-align:left;cursor:pointer;position:relative;overflow:hidden;aspect-ratio:4/3}.gallery-item:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.gallery-meta{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;padding:24px 18px 13px;color:#fff;font:700 14px 'DM Sans',Arial,sans-serif;letter-spacing:.025em;background:linear-gradient(transparent,rgba(9,23,37,.76))}.gallery-view{font-weight:500;opacity:0;transition:opacity .2s}.gallery-item:hover .gallery-view,.gallery-item:focus-visible .gallery-view{opacity:1}
.film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.film-card{background:#fff;box-shadow:0 12px 30px rgba(24,50,77,.08)}.film-frame{background:#172533;aspect-ratio:16/9}.film-frame video{display:block;width:100%;height:100%;object-fit:contain}.film-copy{padding:22px 25px 27px}.film-copy p{color:var(--blue);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin:0 0 9px}.film-copy h3{font-size:1.7rem;margin:0 0 8px}.film-copy span{color:var(--muted);font-size:15px}
.lightbox{position:fixed;max-width:none;max-height:none;width:100vw;height:100vh;border:0;margin:0;padding:35px 72px;background:rgba(7,15,25,.96);color:#fff}.lightbox::backdrop{background:rgba(7,15,25,.96)}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{margin:0;max-width:min(1300px,100%);text-align:center}.lightbox img{display:block;max-width:100%;max-height:calc(100vh - 105px);object-fit:contain;margin:auto}.lightbox figcaption{font-size:14px;color:#dbe5ef;margin-top:10px}.lightbox button{background:transparent;border:0;color:#fff;font-size:48px;line-height:1;cursor:pointer;padding:10px;position:absolute;z-index:1}.lightbox button:focus-visible{outline:3px solid #fff}.lightbox-close{right:20px;top:10px}.lightbox-prev{left:12px;top:45%}.lightbox-next{right:12px;top:45%}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item:first-child{grid-column:span 2;aspect-ratio:16/9}.film-grid{gap:18px}}
@media(max-width:620px){.portfolio-intro{padding:65px 0 70px}.portfolio-intro p:not(.eyebrow){font-size:17px}.portfolio-photos,.portfolio-films{padding:70px 0}.portfolio-heading{display:block}.portfolio-heading>p{margin-top:12px}.gallery-grid{gap:8px}.gallery-item{aspect-ratio:1/1}.gallery-item:first-child{grid-row:auto}.gallery-meta{padding:15px 10px 8px;font-size:12px}.gallery-view{display:none}.film-grid{grid-template-columns:1fr}.film-copy{padding:18px 20px 22px}.lightbox{padding:55px 38px}.lightbox img{max-height:calc(100vh - 150px)}.lightbox button{font-size:34px}.lightbox-close{top:7px;right:12px}.lightbox-prev{left:1px}.lightbox-next{right:1px}}

/* Image-first editorial gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(160px,18vw,240px);grid-auto-flow:dense;gap:10px}.gallery-item,.gallery-item:first-child{grid-column:auto;grid-row:auto;aspect-ratio:auto;border:0;padding:0;background:#e8edf2;overflow:hidden;position:relative;cursor:zoom-in}.gallery-item:nth-child(1),.gallery-item:nth-child(12),.gallery-item:nth-child(23){grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease,filter .4s ease}.gallery-item:hover img{transform:scale(1.035);filter:brightness(.96)}.gallery-item:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.lightbox figure{display:flex;align-items:center;justify-content:center;max-height:100%;height:100%}.lightbox img{max-height:calc(100vh - 70px)}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(160px,25vw,230px)}}
@media(max-width:620px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(130px,42vw,190px);gap:7px}.gallery-item,.gallery-item:first-child{aspect-ratio:auto}.gallery-item:nth-child(1),.gallery-item:nth-child(12),.gallery-item:nth-child(23){grid-column:span 2;grid-row:span 2}.lightbox img{max-height:calc(100vh - 110px)}}

.portfolio-jump{flex-wrap:wrap}.portfolio-staging{padding:95px 0;background:var(--paper);scroll-margin-top:25px}.portfolio-staging .staging-showcase{margin-top:0}@media(max-width:680px){.portfolio-staging{padding:73px 0}.portfolio-jump{gap:16px 24px}}

/* Preserve the social reel’s vertical framing. */
.film-frame-reel{aspect-ratio:9/16;width:min(100%,340px);margin-inline:auto}.film-card-reel .film-frame-reel video{object-fit:contain}
