/* Shared presentation for all four modules. Edit this file for site-wide changes.
   Module CSS retains the diagrams, previews, tabs and responsive product layouts. */
.oalp{--ol-ink:#182b2a;--ol-muted:#536561;--ol-accent:#245c4d;--ol-paper:#f2f4f0;--ol-line:#dce4de;font-family:inherit;color:var(--ol-ink);width:100%;max-width:1240px!important;margin:0 auto!important;box-sizing:border-box;overflow-wrap:break-word;isolation:isolate}
.oalp *,.oalp *::before,.oalp *::after{box-sizing:border-box}
.oalp .osgd,.oalp .optart-institute-landing,.oalp .oacl,.oalp .oagl{font-family:inherit;max-width:100%;width:100%;margin:0;text-align:left}
.oalp .osgd{--ink:#182b2a;--ink-2:#223f36;--paper:#fff;--mist:#f2f4f0;--line:#dce4de;--mint:#bad9c3;--lime:#d6e8ca;--cyan:#a8cfcb;position:relative}
.oalp .optart-institute-landing{--ink:var(--ol-ink);--muted:var(--ol-muted);--teal:var(--ol-accent);--paper:var(--ol-paper);--line:var(--ol-line)}
.oalp .oacl{--oacl-ink:var(--ol-ink);--oacl-teal:var(--ol-accent);--oacl-muted:var(--ol-muted);--oacl-line:var(--ol-line);--oacl-mint:var(--ol-paper)}
.oalp .oagl{--oagl-ink:var(--ol-ink);--oagl-teal:var(--ol-accent);--oagl-muted:var(--ol-muted);--oagl-line:var(--ol-line);--oagl-mint:var(--ol-paper)}
.oalp :is(.osgd,.optart-institute-landing,.oacl,.oagl) :is(h1,h2,h3){font-family:inherit;letter-spacing:-.03em;font-weight:650;line-height:1.15;text-transform:none;text-wrap:balance}
.oalp :is(.osgd,.optart-institute-landing,.oacl,.oagl) :is(h1,.oacl-title,.oagl-title){font-size:clamp(36px,4.6vw,60px);line-height:1.08;letter-spacing:-.04em}
.oalp .osgd .osgd-offer h1{max-width:20ch;font-size:clamp(36px,4.6vw,60px)}
.oalp :is(.osgd,.optart-institute-landing,.oacl,.oagl) h2{font-size:clamp(29px,3.2vw,42px);max-width:none}
.oalp .osgd .osgd-hero__title{font-size:clamp(32px,3.8vw,48px);max-width:19ch}
.oalp .osgd .osgd-cta h2{font-size:clamp(30px,3.5vw,44px);max-width:23ch}
.oalp .osgd .osgd-custom-offer h2{font-size:clamp(28px,3vw,38px);max-width:none}
.oalp :is(.osgd,.optart-institute-landing,.oacl,.oagl) h3{font-size:22px}
.oalp .osgd-shell,.oalp .optart-institute-landing .wrap{width:calc(100% - 56px);max-width:1160px;margin-inline:auto}
.oalp .osgd-offer{padding:64px 0 42px;background:#fff}
.oalp .osgd-offer__intro{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;align-items:center;margin-bottom:40px}
.oalp .osgd-offer__summary p{font-size:19px;line-height:1.6;color:var(--ol-muted)}
.oalp .osgd :is(.osgd-kicker,.osgd-package__top p){font-size:11px;letter-spacing:.12em;font-weight:700}
.oalp .osgd-kicker{margin-bottom:24px}
.oalp .osgd-package{min-height:450px;padding:32px;border-radius:8px}
.oalp .osgd-package__price{margin:32px 0 26px}
.oalp .osgd-package__price strong{font-family:inherit;font-size:clamp(48px,5vw,64px);font-weight:650}
.oalp .osgd-custom-offer{padding:32px;background:#f2f4f0;color:var(--ol-ink);gap:40px;border:1px solid var(--ol-line);border-radius:8px}
.oalp .osgd-custom-offer__label{color:var(--ol-accent)}
.oalp .osgd-custom-offer__copy>p{color:var(--ol-muted)}
.oalp .osgd-custom-offer .osgd-text-link{color:var(--ol-accent)!important;border-color:#afbeb0}
.oalp .osgd-offer__note{font-size:12px;line-height:1.7}
.oalp .osgd-section{padding:72px 0}
.oalp .osgd-heading{margin-bottom:36px;gap:32px}
.oalp .osgd-hero{min-height:0}
.oalp .osgd-hero .osgd-kicker{color:#bad9c3}
.oalp .osgd-hero__inner{min-height:0;padding-top:60px;padding-bottom:46px;gap:36px}
.oalp .osgd-hero__visual{max-width:480px;margin-inline:auto}
.oalp .osgd :is(.osgd-stat strong,.osgd-impact-numbers strong,.osgd-node span,.osgd-publication__year){font-family:inherit}
.oalp .osgd-cta{padding-top:60px;background:var(--ol-ink)}
.oalp .osgd-disclaimer{margin-top:40px;font-size:12px;line-height:1.7}
.oalp .osgd .osgd__skip:not(:focus){position:absolute;left:0;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.oalp .osgd .osgd__skip:focus{top:8px;left:16px;z-index:100;width:auto;height:auto;clip-path:none}
.oalp .optart-institute-landing .hero,.oalp .oacl .oacl-hero,.oalp .oagl .oagl-hero{padding-top:64px;padding-bottom:64px;gap:52px;background:none}
.oalp .oacl .oacl-hero,.oalp .oagl .oagl-hero{padding-left:28px;padding-right:28px}
.oalp .optart-institute-landing .section{padding-top:72px;padding-bottom:72px}
.oalp .optart-institute-landing .intro{font-size:18px;line-height:1.65}
.oalp .optart-institute-landing .eyebrow{font-size:11px;letter-spacing:.12em}
.oalp .optart-institute-landing :is(.feature-grid p,.section-heading>p,.process li p,.pricing>div>p:not(.eyebrow),.contact>p:not(.eyebrow),.example-copy>p:not(.eyebrow)){font-size:16px;line-height:1.7}
.oalp .optart-institute-landing .feature-grid h3{font-size:22px}
.oalp .optart-institute-landing .contact h2{font-size:clamp(30px,3.5vw,42px)}
.oalp :is(.oacl-preview,.oagl-preview),.oalp .optart-institute-landing .visual{transform:none;border-radius:8px;border:1px solid var(--ol-line);box-shadow:0 12px 35px -24px #182b2a55}
.oalp .optart-institute-landing .import-chip{transform:none;right:12px;bottom:12px;padding:12px 16px}
.oalp .optart-institute-landing .preview-caption{position:static;padding:12px 18px;margin:0;font-size:10px}
.oalp :is(.oacl,.oagl) :is(.oacl-button,.oagl-button),.oalp .optart-institute-landing .button,.oalp .osgd .osgd-button{border-radius:8px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;padding:14px 20px;min-height:48px;letter-spacing:0;transform:none}
.oalp .osgd .osgd-button--primary{background:var(--lime)!important}
.oalp .osgd .osgd-offer .osgd-button{background:var(--ol-accent)!important;color:#fff!important;border-color:var(--ol-accent)}
.oalp .osgd .osgd-offer .osgd-button svg{stroke:#fff!important}
.oalp .osgd .osgd-package--featured .osgd-button{background:var(--lime)!important;color:var(--ink)!important}
.oalp .osgd .osgd-package--featured .osgd-button svg{stroke:var(--ink)!important}
.oalp .oalp-demo-label{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;background:var(--ol-paper);border-top:1px solid var(--ol-line);border-bottom:1px solid var(--ol-line);padding:16px 28px;color:var(--ol-muted);font-family:inherit;font-size:13px;line-height:1.6;margin:0}
.oalp .oalp-demo-label strong{font-size:10px;letter-spacing:.12em;color:var(--ol-accent);font-weight:700}
.oalp .optart-institute-landing .oalp-demo-label{margin:0 auto 34px;background:white;border:1px solid var(--ol-line);border-radius:8px;width:calc(100% - 56px)}
/* Preserve the scale of miniature product UI; these are not page headings. */
.oalp .optart-institute-landing .preview-hero h2{font-size:31px}
.oalp .optart-institute-landing .preview-bottom h3{font-size:19px}
.oalp .optart-institute-landing .record h3{font-size:15px}
.oalp .optart-institute-landing .person h3{font-size:16px}
@media(max-width:900px){.oalp .osgd-offer__intro{gap:32px}.oalp .optart-institute-landing .hero,.oalp .oacl .oacl-hero,.oalp .oagl .oagl-hero{gap:30px}}
@media(max-width:780px){.oalp .osgd-shell,.oalp .optart-institute-landing .wrap{width:calc(100% - 40px)}.oalp .osgd-offer{padding:40px 0 32px}.oalp .osgd-offer__intro{grid-template-columns:1fr;gap:24px}.oalp .osgd .osgd-offer h1{max-width:none}.oalp .osgd-section{padding:48px 0}.oalp .osgd-custom-offer{grid-template-columns:1fr;gap:20px;padding:25px}.oalp .osgd-package{padding:26px;min-height:0}.oalp .osgd-heading{grid-template-columns:1fr}.oalp .osgd-hero__inner{padding-top:42px}.oalp .optart-institute-landing .hero,.oalp .oacl .oacl-hero,.oalp .oagl .oagl-hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:42px}.oalp .oacl .oacl-hero,.oalp .oagl .oagl-hero{padding-left:20px;padding-right:20px}.oalp .optart-institute-landing .section{padding-top:48px;padding-bottom:48px}.oalp .optart-institute-landing .oalp-demo-label{width:calc(100% - 40px);padding:16px 20px}.oalp .oalp-demo-label{padding:16px 20px}.oalp .osgd .osgd-hero__title{max-width:none}.oalp .osgd-network__detail h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.oalp *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Example label and its following panel form one connected block. */
.oalp .oacl>.oalp-demo-label,.oalp .oagl>.oalp-demo-label{margin:0 12px;border:1px solid var(--ol-line);border-radius:8px 8px 0 0}
.oalp .oacl>.oalp-demo-label+.oacl-demo-band,.oalp .oagl>.oalp-demo-label+.oagl-example{margin-top:0;border-top:0;border-radius:0 0 8px 8px}
@media(max-width:650px){.oalp .oacl>.oalp-demo-label,.oalp .oagl>.oalp-demo-label{margin-inline:4px}}
/* The experience reference is separate from the fictional consortium demo.
   The demo label sits between them, so the old adjacent-sibling gap did not apply. */
.oalp .oagl .oagl-reference{margin:0 12px 40px;padding:32px 36px;border:1px solid var(--ol-line);border-radius:8px}
@media(max-width:650px){.oalp .oagl .oagl-reference{margin:0 4px 28px;padding:26px 20px}}
