.vf-frontend{box-sizing:border-box;width:100%;max-width:100%;overflow-wrap:break-word}.vf-frontend *{box-sizing:border-box}.vf-frontend .vf-type-section{gap:20px;padding:48px 24px}.vf-frontend .vf-type-heading{margin:0;line-height:1.2}.vf-frontend .vf-type-text p{margin:0 0 1em}.vf-frontend .vf-type-image{display:block;max-width:100%;height:auto}.vf-frontend .vf-type-button{display:inline-block;align-self:flex-start;background:#153b7a;color:white;text-decoration:none;padding:14px 24px;border-radius:7px}.vf-frontend .vf-type-spacer{min-height:35px}.vf-frontend .vf-type-divider{width:100%;border:0;border-top:1px solid #ccd3df}

.vf-frontend .vf-type-section{min-width:0}.vf-frontend .vf-type-section>.vf-type-section{flex-shrink:1}.vf-frontend .vf-type-badge{display:inline-flex;align-self:flex-start;border-radius:999px;background:#e7efff;color:#163f8f;padding:7px 14px}.vf-frontend .vf-type-icon{display:inline-block;font-size:40px}.vf-frontend .vf-type-video iframe{max-width:100%;aspect-ratio:16/9;height:auto}.vf-frontend .vf-type-list{padding-left:1.3em}.vf-frontend .vf-node{min-width:0;overflow-wrap:anywhere}

.vf-contact-form{display:grid;gap:14px;max-width:650px}.vf-contact-form label{display:grid;gap:5px}.vf-contact-form input,.vf-contact-form textarea{padding:10px;border:1px solid #bdc6d5;border-radius:6px;width:100%}.vf-contact-form textarea{min-height:130px}.vf-contact-form button{padding:12px 20px;border:0;border-radius:6px;background:#164fa0;color:white;cursor:pointer}.vf-honeypot{position:absolute!important;left:-99999px!important}.vf-popup-overlay:not([hidden]){position:fixed;inset:0;background:#0009;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px}.vf-popup-dialog{position:relative;background:white;color:#222;max-height:90vh;overflow:auto;width:min(900px,100%);border-radius:12px;padding:36px;box-shadow:0 20px 60px #0004}.vf-popup-close{position:absolute;top:8px;right:12px;border:0;background:transparent;font-size:28px;cursor:pointer}

/* VisualForge motion and global tokens */
.vf-frontend{font-family:var(--vf-font,system-ui,sans-serif);color:var(--vf-text,#17263e)}
.vf-frontend .vf-hover-lift,.vf-frontend .vf-hover-grow,.vf-frontend .vf-hover-tilt{transition:transform .25s ease,box-shadow .25s ease}
.vf-frontend .vf-hover-lift:hover{transform:translateY(-6px)}.vf-frontend .vf-hover-grow:hover{transform:scale(1.035)}.vf-frontend .vf-hover-tilt:hover{transform:rotate(2deg)}
@media(prefers-reduced-motion:reduce){.vf-frontend *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Motion Studio 1.4: effects only when JS is active; controls remain accessible without JS */
.vf-motion-ready [data-vf-motion]:not([data-vf-motion=""]):not(.vf-visible){opacity:0;will-change:transform,opacity,filter;transition:opacity var(--vf-duration,650ms) var(--vf-easing,ease-out) var(--vf-delay,0ms),transform var(--vf-duration,650ms) var(--vf-easing,ease-out) var(--vf-delay,0ms),filter var(--vf-duration,650ms) var(--vf-easing,ease-out) var(--vf-delay,0ms)}
.vf-motion-ready .vf-entrance-fade-down:not(.vf-visible){transform:translateY(-36px)}
.vf-motion-ready .vf-entrance-slide-right:not(.vf-visible){transform:translateX(50px)}
.vf-motion-ready .vf-entrance-slide-left:not(.vf-visible){transform:translateX(-50px)}
.vf-motion-ready .vf-entrance-zoom-out:not(.vf-visible){transform:scale(1.12)}
.vf-motion-ready .vf-entrance-blur-in:not(.vf-visible){filter:blur(12px)}
.vf-motion-ready .vf-entrance-flip-up:not(.vf-visible){transform:perspective(700px) rotateX(35deg)}
.vf-motion-ready .vf-entrance-rotate-in:not(.vf-visible){transform:rotate(-8deg) scale(.92)}
.vf-motion-ready .vf-entrance-bounce-in:not(.vf-visible){transform:translateY(48px) scale(.86)}
.vf-frontend [data-vf-motion].vf-visible{opacity:1;filter:none;transition:opacity var(--vf-duration,650ms) var(--vf-easing,ease-out) var(--vf-delay,0ms),transform var(--vf-duration,650ms) var(--vf-easing,ease-out) var(--vf-delay,0ms),filter var(--vf-duration,650ms) var(--vf-easing,ease-out) var(--vf-delay,0ms)}
.vf-frontend .vf-hover-glow:hover{box-shadow:0 12px 32px #38bdf888!important}
.vf-frontend .vf-hover-float:hover{transform:translateY(-12px)}
.vf-frontend .vf-hover-blur:hover{filter:blur(2px)}
.vf-frontend .vf-hover-pulse:hover{animation:vf-pulse .65s ease}
.vf-frontend .vf-hover-shake:hover{animation:vf-shake .45s ease}
.vf-frontend [data-vf-loop="float"]{animation:vf-float 3s ease-in-out infinite}
.vf-frontend [data-vf-loop="pulse"]{animation:vf-pulse 2.5s ease-in-out infinite}
.vf-frontend [data-vf-loop="spin"]{animation:vf-spin 8s linear infinite}
@keyframes vf-float{50%{translate:0 -10px}}@keyframes vf-pulse{50%{scale:1.04}}@keyframes vf-spin{to{rotate:360deg}}@keyframes vf-shake{25%{translate:-4px 0}50%{translate:4px 0}75%{translate:-2px 0}}
@media(prefers-reduced-motion:reduce){.vf-frontend [data-vf-loop]{animation:none!important}.vf-motion-ready [data-vf-motion]{opacity:1!important;transform:none!important;filter:none!important}.vf-frontend [data-vf-parallax]{translate:none!important}}

/* Motion Studio 1.5 */
.vf-frontend .vf-has-video{position:relative;isolation:isolate;overflow:hidden}
.vf-frontend .vf-has-video>.vf-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}
.vf-frontend [data-vf-trigger="click"][data-vf-motion]:not([data-vf-motion=""]){cursor:pointer}
.vf-frontend .vf-reveal-unit{display:inline-block;white-space:pre;transition:opacity var(--vf-duration,650ms) var(--vf-easing,ease-out),transform var(--vf-duration,650ms) var(--vf-easing,ease-out);transition-delay:calc(var(--vf-delay,0ms) + var(--vf-unit-index,0)*42ms)}
.vf-motion-ready [data-vf-text-reveal]:not([data-vf-text-reveal=""]):not(.vf-visible) .vf-reveal-unit{opacity:0;transform:translateY(10px)}
.vf-frontend [data-vf-text-reveal].vf-visible .vf-reveal-unit{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.vf-frontend .vf-reveal-unit{transition:none!important;opacity:1!important;transform:none!important}.vf-frontend .vf-background-video{display:none!important}}

/* Container grid children prevent overflow */
.vf-frontend .vf-type-section > *{min-width:0}.vf-frontend .vf-type-section{max-width:100%}

:where(.vf-frontend) :where(.vf-type-section){display:flex;flex-direction:column}

/* VisualForge Pro widgets 2.0 */
.vf-tab-buttons{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #d8e1eb}.vf-tab-button{padding:12px 18px;border:0;background:transparent;cursor:pointer}.vf-tab-button[aria-selected="true"]{border-bottom:3px solid #2563eb;font-weight:700}.vf-tab-panel{padding:18px 4px}.vf-tab-panel[hidden],.vf-slide[hidden]{display:none!important}.vf-accordion-item{border-bottom:1px solid #d8e1eb}.vf-accordion-item summary{padding:14px;cursor:pointer;font-weight:600}.vf-accordion-body{padding:0 14px 14px}.vf-slider{position:relative;background:#edf3fc;border-radius:10px;overflow:hidden}.vf-slide{padding:48px 36px;min-height:180px;text-align:center}.vf-slider-controls{display:flex;justify-content:space-between;padding:0 14px 12px}.vf-slider-controls button{border:1px solid #afbfce;border-radius:5px;cursor:pointer;padding:5px 16px;background:white}.vf-post-grid{display:grid;grid-template-columns:repeat(var(--vf-post-cols,3),minmax(0,1fr));gap:20px}.vf-post-card{border:1px solid #dfe5ed;border-radius:10px;padding:15px}.vf-post-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.vf-post-card h3{font-size:1.1rem}.vf-testimonial{border-left:4px solid #2563eb;padding:20px;background:#f2f6fb}.vf-counter strong{font-size:clamp(2rem,5vw,4rem)}.vf-progress-label{display:flex;justify-content:space-between;gap:10px;font-weight:600}.vf-progress-track{background:#e5e7eb;border-radius:100px;overflow:hidden;height:12px}.vf-progress-track>div{height:100%;border-radius:100px}@media(max-width:767px){.vf-post-grid{grid-template-columns:1fr 1fr}.vf-slide{padding:32px 16px}}@media(max-width:480px){.vf-post-grid{grid-template-columns:1fr}}

/* VisualForge 3.1 Tabs and Accordion */
.vf-tabs{--vf-item-padding:16px;--vf-item-radius:8px}.vf-tabs .vf-tab-buttons{gap:var(--vf-item-gap,8px);flex-wrap:wrap}.vf-tabs .vf-tab-button{background:var(--vf-header-fill);color:var(--vf-title-color);border:var(--vf-item-border) solid #cbd5e1;border-radius:var(--vf-item-radius);padding:var(--vf-item-padding);font-size:var(--vf-title-size)}.vf-tabs .vf-tab-button[aria-selected="true"]{background:var(--vf-active-fill);color:var(--vf-active-color)}.vf-tabs .vf-tab-panel{background:var(--vf-content-fill);padding:var(--vf-item-padding);border-radius:var(--vf-item-radius);font-size:var(--vf-body-size)}.vf-accordion{display:flex;flex-direction:column;gap:var(--vf-item-gap,8px)}.vf-accordion-item{border:var(--vf-item-border,1px) solid #cbd5e1;border-radius:var(--vf-item-radius,8px);overflow:hidden}.vf-accordion-item summary{cursor:pointer;padding:var(--vf-item-padding);background:var(--vf-header-fill);color:var(--vf-title-color);font-size:var(--vf-title-size)}.vf-accordion-item[open] summary{background:var(--vf-active-fill);color:var(--vf-active-color)}.vf-accordion-body{background:var(--vf-content-fill);padding:var(--vf-item-padding);font-size:var(--vf-body-size)}
