/* Scoped presentation only. Brand tokens and typography come from approved.css. */
.flx-dp-card{display:flex;flex-direction:column;min-width:0;height:100%;}
.flx-dp-media{position:relative;min-height:152px;aspect-ratio:16/8;display:flex;align-items:center;justify-content:center;background:var(--ivory);border-bottom:1px solid var(--line);overflow:hidden;}
.flx-dp-media-caption{position:absolute;inset-inline-start:12px;inset-inline-end:12px;bottom:12px;max-width:max-content;border-radius:4px;padding:5px 9px;background:var(--navy);color:var(--paper);font-size:12px;line-height:1.5;text-align:start;}
.flx-dp-media img{width:100%;height:100%;object-fit:cover;}
.flx-dp-media.flx-dp-logo img{object-fit:contain;padding:22px;background:var(--paper);}
.flx-dp-wordmark{padding:24px;color:var(--navy);font:inherit;font-size:clamp(19px,2vw,28px);font-weight:700;line-height:1.3;text-align:center;overflow-wrap:anywhere;}
.flx-dp-card .listing-content{display:flex;flex-direction:column;flex:1;gap:10px;padding:22px;min-width:0;}
.flx-dp-card p{margin:0;line-height:1.65;}
.flx-dp-eyebrow{font-size:12px;color:var(--muted);margin:0 0 8px;font-weight:700;}
.flx-dp-card .flx-dp-card-title{font-family:inherit;font-size:20px;line-height:1.4;margin:0;color:var(--navy);overflow-wrap:anywhere;text-align:start;}
.flx-dp-location{font-size:13px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere;}
.flx-dp-summary{font-size:14px;color:var(--ink);overflow-wrap:anywhere;}
.flx-dp-count{font-size:13px;color:var(--muted);padding-block:12px;border-top:1px solid var(--line);}
.flx-dp-count strong{font-size:23px;line-height:1;margin-inline-end:6px;color:var(--navy);}
.flx-dp-card .flx-dp-count{margin-top:auto;}
.flx-dp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.flx-dp-card .flx-dp-actions{margin-top:auto;flex-direction:column;align-items:stretch;gap:3px;}
.flx-dp-actions .btn{white-space:normal;text-align:center;line-height:1.5;min-height:44px;}
.flx-dp-actions .btn span{display:inline-block;margin-inline-start:8px;}
.flx-dp-enquire{color:var(--navy);text-decoration:underline;text-underline-offset:4px;font-size:13px;min-height:44px;display:flex;align-items:center;justify-content:center;}
.flx-dp-identity{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:32px;align-items:start;margin-block:24px;}
.flx-dp-identity>.flx-dp-media{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);}
.flx-dp-identity h1{margin-bottom:12px;overflow-wrap:anywhere;}
.flx-dp-description{max-width:80ch;line-height:1.85;overflow-wrap:anywhere;}
.flx-dp-note{padding:16px 20px;border-inline-start:3px solid var(--gold);background:var(--ivory);font-size:14px;line-height:1.7;margin-block:26px;}
.flx-dp-projects{scroll-margin-top:30px;margin-block:32px;}
.flx-dp-empty{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);}
.flx-dp-empty h3{font-family:inherit;font-size:21px;}
.flx-dp-types{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;}
.flx-dp-back{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;color:var(--navy);margin-inline-end:16px;}
.flx-dp-pagination{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-block:24px;}
.flx-dp-profile form.flx-direct-contact{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-block:24px;}
.flx-dp-profile form.flx-direct-contact label{display:flex;flex-direction:column;gap:6px;flex:1 1 200px;max-width:320px;min-width:0;font-size:14px;}
.flx-dp-profile form.flx-direct-contact select{width:100%;max-width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:10px 12px;font:inherit;}
.flx-dp-profile form.flx-direct-contact .btn{min-height:46px;}
.flx-dp-profile select:focus-visible,.flx-dp-profile button:focus-visible{outline:3px solid var(--navy);outline-offset:4px;}
.flx-dp-card a:focus-visible,.flx-dp-profile a:focus-visible,.flx-dp-back:focus-visible{outline:3px solid var(--navy);outline-offset:4px;box-shadow:0 0 0 6px var(--gold2);}
/* Existing directory controls keep their behavior; only spacing and touch targets change. */
.flx-dp-directory .flx-connected-main form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-block:24px;}
.flx-dp-directory .flx-connected-main form label{flex-basis:100%;font-size:14px;font-weight:700;}
.flx-dp-directory .flx-connected-main input[type=search]{flex:1 1 240px;min-width:0;max-width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit;}
.flx-dp-directory .flx-connected-main nav a{display:inline-flex;min-width:38px;min-height:44px;justify-content:center;align-items:center;border-radius:7px;}
.flx-dp-directory .flx-connected-main nav a[aria-current=page]{background:var(--navy);color:var(--paper);}
.flx-dp-directory .flx-connected-main a:focus-visible,.flx-dp-directory .flx-connected-main input:focus-visible,.flx-dp-directory .flx-connected-main button:focus-visible{outline:3px solid var(--navy);outline-offset:3px;}
[dir=rtl] .flx-dp-actions .btn span,.rtl .flx-dp-actions .btn span{transform:scaleX(-1);}
@media(max-width:1050px){.flx-dp-grid,.flx-dp-directory .flx-connected-main .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){.flx-dp-grid,.flx-dp-directory .flx-connected-main .listing-grid{grid-template-columns:1fr;}.flx-dp-identity{grid-template-columns:1fr;gap:20px;}.flx-dp-identity>.flx-dp-media{width:160px;min-height:160px;}.flx-dp-identity h1{font-size:36px;}.flx-dp-profile.section{padding-block:32px;}.flx-dp-card .listing-content{padding:20px;}.flx-dp-directory .flx-connected-main form .btn{min-height:46px;}}
@media(prefers-reduced-motion:reduce){.flx-dp-card *{scroll-behavior:auto;}}

