.elementor-24215 .elementor-element.elementor-element-6432bca7:not(.elementor-motion-effects-element-type-background), .elementor-24215 .elementor-element.elementor-element-6432bca7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://fantasyworldresort.com/wp-content/uploads/2026/09/sil-stage-bg.webp");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-24215 .elementor-element.elementor-element-6432bca7 > .elementor-background-overlay{background-color:rgba(12,32,24,0.5);opacity:1;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-24215 .elementor-element.elementor-element-6432bca7 > .elementor-container{min-height:100vh;}.elementor-24215 .elementor-element.elementor-element-6432bca7{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:48px 20px 64px 20px;}.elementor-bc-flex-widget .elementor-24215 .elementor-element.elementor-element-14710b9d.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-24215 .elementor-element.elementor-element-14710b9d.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-24215 .elementor-element.elementor-element-605bd9fd > .elementor-container{max-width:920px;}.elementor-24215 .elementor-element.elementor-element-605bd9fd, .elementor-24215 .elementor-element.elementor-element-605bd9fd > .elementor-background-overlay{border-radius:22px 22px 22px 22px;}.elementor-bc-flex-widget .elementor-24215 .elementor-element.elementor-element-567b0d36.elementor-column .elementor-widget-wrap{align-items:flex-end;}.elementor-24215 .elementor-element.elementor-element-567b0d36.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-end;align-items:flex-end;}.elementor-24215 .elementor-element.elementor-element-567b0d36 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:28px 28px 28px 28px;}.elementor-24215 .elementor-element.elementor-element-567b0d36 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-24215 .elementor-element.elementor-element-57420e5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;}.elementor-24215 .elementor-element.elementor-element-57420e5 .elementor-icon-wrapper{text-align:start;}.elementor-24215 .elementor-element.elementor-element-57420e5.elementor-view-stacked .elementor-icon{background-color:#F59220;color:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-57420e5.elementor-view-framed .elementor-icon, .elementor-24215 .elementor-element.elementor-element-57420e5.elementor-view-default .elementor-icon{color:#F59220;border-color:#F59220;}.elementor-24215 .elementor-element.elementor-element-57420e5.elementor-view-framed .elementor-icon, .elementor-24215 .elementor-element.elementor-element-57420e5.elementor-view-default .elementor-icon svg{fill:#F59220;}.elementor-24215 .elementor-element.elementor-element-57420e5.elementor-view-framed .elementor-icon{background-color:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-57420e5.elementor-view-stacked .elementor-icon svg{fill:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-57420e5 .elementor-icon{font-size:30px;}.elementor-24215 .elementor-element.elementor-element-57420e5 .elementor-icon svg{height:30px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-24215 .elementor-element.elementor-element-18a28492{text-align:start;}.elementor-24215 .elementor-element.elementor-element-18a28492 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:34px;font-weight:700;line-height:1.06em;text-shadow:0px 2px 8px rgba(0,0,0,0.55);color:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-1265dc5b .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-24215 .elementor-element.elementor-element-5631218b:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-24215 .elementor-element.elementor-element-5631218b > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-bc-flex-widget .elementor-24215 .elementor-element.elementor-element-5631218b.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-24215 .elementor-element.elementor-element-5631218b.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-24215 .elementor-element.elementor-element-5631218b > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:30px 32px 30px 32px;}.elementor-24215 .elementor-element.elementor-element-5631218b > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-24215 .elementor-element.elementor-element-6db3f4a6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 18px) 0px;text-align:start;}.elementor-24215 .elementor-element.elementor-element-6db3f4a6 img{width:180px;}.elementor-24215 .elementor-element.elementor-element-66639c7f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 12px) 0px;text-align:start;}.elementor-24215 .elementor-element.elementor-element-66639c7f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;line-height:1.3em;letter-spacing:1.4px;color:#006C40;}.elementor-24215 .elementor-element.elementor-element-4f08732a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 4px) 0px;text-align:start;}.elementor-24215 .elementor-element.elementor-element-4f08732a .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:700;line-height:1.3em;color:#231B14;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-24215 .elementor-element.elementor-element-52b24769{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 14px) 0px;text-align:start;font-family:"Montserrat", Sans-serif;font-size:13.5px;font-weight:500;line-height:1.55em;color:#78716C;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:11px;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-11px;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-group > label, .elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-subgroup label{color:#A8A29E;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-group > label{font-family:"Montserrat", Sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;line-height:1.3em;letter-spacing:1px;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-type-html{padding-bottom:0px;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-group .elementor-field{color:#292524;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-group .elementor-field, .elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-subgroup label{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:500;line-height:1.4em;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FAFAF9;border-color:#E7E5E4;border-width:1px 1px 1px 1px;border-radius:8px 8px 8px 8px;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-group .elementor-select-wrapper select{background-color:#FAFAF9;border-color:#E7E5E4;border-width:1px 1px 1px 1px;border-radius:8px 8px 8px 8px;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-field-group .elementor-select-wrapper::before{color:#E7E5E4;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-button{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:700;line-height:1.3em;border-radius:12px 12px 12px 12px;padding:12px 16px 12px 16px;}.elementor-24215 .elementor-element.elementor-element-36b81546 .e-form__buttons__wrapper__button-next{background-color:#F59220;color:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-button[type="submit"]{background-color:#F59220;color:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-36b81546 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-24215 .elementor-element.elementor-element-36b81546 .e-form__buttons__wrapper__button-next:hover{background-color:#E8890F;color:#ffffff;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-button[type="submit"]:hover{background-color:#E8890F;color:#ffffff;}.elementor-24215 .elementor-element.elementor-element-36b81546 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-24215 .elementor-element.elementor-element-36b81546 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-24215 .elementor-element.elementor-element-36b81546{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-24215 .elementor-element.elementor-element-5883206f{margin:8px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;font-family:"Montserrat", Sans-serif;font-size:9.5px;font-weight:500;line-height:1.5em;color:#A8A29E;}.elementor-24215 .elementor-element.elementor-element-31a3374f{margin:8px 0px calc(var(--kit-widget-spacing, 0px) + 4px) 0px;}.elementor-24215 .elementor-element.elementor-element-31a3374f .elementor-icon-wrapper{text-align:center;}.elementor-24215 .elementor-element.elementor-element-31a3374f.elementor-view-stacked .elementor-icon{background-color:#F59220;color:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-31a3374f.elementor-view-framed .elementor-icon, .elementor-24215 .elementor-element.elementor-element-31a3374f.elementor-view-default .elementor-icon{color:#F59220;border-color:#F59220;}.elementor-24215 .elementor-element.elementor-element-31a3374f.elementor-view-framed .elementor-icon, .elementor-24215 .elementor-element.elementor-element-31a3374f.elementor-view-default .elementor-icon svg{fill:#F59220;}.elementor-24215 .elementor-element.elementor-element-31a3374f.elementor-view-framed .elementor-icon{background-color:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-31a3374f.elementor-view-stacked .elementor-icon svg{fill:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-31a3374f .elementor-icon{font-size:34px;}.elementor-24215 .elementor-element.elementor-element-31a3374f .elementor-icon svg{height:34px;}.elementor-24215 .elementor-element.elementor-element-29bea973{text-align:center;}.elementor-24215 .elementor-element.elementor-element-29bea973 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:700;line-height:1.1em;color:#231B14;}.elementor-24215 .elementor-element.elementor-element-173bca95{text-align:center;font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:500;line-height:1.6em;color:#78716C;}.elementor-24215 .elementor-element.elementor-element-68927e3f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;text-align:center;}.elementor-24215 .elementor-element.elementor-element-68927e3f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:700;line-height:1.3em;color:#006C40;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-24215 .elementor-element.elementor-element-20111094{margin:6px 0px calc(var(--kit-widget-spacing, 0px) + 6px) 0px;--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(8px/2);}.elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(8px/2);}.elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(8px/2);}.elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-8px/2);}.elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-8px/2);}.elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-icon i{color:#006C40;transition:color 0.3s;}.elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-icon svg{fill:#006C40;transition:fill 0.3s;}.elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-icon{padding-inline-end:8px;}.elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-item > a{font-family:"Montserrat", Sans-serif;font-size:13.5px;font-weight:600;line-height:1.4em;}.elementor-24215 .elementor-element.elementor-element-20111094 .elementor-icon-list-text{color:#231B14;transition:color 0.3s;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-24215 .elementor-element.elementor-element-441ed232 .elementor-button{background-color:#FFFFFF;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.3em;fill:#78716C;color:#78716C;border-style:solid;border-width:1.5px 1.5px 1.5px 1.5px;border-color:#E7E5E4;border-radius:12px 12px 12px 12px;padding:10px 20px 10px 20px;}.elementor-24215 .elementor-element.elementor-element-441ed232 .elementor-button:hover, .elementor-24215 .elementor-element.elementor-element-441ed232 .elementor-button:focus{background-color:#FBF6EE;color:#78716C;}.elementor-24215 .elementor-element.elementor-element-441ed232{margin:4px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-24215 .elementor-element.elementor-element-441ed232 .elementor-button:hover svg, .elementor-24215 .elementor-element.elementor-element-441ed232 .elementor-button:focus svg{fill:#78716C;}.elementor-24215 .elementor-element.elementor-element-3aac4b21:not(.elementor-motion-effects-element-type-background), .elementor-24215 .elementor-element.elementor-element-3aac4b21 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-24215 .elementor-element.elementor-element-3aac4b21 > .elementor-container{max-width:1120px;}.elementor-24215 .elementor-element.elementor-element-3aac4b21{border-style:solid;border-width:1px 0px 0px 0px;border-color:#E8E1D2;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:54px 20px 64px 20px;}.elementor-24215 .elementor-element.elementor-element-3aac4b21 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-24215 .elementor-element.elementor-element-eda87b7.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-24215 .elementor-element.elementor-element-eda87b7.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-24215 .elementor-element.elementor-element-51c4d93d{text-align:start;}.elementor-24215 .elementor-element.elementor-element-51c4d93d img{width:200px;}.elementor-bc-flex-widget .elementor-24215 .elementor-element.elementor-element-78d9c012.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-24215 .elementor-element.elementor-element-78d9c012.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-24215 .elementor-element.elementor-element-6f755775 .elementor-icon-list-icon i{color:#F6A623;transition:color 0.3s;}.elementor-24215 .elementor-element.elementor-element-6f755775 .elementor-icon-list-icon svg{fill:#F6A623;transition:fill 0.3s;}.elementor-24215 .elementor-element.elementor-element-6f755775{--e-icon-list-icon-size:15px;--icon-vertical-offset:0px;}.elementor-24215 .elementor-element.elementor-element-6f755775 .elementor-icon-list-icon{padding-inline-end:9px;}.elementor-24215 .elementor-element.elementor-element-6f755775 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-24215 .elementor-element.elementor-element-6f755775 .elementor-icon-list-item > a{font-family:"Montserrat", Sans-serif;font-size:14.5px;font-weight:600;line-height:1.9em;}.elementor-24215 .elementor-element.elementor-element-6f755775 .elementor-icon-list-text{color:#5F7068;transition:color 0.3s;}.elementor-24215 .elementor-element.elementor-element-f62b99e{border-style:solid;border-width:1px 0px 0px 0px;border-color:#E8E1D2;margin-top:34px;margin-bottom:0px;padding:20px 0px 0px 0px;}.elementor-bc-flex-widget .elementor-24215 .elementor-element.elementor-element-3b73f7d2.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-24215 .elementor-element.elementor-element-3b73f7d2.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-24215 .elementor-element.elementor-element-6d30c7dd{text-align:start;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:500;line-height:1.6em;color:#5F7068;}.elementor-bc-flex-widget .elementor-24215 .elementor-element.elementor-element-69c1846a.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-24215 .elementor-element.elementor-element-69c1846a.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-24215 .elementor-element.elementor-element-66c5ce8d{text-align:end;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:500;line-height:1.6em;color:#5F7068;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(min-width:768px){.elementor-24215 .elementor-element.elementor-element-567b0d36{width:45%;}.elementor-24215 .elementor-element.elementor-element-5631218b{width:55%;}.elementor-24215 .elementor-element.elementor-element-eda87b7{width:50%;}.elementor-24215 .elementor-element.elementor-element-78d9c012{width:50%;}.elementor-24215 .elementor-element.elementor-element-3b73f7d2{width:50%;}.elementor-24215 .elementor-element.elementor-element-69c1846a{width:50%;}}@media(min-width:1025px){.elementor-24215 .elementor-element.elementor-element-6432bca7:not(.elementor-motion-effects-element-type-background), .elementor-24215 .elementor-element.elementor-element-6432bca7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:767px){.elementor-24215 .elementor-element.elementor-element-6432bca7{padding:20px 12px 36px 12px;}.elementor-24215 .elementor-element.elementor-element-567b0d36 > .elementor-element-populated{padding:22px 20px 22px 20px;}.elementor-24215 .elementor-element.elementor-element-57420e5 .elementor-icon-wrapper{text-align:center;}.elementor-24215 .elementor-element.elementor-element-18a28492{text-align:center;}.elementor-24215 .elementor-element.elementor-element-18a28492 .elementor-heading-title{font-size:22px;}.elementor-24215 .elementor-element.elementor-element-5631218b > .elementor-element-populated{padding:20px 18px 22px 18px;}.elementor-24215 .elementor-element.elementor-element-6db3f4a6{text-align:center;}.elementor-24215 .elementor-element.elementor-element-66639c7f{text-align:center;}.elementor-24215 .elementor-element.elementor-element-66639c7f .elementor-heading-title{font-size:16px;}.elementor-24215 .elementor-element.elementor-element-4f08732a{text-align:center;}.elementor-24215 .elementor-element.elementor-element-4f08732a .elementor-heading-title{font-size:15px;}.elementor-24215 .elementor-element.elementor-element-52b24769{text-align:center;font-size:13px;}.elementor-24215 .elementor-element.elementor-element-29bea973 .elementor-heading-title{font-size:28px;}.elementor-24215 .elementor-element.elementor-element-3aac4b21{padding:40px 16px 48px 16px;}.elementor-24215 .elementor-element.elementor-element-51c4d93d{text-align:center;}.elementor-24215 .elementor-element.elementor-element-6d30c7dd{text-align:center;}.elementor-24215 .elementor-element.elementor-element-66c5ce8d{text-align:center;}}/* Start custom CSS *//* ============================================================
   Stay in the Loop — lead capture page companion CSS.
   Paste into the page's Page Settings → Advanced → Custom CSS
   (Elementor Pro). Everything is scoped to fw-sil-* classes.
   ============================================================ */

