@font-face{font-family:Archivo;src:url('/fonts/archivo-normal-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:Archivo;src:url('/fonts/archivo-italic-latin.woff2') format('woff2');font-style:italic;font-weight:100 900;font-stretch:62% 125%;font-display:swap}
/* Indigo + Volt v1.3. Scoped tokens for the new Astro implementation. */
.iv-system{--iv-brand:#3543a6;--iv-brand-deep:#27327e;--iv-accent:#e5f568;--iv-text:#1e2340;--iv-muted:#5c637b;--iv-canvas:#fafbfe;--iv-surface:#fff;--iv-soft:#eef0f8;--iv-border:#cdd2e6;--iv-font:Archivo,Arial,sans-serif;--iv-measure:1320px;--iv-reading:68ch;--iv-gutter:32px;--iv-space-1:4px;--iv-space-2:8px;--iv-space-3:12px;--iv-space-4:16px;--iv-space-5:24px;--iv-space-6:32px;--iv-space-7:48px;--iv-space-8:64px;--iv-space-9:96px;--iv-section:clamp(64px,6vw,96px);--iv-gap:24px;--iv-radius-card:10px;--iv-radius-control:8px;--iv-radius-photo:72px 10px 10px 10px;--iv-title-page:clamp(3.125rem,1.9643rem + 4.7619vw,6.375rem);--iv-title-section:clamp(2.5rem,2.0357rem + 1.9048vw,3.75rem);--iv-title-card:clamp(1.875rem,1.5964rem + 1.1429vw,2.625rem);--iv-title-card-compact:1.25rem;--iv-title-card-compact-narrow:1.125rem;--iv-title-editorial:var(--iv-title-section);--iv-body:1rem;--iv-small:.875rem;--iv-motion-fast:160ms;--iv-motion-panel:240ms;--iv-ease:cubic-bezier(.2,.7,.2,1);font-family:var(--iv-font);font-stretch:100%;font-style:normal;color:var(--iv-text)}
@media(max-width:700px){.iv-system{--iv-gutter:20px;--iv-gap:18px}}
@media(prefers-reduced-motion:reduce){.iv-system{--iv-motion-fast:0ms;--iv-motion-panel:0ms}}

/* Semantic roles. These override legacy lab aliases only inside the system preview. */
.iv-system{--iv-body-large:1.125rem;--iv-title-article-sub:clamp(1.5rem,1.2rem + 1vw,2rem);--iv-leading-display:.98;--iv-leading-title:1.1;--iv-leading-body:1.6;--iv-leading-ui:1.4;--iv-weight-display:900;--iv-weight-body:400;--iv-weight-action:650;--iv-track-display:-.02em;--iv-word-display:.14em;--iv-control-height:50px;--iv-target:44px;--iv-card-pad:32px;--iv-label-gap:8px;--iv-field-gap:24px;--iv-heading-gap:24px;--iv-copy-gap:16px;--iv-border-width:1px;--iv-z-header:20;--iv-z-menu:30;--iv-z-dialog:100;--indigo:var(--iv-brand);--deep:var(--iv-brand-deep);--volt:var(--iv-accent);--ink:var(--iv-text);--paper:var(--iv-canvas);--soft:var(--iv-soft);--muted:var(--iv-muted);--line:var(--iv-border);--white:var(--iv-surface)}
.iv-system,.iv-system *{box-sizing:border-box}.iv-system [hidden]{display:none!important}
.iv-system .wrap{margin-inline:auto;width:min(calc(100% - 2 * var(--iv-gutter)),var(--iv-measure))}
.iv-system .intro h1{font-size:var(--iv-title-page)}
.iv-system .design-grid{gap:var(--iv-gap)}
.iv-system .design-card{padding:var(--iv-card-pad);border-radius:var(--iv-radius-card)}
.iv-system .design-card .editorial-card-title{font-size:var(--iv-title-editorial);font-style:italic;font-weight:var(--iv-weight-display);font-stretch:62%;letter-spacing:var(--iv-track-display);text-transform:uppercase;line-height:1;color:var(--iv-brand);padding-right:.08em}.iv-system .current-design .editorial-card-title{color:var(--iv-accent)}.iv-system .editorial-card-title+p{max-width:50ch;margin-top:var(--iv-heading-gap);font-size:var(--iv-body);line-height:var(--iv-leading-body)}
.iv-system .ds-section{padding-block:calc(var(--iv-section)/2)}

@media(max-width:700px){.iv-system{--iv-card-pad:24px}}

/* Control API: base class + at most one colour variant. */
.iv-system{--iv-shadow:none;--iv-overlay:rgba(30,35,64,.55);--iv-control-min:160px;--iv-control-pad-y:12px;--iv-control-pad-x:24px;--iv-icon:16px;--iv-icon-gap:8px;--iv-meta:14px;--iv-mark:12px;--iv-product-ratio:4/3;--iv-product-split:2fr 3fr}
.iv-system .ds-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--iv-icon-gap);min-height:var(--iv-control-height);min-inline-size:min(var(--iv-control-min),100%);max-inline-size:100%;padding:var(--iv-control-pad-y) var(--iv-control-pad-x);border:var(--iv-border-width) solid var(--iv-text);border-radius:var(--iv-radius-control);background:var(--iv-accent);color:var(--iv-text);font-family:var(--iv-font);font-stretch:100%;font-style:normal;font-size:var(--iv-small);font-weight:var(--iv-weight-action);line-height:var(--iv-leading-ui);text-align:center;white-space:normal;text-decoration:none;box-shadow:var(--iv-shadow);transition:background-color var(--iv-motion-fast),border-color var(--iv-motion-fast),color var(--iv-motion-fast)}
.iv-system button.ds-button{cursor:pointer}
.iv-system .ds-button>span{min-inline-size:0;overflow-wrap:anywhere}
.iv-system .ds-button.brand{background:var(--iv-brand);border-color:var(--iv-brand);color:var(--iv-surface)}
.iv-system .ds-button.quiet{background:var(--iv-surface);border-color:var(--iv-brand);color:var(--iv-brand)}
.iv-system .link-icon{display:block;inline-size:var(--iv-icon);block-size:var(--iv-icon);flex:none;fill:currentColor;stroke:none;transform:none}
.iv-system .button-copy{display:grid;min-inline-size:0}
.iv-system .button-copy>span{grid-area:1/1;overflow-wrap:anywhere}
.iv-system .button-progress{visibility:hidden}
.iv-system .ds-button[aria-busy=true] .button-rest{visibility:hidden}
.iv-system .ds-button[aria-busy=true] .button-progress{visibility:visible}
.iv-system .ds-field{display:flex;flex-direction:column;gap:var(--iv-label-gap);min-width:0}
.iv-system .ds-field label{font-size:var(--iv-small);font-weight:var(--iv-weight-action)}
.iv-system .ds-field input{width:100%;min-width:0;min-height:var(--iv-control-height);padding:var(--iv-control-pad-y) 16px;border:1px solid var(--iv-muted);border-radius:var(--iv-radius-control);background:var(--iv-surface);color:var(--iv-text);font-family:var(--iv-font);font-size:var(--iv-body);line-height:var(--iv-leading-ui);box-shadow:var(--iv-shadow)}
.iv-system .ds-field input[aria-invalid=true]{border:2px solid var(--iv-text);padding:calc(var(--iv-control-pad-y) - 1px) 15px}
.iv-system .ds-field input:is(:disabled,[readonly]){background:var(--iv-soft)}
.iv-system .ds-field input:disabled{color:var(--iv-muted)}
.iv-system .ds-field p{font-size:var(--iv-meta);line-height:1.5;color:var(--iv-muted)}
.iv-system .ds-field input[aria-invalid=true]+p{color:var(--iv-text)}
.iv-system .ds-choice{display:flex;align-items:center;gap:var(--iv-space-3);min-height:var(--iv-control-height);padding:var(--iv-space-4);border:1px solid var(--iv-muted);border-radius:var(--iv-radius-control);background:var(--iv-surface);font-size:var(--iv-body);line-height:var(--iv-leading-ui);cursor:pointer}
.iv-system .ds-choice input{appearance:none;display:grid;place-items:center;inline-size:20px;block-size:20px;flex:none;margin:0;border:2px solid var(--iv-brand);border-radius:50%;background:var(--iv-surface);outline:none;box-shadow:none}
.iv-system .ds-choice input:checked::after{content:'';inline-size:8px;block-size:8px;border-radius:50%;background:var(--iv-brand)}
.iv-system .ds-choice:has(input:checked){border-color:var(--iv-brand);background:var(--iv-soft)}
.iv-system .ds-choice:has(input:disabled){border-color:var(--iv-border);background:var(--iv-soft);color:var(--iv-muted);cursor:default}
.iv-system .ds-choice:has(input:disabled) input{border-color:var(--iv-muted)}
.iv-system .ds-choice[aria-invalid=true]{border-color:var(--iv-text)}
.iv-system .ds-accordion{border:1px solid var(--iv-border);border-radius:var(--iv-radius-card);overflow:hidden;background:var(--iv-surface)}
.iv-system .ds-accordion-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--iv-space-4);width:100%;min-height:var(--iv-control-height);padding:var(--iv-space-4) var(--iv-space-5);border:0;background:var(--iv-surface);color:var(--iv-brand);font-size:var(--iv-body);font-weight:var(--iv-weight-action);text-align:left;cursor:pointer}
.iv-system .ds-accordion-toggle>span:first-child{min-width:0;overflow-wrap:anywhere}
.iv-system .ds-accordion-symbol{flex:none;font-size:24px;font-weight:400}
.iv-system .ds-accordion-panel{padding:0;font-size:var(--iv-body);line-height:var(--iv-leading-body);max-width:var(--iv-reading)}

