/* Isolated approval studies. All colors and fonts inherit original Cobalt Pearl. */
.cr-intro { display:grid; grid-template-columns:.8fr 1.2fr; gap:32px 64px; align-items:start; margin-bottom:36px; }
.cr-intro h2>span,.cr-duty h3>span,.cr-stage h3>span,.cr-record h3>span,.cr-invitation h2>span { display:block; }
.cr-intro p { color:var(--pearl-muted); max-width:68ch; margin:0; }
.cr-taxonomy,.cr-responsibilities,.cr-lifecycle,.cr-founder { display:block; }
.cr-domain-surface { position:relative; border:1px solid var(--pearl-strong); padding:32px; background:var(--pearl-panel); overflow:hidden; }
.platform-page .pf-main .cr-domain-surface h3 { font:500 24px/1.3 var(--pearl-font-display); margin:0 0 26px; }
.cr-domain-list { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; list-style:none; margin:0; padding:0; }
.cr-domain-list li { min-height:74px; display:flex; align-items:center; gap:18px; border-top:1px solid var(--pearl-line); padding:14px 0; color:var(--pearl-ink); font:500 19px/1.45 var(--pearl-font-display); }
.cr-domain-mark { width:20px; height:20px; flex:none; border:1px solid var(--pearl-motion-data); position:relative; }
.cr-domain-mark:after { content:""; position:absolute; inset:5px; background:var(--pearl-motion-data); }
.cr-lens { position:absolute; width:220px; height:160px; border:1px solid var(--pearl-motion-data); border-radius:50%; background:var(--pearl-alt); box-shadow:0 14px 32px rgba(0,0,0,.15); pointer-events:none; display:flex; align-items:center; justify-content:center; text-align:center; padding:26px; color:var(--pearl-ink); font:500 23px/1.3 var(--pearl-font-display); }
.cr-lens[hidden] { display:none; }
.cr-taxonomy-axis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:32px; }
.cr-taxonomy-axis>div { border-top:1px solid var(--pearl-line); padding-top:20px; }
.platform-page .pf-main .cr-taxonomy-axis h3 { font:500 18px/1.4 var(--pearl-font-display); margin:0 0 12px; }
.cr-taxonomy-axis p { color:var(--pearl-muted); font-size:15px; }
.cr-taxonomy>.pf-text-link,.cr-responsibilities>.pf-text-link,.cr-founder>.pf-text-link { margin-top:28px; }
.cr-taxonomy>.pf-text-link svg,.cr-responsibilities>.pf-text-link svg,.cr-founder>.pf-text-link svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.4; }
.cr-duty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cr-duty { background:var(--pearl-panel); border:1px solid var(--pearl-line); padding:28px; position:relative; overflow:hidden; }
.cr-duty-art { height:104px; position:relative; margin-bottom:26px; overflow:hidden; }
.cr-duty-art svg { width:80px; height:80px; stroke:var(--pearl-motion-data); fill:none; stroke-width:1.3; position:relative; z-index:1; }
.cr-duty-art>span { position:absolute; inset:0; background:var(--pearl-alt); clip-path:polygon(65% 0,100% 0,100% 100%,92% 100%); transition:clip-path 320ms ease-out; }
.cr-duty:hover .cr-duty-art>span { clip-path:polygon(90% 0,100% 0,100% 100%,100% 100%); }
.platform-page .pf-main .cr-duty h3 { font:500 clamp(20px,2vw,27px)/1.3 var(--pearl-font-display); min-height:3.4em; display:flex; flex-direction:column; justify-content:flex-end; border-bottom:1px solid var(--pearl-line); padding-bottom:20px; margin:0 0 20px; overflow-wrap:anywhere; }
.cr-duty p { color:var(--pearl-muted); font-size:16px; line-height:1.65; margin:0; }
.cr-stages { list-style:none; margin:0; padding:0; display:grid; gap:28px; }
.cr-stage { position:sticky; top:210px; display:grid; grid-template-columns:1.1fr .9fr; gap:40px; min-height:330px; padding:36px; background:var(--pearl-panel); border:1px solid var(--pearl-strong); }
.cr-stage-1 { top:232px; }.cr-stage-2 { top:254px; }
.cr-stage-number { color:var(--pearl-motion-data); font:400 15px/1.5 var(--pearl-font-mono); }
.platform-page .pf-main .cr-stage h3 { font:500 29px/1.3 var(--pearl-font-display); margin:16px 0 20px; }
.cr-stage p { color:var(--pearl-muted); margin:0; max-width:62ch; }
.cr-stage-record { border-left:1px solid var(--pearl-line); padding-left:32px; display:flex; flex-direction:column; justify-content:center; gap:14px; }
.cr-stage-record svg { width:180px; max-width:100%; height:135px; stroke:var(--pearl-art); fill:none; stroke-width:1.3; }
.cr-stage-record svg circle { fill:var(--pearl-panel); stroke:var(--pearl-motion-data); }
.cr-stage-record strong { font:500 21px/1.3 var(--pearl-font-display); color:var(--pearl-ink); }
.cr-stage-record>span { color:var(--pearl-muted); font-size:14px; }
.cr-record { margin:0; padding:36px; background:var(--pearl-panel); border:1px solid var(--pearl-strong); }
.cr-record-nodes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.cr-record-node { position:relative; min-width:0; padding:24px; border:1px solid var(--pearl-strong); background:var(--pearl-bg); transition:border-color 320ms,background-color 320ms; }
.cr-record-node:not(:last-child):after { content:""; position:absolute; width:32px; top:50%; left:100%; border-top:1px solid var(--pearl-motion-data); }
.cr-record-node>svg { width:56px; height:64px; fill:none; stroke:var(--pearl-art); stroke-width:1.4; margin-bottom:22px; }
.platform-page .pf-main .cr-record-node h3 { font:500 24px/1.3 var(--pearl-font-display); margin:0 0 16px; padding-bottom:16px; border-bottom:1px solid var(--pearl-line); }
.cr-record-node p { margin:0; font-size:14px; color:var(--pearl-muted); }
.cr-record-node[data-active="true"] { border-color:var(--pearl-motion-data); background:var(--pearl-alt); }
.cr-record-node[data-active="true"]>svg { stroke:var(--pearl-motion-data); }
.cr-record figcaption { padding-top:24px; color:var(--pearl-muted); font-size:15px; }
.cr-motion { margin-top:16px; color:var(--pearl-ink); background:transparent; border:1px solid var(--pearl-strong); padding:10px 16px; min-height:44px; cursor:pointer; font:inherit; }
.cr-motion:focus-visible,.cr-access-action:focus-visible,.cr-engagement summary:focus-visible { outline:var(--pearl-focus-width) solid var(--pearl-focus); outline-offset:var(--pearl-focus-offset); }
.cr-invitation { display:grid; grid-template-columns:1fr 1fr; gap:50px; padding:44px; background:var(--pearl-alt); border-top:1px solid var(--pearl-strong); border-bottom:1px solid var(--pearl-strong); }
.cr-invitation-copy p { margin:24px 0 28px; max-width:48ch; color:var(--pearl-muted); }
.cr-invitation .pf-button svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.4; }
.cr-engagement { border-left:1px solid var(--pearl-line); padding-left:40px; align-self:center; }
.platform-page .pf-main .cr-engagement h3 { font:500 23px/1.4 var(--pearl-font-display); margin:0 0 24px; }
.cr-engagement-row { display:flex; flex-wrap:wrap; gap:12px; }
.cr-engagement-row>span { padding:13px 15px; border:1px solid var(--pearl-strong); font-size:15px; color:var(--pearl-ink); }
.cr-engagement p { color:var(--pearl-muted); font-size:15px; margin-top:20px; }
.cr-engagement details { margin-top:20px; border-top:1px solid var(--pearl-line); }
.cr-engagement summary { cursor:pointer; min-height:44px; padding-block:14px; color:var(--pearl-ink); }
.cr-engagement ul { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; }
.cr-engagement li a { display:block; min-height:44px; padding:8px 0; color:var(--pearl-ink); text-underline-offset:var(--pearl-link-underline-offset); font-size:14px; }
.cr-access-action { position:relative; display:inline-flex; align-items:center; gap:18px; min-height:60px; padding:6px 24px 6px 6px; isolation:isolate; color:var(--pearl-ink); text-decoration:none; border:1px solid var(--pearl-line); border-radius:40px; overflow:hidden; }
.cr-access-action .cr-action-fill { position:absolute; top:5px; bottom:5px; left:5px; width:calc(100% - 10px); border-radius:30px; background:var(--pearl-accent-mark); z-index:-1; clip-path:inset(0 calc(100% - 48px) 0 0 round 30px); transition:clip-path 320ms ease-out; }
.cr-access-action svg { width:48px; height:48px; padding:12px; fill:none; stroke:var(--pearl-on); stroke-width:1.6; flex:none; }
.cr-access-action>span:last-child { font-size:15px; font-weight:600; }
.cr-access-action:hover,.cr-access-action:focus-visible { color:var(--pearl-on); }
.cr-access-action:hover .cr-action-fill,.cr-access-action:focus-visible .cr-action-fill { clip-path:inset(0 0 0 0 round 30px); }
.cr-reading-progress { display:block; width:100%; height:3px; border:0; appearance:none; background:var(--pearl-line); accent-color:var(--pearl-motion-data); }
.cr-reading-progress::-webkit-progress-bar { background:var(--pearl-line); }.cr-reading-progress::-webkit-progress-value { background:var(--pearl-motion-data); }.cr-reading-progress::-moz-progress-bar { background:var(--pearl-motion-data); }
.cr-chapters nav a { position:relative; }
.cr-chapters nav a:before { content:""; display:inline-block; width:2px; height:20px; margin-right:8px; background:var(--pearl-strong); vertical-align:middle; transform:scaleY(.6); transition:transform 200ms; }
.cr-chapters nav a[aria-current="location"]:before,.cr-chapters nav a[aria-current="true"]:before { background:var(--pearl-motion-data); transform:scaleY(1); }
@media(max-width:1000px) {
 .cr-intro { gap:28px; }.cr-duty-grid { gap:16px; }.cr-duty { padding:22px; }
 .cr-record { padding:24px; }.cr-record-nodes { gap:20px; }.cr-record-node { padding:20px; }.cr-record-node:not(:last-child):after { width:20px; }
 .cr-invitation { padding:32px; gap:28px; }.cr-engagement { padding-left:28px; }
 .cr-stage { position:static; }.cr-stage-record { padding-left:24px; }
}
@media(max-width:720px) {
 .cr-intro,.cr-duty-grid,.cr-invitation { grid-template-columns:1fr; }.cr-intro { gap:20px; margin-bottom:28px; }
 .cr-domain-surface { padding:24px 20px; }.cr-domain-list { grid-template-columns:1fr; }.cr-domain-list li { font-size:18px; min-height:64px; }
 .cr-taxonomy-axis { grid-template-columns:1fr; gap:20px; }.cr-taxonomy-axis>div { padding-top:16px; }
 .cr-duty { padding:24px; }.cr-duty-art { height:70px; margin-bottom:12px; }.cr-duty-art svg { height:64px; width:64px; }
 .platform-page .pf-main .cr-duty h3 { font-size:25px; min-height:0; }
 .cr-stage { grid-template-columns:1fr; padding:24px; gap:24px; }.cr-stage-record { padding:24px 0 0; border-left:0; border-top:1px solid var(--pearl-line); }.cr-stage-record svg { display:none; }
 .cr-record-nodes { grid-template-columns:1fr; gap:24px; }.cr-record-node { display:grid; grid-template-columns:48px 1fr; column-gap:20px; }
 .cr-record-node>svg { width:44px; height:54px; grid-row:span 2; margin:0; }.platform-page .pf-main .cr-record-node h3 { font-size:23px; margin:0 0 12px; padding-bottom:12px; }
 .cr-record-node p { grid-column:2; }.cr-record-node:not(:last-child):after { width:0; height:24px; left:42px; top:100%; border-top:0; border-left:1px solid var(--pearl-motion-data); }
 .cr-invitation { padding:28px 24px; }.cr-engagement { padding:28px 0 0; border-left:0; border-top:1px solid var(--pearl-line); }.cr-engagement ul { grid-template-columns:1fr; }
 .cr-lens { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 .cr-stage { position:static; }.cr-duty-art>span,.cr-record-node,.cr-action-fill,.cr-chapters nav a:before { transition:none; }
}
