/* Styles every page shares: header, footer, menu, base text and buttons (28 Oct 2026).
   Home pages add assets/home.css; other pages keep their own extra rules in <style>. */
:root { color-scheme: light; }
html { background: #FFFFFF; }
body { margin: 0; background: #FFFFFF; font-family: 'Inter', 'Segoe UI', system-ui, sans-serif; color: #1A1D29; }
a { color: #2F418C; }
a:hover { color: #212F66; }
:focus-visible { outline: 3px solid #4DA09A; outline-offset: 2px; border-radius: 4px; }
[hidden] { display: none !important; }
img, video, iframe, canvas, svg:not([width]) { max-width: 100%; box-sizing: border-box; }
table { max-width: 100%; }
.nh-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; white-space: nowrap; clip-path: inset(50%); }
.nh-desk { display: none; }
.nh-mob { display: flex; align-items: center; gap: 8px; }
.nh-menu[hidden] { display: none; }
@media (min-width: 1200px) { .nh-desk { display: contents; } .nh-mob { display: none; } .nh-menu { display: none !important; } }
[data-show="md"], [data-show="lg"] { display: none; }
@media (min-width: 760px) { [data-show="md"] { display: revert; } [data-hide="md"] { display: none; } }
@media (min-width: 1080px) { [data-show="lg"] { display: revert; } [data-hide="lg"] { display: none; } }
.nh-fgrid, .nh-fgrid2 { display: grid; grid-template-columns: minmax(0, 1fr); }
.nh-fgrid { gap: 40px 32px; align-items: start; }
.nh-fgrid2 { gap: 24px 32px; margin-top: 48px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.18); }
@media (min-width: 620px) { .nh-fgrid, .nh-fgrid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .nh-fgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .nh-fgrid2 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nh-fnav { display: flex; flex-direction: column; gap: 12px; }
.nh-fnav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.nh-fnav a { display: block; padding: 3px 0; color: #DFE3F2; text-decoration: none; font-size: 15px; line-height: 1.5; }
.nh-fnav a:hover { color: #FFFFFF; text-decoration: underline; }
.nh-fnav a:focus-visible { outline: 3px solid #9FDAD5; outline-offset: 2px; border-radius: 4px; }
.nh-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; margin: -6px 0 0; padding: 0; font-size: 14px; }
.nh-crumbs li { display: flex; align-items: center; }
.nh-crumbs li + li::before { content: "/"; padding: 0 8px; color: #5A6BB0; }
.nh-crumbs a { display: inline-block; padding: 6px 2px; font-weight: 600; color: #9FDAD5; text-decoration: none; border-radius: 4px; }
.nh-crumbs a:hover { color: #FFFFFF; text-decoration: underline; }
.nh-crumbs a:focus-visible { outline: 3px solid #9FDAD5; outline-offset: 2px; }
.nh-crumbs [aria-current="page"] { padding: 6px 2px; color: #C7D0EC; }
@media print { .nh-desk, .nh-mob, .nh-menu, #nh-consent-banner, .nh-lb, form, iframe, video, [data-nh-noprint] { display: none !important; } a[href="#main"] { display: none !important; } *, *::before, *::after { background: transparent !important; color: #000000 !important; box-shadow: none !important; text-shadow: none !important; } html, body { background: #FFFFFF !important; } header { position: static !important; border-bottom: 1px solid #999 !important; } footer { border-top: 1px solid #999 !important; } h1, h2, h3 { break-after: avoid-page; } li, dt, dd, figure, img { break-inside: avoid; } ul[data-nh-gallery] li:nth-child(n+5) { display: none !important; } @page { margin: 15mm; } main::after { content: "Necessity Housing · 1300 255 495 · info@necessityhousing.com · necessityhousing.org"; display: block; margin-top: 24px; padding-top: 12px; border-top: 1px solid #999; font-size: 11pt; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }
@media (max-width:639px){.nh-fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 20px}.nh-fgrid>:first-child{grid-column:1/-1}.nh-fgrid ul{gap:0!important}.nh-fgrid ul a{padding-top:10px!important;padding-bottom:10px!important}}
@keyframes nhHeroZoom{from{transform:scale(1.36)}to{transform:scale(1.3)}}
@keyframes nhPulseRing{0%{box-shadow:0 0 0 0 rgba(77,160,154,0.45)}70%{box-shadow:0 0 0 14px rgba(77,160,154,0)}100%{box-shadow:0 0 0 0 rgba(77,160,154,0)}}
#nh-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#4DA09A,#7CC0BB);z-index:300;pointer-events:none}
.dc-a98b76:focus{top:16px !important}
.dc-bfe7e3:hover{color:#212F66 !important;background:#F5F6F9 !important}
.dc-b3e5b6:hover{background:#212F66 !important}
.dc-248990:hover{background:#F5F6F9 !important}
.dc-6e3f62:hover{color:#7CC0BB !important}
.dc-b62f65:hover{background:rgba(255,255,255,0.12) !important}
.dc-62dd84:hover{color:#FFFFFF !important}
.sa2042e7.sa2042e7{position:relative;display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;text-decoration:none;color:#3C445A;font-size:14.5px;font-weight:600;padding:10px 12px;border-radius:8px}
.s533b010.s533b010{text-decoration:none;color:#212F66;font-size:16px;font-weight:600;padding:14px 8px;border-bottom:1px solid #F5F6F9}
.sa3545ae.sa3545ae{position:absolute;left:12px;right:12px;bottom:2px;height:3px;border-radius:2px;background:transparent}
.s8d77409.s8d77409{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,0.28);transition:background 0.15s ease}
.s2fb7ffd.s2fb7ffd{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:#7CC0BB;margin:0}
.sf5abd1f.sf5abd1f{width:18px;height:2px;background:#212F66;border-radius:2px}
.sfa3b400.sfa3b400{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:#7CC0BB;margin:0 0 8px}
h1,h2,h3{text-wrap:balance}
main p,main li{text-wrap:pretty}
@media (min-width:1080px){.nh-fgrid{grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr))}}
.nh-dd{position:relative;display:inline-flex}
.nh-dd-btn{background:none;border:0;cursor:pointer;font-family:inherit;gap:6px}
.nh-dd-btn svg{transition:transform .15s ease}
.nh-dd.is-open .nh-dd-btn svg,.nh-dd:hover .nh-dd-btn svg{transform:rotate(180deg)}
.nh-desk .sa2042e7.nh-nav-x:hover,.nh-dd-btn:hover{color:#212F66;background:#F5F6F9}
.nh-dd-btn:focus-visible,.nh-nav-x:focus-visible,.nh-dd-menu a:focus-visible{outline:3px solid #7CC0BB;outline-offset:2px}
.nh-dd-menu{display:none;position:absolute;top:100%;left:0;min-width:230px;margin-top:4px;background:#FFFFFF;border:1px solid #E7E9EE;border-radius:10px;box-shadow:0 18px 40px rgba(26,29,41,0.14);padding:8px;z-index:150}
.nh-dd-menu::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
.nh-dd:hover .nh-dd-menu,.nh-dd:not(.nh-js):focus-within .nh-dd-menu,.nh-dd.is-open .nh-dd-menu{display:block}
.nh-dd-menu a{display:block;padding:10px 12px;border-radius:6px;color:#212F66;text-decoration:none;font-weight:600;font-size:14.5px;white-space:nowrap}
.nh-dd-menu a:hover{background:#F5F6F9}
.nh-dd-menu a[aria-current="page"]{color:#2A5F5C;background:#EEF4F4}
.nh-desk .sa2042e7{white-space:nowrap}
@media (max-width:1279px){.nh-desk .sa2042e7{padding:10px 8px;font-size:14px}.nh-desk .sa2042e7 > span{left:8px !important;right:8px !important}}
@media (max-width:1279px){.nh-desk a.nh-phone{font-size:0;gap:0;padding:0 10px}.nh-desk a.nh-phone svg{width:20px;height:20px}}
