.rcd{--rc-vehicle-image-height:150px;--rc-vehicle-image-height-mobile:105px;--r:#e11d2a;--bg:#000;--card:#0d0d11;--line:#202027;--muted:#9e9a93;background:#000;color:#fff;font-family:"Plus Jakarta Sans",Inter,Arial,sans-serif;min-height:100vh}.rcd *{box-sizing:border-box}.rcd button,.rcd input{font:inherit}.rcd-hero{min-height:470px;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;border-bottom:1px solid #17171c;background:radial-gradient(circle at 50% 45%,#2a0b0e 0,#090909 32%,#000 66%)}.rcd .orb{position:absolute;width:650px;height:260px;border-radius:50%;border:1px solid #ffffff10;box-shadow:0 0 90px #e11d2a1c;transform:perspective(500px) rotateX(70deg);bottom:-90px}.hero-inner{position:relative;max-width:800px;padding:70px 20px}.eyebrow,.micro{font:700 10px/1.2 monospace;letter-spacing:2px;color:var(--r)}.rcd h1{font-size:clamp(52px,8vw,96px);letter-spacing:-6px;line-height:.9;margin:18px 0}.rcd h1 em{font-style:normal;color:var(--r)}.hero-inner p{max-width:610px;margin:0 auto 28px;color:var(--muted);line-height:1.75}.hero-inner button,.aside-next{border:0;border-radius:999px;padding:15px 25px;background:linear-gradient(90deg,#d71926,#f02b38);color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;box-shadow:0 8px 28px #e11d2a55;cursor:pointer}.progress{border-bottom:1px solid #18181e;background:#050506;position:sticky;top:0;z-index:20}.prog-inner{max-width:1200px;margin:auto;height:76px;display:flex;align-items:center;justify-content:center}.prog-inner button{background:none;border:0;color:#5e5e66;display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:1px}.prog-inner button b{width:26px;height:26px;border:1px solid #35353d;border-radius:50%;display:grid;place-items:center}.prog-inner button.on{color:#fff}.prog-inner button.on b{background:var(--r);border-color:var(--r)}.prog-inner i{height:1px;width:100px;background:#25252c;margin:0 15px}.builder{max-width:1250px;margin:auto;padding:55px 24px 110px;display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:36px}.step{display:none}.step.on{display:block;animation:in .25s ease}@keyframes in{from{opacity:0;transform:translateX(-8px)}}.rcd h2{font-size:clamp(34px,4vw,50px);letter-spacing:-2px;margin:10px 0}.muted{color:var(--muted);font-size:13px;line-height:1.65}.vehicles{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin:28px 0}.vehicles button{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#111116,#09090c);padding:18px;text-align:left;color:#fff;cursor:pointer;transition:.2s}.vehicles button:hover,.vehicles button.on{border-color:#e11d2a99;box-shadow:0 0 28px #e11d2a18}.vehicle-art{height:var(--rc-vehicle-image-height);border-radius:15px;background:radial-gradient(circle,#2b2b33,#101014 60%);display:grid;place-items:center;font-size:46px;color:#c8c8cc;margin-bottom:15px}.vehicles b,.vehicles small{display:block}.vehicles small{color:#777781;margin-top:5px;font-size:10px}.step label{display:block;color:#bbb;font:700 10px monospace;letter-spacing:1px}.step label small{color:#666}.step input{width:100%;background:#0b0b0e;border:1px solid #24242b;border-radius:13px;padding:14px;color:#fff;outline:none;margin-top:8px}.step input:focus{border-color:#e11d2a88;box-shadow:0 0 0 3px #e11d2a18}.stephead{display:flex;justify-content:space-between;gap:20px}.change{align-self:start;border:1px solid #282830;background:#101014;color:#bbb;border-radius:999px;padding:9px 13px;font-size:9px}.search{display:flex;align-items:center;border:1px solid #292931;background:#0b0b0f;border-radius:18px;padding:0 14px;margin:25px 0 12px;position:sticky;top:88px;z-index:10;box-shadow:0 12px 30px #000}.search span{font-size:25px;color:#777}.search input{border:0;margin:0;background:transparent;box-shadow:none!important}.search button{border:0;background:none;color:var(--r);font-size:10px}.filters{display:flex;gap:8px;overflow:auto;padding-bottom:16px}.filters button{white-space:nowrap;border:1px solid #27272e;background:#0c0c10;color:#888;border-radius:999px;padding:8px 13px;font-size:9px}.filters button.on{background:#fff;color:#000;border-color:#fff}.services{display:flex;flex-direction:column;gap:11px}.service{display:grid;grid-template-columns:170px 1fr auto;align-items:center;min-height:145px;border:1px solid #202027;background:linear-gradient(100deg,#0d0d11,#09090c);border-radius:20px;overflow:hidden;color:#fff;text-align:left;position:relative;cursor:pointer;transition:.2s}.service:hover{transform:translateY(-1px);border-color:#363640}.service.on{border-color:#e11d2a88;box-shadow:0 0 25px #e11d2a13}.service .pic{height:100%;min-height:145px;background:#16161b center/cover no-repeat}.service .copy{padding:18px}.service .cat{display:block;color:var(--r);font:700 9px monospace;letter-spacing:1px;margin-bottom:7px}.service .copy>b,.service .copy>small,.service .meta{display:block}.service .copy>b{font-size:15px}.service .copy>small{color:#898991;font-size:11px;line-height:1.55;margin:7px 0}.service .meta{font:10px monospace;color:#666}.service>strong{padding:20px;font:700 13px monospace}.check{position:absolute;right:12px;top:12px;width:22px;height:22px;border:1px solid #555;border-radius:50%;display:grid;place-items:center;color:transparent}.service.on .check{background:var(--r);border-color:var(--r);color:#fff}.badge{position:absolute;left:10px;top:10px;background:#e11d2a;color:#fff;padding:4px 7px;border-radius:999px;font:700 8px monospace}.nav{border-top:1px solid #1d1d23;margin-top:28px;padding-top:22px;display:flex;justify-content:space-between}.nav button{border-radius:999px;padding:12px 18px;font-size:10px;font-weight:800}.back{background:#0d0d11;border:1px solid #292930;color:#aaa}.next{background:linear-gradient(90deg,#d71926,#f02b38);border:0;color:#fff}.error{color:#f0525d;font-size:11px;text-align:right}aside{position:sticky;top:100px;border:1px solid #24242c;background:#0d0d11cc;backdrop-filter:blur(18px);border-radius:26px;padding:23px;box-shadow:0 25px 60px #000;overflow:hidden}.aside-head{display:flex;justify-content:space-between;border-bottom:1px solid #222229;padding-bottom:17px}.aside-head h3{margin:4px 0;font-size:19px}.live{font:9px monospace;color:#999}.live:first-letter{color:var(--r)}.vehicle-summary{background:#ffffff06;border:1px solid #ffffff0b;border-radius:16px;padding:15px;margin:18px 0}.vehicle-summary span,.vehicle-summary b,.vehicle-summary small{display:block}.vehicle-summary span{font:9px monospace;color:#888}.vehicle-summary b{font-size:13px;margin:5px 0}.vehicle-summary small{font-size:10px;color:#777}.selected{max-height:300px;overflow:auto}.selected>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ffffff0a;font-size:11px}.selected span small{display:block;color:#666;margin-top:3px}.selected p{color:#666;font-size:11px}.total{border-top:1px solid #222229;margin-top:15px;padding:18px 0;display:flex;align-items:end;justify-content:space-between}.total span{font:9px monospace;color:#888}.total strong{font-size:27px}.aside-next{width:100%}.trust{border-top:1px solid #222229;margin-top:18px;padding-top:14px;color:#777;font-size:10px;line-height:2}.receipt{border:1px solid #25252d;border-radius:24px;overflow:hidden;margin-top:25px;background:#0c0c10}.reviewvehicle{padding:22px;background:#ffffff04}.reviewvehicle span{font:9px monospace;color:var(--r)}.reviewvehicle h3{margin:5px 0}.reviewvehicle small{color:#777}.reviewrow{display:flex;justify-content:space-between;gap:25px;padding:18px 22px;border-top:1px solid #ffffff0a}.reviewrow>span{display:grid;grid-template-columns:25px 1fr;max-width:70%}.reviewrow i{grid-row:1/3;font:10px monospace;color:#666}.reviewrow b{font-size:13px}.reviewrow span small{color:#777;font-size:10px;line-height:1.5;margin-top:4px}.reviewrow>strong{font:700 12px monospace;text-align:right}.reviewrow>strong small{display:block;color:#666;margin-top:4px}.grand{display:flex;justify-content:space-between;background:#ffffff05;padding:22px}.grand span{font:10px monospace;color:#888}.grand b{font-size:24px}.notes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.mobilebar{display:none}
@media(max-width:900px){.builder{grid-template-columns:1fr}aside{display:none}.service{grid-template-columns:145px 1fr auto}.mobilebar{display:flex;position:fixed;z-index:30;left:12px;right:12px;bottom:10px;background:#101014eF;backdrop-filter:blur(15px);border:1px solid #303038;border-radius:18px;padding:10px 12px;align-items:center;gap:12px;box-shadow:0 15px 40px #000}.mobilebar span{font:9px monospace;color:#999}.mobilebar strong{margin-left:auto}.mobilebar button{border:0;background:var(--r);color:#fff;border-radius:999px;padding:10px 13px;font-size:9px;font-weight:800}}
@media(max-width:600px){.rcd h1{letter-spacing:-4px}.prog-inner i{width:28px;margin:0 7px}.prog-inner button span{display:none}.builder{padding:35px 12px 120px}.vehicles{grid-template-columns:1fr 1fr;gap:8px}.vehicles button{padding:10px;border-radius:16px}.vehicle-art{height:var(--rc-vehicle-image-height-mobile)}.service{grid-template-columns:105px 1fr;min-height:130px}.service .pic{min-height:130px}.service>strong{grid-column:2;padding:0 14px 14px;color:#fff}.service .copy{padding:13px 13px 5px}.service .copy>small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.check{right:8px;top:8px}.badge{left:6px;top:6px}.stephead{display:block}.change{margin-top:8px}.notes{grid-template-columns:1fr}.reviewrow{padding:15px 13px}.reviewrow>span{max-width:65%}.search{top:78px}.nav .next{min-width:55%}}.vehicle-art{position:relative;overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat}.vehicle-art.has-image>span{display:none}.vehicle-art.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.18))}


/* v3.8 mobile responsive fixes */
.rcd{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
.rcd .builder,
.rcd .step,
.rcd .services,
.rcd .service,
.rcd .service .copy,
.rcd .search,
.rcd .search input{
  min-width:0;
  max-width:100%;
}
.rcd img{max-width:100%}

@media(max-width:600px){
  /* 1 x 4 vehicle layout: one vehicle card per row */
  .rcd .vehicles{
    grid-template-columns:1fr;
    gap:12px;
    width:100%;
  }
  .rcd .vehicles button{
    width:100%;
    padding:12px;
    border-radius:18px;
  }
  .rcd .vehicle-art{
    width:100%;
    height:auto !important;
    aspect-ratio:16 / 9;
    min-height:0;
    margin-bottom:13px;
    background-size:cover;
    background-position:center;
  }

  /* Prevent service cards/search from overflowing the phone viewport */
  .rcd .search{
    width:100%;
    padding:0 12px;
    border-radius:14px;
  }
  .rcd .search input{
    flex:1 1 auto;
    width:1%;
  }
  .rcd .services{
    width:100%;
  }
  .rcd .service{
    width:100%;
    grid-template-columns:1fr;
    min-height:0;
    border-radius:16px;
  }
  .rcd .service .pic{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:16 / 9;
  }
  .rcd .service .copy{
    width:100%;
    padding:16px 16px 8px;
    padding-right:48px;
  }
  .rcd .service .copy>b{
    font-size:16px;
    line-height:1.3;
    overflow-wrap:anywhere;
  }
  .rcd .service .copy>small{
    display:block;
    overflow:visible;
    -webkit-line-clamp:unset;
    font-size:11px;
  }
  .rcd .service>strong{
    grid-column:1;
    width:100%;
    padding:4px 16px 16px;
    font-size:14px;
  }
  .rcd .check{
    right:14px;
    top:14px;
  }

  .rcd .builder{
    width:100%;
    padding:30px 14px calc(150px + env(safe-area-inset-bottom));
  }
  .rcd h2{
    font-size:34px;
    line-height:1.05;
  }

  /* iPhone-safe sticky action bar */
  .rcd .mobilebar{
    left:max(10px,env(safe-area-inset-left));
    right:max(10px,env(safe-area-inset-right));
    bottom:calc(10px + env(safe-area-inset-bottom));
    width:auto;
    max-width:calc(100vw - 20px);
    padding:10px 12px;
    gap:8px;
  }
  .rcd .mobilebar strong{
    white-space:nowrap;
  }
  .rcd .mobilebar button{
    flex:0 1 auto;
    white-space:nowrap;
    padding:11px 14px;
  }

  .rcd .filters{
    max-width:100%;
    scrollbar-width:none;
  }
  .rcd .filters::-webkit-scrollbar{display:none}
}


/* v3.9 Stage 2 mobile containment fix
   The <main> element is the actual CSS-grid item inside .builder. Its default
   min-width:auto allowed the horizontally scrollable filter row to increase
   the grid item's min-content width, which pushed Stage 2 past the viewport.
   Constraining the grid item fixes Stage 2 without changing Stages 1 or 3. */
@media (max-width:900px){
  .rcd .builder > main{
    min-width:0;
    width:100%;
    max-width:100%;
    overflow-x:clip;
  }

  .rcd .step[data-step="2"]{
    min-width:0;
    width:100%;
    max-width:100%;
  }

  .rcd .step[data-step="2"] .search,
  .rcd .step[data-step="2"] .filters,
  .rcd .step[data-step="2"] .services,
  .rcd .step[data-step="2"] .service{
    min-width:0;
    width:100%;
    max-width:100%;
  }

  .rcd .step[data-step="2"] .filters{
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
}
