/* All Natural contact source adaptation — geometry stays source-led, content is simplified. */
.nf-contact-page{background:#fff;color:#000}
.nf-contact-hero{position:relative;display:flex;align-items:flex-end;width:100%;height:auto;aspect-ratio:2.4489795918/1;overflow:hidden;padding:0 40px 40px;background:#111}
.nf-contact-hero__media{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.nf-contact-hero h1{position:relative;z-index:1;width:100%;color:#fff;font:500 46px/1 var(--nf-font);letter-spacing:-1.85px}

.nf-contact-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:clamp(80px,11vw,180px);align-items:start;padding:100px 40px 120px}
.nf-contact-details,.nf-contact-inquiry{min-width:0}
.nf-contact-section__label{font:500 12px/1.1 var(--nf-font);letter-spacing:.3px;text-transform:uppercase;color:#000}
.nf-contact-details__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 70px;margin-top:40px;max-width:620px}
.nf-contact-detail{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.nf-contact-detail__label{font:500 14px/1.25 var(--nf-font);letter-spacing:-.5px;color:rgba(0,0,0,.4)}
.nf-contact-detail__value,.nf-contact-link{font:500 14px/1.25 var(--nf-font);letter-spacing:-.5px;color:#000}
.nf-contact-detail__hours{white-space:normal}
/* Contact actions use the exact navigation underline component: 1% rest, 102% spring-in, right-anchored spring-out. */
.nf-contact-link{--nf-menu-line-color:var(--nf-gold);position:relative;display:grid;grid-template-rows:auto 1px;align-content:center;align-items:center;gap:2px;width:max-content;text-decoration:none}
.nf-contact-link:hover,.nf-contact-link:focus-visible{color:#000}

.nf-contact-inquiry>.nf-contact-section__label{margin-bottom:40px}
.nf-contact-form{display:flex;flex-direction:column;gap:20px;width:100%;max-width:440px;position:relative}
.nf-contact-field{display:block;width:100%}
.nf-contact-field input,.nf-contact-field textarea{display:block;width:100%;margin:0;padding:10px 10px 10px 0;border:0;border-bottom:1px solid rgba(0,0,0,.2);border-radius:0;background:transparent;box-shadow:none;outline:0;color:#000;font:500 14px/1.2 var(--nf-font);letter-spacing:-.02em;transition:border-color .2s ease}
.nf-contact-field input{height:40px}
.nf-contact-field textarea{min-height:150px;resize:vertical}
.nf-contact-field input::placeholder,.nf-contact-field textarea::placeholder{color:rgba(0,0,0,.4);opacity:1}
.nf-contact-field input:focus,.nf-contact-field textarea:focus{border-bottom-color:#000}
.nf-contact-field input:focus-visible,.nf-contact-field textarea:focus-visible{outline:0}
.nf-contact-form__actions{padding-top:20px}
/* Geometry stays source-derived; colour/state comes from the global Noble button system. */
.nf-contact-submit{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 20px;border:1px solid var(--nf-button-border);border-radius:10px;font:500 14px/1 var(--nf-font)}
.nf-contact-form__status{min-height:16px;margin-top:-4px;font-size:11px;line-height:1.35;color:rgba(0,0,0,.62)}
.nf-contact-form.is-success .nf-contact-form__status{color:#000}
.nf-contact-form.is-error .nf-contact-form__status{color:#9c1d1d}
.nf-form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media (min-width:810px) and (max-width:1199px){
  .nf-contact-hero{aspect-ratio:auto;height:40vh;min-height:420px}
  .nf-contact-hero h1{font-size:38px;letter-spacing:-1.5px}
  .nf-contact-section{grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:70px}
  .nf-contact-details__list{grid-template-columns:1fr;gap:28px}
}

@media (max-width:809px){
  .nf-contact-hero{height:auto;aspect-ratio:.6610169492/1;padding:0 20px 20px}
  .nf-contact-hero h1{font-size:28px;line-height:1.1;letter-spacing:-1.1px}
  .nf-contact-section{grid-template-columns:1fr;gap:70px;padding:100px 20px}
  .nf-contact-details__list{grid-template-columns:1fr;gap:20px;margin-top:40px}
  .nf-contact-inquiry>.nf-contact-section__label{margin-bottom:40px}
  .nf-contact-form{max-width:none}
  .nf-contact-field input,.nf-contact-field textarea{font-size:16px}
}
