/* ================================================================
   Praxis Ab Machina - service page styles
   Used by all /services/* pages.
   ================================================================ */

/* schematic plate (page-specific diagram) */
.schematic{ background:var(--machine); border:1px solid var(--rule); position:relative; aspect-ratio: 16/9; overflow:hidden; }
.schematic svg{ position:absolute; inset:0; width:100%; height:100%; }
.schematic .corner{ position:absolute; padding:14px 18px; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-soft); }
.schematic .corner.tl{ top:0; left:0; }
.schematic .corner.tr{ top:0; right:0; text-align:right; }
.schematic .corner.bl{ bottom:0; left:0; }
.schematic .corner.br{ bottom:0; right:0; text-align:right; }

/* article body */
.article{ display:grid; grid-template-columns: 1.6fr 1fr; gap:80px; align-items:start; }
.article .body{ max-width:62ch; }
.article .body p{ font-size:17px; line-height:1.7; color:var(--ink-2); margin-bottom:22px; }
.article .body p strong{ color:var(--ink); font-weight:500; }
.article .body p .it{ font-style:italic; color:var(--copper); }
.article .body h3{ font-family:'Instrument Serif',serif; font-size:34px; line-height:1.1; letter-spacing:-0.02em; margin:48px 0 20px; }
.article .body h3 .it{ font-style:italic; color:var(--copper); }
.article .body h3 .ix{ font-family:'JetBrains Mono',monospace; font-size:0.36em; letter-spacing:0.18em; color:var(--copper); margin-right:14px; vertical-align:0.4em; }
.article .body ul.checks{ list-style:none; margin:24px 0 32px; padding:0; display:flex; flex-direction:column; gap:14px; }
.article .body ul.checks li{ display:grid; grid-template-columns: 22px 1fr; gap:16px; padding:14px 0; border-bottom:1px solid var(--rule); font-size:16px; line-height:1.55; color:var(--ink-2); }
.article .body ul.checks li::before{ content:""; width:14px; height:14px; border:1px solid var(--copper); display:block; margin-top:6px; position:relative; }
.article .body ul.checks li b{ color:var(--ink); font-weight:500; }

/* outcomes - sticky right rail */
.outcomes{ position:sticky; top:100px; }
.outcomes-card{ background:var(--paper); border:1px solid var(--rule); padding:28px; }
.outcomes-card .label{ font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--copper); margin-bottom:18px; }
.outcomes-card h4{ font-family:'Instrument Serif',serif; font-size:28px; line-height:1.1; letter-spacing:-0.01em; margin-bottom:24px; }
.outcomes-card h4 .it{ font-style:italic; color:var(--copper); }
.outcomes-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; }
.outcomes-list li{ padding:18px 0; border-top:1px solid var(--rule); display:grid; grid-template-columns:34px 1fr; gap:14px; align-items:start; }
.outcomes-list li:last-child{ border-bottom:1px solid var(--rule); }
.outcomes-list .num{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.18em; color:var(--copper); padding-top:4px; }
.outcomes-list .body{ font-size:14px; line-height:1.55; color:var(--ink-2); }
.outcomes-list .body b{ display:block; color:var(--ink); font-family:'Instrument Serif',serif; font-style:italic; font-size:18px; font-weight:400; margin-bottom:4px; letter-spacing:-0.01em; }

/* spec table */
.spec{ display:grid; grid-template-columns: repeat(4, 1fr); border-top:1px solid var(--rule); }
.spec-cell{ padding:24px 22px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.spec-cell:nth-child(4n){ border-right:none; }
.spec-cell .k{ font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:14px; }
.spec-cell .v{ font-family:'Instrument Serif',serif; font-size:24px; line-height:1.05; letter-spacing:-0.01em; color:var(--ink); }
.spec-cell .v .it{ font-style:italic; color:var(--copper); }
.spec-cell .sub{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.04em; color:var(--ink-soft); margin-top:8px; }

/* testimonial inline */
.svc-quote{ padding:80px 28px; }
.svc-quote .container{ display:grid; grid-template-columns:1fr 2fr; gap:60px; align-items:start; }
.svc-quote .label{ font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-soft); border-top:1px solid var(--rule); padding-top:18px; }
.svc-quote blockquote{ font-family:'Instrument Serif',serif; font-size:clamp(28px, 3.4vw, 48px); line-height:1.15; letter-spacing:-0.01em; color:var(--ink); }
.svc-quote blockquote .it{ font-style:italic; color:var(--copper); }
.svc-quote .author{ margin-top:30px; padding-top:18px; border-top:1px solid var(--rule); display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-soft); }

/* services nav (sibling links at bottom) */
.svc-siblings{ border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); display:grid; grid-template-columns:repeat(3,1fr); }
.svc-sibling{ padding:36px 28px; border-right:1px solid var(--rule); display:block; transition:background .3s ease; }
.svc-sibling:last-child{ border-right:none; }
.svc-sibling:hover{ background:var(--paper); }
.svc-sibling.current{ background:var(--paper); }
.svc-sibling .ix{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.18em; color:var(--copper); margin-bottom:16px; display:flex; justify-content:space-between; align-items:center; }
.svc-sibling .ix .arr{ color:var(--ink-soft); transition:transform .3s ease; }
.svc-sibling:hover .ix .arr{ transform:translateX(4px); color:var(--copper); }
.svc-sibling.current .ix .arr{ color:var(--copper); }
.svc-sibling h4{ font-family:'Instrument Serif',serif; font-size:24px; line-height:1.1; letter-spacing:-0.01em; }
.svc-sibling h4 .it{ font-style:italic; color:var(--copper); }
.svc-sibling p{ font-size:13px; color:var(--ink-soft); line-height:1.5; margin-top:10px; }

@media (max-width:920px){
  .article{ grid-template-columns:1fr; gap:48px; }
  .outcomes{ position:static; }
  .spec{ grid-template-columns:1fr 1fr; }
  .spec-cell:nth-child(2n){ border-right:none; }
  .spec-cell:nth-child(2n+1){ border-right:1px solid var(--rule); }
  .svc-quote .container{ grid-template-columns:1fr; gap:30px; }
  .svc-siblings{ grid-template-columns:1fr; }
  .svc-sibling{ border-right:none; border-bottom:1px solid var(--rule); }
}
