/* Secondary pages inherit the homepage's typography, tokens and site shell. */
[hidden] { display:none !important; }
img,video { max-width:100%; }
button,input,textarea,select { font:inherit; }
.page-head { padding:42px 0 36px; }
.page-head h1,.site-page>section h1 { max-width:820px; margin:12px 0 20px; font-size:42px; line-height:1.15; font-weight:500; }
.eyebrow { font-size:12px; color:var(--muted); }
.lead,.sub { max-width:680px; color:var(--muted); }
.lead { font-size:18px; }
.site-page>section { padding:36px 0; border-top:1px solid var(--line); }
.band,.progress-log { background:#f3f5f3; }
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:56px; }
.split h2 { margin-top:12px; }
.stack-list>div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:20px; padding:16px 0; border-bottom:1px solid var(--line); }
.stack-list>div:first-child { padding-top:0; }
.stack-list strong { font-size:14px; font-weight:600; }
.stack-list span,.prose,.statement { font-size:15px; color:var(--muted); }
.prose p+p { margin-top:16px; }
.prose a,.console-links a { text-decoration:underline; text-underline-offset:4px; }
.ctas { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:24px; }
.btn { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:10px 18px; border:1px solid var(--line); border-radius:4px; font-size:14px; cursor:pointer; }
.btn-primary { color:#fff; background:var(--accent); border-color:var(--accent); }
.btn-primary:hover { background:#065c43; color:#fff; }
.btn-ghost { background:#fff; }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 40px; }
.card { padding-top:20px; border-top:1px solid var(--line); }
.card .icon { color:var(--accent); font-size:12px; }
.card h3 { font-size:20px; font-weight:500; margin:10px 0; }
.card p { font-size:15px; color:var(--muted); }
.signup-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; }
.signup-hero h1 { font-size:38px; }
.pilot-points { margin-top:28px; }
.pilot-points>div { display:flex; gap:16px; padding:12px 0; border-top:1px solid var(--line); font-size:13px; }
.pilot-points strong { color:var(--accent); }
.signup-form { min-width:0; padding:24px; border:1px solid var(--line); border-radius:4px; }
.form-head strong { display:block; font-size:20px; font-weight:500; }
.form-head span,.signup-note { font-size:12px; color:var(--muted); }
.signup-form label { display:block; margin-top:20px; font-size:13px; }
.signup-form input,.signup-form textarea { display:block; width:100%; margin-top:6px; padding:10px 12px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--ink); font-size:14px; }
.signup-form textarea { resize:vertical; min-height:110px; }
.signup-form button { margin:20px 0 12px; }
.skip-link { position:absolute; top:-100px; background:#fff; padding:12px; }
.skip-link:focus { top:0; z-index:10; }
.clip-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.clip-toolbar h2 { font-size:24px; margin-bottom:4px; }
.clip-toolbar .sub { font-size:12px; }
.clip-toolbar label { display:flex; align-items:center; gap:12px; font-size:13px; }
.clip-toolbar select { width:170px; padding:9px 12px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--ink); font-size:14px; }
#clip-count { font-size:12px; color:var(--muted); margin:18px 0; }
.demo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
.demo-grid.tennis-gallery { grid-template-columns:minmax(0,1fr); }
.demo-card { min-width:0; scroll-margin-top:24px; }
.demo-card-head { display:flex; flex-direction:column; gap:5px; padding-bottom:12px; min-height:62px; }
.demo-card-head strong { font-size:16px; font-weight:600; }
.demo-card-head span { color:var(--muted); font-size:12px; }
.demo-card video { display:block; width:100%; aspect-ratio:16/9; background:#151918; object-fit:contain; }
.demo-actions { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:12px; font-size:12px; }
.demo-actions a { text-decoration:underline; text-underline-offset:4px; }
.clip-error { margin-top:12px; font-size:13px; }
.clip-retry { margin-left:8px; border:1px solid var(--line); border-radius:4px; padding:6px 10px; background:#fff; color:var(--ink); cursor:pointer; }
.demo-grid:has(.demo-card[hidden]) { grid-template-columns:minmax(0,1fr); }
.progress-log h2 { margin-top:12px; }
.progress-entry { display:grid; grid-template-columns:210px minmax(0,1fr); gap:40px; padding:24px 0; margin-top:24px; border-top:1px solid var(--line); }
.progress-entry h3 { font-size:22px; font-weight:500; margin:0 0 14px; }
.progress-entry p { font-size:15px; color:var(--muted); margin-bottom:14px; }
.progress-entry time,.progress-entry>div>span:first-child { font-size:12px; color:var(--muted); }
.progress-state { display:block; color:var(--accent); font-size:12px; margin-top:8px; }
.progress-entry a { font-size:14px; color:var(--accent); }
.console-links { display:flex; flex-direction:column; gap:12px; font-size:14px; }
@media(max-width:700px) {
  .page-head { padding:28px 0; }
  .page-head h1,.signup-hero h1,.site-page>section h1 { font-size:32px; }
  .lead { font-size:16px; }
  .split,.signup-hero,.grid,.demo-grid,.progress-entry { grid-template-columns:minmax(0,1fr); gap:24px; }
  .site-page>section { padding:28px 0; }
  .signup-form { padding:20px; }
  .clip-toolbar { align-items:flex-start; gap:12px; }
  .clip-toolbar label { flex-direction:column; align-items:flex-start; gap:4px; }
  .clip-toolbar select { width:140px; font-size:12px; }
  .clip-toolbar h2 { font-size:22px; }
  .stack-list>div { grid-template-columns:100px minmax(0,1fr); gap:12px; }
}
