/* Source fidelity v3: scoped to the case audit, scene study and image viewer. */
.case-fidelity,.fidelity-method{container-type:inline-size}
.case-fidelity{margin:26px 0 0;padding:34px;border:1px solid var(--line,#d9dfeb);border-radius:14px;background:#fff;color:var(--ink,#18213b)}
.case-fidelity[hidden],.fidelity-method[hidden]{display:none}
.fidelity-case-head{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
.fidelity-overline{display:block;margin:0 0 10px!important;font-size:.75rem!important;font-weight:650;line-height:1.55!important;letter-spacing:.075em;color:var(--green,#3049a0)}
.fidelity-case-head h3{font:600 clamp(1.65rem,3vw,2rem)/1.22 var(--display,Georgia,serif);letter-spacing:-.035em;margin:0}
.fidelity-classification{margin:0!important;font-size:.9375rem!important;line-height:1.6!important;color:var(--muted,#53607a)}
.fidelity-classification>span,.fidelity-version>span{display:block;margin-bottom:5px;font-size:.75rem;font-weight:650;letter-spacing:.025em;color:var(--ink,#18213b)}
.fidelity-version{display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:baseline;margin:27px 0;padding:17px 20px;background:#f4f6fc;border-radius:8px}
.fidelity-version>span{margin:0;font-size:.875rem}
.section .fidelity-version p{margin:0;font-size:.9375rem;line-height:1.65}
.fidelity-documentation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.fidelity-documentation>section{min-width:0;padding-top:16px;border-top:2px solid #ccd5eb}
.fidelity-dimension-index{display:block;font-size:.75rem;font-weight:650;letter-spacing:.08em;color:#677696;margin-bottom:12px}
.fidelity-documentation h4{font-size:1rem;line-height:1.4;margin:0 0 10px;font-weight:650}
.section .fidelity-documentation p{font-size:.9375rem;line-height:1.75;margin:0;color:var(--muted,#53607a)}
.section .fidelity-dimension-note{font-size:.8125rem;color:var(--muted,#53607a);margin:18px 0 0;line-height:1.6}
.fidelity-subhead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 20px}
.fidelity-subhead h4,.fidelity-subhead h3{font:600 1.5rem/1.3 var(--display,Georgia,serif);letter-spacing:-.025em;margin:0}
.section .fidelity-subnote,.fidelity-subnote{font-size:.8125rem;line-height:1.65;color:var(--muted,#53607a);margin:0;max-width:225px}
.fidelity-scenes,.fidelity-sequence,.fidelity-variants{margin-top:34px;padding-top:30px;border-top:1px solid var(--line,#d9dfeb)}
.fidelity-art-label{display:inline-flex;border:1px solid #bdcae6;padding:6px 9px;border-radius:5px;font-size:.75rem;font-weight:600;color:#3049a0;white-space:nowrap}
.fidelity-scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.fidelity-scene-grid figure{margin:0;min-width:0}
.fidelity-scene-image{position:relative;display:block;width:100%;aspect-ratio:3/2;background:#dfe5ef;border:0;padding:0;border-radius:8px;overflow:hidden;text-align:left;cursor:pointer}
.fidelity-scene-image img{width:100%;height:100%;object-fit:cover}
.fidelity-scene-image>span{position:absolute;bottom:0;left:0;right:0;padding:25px 14px 12px;background:linear-gradient(transparent,#102038d9);color:white;font-size:.8125rem;line-height:1.5}
.fidelity-scene-grid figcaption{display:grid;grid-template-columns:27px 1fr;gap:10px;padding-top:16px}
.fidelity-scene-number{font-size:.75rem;font-weight:650;line-height:1.65;color:var(--green,#3049a0)}
.fidelity-scene-grid h5{font-size:1rem;line-height:1.5;margin:0 0 8px}
.section .fidelity-scene-grid figcaption p{font-size:.875rem;line-height:1.7;margin:0;color:var(--muted,#53607a)}
.fidelity-sequence>ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 34px;counter-reset:none}
.fidelity-sequence li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;position:relative}
.fidelity-step-number{display:grid;place-items:center;width:36px;height:36px;border:1px solid #bdc8e1;border-radius:50%;font-size:.8125rem;font-weight:650;color:var(--green,#3049a0);background:#f7f9fe}
.fidelity-step-copy{min-width:0;padding-bottom:14px;border-bottom:1px solid var(--line,#d9dfeb)}
.section .fidelity-time{font-size:.75rem;line-height:1.5;font-variant-numeric:tabular-nums;font-weight:650;color:var(--muted,#53607a);margin:2px 0 7px}
.fidelity-step-copy h5{font-size:1.0625rem;line-height:1.5;margin:0 0 9px}
.section .fidelity-step-copy>p:not(.fidelity-time){font-size:.9375rem;line-height:1.75;margin:0 0 12px;color:var(--muted,#53607a)}
.fidelity-source{display:inline-flex;align-items:center;justify-content:space-between;gap:9px;padding:8px 10px;min-height:40px;background:#f6f8fd;border:1px solid #d8e0ef;border-radius:5px;color:#3049a0;font-size:.875rem;line-height:1.5;font-family:inherit;text-align:left;max-width:100%;overflow-wrap:anywhere;cursor:pointer}
.fidelity-source:hover{background:#eaf0fc;border-color:#aabbde}
.fidelity-source>span{flex-shrink:0}
.fidelity-source-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.fidelity-variant-table{overflow:auto;border:1px solid var(--line,#d9dfeb);border-radius:9px}
.fidelity-variant-table table,.fidelity-comparison table{width:100%;border-collapse:collapse;text-align:left}
.fidelity-variant-table th,.fidelity-variant-table td{padding:15px 17px;vertical-align:top;border-bottom:1px solid var(--line,#d9dfeb);font-size:.9375rem;line-height:1.75}
.fidelity-variant-table thead th{font-size:.8125rem;background:#f0f4fc;color:#394b75;font-weight:650}
.fidelity-variant-table tbody th{font-weight:650;width:19%}
.fidelity-variant-table tbody td{width:40.5%;color:var(--muted,#53607a)}
.fidelity-variant-table tr:last-child>*{border-bottom:0}
.fidelity-contract,.fidelity-comparison{border:1px solid var(--line,#d9dfeb);border-radius:9px;margin-top:28px;overflow:hidden;background:#fff}
.fidelity-contract>summary,.fidelity-comparison>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:19px 21px;cursor:pointer;min-height:74px;background:#f7f9fd}
.fidelity-contract>summary::-webkit-details-marker,.fidelity-comparison>summary::-webkit-details-marker{display:none}
.fidelity-contract>summary .fidelity-overline,.fidelity-comparison>summary .fidelity-overline{font-size:.75rem!important;margin-bottom:4px!important}
.fidelity-contract>summary strong,.fidelity-comparison>summary strong{font-size:1rem;line-height:1.5;font-weight:650}
.fidelity-summary-icon{font-size:1.4rem;line-height:1;flex-shrink:0;color:var(--green,#3049a0)}
.fidelity-contract[open]>summary .fidelity-summary-icon,.fidelity-comparison[open]>summary .fidelity-summary-icon{transform:rotate(45deg)}
.fidelity-contract-body{padding:23px}
.fidelity-contract-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fidelity-contract-column h4{font-size:1rem;line-height:1.5;margin:0 0 5px;font-weight:650}
.section .fidelity-contract-column>p,.fidelity-contract-column>p{font-size:.8125rem;line-height:1.6;margin:0 0 13px;color:var(--muted,#53607a)}
.fidelity-contract-column ul{padding:0 0 0 17px;margin:0}
.fidelity-contract-column li{font-size:.9375rem;line-height:1.7;margin:0 0 9px;padding-left:3px}
.fidelity-contract-column li:last-child{margin-bottom:0}
.fidelity-contract-include li::marker{color:#507763}.fidelity-contract-exclude li::marker{color:#a97a51}.fidelity-contract-unknown li::marker{color:#7480a4}
.fidelity-revision{margin-top:24px;padding:18px 21px;border-left:3px solid #788bb8;background:#f5f7fc}
.section .fidelity-revision p{margin:0;font-size:.9375rem;line-height:1.75}
.fidelity-revision .fidelity-overline{font-size:.75rem!important}
.fidelity-comparison-body{padding:20px 0 0}
.section .fidelity-comparison-intro{font-size:.875rem;line-height:1.7;margin:0 21px 19px;color:var(--muted,#53607a);max-width:780px}
.fidelity-comparison-scroll{overflow:auto;max-height:670px;overscroll-behavior-x:contain}
.fidelity-comparison table{min-width:820px}
.fidelity-comparison th,.fidelity-comparison td{padding:17px 18px;border-top:1px solid var(--line,#d9dfeb);vertical-align:top;font-size:.875rem;line-height:1.75}
.fidelity-comparison thead th{position:sticky;top:0;z-index:1;background:#edf2fb;font-size:.8125rem;color:#394b75;font-weight:650}
.fidelity-comparison th:first-child{width:22%}
.fidelity-comparison th:nth-child(2){width:25%}
.fidelity-comparison th:nth-child(3){width:24%}
.fidelity-comparison td{color:var(--muted,#53607a)}
.fidelity-comparison tr.is-current>*{background:#f2f6ff}
.fidelity-account-link{display:block;padding:0;background:none;border:0;color:var(--ink,#18213b);font-family:inherit;font-size:.9375rem;font-weight:650;line-height:1.55;text-align:left;cursor:pointer}
.fidelity-account-link:hover{text-decoration:underline;text-underline-offset:3px}
.fidelity-current{display:block;margin:6px 0 0;font-size:.75rem;font-weight:600;letter-spacing:.035em;color:#3049a0}
.fidelity-comparison .fidelity-source{margin-top:10px;padding:6px 8px;font-size:.8125rem;min-height:36px}
.fidelity-method{padding:25px;margin:0 0 34px;border:1px solid #ccd6e9;border-radius:12px;background:#f9fbff}
.fidelity-pipeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.fidelity-pipeline li{border-top:2px solid #bdcae5;padding-top:17px}
.fidelity-pipeline-number{display:block;font-size:.8125rem;font-weight:650;color:#536aaa;letter-spacing:.06em;margin-bottom:14px}
.fidelity-pipeline h4{font-size:1rem;line-height:1.5;margin:0 0 10px}
.section .fidelity-pipeline p{font-size:.9375rem;line-height:1.75;margin:0;color:var(--muted,#53607a)}
.fidelity-art-audit{margin-top:24px}
.fidelity-modal-version{font-size:.9375rem;line-height:1.75;color:var(--muted,#53607a)}
.fidelity-modal-version strong{display:block;color:var(--ink,#18213b);font-size:.875rem}
.fidelity-art-audit .fidelity-contract-grid{grid-template-columns:1fr}
.fidelity-art-audit .fidelity-contract-column ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px}
.fidelity-art-audit .fidelity-contract-column li{font-size:.875rem}
.fidelity-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.case-fidelity :is(button,summary,[tabindex]):focus-visible,.fidelity-art-audit :is(button,summary):focus-visible{outline:3px solid #6c84c8;outline-offset:4px}
@container (max-width:850px){.fidelity-documentation,.fidelity-contract-grid{grid-template-columns:1fr}.fidelity-documentation{gap:20px}.fidelity-documentation>section{display:grid;grid-template-columns:27px 1fr;gap:0 10px;padding-top:16px}.fidelity-documentation h4{margin-bottom:8px}.fidelity-documentation p{grid-column:2}.fidelity-dimension-index{margin-top:3px}.fidelity-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.fidelity-case-head{grid-template-columns:1fr;gap:18px}}
@container (max-width:600px){.fidelity-sequence>ol,.fidelity-scene-grid{grid-template-columns:1fr}.fidelity-version{grid-template-columns:1fr;gap:5px}.fidelity-subhead{align-items:start;flex-direction:column;gap:12px}.fidelity-variant-table table{min-width:610px}.fidelity-pipeline{grid-template-columns:1fr}.fidelity-contract-body{padding:19px}.fidelity-art-audit .fidelity-contract-column ul{grid-template-columns:1fr}}
@media(max-width:760px){.case-fidelity{padding:23px 19px;margin-top:20px}.fidelity-method{padding:23px 19px}.fidelity-case-head{grid-template-columns:1fr}.fidelity-sequence>ol,.fidelity-scene-grid,.fidelity-documentation,.fidelity-contract-grid{grid-template-columns:1fr}.fidelity-pipeline{grid-template-columns:1fr}.fidelity-version{grid-template-columns:1fr;padding:16px;gap:5px}.fidelity-subhead{flex-direction:column;align-items:start}.fidelity-variant-table table{min-width:610px}.fidelity-contract>summary,.fidelity-comparison>summary{padding:17px}.fidelity-art-audit .fidelity-contract-column ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fidelity-summary-icon{transition:none}}
