/* Reference layout additions. Reuses the downloaded content-cards and image-with-text rules. */
.reference-home{overflow:clip;background:#fff;color:rgba(0,0,0,.85)}
.reference-home .section__lead{width:100%;max-width:768px;text-align:center;margin:0 auto 48px}
.reference-home .section__lead h2{font-size:32px;line-height:1.2;margin:0 0 16px;letter-spacing:-.025em;color:#262626}
.reference-home .section__lead p{font-size:18px;line-height:1.4;margin:0;color:rgba(0,0,0,.56)}
.reference-home .section-shell{width:calc(100% - 64px);max-width:1152px;margin-left:auto;margin-right:auto}
.reference-home .section--background-gray{background:#f7f7f7}
.reference-home .section__landing-page{flex-shrink:0}
.reference-home .content-cards--capabilities .card{border:0;border-radius:16px;box-shadow:none;background:#f7f7f7;min-height:523.40625px;align-items:stretch;transition:background .2s}
.reference-home .content-cards--capabilities .card:hover{background:#ebebeb}
.reference-home .content-cards--capabilities .card>img{display:block;flex:none;width:100%;height:auto;aspect-ratio:8.4/5;object-fit:cover;object-position:top;border-radius:0}
.reference-home .content-cards--capabilities .card .title{font-size:22px;line-height:26px;margin:0 0 16px;font-weight:700;letter-spacing:0}
.reference-home .content-cards--capabilities .card .subtitle{font-size:18px;line-height:1.4;margin:0 0 24px;min-height:50.4px}
.reference-home .content-cards--capabilities .body-text{font-size:14px;line-height:1.4;color:rgba(0,0,0,.56)}
.reference-home .content-cards--capabilities .body-text p{font-size:14px;line-height:1.4;margin:0}
.reference-home .content-cards--capabilities .body-text li+li{margin-top:0}
.reference-home .content-cards--capabilities .body-text ul{margin:0;padding:0 0 0 16px}
.reference-home .h3d-button--link-with-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#0071e3;line-height:1.4;position:relative;z-index:2}
.reference-home .h3d-button--link-with-arrow svg{flex-shrink:0;transition:transform .22s}
.reference-home .h3d-button--link-with-arrow:hover svg{transform:translateX(4px)}
.reference-home .content-cards--capabilities .text>a{font-size:16px;line-height:22px;align-items:flex-start}
.reference-home .content-image-with-text--thirds-image-right .text{flex:0 0 50%;padding-right:112px;min-width:0}
.reference-home .content-image-with-text--thirds-image-right .text h2{font-size:32px;line-height:1.2;margin:0 0 24px}
.reference-home .content-image-with-text--thirds-image-right .text p{font-size:18px;line-height:1.4;margin-top:16px;margin-bottom:0}
.reference-home .content-image-with-text--thirds-image-right>.image{flex:1 1 50%;min-width:0}
.reference-home .content-image-with-text--thirds-image-right .text .model-introduction{font-size:14px;color:#667380}
.reference-home .oulin-network .oulin-viewer{width:100%;height:390px;border:0;border-radius:0}
.reference-home .oulin-network .image{aspect-ratio:auto}
.reference-home .oulin-network .viewer-caption{max-width:calc(100% - 40px);font-size:10px}
.reference-home .quote-interface-image{display:block;overflow:hidden;border-radius:0;background:#f7f7f7}
.reference-home .quote-interface-image img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.reference-home .content-cards--progress .title{font-size:22px;line-height:26px;font-weight:700;letter-spacing:0}
.reference-home .content-cards--progress .card{background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible}
.reference-home .content-cards--progress .card-title{font-size:16px;line-height:22px;margin:0;font-weight:700;letter-spacing:0}
.reference-home .content-cards--progress .card-subtitle{font-size:12px;line-height:1.4;margin:8px 0 0}
.reference-home .content-cards--left-aligned .card{min-height:352px}
.reference-home .content-cards--left-aligned .title{font-size:22px;line-height:26px;margin:0}
.reference-home .content-cards--left-aligned .subtitle{font-size:18px;line-height:1.4;margin:16px 0 0}
.reference-home .content-cards--left-aligned .text>a{font-size:16px;line-height:22px;margin-top:8px}
.reference-home .content-cards--industries .card{min-height:423.84375px}
.reference-home .content-cards--industries .card>.text{padding:32px}
.reference-home .content-cards--industries .subtitle{font-size:14px;line-height:19.6px;min-height:0;margin-bottom:24px}
.reference-home .image-with-text>.content{font-size:18px;line-height:1.4;min-width:0}
.reference-home .image-with-text h2{font-size:32px;line-height:1.2;margin-top:0}
.reference-home .image-with-text>.image{margin:0;min-width:0}
.reference-home .image-with-text>.image img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:0}
.reference-home .image-with-text figcaption{font-size:11px;color:#8b929a;margin-top:8px}
.reference-home .image-with-text--reverse{flex-direction:row-reverse}
.reference-home .image-with-text--reverse>.content{padding-left:128px;padding-right:0}
.reference-home .content-image-with-text--cta-block .content{flex:1 1 auto;min-width:0}
.reference-home .content-image-with-text--cta-block .rich-text{margin-bottom:32px}
.reference-home .content-image-with-text--cta-block .content .rich-text h2{font-size:24px;line-height:1.2;letter-spacing:0}
.reference-home .content-image-with-text--cta-block .image{background:#e6f1fc}
.reference-home .content-image-with-text--cta-block .image img{object-fit:contain}
.reference-home .oulin-trust{text-align:center;min-height:260px;padding-top:32px}
.reference-home .trust-industries{display:flex;justify-content:center;align-items:center;gap:56px;flex-wrap:wrap;margin:40px auto;color:#7f8a95;font-size:22px;font-weight:650}
.reference-home .cta-band{background:#191919;padding:96px 0}
.reference-home .cta-band h2{font-size:32px;line-height:1.2}
.reference-home .cta-band .btn{background:#0071e3;color:#fff;margin-top:12px}
.reference-home .cta-band p{font-size:16px;max-width:650px;margin:0 auto}
@media(min-width:1024px){.reference-home .section-shell{width:calc(100% - 128px)}}
@media(max-width:1024px){
 .reference-home .content-image-with-text--thirds-image-right .text{flex:auto;width:100%;padding-right:0}
 .reference-home .content-image-with-text--thirds-image-right>.image{flex:auto;width:calc(100% + 128px);margin-left:-64px;margin-right:-64px}
 .reference-home .image-with-text>.content{padding-right:48px}
 .reference-home .image-with-text--reverse>.content{padding-left:48px;padding-right:0}
}
@media(max-width:1000px){
 .reference-home .image-with-text--reverse{flex-direction:column}
 .reference-home .image-with-text>.content,.reference-home .image-with-text--reverse>.content{padding:0;width:100%}
 .reference-home .image-with-text>.image{margin-top:32px}
}
@media(max-width:768px){
 .reference-home .section__lead{margin-bottom:48px}
 .reference-home .section__lead h2,.reference-home .content-image-with-text--thirds-image-right .text h2,.reference-home .image-with-text h2{font-size:28px;line-height:1.2}
 .reference-home .section__lead p,.reference-home .content-image-with-text--thirds-image-right .text p{font-size:16px;line-height:22px}
 .reference-home .content-cards--capabilities .card{max-width:400px;width:100%;min-height:unset}
 .reference-home .content-cards--capabilities .card .text{padding:16px}
 .reference-home .content-cards--capabilities .card .title{font-size:20px;line-height:24px}
 .reference-home .content-cards--capabilities .card .subtitle{font-size:16px;line-height:22px;min-height:0}
 .reference-home .content-cards--capabilities .card .body-text{margin-bottom:24px}
 .reference-home .content-image-with-text--thirds-image-right>.image{width:calc(100% + 64px);margin-left:-32px;margin-right:-32px}
 .reference-home .oulin-network .oulin-viewer{height:375px}
 .reference-home .oulin-network .viewer-status{bottom:69px}
 .reference-home .content-cards--left-aligned .card{min-height:0;padding:16px}
 .reference-home .content-cards--left-aligned .title{font-size:20px;line-height:24px}
 .reference-home .content-cards--left-aligned .subtitle{font-size:16px;line-height:22px}
 .reference-home .content-image-with-text--cta-block .content{padding:24px}
 .reference-home .content-image-with-text--cta-block .image{max-height:240px;overflow:hidden}
 .reference-home .trust-industries{gap:24px;font-size:18px;margin:28px auto}
 .reference-home .cta-band{padding:64px 0}
}
@media(prefers-reduced-motion:reduce){.reference-home .h3d-button--link-with-arrow svg{transition:none}.reference-home .card{transition:none!important}}

@media(max-width:1024px){.reference-home .section__lead{margin-bottom:24px}}
@media(max-width:767px){.reference-home .section__lead h2,.reference-home .content-image-with-text--thirds-image-right .text h2,.reference-home .image-with-text h2{font-size:24px;line-height:1.2}}
@media(min-width:768px) and (max-width:1024px){.reference-home .section__lead h2,.reference-home .content-image-with-text--thirds-image-right .text h2,.reference-home .image-with-text h2{font-size:32px;line-height:1.2}.reference-home .section__lead p{font-size:18px;line-height:1.4}}

@media(max-width:1023px){.reference-home .content-cards--capabilities .card .text{padding:16px}.reference-home .content-cards--left-aligned .card{padding:16px}}
.reference-home .content-cards--industries .subtitle{font-size:14px;line-height:19.6px;margin-bottom:24px}

/* Gray image/text sections are flex children: allow their intrinsic text width to shrink. */
@media(max-width:1024px){
 .reference-home [data-reference-section="network"],
 .reference-home [data-reference-section="quotes"]{flex:1 1 0%;min-width:0;width:auto}
 .reference-home [data-reference-section="network"] .content-image-with-text,
 .reference-home [data-reference-section="quotes"] .content-image-with-text{width:100%;max-width:100%;min-width:0}
 .reference-home [data-reference-section="network"] .content-image-with-text>.text,
 .reference-home [data-reference-section="quotes"] .content-image-with-text>.text{flex:0 1 auto;width:100%;max-width:100%;min-width:0}
 .reference-home [data-reference-section="network"] .text :is(h2,p,ul,li),
 .reference-home [data-reference-section="quotes"] .text :is(h2,p,ul,li){max-width:100%;min-width:0;overflow-wrap:anywhere}
 .reference-home [data-reference-section="network"] .content-image-with-text>.image,
 .reference-home [data-reference-section="quotes"] .content-image-with-text>.image{flex:0 1 auto;align-self:center;max-width:min(800px,100vw);min-width:0}
 .reference-home [data-reference-section="network"] .image canvas,
 .reference-home [data-reference-section="quotes"] .image img{max-width:100%;min-width:0}
}

/* Match the reference image ratio without changing the interactive viewer implementation. */
.reference-home [data-reference-section="network"] .oulin-viewer{width:100%;height:auto;min-height:0;aspect-ratio:16/9}
.reference-home [data-reference-section="network"] .content-image-with-text>.image{aspect-ratio:16/9}

.reference-home .content-image-with-text--cta-block .image{aspect-ratio:647/968}.reference-home .content-image-with-text--cta-block .image img{height:100%;object-fit:contain}@media(max-width:480px){.reference-home .content-image-with-text--cta-block .image{max-height:none}.reference-home .content-image-with-text--cta-block .image img{height:auto;aspect-ratio:647/968;object-fit:contain}}

.reference-home .content-cards--industries .card .subtitle{font-size:14px;line-height:19.6px;margin-bottom:24px}


/* Final measured typography and image geometry. */
.reference-home [data-reference-section="quotes"] .content-image-with-text>.image{aspect-ratio:1324/828}
.oulin-gallery .gallery-card-caption{line-height:1.4}
@media(min-width:768px){
 .reference-home [data-reference-section="quotes"] .text li p{line-height:1.4}
 .reference-home .content-cards--capabilities .card .title,
 .reference-home .content-cards--left-aligned .card .text .title{font-size:22px;line-height:26px}
 .reference-home .content-cards--capabilities:not(.content-cards--industries) .card .subtitle,
 .reference-home .content-cards--left-aligned .card .text .subtitle{font-size:18px;line-height:1.4}
 .reference-home .content-cards--capabilities .text>a,
 .reference-home .content-cards--left-aligned .card .text>a{font-size:18px;line-height:1.4}
}
@media(max-width:1024px){
 .reference-home [data-reference-section="quality"] .section__lead h2,
 .reference-home [data-reference-section="industries"] .section__lead h2{margin-bottom:8px}
}
@media(max-width:767px){
 .reference-home .content-cards--left-aligned .card .text .subtitle,
 .reference-home .content-cards--left-aligned .card .text>a{line-height:1.4}
}
@media(min-width:1025px){.reference-home [data-reference-section="industries"] .section__lead p{min-height:50.4px}}

/* Source geometry reused from Hubs deferred stylesheet. Homepage only. */
.reference-home .oulin-home-cta.section--dark-grey{
 background:#191919;color:#fff;padding:1px 0;font-size:16px;line-height:1.4;text-align:center
}
.reference-home .oulin-home-cta .content-cta-block{
 margin:104px 16px;width:auto;max-width:none;padding:24px;border:0;border-radius:3px;text-align:center;
 color:#fff;font-size:16px;line-height:1.4
}
.reference-home .oulin-home-cta .content-cta-block__title{
 font-size:24px;line-height:1.2;font-weight:500;letter-spacing:normal;
 text-align:center;color:#fff;margin:16px 0 32px
}
.reference-home .oulin-home-cta .h3d-button{
 display:inline-block;border:0;border-radius:3px;padding:8px 24px;margin:0;
 background:#0071e3;color:#fff;font-family:inherit;font-size:16px;font-weight:500;
 line-height:24px;letter-spacing:.01em;text-decoration:none
}
.reference-home .oulin-home-cta .h3d-button:hover{background:#0066cd}
.reference-home .oulin-home-cta .h3d-button:focus-visible{outline:2px solid #6bb6fa;outline-offset:4px}
@media(min-width:768px){
 .reference-home .oulin-home-cta .content-cta-block__title{font-size:32px}
}
@media(min-width:769px){
 .reference-home .oulin-home-cta .content-cta-block{margin:128px 56px}
}
@media(min-width:1224px){
 .reference-home .oulin-home-cta .content-cta-block{width:760px;margin:96px auto}
}
@media(max-width:425px){
 .reference-home .oulin-home-cta .content-cta-block{padding:0}
 .reference-home .oulin-home-cta .content-cta-block__title{max-width:80%;margin:0 auto 24px}
}

/* Reset theme-wide button sizing; the reference button is 40px high. */
.reference-home .oulin-home-cta .h3d-button{min-height:0;overflow:hidden;vertical-align:-1px}

.reference-home .oulin-home-cta__description{font-size:16px;line-height:1.4;margin:0 0 24px;color:#ddd}
.reference-home .oulin-home-cta .h3d-button{max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Homepage quote only; reference mobile bleed and tablet flow aspect. */
@media(max-width:767px){.reference-home [data-reference-section="quotes"] .content-image-with-text>.image{width:calc(100% + 128px);max-width:800px;margin-left:-64px;margin-right:-64px}}@media(min-width:768px){.reference-home [data-reference-section="quotes"] .text>p{font-size:18px;line-height:1.4}}@media(min-width:768px) and (max-width:1024px){.reference-home [data-reference-section="quotes"] .content-image-with-text>.image{width:calc(100% + 128px);max-width:800px;aspect-ratio:16/9;min-height:0;height:auto;margin-left:-64px;margin-right:-64px;overflow:hidden}.reference-home [data-reference-section="quotes"] .content-image-with-text>.image img{height:100%}}
