#nce-contact{
  --nce-navy:#041c2c;
  --nce-gold:#c9a45c;
  --nce-light-gold:#e4c98f;
  --nce-ivory:#fbfaf6;
  --nce-hero-overlay:#041c2c;
  --nce-hero-ornament:#c9a45c;
  --nce-intro-bg:#fbfaf6;
  --nce-details-bg:#041c2c;
  --nce-details-divider:#284250;
  --nce-form-bg:#ffffff;
  --nce-field-bg:#fbfaf6;
  --nce-field-border:#d8d2c5;
  --nce-field-focus:#c9a45c;
  --nce-button-bg:#041c2c;
  --nce-button-hover:#c9a45c;
  --nce-location-bg:#f5f3ed;
  --nce-cta-overlay:#041c2c;
  --nce-cta-border:#c9a45c;
  --nce-cta-hover:#c9a45c;
  width:100vw;
  position:relative;
  left:50%;
  margin-left:-50vw;
  overflow:hidden;
  color:var(--nce-navy);
  background:var(--nce-ivory);
  font-family:Arial,Helvetica,sans-serif;
}
#nce-contact *{box-sizing:border-box}
#nce-contact h1,#nce-contact h2,#nce-contact h3,#nce-contact p{margin:0}
#nce-contact .nce-small{font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--nce-gold)}
#nce-contact .nce-shell{width:min(1280px,90%);margin:auto}

.nce-hero{
  min-height:680px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(4,28,44,.94),color-mix(in srgb,var(--nce-hero-overlay) 78%, transparent) 42%,rgba(4,28,44,.18)),
    var(--nce-hero-image) center/cover no-repeat;
  color:#fff;
}
.nce-hero .nce-shell{padding:105px 0 95px}
.nce-eyebrow{color:var(--nce-light-gold);text-transform:uppercase;letter-spacing:.28em;font-size:13px;font-weight:700;margin-bottom:22px}
.nce-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(66px,8vw,126px);line-height:.88;letter-spacing:-.045em}
.nce-hero-subtitle{margin-top:22px;color:var(--nce-gold);font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(27px,3vw,45px)}
.nce-hero-copy{max-width:650px;margin-top:28px;color:rgba(255,255,255,.82);font-size:17px;line-height:1.8}
.nce-ornament{width:250px;margin-top:35px;position:relative;height:12px}
.nce-ornament:before,.nce-ornament:after{content:"";position:absolute;top:6px;width:45%;height:1px;background:linear-gradient(90deg,transparent,var(--nce-hero-ornament))}
.nce-ornament:after{right:0;transform:scaleX(-1)}
.nce-ornament span{position:absolute;left:50%;top:2px;width:8px;height:8px;border:1px solid var(--nce-hero-ornament);transform:translateX(-50%) rotate(45deg)}

.nce-intro{padding:105px 7vw 100px;background:var(--nce-intro-bg)}
.nce-intro-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.nce-intro h2{margin-top:16px;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(40px,5vw,66px);line-height:1.05}
.nce-intro-copy{padding-top:14px;color:#526775;font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.75}

.nce-contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:760px}
.nce-details{background:var(--nce-details-bg);color:#fff;display:flex;align-items:center}
.nce-details-inner{padding:90px 8vw;max-width:700px;width:100%}
.nce-details h2,.nce-form-wrap h2,.nce-location h2{margin-top:18px;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(40px,4.5vw,62px);line-height:1.05}
.nce-contact-items{margin-top:45px}
.nce-contact-item{padding:18px 0;border-bottom:1px solid var(--nce-details-divider)}
.nce-contact-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--nce-gold);margin-bottom:7px}
.nce-contact-item a{color:#fff;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:21px}
.nce-hours{margin-top:45px}
.nce-hours h3{font-family:Georgia,"Times New Roman",serif;color:var(--nce-light-gold);font-size:27px;font-weight:400}
.nce-hours p{margin-top:16px;color:rgba(255,255,255,.76);line-height:2}

.nce-form-wrap{background:var(--nce-form-bg);display:flex;align-items:center}
.nce-form-inner{padding:90px 8vw;max-width:760px;width:100%}
.nce-form-intro{margin-top:22px;color:#647986;line-height:1.8;max-width:580px}
.nce-form{margin-top:40px}
.nce-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.nce-field{margin-bottom:20px}
.nce-form label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:9px}
.nce-form label span{color:var(--nce-gold)}
.nce-form input,.nce-form textarea{
  width:100%;
  border:1px solid var(--nce-field-border);
  background:var(--nce-field-bg);
  padding:14px 16px;
  border-radius:0;
  outline:none;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.nce-form textarea{resize:vertical;min-height:145px}
.nce-form input:focus,.nce-form textarea:focus{border-color:var(--nce-field-focus);box-shadow:0 0 0 1px var(--nce-field-focus)}
.nce-form button,.nce-scroll-button{
  border:1px solid var(--nce-gold);
  background:var(--nce-button-bg);
  color:#fff;
  min-height:56px;
  padding:0 34px;
  border-radius:40px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:.3s ease;
}
.nce-form button:hover{background:var(--nce-button-hover);color:var(--nce-navy)}
.nce-form button[disabled]{opacity:.6;cursor:not-allowed}
.nce-form-status{margin-top:18px;min-height:24px;font-size:14px;line-height:1.5}
.nce-form-status.is-success,
#nce-contact .nce-form-status.is-success{
  color:#1f6b3b!important;
  background:#eef8f1;
  border:2px solid #2f8f52;
  padding:14px 16px;
}
.nce-form-status.is-error,
#nce-contact .nce-form-status.is-error{
  color:#8f2528!important;
  background:#fff1f1;
  border:2px solid #c84549;
  padding:14px 16px;
}
.nce-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.nce-recaptcha{margin:4px 0 24px}

