/* Source layouts remain isolated from the shared chrome and other stages. */
.stage5-content { font-family: proxima-nova, "Parity Fallback", Arial, sans-serif; color: #454545; min-width: 0; margin: 0; }
.stage5-content *, .stage5-content *::before, .stage5-content *::after { box-sizing: border-box; }
.stage5-content [hidden] { display: none !important; }
.stage5-content :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid var(--color-accent-orange); outline-offset: 4px; }
/* Match the live form's light-blue focus treatment, including country selects. */
.stage5-content form :is(input,select,textarea):not([type=hidden]) { transition: none; }
.stage5-content form :is(input,select,textarea):focus { outline: 1px solid rgba(82,168,236,.8); outline-offset: 0; }
.stage5-content [id] { scroll-margin-top: 110px; }
.stage5-content .elementor-invisible { visibility: visible; }
.stage5-content :is(h1,h2,h3,h4,h5,h6,p) { color: inherit; letter-spacing: normal; }
.stage5-content img { max-width: 100%; height: auto; }
.stage5-content .elementor-element svg { width: 1em; height: 1em; fill: currentColor; }
.stage5-content .stage5-accordion { border-bottom: 1px solid #ddd; }
.stage5-content .stage5-accordion summary { padding: 20px; cursor: pointer; font-weight: 600; }
.stage5-content .stage5-accordion .card-body { display: block !important; padding: 20px; }
.stage5-content .stage5-provider-link { display: inline-block; margin: 24px 0; text-decoration: underline; }
.stage5-content.stage5-prose { max-width: 1140px; margin: 0 auto; padding: 48px 24px; font-size: 18px; line-height: 1.6; }
.stage5-content.stage5-prose h1 { font-size: clamp(32px,4vw,48px); line-height: 1.15; margin-bottom: 28px; }
.stage5-content.stage5-prose .elementor { max-width: 100%; }
.stage5-content .stage5-form { width: 100%; }
.stage5-content .stage5-form-preview { font: 14px/1.5 Arial,sans-serif; color: #1860a3; text-align: left; }
.stage5-content .stage5-form-preview label { display: block; font-weight: 400; margin-bottom: 4px; }
.stage5-content .stage5-form-preview :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { width: 100%; min-height: 40px; border: 1px solid #cbd6e2; background: #f5f8fa; color: #33475b; padding: 8px 10px; margin-bottom: 18px; border-radius: 0; font: inherit; }
.stage5-content .stage5-choice { display: flex !important; align-items: baseline; gap: 8px; }
.stage5-content .stage5-choice input { appearance: auto; width: auto; }
.stage5-content .stage5-consent { font-size: 13px; }
.stage5-content .stage5-form-preview button { background: #1860a3; color: white; border: 0; padding: 12px 24px; font-size: 16px; margin-top: 20px; }
.stage5-content .stage5-form-status:empty { display: none; }
.stage5-content .stage5-form-status:not(:empty), .stage5-content .stage5-form-unavailable { padding: 16px; background: #fff3df; color: #573600; }
@media(max-width:767px) { .stage5-content.stage5-prose { padding: 32px 20px; } .stage5-content .e-n-tabs-heading { flex-wrap: wrap; } }
/* Live page heroes sit beneath the shared header; body content retains source spacing. */
.stage5-content:not(.stage5-prose):has(> .elementor) { margin-top: -81px; }
.stage5-content .stage5-source-heading { font-weight: 700; }
.stage5-content .e-con, .stage5-content .elementor-widget, .stage5-content .elementor-widget-container { overflow: visible; }
@media(max-width:1024px) { .stage5-content:not(.stage5-prose):has(> .elementor) { margin-top: -77px; } }
.stage5-content .stage5-form-preview { color: var(--stage5-label-color,#33475b); font-size: var(--stage5-label-size,14px); }
.stage5-content .stage5-form-preview button { display:block; background:var(--stage5-submit,var(--color-accent-orange)); font-size:var(--stage5-submit-size,18px); margin-left:var(--stage5-submit-margin,0); }
.stage5-content .stage5-form-preview button:is(:hover,:focus) { background:var(--stage5-submit,var(--color-accent-orange)); color:white; }
@media(max-width:767px) { .stage5-content .e-n-tabs-heading { display:flex !important; flex-wrap:wrap !important; } .stage5-content .e-n-tab-title { display:flex !important; } }
@media(max-width:767px) { .stage5-content .elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading { display:flex !important; flex-wrap:wrap !important; } }
@media(max-width:767px) {
 .stage5-content .elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px !important; }
 .stage5-content .elementor-widget-n-tabs .e-n-tabs .e-n-tab-title { margin:0 !important; width:100%; min-width:0; padding:12px 8px; font-size:14px; white-space:normal; }
}
/* The old newsletter definition uses white labels on an unpainted background. */
.stage5-content.stage5-prose .stage5-form-preview { color:#33475b; }
.stage5-content .stage5-dialog { width:min(620px,94vw); max-height:90vh; padding:32px; border:0; border-radius:8px; background:white; color:#333; }
.stage5-content .stage5-dialog:not([open]) { display:none; }
.stage5-content .stage5-dialog::backdrop { background:#0009; }
.stage5-content .stage5-dialog-close { position:absolute; right:8px; top:0; font-size:30px; border:0; background:transparent; color:#333; }
/* Source fixed-width containers must fit inside their own horizontal margins. */
.stage5-content :is(.elementor-element-fdb6329,.elementor-element-f961e90,.elementor-element-7cc0d13) { max-width:calc(100% - var(--margin-left,0px) - var(--margin-right,0px)); }
.stage5-content .elementor-element-0dd98ea { max-width:100%; }
/* The source's negative hero offset assumed an overlay WordPress header.
   Our accepted header occupies document space; keep the observed clipped titles fully visible. */
.stage5-content .elementor-730 .elementor-element.elementor-element-44e394c,
.stage5-content .elementor-443 .elementor-element.elementor-element-1906a49 { margin-top: 0 !important; }
.stage5-content[data-stage5-source="https://www.profoundlogic.com/careers/"],
.stage5-content[data-stage5-source="https://www.profoundlogic.com/contact/"],
.stage5-content[data-stage5-source="https://www.profoundlogic.com/legacy-system-talent-shortage/"] { margin-top: 0 !important; }
