.contact-info-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;width:100%;margin-bottom:3rem;display:grid}.contact-info-card{text-align:center;background:#fff;border:1px solid #c0a8781a;border-radius:20px;flex-direction:column;align-items:center;padding:2rem 1.5rem;transition:all .4s cubic-bezier(.165,.84,.44,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000008}.contact-info-card:before{content:"";transform-origin:0;background:linear-gradient(90deg,#c0a878,#ea8068);width:100%;height:3px;transition:transform .4s;position:absolute;top:0;left:0;transform:scaleX(0)}.contact-info-card:hover{border-color:#c0a8784d;transform:translateY(-5px);box-shadow:0 20px 40px #c0a8781a}.contact-info-card:hover:before{transform:scaleX(1)}.contact-info-card__icon-wrapper{color:#c0a878;background:#c0a8780d;border-radius:15px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:1.5rem;transition:all .3s;display:flex}.contact-info-card:hover .contact-info-card__icon-wrapper{color:#fff;background:#c0a878}.contact-info-card__icon-wrapper svg{font-size:28px}.contact-info-card__label{text-transform:uppercase;letter-spacing:2px;color:#999;margin-bottom:.75rem;font-family:Manrope,sans-serif;font-size:.75rem;font-weight:700}.contact-info-card__value{color:#0f0f0f;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600;line-height:1.4;text-decoration:none;transition:color .3s}.contact-info-card__value:hover{color:#c0a878}@media (max-width:1200px){.contact-info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.contact-info-grid{grid-template-columns:1fr}.contact-info-card{padding:1.5rem}}
.contact-form{background:#fff;border:1px solid #c0a8781a;border-radius:24px;flex-direction:column;gap:1.5rem;width:100%;padding:3rem;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px #0000000a}.contact-form:before{content:"";background:linear-gradient(90deg,#c0a878,#ea8068);width:100%;height:4px;position:absolute;top:0;left:0}.contact-form__title{color:#0f0f0f;border-bottom:1px solid #c0a8781a;margin-bottom:2rem;padding-bottom:1rem;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700}.contact-form__grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.contact-form__field{flex-direction:column;gap:.5rem;display:flex;position:relative}.contact-form__field--full{grid-column:span 2}.contact-form__field label{color:#555;font-size:.9rem;font-weight:600;transition:color .3s}.contact-form__field input,.contact-form__field textarea{background:#fcfcfc;border:1px solid #e0e0e0;border-radius:10px;padding:1rem;font-family:inherit;font-size:1rem;transition:all .3s}.contact-form__field input:focus,.contact-form__field textarea:focus{background:#fff;border-color:#c0a878;outline:none;box-shadow:0 4px 12px #c0a8781a}.contact-form__field:focus-within label{color:#c0a878}.contact-form__submit{color:#fff;cursor:pointer;background:#0f0f0f;border:none;border-radius:10px;margin-top:1rem;padding:1.2rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.contact-form__submit:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.contact-form__submit:hover:after{left:100%}.contact-form__submit:hover{background:#c0a878;box-shadow:0 10px 20px #c0a8784d}.contact-form__submit:active{transform:translateY(2px)}@media (max-width:768px){.contact-form{padding:1.5rem}.contact-form__grid{grid-template-columns:1fr}.contact-form__field--full{grid-column:span 1}.contact-form__title{font-size:1.75rem}}
.map-embed{box-sizing:border-box;background:#fff;border:1px solid #c0a8781a;border-radius:24px;width:100%;padding:3rem;box-shadow:0 10px 40px #0000000a}.map-embed__title{color:#0f0f0f;border-bottom:1px solid #c0a8781a;margin-bottom:2rem;padding-bottom:1rem;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700}.map-embed__frame{aspect-ratio:16/9;border:1px solid #f0f0f0;border-radius:12px;width:100%;overflow:hidden;box-shadow:inset 0 0 10px #0000000d}.map-embed__frame iframe{filter:grayscale(.2)contrast(1.05);border:0;width:100%;height:100%;transition:filter .3s}.map-embed__frame:hover iframe{filter:grayscale(0)contrast()}@media (max-width:768px){.map-embed{padding:1.5rem}.map-embed__frame{box-sizing:border-box;width:100%}}
.department-directory{box-sizing:border-box;background:#fff;border:1px solid #c0a8781a;border-radius:24px;width:100%;padding:3rem;box-shadow:0 10px 40px #0000000a}.department-directory__title{color:#0f0f0f;border-bottom:1px solid #c0a8781a;margin-bottom:2rem;padding-bottom:1rem;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700}.department-directory__list{flex-direction:column;gap:1.25rem;display:flex}.department-directory__item{background:#fdfdfd;border:1px solid #f0f0f0;border-radius:16px;transition:all .3s;overflow:hidden}.department-directory__item--active{background:#fff;border-color:#c0a878;box-shadow:0 10px 25px #c0a87814}.department-directory__header{cursor:pointer;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.department-directory__name{color:#222;font-size:1.15rem;font-weight:600}.department-directory__icon{color:#c0a878;width:24px;height:24px;transition:transform .4s}.department-directory__item--active .department-directory__icon{transform:rotate(180deg)}.department-directory__content-wrapper{height:0;overflow:hidden}.department-directory__content{padding:0 1.5rem 1.75rem}.department-directory__info{grid-template-columns:auto 1fr;align-items:baseline;gap:.75rem 1.5rem;display:grid}.department-directory__label{color:#c0a878;text-transform:uppercase;letter-spacing:1.5px;font-size:.7rem;font-weight:700}.department-directory__value{color:#555;font-size:.95rem}@media (max-width:768px){.department-directory{padding:1.5rem}}
.contact-layout{box-sizing:border-box;flex-direction:column;gap:1rem;width:100%;max-width:100vw;padding:2.5rem 0;display:flex;overflow-x:hidden}.contact-layout *{box-sizing:border-box}.contact-main-grid{grid-template-rows:auto;align-items:start;gap:1.5rem;display:grid}.contact-details-col{flex-direction:column;gap:1.5rem;display:flex}@media (max-width:1024px){.contact-main-grid{grid-template-columns:1fr;gap:1rem}.contact-layout{gap:1rem;padding:.5rem 0}}
