/* ==========================================================================
   Plate & Guide: web stylesheet for strategyadvisors.ai
   Source: the Plate & Guide design system (tokens.json, components/).
   Web scale = plate values halved (04-scale-and-media.md). Single light theme:
   paper grounds are always set explicitly and never flip in dark mode.
   Derived patterns the system does not define (buttons, fields, nav, accordion,
   step progress) are marked DERIVED and follow its interaction rules.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@700;800;900&family=IBM+Plex+Mono:wght@500&family=Inter+Tight:wght@400;500;600&display=swap');

:root{
  color-scheme: light;
  /* papers */
  --surface-chipboard:#C9B896; --surface-catalog:#EAE0CC; --surface-white:#F4EFE3; --surface-card-alt:#DFD8CA;
  --border-subtle:#CFC7B6; --rule-line:#E6DFD0;
  /* inks */
  --ink:#1A1714; --ink-secondary:#3D3A33; --ink-muted:#8A8578; --chipboard-muted:#5A4A2E; --chipboard-rule:#9E8C6A;
  --orange-anchor:#B8470A; --orange-tint:#EDDBC9; --orange-on-tint:#8A4A10;
  --green-anchor:#0F6338; --green-tint:#D5E3D9;
  --amber-anchor:#8A6209; --brick-anchor:#7E1F19; --brick-light:#A32B23;
  --blue-anchor:#2D5F86; --blue-light:#8FB8D6;
  /* type families */
  --font-display:'Archivo', system-ui, sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, 'SFMono-Regular', monospace;
  --font-body:'Inter Tight', system-ui, sans-serif;
  /* spacing (plate values; halve on use where noted) */
  --space-1:8px; --space-2:12px; --space-3:16px; --space-4:24px; --space-5:32px; --space-6:40px; --space-7:56px; --space-8:64px;
  /* borders at web scale: hairline never scales; accent 6→3, heavy 8→4, rule 2 */
  --border-hairline:1px; --border-rule:2px; --border-accent:3px; --border-heavy:4px;
  --wrap:1040px;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%; background:var(--surface-catalog)}
body{margin:0; background:var(--surface-catalog); color:var(--ink-secondary);
  font:400 17px/1.45 var(--font-body); -webkit-font-smoothing:antialiased}
img{max-width:100%}
em,i{font-style:normal}            /* no italics for emphasis */
strong,b{font-weight:600; color:var(--ink)}

/* links: ink text, orange locator underline (orange never sets type on paper) */
a{color:var(--ink); text-decoration:underline; text-decoration-color:var(--orange-anchor);
  text-decoration-thickness:2px; text-underline-offset:3px}
a:hover{text-decoration-thickness:3px}
:focus-visible{outline:2px solid var(--orange-anchor); outline-offset:2px}
.pg-chip :focus-visible{outline-color:var(--ink)}

.pg-wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}
@media(min-width:760px){ .pg-wrap{padding:0 40px} }

/* ---------- type styles (web scale) ---------- */
.pg-hero{font:900 clamp(44px,9vw,64px)/0.94 var(--font-display); letter-spacing:-0.03em; color:var(--ink); margin:0}
.pg-headline{font:900 clamp(30px,6vw,40px)/1.0 var(--font-display); letter-spacing:-0.03em; color:var(--ink); margin:0}
.pg-title{font:800 clamp(26px,4.4vw,32px)/1.08 var(--font-display); letter-spacing:-0.02em; color:var(--ink); margin:0}
.pg-subtitle{font:800 24px/1.15 var(--font-display); letter-spacing:-0.02em; color:var(--ink); margin:0}
.pg-label-display{font:700 18px/1.2 var(--font-display); color:var(--ink); margin:0}
.pg-lede{font:400 18px/1.4 var(--font-body); color:var(--ink-secondary); margin:0; max-width:60ch}
.pg-body{font:400 17px/1.45 var(--font-body); color:var(--ink-secondary); margin:0; max-width:64ch}
.pg-small{font:400 14px/1.45 var(--font-body); color:var(--ink-secondary); margin:0; max-width:64ch}
.pg-mono{font:500 12px/1.3 var(--font-mono); letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-secondary)}

