.cat-grid{gap:var(--sp-l);grid-template-columns:1fr;align-items:start;display:grid}@media (min-width:60rem){.cat-grid{column-gap:var(--sp-2xl);grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}}.cat-grid.no-photo{grid-template-columns:1fr}.cat-photo{aspect-ratio:7/5;object-fit:cover;width:100%;height:auto}.cat-main:before{content:"";background:var(--accent);height:3px;margin-bottom:var(--sp-m);display:block}.cat-intro{margin:0 0 var(--sp-m);color:var(--ink-700);line-height:1.55}.services{gap:var(--sp-s);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}.service-btn{text-align:center;border-radius:0;justify-content:center;width:100%}.service-btn.is-soon{cursor:default;--btn-bg:var(--surface-alt);--btn-fg:var(--ink-700);--btn-border:var(--line)}
.toc{margin-bottom:var(--sp-l);flex-wrap:wrap;gap:.5rem;display:flex}.toc a{background:var(--blue-50);border:1px solid var(--blue-100);min-height:2.75rem;color:var(--blue-800);letter-spacing:.04em;border-radius:999px;align-items:center;padding:.4rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.toc a:hover{background:var(--blue-100);border-color:var(--blue-300)}.groups{gap:var(--sp-m);grid-template-columns:1fr;display:grid}.res-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);scroll-margin-top:8.5rem;overflow:hidden}.res-heading{padding:.8rem var(--sp-m);background:var(--blue-700);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-bottom:3px solid var(--accent);margin:0;font-size:1rem;font-weight:700}.res-body{padding:var(--sp-m)}.entries{grid-template-columns:repeat(auto-fill,minmax(min(20rem,100%),1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.entry{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;align-items:flex-start;gap:.1rem;min-height:3rem;padding:.5rem .75rem;display:flex}.entry:hover{background:var(--blue-50);border-color:var(--blue-100)}.entry-name{color:var(--ink-900);font-weight:600}.entry-phone{min-height:2.5rem;color:var(--blue-700);white-space:nowrap;align-items:center;gap:.4rem;font-weight:700;text-decoration:none;display:inline-flex}.entry-phone:hover{text-decoration:underline}.entry-note{color:var(--ink-500);font-size:.95rem;font-style:italic}
.profile.section-sm{padding-bottom:var(--sp-m)}.profile-grid{gap:var(--sp-l);grid-template-columns:1fr;align-items:start;display:grid}@media (min-width:60rem){.profile-grid{column-gap:var(--sp-xl);row-gap:var(--sp-m);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,26rem) minmax(0,1fr)}.portrait{grid-area:1/1}.contact-card{grid-area:2/1;align-self:start;position:sticky;top:8.5rem}.bio{grid-area:1/2/span 2}}.portrait{border-radius:var(--radius-lg);width:100%;max-width:26rem;box-shadow:var(--shadow-md);margin:0;position:relative;overflow:hidden}.portrait img,.avatar-fallback{aspect-ratio:3/4;object-fit:cover;object-position:top;width:100%;height:auto;display:block}.portrait:after{content:"";opacity:0;pointer-events:none;background:#3e7cb16b;transition:opacity .25s;position:absolute;inset:0}.portrait-cap{z-index:1;padding:var(--sp-l) var(--sp-s) var(--sp-s);color:#fff;text-align:center;opacity:0;background:linear-gradient(#0000,#03203fb8 55%,#03203feb);flex-direction:column;gap:.15rem;transition:opacity .25s,transform .25s;display:flex;position:absolute;inset:auto 0 0;transform:translateY(.5rem)}@media (hover:hover) and (pointer:fine){.portrait:hover:after{opacity:1}.portrait:hover .portrait-cap{opacity:1;transform:none}}.cap-name{font-family:var(--font-display);font-size:var(--step-1);font-weight:700;line-height:1.2}.cap-role{font-size:var(--step--1);color:#dbe4ee;line-height:1.3}.avatar-fallback{background:linear-gradient(150deg, var(--blue-500), var(--blue-300));color:#fff;place-items:center;font-size:3.5rem;font-weight:700;display:grid}.bio-eyebrow{align-items:center;gap:var(--sp-s);font-family:var(--font-sans);font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-700);margin-bottom:var(--sp-s);font-weight:700;display:flex;margin-top:1em!important}.bio-eyebrow:after{content:"";background:var(--accent);opacity:.55;border-radius:2px;flex:1;height:2px}.tagline{font-size:var(--step-1);color:var(--blue-700);margin-bottom:var(--sp-m);font-weight:600}.detail-section{margin-top:var(--sp-l)}.detail-section h2{font-size:var(--step-1);border-bottom:2px solid var(--blue-100);margin-bottom:var(--sp-s);padding-bottom:.4rem}.detail-section ul{margin:0;padding-left:1.3em}.detail-section li+li{margin-top:.4em}.detail-section>*+*{margin-top:1.15em}.contact-card{margin-top:var(--sp-m)}.ident{flex-direction:column;display:flex}.ident strong{color:var(--ink-900);font-weight:700;line-height:1.45}.contacts{margin:var(--sp-s) 0 0;gap:.15rem;padding:0;list-style:none;display:grid}.contacts li{min-height:2.5rem;color:var(--blue-700);align-items:center;gap:.55rem;display:flex}.contacts a,.contacts .contact-value{overflow-wrap:anywhere;font-weight:600;text-decoration:none}.contacts a:hover{text-decoration:underline}.logos{margin-top:var(--sp-m);padding-top:var(--sp-m);border-top:1px solid var(--line);align-items:center;gap:var(--sp-m);flex-wrap:wrap;display:flex}.logos .logo{object-fit:contain;object-position:left center;width:auto;max-width:100%;height:auto;max-height:7rem}.logos .credential{max-height:1.75rem}.member-contact-button{width:100%;max-width:21rem;margin-top:var(--sp-s)}.member-actions:has(.member-home-value-button){flex-direction:column;width:fit-content;max-width:100%;display:flex}:is(.member-actions:has(.member-home-value-button) .member-contact-button,.member-actions:has(.member-home-value-button) .member-home-value-button){width:100%;max-width:none}