.nce-location{display:grid;grid-template-columns:1.3fr .7fr;background:var(--nce-location-bg);min-height:560px}
.nce-map{min-height:560px}
.nce-map iframe{width:100%;height:100%;min-height:560px;border:0;display:block;filter:saturate(.72) contrast(.95)}
.nce-location-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 7vw}
.nce-location-copy p{margin-top:22px;color:#647986;line-height:1.8}
.nce-location-label{margin-top:30px;padding-top:22px;border-top:1px solid rgba(4,28,44,.15);font-size:13px;letter-spacing:.12em;text-transform:uppercase}

.nce-final{
  padding:125px 7vw;
  text-align:center;
  color:#fff;
  background:
    linear-gradient(color-mix(in srgb,var(--nce-cta-overlay) 88%, transparent),color-mix(in srgb,var(--nce-cta-overlay) 88%, transparent)),
    var(--nce-cta-image) center/cover no-repeat;
}
.nce-final-inner{width:min(900px,100%);margin:auto}
.nce-final h2{margin-top:20px;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(45px,6vw,76px);line-height:1.03}
.nce-final p{max-width:620px;margin:26px auto 34px;color:rgba(255,255,255,.76);font-size:17px;line-height:1.7}
.nce-final .nce-scroll-button{background:transparent;border-color:var(--nce-cta-border)}
.nce-final .nce-scroll-button:hover{background:var(--nce-cta-hover);color:var(--nce-navy)}

.nce-reveal{opacity:1;transform:none}

@media(max-width:900px){
  .nce-intro-grid,.nce-contact-grid,.nce-location{grid-template-columns:1fr}
  .nce-details-inner,.nce-form-inner{max-width:none}
  .nce-map,.nce-map iframe{min-height:430px}
}
@media(max-width:600px){
  .nce-hero{min-height:570px;background-position:65% center}
  .nce-hero .nce-shell{padding:80px 0}
  .nce-intro{padding:75px 24px}
  .nce-intro-grid{gap:35px}
  .nce-details-inner,.nce-form-inner,.nce-location-copy{padding:70px 24px}
  .nce-field-grid{grid-template-columns:1fr;gap:0}
  .nce-recaptcha{transform:scale(.88);transform-origin:left center}
}
/* =========================================================
   PRIVACY & PERSONAL DATA NOTICE
   ========================================================= */

.nce-privacy-box{
  margin:4px 0 26px;
  padding:24px 26px;
  background:var(--nce-ivory);
  border:1px solid rgba(201,164,92,.46);
  border-left:3px solid var(--nce-gold);
}

.nce-privacy-title{
  margin:0 0 13px!important;
  color:var(--nce-navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px;
  font-weight:400;
  line-height:1.25;
}

.nce-privacy-copy{
  color:#526775;
  font-size:13px;
  line-height:1.7;
}

.nce-privacy-copy p{
  margin:0 0 11px!important;
}

.nce-privacy-copy p:last-child{
  margin-bottom:0!important;
}

.nce-privacy-copy strong{
  color:var(--nce-navy);
  font-weight:700;
}

.nce-privacy-copy a{
  color:var(--nce-navy);
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:var(--nce-gold);
  text-underline-offset:3px;
}

.nce-form .nce-privacy-consent{
  display:flex!important;
  align-items:flex-start;
  gap:11px;
  margin:20px 0 0!important;
  cursor:pointer;
  color:var(--nce-navy)!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.55;
  letter-spacing:0!important;
}

.nce-form .nce-privacy-consent input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:auto;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
  border:initial;
  border-radius:0;
  background:initial;
  box-shadow:none!important;
  accent-color:var(--nce-gold);
  cursor:pointer;
  flex:0 0 18px;
}

.nce-form .nce-privacy-consent .nce-privacy-consent-text{
  display:block;
  color:var(--nce-navy)!important;
}

.nce-form .nce-privacy-consent .nce-privacy-consent-text a{
  color:var(--nce-navy)!important;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:var(--nce-gold);
  text-underline-offset:3px;
}

.nce-form .nce-privacy-consent .nce-privacy-required{
  color:var(--nce-gold)!important;
  font-weight:700;
}

@media(max-width:600px){
  .nce-privacy-box{
    padding:20px 18px;
    margin-bottom:24px;
  }

  .nce-privacy-title{
    font-size:19px;
  }

  .nce-privacy-copy,
  .nce-form .nce-privacy-consent{
    font-size:12px!important;
  }
}

/* =========================================================
   PRIVACY MODAL UPGRADE — BACKWARD-COMPATIBLE WITH v1.0.4
   ========================================================= */

body.nce-privacy-modal-open{
  overflow:hidden;
}


.nce-privacy-compact{
  margin:4px 0 24px;
  padding:18px 0 0;
  border-top:1px solid rgba(201,164,92,.38);
}

.nce-form .nce-privacy-compact .nce-privacy-consent{
  margin:0!important;
}

#nce-contact .nce-privacy-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}

#nce-contact .nce-privacy-modal.is-open{
  display:flex;
}

