/* PPFofferte brand layer, based on the live website inspected 2026-09-17.
   Fonts are self-hosted, uniquely named and used only inside .ppfc. */
@font-face{font-family:'PPF Archivo';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/archivo-latin.woff2') format('woff2')}
@font-face{font-family:'PPF Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/inter-latin.woff2') format('woff2')}
.ppfc{--ppfc-bg:#f7f7f7;--ppfc-ink:#121212;--ppfc-muted:#686868;--ppfc-line:#e9e9e9;--ppfc-radius:8px;font-family:'PPF Inter',Inter,Arial,sans-serif}
.ppfc h1,.ppfc h2,.ppfc h3{font-family:'PPF Archivo',Archivo,Arial,sans-serif;font-weight:650}
.ppfc h1{font-weight:750}
.ppfc .ppfc-brand{display:block;line-height:0}
.ppfc .ppfc-brand img{display:block;width:210px;height:auto;max-width:100%;object-fit:contain}
.ppfc .ppfc-header{padding:23px 0;border-color:#e4e4e4}
.ppfc .ppfc-header-note{color:#666}
.ppfc .ppfc-demo{background:#eeeeee;border-color:#e1e1e1;color:#616161}
.ppfc .ppfc-eyebrow{color:#666;font-size:10px;letter-spacing:1.5px}
.ppfc .ppfc-intro{display:grid;grid-template-columns:minmax(0,1fr) 36%;gap:40px;align-items:center;padding:34px 0}
.ppfc .ppfc-intro h1{font-size:clamp(32px,3.6vw,46px);letter-spacing:-1.5px}
.ppfc .ppfc-intro h1 span{color:#666}
.ppfc .ppfc-intro-copy>p{margin-top:18px;font-size:13px;line-height:1.8;color:#686868}
.ppfc .ppfc-intro-photo{align-self:stretch;min-height:190px;position:relative;border-radius:8px;overflow:hidden;background:#242424 url('ppf-montage.webp') center 52%/cover no-repeat}
.ppfc .ppfc-intro-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 65%)}
.ppfc .ppfc-intro-photo>span{position:absolute;z-index:1;bottom:18px;left:20px;color:#fff;font-size:9px;font-weight:600;letter-spacing:1.8px}
.ppfc .ppfc-btn{background:#121212;border-color:#121212;color:#fff;border-radius:6px}
.ppfc .ppfc-btn:hover{background:#303030;border-color:#303030}
.ppfc .ppfc-btn.ppfc-secondary{background:#fff;color:#121212;border-color:#dedede}
.ppfc .ppfc-btn.ppfc-secondary:hover{background:#f2f2f2;border-color:#aaa}
.ppfc .ppfc-text-btn{color:#404040!important}
.ppfc .ppfc-steps li.is-current button>span,.ppfc .ppfc-steps li.is-complete button>span{background:#121212;border-color:#121212;color:#fff}
.ppfc .ppfc-steps strong{color:#626262}
.ppfc .ppfc-steps .is-current strong{color:#121212}
.ppfc .ppfc-choice.is-selected{border-color:#121212;background:#f8f8f8;box-shadow:0 0 0 1px #121212}
.ppfc .ppfc-choice.is-selected .ppfc-choice-indicator{background:#121212;border-color:#121212;color:white}
.ppfc .ppfc-choice-desc,.ppfc .ppfc-section-head p,.ppfc .ppfc-hint{color:#686868}
.ppfc .ppfc-choice-kicker{color:#666}
.ppfc .ppfc-tip,.ppfc .ppfc-contact-notice{background:#f4f4f4;color:#575757;border-color:#e5e5e5}
.ppfc .ppfc-panel,.ppfc .ppfc-summary,.ppfc .ppfc-quote{border-radius:8px;border-color:#e9e9e9}
.ppfc .ppfc-summary-heading,.ppfc .ppfc-summary dt,.ppfc .ppfc-vehicle-name small{color:#717171}
.ppfc .ppfc-summary-note{background:#f7f7f7;color:#666;border-color:#e9e9e9}
.ppfc .ppfc-found{background:#f5f7f5;border-color:#e2e8e2}
.ppfc .ppfc-dash-welcome{background:#ededed;border-color:#e2e2e2}
.ppfc .ppfc-pill{background:#efefef;border-color:#e4e4e4;color:#626262}
.ppfc .ppfc-nav nav>button.is-active{background:#121212;color:#fff}
.ppfc .ppfc-nav .ppfc-brand{margin-bottom:26px}
.ppfc .ppfc-nav .ppfc-brand img{width:180px}
.ppfc .ppfc-nav nav>button{color:#686868}
.ppfc .ppfc-company-icon,.ppfc .ppfc-request-row>.ppfc-icon{background:#f2f2f2;color:#626262}
.ppfc .ppfc-success-icon{background:#121212;color:#fff}
.ppfc .ppfc-message{background:#f3f3f3;border-color:#e3e3e3}
.ppfc button:focus-visible,.ppfc input:focus-visible,.ppfc select:focus-visible,.ppfc textarea:focus-visible,.ppfc summary:focus-visible{outline-color:#606060}
.ppfc .ppfc-check input{accent-color:#121212}
.ppfc .ppfc-banner{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.6)),url('ppf-montage.webp') center/cover;color:#fff;border-radius:8px}
.ppfc .ppfc-banner .ppfc-brand img{filter:invert(1)}
.ppfc .ppfc-banner h1,.ppfc .ppfc-banner p,.ppfc .ppfc-banner label{color:#fff}
.ppfc .ppfc-banner .ppfc-eyebrow{color:#ddd}
.ppfc .ppfc-banner .ppfc-text-btn{color:#fff!important}
.ppfc .ppfc-banner .ppfc-btn{background:#fff;color:#121212;border-color:#fff}
@media(max-width:900px){.ppfc .ppfc-intro{gap:25px;grid-template-columns:minmax(0,1fr) 34%}.ppfc .ppfc-intro h1{font-size:35px}.ppfc .ppfc-nav .ppfc-brand img{width:155px}}
@media(max-width:700px){.ppfc .ppfc-header{padding:20px 0}.ppfc .ppfc-brand img{width:180px}.ppfc .ppfc-intro{grid-template-columns:1fr;gap:22px;padding:28px 0}.ppfc .ppfc-intro h1{font-size:34px}.ppfc .ppfc-intro-photo{min-height:130px;max-height:130px;background-position:center 56%}.ppfc .ppfc-intro-copy>p{font-size:13px}.ppfc .ppfc-nav .ppfc-brand img{width:165px}}
.ppfc .ppfc-choice:focus-within,.ppfc .ppfc-plate:focus-within{outline-color:#606060}
/* Model imagery preview. Only the explicit demo fixture has licensed photos. */
.ppfc .ppfc-garage{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(0,1.4fr);background:#161616;color:#fff;border:1px solid #292929;border-radius:10px;overflow:hidden;margin:24px 0 8px;animation:ppfc-reveal .3s ease-out}
.ppfc .ppfc-garage-info{padding:28px 23px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.ppfc .ppfc-garage .ppfc-eyebrow{color:#a8a8a8;font-size:9px}
.ppfc .ppfc-garage h3{font-size:30px;letter-spacing:-.8px;color:#fff;margin-bottom:20px}
.ppfc .ppfc-garage h3 span{font-size:19px;font-weight:500;letter-spacing:-.4px;color:#d3d3d3}
.ppfc .ppfc-garage-specs{display:flex;gap:27px;margin-bottom:22px;font-size:15px;font-weight:600}
.ppfc .ppfc-garage-specs small{display:block;margin-top:2px;font-size:10px;font-weight:400;color:#aaa}
.ppfc .ppfc-mini-plate{background:#f4d86b;border:1px solid #ddc566;box-shadow:inset 5px 0 #344d95;color:#151515;border-radius:4px;letter-spacing:1.5px;font-weight:750;padding:4px 12px 4px 16px;font-size:13px}
.ppfc .ppfc-garage-info>p{color:#bdbdbd;font-size:10px;line-height:1.7;margin-top:17px}
.ppfc .ppfc-garage .ppfc-text-btn{color:#fff!important;font-size:11px!important;margin-top:14px!important}
.ppfc .ppfc-vehicle-figure{margin:0;min-width:0}
.ppfc .ppfc-vehicle-image{position:relative;background:#e9e9e9;overflow:hidden}
.ppfc .ppfc-vehicle-image img{display:block;width:100%;height:auto;aspect-ratio:960/690;object-fit:contain}
.ppfc .ppfc-image-label{position:absolute;top:12px;left:12px;padding:5px 8px;border-radius:4px;background:rgba(0,0,0,.72);color:#fff;font-size:8px;letter-spacing:1px}
.ppfc .ppfc-angle-controls{display:flex;gap:8px;padding:12px 16px 5px}
.ppfc .ppfc-angle-controls button{font-size:10px;padding:7px 12px;border:1px solid #555;border-radius:5px;background:transparent;color:#ddd}
.ppfc .ppfc-angle-controls button[aria-pressed=true]{background:white;border-color:white;color:#121212}
.ppfc .ppfc-vehicle-figure figcaption{font-size:9px;line-height:1.6;padding:9px 16px 14px;color:#aaa}
.ppfc .ppfc-vehicle-figure figcaption a{color:inherit;text-decoration:underline}
.ppfc .ppfc-vehicle-figure.is-compact{margin:17px 0 15px}
.ppfc .ppfc-vehicle-figure.is-compact .ppfc-vehicle-image{border-radius:6px}
.ppfc .ppfc-vehicle-figure.is-compact figcaption{padding:7px 0 0;color:#737373;font-size:8px}
.ppfc .ppfc-dash-vehicle{width:40%;min-width:0}
.ppfc .ppfc-dash-vehicle>.ppfc-car{width:100%}
.ppfc .ppfc-dash-vehicle .ppfc-vehicle-figure{margin:0}
@keyframes ppfc-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.ppfc .ppfc-garage{grid-template-columns:1fr}.ppfc .ppfc-garage-info{display:block;padding:23px}.ppfc .ppfc-garage h3{margin-bottom:14px}.ppfc .ppfc-garage-specs{margin-bottom:14px}.ppfc .ppfc-garage-info>p{max-width:340px}}
@media(max-width:700px){.ppfc .ppfc-garage-info{padding:22px 18px}.ppfc .ppfc-garage h3{font-size:29px}.ppfc .ppfc-garage-info>p{font-size:11px}.ppfc .ppfc-angle-controls button{font-size:12px;min-height:40px;flex:1}.ppfc .ppfc-vehicle-figure figcaption{font-size:10px}.ppfc .ppfc-dash-welcome:has(.ppfc-vehicle-figure){flex-direction:column;align-items:stretch;gap:22px}.ppfc .ppfc-dash-vehicle{width:100%}}
@media(prefers-reduced-motion:reduce){.ppfc .ppfc-garage{animation:none}}

/* Finished, text-first layout. Remove this variant when SHOW_IMAGES is enabled. */
.ppfc.ppfc-no-imagery .ppfc-intro{display:block;padding:32px 0}
.ppfc.ppfc-no-imagery .ppfc-intro-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,36%);column-gap:40px;align-items:end}
.ppfc.ppfc-no-imagery .ppfc-intro-copy>.ppfc-eyebrow{grid-column:1/-1;margin-bottom:12px}
.ppfc.ppfc-no-imagery .ppfc-intro-copy>p{margin:0 0 3px;padding-left:24px;border-left:2px solid #dedede}
.ppfc.ppfc-no-imagery .ppfc-summary-heading{margin-bottom:24px}
.ppfc.ppfc-no-imagery .ppfc-vehicle-name{overflow-wrap:anywhere}
.ppfc.ppfc-no-imagery .ppfc-vehicle-name small{font-size:11px;line-height:1.7}
.ppfc.ppfc-no-imagery .ppfc-garage{display:block}
.ppfc.ppfc-no-imagery .ppfc-garage-info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:start;padding:24px}
.ppfc.ppfc-no-imagery .ppfc-garage-info>.ppfc-eyebrow{grid-column:1/-1}
.ppfc.ppfc-no-imagery .ppfc-garage h3{margin:0;font-size:28px;line-height:1.3;overflow-wrap:anywhere}
.ppfc.ppfc-no-imagery .ppfc-garage h3 span{font-size:17px}
.ppfc.ppfc-no-imagery .ppfc-garage-specs{grid-column:2;grid-row:2;flex-wrap:wrap;margin:4px 0 0;gap:22px}
.ppfc.ppfc-no-imagery .ppfc-mini-plate{justify-self:start;align-self:center}
.ppfc.ppfc-no-imagery .ppfc-garage-info>p{grid-column:1/-1;margin:0;max-width:none;font-size:11px}
.ppfc.ppfc-no-imagery .ppfc-garage .ppfc-text-btn{grid-column:1/-1;justify-self:start;margin:0!important}
.ppfc.ppfc-no-imagery .ppfc-packages .ppfc-choice{padding:22px;min-height:148px}
.ppfc.ppfc-no-imagery .ppfc-packages .ppfc-choice:last-child{grid-column:auto}
.ppfc.ppfc-no-imagery .ppfc-packages .ppfc-choice-body{gap:9px}
.ppfc.ppfc-no-imagery .ppfc-packages .ppfc-choice-kicker{padding-right:22px;font-size:9px!important;line-height:1.5}
.ppfc.ppfc-no-imagery .ppfc-packages .ppfc-choice-body>strong{font-size:16px;line-height:1.4}
.ppfc.ppfc-no-imagery .ppfc-packages .ppfc-choice-desc{font-size:12px;line-height:1.7}
.ppfc .ppfc-parts{display:block;padding:20px;margin-top:24px}
.ppfc .ppfc-parts>legend{font-size:14px;font-weight:600}
.ppfc .ppfc-parts-group{border:0;padding:0;margin:0 0 22px;min-width:0}
.ppfc .ppfc-parts-group>legend{padding:0;margin-bottom:10px;font-size:12px;font-weight:600;color:#555}
.ppfc .ppfc-parts-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
.ppfc .ppfc-parts-options .ppfc-check{min-height:40px;font-size:12px;line-height:1.5;align-items:center}
.ppfc .ppfc-parts-options input{flex-shrink:0}
.ppfc .ppfc-parts>.ppfc-hint{margin-top:0}
.ppfc.ppfc-no-imagery .ppfc-banner{background:#161616}
@media(max-width:700px){
  .ppfc.ppfc-no-imagery .ppfc-intro-copy{display:block}
  .ppfc.ppfc-no-imagery .ppfc-intro-copy>.ppfc-eyebrow{display:block}
  .ppfc.ppfc-no-imagery .ppfc-intro-copy>p{margin-top:16px;padding:0;border:0}
  .ppfc.ppfc-no-imagery .ppfc-garage-info{display:flex;flex-direction:column;padding:20px;gap:16px}
  .ppfc.ppfc-no-imagery .ppfc-garage h3{font-size:25px}
  .ppfc.ppfc-no-imagery .ppfc-garage-specs{margin:0}
  .ppfc.ppfc-no-imagery .ppfc-mini-plate{align-self:flex-start}
  .ppfc.ppfc-no-imagery .ppfc-packages .ppfc-choice{padding:20px;min-height:0}
}
@media(max-width:480px){.ppfc .ppfc-parts{padding:16px}.ppfc .ppfc-parts-options{grid-template-columns:1fr}}
@media(max-width:360px){.ppfc .ppfc-steps strong{font-size:8px}}

/* Contact step: compact groups, native autofill, one address row on every screen. */
.ppfc .ppfc-contact-block{margin:0 0 26px;padding:0 0 26px;border-bottom:1px solid #ececec;min-width:0}
.ppfc .ppfc-contact-block h3{font-size:16px;margin:0 0 16px;letter-spacing:-.2px}
.ppfc .ppfc-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.ppfc .ppfc-contact-grid .ppfc-field,.ppfc .ppfc-address-row .ppfc-field{margin:0;min-width:0}
.ppfc .ppfc-phone-field{grid-column:1/-1;max-width:560px;width:100%}
.ppfc .ppfc-phone-row{display:flex;gap:8px;min-width:0}
.ppfc .ppfc-phone-row select{width:145px;flex:0 0 145px;padding-right:24px;text-overflow:ellipsis}
.ppfc .ppfc-phone-row input{min-width:0;flex:1;width:0}
.ppfc .ppfc-phone-country{position:relative;flex:0 0 112px;width:112px}
.ppfc .ppfc-phone-country select{width:100%;color:transparent!important;cursor:pointer}
.ppfc .ppfc-phone-country option{color:#171717}
.ppfc .ppfc-phone-country>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:14px;color:#171717;z-index:1}
.ppfc .ppfc-phone-country:after{content:'⌄';position:absolute;right:8px;top:50%;transform:translateY(-60%);color:#686868;pointer-events:none}
.ppfc .ppfc-contact-notice{margin-bottom:22px}
.ppfc .ppfc-contact-help{font-size:12px;color:#686868;margin:-7px 0 16px}
.ppfc .ppfc-address-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:12px;max-width:560px}
.ppfc .ppfc-address-row input{min-width:0;width:100%}
.ppfc .ppfc-address-result{margin-top:14px;padding:13px 15px;background:#f7f7f7;border:1px solid #e8e8e8;border-radius:6px;font-size:12px;color:#626262;line-height:1.7;overflow-wrap:anywhere}
.ppfc .ppfc-address-result strong{display:block;font-weight:600;color:#171717}
.ppfc .ppfc-address-result span{display:block;margin-top:3px;font-size:11px}
.ppfc .ppfc-address-source{font-size:10px;color:#767676;margin-top:7px}
@media(max-width:700px){
  .ppfc .ppfc-contact-grid{grid-template-columns:1fr;gap:18px}
  .ppfc .ppfc-phone-row select{width:105px;flex-basis:105px;padding:11px 7px;font-size:14px}
  .ppfc .ppfc-phone-country{flex-basis:92px;width:92px}
  .ppfc .ppfc-phone-country select{width:100%}
  .ppfc .ppfc-phone-country>span{left:8px;font-size:13px}
  .ppfc .ppfc-phone-row input{padding:11px 8px}
  .ppfc .ppfc-address-row{gap:7px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}
  .ppfc .ppfc-address-row .ppfc-field>label{font-size:11px;letter-spacing:-.2px}
  .ppfc .ppfc-address-row input{padding:11px 6px;font-size:16px}
}

/* Focused Canvas journey: small exit, explicit save and local resume. */
.ppfc .ppfc-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap}
.ppfc .ppfc-header-actions .ppfc-btn{padding:12px 16px;font-size:12px;min-height:44px}
.ppfc .ppfc-home{display:inline-flex;align-items:center;gap:7px;color:#666;font-size:12px;text-decoration:none;min-height:44px}
.ppfc .ppfc-home:hover{text-decoration:underline;color:#121212}
.ppfc .ppfc-draft{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;margin:24px 0 0;border:1px solid #dedede;border-radius:8px;background:white}
.ppfc .ppfc-draft p{margin:6px 0 0;font-size:12px;color:#686868}
.ppfc .ppfc-draft-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ppfc .ppfc-save-status:not(:empty){padding:14px 18px;margin-top:20px;background:#eef4ef;border-radius:6px;color:#264630;font-size:13px}
.ppfc .ppfc-save-dialog{color:#121212;background:white;border:1px solid #ddd;border-radius:12px;padding:30px;width:min(500px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-shadow:0 20px 90px #0003;max-height:90vh;overflow:auto}
.ppfc .ppfc-save-dialog::backdrop{background:rgba(15,15,15,.45)}
.ppfc .ppfc-save-dialog h2{font-size:25px;margin:0 0 16px}
.ppfc .ppfc-save-dialog p{font-size:14px;line-height:1.8;margin:0 0 16px}
.ppfc .ppfc-save-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.ppfc .ppfc-save-actions .ppfc-btn{justify-content:center;white-space:normal}
@media(max-width:700px){
 .ppfc .ppfc-header{align-items:flex-start;gap:16px;flex-wrap:wrap}
 .ppfc .ppfc-header .ppfc-brand img{width:155px}
 .ppfc .ppfc-header-actions{justify-content:space-between;gap:8px;width:100%}
 .ppfc .ppfc-header-actions .ppfc-btn{padding:10px;font-size:11px}
 .ppfc .ppfc-home{font-size:11px}
 .ppfc .ppfc-draft{align-items:flex-start;flex-direction:column;padding:16px}
 .ppfc .ppfc-save-dialog{padding:22px}
 .ppfc .ppfc-steps li{min-width:0}
 .ppfc .ppfc-steps strong{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
}
