/* Compatibility between the approved prototypes and the shared CMS shell. */
[hidden]{display:none!important}
#menu{display:none}#mobile-nav{position:fixed;top:64px;left:0;right:0;background:#fff;color:#111;padding:24px;display:flex;flex-direction:column;gap:20px;z-index:30;border-bottom:1px solid #ddd}
.page-home .site-header{height:64px;padding:0 24px;backdrop-filter:none}
.page-home.past-opening .site-header{backdrop-filter:blur(14px)}
.page-home .film-preview .film-caption{padding:0;min-height:0;height:auto}
.page-home .film-preview .film-caption>span{padding-top:0;white-space:normal}
.page-home .news-feed{display:block}.page-home .news-card img{height:100%;width:100%;object-fit:contain}
.page-home .news-heading{padding-top:20px}.page-home .news-heading p{margin:0}
.page-home .news-caption strong{font-weight:400}
.page-home footer>span{width:auto}.page-home #film-dialog{padding:70px 24px 24px;width:100%;height:100svh;max-width:none;max-height:none;margin:0;background:#fff;color:#111}
.page-artists main{padding:0 24px;min-height:0}.page-artists .title h1{font-weight:400}
.page-artists .group h2{line-height:1.4;letter-spacing:normal}.page-artists .preview-caption p{line-height:1.4}
.page-artists footer{align-items:center}.page-artists footer>span{width:auto}
@media(min-width:761px){.page-artists .site-header{height:58px;flex-shrink:0}.page-artists footer{margin:10px 24px 0;padding:12px 0 16px;min-height:46px}}
@media(min-width:761px) and (max-height:650px){.page-artists .site-header{height:50px}}
@media(max-width:760px){.site-header nav,.site-header .header-enquiry{display:none}#menu{display:block;font-size:12px}.page-home .site-header{padding:0 16px}.page-artists main{padding:0 16px}.page-artists .site-header{height:64px}.page-artists footer>span,.page-home footer>span{width:100%}}

.page-home .stage .opening-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}

.page-home a.film-preview:hover{text-decoration:none}
@media(max-width:760px){.page-home .stage .opening-poster{object-position:55% center}}

.page-home .news-caption,.page-home .news-caption-link{display:block}

/* Compact information pages: keep all content visible in a desktop viewport. */
@media(min-width:1000px) and (min-height:680px){
 .page-contact,.page-concierge{min-height:100svh;display:flex;flex-direction:column}
 .page-contact .site-header,.page-concierge .site-header{flex:0 0 64px}
 .page-contact main,.page-concierge main{flex:1;min-height:0;display:flex}
 .page-contact footer,.page-concierge footer{flex:0 0 44px;padding:10px 24px}
 .page-contact .contact-page,.page-concierge .concierge-page{width:100%;min-height:calc(100svh - 108px);box-sizing:border-box}
 .page-contact .contact-page{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);grid-template-rows:auto auto auto auto auto;gap:0 48px;padding:24px;align-content:center}
 .page-contact .contact-intro{grid-column:1;grid-row:1/5;padding-right:16px}
 .page-contact .contact-intro h1{font-size:clamp(34px,3vw,50px);line-height:1.04;letter-spacing:-.04em}
 .page-contact .about-company{display:block;padding:24px 0 0}
 .page-contact .about-company .eyebrow{margin-bottom:10px}
 .page-contact .about-company p{font-size:15px;line-height:1.5;letter-spacing:normal;margin-bottom:12px;max-width:42ch}
 .page-contact .contact-page>.section-label,.page-contact .contacts-grid,.page-contact .offices-grid{grid-column:2}
 .page-contact .section-label{padding:12px 0;gap:16px}
 .page-contact .section-label h2,.page-contact .offices-grid h2{font-size:14px;line-height:1.3}
 .page-contact .section-label>span{font-size:10px}
 .page-contact .contacts-grid{gap:0 22px}
 .page-contact .contacts-grid>div{padding:14px 0}
 .page-contact .contacts-grid .eyebrow{margin-bottom:5px}
 .page-contact .contacts-grid a{font-size:16px;overflow-wrap:anywhere}
 .page-contact .offices-grid{gap:20px;padding:16px 0}
 .page-contact .offices-grid address{font-size:12px;line-height:1.5;margin:10px 0}
 .page-contact .offices-grid a{font-size:12px;white-space:nowrap}
 .page-contact .contact-close{grid-column:1/-1;padding:16px 0 0;margin-top:20px;align-items:center}
 .page-contact .contact-close h2{font-size:18px}
 .page-contact .contact-close a{font-size:12px}
 .page-concierge .concierge-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;gap:12px 44px;padding:18px 24px;align-content:center}
 .page-concierge .concierge-hero{display:contents}
 .page-concierge .concierge-hero>div{grid-column:1;grid-row:1}
 .page-concierge .concierge-hero .eyebrow{margin-bottom:8px}
 .page-concierge .concierge-hero h1{font-size:46px;line-height:1.04;margin:8px 0 12px}
 .page-concierge .concierge-hero h2{font-size:22px;line-height:1.15;max-width:28ch}
 .page-concierge .concierge-hero p{font-size:13px;line-height:1.5;margin:12px 0 0;max-width:48ch}
 .page-concierge .concierge-hero .line-link{margin-top:10px}
 .page-concierge .concierge-hero figure{grid-column:2;grid-row:1/3;margin:0;display:flex;flex-direction:column;min-height:0;height:100%;gap:8px}
 .page-concierge .concierge-hero img{flex:1;min-height:0;height:0;max-height:none;object-fit:contain}
 .page-concierge .concierge-hero figcaption{font-size:10px;line-height:1.4;margin:0}
 .page-concierge .service-section{grid-column:1;grid-row:2;display:block;padding:14px 0 0}
 .page-concierge .service-section .eyebrow{margin-bottom:8px}
 .page-concierge .service-section h2{font-size:22px;line-height:1.15;max-width:32ch}
 .page-concierge .service-section p{font-size:13px;line-height:1.5;margin:10px 0;max-width:52ch}
 .page-concierge .service-list{font-size:12px;gap:20px;padding:2px 0 6px;flex-wrap:wrap}
 .page-concierge .service-section .line-link{margin-top:4px}
 .page-concierge #enquiry{grid-row:3}
 .page-concierge .portfolio-row{grid-column:2;grid-row:3;padding:10px 0 0}
 .page-concierge .portfolio-row .section-label{padding:0 0 8px}
 .page-concierge .portfolio-row .section-label h2{font-size:11px}
 .page-concierge .campaign-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .page-concierge .campaign-grid .image-frame{height:76px;aspect-ratio:auto;background:#fff}
 .page-concierge .campaign-grid img{object-fit:contain}
 .page-concierge .campaign-grid .caption{padding-top:5px}
 .page-concierge .campaign-grid .caption strong{font-size:10px}
 .page-concierge .campaign-grid .caption .subject,.page-concierge .campaign-grid .caption .credit{font-size:9px;line-height:1.35}
 .page-concierge .line-link{font-size:12px}
}