#nce-contact .nce-privacy-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,28,44,.82);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

#nce-contact .nce-privacy-modal-dialog{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:48px 50px 42px;
  background:var(--nce-ivory);
  border:1px solid rgba(201,164,92,.72);
  box-shadow:0 28px 90px rgba(0,0,0,.28);
  outline:none;
}

#nce-contact .nce-privacy-modal-dialog:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--nce-gold);
}

#nce-contact .nce-privacy-modal-eyebrow{
  margin:0 44px 15px 0;
  color:var(--nce-gold);
  font-size:11px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.22em;
  text-transform:uppercase;
}

#nce-contact .nce-privacy-modal-title{
  margin:0 46px 22px 0!important;
  color:var(--nce-navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
  font-weight:400;
  line-height:1.12;
}

#nce-contact .nce-privacy-modal-copy{
  color:#526775;
  font-size:14px;
  line-height:1.8;
}

#nce-contact .nce-privacy-modal-copy p{
  margin:0 0 16px!important;
}

#nce-contact .nce-privacy-modal-copy p:last-child{
  margin-bottom:0!important;
}

#nce-contact .nce-privacy-modal-copy strong{
  color:var(--nce-navy);
  font-weight:700;
}

#nce-contact .nce-privacy-policy-link{
  display:inline-block;
  margin-top:24px;
  color:var(--nce-navy);
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.04em;
  text-decoration:none;
  border-bottom:1px solid var(--nce-gold);
  padding-bottom:3px;
}

#nce-contact .nce-privacy-policy-link:hover,
#nce-contact .nce-privacy-policy-link:focus{
  color:var(--nce-gold);
}

#nce-contact .nce-form .nce-privacy-modal-x{
  position:absolute;
  top:18px;
  right:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(4,28,44,.18)!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--nce-navy)!important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:25px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

#nce-contact .nce-form .nce-privacy-modal-x:hover,
#nce-contact .nce-form .nce-privacy-modal-x:focus{
  border-color:var(--nce-gold)!important;
  background:rgba(201,164,92,.08)!important;
  color:var(--nce-navy)!important;
}

#nce-contact .nce-form .nce-privacy-modal-close{
  display:block;
  width:fit-content!important;
  min-width:150px;
  margin:30px 0 0 auto!important;
  padding:0 30px!important;
  border:1px solid var(--nce-gold)!important;
  border-radius:40px!important;
  background:var(--nce-navy)!important;
  color:#fff!important;
  min-height:50px!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}

#nce-contact .nce-form .nce-privacy-modal-close:hover,
#nce-contact .nce-form .nce-privacy-modal-close:focus{
  background:var(--nce-gold)!important;
  color:var(--nce-navy)!important;
}

@media(max-width:600px){
  #nce-contact .nce-privacy-modal{
    padding:14px;
    align-items:flex-start;
    overflow:auto;
  }

  #nce-contact .nce-privacy-modal-dialog{
    width:100%;
    max-height:calc(100vh - 28px);
    margin:auto 0;
    padding:38px 22px 28px;
  }

  #nce-contact .nce-privacy-modal-title{
    margin-right:38px!important;
    font-size:27px;
  }

  #nce-contact .nce-privacy-modal-copy{
    font-size:13px;
    line-height:1.72;
  }

  #nce-contact .nce-form .nce-privacy-modal-x{
    top:12px;
    right:12px;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
  }

  #nce-contact .nce-form .nce-privacy-modal-close{
    width:100%!important;
    margin-top:26px!important;
  }
}
