/* Nordville internal pages. Existing header, .sg-intro typography, .btn,
   .ntp-card and .consultation-alt remain the authority for shared components.
   Craft method: unslop by Damir Sokolovsky (@heydamir), CC BY 4.0. */
.editorial-page{--nv-line:#ffffff1a;--nv-text:#ededeb;--nv-secondary:#aaa9a5;--nv-muted:#92918d;--nv-accent:var(--btn-orange);--nv-header-height:128px;--nv-ease:cubic-bezier(.22,1,.36,1)}
.editorial-page .home-header-stack{width:var(--layout-width,100%)}
.nv-main{padding-top:var(--nv-header-height)}
.editorial-page :is(h1,h2,h3,h4){font-weight:400;letter-spacing:normal}
.editorial-page :is(a,button):focus-visible{outline:2px solid var(--btn-focus);outline-offset:4px}
.nv-skip{position:fixed;top:12px;left:12px;z-index:200;background:#fff;color:#111;padding:16px}
.nv-skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
.nv-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;padding-block:24px;color:var(--nv-muted);font-size:14px;line-height:20px}
.nv-breadcrumb a{color:inherit}.nv-breadcrumb a:hover{color:#fff}.nv-breadcrumb>[aria-hidden]{color:#666}
.editorial-page .nv-intro{padding-block:32px 0}
.nv-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:64px;align-items:start}
.nv-intro .sg-intro{display:block;margin:0;min-width:0}
.nv-intro .sg-summary{max-width:640px;margin-top:24px}
.nv-intro .sg-summary p{margin-bottom:24px}
.nv-intro .sg-summary .btn{max-width:100%}
.nv-article-nav{padding-top:8px}
.nv-article-nav>p{font-size:14px;line-height:20px;color:var(--nv-muted);margin-bottom:12px}
.nv-article-nav nav{display:grid}
.nv-article-nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 0;border-bottom:1px solid var(--nv-line);color:var(--nv-secondary);font-size:16px;line-height:20px;transition:color .18s var(--nv-ease),border-color .18s var(--nv-ease)}
.nv-article-nav a[aria-current=page]{color:var(--nv-text)}
.nv-article-nav a[aria-current=page]::after{content:'';width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--nv-accent)}
.nv-article-nav a:hover{color:var(--nv-text);border-color:#ffffff40}
.editorial-page .nv-section{padding-block:56px;scroll-margin-top:104px}
.nv-section+.nv-section{border-top:1px solid var(--nv-line)}
.nv-section-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:end;margin-bottom:32px}
body.editorial-page :is(.nv-section-heading,.nv-related,.nv-design-stage) .section-title{font-size:var(--home-section-heading-size);font-weight:400;line-height:1.1;letter-spacing:normal}
.nv-section-heading>p{font-size:16px;line-height:1.5;color:var(--nv-secondary);max-width:480px;justify-self:end}
.nv-section-index{font-size:14px;line-height:20px;color:var(--nv-muted);margin-bottom:16px;font-variant-numeric:tabular-nums}
.nv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.nv-filters{display:flex;gap:8px;flex-wrap:wrap}
.nv-filters [aria-pressed=true]{background:#e9e9e9;border-color:#e9e9e9;color:#111}
.nv-legend{display:flex;gap:20px;flex-wrap:wrap;color:var(--nv-secondary);font-size:13px;line-height:20px}
.nv-legend span{display:flex;align-items:center;gap:8px}
.nv-legend i{width:12px;height:12px;flex:none;background:#ed7645}
.nv-legend i.conditional{background:#75442f;border:1px solid #bb7757}
.nv-legend i.off{background:#222;border:1px solid #555}
.nv-legend i.nv-legend-planning{background:#f08a5a}.nv-legend i.nv-legend-building{background:#d45f31}.nv-legend i.nv-legend-finishing{background:#954627}
.nv-calendar-wrap{max-height:640px;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#666 #191919;border:1px solid var(--nv-line);scroll-margin-top:104px;background:#101010}
.nv-calendar{--nv-row-height:56px;width:100%;min-width:1000px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:15px;color:var(--nv-text);line-height:1.4;font-variant-numeric:tabular-nums}
.nv-label-col{width:360px}
.nv-calendar th,.nv-calendar td{padding:0;border-bottom:1px solid #ffffff12;text-align:center;font-weight:400;height:var(--nv-row-height)}
.nv-calendar thead th{position:sticky;top:0;z-index:4;height:48px;background:#202020;font-size:13px;color:var(--nv-secondary);box-shadow:inset 0 -1px 0 var(--nv-line)}
.nv-calendar thead th:first-child,.nv-row-label{position:sticky;left:0;z-index:2;background:#131313;text-align:left!important;border-right:1px solid var(--nv-line)}
.nv-calendar thead th:first-child{padding-inline:20px;background:#202020;z-index:5;color:var(--nv-text)}
.nv-row-label button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:calc(var(--nv-row-height) - 1px);padding:8px 20px;font:inherit;line-height:20px;color:inherit;text-align:left;transition:background-color .18s var(--nv-ease),color .18s var(--nv-ease)}
.nv-row-label button>svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:#999;stroke-width:1.5}
.nv-row-label button[aria-expanded=true]{color:#fff;background:#202020}
.nv-row-label button[aria-expanded=true]>svg{stroke:var(--nv-accent)}
.nv-row-label button[aria-expanded=true]>svg path{d:path('M4 10h12')}
.nv-calendar tr:hover .nv-row-label{background:#1b1b1b}
.nv-group th{height:44px;text-align:left!important;padding:12px 20px;background:#202020;color:#999;font-size:13px}
.nv-cell{padding-inline:6px!important;position:relative}
.nv-cell::before{content:'';display:block;height:16px;background:#ed7645}
.nv-cell.conditional::before{background:#75442f;border:1px solid #bb7757}
.nv-cell.off::before{background:#222;border:1px solid #333}
.nv-detail[hidden],.nv-calendar [hidden]{display:none}
.nv-detail td{background:#1b1b1b;text-align:left;padding:24px;position:relative}
.nv-detail td>div{position:sticky;left:20px;max-width:min(900px,calc(100vw - 88px));font-size:16px;line-height:1.5;color:var(--nv-secondary)}
.nv-detail p{margin:0}.nv-detail a{display:inline-flex;align-items:center;gap:12px;color:#ddd;margin-top:16px}
.nv-detail a svg{width:18px;height:18px;stroke:var(--nv-accent)}
.nv-gantt-cell{position:relative;border-right:1px solid #ffffff09}
.nv-gantt-cell.is-active::before{content:'';position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:16px;background:#d45f31}
.nv-gantt-cell.tone-planning::before{background:#f08a5a}.nv-gantt-cell.tone-finishing::before{background:#954627}
.nv-gantt-cell.is-start::before{left:6px}.nv-gantt-cell.is-end::before{right:6px}
.nv-chart-note{font-size:14px;line-height:1.5;color:var(--nv-secondary);max-width:960px;margin-top:24px;padding-left:16px;border-left:1px solid var(--nv-line)}
.nv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.nv-scroll-hint{display:block;color:var(--nv-muted);font-size:13px;line-height:20px;margin-bottom:16px}
.nv-related{display:grid;grid-template-columns:1.35fr 1fr;gap:48px}
.nv-related nav{display:grid;align-content:start}
.nv-related nav a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid var(--nv-line);color:var(--nv-text);font-size:20px;line-height:1.4;transition:color .18s var(--nv-ease),border-color .18s var(--nv-ease)}
.nv-related nav a:last-child{border-bottom:1px solid var(--nv-line)}
.nv-related nav a:hover{color:var(--nv-accent)}
.nv-related nav svg{width:20px;height:20px;stroke:var(--nv-accent);flex:0 0 20px}
.editorial-page .nv-design-introduction{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:center;padding-top:48px}
.nv-design-introduction>img{width:100%;height:auto;aspect-ratio:1.8;object-fit:cover;object-position:70% center;display:block}
.nv-design-introduction p{font-size:18px;line-height:1.5;color:var(--nv-secondary);margin-bottom:24px}
.nv-design-introduction p:last-child{margin-bottom:0}
.nv-design-stage{padding-block:48px;border-top:1px solid var(--nv-line);scroll-margin-top:104px}
.nv-design-stage:first-child{padding-top:0;border-top:0}
.nv-design-stage>header{margin-bottom:32px}
.nv-design-content{display:grid;grid-template-columns:1.35fr 1fr;gap:48px}
.nv-design-content h3{font-size:22px;line-height:1.3;color:#eee;margin-bottom:16px}
.nv-design-content p{font-size:16px;line-height:1.5;color:var(--nv-secondary);margin-bottom:24px}
.nv-design-content ul{display:grid;gap:12px;font-size:16px;line-height:1.5;color:var(--nv-secondary)}
.nv-design-content li{position:relative;padding-left:20px}.nv-design-content li::before{content:'';position:absolute;left:0;top:10px;width:4px;height:4px;background:var(--nv-accent)}
.nv-stage-result{border-left:1px solid var(--nv-line);padding-left:32px;min-width:0}
.nv-stage-result>img{display:block;width:100%;height:auto;aspect-ratio:1.7;object-fit:cover;object-position:center 50%;margin:24px 0}
.nv-stage-result>img.nv-plan{aspect-ratio:1.5;object-fit:contain;background:#f4f4f4;padding:16px}
.nv-stage-result .btn{margin-top:12px;max-width:100%;gap:12px}
.nv-stage-note{border-top:1px solid var(--nv-line);padding-top:24px}
.nv-brief-preview{margin-block:24px;padding:24px;border:1px solid var(--nv-line);background:#171717}
.nv-brief-preview .nv-brief-label{font-size:13px;line-height:20px;color:var(--nv-muted);margin-bottom:16px}
.nv-brief-preview h4{font-size:24px;line-height:1.2;color:var(--nv-text);max-width:280px;margin-bottom:24px}
.nv-brief-preview ol{list-style:none;display:grid}
.nv-brief-preview li{display:flex;align-items:center;gap:16px;min-height:56px;padding:12px 0;border-top:1px solid var(--nv-line);color:var(--nv-secondary);font-size:15px;line-height:24px}
.nv-brief-preview li::before{display:none}
.nv-brief-preview li>span{color:var(--nv-muted);font-size:13px;line-height:20px;font-variant-numeric:tabular-nums;flex:0 0 24px}
.nv-form-status{grid-column:1/-1;color:#555;font-size:14px;line-height:1.5}
.editorial-page .ntp .section-title{max-width:1000px}
@media(max-width:1100px){.editorial-page{--nv-header-height:64px}.nv-intro-grid{grid-template-columns:minmax(0,1fr) 200px;gap:32px}.nv-related,.nv-section-heading,.nv-design-content,.editorial-page .nv-design-introduction{gap:32px}}
@media(max-width:700px){
 .nv-breadcrumb{font-size:12px;padding-block:16px;gap:8px}.nv-intro-grid{grid-template-columns:1fr;gap:24px}.nv-article-nav{padding:0}.nv-article-nav>p{display:none}.nv-article-nav nav{display:flex;gap:24px;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--nv-line)}.nv-article-nav a{flex:none;white-space:nowrap;font-size:14px;border-bottom:2px solid transparent}.nv-article-nav a[aria-current=page]{border-color:var(--nv-accent)}.nv-article-nav a[aria-current=page]::after{display:none}
 .editorial-page .nv-intro{padding-top:24px}.nv-intro .sg-intro{display:block}.nv-intro .sg-summary{margin-top:24px}.nv-intro .sg-summary p{font-size:14px;line-height:1.5;margin-bottom:24px}.nv-intro .btn{width:100%}
 .editorial-page .nv-section{padding-block:48px;scroll-margin-top:84px}.nv-section-heading,.nv-related{grid-template-columns:1fr;gap:24px}.nv-section-heading{margin-bottom:32px}.nv-section-heading>p{justify-self:start;padding:0;font-size:16px;line-height:1.5}.nv-section-index{font-size:13px;margin-bottom:16px}
 .nv-toolbar{gap:20px}.nv-legend{font-size:12px;gap:12px 16px}.nv-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.nv-filters .btn{width:100%;padding-inline:12px}
 .nv-calendar{--nv-row-height:80px;min-width:900px;font-size:14px}.nv-label-col{width:220px}.nv-row-label button{padding-inline:16px;gap:12px}.nv-calendar tbody tr:not(.nv-detail):not(.nv-group){height:var(--nv-row-height)}.nv-calendar thead th:first-child{padding-inline:16px}.nv-cell{padding-inline:4px!important}.nv-calendar-wrap{max-height:560px;margin-right:-20px;scroll-margin-top:84px}.nv-scroll-hint{display:block}.nv-chart-note{font-size:13px}
 .nv-related nav a{font-size:18px}.editorial-page .nv-design-introduction{grid-template-columns:1fr;padding-top:32px;gap:24px}.nv-design-introduction>img{aspect-ratio:1.5}.nv-design-introduction p{font-size:16px;line-height:1.5}
 .nv-design-stage{padding-block:32px;scroll-margin-top:84px}.nv-design-stage>header{margin-bottom:24px}.nv-design-content{grid-template-columns:1fr;gap:32px}.nv-design-content h3{font-size:20px}.nv-stage-result{padding-left:0;border-left:0;padding-top:24px;border-top:1px solid var(--nv-line)}.nv-stage-result .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.editorial-page *{scroll-behavior:auto!important;transition:none!important}}
