@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--navy:#061c36;--blue:#0876f9;--gold:#d7a51c;--cream:#f2eee5;--white:#fff;--ink:#14202d;--muted:#667381;--line:#dfe4e8;--green:#2f963d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f6f7f8;font-family:'DM Sans',sans-serif}a{color:inherit}img{max-width:100%;display:block}.directory-header{height:82px;display:flex;align-items:center;padding:0 clamp(22px,5vw,78px);background:var(--navy);color:#fff}.directory-logo{width:205px;margin-right:auto}.directory-header nav{display:flex;align-items:center;gap:28px}.directory-header nav a{text-decoration:none;font-size:13px;font-weight:600;color:#b4c1ce}.directory-header nav a:hover,.directory-header nav .active{color:#fff}.nav-contact{color:var(--navy)!important;background:var(--gold);padding:11px 16px;border-radius:8px}.directory-hero{min-height:440px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:70px clamp(22px,7vw,110px) 90px;overflow:hidden}.directory-hero>div{position:relative;z-index:1}.directory-hero>img{width:min(340px,30vw);filter:drop-shadow(0 30px 60px rgba(0,0,0,.32));opacity:.92}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--gold)}h1,h2,h3{font-family:'Manrope',sans-serif}.directory-hero h1{font-size:clamp(48px,6vw,88px);line-height:.96;letter-spacing:-.06em;margin:18px 0}.directory-hero h1 em{font-style:normal;color:var(--gold)}.directory-hero p{color:#b9c7d5;font-size:17px;line-height:1.65;max-width:650px}.directory-content{max-width:1440px;margin:auto;padding:0 clamp(18px,4vw,60px) 100px}.directory-filters{background:#fff;border:1px solid var(--line);box-shadow:0 18px 45px rgba(8,30,54,.11);border-radius:15px;padding:18px;display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:12px;align-items:end;transform:translateY(-34px)}.directory-filters label span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted);margin-bottom:6px}.directory-filters input,.directory-filters select{width:100%;height:46px;border:1px solid #cfd7df;border-radius:8px;padding:0 12px;font:500 13px 'DM Sans';background:#fff;color:var(--ink)}.directory-filters input:focus,.directory-filters select:focus{outline:2px solid var(--blue);outline-offset:1px}.directory-filters button,.directory-empty a,.not-found>a{height:46px;border:0;border-radius:8px;background:var(--gold);font:800 13px 'DM Sans';padding:0 22px;cursor:pointer;text-decoration:none;display:grid;place-items:center}.clear-filters{height:46px;display:grid;place-items:center;font-size:12px;color:var(--muted)}.results-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:16px 0 28px}.results-heading h2{font-size:38px;letter-spacing:-.04em;margin:7px 0 0}.results-heading p{color:var(--muted);font-size:13px}.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.provider-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 8px 24px rgba(7,28,50,.05);transition:.25s}.provider-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(7,28,50,.12)}.provider-image{height:245px;display:block;position:relative;overflow:hidden;background:#0a2d52}.provider-image>img{width:100%;height:100%;object-fit:cover;transition:.4s}.provider-card:hover .provider-image>img{transform:scale(1.035)}.provider-image>span{position:absolute;left:15px;top:15px;background:var(--gold);border-radius:99px;padding:7px 10px;font-size:10px;font-weight:800}.image-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#08213d,#0b477d)}.image-placeholder img{width:110px;opacity:.6}.provider-card-body{padding:22px}.card-meta{display:flex;gap:8px;flex-wrap:wrap}.card-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#476074;background:#edf2f5;padding:6px 8px;border-radius:5px}.provider-card h3{font-size:23px;letter-spacing:-.03em;margin:14px 0 8px}.provider-card h3 a{text-decoration:none}.provider-card-body>p{color:var(--muted);font-size:13px;line-height:1.6;min-height:63px}.card-link{display:inline-flex;margin-top:7px;color:var(--navy);text-decoration:none;font-size:12px;font-weight:800}.card-link b{color:var(--gold);margin-left:6px}.directory-empty,.not-found{max-width:780px;margin:40px auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:65px 30px}.directory-empty img,.not-found img{width:100px;margin:0 auto 20px}.directory-empty h2,.not-found h1{font-size:34px;margin:12px 0 8px}.directory-empty p,.not-found p{color:var(--muted);line-height:1.6}.directory-empty a,.not-found>a{display:inline-grid;margin-top:15px}.profile-page{max-width:1440px;margin:auto;padding:46px clamp(18px,5vw,75px) 100px}.back-link{font-size:12px;font-weight:700;color:var(--muted);text-decoration:none}.profile-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(35px,6vw,90px);align-items:center;margin-top:28px}.profile-photo{height:min(570px,52vw);min-height:420px;border-radius:20px;overflow:hidden;background:#0a2d52}.profile-photo>img{width:100%;height:100%;object-fit:cover}.profile-intro h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.06em;margin:22px 0}.profile-intro>p{font-size:18px;line-height:1.65;color:var(--muted)}.profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.profile-actions a,.profile-cta>a{padding:13px 17px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:12px;font-weight:800;background:#fff}.profile-actions .primary-action{background:var(--gold);border-color:var(--gold)}.profile-body{display:grid;grid-template-columns:1.5fr .7fr;gap:70px;margin-top:90px}.profile-body article h2{font-size:42px;letter-spacing:-.04em;margin:10px 0 18px}.profile-body article p{font-size:16px;line-height:1.9;color:#52616f}.profile-details{background:var(--navy);color:#fff;border-radius:16px;padding:28px}.profile-details h2{font-size:24px}.profile-details div{border-top:1px solid #28415a;padding:16px 0}.profile-details div>span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#93a8bb}.profile-details p{margin:6px 0 0;font-size:13px;word-break:break-word}.profile-cta{margin-top:80px;background:var(--cream);border-radius:18px;padding:35px;display:grid;grid-template-columns:90px 1fr auto;gap:25px;align-items:center}.profile-cta>img{width:90px}.profile-cta h2{font-size:29px;margin:7px 0}.not-found{margin:80px auto 120px}footer{background:#04162b;color:#fff;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:40px;padding:40px clamp(22px,5vw,78px)}footer>img{width:210px}footer p{margin:0 0 5px;font-weight:700}footer span,footer>a{color:#8fa3b6;font-size:11px}footer>a{text-decoration:none}
@media(max-width:980px){.provider-grid{grid-template-columns:1fr 1fr}.directory-filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.profile-hero{grid-template-columns:1fr}.profile-photo{height:58vw}.profile-body{grid-template-columns:1fr;gap:30px}.directory-hero>img{opacity:.3;position:absolute;right:-40px;width:330px}.directory-hero{position:relative}.profile-cta{grid-template-columns:75px 1fr}.profile-cta>a{grid-column:2}}
@media(max-width:680px){.directory-header{height:70px;padding:0 16px}.directory-logo{width:165px}.directory-header nav a:not(.nav-contact){display:none}.nav-contact{padding:9px 12px}.directory-hero{min-height:380px;padding:60px 20px 78px}.directory-hero h1{font-size:52px}.directory-hero p{font-size:15px}.directory-content{padding:0 14px 70px}.directory-filters{grid-template-columns:1fr;transform:translateY(-28px)}.search-field{grid-column:auto}.clear-filters{height:32px}.results-heading{display:block}.provider-grid{grid-template-columns:1fr}.provider-image{height:230px}.profile-page{padding:28px 14px 70px}.profile-photo{height:72vw;min-height:300px}.profile-intro h1{font-size:48px}.profile-body{margin-top:60px}.profile-cta{grid-template-columns:60px 1fr;padding:22px}.profile-cta>img{width:60px}.profile-cta h2{font-size:22px}.profile-cta>a{grid-column:1/-1;text-align:center}footer{grid-template-columns:1fr;gap:18px;padding:34px 20px}footer>a{justify-self:start}}
