/* HOLVEM R14 · building pages (all 21 /buildings/* pages). Loads after the R12/R13/R14-heads sheets. Generalised from the approved warehouse pilot (r14-wh.css).
   Every selector is scoped under .r14-* or one of this page's own section classes. Light-dominant, fewer boxes,
   no dot patterns, no grain, titles on the left (r14-heads). Tokens are the page's own custom properties. */

/* ============================================================ R13 texture retire (building pages) */
.r13-s01 .r13-sheet, .r13-s03 .r12-dcard, .r14-sol .r12-dcard{ background-image:none; }
.r13-sv.sv-after, .r13-sv.r12-svout{
  background-image:linear-gradient(118deg, rgba(240,233,246,.9) 0 26%, rgba(240,233,246,0) 58%), linear-gradient(298deg, rgba(169,193,182,.22) 0 18%, rgba(169,193,182,0) 46%);
  background-size:100% 100%, 100% 100%; background-repeat:no-repeat, no-repeat;
}
.r13-sv .sv-out li{ background:var(--surface-raised); }

/* the hero proof lines: one per row, the mark hanging in its own column (text-only change in the hero markup) */
.hero-holvem .hero-meta{ display:grid; gap:8px; max-width:56ch; }
.hero-holvem .hero-meta span{ display:grid; grid-template-columns:8px minmax(0,1fr); gap:0 9px; align-items:start; }
.hero-holvem .hero-meta span::before{ margin:7px 0 0; }
.hero-holvem .hh-proof{ display:grid; gap:8px; max-width:56ch; }
/* a two-paragraph lede sits beside the title from its top, not its baseline */
.bays .sec-head, .depth .sec-head, .phasing .sec-head, .occupied .sec-head, .sunk .sec-head{ align-items:start; }

/* ============================================================ shared r14 bits */
.r14-k{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--muted); display:flex; align-items:center; gap:10px; }
.r14-k::before{ content:""; width:14px; height:2px; background:var(--r14-c, var(--border-strong)); flex:none; }
.r14-c-cond{ --r14-c:var(--cond); } .r14-c-peri{ --r14-c:var(--amb-periwinkle); } .r14-c-ok{ --r14-c:var(--phosphor); } .r14-c-ink{ --r14-c:var(--heading); } .r14-c-violet{ --r14-c:var(--amb-violet-anchor); }
.r14-lede2 p + p{ margin-top:12px; }
.r14-lede2 .tlink, .r13-head .lede .tlink{ margin-top:14px; margin-right:26px; font-size:14.5px; }
.r14-quiet{ margin-top:12px; font-size:13.5px; line-height:1.5; color:var(--muted); max-width:78ch; }
/* the light: one soft field of sea-glass and violet, never behind sustained reading */
.r14-light{ position:relative; isolation:isolate; }
.r14-light::before{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none;
  background:radial-gradient(ellipse 46% 60% at 100% 0%, rgba(147,121,173,.20), rgba(147,121,173,0) 72%), radial-gradient(ellipse 52% 58% at 0% 100%, rgba(169,193,182,.30), rgba(169,193,182,0) 70%); }
/* a check mark drawn in CSS: the rotated L inside a ring */
.r14-tick{ position:relative; width:24px; height:24px; flex:none; border-radius:50%; border:1.5px solid var(--phosphor); background:var(--surface-raised); }
.r14-tick::after{ content:""; position:absolute; left:8px; top:4px; width:5px; height:10px; border-right:2px solid var(--phosphor); border-bottom:2px solid var(--phosphor); transform:rotate(45deg); }

