/* Profession directory uses the approved navy, white and 1.5/10 lavender palette. */
.professions-section{border-top:1px solid var(--line)}
.professions-section h1,.professions-section h2{max-width:850px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.16}
.professions-section .lead{max-width:800px}
.profession-search{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:16px;align-items:end;margin:30px 0 16px}
.profession-search>div{min-width:0}
.profession-search label{display:block;margin-bottom:8px;font-weight:600}
.profession-search input,.profession-search select{width:100%;min-height:50px;padding:12px 14px;border:1px solid #dadff4;border-radius:8px;background:#fff;color:#183ba0;font:inherit;box-sizing:border-box}
.profession-search input::placeholder{color:#3555a5;opacity:1}
.profession-search .button{min-height:50px}
.profession-count{min-height:26px;color:var(--muted);margin:20px 0}
.profession-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.profession-card{min-width:0;display:flex;flex-direction:column;gap:12px;background:var(--card-fill);color:var(--card-blue);padding:24px;border:1px solid var(--card-line);border-radius:14px;box-shadow:0 5px 20px #010c2612}
.profession-card .eyebrow{color:#354b78;letter-spacing:.07em;font-size:.75rem;margin:0;text-align:left}
.profession-card h3{font-size:1.25rem;line-height:1.35;margin:0;overflow-wrap:break-word}
.profession-card h3 a{text-decoration:none}
.profession-card h3 a:hover{text-decoration:underline}
.profession-card>p:not(.eyebrow){color:var(--card-muted);font-size:1rem;margin:0 0 8px}
.profession-card .button{align-self:flex-start;margin-top:auto;color:#fff}
.profession-card[hidden],.profession-empty[hidden],.profession-more[hidden]{display:none}
.profession-more{margin-top:28px}
.profession-empty{padding:20px;border:1px solid var(--line);border-radius:10px}
.profession-empty a{text-decoration:underline;color:var(--mint)}
.profession-detail h1{font-size:clamp(2.15rem,4.5vw,3.8rem);line-height:1.14;letter-spacing:-.04em}
.profession-detail h2{font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.25;margin-bottom:20px;letter-spacing:-.03em}
.profession-detail section{margin-top:48px;scroll-margin-top:110px}
.profession-guidance{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.profession-detail .breadcrumbs{display:block;padding:0;background:transparent;border-radius:0}
.profession-detail .faq details{padding:18px 0;border-bottom:1px solid var(--line)}
.profession-detail .faq summary{font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:12px;list-style:none}
.profession-detail .faq summary::before{content:'+';font-size:1.3rem;color:var(--mint)}
.profession-detail .faq details[open] summary::before{content:'−'}
.profession-detail .article-cta{margin-top:48px;padding:30px}
.profession-detail .article-cta .fine{margin:14px 0 0}
.profession-related{padding-bottom:40px}
@media(max-width:1000px){.profession-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profession-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.profession-search>.button{grid-column:1/-1;justify-self:start}}
@media(max-width:600px){.profession-grid,.profession-search,.profession-guidance{grid-template-columns:1fr}.profession-search>.button{width:100%}.profession-card{padding:22px}.profession-guidance{gap:0}.profession-detail .article-cta{padding:24px}.profession-detail .actions{gap:18px}}

.profession-card .profession-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) 44px;gap:8px;padding-top:12px;margin-top:auto}
.profession-card .profession-actions>.button{margin:0;align-self:stretch;min-height:48px;padding:10px 6px;font-size:.875rem;white-space:nowrap}
.profession-card .profession-contract{gap:5px}
.profession-card .profession-contract svg{width:20px;height:20px}
.profession-card .profession-actions>.share-button{margin:0;width:44px;min-width:44px;min-height:48px;padding:10px;color:var(--card-blue);background:var(--card-fill);border-color:#a6a9ed}
.profession-card .profession-actions>.share-button:hover{background:#eee8ff}
@media(max-width:380px){.profession-card .profession-actions{grid-template-columns:minmax(0,1fr) 44px}.profession-card .profession-actions>.learn-more{grid-column:1/-1}}