/* ---------- card shell ---------- */
.fw-sil-card {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
}
/* frosted glass rim around the card (design's -inset-[12px] rim).
   Lives on the 920px container — the inner-section element itself spans
   the full stage width, which is what stretched the glass before. */
.fw-sil-stage .fw-sil-card > .elementor-container::before {
  content: '';
  position: absolute;
  inset: -12px;
  z-index: -1;
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  backdrop-filter: blur(16px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.35),
    inset 0 -1px 2px rgba(255, 255, 255, 0.15),
    0 24px 56px -26px rgba(12, 32, 24, 0.5);
}
/* the rim must not be clipped by the card's own overflow */
.fw-sil-stage .elementor-column > .elementor-widget-wrap > .fw-sil-card,
.fw-sil-card {
  overflow: visible;
}
.fw-sil-card > .elementor-container {
  position: relative;
  border-radius: 22px;
  overflow: visible; /* the rim extends 12px beyond; columns self-clip */
  background: transparent;
}
/* belt & suspenders: clip on every wrapper Elementor version, and round
   the columns themselves in case a background escapes the container clip */
.fw-sil-card,
.fw-sil-card > .elementor-container > .elementor-row {
  border-radius: 22px;
}
/* column backgrounds render on the widget-wrap in Elementor's optimized
   DOM — round and clip there (and on the column, for older DOM) */