/* ---------- Kicker ---------- */
.pg-kicker{font:500 12px/1.3 var(--font-mono); letter-spacing:0.2em; text-transform:uppercase;
  color:var(--green-anchor); margin:0 0 var(--space-3)}
.pg-kicker.muted{color:var(--ink-secondary)}
.pg-chip .pg-kicker{color:var(--ink-secondary)}   /* green & chipboard-muted miss 4.5:1 at 12px on chipboard */

/* ---------- Sheets / grounds ---------- */
.pg-chip{background:var(--surface-chipboard)}
.pg-catalog{background:var(--surface-catalog)}
.pg-whitesheet{background:var(--surface-white)}
.pg-section{padding:var(--space-7) 0 0}
.pg-section-head{margin-bottom:var(--space-4)}
.pg-section-head .pg-title{margin-bottom:var(--space-2)}
.pg-rule-top{border-top:var(--border-accent) solid var(--ink); padding-top:var(--space-4)}

/* ---------- Top bar + navigation (DERIVED) ---------- */
.pg-topbar{background:var(--surface-catalog); border-bottom:var(--border-rule) solid var(--ink)}
.pg-topbar.on-chip{background:var(--surface-chipboard)}
.pg-topbar .pg-wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:14px; padding-bottom:12px}
.pg-brand{display:block; text-decoration:none}
.pg-brand img{display:block; height:32px; width:auto}
.pg-nav{display:flex; flex-wrap:wrap; align-items:center; gap:4px 20px}
.pg-nav a{font:500 12px/1.3 var(--font-mono); letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-secondary);
  text-decoration:none; padding:6px 0; border-bottom:var(--border-accent) solid transparent}
.pg-nav a:hover{color:var(--ink); border-bottom-color:var(--ink)}
.pg-nav a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--orange-anchor)}

/* ---------- Buttons (DERIVED: orange fill carries white; ink outline second) ---------- */
.pg-btn{display:inline-block; font:600 15px/1 var(--font-body); letter-spacing:.01em; text-decoration:none; text-align:center;
  padding:16px 22px; border:var(--border-rule) solid var(--orange-anchor); border-radius:0; cursor:pointer;
  background:var(--orange-anchor); color:var(--surface-white)}
.pg-btn:hover{background:var(--orange-on-tint); border-color:var(--orange-on-tint)}
.pg-btn.ghost{background:transparent; color:var(--ink); border-color:var(--ink)}
.pg-btn.ghost:hover{background:var(--surface-white)}
.pg-btn.block{display:block; width:100%}
.pg-btn[disabled]{background:var(--surface-card-alt); border-color:var(--surface-card-alt); color:var(--ink-secondary); cursor:default}
.pg-btn-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:var(--space-5)}

/* ---------- Label / Value ---------- */
.pg-lv{display:grid; gap:0; margin:0}
.pg-lv.row{grid-template-columns:repeat(2,1fr); border-top:var(--border-rule) solid var(--ink); border-bottom:var(--border-hairline) solid var(--ink)}
@media(min-width:640px){ .pg-lv.row{grid-template-columns:repeat(4,1fr)} }
.pg-lv.row > div{padding:12px 14px 14px 0}
.pg-lv.row > div + div{border-left:var(--border-hairline) solid var(--border-subtle); padding-left:14px}
@media(max-width:639px){ .pg-lv.row > div:nth-child(3){border-left:0; padding-left:0} .pg-lv.row > div:nth-child(n+3){border-top:var(--border-hairline) solid var(--border-subtle)} }
.pg-chip .pg-lv.row > div + div{border-left-color:var(--chipboard-rule)}
.pg-lv dt{font:500 12px/1.3 var(--font-mono); letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-secondary); margin:0 0 var(--space-1)}
.pg-lv dd{font:400 15px/1.3 var(--font-body); color:var(--ink); margin:0}
.pg-lv dd.big{font:800 22px/1.1 var(--font-display); letter-spacing:-0.02em}
.pg-lv dd.num{font:500 15px/1.3 var(--font-mono); font-variant-numeric:tabular-nums; letter-spacing:.04em}
.pg-lv.grid{grid-template-columns:auto 1fr; gap:8px 20px; align-items:baseline}
.pg-lv.grid dt{margin:0}

