.directory-hero { padding: 54px 0; background: var(--navy); color: #fff; }
.directory-hero h1 { font: 900 clamp(3.4rem,6vw,5rem)/1 var(--display); text-transform: uppercase; margin: 0 0 20px; }
.directory-hero p { color: #d7e2ed; max-width: 680px; margin: 0; font-size: 1.05rem; }
.directory-hero .company-kicker { margin-bottom: 16px; color: #a8daf1; font-size: .8rem; }
.directory-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 0; }
.directory-tabs a { display: inline-flex; align-items: center; min-height: 44px; border: 1px solid #7b9cb7; padding: 8px 15px; border-radius: 4px; font-size: .8rem; font-weight: 800; }
.staff-section { padding: 52px 0; scroll-margin-top: 150px; }
.staff-section:nth-of-type(odd) { background: #f3f6f9; }
.staff-section h2,.contact-area h2 { font: 900 clamp(2.3rem,4vw,3.2rem)/1 var(--display); text-transform: uppercase; margin: 0 0 26px; }
.staff-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.staff-card { display: flex; align-items: flex-start; gap: 16px; padding: 24px; border: 1px solid var(--line); border-top: 4px solid var(--blue); border-radius: 5px; background: #fff; }
.staff-initials { display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%; background: #e5f1f8; color: #245f87; font-weight: 900; }
.staff-card h3 { margin: 0 0 8px; font: 900 1.55rem/1.05 var(--display); text-transform: uppercase; overflow-wrap: anywhere; }
.staff-card p { margin: 0; color: #536476; font-size: .88rem; }
.director-card { align-self: start; padding: 24px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.director-card h3 { margin: 0 0 16px; font: 900 1.8rem/1 var(--display); text-transform: uppercase; }
.director-card ul { list-style: none; padding: 0; margin: 0; color: #536476; }
.director-card li { padding: 8px 0; border-top: 1px solid #e3eaf0; }
.contact-area { padding: 56px 0; background: #f3f6f9; }
.contact-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.7fr); align-items: start; gap: 36px; }
.contact-aside { padding: 28px; background: var(--navy); color: #fff; border-radius: 5px; }
.contact-aside h2 { font-size: 2.2rem; }
.contact-aside p { color: #cfdeea; margin: 0 0 22px; }
.contact-aside a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; border-top: 1px solid #43607a; font-weight: 800; font-size: .85rem; }
.contact-panel { padding: 32px; border: 1px solid var(--line); background: #fff; border-radius: 5px; }
.contact-availability { margin: -8px 0 24px; font-size: .85rem; color: #536476; }
.contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.contact-field { display: grid; gap: 8px; min-width: 0; }
.contact-field.is-full { grid-column: 1 / -1; }
.contact-field label { font-size: .84rem; font-weight: 800; color: #18324b; }
.contact-field label span { color: #63788a; font-weight: 400; }
.contact-field input,.contact-field select,.contact-field textarea { width: 100%; min-width: 0; min-height: 48px; border: 1px solid #9eacba; border-radius: 3px; padding: 12px; font: inherit; color: #18324b; background-color: #fff; }
.contact-field select { appearance: none; padding-right: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2318324b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; }
.contact-field textarea { resize: vertical; min-height: 170px; }
.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible { outline: 3px solid #245f87; outline-offset: 3px; }
.contact-submit { margin-top: 24px; }
.contact-review { margin-top: 28px; padding: 24px; border: 1px solid #9eacba; background: #f3f6f9; border-radius: 4px; }
.contact-review[hidden] { display: none; }
.contact-review h3 { font: 900 1.8rem/1 var(--display); text-transform: uppercase; margin: 0 0 16px; }
.contact-review dl { margin: 0; }
.contact-review dt { font-size: .8rem; font-weight: 900; margin-top: 16px; }
.contact-review dd { margin: 4px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; color: #536476; }
.contact-review-status { color: #744916; border-top: 1px solid var(--line); padding-top: 18px; margin: 22px 0 0; }
@media(max-width:1000px) { .staff-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .contact-layout { grid-template-columns: 1fr; } }
@media(max-width:620px) { .staff-grid,.contact-fields { grid-template-columns: 1fr; } .directory-hero,.staff-section,.contact-area { padding: 36px 0; } .contact-panel { padding: 24px; } .staff-card { padding: 20px; } .staff-section { scroll-margin-top: 175px; } }
@media(forced-colors:active) { .contact-field select { appearance: auto; background-image: none; } }
