/* Contact Us only: do not target site header, navigation, footer or shared forms. */
#ngenco-contact-page {
    --ngc-navy: #071c2b;
    --ngc-cyan: #00bad5;
    --ngc-copy: #172b46;
    --ngc-muted: #64768e;
    background: #fff;
    color: var(--ngc-copy);
    font-family: "DIN", Helvetica, Arial, sans-serif;
    line-height: 1.45;
    text-transform: none;
}
#ngenco-contact-page, #ngenco-contact-page * { box-sizing: border-box; }
#ngenco-contact-page h1, #ngenco-contact-page h2, #ngenco-contact-page h3,
#ngenco-contact-page p, #ngenco-contact-page figure { margin: 0; font-family: inherit; text-transform: none; }
#ngenco-contact-page a { text-decoration: none; }
#ngenco-contact-page a:focus-visible, #ngenco-contact-page button:focus-visible,
#ngenco-contact-page input:focus-visible, #ngenco-contact-page textarea:focus-visible,
#ngenco-contact-page select:focus-visible { outline: 3px solid #009bb2; outline-offset: 4px; }
#ngenco-contact-page .ngenco-contact-page__inner { width: calc(100% - 112px); max-width: 1400px; margin-inline: auto; }
#ngenco-contact-page .ngenco-contact-page__hero { position: relative; isolation: isolate; background: #031b29; overflow: hidden; }
#ngenco-contact-page .ngenco-contact-page__hero-visual { position:absolute; inset:0; z-index:-2; }
#ngenco-contact-page .ngenco-contact-page__hero-image { display:block; width:100%; max-width:none; height:100%; object-fit:cover; object-position:65% 52%; }
#ngenco-contact-page .ngenco-contact-page__hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(2,22,34,.55),rgba(2,22,34,.15) 42%,transparent 60%); }
#ngenco-contact-page .ngenco-contact-page__hero-inner { display:flex; align-items:center; min-height:clamp(360px,29.4vw,540px); padding-block:48px 72px; }
#ngenco-contact-page .ngenco-contact-page__hero-copy { width:50%; max-width:660px; }
#ngenco-contact-page .ngenco-contact-page__eyebrow { font-size:clamp(13px,1.05vw,16px); color:var(--ngc-cyan); font-weight:500; letter-spacing:.23em; line-height:1.5; }
#ngenco-contact-page h1 { margin-top:16px; color:#fff; font-size:clamp(44px,4.5vw,74px); font-weight:800; line-height:.98; letter-spacing:-.035em; }
#ngenco-contact-page h1 span { display:block; color:var(--ngc-cyan); }
#ngenco-contact-page .ngenco-contact-page__hero-intro { max-width:535px; margin-top:18px; color:#fff; font-size:clamp(19px,1.65vw,26px); line-height:1.23; }
#ngenco-contact-page .ngenco-contact-page__hero-intro p + p { margin-top:12px; }

#ngenco-contact-page .ngenco-contact-page__strip { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:calc(100% - 80px); max-width:1440px; margin:-28px auto 0; padding:24px 0; border:1px solid #e2e9ef; border-radius:8px; background:#fff; box-shadow:0 8px 24px rgba(16,89,122,.12); }
#ngenco-contact-page .ngenco-contact-page__contact-item { display:flex; align-items:center; gap:24px; min-width:0; padding:4px clamp(20px,3vw,48px); }
#ngenco-contact-page .ngenco-contact-page__contact-item + .ngenco-contact-page__contact-item { border-left:1px solid #d2dce6; }
#ngenco-contact-page .ngenco-contact-page__icon { display:block; flex-shrink:0; color:var(--ngc-cyan); }
#ngenco-contact-page .ngenco-contact-page__contact-item > .ngenco-contact-page__icon { width:56px; height:56px; stroke-width:1.25; }
#ngenco-contact-page .ngenco-contact-page__contact-item > div { min-width:0; }
#ngenco-contact-page .ngenco-contact-page__contact-item h2 { font-size:clamp(20px,1.55vw,24px); line-height:1.2; font-weight:700; color:#07182d; margin-bottom:3px; }
#ngenco-contact-page .ngenco-contact-page__contact-item a,
#ngenco-contact-page .ngenco-contact-page__contact-item p { font-size:clamp(16px,1.4vw,21px); line-height:1.35; color:var(--ngc-copy); overflow-wrap:anywhere; }
#ngenco-contact-page a.ngenco-contact-page__text-link { color:#008ea8; display:inline-flex; align-items:center; gap:10px; text-decoration:underline; text-underline-offset:4px; }
#ngenco-contact-page a.ngenco-contact-page__text-link:hover { color:#006d84; }
#ngenco-contact-page .ngenco-contact-page__text-link .ngenco-contact-page__icon { width:20px; height:20px; color:currentColor; }

