img{max-width:100%}
a:focus-visible,button:focus-visible{outline:3px solid #18d26e;outline-offset:2px}
.portfolio-wrap,.portfolio-item img{border-radius:6px}
.nrh-fab{position:fixed;left:16px;z-index:9999;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:transform .2s}
.nrh-fab:hover{transform:scale(1.08)}
.nrh-wa{bottom:80px;background:#25d366}.nrh-call{bottom:16px;background:#18d26e}
.nrh-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 5%;background:#111;position:sticky;top:0;z-index:50}
.nrh-brand{color:#fff;font-weight:700;letter-spacing:.08em;text-decoration:none;border-left:4px solid #18d26e;padding-left:10px}
.nrh-top nav a{color:#ddd;margin-left:18px;text-decoration:none;font-size:.9em;text-transform:uppercase;letter-spacing:.05em}
.nrh-top nav a:hover{color:#18d26e}
.nrh-cta{margin-top:1.8em}
.nrh-btn{display:inline-block;background:#18d26e;color:#fff!important;padding:12px 22px;border-radius:30px;text-decoration:none!important;margin:0 8px 8px 0;font-weight:600;border:2px solid #18d26e}
.nrh-btn.alt{background:transparent;color:#18d26e!important}
.spotlight .image img{border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.15)}
@media(max-width:736px){.nrh-top nav a{margin:0 12px 0 0}.nrh-fab{width:48px;height:48px}}

/* ===== NFF redesign: charcoal + antique gold ===== */
:root{--ink:#1a1a1f;--gold:#18d26e;--gold-d:#13a456;--cream:#faf6ef}
::selection{background:var(--gold);color:#fff}
body{color:#3b3b42;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.section-header h3,.carousel-content h2,#header #logo h1,.spotlight h3{font-family:'Playfair Display',Georgia,serif}
.section-header h3{font-weight:700;letter-spacing:.03em}
.section-header p{max-width:760px;margin-left:auto;margin-right:auto}
#header.header-scrolled{background:rgba(20,20,24,.96);box-shadow:0 2px 18px rgba(0,0,0,.28)}
.carousel-content h2{font-size:clamp(2rem,5vw,3.6rem);text-shadow:0 2px 24px rgba(0,0,0,.55)}
.carousel-content p{font-size:clamp(1rem,2vw,1.2rem)}
.btn-get-started{border-radius:40px;padding:12px 38px;letter-spacing:.06em;transition:.25s}
.btn-get-started:hover{background:var(--gold-d);border-color:var(--gold-d)}
#about .about-col,#services .box{border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.08);transition:transform .25s ease-out;will-change:transform}
#about .about-col:hover,#services .box:hover{transform:translateY(-6px)}
#facts .counters span{font-family:'Playfair Display',Georgia,serif}
.portfolio-wrap{border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.1);transition:transform .25s ease-out;background:#fff;will-change:transform}
.portfolio-wrap:hover{transform:translateY(-6px)}
.portfolio-wrap figure{overflow:hidden;margin:0}
.portfolio-wrap figure img{transition:transform .5s ease-out}
.portfolio-wrap:hover figure img{transform:scale(1.07)}
.portfolio-info h4 a{font-family:'Playfair Display',Georgia,serif;font-weight:600}
.testimonial-item{border-radius:14px}
.nrh-map{margin:30px 0 10px}
.nrh-map iframe{width:100%;height:340px;border:0;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.nrh-top{background:#14141a}
.spotlight .content h3{font-size:1.9em;color:var(--ink)}
.wrapper.style2{background:var(--cream)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.nrh-form select.form-control{height:auto;padding:10px 12px}
.nrh-send{background:var(--gold);color:#fff;border:2px solid var(--gold);border-radius:40px;padding:12px 40px;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:.25s}
.nrh-send:hover{background:var(--gold-d);border-color:var(--gold-d)}
.nrh-send:disabled,#footer input[type=submit]:disabled{opacity:.65;cursor:wait}
.nrh-status{min-height:1.4em;margin:6px 0 10px;font-weight:600;text-align:center}
.nrh-status.ok{color:#2e7d32}.nrh-status.err{color:#c62828}
#footer .nrh-status.ok{color:#9be29b}#footer .nrh-status.err{color:#ffb3b3}
.nrh-note{text-align:center;margin-top:14px;font-size:.95em;color:#666}

.spotlight .content h1{font-family:'Playfair Display',Georgia,serif;font-size:1.9em;color:var(--ink);margin:0 0 .7em;line-height:1.2}

/* product cards: image always fills the frame */
section.nrh-portfolio .portfolio-item figure{background:#eee}
section.nrh-portfolio .portfolio-item figure img{width:100%;height:100%;object-fit:cover;display:block}
/* form controls: one consistent, clean look */
.nrh-form .form-control{height:50px;border:1px solid #d9dde3;border-radius:8px;padding:0 14px;font-size:15px;box-shadow:none;transition:border-color .2s,box-shadow .2s;background-color:#fff}
.nrh-form textarea.form-control{height:auto;padding:12px 14px;resize:vertical;min-height:140px}
.nrh-form .form-control:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(24,210,110,.18);outline:0}
.nrh-form select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 40px 0 14px;line-height:normal;cursor:pointer;color:#555;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23666' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
/* legal pages */
.nrh-legal{max-width:820px;margin:0 auto;padding:48px 22px 70px;line-height:1.8;color:#444;font-size:16px}
.nrh-legal h1{font-family:'Playfair Display',Georgia,serif;font-size:2.2em;color:var(--ink);margin:0 0 .5em;line-height:1.2}
.nrh-legal h2{font-family:'Playfair Display',Georgia,serif;font-size:1.35em;color:var(--ink);margin:1.9em 0 .5em;padding-left:12px;border-left:4px solid var(--gold)}
.nrh-legal p{margin:0 0 1em;overflow-wrap:anywhere}.nrh-legal ul{margin:0 0 1.2em;padding-left:1.3em}.nrh-legal li{margin-bottom:.35em}
.nrh-legal a{color:var(--gold-d)}
.nrh-card{margin-top:2.2em;padding:22px 24px;background:#f6f8f7;border-radius:12px;border:1px solid #e3e8e5}
.nrh-card strong{display:block;margin-bottom:.4em;color:var(--ink)}
.nrh-foot{background:#14141a;color:#bbb;text-align:center;padding:26px 16px;font-size:.9em}.nrh-foot a{color:#fff;margin:0 10px}

.nrh-form select.form-control:not([size]):not([multiple]){height:50px!important}
.nrh-form select.form-control{display:block;width:100%}

.nrh-form input.form-control,.nrh-form select.form-control{border:1px solid #d9dde3!important;border-radius:8px!important;padding:0 14px!important;height:50px!important}
.nrh-form select.form-control{padding-right:40px!important}
.nrh-form textarea.form-control{border:1px solid #d9dde3!important;border-radius:8px!important;padding:12px 14px!important}
@media(max-width:480px){#header #logo h1{font-size:18px!important;letter-spacing:.04em!important;line-height:1.2!important;white-space:nowrap}.nrh-brand{font-size:15px}}

.nrh-sub{display:block;margin:.9em 0 .1em;color:var(--ink);font-weight:700}
.spotlight .content br+.nrh-sub{margin-top:.9em}

.nrh-sub+br{display:none}

/* ===== header: N mark + one-line name ===== */
#header #logo{margin-top:-6px;padding-left:60px}
#header #logo h1{margin:0!important;padding:0!important;border:0!important;line-height:1!important}
#header #logo h1 a,#header #logo h1 a:hover{display:flex;align-items:center;gap:14px;border:0!important;padding:0!important;color:#fff}
#header #logo .nrh-hname{font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:32px;letter-spacing:3px;white-space:nowrap;line-height:1}
#header.header-scrolled{background:#062734!important}
.nrh-top{background:#062734;padding:12px 5%}
.nrh-brand{display:flex;align-items:center;gap:10px;border:0!important;padding:0!important;color:#fff;text-decoration:none}
.nrh-brand .nrh-hname{font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:19px;letter-spacing:1.5px;white-space:nowrap}
.nrh-fbrand{display:flex;align-items:center;gap:12px;margin:0 0 24px;text-decoration:none!important}
.nrh-fname{display:flex;flex-direction:column;border-left:4px solid #18d26e;padding-left:11px;font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:26px;line-height:1.12;letter-spacing:2px;color:#f6f1e6}
.nrh-fname small{font-size:11px;letter-spacing:3px;color:#e3c26a;font-weight:600;margin-top:8px;line-height:1}
@media(min-width:992px) and (max-width:1199px){.nrh-fbrand{gap:10px}.nrh-fbrand .nrh-fmark{width:60px!important;height:60px!important}.nrh-fname{font-size:20px;letter-spacing:1.5px;padding-left:10px}.nrh-fname small{font-size:10px;letter-spacing:2.5px}}
#footer .footer-top .footer-info p{margin-top:0}
.nrh-foot{background:#062734}
#about .row{display:flex;flex-wrap:wrap}#about .row>[class*='col']{display:flex}#about .about-col{width:100%}
@media(max-width:1399px){#header #logo{padding-left:30px}#header #logo .nrh-hname{font-size:26px;letter-spacing:2px}}
@media(max-width:1199px){#header #logo{padding-left:24px}#header #logo .nrh-hname{font-size:22px;letter-spacing:1.5px}#header #logo .nrh-hmark{width:46px!important;height:46px!important}}
@media(max-width:1099px){#nav-menu-container{display:none}#mobile-nav-toggle{display:inline}#header #logo{padding-left:20px;margin-top:-9px}#header #logo .nrh-hname{font-size:24px}}
@media(max-width:768px){#header #logo{padding-left:0}#header #logo .nrh-hname{font-size:22px}}
@media(max-width:575px){#header #logo{margin-top:-8px}#header #logo .nrh-hname{font-size:17px;letter-spacing:1px}#header #logo .nrh-hmark{width:40px!important;height:40px!important}#header #logo h1 a{gap:10px}.nrh-fab{left:auto!important;right:14px;width:46px;height:46px}.nrh-wa{bottom:144px!important}.nrh-call{bottom:86px!important}.nrh-brand .nrh-hname{font-size:15px;letter-spacing:1px}}
@media(max-width:420px){#header #logo .nrh-hname{font-size:15px;letter-spacing:.6px}#header #logo .nrh-hmark{width:36px!important;height:36px!important}#header #logo h1 a{gap:8px}}
@media(max-width:360px){#header #logo .nrh-hname{font-size:14px;letter-spacing:.3px}.nrh-brand .nrh-hname{font-size:13px}}
#contact p,#footer p,#footer a,.nrh-legal p{overflow-wrap:anywhere}

/* ===== services: icon cards ===== */
#services{padding:70px 0 80px}
#services .container{max-width:1240px}
@media(max-width:1299px){#services .container{max-width:1140px}}
.nrh-svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:10px;padding:0 15px}
.nrh-svc-col{min-width:0}
.nrh-svc{height:100%;box-sizing:border-box;background:#fff;border:1px solid #e8efeb;border-radius:18px;padding:34px 30px 32px;box-shadow:0 8px 28px rgba(6,39,52,.07);transition:transform .25s ease-out,border-color .25s}
.nrh-svc:hover{transform:translateY(-6px);border-color:#18d26e}
.nrh-ico{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:#e8f9f0;color:#12a95a;margin-bottom:22px}
.nrh-svc:hover .nrh-ico{background:#18d26e;color:#fff}
.nrh-ico svg{display:block}
.nrh-svc h4{font-family:'Playfair Display',Georgia,serif;font-size:21px;line-height:1.3;font-weight:700;color:#062734;margin:0 0 14px}
.nrh-svc p{font-size:15px;line-height:1.75;color:#555;margin:0;overflow-wrap:break-word}
@media(max-width:991px){.nrh-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:640px){.nrh-svc-grid{grid-template-columns:1fr;gap:20px}.nrh-svc{padding:28px 24px}#services{padding:50px 0 60px}}

/* ===== Google reviews ===== */
#google-reviews{padding:70px 0 80px;background:#fff}
.nrh-gr{display:grid;grid-template-columns:1fr;gap:32px;max-width:1140px;margin:10px auto 0;padding:0 15px;align-items:start}
.nrh-gr.has-list{grid-template-columns:minmax(280px,360px) 1fr}
.nrh-gr-card{background:#fff;border:1px solid #e8efeb;border-radius:20px;box-shadow:0 10px 32px rgba(6,39,52,.09);padding:34px 30px;text-align:center;max-width:460px;margin:0 auto;width:100%;box-sizing:border-box}
.nrh-gr.has-list .nrh-gr-card{margin:0}
.nrh-gr-brand{display:flex;align-items:center;justify-content:center;gap:10px;font:600 16px 'Open Sans',Arial,sans-serif;color:#444}
.nrh-gr-score{font:700 68px/1.05 'Playfair Display',Georgia,serif;color:#062734;margin:14px 0 4px}
.nrh-gr-stars{display:flex;justify-content:center;gap:4px}.nrh-gr-stars svg,.nrh-gr-rs svg{fill:#fbbc04}.nrh-gr-stars svg.off,.nrh-gr-rs svg.off{fill:#dcdfe3}
.nrh-gr-count{margin:12px 0 22px;color:#555;font-size:15px}
.nrh-gr-actions{display:flex;flex-direction:column;gap:12px}
.nrh-gr-btn{display:block;background:var(--gold);color:#fff!important;border:2px solid var(--gold);border-radius:40px;padding:12px 20px;font-weight:600;text-decoration:none!important;transition:background .2s}
.nrh-gr-btn:hover{background:var(--gold-d);border-color:var(--gold-d)}
.nrh-gr-btn.alt{background:#fff;color:var(--gold-d)!important}.nrh-gr-btn.alt:hover{background:#e8f9f0}
.nrh-gr-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.nrh-gr-rev{background:#f7f9f8;border:1px solid #e8efeb;border-radius:16px;padding:20px 22px;box-sizing:border-box}
.nrh-gr-rh{display:flex;align-items:center;gap:12px;margin-bottom:8px}.nrh-gr-rh img{border-radius:50%;flex:none}
.nrh-gr-au{display:block;font-weight:700;color:#062734;text-decoration:none}.nrh-gr-when{display:block;font-size:12.5px;color:#777}
.nrh-gr-rs{display:flex;gap:2px;margin-bottom:8px}
.nrh-gr-tx{font-size:14.5px;line-height:1.7;color:#444;margin:0 0 8px;overflow-wrap:anywhere}.nrh-gr-more{font-size:13.5px;color:var(--gold-d)}
@media(max-width:991px){.nrh-gr.has-list{grid-template-columns:1fr}.nrh-gr.has-list .nrh-gr-card{margin:0 auto}}
@media(max-width:640px){.nrh-gr-list{grid-template-columns:1fr}.nrh-gr-score{font-size:56px}#google-reviews{padding:50px 0 60px}}

/* ===== category pages: the old category list across the top ===== */
.nrh-list #header{height:auto!important;padding-bottom:0!important}
.nrh-list #header .container-fluid::after{content:"";display:block;clear:both}
.nrh-catbar{margin-top:16px;background:rgba(6,39,52,.72);border-top:1px solid rgba(255,255,255,.14)}
.nrh-list #header.header-scrolled .nrh-catbar{background:transparent}
.nrh-catbar ul{display:flex;justify-content:center;gap:4px;margin:0;padding:0 14px;list-style:none;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nrh-catbar ul::-webkit-scrollbar{display:none}
.nrh-catbar li{flex:none}
.nrh-catbar a{position:relative;display:block;padding:15px 18px;font:600 13.5px 'Montserrat',Arial,sans-serif;letter-spacing:.9px;text-transform:uppercase;color:#fff!important;white-space:nowrap;text-decoration:none!important;transition:color .2s}
.nrh-catbar a:hover,.nrh-catbar li.on a{color:#18d26e!important}
.nrh-catbar li.on a::after{content:"";position:absolute;left:18px;right:18px;bottom:7px;height:3px;border-radius:2px;background:#18d26e}
@media(max-width:991px){.nrh-catbar ul{justify-content:flex-start}.nrh-catbar a{padding:14px 14px;font-size:12px}.nrh-catbar li.on a::after{left:14px;right:14px}}
