.three-de-form-wrap {
    --three-de-primary: #f06424;
    --three-de-primary-dark: #d94c13;
    --three-de-navy: #17324d;
    --three-de-surface: #fff;
    --three-de-radius: 22px;
    width: 100%;
    max-width: 900px;
    margin: 16px auto;
    color: #26384a;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
}

.three-de-form-wrap * { box-sizing: border-box; }
.three-de-form-card { overflow: hidden; border: 1px solid rgba(23,50,77,.1); border-radius: var(--three-de-radius); background: var(--three-de-surface); box-shadow: 0 24px 70px rgba(23,50,77,.14), 0 4px 16px rgba(23,50,77,.06); }
.three-de-form-header { position: relative; overflow: hidden; padding: 20px 28px 16px; color: #fff; background: radial-gradient(circle at 92% 10%,rgba(255,255,255,.18),transparent 28%),radial-gradient(circle at 3% 120%,rgba(240,100,36,.5),transparent 35%),linear-gradient(135deg,var(--three-de-navy),#234f72 68%,#2f678a); }
.three-de-form-header::after { content: ""; position: absolute; top: -70px; right: -55px; width: 230px; height: 230px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.025); pointer-events: none; }
.three-de-form-brand { position: relative; z-index: 1; display: flex; align-items: center; gap: 13px; padding-right: 230px; }
.three-de-form-brand img { width: auto; max-width: 140px; height: 48px; object-fit: contain; }
.three-de-form-mark { display: inline-grid; flex: 0 0 48px; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 14px; color: #fff; background: linear-gradient(145deg,var(--three-de-primary),var(--three-de-primary-dark)); box-shadow: 0 8px 20px rgba(0,0,0,.2); font-size: 14px; font-weight: 900; letter-spacing: -.5px; }
.three-de-form-eyebrow { display: block; margin-bottom: 2px; color: rgba(255,255,255,.7); font-size: 9px; font-weight: 800; letter-spacing: 1.1px; text-transform: uppercase; }
.three-de-form-header h2 { margin: 0; color: #fff; font-size: clamp(22px,3.2vw,30px); font-weight: 800; letter-spacing: -.6px; line-height: 1.12; }
.three-de-header-art { position: absolute; z-index: 3; top: 12px; right: 25px; display: flex; width: 195px; align-items: flex-end; flex-direction: column; gap: 4px; }
.three-de-header-art img { display: block; width: auto; max-width: 190px; height: 72px; object-fit: contain; object-position: right center; filter: drop-shadow(0 7px 12px rgba(0,0,0,.22)); }
.three-de-destination-badge { display: inline-flex; padding: 4px 9px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #fff; background: rgba(10,33,52,.28); backdrop-filter: blur(8px); font-size: 9px; font-weight: 750; }
.three-de-form-intro { position: relative; z-index: 1; max-width: 620px; margin: 10px 210px 0 0; color: rgba(255,255,255,.82); font-size: 12px; }
.three-de-trust-bar { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.78); font-size: 10px; font-weight: 650; }
.three-de-trust-bar span { display: inline-flex; align-items: center; gap: 7px; }
.three-de-trust-bar i { display: inline-grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: #fff; background: rgba(255,255,255,.16); font-style: normal; font-size: 10px; }
.three-de-form-body { padding: 16px 28px 20px; }
.three-de-form { display: block; }
.three-de-step-progress { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 13px; }
.three-de-step-progress::before { content:""; position:absolute; z-index:0; top:15px; right:16%; left:16%; height:2px; background:#e3e9ee; }
.three-de-step-progress button { position: relative; z-index: 1; display: flex; min-width: 0; align-items: center; justify-content: center; gap: 7px; padding: 0; border: 0; color: #8b98a4; background: transparent; font: inherit; font-size: 10px; font-weight: 750; cursor: pointer; }
.three-de-step-progress button:disabled { cursor: default; }
.three-de-step-progress button>span { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; border: 2px solid #e0e7ed; border-radius: 50%; color: #7a8997; background: #fff; font-size: 10px; transition: border-color .18s ease,color .18s ease,background .18s ease; }
.three-de-step-progress button.is-active { color: var(--three-de-navy); }
.three-de-step-progress button.is-active>span { border-color: var(--three-de-primary); color: #fff; background: var(--three-de-primary); box-shadow: 0 5px 12px color-mix(in srgb,var(--three-de-primary) 24%,transparent); }
.three-de-step-progress button.is-complete>span { border-color: #98c9a9; color: #267244; background: #eaf7ee; }
.three-de-form-step { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 18px; }
.three-de-form.is-enhanced .three-de-form-step[hidden] { display: none; }
.three-de-section-heading { grid-column: 1/-1; display: flex; align-items: center; gap: 10px; margin: 0; padding: 0 0 10px; border-bottom: 1px solid #e8edf2; }
.three-de-section-heading>span { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(145deg,var(--three-de-primary),var(--three-de-primary-dark)); box-shadow: 0 6px 13px color-mix(in srgb,var(--three-de-primary) 25%,transparent); font-size: 11px; font-weight: 800; }
.three-de-section-heading h3 { margin: 0; color: var(--three-de-navy); font-size: 14px; font-weight: 800; }
.three-de-section-heading p { margin: 1px 0 0; color: #758291; font-size: 10px; }
.three-de-field { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.three-de-field>label,.three-de-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--three-de-navy); font-size: 11px; font-weight: 750; }
.three-de-required { padding: 3px 7px; border-radius: 999px; color: #b44220; background: #fff0ea; font-size: 9px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.three-de-field input:not([type=checkbox]),.three-de-field select,.three-de-field textarea { width: 100%; min-height: 42px; padding: 9px 12px; border: 1px solid #d7dfe7; border-radius: 9px; outline: none; color: #223548; background: #fbfcfd; box-shadow: 0 1px 2px rgba(23,50,77,.02); font: inherit; font-size: 13px; transition: border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease; }
.three-de-field input:hover,.three-de-field select:hover,.three-de-field textarea:hover { border-color: #b7c4d0; background: #fff; }
.three-de-field input:focus,.three-de-field select:focus,.three-de-field textarea:focus { border-color: var(--three-de-primary); background: #fff; box-shadow: 0 0 0 4px color-mix(in srgb,var(--three-de-primary) 14%,transparent); }
.three-de-field.has-error input,.three-de-field.has-error select,.three-de-field.has-error textarea { border-color: #c54a25; background: #fff8f5; box-shadow: 0 0 0 3px rgba(197,74,37,.1); }
.three-de-field textarea { min-height: 110px; resize: vertical; }
.three-de-description { margin: 0; color: #7a8794; font-size: 9px; line-height: 1.35; }
.three-de-key-address_line1,.three-de-field-checkbox,.three-de-field-textarea { grid-column: 1/-1; }
.three-de-field-checkbox { padding: 10px 13px; border: 1px solid #dfe6ec; border-radius: 10px; background: #f8fafc; }
.three-de-checkbox { display: flex!important; justify-content: flex-start!important; gap: 10px!important; cursor: pointer; color: #445669!important; font-weight: 600!important; }
.three-de-checkbox input { width: 20px; height: 20px; margin: 0; accent-color: var(--three-de-primary); }
.three-de-submit-row { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 12px; padding-top: 25px; border-top: 1px solid #e8edf2; }
.three-de-submit-row>div { display: flex; flex-direction: column; }
.three-de-submit-row strong { color: var(--three-de-navy); font-size: 14px; }
.three-de-submit-row>div span { color: #7a8794; font-size: 11px; }
.three-de-step-actions { grid-column: 1/-1; display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 2px; padding-top: 12px; border-top: 1px solid #e8edf2; }
.three-de-step-actions.is-final { justify-content: space-between; }
.three-de-secure-note { display: flex; margin-right: auto; flex-direction: column; }
.three-de-secure-note strong { color: var(--three-de-navy); font-size: 11px; }
.three-de-secure-note span { color: #7a8794; font-size: 9px; }
.three-de-next-button,.three-de-step-actions button[type=submit],.three-de-destination-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 11px; padding: 9px 19px; border: 0; border-radius: 10px; color: #fff; background: linear-gradient(135deg,var(--three-de-primary),var(--three-de-primary-dark)); box-shadow: 0 8px 19px color-mix(in srgb,var(--three-de-primary) 28%,transparent); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; transition: transform .18s ease,box-shadow .18s ease,filter .18s ease; }
.three-de-back-button { min-height: 42px; padding: 8px 15px; border: 1px solid #d8e0e7; border-radius: 10px; color: #52677a; background: #fff; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; }
.three-de-back-button:hover { border-color: #b8c5d0; color: var(--three-de-navy); background: #f8fafc; }
.three-de-submit-row button span { font-size: 20px; line-height: 1; transition: transform .18s ease; }
.three-de-submit-row button:hover,.three-de-next-button:hover,.three-de-step-actions button[type=submit]:hover,.three-de-destination-button:hover { transform: translateY(-1px); box-shadow: 0 12px 24px color-mix(in srgb,var(--three-de-primary) 34%,transparent); filter: saturate(1.08); }
.three-de-submit-row button:hover span { transform: translateX(3px); }
.three-de-submit-row button:disabled,.three-de-step-actions button[type=submit]:disabled { opacity: .65; cursor: wait; transform: none; }
.three-de-form-errors,.three-de-form-success { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 24px; padding: 16px 18px; border-radius: 13px; }
.three-de-form-errors { border: 1px solid #f0c5b8; color: #7e2c17; background: #fff5f1; }
.three-de-form-success { border: 1px solid #add9bc; color: #196237; background: #f0fbf4; }
.three-de-alert-icon,.three-de-form-success>span { display: grid; flex: 0 0 27px; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: #fff; background: #c54a25; font-weight: 900; }
.three-de-form-success>span { background: #258b4a; }
.three-de-form-errors strong,.three-de-form-success strong { display: block; margin-bottom: 3px; font-size: 14px; }
.three-de-form-errors ul { margin: 6px 0 0 18px; padding: 0; }
.three-de-form-success p { margin: 2px 0 0; }
.three-de-honeypot { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.three-de-destination-form[hidden] { display: none; }
.three-de-destination-form { margin-top: 22px; }

@media (max-width:720px) {
    .three-de-form-wrap { margin: 10px auto; }
    .three-de-form-header { padding: 18px 20px 15px; }
    .three-de-form-brand { align-items: flex-start; padding-right: 0; }
    .three-de-form-mark { flex-basis: 44px; width: 44px; height: 44px; border-radius: 13px; }
    .three-de-header-art { position: relative; top: auto; right: auto; width: 100%; align-items: center; justify-content: space-between; flex-direction: row; margin-top: 10px; }
    .three-de-header-art img { max-width: 155px; height: 55px; object-position: left center; }
    .three-de-destination-badge { display: inline-flex; }
    .three-de-form-intro { margin-right: 0; }
    .three-de-trust-bar { gap: 8px 15px; }
    .three-de-form-body { padding: 15px 18px 18px; }
    .three-de-form-step { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .three-de-section-heading,.three-de-submit-row,.three-de-step-actions { grid-column: 1/-1; }
    .three-de-step-progress button { flex-direction: column; gap: 3px; font-size: 8px; }
    .three-de-step-progress::before { top: 15px; }
    .three-de-submit-row { align-items: stretch; flex-direction: column; }
    .three-de-submit-row button { width: 100%; }
    .three-de-step-actions.is-final { align-items: stretch; flex-wrap: wrap; }
    .three-de-secure-note { width: 100%; }
}

@media (max-width:380px) {
    .three-de-form-step { grid-template-columns: 1fr; }
    .three-de-field,.three-de-section-heading,.three-de-submit-row,.three-de-step-actions { grid-column: 1; }
}

@media (prefers-reduced-motion:reduce) {
    .three-de-form-wrap *,.three-de-form-wrap *::before,.three-de-form-wrap *::after { scroll-behavior: auto!important; transition: none!important; }
}
