/* ---- plumbline (Werf — Garden rooms 44) — pale grey ground, graphite, one
   voltage yellow. THE STRUCTURAL MOVE: nothing on this page is full-bleed. Every
   band sits in the same contained centre column on one unchanging ground, and the
   three photo plates fuse onto the price table below them with a 1px seam, so the
   plates read as that table's header row rather than as a gallery. ---- */
body.t-plumbline.ws-body { --bg: #f4f5f7; --fg: #4a4f57; --heading: #17191c; --text: #4a4f57; --muted: #868c96; }
body.t-plumbline .ws-nav { background: #f4f5f7; border-bottom: 1px solid #e0e3e8; }
/* the bar is a table of contents for one scroll plus one standing booking slab */
body.t-plumbline .ws-nav-links a[href="#contact"] { background: #f2b705; color: #17191c; padding: 9px 16px; font-weight: 650; opacity: 1; border-bottom: 0; }
body.t-plumbline .ws-nav-links a[href="#contact"]:hover { background: #d9a404; color: #17191c; }
/* one ground the whole way down — no alternating tint, so whitespace separates */
body.t-plumbline .ws-section { padding: 88px 0; }
body.t-plumbline .ws-section:nth-child(even):not(.ws-cta) { background: transparent; }
/* the hero is a product plate, not a banner: half a viewport, scrim dissolved */
body.t-plumbline .ws-hero { --hero-a: rgba(244,245,247,.62); --hero-b: rgba(244,245,247,.62); min-height: 50vh; background-color: #f4f5f7; }
body.t-plumbline.ws-body .ws-hero h1 { color: #17191c; text-shadow: none; font-size: clamp(30px, 4.6vw, 52px); }
body.t-plumbline.ws-body .ws-hero p { color: #4a4f57; }
body.t-plumbline.ws-body .ws-hero-cta.btn.brand { background: #f2b705; color: #17191c; box-shadow: none; }
/* the about is the only prose band with no section title — its own bold column
   heads do that work, and a rule over each one makes it read like a spec sheet */
body.t-plumbline .ws-columns .ws-col { border-top: 2px solid #17191c; padding-top: 14px; }
body.t-plumbline .ws-col-h { font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
/* flat white plates, hairline, no radius, no shadow — quotes and plans alike */
body.t-plumbline .ws-quote, body.t-plumbline .ws-plan { background: #ffffff; border: 1px solid #e0e3e8; border-radius: 0; box-shadow: none; }
/* the fuse: plates sit hard on the table, one hairline of ground between them */
body.t-plumbline .ws-photogrid { padding-bottom: 0; }
body.t-plumbline .ws-pricing { padding-top: 1px; }
body.t-plumbline .ws-photogrid-grid { max-width: 984px; margin: 0 auto; padding: 0 22px; box-sizing: border-box; gap: 1px; }
body.t-plumbline .ws-photogrid-grid img { aspect-ratio: 4 / 3; background: #ffffff; }
body.t-plumbline .ws-pricing-grid { grid-template-columns: repeat(3, 1fr); gap: 1px; }
@media (max-width: 720px) { body.t-plumbline .ws-photogrid-grid, body.t-plumbline .ws-pricing-grid { grid-template-columns: 1fr; } }
/* the page closes on a bare sentence — no coloured band, no crescendo */
body.t-plumbline .ws-cta { background: transparent; color: inherit; padding: 96px 0 64px; }
body.t-plumbline .ws-cta-inner h2 { color: #17191c; font-weight: 500; font-size: clamp(21px, 2.8vw, 29px); }
body.t-plumbline .btn.brand { background: #f2b705; color: #17191c; }
body.t-plumbline .btn.brand:hover { background: #d9a404; }

/* plumbline — pale workshop light by day, graphite by night. Same yellow. */
html[data-theme="dark"] body.t-plumbline.ws-body { --bg: #17191c; --fg: #b6bcc4; --heading: #f4f5f7; --text: #b6bcc4; --muted: #7d848d; }
html[data-theme="dark"] body.t-plumbline { background: #17191c; }
html[data-theme="dark"] body.t-plumbline .ws-nav { background: #17191c; border-bottom-color: #2a2e34; }
html[data-theme="dark"] body.t-plumbline .ws-hero { --hero-a: rgba(23,25,28,.58); --hero-b: rgba(23,25,28,.58); background-color: #17191c; }
html[data-theme="dark"] body.t-plumbline.ws-body .ws-hero h1 { color: #f4f5f7; }
html[data-theme="dark"] body.t-plumbline.ws-body .ws-hero p { color: #b6bcc4; }
html[data-theme="dark"] body.t-plumbline .ws-quote, html[data-theme="dark"] body.t-plumbline .ws-plan { background: #1f2226; border-color: #2f343a; }
html[data-theme="dark"] body.t-plumbline .ws-quote blockquote, html[data-theme="dark"] body.t-plumbline .ws-plan li { color: #b6bcc4; }
html[data-theme="dark"] body.t-plumbline .ws-columns .ws-col { border-top-color: #f4f5f7; }
html[data-theme="dark"] body.t-plumbline .ws-cta-inner h2 { color: #f4f5f7; }
