/* Apera custom elements – cards, sidebar, popup forms */
.apr-card { display: flex; flex-direction: column; height: auto; background: #fff; border-radius: 5px; box-shadow: 0 4px 16px rgba(10,35,63,.12); overflow: hidden; color: #0a233f; text-decoration: none !important; transition: box-shadow .25s, transform .25s; }
a.apr-card:hover { box-shadow: 0 10px 28px rgba(10,35,63,.2); transform: translateY(-2px); color: #0a233f; }
.apr-card-img img { display: block; width: 100%; height: auto !important; aspect-ratio: 16/9; object-fit: cover; }
.apr-card-body { display: flex; flex-direction: column; flex: 1; padding: 34px; }
.apr-card-body h3 { font-size: 30px; line-height: 1.2; margin-bottom: 18px; }
.apr-card-body p { font-size: 14px; line-height: 1.45; margin-bottom: 30px; }
.apr-more { margin-top: auto; font-size: 13px; font-weight: 600; text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px; }
.apr-more:after { content: "›"; display: inline-flex; width: 24px; height: 24px; border-radius: 50%; background: #fd495c; color: #fff; align-items: center; justify-content: center; font-size: 16px; line-height: 1; padding-bottom: 2px; }
.apr-card--product { background: none; box-shadow: none; text-align: center; align-items: center; }
a.apr-card--product:hover { box-shadow: none; }
.apr-card--product .apr-card-img img { aspect-ratio: 4/3; width: 260px; max-width: 100%; height: auto !important; margin: 0 auto 30px; object-fit: contain; border-radius: 3px; }
.apr-card--product .apr-card-body { padding: 0 10px; align-items: center; }
.apr-card--product h3 { font-size: 30px; font-weight: 500; }
.apr-card--product .w-btn { margin-top: auto; }
.apr-card--plain { background: none; box-shadow: none; }
.apr-card--plain .apr-card-img img { aspect-ratio: 4/3; border-radius: 5px; }
.apr-card--plain .apr-card-body { padding: 26px 0 0; }
.apr-card--person .apr-card-img img { aspect-ratio: 4/3; }
.apr-card-quote { font-size: 15px !important; }
.apr-card-meta { margin: auto 0 0 !important; font-size: 14px !important; }
.apr-card-meta strong { display: block; font-size: 17px; }
.w-content-carousel .apr-card, .owl-item .apr-card { margin: 8px 4px 24px; height: calc(100% - 32px); }

/* Sidebar (ported from legacy theme) */
.apr-sidebar-col { background: #f4f4f4; border-left: 1px solid #e3e7f0; padding: 0 !important; }
.apr-sidebar-col > .vc_column-inner { height: 100%; padding: 0 !important; }
.apr-sidebar { position: sticky; top: var(--header-sticky-height, 70px); max-height: calc(100vh - var(--header-sticky-height, 70px)); overflow-y: auto; }
.apr-sidebar .sections, .apr-sidebar .items { list-style: none; margin: 0; padding: 0; }
.apr-sidebar .section { margin: 0; }
.apr-sidebar .section-toggle { display: flex; align-items: center; gap: 16px; width: 100%; text-align: left; font: 600 17px/1.3 var(--font-family, Barlow), sans-serif; color: #0a233f; padding: 30px; background: #fff; border: 0; border-bottom: 1px solid #e3e7f0; cursor: pointer; }
.apr-sidebar .section-toggle:hover { color: #fd495c; }
.apr-sidebar .section-toggle:before { content: "+"; flex: 0 0 25px; width: 25px; height: 25px; border-radius: 50%; background: #fd495c; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 20px; line-height: 1; }
.apr-sidebar .active > .section-toggle:before { content: "–"; }
.apr-sidebar .items { max-height: 0; overflow: hidden; padding: 0 30px; transition: max-height .3s ease-out, padding .3s; }
.apr-sidebar .active > .items { max-height: 9000px; padding: 30px; border-bottom: 1px solid #e3e7f0; }
.apr-sidebar .item { margin: 0; }
.apr-sidebar .tile { display: block; width: 100%; text-align: left; background: #fff; border: 0; border-radius: 5px; padding: 30px; margin-bottom: 20px; box-shadow: 0 4px 14px rgba(10,35,63,.1); color: #0a233f; text-decoration: none !important; cursor: pointer; font: inherit; }
.apr-sidebar .item:last-child .tile, .apr-sidebar .item.tile:last-child { margin-bottom: 0; }
.apr-sidebar .tile h4 { font-size: 20px; line-height: 1.25; margin: 0 0 12px; color: #0a233f; }
.apr-sidebar .tile p, .apr-sidebar .tile li { font-size: 14px; line-height: 1.4; margin: 0; }
.apr-sidebar .tile:hover h4 { color: #fd495c; }
.apr-sidebar .downloads .tile h4 { position: relative; padding-right: 30px; }
.apr-sidebar .downloads .tile h4:after { content: "\f019"; font-family: "Font Awesome 5 Pro"; font-weight: 900; position: absolute; right: 0; top: 4px; font-size: 16px; color: #fd495c; }
.apr-sidebar .our-products .tile { display: flex; align-items: center; gap: 10px; }
.apr-sidebar .our-products .tile h4 { flex: 0 0 45%; margin: 0; }
.apr-sidebar .our-products .tile img { flex: 1 1 55%; max-width: 55%; height: auto; }
.apr-sidebar .application .tile ul { list-style: none; margin: 0; }
.apr-sidebar .application .tile li { margin-bottom: 8px; }
.apr-sidebar .application .tile a:hover { text-decoration: underline; }
.apr-sidebar .our-team .tile .image-container, .apr-sidebar .spotlight .tile img { margin: -30px -30px 25px; }
.apr-sidebar .our-team .tile img, .apr-sidebar .spotlight .tile img { display: block; width: calc(100% + 60px); max-width: calc(100% + 60px); height: 210px; object-fit: cover; border-radius: 5px 5px 0 0; }
.apr-sidebar .tile h6 { font-size: 13px; margin: 0; }
.apr-sidebar .highlight { color: #fd495c; font-weight: 600; margin-top: 10px !important; }
.apr-sidebar .metadata strong { display: block; }
@media (max-width: 1024px) { .apr-sidebar { position: static; max-height: none; } }

/* Popup forms (gated downloads) */
body.popup-open { overflow: hidden; }
.popupform { display: none; position: fixed; inset: 0; z-index: 9999; }
.popupform.is-open { display: block; }
.popupform .bg { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.popupform .fg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.popupform .fg > .tile { pointer-events: auto; position: relative; width: 90%; max-width: 600px; max-height: 90vh; overflow-y: auto; background: #0a233f; color: #fff; padding: 40px; border-radius: 5px; animation: aprUp .35s ease-out; }
@keyframes aprUp { from { transform: translateY(30px); opacity: 0; } to { transform: none; opacity: 1; } }
.popupform .icon-close { display: block; width: 28px; height: 28px; margin: 0 0 15px auto; position: relative; }
.popupform .icon-close:before, .popupform .icon-close:after { content: ""; position: absolute; left: 13px; top: 2px; width: 2px; height: 24px; background: #fd495c; transform: rotate(45deg); }
.popupform .icon-close:after { transform: rotate(-45deg); }
.popupform .hs-form fieldset { max-width: none !important; display: flex; gap: 12px; margin-bottom: 12px !important; }
.popupform .hs-form fieldset > .hs-form-field, .popupform .hs-form fieldset > .hs-dependent-field { flex: 1 1 0; min-width: 0; width: auto !important; float: none !important; }
.popupform .hs-form .hs-form-field .input { margin: 0 !important; }
.popupform .hs-form label:not(.hs-form-booleancheckbox-display) { display: none; }
.popupform .hs-form input:not([type=submit]):not([type=checkbox]), .popupform .hs-form select, .popupform .hs-form textarea { width: 100% !important; height: 44px; background: #0f345e; border: 0; color: #fff; border-radius: 3px; padding: 0 12px; font-weight: 600; font-size: 14px; }
.popupform .hs-form ::placeholder { color: #fff; opacity: 1; }
.popupform .hs-form .legal-consent-container, .popupform .hs-form .hs-richtext { font-size: 11px; color: #fff; margin: 14px 0; }
.popupform .hs-form a { color: #fd495c; }
.popupform .hs-form .hs-button { background: #fd495c; color: #fff; border: 0; border-radius: 30px; padding: 13px 20px; text-transform: uppercase; font-weight: 600; font-size: 13px; cursor: pointer; float: right; }
.popupform .hs-error-msgs { list-style: none; margin: 4px 0 0; padding: 0; font-size: 12px; color: #fd495c; }

/* Jobs (Greenhouse) */
#latest-greenhouse-jobs, #greenhouse-posts { list-style: none; margin: 0; }
#latest-greenhouse-jobs li { margin-bottom: 20px; }
#latest-greenhouse-jobs .tile, #greenhouse-posts .tile { display: block; background: #fff; border-radius: 5px; padding: 30px; box-shadow: 0 4px 14px rgba(10,35,63,.1); color: #0a233f; text-decoration: none; }
#latest-greenhouse-jobs .tile:hover h2 { color: #fd495c; }
#latest-greenhouse-jobs h6 { color: #fd495c; margin-bottom: 6px; }
#latest-greenhouse-jobs h2 { font-size: 26px; margin: 0; }
.apr-site-footer-form { padding: 110px 0; border-bottom: 1px solid #1d4470; }
.apr-ff-inner { max-width: 760px; margin: 0 auto; }
.apr-site-footer-form h2 { color: #fd495c; text-align: center; margin-bottom: 50px; }
@media (max-width: 600px) { .apr-site-footer-form { padding: 60px 0; } }
.apr-people { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.apr-person { background: #fff; border-radius: 5px; box-shadow: 0 4px 16px rgba(10,35,63,.12); overflow: hidden; }
.apr-person-img img { display: block; width: 100%; height: auto; aspect-ratio: 1/1; object-fit: cover; }
.apr-person-body { padding: 30px; }
.apr-person-body h3 { font-size: 26px; margin-bottom: 6px; }
.apr-person-body h6 { color: #fd495c; margin-bottom: 16px; }
.apr-person-bio p { font-size: 15px; }
@media (max-width: 1024px) { .apr-people { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .apr-people { grid-template-columns: 1fr; } }

.apr-card h3, .apr-card .apr-card-body p, .apr-card .apr-more { color: #0a233f !important; }
.apr-card--text { margin-bottom: 20px; }
.apr-card--text .apr-card-body { padding: 30px; }
.apr-card--text h3 { font-size: 24px; }
.w-grid-list .apr-card, .w-content-carousel .w-content-carousel-item > .apr-card { height: 100%; }
.w-list-filter .w-filter-item-value, .w-filter .w-filter-item-value { font-size: 15px; font-weight: 600; }
/* single posts */
.apr-post-hero img { display: block; width: 100%; max-height: 600px; object-fit: cover; }
.apr-post-hero--video { background: #0a233f; padding: 50px 4.5vw; }
.apr-post-hero--video .apr-post-hero-in { max-width: 1100px; margin: 0 auto; }
.apr-crumbs-post { font-size: 13px; font-weight: 600; text-transform: uppercase; color: #fd495c; margin: 45px 0 30px; }
.apr-crumbs-post a { color: #fd495c; }
.apr-crumbs-post .sep { margin: 0 10px; }
.module-two-column-title-description .grid-container { display: grid; grid-template-columns: 5fr 7fr; gap: 40px; margin: 40px 0; }
.module-two-column-title-description .cell.small-12:not(.large-5):not(.large-7) { grid-column: 1 / -1; }
.module-two-column-title-description h2.title { font-size: 30px; }
.module-video, .module-image { margin: 40px 0; }
.image-container img { border-radius: 5px; }
@media (max-width: 900px) { .module-two-column-title-description .grid-container { grid-template-columns: 1fr; } }
/* legacy .button class inside migrated content */
.w-post-elm a.button, .w-post-elm button.button, .wpb_text_column a.button { display: inline-block; background: #fd495c; color: #fff !important; border: 0; border-radius: 30px; padding: 13px 20px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .025em; cursor: pointer; text-decoration: none; transition: background .2s; }
.w-post-elm a.button:hover, .w-post-elm button.button:hover, .wpb_text_column a.button:hover { background: #0a233f; }

/* Elementor-converted icon/number boxes (el2imp apr-svgbox) */
.apr-svgbox{display:flex;gap:22px;align-items:flex-start;margin:0 0 28px}
.apr-svgbox-ico{flex:0 0 auto;line-height:0}
.apr-svgbox-ico svg{width:32px;height:auto}
.apr-svgbox-body{flex:1 1 auto;min-width:0}
.apr-svgbox-body h4{margin:6px 0 .5em;font-size:22px}
.apr-svgbox-body p{margin:0 0 .5em;font-size:15px}
.w-iconbox.iconpos_left .w-iconbox-title{margin-bottom:.4em}
.apr-checklist ul{list-style:none;margin:0;padding:0}
.apr-checklist li{display:flex;gap:10px;align-items:baseline;margin:0 0 .6em}
.apr-checklist li i{flex:0 0 auto;font-size:.85em}
details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
.apr-grow{flex:1 1 0!important;min-width:0}

/* polish: Magna proven rows, VuePod spec table */
.vm-proven .vm-prow{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.vm-proven .vm-prow:last-child{border-bottom:0}
.page-id-9601 .w-html table{border:1px solid #e3e5e8;background:#fff}
.page-id-9601 .w-html table tr:nth-child(even){background:#f4f5f7}

/* mobile polish */
@media (max-width:600px){
  .w-hwrapper:has(> .w-btn-wrapper){flex-wrap:wrap;row-gap:12px}
  .w-hwrapper > .w-btn-wrapper{flex:0 1 auto;min-width:min(100%,160px)}
}
.hs-form ul.inputs-list{margin-left:0!important;padding-left:0!important;max-width:100%}
.hs-form ul.inputs-list li{max-width:100%}
.l-main p a,.l-main li a{overflow-wrap:anywhere}
@media (max-width:600px){
  .w-btn{white-space:normal;max-width:100%;text-align:center}
  .vm-proven .vm-prow{flex-wrap:wrap;row-gap:6px}
}
@media (max-width:600px){
  .apr-pt-tip{position:fixed;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(300px,85vw);z-index:1000}
}
@media (max-width:767px){
  .l-main .w-hwrapper:has(> .w-vwrapper){flex-direction:column;align-items:stretch;gap:12px}
  .l-main .w-hwrapper > .w-vwrapper{width:100%!important;max-width:100%!important}
}

/* mobile-only menu items (top-bar links + language) */
.w-nav:not(.type_mobile) .apr-mob-only{display:none!important}
.w-nav.type_mobile .menu-item.apr-mob-only > a{font-weight:400}
.w-nav:not(.type_mobile) .menu-item.pll-parent-menu-item{display:none!important}
.hs-form ul.inputs-list{list-style:none!important}
.apr-updated{margin-top:2rem;font-size:14px;color:#5b6b7d}