/* ============================================================ the gallery: one row of four clean tiles */
.r14-gal.r13-band{ padding:48px 0 44px; }
.r14-gal .r13-head .lede{ max-width:none; }
.r14-gal-grid{ margin-top:26px; display:grid; gap:14px; grid-template-columns:repeat(2, minmax(0,1fr)); }
.r14-tile{ margin:0; display:flex; flex-direction:column; min-width:0; background:var(--surface-raised); border:1px solid var(--border-hairline); border-radius:var(--r); overflow:hidden; }
.r14-tile .rec-media{ aspect-ratio:4/3; height:auto; }
.r14-tile .rec-media img, .r14-tile .rec-media video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.r14-tile .rec-media .fig-label{ z-index:1; }
.r14-tile .rec-media .fig-tag{ background:var(--amb-violet-anchor); color:var(--surface-raised); font-family:var(--mono); letter-spacing:.08em; font-size:11px; padding:7px 11px; }
.r14-tile .rec-media .fig-name{ font-size:13px; padding:7px 20px 7px 11px; }
.r14-tile .rec-cap{ padding:11px 14px 13px; font-size:14px; line-height:1.45; color:var(--body); }
.r14-tile .rec-cap b{ display:block; color:var(--heading); margin-bottom:2px; letter-spacing:-.1px; }
.r14-gal .r13-band .rec-play, .r14-gal .rec-play{ width:52px; height:52px; margin:-26px 0 0 -26px; }
.r14-gal .r14-tile.is-playing .rec-play{ left:auto; top:10px; right:10px; width:38px; height:38px; margin:0; }
.r14-gal .r14-tile.is-playing .rec-play .play{ display:none; }
.r14-gal .r14-tile.is-playing .rec-play .pause{ display:block; }
.r14-gal .r14-tile.is-playing .rec-media .fig-label{ opacity:0; transition:opacity var(--dur); }
.r14-gal-foot{ margin-top:16px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 24px; font-size:14px; color:var(--muted); }
@media (min-width:860px){
  .r14-gal-grid{ grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
}
@media (max-width:639px){
  .r14-gal.r13-band{ padding:44px 0 40px; }
  .r14-gal-grid{ gap:10px; margin-top:20px; }
  .r14-tile .rec-media .fig-name{ display:none; }
  .r14-tile .rec-cap{ padding:10px 12px 12px; font-size:13.5px; }
  .r14-gal .rec-play{ width:46px; height:46px; margin:-23px 0 0 -23px; }
}

/* ============================================================ 01 · the problem (shared parts of both variants) */
.r14-s01.happen{ padding:72px 0 72px; }
.r14-s01 .r13-head .h2{ text-wrap:balance; }
@media (max-width:639px){
  .r14-assure{ padding:20px 18px 22px 22px; }
  .r14-assure-l{ font-size:19px; }
  .r14-funnel{ padding:16px 18px; }
  .r14-funnel .q{ font-size:18px; }
}
.r14-s01 .r13-head .lede{ max-width:none; }
/* the symptom list: a thin line with three readings on it */
.r14-seq{ list-style:none; margin:18px 0 0; padding:0 0 0 22px; position:relative; display:grid; gap:16px; }
.r14-seq::before{ content:""; position:absolute; left:4px; top:8px; bottom:8px; width:1px; background:var(--border); }
.r14-seq li{ position:relative; font-size:15px; line-height:1.5; color:var(--body); }
.r14-seq li::before{ content:""; position:absolute; left:-22px; top:8px; width:9px; height:9px; border-radius:50%; background:var(--cond); box-shadow:0 0 0 3px var(--surface-raised); }
.r14-seq b{ display:block; color:var(--heading); }
/* what it costs to leave: four readings in a row, no boxes */
.r14-costs{ margin-top:34px; }
.r14-costs ul{ list-style:none; margin:14px 0 0; padding:0; display:grid; gap:14px 28px; grid-template-columns:repeat(2, minmax(0,1fr)); }
.r14-costs li{ padding-top:12px; border-top:1px solid var(--border-hairline); position:relative; font-size:14.5px; line-height:1.5; color:var(--body); }
.r14-costs li::before{ content:""; position:absolute; left:0; top:-1px; width:28px; height:2px; background:var(--amb-periwinkle); }
.r14-costs b{ display:block; color:var(--heading); margin-bottom:3px; }
/* the assurance: the guarantee line, with the two reading paragraphs beneath */
.r14-assure{ margin-top:34px; padding:24px 26px 26px 30px; border-radius:var(--r); background:var(--surface-raised); border:1px solid var(--border-hairline); position:relative; overflow:hidden; display:grid; gap:14px 44px; }
.r14-assure::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--verdict-verified); }
.r14-assure .r14-k{ --r14-c:var(--verdict-verified); color:var(--verdict-verified); }
.r14-assure-l{ margin:0; font-size:21px; line-height:1.3; letter-spacing:-.4px; font-weight:600; color:var(--heading); text-wrap:balance; max-width:30ch; }
.r14-assure-p{ margin:0; font-size:14.5px; line-height:1.55; color:var(--body); }
.r14-assure-p + .r14-assure-p{ margin-top:10px; }
.r14-assure .handoff{ margin-top:6px; }
/* the three "it is not" lines, funnelling into 02 */
.r14-isnot{ margin-top:34px; display:grid; gap:12px 28px; }
.r14-isnot p{ margin:0; display:grid; grid-template-columns:12px minmax(0,1fr); gap:12px; font-size:15px; line-height:1.5; color:var(--body); padding-top:14px; border-top:1px solid var(--border); }
.r14-isnot p::before{ content:""; width:12px; height:9px; margin-top:7px; background:var(--verdict-refused); clip-path:polygon(0 0, 100% 60%, 40% 100%, 0 100%); }
.r14-isnot p b{ color:var(--heading); }
.r14-funnel{ margin-top:20px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding:18px 22px 18px 24px; border-radius:var(--r); background:var(--heading); color:var(--on-panel-heading); }
.r14-funnel .q{ margin:0; font-size:20px; line-height:1.25; letter-spacing:-.4px; font-weight:600; color:var(--on-panel-heading); }
.r14-funnel a{ display:inline-flex; align-items:center; gap:12px; color:var(--on-panel-heading); text-decoration:none; font-size:14px; font-weight:600; }
.r14-funnel a .n{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; color:var(--phosphor-on-dark); }
.r14-funnel a .arr{ width:34px; height:34px; display:grid; place-items:center; border:1.5px solid var(--on-panel-muted); border-radius:50%; transition:transform var(--dur) var(--ease), border-color var(--dur); }
.r14-funnel a .arr svg{ width:16px; height:16px; }
.r14-funnel a:hover .arr{ transform:translateY(3px); border-color:var(--phosphor-on-dark); }
.r14-funnel a:focus-visible{ outline:2px solid var(--phosphor-on-dark); outline-offset:4px; border-radius:2px; }