#ngenco-contact-page .ngenco-contact-page__body { display:grid; grid-template-columns:minmax(0,.37fr) minmax(0,.63fr); gap:clamp(30px,3.5vw,60px); padding-block:56px 64px; align-items:start; }
#ngenco-contact-page .ngenco-contact-page__help { padding-top:8px; min-width:0; }
#ngenco-contact-page .ngenco-contact-page__help > h2 { margin-top:12px; max-width:460px; font-size:clamp(36px,3.4vw,54px); line-height:1.04; letter-spacing:-.035em; font-weight:800; color:#081a2e; }
#ngenco-contact-page .ngenco-contact-page__help-intro { margin-top:28px; font-size:clamp(18px,1.45vw,22px); line-height:1.38; max-width:450px; }
#ngenco-contact-page .ngenco-contact-page__hq { margin-top:28px; padding:clamp(22px,2.5vw,36px); border-radius:10px; color:#fff; background:linear-gradient(120deg,#042332,#002333); }
#ngenco-contact-page .ngenco-contact-page__hq-item { display:flex; align-items:flex-start; gap:22px; }
#ngenco-contact-page .ngenco-contact-page__hq-item + .ngenco-contact-page__hq-item { margin-top:24px; padding-top:24px; border-top:1px solid rgba(89,197,214,.38); }
#ngenco-contact-page .ngenco-contact-page__hq-item > .ngenco-contact-page__icon { width:36px; height:40px; }
#ngenco-contact-page .ngenco-contact-page__hq h3 { color:#fff; font-size:clamp(20px,1.5vw,23px); font-weight:600; line-height:1.2; margin-bottom:7px; }
#ngenco-contact-page .ngenco-contact-page__hq address,
#ngenco-contact-page .ngenco-contact-page__hq p { color:#fff; font-size:clamp(16px,1.35vw,20px); font-style:normal; line-height:1.4; }
#ngenco-contact-page .ngenco-contact-page__directions { margin-top:24px; min-height:44px; display:inline-flex; gap:14px; align-items:center; padding:9px 19px; border:1px solid var(--ngc-cyan); border-radius:5px; color:#19d6eb; font-size:17px; }
#ngenco-contact-page .ngenco-contact-page__directions:hover { background:rgba(0,186,213,.13); }
#ngenco-contact-page .ngenco-contact-page__directions .ngenco-contact-page__icon { width:18px; height:18px; }
#ngenco-contact-page .ngenco-contact-page__local { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-top:28px; font-size:16px; }
#ngenco-contact-page .ngenco-contact-page__form-panel { min-width:0; padding:clamp(26px,2.65vw,40px); border:1px solid #dce5ed; border-radius:14px; background:#fff; box-shadow:0 6px 24px rgba(15,86,121,.08); }
#ngenco-contact-page .ngenco-contact-page__form-panel h2 { color:#081a2e; font-size:clamp(30px,2.5vw,40px); font-weight:800; line-height:1.15; letter-spacing:-.03em; }
#ngenco-contact-page .ngenco-contact-page__form-intro { margin-top:6px; font-size:20px; }
#ngenco-contact-page .wpcf7 { margin-top:24px; }
#ngenco-contact-page .wpcf7-form { margin:0; padding:0; }
#ngenco-contact-page .hidden-fields-container { margin:0; padding:0; border:0; }
#ngenco-contact-page .ngenco-contact-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; }
#ngenco-contact-page .ngenco-contact-form__field { min-width:0; }
#ngenco-contact-page .ngenco-contact-form__field--full { grid-column:1 / -1; }
#ngenco-contact-page .ngenco-contact-form__field label { display:block; font-weight:400; font-size:16px; line-height:1.4; margin-bottom:7px; color:#14233d; }
#ngenco-contact-page .wpcf7-form-control-wrap { display:block; margin:0; }
#ngenco-contact-page .wpcf7-form input:not([type="submit"]):not([type="hidden"]),
#ngenco-contact-page .wpcf7-form select,
#ngenco-contact-page .wpcf7-form textarea { display:block; width:100%; max-width:100%; min-width:0; min-height:46px; margin:0; padding:11px 14px; border:1px solid #bacbda; border-radius:5px; background:#f1f4f6; color:#10213a; font-family:inherit; font-size:16px; font-weight:400; line-height:1.3; box-shadow:inset 0 1px 2px rgba(12,38,58,.02); text-transform:none; }
#ngenco-contact-page .wpcf7-form textarea { min-height:132px; resize:vertical; }
#ngenco-contact-page .wpcf7-form select { padding-right:38px; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2314233d' stroke-width='1.5'%3E%3Cpath d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E"); background-size:20px; background-repeat:no-repeat; background-position:right 12px center; }
#ngenco-contact-page .wpcf7-form ::placeholder { color:#62748b; opacity:1; }
#ngenco-contact-page .ngenco-contact-form__field small { display:block; margin-top:6px; color:#61748b; font-size:13px; line-height:1.4; }
#ngenco-contact-page .ngenco-contact-form__required { margin-top:18px; font-size:13px; color:#61748b; }
#ngenco-contact-page .ngenco-contact-form__submit { position:relative; margin-top:18px; }
#ngenco-contact-page .ngenco-contact-form__submit input[type="submit"] { display:block; width:100%; max-width:none; height:auto; min-height:54px; margin:0; padding:13px 60px; border:0; border-radius:6px; background:var(--ngc-cyan); color:#051b2b; font-family:inherit; font-size:18px; font-weight:600; line-height:1.4; text-align:center; text-transform:none; cursor:pointer; box-shadow:none; }
#ngenco-contact-page .ngenco-contact-form__submit input[type="submit"]:hover { background:#15cee5; }
#ngenco-contact-page .ngenco-contact-form__submit > span[aria-hidden="true"] { position:absolute; top:50%; left:calc(50% + 78px); transform:translateY(-50%); color:#071c2b; font-size:24px; pointer-events:none; }
#ngenco-contact-page .wpcf7-spinner { position:absolute; right:12px; top:15px; margin:0; }
#ngenco-contact-page .wpcf7-not-valid-tip { position:static; display:block; width:auto; max-width:none; height:auto; inset:auto; transform:none; margin:6px 0 0; padding:0; border:0; background:none; box-shadow:none; font-size:14px; line-height:1.35; color:#a32121; white-space:normal; }
#ngenco-contact-page .wpcf7-not-valid-tip::before, #ngenco-contact-page .wpcf7-not-valid-tip::after { display:none; content:none; }
#ngenco-contact-page .wpcf7-form .wpcf7-not-valid { border-color:#a32121; }
#ngenco-contact-page .wpcf7-response-output { margin:18px 0 0; padding:12px; font-size:16px; line-height:1.4; border-radius:5px; }
#ngenco-contact-page .ngenco-contact-page__sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width:1150px) {
    #ngenco-contact-page .ngenco-contact-page__inner { width:calc(100% - 80px); }
    #ngenco-contact-page .ngenco-contact-page__contact-item { gap:16px; padding-inline:24px; }
    #ngenco-contact-page .ngenco-contact-page__contact-item > .ngenco-contact-page__icon { width:44px; height:48px; }
    #ngenco-contact-page .ngenco-contact-page__hq-item { gap:16px; }
}
@media (min-width:768px) and (max-width:960px) {
    #ngenco-contact-page .ngenco-contact-page__hero-inner { min-height:0; padding-block:36px 280px; }
    #ngenco-contact-page .ngenco-contact-page__hero-copy { width:100%; max-width:620px; }
    #ngenco-contact-page .ngenco-contact-page__hero-visual { top:auto; height:300px; }
    #ngenco-contact-page .ngenco-contact-page__hero-image { object-position:100% 55%; }
    #ngenco-contact-page .ngenco-contact-page__hero::after { background:linear-gradient(180deg,#031b29 0%,rgba(3,27,41,.97) 36%,rgba(3,27,41,.1) 57%,transparent 70%); }
    #ngenco-contact-page .ngenco-contact-page__strip { width:calc(100% - 48px); }
    #ngenco-contact-page .ngenco-contact-page__contact-item { flex-direction:column; align-items:flex-start; gap:12px; padding-inline:20px; }
    #ngenco-contact-page .ngenco-contact-page__body { grid-template-columns:minmax(0,.4fr) minmax(0,.6fr); gap:26px; }
    #ngenco-contact-page .ngenco-contact-page__inner { width:calc(100% - 48px); }
    #ngenco-contact-page .ngenco-contact-page__form-panel { padding:24px; }
    #ngenco-contact-page .ngenco-contact-form__grid { gap:18px 16px; }
    #ngenco-contact-page .ngenco-contact-page__hq { padding:22px; }
    #ngenco-contact-page .ngenco-contact-page__hq-item { gap:12px; }
    #ngenco-contact-page .ngenco-contact-page__hq-item > .ngenco-contact-page__icon { width:26px; height:32px; }
}
@media (max-width:767px) {
    #ngenco-contact-page .ngenco-contact-page__inner { width:calc(100% - 40px); }
    #ngenco-contact-page .ngenco-contact-page__hero-inner { min-height:0; padding-block:36px 250px; align-items:flex-start; }
    #ngenco-contact-page .ngenco-contact-page__hero-copy { width:100%; max-width:560px; }
    #ngenco-contact-page h1 { max-width:480px; font-size:clamp(40px,7.9vw,58px); line-height:1; }
    #ngenco-contact-page .ngenco-contact-page__hero-intro { max-width:440px; font-size:19px; line-height:1.35; margin-top:14px; }
    #ngenco-contact-page .ngenco-contact-page__hero-visual { top:auto; height:255px; }
    #ngenco-contact-page .ngenco-contact-page__hero-image { object-position:100% 60%; }
    #ngenco-contact-page .ngenco-contact-page__hero::after { background:linear-gradient(180deg,#031b29 0%,rgba(3,27,41,.98) 45%,rgba(3,27,41,.25) 65%,transparent 80%); }
    #ngenco-contact-page .ngenco-contact-page__strip { grid-template-columns:1fr; width:calc(100% - 40px); padding:10px 22px; margin-top:-24px; }
    #ngenco-contact-page .ngenco-contact-page__contact-item { flex-direction:row; align-items:center; gap:22px; padding:20px 0; }
    #ngenco-contact-page .ngenco-contact-page__contact-item + .ngenco-contact-page__contact-item { border-left:0; border-top:1px solid #d8e1e9; }
    #ngenco-contact-page .ngenco-contact-page__contact-item > .ngenco-contact-page__icon { width:40px; height:44px; }
    #ngenco-contact-page .ngenco-contact-page__contact-item h2 { font-size:21px; }
    #ngenco-contact-page .ngenco-contact-page__contact-item a,
    #ngenco-contact-page .ngenco-contact-page__contact-item p { font-size:17px; }
    #ngenco-contact-page .ngenco-contact-page__body { grid-template-columns:1fr; gap:32px; padding-block:38px 48px; }
    #ngenco-contact-page .ngenco-contact-page__help { padding-top:0; }
    #ngenco-contact-page .ngenco-contact-page__help > h2 { max-width:460px; font-size:40px; }
    #ngenco-contact-page .ngenco-contact-page__help-intro { margin-top:22px; font-size:18px; }
    #ngenco-contact-page .ngenco-contact-page__hq { margin-top:24px; padding:24px; }
    #ngenco-contact-page .ngenco-contact-page__hq h3 { font-size:21px; }
    #ngenco-contact-page .ngenco-contact-page__hq address,
    #ngenco-contact-page .ngenco-contact-page__hq p { font-size:17px; }
    #ngenco-contact-page .ngenco-contact-page__local { margin-top:22px; font-size:15px; gap:8px 14px; }
    #ngenco-contact-page .ngenco-contact-page__form-panel { padding:26px 22px; }
    #ngenco-contact-page .ngenco-contact-page__form-panel h2 { font-size:32px; }
    #ngenco-contact-page .ngenco-contact-page__form-intro { font-size:18px; }
}
@media (max-width:480px) {
    #ngenco-contact-page .ngenco-contact-form__grid { grid-template-columns:1fr; gap:20px; }
    #ngenco-contact-page .ngenco-contact-page__hero-inner { padding-bottom:clamp(180px,55vw,225px); }
    #ngenco-contact-page .ngenco-contact-page__hero-visual { height:clamp(180px,55vw,225px); }
}
