/* Loaded only by the living-guide index and article templates. */
.guide-page-intro .breadcrumb{margin-bottom:26px;flex-wrap:wrap}
.inner-page .guide-page-intro{padding-bottom:36px}
.guide-page-intro h1{max-width:1080px;text-wrap:balance;line-height:1.08}
.guide-page-intro .wrap>p:not(.eyebrow){max-width:850px;line-height:1.5}
.guide-index{padding-block:40px 48px}
.guide-feature{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.guide-feature>a{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch}
.guide-feature-art,.guide-card-art{background:#f4f4f0;overflow:hidden}
.guide-feature-art{display:flex;align-items:center;padding:12px}
.guide-feature-art img,.guide-card-art img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain}
.guide-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3vw,44px)}
.guide-kicker{display:block;font-size:12px;line-height:1.5;color:var(--text-red);font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.guide-feature h2{font-size:clamp(28px,2.7vw,43px);line-height:1.13;margin:16px 0;text-wrap:balance}
.guide-feature p,.guide-card-copy p{color:var(--muted);font-size:18px;line-height:1.55;margin:0 0 22px}
.guide-read{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;font-size:16px;font-weight:600;color:var(--ink)}
.guide-read>span{font-size:26px;color:var(--text-red)}
.guide-feature-meta{font-size:12px;color:var(--muted);margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.guide-feature>a:focus-visible,.guide-card>a:focus-visible{outline:3px solid var(--text-red);outline-offset:-4px}
.guide-index-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:30px;margin:54px 0 26px}
.guide-index-heading h2,.guide-related>h2{font-size:clamp(29px,3vw,43px);line-height:1.15;margin:8px 0 0}
.guide-index-heading>p{font-size:18px;color:var(--muted);line-height:1.55;margin:0;max-width:440px}
.guide-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.guide-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);min-width:0}
.guide-card>a{display:flex;flex-direction:column;height:100%}
.guide-card-copy{display:flex;flex-direction:column;flex:1;padding:24px}
.guide-card h2{font-size:25px;line-height:1.2;margin:12px 0 14px;text-wrap:balance}
.guide-card-copy p{font-size:17px}
.guide-card-copy .guide-read{margin-top:auto;border-top:1px solid var(--line);padding-top:12px}
.guide-index .guide-card:last-child{grid-column:span 3}
.guide-index .guide-card:last-child>a{display:grid;grid-template-columns:1fr 2fr;align-items:center}
.guide-index .guide-card:last-child .guide-card-copy{padding-inline:32px}
.guide-index-note{display:flex;align-items:flex-start;gap:20px;border-top:1px solid var(--line);padding-block:26px 48px}
.guide-index-note p{max-width:950px;font-size:15px;line-height:1.65;color:var(--muted);margin:0}
.guide-note-mark{flex:none;border:1px solid var(--line);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-weight:600}
.guide-article-meta{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:13px;color:var(--muted);padding-block:22px}
.guide-cover{max-width:1120px;margin-top:0;margin-bottom:40px}
.guide-cover>img{display:block;width:100%;height:auto;max-height:510px;object-fit:contain;background:#f4f4f0;border:1px solid var(--line);border-radius:10px}
.guide-cover figcaption{font-size:12px;line-height:1.5;color:var(--muted);padding-top:12px}
.guide-article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,320px);gap:clamp(30px,5vw,76px);justify-content:center;align-items:start}
.guide-prose{grid-column:1;grid-row:1;min-width:0}
.guide-prose .guide-lead{font-size:22px;line-height:1.65;margin:0 0 36px;color:var(--ink)}
.guide-section{scroll-margin-top:125px;margin-block:0 38px}
.guide-section h2,.guide-service h2{font-size:clamp(27px,2.6vw,35px);line-height:1.2;margin:0 0 16px;text-wrap:balance}
.guide-section p{font-size:19px;line-height:1.8;color:var(--muted);margin:0}
.guide-checklist{padding:28px;background:var(--soft);border:1px solid var(--line);border-top:3px solid var(--red);border-radius:8px}
.guide-checklist ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.guide-checklist li{position:relative;padding-left:28px;font-size:18px;line-height:1.6}
.guide-checklist li:before{content:'✓';position:absolute;left:0;color:var(--text-red);font-weight:600}
.guide-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
.guide-table-wrap table{width:100%;border-collapse:collapse;font-size:17px;line-height:1.5;text-align:left}
.guide-table-wrap th,.guide-table-wrap td{padding:15px;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.guide-table-wrap thead{background:var(--soft)}
.guide-table-wrap tbody th{font-weight:600;width:25%}
.guide-table-wrap tr:last-child>th,.guide-table-wrap tr:last-child>td{border-bottom:0}
.guide-toc{grid-column:2;grid-row:1;position:sticky;top:115px;max-height:calc(100dvh - 140px);overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:24px}
.guide-toc summary{font-size:18px;font-weight:600;cursor:pointer;min-height:44px;display:list-item;list-style-position:inside}
.guide-toc nav{display:grid;margin-top:10px}
.guide-toc nav a{display:grid;grid-template-columns:22px 1fr;gap:10px;border-top:1px solid var(--line);padding-block:12px;font-size:15px;line-height:1.4;min-height:44px}
.guide-toc nav a>span{font-size:11px;color:var(--text-red);padding-top:3px}
.guide-toc a:hover{color:var(--text-red)}
.guide-sources{border-top:1px solid var(--line);padding-top:28px}
.guide-sources>p:not(.eyebrow){font-size:16px}
.guide-sources ul{list-style:none;margin:24px 0 0;padding:0}
.guide-sources li{padding:18px 0;border-top:1px solid var(--line)}
.guide-sources li a{display:block;font-size:17px;line-height:1.5;font-weight:600;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.guide-sources li p{font-size:14px;line-height:1.6;margin-top:8px}
.guide-service{border:1px solid var(--line);background:var(--soft);padding:28px;border-radius:10px;margin-bottom:16px}
.guide-service p{font-size:17px;line-height:1.6;color:var(--muted);margin:0 0 16px}
.guide-service .text-link{display:flex;justify-content:space-between;gap:20px}
.guide-related{border-top:1px solid var(--line);margin-top:48px;padding-block:32px 56px}
.guide-related .guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0}
.guide-related .guide-card>a{display:grid;grid-template-columns:40% 60%;align-items:center}
.guide-related .guide-card h2{font-size:23px}
.guide-related .guide-card-copy p{font-size:16px}
@media(max-width:1100px){.guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-index .guide-card:last-child{grid-column:span 2}.guide-feature>a{grid-template-columns:1fr 1fr}.guide-feature-copy{padding:25px}.guide-article-layout{grid-template-columns:minmax(0,1fr) 240px;gap:28px}.guide-related .guide-card>a{display:flex}.guide-toc{padding:18px}}
@media(max-width:800px){.guide-feature>a{grid-template-columns:1fr}.guide-feature-art{padding:0}.guide-feature-art img{max-height:340px}.guide-feature h2{font-size:32px}.guide-index-heading{grid-template-columns:1fr;gap:18px}.guide-article-layout{display:flex;flex-direction:column;gap:30px}.guide-toc{position:static;width:100%;max-height:none}.guide-prose{width:100%}.guide-toc nav{grid-template-columns:1fr 1fr;gap:0 20px}.guide-cover>img{max-height:420px}.guide-card-copy{padding:22px}.guide-prose .guide-lead{font-size:21px}}
@media(max-width:600px){.inner-page .guide-page-intro{padding-bottom:28px}.guide-page-intro .breadcrumb{margin-bottom:22px}.inner-page .guide-page-intro h1{font-size:34px;line-height:1.12;overflow-wrap:anywhere}.guide-page-intro .wrap>p:not(.eyebrow){font-size:18px}.guide-index{padding-block:26px 32px}.guide-feature-copy{padding:24px}.guide-feature h2{font-size:29px}.guide-feature p{font-size:17px}.guide-feature-meta{margin-top:12px}.guide-index-heading{margin-top:36px}.guide-card-grid,.guide-related .guide-card-grid{grid-template-columns:1fr;gap:22px}.guide-index .guide-card:last-child{grid-column:auto}.guide-index .guide-card:last-child>a,.guide-related .guide-card>a{display:flex}.guide-index .guide-card:last-child .guide-card-copy{padding:22px}.guide-card h2{font-size:27px}.guide-kicker{font-size:11px}.guide-card-copy p{font-size:17px}.guide-index-note{padding-bottom:32px;gap:12px}.guide-index-note p{font-size:14px}.guide-article-meta{gap:8px 18px;padding-block:18px;font-size:12px}.guide-cover{margin-bottom:26px}.guide-cover>img{border-radius:8px}.guide-cover figcaption{font-size:11px}.guide-toc nav{grid-template-columns:1fr}.guide-toc{padding:18px 20px}.guide-prose .guide-lead{font-size:20px;margin-bottom:30px}.guide-section{margin-bottom:30px;scroll-margin-top:110px}.guide-section h2{font-size:28px}.guide-section p{font-size:18px;line-height:1.75}.guide-checklist,.guide-service{padding:22px}.guide-checklist li{font-size:17px}.guide-table-wrap table{font-size:14px}.guide-table-wrap th,.guide-table-wrap td{padding:11px 9px}.guide-sources>p:not(.eyebrow){font-size:15px}.guide-related{margin-top:32px;padding-bottom:40px}.guide-related .guide-card h2{font-size:27px}}

/* Shared static architectural knowledge modules for the guide index and articles. */
.guide-index,.guide-cover,.guide-related{--gd-bg:#111a20;--gd-surface:#18242b;--gd-line:#d9e0e3;--gd-muted:#96a4ac;--gd-grid:#d9e0e312;--gd-accent:#ff4350}
.guide-index .guide-feature-art,.guide-index .guide-card-art{padding:0;background:var(--gd-bg)}
.guide-diagram{position:relative;width:100%;aspect-ratio:8/5;overflow:hidden;isolation:isolate;background-color:var(--gd-bg);background-image:linear-gradient(var(--gd-grid) 1px,transparent 1px),linear-gradient(90deg,var(--gd-grid) 1px,transparent 1px);background-size:24px 24px;color:var(--gd-line)}
.guide-diagram:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 55%,color-mix(in srgb,var(--gd-accent) 7%,transparent));pointer-events:none}
.guide-diagram svg{position:absolute;inset:34px 18px 24px;width:calc(100% - 36px);height:calc(100% - 58px);overflow:visible}
.guide-diagram svg path,.guide-diagram svg rect,.guide-diagram svg polygon,.guide-diagram svg circle{fill:none;stroke:var(--gd-line);stroke-width:2;vector-effect:non-scaling-stroke}
.guide-diagram svg text{fill:var(--gd-muted);font:600 12px Titillium,'Arial Narrow',Arial,sans-serif;letter-spacing:.08em;text-anchor:middle}
.guide-diagram .gd-number{fill:var(--gd-surface);font-size:12px;letter-spacing:0;font-weight:700}
.guide-diagram .gd-nodes rect,.guide-diagram .gd-layers rect,.guide-diagram .gd-cost rect{fill:var(--gd-surface)}
.guide-diagram .gd-nodes circle,.guide-diagram .gd-process circle,.guide-diagram .gd-maintenance circle,.guide-diagram .gd-dot{fill:var(--gd-accent);stroke:var(--gd-accent)}
.guide-diagram .gd-accent{stroke:var(--gd-accent);stroke-width:2.5}
.guide-diagram .gd-route{stroke:var(--gd-muted);stroke-dasharray:5 8}
.guide-diagram .gd-contour{stroke:var(--gd-muted);stroke-width:1.25;stroke-dasharray:3 6}
.guide-diagram-index,.guide-diagram-caption{position:absolute;z-index:2;top:12px;font-size:10px;line-height:1;letter-spacing:.14em;font-weight:600;color:var(--gd-muted)}
.guide-diagram-index{left:15px}.guide-diagram-caption{right:15px;text-align:right}
.guide-diagram--feature .guide-diagram-index,.guide-diagram--feature .guide-diagram-caption{font-size:11px}
@media(max-width:800px){.guide-diagram--feature{aspect-ratio:16/9}.guide-diagram--feature svg{inset:28px 14px 18px;width:calc(100% - 28px);height:calc(100% - 46px)}}
@media(max-width:600px){.guide-diagram{aspect-ratio:16/9;background-size:20px 20px}.guide-diagram svg{inset:27px 10px 15px;width:calc(100% - 20px);height:calc(100% - 42px)}.guide-diagram-index,.guide-diagram-caption{top:10px;font-size:9px}.guide-diagram-index{left:11px}.guide-diagram-caption{right:11px}.guide-diagram svg text{font-size:11px}.guide-diagram--insulation svg text{font-size:10px}}