.flx-dp-description .flx-directory-content > .eyebrow{display:none;}
/* Directory/profile reference continuation. Existing header/footer/home remain intact. */
.flx-dp-directory .listing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch;}
.flx-dp-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper);box-shadow:0 3px 14px rgba(15,39,57,.04);}
.flx-dp-card .listing-content{padding:19px;gap:11px;}
.flx-dp-card .flx-dp-card-title{font-size:19px;font-weight:600;}
.flx-dp-card .flx-dp-card-title a{color:inherit;text-decoration:none;}
.flx-dp-card .flx-dp-card-title a:hover{text-decoration:underline;}
.flx-dp-card .flx-dp-eyebrow{font-size:11px;letter-spacing:.05em;}
.flx-dp-card .flx-dp-media{min-height:0;aspect-ratio:16/9;}
.flx-dp-card .flx-dp-summary{font-size:13px;}
.flx-dp-attribution{font-size:13px;font-weight:600;}
.flx-dp-attribution a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;}
.flx-dp-image-link:empty{display:none;}
.flx-dp-identity:not(:has(>.flx-dp-media)){grid-template-columns:minmax(0,1fr);max-width:850px;}
.flx-dp-project-filters{display:flex;flex-wrap:wrap;gap:10px;margin-block:18px;}
.flx-dp-project-filters [aria-current=page]{background:var(--navy);color:var(--paper);}
.flx-dp-directory form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-block:26px;}
.flx-dp-directory form input[type=search]{min-width:200px;flex:1;}
.flx-dp-directory form input,.flx-dp-directory form select{min-height:46px;border:1px solid var(--line);border-radius:6px;padding:10px;background:var(--paper);color:var(--navy);max-width:100%;}
@media(max-width:1150px){.flx-dp-directory .listing-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:820px){.flx-dp-directory .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.flx-dp-directory .listing-grid{grid-template-columns:minmax(0,1fr);gap:16px;}.flx-dp-directory form{align-items:stretch;flex-direction:column;}.flx-dp-directory form input[type=search]{min-width:0;width:100%;}}
.flx-dp-cover{height:170px;overflow:hidden;background:var(--ivory);}
.flx-dp-cover img{width:100%;height:100%;object-fit:cover;}
.flx-dp-card>.flx-dp-cover+.flx-dp-media{height:70px;aspect-ratio:auto;min-height:0;}
.flx-dp-profile .wrap>.flx-dp-cover{height:clamp(180px,25vw,320px);border-radius:10px;margin-block:24px;}
/* Developer company cards only; project media and profile identity retain Main's layout. */
.flx-dp-developer-link{display:flex;flex-direction:column;flex:1;min-width:0;color:inherit;text-decoration:none;}
.flx-dp-developer-link:hover .flx-dp-card-title{text-decoration:underline;text-underline-offset:4px;}
.flx-dp-card.flx-dp-developer-card:focus-within{outline:3px solid var(--navy);outline-offset:4px;}
.flx-dp-developer-card .flx-dp-developer-link:focus-visible{outline:3px solid var(--gold);outline-offset:-4px;box-shadow:none;}
.flx-dp-developer-card .listing-content{gap:12px;padding:22px;}
.flx-dp-developer-card .flx-dp-actions{padding-top:6px;}
.flx-dp-developer-visual{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line);}
.flx-dp-developer-visual>.flx-dp-cover,.flx-dp-developer-visual>.flx-dp-media{width:100%;height:100%;min-height:0;aspect-ratio:auto;border:0;}
.flx-dp-developer-visual .flx-dp-logo img{box-sizing:border-box;object-fit:contain;padding:28px;}
.flx-dp-developer-visual.flx-dp-with-logo>.flx-dp-logo{position:absolute;inset-inline-start:16px;bottom:16px;width:44%;height:36%;background:var(--paper);border:1px solid var(--line);border-radius:6px;}
.flx-dp-developer-visual.flx-dp-with-logo .flx-dp-logo img{padding:10px;}
.flx-dp-media.flx-dp-logo.flx-dp-logo-on-navy,.flx-dp-media.flx-dp-logo.flx-dp-logo-on-navy img{background:var(--navy);}
.flx-dp-developer-link:not(:has(.flx-dp-developer-visual)){border-top:3px solid var(--gold);}
@media(max-width:1050px){.flx-dp-directory .flx-connected-main .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){.flx-dp-directory .flx-connected-main .listing-grid{grid-template-columns:minmax(0,1fr);}}
