:root {
    --gt-ffci-dark: #001715;
    --gt-ffci-primary: #f1613d;
    --gt-ffci-primary-hover: #c94021;
    --gt-ffci-light: #f4f2ec;
    --gt-ffci-white: #fff;
    --gt-ffci-text: #1e1e1e;
    --gt-ffci-muted: #595959;
    --gt-ffci-border: #c8cec9;
    --gt-ffci-focus: #ffbf47;
    --gt-ffci-radius: 12px;
    --gt-ffci-scroll-offset: 120px;
}

.gt-ffci { color: var(--gt-ffci-text); font: inherit; margin: 0; max-width: none; padding: 0; width: 100%; }
.gt-ffci *, .gt-ffci *::before, .gt-ffci *::after { box-sizing: border-box; }
.gt-ffci__screen { background: transparent; border-radius: 0; margin: 0; padding: 0; scroll-margin-top: var(--gt-ffci-scroll-offset); }
.gt-ffci__screen[hidden] { display: none !important; }
.gt-ffci__eyebrow { color: var(--gt-ffci-primary); display: block; font-size: 1rem; font-weight: 700; letter-spacing: 0; line-height: 1.4; margin: 0 0 12px; text-transform: none; }
.gt-ffci .gt-ffci__title, .gt-ffci legend { color: var(--gt-ffci-dark); font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 22px; padding: 0; }
.gt-ffci h3 { color: var(--gt-ffci-dark); font-size: clamp(1.3rem, 2.5vw, 1.75rem); line-height: 1.2; }
.gt-ffci fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.gt-ffci__prose { font-size: 1.075rem; line-height: 1.65; }
.gt-ffci__prose > :first-child { margin-top: 0; }
.gt-ffci__prose > :last-child { margin-bottom: 0; }
.gt-ffci__prose li + li { margin-top: .45em; }
.gt-ffci__notice, .gt-ffci__safety { background: var(--gt-ffci-white); border-left: 5px solid var(--gt-ffci-primary); margin: 28px 0; padding: 20px 24px; }
.gt-ffci__notice p:first-child { margin-top: 0; padding-top: 0; }
.gt-ffci__notice > :last-child, .gt-ffci__safety > :last-child { margin-bottom: 0; }
.gt-ffci__duration { font-weight: 700; }
.gt-ffci__progress-wrap { margin-bottom: clamp(28px, 4vw, 38px); }
.gt-ffci__progress-label { color: var(--gt-ffci-dark); font-size: .95rem; font-weight: 700; margin: 0 0 10px; }
.gt-ffci__progress { background: #d9ddd8; border: 0; border-radius: 999px; height: 8px; overflow: hidden; }
.gt-ffci__progress span { background: var(--gt-ffci-primary); display: block; height: 100%; transition: width .3s ease; }
.gt-ffci__help { color: var(--gt-ffci-muted); font-size: 1.05rem; line-height: 1.55; margin: -10px 0 24px; }
.gt-ffci__answers { display: grid; gap: 10px; }
.gt-ffci__answer { cursor: pointer; display: block; margin: 0; position: relative; }
.gt-ffci__answer input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.gt-ffci__answer span { align-items: center; background: var(--gt-ffci-white); border: 2px solid var(--gt-ffci-border); border-radius: 8px; color: var(--gt-ffci-dark); display: flex; font-size: 1rem; gap: 13px; min-height: 52px; padding: 11px 16px; transition: border-color .2s ease, background-color .2s ease, color .2s ease; }
.gt-ffci__answer span::before { background: var(--gt-ffci-white); border: 2px solid var(--gt-ffci-dark); border-radius: 50%; content: ''; flex: 0 0 20px; height: 20px; width: 20px; }
.gt-ffci__answer:hover span { border-color: var(--gt-ffci-primary); }
.gt-ffci__answer input:checked + span { background: var(--gt-ffci-white); border-color: var(--gt-ffci-primary); color: var(--gt-ffci-dark); box-shadow: inset 0 0 0 1px var(--gt-ffci-primary); }
.gt-ffci__answer input:checked + span::before { background: var(--gt-ffci-primary); border-color: var(--gt-ffci-primary); box-shadow: inset 0 0 0 4px var(--gt-ffci-white); }
.gt-ffci__answer:focus { outline: 0; }
.gt-ffci__answer:focus-visible span { border-color: var(--gt-ffci-primary); outline: 3px solid var(--gt-ffci-focus); outline-offset: 2px; }
.gt-ffci__button:focus-visible, .gt-ffci a:focus-visible { outline: 4px solid var(--gt-ffci-focus); outline-offset: 3px; }
.gt-ffci__answers[aria-invalid="true"] { border-left: 4px solid #b42318; padding-left: 12px; }
.gt-ffci__error { color: #9f1c12; font-weight: 700; margin: 14px 0 0; }
.gt-ffci__nav { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; margin-top: 28px; }
.gt-ffci__button { align-items: center; border: 2px solid var(--gt-ffci-dark); border-radius: 999px; cursor: pointer; display: inline-flex; font: inherit; font-size: 1rem; font-weight: 700; justify-content: center; line-height: 1.2; min-height: 44px; padding: 9px 20px; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.gt-ffci__button--primary { background: var(--gt-ffci-primary); border-color: var(--gt-ffci-primary); color: var(--gt-ffci-dark); }
.gt-ffci__button--primary:hover { background: var(--gt-ffci-primary-hover); border-color: var(--gt-ffci-primary-hover); color: var(--gt-ffci-white); transform: translateY(-1px); }
.gt-ffci__button--secondary { background: transparent; color: var(--gt-ffci-dark); }
.gt-ffci__button--secondary:hover { background: var(--gt-ffci-dark); color: var(--gt-ffci-white); }
.gt-ffci__overall-result { background: var(--gt-ffci-white); border-radius: 14px; padding: clamp(22px, 4vw, 40px); }
.gt-ffci__targeted-result { border-top: 2px solid var(--gt-ffci-border); margin-top: 32px; padding-top: 28px; }
.gt-ffci__targeted-result h2 { font-size: clamp(1.6rem, 3.5vw, 2.35rem); }
.gt-ffci__safety h3 { margin-top: 0; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal !important; }
.gt-ffci-editor-preview { background: #f4f2ec; border: 1px solid #ccd0d4; padding: 24px; }

@media (max-width: 560px) {
    .gt-ffci { --gt-ffci-scroll-offset: 90px; }
    .gt-ffci__screen { border-radius: 0; padding: 0; }
    .gt-ffci__nav { align-items: stretch; flex-direction: column-reverse; }
    .gt-ffci__button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .gt-ffci *, .gt-ffci *::before, .gt-ffci *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
