/* Vybright approved redesign. Native Elementor components, scoped front-end styles. */
.vy-site { --vy-midnight:#071A2F; --vy-navy:#123B5D; --vy-blue:#236A9C; --vy-focus:#4B8FD1; --vy-gold:#D3A11F; --vy-light-gold:#F0D991; --vy-text:#071A2F; --vy-body:#334A60; --vy-link:#236A9C; color:var(--vy-text); font-family:Geist,sans-serif; }
.vy-site.vy-dark { --vy-text:#FFFFFF; --vy-body:#C4D5E5; --vy-link:#8FBEE3; color:var(--vy-text); background:#071A2F; }
.vy-site.vy-light { background:#FFFFFF; }
.vy-site.vy-cool { background:#EFF6FD; }
.vy-site.vy-section { padding:64px 32px; }
.vy-site.elementor-section>.elementor-container { max-width:1200px; width:100%; margin-inline:auto; }
.vy-site .elementor-widget-wrap { gap:16px; padding:0; align-content:flex-start; }
.vy-site .elementor-widget { margin:0; min-width:0; }
.vy-site .elementor-widget-heading .elementor-heading-title { color:var(--vy-text); font-family:Outfit,sans-serif; font-weight:700; line-height:1.12; letter-spacing:-.035em; margin:0; }
.vy-site .elementor-widget-heading h1.elementor-heading-title { font-size:clamp(40px,4.8vw,70px); }
.vy-site .elementor-widget-heading h2.elementor-heading-title { font-size:clamp(30px,3.25vw,46px); }
.vy-site .elementor-widget-heading h3.elementor-heading-title { font-size:26px; line-height:1.18; letter-spacing:-.02em; }
.vy-site .vy-copy, .vy-site .vy-copy .elementor-widget-container { font-family:Geist,sans-serif; font-size:18px; line-height:1.58; color:var(--vy-body); }
.vy-site .vy-copy p { margin:0; }
.vy-site .vy-copy p+p { margin-top:14px; }
.vy-site .vy-lead, .vy-site .vy-lead .elementor-widget-container { font-weight:600; font-size:22px; color:var(--vy-text); line-height:1.35; }
.vy-site .vy-gold { color:#F0D991; }
.vy-site .vy-eyebrow .elementor-heading-title { color:var(--vy-link); font:600 12px/1.5 Geist,sans-serif; letter-spacing:.16em; display:flex; align-items:center; gap:14px; }
.vy-site .vy-eyebrow .elementor-heading-title:before { content:''; display:block; width:28px; height:2px; background:currentColor; flex-shrink:0; }
.vy-site .vy-action .elementor-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:14px 20px; font:600 15px/1.35 Geist,sans-serif; text-decoration:none; border:1px solid transparent; border-radius:6px; transition:background .15s,transform .15s; }
.vy-site .vy-primary .elementor-button { color:#071A2F; background:linear-gradient(110deg,#F0D991,#D3A11F); box-shadow:0 0 22px #D3A11F1A; border-color:#F0D991; }
.vy-site .vy-secondary .elementor-button { color:var(--vy-text); background:transparent; border-color:#8FBEE3; }
.vy-site .vy-action .elementor-button:hover { transform:translateY(-1px); }
.vy-site .vy-primary .elementor-button:hover { background:#F0D991; }
.vy-site .vy-secondary .elementor-button:hover { background:#4B8FD11A; }
.vy-site :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:3px solid #4B8FD1; outline-offset:4px; }
.vy-site.vy-dark :where(a,button):focus-visible { outline-color:#8FBEE3; }
.vy-site .vy-art img { width:100%; height:auto; display:block; aspect-ratio:4/3; object-fit:contain; }
.vy-site .vy-card-art img { aspect-ratio:2.15; max-height:180px; object-fit:contain; }
.vy-site .vy-line-icon { width:32px; height:32px; display:block; color:#236A9C; }
.vy-site .vy-inline-row { width:100%; padding:0; margin:10px 0 0; }
.vy-site .vy-actions>.elementor-widget-wrap { display:flex; flex-direction:row; gap:12px; }
.vy-site .vy-actions .elementor-widget-button { width:auto; }
.vy-site.vy-hero { padding:58px 32px 60px; position:relative; background:radial-gradient(ellipse at 86% 48%,#123B5D99,transparent 62%),#071A2F; }
.vy-site.vy-hero:before,.vy-site.vy-closing:before { content:''; position:absolute; right:0; top:0; width:18%; height:100%; background-image:radial-gradient(#4B8FD144 .8px,transparent .8px); background-size:16px 16px; pointer-events:none; }
.vy-site.vy-hero>.elementor-container,.vy-site.vy-split>.elementor-container,.vy-site.vy-meaning>.elementor-container,.vy-site.vy-closing>.elementor-container { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.vy-site.vy-hero>.elementor-container>.elementor-column,.vy-site.vy-split>.elementor-container>.elementor-column,.vy-site.vy-meaning>.elementor-container>.elementor-column,.vy-site.vy-closing>.elementor-container>.elementor-column { width:100%; min-width:0; }
.vy-site .vy-hero-copy>.elementor-widget-wrap { gap:20px; }
.vy-site .vy-hero-art img { max-height:460px; }
.vy-site.vy-cap-strip { padding:28px 32px; border-bottom:1px solid #DCEAF5; }
.vy-site.vy-cap-strip>.elementor-container { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.vy-site .vy-cap-item { width:100%; padding:0 22px; border-right:1px solid #B6D2E8; }
.vy-site .vy-cap-item:first-child { padding-left:0; }
.vy-site .vy-cap-item:last-child { border:0; }
.vy-site .vy-cap-item>.elementor-widget-wrap { display:grid; grid-template-columns:32px minmax(0,1fr); gap:14px; align-items:center; }
.vy-site .vy-cap-title .elementor-heading-title { font:600 16px/1.3 Geist,sans-serif; letter-spacing:-.01em; }
.vy-site .vy-narrative>.elementor-widget-wrap { gap:18px; }
.vy-site .vy-subhead h2.elementor-heading-title { font-size:26px; color:#8FBEE3; }
.vy-site .vy-small-copy,.vy-site .vy-small-copy .elementor-widget-container { font-size:16px; }
.vy-site .vy-checks .elementor-icon-list-text { color:#C4D5E5; font:400 15px/1.5 Geist,sans-serif; }
.vy-site .vy-checks .elementor-icon-list-icon { color:#8FBEE3; }
.vy-site .vy-checks .elementor-icon-list-item { margin-bottom:7px; }
.vy-site.vy-cards-three>.elementor-container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.vy-site .vy-card { width:100%; min-width:0; --vy-text:#071A2F; --vy-body:#334A60; }
.vy-site .vy-card>.elementor-widget-wrap { padding:26px; background:#FFF; border:1px solid #DCEAF5; border-radius:16px; box-shadow:0 10px 30px #071A2F07; }
.vy-site .vy-card .vy-copy,.vy-site .vy-card .vy-copy .elementor-widget-container { font-size:17px; }
.vy-site .vy-step-grid { margin:14px 0 12px; }
.vy-site .vy-step-grid>.elementor-container { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.vy-site .vy-step { width:100%; }
.vy-site .vy-step>.elementor-widget-wrap { border-top:2px solid #DCEAF5; padding-top:24px; gap:16px; }
.vy-site .vy-step h3.elementor-heading-title { font-size:23px; }
.vy-site .vy-step .vy-copy,.vy-site .vy-step .vy-copy .elementor-widget-container { font-size:17px; }
.vy-site.vy-how { scroll-margin-top:105px; }
.vy-site.vy-meaning { padding-block:48px; }
.vy-site.vy-meaning>.elementor-container { grid-template-columns:44fr 56fr; }
.vy-site .vy-doors-grid { margin-top:12px; }
.vy-site .vy-doors-grid>.elementor-container { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.vy-site .vy-door .vy-action { margin-top:4px; }
.vy-site.vy-closing { position:relative; padding-block:48px; }
.vy-site.vy-closing>.elementor-container { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
.vy-site.vy-closing h2.elementor-heading-title { font-size:38px; }
.vy-site .vy-cta-action>.elementor-widget-wrap { justify-content:flex-end; }
/* Existing Stratus menu and widget-footer approach is retained. No form selectors. */
.vy-shell header.banner.navbar { background:#071A2F; border-bottom:1px solid #23445E; }
.vy-shell header.banner .navbar-nav>li>a { font-family:Geist,sans-serif; font-size:15px; margin-inline:12px; }
.vy-shell header.banner .navbar-nav>li.vb-register-cta>a { background:linear-gradient(110deg,#F0D991,#D3A11F)!important; color:#071A2F!important; border-color:#F0D991!important; min-height:48px; display:flex; align-items:center; font-weight:600; }
.vy-shell header.banner .navbar-nav>li.vb-register-cta>a:hover { background:#F0D991!important; }
.vy-shell header.banner .navbar-nav>li.current-menu-item:not(.vb-register-cta)>a { text-decoration-color:#D3A11F; text-decoration-thickness:2px; }
.vy-shell footer.footer .footer-widgets { padding-top:36px; padding-bottom:22px; }
.vy-shell footer.footer .widget-inner,.vy-shell footer.footer .textwidget,.vy-shell footer.footer p,.vy-shell footer.footer .widget-inner a { font-size:15px; line-height:1.55; }
.vy-shell footer.footer .widget-title { font-size:20px; padding-bottom:12px; }
.vy-shell footer.footer .vb-footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
.vy-shell footer.footer .vb-footer-links li { margin-bottom:8px; }
.vy-shell .vy-skip { position:absolute; top:0; left:20px; z-index:100000; padding:12px 18px; background:#FFF; color:#071A2F; transform:translateY(-160%); }
.vy-shell .vy-skip:focus { transform:none; outline:3px solid #4B8FD1; }
@media (max-width:1024px) {
 .vy-site.vy-section { padding:48px 24px; }
 .vy-site.vy-hero { padding:44px 24px; }
 .vy-site.vy-hero>.elementor-container,.vy-site.vy-split>.elementor-container { gap:28px; }
 .vy-site .vy-step-grid>.elementor-container { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .vy-site .vy-cap-item { padding-inline:12px; }
 .vy-site .vy-cap-title .elementor-heading-title { font-size:14px; }
 .vy-site .vy-card>.elementor-widget-wrap { padding:20px; }
 .vy-site.vy-cards-three>.elementor-container { gap:16px; }
 .vy-shell header.banner .navbar-nav>li>a { margin-inline:7px; font-size:14px; }
}
@media (max-width:767px) {
 .vy-site.vy-section { padding:42px 20px; }
 .vy-site.vy-hero { padding:38px 20px 32px; }
 .vy-site.vy-hero>.elementor-container,.vy-site.vy-split>.elementor-container,.vy-site.vy-meaning>.elementor-container,.vy-site.vy-closing>.elementor-container { grid-template-columns:minmax(0,1fr); gap:26px; }
 .vy-site .elementor-widget-heading h1.elementor-heading-title { font-size:42px; }
 .vy-site .elementor-widget-heading h2.elementor-heading-title { font-size:32px; }
 .vy-site .elementor-widget-heading h3.elementor-heading-title { font-size:24px; }
 .vy-site .vy-subhead h2.elementor-heading-title { font-size:24px; }
 .vy-site .vy-copy,.vy-site .vy-copy .elementor-widget-container { font-size:17px; }
 .vy-site .vy-lead,.vy-site .vy-lead .elementor-widget-container { font-size:20px; }
 .vy-site .vy-hero-art img { max-height:300px; }
 .vy-site .vy-actions .elementor-widget-button,.vy-site .vy-action .elementor-button { width:100%; }
 .vy-site .vy-action .elementor-button { font-size:16px; }
 .vy-site.vy-cap-strip { padding:22px 20px; }
 .vy-site.vy-cap-strip>.elementor-container { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; }
 .vy-site .vy-cap-item { padding:0; border:0; }
 .vy-site .vy-cap-item>.elementor-widget-wrap { grid-template-columns:28px minmax(0,1fr); gap:8px; }
 .vy-site .vy-line-icon { width:28px; height:28px; }
 .vy-site.vy-cards-three>.elementor-container,.vy-site .vy-doors-grid>.elementor-container { grid-template-columns:minmax(0,1fr); gap:20px; }
 .vy-site .vy-card>.elementor-widget-wrap { padding:24px; }
 .vy-site .vy-card-art img { max-height:155px; }
 .vy-site .vy-step-grid>.elementor-container { grid-template-columns:minmax(0,1fr); gap:24px; }
 .vy-site.vy-closing h2.elementor-heading-title { font-size:32px; }
 .vy-shell header.banner .navbar-nav>li>a { margin-inline:20px; font-size:16px; }
 .vy-shell header.banner .navbar-nav>li.vb-register-cta>a { display:inline-flex; }
 .vy-shell footer.footer .footer-widgets>div { margin-bottom:12px; }
}
@media (max-width:359px) { .vy-site .elementor-widget-heading h1.elementor-heading-title { font-size:38px; } .vy-site .vy-cap-title .elementor-heading-title { font-size:13px; } }
@media (prefers-reduced-motion:reduce) { .vy-site .vy-action .elementor-button { transition:none; transform:none; } }

/* Native percentage column widths must not narrow a CSS grid track again. */
.vy-site .elementor-container > .elementor-column { width:100% !important; min-width:0; }
.vy-site .elementor-column.vy-card > .elementor-widget-wrap,
.vy-site .elementor-column.vy-step > .elementor-widget-wrap { align-content:flex-start !important; }
.vy-site .elementor-column.vy-cap-item > .elementor-widget-wrap { align-content:center !important; }
/* Keep the inherited sticky header on the approved navy surface. */
.vy-shell header.banner.navbar.headhesive--clone { background:#071A2F !important; }

/* Inner-page opt-in extension to the approved Home component stylesheet. */
.vy-site.vy-inner { --vyi-gap:40px; }
.vy-inner.vyi-intro { padding:48px 32px; background:radial-gradient(ellipse at 90% 65%,#123B5D88,transparent 62%),#071A2F; }
.vy-inner.vyi-intro .elementor-widget-heading h1.elementor-heading-title { font-size:clamp(40px,4.45vw,64px); }
.vy-inner.vyi-intro .vy-art img { max-height:340px; }
.vy-inner .vy-eyebrow .elementor-heading-title { font-size:13px; }
.vy-inner.vyi-split>.elementor-container,.vy-inner.vyi-two>.elementor-container,
.vy-inner .vyi-two>.elementor-container,.vy-inner .vyi-three>.elementor-container,
.vy-inner.vyi-form-layout>.elementor-container { display:grid; gap:var(--vyi-gap); align-items:center; }
.vy-inner.vyi-split>.elementor-container { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); }
.vy-inner.vyi-two>.elementor-container,.vy-inner .vyi-two>.elementor-container { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
.vy-inner .vyi-three>.elementor-container { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.vy-inner.vyi-reverse>.elementor-container>.elementor-column:first-child { grid-column:2; grid-row:1; }
.vy-inner.vyi-reverse>.elementor-container>.elementor-column:last-child { grid-column:1; grid-row:1; }
.vy-inner .vyi-two,.vy-inner .vyi-three { width:100%; padding:0; margin:8px 0 0; }
.vy-inner .vyi-record-desktop img { aspect-ratio:2/1; }
.vy-inner .vyi-phone-art { display:none; }
.vy-inner .vyi-card-art img { aspect-ratio:3/2; max-height:220px; }
.vy-inner .vyi-card>.elementor-widget-wrap { padding:28px; border:1px solid #DCEAF5; border-radius:16px; background:#FFF; --vy-text:#071A2F; --vy-body:#334A60; --vy-link:#236A9C; box-shadow:0 10px 28px #071A2F0A; }
.vy-inner .vyi-card .vy-copy,.vy-inner .vyi-card .vy-copy .elementor-widget-container { font-size:17px; }
.vy-inner .vyi-card h2.elementor-heading-title { font-size:30px; }
.vy-inner.vyi-reading>.elementor-container { max-width:75ch; }
.vy-inner.vyi-reading .vy-copy { overflow-wrap:anywhere; }
.vy-inner.vyi-compact { padding-block:36px; }
.vy-inner.vyi-form-layout>.elementor-container { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; }
.vy-inner .vyi-form-panel>.elementor-widget-wrap { padding:32px; background:#FFF; border:1px solid #DCEAF5; border-radius:16px; box-shadow:0 16px 42px #071A2F12; }
/* Form internals stay with the installed provider until a tested HubSpot replacement exists. */
.vy-inner .vyi-status-panel>.elementor-widget-wrap { padding:24px; border:1px solid #236A9C; border-radius:16px; }
.vy-inner .vyi-profile>.elementor-widget-wrap { border-top:3px solid #236A9C; padding-top:24px; }
.vy-inner[id] { scroll-margin-top:110px; }
.vy-inner .vy-copy a { color:var(--vy-link); text-decoration:underline; text-underline-offset:.18em; }
@media (max-width:1024px) {
 .vy-site.vy-inner { --vyi-gap:28px; }
 .vy-inner.vyi-intro { padding:44px 24px; }
 .vy-inner .vyi-three>.elementor-container { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
 .vy-site.vy-inner { --vyi-gap:24px; }
 .vy-inner.vyi-intro { padding:38px 20px 32px; }
 .vy-inner.vyi-intro .elementor-widget-heading h1.elementor-heading-title { font-size:40px; }
 .vy-inner.vyi-split>.elementor-container,.vy-inner.vyi-two>.elementor-container,
 .vy-inner .vyi-two>.elementor-container,.vy-inner .vyi-three>.elementor-container,
 .vy-inner.vyi-form-layout>.elementor-container { grid-template-columns:minmax(0,1fr); }
 .vy-inner.vyi-reverse>.elementor-container>.elementor-column:first-child,
 .vy-inner.vyi-reverse>.elementor-container>.elementor-column:last-child { grid-column:auto; grid-row:auto; }
 .vy-inner .vyi-desktop-art { display:none; }
 .vy-inner .vyi-phone-art { display:block; }
 .vy-inner .vyi-record-mobile img { aspect-ratio:4/5; max-height:280px; }
 .vy-inner .vyi-card-art img { max-height:190px; }
 .vy-inner .vyi-card>.elementor-widget-wrap,.vy-inner .vyi-form-panel>.elementor-widget-wrap { padding:24px; }
 .vy-inner .vyi-card h2.elementor-heading-title { font-size:28px; }
}
@media (max-width:359px) { .vy-inner.vyi-intro .elementor-widget-heading h1.elementor-heading-title { font-size:36px; } }
@media (prefers-reduced-motion:reduce) { .vy-inner *, .vy-inner *::before, .vy-inner *::after { animation:none; transition:none; scroll-behavior:auto; } }

/* Keep unequal feature-card content aligned to the top of its native column. */
.vy-inner .elementor-column.vyi-card > .elementor-widget-wrap { align-content:flex-start !important; }

/* Product: native components, preserving all ten canonical sections. */
.vy-product .vyp-phrase-intro>.elementor-container {display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:40px;align-items:center;}
.vy-product .vyp-phrase-intro .vy-art img {max-height:280px;}
.vy-product .vyp-steps>.elementor-container {row-gap:30px;}
.vy-product .vyp-step>.elementor-widget-wrap {border-top:2px solid #B6D2E8;padding-top:22px;align-content:flex-start!important;}
.vy-product .vyp-contrast>.elementor-widget-wrap {border-left:2px solid #B6D2E8;padding-left:20px;}
.vy-product .vyp-highlight>.elementor-widget-wrap {border-left-color:#D3A11F;}
.vy-product .vyp-list .elementor-icon-list-text {font:400 17px/1.55 Geist,sans-serif;color:var(--vy-body);}
.vy-product .vyp-list .elementor-icon-list-icon {color:#236A9C;}
.vy-product .vyp-list .elementor-icon-list-icon svg {fill:#236A9C;width:16px;}
.vy-product .vyp-list .elementor-icon-list-item {padding-bottom:9px;}
.vy-product.vyp-compact {padding-block:42px;}
.vy-product.vyp-history {border-top:1px solid #23445E;}
.vy-product .vyi-card h3.elementor-heading-title {font-size:23px;margin-top:8px;}
@media(max-width:767px){.vy-product .vyp-phrase-intro>.elementor-container{grid-template-columns:minmax(0,1fr);gap:20px;}.vy-product .vyp-steps{margin-top:24px;}.vy-product .vyp-contrast>.elementor-widget-wrap{padding-left:16px;}.vy-product.vyp-compact{padding-block:38px;}}

/* Remove inherited boxed margins from inner grids; reverse art without reversing reading order. */
.vy-product .elementor-inner-section>.elementor-container{max-width:none;margin-inline:0;width:100%;}
.vy-product .vyp-phrase-intro>.elementor-container>.elementor-column:first-child{grid-column:2;grid-row:1;}
.vy-product .vyp-phrase-intro>.elementor-container>.elementor-column:last-child{grid-column:1;grid-row:1;}
@media(max-width:767px){.vy-product .vyp-phrase-intro>.elementor-container>.elementor-column:first-child,.vy-product .vyp-phrase-intro>.elementor-container>.elementor-column:last-child{grid-column:auto;grid-row:auto;}}

/* Shared native rollout layouts. These classes do not occur in Home. */
.vy-rollout .elementor-inner-section>.elementor-container{max-width:none;margin-inline:0;width:100%;}
.vy-rollout.vyi-wide-copy>.elementor-container{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);}
.vy-rollout .vyi-line-card>.elementor-widget-wrap{border-top:2px solid #4B8FD1;padding-top:22px;align-content:flex-start!important;}
.vy-rollout .vyi-stat .elementor-heading-title{font-size:38px!important;}
.vy-rollout .vyi-symbol svg{width:136px;max-width:100%;height:136px;display:block;margin-bottom:8px;}
.vy-rollout .vyi-list .elementor-icon-list-text{font:400 17px/1.55 Geist,sans-serif;color:var(--vy-body);}
.vy-rollout .vyi-list .elementor-icon-list-icon svg{fill:#236A9C;width:16px;}
.vy-rollout .vyi-list .elementor-icon-list-item{padding-bottom:9px;}
.vy-rollout .vy-cta-action>.elementor-widget-wrap{gap:12px;}
.vy-rollout.vy-closing{border-top:1px solid #23445E;}
@media(max-width:767px){.vy-rollout.vyi-wide-copy>.elementor-container{grid-template-columns:minmax(0,1fr);}.vy-rollout.vyi-intro .vy-art img{max-height:260px;}.vy-rollout .vyi-symbol svg{width:104px;height:104px;}.vy-rollout .vyi-stat .elementor-heading-title{font-size:32px!important;}}


#contact-form .frm_forms,#register-form .frm_forms{max-width:720px;font-family:Geist,sans-serif;color:#123B5D}
#contact-form .frm_form_fields,#register-form .frm_form_fields{font-family:Geist,sans-serif}
#contact-form .frm_primary_label,#register-form .frm_primary_label{font-family:Geist,sans-serif;font-size:17px;font-weight:600;line-height:1.5;color:#071A2F;padding-bottom:10px}
#contact-form .frm_form_field,#register-form .frm_form_field{margin-bottom:26px}
#contact-form .frm_forms input[type=text],#contact-form .frm_forms input[type=email],#contact-form .frm_forms select,#contact-form .frm_forms textarea,
#register-form .frm_forms input[type=text],#register-form .frm_forms input[type=email],#register-form .frm_forms select,#register-form .frm_forms textarea{width:100%;max-width:100%;min-height:52px;border:1px solid #236A9C;border-radius:6px;background:#F7F4EC;color:#071A2F;font-family:Geist,sans-serif;font-size:17px;line-height:1.5;padding:12px 14px;box-shadow:none}
#contact-form .frm_forms textarea{min-height:150px}
#contact-form .frm_forms input:focus,#contact-form .frm_forms select:focus,#contact-form .frm_forms textarea:focus,
#register-form .frm_forms input:focus,#register-form .frm_forms select:focus{outline:2px solid #236A9C;outline-offset:3px}
#register-form .frm_checkbox label{font-family:Geist,sans-serif;font-size:17px;line-height:1.55;color:#123B5D;display:flex;gap:10px;align-items:flex-start;padding:4px 0}
#register-form .frm_forms input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin-top:4px;accent-color:#236A9C}
#contact-form .frm_button_submit,#register-form .frm_button_submit{font-family:Geist,sans-serif;font-size:16px;font-weight:600;line-height:1.3;background:#236A9C;border:1px solid #236A9C;border-radius:6px;color:#FFFFFF;box-shadow:none;padding:16px 24px;text-transform:none}
#contact-form .frm_button_submit:hover,#register-form .frm_button_submit:hover{background:#123B5D;border-color:#123B5D;color:#FFFFFF}
#contact-form .frm_button_submit:focus-visible,#register-form .frm_button_submit:focus-visible{outline:2px solid #236A9C;outline-offset:3px}
#contact-form .frm_message,#register-form .frm_message{font-family:Geist,sans-serif;font-size:18px;line-height:1.6;color:#123B5D;background:#F7F4EC;border:1px solid #236A9C;border-radius:6px;padding:24px}
@media(max-width:767px){#contact-form .frm_button_submit,#register-form .frm_button_submit{width:100%}}


/* Form-first Contact layout and inner editorial refinements. */
.vy-rollout.vyi-contact-intro{padding-block:36px;}
.vy-rollout.vyi-contact-intro .vy-copy{max-width:65ch;}
.vy-rollout.vyi-contact-layout>.elementor-container{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px;align-items:start;}
.vy-rollout .vyi-contact-aside>.elementor-widget-wrap,.vy-rollout .vyi-form-panel>.elementor-widget-wrap,.vy-rollout .vyi-profile>.elementor-widget-wrap{align-content:flex-start!important;}
.vy-rollout .vyi-contact-art img{max-width:300px;max-height:280px;}
.vy-rollout .vyi-form-panel{--vy-text:#071A2F;--vy-body:#334A60;--vy-link:#236A9C;}
.vy-rollout #contact-form,.vy-rollout #register-form{scroll-margin-top:110px;}
#contact-form .frm_form_field,#register-form .frm_form_field{margin-bottom:20px;}
#contact-form .frm_primary_label,#register-form .frm_primary_label{font-size:16px;padding-bottom:6px;}
#contact-form .frm_forms input[type=text],#contact-form .frm_forms input[type=email],#contact-form .frm_forms select,#contact-form .frm_forms textarea,#register-form .frm_forms input[type=text],#register-form .frm_forms input[type=email],#register-form .frm_forms select{background:#FFF;min-height:48px;font-size:16px;border-color:#90ACC3;}
#contact-form .frm_button_submit,#register-form .frm_button_submit{background:linear-gradient(110deg,#F4DE95,#D3A11F);color:#071A2F;border-color:#D3A11F;}
.vy-rollout.vyi-reading.elementor-section>.elementor-container{max-width:850px;}
.page-id-313 .vyi-intro>.elementor-container{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);}
.page-id-313 .vyi-intro h1.elementor-heading-title{text-wrap:balance;}
@media(max-width:767px){.vy-rollout.vyi-contact-intro{padding-block:28px;}.vy-rollout.vyi-contact-layout{padding-top:28px;}.vy-rollout.vyi-contact-layout>.elementor-container,.page-id-313 .vyi-intro>.elementor-container{grid-template-columns:minmax(0,1fr);gap:32px;}.vy-rollout .vyi-form-panel>.elementor-widget-wrap{padding:22px 18px;}.vy-rollout .vyi-contact-art img{max-height:200px;}}

/* Registration starts alongside its complete approved preview qualifications. */
.vy-rollout.vyi-register-main{padding-block:48px;}
.vy-rollout.vyi-register-main>.elementor-container{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:28px 48px;align-items:start;}
.vyi-register-copy{grid-column:1;grid-row:1;}.vyi-register-form{grid-column:2;grid-row:1/span 2;}.vyi-register-picture{grid-column:1;grid-row:2;}
.vy-rollout .vyi-register-copy>.elementor-widget-wrap,.vy-rollout .vyi-register-ask>.elementor-widget-wrap{align-content:flex-start!important;}
.vy-rollout .vyi-register-copy h1.elementor-heading-title{font-size:50px;line-height:1.08;letter-spacing:-1.5px;text-wrap:balance;}
.vy-rollout .vyi-register-form h2.elementor-heading-title{font-size:28px;line-height:1.2;margin-bottom:24px;}
.vy-rollout .vyi-register-art img{max-height:270px;object-fit:contain;}
.vy-rollout .vyi-register-cards>.elementor-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px;}
.vy-rollout .vyi-register-cards h3.elementor-heading-title{font-size:24px;}
.vy-rollout.vyi-register-details>.elementor-container{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:56px;align-items:start;}
.vy-rollout .vyi-register-ask>.elementor-widget-wrap{border-left:2px solid #D3A11F;padding-left:28px;}
@media(max-width:1024px){.vy-rollout.vyi-register-main>.elementor-container{gap:24px;}.vy-rollout .vyi-register-copy h1.elementor-heading-title{font-size:42px;}.vy-rollout .vyi-register-cards>.elementor-container{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.vy-rollout.vyi-register-main{padding-block:24px;}.vy-rollout.vyi-register-main>.elementor-container,.vy-rollout.vyi-register-details>.elementor-container,.vy-rollout .vyi-register-cards>.elementor-container{grid-template-columns:minmax(0,1fr);gap:24px;}.vyi-register-copy,.vyi-register-form,.vyi-register-picture{grid-column:auto;grid-row:auto;}.vy-rollout .vyi-register-copy h1.elementor-heading-title{font-size:36px;letter-spacing:-1px;}.vy-rollout .vyi-register-copy .vy-copy p{font-size:16px;line-height:1.5;}.vy-rollout .vyi-register-copy .vy-action{display:none;}.vy-rollout .vyi-register-art img{max-height:210px;}.vy-rollout .vyi-register-form h2.elementor-heading-title{font-size:24px;}.vy-rollout .vyi-register-ask>.elementor-widget-wrap{padding-left:20px;}}

/* Final inner responsive edges, legal and system components. Home body is untouched. */
.vy-rollout.vyi-register-main,.vy-rollout.vy-closing{padding-inline:32px;}
.vy-rollout.vy-closing .vy-cta-action>.elementor-widget-wrap{justify-content:flex-start;}
.vy-rollout .vyi-register-form .frm_fields_container{display:block;}
.vy-rollout .vyi-register-form .frm_form_field{padding:0;margin:0 0 20px;}
.vy-rollout .vyi-register-form .frm_primary_label{padding:0 0 6px;}
.vy-rollout .vyi-register-form fieldset{padding:0;margin:0;}
.vy-rollout .vyi-register-form .frm_checkbox label{padding-block:2px;}
.vy-rollout.vyi-legal-title{padding:64px 32px;}
.vy-rollout.vyi-legal-title>.elementor-container,.vy-rollout.vyi-legal-reading>.elementor-container{max-width:850px;}
.vy-rollout.vyi-legal-title h1.elementor-heading-title{font-size:50px;}
.vy-rollout .vyi-legal-copy{font-size:18px;line-height:1.65;}
.vy-rollout .vyi-legal-copy h2,.vy-rollout .vyi-legal-copy h3{font-family:Outfit,sans-serif;font-weight:600;line-height:1.2;color:#071A2F;}
.vy-rollout .vyi-legal-copy h2{font-size:30px;margin:36px 0 18px;}
.vy-rollout .vyi-legal-copy h3{font-size:24px;margin:26px 0 14px;}
.vy-rollout .vyi-legal-copy p,.vy-rollout .vyi-legal-copy ul{margin:0 0 18px;}
.vy-rollout .vyi-legal-copy li{margin-bottom:9px;}
.vy-rollout .vyi-legacy-tabs{font:17px/1.6 Geist,sans-serif;color:#334A60;}
.vy-rollout .vyi-legacy-tabs .elementor-tab-title{font:600 18px/1.4 Geist,sans-serif;color:#123B5D;min-height:48px;}
.vy-rollout .vyi-legacy-tabs .elementor-tab-title.elementor-active{color:#236A9C;border-top-color:#D3A11F;}
.vy-rollout .vyi-legacy-tabs .elementor-tab-content{background:white;border-color:#BCD3E6;}
.vy-rollout .vyi-legacy-button .btn{background:#123B5D;color:#FFF;border-radius:6px;}
.vy-rollout .vyi-symbol svg{max-width:100%;}
.vyi-system-error .vyi-symbol svg{width:280px;height:auto;margin:auto;}
.vyi-system-error{min-height:400px;}
.vyi-search-title>.elementor-container{max-width:1000px!important;}
.vyi-search-query{font:24px/1.5 Geist,sans-serif;color:#F0D991;overflow-wrap:anywhere;}
.vyi-search-form{display:flex;gap:10px;max-width:720px;font-family:Geist,sans-serif;margin-top:12px;}
.vyi-search-form input{min-height:48px;flex:1;min-width:0;border:1px solid #90ACC3;border-radius:6px;background:#FFF;color:#071A2F;padding:12px 14px;}
.vyi-search-form button{min-height:48px;border:1px solid #F0D991;border-radius:6px;background:#D3A11F;color:#071A2F;padding:12px 20px;font-weight:600;}
.vyi-search-results{max-width:1064px;margin:0 auto;padding:40px 32px 56px;font:18px/1.6 Geist,sans-serif;color:#334A60;}
.vyi-search-results article{padding:26px;border:1px solid #DCEAF5;background:#FFF;border-radius:12px;margin-bottom:22px;}
.vyi-search-results h2{font:600 28px/1.2 Outfit,sans-serif;color:#071A2F;margin:0 0 14px;}
.vyi-search-results a{color:#236A9C;}.vyi-search-results .vyi-empty{display:grid;grid-template-columns:1fr 180px;gap:32px;align-items:center;}.vyi-empty svg{width:180px;height:auto;}
.vyi-search-results nav a,.vyi-search-results nav span{display:inline-flex;min-width:44px;min-height:44px;padding:8px;margin:4px;}
.single-themo_portfolio #respond{max-width:1000px;margin:0 auto;padding:36px 24px;}
.single-themo_portfolio #respond input,.single-themo_portfolio #respond textarea{border-radius:6px;font:16px/1.5 Geist,sans-serif;}
.vy-shell header.banner.navbar:not(.headhesive){min-height:80px;}
.vy-shell header.banner #logo img{max-height:44px;width:auto;}
.vy-shell header.banner #logo{margin-block:17px;}
.vy-shell header.banner .navbar-nav>li>a{padding-block:14px;}
.vy-shell header.banner .navbar-toggle{min-width:44px;min-height:44px;}
.vy-shell header.banner a:focus-visible,.vy-shell header.banner button:focus-visible,.vy-shell footer a:focus-visible,.vyi-search-results a:focus-visible{outline:3px solid #8FBEE3;outline-offset:3px;}
.vy-shell footer.footer .footer-widgets{padding-block:30px 20px;}
.vy-shell footer.footer .footer-widgets>div{margin-bottom:12px;}
.vy-shell footer.footer .footer-btm-bar{padding-block:10px;}
.vy-shell footer.footer .widget{margin-bottom:12px;}
@media(max-width:767px){.vy-rollout.vyi-register-main,.vy-rollout.vy-closing{padding-inline:20px;}.vy-rollout.vy-closing>.elementor-container{grid-template-columns:minmax(0,1fr);}.vy-rollout.vy-closing .elementor-widget-button{width:100%;}.vy-rollout.vyi-legal-title{padding:40px 20px;}.vy-rollout.vyi-legal-title h1.elementor-heading-title{font-size:36px;}.vy-rollout .vyi-legal-copy{font-size:17px;}.vy-rollout .vyi-legal-copy h2{font-size:27px;}.vyi-search-results{padding:28px 20px;}.vyi-search-results .vyi-empty{grid-template-columns:minmax(0,1fr);}.vyi-search-form{flex-wrap:wrap;}.vyi-search-form input{flex-basis:65%;}.vyi-search-results article{padding:20px;}.vy-shell header.banner.navbar:not(.headhesive){min-height:70px;}.vy-shell header.banner #logo{margin-block:12px;}.vy-shell header.banner #logo img{max-height:40px;}.vy-shell header.banner .navbar-toggle{margin-top:12px;margin-bottom:12px;}.vy-shell header.banner nav.in a{min-height:44px;}.vy-shell footer.footer .footer-widgets{padding-top:24px;}.vy-shell footer.footer .footer-area-1,.vy-shell footer.footer .footer-area-2,.vy-shell footer.footer .footer-area-3{margin-bottom:12px;}}

/* Preserve provider behavior while removing inherited label margins. */
.page-id-778 #register-form .frm_forms .frm_primary_label{margin:0;padding:0 0 6px;}
.page-id-778 #register-form .frm_forms .frm_checkbox{margin:0;}
.page-id-778 #register-form .frm_forms .frm_checkbox label{margin:0;padding:4px 0;min-height:44px;align-items:center;}
.page-id-778 #register-form .frm_forms .frm_checkbox input{margin-top:0;}
.page-id-778 .vyi-register-form h2.elementor-heading-title{margin-bottom:8px;}
.page-id-778 .vyi-register-main>.elementor-container{grid-template-rows:max-content 1fr;}
.page-id-778 #register-form .frm_forms .frm_submit{margin-top:12px;}
.vyi-search-results p{font:17px/1.6 Geist,sans-serif;color:#334A60;}
.vy-shell header.banner .navbar-nav>li.current-menu-item:not(.vb-register-cta)>a{color:#F0D991!important;text-decoration:underline;text-underline-offset:7px;}
@media(max-width:767px){.page-id-778 .vyi-register-main>.elementor-container{grid-template-rows:auto;}.page-id-778 #register-form{scroll-margin-top:90px;}}

/* Native portfolio wrappers omit the normal page header offset. */
.single-themo_portfolio.vy-shell .wrap{padding-top:80px;}
@media(max-width:767px){.single-themo_portfolio.vy-shell .wrap{padding-top:70px;}}