/* ---------- variant A: the owner's view, the sheet reading beside it */
.r14-s01a{ margin-top:36px; display:grid; gap:28px; }
.r14-view{ margin:0; position:relative; aspect-ratio:4/3; background:var(--surface-sunken); border:1px solid var(--border-hairline); border-radius:var(--r); overflow:hidden; }
.r14-view img{ width:100%; height:100%; object-fit:cover; display:block; }
.r14-view .fig-label{ z-index:1; }
.r14-view .fig-tag{ background:var(--amb-periwinkle); }
.r14-read{ display:grid; align-content:start; gap:0; min-width:0; padding:24px 26px 26px; border-radius:var(--r); background:var(--surface-raised); }
.r14-s01a .r14-costs{ margin-top:28px; padding-top:22px; border-top:1px solid var(--border); }
.r14-s01a .r14-costs ul{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 24px; }
.r14-s01a .r14-costs li{ font-size:14px; }
.r14-read .r14-k{ --r14-c:var(--cond); }
.r14-read-t{ margin:10px 0 0; font-size:21px; line-height:1.3; letter-spacing:-.4px; font-weight:600; color:var(--heading); text-wrap:balance; max-width:26ch; }
@media (min-width:1000px){
  .r14-s01a{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:36px; align-items:stretch; }
  .r14-s01a .r14-view{ aspect-ratio:auto; min-height:420px; }
  .r14-s01a .r14-view img{ position:absolute; inset:0; }
  .r14-costs ul{ grid-template-columns:repeat(4, minmax(0,1fr)); }
  .r14-assure{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:start; }
  .r14-assure > .r14-k{ grid-column:1; }
  .r14-assure-l{ grid-column:1; }
  .r14-assure .handoff{ grid-column:1; }
  .r14-assure-copy{ grid-column:2; grid-row:1 / span 3; padding-top:2px; }
  .r14-isnot{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}

/* ============================================================ 02 · the solution: the two-state drawing */
.r14-sol.applied{ padding:72px 0 72px; }
.r14-sol .r13-head .lede{ max-width:none; }
.r14-stage{ margin-top:34px; padding:22px 22px 22px; border-radius:var(--r); border:1px solid var(--border-hairline); background:var(--surface-raised); }
.r14-stage-head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; }
.r14-seg{ display:inline-flex; gap:6px; padding:4px; background:var(--surface-sunken); border-radius:var(--r); max-width:100%; }
.r14-seg button{ all:unset; cursor:pointer; box-sizing:border-box; display:inline-flex; align-items:center; gap:9px; padding:10px 16px; border-radius:6px; font-size:14px; font-weight:600; color:var(--heading); min-height:44px; transition:background-color var(--dur), color var(--dur); }
.r14-seg button i{ width:10px; height:8px; background:var(--c); clip-path:polygon(0 0, 100% 60%, 40% 100%, 0 100%); flex:none; }
.r14-seg button[aria-pressed="true"]{ background:var(--surface-raised); box-shadow:0 1px 0 var(--border); }
.r14-seg button:focus-visible{ outline:2px solid var(--focus-ring); outline-offset:2px; }
.r14-seg .r14-sb{ --c:var(--amb-violet-anchor); } .r14-seg .r14-sl{ --c:var(--phosphor); }
.r14-seg-note{ margin:0; font-size:13.5px; color:var(--muted); }
.r14-draw{ position:relative; margin-top:16px; border-radius:var(--r); border:1px solid var(--border-hairline); background:var(--surface); padding:14px 10px 10px; }
.r14-draw::after{ content:""; position:absolute; top:-1px; right:-1px; width:var(--ch-x); height:var(--ch-y); background:var(--amb-violet-anchor); clip-path:polygon(0 0, 100% 100%, 0 100%); transition:background-color .3s; border-radius:0 var(--r) 0 0; }
.r14-stage[data-state="applied"] .r14-draw::after{ background:var(--phosphor); }
.r14-draw-box{ position:relative; }
.r14-svg{ display:block; width:100%; height:auto; font-family:var(--mono); }
.r14-svg .ink{ fill:none; stroke:var(--heading); stroke-width:2.4; stroke-linejoin:round; stroke-linecap:round; }
.r14-svg .sheet{ fill:#D9DCDE; stroke:var(--heading); stroke-width:2; stroke-linejoin:round; }
.r14-svg .purlin{ fill:none; stroke:var(--heading); stroke-width:2.2; stroke-linejoin:round; stroke-linecap:round; }
.r14-svg .fix{ fill:var(--heading); }
.r14-svg .foam{ fill:#EDE3CC; stroke:none; }
.r14-svg .face{ fill:none; stroke:#B9AC8C; stroke-width:1.6; stroke-linejoin:round; }
.r14-svg .hl{ fill:none; stroke:#FFFFFF; stroke-width:1.2; opacity:.7; }
.r14-svg .bead{ fill:var(--cond); }
.r14-svg .drip{ fill:none; stroke:var(--cond-deep); stroke-width:1.5; stroke-dasharray:3 6; stroke-linecap:round; }
.r14-svg .drop{ fill:var(--cond-deep); }
.r14-svg .wet{ fill:var(--cond); opacity:.3; }
.r14-svg .warm{ fill:none; stroke:var(--amb-soft-violet); stroke-width:1.8; stroke-dasharray:2 7; stroke-linecap:round; }
.r14-svg .warm-tip{ fill:var(--amb-soft-violet); }
.r14-svg .rack{ fill:none; stroke:var(--border-strong); stroke-width:1.6; }
.r14-svg .pal{ fill:var(--surface-sunken); stroke:var(--border-strong); stroke-width:1; }
.r14-svg .floor{ fill:none; stroke:var(--heading); stroke-width:1.6; }
.r14-svg .lbl{ fill:var(--muted); font-size:12px; letter-spacing:.14em; font-weight:500; }
.r14-svg .dry{ fill:none; stroke:var(--phosphor); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.r14-svg .st-a, .r14-svg .st-b{ transition:opacity .3s var(--ease); }
.r14-stage[data-state="bare"] .r14-svg .st-b{ opacity:0; }
.r14-stage[data-state="applied"] .r14-svg .st-a{ opacity:0; }
/* the numbered marks */
.r14-mark{ all:unset; cursor:pointer; position:absolute; z-index:2; display:flex; align-items:center; padding:8px 0; transform:translate(-14px,-22px); opacity:0; transition:opacity .3s var(--ease); pointer-events:none; }
.r14-mark:focus-visible{ outline:2px solid var(--focus-ring); outline-offset:2px; }
.r14-mark.is-on{ opacity:1; pointer-events:auto; }
.r14-mark b{ display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--surface-raised); color:var(--heading); font-family:var(--mono); font-size:12px; font-weight:600; border:2px solid var(--c); box-shadow:0 1px 2px rgba(20,24,27,.25); flex:none; }
.r14-mark span{ margin-left:8px; display:inline-flex; align-items:center; padding:6px 18px 6px 10px; background:var(--surface-raised); color:var(--heading); font-size:13px; font-weight:600; white-space:nowrap; clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 100%, 0 100%); box-shadow:0 1px 2px rgba(20,24,27,.18); }
.r14-mark.flip{ flex-direction:row-reverse; transform:translate(calc(-100% + 14px),-22px); }
.r14-mark.flip span{ margin-left:0; margin-right:8px; padding:6px 10px 6px 18px; clip-path:polygon(10px 0, 100% 0, 100% 100%, 0 100%); }
.r14-mark[data-r14-st="bare"]{ --c:var(--amb-violet-anchor); } .r14-mark[data-r14-st="applied"]{ --c:var(--phosphor); }
.r14-stage-foot{ margin:12px 0 0; display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 18px; font-size:12.5px; color:var(--muted); }
.r14-now{ font-family:var(--mono); font-size:11px; letter-spacing:.08em; font-weight:600; color:var(--amb-violet-anchor); }
.r14-stage[data-state="applied"] .r14-now{ color:var(--phosphor); }
/* the dew point scale: the five bodies cut at the fold, the marker moving along it */
.r14-run{ margin-top:18px; padding:16px 18px 14px; border-radius:var(--r); background:var(--surface); border:1px solid var(--border-hairline); }
.r14-run-k{ margin:0; display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 14px; font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--body); }
.r14-run-k .lo{ color:var(--amb-violet-anchor); } .r14-run-k .hi{ color:var(--verdict-verified); }
.r14-run-bar{ position:relative; display:block; margin-top:10px; width:100%; height:22px; overflow:hidden; border-radius:3px; --k:36.6px; }
.r14-run-bar i{ position:absolute; top:0; bottom:0; right:0; display:block; background:var(--b); clip-path:polygon(var(--k) 0, 100% 0, 100% 100%, 0 100%); }
.r14-run-bar i:nth-child(1){ left:0; clip-path:none; --b:var(--amb-violet-anchor); }
.r14-run-bar i:nth-child(2){ left:calc(22% - var(--k) / 2); --b:var(--amb-soft-violet); }
.r14-run-bar i:nth-child(3){ left:calc(40% - var(--k) / 2); --b:var(--amb-periwinkle); }
.r14-run-bar i:nth-child(4){ left:calc(58% - var(--k) / 2); --b:var(--amb-aqua); }
.r14-run-bar i:nth-child(5){ left:calc(76% - var(--k) / 2); --b:var(--amb-sea-glass); }
.r14-marker{ position:relative; height:30px; margin-top:6px; }
.r14-marker i{ position:absolute; top:0; left:12%; transform:translateX(-7px); display:flex; flex-direction:column; align-items:flex-start; gap:2px; transition:left .38s var(--ease), transform .38s var(--ease); }
.r14-marker i::before{ content:""; width:0; height:0; border-left:7px solid transparent; border-right:7px solid transparent; border-bottom:9px solid var(--heading); }
.r14-marker i em{ font-style:normal; font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; font-weight:600; color:var(--heading); white-space:nowrap; max-width:80vw; overflow:hidden; text-overflow:ellipsis; }
.r14-stage[data-state="applied"] .r14-marker i{ left:88%; transform:translateX(calc(-100% + 7px)); align-items:flex-end; }
/* the key: three cards per state */
.r14-ledger{ margin-top:16px; display:grid; gap:12px; }
.r14-ledger[hidden]{ display:none; }
.r14-ld{ display:grid; gap:8px; align-content:start; padding:18px 20px 20px; background:var(--surface); border:1px solid var(--border-hairline); border-radius:var(--r); border-top:4px solid var(--c); transition:border-color var(--dur), background-color var(--dur); }
.r14-ld[data-r14-st="bare"]{ --c:var(--amb-violet-anchor); } .r14-ld[data-r14-st="applied"]{ --c:var(--phosphor); }
.r14-ld.is-hot{ background:var(--accent-soft); }
.r14-ld:focus-visible{ outline:2px solid var(--focus-ring); outline-offset:2px; }
.r14-ld .lk{ margin:0; display:flex; align-items:center; gap:10px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:var(--body); }
.r14-ld .lk b{ display:grid; place-items:center; width:24px; height:24px; border-radius:50%; font-size:12px; letter-spacing:0; color:var(--heading); background:var(--surface-raised); border:2px solid var(--c); flex:none; }
.r14-ld h3{ margin:0; font-size:18px; line-height:1.25; letter-spacing:-.3px; font-weight:600; color:var(--heading); text-wrap:balance; }
.r14-ld p{ margin:0; font-size:14.5px; line-height:1.5; color:var(--body); }
.r14-ld p b{ color:var(--heading); }
/* the checks: what the layer does for this building */
.r14-checks{ margin-top:36px; }
.r14-checks-h{ display:grid; gap:8px; }
.r14-checks-t{ margin:0; font-size:22px; line-height:1.25; letter-spacing:-.4px; font-weight:600; color:var(--heading); text-wrap:balance; max-width:30ch; }
.r14-checks ul{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:16px 32px; }
.r14-checks li{ display:grid; grid-template-columns:24px minmax(0,1fr); gap:0 14px; align-items:start; padding-top:16px; border-top:1px solid var(--border-hairline); }
.r14-checks li .r14-tick{ margin-top:1px; }
.r14-checks li b{ display:block; font-size:16px; line-height:1.3; letter-spacing:-.2px; color:var(--heading); }
.r14-checks li span{ display:block; margin-top:4px; font-size:14.5px; line-height:1.5; color:var(--body); }
.r14-sol .handoff{ margin-top:28px; }
@media (min-width:720px){
  .r14-ledger{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .r14-checks ul{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (min-width:1000px){
  .r14-stage{ padding:26px 26px 26px; }
  .r14-draw{ padding:18px 16px 12px; }
  .r14-checks ul{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px 36px; }
}
@media (max-width:719px){
  .r14-stage{ padding:14px 12px 14px; margin-top:26px; }
  .r14-draw{ padding:10px 6px 8px; }
  .r14-mark span{ display:none; }
  .r14-mark{ transform:translate(-14px,-22px); }
  .r14-mark.flip{ transform:translate(-14px,-22px); }
  .r14-mark b{ width:26px; height:26px; font-size:11.5px; }
  .r14-run{ padding:12px 12px 10px; }
  .r14-ld{ padding:14px 14px 16px; }
  .r14-ld h3{ font-size:17px; }
  .r14-svg .lbl{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .r14-svg .st-a, .r14-svg .st-b, .r14-mark, .r14-marker i, .r14-draw::after, .r14-ld, .r14-funnel a .arr, .r14-seg button{ transition:none; }
}

/* ============================================================ 05 · the depth: the estimate strip and the thickness tile */
.r14-dfoot{ margin-top:26px; display:grid; gap:14px; }
.r14-dfoot .anchor-cta{ margin-top:0; }
.r14-dfoot .anchor-cta::before{ background:var(--phosphor); }
.r14-dfoot .tile{ margin:0; }
.r14-dfoot .tile .tile-k{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--muted); }
.r14-dfoot .tile.tile-row{ display:grid !important; grid-template-columns:120px minmax(0,1fr); grid-template-rows:auto auto; gap:0 18px; align-items:center; padding:16px 18px 16px 16px; }
.r14-dfoot .tile.tile-row .tile-media{ grid-column:1; grid-row:1 / span 2; width:auto; height:calc(100% + 32px); margin:-16px 0 -16px -16px; aspect-ratio:auto; min-height:120px; position:relative; overflow:hidden; }
.r14-dfoot .tile.tile-row .tile-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.r14-dfoot .tile.tile-row > span:nth-child(2){ grid-column:2; grid-row:1; display:grid; gap:4px; min-width:0; align-self:end; }
.r14-dfoot .tile.tile-row .tile-go{ grid-column:2; grid-row:2; margin:10px 0 0; align-self:start; }
@media (min-width:1000px){
  .r14-dfoot{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:16px; align-items:stretch; }
}
@media (max-width:559px){
  .r14-dfoot .tile.tile-row{ grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; }
  .r14-dfoot .tile.tile-row .tile-media{ grid-column:1; grid-row:1; width:auto; height:auto; margin:-16px -18px 12px -16px; aspect-ratio:16/7; min-height:0; }
  .r14-dfoot .tile.tile-row > span:nth-child(2){ grid-column:1; grid-row:2; }
  .r14-dfoot .tile.tile-row .tile-go{ grid-column:1; grid-row:3; }
}

/* ============================================================ the close: the next step, in V3 */
.r14-close-steps{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:10px; counter-reset:r14c; }
.r14-close-steps li{ counter-increment:r14c; display:grid; grid-template-columns:28px minmax(0,1fr); gap:12px; align-items:start; font-size:15px; line-height:1.5; color:var(--body); }
.r14-close-steps li::before{ content:counter(r14c); display:grid; place-items:center; width:26px; height:26px; border-radius:50%; border:1.5px solid var(--heading); font-family:var(--mono); font-size:11.5px; font-weight:600; color:var(--heading); }
.r14-close-p{ margin:16px 0 0; font-size:15px; line-height:1.55; color:var(--body); max-width:62ch; }
.r14-close-p b{ color:var(--heading); }
/* phones: the cost readings run as one column (kept last so it wins) */
@media (max-width:559px){
  .r14-costs ul, .r14-s01a .r14-costs ul, .r14-s01b-read .r14-costs ul{ grid-template-columns:minmax(0,1fr); }
}

/* ============================================================ r14-bld additions (roll-out) */
/* the drawing: substrate families */
.r14-svg .hair{ fill:none; stroke:var(--border-strong); stroke-width:1; }
.r14-svg .hair2{ fill:none; stroke:var(--border-strong); stroke-width:1.2; }
.r14-svg .obx{ fill:var(--surface-sunken); stroke:var(--border-strong); stroke-width:1.4; stroke-linejoin:round; }
.r14-svg .fix2{ fill:var(--surface-raised); stroke:var(--border-strong); stroke-width:1.2; }
.r14-svg .pipe{ fill:none; stroke:var(--border-strong); stroke-width:3; }
.r14-svg .core{ fill:#F1EFE9; stroke:none; }
.r14-svg .hatch{ fill:none; stroke:#C9C4B6; stroke-width:1; }
.r14-svg .sheet-line{ fill:none; stroke:var(--heading); stroke-width:2; }
.r14-svg .joint{ fill:none; stroke:var(--heading); stroke-width:1.4; stroke-dasharray:4 3; }
.r14-svg .mass{ fill:#DEDCD6; stroke:none; }
.r14-svg .agg{ fill:#C9C4B6; stroke:none; }
.r14-svg .board{ fill:#E3D5BB; stroke:var(--heading); stroke-width:1.6; }
.r14-svg .timber{ fill:#D9C7A5; stroke:var(--heading); stroke-width:1.6; }
.r14-svg .skin{ fill:var(--heading); stroke:none; }
.r14-svg .sheet.fc{ fill:#CFCBC2; }
.r14-svg .ghost{ fill:none; stroke:var(--heading); stroke-width:1.2; stroke-dasharray:5 6; opacity:.55; }
.r14-svg .pool{ fill:var(--amb-sea-glass); opacity:.55; }
.r14-svg .wave{ fill:none; stroke:var(--amb-aqua); stroke-width:1.6; }
.r14-svg .heap{ fill:#E7D9B8; stroke:#B9AC8C; stroke-width:1.4; }
.r14-svg .vent{ fill:none; stroke:var(--heading); stroke-width:1.6; }
.r14-svg .scene{ opacity:.95; }
/* the compare rows (containers: kit, boards or sprayed foam) */
.r14-rows{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:0; border-top:1px solid var(--border); }
.r14-rows li{ display:grid; gap:4px 28px; padding:14px 0; border-bottom:1px solid var(--border-hairline); font-size:15px; line-height:1.5; color:var(--body); }
.r14-rows li b{ color:var(--heading); }
@media (min-width:860px){ .r14-rows li{ grid-template-columns:minmax(0,3fr) minmax(0,9fr); } }
/* the records: the Founder's intro line, proof rows and cards without a page */
.r14-prl-intro{ margin:18px 0 0; font-size:16px; line-height:1.55; color:var(--body); max-width:70ch; }
.r14-prl-rows{ list-style:none; margin:22px 0 0; padding:0; display:grid; gap:12px; }
.r14-prl-rows li{ display:grid; gap:6px 24px; padding:16px 18px 18px; background:var(--surface-raised); border:1px solid var(--border-hairline); border-left:4px solid var(--verdict-verified); border-radius:var(--r); font-size:15px; line-height:1.5; color:var(--body); }
.r14-prl-rows li b{ display:block; color:var(--heading); font-size:16px; }
.r14-prl-rows li a{ color:var(--accent-text); }
.r14-prl-rows li .r14-k{ margin-bottom:2px; }
@media (min-width:860px){ .r14-prl-rows li{ grid-template-columns:minmax(0,4fr) minmax(0,8fr); } .r14-prl-rows li .r14-k{ grid-column:1 / -1; } }
.prl-grid .r14-prl-still{ cursor:default; }
.prl-grid .r14-prl-still .prl-go{ display:none; }
.r14-prl-note{ margin:16px 0 0; }
/* the 02 section notes carried from the page (offices records card) */
.r14-sol .st-card{ margin-top:28px; }
/* the guides block: related tiles carried from the page's Related / Applications and problems sections */
.r14-rel{ margin-top:34px; padding-top:26px; border-top:1px solid var(--border); }
.r14-rel .row-k{ margin:0 0 10px; }
.r14-rel .row-k + .tiles{ margin-bottom:18px; }
.r14-rel .tiles{ display:grid; gap:12px; grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (min-width:860px){ .r14-rel .tiles{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:559px){ .r14-rel .tiles{ grid-template-columns:minmax(0,1fr); } }
.r14-rel .prb-line{ margin:0; }
/* 01: the symptom plate when the page keeps its own head (no reading title) */
.r14-read .r14-seq:first-of-type{ margin-top:14px; }
.r14-s01 .r14-handoff{ margin-top:22px; }
/* 01: the evidence callout carried from the page sits between the lists and the funnel */
.r14-s01 .hvx-ev-callout{ margin-top:34px; }
/* 02: a narrower check grid when there are four or five checks */
.r14-checks ul.n4, .r14-checks ul.n5{ grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (min-width:1000px){ .r14-checks ul.n5{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
/* 05: the hero-conv depth panel keeps its own layout; only the foot changes */
.depth .r12-foot{ margin-top:18px; }
/* 06 (hero-conv): the "How we check" rows keep their design */
/* the close: the next step, with measured contrast (ink on the ambient plate) */
.decision.r14-close .lede, .decision.r14-close .commit, .decision.r14-close .r14-close-p, .decision.r14-close .r14-close-steps li, .decision.r14-close .fallback, .decision.r14-close .quiet{ color:var(--heading); }
.decision.r14-close .kicker{ color:var(--heading); }
.decision.r14-close h2 .r14-sub{ display:block; margin-top:10px; font-size:clamp(18px,2vw,22px); line-height:1.3; letter-spacing:-.2px; font-weight:500; color:var(--heading); }
.decision.r14-close .lede{ font-size:17px; line-height:1.55; }
.decision.r14-close .r14-close-steps{ margin-top:16px; }
.decision.r14-close .r14-close-p{ margin-top:14px; max-width:58ch; }
.decision.r14-close .actions{ margin-top:22px; }
.decision.r14-close .commit{ margin-top:18px; }
.decision.r14-close .commit a, .decision.r14-close .fallback a{ color:var(--accent-text); }
.decision.r14-close .fallback{ margin-top:14px; }
.decision.r14-close .decision-grid{ align-items:start; }
/* a single "it is not" line runs the full width */
@media (min-width:1000px){ .r14-isnot.r14-isnot-1{ grid-template-columns:minmax(0,1fr); } }
/* six tiles: three per row from 860px, 2x2 and 2x1 beneath */
@media (min-width:860px){ .r14-gal-grid.r14-gal-6{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (min-width:1200px){ .r14-gal-grid.r14-gal-6{ grid-template-columns:repeat(6, minmax(0,1fr)); gap:12px; } .r14-gal-6 .r14-tile .rec-cap{ font-size:13px; padding:10px 12px 12px; } .r14-gal-6 .r14-tile .rec-media .fig-name{ display:none; } }
/* the records section on pages that had none: the site's project-record card rules, scoped to .r14-prl */
.r14-prl.prl{ padding:clamp(56px,7vw,96px) 0; border-top:1px solid var(--border-hairline); }
.r14-prl .prl-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:12px 32px; }
.r14-prl .prl-head .h2{ margin-top:14px; max-width:22ch; }
.r14-prl .prl-grid{ margin-top:32px; display:grid; gap:16px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .r14-prl .prl-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1000px){ .r14-prl .prl-grid.prl-3{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.r14-prl .prl-card{ display:flex; flex-direction:column; background:var(--surface-raised); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; color:inherit; text-decoration:none; transition:border-color .2s ease; }
.r14-prl a.prl-card:hover{ border-color:var(--accent); }
.r14-prl .prl-card:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
.r14-prl .prl-media{ position:relative; aspect-ratio:16/10; background:var(--surface-sunken); overflow:hidden; display:block; }
.r14-prl .prl-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.r14-prl .prl-tag{ position:absolute; left:0; bottom:0; padding:7px 12px; background:var(--surface-raised); color:var(--heading); font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; }
.r14-prl .prl-body{ display:flex; flex-direction:column; gap:8px; padding:18px 20px 20px; flex:1; }
.r14-prl .prl-t{ color:var(--heading); font-weight:600; font-size:18px; line-height:1.3; }
.r14-prl .prl-s{ color:var(--body); font-size:15px; line-height:1.5; }
.r14-prl .prl-go{ margin-top:auto; padding-top:6px; color:var(--accent-text); font-size:14px; font-weight:600; display:inline-flex; align-items:center; gap:6px; }
.r14-prl .prl-go svg{ width:14px; height:14px; }
@media (prefers-reduced-motion:reduce){ .r14-prl .prl-card{ transition:none; } }