/* ---------- Ruled Columns ---------- */
.pg-ruled{display:grid; gap:var(--space-4) var(--space-5); grid-template-columns:1fr}
@media(min-width:720px){ .pg-ruled.cols-3{grid-template-columns:repeat(3,1fr)} .pg-ruled.cols-2{grid-template-columns:repeat(2,1fr)} }
.pg-ruled > div{border-top:var(--border-accent) solid var(--ink); padding-top:var(--space-3)}
.pg-ruled > div.green{border-top-color:var(--green-anchor)}
.pg-ruled > div.orange{border-top-color:var(--orange-anchor)}
.pg-ruled .pg-mono{display:block; margin-bottom:var(--space-1)}
.pg-ruled h3{font:800 22px/1.15 var(--font-display); letter-spacing:-0.02em; color:var(--ink); margin:0 0 var(--space-1)}
.pg-ruled p{font:400 15.5px/1.5 var(--font-body); color:var(--ink-secondary); margin:0}
.pg-ruled p + p{margin-top:var(--space-2)}

/* ---------- Tint Card (tinted + flat) ---------- */
.pg-tint{background:var(--orange-tint); border-left:var(--border-heavy) solid var(--orange-anchor); padding:var(--space-4)}
.pg-tint.green{background:var(--green-tint); border-left-color:var(--green-anchor)}
.pg-tint .pg-mono{color:var(--orange-on-tint)}
.pg-tint.green .pg-mono{color:var(--green-anchor)}
.pg-card{background:var(--surface-white); border:var(--border-hairline) solid var(--border-subtle); border-left:var(--border-accent) solid var(--ink); padding:var(--space-4)}
.pg-card.orange{border-left-color:var(--orange-anchor)}
.pg-card.green{border-left-color:var(--green-anchor)}

/* ---------- Callout Balloon ---------- */
.pg-balloon{display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:30px; height:30px; border-radius:9999px;
  background:var(--orange-anchor); color:var(--surface-white); font:500 13px/1 var(--font-mono); font-variant-numeric:tabular-nums; letter-spacing:0}
.pg-balloon.green{background:var(--green-anchor)}
.pg-balloon.ink{background:var(--ink)}

/* ---------- Keyed rows (numbered list) ---------- */
.pg-keyed{list-style:none; margin:0; padding:0; border-top:var(--border-rule) solid var(--ink)}
.pg-keyed > li{display:grid; grid-template-columns:44px 1fr; gap:4px 14px; padding:14px 0; border-bottom:var(--border-hairline) solid var(--border-subtle)}
.pg-keyed h3{font:700 18px/1.25 var(--font-display); color:var(--ink); margin:3px 0 4px}
.pg-keyed p{font:400 15.5px/1.5 var(--font-body); color:var(--ink-secondary); margin:0}

/* ---------- Parts Table ---------- */
.pg-parts{width:100%; border-collapse:collapse; background:var(--surface-white); border:var(--border-hairline) solid var(--border-subtle)}
.pg-parts th{font:500 12px/1.3 var(--font-mono); letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-secondary);
  text-align:left; padding:10px 14px; border-bottom:var(--border-rule) solid var(--ink)}
