/* ==========================================================================
   The Peak CRTVE Group · r4-pages.css · templates T2 Work index, T3 Case, T4 Services hub, T10 404
   Loads after r4.css (P2 v1.2, unchanged). Adds only what these pages need; every value is an r4.css token.
   Shapes and colours: brand system v2.5 Draft 4.8 (pill buttons and labels, 120 px granite-300 accents,
   1 px granite-200 dividers, --r / --r-sm corners).
   ========================================================================== */

/* header: solid from load on these pages (no photo hero); current section underlined */
.hdr-nav a[aria-current="page"]{box-shadow:inset 0 -1px 0 currentColor}

/* shared: text-led intro (Work, Services) and case hero */
.pg-intro{padding-top:var(--g)}
.pg-intro-panel{padding:calc(var(--pad) + 104px) var(--pad) var(--pad);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);
  grid-template-areas:"lab h1" ". line";gap:clamp(24px,3vw,44px) var(--pad);align-items:start}
.pg-intro-panel>.sec-head-l{grid-area:lab}
.pg-intro-panel>.pg-h1{grid-area:h1}
.pg-intro-panel>.pg-line{grid-area:line;border-top:1px solid var(--c-200);padding-top:clamp(18px,2vw,28px);position:relative}
.pg-intro-panel>.pg-line::before{content:"";position:absolute;left:0;top:-1px;width:120px;height:1px;background:var(--c-hair)}
.pg-h1{font:var(--w-head) clamp(46px,6.8vw,120px)/1.02 var(--f-head);letter-spacing:-.012em;max-width:7.504em;text-wrap:balance}
.pg-line{font:400 clamp(17px,1.4vw,21px)/1.45 var(--f-text);max-width:24.464em}

/* light-ground pills (r4.css .pill is for dark panels) */
.pill--ink{border-color:var(--c-300);color:var(--c-ink)}

/* ---------- T2 · Work index ---------- */
.wk-panel{padding:var(--pad)}
.wk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,5vw,72px) var(--gap)}
.wk-card{position:relative;display:grid;gap:18px;text-decoration:none;color:inherit;min-width:0}
.wk-card--wide{grid-column:1/-1}
.wk-frame{position:relative;display:block;border-radius:var(--r-sm);overflow:hidden;aspect-ratio:4/3;background:var(--c-deep)}
.wk-card--wide .wk-frame{aspect-ratio:21/9}
.wk-frame img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);transition:transform 500ms var(--m-ease-io,var(--ease))}
.wk-frame.lp-tile-frame--mark{background:var(--c-raised)}
.wk-frame.lp-tile-frame--mark img{box-sizing:border-box;object-fit:contain;padding:12% 22%}
.wk-card:hover .wk-frame img{transform:scale(1.03)}
.wk-cap{position:absolute;left:16px;bottom:14px;padding:7px 11px;border-radius:999px;background:rgba(22,23,27,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:9.5px;color:var(--c-snow)}
.wk-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px clamp(14px,1.6vw,24px);padding-right:64px;align-items:baseline}
.wk-idx{grid-column:1;grid-row:1/span 3;padding-top:.5em}
.wk-name,.wk-line,.wk-meta .wm-pills{grid-column:2}
.wk-idx .of{color:var(--c-700)}
.wk-name{margin:0;font:var(--w-head) clamp(26px,2.4vw,40px)/1.1 var(--f-head);text-transform:none}
.wk-line{font:400 15px/1.45 var(--f-text);color:var(--c-300);max-width:25.576em}
.wk-card .wm-pills{justify-content:flex-start;margin-top:6px;max-width:none}
.wk-card .arw-circle{position:absolute;right:0;bottom:4px;color:var(--c-snow);border-color:var(--c-700)}
.wk-card:hover .arw-circle{border-color:var(--c-snow)}
html.js .wk-card .arw-circle.is-fill{color:var(--c-snow)}

/* ---------- T3 · Case ---------- */
.cs-hero{padding-top:var(--g)}
.cs-hero-panel{padding:calc(var(--pad) + 104px) var(--pad) var(--pad);display:grid;gap:clamp(36px,5vw,72px)}
.cs-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.cs-title{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--pad);align-items:end}
.cs-title .pg-h1{max-width:6.432em}
.cs-facts{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:var(--pad);margin:0;border-top:1px solid var(--c-200);padding-top:clamp(18px,2vw,26px);position:relative}
.cs-facts::before{content:"";position:absolute;left:0;top:-1px;width:120px;height:1px;background:var(--c-hair)}
.cs-facts>div{display:flex;flex-direction:column;gap:12px;min-width:0}
.cs-facts dd{margin:0;font:400 15px/1.5 var(--f-text)}
.cs-pills{display:flex;flex-wrap:wrap;gap:6px}

.cs-media{display:flex;flex-direction:column;gap:var(--g)}
.cs-fig{margin:0;border-radius:var(--r);overflow:hidden;background:var(--c-sunk);position:relative}
.cs-fig img{width:100%;height:auto}                      /* run as built: native ratio, never cropped */
.cs-fig figcaption{position:absolute;left:18px;bottom:16px;padding:7px 11px;border-radius:999px;background:rgba(22,23,27,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:9.5px;color:var(--c-snow)}
.cs-row{display:flex;gap:var(--g);align-items:flex-start}
.cs-row>.cs-fig{flex-basis:0;min-width:0}                 /* flex-grow = width/height: one shared height per row, no crop */
.cs-row .cs-fig{border-radius:var(--r-sm)}
.cs-fig--ph{display:grid;place-items:center;padding:24px;background:var(--c-sunk);border:1px dashed var(--c-300);flex:1 1 0}
.cs-fig--ph .label{white-space:normal;text-align:center;max-width:34ch;line-height:1.6}
.cs-row--ph{align-items:stretch}

.cs-story{padding:clamp(48px,6vw,96px) var(--pad)}
.cs-blk{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--pad);padding:clamp(36px,4.4vw,64px) 0;border-top:1px solid var(--c-200)}
.cs-blk:first-child{border-top:0;padding-top:0}
.cs-blk:last-child{padding-bottom:0}
.cs-copy{font:var(--w-head) clamp(22px,2.1vw,34px)/1.32 var(--f-head);letter-spacing:-.004em;max-width:16.08em;text-wrap:pretty}
.cs-deliv{display:grid;gap:clamp(20px,2.4vw,32px)}
.cs-claim{font:var(--w-head) clamp(22px,2.1vw,34px)/1.32 var(--f-head)}
.cs-list{display:grid;border-top:1px solid var(--c-200)}
.cs-list li{font:400 clamp(16px,1.25vw,19px)/1.45 var(--f-text);padding:16px 0;border-bottom:1px solid var(--c-200)}

