:root { --ink:#071b38; --muted:#66758b; --blue:#0756bf; --blue2:#1267d7; --ice:#edf5ff; --orange:#ff7440; --green:#16a36a; --line:#dce5ef; --paper:#fff; --soft:#f7f8fa; --display:"Manrope",sans-serif; --body:"DM Sans",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:var(--body); -webkit-font-smoothing:antialiased; }
[hidden] { display:none!important; }
button,input,select { font:inherit; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:100; padding:12px 18px; border-radius:10px; background:var(--ink); color:#fff; }
.skip-link:focus { top:16px; }
.application-header { position:relative; z-index:10; width:min(calc(100% - 72px),1460px); height:98px; margin:32px auto 0; padding:0 30px; display:flex; align-items:center; gap:42px; border:1px solid rgba(7,27,56,.04); border-radius:28px; background:#fff; box-shadow:0 18px 50px rgba(7,27,56,.1); }
.application-brand { width:220px; }
.application-brand img { width:100%; height:54px; object-fit:contain; object-position:left center; }
.application-header nav { margin-left:auto; display:flex; gap:34px; font-weight:600; font-size:14px; }
.application-header nav a:hover { color:var(--blue); }
.header-apply { min-height:52px; padding:0 26px; display:inline-flex; align-items:center; border-radius:999px; background:linear-gradient(135deg,var(--blue),var(--blue2)); color:#fff; font-family:var(--display); font-size:14px; font-weight:800; box-shadow:0 12px 25px rgba(7,86,191,.2); }
.application-main { min-height:900px; padding:82px 24px 70px; background:radial-gradient(circle at 50% 0,rgba(7,86,191,.045),transparent 36%),#fff; }
.application-intro { max-width:980px; margin:0 auto 44px; text-align:center; scroll-margin-top:110px; }
.application-intro>p { margin:0 0 8px; color:var(--orange); font-size:14px; font-weight:800; letter-spacing:.12em; }
.application-intro h1 { margin:0; font-family:var(--display); font-size:clamp(40px,5vw,66px); letter-spacing:-.05em; line-height:1.02; }
.application-progress { position:relative; max-width:800px; margin:26px auto 0; }
.progress-track { height:26px; overflow:hidden; border:1px solid #c8d1dc; border-radius:999px; background:#fff; }
.progress-track span { display:block; width:10%; height:100%; background:linear-gradient(90deg,var(--blue),var(--blue2)); transition:width .25s ease; }
.application-progress>strong { position:absolute; inset:0; display:grid; place-items:center; color:var(--ink); font-size:13px; font-weight:600; }
#creditland-application { width:min(100%,900px); margin:0 auto; }
.application-step { display:none; min-height:430px; margin:0; padding:0; border:0; text-align:center; }
.application-step.is-active { display:block; animation:enter .22s ease both; }
.application-step legend { width:100%; padding:0; font-family:var(--display); font-size:clamp(28px,3.4vw,42px); font-weight:800; letter-spacing:-.04em; }
.application-step legend:focus { outline:0; }
.step-intro { margin:10px auto 26px; color:var(--muted); font-size:15px; }
.picture-choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.picture-choice { position:relative; min-height:280px; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; border:2px solid transparent; border-radius:20px; background:#f7f7f7; cursor:pointer; transition:border .2s,transform .2s,box-shadow .2s; }
.picture-choice--wide { grid-column:1/-1; min-height:130px; flex-direction:row; justify-content:center; gap:28px; }
.picture-choice input,.answer-tile input { position:absolute; opacity:0; pointer-events:none; }
.vehicle-picture { width:100%; flex:1; min-height:210px; display:grid; place-items:center; overflow:hidden; }
.vehicle-picture img { width:100%; height:220px; padding:14px 20px 0; object-fit:contain; mix-blend-mode:multiply; }
.vehicle-picture i { color:#aab8c8; font-family:var(--display); font-size:38px; font-style:normal; font-weight:800; letter-spacing:.15em; }
.vehicle-picture:has(img:not([hidden])) i { display:none; }
.vehicle-picture--question { width:82px; min-height:82px; flex:0 0 82px; border-radius:50%; background:var(--ice); }
.vehicle-picture--question i { color:var(--blue); font-size:32px; }
.picture-choice>strong { padding:16px 20px 20px; font-family:var(--display); font-size:20px; }
.picture-choice:hover,.answer-tile:hover { transform:translateY(-3px); box-shadow:0 15px 35px rgba(7,27,56,.1); }
.picture-choice:has(input:checked),.answer-tile:has(input:checked) { border-color:var(--blue); box-shadow:0 0 0 4px rgba(7,86,191,.09); }
.answer-tile:has(input:checked) { border-color:#f2b097; background:#fff7f3; box-shadow:0 0 0 4px rgba(255,116,64,.08); }
.answer-tile:has(input:checked)>strong { color:#d9663c; }
.picture-choice:has(input:checked)::after,.answer-tile:has(input:checked)::after { content:"✓"; position:absolute; top:15px; right:15px; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--blue); color:#fff; font-weight:900; }
.answer-grid { max-width:700px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:14px; }
.answer-tile { position:relative; min-height:92px; padding:20px 56px; display:flex; align-items:center; justify-content:center; border:2px solid transparent; border-radius:18px; background:var(--soft); text-align:center; cursor:pointer; transition:border .2s,transform .2s,box-shadow .2s,background .2s; }
.answer-tile--wide { grid-column:auto; }
.answer-tile>span { display:none; }
.answer-tile>strong { font-family:var(--display); font-size:19px; }
.question-note { max-width:760px; margin:18px auto 0; padding:13px 16px; border-left:3px solid var(--orange); border-radius:0 12px 12px 0; background:#fff5f0; color:#5f4b43; font-size:13px; line-height:1.55; text-align:left; }
.field-grid { max-width:760px; margin:26px auto 0; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; text-align:left; }
.field-grid--single { max-width:620px; grid-template-columns:1fr; }
.field { display:grid; gap:7px; color:var(--ink); font-size:13px; font-weight:700; }
.field--full { grid-column:1/-1; }
.field span small { color:var(--muted); font-weight:500; }
.field input,.field select { width:100%; height:58px; padding:0 16px; border:1px solid #cdd7e3; border-radius:10px; background:#fff; color:var(--ink); outline:none; }
.field input:focus,.field select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(7,86,191,.11); }
.field.has-error input,.field.has-error select,.verification-code-wrap.has-error input { border:2px solid #cf2e2e; background:#fffafa; box-shadow:0 0 0 5px rgba(207,46,46,.1); }
.dob-selector { max-width:720px; margin:30px auto 0; padding:26px; display:grid; grid-template-columns:1.45fr .8fr 1fr; gap:16px; border:1px solid #dbe6f2; border-radius:20px; background:linear-gradient(145deg,#f8fbff,#fff); box-shadow:0 16px 40px rgba(7,27,56,.07); text-align:left; }
.dob-selector select { height:64px; padding:0 46px 0 18px; appearance:none; background-color:#fff; background-image:linear-gradient(45deg,transparent 50%,var(--blue) 50%),linear-gradient(135deg,var(--blue) 50%,transparent 50%); background-position:calc(100% - 20px) 28px,calc(100% - 14px) 28px; background-size:6px 6px,6px 6px; background-repeat:no-repeat; font-family:var(--display); font-size:17px; font-weight:700; cursor:pointer; }
.address-autocomplete { position:relative; }
.address-suggestions { position:absolute; z-index:30; top:calc(100% + 7px); left:0; right:0; max-height:290px; margin:0; padding:7px; overflow:auto; list-style:none; border:1px solid #cbd7e6; border-radius:14px; background:#fff; box-shadow:0 18px 46px rgba(7,27,56,.16); }
.address-suggestions li { margin:0; padding:0; }
.address-suggestions button { width:100%; min-height:48px; padding:10px 12px; border:0; border-radius:9px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; }
.address-suggestions button:hover,.address-suggestions button:focus,.address-suggestions button.is-active { outline:0; background:var(--ice); color:var(--blue); }
.address-suggestions .google-attribution { padding:7px 11px 4px; color:var(--muted); font-size:10px; font-weight:600; text-align:right; }
.field-help { color:var(--muted); font-size:11px; font-weight:500; }
.manual-address { margin-top:4px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.manual-address summary { padding:14px 16px; color:var(--blue); font-size:13px; font-weight:700; cursor:pointer; }
.manual-address[open] { border-color:#b9cde6; background:#f8fbff; box-shadow:0 10px 28px rgba(7,86,191,.07); }
.manual-address[open] summary { border-bottom:1px solid #dbe6f2; }
.manual-address>.field-grid { margin:0; padding:18px 16px; }
.field-error { display:block; margin-top:9px; color:#9f1717; font-size:13px; font-weight:800; text-align:left; }
.form-alert { max-width:760px; margin:0 auto 20px; padding:15px 17px; border:2px solid #e6a3a3; border-radius:12px; background:#fff1f1; color:#821818; box-shadow:0 10px 28px rgba(153,27,27,.12); font-size:14px; font-weight:800; }
.picture-choice-grid.has-error,.answer-grid.has-error { padding:10px; border:2px solid #cf2e2e; border-radius:22px; background:#fff5f5; box-shadow:0 0 0 5px rgba(207,46,46,.08); }
.honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.application-actions { max-width:760px; margin:30px auto 0; display:flex; align-items:center; justify-content:center; gap:12px; }
.back-button,.continue-button,.submit-button { min-height:52px; padding:0 28px; border:0; border-radius:999px; font-family:var(--display); font-weight:800; cursor:pointer; }
.back-button { margin-right:auto; background:#eef2f7; color:var(--ink); }
.continue-button,.submit-button { min-width:190px; background:linear-gradient(135deg,var(--blue),var(--blue2)); color:#fff; box-shadow:0 12px 25px rgba(7,86,191,.18); }
.submit-button { background:linear-gradient(135deg,#f06734,var(--orange)); }
.continue-button:disabled,.submit-button:disabled { opacity:.6; cursor:wait; }
.review-panel { max-width:760px; margin:24px auto; padding:20px; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; border-radius:15px; background:var(--ice); text-align:left; }
.review-panel div { display:grid; gap:2px; }
.review-panel small { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.review-panel strong { font-size:14px; }
.consent-list { max-width:760px; margin:0 auto; display:grid; gap:13px; text-align:left; }
.consent-list label { display:flex; gap:11px; color:#526178; font-size:12px; line-height:1.5; }
.consent-list input { flex:0 0 auto; width:18px; height:18px; margin-top:2px; accent-color:var(--blue); }
.consent-list strong { color:var(--ink); }
.consent-list .consent-primary { padding:15px 16px; border:1px solid #c9daef; border-radius:13px; background:#f7fbff; color:#41536c; }
.consent-list .consent-primary.has-error { border:2px solid #cf2e2e; background:#fff1f1; box-shadow:0 0 0 5px rgba(207,46,46,.1); color:#681d1d; }
.consent-list .consent-primary.has-error input { outline:3px solid rgba(207,46,46,.25); outline-offset:2px; }
.consent-list .consent-optional { padding:0 6px; }
.verification-preview { max-width:760px; margin:12px auto 0; color:var(--blue); font-size:12px; font-weight:700; text-align:left; }
.legal-note { max-width:760px; margin:16px auto 0; color:var(--muted); font-size:11px; }
.identity-choice { max-width:760px; margin:28px auto; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.identity-option { min-height:180px; padding:28px; display:grid; justify-items:center; gap:8px; border:2px solid transparent; border-radius:18px; background:var(--soft); color:var(--ink); cursor:pointer; }
.identity-option>span { width:50px; height:50px; display:grid; place-items:center; border-radius:50%; background:var(--ice); color:var(--blue); font-size:21px; font-weight:900; }
.identity-option strong { font-family:var(--display); font-size:19px; }
.identity-option small { color:var(--muted); }
.identity-option:hover,.identity-option:focus-visible { border-color:#adcaf0; outline:none; }
.identity-option.is-selected { border-color:var(--blue); background:var(--ice); box-shadow:0 12px 30px rgba(7,86,191,.12); }
.identity-selection-status { max-width:760px; margin:0 auto 18px; padding:13px 16px; border-radius:12px; background:#eef8f3; color:#245f49; font-size:13px; font-weight:600; }
.identity-fields { max-width:760px; margin:24px auto 0; }
.identity-warning { padding:15px 18px; display:flex; justify-content:center; gap:10px; border-radius:12px; background:#eef8f3; color:#346753; font-size:12px; }
.identity-warning strong { color:#146541; }
.upload-field input { height:auto; min-height:58px; padding:14px; }
.text-button { margin-top:16px; border:0; background:none; color:var(--blue); font-weight:700; cursor:pointer; }
.verification-step,.licence-step { min-height:480px; margin:0; padding:0; border:0; text-align:center; animation:enter .22s ease both; scroll-margin-top:110px; }
.verification-step legend,.licence-step legend { width:100%; padding:0; font-family:var(--display); font-size:clamp(28px,3.4vw,42px); font-weight:800; letter-spacing:-.04em; }
.verification-step legend:focus,.licence-step legend:focus { outline:0; }
.verification-code-wrap { max-width:360px; margin:28px auto 0; }
.verification-code-wrap input { height:70px; color:var(--ink); font-family:var(--display); font-size:30px; font-weight:800; letter-spacing:.25em; text-align:center; }
.verification-code-wrap>.field-help { display:block; margin-top:9px; padding:8px 10px; border-radius:9px; background:var(--ice); color:var(--blue); font-size:12px; }
.verification-tools { display:flex; justify-content:center; gap:30px; margin:4px 0 28px; }
.verification-tools .text-button { min-height:44px; margin:0; }
.verification-tools .text-button:disabled { color:#8b98a9; cursor:wait; }
.optional-licence { max-width:620px; margin:0 auto 24px; padding:25px; border:1px solid #d8e4f1; border-radius:18px; background:linear-gradient(145deg,#f8fbff,#fff); text-align:left; box-shadow:0 14px 32px rgba(7,27,56,.06); }
.optional-licence h2 { margin:7px 0 4px; font-family:var(--display); font-size:21px; }
.optional-licence>p { margin:0 0 17px; color:var(--muted); font-size:13px; line-height:1.55; }
.optional-badge { color:var(--orange); font-size:10px; font-weight:800; letter-spacing:.12em; }
.optional-licence .upload-field { max-width:none; }
.verification-submit { min-width:290px; }
.licence-step>.optional-badge { display:inline-block; margin:12px 0 0; padding:7px 11px; border-radius:999px; background:#fff0e8; }
.licence-actions { max-width:620px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.licence-actions .text-button { margin:0; }
.skip-licence { display:block; margin:20px auto 0; text-decoration:underline; text-underline-offset:4px; }
.application-trust { width:min(100%,980px); margin:76px auto 0; padding:42px; border-radius:24px; background:#071d3e; color:#fff; text-align:center; }
.application-trust h2 { margin:0 0 20px; font-family:var(--display); font-size:28px; }
.application-trust div { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
.application-trust div span { padding:8px 14px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#d5e3f5; font-size:12px; }
.application-trust p { margin:23px 0 0; color:#c5d5e9; font-size:13px; }
.application-trust .security-seals { margin:28px auto 12px; padding:18px 22px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; gap:22px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:#fff; }
.security-seals img { width:100%; height:72px; object-fit:contain; }
.application-trust .security-status { display:block; color:#c5d5e9; font-size:11px; line-height:1.5; }
.application-success { max-width:820px; margin:0 auto; padding:70px 25px; text-align:center; scroll-margin-top:90px; }
.success-mark { width:70px; height:70px; margin:0 auto 20px; display:grid; place-items:center; border-radius:50%; background:#e6f8f1; color:var(--green); font-size:34px; font-weight:900; }
.application-success>p { color:var(--orange); font-weight:800; letter-spacing:.12em; }
.application-success h2 { margin:12px 0; font-family:var(--display); font-size:42px; }
.application-success>span { color:var(--muted); }
.application-success>strong { display:block; margin:24px 0; color:var(--blue); font-size:22px; }
.application-success a { display:inline-flex; margin:5px; padding:13px 20px; border-radius:999px; background:var(--blue); color:#fff; font-weight:700; }
.post-submit-licence { max-width:650px; margin:34px auto 26px; padding:28px; border:1px solid #d8e4f1; border-radius:22px; background:linear-gradient(145deg,#f7faff,#fff); text-align:left; box-shadow:0 16px 38px rgba(7,29,62,.08); }
.post-submit-licence .optional-badge { display:inline-flex; padding:6px 10px; border-radius:999px; background:#fff0e8; color:#b94c1a; font-size:11px; font-weight:800; letter-spacing:.1em; }
.post-submit-licence h3 { margin:12px 0 7px; font-family:var(--display); font-size:24px; letter-spacing:-.025em; }
.post-submit-licence>p { margin:0 0 20px; color:var(--muted); font-size:14px; line-height:1.6; }
.post-submit-licence .upload-field { max-width:none; }
.post-submit-actions { display:flex; align-items:center; gap:18px; margin-top:20px; }
.post-submit-actions .text-button { margin:0; }
.licence-uploaded { max-width:650px; margin:32px auto 25px; padding:22px; display:flex; align-items:center; gap:16px; border:1px solid #bde5d4; border-radius:20px; background:#f0fbf6; text-align:left; }
.licence-uploaded>span { flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#d8f4e8; color:var(--green); font-size:22px; font-weight:900; }
.licence-uploaded strong { display:block; margin:0 0 3px; color:#0a533a; font-size:16px; }
.licence-uploaded p { margin:0; color:#477060; font-size:13px; }
.success-links { margin-top:23px; }
footer { padding:38px max(36px,calc((100% - 1400px)/2)); display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
footer div { display:flex; align-items:center; gap:20px; }
footer img { width:170px; }
@keyframes enter { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
@media (max-width:900px) { .application-header nav{display:none}.application-header{width:calc(100% - 32px);margin-top:16px}.application-main{padding-top:62px} }
@media (max-width:650px) {
  .application-header{width:calc(100% - 20px);height:62px;margin-top:10px;padding:0 16px;justify-content:center;border-radius:17px}.application-brand{width:150px}.application-brand img{height:42px;object-position:center}.header-apply{display:none}
  .application-main{min-height:0;padding:24px 12px 42px}.application-intro>p{margin-bottom:5px;font-size:9px}.application-intro h1{font-size:27px;line-height:1.08}.application-intro{margin-bottom:22px}.application-progress{margin-top:14px}.progress-track{height:22px}.application-progress>strong{font-size:11px}
  #creditland-application{min-height:calc(100svh - 196px)}.application-step,.verification-step,.licence-step{min-height:0}.application-step legend,.verification-step legend,.licence-step legend{font-size:26px;line-height:1.12}.step-intro{margin:7px auto 16px;font-size:13px;line-height:1.4}
  .picture-choice-grid,.answer-grid,.field-grid,.identity-choice{grid-template-columns:1fr}.picture-choice--wide,.answer-tile--wide,.field--full{grid-column:auto}
  .picture-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.picture-choice{min-height:138px;border-radius:15px}.vehicle-picture{min-height:92px}.vehicle-picture img{height:100px;padding:5px 7px 0}.picture-choice--wide{min-height:100px;flex-direction:row}.picture-choice>strong{padding:9px 10px 12px;font-size:16px}
  .answer-grid{grid-template-columns:1fr;gap:9px}.answer-tile{min-height:64px;padding:12px 42px;border-radius:14px}.answer-tile--wide{grid-column:auto}.answer-tile>strong{font-size:16px;line-height:1.25}.field-grid{gap:11px;margin-top:17px}.field input,.field select{height:54px;font-size:16px}.field-help{font-size:12px}.question-note{margin-top:13px;padding:10px 12px;font-size:12px;line-height:1.45}
  .application-actions{position:sticky;z-index:20;bottom:0;margin-top:18px;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.back-button,.continue-button,.submit-button{min-height:50px;padding:0 21px}.continue-button{min-width:160px}
  .dob-selector{grid-template-columns:1fr;padding:18px}.dob-selector .field:first-child{grid-column:auto}.consent-list .consent-primary{padding:12px}.verification-preview{text-align:center}.review-panel{grid-template-columns:1fr}.identity-warning{display:grid}.verification-tools{gap:10px}.optional-licence{padding:20px}.verification-submit{width:100%;min-width:0}.licence-actions{display:grid}.licence-actions .text-button{order:2}.application-success{padding:38px 5px}.application-success h2{font-size:31px}.post-submit-licence{padding:20px 16px}.post-submit-actions{display:grid}.post-submit-actions .submit-button{width:100%}.post-submit-actions .text-button{justify-self:center}.licence-uploaded{padding:17px}.application-trust{margin-top:45px;padding:30px 20px}.application-trust .security-seals{grid-template-columns:1fr 1fr}.security-seals img{height:58px}footer{display:grid;gap:20px;padding:28px 20px}footer div{display:grid}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