.pg-parts td{font:400 15px/1.4 var(--font-body); color:var(--ink); padding:11px 14px; vertical-align:top}
.pg-parts tbody tr:nth-child(even){background:var(--surface-card-alt)}
.pg-parts td.item{font:500 14px/1.4 var(--font-mono); letter-spacing:.1em; font-variant-numeric:tabular-nums; width:56px}
.pg-parts .status{font:500 12px/1.3 var(--font-mono); letter-spacing:0.16em; text-transform:uppercase}
.pg-parts .status.open{color:var(--green-anchor)}
.pg-parts .status.closed{color:var(--brick-light)}

/* ---------- Pull Quote ---------- */
.pg-pull{border-left:var(--border-accent) solid var(--orange-anchor); padding:4px 0 4px var(--space-4); margin:var(--space-5) 0 0}
.pg-pull.green{border-left-color:var(--green-anchor)}
.pg-pull p{font:600 18px/1.45 var(--font-body); color:var(--ink); margin:0; max-width:60ch}
.pg-pull p + p{margin-top:var(--space-1); font:400 14.5px/1.5 var(--font-body); color:var(--ink-secondary)}

/* ---------- Full-bleed Statement (one per page) ---------- */
.pg-statement{background:var(--orange-anchor); color:var(--surface-white); padding:var(--space-6) var(--space-5); margin-top:var(--space-8)}
.pg-statement .pg-kicker{color:var(--surface-white)}
.pg-statement h2{font:900 clamp(28px,5.4vw,40px)/1.0 var(--font-display); letter-spacing:-0.03em; color:var(--surface-white); margin:0 0 var(--space-2); max-width:22ch}
.pg-statement p{font:400 17px/1.45 var(--font-body); color:var(--surface-white); margin:0; max-width:56ch}
.pg-statement .pg-btn{background:var(--surface-white); color:var(--ink); border-color:var(--surface-white)}
.pg-statement .pg-btn:hover{background:var(--surface-card-alt); border-color:var(--surface-card-alt)}
.pg-statement .pg-btn.ghost{background:transparent; color:var(--surface-white); border-color:var(--surface-white)}
.pg-statement .pg-btn.ghost:hover{background:var(--orange-on-tint)}
.pg-statement a:not(.pg-btn){color:var(--surface-white); text-decoration-color:var(--surface-white)}
.pg-statement :focus-visible{outline-color:var(--surface-white)}

/* ---------- Ruled Sheet + Title Block (documents) ---------- */
.pg-sheet{background:var(--surface-white); border:var(--border-hairline) solid var(--border-subtle); border-top:var(--border-accent) solid var(--ink);
  padding:var(--space-4) var(--space-4) var(--space-5);
  background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 23px, var(--rule-line) 23px, var(--rule-line) 24px)}
.pg-titleblock{display:flex; flex-wrap:wrap; background:var(--surface-white); border:var(--border-rule) solid var(--ink)}
.pg-titleblock > div{flex:1 1 120px; padding:10px 14px; border-left:var(--border-hairline) solid var(--border-subtle)}
.pg-titleblock > div:first-child{flex:2 1 220px; border-left:0}
.pg-titleblock dt{font:500 12px/1.3 var(--font-mono); letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-secondary); margin:0 0 4px}
.pg-titleblock dd{font:400 14px/1.35 var(--font-body); color:var(--ink); margin:0}
.pg-titleblock dd.rev{font:500 14px/1.35 var(--font-mono); font-variant-numeric:tabular-nums}

/* ---------- Accordion / FAQ (DERIVED; question headings allowed here by decision) ---------- */
.pg-faq details{border-bottom:var(--border-hairline) solid var(--border-subtle); padding:14px 0}
.pg-faq details:first-of-type{border-top:var(--border-rule) solid var(--ink)}
.pg-faq summary{cursor:pointer; list-style:none; position:relative; padding-right:32px; font:700 18px/1.3 var(--font-display); color:var(--ink)}
.pg-faq summary::-webkit-details-marker{display:none}
.pg-faq summary::after{content:'+'; position:absolute; right:0; top:-1px; font:500 20px/1 var(--font-mono); color:var(--ink)}
.pg-faq details[open] summary::after{content:'−'}
.pg-faq details p{font:400 15.5px/1.55 var(--font-body); color:var(--ink-secondary); margin:10px 0 0; max-width:64ch}