.elementor-column.fw-sil-media,
.fw-sil-media > .elementor-widget-wrap,
.fw-sil-media > .elementor-element-populated {
  border-radius: 22px 0 0 22px;
  overflow: hidden;
}
.elementor-column.fw-sil-formpanel,
.fw-sil-formpanel > .elementor-widget-wrap,
.fw-sil-formpanel > .elementor-element-populated {
  border-radius: 0 22px 22px 0;
  overflow: hidden;
}
.fw-sil-media .elementor-background-slideshow {
  border-radius: inherit;
}
@media (max-width: 767px) {
  .elementor-column.fw-sil-media,
  .fw-sil-media > .elementor-widget-wrap,
  .fw-sil-media > .elementor-element-populated {
    border-radius: 22px 22px 0 0;
  }
  .elementor-column.fw-sil-formpanel,
  .fw-sil-formpanel > .elementor-widget-wrap,
  .fw-sil-formpanel > .elementor-element-populated {
    border-radius: 0 0 22px 22px;
  }
}

/* ---------- stage: white wave + solid white lower half ----------
   ::after = the design's HeroDivider wave, drifting horizontally.
   ::before = solid white from just under the wave to the bottom, so the
   photo/overlay only ever shows in the top half. Set the section's
   Background Overlay to a plain classic rgba(12,32,24,0.5) — the white
   below no longer comes from a gradient. */
