/* ==========================================================================
   New Project - site styles (loaded after Bootstrap 5.3)
   Brand colors are the variables at the top of this file.
   ========================================================================== */
/* ---- New Project: brand layer on top of Bootstrap 5.3 ---- */
:root,[data-bs-theme=light]{
  --bs-primary:#F07E30;
  --bs-primary-rgb:240,126,48;
  --bs-body-font-family:"Newsreader",Georgia,"Times New Roman",serif;
  --bs-body-font-size:1.1875rem;
  --bs-body-line-height:1.6;
  --bs-body-bg:#FFFFFF;
  --bs-body-color:#1E1717;
  --bs-secondary-color:rgba(27,17,17,.72);
  --bs-tertiary-bg:#F5F3F2;
  --bs-border-color:#D8D1CF;
  --np-display:"Barlow Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --np-accent:#F07E30;
  --np-orange:#F07E30;
  --np-maroon:#7F2929;
  --np-maroon-deep:#6E2124;
  --np-grey:#686869;
}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px)}
body{padding-bottom:env(safe-area-inset-bottom,0px)}
h1,h2,h3,h4,.np-display,.navbar-brand,.nav-link,.btn,.form-label,dt{font-family:var(--np-display)}
h1,h2,h3{line-height:1.02;letter-spacing:.005em}
.lead{font-weight:400;font-size:1.2rem}
a{text-underline-offset:3px}