.concierge-hero figcaption .concierge-talent-credit{display:block;font-size:16px;font-weight:700;line-height:1.3;margin-bottom:6px}

.page-home .news-more{margin-top:16px;padding:14px 0}.page-home footer{margin:8px var(--gutter) 0;padding:18px 0 20px}

/* Shared navigation: one type scale and geometry across every page.
   The homepage keeps its approved transparent opening state. */
html body .site-header{height:64px;min-height:64px;flex-shrink:0;margin:0;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;z-index:20;box-sizing:border-box;font:400 12px/1.4 "Arimo",sans-serif;letter-spacing:0;view-transition-name:site-header}
html body .site-header .logo img{width:72px;height:auto;display:block}
html body .site-header nav{display:flex;align-items:center;gap:30px;font:inherit;letter-spacing:0}
html body .site-header nav a{position:relative;display:block;padding:5px 0;margin:0;border:0;font:inherit;letter-spacing:0;text-transform:none;text-decoration:none}
html body .site-header nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
html body .site-header nav a:hover::after,html body .site-header nav a[aria-current=page]::after{transform:scaleX(1)}
html body .site-header .header-enquiry{display:block;justify-self:end;font:inherit;letter-spacing:0;padding:5px 0}
@media(max-width:760px){html body .site-header{display:flex;justify-content:space-between;padding:0 16px;gap:16px}html body .site-header .logo img{width:58px}html body .site-header nav,html body .site-header .header-enquiry{display:none}html body .site-header #menu{display:block;font:inherit}}
@media(prefers-reduced-motion:reduce){html body .site-header nav a::after{transition:none}}

/* Shared caption and About typography across talent disciplines and category pages. */
.biography p{font-size:13px;line-height:1.7;white-space:pre-line}
.archive-work .caption .subject{margin-top:8px}
.concierge-talent-credit strong{display:block;font-size:16px;font-weight:700}
.concierge-talent-credit span{display:block;font-size:11px;font-weight:400;margin-top:3px}

/* Concierge artwork stays uncropped, with its caption aligned below. */
html body.page-concierge .concierge-hero figure{align-items:center}
html body.page-concierge .concierge-hero img{width:100%;height:auto;max-width:440px;max-height:56svh;flex:0 1 auto;align-self:center;object-fit:contain}
html body.page-concierge .concierge-hero figcaption{width:100%;max-width:440px;align-self:center}

/* Concierge: a single editorial composition, rather than stacked service panels. */
.page-concierge .concierge-editorial{width:100%;max-width:1180px;margin:0 auto;padding:30px 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,84px);align-items:center;align-self:center}
.concierge-copy{min-width:0;max-width:480px}
.concierge-label{display:flex;flex-direction:column;gap:5px;margin-bottom:24px;font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.06em}
.concierge-label>span:first-child{font-weight:700}
.concierge-label>span:last-child{color:#666;font-size:9px}
.concierge-copy h1{font-size:clamp(40px,4.3vw,58px);font-weight:400;line-height:1.03;letter-spacing:-.055em;max-width:15ch;text-wrap:balance}
.concierge-copy .concierge-intro{font-size:15px;line-height:1.5;max-width:36ch;margin-top:20px}
.concierge-services{display:flex;flex-wrap:wrap;gap:7px 18px;margin-top:18px;font-size:11px}
.concierge-detail{border-top:1px solid #ccc;margin-top:24px;padding-top:18px}
.concierge-detail h2{font-size:15px;font-weight:700;line-height:1.3;letter-spacing:-.02em}
.concierge-detail p{font-size:12px;line-height:1.6;margin-top:9px;max-width:52ch}
.concierge-enquiry{margin-top:24px}
.concierge-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:#111;color:#fff;padding:12px 16px;font-size:12px;min-width:200px;transition:background .2s}
.concierge-cta>span:last-child{font-size:20px;line-height:1}
.concierge-cta:hover{background:#333;text-decoration:none}
.concierge-enquiry p{font-size:11px;line-height:1.5;color:#666;max-width:48ch;margin-top:12px}
.concierge-artwork{width:100%;max-width:460px;justify-self:end;min-width:0}
.concierge-artwork>img{width:100%;height:auto;max-height:calc(100svh - 225px);object-fit:contain;object-position:center;display:block}
.concierge-artwork figcaption{display:flex;justify-content:space-between;align-items:start;gap:16px;border-top:1px solid #ccc;padding-top:12px;margin-top:12px}
.concierge-artist strong{display:block;font-size:14px;line-height:1.3;font-weight:700}
.concierge-artist>span{display:block;font-size:10px;margin-top:3px}
.concierge-artwork-credit{font-size:9px;line-height:1.5;text-align:right}
.concierge-artwork-credit>span{display:block}
@media(min-width:1000px) and (max-height:800px){.page-concierge .concierge-editorial{padding-top:20px;padding-bottom:20px}.concierge-label{margin-bottom:18px}.concierge-copy h1{font-size:46px}.concierge-copy .concierge-intro{font-size:13px;margin-top:14px}.concierge-detail{margin-top:18px;padding-top:14px}.concierge-enquiry{margin-top:18px}}
@media(max-width:999px){.page-concierge .concierge-editorial{padding:30px 24px;gap:32px}.concierge-copy h1{font-size:40px}.concierge-artwork>img{max-height:580px}.concierge-artwork figcaption{flex-direction:column;gap:9px}.concierge-artwork-credit{text-align:left}}
@media(max-width:760px){.page-concierge .concierge-editorial{display:flex;flex-direction:column;align-items:stretch;padding:24px 16px;gap:28px}.concierge-copy{max-width:none}.concierge-copy h1{font-size:clamp(40px,9vw,56px);max-width:16ch}.concierge-label{margin-bottom:18px}.concierge-copy .concierge-intro{font-size:14px}.concierge-artwork{max-width:440px;align-self:center}.concierge-artwork>img{max-height:none}.concierge-artwork figcaption{flex-direction:row}.concierge-artwork-credit{text-align:right}}
@media(prefers-reduced-motion:reduce){.concierge-cta{transition:none}}

.concierge-email{display:block;width:fit-content;font-size:12px;line-height:1.5;margin-top:12px}.concierge-email:hover{text-decoration:underline;text-underline-offset:3px}

/* Full covers share one height; column widths follow each artwork's native ratio. */
.photography-lead .photography-story figure{aspect-ratio:var(--cover-ratio, .7778)}
.photography-lead .photography-story img{width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:760px){.photography-lead .photography-story{flex:0 0 calc(260px * var(--cover-ratio, .7778))}.photography-lead .photography-story figure{height:260px}}

/* Company disclosures and notices remain quiet, readable and available on every page. */
footer{flex-wrap:wrap}footer .footer-legal{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-top:10px;border-top:1px solid #e4e4e4;font-size:10px;line-height:1.5;color:#555}footer .footer-legal nav{display:flex;gap:18px;flex-shrink:0}footer .footer-legal p{margin:0;text-align:right}footer .footer-legal a{text-decoration:underline;text-underline-offset:3px}
.legal-page{max-width:920px;margin:0 auto;padding:48px 24px 64px}.legal-heading h1{font-size:clamp(34px,5vw,56px);line-height:1.05;margin:0 0 16px;font-weight:700}.legal-heading>p{font-size:12px;color:#666}.legal-review{padding:18px;background:#eee;border-left:3px solid #111;margin:28px 0;font-size:13px;line-height:1.6}.legal-review p{margin:6px 0 0}.legal-page-nav{display:flex;gap:24px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid #ccc;font-size:12px}.legal-prose{font-size:14px;line-height:1.75;overflow-wrap:anywhere}.legal-prose h2{font-size:22px;line-height:1.3;margin:36px 0 14px}.legal-prose p,.legal-prose ul{margin:14px 0}.legal-prose ul{padding-left:20px}.legal-prose li{margin:8px 0}.legal-prose a{text-decoration:underline;text-underline-offset:3px}.legal-prose table{width:100%;border-collapse:collapse;font-size:12px}.legal-prose td,.legal-prose th{padding:12px 8px;border-bottom:1px solid #ccc;text-align:left;vertical-align:top}
@media(min-width:1000px) and (min-height:680px){.page-contact footer,.page-concierge footer{flex-basis:auto}.page-contact .contact-page{min-height:0}}
@media(max-width:760px){footer .footer-legal{flex-direction:column;gap:12px}footer .footer-legal p{text-align:left}.legal-page{padding:30px 16px 40px}.legal-prose{font-size:13px}.legal-prose h2{font-size:20px}.legal-prose td,.legal-prose th{padding:10px 5px}}

/* News article films play in place without a clickable card or overlay. */
.news-article-film,.news-article-film video{cursor:default}

/* Local editor archive: one compact, uncropped preview per story. */
.editor-archive-heading{padding:28px 24px 20px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.editor-archive-heading h1{font-size:30px;text-transform:uppercase}.editor-archive-heading p{font-size:12px;margin-top:10px;color:#666}
.editor-archive-tools{padding:12px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px;border-block:1px solid #ddd;background:#f1f1f1}
.editor-archive-tools label{display:flex;gap:10px;align-items:center}.editor-archive-tools input{padding:8px;border:1px solid #bbb;background:#fff;font:inherit;max-width:190px}
.editor-archive-tools nav{display:flex;gap:16px;flex-wrap:wrap}.editor-archive-tools button{border:1px solid #aaa;padding:7px 10px}.editor-archive-tools [role=status]{font-size:11px}
.editor-archive-group{padding:24px;scroll-margin-top:130px}.editor-archive-group h2{font-size:18px;letter-spacing:0;margin-bottom:16px}.editor-archive-group h2 span{font-weight:400;color:#777;font-size:12px}
.editor-contact-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:20px 14px}
.editor-archive-card{min-width:0;position:relative}.editor-archive-thumb{height:160px;background:#ececec;position:relative;display:grid;place-items:center}
.editor-archive-thumb img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:contain}.editor-archive-card h3{font-size:12px;text-transform:uppercase;margin-top:8px}.editor-archive-card p,.editor-archive-links{font-size:11px;margin-top:5px}.editor-archive-links{display:flex;gap:12px;flex-wrap:wrap}.editor-archive-links a{text-decoration:underline;text-underline-offset:3px}
.editor-archive-select{display:block;margin-bottom:7px}.editor-archive-select input{width:16px;height:16px;margin:0;vertical-align:middle;accent-color:#111}.editor-archive-select span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.editor-archive-card:has(input:checked) .editor-archive-thumb{outline:2px solid #111;outline-offset:2px}.editor-film-badge,.editor-draft-badge{position:absolute;bottom:5px;background:#111;color:#fff;font-size:10px;padding:2px 5px}.editor-film-badge{left:5px}.editor-draft-badge{right:5px}
@media(max-width:760px){.editor-archive-heading{padding:20px 16px;align-items:start;flex-direction:column;gap:8px}.editor-archive-tools,.editor-archive-group{padding:16px}.editor-contact-sheet{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-archive-tools label{width:100%}.editor-archive-heading h1{font-size:26px}}

/* Zateesha's Featured edit keeps a compact editorial cadence. */
.talent-page[data-talent="Zateesha Barbour"] .photography-section{padding:26px 24px 32px}
.talent-page[data-talent="Zateesha Barbour"] .photography-section .section-label{margin-bottom:20px}
.talent-page[data-talent="Zateesha Barbour"] .biography{padding:32px 24px;gap:40px}
.talent-page[data-talent="Zateesha Barbour"] .biography p{font-size:13px;line-height:1.65}
@media(max-width:760px){.talent-page[data-talent="Zateesha Barbour"] .photography-section{padding:22px 16px 26px}.talent-page[data-talent="Zateesha Barbour"] .biography{padding:26px 16px;gap:26px}}

/* One footer treatment; each page retains its natural scroll position. */
body>footer.site-footer{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:24px;margin:10px 24px 0;padding:18px 0 20px;border-top:1px solid #dedede;font-size:10px;line-height:1.5}
body>footer.site-footer .logo img{width:48px}
body>footer.site-footer>span{width:auto;margin-left:auto}
body>footer.site-footer .footer-legal{width:100%;padding-top:12px;border-top:1px solid #e4e4e4}
@media(max-width:760px){body>footer.site-footer{margin:10px 16px 0;gap:18px;padding:18px 0 20px}body>footer.site-footer>span{width:100%;margin-left:0}}

/* Reserve the opening viewport for content; Contact keeps its visible footer. */
body:not(.page-contact)>main{min-height:calc(100svh - 64px)}
@media(min-width:761px){body.page-artists>main{min-height:calc(100svh - 58px)}}
@media(min-width:761px) and (max-height:650px){body.page-artists>main{min-height:calc(100svh - 50px)}}

@media(min-width:761px){
 .page-artists .preview{padding-bottom:40px}
 .page-artists .preview-caption{padding-top:14px;padding-bottom:0}
 .page-artists .preview-media img{object-position:center top}
}

/* A single selected film gets its own screening, rather than half an empty pair. */
.film-grid.film-count-1{grid-template-columns:minmax(0,1fr);max-width:960px;margin-inline:auto}
.film-grid.film-count-1 .film-caption{min-height:0}
.film-grid.film-count-1 .caption .credit{min-height:0}
.talent-page[data-talent="Zateesha Barbour"] [id$="reethirah"]{padding:26px 24px 32px}
.talent-page[data-talent="Zateesha Barbour"] [id$="reethirah"] .section-label{margin-bottom:16px}
@media(max-width:760px){
 .talent-page[data-talent="Zateesha Barbour"] [id$="reethirah"]{padding:22px 16px 26px}
}

/* Zateesha's approved Film first composition: dark main screening only. */
.film-first{background:#fff;color:#111}
.film-first .section-label{margin-bottom:16px}
.film-first .portfolio-row:has(.film-grid){padding:24px 24px 32px}
.film-first .film-grid{gap:24px}
.film-first .film-caption{min-height:0}
.film-first .caption .credit{min-height:0}
.film-first .photography-caption{padding-top:12px}
@media(max-width:760px){
 .film-first .portfolio-row:has(.film-grid){padding:20px 16px 26px}
 .film-first .film-grid{grid-template-columns:1fr;gap:24px}
}
.film-first .talent-nav{background:#fff;color:#111;border-bottom-color:#bbb}

/* Aesthetic opener keeps the whole frame and never acts as a project link. */
.ambient-film{padding:48px 24px;background:#fff;}
.ambient-film video{display:block;width:100%;height:auto;max-width:840px;object-fit:contain;margin:0 auto;pointer-events:none;background:#111;}
@media(max-width:700px){.ambient-film{padding:28px 16px;}}

/* A larger campaign still paired with a quieter moving image. */
.campaign-feature{background:#dce3e7;color:#111;padding:48px 24px;}
.campaign-feature-inner{max-width:1250px;margin:0 auto;}
.campaign-feature-media{display:flex;align-items:center;gap:24px;}
.campaign-feature-still{flex:1.45;min-width:0;}
.campaign-feature-film{flex:1;min-width:0;}
.campaign-feature-still img,.campaign-feature video{display:block;width:100%;height:auto;}
.campaign-feature video{pointer-events:none;}
.campaign-feature-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;}
.campaign-feature-caption h2{font-size:22px;font-weight:500;line-height:1.2;margin:0 0 6px;}
.campaign-feature-caption span{font-size:13px;color:#555;}
.campaign-feature-caption a{display:inline-flex;gap:8px;align-items:center;font-size:14px;white-space:nowrap;}
.campaign-feature--film-lead{background:#000;color:#f4f0eb;padding:64px 32px;}
.campaign-feature--film-lead .campaign-feature-media{gap:48px;}
.campaign-feature--film-lead .campaign-feature-still{flex:0 0 20%;}
.campaign-feature--film-lead .campaign-feature-film{flex:1;}
.campaign-feature--film-lead .campaign-feature-caption span{color:#bfb5ad;}
@media(max-width:700px){.campaign-feature{padding:24px 16px 32px;}.campaign-feature-media{flex-direction:column;align-items:stretch;gap:16px;}.campaign-feature-film{width:82%;align-self:flex-end;}.campaign-feature-caption{padding-top:16px;gap:12px;}.campaign-feature-caption h2{font-size:19px;}}
@media(max-width:700px){.campaign-feature--film-lead{padding:32px 20px;}.campaign-feature--film-lead .campaign-feature-media{gap:24px;}.campaign-feature--film-lead .campaign-feature-still{flex:auto;width:30%;}.campaign-feature--film-lead .campaign-feature-film{width:100%;}}

/* Covers retain a fixed contact-sheet size, including an incomplete final row. */
.photography-covers .photography-stories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 16px;}
.photography-covers .photography-story figure{aspect-ratio:7/9;display:flex;align-items:flex-end;margin:0;}
.photography-covers .photography-story figure img{width:100%;height:100%;object-fit:contain;object-position:center bottom;}
.portfolio-arrange{display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid #ddd;}
.portfolio-arrange button,.order-moves button{background:white;color:#111;border:1px solid #aaa;padding:8px 14px;font:inherit;cursor:pointer;}
.portfolio-arrange span{font-size:13px;color:#555;}
.arranging-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:24px 16px!important;}
.order-tile{min-width:0;cursor:grab;outline:1px dashed #aaa;padding:8px;}
.order-tile.dragging{opacity:.4;}
.order-tile .photography-story,.order-tile .project-card{display:block;}
.order-tile img,.order-tile video{height:220px!important;width:100%!important;object-fit:contain!important;}
.order-moves{display:flex;gap:4px;margin-top:10px;}
.order-moves button{padding:6px;font-size:11px;flex:1;}
@media(max-width:1100px){.photography-covers .photography-stories,.arranging-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media(max-width:700px){.photography-covers .photography-stories,.arranging-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.portfolio-arrange{padding:16px;flex-wrap:wrap;}.portfolio-arrange span{width:100%;}}

/* Give paired campaign stories their own coloured feature. */
.theme-sand{background:#e8dfcd;color:#111}
.photography-spotlight{padding:36px 48px 44px}
.photography-spotlight .section-label{padding:0 0 28px}
.photography-spotlight .section-label>strong{font-size:25px;letter-spacing:-.025em;text-transform:none}
.photography-spotlight .section-label>span{display:none}
.photography-spotlight .photography-stories{display:grid;gap:28px;align-items:start}
.photography-spotlight .photography-story figure{aspect-ratio:var(--cover-ratio)}
.photography-spotlight .photography-story img{width:100%;height:100%;object-fit:contain}
@media(max-width:760px){.photography-spotlight{padding:28px 16px 32px}.photography-spotlight .photography-stories{grid-template-columns:minmax(0,1fr)!important;gap:28px}}

.story-full-film{margin-bottom:24px;}
.story-full-film video{display:block;width:100%;height:auto;}

.story-full-film{grid-column:1 / -1;position:relative;min-width:0;}
.story-film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;cursor:pointer;}
.story-film-play svg{width:32px;height:32px;}
.story-film-play[hidden]{display:none;}
.story-film-play:hover{background:rgba(0,0,0,.65);}
.story-film-play:focus-visible{outline:2px solid #fff;outline-offset:4px;}

/* Zateesha’s advertising book follows each still and film’s native ratio. */
.natural-advertising.is-laid-out{display:block;}
.natural-advertising:not(.arranging-grid) .image-frame,.natural-advertising:not(.arranging-grid) .film-card video{height:var(--photo-height);aspect-ratio:auto;background:transparent;}
.natural-advertising:not(.arranging-grid) .image-frame img{height:100%;width:100%;object-fit:contain;}
.natural-advertising .photo-row{margin-bottom:36px;}
.natural-advertising .film-caption{padding-top:0;}
@media(max-width:760px){.natural-advertising .photo-row{margin-bottom:28px;}}
.natural-advertising.is-laid-out{padding:0;margin:22px 24px;}
@media(max-width:760px){.natural-advertising.is-laid-out{margin:16px;}}

.music-video-book{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;}
.music-video-book .film-card video{aspect-ratio:16/9;height:auto;background:#111;}
.music-video-book .caption{font-size:12px;line-height:1.5;}
.music-video-book[aria-label="Music Videos work"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
@media(max-width:760px){.music-video-book{grid-template-columns:minmax(0,1fr);gap:28px;}}
@media(max-width:760px){.music-video-book[aria-label="Music Videos work"]{grid-template-columns:minmax(0,1fr)}}

/* Cover rows share an image height while retaining each artwork's native proportions. */
[data-photo-gallery][data-layout="covers"].is-laid-out{display:block}
[data-photo-gallery][data-layout="covers"] .photo-row{display:grid;gap:16px;margin-bottom:28px;align-items:start}
[data-photo-gallery][data-layout="covers"] .photo-row:last-child{margin-bottom:0}
[data-photo-gallery][data-layout="covers"] .photo-row figure,[data-photo-gallery][data-layout="covers"] .photo-row .image-frame{aspect-ratio:auto;height:var(--photo-height);background:transparent}
[data-photo-gallery][data-layout="covers"] .photo-row img{height:var(--photo-height);width:100%;object-fit:contain}
[data-photo-gallery][data-layout="covers"] .photo-row .film-card video{height:var(--photo-height);width:100%;aspect-ratio:auto;object-fit:contain;background:transparent}
@media(max-width:760px){[data-photo-gallery][data-layout="covers"] .photo-row{gap:10px}}

/* Rica's curated beauty opening uses complete artwork at its native proportions. */
[data-talent="Rica Romain"] .rica-opening{background:#eee6df;padding:48px 7vw 52px}
[data-talent="Rica Romain"] .rica-opening .photography-stories{gap:32px;max-width:1100px;margin:auto}
/* The supplied Calvin Klein artwork includes 64px white strips above and below. */
[data-talent="Rica Romain"] .rica-opening .photography-stories{grid-template-columns:.818fr .707fr .7142857fr!important}
[data-talent="Rica Romain"] .rica-opening figure:has(img[src$="ck-justin-lara-original.webp"]){position:relative;aspect-ratio:5/7;overflow:hidden}
[data-talent="Rica Romain"] .rica-opening img[src$="ck-justin-lara-original.webp"]{position:absolute;top:-3.5714286%;left:0;width:100%;height:107.1428571%;max-height:none;object-fit:fill}
[data-talent="Rica Romain"] .photography-caption{padding-top:14px;font-size:12px}
[data-talent="Rica Romain"] .photography-caption strong{font-size:13px}
[data-talent="Rica Romain"] .rica-covers{padding:44px 32px}
[data-talent="Rica Romain"] .rica-editorial{padding:48px 7vw}
[data-talent="Rica Romain"] .rica-editorial .photography-stories{gap:32px;max-width:1180px;margin:auto}
@media(max-width:760px){
 [data-talent="Rica Romain"] .rica-opening,[data-talent="Rica Romain"] .rica-editorial{padding:28px 16px 32px}
 [data-talent="Rica Romain"] .rica-opening .photography-stories{gap:22px}
 [data-talent="Rica Romain"] .rica-opening .photography-stories{grid-template-columns:minmax(0,1fr)!important}
 [data-talent="Rica Romain"] .rica-covers{padding:28px 16px}
}

/* Optional border framing for overview cards; original gallery artwork is retained. */
.image-frame.feature-trimmed{position:relative;overflow:hidden}
[data-photo-gallery] .image-frame.feature-trimmed img,.image-frame.feature-trimmed img{position:absolute;width:var(--trim-width);height:var(--trim-height);max-width:none;left:var(--trim-left);top:var(--trim-top);object-fit:fill}
/* Featured films have their own spacing, independent of optional headings. */
.talent-page .portfolio-row:has(.screening-room),
.talent-page .portfolio-row:has(>.film-grid),
.talent-page .film-text{padding:48px 32px 52px}
.talent-page .screening-room,
.talent-page .film-grid{max-width:1280px;margin-inline:auto;gap:32px}
.talent-page .film-grid.film-count-1{max-width:960px}
.talent-page .film-grid.film-orientation-portrait{max-width:1180px;grid-template-columns:repeat(4,minmax(0,1fr))}
.talent-page .film-text{grid-template-columns:minmax(0,.85fr) minmax(0,2fr);gap:32px}
.talent-page .screening-room{grid-template-columns:minmax(0,2fr) minmax(260px,.85fr);align-items:start}
.talent-page .film-selector{min-width:0}
.talent-page .film-selector h2{font-size:36px;margin-bottom:20px}
.talent-page .film-selector button{padding:18px 0}
.talent-page .film-caption,
.talent-page .screen .film-caption{height:auto;min-height:0}
.talent-page .film-caption .caption{padding-top:14px;font-size:12px;line-height:1.5}
.talent-page .film-caption .subject{margin-top:4px}
.talent-page .film-caption .credit{min-height:0}
@media(max-width:760px){
 .talent-page .portfolio-row:has(.screening-room),
 .talent-page .portfolio-row:has(>.film-grid),
 .talent-page .film-text{padding:28px 16px 32px}
 .talent-page .screening-room,
 .talent-page .film-grid,
 .talent-page .film-text{grid-template-columns:minmax(0,1fr);gap:32px}
 .talent-page .film-grid.film-orientation-portrait{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}
 .talent-page .film-selector h2{font-size:30px;margin-bottom:16px}
 .talent-page .film-selector button{padding:14px 0}
}

/* Image sections keep their breathing room when editorial headings are hidden. */
.talent-page .stills-section,
.talent-page .portfolio-row[data-cover-section],
.talent-page .portfolio-row:has(>.project-index){padding:36px 24px 40px}
.talent-page .stills-section .photo-row:last-child{margin-bottom:0}
.talent-page .caption .credit{min-height:0}
/* Native cover proportions also apply to styling portfolios. */
.styling-page [data-photo-gallery][data-layout="covers"] .photo-row .image-frame img{object-fit:contain!important}
@media(max-width:760px){
 .talent-page .stills-section,
 .talent-page .portfolio-row[data-cover-section],
 .talent-page .portfolio-row:has(>.project-index){padding:28px 16px 32px}
}

/* Film books use film-shaped frames rather than the still-image archive frame. */
.music-video-book .film-card video{aspect-ratio:var(--film-ratio,16/9)}
.music-video-book .film-caption{height:auto;min-height:0;padding-top:0}
.music-video-book .caption .credit{min-height:0}

/* Mixed portrait and landscape films share a row height, with widths set by their ratios. */
.music-video-book.is-laid-out{display:block}
.music-video-book .photo-row{display:grid;gap:16px;margin-bottom:32px;align-items:start}
.music-video-book .photo-row:last-child{margin-bottom:0}
.music-video-book .photo-row .film-card video{height:var(--photo-height);width:100%;aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){.music-video-book .photo-row{gap:10px;margin-bottom:28px}}

/* Cropped overview artwork keeps its trim inside naturally sized gallery frames. */
[data-photo-gallery] .photo-row .image-frame.feature-trimmed img{width:var(--trim-width);height:var(--trim-height);object-fit:fill}
@media(max-width:760px){.music-video-book .photo-row:has(>.archive-film:only-child){justify-content:center}}

/* Tom's lower campaign sequence: deliberate groups and complete artwork. */
[data-talent="Tom Kleinschmidt"] .tom-campaign-group{background:#19282e;color:#f3f1ec;padding:48px clamp(24px,5vw,88px);}
[data-talent="Tom Kleinschmidt"] :is(.tom-campaign-group,.tom-closing) .photography-stories{max-width:1560px;margin:0 auto;gap:clamp(18px,3vw,44px);}
[data-talent="Tom Kleinschmidt"] .tom-campaign-start{padding-top:88px;padding-bottom:64px;}
[data-talent="Tom Kleinschmidt"] .tom-campaign-pair{padding-top:64px;padding-bottom:64px;}
[data-talent="Tom Kleinschmidt"] .tom-campaign-end{padding-top:64px;padding-bottom:88px;}
[data-talent="Tom Kleinschmidt"] :is(.tom-campaign-group,.tom-closing) .photography-caption{padding-top:16px;}
[data-talent="Tom Kleinschmidt"] :is(.tom-campaign-group,.tom-closing) .photography-caption strong{font-size:14px;letter-spacing:.035em;}
[data-talent="Tom Kleinschmidt"] :is(.tom-campaign-group,.tom-closing) .photo-arrow{top:16px;}
@media(max-width:760px){
 [data-talent="Tom Kleinschmidt"] .tom-campaign-group{padding:28px 20px;}
 [data-talent="Tom Kleinschmidt"] :is(.tom-campaign-group,.tom-closing) .photography-stories{gap:36px;max-width:460px;}
 [data-talent="Tom Kleinschmidt"] .tom-campaign-start{padding-top:44px;}
 [data-talent="Tom Kleinschmidt"] .tom-campaign-end{padding-bottom:44px;}
}

[data-talent="Tom Kleinschmidt"] .tom-closing{background:#171717;color:#f3f1ec;padding:88px clamp(24px,5vw,88px);}
@media(max-width:760px){[data-talent="Tom Kleinschmidt"] .tom-closing{padding:44px 20px;}}

/* Portfolio image cards share Tom's title-level navigation arrow. */
.portfolio-card-caption{position:relative;padding-right:24px}
.portfolio-card-arrow{position:absolute;right:0;top:7px;font-size:16px;line-height:1.5}
@media(max-width:760px){.portfolio-card-arrow{font-size:15px}}

/* Shared compact Instagram strips. */
.instagram-mini{background:#171717;color:#f3f1ec;padding:28px clamp(24px,5vw,88px) 40px}
.instagram-mini-inner{max-width:1560px;margin:auto;border-top:1px solid #ffffff26;padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.instagram-mini h2{font-size:20px;font-weight:400;letter-spacing:-.025em}
.instagram-mini-label p{margin-top:6px;font-size:11px;color:#aaa}
.instagram-mini-posts{display:flex;gap:12px}
.instagram-mini-posts img{width:104px;height:130px;object-fit:contain}
@media(max-width:760px){.instagram-mini{padding:20px 20px 32px}.instagram-mini-inner{align-items:flex-start;flex-direction:column;gap:18px;padding-top:24px}.instagram-mini h2{font-size:18px}.instagram-mini-posts{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.instagram-mini-posts img{width:100%;height:auto;aspect-ratio:4/5;max-height:140px}}

.instagram-mini-light{background:#fff;color:#171717}
.instagram-mini-light .instagram-mini-inner{border-color:#ddd}
.instagram-profile-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;border-bottom:1px solid #aaa;padding-bottom:3px}
.instagram-six{gap:10px}
.instagram-six a{position:relative;display:block}
.instagram-six img{width:112px;height:140px;object-fit:cover;transition:opacity .2s}
.instagram-six a:hover img{opacity:.8}
.instagram-reel-mark{position:absolute;right:7px;bottom:7px;width:22px;height:22px;display:grid;place-items:center;color:#fff;background:#17171799;border-radius:50%}
.instagram-reel-mark svg{width:12px;height:12px}
@media(max-width:1100px){.instagram-mini-light .instagram-mini-inner{flex-direction:column;align-items:flex-start;gap:20px}.instagram-six{width:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.instagram-six img{width:100%;height:auto;aspect-ratio:4/5}}
@media(max-width:760px){.instagram-six{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.instagram-six img{max-height:none}}

/* Instagram sits beneath the desktop biography and after both columns on mobile. */
.biography-with-instagram{column-gap:50px;row-gap:26px}
.biography-with-instagram .biography-copy{grid-column:1;grid-row:1}
.biography-with-instagram .biography-clients{grid-column:2;grid-row:1 / span 2}
.biography-with-instagram>.instagram-mini{grid-column:1;grid-row:2;padding:0;background:transparent;color:inherit;min-width:0}
.biography-with-instagram .instagram-mini-inner{display:block;padding-top:20px;border-color:#0002}
.biography-with-instagram .instagram-six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px;width:100%}
.biography-with-instagram .instagram-six img{width:100%;height:auto;aspect-ratio:4/5}
@media(max-width:760px){.biography-with-instagram .biography-copy,.biography-with-instagram .biography-clients,.biography-with-instagram>.instagram-mini{grid-column:auto;grid-row:auto}.biography-with-instagram .instagram-six{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}
.biography-with-instagram .instagram-account{font-size:11px;line-height:1.5;margin-top:6px;white-space:normal;color:#555}

/* Featured desktop Instagram belongs to the opening profile, with a mobile copy below. */
.profile-band .instagram-mini{padding:0;margin-top:20px;background:transparent;color:inherit}
.profile-band .instagram-mini-inner{display:block;border-color:#ffffff30;padding-top:14px}
.profile-band .instagram-mini h2{font-size:14px;letter-spacing:0}
.profile-band .instagram-account{font-size:10px;line-height:1.5;margin-top:5px}
.profile-band .instagram-profile-link{font-size:10px;margin-top:6px}
.profile-band .instagram-six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:12px;width:100%}
.profile-band .instagram-six img{width:100%;height:auto;aspect-ratio:4/5}
.profile-band .instagram-reel-mark{width:16px;height:16px;right:3px;bottom:3px}
.profile-band .instagram-reel-mark svg{width:9px;height:9px}
.instagram-featured-mobile{display:none}
@media(max-width:760px){.profile-band .instagram-mini{display:none}.instagram-featured-mobile{display:block;grid-column:1/-1;padding:28px 20px 40px;background:#fff;color:#171717}.instagram-featured-mobile .instagram-mini-inner{border-color:#0002}.instagram-featured-mobile .instagram-account{font-size:11px;margin-top:6px;white-space:normal}}
.instagram-mini-light .instagram-account{color:#555}
.profile-band .instagram-account{color:#aaa}
.not-found{min-height:70svh;display:flex;align-items:center;padding:64px 40px 96px}
.not-found-copy{max-width:760px}
.not-found h1{font-weight:400;font-size:clamp(40px,5.5vw,76px);line-height:1.06;letter-spacing:-.055em}
.not-found p{margin-top:24px;font-size:16px;color:#666}
.not-found-links{display:flex;flex-wrap:wrap;gap:32px;margin-top:20px}
.not-found-links .line-link{display:inline-flex;align-items:center;gap:24px;font-size:14px;margin-top:0;padding:8px 0}
@media(max-width:760px){.not-found{padding:48px 16px 72px;min-height:65svh}.not-found p{font-size:14px;line-height:1.6}.not-found-links{gap:28px}}