/* Wave band (injected by custom.js) — exact port of the design's
   .hero-divider-band: ONE stretched SVG at 150% width, rotated 180°,
   whose `left` sways 0 → -50% → 0 over 10s. */
.fw-sil-wave {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(50vh - clamp(88px, 11vh, 132px));
  height: clamp(88px, 11vh, 132px);
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  line-height: 0;
}
.fw-sil-wave__shape {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 150%;
  height: 100%;
  overflow: hidden;
  transform: rotate(180deg);
  animation: fwWaveSway 10s ease-in-out infinite;
  will-change: left;
}
.fw-sil-wave__shape svg {
  display: block;
  width: 100%;
  height: 100%;
}
.fw-sil-wave__shape path {
  fill: #ffffff;
}
@keyframes fwWaveSway {
  0%, 100% { left: 0; }
  50%      { left: -50%; }
}
@media (prefers-reduced-motion: reduce) {
  .fw-sil-wave__shape {
    animation: none;
  }
}
/* desktop: veil only covers the photo half. Mobile flips to the
   design's full-height photo+veil (no white block, no stage wave). */
@media (min-width: 1025px) {
  .fw-sil-stage > .elementor-background-overlay {
    height: 50vh !important;
  }
}
.fw-sil-stage::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: calc(50vh - 1px); /* the wave band's bottom edge sits at 50vh */
  bottom: 0;
  background: #ffffff;
  z-index: 1;
  pointer-events: none;
}
/* card floats above the wave and white block */
.fw-sil-stage > .elementor-container {
  position: relative;
  z-index: 2;
}
/* the card's Elementor box-shadow paints on the full-width section
   element — move it to the 920px container instead */
.fw-sil-card {
  box-shadow: none !important;
}
.fw-sil-card > .elementor-container {
  box-shadow: 0 30px 70px -28px rgba(12, 32, 24, 0.5);
}

/* ---------- "STAY IN THE LOOP" pill ---------- */
.fw-sil-pill .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fbf1e9;
  border-radius: 999px;
  padding: 6px 14px;
}

/* ---------- pulsing / ringing bell ---------- */
/* design geometry: 64px circle, 32px outline icon, no Elementor padding */
.fw-sil-bell .elementor-icon {
  position: relative;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.45);
  width: 64px !important;
  height: 64px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center;
  color: #ffffff;
  font-size: 0; /* neutralize icon-font sizing; the SVG is sized below */
}
.fw-sil-success.fw-sil-bell .elementor-icon {
  width: 74px !important;
  height: 74px !important;
}
.fw-sil-bell .elementor-icon svg {
  width: 32px !important;
  height: 32px !important;
  fill: none;
  stroke: currentColor;
}
.fw-sil-success.fw-sil-bell .elementor-icon svg {
  width: 36px !important;
  height: 36px !important;
}
.fw-sil-bell .elementor-icon::before,
.fw-sil-bell .elementor-icon::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 9999px;
  border: 2px solid #f59220;
  pointer-events: none;
  animation: fwBellPulse 2.4s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}
.fw-sil-bell .elementor-icon::after {
  animation-delay: 1.2s;
}
@keyframes fwBellPulse {
  0%   { transform: scale(1);   opacity: 0.75; }
  100% { transform: scale(2.4); opacity: 0; }
}
.fw-sil-bell .elementor-icon svg,
.fw-sil-bell .elementor-icon i {
  transform-origin: 50% 15%;
  animation: fwBellRing 3.2s ease-in-out infinite;
  display: inline-block;
}
@keyframes fwBellRing {
  0%, 45%, 100% { transform: rotate(0deg); }
  4%  { transform: rotate(15deg); }
  8%  { transform: rotate(-13deg); }
  12% { transform: rotate(10deg); }
  16% { transform: rotate(-7deg); }
  20% { transform: rotate(4deg); }
  24% { transform: rotate(-2deg); }
  28% { transform: rotate(0deg); }
}
@media (prefers-reduced-motion: reduce) {
  .fw-sil-bell .elementor-icon svg,
  .fw-sil-bell .elementor-icon i {
    animation: none;
  }
  .fw-sil-bell .elementor-icon::before,
  .fw-sil-bell .elementor-icon::after {
    display: none;
  }
}

