/* Explorer content only. Masthead and footer use canonical NCH styles. */
.nch-floorplan-page,.nch-floorplan-page *{box-sizing:border-box}
html{scroll-padding-top:calc(var(--nch-mast-h) + var(--space-6))}
.nch-floorplan-page{margin:0;background:var(--bone);color:var(--ink);font:var(--font-size-base)/var(--line-height-base) var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}
.nch-explorer a{color:inherit;text-underline-offset:.2em}
.nch-explorer :is(button,input,select,textarea){font:inherit;color:inherit;touch-action:manipulation}
.nch-explorer button{cursor:pointer;background:transparent;border:1px solid var(--ink);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4)}
.nch-explorer :is(button,select,input:not([type=checkbox])){min-height:var(--space-12)}
.nch-explorer button[aria-pressed=true]{background:var(--ink);color:var(--bone)}
.nch-explorer button:disabled{opacity:.6;cursor:default}
.nch-explorer :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 3px var(--ink)}
.nch-floorplan-page [hidden]{display:none!important}
.nch-explorer .nch-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--sand);color:var(--ink);border:1px solid var(--sand);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-weight:var(--font-weight-semibold);text-decoration:none}
.nch-muted{color:var(--color-text-secondary);font-size:var(--font-size-sm)}
.nch-explorer{width:min(calc(100% - var(--nch-ed-gutter)*2),var(--nch-shell));margin:auto;padding:var(--space-6) 0 var(--space-8)}
.nch-explorer :is(h1,h2,h3){font-family:var(--serif);line-height:var(--nch-plan-heading-leading);font-weight:var(--nch-plan-heading-weight);letter-spacing:-.025em;overflow-wrap:anywhere}
.nch-explorer h1{font-size:var(--nch-plan-title-size);line-height:var(--nch-plan-title-leading);margin:var(--space-2) 0 var(--space-4)}
.nch-explorer h2{font-size:var(--nch-plan-section-size)}.nch-explorer h3{font-size:var(--nch-plan-card-title-size)}
.nch-intro{margin:var(--space-4) 0 var(--space-8)}.nch-intro>p:last-child{max-width:42rem;margin-bottom:0;font-size:var(--font-size-lg)}
.nch-request-note{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-5);margin-bottom:var(--space-6);background:var(--bone-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}
.nch-request-note>div{flex:1;min-width:0}.nch-explorer .nch-request-note h2{font:var(--font-weight-semibold) var(--font-size-base)/var(--line-height-base) var(--sans);letter-spacing:normal;margin:0 0 var(--space-2)}
.nch-request-note p{margin:0;font-size:var(--font-size-sm);max-width:65ch}.nch-request-note .nch-primary{flex-shrink:0;gap:var(--space-3)}
@media(max-width:767px){.nch-request-note{align-items:flex-start;flex-direction:column;gap:var(--space-4)}}
.nch-eyebrow{font-size:var(--font-size-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:var(--font-weight-semibold)}
.nch-filters{padding:var(--space-6) 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--color-border-default)}
.nch-search-row{display:flex;align-items:flex-end;gap:var(--space-3)}.nch-search{flex:1}
.nch-explorer .nch-search-submit{background:var(--ink);color:var(--bone);padding-inline:var(--space-6);display:flex;justify-content:space-between;align-items:center;gap:var(--space-6)}
.nch-explorer label{min-width:0;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}
.nch-explorer :is(input,select,textarea){min-width:0;width:100%;background:var(--bone-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--font-size-base)}
.nch-search input::placeholder{color:var(--color-text-secondary)}
.nch-filter-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto;align-items:end;gap:var(--space-4);margin-top:var(--space-4)}
.nch-refine{grid-column:3;grid-row:1;border-color:transparent!important;padding-inline:var(--space-2)!important;white-space:nowrap}
.nch-refine-body{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);grid-column:1/-1;grid-row:2;border-top:1px solid var(--color-border-default);padding-top:var(--space-4)}
.nch-reset{grid-column:4;grid-row:1;border-color:transparent!important;text-decoration:underline;text-underline-offset:.2em}
.nch-features{min-width:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);padding:0;border:0;margin:0;grid-column:1/-1}
.nch-features legend{padding:0;margin-bottom:var(--space-2);font-size:var(--font-size-sm)}
.nch-features label{flex-direction:row;align-items:center;min-height:var(--space-12)}
.nch-features input{accent-color:var(--ink);width:var(--space-5);height:var(--space-5);margin:0}
.nch-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.nch-actions a{display:inline-flex;align-items:center;min-height:var(--space-12)}
.nch-explorer [aria-label="Applied layout filters"]:not(:empty){margin-top:var(--space-4)}
.nch-explorer [aria-label="Applied layout filters"] button{border-radius:var(--radius-full);font-size:var(--font-size-sm);background:var(--bone-raised);border-color:var(--color-border-default)}
.nch-query-feedback:empty{display:none}.nch-query-feedback{border-left:2px solid var(--ink);padding-left:var(--space-3)}
.nch-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8)}
.nch-results-head h2,.nch-results-head p{margin:0}.nch-results-head p{font-size:var(--font-size-sm)}
.nch-results-head+.nch-muted{margin:var(--space-2) 0 var(--space-6)}
.nch-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8) var(--space-6)}
.nch-plan{min-width:0;display:flex;flex-direction:column;background:var(--bone-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden}
.nch-plan__body{padding:var(--space-5);display:flex;flex-direction:column;flex:1}.nch-plan__body>.nch-eyebrow{margin:0 0 var(--space-2)}
.nch-plan h3{margin:0 0 var(--space-4)}
.nch-explorer .nch-plan__image{display:block;width:100%;padding:var(--space-3);background:var(--color-bg-page);border:0;border-bottom:1px solid var(--color-border-default);border-radius:0;overflow:hidden}
.nch-plan__image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;display:block}
.nch-plan p{margin:var(--space-2) 0}.nch-plan .nch-actions{margin-top:auto;padding-top:var(--space-5);gap:var(--space-2);justify-content:space-between}
.nch-plan .nch-actions>button:first-child{border-color:transparent;padding-left:0;font-weight:var(--font-weight-semibold)}
.nch-plan .nch-actions>button:last-child{font-size:var(--font-size-sm)}
.nch-plan__stats{display:grid!important;grid-template-columns:1fr 1fr 1.4fr!important;gap:var(--space-3)!important;margin:0 0 var(--space-2)}
.nch-plan__stats>div{display:flex;flex-direction:column-reverse;gap:var(--space-1)}
.nch-plan__stats dd{text-align:left!important;font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}
.nch-plan__stats dt{font-size:var(--font-size-xs)}
.nch-pagination{display:flex;justify-content:center;gap:var(--space-4);margin:var(--space-8) 0}
.nch-detail{padding:var(--space-6);background:var(--bone-raised);border:1px solid var(--color-border-default);border-radius:var(--radius-md);margin:var(--space-6) 0}
.nch-detail>.nch-eyebrow{margin-top:var(--space-6)}.nch-detail h2{margin:var(--space-2) 0 var(--space-6);font-size:var(--nch-plan-section-size)}
.nch-detail img{display:block;width:100%;max-height:70dvh;object-fit:contain}.nch-detail__body{display:grid;gap:var(--space-8)}.nch-detail__body>div{min-width:0}
.nch-enlarge{display:inline-flex;align-items:center;min-height:var(--space-12);font-size:var(--font-size-sm)}
.nch-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}
.nch-comparison{border-top:1px solid var(--ink);padding-top:var(--space-4);margin:var(--space-8) 0}
.nch-explorer dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}
.nch-explorer dt{color:var(--color-text-secondary)}.nch-explorer dd{margin:0;text-align:right;overflow-wrap:anywhere}
.nch-explorer details{border-top:1px solid var(--color-border-default);margin-top:var(--space-4);padding-top:var(--space-2)}
.nch-explorer summary{cursor:pointer;min-height:var(--space-12);padding:var(--space-3) 0;font-size:var(--font-size-sm)}
.nch-source{overflow-wrap:anywhere;font-size:var(--font-size-sm)}
.nch-inquiry{background:var(--ink);color:var(--bone);padding:var(--space-8);margin:var(--space-8) 0;border-radius:var(--radius-md)}
.nch-inquiry>.nch-eyebrow{color:var(--sand)}.nch-inquiry h2{font-size:var(--nch-plan-section-size);margin:var(--space-2) 0 var(--space-4)}
.nch-inquiry>p{max-width:46rem}.nch-inquiry textarea{width:100%;color:var(--ink);resize:vertical}.nch-inquiry .nch-actions{margin-top:var(--space-4)}
.nch-inquiry button:not(.nch-primary){color:var(--ink);background:var(--bone-raised)}
.nch-compare-tray{position:sticky;bottom:var(--space-4);z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--ink);color:var(--bone);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:var(--space-6)}
.nch-compare-tray>div:first-child{min-width:0}.nch-compare-tray strong{display:block}.nch-compare-tray span{display:block;max-width:42rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}
.nch-compare-tray .nch-actions{flex-shrink:0}.nch-empty{grid-column:1/-1;padding:var(--space-8) 0}.nch-empty h3{font-size:var(--font-size-2xl)}
.nch-library-note{font-size:var(--font-size-sm);padding:var(--space-8) 0;color:var(--color-text-secondary);max-width:50rem}
@media(hover:hover){.nch-explorer button:hover{background:var(--sand-soft);color:var(--ink)}.nch-explorer .nch-plan__image:hover{background:var(--color-bg-page);box-shadow:inset 0 0 0 2px var(--sand)}.nch-compare-tray a:hover{text-decoration:underline}}
@media(min-width:640px){.nch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.nch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nch-detail__body{grid-template-columns:3fr 2fr}}
@media(max-width:767px){.nch-explorer{padding-top:var(--space-4)}.nch-intro{margin:var(--space-2) 0 var(--space-6)}.nch-intro>p:last-child{font-size:var(--font-size-base)}.nch-filter-row{grid-template-columns: minmax(0,2fr) minmax(0,1fr);gap:var(--space-3)}.nch-refine{grid-column:1;grid-row:2}.nch-reset{grid-column:2;grid-row:2;padding-inline:var(--space-2)!important}.nch-refine-body{grid-row:3}.nch-results-head{align-items:flex-start;flex-direction:column;gap:var(--space-2);margin-top:var(--space-6)}.nch-detail,.nch-inquiry{padding:var(--space-4)}.nch-compare-tray{flex-wrap:wrap;bottom:0;margin-inline:calc(-1 * var(--nch-ed-gutter));border-radius:0;padding-bottom:max(var(--space-4),env(safe-area-inset-bottom));}.nch-compare-tray>div:first-child{display:none}.nch-compare-tray .nch-actions{width:100%;justify-content:space-between;flex-wrap:nowrap;gap:var(--space-2)}.nch-compare-tray .nch-actions a{font-size:var(--font-size-sm);padding-inline:var(--space-3)}.nch-compare-tray span{display:none}.nch-has-selection{padding-bottom:var(--space-4)}}
@media(max-width:479px){.nch-search-row{flex-wrap:wrap}.nch-search{flex-basis:100%}.nch-search-submit{width:100%}.nch-refine-body{grid-template-columns:1fr}.nch-features{gap:0;width:100%}.nch-features label{width:50%;font-size:var(--font-size-sm)}.nch-explorer .nch-detail h2,.nch-inquiry h2{font-size:var(--font-size-2xl)}}
@media(prefers-reduced-motion:no-preference){.nch-detail{animation:nch-plan-reveal 150ms ease-out}@keyframes nch-plan-reveal{from{opacity:0}to{opacity:1}}}