/* ---------- Form fields and choices (DERIVED) ---------- */
.pg-fields{display:grid; gap:16px}
@media(min-width:620px){ .pg-fields.two{grid-template-columns:1fr 1fr} .pg-fields .full{grid-column:1/-1} }
label.pg-field{display:block}
label.pg-field > span{display:block; font:500 12px/1.3 var(--font-mono); letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-secondary); margin-bottom:var(--space-1)}
label.pg-field > span em{font-style:normal; color:var(--ink-secondary); letter-spacing:.08em}
.pg-input{width:100%; font:400 16px/1.35 var(--font-body); color:var(--ink); background:var(--surface-white);
  border:var(--border-hairline) solid var(--ink-secondary); border-radius:0; padding:11px 12px; appearance:none}
select.pg-input{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%; background-size:5px 5px; background-repeat:no-repeat; padding-right:34px}
.pg-input:focus{outline:2px solid var(--orange-anchor); outline-offset:2px}
.pg-input.err{border-color:var(--brick-anchor); border-width:2px; background:var(--orange-tint)}
.pg-choices{display:grid; gap:10px; grid-template-columns:1fr}
@media(min-width:560px){ .pg-choices.two{grid-template-columns:1fr 1fr} .pg-choices.three{grid-template-columns:repeat(3,1fr)} }
.pg-choices.three{grid-template-columns:1fr 1fr}
.pg-choice{display:block; position:relative; cursor:pointer; background:var(--surface-white);
  border:var(--border-hairline) solid var(--ink-secondary); border-left:var(--border-heavy) solid var(--ink-secondary); padding:14px 16px}
.pg-choice:hover{border-left-color:var(--ink)}
.pg-choice input{position:absolute; opacity:0; pointer-events:none}
.pg-choice .c-main{display:block; font:700 17px/1.25 var(--font-display); color:var(--ink)}
.pg-choice .c-sub{display:block; margin-top:4px; font:500 12px/1.3 var(--font-mono); letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-secondary)}
.pg-choice:has(input:checked){background:var(--orange-tint); border-color:var(--orange-anchor); border-left-color:var(--orange-anchor)}
.pg-choice:has(input:checked) .c-sub{color:var(--orange-on-tint)}
.pg-choice:has(input:focus-visible){outline:2px solid var(--orange-anchor); outline-offset:2px}
.pg-choice.closed{cursor:not-allowed; background:var(--surface-card-alt); border-left-color:var(--border-subtle)}
.pg-choice.closed .c-main{color:var(--ink-secondary)}
.err-group{outline:2px solid var(--brick-anchor); outline-offset:4px}
.pg-err{font:500 14px/1.45 var(--font-body); color:var(--brick-light); margin:var(--space-3) 0 0}
.pg-nudge{margin-top:var(--space-2); background:var(--surface-white); border-left:var(--border-accent) solid var(--green-anchor); padding:10px 14px; font:400 14.5px/1.45 var(--font-body); color:var(--ink)}
.pg-warn{margin-top:var(--space-3); background:var(--orange-tint); border-left:var(--border-heavy) solid var(--brick-anchor); padding:14px 16px; font:400 15px/1.5 var(--font-body); color:var(--ink)}

/* ---------- Step progress (DERIVED from balloons) ---------- */
.pg-steps{list-style:none; margin:var(--space-5) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; border-top:var(--border-rule) solid var(--ink); padding-top:12px}
.pg-steps li{display:flex; align-items:center; gap:10px; font:500 12px/1.3 var(--font-mono); letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-secondary)}
.pg-steps li .pg-balloon{background:transparent; color:var(--ink-secondary); border:var(--border-hairline) solid var(--ink-secondary)}
.pg-steps li.now{color:var(--ink)}
.pg-steps li.now .pg-balloon{background:var(--orange-anchor); color:var(--surface-white); border-color:var(--orange-anchor)}
.pg-steps li.done .pg-balloon{background:var(--green-anchor); color:var(--surface-white); border-color:var(--green-anchor)}
@media(max-width:520px){ .pg-steps li span.t{display:none} }

