/* =====================================================================
   PLOTNUA · DISC-031 THE NATURAL SWIMMING GARDEN · Phase 2 editorial layer
   (founder approval of the six-chapter redesign, 4 Nov 2026)

   The Plot Line chapter markers (as DISC-008), in a restrained water teal.
   Instrument Serif and Hanken Grotesk, as site-wide. Terracotta stays with
   the actions. Loaded on this page only; every selector is .lg-* / .ns-fig*.
   ===================================================================== */
body.pn-id.pn-pd{ --ns-teal:#7FB2B5; --ns-teal-2:#A8CFD1; --ns-teal-ink:#0F2A2C; --ns-field:#1B2627; --ns-line:#2F4446; }

/* ---- chapter opening ------------------------------------------------------ */
body.pn-id.pn-pd .lg-ch-wrap{ padding-top:clamp(72px,9vw,140px); }
body.pn-id.pn-pd main > .lg-ch-wrap:first-child{ padding-top:clamp(40px,5vw,72px); }
body.pn-id.pn-pd .lg-chapter{ display:flex; align-items:center; gap:18px; margin:0; }
body.pn-id.pn-pd .lg-chapter::after{ content:""; flex:1; border-top:1.5px dashed rgba(127,178,181,.55); }
body.pn-id.pn-pd .lg-plot{ flex:0 0 auto; width:62px; height:62px; border:1.5px dashed var(--ns-teal); display:flex; align-items:flex-end; position:relative; }
body.pn-id.pn-pd .lg-plot > span{ font-family:var(--p4-serif); font-size:30px; line-height:1; color:var(--p4-ivory); padding:0 0 6px 8px; }
body.pn-id.pn-pd .lg-plot::after{ content:""; position:absolute; right:8px; top:8px; width:18px; height:14px; border-radius:8px 8px 3px 3px; background:rgba(127,178,181,.55); border:1px solid var(--ns-teal-2); }
body.pn-id.pn-pd .lg-kicker{ margin:0; font:700 13px/1.2 var(--p4-sans); letter-spacing:.24em; text-transform:uppercase; color:var(--ns-teal-2); }
body.pn-id.pn-pd .lg-title{ font-family:var(--p4-serif); font-weight:400; font-size:clamp(40px,5.2vw,78px); line-height:1.03; letter-spacing:-.015em; color:var(--p4-ivory); max-width:17ch; margin:24px 0 0; }
body.pn-id.pn-pd .lg-stand{ font-size:clamp(18px,1.4vw,20.5px); line-height:1.6; color:var(--p4-lime); max-width:50ch; margin:20px 0 0; }
/* the section that follows a chapter opening starts close to it */
body.pn-id.pn-pd .lg-ch-wrap + .pd-section, body.pn-id.pn-pd .lg-ch-wrap + .pd-band > .pd-section:first-child{ padding-top:clamp(24px,3vw,44px); }

/* ---- chapter 02: four tiles ------------------------------------------------ */
body.pn-id.pn-pd .lg-problem{ padding-top:clamp(18px,2vw,28px); }
body.pn-id.pn-pd .lg-problem-lead{ margin-top:0; }
.lg-four{ list-style:none; padding:0; margin:clamp(28px,3vw,40px) 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(18px,2.4vw,36px); }
.lg-four > li{ border-top:1px solid var(--ns-teal,#7FB2B5); padding-top:18px; }
.lg-four svg{ width:44px; height:44px; display:block; margin:0 0 16px; fill:none; stroke:var(--ns-teal-2,#A8CFD1); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
body.pn-id.pn-pd .lg-four-k{ display:block; font:700 12.5px/1.25 var(--p4-sans); letter-spacing:.2em; text-transform:uppercase; color:var(--ns-teal-2); margin-bottom:10px; }
body.pn-id.pn-pd .lg-four-t{ display:block; font-family:var(--p4-serif); font-size:clamp(21px,1.75vw,26px); line-height:1.25; color:var(--p4-ivory); }

/* ---- chapter 03: the section drawing ---------------------------------------- */
body.pn-id.pn-pd .lg-fig-sec{ padding-top:clamp(12px,2vw,24px); padding-bottom:clamp(8px,1vw,16px); }
.ns-fig{ margin:0; background:var(--ns-field,#1B2627); border:1px solid var(--ns-line,#2F4446); border-top:2px solid var(--ns-teal,#7FB2B5); border-radius:4px; padding:clamp(16px,2.4vw,30px); }
.ns-fig svg{ display:block; width:100%; height:auto; }
.ns-fig .gl{ stroke:#6E7A6F; stroke-width:1.2; stroke-dasharray:5 5; fill:none; vector-effect:non-scaling-stroke; }
.ns-fig .ground{ fill:#2A2A25; stroke:#8C8574; stroke-width:1.2; vector-effect:non-scaling-stroke; }
.ns-fig .water{ fill:rgba(127,178,181,.30); stroke:#A8CFD1; stroke-width:1.3; vector-effect:non-scaling-stroke; }
.ns-fig .wall{ fill:#8C8574; }
.ns-fig .gravel{ fill:#6F6A5C; }
.ns-fig .plants path{ stroke:#8FAF8A; stroke-width:2.2; stroke-linecap:round; fill:none; vector-effect:non-scaling-stroke; }
.ns-fig .flow{ fill:none; stroke:#D8B475; stroke-width:1.8; stroke-dasharray:6 6; vector-effect:non-scaling-stroke; }
.ns-fig .flow-h{ fill:none; stroke:#D8B475; stroke-width:1.8; vector-effect:non-scaling-stroke; }
.ns-fig .lead{ fill:none; stroke:#C2BDB5; stroke-width:1; vector-effect:non-scaling-stroke; }
.ns-fig text{ font-family:var(--p4-sans); text-anchor:middle; fill:#F2EBE0; }
.ns-fig .lb{ font-size:15px; font-weight:700; letter-spacing:.14em; }
.ns-fig .lb.s{ font-size:13.5px; font-weight:500; letter-spacing:.02em; fill:#D9D3C8; }
.ns-fig .lb.t{ fill:#E8C98F; }
.ns-fig .n{ fill:#0F2A2C; stroke:#A8CFD1; stroke-width:1.5; }
.ns-fig .nt{ font-size:15px; font-weight:700; fill:#F2EBE0; }
.ns-fig-m{ display:none !important; }
.ns-fig-key{ display:none; list-style:none; counter-reset:k; margin:16px 0 0; padding:0; font:400 15.5px/1.5 var(--p4-sans); color:#E9E2D6; }
.ns-fig-key li{ counter-increment:k; display:grid; grid-template-columns:30px 1fr; gap:10px; padding:10px 0; border-top:1px solid var(--ns-line,#2F4446); }
.ns-fig-key li::before{ content:counter(k); width:26px; height:26px; border-radius:50%; border:1.5px solid var(--ns-teal-2,#A8CFD1); display:grid; place-items:center; font-weight:700; font-size:13px; color:#F2EBE0; }
.ns-fig-key b{ color:var(--ns-teal-2,#A8CFD1); font-weight:600; }
body.pn-id.pn-pd .lg-cap{ margin:14px 0 0; color:var(--p4-stone); font:500 14px/1.5 var(--p4-sans); }

/* ---- chapter 05: the two groups inside the practical guide ------------------ */
body.pn-id.pn-pd .lg-group{ margin:clamp(28px,3vw,40px) 0 18px; padding-left:16px; border-left:3px solid var(--ns-teal); }
body.pn-id.pn-pd .lg-group.is-guide{ border-left-style:dashed; border-left-color:#D8B475; }
body.pn-id.pn-pd .lg-group-k{ margin:0; font:700 13px/1.2 var(--p4-sans); letter-spacing:.22em; text-transform:uppercase; color:var(--ns-teal-2); }
body.pn-id.pn-pd .lg-group.is-guide .lg-group-k{ color:#D8B475; }
body.pn-id.pn-pd .lg-group-n{ margin:8px 0 0; font:500 15px/1.55 var(--p4-sans); color:var(--p4-stone); max-width:60ch; }

/* ---- chapter 06: one decision, two routes ------------------------------------ */
body.pn-id.pn-pd #your-next-step .lg-chapter{ margin-bottom:0; }
body.pn-id.pn-pd #your-next-step .lg-title{ margin-top:20px; }
.lg-routes{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(18px,2.4vw,32px); margin:clamp(26px,3vw,40px) 0 clamp(44px,5vw,72px); text-align:left; }
.lg-route{ border:1px solid var(--p4-line,#4A4B4F); border-radius:4px; padding:clamp(22px,2.6vw,34px); display:flex; flex-direction:column; }
.lg-route.is-b{ border-color:#CF8566; }
body.pn-id.pn-pd .lg-route-l{ margin:0; font-family:var(--p4-serif); font-size:clamp(40px,3.6vw,54px); line-height:1; color:#CF8566; }
body.pn-id.pn-pd .lg-route-k{ margin:14px 0 0; font:700 13px/1.2 var(--p4-sans); letter-spacing:.2em; text-transform:uppercase; color:var(--ns-teal-2); }
body.pn-id.pn-pd .lg-route-t{ margin:12px 0 0; font-family:var(--p4-serif); font-size:clamp(21px,1.75vw,25px); line-height:1.3; color:var(--p4-ivory); }
.lg-route-links{ list-style:none; margin:20px 0 0; padding:0; }
.lg-route-links li{ border-top:1px solid var(--p4-line,#4A4B4F); }
.lg-route-links li:last-child{ border-bottom:1px solid var(--p4-line,#4A4B4F); }
body.pn-id.pn-pd .lg-route-links a{ display:flex; justify-content:space-between; align-items:center; min-height:50px; padding:10px 0; color:var(--p4-ivory); font:600 16px/1.35 var(--p4-sans); text-decoration:none; }
body.pn-id.pn-pd .lg-route-links a::after{ content:"\2192"; color:#CF8566; margin-left:14px; }
body.pn-id.pn-pd .lg-route-links a:hover, body.pn-id.pn-pd .lg-route-links a:focus-visible{ color:#F2C9B5; }
body.pn-id.pn-pd .lg-route .pd-btn-row{ margin-top:22px; }
body.pn-id.pn-pd .lg-free{ margin:16px 0 0; font:700 13px/1.3 var(--p4-sans); letter-spacing:.18em; text-transform:uppercase; color:var(--ns-teal-2); }
body.pn-id.pn-pd .lg-route-n{ margin:8px 0 0; font:500 14.5px/1.55 var(--p4-sans); color:var(--p4-stone); }

/* ---- tablet --------------------------------------------------------------- */
@media (max-width:1023px){
  .lg-four{ grid-template-columns:1fr 1fr; }
  .lg-routes{ grid-template-columns:1fr; max-width:640px; }
}
/* ---- phones: a phone layout, not a compressed desktop ---------------------- */
@media (max-width:719px){
  body.pn-id.pn-pd .lg-ch-wrap{ padding-top:64px; }
  body.pn-id.pn-pd .lg-chapter{ gap:14px; }
  body.pn-id.pn-pd .lg-plot{ width:50px; height:50px; }
  body.pn-id.pn-pd .lg-plot > span{ font-size:22px; padding:0 0 5px 7px; }
  body.pn-id.pn-pd .lg-plot::after{ width:13px; height:10px; right:6px; top:6px; }
  body.pn-id.pn-pd .lg-kicker{ font-size:12px; letter-spacing:.2em; }
  body.pn-id.pn-pd .lg-title{ font-size:clamp(34px,9.4vw,44px); }
  .lg-four{ grid-template-columns:1fr; gap:0; }
  .lg-four > li{ display:grid; grid-template-columns:40px 1fr; column-gap:16px; padding:18px 0; }
  .lg-four svg{ width:36px; height:36px; margin:2px 0 0; grid-row:span 2; }
  body.pn-id.pn-pd .lg-four-t{ font-size:21px; }
  .ns-fig{ padding:14px 12px 16px; }
  .ns-fig-d{ display:none !important; }
  .ns-fig-m{ display:block !important; }
  .ns-fig-key{ display:block; }
  body.pn-id.pn-pd .lg-group{ padding-left:12px; }
  body.pn-id.pn-pd .lg-route-links a{ min-height:52px; }
  body.pn-id.pn-pd .lg-route .pd-btn{ width:100%; justify-content:center; text-align:center; }
}
