/* SV Systems site — shared styles. Pine, lifted (sheet 30, provisional). */
@font-face{font-family:"Young Serif";src:url(fonts/young-serif-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Commissioner";src:url(fonts/commissioner-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Commissioner";src:url(fonts/commissioner-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --ground:#111111; --raised:#161B19; --ink:#E6EBE7; --ink2:#98A39D;
  --ink3:#75807A; --accent:#4FB08A; --accent2:#D6A65C; --rule:#242B27;
  --serif:"Young Serif",Georgia,"Times New Roman",serif;
  --sans:"Commissioner",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --gut:clamp(16px,6vw,84px);
}
*{box-sizing:border-box}
html{background:var(--ground)}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
.page{max-width:calc(660px + var(--gut) * 2);padding:clamp(40px,8vh,72px) var(--gut) 0}
.page.wide{max-width:calc(760px + var(--gut) * 2)}

/* draft banner */
.draft{position:sticky;top:0;z-index:5;background:var(--accent2);color:#111;font-size:11px;
  letter-spacing:.09em;text-transform:uppercase;padding:6px var(--gut);font-weight:500}

/* masthead */
.mast{display:flex;align-items:center;gap:12px;margin-bottom:18px;text-decoration:none}
.mk{width:38px;aspect-ratio:1110/980;height:auto;display:block;color:var(--ink);flex:none}
.wm{font-family:var(--serif);font-size:22px;letter-spacing:.03em;color:var(--accent);line-height:1}
.mast.sm .mk{width:28px} .mast.sm .wm{font-size:16px}
.crumb{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);margin:0 0 34px}
.crumb a{text-decoration:none} .crumb a:hover{color:var(--accent)}

.intro{max-width:44ch;margin-bottom:30px}
.intro p{margin:0}
.intro .a{font-size:16px;line-height:1.5;color:var(--ink)}
.intro .b{font-size:13px;color:var(--ink3);margin-top:6px}

/* index rows */
ul.lanes{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
ul.lanes li{border-bottom:1px solid var(--rule)}
.row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"n c" "d d";
  gap:2px 20px;padding:15px 4px 16px;text-decoration:none;color:inherit;
  transition:background .18s ease,padding .18s ease}
a.row:hover,a.row:focus-visible{background:var(--raised);padding-left:11px;padding-right:11px}
a.row:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}
.n{grid-area:n;font-family:var(--serif);font-size:18px;line-height:1.2;transition:color .18s ease}
a.lane-a:hover .n,a.lane-a:focus-visible .n{color:var(--accent)}
a.lane-b:hover .n,a.lane-b:focus-visible .n{color:var(--accent2)}
.d{grid-area:d;font-size:13px;color:var(--ink2);line-height:1.5;max-width:54ch}
.c{grid-area:c;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);
  font-variant-numeric:tabular-nums;white-space:nowrap;align-self:center;
  display:inline-flex;align-items:center;gap:6px}
.lk{width:9px;height:11px;flex:none;opacity:.9}
.tobuild{cursor:default}
footer{padding:20px var(--gut) 48px;font-size:11.5px;color:var(--ink3);letter-spacing:.04em}

/* inner pages */
h1{font-family:var(--serif);font-weight:400;font-size:clamp(28px,5vw,38px);line-height:1.15;margin:0 0 10px}
h2{font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.25;margin:0 0 14px}
.lede{font-size:17px;line-height:1.55;color:var(--ink);max-width:52ch;margin:0 0 8px}
.meta{font-size:13px;color:var(--ink3);margin:0}
section{border-top:1px solid var(--rule);padding:28px 0 30px}
section:first-of-type{margin-top:34px}
.eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);margin:0 0 12px}
p{margin:0 0 12px}
.muted{color:var(--ink2)}
.small{font-size:13px}
.review{display:inline-block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--accent2);border:1px solid currentColor;border-radius:3px;padding:1px 6px;margin-left:8px;vertical-align:2px}

.btn{display:inline-flex;align-items:center;gap:8px;font:500 14px/1 var(--sans);padding:12px 18px;
  border-radius:4px;text-decoration:none;border:1px solid var(--accent);color:var(--accent);
  background:transparent;cursor:pointer;transition:background .18s ease,color .18s ease}
.btn:hover,.btn:focus-visible{background:var(--accent);color:#111}
.btn.solid{background:var(--accent);color:#111}
.btn.solid:hover{background:#63c39d}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

@media (prefers-reduced-motion:no-preference){
  .mast,.intro,.lanes li,footer,.rise{animation:rise .5s cubic-bezier(.2,.6,.2,1) both;animation-delay:var(--d,0ms)}
  .intro{--d:70ms} footer{--d:340ms}
  ul.lanes li{animation-delay:calc(130ms + var(--d,0ms))}
  @keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}
@media (max-width:520px){
  .row{grid-template-columns:1fr;grid-template-areas:"n" "d" "c";gap:3px}
  .c{align-self:start;margin-top:6px}
  .wm{font-size:20px} .mk{width:34px}
}
