/* Product layouts, typography, buttons, header and footer come from the
   unchanged Planning Analytics Elementor template. These rules only style
   the new form and its editorial content. */
.ubc-modeler-product .modeler-product-image{width:100%;height:auto;object-fit:contain}
.ubc-modeler-product .modeler-editorial{font-size:16px;line-height:1.6;color:#7a7a7a}
.ubc-modeler-product .modeler-editorial h3{font-size:18px;line-height:1.45;font-weight:600;color:#212429;margin:28px 0 10px}
.ubc-modeler-product .modeler-editorial p{margin:0 0 18px}
.ubc-modeler-product .modeler-editorial a{color:#1450d8}
.ubc-modeler-product .modeler-editorial ul,.ubc-modeler-product .modeler-process-list{padding-left:24px}
.ubc-modeler-product .modeler-editorial li{margin-bottom:12px}
.ubc-modeler-product #contact-demo{scroll-margin-top:95px}
#modeler-contact-form{max-width:760px;margin:28px 0 0;font-size:16px;line-height:1.5}
#modeler-contact-form label{display:block;font-weight:500;color:#212429;margin:0 0 18px}
#modeler-contact-form input:not([type=hidden]),#modeler-contact-form textarea{display:block;width:100%;margin-top:8px;padding:12px 14px;background:#fff;border:1px solid #d8dfe9;border-radius:6px;color:#212429;font:inherit;box-sizing:border-box}
#modeler-contact-form input:focus,#modeler-contact-form textarea:focus{outline:2px solid #1450d8;outline-offset:2px}
.modeler-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
#modeler-contact-form .elementor-button{background:#1450d8;color:#fff;border:0;border-radius:25px;padding:19px 29px;font-size:14px;font-weight:400;line-height:1;cursor:pointer}
#modeler-contact-form .elementor-button:hover{background:#1c1c1c}
#modeler-contact-form .elementor-button:disabled{opacity:.65;cursor:wait}
.modeler-form-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#modeler-contact-form .modeler-form-privacy{font-size:13px;color:#7a7a7a}
#modeler-contact-form .modeler-form-status{margin:16px 0;min-height:24px}
.modeler-form-status[data-state=error]{color:#a92121}.modeler-form-status[data-state=success]{color:#18643b}
@media(max-width:767px){.modeler-form-grid{grid-template-columns:1fr}.ubc-modeler-product .modeler-editorial h3{font-size:17px}}
/* Modeler-specific reading and interaction improvements, within the native theme. */
.ubc-modeler-product .modeler-editorial,.ubc-modeler-product .modeler-feature p{color:#50545b}
.ubc-modeler-product .modeler-feature{padding-top:48px!important;padding-bottom:32px!important}
.ubc-modeler-product .modeler-feature .elementor-element-1729249{gap:24px;align-items:flex-start}
.ubc-modeler-product .modeler-feature .elementor-element-0de57ab{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ubc-modeler-product .modeler-feature .elementor-element-c695062{width:100%}
.ubc-modeler-product .modeler-feature .elementor-widget-spacer{display:none}
.ubc-modeler-product .modeler-feature .elementor-element-4703811{min-height:0}
.ubc-modeler-product .modeler-context-card{min-height:0!important;margin:0;padding:22px!important}
.ubc-modeler-product .modeler-context-card .card-container_title{margin:0 0 10px}
.ubc-modeler-product .modeler-benefit{padding:14px 18px;border-left:3px solid #294bcc;background:#f7f8fb;margin-top:18px}
.ubc-modeler-product .modeler-figure{margin:0;width:100%}
.ubc-modeler-product .modeler-image-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left;color:#2446b9;font:inherit}
.ubc-modeler-product .modeler-image-button img{display:block;width:100%;height:auto;object-fit:contain;pointer-events:auto}
.ubc-modeler-product .modeler-zoom-label{display:inline-block;margin-top:8px;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.ubc-modeler-product .modeler-figure figcaption{margin:8px 0 0;font-size:12px;line-height:1.5;color:#50545b}
.ubc-modeler-product .modeler-figure figcaption a{color:inherit;text-decoration:none}
.ubc-modeler-product .modeler-figure figcaption a:hover{text-decoration:underline}
.ubc-modeler-product .modeler-image-button:focus-visible,.ubc-modeler-product a:focus-visible,.ubc-modeler-product summary:focus-visible{outline:3px solid #194ed1;outline-offset:4px}
.ubc-modeler-product #mainNav .sidebar-navigation-menu{display:flex;width:100%}
.ubc-modeler-product #mainNav .sidebar-navigation-menu li{flex:1;min-width:0}
.ubc-modeler-product #mainNav .sidebar-nav-button{height:100%;min-height:62px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 8px}
.modeler-mobile-nav{display:none}
.modeler-table-wrap{overflow-x:auto;margin:24px 0;border:1px solid #d8dfe9;border-radius:6px}
.modeler-comparison{width:100%;border-collapse:collapse;min-width:600px;font-size:15px;line-height:1.5}
.modeler-comparison caption{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.modeler-comparison th,.modeler-comparison td{padding:18px;text-align:left;vertical-align:top;border-bottom:1px solid #d8dfe9}
.modeler-comparison thead th{background:#f0f3fa;color:#212429;font-weight:600}
.modeler-comparison tbody th{width:22%;color:#212429;font-weight:600}
.modeler-comparison tr:last-child>*{border-bottom:0}
.modeler-license-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}
.modeler-license-options>div{border-top:2px solid #294bcc;padding-top:2px}
.ubc-modeler-product .modeler-license-options h3{margin-top:16px}
.ubc-modeler-product .modeler-inline-cta{background:#294bcc;color:white!important;border-radius:28px;padding:16px 24px;display:inline-block}
#modeler-contact-form select{display:block;width:100%;margin-top:8px;padding:12px 14px;background:#fff;border:1px solid #d8dfe9;border-radius:6px;color:#212429;font:inherit;box-sizing:border-box}
#modeler-contact-form select:focus{outline:2px solid #1450d8;outline-offset:2px}
.modeler-form-fallback{font-size:14px;overflow-wrap:anywhere}
.modeler-skip-link{position:fixed;left:12px;top:-200px;z-index:100001;background:#fff;color:#143dcc;padding:12px 20px;border:2px solid #143dcc;border-radius:6px}
.modeler-skip-link:focus{top:10px}
#modeler-image-dialog{padding:20px;border:0;border-radius:8px;width:min(1100px,94vw);max-height:92vh;overflow:auto;background:#fff;color:#212429}
#modeler-image-dialog::backdrop{background:rgba(15,23,42,.72)}
#modeler-image-dialog [data-modeler-close]{display:block;margin:0 0 12px auto;padding:10px 18px;background:#294bcc;color:#fff;border:0;border-radius:24px;font:inherit;cursor:pointer}
#modeler-dialog-image{display:block;width:auto;max-width:100%;height:auto;max-height:72vh;object-fit:contain;margin:auto}
#modeler-dialog-caption{font-size:14px;line-height:1.5;margin:14px 0 0}
@media(max-width:1224px){
 .modeler-mobile-nav{display:flex;position:sticky;top:var(--modeler-header-height,88px);z-index:97;align-items:center;gap:12px;width:100%;padding:12px;background:#f2f4f8;border:1px solid #d8dfe9;border-radius:4px;box-sizing:border-box}
 .modeler-mobile-nav label{font-size:13px;font-weight:600;color:#212429;flex:0 0 auto}
 .modeler-mobile-nav select{min-width:0;flex:1;padding:10px 28px 10px 10px;font:inherit;font-size:14px;border:1px solid #b8c2d5;border-radius:4px;background:#fff;color:#212429}
}
@media(max-width:767px){
 .ubc-modeler-product .modeler-feature{padding-top:28px!important;padding-bottom:16px!important}
 .ubc-modeler-product .modeler-context-card{padding:18px!important}
 .modeler-license-options{grid-template-columns:1fr;gap:12px}
 .modeler-mobile-nav{gap:8px;padding:8px}
 .modeler-mobile-nav label{max-width:90px;line-height:1.35}
 .modeler-comparison th,.modeler-comparison td{padding:14px}
 #modeler-image-dialog{padding:12px}
}
@media(prefers-reduced-motion:reduce){.ubc-modeler-product *{scroll-behavior:auto!important}}

@media(max-width:767px){.ubc-modeler-product .modeler-feature .elementor-element-0de57ab{grid-template-columns:1fr;gap:14px}}

@media(max-width:1224px){.ubc-modeler-product .elementor-element-7a6375c{display:none!important}}

.ubc-modeler-product .modeler-feature .elementor-element-3ba1116{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:stretch;width:100%}
.ubc-modeler-product .modeler-feature .elementor-element-cb0c1c7,.ubc-modeler-product .modeler-feature .elementor-element-3204b84{width:100%;max-width:none;min-width:0}
.ubc-modeler-product .modeler-feature .elementor-element-cb0c1c7>.elementor-widget-container{height:100%}
.ubc-modeler-product .modeler-feature .modeler-figure{height:100%;display:flex;flex-direction:column}
.ubc-modeler-product .modeler-feature .modeler-image-button{flex:1;display:flex;flex-direction:column;justify-content:center}
.ubc-modeler-product .modeler-feature .modeler-image-button img{flex:1;min-height:0;max-height:420px;object-fit:contain;object-position:left center}
.ubc-modeler-product .modeler-feature .elementor-element-3204b84{justify-content:space-between;padding:0}
.ubc-modeler-product .modeler-feature .elementor-element-692ef8d{margin-top:20px;justify-content:flex-start;gap:12px}
.modeler-function-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:100%;margin-top:28px;align-items:stretch}
.ubc-modeler-product .modeler-function-details .modeler-context-card{width:auto;height:100%;box-sizing:border-box;background:#f5f6fa;border-radius:12px;text-align:left}
.ubc-modeler-product .modeler-function-details .card-text{margin:0;font-size:16px;line-height:1.6;color:#50545b}
@media(max-width:767px){
 .ubc-modeler-product .modeler-feature .elementor-element-3ba1116{grid-template-columns:1fr;gap:24px}
 .ubc-modeler-product .modeler-feature .modeler-image-button img{max-height:none;flex:none}
 .modeler-function-details{grid-template-columns:1fr;gap:16px;margin-top:20px}
 .ubc-modeler-product .modeler-feature .elementor-element-692ef8d{flex-wrap:wrap}
}

.ubc-modeler-product .modeler-figure figcaption{text-align:left}
.ubc-modeler-product .modeler-feature .elementor-element-e55824e{margin-bottom:18px}
#modeler-image-dialog{inset:0;margin:auto!important}
@media(max-width:1224px){.modeler-mobile-nav label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.modeler-mobile-nav select{width:100%;margin:0}}
.ubc-modeler-product .modeler-function-details .card-text p{color:#50545b}