.nch-compare-tray a:focus-visible,.nch-inquiry :is(a,button):focus-visible{box-shadow:0 0 0 3px var(--sand)}
.nch-profile-label{font-weight:var(--font-weight-semibold)}

.nch-plan__stats dd.nch-unverified{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}


.nch-explorer-context{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--nch-ed-muted);margin-bottom:var(--space-8)}
.nch-explorer-context>a{display:inline-flex;align-items:center;min-height:var(--nch-ed-target)}
.nch-explorer-context>span{text-align:right}
.nch-preview-note{display:inline-block}
.nch-explorer :is(#detail,#comparison,#inquiry){scroll-margin-top:calc(var(--nch-ed-mast-height) + var(--space-4))}

.nch-inquiry-frame{display:block;width:100%;min-height:480px;border:0;background:var(--bone-raised);margin-top:var(--space-6);border-radius:var(--radius-sm)}

/* Inquiry-only projects stay distinct from searchable, verified plan sheets. */
.nch-on-request { margin-block: var(--space-10, 2.5rem); padding-block: var(--space-8, 2rem); border-top: 1px solid var(--color-border-default); }
.nch-on-request > p { max-width: 65ch; }
.nch-request-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: var(--space-4, 1rem); }
.nch-request-card { padding: var(--space-5, 1.25rem); border: 1px solid var(--color-border-default); border-radius: var(--radius-md); background: var(--bone-raised); }
.nch-request-card h3 { margin-block: var(--space-2, .5rem) var(--space-4, 1rem); }
.nch-request-card button { min-height: 44px; }