/* ---------- form details ---------- */
/* consent copy: tiny like the design (Astra label rules need !important) */
.fw-sil-form .elementor-field-type-acceptance label,
.fw-sil-form .elementor-field-subgroup .elementor-field-option label {
  font-size: 10px !important;
  line-height: 1.35 !important;
  color: #a8a29e !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: inline !important;
  margin: 0 !important;
}
/* the design shows no "CONSENT" field label above the checkbox */
.fw-sil-form .elementor-field-type-acceptance > label.elementor-field-label {
  display: none !important;
}
/* checkbox + text on one row, box top-aligned like the design */
.fw-sil-form .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.fw-sil-form .elementor-field-type-acceptance a {
  font-weight: 700;
  text-decoration: underline;
  color: inherit;
}
.fw-sil-form input[type='checkbox'] {
  accent-color: #f59220;
  width: 16px;
  height: 16px;
}
/* field rhythm: 11px between rows, 4px label→input (design gap-1) */
.fw-sil-form .elementor-field-group {
  margin-bottom: 11px;
}
.fw-sil-form label.elementor-field-label {
  display: block;
  margin: 0 0 4px !important;
}
/* design input height: 48px (excludes the consent checkbox) */
.fw-sil-form input.elementor-field:not([type='checkbox']):not([type='radio']) {
  height: 48px;
  box-sizing: border-box;
}
/* placeholders: design's stone-400 */
.fw-sil-form .elementor-field::placeholder {
  color: #a8a29e !important;
  opacity: 1;
}
/* check-out date: chevron affordance like the design's picker */
.fw-sil-form .elementor-date-field {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px 16px;
  padding-right: 36px;
  -webkit-appearance: none;
  appearance: none;
}
/* ---------- date-picker calendar (flatpickr, re-inited by custom.js) ---------- */
.fw-sil-cal.flatpickr-calendar {
  border-radius: 16px;
  border: 1px solid #f0efed;
  box-shadow: 0 24px 56px -20px rgba(12, 32, 24, 0.35);
  padding: 12px 14px 8px;
  font-family: 'Montserrat', sans-serif;
  /* flatpickr's fixed inner width (~308px) + our padding */
  width: 342px !important;
  box-sizing: border-box;
}
/* year: plain bold text, no spinner arrows */
.fw-sil-cal .numInputWrapper span {
  display: none;
}
.fw-sil-cal .numInputWrapper:hover {
  background: transparent;
}
.fw-sil-cal .numInput.cur-year {
  border: none;
  background: transparent;
}
.fw-sil-cal.flatpickr-calendar::before,
.fw-sil-cal.flatpickr-calendar::after {
  display: none; /* no beak */
}
.fw-sil-cal .flatpickr-months {
  display: flex;
  align-items: center;
  padding: 2px 4px 8px;
}
.fw-sil-cal .flatpickr-month {
  order: 1;
  margin-right: auto;
  height: auto;
  color: #231b14;
}
.fw-sil-cal .flatpickr-current-month {
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
}
.fw-sil-cal .flatpickr-current-month .cur-month {
  font-weight: 700;
  margin: 0;
}
.fw-sil-cal .numInputWrapper {
  width: 62px;
}
.fw-sil-cal .numInput.cur-year {
  font-weight: 700;
  color: #231b14;
}
.fw-sil-cal .flatpickr-prev-month,
.fw-sil-cal .flatpickr-next-month {
  order: 2;
  position: static;
  height: auto;
  padding: 4px 6px;
  color: #78716c;
}
.fw-sil-cal .flatpickr-prev-month:hover,
.fw-sil-cal .flatpickr-next-month:hover {
  color: #231b14;
}
.fw-sil-cal .flatpickr-prev-month svg,
.fw-sil-cal .flatpickr-next-month svg {
  width: 12px;
  height: 12px;
  fill: currentColor;
}
.fw-sil-cal .flatpickr-weekday {
  text-transform: uppercase;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #a8a29e;
}
.fw-sil-cal .flatpickr-day {
  font-weight: 600;
  color: #231b14;
  border: 2px solid transparent;
  border-radius: 999px;
}
.fw-sil-cal .flatpickr-day:hover {
  background: #fbf1e9;
  border-color: transparent;
}
.fw-sil-cal .flatpickr-day.today {
  border-color: #f59220;
  background: transparent;
  color: #231b14;
}
.fw-sil-cal .flatpickr-day.selected,
.fw-sil-cal .flatpickr-day.selected:hover {
  background: #f59220;
  border-color: #f59220;
  color: #ffffff;
}
.fw-sil-cal .flatpickr-day.flatpickr-disabled,
.fw-sil-cal .flatpickr-day.flatpickr-disabled:hover,
.fw-sil-cal .flatpickr-day.prevMonthDay,
.fw-sil-cal .flatpickr-day.nextMonthDay {
  color: #d6d3d1;
  background: transparent;
}
.fw-sil-cal__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 6px 6px;
}
.fw-sil-cal__reset {
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #231b14;
  padding: 6px 8px;
}
.fw-sil-cal__reset:hover {
  text-decoration: underline;
}
.fw-sil-cal__ok {
  width: 36px;
  height: 36px;
  min-width: 36px !important;
  max-width: 36px;
  flex: 0 0 36px;
  padding: 0 !important;
  border-radius: 999px !important;
  border: none;
  background: #006c40 !important;
  color: #ffffff !important;
  cursor: pointer;
  display: grid;
  place-items: center;
  line-height: 0;
}
.fw-sil-cal__ok:hover {
  filter: brightness(1.1);
}
.fw-sil-cal__ok svg {
  width: 18px;
  height: 18px;
}

/* focus ring like the design */
.fw-sil-form .elementor-field:focus {
  border-color: #f59220 !important;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(245, 146, 32, 0.2);
}
/* submit button glow + hover lift */
.fw-sil-form .elementor-button[type='submit'] {
  box-shadow: 0 12px 24px -10px #f59220;
  transition: transform 0.18s ease, filter 0.18s ease;
}
.fw-sil-form .elementor-button[type='submit']:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}

