/* NJND HOMES 9.1 final visual QA / parity layer */
:root{--njnd-copper:#b76233;--njnd-ink:#212121;--njnd-paper:#fff;}
/* Blog: never reserve a blank media box. Every card receives a real image from the template fallback. */
.blog-index-content{padding-top:5rem;padding-bottom:6rem;background:#fff;}
.blog-grid{align-items:start;}
.blog-card .image-zoom{height:auto!important;aspect-ratio:16/10;background:#eee;border-radius:10px;overflow:hidden;margin-bottom:1.15rem;}
.blog-card .image-zoom img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.blog-card:hover .image-zoom img{transform:scale(1.035);}
.blog-card h3{display:block;line-height:1.3;}
.blog-card p{line-height:1.65;}
.blog-card-date{display:block;}
/* Portfolio */
.portfolio-index-content{padding-top:5rem;padding-bottom:6rem;background:#fff;}
.portfolio-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem 2rem;}
.portfolio-page-card .image-zoom{height:auto!important;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:#eee;}
.portfolio-page-card .image-zoom img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.portfolio-page-card:hover .image-zoom img{transform:scale(1.03);}
.portfolio-page-card-info{padding:1.25rem 0 0!important;}
.portfolio-kicker{display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#999;margin-bottom:.4rem;}
.portfolio-page-card-info h3{display:block;font-size:1.45rem;margin-bottom:.6rem;}
.portfolio-view{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--njnd-copper);font-weight:600;}
/* Single articles */
.blog-single-content{max-width:900px;}
.blog-entry-content{max-width:760px;}
.blog-entry-content img{border-radius:10px;margin:2rem auto;}
.blog-entry-content blockquote{margin:2rem 0;padding:1.25rem 1.5rem;border-left:3px solid var(--njnd-copper);background:#f3f3f2;color:#555;}
.blog-tags{max-width:760px;margin:2.5rem auto 0;display:flex;flex-wrap:wrap;gap:.5rem;}
.blog-tags span{font-size:10px;text-transform:uppercase;letter-spacing:1.1px;padding:.45rem .7rem;border:1px solid #ddd;color:#777;border-radius:2px;}
.related-blog{padding:5.5rem 0;background:#edf0f0;}
.related-blog .section-heading-center{margin-bottom:2.5rem;}
.related-blog .section-heading-center p{color:#777;}
/* Contact success/error presentation */
.fw-contact-form .form-input:focus,.fw-contact-form .form-select:focus,.fw-contact-form .form-textarea:focus{outline:0;box-shadow:0 0 0 2px rgba(183,98,51,.16);border-color:var(--njnd-copper);}
/* Prevent long content from breaking mobile layouts. */
.site-main{overflow:hidden;}
@media(max-width:1024px){.blog-index-content,.portfolio-index-content{padding-top:3.5rem;padding-bottom:4rem;}.portfolio-page-grid{grid-template-columns:1fr 1fr;gap:2.5rem 1.25rem;}}
@media(max-width:600px){.blog-index-content,.portfolio-index-content{padding-top:2.5rem;padding-bottom:3.5rem;}.blog-grid,.portfolio-page-grid{grid-template-columns:1fr;gap:2.5rem;}.blog-card .image-zoom,.portfolio-page-card .image-zoom{aspect-ratio:16/10;}.portfolio-page-card-info h3{font-size:1.3rem;}.related-blog{padding:3.5rem 0;}.related-blog .blog-grid{gap:2rem;}}

/* ========================================================================
   NJND HOMES 9.2 — MASTER SINGLE PROJECT SYSTEM
   Replaces imported/legacy project-page wrappers with a clean, responsive,
   data-driven layout. Existing project images remain usable without editing.
   ======================================================================== */
.project-single-page{overflow:visible!important;background:#fff;}
.njnd-project{margin:0!important;padding:0!important;}
.project-hero-njnd{position:relative;min-height:68vh;height:min(760px,78vh);display:flex;align-items:flex-end;overflow:hidden;background:#252525;}
.project-hero-njnd-bg,.project-hero-njnd-overlay{position:absolute;inset:0;}
.project-hero-njnd-bg img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center;display:block;}
.project-hero-njnd-overlay{background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.06) 36%,rgba(0,0,0,.72) 100%);}
.project-hero-njnd-content{position:relative;z-index:2;width:min(1200px,calc(100% - 48px));margin:0 auto;padding:0 0 72px;color:#fff;}
.project-back-link-njnd{display:inline-block;color:rgba(255,255,255,.82);font-size:11px;text-transform:uppercase;letter-spacing:1.6px;margin-bottom:18px;}
.project-back-link-njnd:hover{color:#fff;}
.project-eyebrow-njnd,.section-kicker-njnd{display:block;font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--color-copper);margin-bottom:10px;}
.project-hero-njnd .project-eyebrow-njnd{color:rgba(255,255,255,.82);}
.project-hero-njnd h1{margin:0;color:#fff;font-family:var(--font-heading);font-size:clamp(3rem,6vw,5.4rem);font-weight:400;line-height:1.05;max-width:900px;}
.project-hero-njnd-content>p{margin:12px 0 0;color:rgba(255,255,255,.82);font-size:15px;}
.project-overview-njnd{background:#fff;padding:78px 0 74px;}
.project-overview-grid-njnd{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr);gap:80px;align-items:start;max-width:1100px;margin:0 auto;}
.project-overview-copy h2,.project-gallery-heading-njnd h2{font-family:var(--font-heading);font-size:clamp(2.1rem,4vw,3.4rem);font-weight:400;line-height:1.12;margin:0 0 22px;color:var(--color-black);}
.project-overview-copy p{font-size:16px;line-height:1.9;color:var(--color-black50);max-width:760px;margin:0;}
.project-facts-njnd{border-top:1px solid #ddd;}
.project-fact-njnd{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #ddd;}
.project-fact-njnd span{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#999;}
.project-fact-njnd strong{font-size:13px;font-weight:500;color:#333;text-align:right;}
.project-gallery-njnd{background:#e9e8e6;padding:86px 0 92px;}
.project-gallery-heading-njnd{text-align:center;max-width:700px;margin:0 auto 42px;}
.project-gallery-heading-njnd .section-kicker-njnd{margin-bottom:12px;}
.project-gallery-heading-njnd p{margin:0;color:#777;font-size:14px;}
.project-gallery-grid-njnd{width:min(1080px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;}
.project-gallery-item-njnd{position:relative;display:block;width:100%;height:390px;padding:0;border:0;border-radius:4px;overflow:hidden;background:#ddd;cursor:pointer;text-align:left;appearance:none;}
.project-gallery-item-njnd.project-gallery-featured-njnd{grid-column:1/-1;height:610px;}
.project-gallery-item-njnd img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.65,.2,1),filter .4s ease;}
.project-gallery-item-njnd:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.28));opacity:0;transition:opacity .3s ease;pointer-events:none;}
.project-gallery-item-njnd:hover img,.project-gallery-item-njnd:focus-visible img{transform:scale(1.035);}
.project-gallery-item-njnd:hover:after,.project-gallery-item-njnd:focus-visible:after{opacity:1;}
.project-gallery-zoom-njnd{position:absolute;right:18px;bottom:18px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.94);color:#222;font-size:23px;font-weight:300;line-height:1;opacity:0;transform:translateY(6px);transition:all .25s ease;z-index:2;}
.project-gallery-item-njnd:hover .project-gallery-zoom-njnd,.project-gallery-item-njnd:focus-visible .project-gallery-zoom-njnd{opacity:1;transform:none;}
.project-gallery-empty-njnd{min-height:180px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;color:#777;}
.project-navigation-njnd{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd;}
.project-navigation-inner-njnd{min-height:120px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;}
.project-nav-side-njnd{min-width:0;display:flex;flex-direction:column;gap:5px;}
.project-nav-next-njnd{text-align:right;align-items:flex-end;}
.project-nav-label-njnd{font-size:9px;letter-spacing:1.7px;text-transform:uppercase;color:#aaa;}
.project-nav-side-njnd a{font-family:var(--font-heading);font-size:18px;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;}
.project-nav-side-njnd a:hover{color:var(--color-copper);}
.project-nav-all-njnd{width:50px;height:50px;border:1px solid #d7d7d7;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#555;font-size:0;transition:all .25s ease;}
.project-nav-all-njnd:before{content:"⌂";font-size:17px;}
.project-nav-all-njnd:hover{border-color:var(--color-copper);color:var(--color-copper);}
.project-cta-njnd{position:relative;min-height:430px;background-color:#333;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.project-cta-overlay-njnd{position:absolute;inset:0;background:rgba(0,0,0,.58);}
.project-cta-content-njnd{position:relative;z-index:2;width:min(760px,calc(100% - 40px));padding:70px 0;color:#fff;}
.project-cta-content-njnd .section-kicker-njnd{color:rgba(255,255,255,.78);}
.project-cta-content-njnd h2{font-family:var(--font-heading);font-size:clamp(2.2rem,4vw,3.6rem);font-weight:400;color:#fff;line-height:1.1;margin:0 0 15px;}
.project-cta-content-njnd p{color:rgba(255,255,255,.82);font-size:15px;line-height:1.7;margin:0 auto 28px;max-width:600px;}
.project-cta-content-njnd .btn{margin-top:4px;}
.project-single-page .fndry-container{width:min(1280px,calc(100% - 64px));max-width:none;margin-left:auto!important;margin-right:auto!important;padding-left:0;padding-right:0;}
@media(max-width:1024px){
 .project-hero-njnd{height:58vh;min-height:500px;}
 .project-hero-njnd-content{width:min(100% - 40px,900px);padding-bottom:52px;}
 .project-overview-grid-njnd{grid-template-columns:1fr;gap:40px;}
 .project-gallery-grid-njnd{grid-template-columns:1fr 1fr;}
 .project-gallery-item-njnd{height:320px;}
 .project-gallery-item-njnd.project-gallery-featured-njnd{height:480px;}
 .project-single-page .fndry-container{width:calc(100% - 40px);}
}
@media(max-width:600px){
 .project-hero-njnd{height:72svh;min-height:520px;}
 .project-hero-njnd-content{width:calc(100% - 32px);padding-bottom:42px;}
 .project-hero-njnd h1{font-size:clamp(2.5rem,12vw,4rem);}
 .project-overview-njnd{padding:54px 0;}
 .project-overview-grid-njnd{gap:30px;}
 .project-overview-copy h2,.project-gallery-heading-njnd h2{font-size:2.25rem;}
 .project-gallery-njnd{padding:56px 0 62px;}
 .project-gallery-heading-njnd{margin-bottom:28px;}
 .project-gallery-grid-njnd{grid-template-columns:1fr;gap:7px;}
 .project-gallery-item-njnd,.project-gallery-item-njnd.project-gallery-featured-njnd{height:auto;aspect-ratio:4/3;grid-column:auto;}
 .project-gallery-item-njnd.project-gallery-featured-njnd{aspect-ratio:4/3;}
 .project-gallery-zoom-njnd{opacity:1;transform:none;width:34px;height:34px;right:12px;bottom:12px;font-size:20px;}
 .project-navigation-inner-njnd{min-height:100px;grid-template-columns:1fr auto 1fr;gap:12px;}
 .project-nav-side-njnd a{font-size:14px;max-width:110px;}
 .project-nav-all-njnd{width:42px;height:42px;}
 .project-cta-njnd{min-height:390px;}
 .project-cta-content-njnd{width:calc(100% - 32px);padding:56px 0;}
 .project-cta-content-njnd h2{font-size:2.35rem;}
 .project-single-page .fndry-container{width:calc(100% - 32px);}
}
