.upn-tuning-widget{--upn-primary:#d900f5;--upn-primary-hover:#b300ca;--upn-accent:#111;--upn-text:#1d1d1f;--upn-muted:#6e6e73;--upn-surface:#fff;--upn-overlay:rgba(10,10,12,.72);--upn-radius:20px;--upn-bar-max:620px;--upn-bar-border:3px;--upn-bar-padding:6px;--upn-logo-w:58px;--upn-logo-h:52px;--upn-input-size:18px;--upn-button-size:15px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--upn-text)}
.upn-tuning-widget *{box-sizing:border-box}.upn-reg-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:var(--upn-surface);border:var(--upn-bar-border) solid var(--upn-primary);border-radius:calc(var(--upn-radius) + 8px);padding:var(--upn-bar-padding);box-shadow:0 18px 50px rgba(0,0,0,.18);width:min(100%,var(--upn-bar-max));max-width:var(--upn-bar-max);margin:0}.upn-brand-mark{width:var(--upn-logo-w);height:var(--upn-logo-h);display:grid;place-items:center;background:var(--upn-accent);border-radius:calc(var(--upn-radius) - 8px);overflow:hidden;color:#fff;font-weight:900;font-size:20px}.upn-brand-mark img{width:100%;height:100%;object-fit:contain}.upn-reg-bar input{border:0!important;box-shadow:none!important;background:transparent!important;font-size:var(--upn-input-size);font-weight:700;letter-spacing:.02em;color:var(--upn-text);min-width:0;width:100%;text-transform:uppercase;padding:8px 6px}.upn-reg-bar input:focus{outline:none}.upn-reg-bar button,.upn-btn{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:800;border-radius:calc(var(--upn-radius) - 6px);transition:.2s ease}.upn-reg-bar button{background:var(--upn-primary);color:#fff;padding:13px 20px;font-size:var(--upn-button-size);text-transform:uppercase}.upn-reg-bar button:hover,.upn-btn--primary:hover{background:var(--upn-primary-hover);transform:translateY(-1px)}
.upn-modal[hidden]{display:none}.upn-modal{position:fixed;inset:0;z-index:999999;background:var(--upn-overlay);display:grid;place-items:center;padding:24px;backdrop-filter:blur(10px)}.upn-modal__dialog{position:relative;width:min(920px,100%);max-height:min(92vh,900px);overflow:auto;background:var(--upn-surface);border-radius:var(--upn-radius);padding:clamp(24px,5vw,50px);box-shadow:0 30px 100px rgba(0,0,0,.35)}.upn-modal__close{position:absolute;right:18px;top:12px;border:0;background:transparent;color:var(--upn-muted);font-size:36px;line-height:1;cursor:pointer}.upn-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 45px 35px 0}.upn-progress span{height:5px;background:#ececf0;border-radius:9px}.upn-progress span.is-active{background:var(--upn-primary)}.upn-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--upn-primary);font-weight:900;font-size:12px;margin:0 0 10px}.upn-step h2{font-size:clamp(29px,5vw,48px);line-height:1.05;margin:0 0 14px;letter-spacing:-.04em}.upn-lead{font-size:18px;line-height:1.6;color:var(--upn-muted);margin:0 0 28px}.upn-reg-preview,.upn-registration-display{font-weight:800;letter-spacing:.08em;text-transform:uppercase}.upn-reg-preview{display:inline-block;background:#f1f1f4;border-radius:12px;padding:10px 14px;margin-bottom:24px}.upn-fields{display:grid;gap:18px}.upn-fields--two{grid-template-columns:1fr 1fr}.upn-fields label,.upn-correction-field,.upn-notes-label{display:grid;gap:8px;font-size:14px;font-weight:750}.upn-fields input,.upn-correction-field input,.upn-notes-label textarea{width:100%;border:1px solid #d8d8de;border-radius:14px;padding:15px 16px;font:inherit;color:var(--upn-text);background:#fff}.upn-fields input:focus,.upn-correction-field input:focus,.upn-notes-label textarea:focus{outline:3px solid color-mix(in srgb,var(--upn-primary) 20%,transparent);border-color:var(--upn-primary)}.upn-consent,.upn-correction-toggle{display:flex;gap:10px;align-items:flex-start;margin:20px 0;color:var(--upn-muted);font-size:14px}.upn-consent input,.upn-correction-toggle input{accent-color:var(--upn-primary);margin-top:3px}.upn-actions{display:flex;justify-content:flex-end;margin-top:28px}.upn-actions--split{justify-content:space-between;gap:14px}.upn-btn{padding:15px 22px}.upn-btn--primary{background:var(--upn-primary);color:#fff}.upn-btn--ghost{background:#f1f1f4;color:var(--upn-text)}.upn-powered{display:block;margin-top:20px;color:var(--upn-muted)}.upn-powered a{color:inherit}.upn-honeypot{position:absolute!important;left:-99999px!important}.upn-vehicle-card{display:flex;gap:16px;align-items:center;background:#f7f7f9;border:1px solid #e7e7eb;border-radius:18px;padding:20px}.upn-vehicle-icon,.upn-success-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--upn-primary);color:#fff;font-weight:900}.upn-vehicle-card strong{display:block;font-size:23px}.upn-vehicle-card span{display:block;color:var(--upn-muted);margin-top:3px}.upn-vehicle-specs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.upn-vehicle-specs div{padding:18px;border:1px solid #e7e7eb;border-radius:16px}.upn-vehicle-specs dt{color:var(--upn-muted);font-size:13px}.upn-vehicle-specs dd{font-weight:850;font-size:20px;margin:6px 0 0}.upn-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.upn-package{position:relative;border:2px solid #e4e4e8;border-radius:20px;padding:22px;cursor:pointer;transition:.2s;background:#fff}.upn-package:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(0,0,0,.08)}.upn-package.is-selected{border-color:var(--upn-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--upn-primary) 14%,transparent)}.upn-package input{position:absolute;opacity:0}.upn-package-badge{display:inline-block;background:#f2e4f5;color:var(--upn-primary);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;padding:7px 9px;border-radius:99px}.upn-package h3{font-size:24px;margin:16px 0 6px}.upn-package-price{font-weight:900;font-size:19px}.upn-package p{color:var(--upn-muted);line-height:1.5}.upn-package ul{padding-left:20px;margin-bottom:0;color:var(--upn-muted)}.upn-package li{margin:7px 0}.upn-notes-label{margin-top:22px}.upn-review-card{border:1px solid #e3e3e7;border-radius:18px;overflow:hidden}.upn-review-row{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:15px 18px;border-bottom:1px solid #ededf0}.upn-review-row:last-child{border:0}.upn-review-row strong{color:var(--upn-muted)}.upn-status{margin-top:18px;color:#b42318;font-weight:700}.upn-status.is-loading{color:var(--upn-muted)}.upn-success{text-align:center}.upn-success-icon{margin:0 auto 18px;width:70px;height:70px;font-size:32px}.upn-success p{color:var(--upn-muted);font-size:18px}.upn-success .upn-btn{margin-top:16px}.upn-modal.upn-is-loading .upn-modal__dialog:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.72);border-radius:inherit}.upn-modal.upn-is-loading .upn-modal__dialog:before{content:"";position:absolute;z-index:2;left:50%;top:50%;width:42px;height:42px;margin:-21px;border:4px solid #ddd;border-top-color:var(--upn-primary);border-radius:50%;animation:upn-spin .8s linear infinite}@keyframes upn-spin{to{transform:rotate(360deg)}}body.upn-modal-open{overflow:hidden}
@media(max-width:760px){.upn-reg-bar{grid-template-columns:auto 1fr;gap:10px;padding:6px;border-width:3px}.upn-brand-mark{width:52px;height:48px;border-radius:13px}.upn-reg-bar input{font-size:17px;padding:8px 3px}.upn-reg-bar button{grid-column:1/-1;width:100%;padding:12px;font-size:15px}.upn-modal{padding:10px;place-items:end center}.upn-modal__dialog{width:100%;max-height:94vh;border-radius:24px 24px 0 0;padding:30px 20px}.upn-fields--two,.upn-vehicle-specs,.upn-package-grid{grid-template-columns:1fr}.upn-actions--split{flex-direction:column-reverse}.upn-actions .upn-btn{width:100%}.upn-review-row{grid-template-columns:1fr;gap:4px}.upn-progress{margin-right:35px}}

/* v1.6 tuning-specific fields and conditional UI */
.upn-tuning-widget [hidden]{display:none!important}
.upn-vehicle-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
.upn-spec-note{margin:-5px 0 20px;color:var(--upn-muted);font-size:13px;line-height:1.5}
.upn-question-card{margin-top:22px;padding:22px;border:1px solid #e7e7eb;border-radius:18px;background:#fafafd}
.upn-question-card h3{margin:0 0 6px;font-size:20px;letter-spacing:-.02em}
.upn-question-card>p{margin:0 0 18px;color:var(--upn-muted);font-size:14px}
.upn-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.upn-field{display:grid;gap:8px;font-size:14px;font-weight:750}
.upn-field input,.upn-field select,.upn-field textarea{width:100%;border:1px solid #d8d8de;border-radius:14px;padding:14px 15px;font:inherit;color:var(--upn-text);background:#fff}
.upn-field input:focus,.upn-field select:focus,.upn-field textarea:focus{outline:3px solid color-mix(in srgb,var(--upn-primary) 20%,transparent);border-color:var(--upn-primary)}
.upn-field--full{grid-column:1/-1}
.upn-choice-group{display:grid;gap:10px}
.upn-choice-label{font-size:14px;font-weight:750}
.upn-choice-row{display:flex;flex-wrap:wrap;gap:9px}
.upn-choice{position:relative;cursor:pointer}
.upn-choice input{position:absolute;opacity:0;pointer-events:none}
.upn-choice span{display:block;border:1px solid #dcdce2;border-radius:999px;padding:10px 14px;background:#fff;color:var(--upn-text);font-size:13px;font-weight:750;transition:.18s ease}
.upn-choice input:checked+span{border-color:var(--upn-primary);background:color-mix(in srgb,var(--upn-primary) 9%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--upn-primary) 14%,transparent);color:var(--upn-primary)}
.upn-conditional-field{margin-top:12px}
.upn-package-select{display:block;margin-top:18px;text-align:center;border-radius:12px;padding:11px;background:#f1f1f4;font-size:13px;font-weight:850}
.upn-package.is-selected .upn-package-select{background:var(--upn-primary);color:#fff}
@media(max-width:760px){.upn-form-grid{grid-template-columns:1fr}.upn-field--full{grid-column:auto}.upn-question-card{padding:18px}.upn-vehicle-specs{grid-template-columns:1fr}.upn-choice-row{gap:7px}.upn-choice span{padding:9px 11px}}

/* Link-triggered popup mode */
.upn-reg-bar--popup-hidden{display:none!important}
.upn-popup-only{display:block;width:0;height:0;overflow:visible}
.upn-popup-only .upn-modal{width:100vw;height:100vh}
.upn-popup-reg-field{display:block;margin:18px 0 22px;font-weight:700;color:var(--upn-text)}
.upn-popup-reg-field>span{display:block;margin-bottom:8px;font-size:14px}
.upn-popup-reg-input{display:flex;align-items:stretch;max-width:430px;border:2px solid var(--upn-text);border-radius:12px;overflow:hidden;background:#fff}
.upn-popup-reg-input strong{display:flex;align-items:center;justify-content:center;min-width:58px;padding:0 14px;background:var(--upn-accent);color:#fff;font-size:18px;letter-spacing:.04em}
.upn-popup-reg-input input{min-width:0;flex:1;border:0!important;box-shadow:none!important;outline:0!important;padding:14px 16px;font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:#fff;color:var(--upn-text)}
.upn-popup-reg-input input::placeholder{color:#8b8b91;opacity:1}
@media(max-width:560px){.upn-popup-reg-input{max-width:none}.upn-popup-reg-input input{font-size:16px;padding:13px 12px}.upn-popup-reg-input strong{min-width:50px;padding:0 10px}}


/* v1.9 compact footer / narrow-column lookup */
.upn-tuning-widget.upn-compact{width:100%;max-width:360px;margin:0}
.upn-compact .upn-reg-bar{grid-template-columns:48px minmax(0,1fr);gap:8px;width:100%;max-width:360px;margin:0;padding:5px;border-width:2px;border-radius:12px}
.upn-compact .upn-brand-mark{width:48px;height:44px;min-width:48px;border-radius:9px;font-size:15px}
.upn-compact .upn-brand-mark img{max-width:34px;max-height:28px}
.upn-compact .upn-reg-bar input{font-size:15px;min-height:44px;padding:7px 4px;letter-spacing:.045em}
.upn-compact .upn-reg-bar button{grid-column:1/-1;width:100%;padding:10px 12px;font-size:13px;border-radius:8px}
@media(max-width:420px){.upn-tuning-widget.upn-compact,.upn-compact .upn-reg-bar{max-width:100%}}

/* v1.10 compact footer refinement */
.upn-compact .upn-reg-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:9px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  border-radius:0;
}
.upn-compact .upn-brand-mark{display:none!important}
.upn-compact .upn-reg-bar input{
  grid-column:1;
  width:100%;
  min-height:46px;
  padding:11px 13px;
  border:1px solid #d7d7dc!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--upn-text);
  box-shadow:none!important;
}
.upn-compact .upn-reg-bar input:focus{
  border-color:#111!important;
  outline:2px solid rgba(17,17,17,.12);
}
.upn-compact .upn-reg-bar button{
  grid-column:1;
  width:100%;
  margin:0;
  background:#111!important;
  color:#fff!important;
  border-radius:9px;
  padding:11px 14px;
}
.upn-compact .upn-reg-bar button:hover{
  background:#2a2a2a!important;
}

/* v1.11 visual, API-led package power estimates */
.upn-power-panel{margin:18px 0 20px;padding:15px;border:1px solid #e5e5ea;border-radius:15px;background:#fafafd}
.upn-power-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.upn-power-label{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.065em;color:var(--upn-muted)}
.upn-power-gain{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;background:color-mix(in srgb,var(--upn-primary) 10%,#fff);color:var(--upn-primary);font-size:12px;font-weight:900}
.upn-power-values{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px}
.upn-power-values span:not(.upn-power-arrow){display:grid;gap:3px}
.upn-power-values small{font-size:11px;color:var(--upn-muted)}
.upn-power-values strong{font-size:17px;line-height:1.15}
.upn-power-arrow{font-size:19px;color:var(--upn-muted)}
.upn-power-track{height:9px;margin:13px 0 10px;overflow:hidden;border-radius:999px;background:#e8e8ed}
.upn-power-track span{display:block;height:100%;border-radius:inherit;background:var(--upn-primary)}
.upn-power-disclaimer{display:block;color:var(--upn-muted);font-size:11px;line-height:1.4}
.upn-power-panel--unavailable{display:grid;gap:5px}
.upn-power-panel--unavailable strong{font-size:15px}
.upn-power-panel--unavailable small{color:var(--upn-muted);line-height:1.4}
@media(max-width:760px){.upn-power-values strong{font-size:16px}}

/* v1.12 streamlined free quote flow */
.upn-service-fieldset{border:0;margin:24px 0 0;padding:0}.upn-service-fieldset legend{font-size:18px;font-weight:700;color:var(--upn-text);margin:0 0 4px}.upn-service-fieldset>p{margin:0 0 14px;color:var(--upn-muted);font-size:14px}.upn-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.upn-service-option{position:relative;display:block;cursor:pointer}.upn-service-option input{position:absolute;opacity:0;pointer-events:none}.upn-service-option span{display:flex;align-items:center;min-height:50px;padding:12px 14px;border:1px solid #dedee3;border-radius:12px;background:#fff;color:var(--upn-text);font-weight:650;transition:.18s ease}.upn-service-option span:before{content:'✓';display:grid;place-items:center;width:22px;height:22px;margin-right:10px;border:1px solid #c8c8cf;border-radius:6px;color:transparent;font-size:13px}.upn-service-option input:checked+span{border-color:var(--upn-primary);background:color-mix(in srgb,var(--upn-primary) 8%,#fff)}.upn-service-option input:checked+span:before{background:var(--upn-primary);border-color:var(--upn-primary);color:#fff}.upn-service-option input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--upn-primary) 28%,transparent);outline-offset:2px}.upn-quote-fields{margin-top:22px}.upn-vehicle-specs--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.upn-notes-label span{font-weight:400;color:var(--upn-muted)}
@media(max-width:560px){.upn-service-grid,.upn-vehicle-specs--compact{grid-template-columns:1fr}.upn-service-option span{min-height:48px}}

/* v1.15 complete inline contact-page enquiry form */
.upn-contact-form{position:relative;width:100%;max-width:920px;margin:0}
.upn-contact-shell{position:relative;background:var(--upn-surface);border:1px solid rgba(20,20,24,.12);border-radius:var(--upn-radius);padding:clamp(22px,4vw,42px);color:var(--upn-text);box-shadow:0 14px 40px rgba(15,15,20,.08)}
.upn-contact-header{max-width:680px;margin-bottom:28px}
.upn-contact-header h2{margin:5px 0 9px;font-size:clamp(28px,4vw,42px);line-height:1.08;color:var(--upn-text)}
.upn-contact-header>p:last-child{margin:0;color:var(--upn-muted);font-size:16px;line-height:1.65}
.upn-contact-reg-label{display:block;margin:0 0 9px;font-weight:700;font-size:14px;color:var(--upn-text)}
.upn-contact-reg-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;max-width:690px}
.upn-contact-reg-row input{width:100%;min-width:0;border:1px solid #d8d8de;border-radius:14px;background:#fff;padding:15px 17px;font-size:20px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--upn-text);outline:none}
.upn-contact-reg-row input:focus{border-color:var(--upn-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--upn-primary) 13%,transparent)}
.upn-contact-reg-row .upn-btn{min-width:170px;margin:0;white-space:nowrap}
.upn-contact-step .upn-powered{display:block;margin-top:10px}
.upn-contact-details{animation:upnContactIn .25s ease both}
@keyframes upnContactIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.upn-contact-vehicle-card{position:relative;padding-right:88px;margin-bottom:14px}
.upn-contact-change{position:absolute;right:15px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--upn-primary);font:inherit;font-size:13px;font-weight:750;cursor:pointer;padding:7px}
.upn-contact-change:hover{text-decoration:underline}
.upn-contact-form .upn-quote-fields{margin-top:26px}
.upn-contact-form .upn-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.upn-contact-form .upn-notes-label{display:grid;gap:8px;margin-top:22px;font-weight:700}
.upn-contact-form textarea{width:100%;resize:vertical;border:1px solid #d8d8de;border-radius:13px;background:#fff;padding:13px 14px;font:inherit;color:var(--upn-text);outline:none}
.upn-contact-form textarea:focus{border-color:var(--upn-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--upn-primary) 13%,transparent)}
.upn-contact-form .upn-consent{margin:20px 0}
.upn-contact-submit{width:100%;max-width:310px}
.upn-contact-success{text-align:center;padding:38px 10px 12px;animation:upnContactIn .25s ease both}
.upn-contact-success h2{margin:14px 0 8px;font-size:30px}
.upn-contact-success p{max-width:580px;margin:0 auto;color:var(--upn-muted);line-height:1.6}
.upn-contact-form.upn-is-loading:after{content:'';position:absolute;inset:0;border-radius:var(--upn-radius);background:rgba(255,255,255,.58);cursor:wait;z-index:4}
.upn-contact-form .upn-status{margin-top:16px}
@media(max-width:680px){
  .upn-contact-shell{padding:22px 17px}
  .upn-contact-reg-row{grid-template-columns:1fr}
  .upn-contact-reg-row .upn-btn{width:100%;min-width:0}
  .upn-contact-form .upn-service-grid{grid-template-columns:1fr}
  .upn-contact-submit{max-width:none}
  .upn-contact-vehicle-card{padding-right:70px}
}
