/* RAMP 90S contract stage identity + canonical type scale — presentation only */
body.r90-contract-presentation-mode{
  --r90-type-page:34px;
  --r90-type-lead:28px;
  --r90-type-section:24px;
  --r90-type-subsection:20px;
  --r90-type-card:18px;
  --r90-type-action:17px;
  --r90-type-body:15px;
  --r90-type-support:13px;
  --r90-type-meta:11px;
}

/* Stage identity: visible, restrained, and persistent. */
body.r90-contract-presentation-mode .r90-simple-header{
  border-left:5px solid var(--r90-phase-color);
  padding-left:20px;
}
body.r90-contract-presentation-mode .r90-simple-header .phase-kicker{
  color:var(--r90-phase-color);
  font-size:var(--r90-type-meta);
  font-weight:800;
  letter-spacing:.075em;
}
body.r90-contract-presentation-mode .r90-simple-header .phase-kicker>span{background:var(--r90-phase-color)!important}
body.r90-contract-presentation-mode .r90-contract-information{border-top-color:var(--r90-phase-color)}
body.r90-contract-presentation-mode[data-r90-phase="review"] .r90-contract-summary-primary{border-top-color:var(--r90-phase-color)}
body.r90-contract-presentation-mode[data-r90-phase="review"] .r90-record-position{border-left-color:var(--r90-phase-color);background:var(--r90-phase-tint)}
body.r90-contract-presentation-mode[data-r90-phase="review"] .r90-category-panel{border-left-color:var(--r90-phase-color)}
body.r90-contract-presentation-mode[data-r90-phase="review"] .r90-category-panel>summary:after{color:var(--r90-phase-color)}
body.r90-contract-presentation-mode[data-r90-phase="align"] .r90-simple-align-summary{border-left:4px solid var(--r90-phase-color);background:var(--r90-phase-tint)}
body.r90-contract-presentation-mode[data-r90-phase="align"] .r90-simple-finding{border-left:5px solid var(--r90-phase-color)}
body.r90-contract-presentation-mode[data-r90-phase="align"] .r90-simple-finding[open]>summary{background:var(--r90-phase-tint)}
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-plan-story{border-top-color:var(--r90-phase-color)}
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-period-card{border-top:5px solid var(--r90-phase-color)}
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-period-card-head{background:var(--r90-phase-tint)}
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-simple-plan-group-head{border-bottom-color:color-mix(in srgb,var(--r90-phase-color) 38%,#dfe7eb)}

/* Canonical type hierarchy across Review, Align, and Mobilize. */
body.r90-contract-presentation-mode .r90-simple-header h1{font-size:var(--r90-type-page);line-height:1.08}
body.r90-contract-presentation-mode .r90-contract-summary-primary h1{font-size:var(--r90-type-lead);line-height:1.14}
body.r90-contract-presentation-mode .r90-info-heading h2{font-size:var(--r90-type-section);line-height:1.18}
body.r90-contract-presentation-mode .r90-record-position h2,
body.r90-contract-presentation-mode .r90-info-section-head h2,
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-simple-plan-group-head h2{font-size:var(--r90-type-subsection);line-height:1.25}
body.r90-contract-presentation-mode[data-r90-phase="align"] .r90-simple-finding>summary strong,
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-period-card-head h3{font-size:var(--r90-type-card);line-height:1.38}
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-simple-action-main h3{font-size:var(--r90-type-action);line-height:1.42}
body.r90-contract-presentation-mode .r90-simple-header p,
body.r90-contract-presentation-mode .r90-info-heading p,
body.r90-contract-presentation-mode .r90-contract-summary-primary p,
body.r90-contract-presentation-mode[data-r90-phase="align"] .r90-simple-explanation p,
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-plan-story .r90-info-heading p,
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-period-focus b{font-size:var(--r90-type-body);line-height:1.62}
body.r90-contract-presentation-mode .r90-record-position p,
body.r90-contract-presentation-mode .r90-info-section-head p,
body.r90-contract-presentation-mode .r90-requirement-body p,
body.r90-contract-presentation-mode[data-r90-phase="align"] .r90-simple-align-summary span,
body.r90-contract-presentation-mode[data-r90-phase="align"] .r90-simple-supporting>summary,
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-simple-four strong,
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-period-detail-cue{font-size:var(--r90-type-support);line-height:1.55}
body.r90-contract-presentation-mode .r90-info-kicker,
body.r90-contract-presentation-mode .r90-contract-summary-primary>span,
body.r90-contract-presentation-mode .r90-record-position>span,
body.r90-contract-presentation-mode .r90-info-section-head span,
body.r90-contract-presentation-mode .r90-requirement-card summary small,
body.r90-contract-presentation-mode .r90-requirement-open,
body.r90-contract-presentation-mode[data-r90-phase="align"] .r90-simple-finding>summary span,
body.r90-contract-presentation-mode[data-r90-phase="align"] .r90-simple-finding>summary em,
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-period-card-head span,
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-period-focus span,
body.r90-contract-presentation-mode[data-r90-phase="mobilize"] .r90-simple-four span{font-size:var(--r90-type-meta)}

/* Intermediate controls stay clearly below headings but above metadata. */
body.r90-contract-presentation-mode .r90-category-panel>summary{font-size:16px;line-height:1.4}
body.r90-contract-presentation-mode .r90-requirement-card summary b{font-size:14px;line-height:1.45}
body.r90-contract-presentation-mode .r90-domain-chips span,
body.r90-contract-presentation-mode .r90-category-panel>summary b,
body.r90-contract-presentation-mode[data-r90-phase="align"] .r90-cue-row b{font-size:var(--r90-type-meta)}

@media(max-width:600px){
  body.r90-contract-presentation-mode{
    --r90-type-page:30px;
    --r90-type-lead:26px;
    --r90-type-section:22px;
    --r90-type-subsection:19px;
    --r90-type-card:17px;
    --r90-type-action:16px;
    --r90-type-body:15px;
    --r90-type-support:13px;
    --r90-type-meta:11px;
  }
  body.r90-contract-presentation-mode .r90-simple-header{padding-left:14px}
}

@media print{
  body.r90-contract-presentation-mode .r90-simple-header{border-left:0;padding-left:0}
}