.iv-system .ds-accordion-copy{padding:0 var(--iv-space-5) var(--iv-space-5)}
.iv-system .article-spec{max-width:var(--iv-reading);border:1px solid var(--iv-border);border-radius:var(--iv-radius-card);padding:var(--iv-card-pad);background:var(--iv-surface);font-size:var(--iv-body);line-height:var(--iv-leading-body)}
.iv-system .article-spec h3{font-size:var(--iv-title-article-sub);font-weight:700;line-height:1.2;color:var(--iv-brand);margin-block:var(--iv-space-5) var(--iv-space-4)}
.iv-system .article-spec p+p{margin-top:var(--iv-copy-gap)}
.iv-system .article-spec .article-byline{font-size:var(--iv-meta);color:var(--iv-muted);margin-block:var(--iv-space-4)}
.iv-system .article-spec a,.iv-system .breadcrumbs a{color:var(--iv-brand);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.iv-system .article-spec ul{padding-left:var(--iv-space-5);margin-block:var(--iv-space-4)}
.iv-system .article-spec li+li{margin-top:var(--iv-space-2)}
.iv-system .article-source{margin-top:var(--iv-space-5);font-size:var(--iv-meta);color:var(--iv-muted)}
.iv-system .breadcrumbs{font-size:var(--iv-meta);line-height:1.5;color:var(--iv-muted)}
.iv-system .breadcrumbs ol{display:flex;flex-wrap:wrap;gap:var(--iv-space-2) var(--iv-space-4);list-style:none;padding:0;margin:0}
.iv-system .article-reference-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.4fr);gap:var(--iv-gap);margin-top:var(--iv-space-5);align-items:start}
.iv-system .toc-spec{padding:var(--iv-space-5);border:1px solid var(--iv-border);border-radius:var(--iv-radius-card);background:var(--iv-surface)}
.iv-system .toc-spec h3{font-size:18px;color:var(--iv-brand);margin-bottom:var(--iv-space-4)}
.iv-system .toc-spec ol{list-style:none;margin:0;padding:0;display:grid;gap:var(--iv-space-2)}
.iv-system .toc-spec a{display:block;min-height:var(--iv-target);padding:var(--iv-space-3);border:1px solid transparent;border-radius:var(--iv-radius-control);font-size:var(--iv-meta);color:var(--iv-brand)}
.iv-system .toc-spec a[aria-current=location]{background:var(--iv-soft);border-color:var(--iv-brand)}
.iv-system .ds-table-scroll{overflow-x:auto;max-width:100%;margin-top:var(--iv-space-5);border:1px solid var(--iv-border);border-radius:var(--iv-radius-card);background:var(--iv-surface)}
.iv-system .ds-table-scroll table{min-width:560px}
.iv-system .ds-table-scroll caption{padding:var(--iv-space-4);text-align:left;font-weight:700;color:var(--iv-brand)}
.iv-system :is([id],.article-spec h3){scroll-margin-top:var(--iv-space-6)}
@media(max-width:800px){.iv-system .article-reference-grid{grid-template-columns:1fr}}
.iv-system .ds-accordion-toggle:disabled{cursor:default}
.iv-system .ds-textlink{display:inline-flex;gap:var(--iv-icon-gap);align-items:center;min-height:var(--iv-target);font-size:var(--iv-small);font-weight:var(--iv-weight-action);line-height:var(--iv-leading-ui);color:var(--iv-brand)}
