/* CAR TRUCKS / EDITORIAL DARK INTERIORS — applies only to public interior pages, not home or admin. */
body.ct-interior {
  --ct-bg:#0b0e12;
  --ct-panel:#171c22;
  --ct-panel2:#1d242b;
  --ct-line:#343c45;
  --ct-text:#f2f4f5;
  --ct-muted:#a6b1bb;
  --ct-accent:#ef4042;
  background:var(--ct-bg);
  color:var(--ct-text);
}
.ct-interior main { background:var(--ct-bg); color:var(--ct-text); }
.ct-interior main a:focus-visible,
.ct-interior main button:focus-visible,
.ct-interior main input:focus-visible,
.ct-interior main textarea:focus-visible,
.ct-interior main select:focus-visible {outline:2px solid #ff7068;outline-offset:3px}
.ct-interior .eyebrow,.ct-interior .breadcrumb span {color:#ff5557}
.ct-interior .breadcrumb {color:#9ca5ae}
.ct-interior .breadcrumb a:hover {color:#ff6b6e}
.ct-interior .page-heading {
  background:radial-gradient(ellipse 70% 130% at 93% 4%,#29323a 0%,transparent 60%),linear-gradient(125deg,#0d1217 0%,#151c22 70%,#0e1217 100%);
  color:#fff;border-block:1px solid #252d35;position:relative;overflow:hidden;
}
.ct-interior .page-heading:after {content:"";position:absolute;right:clamp(18px,8vw,120px);top:-60px;bottom:-60px;width:3px;background:#d93036;transform:skewX(-24deg);opacity:.68;pointer-events:none}
.ct-interior .page-heading-inner {min-height:174px;position:relative;z-index:1}
.ct-interior .page-heading h1 {font-weight:800;letter-spacing:-.045em;color:#f8f8fa}
.ct-interior .page-heading p {color:#b9c2c8;line-height:1.6}
.ct-interior .heading-stamp {color:#68737c}
.ct-interior .underlink {color:#f1f2f2;border-color:#d23a3e}
.ct-interior .underlink:hover {color:#ff6768}
.ct-interior .btn-ink {background:#e53337;color:#fff}
.ct-interior .btn-ink:hover {background:#bd282d}
.ct-interior .btn-red {background:#df3439}
.ct-interior .btn-red:hover {background:#bc292e}
.ct-interior main .btn {border-radius:2px}

/* Services / search */
.ct-interior .catalog-section {background:#10151a}
.ct-interior .catalog-aside h2,.ct-interior .catalog-aside>p {color:var(--ct-text)}
.ct-interior .catalog-aside>p {color:var(--ct-muted)}
.ct-interior .aside-media {border:1px solid #29343f}
.ct-interior .search-label {color:#e4e9ec}
.ct-interior .search-wrap {background:#20282f;border-color:#46515a}
.ct-interior .search-wrap span {color:#e64c4c}
.ct-interior .search-wrap input {color:#f9fafa;background:transparent}
.ct-interior .search-wrap input::placeholder {color:#9ea9b2}
.ct-interior .service-list {background:#151b21;border:1px solid #39424a;border-bottom:0}
.ct-interior .service-row {border-color:#364048;min-width:0;color:#f4f7f8}
.ct-interior .service-row:hover,.ct-interior .service-row:focus-visible {background:#232c34}
.ct-interior .service-row-copy strong {color:#fbfbfb}
.ct-interior .service-row-copy small {color:#aeb7bf}
.ct-interior .service-row-icon,.ct-interior .service-row-go {color:#ff5659}
.ct-interior .empty-result {color:#fff;background:#1f262d}
.ct-interior .contact-strip {background:#1f282e;border-block:1px solid #364149}

/* Work portfolio: intentionally smaller, denser, with honest uncropped photographs */
.ct-interior .portfolio-section {background:#0e1318;padding:34px 0 56px;overflow:visible}
.ct-interior .portfolio-toolbar {align-items:flex-end;margin-bottom:22px}
.ct-interior .portfolio-toolbar h2 {color:#fff;font-size:clamp(25px,2.4vw,32px)}
.ct-interior .portfolio-count {display:block;color:#a4aeb7;margin-top:8px;font-size:12px;letter-spacing:.02em}
.ct-interior .portfolio-filters {gap:6px}
.ct-interior .portfolio-filters button {background:#1a2228;color:#c4ccd2;border:1px solid #343f49;border-radius:3px;min-height:38px;padding:8px 13px;transition:background .2s,border-color .2s,color .2s}
.ct-interior .portfolio-filters button.active,.ct-interior .portfolio-filters button:hover {background:#d93238;border-color:#e4484c;color:#fff}
.ct-interior .portfolio-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.ct-interior .portfolio-card {background:#171d23;border:1px solid #36404a;display:flex;flex-direction:column;min-width:0;transition:border-color .25s,transform .25s,box-shadow .25s}
.ct-interior .portfolio-card:hover {border-color:#9c3c3f;transform:translateY(-3px);box-shadow:0 14px 30px #0004}
.ct-interior .portfolio-card[hidden]{display:none}
.ct-interior .portfolio-image {height:auto;aspect-ratio:5/4;min-height:0;background:radial-gradient(circle at center,#313b43,#11171c 82%);border:0;overflow:hidden}
.ct-interior .portfolio-image img {height:100%;width:100%;object-fit:contain;transition:transform .35s ease}
.ct-interior .portfolio-image:hover img {transform:scale(1.025)}
.ct-interior .image-action {color:white;background:#0d1117d9}
.ct-interior .portfolio-card figcaption {padding:12px 13px 14px;gap:4px;min-height:122px;flex:1}
.ct-interior .portfolio-card figcaption>span {color:#ff6768;letter-spacing:.12em;font-size:9px}
.ct-interior .portfolio-card figcaption strong {font-size:15px;line-height:1.23;color:#f5f5f5;letter-spacing:-.018em}
.ct-interior .portfolio-card figcaption small {font-size:11px;line-height:1.45;color:#a9b2bc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ct-interior .portfolio-card figcaption .underlink {font-size:10px;font-weight:700;line-height:1.4;border:0;padding-top:5px;margin-top:auto;white-space:normal;color:#ff7070}
.ct-interior .portfolio-card figcaption .underlink:hover {color:#fff}
.ct-interior .compare-section {background:#151b20;padding:40px 0 58px;border-top:1px solid #303941}
.ct-interior .compare-header h2 {color:#f9fafb;font-size:clamp(26px,2.4vw,32px)}
.ct-interior .compare-header p {color:#b6bec5;max-width:650px}
.ct-interior .compare-gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ct-interior .comparison {background:#1e252b;border:1px solid #3a454d;min-width:0;overflow:hidden}
.ct-interior .compare-stage {aspect-ratio:4/3;background:#10161b}
.ct-interior .compare-stage>img,.ct-interior .compare-before img {object-fit:contain}
.ct-interior .compare-badge {background:#101418e8;color:#fff}
.ct-interior .compare-info {padding:12px 14px 14px}
.ct-interior .compare-info strong {font-size:15px;color:#fff}
.ct-interior .compare-info p {color:#adb6c0;font-size:11px;line-height:1.5}
.ct-interior .compare-empty {background:#1a2228;border-color:#4c5660}
.ct-interior .compare-empty p {color:#b8c1c8}
.ct-interior .compare-empty h3 {color:#fff}
.ct-interior .image-dialog {background:#0b1015;color:#fff;border:1px solid #48515a;max-width:min(1000px,94vw);max-height:92vh;box-shadow:0 25px 75px #0009}
.ct-interior .image-dialog::backdrop {background:rgba(0,0,0,.86);backdrop-filter:blur(5px)}
.ct-interior .image-dialog img {max-height:75vh;object-fit:contain}
.ct-interior .image-dialog p {color:#d1dae0}
.ct-interior .gallery-dialog-actions {display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 0 0}
.ct-interior .gallery-dialog-actions button {border:1px solid #48535d;color:#fff;background:#202931;border-radius:3px;padding:10px 16px;min-width:100px}
.ct-interior .gallery-dialog-actions button:hover {background:#db343a;border-color:#db343a}
.ct-interior .gallery-dialog-actions span {color:#b4bec6;font-size:12px;min-width:55px;text-align:center}
.ct-interior .compare-caveat {display:block;margin-top:6px;color:#9da9b2;font-size:11px}

/* Pricing */
.ct-interior .pricing-page {background:#10161b}
.ct-interior .pricing-table {background:#191f25;border-color:#35414a}
.ct-interior .pricing-table-head {background:#292e35;color:#ebf0f2}
.ct-interior .pricing-line {border-color:#374149;color:#f5f6f7}
.ct-interior .pricing-line strong {color:#fff}
.ct-interior .pricing-line small {color:#aab4bd}
.ct-interior .pricing-line>span {color:#ff6769}
.ct-interior .pricing-side {background:linear-gradient(145deg,#262e35,#171d24);border:1px solid #39444d}
.ct-interior .pricing-side p {color:#c0c9ce}

/* About */
.ct-interior .about-editorial {background:#11171c;color:#f7f8f9}
.ct-interior .about-editorial h1 {color:#fff}
.ct-interior .about-editorial-copy>p {color:#bdc6cd}
.ct-interior .about-meta>div {border-color:#3b454c}
.ct-interior .about-meta strong {color:#f1f4f5}
.ct-interior .about-meta span {color:#a9b4be}
.ct-interior .about-small-nav {border-color:#36404a;background:#36404a}
.ct-interior .about-small-nav a {background:#1c2329;color:#f0f4f5}
.ct-interior .about-small-nav a:hover {background:#2b353d}
.ct-interior .verified-facts {background:#20292f;border-color:#e33e43}
.ct-interior .verified-facts p {color:#d1d7d8}

/* Information / reviews / insurers / brands */
.ct-interior .info-section {background:#11171c}
.ct-interior .info-intro h2,.ct-interior .review-side h2 {color:#f8f9fa}
.ct-interior .info-intro>p,.ct-interior .review-side>p {color:#b5bfc8}
.ct-interior .info-card {background:#1d242a;border-color:#3c464f;color:#f4f5f6}
.ct-interior .info-card-head {color:#f5f6f8}
.ct-interior .info-empty {background:#293137;color:#cbd2d7;border-color:#e04549}
.ct-interior .partner-card {background:#151b20;border-color:#424d55;color:#f1f1f1}
.ct-interior .partner-card>strong {color:#fff}
.ct-interior .partner-card>small {color:#b2bcc5}
.ct-interior .observed-model {background:#141b21;color:#fff}
.ct-interior .mini-steps>div {border-color:#455059}
.ct-interior .mini-steps strong {color:#ff5e60}
.ct-interior .mini-steps span {color:#cbd2d7}
.ct-interior .legal-mini {color:#a6b3bc}
.ct-interior .review-list blockquote,.ct-interior .review-wait {background:#1e262d;border-color:#3d4953;color:#f6f6f8}
.ct-interior .review-list blockquote p {color:#e3e6e8}
.ct-interior .review-list cite {color:#fc7172}
.ct-interior .review-wait p {color:#bec7cf}

/* Location */
.ct-interior .location-page {background:#10161b}
.ct-interior .location-info h2 {color:#f6f8f8}
.ct-interior .location-info>p {color:#b5c1c9}
.ct-interior .location-entries {border-color:#39444c}
.ct-interior .location-entries>div {border-color:#39444c}
.ct-interior .location-entries span {color:#aebbc5}
.ct-interior .location-entries strong,.ct-interior .location-entries a {color:#fff}
.ct-interior .location-entries a:hover {color:#ff595e}
.ct-interior .location-map .map-box {background:#293138;border-color:#4c5861}
.ct-interior .map-foot small {color:#aeb8c0}

/* Contact */
.ct-interior .contact-page {background:#10161a}
.ct-interior .contact-method {background:#1b232a;border:1px solid #3b4650;color:#fff}
.ct-interior .contact-method:hover {background:#28313a;border-color:#c74a50}
.ct-interior .contact-method h2 {color:#fff}
.ct-interior .contact-method p {color:#bac4cb}
.ct-interior .contact-method>strong {color:#ff6567}
.ct-interior .method-no {color:#ff6062}
.ct-interior .contact-note {background:#252d34;border:1px solid #3c4852;color:#fff}
.ct-interior .contact-note p {color:#bfc8d0}

/* Quote form: readable inputs and labels, not dark text on dark */
.ct-interior .quote-page {background:#0f151a}
.ct-interior .quote-primary {background:#1b2229;border-color:#3d4851;color:#f5f6f8}
.ct-interior .form-head h2 {color:#fff}
.ct-interior .form-head p {color:#b5bfc7}
.ct-interior .quote-form-v3 label {color:#e7eaed}
.ct-interior .quote-form-v3 input:not([type=file]):not([type=checkbox]),.ct-interior .quote-form-v3 select,.ct-interior .quote-form-v3 textarea {background:#10161b;color:#fff;border-color:#53606a;border-radius:3px}
.ct-interior .quote-form-v3 :is(input,select,textarea)::placeholder {color:#9aa8b3}
.ct-interior .quote-form-v3 select option {color:#fff;background:#192128}
.ct-interior .quote-form-v3 .upload-zone {background:#242d34;border-color:#77828b;color:#f5f6f6}
.ct-interior .upload-zone strong {color:#f6f7f7}
.ct-interior .upload-zone small,.ct-interior .upload-zone span {color:#b4c0c9}
.ct-interior .quote-form-v3 input[type=file] {color:#d6e0e5}
.ct-interior .form-submit small {color:#a9b4bf}
.ct-interior .quote-aside-v3 {background:linear-gradient(145deg,#252e36,#171f26);border:1px solid #46515b}
.ct-interior .quote-aside-v3 p {color:#c5cfd5}
.ct-interior .form-confirmation p {color:#b8c3ca}
.ct-interior .form-confirmation h2 {color:#fff}

/* Privacy & shared utility */
.ct-interior .policy-copy h2 {color:#f6f7f9}
.ct-interior .policy-copy p {color:#b8c2ca}
.ct-interior .policy-copy {max-width:790px}
.ct-interior main .map-box {background:#2a3339}
.ct-interior .page-heading + .info-section {border-top:1px solid #2c343a}

/* Tablet */
@media(max-width:1100px){
 .ct-interior .portfolio-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
 .ct-interior .compare-gallery {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:740px){
 .ct-interior .page-heading-inner {padding:29px 0;min-height:0}
 .ct-interior .page-heading:after {right:18px;opacity:.35}
 .ct-interior .page-heading h1 {font-size:clamp(31px,8vw,42px)}
 .ct-interior .catalog-section,.ct-interior .pricing-page,.ct-interior .info-section,.ct-interior .location-page,.ct-interior .contact-page,.ct-interior .quote-page {padding-top:30px;padding-bottom:44px}
 .ct-interior .portfolio-toolbar {flex-direction:column;align-items:stretch;gap:14px}
 .ct-interior .portfolio-filters {overflow-x:auto;flex-wrap:nowrap;overscroll-behavior-x:contain;padding:0 0 10px;scrollbar-width:thin}
 .ct-interior .portfolio-filters button {flex-shrink:0;min-height:42px}
 .ct-interior .portfolio-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .ct-interior .portfolio-image {aspect-ratio:1/1}
 .ct-interior .portfolio-card figcaption {padding:10px 10px 11px;min-height:130px;gap:4px}
 .ct-interior .portfolio-card figcaption strong {font-size:13px;line-height:1.25}
 .ct-interior .portfolio-card figcaption small {font-size:10px;line-height:1.45}
 .ct-interior .portfolio-card figcaption .underlink {font-size:10px}
 .ct-interior .compare-gallery {grid-template-columns:1fr}
 .ct-interior .compare-stage {aspect-ratio:16/11}
 .ct-interior .compare-info {padding:12px}
 .ct-interior .portfolio-section {padding:28px 0 35px}
 .ct-interior .compare-section {padding:34px 0 45px}
 .ct-interior .image-dialog {max-width:98vw;width:98vw;max-height:88vh;padding:14px}
 .ct-interior .image-dialog img {max-height:64vh}
 .ct-interior .gallery-dialog-actions button {min-width:84px;padding:11px 12px}
 .ct-interior .pricing-table {min-width:0}
 .ct-interior .pricing-line {gap:10px}
 .ct-interior .quote-primary {padding:20px 16px}
 .ct-interior .quote-form-v3 label {font-size:13px}
}
@media(max-width:370px){
 .ct-interior .portfolio-card figcaption {min-height:145px}
 .ct-interior .portfolio-card figcaption strong {font-size:12px}
 .ct-interior .portfolio-image {aspect-ratio:4/5}
 .ct-interior .portfolio-filters button {font-size:11px;padding:8px 11px}
}
@media(prefers-reduced-motion:reduce){
 .ct-interior .portfolio-card,.ct-interior .portfolio-image img {transition:none!important;transform:none!important}
}
/* Final visual polish: contact icons must remain visible on charcoal panels. */
.ct-interior .method-visual {color:#f45a5e;text-shadow:0 0 16px rgba(239,64,66,.18)}
.ct-interior .contact-method:focus-visible {border-color:#ff6d70}

/* Keep short information panels compact rather than stretching beside long text. */
.ct-interior .info-grid,.ct-interior .insurer-grid,.ct-interior .reviews-page {align-items:start}
.ct-interior .info-grid .info-card,.ct-interior .insurer-grid .info-card {align-self:start}
