@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap');
.itf-root{--itf-orange:#f47920;--itf-green:#008061;position:relative;isolation:isolate;color:#fff;font-family:'Source Sans Pro',Arial,sans-serif;font-weight:400;text-align:left;line-height:1.35}
.itf-root *{box-sizing:border-box}
.itf-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important}
.itf-overlay{position:fixed;z-index:2147483000;inset:0;background:rgba(0,0,0,.79);display:flex;align-items:center;justify-content:center;padding:22px;animation:itf-overlay-in .15s ease-out both}
.itf-dialog{position:relative;width:min(960px,100%);height:min(790px,92dvh);min-height:380px;overflow:hidden;border-radius:4px;box-shadow:0 20px 65px rgba(0,0,0,.32)}
.itf-drawer{justify-content:flex-end;padding:0}
.itf-drawer .itf-dialog{width:min(680px,100vw);height:100dvh;border-radius:0;box-shadow:-12px 0 40px rgba(0,0,0,.2)}
.itf-root[data-inline="true"]{height:100%;min-height:500px}
.itf-surface{position:relative;display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;min-height:500px;overflow:hidden;background-color:var(--itf-color,#2a333b);background-image:linear-gradient(rgba(0,0,0,.84),rgba(0,0,0,.84)),var(--itf-bg);background-size:cover;background-position:center center}
.itf-shade{position:absolute;inset:0;background:rgba(0,0,0,.06);pointer-events:none}
.itf-progress{position:absolute;z-index:3;top:0;left:0;right:0;height:3px;background:rgba(255,255,255,.13)}
.itf-progress span{display:block;height:100%;background:#f47920;transition:width .18s ease-out}
.itf-stage{position:relative;z-index:2;width:min(760px,100%);max-width:100%;padding:52px clamp(22px,5.2vw,66px);margin:auto}
.itf-question{display:grid;grid-template-columns:17px minmax(0,1fr);align-items:start;gap:9px}
.itf-step-number{background:#fff;color:#111;font-size:11px;font-weight:700;line-height:16px;text-align:center;border-radius:3px;width:14px;height:15px;margin-top:8px}
.itf-question-text{margin:0 0 24px!important;padding:0!important;border:0!important;font-family:'Source Sans Pro',Arial,sans-serif!important;font-size:clamp(20px,2vw,29px)!important;font-weight:400!important;line-height:1.34!important;letter-spacing:0!important;text-align:left!important;color:#f47920!important;text-transform:none!important}
.itf-required{color:#fff;font-size:.6em;vertical-align:top}
.itf-option{width:100%;display:flex;align-items:center;gap:9px;min-height:51px;padding:10px 14px;margin:0 0 7px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:rgba(255,255,255,.055);color:#fff;font:400 16px/1.4 'Source Sans Pro',Arial,sans-serif;text-align:left;cursor:pointer;transition:background .12s,border .12s}
.itf-option:hover,.itf-option:focus-visible,.itf-selected{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.5);outline:none}
.itf-key{border:1px solid rgba(255,255,255,.55);border-radius:3px;font-size:11px;min-width:20px;height:20px;display:inline-flex;justify-content:center;align-items:center}
.itf-answer{display:block;width:100%;padding:9px 1px 12px;margin:4px 0;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.68);border-radius:0;outline:none;color:#fff;font:400 clamp(20px,2.1vw,28px)/1.4 'Source Sans Pro',Arial,sans-serif;box-shadow:none;transition:border-color .12s}
.itf-answer::placeholder{color:rgba(255,255,255,.43)}
.itf-answer:focus{border-bottom-color:#fff}
textarea.itf-answer{resize:vertical;min-height:96px;max-height:250px}
.itf-hint,.itf-description{font-size:13px;color:rgba(255,255,255,.75);margin:8px 0 16px}
.itf-action-row{display:flex;align-items:center;gap:14px;margin-top:20px}
.itf-action{border:none;border-radius:4px;background:#008061;color:#fff;padding:10px 17px;font:700 14px 'Source Sans Pro',Arial,sans-serif;cursor:pointer;min-height:38px}
.itf-action:hover,.itf-action:focus-visible{background:#009f79}
.itf-action:disabled{opacity:.6;cursor:wait}
.itf-keyhint{font-size:12px;color:rgba(255,255,255,.77)}
.itf-message{min-height:18px;color:#ffd3c8;font-size:13px;padding-top:8px}
.itf-back-wrap{display:flex;justify-content:flex-start;margin-top:10px}
.itf-back{background:transparent;border:0;padding:7px 0;color:rgba(255,255,255,.8);font:600 13px 'Source Sans Pro',Arial,sans-serif;cursor:pointer}
.itf-back:hover{text-decoration:underline}
.itf-close{position:absolute;top:18px;right:22px;z-index:10;display:flex;align-items:center;justify-content:center;border:0;color:#fff;background:rgba(0,0,0,.25);font:300 35px/1 'Source Sans Pro',Arial,sans-serif;width:40px;height:40px;border-radius:4px;cursor:pointer}
.itf-close:hover{background:rgba(0,0,0,.5)}
.itf-nav{position:absolute;bottom:13px;right:18px;z-index:5;display:flex;align-items:center;gap:13px;color:rgba(255,255,255,.65);font-size:12px}
.itf-nav>div{display:flex;gap:3px}
.itf-nav button{background:#008061;color:#fff;border:0;border-radius:3px;height:28px;width:29px;cursor:pointer;font-size:18px}
.itf-nav button:disabled{opacity:.35;cursor:default}
.itf-success{font-size:23px;color:#fff;text-align:center;padding:60px 15px}
[data-ideal-form-inline]{height:500px!important;min-height:500px!important;width:100%}
[data-ideal-form-inline] .itf-stage{padding:35px clamp(16px,4vw,60px)}
@keyframes itf-overlay-in{from{opacity:0}to{opacity:1}}
@media(max-width:650px){.itf-overlay{padding:0}.itf-dialog,.itf-drawer .itf-dialog{width:100%;height:100dvh;max-height:none;border-radius:0}.itf-stage{padding:76px 20px 56px}.itf-question{grid-template-columns:14px minmax(0,1fr);gap:8px}.itf-question-text{font-size:22px!important}.itf-option{font-size:15px}.itf-keyhint{display:none}.itf-action-row{margin-top:16px}.itf-back-wrap{order:3}.itf-close{right:10px;top:10px}.itf-nav{bottom:8px;right:11px}.itf-root[data-inline="true"] .itf-stage{padding:38px 14px}.itf-root[data-inline="true"] .itf-question-text{font-size:20px!important}}
@media(prefers-reduced-motion:reduce){.itf-overlay{animation:none!important}.itf-progress span,.itf-option{transition:none!important}}
/* IdealData form navigation refinement V17 */
.itf-nav{gap:10px!important}
.itf-nav>div{gap:5px!important}
.itf-nav button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:27px!important;height:27px!important;font-size:15px!important;font-weight:600!important;line-height:1!important;padding:0!important;border-radius:4px!important}

/* V19: balanced vector-style form arrows, immune to font glyph swapping. */
.itf-nav button[data-back],.itf-nav button[data-next]{position:relative!important;font-size:0!important;color:transparent!important}
.itf-nav button[data-back]::before,.itf-nav button[data-next]::before{content:"";display:block;position:absolute;left:50%;top:50%;width:8px;height:8px;box-sizing:border-box;border-right:2px solid #fff;border-bottom:2px solid #fff;pointer-events:none}
.itf-nav button[data-back]::before{transform:translate(-50%,-30%) rotate(225deg)!important}
.itf-nav button[data-next]::before{transform:translate(-50%,-70%) rotate(45deg)!important}

/* V19.1: matching chevrons drawn as inline SVG, independent of typeface and transforms. */
.itf-nav button[data-back]::before,.itf-nav button[data-next]::before{content:""!important;position:absolute!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important;border:0!important;background-size:12px 12px!important;background-position:center!important;background-repeat:no-repeat!important;transform:none!important;translate:none!important;rotate:none!important}
.itf-nav button[data-back]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 10 L8 5 L13 10' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.itf-nav button[data-next]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 5 L8 10 L13 5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
