/* Institutional pages: extends the visual language of docs.php. */
.institutional-page { --institutional-ink:#173f4c; --institutional-green:#246e58; --ctr-petrol:#173f4c; --ctr-green-dark:#246e58; font-family:var(--mg-font-family); }
.institutional-page main { display:block; }
.institutional-hero { padding:0; background:radial-gradient(ellipse at 85% 45%,#0d4d59 0,#063a47 36%,#023441 72%); color:#fff; }
.institutional-hero-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); align-items:center; gap:84px; padding:38px 0 40px; }
.institutional-hero-grid.is-text-only { grid-template-columns:minmax(0,1fr); gap:0; }
.institutional-hero h1 { margin:0 0 16px; color:#fff; font-size:clamp(34px,3.7vw,48px); font-weight:600; line-height:1.15; letter-spacing:-1.5px; }
.institutional-description { max-width:660px; margin:0 0 24px; color:#c3d6db; font-size:15px; line-height:1.8; }
.institutional-hero-tags { display:flex; flex-wrap:wrap; gap:10px 22px; list-style:none; margin:0; padding:0; color:#cee0e2; font-size:11px; }
.institutional-hero-tags li { display:flex; gap:7px; align-items:center; }
.institutional-hero-tags li span { color:#a2dcc5; font-size:13px; }
.institutional-emblem { position:relative; border-left:1px solid #ffffff20; padding:14px 0 14px 38px; }
.institutional-emblem-icon { display:grid; place-items:center; width:54px; height:54px; margin-bottom:23px; border:1px solid #99d3be40; border-radius:12px; background:#9dd9c510; color:#a2dcc5; }
.institutional-emblem-icon .docs-icon { width:28px; height:28px; }
.institutional-emblem > span { display:block; margin-bottom:10px; color:#95b9be; font-size:8px; letter-spacing:1.4px; font-weight:500; }
.institutional-emblem > strong { display:block; color:#e7f2ef; font-size:19px; font-weight:500; line-height:1.4; letter-spacing:-.4px; }
.institutional-emblem p { margin:8px 0 0; color:#a3c0c7; font-size:11px; }
.institutional-emblem-line { width:35px; height:2px; margin-top:24px; background:#94cbb6; }
.institutional-nav { border-bottom:1px solid #dce5e7; background:#fff; }
.institutional-nav > .container { display:flex; gap:26px; overflow-x:auto; scrollbar-width:thin; }
.institutional-nav a { display:flex; align-items:center; flex-shrink:0; min-height:62px; border-bottom:2px solid transparent; color:#62767e; font-size:12px; font-weight:500; }
.institutional-nav a:hover { color:#246e58; }
.institutional-nav a.is-current { color:#195c4b; border-bottom-color:#338b76; font-weight:600; }
.institutional-content { padding:44px 0 56px; }
.institutional-layout { display:grid; grid-template-columns:237px minmax(0,1fr); gap:48px; align-items:start; }
.institutional-sidebar { position:sticky; top:24px; }
.institutional-back { display:flex; align-items:center; gap:9px; margin-bottom:29px; font-size:12px; font-weight:500; color:#246e58; }
.institutional-back span { font-size:19px; }
.institutional-toc-panel { margin:0 0 27px; }
.institutional-toc-panel summary { margin:0 0 16px; color:#72818a; font-size:10px; font-weight:600; letter-spacing:1.5px; cursor:pointer; }
.institutional-toc { display:flex; flex-direction:column; gap:2px; max-height:calc(100vh - 330px); min-height:140px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#c3d4ce transparent; }
.institutional-toc a { display:block; border-left:2px solid transparent; border-radius:0 5px 5px 0; padding:8px 12px; color:#60747d; font-size:11px; line-height:1.55; transition:background .15s,color .15s; }
.institutional-toc a:hover { background:#edf3f0; color:#195c4b; }
.institutional-toc a.is-active { border-left-color:#338b76; background:#e5f0eb; color:#195c4b; font-weight:600; }
.institutional-sidebar-help { border-top:1px solid #dfe7e9; padding:24px 12px 0; }
.institutional-sidebar-help > .docs-icon { color:#537a79; margin-bottom:12px; }
.institutional-sidebar-help h2 { margin:0 0 9px; font-size:16px; font-weight:700; color:#244c58; }
.institutional-sidebar-help p { margin:0 0 15px; font-size:12px; line-height:1.8; }
.institutional-sidebar-help a { display:inline-flex; align-items:center; gap:10px; color:#246e58; font-size:12px; font-weight:600; }
.institutional-sidebar-help a .docs-icon { width:16px; height:16px; }
.institutional-document { min-width:0; padding:34px 40px; border:1px solid #dce5e7; border-radius:9px; background:#fff; color:var(--mg-document-color); font-size:var(--mg-document-size); line-height:var(--mg-document-line-height); overflow-wrap:anywhere; }
.institutional-document-top { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:22px; margin-bottom:26px; border-bottom:1px solid #e5ecee; }
.institutional-document-top .docs-section-eyebrow { margin:0; }
.institutional-document-top > span { display:inline-flex; align-items:center; gap:6px; color:#74858b; font-size:10px; }
.institutional-document-top .docs-icon { width:15px; height:15px; }
.institutional-intro { margin:0 0 28px; }
.institutional-document p { margin-bottom:18px; }
.institutional-document strong { color:#294e59; font-weight:600; }
.institutional-document a { color:#246e58; text-decoration:underline; text-underline-offset:3px; }
.institutional-document a:hover { color:#023441; }
.institutional-sections { margin:0; padding:0; }
.institutional-section { padding:27px 0 0; margin-top:28px; border-top:1px solid #e5ecee; }
.institutional-section:first-child { margin-top:0; }
.institutional-section h2 { color:#173f4c; margin:0 0 18px; font-size:20px; font-weight:700; line-height:1.4; letter-spacing:-.35px; scroll-margin-top:28px; }
.institutional-section-content { display:block; padding:0; }
.institutional-document ul:not(.institutional-hero-tags), .institutional-document ol { padding-left:22px; margin-bottom:20px; }
.institutional-document li { padding-left:3px; margin-bottom:8px; }
.institutional-document .alert { background:#edf5f1; color:#365c50; border:1px solid #d1e5da; border-left:3px solid #438b77; border-radius:6px; padding:18px 20px; margin-top:26px; }
.institutional-document table { width:100%; margin:20px 0; }
.institutional-document th,.institutional-document td { padding:10px 12px; border:1px solid #dfe7e9; text-align:left; }
.institutional-document th { background:#f2f6f5; color:#244c58; }
.institutional-document #printableArea > h2 { font-size:var(--mg-document-title-size); line-height:1.4; color:var(--mg-document-heading-color); letter-spacing:-.6px; font-weight:var(--mg-document-heading-weight); }
.institutional-document #printableArea > h4,.institutional-document #printableArea > h5 { margin:32px 0 18px; padding-top:28px; border-top:1px solid #e5ecee; font-size:var(--mg-document-heading-size); line-height:1.5; letter-spacing:0; scroll-margin-top:28px; font-weight:var(--mg-document-heading-weight); }
.institutional-document #printableArea p { margin-bottom:18px !important; }
.institutional-document #printableArea > p:empty { display:none; }
.institutional-document > .btn { padding:10px 18px; border:1px solid #c8dcd2; border-radius:6px; background:#edf5f1; color:#246e58; font-size:12px; font-weight:600; }
.institutional-form-page .ctr-body { padding:44px 0 56px; }
.institutional-form-page .ctr-wrap { width:100%; max-width:1200px; margin:0 auto; padding:0 28px; }
.institutional-form-page .ctr-grid { display:grid; grid-template-columns:minmax(0,1fr) 304px; gap:32px; align-items:start; }
.institutional-form-page .ctr-grid > div { min-width:0; }
.institutional-form-page .ctr-card { padding:30px 32px 32px; border:1px solid #dce5e7; border-radius:9px; background:#fff; }
.institutional-form-page .ctr-card h2 { margin:0 0 10px; color:#173f4c; font-size:25px; font-weight:700; letter-spacing:-.6px; line-height:1.3; }
.institutional-form-page .ctr-card-sub { color:#687c84; font-size:13px; line-height:1.85; margin:0 0 26px; padding-bottom:24px; border-bottom:1px solid #e5ecee; }
.institutional-form-page .ctr-fields { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:23px 18px; }
.institutional-form-page .ctr-field { display:flex; flex-direction:column; min-width:0; }
.institutional-form-page .c6 { grid-column:span 6; }
.institutional-form-page .c4 { grid-column:span 4; }
.institutional-form-page .c12 { grid-column:span 12; }
.institutional-form-page .ctr-field label { margin:0 0 8px; color:#294e59; font-size:12px; font-weight:600; line-height:1.5; }
.institutional-form-page .form-control { width:100%; height:46px; border:1px solid #d4e0e3; border-radius:6px; background:#fbfcfc; padding:10px 12px; color:#294e59; font:400 14px/1.6 Commissioner,Arial,Helvetica,sans-serif; box-shadow:none; transition:border-color .15s,box-shadow .15s; }
.institutional-form-page .form-control:focus { border-color:#438b77; background:#fff; outline:0; box-shadow:0 0 0 3px #438b7714; }
.institutional-form-page textarea.form-control { min-height:145px; resize:vertical; }
.institutional-form-page .form-control::placeholder { color:#80939a; opacity:1; }
.institutional-form-page .ctr-hint { margin-top:7px; color:#71838a; font-size:11px; line-height:1.65; }
.institutional-form-page .ctr-validation { margin-top:26px; padding-top:24px; border-top:1px solid #e5ecee; }
.institutional-form-page .ctr-validation > p { margin:0 0 12px; color:#294e59; font-size:12px; font-weight:600; }
.institutional-form-page .ctr-accept { display:flex; align-items:flex-start; gap:11px; background:#f4f8f6; border:1px solid #dfe9e3; border-radius:6px; padding:15px; color:#60746d; font-size:11px; line-height:1.8; font-weight:400; }
.institutional-form-page .ctr-accept input { flex-shrink:0; width:16px; height:16px; margin:3px 0 0; accent-color:#246e58; }
.institutional-form-page .ctr-accept a { color:#246e58; text-decoration:underline; }
.institutional-form-page .ctr-btn { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:46px; padding:12px 22px; border:1px solid #104855; border-radius:6px; background:#104855; color:#fff; font:500 13px/1.5 Commissioner,Arial,Helvetica,sans-serif; cursor:pointer; transition:background .15s; }
.institutional-form-page .ctr-btn:hover:not(:disabled) { background:#023441; }
.institutional-form-page .ctr-btn:disabled { border-color:#d5e1e3; background:#e7edef; color:#657b82; cursor:not-allowed; }
.institutional-form-page .ctr-side { position:sticky; top:24px; display:grid; gap:18px; }
.institutional-form-page .ctr-side-card { padding:24px; border:1px solid #dce5e7; border-radius:9px; background:#fff; }
.institutional-form-page .ctr-side-card h2 { margin:0 0 14px; font-size:16px; font-weight:700; color:#244c58; letter-spacing:-.2px; }
.institutional-form-page .ctr-side-card p { margin:0 0 8px; font-size:12px; line-height:1.8; color:#687c84; }
.institutional-form-page .ctr-side-phone { margin:12px 0 10px; color:#173f4c; font-size:20px; font-weight:500; line-height:1.5; overflow-wrap:anywhere; }
.institutional-form-page .ctr-side-phone a { color:inherit; }
.institutional-form-page .ctr-side-phone.is-email { font-size:15px; }
.institutional-form-page .ctr-side-divider { height:1px; background:#e5ecee; margin:19px 0; }
.institutional-form-page .ctr-flow-item { display:grid; grid-template-columns:18px minmax(0,1fr); gap:12px; }
.institutional-form-page .dot-col { display:flex; flex-direction:column; align-items:center; }
.institutional-form-page .dot { width:7px; height:7px; background:#438b77; border-radius:50%; margin-top:6px; box-shadow:0 0 0 4px #edf5f1; }
.institutional-form-page .vline { flex:1; width:1px; background:#dce5e7; margin:8px 0; }
.institutional-form-page .ctr-flow-item:last-child .vline { display:none; }
.institutional-form-page .ctr-flow-item .txt { padding-bottom:20px; color:#687c84; font-size:12px; line-height:1.8; }
.institutional-form-page .ctr-flow-item:last-child .txt { padding-bottom:0; }
.institutional-form-page .ctr-flow-item .txt b { display:block; margin-bottom:4px; color:#294e59; font-size:12px; font-weight:600; }
.institutional-form-page .ctr-seals { display:flex; flex-wrap:wrap; gap:15px; align-items:center; }
.institutional-form-page .ctr-seals img { max-width:100px; height:auto; }
.institutional-form-page .ctr-alert { margin:0 0 22px; border:1px solid #d1e3d9; border-left:3px solid #438b77; border-radius:6px; padding:18px 20px; background:#edf5f1; color:#365c50; font-size:12px; line-height:1.85; }
.institutional-form-page .ctr-alert-danger { background:#fcf1f0; border-color:#e9c7c2; border-left-color:#ba6458; color:#8b4138; }
.institutional-form-page .ctr-alert a { color:#246e58; text-decoration:underline; }
.institutional-submit-hint { display:block; margin-top:10px; color:#71838a; font-size:11px; }
.institutional-api-intro h2 { margin:0 0 12px; font-size:28px; letter-spacing:-.8px; color:#173f4c; font-weight:700; }
.institutional-api-intro > p:last-child { max-width:730px; margin:0 0 28px; color:#687c84; font-size:14px; line-height:1.9; }
.institutional-api-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.institutional-api-card { display:flex; flex-direction:column; padding:28px; border:1px solid #dce5e7; background:#fff; border-radius:9px; }
.institutional-api-card > .docs-card-icon { margin-bottom:24px; width:46px; height:46px; }
.institutional-api-card h3 { margin:0 0 12px; color:#173f4c; font-size:22px; font-weight:700; letter-spacing:-.5px; line-height:1.4; }
.institutional-api-card > p { color:#687c84; font-size:13px; line-height:1.9; margin:0 0 22px; }
.institutional-api-card .docs-tags { margin-top:auto; }
.institutional-api-link { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:19px; border-top:1px solid #e5ecee; color:#246e58; font-size:12px; font-weight:600; }
.institutional-api-link .docs-icon { width:17px; height:17px; }
.institutional-api-link:hover { color:#023441; }
.institutional-api-note { margin:24px 0 0; color:#74858b; font-size:11px; }
.institutional-api-side { border:1px solid #dce5e7; border-radius:9px; background:#edf3f2; padding:25px; }
.institutional-api-side h2 { font-size:18px; font-weight:700; color:#244c58; margin:0 0 12px; }
.institutional-api-side p { font-size:12px; line-height:1.9; margin:0 0 19px; }
.institutional-api-side a { display:inline-flex; align-items:center; gap:16px; color:#246e58; font-size:12px; font-weight:600; }
@media (max-width:1100px) {
 .institutional-hero-grid { gap:40px; }
 .institutional-layout { grid-template-columns:215px minmax(0,1fr); gap:30px; }
 .institutional-nav > .container { gap:22px; }
 .institutional-document { padding:30px; }
 .institutional-form-page .ctr-grid { grid-template-columns:minmax(0,1fr) 275px; gap:24px; }
}
@media (max-width:992px) {
 .institutional-layout { grid-template-columns:1fr; gap:24px; }
 .institutional-sidebar { position:static; }
 .institutional-back { margin-bottom:18px; }
 .institutional-toc-panel { margin-bottom:0; border:1px solid #dce5e7; border-radius:6px; background:#fff; padding:17px 20px; }
 .institutional-toc-panel summary { margin-bottom:12px; }
 .institutional-toc-panel:not([open]) summary { margin-bottom:0; }
 .institutional-toc { max-height:260px; min-height:0; }
 .institutional-sidebar-help { display:none; }
 .institutional-form-page .ctr-grid { grid-template-columns:1fr; }
 .institutional-form-page .ctr-side { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .institutional-form-page .ctr-side-card:last-child { grid-column:1 / -1; }
 .institutional-api-side { position:static; }
}
@media (max-width:700px) {
 .institutional-hero-grid { display:block; padding:28px 0 30px; }
 .institutional-hero h1 { font-size:clamp(31px,8vw,40px); letter-spacing:-1px; }
 .institutional-description { font-size:13px; line-height:1.85; margin-bottom:21px; }
 .institutional-emblem { display:none; }
 .institutional-hero-tags { font-size:10px; gap:8px 15px; }
 .institutional-nav > .container { gap:22px; }
 .institutional-nav a { min-height:54px; font-size:11px; }
 .institutional-content { padding:28px 0 35px; }
 .institutional-document { padding:24px 21px; font-size:var(--mg-document-mobile-size); }
 .institutional-document-top { align-items:flex-start; gap:12px; margin-bottom:22px; padding-bottom:19px; }
 .institutional-document-top > span { font-size:9px; flex-shrink:0; }
 .institutional-document-top .docs-section-eyebrow { font-size:9px; letter-spacing:1px; }
 .institutional-section h2 { font-size:19px; }
 .institutional-form-page .ctr-wrap { padding:0 20px; }
 .institutional-form-page .ctr-body { padding:28px 0 35px; }
 .institutional-form-page .ctr-card { padding:24px 20px; }
 .institutional-form-page .ctr-card h2 { font-size:23px; }
 .institutional-form-page .c6,.institutional-form-page .c4 { grid-column:span 12; }
 .institutional-form-page .ctr-side { grid-template-columns:1fr; }
 .institutional-form-page .ctr-btn { width:100%; }
 .institutional-form-page .g-recaptcha { transform:scale(.84); transform-origin:top left; height:66px; }
 .institutional-api-grid { grid-template-columns:1fr; gap:18px; }
 .institutional-api-intro h2 { font-size:25px; }
 .institutional-api-card { padding:25px; }
}
@media print {
 .institutional-page header,.institutional-page footer,.institutional-hero,.institutional-nav,.institutional-sidebar,.institutional-page .docs-contact,.institutional-page .docs-skip,.institutional-document > .btn { display:none !important; }
 .institutional-content,.institutional-layout,.institutional-document { display:block; margin:0; padding:0; border:0; background:#fff; box-shadow:none; width:100%; }
 .institutional-document { color:#222; font-size:11pt; }
 .institutional-document h2,.institutional-document h4,.institutional-document h5 { break-after:avoid; }
 .institutional-document #printableArea { position:static !important; }
 .institutional-document a { color:#222; }
}

/* Keep the document index discoverable and prioritize API resources on mobile. */
.institutional-toc-panel summary { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; }
.institutional-toc-panel summary::-webkit-details-marker { display:none; }
.institutional-toc-panel summary::after { content:"+"; font-size:17px; line-height:1; color:#438b77; letter-spacing:0; }
.institutional-toc-panel[open] summary::after { content:"−"; }
@media (max-width:992px) {
 .institutional-api-side { grid-row:2; }
 .institutional-api-side + div { grid-row:1; }
}

/* Contract section labels inherit the heading weight. */
.institutional-document #printableArea > h4 strong,
.institutional-document #printableArea > h5 strong { font-weight:inherit; }