/* Article covers reuse the approved module at a restrained editorial height. */
.guide-cover>.guide-diagram{aspect-ratio:auto;height:clamp(190px,26vw,340px);border:1px solid var(--line);border-radius:10px}
.guide-related .guide-card-art{background:var(--gd-bg)}
@media(max-width:600px){.guide-cover>.guide-diagram{border-radius:8px}}
/* Detail panels have room for legible technical labels without changing index cards. */
.guide-cover .guide-diagram svg text{fill:var(--muted);font-size:22px;letter-spacing:.03em}
.guide-cover .guide-diagram .gd-number{fill:var(--gd-surface);font-size:18px;letter-spacing:0}
.guide-cover .gd-maintenance text[text-anchor=start]{text-anchor:start}
.guide-cover .gd-maintenance text[text-anchor=end]{text-anchor:end}
.guide-cover .gd-layers text{transform:translate(36px,125px) rotate(-90deg)}

/* The approved four-part planning module opens four distinct editorial chapters. */
.guide-cover--planning{position:relative}
.planning-map{position:absolute;z-index:3;inset:32% 8.5% 25%;display:grid;grid-template-columns:repeat(4,1fr);gap:5.5%;pointer-events:none}
.planning-map a{display:block;min-width:0;border-radius:8px;pointer-events:auto}
.planning-map a:focus-visible{outline:3px solid var(--text-red);outline-offset:4px}
.guide-article-layout--planning{grid-template-columns:minmax(0,900px) minmax(250px,300px);gap:clamp(30px,4vw,64px)}
.planning-story{--ps-bg:var(--soft);--ps-panel:var(--surface);--ps-line:var(--ink);--ps-muted:var(--muted);--ps-grid:color-mix(in srgb,var(--ink) 8%,transparent);--ps-red:var(--text-red);display:grid;gap:28px;margin:8px 0 44px}
.planning-chapter{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(300px,.97fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);scroll-margin-top:110px}
.planning-chapter--needs,.planning-chapter--scope{grid-template-columns:minmax(300px,.97fr) minmax(0,1.03fr)}
.planning-chapter-copy{padding:clamp(26px,3vw,42px);min-width:0}
.planning-chapter-copy h2{font-size:clamp(29px,2.7vw,38px);line-height:1.15;margin:11px 0 18px;text-wrap:balance}
.planning-chapter-copy>p,.planning-subsection>p{font-size:18px;line-height:1.72;color:var(--muted);margin:0}
.planning-detail{margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.planning-detail summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:9px 0;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;list-style:none}
.planning-detail summary::-webkit-details-marker{display:none}
.planning-detail summary:after{content:'+';color:var(--text-red);font-size:22px;font-weight:400}
.planning-detail[open] summary:after{content:'−'}
.planning-detail>p{padding:2px 0 18px;color:var(--muted);font-size:16px;line-height:1.65;margin:0}
.planning-chapter-index{display:block;color:var(--text-red);font-size:11px;line-height:1.3;letter-spacing:.15em;font-weight:700}
.planning-cue{margin-top:26px;padding:17px 18px;border-left:3px solid var(--text-red);background:var(--soft)}
.planning-cue strong{display:block;font-size:15px;margin-bottom:5px}
.planning-cue p{font-size:15px;line-height:1.55;color:var(--muted);margin:0}
.planning-subsection+ .planning-subsection{margin-top:26px;padding-top:26px;border-top:1px solid var(--line)}
.planning-subsection h3{font-size:25px;line-height:1.22;margin:0 0 13px;text-wrap:balance}
.planning-scene{position:relative;min-height:430px;overflow:hidden;background-color:var(--ps-bg);background-image:linear-gradient(var(--ps-grid) 1px,transparent 1px),linear-gradient(90deg,var(--ps-grid) 1px,transparent 1px);background-size:22px 22px;color:var(--ps-line)}
.planning-scene:before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,transparent 58%,color-mix(in srgb,var(--ps-red) 7%,transparent));pointer-events:none}
.planning-scene svg{position:absolute;inset:38px 24px 60px;width:calc(100% - 48px);height:calc(100% - 98px);overflow:visible}
.planning-scene svg path,.planning-scene svg rect,.planning-scene svg circle{fill:none;stroke:var(--ps-line);stroke-width:2;vector-effect:non-scaling-stroke}
.planning-scene svg text{fill:var(--ps-muted);font:700 12px Titillium,'Arial Narrow',Arial,sans-serif;letter-spacing:.1em}
.planning-scene .ps-accent,.planning-scene .ps-point{stroke:var(--ps-red);fill:var(--ps-red)}
.planning-scene .ps-contour{stroke:var(--ps-muted);stroke-width:1;stroke-dasharray:4 7}
.planning-scene .ps-plot{fill:color-mix(in srgb,var(--ps-panel) 74%,transparent)}
.planning-scene .ps-house{fill:var(--ps-panel)}
.planning-scene-legend{position:absolute;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.planning-scene-legend span{padding-top:7px;border-top:1px solid var(--line);font-size:10px;line-height:1.2;letter-spacing:.08em;color:var(--muted);text-align:center}
.planning-scene--needs{display:grid;place-items:center;padding:34px 25px}
.needs-core{position:relative;z-index:1;display:grid;place-items:center;width:138px;height:138px;border:1px solid var(--ps-line);border-radius:50%;background:var(--ps-panel);text-align:center}
.needs-core:after{content:'';position:absolute;inset:12px;border:1px dashed var(--line);border-radius:50%}
.needs-core span{position:absolute;top:-10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ps-red);color:#fff;font-size:12px;font-weight:700}
.needs-core strong{position:relative;z-index:1;font-size:15px;line-height:1.15;letter-spacing:.08em}
.needs-grid{position:absolute;inset:24px;display:grid;grid-template-columns:1fr 1fr;align-content:space-between;justify-content:space-between;gap:110px 70px}
.needs-grid>div{position:relative;z-index:1;min-height:96px;padding:14px;border:1px solid var(--line);background:var(--ps-panel)}
.needs-grid span{display:block;color:var(--ps-red);font-size:10px;font-weight:700}
.needs-grid strong{display:block;margin-top:8px;font-size:14px;letter-spacing:.08em}
.needs-grid small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.planning-scene--project .ps-plan rect{fill:color-mix(in srgb,var(--ps-panel) 78%,transparent)}
.planning-scene--project .ps-door{stroke:var(--ps-muted);stroke-width:1.25}
.planning-scene--scope{display:grid;grid-template-columns:1fr 74px 1fr;align-items:center;gap:12px;padding:42px 22px}
.scope-column{position:relative;z-index:1;display:flex;flex-direction:column;min-height:260px;padding:20px;border:1px solid var(--line);background:var(--ps-panel)}
.scope-column>span{color:var(--ps-red);font-size:11px;font-weight:700}
.scope-column>strong{font-size:19px;letter-spacing:.08em;margin:13px 0 20px}
.scope-column>small{padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.35}
.scope-axis{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.scope-axis span{font-size:9px;line-height:1.15;letter-spacing:.09em;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg)}
.scope-axis i{width:1px;height:34px;background:var(--line)}
.scope-axis b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ps-red);color:#fff;font-size:12px}
.planning-checklist{margin:0;padding:clamp(26px,3vw,38px)}
.planning-checklist h2{margin-top:10px}
@media(max-width:1100px){.guide-article-layout--planning{grid-template-columns:minmax(0,1fr) 240px}.planning-chapter,.planning-chapter--needs,.planning-chapter--scope{grid-template-columns:1fr}.planning-chapter--needs .planning-scene,.planning-chapter--scope .planning-scene{grid-row:2}.planning-scene{min-height:390px}}
@media(max-width:800px){.planning-map{inset:31% 8% 25%}.guide-article-layout--planning{display:flex}.planning-chapter,.planning-chapter--needs,.planning-chapter--scope{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr)}.planning-chapter--needs .planning-scene,.planning-chapter--scope .planning-scene{grid-row:auto}.planning-scene{min-height:410px}}
@media(max-width:680px){.planning-map{inset:32% 7.5% 25%;gap:4.5%}.planning-chapter,.planning-chapter--needs,.planning-chapter--scope{grid-template-columns:1fr}.planning-chapter--needs .planning-scene,.planning-chapter--scope .planning-scene{grid-row:2}.planning-chapter-copy{padding:24px 21px}.planning-chapter-copy>p,.planning-subsection>p{font-size:17px;line-height:1.68}.planning-scene{min-height:330px}.planning-scene svg{inset:25px 15px 50px;width:calc(100% - 30px);height:calc(100% - 75px)}.needs-grid{inset:18px;gap:88px 48px}.needs-grid>div{min-height:80px;padding:11px}.needs-core{width:112px;height:112px}.planning-scene--scope{grid-template-columns:1fr 54px 1fr;padding:28px 14px}.scope-column{min-height:230px;padding:15px}.scope-column>strong{font-size:16px}.scope-column>small{font-size:11px}.planning-cue{margin-top:22px}.planning-checklist{padding:23px 20px}}