.cs-next-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:14px var(--pad);
  padding:clamp(48px,6vw,96px) var(--pad) var(--pad);min-height:min(56svh,520px);align-content:end;text-decoration:none}
.cs-next-panel .label{grid-column:1/-1;margin-bottom:auto;align-self:start}
.cs-next-name{font:var(--w-head) clamp(40px,5.6vw,96px)/1.04 var(--f-head);letter-spacing:-.01em}
.cs-next-line{font:400 16px/1.5 var(--f-text);color:var(--c-300);grid-column:1}
.cs-next-panel .arw-circle{grid-column:2;grid-row:2/span 2;align-self:end;border-color:var(--c-700)}
.cs-next-panel:hover .arw-circle{border-color:var(--c-snow)}

/* v1.1 · Riverbend palette: names + HEX only (PD relay 9:53 AM; client guide p.3) */
.cs-sys{display:grid;gap:clamp(28px,3vw,44px)}
.cs-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);max-width:640px}
.cs-swatches li{display:grid;gap:8px;min-width:0}
.cs-chip{display:block;aspect-ratio:1/1;border-radius:var(--r-sm)}
.cs-chip--hair{box-shadow:inset 0 0 0 1px var(--c-300)}
.cs-sw-name{font:400 15px/1.3 var(--f-text)}
.cs-sw-hex{letter-spacing:.12em}
/* v1.1 · Tram Dock mark as image 3: the client's badge on a light ground, contained */
.cs-fig--mark{aspect-ratio:1/1;display:grid;place-items:center;background:var(--c-white)}
.cs-fig--mark img{width:82%;height:auto}

/* ---------- T4 · Services hub ---------- */
.svc-panel--hub{padding-top:clamp(32px,4vw,64px)}

/* ---------- T10 · 404 ---------- */
.nf{padding-top:var(--g)}
.nf-panel{min-height:min(88svh,860px);padding:calc(var(--pad) + 104px) var(--pad) var(--pad);display:grid;grid-template-rows:auto 1fr auto auto;gap:clamp(28px,4vw,56px)}
.nf-copy{align-self:end;display:grid;gap:clamp(18px,2vw,28px)}
.nf-act{display:flex;flex-wrap:wrap;gap:12px}
.btn-line{background:transparent;color:var(--c-ink);box-shadow:inset 0 0 0 1px var(--c-300)}
.btn-line .arw{background:var(--c-ink);color:var(--c-snow)}
.btn-line .mfill{background:var(--c-ink)}
.btn-line.is-fill{color:var(--c-snow)}
.btn-line.is-fill .arw{background:var(--c-snow);color:var(--c-ink)}
.nf-links{display:flex;flex-wrap:wrap;gap:12px 32px;border-top:1px solid var(--c-200);padding-top:20px;position:relative}
.nf-links::before{content:"";position:absolute;left:0;top:-1px;width:120px;height:1px;background:var(--c-hair)}

/* ---------- phones / small tablets ---------- */
@media (max-width:899px){
  .pg-intro-panel{grid-template-columns:1fr;grid-template-areas:"lab" "h1" "line";padding-top:calc(var(--pad) + 76px)}
  .pg-intro-panel>.sec-head-l{flex-direction:row;align-items:center;justify-content:space-between;padding:0}
  .wk-grid{grid-template-columns:1fr}
  .wk-card--wide .wk-frame{aspect-ratio:4/3}
  .wk-meta{padding-right:56px}
  .cs-hero-panel,.nf-panel{padding-top:calc(var(--pad) + 76px)}
  .cs-title,.cs-facts,.cs-blk{grid-template-columns:1fr}
  .cs-facts{gap:22px}
  .cs-blk{gap:20px}
  .cs-blk .sec-head-l{flex-direction:row;align-items:center;justify-content:space-between;padding:0}
  .cs-row{flex-direction:column}
  .cs-row>.cs-fig{flex:none!important;width:100%}
  .cs-row--ph>.cs-fig--ph{min-height:220px}
  .cs-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs-next-panel{grid-template-columns:1fr;min-height:0}
  .cs-next-panel .arw-circle{grid-column:1;grid-row:auto;justify-self:start;margin-top:10px}
  .nf-act .btn{width:100%;justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){.wk-frame img{transition:none}}

/* Ruling 2:35 PM · no-link case card on /work/ (one class, .is-nolink): no arrow, no hover lift, no pointer, no click */
.wk-card.is-nolink{cursor:default;pointer-events:none}
.wk-card.is-nolink .arw-circle{display:none}
.wk-card.is-nolink .wk-meta{padding-right:0}
.wk-card.is-nolink:hover .wk-frame img{transform:none}
.cs-next-panel.is-nolink{cursor:default;pointer-events:none}
.cs-next-panel.is-nolink .arw-circle{display:none}
