.dtf-shell{--dtf-ink:#111210;--dtf-muted:#5d625f;--dtf-line:#dcded9;--dtf-paper:#f7f7f3;--dtf-accent:#ff5959;--dtf-green:#ddeee1;color:var(--dtf-ink);display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,88px);align-items:start;width:100%;max-width:1240px;margin-inline:auto;font-family:Inter,Arial,sans-serif;line-height:1.5;box-sizing:border-box}
.dtf-shell *{box-sizing:border-box}
.dtf-heading{padding-block:clamp(6px,2vw,22px)}
.dtf-eyebrow{display:block;font:600 .78rem/1.4 Inter,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#a72b32;margin-bottom:20px}
.dtf-title{font:400 clamp(2.5rem,4.3vw,4.75rem)/1.04 'Source Serif 4',Georgia,serif;letter-spacing:-.035em;margin:0 0 26px;max-width:9ch;color:var(--dtf-ink)}
.dtf-intro{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.68;max-width:35ch;color:#434947;margin:0}
.dtf-panel{background:var(--dtf-paper);border:1px solid var(--dtf-line);padding:clamp(24px,3vw,48px);min-width:0}
.dtf-progress{margin-bottom:clamp(32px,3.2vw,52px)}
.dtf-progress-text{font-size:.82rem;letter-spacing:.035em;font-weight:600;color:#4b514d;margin:0 0 12px}
.dtf-progress-track{height:3px;background:#d6d9d2;overflow:hidden}
.dtf-progress-fill{height:100%;width:0;background:var(--dtf-accent);transition:width .35s ease}
.dtf-step-title,.dtf-legend{font:400 clamp(1.65rem,2.2vw,2.35rem)/1.17 'Source Serif 4',Georgia,serif;letter-spacing:-.02em;color:var(--dtf-ink);margin:0 0 13px;padding:0}
.dtf-step-title:focus{outline:none}
.dtf-step-intro{color:var(--dtf-muted);margin:0 0 28px;max-width:58ch}
.dtf-fields{display:grid;gap:22px}
.dtf-form>*{animation:dtf-appear .28s ease both}
@keyframes dtf-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.dtf-options{border:0;padding:0;margin:0;min-width:0}
.dtf-options .dtf-legend{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dtf-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dtf-option{position:relative;display:block;min-width:0;cursor:pointer}
.dtf-option-input{position:absolute;opacity:0;width:1px;height:1px}
.dtf-option-body{min-height:100%;display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:#fff;border:1px solid #d5d7d2;transition:border-color .18s,box-shadow .18s,background-color .18s}
.dtf-option:hover .dtf-option-body{border-color:#5e6460;box-shadow:0 4px 16px rgba(0,0,0,.045)}
.dtf-option-input:checked+.dtf-option-body{border-color:var(--dtf-ink);box-shadow:inset 4px 0 0 var(--dtf-accent);background:#fff}
.dtf-option-input:focus-visible+.dtf-option-body{outline:3px solid #2c65d6;outline-offset:3px}
.dtf-option-title{font-weight:650;font-size:1rem;color:#151614}
.dtf-option-description{font-size:.9rem;line-height:1.5;color:#555b57}
.dtf-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.dtf-label{font-size:.91rem;font-weight:600;color:#252925}
.dtf-input{font:inherit;color:#151614;width:100%;padding:15px 16px;background:#fff;border:1px solid #bfc3bd;border-radius:0;min-height:52px;outline:none;box-shadow:none}
.dtf-input:focus{border-color:#111210;outline:2px solid #2c65d6;outline-offset:2px}
.dtf-input:invalid:not(:placeholder-shown){border-color:#b83939}
textarea.dtf-input{min-height:138px;resize:vertical}
.dtf-hint{font-size:.78rem;color:#626963;margin:0}
.dtf-summary{display:grid;grid-template-columns:minmax(110px,.36fr) minmax(0,1fr);gap:0 18px;margin:22px 0 28px;border-top:1px solid var(--dtf-line)}
.dtf-summary dt,.dtf-summary dd{font-size:.88rem;line-height:1.56;padding:12px 0;border-bottom:1px solid var(--dtf-line);margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.dtf-summary dt{color:#5c625d;font-weight:600}
.dtf-summary dd{color:#1b1f1c}
.dtf-consent{display:flex;align-items:flex-start;gap:12px;font-size:.87rem;line-height:1.58;color:#343a36;cursor:pointer}
.dtf-consent input{flex:none;width:19px;height:19px;margin:2px 0 0;accent-color:#111210}
.dtf-consent input:focus-visible{outline:3px solid #2c65d6;outline-offset:3px}
.dtf-consent a,.dtf-privacy-note a{color:#b82f38;text-decoration:underline;text-underline-offset:3px}
.dtf-privacy-note{font-size:.78rem;color:#5c625d;margin:10px 0 0 31px}
.dtf-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:clamp(28px,3vw,46px)}
.dtf-next,.dtf-back{font:600 .92rem/1.2 Inter,Arial,sans-serif;min-height:52px;padding:15px 25px;border-radius:0;cursor:pointer;transition:background-color .18s,color .18s,transform .18s}
.dtf-next{background:#111210;border:1px solid #111210;color:#fff;margin-left:auto;min-width:160px}
.dtf-next:hover{background:#343a36;transform:translateY(-2px)}
.dtf-back{background:transparent;border:1px solid #aeb3ac;color:#171b18}
.dtf-back:hover{background:#fff}
.dtf-next:focus-visible,.dtf-back:focus-visible{outline:3px solid #2c65d6;outline-offset:3px}
.dtf-next:disabled{opacity:.6;cursor:wait;transform:none}
.dtf-status{min-height:1.2em;margin:16px 0 0;color:#a12c34;font-size:.88rem;font-weight:600}
.dtf-success{font-size:1rem;line-height:1.65;color:#343a36;padding:20px 0;border-top:3px solid var(--dtf-accent)}
.dtf-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:850px){.dtf-shell{grid-template-columns:1fr;gap:24px}.dtf-title{max-width:18ch}.dtf-heading{padding:0}}
@media(max-width:580px){.dtf-shell{gap:20px}.dtf-panel{padding:24px 18px}.dtf-title{font-size:clamp(2.35rem,10vw,3.4rem);margin-bottom:15px}.dtf-option-grid{grid-template-columns:1fr}.dtf-option-body{padding:15px 17px}.dtf-summary{grid-template-columns:1fr;gap:0}.dtf-summary dt{padding-bottom:2px;border-bottom:0}.dtf-summary dd{padding-top:0}.dtf-actions{flex-wrap:wrap}.dtf-back,.dtf-next{flex:1;min-width:130px}}
@media(prefers-reduced-motion:reduce){.dtf-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.dtf-react-step{min-width:0}
.dtf-react .dtf-form>*{animation:none}
.dtf-react-step .dtf-step-title::after{content:"";display:block;width:38px;height:3px;background:var(--dtf-accent);margin-top:17px;transform-origin:left;animation:dtf-line-reveal .34s cubic-bezier(.2,.8,.2,1) both}
@keyframes dtf-line-reveal{from{transform:scaleX(.15);opacity:.25}to{transform:scaleX(1);opacity:1}}
.dtf-react .dtf-option-body{position:relative;overflow:hidden}
.dtf-react .dtf-option-body::after{content:"";position:absolute;right:20px;top:16px;width:8px;height:13px;border-right:2px solid #b82f38;border-bottom:2px solid #b82f38;opacity:0;transform:rotate(45deg) scale(.55);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}
.dtf-react .dtf-option-input:checked+.dtf-option-body{border-color:#d3454b;box-shadow:inset 4px 0 0 var(--dtf-accent),0 10px 28px rgba(211,69,75,.12)}
.dtf-react .dtf-option-input:checked+.dtf-option-body::after{opacity:1;transform:rotate(45deg) scale(1)}
.dtf-edit{display:inline-block;margin-left:8px;padding:2px 0;background:none;border:0;color:#a72b32;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:600 .78rem/1.4 Inter,Arial,sans-serif}
.dtf-edit:focus-visible{outline:3px solid #2c65d6;outline-offset:2px}
.dtf-skip{padding:12px 4px;background:none;border:0;color:#4b514d;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:600 .87rem/1.3 Inter,Arial,sans-serif}
.dtf-skip:focus-visible{outline:3px solid #2c65d6;outline-offset:2px}
.dtf-react .dtf-panel{position:relative;overflow:hidden;background:linear-gradient(142deg,#fff 0%,#f7f7f3 74%)}
.dtf-react .dtf-panel::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#ff5959 0%,#e9ae9d 34%,transparent 72%);pointer-events:none}
.dtf-complete{animation:dtf-appear .24s ease both}
@media(max-width:580px){.dtf-skip{order:3;width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.dtf-complete,.dtf-react-step .dtf-step-title::after{animation:none!important}.dtf-react .dtf-option-body::after{transition:none!important}}
.dtf-react{position:relative;isolation:isolate;overflow:hidden;max-width:1360px;padding:clamp(30px,5vw,74px);gap:clamp(28px,5vw,76px);border:1px solid #f0eee9;border-radius:36px;background:#fcfbfa;box-shadow:0 25px 75px rgba(42,42,51,.06)}
.dtf-react::before{content:"";position:absolute;inset:-15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 24% 38% at 18% 75%,rgba(119,221,207,.36),transparent 75%),radial-gradient(ellipse 28% 35% at 47% 28%,rgba(222,174,232,.31),transparent 75%),radial-gradient(ellipse 27% 42% at 86% 74%,rgba(251,177,147,.34),transparent 78%),radial-gradient(ellipse 22% 22% at 74% 18%,rgba(173,209,240,.25),transparent 75%);filter:blur(18px)}
.dtf-ambient{position:absolute;inset:-4%;width:108%;height:108%;z-index:-1;pointer-events:none;filter:blur(7px);opacity:.78}
.dtf-react .dtf-heading,.dtf-react .dtf-panel{position:relative;z-index:1}
.dtf-react .dtf-heading{align-self:center;padding:clamp(12px,3vw,42px) 0}
.dtf-react .dtf-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:27px;color:#6d4058}
.dtf-react .dtf-eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#74cfc8,#d68fc9,#f2a17f);box-shadow:0 0 0 5px rgba(255,255,255,.7)}
.dtf-react .dtf-title{max-width:11ch;color:#101113;font-size:clamp(2.8rem,4.4vw,5rem);line-height:1.03;text-wrap:balance}
.dtf-react .dtf-intro{color:#33383a;max-width:34ch}
.dtf-react .dtf-panel{background:rgba(255,255,255,.67);border:1px solid rgba(255,255,255,.91);border-radius:30px;box-shadow:0 25px 70px rgba(54,53,75,.11),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(27px) saturate(1.25);-webkit-backdrop-filter:blur(27px) saturate(1.25);overflow:hidden}
.dtf-react .dtf-panel::before{height:4px;background:linear-gradient(90deg,#79cfca 3%,#c7a7dd 37%,#f5aac0 68%,#f5ae87 96%)}
.dtf-react .dtf-progress{margin-bottom:clamp(30px,3vw,44px)}
.dtf-react .dtf-progress-track{height:7px;border-radius:999px;background:rgba(63,66,73,.1)}
.dtf-react .dtf-progress-fill{border-radius:999px;background:linear-gradient(90deg,#69c9c2 0%,#c59edb 45%,#f59baf 75%,#f2ae85 100%);box-shadow:0 0 13px rgba(224,135,175,.22)}
.dtf-react .dtf-option-grid{gap:13px}
.dtf-react .dtf-option-body{border-radius:17px;border:1px solid rgba(169,174,185,.45);background:rgba(255,255,255,.61);box-shadow:0 5px 18px rgba(74,70,89,.035);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:box-shadow .22s ease,border-color .22s ease,background-color .22s ease}
.dtf-react .dtf-option:hover .dtf-option-body{border-color:#aa82b0;box-shadow:0 9px 26px rgba(93,70,99,.12);background:rgba(255,255,255,.8)}
.dtf-react .dtf-option-input:checked+.dtf-option-body{border-color:#a678b4;background:linear-gradient(130deg,rgba(223,247,243,.92),rgba(248,222,238,.82) 65%,rgba(255,238,223,.85));box-shadow:0 8px 27px rgba(143,105,151,.17),inset 0 0 0 1px rgba(255,255,255,.8)}
.dtf-react .dtf-option-input:checked+.dtf-option-body::after{border-color:#7f508f}
.dtf-react .dtf-input{border-radius:13px;border-color:#bcc1c6;background:rgba(255,255,255,.84)}
.dtf-react .dtf-next{border-radius:999px;background:#111214;border-color:#111214;padding-inline:29px;box-shadow:0 10px 22px rgba(21,22,27,.15)}
.dtf-react .dtf-next:hover{background:#292930;box-shadow:0 13px 25px rgba(21,22,27,.22)}
.dtf-react .dtf-back{border-radius:999px;border-color:rgba(82,83,91,.42);background:rgba(255,255,255,.55);padding-inline:25px}
.dtf-react .dtf-back:hover{background:rgba(255,255,255,.9)}
@media(max-width:850px){.dtf-react{padding:clamp(23px,5vw,45px);gap:20px}.dtf-react .dtf-heading{padding:0}.dtf-react .dtf-title{max-width:20ch;margin-bottom:16px}}
@media(max-width:580px){.dtf-react{border-radius:27px;padding:26px 16px}.dtf-react .dtf-panel{border-radius:23px;padding:25px 18px}.dtf-react .dtf-title{font-size:clamp(2.35rem,10vw,3.4rem)}.dtf-react .dtf-option-body{border-radius:14px}}
@media(prefers-reduced-transparency:reduce){.dtf-react .dtf-panel,.dtf-react .dtf-option-body{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}
