/* polish-neighborhood: 2026-09-28 usability and finish pass for /birdsong/ and /contact/.
   Loaded after site.css. New components use the nb- prefix so they do not fight the legacy
   breakpoint stack; shared tokens (--paper, --green, --gold-ink, --serif...) are reused as-is. */

:root{--nb-error:#9a3324;--nb-error-soft:#f6e8e3;--nb-field-line:#c3c8b8;--nb-gold-ink-soft:#735f3c}

/* Gold-ink small caps fall just under 4.5:1 on the soft ivory; use a slightly deeper tone there. */
.nb-location-band .eyebrow,.nb-directions p,.nb-postal-icon,.nb-region-band .eyebrow,.nb-inquiry .eyebrow,.nb-hoa-card .eyebrow,.nb-panel-note{color:var(--nb-gold-ink-soft)}
.nb-map-gate p:not(.eyebrow),.map-placeholder .nb-map-consent{color:#4f5a51}

/* ---------- Shared pieces ---------- */
.nb-action{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;padding:9px 16px 9px 13px;border:1px solid var(--nb-field-line);background:var(--white);color:var(--ink);font-size:14px;font-weight:600;line-height:1.3;transition:border-color .2s,background .2s}
.nb-action .icon{width:18px;height:18px;color:var(--gold-ink)}
.nb-action span{min-width:0;overflow-wrap:anywhere}
.nb-action:hover{border-color:var(--green);background:#fff}

/* ---------- Birdsong: introduction and section links ---------- */
.nb-intro .page-intro-aside{max-width:490px;flex-basis:40%}
.nb-intro .page-intro-aside p{font-size:15px;line-height:1.75}
.nb-jump{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:16px;border-top:1px solid var(--line)}
.nb-jump a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;color:var(--ink);border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.nb-jump a:hover{color:var(--gold-ink);border-bottom-color:currentColor}

/* ---------- Birdsong: community amenities ---------- */
.nb-amenities{display:grid;grid-template-columns:minmax(0,56fr) minmax(0,44fr);background:var(--green);color:var(--paper)}
.nb-amenities :focus-visible{outline-color:var(--gold)}
.nb-amenities-photo{height:100%;min-height:clamp(440px,32vw,580px)}
.nb-amenities-photo .photo-caption{font-size:12px;padding:40px 22px 18px}
.nb-amenities-copy{padding:clamp(32px,3.6vw,64px);align-self:center}
.nb-amenities-copy .eyebrow{color:var(--gold)}
.nb-amenities-copy h2{font-size:clamp(34px,2.6vw,46px);margin-bottom:20px}
.nb-amenities-copy>p:not(.eyebrow){font-size:15px;line-height:1.75;color:#c9d2c7;max-width:520px}
.nb-amenity-list{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;border-top:1px solid var(--light-line)}
.nb-amenity-list li{display:flex;align-items:baseline;gap:14px;padding:15px 0;border-bottom:1px solid var(--light-line);font:clamp(19px,1.45vw,23px)/1.25 var(--serif);letter-spacing:-.015em;color:#fbf7ee}
.nb-amenity-list li span{font:500 11px/1 var(--sans);letter-spacing:.14em;color:var(--gold);flex:none}
.nb-amenities-copy>.nb-amenities-note{font-size:13px;color:#b4c1b3;margin-top:20px}

/* ---------- Birdsong: association ---------- */
.nb-hoa{display:grid;grid-template-columns:minmax(0,32fr) minmax(0,68fr);gap:6%;align-items:center}
.nb-hoa-intro h2,.nb-bearings h2,.nb-schools-intro h2{font-size:clamp(34px,2.6vw,44px)}
.nb-hoa-intro>p:not(.eyebrow){font-size:15px;line-height:1.75;margin-top:20px;max-width:380px}
.nb-hoa-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);background:var(--soft);border-top:2px solid #b2a887}
.nb-hoa-dues,.nb-hoa-contact{padding:clamp(26px,2.5vw,40px)}
.nb-hoa-dues{border-right:1px solid var(--line)}
.nb-hoa-card .eyebrow{margin-bottom:14px}
.nb-hoa-dues strong{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;font:400 clamp(44px,3.3vw,56px)/1.05 var(--serif);letter-spacing:-.03em;color:var(--ink)}
.nb-hoa-dues small{font:14px/1.4 var(--sans);letter-spacing:0;color:var(--muted)}
.nb-hoa-card p:not(.eyebrow){font-size:14px;line-height:1.7;margin-top:14px}
.nb-hoa-contact h3{font-size:clamp(23px,1.7vw,28px);margin-bottom:14px}
.nb-hoa-contact .text-link{margin-top:8px}
.nb-hoa-contact .text-link,.nb-postal .text-link,.nb-contact-bottom .text-link{min-height:44px}

/* ---------- Birdsong: map, directions, getting around ---------- */
.nb-location{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:6%;align-items:start}
.nb-map{display:flex;flex-direction:column}
.nb-map-gate{min-height:clamp(380px,30vw,480px)}
.nb-map-gate h2{font-size:clamp(28px,2.2vw,34px)}
.map-placeholder.nb-map-gate .button{gap:16px;min-height:50px;padding-inline:20px;font-size:14px}
.nb-map-gate .button .icon{width:18px;height:18px}
.map-placeholder .nb-map-consent{position:relative;z-index:1;font-size:13px;color:var(--muted);margin-top:14px;max-width:320px;text-wrap:balance}
.nb-map-frame{position:relative;min-height:clamp(380px,30vw,480px);background:#e3e5da;border:1px solid #cbd1c1}
.nb-map-frame::before{content:'Loading map';position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:var(--muted)}
.nb-map-frame.is-loaded::before{content:none}
.nb-map-frame iframe{position:relative;display:block;width:100%;height:clamp(380px,30vw,480px);min-height:0;border:0}
.nb-directions{display:flex;flex-wrap:wrap;align-items:center;gap:0 26px;margin-top:14px}
.nb-directions p{width:100%;margin:0 0 2px;font:500 11px/1.6 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.nb-directions a,.nb-destination-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);transition:color .2s,border-color .2s}
.nb-directions a:hover,.nb-destination-links a:hover{color:var(--gold-ink);border-bottom-color:currentColor}
.nb-directions .icon,.nb-destination-links .icon{width:16px;height:16px}
.nb-bearings{padding-top:6px}
.nb-bearings h2{margin-bottom:20px}
.nb-bearings>p:not(.eyebrow){font-size:15px;line-height:1.75;max-width:470px}
.nb-roads{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.nb-roads li{padding:9px 14px;border:1.5px solid var(--ink);border-radius:4px;background:var(--white);font:700 13px/1 var(--sans);letter-spacing:.06em;color:var(--ink)}
.nb-postal{display:flex;gap:16px;margin-top:34px;padding-top:26px;border-top:1px solid #d2d5c8}
.nb-postal-icon{color:var(--gold-ink);padding-top:2px}
.nb-postal h3{font-size:22px;margin-bottom:8px}
.nb-postal p{font-size:14px;line-height:1.7;max-width:460px}
.nb-postal .text-link{margin-top:6px}

/* ---------- Birdsong: schools ---------- */
.nb-schools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;align-items:start}
.nb-schools-intro>p:not(.eyebrow){font-size:15px;line-height:1.75;margin:20px 0 26px;max-width:470px}
.nb-schools-intro .button{gap:16px;text-align:left}
.nb-schools-list{border-top:1px solid var(--ink)}
.nb-list-label{display:flex;align-items:center;gap:12px;padding:16px 0;font:500 11px/1.6 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.nb-list-label .icon{width:20px;height:20px}
.nb-schools-list ul{list-style:none;padding:0;margin:0}
.nb-schools-list li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center;border-top:1px solid var(--line);padding:4px 0}
.nb-schools-list li span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nb-schools-list li a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;font:clamp(19px,1.45vw,23px)/1.25 var(--serif);letter-spacing:-.015em;color:var(--ink);transition:color .2s}
.nb-schools-list li a:hover{color:var(--gold-ink)}
.nb-schools-list li a .icon{width:16px;height:16px;color:var(--gold-ink)}

/* ---------- Birdsong: around the region ---------- */
.nb-region-band{background:var(--soft)}
.nb-region-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:30px}
.nb-region-head h2{font-size:clamp(32px,2.5vw,44px)}
.nb-region-head>p{font-size:14px;line-height:1.7;max-width:440px}
.nb-destinations{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px}
.nb-destination{display:flex;flex-direction:column;padding:clamp(24px,2.3vw,38px);background:var(--paper);border:1px solid var(--line)}
.nb-destination h3{margin-bottom:12px}
.nb-destination>p:not(.eyebrow){font-size:15px;line-height:1.7;max-width:560px}
.nb-destination-links{display:flex;flex-wrap:wrap;gap:0 26px;margin-top:auto;padding-top:18px}

/* ---------- Contact: layout, property and team ---------- */
body[data-page=contact] .mobile-contact-bar{display:none!important}
.nb-contact-intro .page-intro-aside p{font-size:15px;line-height:1.75}
.nb-contact{display:grid;grid-template-columns:minmax(0,43fr) minmax(0,57fr);gap:5%;align-items:start}
.nb-property-photo{aspect-ratio:1.6}
.nb-property-id{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.nb-property-id .eyebrow{margin-bottom:8px}
.nb-property-id h2{font-size:clamp(24px,1.8vw,30px)}
.nb-property-id strong{font:400 clamp(26px,2vw,32px)/1.1 var(--serif);letter-spacing:-.02em;white-space:nowrap}
.nb-team{padding-top:24px}
.nb-team>.eyebrow{margin-bottom:4px}
.nb-agent{padding:18px 0 20px;border-bottom:1px solid var(--line)}
.nb-agent-id{display:flex;align-items:baseline;justify-content:space-between;gap:6px 18px;flex-wrap:wrap}
.nb-agent-id h3{font-size:clamp(22px,1.6vw,26px)}
.nb-agent-id span{font-size:12px;color:var(--muted)}
.nb-agent-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.nb-brokerage{font:17px/1.4 var(--serif);color:var(--ink);margin-top:20px}

/* ---------- Contact: the form ---------- */
.nb-inquiry{padding:clamp(26px,2.8vw,46px)}
.nb-inquiry .eyebrow{font-size:11px}
.nb-inquiry h2{font-size:clamp(32px,2.5vw,42px);margin-bottom:14px}
.inquiry-panel>.nb-inquiry-lead{font-size:15px;line-height:1.7;margin-bottom:28px;max-width:560px}
.nb-form fieldset{border:0;padding:0;margin:0;min-width:0}
.nb-form .nb-details,.nb-form .nb-panel{margin-top:26px}
.nb-legend{display:block;padding:0;margin-bottom:12px;font:600 14px/1.4 var(--sans);color:var(--ink)}
.nb-legend span{font-weight:400;color:var(--muted);margin-left:6px}
.nb-intent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));gap:10px}
.nb-intent{position:relative;padding:15px 16px 16px 46px;border:1px solid var(--nb-field-line);background:var(--white);transition:border-color .2s,box-shadow .2s,background .2s}
.nb-intent input{position:absolute;left:16px;top:17px;width:18px;height:18px;margin:0;accent-color:var(--green);cursor:pointer}
.nb-intent label{display:block;font:600 15px/1.35 var(--sans);color:var(--ink);cursor:pointer}
.nb-intent label::after{content:'';position:absolute;inset:0}
.nb-intent p{font-size:13px;line-height:1.5;margin-top:4px}
.nb-intent:hover{border-color:#8e9985}
.nb-intent:has(input:checked){border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#fff}
.nb-chips{display:flex;flex-wrap:wrap;gap:8px}
.nb-chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 16px 10px 13px;border:1px solid var(--nb-field-line);background:var(--white);font-size:14px;line-height:1.35;color:var(--ink);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.nb-chip input[type=checkbox]{width:18px;height:18px;margin:0}
.nb-chip:hover{border-color:#8e9985}
.nb-chip:has(input:checked){border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
@supports selector(:has(*)){
  .nb-intent input:focus,.nb-chip input:focus{outline:none}
  .nb-intent:has(input:focus-visible),.nb-chip:has(input:focus-visible){outline:2px solid var(--gold-ink);outline-offset:3px}
}
.nb-panel[data-intent-show=tour]{padding:2px 0 2px 20px;border-left:2px solid var(--gold)}
.nb-panel-note{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:13px;line-height:1.5;color:var(--gold-ink)}
.nb-panel-note .icon{width:17px;height:17px;margin-top:1px}
.nb-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 16px}
.nb-field{min-width:0}
.nb-field-full{grid-column:1/-1}
.nb-field>label{display:block;margin-bottom:7px;font:600 14px/1.4 var(--sans);color:var(--ink)}
.nb-field>label span:not(.nb-label-text){font-weight:400;color:var(--muted)}
.nb-form input:not([type=checkbox]):not([type=radio]),.nb-form select,.nb-form textarea{min-height:48px;padding:11px 13px;border-color:var(--nb-field-line);background:var(--white);font-size:16px;line-height:1.5;transition:border-color .2s,box-shadow .2s}
.nb-form textarea{min-height:120px}
.nb-form input::placeholder,.nb-form textarea::placeholder{color:#6b756b}
.nb-form input:focus,.nb-form select:focus,.nb-form textarea:focus{outline:2px solid var(--gold-ink);outline-offset:1px;border-color:var(--green)}
.nb-error{margin-top:8px;padding-left:12px;border-left:2px solid var(--nb-error);font-size:13px;line-height:1.45;font-weight:500;color:var(--nb-error)}
.nb-form [aria-invalid=true]:not([type=checkbox]):not([type=radio]){border-color:var(--nb-error);box-shadow:inset 0 0 0 1px var(--nb-error)}
.nb-form input[type=checkbox][aria-invalid=true]{outline:2px solid var(--nb-error);outline-offset:2px}
.nb-chips:has([aria-invalid=true]) .nb-chip{border-color:var(--nb-error)}
.nb-consent{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;margin-top:22px}
.nb-consent input[type=checkbox]{width:20px;height:20px;margin:12px 0 0;cursor:pointer}
.nb-consent label{display:flex;align-items:center;min-height:44px;padding:10px 0;font-size:14px;line-height:1.5;color:var(--ink);cursor:pointer}
.nb-consent .nb-error{grid-column:2;margin-top:0}
.inquiry-panel .nb-summary{margin-top:18px!important;padding:12px 14px;border-left:3px solid var(--nb-error);background:var(--nb-error-soft);font-size:14px;font-weight:500;color:#7c291d}
.inquiry-panel .nb-summary:empty{display:none}
.nb-submit{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin-top:22px}
.nb-submit .button{min-height:52px;padding-inline:24px;gap:22px;font-size:14px}
.nb-submit p{font-size:13px;line-height:1.5;max-width:300px}
.nb-noscript{margin-bottom:22px;padding:12px 14px;border-left:3px solid var(--gold);background:var(--paper);font-size:14px;color:var(--ink)}
#inquiry-fields:disabled{opacity:.5}
.nb-contact-bottom{padding-block:36px var(--section)}
.nb-contact-bottom p{font-size:14px}

/* ---------- Contact: review dialog ---------- */
.inquiry-dialog.nb-dialog{width:calc(100% - 32px);max-width:680px;padding:0;overflow:hidden}
.nb-dialog[open]{display:flex;flex-direction:column}
.nb-dialog-head{position:relative;padding:32px 36px 0}
.nb-dialog .nb-dialog-head h2{font-size:clamp(28px,2.4vw,36px);margin-bottom:8px;padding-right:52px}
.nb-dialog-head p:not(.eyebrow){font-size:14px;line-height:1.6}
.nb-dialog .dialog-close{top:20px;right:20px;width:44px;height:44px}
.nb-dialog-body{flex:1 1 auto;min-height:0;overflow:auto;padding:20px 36px 0}
.nb-email-meta{margin:0 0 18px;border-top:1px solid var(--line)}
.nb-email-meta>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;min-height:46px;padding:4px 0;border-bottom:1px solid var(--line)}
.nb-email-meta dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nb-email-meta dd{margin:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 12px;font-size:14px;font-weight:500;color:var(--ink);overflow-wrap:anywhere}
.nb-mini{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 2px;border:0;background:none;font-size:13px;font-weight:600;color:var(--ink)}
.nb-mini .icon{width:16px;height:16px;color:var(--gold-ink)}
.nb-mini:hover{color:var(--gold-ink)}
.inquiry-dialog.nb-dialog label{margin-bottom:8px;font:600 13px/1.4 var(--sans);color:var(--ink)}
.nb-dialog #inquiry-preview{display:block;height:clamp(200px,32vh,300px);min-height:0;font:14px/1.6 var(--sans);background:var(--white);resize:vertical}
.nb-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:20px 36px 0}
.nb-dialog-actions .button{min-height:50px;gap:16px;font-size:14px}
.nb-secondary{display:inline-flex;align-items:center;gap:12px;min-height:50px;padding:12px 18px;border:1px solid var(--green);background:transparent;color:var(--green);font-size:14px;font-weight:600;transition:background .2s}
.nb-secondary:hover{background:#e7e8de}
.nb-secondary .icon{width:18px;height:18px}
.nb-done-icon{display:none}
.is-done .nb-done-icon{display:inline-block;color:#2e6b45}
.is-done .nb-copy-icon{display:none}
.nb-edit{min-height:44px;margin-left:auto;padding:0 4px;border:0;background:none;font-size:14px;font-weight:600;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.nb-edit:hover{color:var(--ink)}
.inquiry-dialog>.nb-dialog-feedback{margin:0;padding:14px 36px 26px;font-size:13px;line-height:1.5;color:var(--ink)}
.inquiry-dialog>.nb-dialog-feedback:empty{padding-block:0 22px}

@media(prefers-reduced-motion:no-preference){
  .nb-dialog[open]{animation:nb-rise .28s cubic-bezier(.2,.7,.2,1)}
  .nb-dialog[open]::backdrop{animation:nb-fade .28s ease}
  .nb-form .nb-panel:not([hidden]){animation:nb-fade-in .22s ease}
}
@keyframes nb-rise{from{opacity:0;transform:translateY(16px)}}
@keyframes nb-fade{from{opacity:0}}
@keyframes nb-fade-in{from{opacity:0;transform:translateY(-4px)}}

/* ---------- Responsive ---------- */
@media(max-width:1250px){
  .nb-hoa{grid-template-columns:minmax(0,30fr) minmax(0,70fr);gap:5%}
}
@media(max-width:1000px){
  .nb-amenities{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .nb-hoa{grid-template-columns:1fr;gap:26px}
  .nb-hoa-intro>p:not(.eyebrow){max-width:560px}
  .nb-contact{grid-template-columns:1fr;gap:34px}
  .nb-property{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:26px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}
  .nb-property-id{flex-direction:column;align-items:flex-start;gap:10px;padding:0;border:0}
  .nb-team{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;padding-top:18px}
  .nb-team>.eyebrow,.nb-brokerage{grid-column:1/-1}
}
@media(max-width:860px){
  .nb-intro{flex-direction:column;align-items:flex-start;gap:22px}
  .nb-intro .page-intro-aside{max-width:600px;flex:auto}
  .nb-amenities{grid-template-columns:1fr}
  .nb-amenities-photo{min-height:0;height:auto;aspect-ratio:1.6}
  .nb-location{grid-template-columns:1fr;gap:40px}
  .nb-schools{grid-template-columns:1fr;gap:32px}
  .nb-region-head{flex-direction:column;align-items:flex-start;gap:14px}
}
@media(max-width:600px){
  .nb-intro .page-intro-aside p,.nb-contact-intro .page-intro-aside p{font-size:15px}
  .nb-jump{gap:0 18px}
  .nb-amenities-photo{aspect-ratio:1.35}
  .nb-amenities-copy{padding:28px 24px 30px}
  .nb-amenities-copy h2{font-size:33px}
  .nb-amenity-list{grid-template-columns:1fr}
  .nb-hoa-card{grid-template-columns:1fr}
  .nb-hoa-dues{border-right:0;border-bottom:1px solid var(--line)}
  .nb-hoa-dues,.nb-hoa-contact{padding:24px}
  .nb-hoa-intro h2,.nb-bearings h2,.nb-schools-intro h2,.nb-region-head h2{font-size:33px}
  .nb-map-gate{min-height:340px;padding:30px 24px}
  .nb-map-frame{min-height:340px}
  .nb-map-frame iframe{height:340px}
  .nb-schools-list li{grid-template-columns:1fr;gap:0;padding:10px 0 4px}
  .nb-schools-list li a{min-height:44px;font-size:21px}
  .nb-schools-intro .button{width:100%;justify-content:space-between}
  .nb-destination{padding:24px}
  .nb-property{grid-template-columns:112px minmax(0,1fr);gap:16px;padding-bottom:18px}
  .nb-property-photo{aspect-ratio:1.1}
  .nb-property-id{gap:6px}
  .nb-property-id .eyebrow{margin-bottom:4px}
  .nb-property-id h2{font-size:22px}
  .nb-property-id strong{font-size:22px}
  .nb-team{grid-template-columns:1fr}
  .nb-agent-actions{flex-direction:column;align-items:stretch}
  .nb-action{width:100%}
  .nb-inquiry{padding:26px 20px 28px}
  .nb-inquiry h2{font-size:32px}
  .nb-grid{grid-template-columns:1fr}
  .nb-intent{padding:14px 14px 14px 44px}
  .nb-intent input{left:14px;top:16px}
  .nb-submit .button{width:100%;justify-content:space-between}
  .nb-submit p{max-width:none}
  .nb-contact-bottom{padding-block:30px 40px}
  body[data-page=contact]{padding-bottom:0}
  /* The review step becomes a bottom sheet; its actions stay in view while the message scrolls. */
  .inquiry-dialog.nb-dialog{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;border:0;border-top:2px solid var(--gold)}
  .nb-dialog-head{padding:24px 20px 0}
  .nb-dialog .nb-dialog-head h2{font-size:28px}
  .nb-dialog .dialog-close{top:14px;right:12px}
  .nb-dialog-body{padding:16px 20px 0}
  .nb-email-meta>div{grid-template-columns:62px minmax(0,1fr)}
  .nb-dialog #inquiry-preview{height:clamp(160px,28dvh,260px)}
  .nb-dialog-actions{padding:14px 20px 0}
  .nb-dialog-actions .button,.nb-secondary{flex:1 1 100%;justify-content:space-between}
  .nb-edit{margin:0 auto}
  .inquiry-dialog>.nb-dialog-feedback{padding:8px 20px calc(18px + env(safe-area-inset-bottom))}
}
@media(max-width:374px){
  .nb-amenities-copy{padding:26px 18px}
  .nb-hoa-dues,.nb-hoa-contact{padding:22px 18px}
  .nb-inquiry{padding:24px 16px}
  .nb-property{grid-template-columns:92px minmax(0,1fr)}
}
@media print{
  .nb-jump,.nb-map,.nb-directions,.nb-destination-links,.nb-form{display:none!important}
}
