/* policy — page-family styles.
   Structural selectors recovered from the pre-overhaul pages after the
   cleanup pass removed them, translated onto the current tokens: palette
   and type mapped to variables, radii squared, soft shadows dropped.
   The build does not edit this file. */
.page-hero{background:transparent;border-bottom:1px solid var(--hair);padding:52px 0 30px;position:relative;overflow:visible}
.hero-inner{max-width:720px;margin:0 auto;padding:0 24px}
.hero-label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral-ink)}
.hero-title{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.13;letter-spacing:-.015em;color:var(--t1) !important;margin:14px 0 0}
.hero-subtitle{font-size:17px;line-height:1.6;color:var(--t2);margin-top:16px}
.hero-meta,.hero-reading{font-size:13px;color:var(--t3);margin-top:8px}
.doc{max-width:720px;margin:0 auto;padding:8px 24px 64px}
.doc>p{font-size:16.5px;line-height:1.68;color:var(--t2);margin:0 0 18px}
.doc h2{font-family:var(--serif);font-weight:600;font-size:1.4rem;color:var(--t1);margin:36px 0 12px}
.pillar-index{margin:28px 0;border:1px solid var(--edge);border-radius:var(--r);overflow:hidden;background:var(--panel)}
.pi-row{display:grid;grid-template-columns:50px 180px 1fr;gap:14px;padding:14px 22px;border-top:1px solid var(--hair);align-items:baseline}
.pi-row:first-child{border-top:none}
.pi-num{font-size:13px;font-weight:700;color:var(--coral-ink)}
.pi-name{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--t1)}
.pi-desc{font-size:13.5px;line-height:1.5;color:var(--t2)}
.pillar{padding:44px 0 36px;border-bottom:1px solid var(--hair)}
.pillar-num{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-ink);margin-bottom:6px}
.pillar h2,.pillar-title,.pillar-name{font-family:var(--serif);font-weight:500;font-size:clamp(1.45rem,3vw,1.95rem);line-height:1.18;color:var(--t1);margin:0 0 14px}
.plain-summary{background:rgba(16,23,28,.03);border:1px solid var(--hair);border-radius:var(--r);padding:16px 20px;margin:16px 0}
.ps-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-ink);margin-bottom:6px}
.ps-label+*{font-size:15px;line-height:1.62;color:var(--t2)}
.subsect{margin-bottom:28px}
.subsect h3,.subsect-title,.ss-title{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--t1);margin:0 0 8px}
.precedent{border-left:3px solid var(--coral);padding:6px 0 6px 18px;margin:14px 0}
.precedent-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-ink);margin-bottom:5px}
.policy-box{margin:8px 0 20px}
.ask{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;font-size:15.5px;line-height:1.6;color:var(--t2)}
.ask-num{font-size:13px;font-weight:700;color:var(--coral-ink);flex-shrink:0;min-width:26px;margin-top:2px}
.to-grid{display:grid;grid-template-columns:1fr 40px 1fr;gap:0;align-items:stretch;margin:14px 0}
.to-side{border:1px solid var(--edge);border-radius:var(--r);padding:16px 18px;background:var(--panel)}
.to-side-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-ink);margin-bottom:6px}
.to-vs,.to-mid,.to-divider{display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;color:var(--t3);font-size:13px}
.exec-summary{background:rgba(232,115,90,.06);border:1px solid var(--edge);border-radius:var(--r);padding:24px 26px;margin:26px 0}
.es-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-ink);margin-bottom:10px}
.exec-summary p{font-size:16px;line-height:1.64;color:var(--t2);margin:0 0 12px}
.exec-summary p:last-child{margin-bottom:0}
.tradeoffs,.tradeoff,.leg-asks{margin:16px 0}
.sources-section{margin-top:48px;padding-top:28px;border-top:1px solid var(--hair)}
.sources-section h2,.sources-section h3{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--t1);margin:0 0 12px}
.source-item{font-size:13.5px;line-height:1.6;color:var(--t3);padding:5px 0}
.doc-footer{margin-top:48px;padding-top:28px;border-top:1px solid var(--hair);font-size:14px;color:var(--t3);line-height:1.6}
.sig{font-family:var(--serif);font-style:italic;color:var(--t2)}
.attr{font-size:13px;color:var(--t3);margin-top:8px}
.section-cta-banner{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r);padding:32px 28px;margin:44px 0;text-align:center}
.cta-banner-inner{max-width:540px;margin:0 auto}
.dl-link,.section-cta-banner a{display:inline-block;background:var(--coral);color:var(--panel) !important;font-weight:600;font-size:14px;padding:11px 24px;border-radius:var(--r);text-decoration:none;margin-top:14px}
/* === fixes: pillar-index grid on the link, ask flex, heading caps === */
.pi-row{display:block !important;padding:0 !important;border-top:1px solid var(--hair)}
.pi-row a{display:grid;grid-template-columns:50px 180px 1fr;gap:14px;padding:14px 22px;align-items:baseline;text-decoration:none;color:inherit}
.ask{display:flex !important;gap:12px;align-items:baseline}
.ask p{margin:0 !important;max-width:none !important;padding:0 !important}
.pillar h2,.pillar-title,.pillar-name,.leg-asks h4,.subsect h3,.exec-summary p{max-width:none}

@media(max-width:600px){
  .pi-row a{grid-template-columns:34px minmax(0,1fr);gap:5px 10px;padding:14px 16px}
  .pi-desc{grid-column:2}
  .to-grid{grid-template-columns:1fr;gap:8px}
  .to-vs,.to-mid,.to-divider{min-height:28px}
}
