.ngis-contact-page { background: #f6f8fb; color: #071b33; }
.ngis-contact-hero { position: relative; overflow: hidden; padding: calc(var(--ngis-nav-height) + 2rem) 0 5rem; color: #fff; background: radial-gradient(circle at 82% 15%, rgba(213,174,99,.24), transparent 20rem), linear-gradient(125deg, #071b33, #123f70); }
.ngis-contact-hero::before, .ngis-contact-hero::after { position: absolute; border: 1px solid rgba(213,174,99,.25); border-radius: 50%; content: ''; pointer-events: none; }
.ngis-contact-hero::before { width: 28rem; height: 28rem; top: -17rem; right: -7rem; }
.ngis-contact-hero::after { width: 14rem; height: 14rem; bottom: -9rem; left: 45%; }
.ngis-contact-breadcrumb { position: relative; z-index: 1; display: flex; gap: .65rem; margin-bottom: 4rem; color: rgba(255,255,255,.62); font-size: .78rem; }
.ngis-contact-breadcrumb a { color: #fff; text-decoration: none; }
.ngis-contact-breadcrumb a:hover { color: #d5ae63; }
.ngis-contact-hero-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.ngis-contact-kicker { color: #d5ae63; font-size: .7rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.ngis-contact-hero h1 { max-width: 760px; margin: .9rem 0 1.25rem; font: 700 clamp(2.7rem, 6vw, 5.5rem)/1.02 Georgia, serif; letter-spacing: -.035em; }
.ngis-contact-hero p { max-width: 620px; margin: 0; color: rgba(255,255,255,.76); font-size: 1.08rem; line-height: 1.8; }
.ngis-contact-hero-mark { display: grid; width: 10rem; height: 10rem; flex: 0 0 10rem; place-items: center; border: 1px solid rgba(213,174,99,.5); border-radius: 2rem; background: rgba(255,255,255,.06); box-shadow: 0 1.5rem 3rem rgba(0,0,0,.18); transform: rotate(5deg); }
.ngis-contact-hero-mark i { color: #d5ae63; font-size: 3.1rem; }
.ngis-contact-hero-mark span { margin-top: -2.3rem; color: rgba(255,255,255,.68); font-size: .65rem; font-weight: 700; letter-spacing: .28em; }
.ngis-contact-content { padding: 5.5rem 0 6.5rem; }
.ngis-contact-layout { display: grid; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.ngis-contact-section-heading h2 { margin: .75rem 0 2.5rem; font: 700 clamp(2rem, 4vw, 3.5rem)/1.05 Georgia, serif; }
.ngis-contact-section-heading em { color: #123f70; font-style: italic; }
.ngis-contact-info-list { display: grid; gap: 1.3rem; }
.ngis-contact-info-item { display: flex; gap: 1rem; align-items: flex-start; padding-bottom: 1.3rem; border-bottom: 1px solid rgba(7,27,51,.1); }
.ngis-contact-info-icon { display: grid; width: 2.8rem; height: 2.8rem; flex: 0 0 2.8rem; place-items: center; color: #071b33; border-radius: .8rem; background: #d5ae63; }
.ngis-contact-info-item strong { display: block; margin: .15rem 0 .35rem; color: #071b33; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.ngis-contact-info-item p { margin: 0; color: #607086; font-size: .95rem; line-height: 1.7; }
.ngis-contact-info-item a { color: #123f70; text-decoration: none; }
.ngis-contact-info-item a:hover { color: #b08436; }
.ngis-contact-hours { display: flex; gap: .8rem; align-items: center; margin-top: .4rem; padding: 1rem 1.1rem; border: 1px solid rgba(213,174,99,.35); border-radius: .8rem; background: rgba(213,174,99,.12); }
.ngis-contact-hours > i { color: #b08436; }
.ngis-contact-hours strong, .ngis-contact-hours small { display: block; }
.ngis-contact-hours strong { color: #071b33; font-size: .82rem; }
.ngis-contact-hours small { margin-top: .2rem; color: #607086; }
.ngis-contact-form-card { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgba(18,63,112,.12); border-radius: 1.5rem; background: #fff; box-shadow: 0 1.5rem 3rem rgba(7,27,51,.08); }
.ngis-contact-form-heading { padding-bottom: 1.5rem; border-bottom: 1px solid #e7edf3; }
.ngis-contact-form-heading h2 { margin: .5rem 0 .6rem; font: 700 clamp(1.8rem, 4vw, 2.7rem)/1.1 Georgia, serif; }
.ngis-contact-form-heading p { margin: 0; color: #607086; line-height: 1.7; }
.ngis-contact-form { display: grid; gap: 1.2rem; padding-top: 1.6rem; }
.ngis-contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ngis-contact-form label { display: grid; gap: .45rem; color: #071b33; font-size: .8rem; font-weight: 700; }
.ngis-contact-form input, .ngis-contact-form textarea { width: 100%; padding: .9rem 1rem; border: 1px solid #dce4ec; border-radius: .65rem; outline: none; background: #f9fbfd; color: #071b33; font: inherit; font-weight: 400; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.ngis-contact-form textarea { resize: vertical; min-height: 9rem; }
.ngis-contact-form input::placeholder, .ngis-contact-form textarea::placeholder { color: #9aa8b7; }
.ngis-contact-form input:focus, .ngis-contact-form textarea:focus { border-color: #d5ae63; background: #fff; box-shadow: 0 0 0 3px rgba(213,174,99,.16); }
.ngis-contact-submit { display: inline-flex; width: fit-content; align-items: center; gap: .7rem; margin-top: .35rem; padding: .95rem 1.35rem; border: 0; border-radius: 999px; background: #d5ae63; color: #071b33; cursor: pointer; font-weight: 800; transition: transform .2s ease, background .2s ease; }
.ngis-contact-submit:hover { background: #e9c985; transform: translateY(-2px); }
.ngis-contact-map-section { padding: 0 0 6.5rem; }
.ngis-contact-map-heading { margin-bottom: 1.5rem; }
.ngis-contact-map-heading h2 { margin: .65rem 0 0; font: 700 clamp(2rem, 4vw, 3.2rem)/1.08 Georgia, serif; }
.ngis-contact-map-frame { width: 100%; overflow: hidden; min-height: 26rem; background: #dce4ec; }
.ngis-contact-map-frame iframe { display: block; width: 100%; height: 26rem; border: 0; }
@media (max-width: 767px) { .ngis-contact-hero { padding-bottom: 3.5rem; } .ngis-contact-breadcrumb { margin-bottom: 3rem; } .ngis-contact-hero-inner { align-items: flex-start; flex-direction: column; } .ngis-contact-hero-mark { width: 6rem; height: 6rem; flex-basis: 6rem; border-radius: 1.2rem; } .ngis-contact-hero-mark i { font-size: 2rem; } .ngis-contact-hero-mark span { margin-top: -1.4rem; } .ngis-contact-content { padding: 3.5rem 0 4.5rem; } .ngis-contact-layout { grid-template-columns: 1fr; gap: 3rem; } .ngis-contact-form-row { grid-template-columns: 1fr; } }