/* sections */
.np-section{padding-block:clamp(3rem,7vw,6rem)}
.np-h2{font-size:clamp(2.4rem,5vw,3.9rem)}
.np-h1{font-size:clamp(3.2rem,8vw,6.4rem);line-height:1.02}
.np-trade-title{font-size:2.4rem}
.np-sub{font-size:clamp(1.9rem,3.4vw,2.5rem);margin:3rem 0 1.1rem}
.np-sub.first{margin-top:0}
.section-grey{--bs-body-bg:#EAE7E5;--bs-tertiary-bg:#F6F4F3;--bs-border-color:#CFC8C6;--bs-secondary-color:rgba(27,17,17,.74);background:#EAE7E5;color:var(--bs-body-color)}
.section-dark{--bs-body-bg:#1B1616;--bs-body-color:#F5F5F3;--bs-secondary-color:rgba(245,245,243,.74);--bs-tertiary-bg:#251D1D;--bs-border-color:#3D3333;background:#1B1616;color:#F5F5F3}
.section-grey .np-form{--bs-card-bg:#F6F4F3;--bs-card-border-color:#CFC8C6}
.section-grey .form-control,.section-grey .form-select{background-color:#fff}

/* buttons */
.btn{--bs-btn-padding-y:.65rem;--bs-btn-padding-x:1.4rem;--bs-btn-font-size:1.2rem;--bs-btn-font-weight:600;--bs-btn-border-width:2px;--bs-btn-border-radius:2px}
.navbar .btn{--bs-btn-padding-y:.45rem;--bs-btn-padding-x:1rem}
.btn-primary{--bs-btn-color:#1E1717;--bs-btn-bg:#F07E30;--bs-btn-border-color:#F07E30;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#7F2929;--bs-btn-hover-border-color:#7F2929;--bs-btn-focus-shadow-rgb:240,126,48;--bs-btn-active-color:#fff;--bs-btn-active-bg:#7F2929;--bs-btn-active-border-color:#7F2929;--bs-btn-disabled-color:#1E1717;--bs-btn-disabled-bg:#F07E30;--bs-btn-disabled-border-color:#F07E30}
.np-hero .btn-primary:hover,.np-band .btn-primary:hover,.section-dark .btn-primary:hover,.section-maroon .btn-primary:hover,.modal .btn-primary:hover{background:#fff;border-color:#fff;color:#7F2929}
.btn-outline-dark{--bs-btn-color:#1E1717;--bs-btn-border-color:#1E1717;--bs-btn-hover-bg:#1E1717;--bs-btn-hover-border-color:#1E1717;--bs-btn-hover-color:#fff;--bs-btn-active-bg:#1E1717;--bs-btn-active-color:#fff}
.btn-check:checked + .btn-outline-dark{background:#1E1717;border-color:#1E1717;color:#fff}

/* navbar */
.np-nav{padding:env(safe-area-inset-top,0px) 0 0;background:var(--bs-body-bg);border-bottom:4px solid var(--np-accent)}
.np-nav .navbar-brand{font-weight:700;font-size:1.7rem;display:flex;align-items:center;gap:.55rem;letter-spacing:.01em}
.np-brand-ico{width:30px;height:30px;flex:none}
.np-nav .nav-link{font-weight:600;font-size:1.15rem;color:var(--bs-secondary-color)}
.np-nav .nav-link:hover,.np-nav .nav-link:focus{color:var(--bs-body-color)}

/* hero */
.np-hero{position:relative;isolation:isolate;min-height:clamp(520px,76vh,700px);display:flex;flex-direction:column;background:#1E1717;color:#fff;overflow:hidden}
.np-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% center;z-index:-2}
.np-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(27,17,17,.88) 0%,rgba(27,17,17,.7) 45%,rgba(27,17,17,.15) 100%)}
.np-hero > .container{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(2.5rem,6vw,4.5rem)}
.np-lede{max-width:34rem;color:#EDEDEB;font-size:1.3rem}
.np-mlabel{margin-top:4.6rem}
@media (max-width:767.98px){.np-hero::before{background:linear-gradient(180deg,rgba(27,17,17,.82),rgba(27,17,17,.6))}}

/* logo marquee */
.np-marquee{margin-top:.8rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.np-track{display:flex;width:max-content;animation:np-scroll 36s linear infinite}
.np-marquee:hover .np-track{animation-play-state:paused}
.np-set{display:flex;gap:1rem;align-items:center;padding-right:1rem}
.np-set li{background:#fff;border-radius:3px;height:68px;padding:0 1.1rem;display:flex;align-items:center;justify-content:center;flex:none}
.np-set img{width:auto;display:block}
@keyframes np-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .np-track{animation:none}
  .np-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

/* services */
.np-trades>div+div{border-top:1px solid var(--bs-border-color)}
@media (min-width:992px){.np-trades>div+div{border-top:0;border-left:1px solid var(--bs-border-color)}}
.np-item-ico{width:64px;height:48px}
.np-band{--bs-body-bg:#7F2929;--bs-body-color:#fff;--bs-secondary-color:rgba(255,255,255,.82);background:#7F2929;color:#fff}
.np-band-title{font-size:clamp(2.2rem,4vw,3.2rem)}
.np-tags{display:flex;flex-wrap:wrap;gap:.55rem}
.np-tag{font-family:var(--np-display);font-weight:600;font-size:1.2rem;padding:.2rem .8rem;border:1px solid rgba(255,255,255,.45);border-radius:2px;line-height:1.4}

/* photo tiles */
.np-tile{cursor:zoom-in;overflow:hidden;background:#2E2E2E;border:0;padding:0;border-radius:2px}
.np-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.np-tile:hover img{transform:scale(1.03)}
.modal-backdrop{--bs-backdrop-opacity:.92}

/* clients */
.np-client-ico{width:48px;height:48px;color:var(--np-accent);margin-bottom:.9rem;display:block}
.section-grey .np-client{--bs-card-bg:#F6F4F3;--bs-card-border-color:#CFC8C6}

/* finish picker */
.np-swatch{border:2px solid var(--bs-border-color);background:var(--bs-tertiary-bg);padding:.4rem;text-align:left;font-family:var(--np-display);font-weight:600;font-size:1.05rem;line-height:1.15;color:var(--bs-body-color);width:100%;cursor:pointer}
.np-swatch i{display:block;height:48px;margin-bottom:.4rem;border:1px solid rgba(0,0,0,.25)}
.np-swatch[aria-pressed="true"]{border-color:var(--np-accent);box-shadow:0 0 0 2px var(--np-accent)}

/* steps */
.np-steps{counter-reset:np-s}
.np-steps>li{counter-increment:np-s}
.np-steps>li::before{content:counter(np-s);display:block;font-family:var(--np-display);font-weight:700;font-size:3.6rem;line-height:1;padding-bottom:.6rem;border-bottom:4px solid var(--np-accent);margin-bottom:1rem}

/* form */
.form-control:focus,.form-select:focus{border-color:var(--np-accent);box-shadow:0 0 0 .25rem rgba(240,126,48,.25)}
.form-label{font-weight:600;font-size:1.2rem;margin-bottom:.25rem}

/* footer */
.np-footer{background:#1B1112;color:#C9BFBD;border-top:4px solid var(--np-accent);font-size:1rem}

/* ---- brand palette (from the supplied logo): orange #F07E30, maroon #7F2929, grey #686869 ---- */
.section-maroon{--bs-body-bg:#6E2124;--bs-body-color:#fff;--bs-secondary-color:rgba(255,255,255,.82);--bs-tertiary-bg:#7F2929;--bs-border-color:rgba(255,255,255,.28);background:#6E2124;color:#fff}
.np-h2{color:var(--np-maroon)}
.section-dark .np-h2,.section-maroon .np-h2{color:#fff}
.np-brand-ico{width:38px;height:38px}
.np-wordmark{letter-spacing:.03em;line-height:1}
.np-w-new{color:var(--np-orange);font-weight:500}
.np-w-project{color:var(--np-maroon);font-weight:700}
.np-footer a{color:inherit}

/* Pick a finish: pure white panels and swatch tiles */
#finishes{--bs-tertiary-bg:#FFFFFF;--bs-tertiary-bg-rgb:255,255,255}

/* upholstery texture swatches */
.np-swatch i.tx-leather{background-image:radial-gradient(rgba(0,0,0,.28) 1px,transparent 1.3px),linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,0) 55%);background-size:6px 6px,100% 100%}
.np-swatch i.tx-vinyl{background-image:linear-gradient(135deg,rgba(255,255,255,.4),rgba(255,255,255,0) 55%)}
.np-swatch i.tx-fabric{background-image:linear-gradient(rgba(0,0,0,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.2) 1px,transparent 1px);background-size:6px 6px}
.np-swatch i.tx-microfiber{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 1px,transparent 1px 3px)}
.np-swatch i.tx-velvet{background-image:radial-gradient(ellipse at 30% 25%,rgba(255,255,255,.35),transparent 65%),radial-gradient(rgba(255,255,255,.14) .6px,transparent .8px);background-size:100% 100%,3px 3px}
.np-swatch i.tx-canvas{background-image:linear-gradient(rgba(0,0,0,.24) 1.5px,transparent 1.5px),linear-gradient(90deg,rgba(0,0,0,.24) 1.5px,transparent 1.5px);background-size:10px 10px}

