/* ============================================================
   CHARTER — interior page layer (token-driven; works under any
   charter-*.css loaded before it). Styles the legacy page classes.
   ============================================================ */
/* nav (shared markup with homepage) styled by base file */

/* ---- page head ---- */
.page-head{background:var(--bone);padding:clamp(120px,17vh,190px) 0 clamp(30px,5vh,52px)}
.page-head .shell{max-width:none;margin:0;padding:0 clamp(16px,3vw,3vw) 0 clamp(20px,7.2vw,7.2vw)}
.mono.crumb,.crumb{display:block;font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;
  font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:var(--brass);margin-bottom:18px}
.page-head h1{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:600;text-transform:uppercase;
  line-height:.9;letter-spacing:-.035em;font-size:clamp(2.4rem,6.4vw,6rem);color:var(--ink);max-width:16ch}
.page-head h1 em{font-style:normal;color:var(--ox)}
.standfirst{font-family:Gambetta,Georgia,serif;font-weight:300;font-size:clamp(1.08rem,1rem + .45vw,1.4rem);
  line-height:1.45;color:var(--ink-2);max-width:56ch;margin-top:26px}

/* ---- page body ---- */
.page-body{background:var(--bone);padding:clamp(26px,4vh,48px) 0 clamp(70px,11vh,140px)}
.page-body .shell{max-width:none;margin:0;padding:0 clamp(16px,3vw,3vw) 0 clamp(20px,7.2vw,7.2vw)}
.shell.two-col{display:grid;gap:44px}
@media(min-width:980px){.shell.two-col{grid-template-columns:minmax(0,1fr) 27%;column-gap:clamp(40px,5.5vw,100px)}}
.prose{max-width:66ch;font-size:clamp(1.02rem,.96rem + .3vw,1.2rem)}
.prose p{margin-bottom:1.05rem;color:var(--ink-2)}
.prose p b,.prose b{color:var(--ink);font-weight:500}
.prose h2{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;letter-spacing:-.025em;
  font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.12;color:var(--ink);
  margin:2.4rem 0 1rem;padding-top:1.6rem;border-top:1px solid var(--rule)}
.prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prose ol,.prose ul{margin:0 0 1.2rem 1.2rem}
.prose li{margin-bottom:.55rem;color:var(--ink-2)}
.prose li b{color:var(--ink)}
.prose a{color:var(--ink);text-decoration:none;background-image:linear-gradient(var(--ox),var(--ox));
  background-repeat:no-repeat;background-size:100% 1px;background-position:0 100%}
.prose a:hover{color:var(--ox)}
.byline{border-top:1px solid var(--brass);margin-top:2.6rem;padding-top:1.2rem;
  font-size:.95rem;color:var(--ink-2)}

/* ---- sidebar (assessment / advisory) ---- */
.sidebar{border-top:1px solid var(--brass);padding-top:6px;height:fit-content}
@media(min-width:980px){.sidebar{position:sticky;top:90px}}
.side-item{padding:14px 0;border-bottom:1px solid var(--rule)}
.side-item .k{display:block;font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;
  font-size:.6rem;text-transform:uppercase;letter-spacing:.19em;color:var(--brass);margin-bottom:5px}
.side-item .v{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:400;
  font-size:.85rem;line-height:1.45;color:var(--ink)}
.side-item .v b{font-weight:500}

/* ---- FAQ ---- */
.qa-list{max-width:72ch}
.qa{padding:clamp(20px,3.4vh,34px) 0;border-bottom:1px solid var(--rule)}
.qa h2{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;letter-spacing:-.02em;
  font-size:clamp(1.12rem,2vw,1.5rem);line-height:1.2;color:var(--ink);margin-bottom:.7rem}
.qa .a{color:var(--ink-2)}
.qa .a b{color:var(--ink);font-weight:500}
.qa .a p{margin-bottom:.8rem}

/* ---- chronology (about) ---- */
.chronology{border-top:1px solid var(--brass);margin-top:2.2rem;padding-top:8px;max-width:66ch}
.chrono-row{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:11px 0;
  border-bottom:1px solid var(--rule);align-items:baseline}
.chrono-row .yr{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:.68rem;
  letter-spacing:.09em;color:var(--ox);font-variant-numeric:tabular-nums}
.chrono-row .role{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:400;
  font-size:.85rem;line-height:1.45;color:var(--ink)}
.delivery-note{border:1px solid var(--rule);border-left:2px solid var(--ox);
  padding:16px 20px;margin:1.6rem 0;color:var(--ink-2);max-width:60ch;font-size:.98rem}

/* ---- portrait (interior only, standing rule) ---- */
.portrait img{width:100%;height:auto;display:block;filter:grayscale(1) contrast(1.02)}
.portrait{max-width:340px}
.portrait .cap{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:.6rem;
  text-transform:uppercase;letter-spacing:.18em;color:var(--ink-2);margin-top:10px}

/* ---- article (essays) ---- */
.article{background:var(--bone)}
.article-shell{padding:0 clamp(16px,3vw,3vw) 0 clamp(20px,7.2vw,7.2vw)}
.article .page-head h1{text-transform:none;letter-spacing:-.028em;line-height:1.02;
  font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500}
.article .page-head h1 em{font-style:italic;color:var(--ox);font-family:Gambetta,Georgia,serif;font-weight:400}
.cap{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:.62rem;
  text-transform:uppercase;letter-spacing:.16em;color:var(--ink-2)}

/* ---- insights index rows (svc) ---- */
.svc-list{border-top:1px solid var(--brass)}
.svc{display:grid;gap:8px;padding:clamp(22px,3.4vh,38px) 0;border-bottom:1px solid var(--rule);
  text-decoration:none;color:inherit}
@media(min-width:880px){.svc{grid-template-columns:9% minmax(0,1fr) 19% 4%;column-gap:clamp(16px,2.6vw,44px);align-items:start}}
.svc-no{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;
  font-size:clamp(1rem,1.7vw,1.4rem);color:var(--brass);font-variant-numeric:tabular-nums}
.svc-name{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;letter-spacing:-.022em;
  font-size:clamp(1.15rem,2.1vw,1.7rem);line-height:1.14;max-width:30ch;
  background-image:linear-gradient(var(--ox),var(--ox));background-repeat:no-repeat;
  background-size:0 1px;background-position:0 100%;transition:background-size .5s var(--ease);padding-bottom:2px}
.svc:hover .svc-name{background-size:100% 1px}
.svc-desc{grid-column:2;color:var(--ink-2);font-size:.98rem;line-height:1.45;max-width:52ch}
@media(max-width:879px){.svc-desc{grid-column:auto}}
.svc-terms{display:flex;flex-direction:column;gap:4px}
.svc-terms .t1,.svc-terms .t2{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;
  font-size:.63rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-2)}
@media(min-width:880px){.svc-terms{text-align:right}}
.svc .go{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;color:var(--ox);font-size:1.1rem;
  transition:transform .5s var(--ease)}
.svc:hover .go{transform:translateX(6px)}

/* legacy bits neutralised */
.ghost{display:none}
.mono{font-family:Switzer,"Helvetica Neue",Arial,sans-serif;font-weight:500;
  text-transform:uppercase;letter-spacing:.16em;font-size:.66rem}