.nch-floorplan-page .nch-explorer { margin-inline: auto; }
.nch-explorer .nch-inquiry h2 { color: var(--bone); }

/* Layout identity and editorial context use the existing NCH palette. */
.nch-explorer .nch-plan__placeholder{position:relative;display:grid;grid-template-rows:1fr auto;gap:var(--space-4);background:var(--bone);padding:var(--space-4);border-bottom:0;aspect-ratio:4/3;min-height:calc(var(--space-20)*3)}
.nch-plan__placeholder img{position:absolute;inset:0;object-fit:cover;opacity:.48;width:100%;height:100%}
.nch-placeholder-art{position:absolute;inset:0;width:100%;height:100%;color:var(--ink);opacity:.4;pointer-events:none}
.nch-placeholder-caption{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-2) 0;color:var(--ink);text-align:center;font-family:var(--sans);pointer-events:none}
.nch-placeholder-caption__intro{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}
.nch-placeholder-caption__action{display:inline-flex;align-items:center;justify-content:center;min-height:var(--space-12);padding:var(--space-3) var(--space-5);background:var(--ink);color:var(--bone);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}
.nch-placeholder-note{position:relative;font:var(--font-weight-normal) var(--font-size-xs)/var(--line-height-base) var(--sans);color:var(--ink);text-align:center;pointer-events:none}
.nch-development-context{display:flex;align-items:center;gap:var(--space-3);min-height:calc(var(--space-12) + var(--space-2));margin-bottom:var(--space-4);min-width:0}
.nch-development-context>img{display:block;width:var(--space-20);height:calc(var(--space-12) + var(--space-2));max-height:none;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;background:var(--bone)}
.nch-development-context>div{display:grid;gap:var(--space-1);min-width:0}
.nch-development-context strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);overflow-wrap:anywhere}
.nch-development-context__parent{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-tight)}
.nch-development-context__note{font-size:var(--font-size-xs);color:var(--color-text-secondary)}
.nch-detail>.nch-development-context{margin-top:var(--space-6)}
.nch-explorer .nch-detail .nch-development-context>img{width:var(--space-20);height:calc(var(--space-12) + var(--space-2));object-fit:cover}
@media(hover:hover){.nch-plan__placeholder:hover .nch-placeholder-caption__action{background:var(--blue)}}
.nch-detail__body .nch-plan__stats{margin-block:var(--space-6)}
.nch-detail-visual>label{margin-bottom:var(--space-4)}
.nch-plan-writeup{margin-block:var(--space-6)}
.nch-plan-writeup h3{margin-block:var(--space-5) var(--space-3)}
.nch-layout-insights{display:grid;gap:var(--space-4)}
.nch-layout-insights h4{font:var(--font-weight-semibold) var(--font-size-base)/var(--line-height-tight) var(--sans);margin:0 0 var(--space-2)}
.nch-layout-insights p{margin:0;color:var(--color-text-secondary)}
.nch-plan-writeup .nch-actions{margin-top:var(--space-4)}
.nch-plan-writeup li+li{margin-top:var(--space-3)}
.nch-related,.nch-guide-path{border-top:1px solid var(--color-border-default);padding-top:var(--space-5);margin-top:var(--space-8)}
.nch-related .nch-actions>button{font-size:var(--font-size-sm)}
.nch-guide-path>p{max-width:65ch}
.nch-guide-path .nch-actions{gap:var(--space-3) var(--space-6)}
.nch-plan-article{max-width:var(--nch-shell)}
.nch-plan-article .nch-detail__body{align-items:start}
.nch-plan-article .nch-intro{max-width:60rem}
.nch-plan-article .nch-intro>p:last-child{max-width:60ch}
.nch-plan-article figure{margin:0}
.nch-plan-article figure img{width:100%;max-height:75dvh;object-fit:contain;background:var(--color-bg-page)}
.nch-plan-article figcaption{font-size:var(--font-size-xs);color:var(--color-text-secondary)}
.nch-plan-article .nch-article-section{margin-block:var(--space-8);max-width:75ch}
