/* Nova Contact & Appointment Pages v1.0.2 */
.ncap-page,.ncap-page *{box-sizing:border-box}
.ncap-page{--ncap-blue:#0b73b7;--ncap-blue-deep:#075f99;--ncap-teal:#25b2b7;--ncap-green:#c5ee92;--ncap-navy:#061f38;--ncap-ink:#10233b;--ncap-muted:#66758a;--ncap-line:rgba(11,115,183,.11);--ncap-shadow:0 28px 86px rgba(6,31,56,.10);position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;background:linear-gradient(180deg,#f8fdff 0%,#fff 48%,#f3faff 100%);color:var(--ncap-ink);font-family:inherit}
.ncap-shell{width:min(1240px,calc(100% - 56px));margin-inline:auto}
.ncap-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 84% 22%,rgba(197,238,146,.28),transparent 23%),radial-gradient(circle at 65% 90%,rgba(37,178,183,.15),transparent 30%),linear-gradient(135deg,#052744 0%,#073b62 58%,#075a84 100%);color:#fff}
.ncap-hero__grid{position:absolute;inset:0;opacity:.07;background-image:linear-gradient(rgba(255,255,255,.20) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.20) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#000 0%,transparent 85%);-webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 85%)}
.ncap-hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:70px;align-items:center;min-height:570px;padding-block:72px 115px}
.ncap-hero__inner--center{grid-template-columns:1fr;min-height:510px;text-align:center}
.ncap-hero__copy h1{max-width:880px;margin:18px 0 20px;color:#fff;font-size:clamp(46px,5.2vw,76px);line-height:.98;letter-spacing:-.057em;font-weight:900;text-wrap:balance}
.ncap-hero__copy p{max-width:740px;margin:0;color:rgba(255,255,255,.78);font-size:17px;line-height:1.78}
.ncap-hero__copy--center{max-width:930px;margin-inline:auto}
.ncap-hero__copy--center p{margin-inline:auto}
.ncap-kicker,.ncap-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--ncap-teal);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.ncap-kicker{padding:9px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);color:#dbffb2}
.ncap-kicker:before,.ncap-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ncap-green);box-shadow:0 0 0 5px rgba(197,238,146,.15)}
.ncap-eyebrow--light{color:#dfffb9}
.ncap-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ncap-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border:1px solid transparent;border-radius:999px;background:linear-gradient(135deg,var(--ncap-blue),var(--ncap-teal));color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:900;box-shadow:0 18px 40px rgba(8,67,105,.24);transition:transform .18s ease,box-shadow .18s ease}
.ncap-button:hover{transform:translateY(-2px);box-shadow:0 24px 48px rgba(8,67,105,.30)}
.ncap-button--ghost{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.09);box-shadow:none}
.ncap-button--lime{background:linear-gradient(135deg,#b9ed7c,#d4f6a8);color:#09233b!important;box-shadow:0 18px 40px rgba(197,238,146,.18)}
.ncap-button--dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);box-shadow:none}
.ncap-button--small{min-height:45px;padding-inline:19px;font-size:13px}
.ncap-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.ncap-trust-row--center{justify-content:center}
.ncap-trust-row span{padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.86);font-size:11px;font-weight:750}
.ncap-hero__panel{position:relative;padding:34px;border:1px solid rgba(255,255,255,.14);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.05));box-shadow:0 28px 70px rgba(2,21,39,.26);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.ncap-hero__panel-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:22px;border-radius:20px;background:rgba(255,255,255,.14);color:#fff}
.ncap-hero__panel-icon svg{width:28px;height:28px;fill:currentColor}
.ncap-hero__panel h2{margin:12px 0 10px;color:#fff;font-size:31px;line-height:1.05;letter-spacing:-.04em}
.ncap-hero__panel p{margin:0 0 22px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65}
.ncap-hero__panel>a{display:inline-flex;align-items:center;gap:9px;color:#dfffb9;text-decoration:none;font-size:13px;font-weight:900}
.ncap-hero__panel>a svg{width:18px;height:18px;fill:currentColor}
.ncap-hero__divider{position:absolute;z-index:3;left:0;right:0;bottom:-1px;color:#f8fdff;line-height:0}
.ncap-hero__divider svg{width:100%;height:72px}
.ncap-contact-layout,.ncap-appointment-layout{padding:55px 0 82px}
.ncap-contact-layout__grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.45fr);gap:28px;align-items:start}
.ncap-appointment-layout__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.62fr);gap:28px;align-items:start}
.ncap-contact-sidebar,.ncap-form-card,.ncap-side-panel,.ncap-map-card,.ncap-info-card,.ncap-privacy-note,.ncap-step,.ncap-value-grid article,.ncap-faq__item{border:1px solid var(--ncap-line);background:rgba(255,255,255,.92);box-shadow:var(--ncap-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ncap-contact-sidebar,.ncap-form-card{padding:36px;border-radius:34px}
.ncap-contact-sidebar>h2,.ncap-form-card>h2,.ncap-side-panel>h2{margin:13px 0 10px;color:var(--ncap-navy);font-size:clamp(30px,3vw,43px);line-height:1.03;letter-spacing:-.048em}
.ncap-contact-sidebar>p,.ncap-form-card>p,.ncap-side-panel>p{margin:0 0 24px;color:var(--ncap-muted);font-size:15px;line-height:1.7}
.ncap-info-grid{display:grid;gap:13px}
.ncap-info-card{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:16px;border-radius:22px;box-shadow:0 15px 38px rgba(6,31,56,.06)}
.ncap-info-card__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--ncap-blue),var(--ncap-teal));color:#fff;box-shadow:0 14px 28px rgba(11,115,183,.18)}
.ncap-info-card__icon svg{width:24px;height:24px;fill:currentColor}
.ncap-info-card>div>span{display:block;margin:2px 0 5px;color:var(--ncap-navy);font-size:13px;font-weight:900}
.ncap-info-card a,.ncap-info-card p{display:block;margin:0;color:var(--ncap-muted);font-size:12.5px;line-height:1.55;text-decoration:none}
.ncap-info-card .ncap-mini-link{margin-top:5px;color:var(--ncap-blue);font-weight:850}
.ncap-privacy-note{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;margin-top:16px;padding:16px;border-radius:20px;background:linear-gradient(145deg,#f6fbff,#fff);box-shadow:0 12px 30px rgba(6,31,56,.05)}
.ncap-privacy-note>span{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:rgba(11,115,183,.08);color:var(--ncap-blue)}
.ncap-privacy-note svg{width:20px;height:20px;fill:currentColor}
.ncap-privacy-note p{margin:0;color:var(--ncap-muted);font-size:12px;line-height:1.62}
.ncap-form-card{position:relative;overflow:hidden}
.ncap-form-card:before{content:"";position:absolute;top:-160px;right:-160px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(197,238,146,.20),transparent 68%);pointer-events:none}
.ncap-form-card>*{position:relative;z-index:2}
.ncap-form-alert{margin:0 0 22px;padding:14px 16px;border-radius:18px;border:1px solid rgba(37,178,183,.12);background:linear-gradient(135deg,rgba(197,238,146,.20),rgba(37,178,183,.07));color:#50657a;font-size:13px;line-height:1.6}
.ncap-form-alert strong{color:var(--ncap-navy)}
.ncap-elementor-template .elementor-form-fields-wrapper{row-gap:4px}
.ncap-elementor-template .elementor-field-group{margin-bottom:13px}
.ncap-elementor-template .elementor-field-label{margin-bottom:7px!important;color:var(--ncap-navy)!important;font-size:12px!important;font-weight:850!important}
.ncap-elementor-template .elementor-field,.ncap-elementor-template .elementor-select-wrapper select{min-height:54px!important;padding:12px 15px!important;border:1px solid rgba(11,115,183,.14)!important;border-radius:16px!important;background:#f8fcff!important;color:#263f57!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
.ncap-elementor-template textarea.elementor-field{min-height:124px!important;resize:vertical}
.ncap-elementor-template .elementor-field:focus,.ncap-elementor-template .elementor-select-wrapper select:focus{outline:none!important;background:#fff!important;border-color:rgba(11,115,183,.48)!important;box-shadow:0 0 0 4px rgba(11,115,183,.08)!important}
.ncap-elementor-template .elementor-field-type-acceptance{padding:13px 14px;border:1px solid rgba(11,115,183,.09);border-radius:16px;background:#f6fbfe}
.ncap-elementor-template .elementor-field-type-acceptance label{color:#5a6c80!important;font-size:12px!important;line-height:1.55!important}
.ncap-elementor-template .elementor-field-type-acceptance a{color:var(--ncap-blue);font-weight:850}
.ncap-elementor-template .elementor-button{min-height:58px!important;border:0!important;border-radius:18px!important;background:linear-gradient(135deg,var(--ncap-blue),var(--ncap-teal))!important;color:#fff!important;font-weight:900!important;box-shadow:0 18px 40px rgba(11,115,183,.22)!important;transition:transform .18s ease,box-shadow .18s ease!important}
.ncap-elementor-template .elementor-button:hover{transform:translateY(-2px);box-shadow:0 24px 48px rgba(11,115,183,.28)!important}
.ncap-admin-notice{padding:16px;border:1px solid #dba617;border-radius:12px;background:#fff8d8;color:#5f4a00}
.ncap-process-section,.ncap-map-section,.ncap-faq-section,.ncap-value-section{padding:82px 0}
.ncap-process-section,.ncap-value-section{background:linear-gradient(180deg,#fff,#f4faff)}
.ncap-section-heading{max-width:760px;margin-bottom:32px}
.ncap-section-heading--row{display:flex;justify-content:space-between;gap:28px;align-items:end;max-width:none}
.ncap-section-heading h2{margin:13px 0 10px;color:var(--ncap-navy);font-size:clamp(34px,4vw,52px);line-height:1.01;letter-spacing:-.052em}
.ncap-section-heading p{margin:0;color:var(--ncap-muted);font-size:15px;line-height:1.72}
.ncap-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--ncap-blue);font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap}
.ncap-text-link svg{width:18px;height:18px;fill:currentColor}
.ncap-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ncap-step{display:grid;grid-template-columns:54px 1fr;gap:15px;padding:24px;border-radius:26px;box-shadow:0 18px 48px rgba(6,31,56,.07)}
.ncap-step>span{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--ncap-green),#efffd9);color:var(--ncap-blue-deep);font-size:13px;font-weight:950;box-shadow:0 12px 28px rgba(6,31,56,.08)}
.ncap-step h3{margin:4px 0 7px;color:var(--ncap-navy);font-size:18px;line-height:1.2}
.ncap-step p{margin:0;color:var(--ncap-muted);font-size:13px;line-height:1.62}
.ncap-map-card{overflow:hidden;border-radius:34px}
.ncap-map-card iframe{display:block;width:100%;height:430px;border:0}
.ncap-map-card__footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 24px;background:#fff}
.ncap-map-card__footer strong{display:block;margin-bottom:4px;color:var(--ncap-navy);font-size:15px}
.ncap-map-card__footer span{color:var(--ncap-muted);font-size:12.5px;line-height:1.5}
.ncap-faq-layout{display:grid;grid-template-columns:minmax(260px,.58fr) minmax(0,1.1fr);gap:58px;align-items:start}
.ncap-section-heading--sticky{position:sticky;top:120px}
.ncap-faq{display:grid;gap:12px}
.ncap-faq__item{overflow:hidden;border-radius:20px;box-shadow:0 15px 38px rgba(6,31,56,.06)}
.ncap-faq__button{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:20px 22px;border:0;background:#fff;color:var(--ncap-navy);text-align:left;cursor:pointer;font:inherit;font-size:14px;font-weight:900}
.ncap-faq__button b{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:12px;background:rgba(11,115,183,.08);color:var(--ncap-blue);font-size:20px;transition:transform .18s ease,background .18s ease}
.ncap-faq__button[aria-expanded="true"] b{transform:rotate(45deg);background:rgba(197,238,146,.32)}
.ncap-faq__panel{padding:0 22px 20px;background:#fff}
.ncap-faq__panel p{margin:0;color:var(--ncap-muted);font-size:13px;line-height:1.7}
.ncap-final-cta{padding:75px 0;background:radial-gradient(circle at 85% 20%,rgba(197,238,146,.18),transparent 22%),linear-gradient(135deg,#052744,#062138);color:#fff}
.ncap-final-cta__inner{display:flex;justify-content:space-between;gap:36px;align-items:center}
.ncap-final-cta h2{max-width:760px;margin:13px 0 10px;color:#fff;font-size:clamp(34px,4.2vw,56px);line-height:1;letter-spacing:-.052em}
.ncap-final-cta p{max-width:680px;margin:0;color:rgba(255,255,255,.72);font-size:15px;line-height:1.7}
.ncap-final-cta__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:300px}
.ncap-appointment-sidebar{display:grid;gap:18px}
.ncap-side-panel{padding:28px;border-radius:28px}
.ncap-side-panel--dark{background:linear-gradient(145deg,#052744,#073b62);color:#fff}
.ncap-side-panel--dark h2{color:#fff}
.ncap-side-panel--dark p{color:rgba(255,255,255,.72)}
.ncap-side-panel .ncap-steps{grid-template-columns:1fr;gap:10px}
.ncap-side-panel .ncap-step{grid-template-columns:44px 1fr;padding:15px;border-radius:19px;box-shadow:0 12px 28px rgba(6,31,56,.05)}
.ncap-side-panel .ncap-step>span{width:44px;height:44px;border-radius:14px}
.ncap-side-panel .ncap-step h3{font-size:15px}
.ncap-side-panel .ncap-step p{font-size:12px}
.ncap-side-panel--dark .ncap-button{width:100%;margin-top:5px}
.ncap-text-phone{display:block;margin-top:15px;color:#fff;text-align:center;text-decoration:none;font-weight:900}
.ncap-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ncap-value-grid article{padding:28px;border-radius:26px;box-shadow:0 18px 48px rgba(6,31,56,.07)}
.ncap-value-grid article>span{display:inline-flex;margin-bottom:20px;color:var(--ncap-teal);font-size:12px;font-weight:950;letter-spacing:.15em}
.ncap-value-grid h3{margin:0 0 10px;color:var(--ncap-navy);font-size:21px;line-height:1.15}
.ncap-value-grid p{margin:0;color:var(--ncap-muted);font-size:13px;line-height:1.66}
.ncap-standalone-form{padding:32px;border:1px solid var(--ncap-line);border-radius:30px;background:#fff;box-shadow:var(--ncap-shadow)}
@media(max-width:1020px){.ncap-hero__inner{grid-template-columns:1fr;gap:30px;min-height:auto;padding-block:74px 115px}.ncap-hero__panel{max-width:560px}.ncap-contact-layout__grid,.ncap-appointment-layout__grid{grid-template-columns:1fr}.ncap-contact-sidebar{order:2}.ncap-appointment-sidebar{grid-template-columns:1fr 1fr}.ncap-appointment-sidebar>.ncap-privacy-note{grid-column:1/-1}.ncap-faq-layout{grid-template-columns:1fr;gap:28px}.ncap-section-heading--sticky{position:static}.ncap-final-cta__inner{align-items:flex-start;flex-direction:column}.ncap-final-cta__actions{justify-content:flex-start;min-width:0}}
@media(max-width:767px){.ncap-shell{width:min(100% - 28px,620px)}.ncap-hero__inner{padding-block:58px 92px}.ncap-hero__copy h1{font-size:clamp(38px,11.5vw,52px)}.ncap-hero__copy p{font-size:15px}.ncap-hero__panel{padding:25px;border-radius:26px}.ncap-hero__divider svg{height:46px}.ncap-contact-layout,.ncap-appointment-layout{padding:35px 0 54px}.ncap-contact-sidebar,.ncap-form-card{padding:24px 18px;border-radius:25px}.ncap-contact-sidebar>h2,.ncap-form-card>h2,.ncap-side-panel>h2{font-size:29px}.ncap-info-card{grid-template-columns:46px 1fr;padding:14px}.ncap-info-card__icon{width:46px;height:46px;border-radius:15px}.ncap-process-section,.ncap-map-section,.ncap-faq-section,.ncap-value-section{padding:58px 0}.ncap-steps,.ncap-value-grid{grid-template-columns:1fr}.ncap-section-heading--row{display:block}.ncap-text-link{margin-top:16px}.ncap-map-card{border-radius:24px}.ncap-map-card iframe{height:320px}.ncap-map-card__footer{display:block;padding:18px}.ncap-map-card__footer .ncap-button{margin-top:15px}.ncap-appointment-sidebar{grid-template-columns:1fr}.ncap-final-cta{padding:55px 0}.ncap-final-cta__actions{width:100%}.ncap-final-cta__actions .ncap-button{flex:1}.ncap-elementor-template .elementor-field-group{width:100%!important}.ncap-standalone-form{padding:20px 14px;border-radius:23px}}
@media(prefers-reduced-motion:reduce){.ncap-button,.ncap-faq__button b{transition:none!important}}


/* v1.0.2 — FAQ hover isolation + acceptance checkbox alignment hotfix */
.ncap-page .ncap-faq__button,
.ncap-page .ncap-faq__button:hover,
.ncap-page .ncap-faq__button:focus,
.ncap-page .ncap-faq__button:focus-visible,
.ncap-page .ncap-faq__button:active{
  appearance:none !important;
  -webkit-appearance:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  margin:0 !important;
  padding:20px 22px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  background-image:none !important;
  color:var(--ncap-navy) !important;
  box-shadow:none !important;
  text-shadow:none !important;
  transform:none !important;
  opacity:1 !important;
  filter:none !important;
}

.ncap-page .ncap-faq__button:hover{
  background:linear-gradient(135deg,#fbfeff 0%,#f4fbff 100%) !important;
  color:var(--ncap-navy) !important;
}

.ncap-page .ncap-faq__button:focus-visible{
  outline:3px solid rgba(11,115,183,.16) !important;
  outline-offset:-3px !important;
}

.ncap-page .ncap-faq__button[aria-expanded="true"],
.ncap-page .ncap-faq__button[aria-expanded="true"]:hover{
  background:linear-gradient(135deg,rgba(197,238,146,.18),rgba(37,178,183,.07)) !important;
  color:var(--ncap-navy) !important;
}

.ncap-page .ncap-faq__button span{
  color:inherit !important;
}

.ncap-page .ncap-faq__button b,
.ncap-page .ncap-faq__button:hover b,
.ncap-page .ncap-faq__button:focus b{
  background:rgba(11,115,183,.08) !important;
  color:var(--ncap-blue) !important;
  border:0 !important;
  box-shadow:none !important;
}

.ncap-page .ncap-faq__button[aria-expanded="true"] b{
  background:rgba(197,238,146,.36) !important;
  color:var(--ncap-blue-deep) !important;
}

.ncap-elementor-template .elementor-field-type-acceptance{
  display:block !important;
  width:100% !important;
  padding:15px 16px !important;
}

.ncap-elementor-template .elementor-field-type-acceptance .elementor-field-subgroup,
.ncap-elementor-template .elementor-field-type-acceptance .elementor-field-option{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:11px !important;
  width:100% !important;
  margin:0 !important;
}

.ncap-elementor-template .elementor-field-type-acceptance input[type="checkbox"]{
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
  position:static !important;
  display:block !important;
  flex:0 0 17px !important;
  width:17px !important;
  min-width:17px !important;
  max-width:17px !important;
  height:17px !important;
  min-height:17px !important;
  max-height:17px !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  border-radius:3px !important;
  transform:none !important;
  vertical-align:top !important;
  accent-color:var(--ncap-blue) !important;
}

.ncap-elementor-template .elementor-field-type-acceptance label{
  display:block !important;
  flex:1 1 auto !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#5a6c80 !important;
  font-size:12.5px !important;
  line-height:1.65 !important;
  text-align:left !important;
}

.ncap-elementor-template .elementor-field-type-acceptance label > span,
.ncap-elementor-template .elementor-field-type-acceptance .elementor-field-option > span{
  display:inline !important;
}

@media(max-width:767px){
  .ncap-page .ncap-faq__button,
  .ncap-page .ncap-faq__button:hover,
  .ncap-page .ncap-faq__button:focus,
  .ncap-page .ncap-faq__button:active{
    padding:17px 16px !important;
    gap:13px !important;
    font-size:13px !important;
  }

  .ncap-elementor-template .elementor-field-type-acceptance{
    padding:14px !important;
  }

  .ncap-elementor-template .elementor-field-type-acceptance label{
    font-size:12px !important;
  }
}