/* ---------- Footer band ---------- */
.pg-footer{margin-top:var(--space-8); border-top:var(--border-rule) solid var(--ink); padding:var(--space-3) 0 var(--space-6)}
.pg-footer .pg-wrap{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font:500 11px/1.5 var(--font-mono); letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-secondary)}
.pg-footer a{color:var(--ink-secondary); text-decoration-color:var(--orange-anchor)}

/* placeholder marker for unfinished content (remove before final) */
.pg-placeholder{display:inline-block; font:500 12px/1.3 var(--font-mono); letter-spacing:0.12em; text-transform:uppercase;
  background:var(--surface-white); color:var(--brick-anchor); border:var(--border-hairline) dashed var(--brick-anchor); padding:6px 10px}

@media print{ .pg-topbar .pg-nav, .pg-statement, .pg-footer, .pg-btn-row{display:none!important} body{background:#fff} }
@media (prefers-reduced-motion:reduce){ *{transition:none!important} }

/* ---------- Agreement text inside a Ruled Sheet ---------- */
.pg-sheet h4{font:800 22px/1.15 var(--font-display); letter-spacing:-0.02em; color:var(--ink); margin:0 0 8px}
.pg-sheet .parties{font:400 14px/1.5 var(--font-body); color:var(--ink-secondary); margin:0 0 16px}
.pg-sheet ol{list-style:none; margin:0; padding:0; counter-reset:cl}
.pg-sheet ol > li{counter-increment:cl; position:relative; padding:14px 0 14px 40px; border-top:var(--border-hairline) solid var(--border-subtle); font:400 15px/1.55 var(--font-body); color:var(--ink-secondary)}
.pg-sheet ol > li::before{content:counter(cl,decimal-leading-zero); position:absolute; left:0; top:13px; width:28px; height:28px; border-radius:9999px; background:var(--orange-anchor); color:var(--surface-white); font:500 12px/28px var(--font-mono); text-align:center}
.pg-sheet ol > li.nda::before{background:var(--green-anchor)}
.pg-sheet ol > li > strong{display:block; font:700 16px/1.3 var(--font-display); color:var(--ink); margin-bottom:4px}
.pg-sheet p{margin:0 0 8px} .pg-sheet ul{margin:4px 0 8px; padding-left:18px}
.pg-sheet .ver{font:500 12px/1.3 var(--font-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-secondary); margin-top:14px}
.pg-sheet .draft-flag{display:inline-block; font:500 12px/1 var(--font-mono); letter-spacing:.14em; text-transform:uppercase; background:var(--brick-anchor); color:var(--surface-white); padding:6px 8px; margin-bottom:12px}

/* ==========================================================================
   Site pages (home, speaking, library, membership): additions
   ========================================================================== */
.pg-topbar .pg-nav .pg-btn{padding:10px 14px; font-size:13px; border-bottom-width:var(--border-rule); color:var(--surface-white)}
.pg-topbar .pg-nav .pg-btn:hover{color:var(--surface-white); border-bottom-color:var(--orange-on-tint)}
@media(min-width:720px){ .pg-ruled.cols-4{grid-template-columns:repeat(4,1fr)} }
@media(min-width:560px) and (max-width:719px){ .pg-ruled.cols-4{grid-template-columns:repeat(2,1fr)} }
.pg-ruled ul{list-style:none; margin:var(--space-3) 0 0; padding:0; border-top:var(--border-hairline) solid var(--border-subtle)}
.pg-ruled li{font:400 15px/1.5 var(--font-body); color:var(--ink-secondary); padding:10px 0; border-bottom:var(--border-hairline) solid var(--border-subtle)}
.pg-ruled li strong{color:var(--ink)}
.pg-ruled .pos{font:600 16px/1.4 var(--font-body); color:var(--ink); margin-top:var(--space-1)}
.pg-ruled .qual{font:400 14.5px/1.5 var(--font-body); color:var(--ink-secondary)}
.pg-ruled .pg-balloon{margin-bottom:10px}
.pg-stat dd.stat{font:900 clamp(36px,5vw,48px)/1 var(--font-display); letter-spacing:-0.03em; color:var(--ink); margin:6px 0 8px}
.pg-stat p{font:400 14px/1.45 var(--font-body); color:var(--ink-secondary); margin:0}
.pg-quote{background:var(--surface-white); border:var(--border-hairline) solid var(--border-subtle); border-left:var(--border-accent) solid var(--orange-anchor); padding:var(--space-4)}
.pg-quote p{font:400 16px/1.6 var(--font-body); color:var(--ink); margin:0 0 12px}
.pg-quote + .pg-quote{margin-top:var(--space-3)}
.pg-logos{display:flex; flex-wrap:wrap; align-items:center; gap:28px 36px; margin-top:var(--space-3)}
.pg-logos img{display:block; width:auto; mix-blend-mode:multiply}
.pg-split{display:grid; gap:var(--space-5); grid-template-columns:1fr}
@media(min-width:760px){ .pg-split{grid-template-columns:1fr 2fr} }
.pg-chip .pg-pull{border-left-color:var(--ink)}
.pg-chip .pg-pull .attrib, .pg-pull .attrib{display:block; margin-top:10px; font:500 12px/1.3 var(--font-mono); letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-secondary)}
.pg-status{font:500 12px/1.3 var(--font-mono); letter-spacing:0.16em; text-transform:uppercase; white-space:nowrap}
.pg-status.available{color:var(--green-anchor)}
.pg-status.roadmap{color:var(--amber-anchor)}
.pg-skill{display:grid; grid-template-columns:1fr auto; gap:4px 16px; padding:16px 0; border-bottom:var(--border-hairline) solid var(--border-subtle)}
.pg-skill h3{font:700 18px/1.25 var(--font-display); color:var(--ink); margin:0}
.pg-skill p{grid-column:1/-1; font:400 15px/1.55 var(--font-body); color:var(--ink-secondary); margin:0; max-width:72ch}
.pg-skill .note{font:500 12px/1.3 var(--font-mono); letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-secondary)}
.pg-skills{border-top:var(--border-rule) solid var(--ink)}
.pg-skills-sub{font:500 12px/1.3 var(--font-mono); letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-secondary); margin:var(--space-4) 0 0; padding-bottom:8px}
.pg-sitefoot{margin-top:var(--space-8); border-top:var(--border-rule) solid var(--ink); padding:var(--space-5) 0 var(--space-6)}
.pg-sitefoot .cols{display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px}
.pg-sitefoot img{height:28px; width:auto; display:block; margin-bottom:10px}
.pg-sitefoot .desc{font:400 14px/1.5 var(--font-body); color:var(--ink-secondary); max-width:34ch; margin:0}
.pg-sitefoot nav{display:flex; flex-wrap:wrap; gap:8px 20px; align-content:flex-start}
.pg-sitefoot nav a,.pg-sitefoot .base{font:500 12px/1.4 var(--font-mono); letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-secondary)}
.pg-sitefoot .base{display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-top:var(--space-4); padding-top:var(--space-3); border-top:var(--border-hairline) solid var(--border-subtle)}
.pg-statement .pg-mono,.pg-sitefoot .base{overflow-wrap:anywhere}

/* Opening sections: archive white instead of chipboard (Oct 26 decision: chipboard read too dark
   for the first screen). Applies everywhere .pg-chip / .on-chip is used. */
.pg-chip,.pg-topbar.on-chip{background:var(--surface-white)}
.pg-chip{border-bottom:var(--border-rule) solid var(--ink)}
.pg-chip .pg-lv.row > div + div{border-left-color:var(--border-subtle)}