/* Hookier error banner (injected by custom.js) */
.fw-sil-error {
  margin: 0 0 12px;
  border: 1px solid #f4c6c0;
  background: #fdecec;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 12.5px;
  font-weight: 500;
  color: #b23a2c;
  font-family: 'Montserrat', sans-serif;
}

/* ---------- success view: hidden until custom.js swaps states ---------- */
.fw-sil-success {
  display: none;
}
.fw-sil-formpanel.is-submitted .fw-sil-success {
  display: block;
}
.fw-sil-formpanel.is-submitted .fw-sil-formview {
  display: none;
}
/* the logo stays visible on the confirmation, centered (design) */
.fw-sil-formpanel.is-submitted .elementor-widget-image.fw-sil-formview {
  display: block;
}
.fw-sil-formpanel.is-submitted .elementor-widget-image .elementor-widget-container {
  text-align: center !important;
}
.fw-sil-formpanel.is-submitted .elementor-widget-image img {
  display: block;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* design type scale on the confirmation copy */
.fw-sil-success p {
  font-size: 14px !important;
  color: #78716c;
}
.fw-sil-success p strong {
  font-size: 16px;
  font-weight: 600;
  color: #57534e;
}
.fw-sil-success p + p {
  margin-top: 10px !important;
  max-width: 34ch;        /* design: wraps at "updates, and more!" */
  margin-left: auto;
  margin-right: auto;
}
/* center the success bell */
.fw-sil-success .elementor-icon-wrapper {
  display: flex;
  justify-content: center;
}
/* amenities: 2-column grid; the heading is a real (editable) heading
   widget carrying fw-sil-tickerhead; icons are the icon-list's own
   editable icons, colored per position; check squares are pure CSS */
.fw-sil-formpanel.is-submitted .fw-sil-ticker .elementor-icon-list-items {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 9px 10px;
  text-align: left;
  max-width: 360px;
  margin: 0 auto;
}
.fw-sil-ticker .elementor-icon-list-item {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin: 0 !important;
  width: 100%; /* fill the grid cell so the check square right-aligns */
}
.fw-sil-ticker .elementor-icon-list-icon {
  flex: none;
  display: inline-grid;
  place-items: center;
  width: 16px !important;   /* Elementor reserves a wider icon box */
  text-align: center;
}
.fw-sil-ticker .elementor-icon-list-text {
  padding-left: 0 !important; /* widget text-indent stacks on our gap */
}
.fw-sil-ticker .elementor-icon-list-icon svg {
  width: 16px;
  height: 16px;
}
/* per-row colors (the injected design icons are stroke-based) */
.fw-sil-ticker li:nth-child(1) .elementor-icon-list-icon { color: #0ea5e9 !important; }
.fw-sil-ticker li:nth-child(2) .elementor-icon-list-icon { color: #e11d48 !important; }
.fw-sil-ticker li:nth-child(3) .elementor-icon-list-icon { color: #006c40 !important; }
.fw-sil-ticker li:nth-child(4) .elementor-icon-list-icon { color: #7c3aed !important; }
.fw-sil-ticker .elementor-icon-list-icon svg {
  color: inherit;
}
/* Elementor forces a fill on icon-list SVGs, which turns our stroke
   icons into filled blobs — CSS wins over the svg's fill="none" attr */
.fw-sil-ticker .elementor-icon-list-icon svg[fill='none'] {
  fill: none !important;
  stroke: currentColor;
}
.fw-sil-ticker .elementor-icon-list-text {
  font-size: 10.5px !important;
  font-weight: 600;
  line-height: 1.15;
  color: #231b14;
  white-space: nowrap;
}
/* CSS-only check square at the row's end; starts unchecked, the JS
   sequence adds .is-checked per row (design's staggered tick-in) */
.fw-sil-ticker .elementor-icon-list-item::after {
  content: '';
  margin-left: auto;
  width: 16px;
  height: 16px;
  flex: none;
  transform: translateY(-4px); /* optical alignment with the label */
  border: 1.5px solid #cfc6bb !important;
  border-radius: 4px;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 11px;
  transition: border-color 0.18s ease;
}
.fw-sil-ticker .elementor-icon-list-item.is-checked::after {
  border-color: #006c40 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006c40' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
  animation: fwCheckPop 0.28s ease both;
}
@keyframes fwCheckPop {
  0%   { transform: translateY(-4px) scale(0.6); }
  60%  { transform: translateY(-4px) scale(1.15); }
  100% { transform: translateY(-4px) scale(1); }
}
/* while the checking sequence runs, the grid is hidden and a single
   status row (injected by custom.js) shows in its place */
.fw-sil-ticker.is-animating .elementor-icon-list-items,
.fw-sil-formpanel.is-submitted .fw-sil-ticker.is-animating .elementor-icon-list-items {
  display: none !important;
}
.fw-sil-tickrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 44px;
  max-width: 360px;
  margin: 0 auto;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #231b14;
  animation: fwTickerLineIn 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.fw-sil-tickrow .fw-sil-amenrow-ic {
  display: inline-grid;
  place-items: center;
}
.fw-sil-tickrow .fw-sil-amenrow-ic svg {
  width: 16px;
  height: 16px;
}
.fw-sil-tickrow .fw-sil-avail {
  color: #006c40;
  font-weight: 700;
}
.fw-sil-tickrow.is-checking {
  color: #9a9089;
}
.fw-sil-tickspin {
  width: 14px;
  height: 14px;
  flex: none;
  border: 2px solid #e5e0d8;
  border-top-color: #f59220;
  border-radius: 50%;
  animation: fwTickSpin 0.7s linear infinite;
}
@keyframes fwTickSpin {
  to { transform: rotate(360deg); }
}
@keyframes fwTickerLineIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* confirmation video: a native Video widget in the media column, hidden
   until the card enters the submitted state, then covering the panel.
   Targeted by widget TYPE so it works even without the class. */
.fw-sil-media .elementor-widget-video {
  display: none !important;
}
.fw-sil-card.is-submitted .fw-sil-media .elementor-widget-video {
  display: block !important;
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 1;
  margin: 0 !important;
}
.fw-sil-media .elementor-widget-video .elementor-widget-container,
.fw-sil-media .elementor-widget-video .elementor-video,
.fw-sil-media .elementor-widget-video .e-hosted-video,
.fw-sil-media .elementor-widget-video video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0;
}
.fw-sil-card.is-submitted .fw-sil-media > .elementor-widget-wrap::before,
.fw-sil-card.is-submitted .fw-sil-media > .elementor-element-populated::before {
  display: none;
}
/* media panel headline/bell hide on the confirmation state (the design
   swaps to a celebratory video; we keep the slideshow, copy hides) */
.fw-sil-card.is-submitted .fw-sil-media .elementor-widget-heading,
.fw-sil-card.is-submitted .fw-sil-media .fw-sil-bell {
  visibility: hidden;
}

/* ---------- media panel: dark gradient over the slideshow bottom ---------- */
.fw-sil-media > .elementor-widget-wrap::before,
.fw-sil-media > .elementor-element-populated::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg,
    rgba(0, 0, 0, 0.18) 0%,
    rgba(0, 0, 0, 0.12) 38%,
    rgba(0, 0, 0, 0.62) 72%,
    rgba(0, 0, 0, 0.92) 100%);
}
.fw-sil-media .elementor-widget {
  position: relative;
  z-index: 2;
}
/* design's media headline scale (capped so it sets in 3 lines beside
   the bell at this panel width) */
.fw-sil-media .elementor-heading-title {
  font-size: clamp(24px, 2.6vw, 34px) !important;
  text-wrap: balance;
}

/* ---------- form panel rhythm: kill Elementor's default 20px widget gap
   and pin the design's exact spacing ---------- */
.fw-sil-formpanel .elementor-widget:not(:last-child) {
  margin-bottom: 0;
}
.fw-sil-formpanel .elementor-widget-image {
  margin-bottom: 18px !important;
}
.fw-sil-formpanel .fw-sil-pill {
  margin-bottom: 12px !important;
}
.fw-sil-formpanel .elementor-widget-heading.fw-sil-formview:not(.fw-sil-pill) {
  margin-bottom: 4px !important;
}
.fw-sil-formpanel .elementor-widget-text-editor.fw-sil-formview {
  margin-bottom: 14px !important;
}
/* Astra adds 1.6em to inner <p> — the widget margin above is the rhythm */
.fw-sil-formpanel .elementor-widget-text-editor p {
  margin-bottom: 0 !important;
}
.fw-sil-formpanel .fw-sil-form {
  margin-bottom: 0 !important;
}
.fw-sil-formpanel .elementor-widget.fw-sil-success {
  margin-bottom: 18px !important;
}
/* design headline scale for "You're In!" */
.fw-sil-formpanel .fw-sil-success .elementor-heading-title {
  font-size: clamp(28px, 3vw, 36px);
  letter-spacing: -0.02em;
}
.fw-sil-tickerhead .elementor-heading-title {
  font-size: 12.5px !important;
  letter-spacing: 0.01em;
}

/* ---------- media panel: bell beside headline (design layout) ---------- */
.fw-sil-media > .elementor-widget-wrap {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: end;    /* row sits at the panel bottom (design) */
  align-items: center;   /* bell centered against the text block */
  gap: 14px;
}
/* flex centers the MARGIN box — strip every margin inside the row */
.fw-sil-media > .elementor-widget-wrap > .elementor-widget {
  margin: 0 !important;
}
.fw-sil-media .fw-sil-bell {
  width: auto !important;
  flex-shrink: 0;
  align-self: center;
}
.fw-sil-media .fw-sil-bell .elementor-icon-wrapper {
  line-height: 0;
  display: block;
}
.fw-sil-media .elementor-widget-heading {
  width: auto !important;
  flex: 1;
}
@media (max-width: 1024px) {
  .fw-sil-media {
    min-height: 220px;
  }
  .fw-sil-media > .elementor-widget-wrap {
    justify-content: center;
  }
}
@media (max-width: 1024px) {
  .fw-sil-stage {
    background-attachment: scroll !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }
  .fw-sil-stage::before {
    display: none; /* no white lower half on mobile (design) */
  }
  .fw-sil-wave {
    display: none; /* stage wave is desktop-only (design) */
  }
}
@media (max-width: 767px) {
  /* design's shorter mobile inputs */
  .fw-sil-form input.elementor-field:not([type='checkbox']):not([type='radio']) {
    height: 44px;
  }
  /* design keeps the fields two-up on mobile */
  .fw-sil-form .elementor-field-group {
    width: 50%;
  }
  .fw-sil-form .elementor-field-type-acceptance,
  .fw-sil-form .elementor-field-type-submit {
    width: 100%;
  }
  .fw-sil-media .elementor-heading-title {
    font-size: 20px !important;
  }
}

/* ---------- tablet + mobile: stacked card, banner media panel with the
   brand wave, centered form intro (the design breaks at 1024px) ---------- */
/* no vertical padding on the stage section (any screen size) */
.elementor-section.fw-sil-stage {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
@media (max-width: 1024px) {
  /* stack the two panels full-width */
  .fw-sil-card .elementor-column.fw-sil-media,
  .fw-sil-card .elementor-column.fw-sil-formpanel {
    width: 100% !important;
  }
  /* stacked corner radii */
  .elementor-column.fw-sil-media,
  .fw-sil-media > .elementor-widget-wrap,
  .fw-sil-media > .elementor-element-populated {
    border-radius: 22px 22px 0 0;
  }
  .elementor-column.fw-sil-formpanel,
  .fw-sil-formpanel > .elementor-widget-wrap,
  .fw-sil-formpanel > .elementor-element-populated {
    border-radius: 0 0 22px 22px;
  }
  /* sub-pixel seam between the stacked panels */
  .elementor-column.fw-sil-formpanel {
    margin-top: -1px;
    position: relative;
    z-index: 1;
  }
  /* centered bell + headline pair, compact sizes */
  .fw-sil-media > .elementor-widget-wrap,
  .fw-sil-media > .elementor-element-populated {
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center !important;
    gap: 10px;
    padding-bottom: 64px !important; /* clear the wave below */
  }
  .fw-sil-media .fw-sil-bell .elementor-icon-wrapper {
    display: flex !important;
    align-items: center;
    justify-content: center;
    line-height: 0;
  }
  .fw-sil-media .elementor-widget-heading {
    width: auto !important;
  }
  .fw-sil-media .elementor-heading-title {
    text-align: center;
    font-size: 22px !important;
    line-height: 1.15;
  }
  .fw-sil-media .fw-sil-bell .elementor-icon {
    width: 48px !important;
    height: 48px !important;
  }
  .fw-sil-media .fw-sil-bell .elementor-icon svg {
    width: 24px !important;
    height: 24px !important;
  }
  /* white wave biting into the media panel's bottom edge */
  .fw-sil-media > .elementor-widget-wrap::after,
  .fw-sil-media > .elementor-element-populated::after {
    content: '';
    position: absolute;
    bottom: -2px;
    height: 54px;
    z-index: 3;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M421.9,6.5c22.6-2.5,51.5,0.4,75.5,5.3c23.6,4.9,70.9,23.5,100.5,35.7c75.8,32.2,133.7,44.5,192.6,49.7c23.6,2.1,48.7,3.5,103.4-2.5c54.7-6,106.2-25.6,106.2-25.6V0H0v30.3c0,0,72,32.6,158.4,30.5c39.2-0.7,92.8-6.7,134-22.4c21.2-8.1,52.2-18.2,79.7-24.2C399.3,7.9,411.6,7.5,421.9,6.5z'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    left: -30%;
    right: -30%;
    animation: fwMediaWaveSway 10s ease-in-out infinite;
  }
  /* centered form intro (logo, pill, subhead, note) */
  .fw-sil-formpanel .elementor-widget-image .elementor-widget-container {
    text-align: center !important;
  }
  .fw-sil-formpanel .elementor-widget-image img {
    display: block;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .fw-sil-formpanel .fw-sil-pill .elementor-heading-title {
    margin-left: auto;
    margin-right: auto;
    display: table;
  }
  .fw-sil-formpanel .elementor-widget-heading .elementor-heading-title,
  .fw-sil-formpanel .elementor-widget-text-editor.fw-sil-formview {
    text-align: center !important;
  }
}
@keyframes fwMediaWaveSway {
  0%, 100% { transform: rotate(180deg) translateX(0); }
  50%      { transform: rotate(180deg) translateX(18%); }
}
@media (prefers-reduced-motion: reduce) {
  .fw-sil-media > .elementor-widget-wrap::after,
  .fw-sil-media > .elementor-element-populated::after {
    animation: none;
    transform: rotate(180deg);
  }
}

/* ---------- date picker as centered modal on mobile (design) ---------- */
.fw-sil-cal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(12, 32, 24, 0.45);
  z-index: 99998;
}
.fw-sil-cal.fw-sil-cal--modal {
  animation: none !important; /* flatpickr's fade animates transform and
                                 fights the centering translate */
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%);
  margin: 0;
  z-index: 99999 !important;
  width: min(342px, calc(100vw - 32px)) !important;
  box-shadow: 0 30px 80px -20px rgba(12, 32, 24, 0.55);
}
@media (max-width: 767px) {
  /* design blanks the out-of-month days on the mobile modal */
  .fw-sil-cal .flatpickr-day.prevMonthDay,
  .fw-sil-cal .flatpickr-day.nextMonthDay {
    visibility: hidden;
  }
}

/* ---------- footer (02-footer.json) alignment ---------- */
.fw-sil-foot .elementor-widget-icon-list .elementor-icon-list-items {
  display: flex;
  justify-content: flex-end;
}
.fw-sil-foot .elementor-widget-icon-list .elementor-icon-list-item {
  display: flex;
  align-items: center;
}
.fw-sil-foot .elementor-icon-list-text {
  color: #5f7068 !important; /* design --muted */
}
@media (max-width: 767px) {
  .fw-sil-foot .elementor-widget-icon-list .elementor-icon-list-items {
    justify-content: center !important;
  }
  .fw-sil-foot .elementor-icon-list-item {
    justify-content: center;
    text-align: center;
  }
}/* End custom CSS */