/* Directory Studio 1.2 — scoped, visibility-safe frontend. No global image overrides. */
.ptds-widget{--ptds-navy:#19283d;--ptds-red:#b82932;--ptds-gold:#d6a84b;--ptds-cream:#faf9f6;--ptds-max:1400px;--ptds-gap:clamp(38px,5vw,76px);--ptds-sidebar:360px;--ptds-section-gap:44px;--ptds-photo-radius:10px;color:var(--ptds-navy);font-family:Inter,"Helvetica Neue",Arial,sans-serif;max-width:100%;font-size:15px;line-height:1.65}
.ptds-widget,.ptds-widget *{box-sizing:border-box}
.ptds-widget a{text-decoration:none}
.ptds-widget a:focus-visible{outline:2px solid var(--ptds-red);outline-offset:3px}
.ptds-widget :is(h1,h2,h3,p,figure){margin-top:0}
.ptds-profile,.ptds-directory{width:100%;max-width:var(--ptds-max);margin-inline:auto}
/* Profile — identity sidebar and editorial main content; independent heights. */
.ptds-single-grid{display:grid;grid-template-columns:minmax(0,var(--ptds-sidebar-responsive,var(--ptds-sidebar))) minmax(0,1fr);gap:var(--ptds-gap);align-items:start}
.ptds-sidebar{min-width:0;align-self:start;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
.ptds-portrait{display:block;position:relative;width:100%;aspect-ratio:var(--ptds-portrait-ratio,4/5);overflow:hidden;border-radius:var(--ptds-photo-radius);background:#dee2e4}
.ptds-portrait .ptds-photo{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:top center!important;border:0;border-radius:0;margin:0}
.ptds-kind-partner .ptds-portrait{background:#f3f2ef}
.ptds-kind-partner .ptds-portrait .ptds-photo{object-fit:contain!important;object-position:center!important;padding:var(--ptds-logo-inset,18px)}
.ptds-no-photo{height:100%;min-height:210px;background:#e8ebed}
.ptds-sidebar-content{padding:22px 0 0}
.ptds-sidebar-name{font:600 clamp(22px,2vw,27px)/1.25 Georgia,"Times New Roman",serif;letter-spacing:-.02em;color:var(--ptds-navy);margin:0 0 5px!important;overflow-wrap:anywhere}
.ptds-role{font-size:13px;font-weight:700;line-height:1.55;color:var(--ptds-red);margin:0!important}
.ptds-sidebar-section{border-top:1px solid #dfe2e5;margin-top:25px;padding-top:23px}
.ptds-sidebar-label{font:500 12px/1.5 Inter,"Helvetica Neue",Arial,sans-serif;color:#687689;margin:0 0 14px!important;letter-spacing:.01em}
.ptds-contact-list{display:grid;gap:12px}
.ptds-contact-line{display:grid;gap:2px;font-size:14px;line-height:1.5;color:var(--ptds-navy);overflow-wrap:anywhere}
.ptds-contact-label{font-size:11px;letter-spacing:.015em;color:#6d7b8c}
.ptds-contact-line a{color:var(--ptds-navy);transition:color .2s ease}
.ptds-contact-line a:hover{color:var(--ptds-red)}
.ptds-social-list{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.ptds-social-list a{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;background:#eef0f1;color:var(--ptds-navy);border:1px solid #e0e5e7;border-radius:50%;transition:background .2s ease,color .2s ease,transform .2s ease}
.ptds-social-list a:hover{background:var(--ptds-navy);color:#fff;transform:translateY(-2px)}
.ptds-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--ptds-red);color:#fff!important;font-size:13px;font-weight:700;line-height:1.4;border-radius:7px;padding:12px 18px;min-height:44px;transition:background .2s ease,transform .2s ease}
.ptds-cta:hover{background:var(--ptds-navy);transform:translateY(-2px)}
.ptds-main{min-width:0;padding:0;max-width:820px}
.ptds-intro{margin:0 0 19px}
.ptds-headline-main{font:600 clamp(23px,2.5vw,30px)/1.43 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.018em;color:var(--ptds-navy);margin:0!important}
.ptds-summary{font-size:15px;color:#526176;line-height:1.85;margin:0 0 22px}
.ptds-summary-lead{font-size:clamp(16px,1.65vw,20px);line-height:1.68;font-weight:500;color:var(--ptds-navy)}
.ptds-summary p{margin:0 0 14px}
.ptds-summary p:last-child{margin:0}
.ptds-biography{margin:0 0 var(--ptds-profile-section-gap,var(--ptds-section-gap))}
.ptds-prose,.ptds-section-lede{font-size:14px;line-height:1.85;color:#526176}
.ptds-prose p{margin:0 0 17px}.ptds-prose>:last-child{margin-bottom:0}
.ptds-prose :is(ul,ol){margin:12px 0 15px;padding-left:20px}
.ptds-prose a{color:var(--ptds-red);text-decoration:underline}
.ptds-section{margin:0 0 var(--ptds-profile-section-gap,var(--ptds-section-gap))}
.ptds-section>h2{font:600 clamp(20px,2vw,24px)/1.37 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.012em;color:var(--ptds-navy);margin:0 0 13px!important;padding:0!important}
.ptds-section>h2:after{display:none!important}
.ptds-section-lede{margin:0 0 22px}
.ptds-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 34px;margin-top:25px}
.ptds-skill{min-width:0}.ptds-skill-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--ptds-navy);font-size:13px;line-height:1.5;margin-bottom:10px}
.ptds-skill-meta strong{font-weight:600;overflow-wrap:anywhere}
.ptds-skill-meta span{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.ptds-progress{height:9px;border:1px solid #e1e5e7;border-radius:99px;background:#f6f7f8;overflow:hidden}
.ptds-progress>span{display:block;height:100%;border-radius:99px;background:var(--ptds-progress-color,var(--ptds-navy));min-width:0}
.ptds-awards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:21px}
.ptds-award{min-width:0;margin:0}
.ptds-award>a{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border:1px solid #e2e5e7;border-radius:var(--ptds-award-radius,5px);overflow:hidden;background:#fff;box-shadow:0 5px 17px #19283d0b;transition:border-color .2s ease,transform .2s ease}
.ptds-award>a:hover{border-color:var(--ptds-gold);transform:translateY(-2px)}
.ptds-award img{display:block;width:100%!important;height:100%!important;max-width:100%;object-fit:contain!important}
.ptds-award figcaption{display:grid;gap:4px;margin-top:9px;font-size:12px;line-height:1.5;color:#617185}
.ptds-award figcaption strong{font-size:12px;color:var(--ptds-navy)}
.ptds-expertise{display:grid;gap:11px;list-style:none!important;margin:14px 0 0!important;padding:0!important}
.ptds-expertise li{position:relative;padding-left:17px;color:#506177;font-size:14px;line-height:1.55;break-inside:avoid}
.ptds-expertise li:before{content:'◆';position:absolute;left:0;top:.58em;font-size:7px;color:var(--ptds-red)}
.ptds-verified{color:var(--ptds-navy);font-weight:600;font-size:14px;margin:0 0 15px}
.ptds-return{border-top:1px solid #e7e9eb;padding-top:22px;margin:12px 0 0;font-size:13px;font-weight:700}
.ptds-return a{color:var(--ptds-red)}.ptds-return a:hover{color:var(--ptds-navy)}
/* Existing directory widgets — retained v1.1 behavior, with scoped refinements. */
.ptds-dir-heading{display:flex;justify-content:space-between;gap:38px;align-items:end;margin:0 0 34px}
.ptds-dir-heading h2{max-width:560px;font:500 clamp(28px,3.8vw,49px)/1.2 Georgia,serif;letter-spacing:-.025em;color:var(--ptds-navy);margin:0!important}
.ptds-dir-heading p{max-width:420px;font-size:14px;line-height:1.7;color:#657488;margin:0}
.ptds-cards{display:grid;grid-template-columns:repeat(var(--ptds-cols,4),minmax(0,1fr));gap:31px var(--ptds-card-gap-new,var(--ptds-card-gap,22px))}
.ptds-card{min-width:0}.ptds-card-photo-link{display:block;outline-offset:4px}
.ptds-card-photo{aspect-ratio:var(--ptds-ratio,3/4);position:relative;border-radius:var(--ptds-radius,12px);background:#e3e7e9;overflow:hidden}
.ptds-card-photo>.ptds-photo{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:top center!important;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.ptds-directory-partner .ptds-card-photo>.ptds-photo{object-fit:contain!important;padding:17px;background:#f5f3f0}
.ptds-hover-link{position:absolute;right:12px;bottom:12px;background:#fff;color:var(--ptds-navy);border-radius:7px;padding:9px 12px;font-weight:700;font-size:12px;box-shadow:0 8px 25px #091b311a;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.ptds-card:hover .ptds-hover-link,.ptds-card:focus-within .ptds-hover-link{opacity:1;transform:none}
.ptds-card:hover .ptds-photo{transform:scale(1.025)}
.ptds-card-copy{padding:14px 2px 0}.ptds-card h3{font:600 clamp(17px,1.5vw,21px)/1.3 Georgia,serif;margin:0 0 5px!important}.ptds-card h3 a{color:var(--ptds-navy)}.ptds-card h3 a:hover{color:var(--ptds-red)}
.ptds-card-role{font-size:12px;line-height:1.45;color:#748092;margin:0}.ptds-card-excerpt{font-size:13px;line-height:1.6;color:#617082;margin:10px 0 0}
.ptds-empty{padding:20px;background:#f3f5f6;border-radius:6px;color:#526573}
@media(min-width:1025px){.ptds-cards.ptds-count-1{grid-template-columns:minmax(0,var(--ptds-card-max,330px));justify-content:center}.ptds-cards.ptds-count-2{grid-template-columns:repeat(2,minmax(0,min(var(--ptds-card-max,330px),calc(50% - 60px))));justify-content:center}}
@media(max-width:1024px){.ptds-single-grid{grid-template-columns:minmax(230px,var(--ptds-sidebar-responsive,32%)) minmax(0,1fr);gap:clamp(26px,3vw,40px)}.ptds-cards{grid-template-columns:repeat(var(--ptds-cols-tablet,2),minmax(0,1fr))}.ptds-skill-grid{gap:22px}.ptds-awards{gap:12px}}
@media(max-width:767px){.ptds-single-grid{grid-template-columns:1fr;gap:30px}.ptds-sidebar{max-width:490px;width:100%;margin:0 auto}.ptds-sidebar-content{padding-top:19px}.ptds-main{padding:0}.ptds-headline-main{font-size:23px}.ptds-biography{margin-bottom:32px}.ptds-section{margin-bottom:34px}.ptds-skill-grid{grid-template-columns:1fr;gap:19px}.ptds-awards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ptds-cards{grid-template-columns:repeat(var(--ptds-cols-mobile,1),minmax(0,1fr));gap:26px}.ptds-dir-heading{display:block;margin-bottom:24px}.ptds-dir-heading p{margin-top:12px}.ptds-card-photo{max-height:470px}}
@media(max-width:390px){.ptds-awards{grid-template-columns:1fr 1fr}.ptds-social-list{gap:7px}.ptds-sidebar-name{font-size:24px}}
@media(hover:none){.ptds-hover-link{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ptds-widget *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
