/* The approved A directory uses the same navy, cyan and white as the media. */
[hidden]{display:none!important}
.partner-directory .directory-hero{padding-block:30px 36px}
.partner-directory h1{font-size:clamp(28px,3.1vw,42px);line-height:1.55;letter-spacing:.025em;margin-top:12px}
.partner-directory .directory-intro{font-size:14px;line-height:1.95;color:var(--muted);margin-top:15px}
.partner-results{padding-bottom:68px}
.partner-filters{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(0,1fr) auto;gap:16px;align-items:end;padding:20px;background:#f5f8fa;border:1px solid var(--line);margin:0}
.partner-filters>h2{grid-column:1/-1;font-size:17px;line-height:1.6;margin:0}
.partner-filters label{display:block;min-width:0}.partner-filters label>span{display:block;font-size:11px;font-weight:700;margin:0 0 7px;color:var(--navy)}
.partner-filters input,.partner-filters select{display:block;width:100%;min-width:0;height:44px;padding:9px 12px;border:1px solid #aebfc9;border-radius:0;background:#fff;color:var(--navy);font:inherit;font-size:13px;line-height:1.7;margin:0}
.partner-filters input::placeholder{font-size:12px}.partner-reset{min-height:44px;padding:7px 0 7px 8px;border:0;background:transparent;font:inherit;font-size:11px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.partner-categories{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.partner-categories button{display:inline-flex;align-items:center;gap:10px;min-height:39px;padding:8px 12px;border:1px solid var(--line);background:white;font:inherit;font-size:11px;line-height:1.75;text-align:left;cursor:pointer}
.partner-categories small{font-size:10px}.partner-categories button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.partner-result-bar{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:28px 0 18px;font-size:12px}.partner-result-bar strong{font-size:22px;margin-right:4px}.partner-result-bar p>span{font-size:11px;color:var(--muted);margin-left:5px}
.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.partner-card-item{min-width:0}.partner-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);background:white;text-decoration:none}
.partner-card:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.partner-card-image{aspect-ratio:16/10;overflow:hidden;background:#edf4f7;position:relative}
.partner-card-image img{width:100%;height:100%;object-fit:cover}.partner-interview-tag{position:absolute;left:12px;bottom:12px;background:var(--navy);color:white;padding:4px 9px;font-size:10px}
.partner-card-copy{padding:19px 22px 20px}.partner-card-meta{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:10px;color:var(--muted);line-height:1.8}.partner-card-meta span:last-child{color:#177596}
.partner-card h2{font-size:20px;line-height:1.65;margin-top:9px;overflow-wrap:anywhere;text-wrap:balance}.partner-card-description{font-size:13px;line-height:1.95;color:var(--muted);margin-top:11px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.partner-empty{padding:42px 20px;text-align:center;border-block:1px solid var(--line)}.partner-empty h2{font-size:20px}.partner-empty p{font-size:13px;margin-top:12px}
.company-profile .option-top{margin-bottom:60px}.company-profile .option-photo{height:auto;overflow:visible}.company-profile .option-photo img{height:560px;object-position:var(--photo-position,50% 50%)}
.company-profile .option-photo.is-nameplate img{object-fit:contain;background:#edf4f7}
.company-profile .option-photo figcaption{margin-top:9px;font-size:10px;line-height:1.8;text-align:right}.company-profile .option-photo figcaption a{text-decoration:underline;text-underline-offset:3px}
.company-profile .option-title{text-wrap:balance}.company-profile .option-name{overflow-wrap:anywhere;text-wrap:balance}.company-profile .option-services li{overflow-wrap:anywhere}
.company-name-unit{display:inline-block;max-width:100%}
.company-profile .company-intro{font-size:13px;line-height:1.95;color:var(--muted);margin-top:18px;max-width:38em}
.company-official-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:24px;padding:9px 20px;border:1px solid var(--navy);font-size:13px;line-height:1.8}.company-official-link:hover{background:var(--navy);color:#fff}
.company-profile .verification-note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:16px}.company-profile .source-note{font-size:10px;line-height:1.8;color:var(--muted);margin-top:18px}.source-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px) and (min-width:761px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-filters{grid-template-columns:2fr 1fr 1fr}.partner-reset{grid-column:1/-1;justify-self:end;min-height:30px}.company-profile .option-photo img{height:500px}}
@media(max-width:760px){
 .partner-directory .directory-hero{padding-block:20px 25px}.partner-directory h1{font-size:26px}.partner-directory .directory-intro{font-size:12px}
 .partner-filters{grid-template-columns:1fr 1fr;padding:16px;gap:14px 12px}.partner-filters>h2{font-size:16px}.partner-filters .partner-keyword{grid-column:1/-1}.partner-reset{grid-column:1/-1;justify-self:end;min-height:30px;padding:0}.partner-filters input,.partner-filters select{font-size:16px}
 .partner-categories{display:none}
 .partner-result-bar{display:block;padding-top:22px}.partner-grid{grid-template-columns:1fr;gap:24px}.partner-card-copy{padding:18px 20px 20px}.partner-card h2{font-size:19px}.partner-results{padding-bottom:40px}
 .company-profile .option-top{margin-bottom:40px}.company-profile .option-top>.option-details{border-top:0;padding-top:0}.company-profile .option-photo{height:auto}.company-profile .option-photo img{height:340px}.company-profile .option-photo.is-nameplate img{height:340px}.company-profile .option-name{font-size:22px}.company-profile .company-intro{font-size:12px}
}

/* Landscape source photos retain the subject without portrait cropping. */
.company-profile .option-photo.is-landscape img{height:auto;aspect-ratio:var(--photo-aspect,4 / 3);object-fit:var(--photo-fit,cover);background:#edf4f7}

/* Selected logos and plain company cards share the adopted directory layout. */
.partner-card-image.is-logo{display:flex;align-items:center;justify-content:center;padding:32px;background:#fff}
.partner-card-image.is-logo img{width:100%;height:auto;max-height:110px;object-fit:contain}
.partner-card.is-text{min-height:0;justify-content:center}
.partner-card.is-text .partner-card-copy{padding:24px}
.partner-card.is-text h2{font-size:32px;line-height:1.5;margin:0 0 16px}
.partner-card.is-text .partner-card-description{margin-top:7px}
.company-profile .option-photo.is-logo{display:flex;flex-direction:column;justify-content:center;min-height:280px;background:#fff}
.company-profile .option-photo.is-logo img{width:100%;height:auto;max-height:180px;object-fit:contain;padding:20px;background:#fff}
.company-profile.has-no-visual .option-split{grid-template-columns:minmax(0,1fr);max-width:800px;margin-inline:auto;gap:28px}
.company-profile.has-no-visual .option-split>.option-title,.company-profile.has-no-visual .option-title~.option-copy{grid-column:1;grid-row:auto}
@media(max-width:760px){
 .partner-card.is-text{height:auto}
 .partner-card.is-text .partner-card-copy{padding:20px}
 .partner-card.is-text h2{font-size:28px}
 .company-profile .option-photo.is-logo{min-height:160px}
 .company-profile .option-photo.is-logo img{max-height:150px;padding:20px 8px}
 .company-profile.has-no-visual .option-person{margin-top:0}
}
