/* Full-width editorial photography directory, v0.3.0. */
.zmt-pil {
 --pil-paper:#f4f5f4;
 --pil-accent:#294858;
 --pil-gutter:clamp(20px,3.4vw,68px);
 width:100%;
 max-width:none;
}
.zmt-pil [hidden] { display:none !important; }
.zmt-pil-container { width:100%; max-width:none; padding-left:var(--pil-gutter); padding-right:var(--pil-gutter); margin-inline:auto; }
.zmt-pil-photo-hero { position:relative; isolation:isolate; min-height:440px; min-height:clamp(420px,31vw,560px); overflow:hidden; background:#182831; color:#fff; }
.zmt-pil-photo-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.zmt-pil-photo-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,24,33,.86) 0%,rgba(10,24,33,.58) 39%,rgba(10,24,33,.08) 70%,rgba(10,24,33,.06) 100%); }
.zmt-pil-photo-hero__content { padding-top:26px; padding-bottom:34px; }
.zmt-pil-photo-hero .zmt-pil-breadcrumbs { margin-bottom:clamp(34px,4vw,68px); color:#d4dee2; }
.zmt-pil-photo-hero .zmt-pil-breadcrumbs a,
.zmt-pil-photo-hero .zmt-pil-breadcrumbs span[aria-current] { color:#d4dee2; }
.zmt-pil-photo-hero__eyebrow { font-size:11px; font-weight:600; letter-spacing:.17em; color:#c8d5db; }
.zmt-pil-photo-hero h1 { margin:14px 0 21px; color:#fff; font-size:clamp(40px,3.8vw,68px); font-weight:600; letter-spacing:.035em; line-height:1.2; text-wrap:balance; }
.zmt-pil-photo-hero__content>p { max-width:580px; margin:0; color:#e1e8eb; font-size:clamp(15px,1.2vw,19px); line-height:1.9; text-wrap:pretty; }
.zmt-pil-photo-hero__meta { display:flex; align-items:center; flex-wrap:wrap; gap:14px 22px; margin-top:28px; color:#c2d0d7; font-size:12px; }
.zmt-pil-photo-hero__meta>span+span { border-left:1px solid #ffffff40; padding-left:22px; }
.zmt-pil-photo-hero__meta b { color:#fff; font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; margin-right:4px; }
.zmt-pil-hero-jump { display:inline-flex; align-items:center; justify-content:space-between; gap:34px; min-height:42px; padding:6px 0; margin-top:24px; border-bottom:1px solid #c7d1d680; color:#e1e8eb !important; font-size:13px; }
.zmt-pil-hero-jump:hover { border-color:#fff; color:#fff !important; }
.zmt-pil-image-note { position:absolute; right:var(--pil-gutter); bottom:15px; color:#eef1f2; background:#0f1a2470; border-radius:3px; padding:2px 6px; font-size:10px; letter-spacing:.025em; }
.zmt-pil-field-section { padding-top:48px; padding-bottom:56px; scroll-margin-top:90px; }
.zmt-pil-section__head { margin-bottom:25px; gap:22px; }
.zmt-pil-section__head h2 { font-size:29px; font-weight:600; line-height:1.4; margin-top:7px; }
.zmt-pil-section__head>p { max-width:560px; font-size:13px; color:#69767d; }
.zmt-pil-kicker { font-size:10px; letter-spacing:.13em; color:#667d89; }
.zmt-pil-directory-tools { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 0 16px; border-bottom:1px solid #d4dcdf; }
.zmt-pil-group-tabs { display:flex; flex-wrap:wrap; gap:4px; }
.zmt-pil-group-tabs button { display:flex; align-items:center; gap:8px; padding:10px 16px; min-height:44px; border:0; border-radius:4px; background:transparent; color:#687780; font:inherit; font-size:13px; cursor:pointer; transition:background-color .16s,color .16s; }
.zmt-pil-group-tabs button span { font-size:10px; opacity:.75; font-variant-numeric:tabular-nums; }
.zmt-pil-group-tabs button:hover { color:#223f50; background:#e6ecec; }
.zmt-pil-group-tabs button[aria-pressed="true"] { background:#233e4f; color:#fff; }
.zmt-pil-directory-search { display:flex; align-items:center; gap:10px; width:275px; max-width:100%; flex:none; padding:0 13px; margin:0; background:#fff; border:1px solid #d1dade; border-radius:4px; }
.zmt-pil-directory-search svg { width:17px; height:17px; fill:none; stroke:#76868e; stroke-width:1.6; flex:none; }
.zmt-pil-directory-search input { min-width:0; width:100%; height:44px; border:0; margin:0; padding:0; border-radius:0; background:transparent; box-shadow:none; font:inherit; font-size:12px; color:#243b47; }
.zmt-pil-directory-search input::placeholder { color:#788990; }
.zmt-pil-directory-caption { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:17px 0 24px; color:#75838a; font-size:11px; font-variant-numeric:tabular-nums; }
.zmt-pil-field-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 24px; }
.zmt-pil a.zmt-pil-field-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border-radius:7px; background:#fff; box-shadow:0 0 0 1px rgba(0,0,0,.055),0 3px 5px rgba(15,36,44,.025),0 12px 25px rgba(15,36,44,.025); transition:box-shadow .2s; }
.zmt-pil a.zmt-pil-field-card:hover { box-shadow:0 0 0 1px rgba(0,0,0,.1),0 5px 12px rgba(15,36,44,.06),0 18px 30px rgba(15,36,44,.06); }
.zmt-pil-field-card__image { position:relative; width:100%; aspect-ratio:3/2; overflow:hidden; background:#cbd0ca; outline:1px solid rgba(0,0,0,.1); outline-offset:-1px; }
.zmt-pil-field-card__image::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(8,18,22,.4)); pointer-events:none; }
.zmt-pil-field-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.zmt-pil-field-card:hover .zmt-pil-field-card__image img { transform:scale(1.035); }
.zmt-pil-field-card__category { position:absolute; top:13px; left:13px; padding:4px 8px; border:1px solid #ffffff40; border-radius:3px; background:#182b36b8; color:#fff; font-size:10px; line-height:1.4; }
.zmt-pil-field-card__number { position:absolute; z-index:1; right:15px; bottom:13px; color:#f5f5ed; font:17px/1 Georgia,serif; letter-spacing:.07em; }
.zmt-pil-field-card__body { display:flex; flex:1; flex-direction:column; padding:21px 21px 0; }
.zmt-pil-field-card__english { color:#73858d; font-size:9px; font-weight:600; letter-spacing:.13em; }
.zmt-pil-field-card h3 { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:7px 0 7px; color:#213844; font-size:24px; font-weight:600; line-height:1.45; }
.zmt-pil-field-card h3>span { font:22px/1 sans-serif; font-weight:400; color:#89999e; }
.zmt-pil-field-card__audience { margin:0 0 12px; color:#506772; font-size:12px; line-height:1.65; }
.zmt-pil-field-card__description { margin:0 0 17px; min-height:3.6em; color:#758087; font-size:12px; line-height:1.8; text-wrap:pretty; }
.zmt-pil-field-card__tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-bottom:19px; }
.zmt-pil-field-card__tags>span { padding:4px 6px; border-radius:3px; background:#f1f3f2; color:#738078; font-size:10px; line-height:1.5; }
.zmt-pil-field-card__footer { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; border-top:1px solid #edf0ef; color:#859097; font-size:11px; font-variant-numeric:tabular-nums; }
.zmt-pil-field-card__footer strong { display:flex; align-items:center; gap:11px; color:#385662; font-size:12px; font-weight:500; }
.zmt-pil-field-card__footer strong span { font-size:17px; }
.zmt-pil-case-index { padding-top:36px; padding-bottom:45px; border-top:1px solid #dbe1e2; scroll-margin-top:90px; }
.zmt-pil-case-index .zmt-pil-filters { margin-bottom:22px; }
.zmt-pil-filters--fixed { grid-template-columns:minmax(240px,1.6fr) repeat(2,minmax(125px,.62fr)) auto; }
.zmt-pil-filters label { margin:0; }
.zmt-pil-filters button,
.zmt-pil-button { transition:background-color .16s,transform .16s; }
.zmt-pil-filters button:active,
.zmt-pil-button:active { transform:scale(.96); }
.zmt-pil-empty { padding:36px 24px; color:#66767e; }
.zmt-pil-empty h3 { font-size:16px; }
.zmt-pil-empty .zmt-pil-button { margin-top:18px; cursor:pointer; font-family:inherit; }
.zmt-pil-research-note { display:flex; gap:28px; align-items:baseline; padding-top:22px; padding-bottom:28px; border-top:1px solid #dbe1e2; font-size:12px; color:#78858a; }
.zmt-pil-research-note strong { flex:none; color:#4f6672; font-weight:500; }
.zmt-pil-research-note p { margin:0; line-height:1.85; }
.zmt-pil-photo-hero--industry { min-height:370px; }
.zmt-pil-photo-hero--industry .zmt-pil-photo-hero__image { object-position:70% 44%; }
.zmt-pil-photo-hero--industry::before { background:linear-gradient(90deg,#122731f5,#142934db 28%,#172f3b59 61%,#14293405); }
.zmt-pil-photo-hero--industry .zmt-pil-breadcrumbs { margin-bottom:45px; }
.zmt-pil-photo-hero--industry .zmt-pil-photo-hero__content>p { max-width:520px; }
.zmt-pil-scope { display:grid; grid-template-columns:1.5fr 1fr; gap:60px; padding-top:34px; padding-bottom:34px; background:#fff; }
.zmt-pil-scope h2 { margin:6px 0 10px; color:#294450; font-size:22px; font-weight:600; line-height:1.4; }
.zmt-pil-scope p { margin:0; color:#6c7b83; font-size:13px; }
.zmt-pil-scope-directions { padding-left:32px; border-left:1px solid #dce3e4; }
.zmt-pil-scope-directions>span { color:#71828a; font-size:12px; }
.zmt-pil-scope-directions ul { display:flex; gap:10px; flex-wrap:wrap; margin:14px 0 0; padding:0; list-style:none; }
.zmt-pil-scope-directions li { padding:7px 12px; background:#f1f4f3; border:1px solid #e3e8e6; border-radius:4px; color:#506b6e; font-size:13px; }
.zmt-pil-return-link { display:inline-flex; min-height:44px; align-items:center; gap:10px; margin-top:24px; color:#456273 !important; font-size:13px; }
.zmt-pil-case-layout { grid-template-columns:220px minmax(0,1100px); }
.zmt-pil-case-hero__grid { grid-template-columns:minmax(0,1fr) 220px; }
.zmt-pil .screen-reader-text { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (min-width:1921px) {
 .zmt-pil-field-grid { gap:34px; }
 .zmt-pil-field-card__body { padding:27px 29px 0; }
 .zmt-pil-field-card h3 { font-size:29px; }
 .zmt-pil-field-card__description { font-size:14px; }
 .zmt-pil-field-card__audience { font-size:14px; }
}
@media (max-width:1150px) {
 .zmt-pil-field-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
 .zmt-pil-directory-tools { align-items:flex-start; flex-direction:column; gap:14px; }
 .zmt-pil-directory-search { width:100%; max-width:400px; }
 .zmt-pil-photo-hero { min-height:440px; }
 .zmt-pil-photo-hero__image { object-position:62% center; }
 .zmt-pil-photo-hero::before { background:linear-gradient(90deg,#112530eb,#10232da6 48%,#10232d20); }
}
@media (max-width:980px) {
 .zmt-pil-case-layout { grid-template-columns:185px minmax(0,1fr); gap:22px; }
 .zmt-pil-filters--fixed { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
 .zmt-pil { --pil-gutter:22px; }
 .zmt-pil-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 .zmt-pil-field-card__body { padding:17px 16px 0; }
 .zmt-pil-field-card h3 { font-size:22px; }
 .zmt-pil-photo-hero h1 { font-size:43px; }
 .zmt-pil-photo-hero__content>p { max-width:430px; font-size:15px; }
 .zmt-pil-photo-hero { min-height:420px; }
 .zmt-pil-photo-hero .zmt-pil-breadcrumbs { margin-bottom:43px; font-size:11px; }
 .zmt-pil-photo-hero__meta { gap:12px; font-size:11px; }
 .zmt-pil-photo-hero__meta>span+span { padding-left:12px; }
 .zmt-pil-photo-hero__meta b { font-size:16px; }
 .zmt-pil-section__head h2 { font-size:26px; }
 .zmt-pil-section__head>p { margin-top:10px; font-size:12px; }
 .zmt-pil-directory-caption>span:last-child { max-width:200px; text-align:right; font-size:10px; }
 .zmt-pil-scope { grid-template-columns:1fr; gap:24px; }
 .zmt-pil-scope-directions { border-left:0; padding-left:0; }
 .zmt-pil-research-note { display:block; }
 .zmt-pil-research-note p { margin-top:8px; }
 .zmt-pil-case-layout { display:block; }
 .zmt-pil-group-tabs { gap:3px; }
 .zmt-pil-group-tabs button { padding:8px 12px; font-size:12px; }
}
@media (max-width:520px) {
 .zmt-pil { --pil-gutter:18px; }
 .zmt-pil-photo-hero { min-height:410px; }
 .zmt-pil-photo-hero__image { object-position:61% center; }
 .zmt-pil-photo-hero::before { background:linear-gradient(90deg,#0f2531eb,#102632b3 64%,#10263266); }
 .zmt-pil-photo-hero__content { padding-top:20px; padding-bottom:33px; }
 .zmt-pil-photo-hero .zmt-pil-breadcrumbs { margin-bottom:44px; }
 .zmt-pil-photo-hero h1 { font-size:35px; margin-top:15px; }
 .zmt-pil-photo-hero__eyebrow { font-size:9px; letter-spacing:.11em; }
 .zmt-pil-photo-hero__content>p { font-size:14px; max-width:330px; }
 .zmt-pil-photo-hero__meta { max-width:340px; margin-top:22px; gap:10px 12px; }
 .zmt-pil-photo-hero__meta>span:last-child { border:0; padding-left:0; }
 .zmt-pil-hero-jump { margin-top:18px; }
 .zmt-pil-field-section { padding-top:32px; }
 .zmt-pil-field-grid { grid-template-columns:1fr; gap:24px; }
 .zmt-pil-field-card__body { padding:22px 22px 0; }
 .zmt-pil-field-card h3 { font-size:26px; }
 .zmt-pil-field-card__description { min-height:0; font-size:13px; }
 .zmt-pil-field-card__audience { font-size:13px; }
 .zmt-pil-field-card__tags>span { font-size:11px; }
 .zmt-pil-directory-search { max-width:none; }
 .zmt-pil-filters--fixed { grid-template-columns:1fr; }
 .zmt-pil-directory-caption { align-items:flex-start; }
 .zmt-pil-directory-caption>span:last-child { max-width:180px; }
 .zmt-pil-photo-hero--industry { min-height:395px; }
}
@media (prefers-reduced-motion:reduce) {
 .zmt-pil-field-card__image img { transition:none; }
 .zmt-pil-field-card:hover .zmt-pil-field-card__image img { transform:none; }
 .zmt-pil-filters button:active,.zmt-pil-button:active { transform:none; }
}
