/* Noble Willasa enquiry popup - fits the viewport, never scrolls */
.nw-popup{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:max(10px,2vh) 12px;font-family:"Plus Jakarta Sans",Arial,sans-serif}
.nw-popup.is-open{display:flex;animation:nwFade .35s ease}
.nw-popup__backdrop{position:absolute;inset:0;background:rgba(32,22,10,.72);backdrop-filter:blur(3px)}
.nw-popup__card{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);width:min(860px,100%);max-height:calc(100dvh - 4vh);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:nwRise .45s cubic-bezier(.2,.8,.2,1)}
.nw-popup__close{position:absolute;top:10px;right:12px;z-index:3;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#4a3418;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.nw-popup__close:hover{background:#7a5a2c;color:#fff}
.nw-popup__brand{display:flex;flex-direction:column;justify-content:center;gap:clamp(8px,2vh,18px);padding:clamp(18px,4vh,40px) clamp(16px,3vw,32px);color:#fff;background:linear-gradient(155deg,#4a3418 0%,#6f5128 55%,#8a6a35 100%)}
.nw-popup__brand img{width:clamp(110px,18vh,170px);height:auto}
.nw-popup__tag{margin:0;letter-spacing:.2em;text-transform:uppercase;font-size:11px;color:#e3d3b4}
.nw-popup__points{list-style:none;margin:0;padding:0;display:grid;gap:clamp(6px,1.4vh,12px);font-size:13px;line-height:1.45}
.nw-popup__points li{position:relative;padding-left:18px;color:#f4ead6}
.nw-popup__points li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:#d9bf8c}
.nw-popup__body{padding:clamp(16px,3.4vh,34px) clamp(16px,3vw,32px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.nw-popup__logo-mobile{display:none}
.nw-popup__title{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;margin:0 0 4px;font-size:clamp(20px,3.2vh,26px);line-height:1.2;color:#3a2810}
.nw-popup__sub{margin:0 0 clamp(8px,1.8vh,16px);font-size:13px;line-height:1.5;color:#6b5d4a}
.nw-popup__form{display:grid;gap:clamp(6px,1.3vh,12px)}
.nw-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nw-field{display:grid;gap:3px;min-width:0}
.nw-field span{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6a4a1e}
.nw-field input,.nw-field textarea{width:100%;border:1px solid #d8cdb9;border-radius:8px;padding:clamp(7px,1.3vh,11px) 12px;font:inherit;font-size:14px;color:#2d2416;background:#fffdf9;outline:none;resize:none;transition:border-color .2s,box-shadow .2s}
.nw-field input:focus,.nw-field textarea:focus{border-color:#7a5a2c;box-shadow:0 0 0 3px rgba(122,90,44,.18)}
.nw-field.is-invalid input{border-color:#c0392b}
.nw-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.nw-popup__error{margin:0;font-size:12px;color:#b3261e}
.nw-popup__submit{border:0;border-radius:8px;padding:clamp(10px,1.8vh,14px) 18px;font:inherit;font-size:15px;font-weight:700;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#7a5a2c,#4a3418);cursor:pointer;transition:transform .15s,box-shadow .2s}
.nw-popup__submit:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(74,52,24,.35)}
.nw-popup__note{margin:0;font-size:11px;color:#8a7d6a;text-align:center}
.nw-popup__thanks{text-align:center;padding:20px 0}
.nw-popup__thanks h3{margin:0 0 6px;color:#3a2810}
.nw-popup__thanks p{margin:0;color:#6b5d4a}
body.nw-popup-lock{overflow:hidden}
@keyframes nwFade{from{opacity:0}to{opacity:1}}
@keyframes nwRise{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:700px){
  .nw-popup__card{grid-template-columns:1fr;width:min(430px,100%)}
  .nw-popup__brand{display:none}
  .nw-popup__logo-mobile{display:block;text-align:center;margin-bottom:2px}
  .nw-popup__logo-mobile img{width:auto;height:clamp(40px,8vh,60px)}
  .nw-popup__sub{font-size:12px;margin-bottom:8px}
  .nw-popup__note{display:none}
  .nw-field input,.nw-field textarea{font-size:16px}
}
@media (max-height:560px){
  .nw-popup__sub,.nw-popup__note,.nw-popup__logo-mobile{display:none}
  .nw-field span{display:none}
  .nw-popup__body{padding:12px 16px}
  .nw-popup__title{font-size:18px}
}
@media (prefers-reduced-motion:reduce){.nw-popup.is-open,.nw-popup__card{animation:none}}
.nw-form-status{margin:10px 0 0;font-size:14px;line-height:1.4}
.nw-form-status:empty{display:none}
.nw-form-status.is-success{color:#2e7d32}
.nw-form-status.is-error{color:#b3261e}
