/* City / intent landing pages (e.g. cheapest-limousine-service-london-ontario).
   Brand: black #0b0908, panel #14100e, gold #F6C777, muted #B9AEA5. All classes prefixed cl- */

.cl-page{background:#0b0908;color:#d9d1ca;line-height:1.7}
.cl-page *{box-sizing:border-box}
.cl-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.cl-page a{color:#F6C777}
.cl-page a:hover{color:#fff}
.cl-page a:focus-visible,.cl-page summary:focus-visible{outline:2px solid #F6C777;outline-offset:3px;border-radius:4px}

/* ---------- hero ---------- */
.cl-hero{position:relative;overflow:hidden;padding:140px 0 90px;background:#0b0908 var(--cl-img) center/cover no-repeat}
.cl-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,9,8,.94) 0%,rgba(11,9,8,.84) 55%,rgba(11,9,8,.72) 100%)}
.cl-hero .cl-wrap{position:relative;z-index:1}
.cl-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center}
.cl-crumbs{margin:0 0 22px;font-size:13px;color:#8f857d}
.cl-crumbs a{color:#B9AEA5;text-decoration:none}.cl-crumbs a:hover{color:#F6C777}
.cl-crumbs span{margin:0 6px}
.cl-pill{display:inline-block;margin:0 0 22px;padding:10px 22px;border:1px solid rgba(246,199,119,.55);border-radius:999px;background:rgba(246,199,119,.08);color:#F6C777;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.cl-hero h1{margin:0 0 22px;color:#fff;font-size:clamp(34px,4.4vw,56px);line-height:1.1;font-weight:600;letter-spacing:-.5px;text-wrap:balance}
.cl-hero h1 span{display:block;margin-top:10px;color:#F6C777;font-size:.58em;line-height:1.2;font-weight:500;letter-spacing:0}
.cl-hero-text{margin:0 0 30px;max-width:620px;color:#c9bfb6;font-size:18px;line-height:1.7}
.cl-actions{display:flex;flex-wrap:wrap;gap:12px}
.cl-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:12px;border:1px solid #F6C777;font-size:15px;font-weight:700;text-decoration:none;transition:background .25s,color .25s,transform .25s}
.cl-page .cl-btn--gold{background:#F6C777;color:#0b0908}
.cl-page .cl-btn--gold:hover{background:#fff;border-color:#fff;color:#0b0908;transform:translateY(-2px)}
.cl-page .cl-btn--line{background:rgba(255,255,255,.04);color:#fff;border-color:rgba(255,255,255,.25)}
.cl-page .cl-btn--line:hover{border-color:#F6C777;color:#F6C777;transform:translateY(-2px)}
.cl-updated{margin:22px 0 0;font-size:13px;color:#8f857d}

/* ---------- sections ---------- */
.cl-section{padding:84px 0}
.cl-section--alt{background:#100d0c;border-top:1px solid rgba(246,199,119,.12);border-bottom:1px solid rgba(246,199,119,.12)}
.cl-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 14px;color:#F6C777;font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.cl-eyebrow::before{content:"";width:34px;height:1px;background:#F6C777}
.cl-section h2{margin:0 0 16px;color:#fff;font-size:clamp(28px,3.4vw,42px);line-height:1.15;font-weight:600;letter-spacing:-.4px;text-wrap:balance}
.cl-section h3{margin:0 0 10px;color:#fff;font-size:20px;line-height:1.3;font-weight:600}
.cl-lead{max-width:760px;margin:0 0 36px;color:#B9AEA5;font-size:17px}
.cl-section p{margin:0 0 16px}
.cl-prose{max-width:820px}

/* quick answer */
.cl-answer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px;padding:34px;border:1px solid rgba(246,199,119,.45);border-radius:18px;background:linear-gradient(135deg,rgba(246,199,119,.09),rgba(20,16,14,.95))}
.cl-answer h2{font-size:clamp(24px,2.6vw,32px)}
.cl-answer p{font-size:17px;color:#e6dfd8}
.cl-facts{margin:0;display:grid;gap:0}
.cl-facts div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.cl-facts div:last-child{border-bottom:0}
.cl-facts dt{color:#F6C777;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding-top:3px}
.cl-facts dd{margin:0;color:#e6dfd8}

/* cards */
.cl-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.cl-card{padding:28px 26px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#14100e;transition:border-color .25s,transform .25s}
.cl-card:hover{border-color:rgba(246,199,119,.55);transform:translateY(-3px)}
.cl-card p{margin:0;color:#B9AEA5;font-size:15.5px}
.cl-card-ico{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:16px;border-radius:12px;background:rgba(246,199,119,.12);color:#F6C777;font-size:18px}

/* vehicle photo cards */
.cl-vehicles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 28px;padding:0;list-style:none}
.cl-vehicle{display:flex;flex-direction:column;height:100%;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#14100e;transition:border-color .25s,transform .25s}
.cl-vehicle:hover{border-color:rgba(246,199,119,.55);transform:translateY(-3px)}
.cl-vehicle-img{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 70%,#2a211b 0%,#14100e 75%)}
.cl-vehicle-img img{display:block;width:100%;height:100%;object-fit:contain}
.cl-vehicle figcaption{flex:1;display:flex;flex-direction:column;gap:2px;padding:14px 18px 16px;border-top:1px solid rgba(255,255,255,.08)}
.cl-vehicle strong{color:#fff;font-size:16px;font-weight:600}
.cl-vehicle span{color:#F6C777;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* photo tiles */
.cl-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 32px;padding:0;list-style:none}
.cl-tile{position:relative;margin:0;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.1);aspect-ratio:16/10;background:#14100e}
.cl-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.cl-tile:hover img{transform:scale(1.04)}
.cl-tile figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:46px 20px 18px;background:linear-gradient(to top,rgba(11,9,8,.94),rgba(11,9,8,0))}
.cl-tile strong{color:#fff;font-size:18px;font-weight:600}
.cl-tile span{color:#d9d1ca;font-size:14px}

/* tables */
.cl-table-wrap{overflow-x:auto;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#14100e}
.cl-table{width:100%;min-width:640px;border-collapse:collapse;font-size:15.5px}
.cl-table caption{padding:16px 20px;text-align:left;color:#B9AEA5;font-size:14px;caption-side:top}
.cl-table th,.cl-table td{padding:15px 20px;text-align:left;vertical-align:top;border-top:1px solid rgba(255,255,255,.09)}
.cl-table thead th{background:rgba(246,199,119,.1);color:#F6C777;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-top:0}
.cl-table tbody th{color:#fff;font-weight:600;white-space:nowrap}
.cl-table td{color:#c9bfb6}
.cl-table .is-us{background:rgba(246,199,119,.06);color:#fff}

/* lists */
.cl-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.cl-panel{padding:30px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#14100e}
.cl-checks{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.cl-checks li{position:relative;padding-left:30px;color:#d9d1ca}
.cl-checks li::before{content:"\2713";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:rgba(246,199,119,.18);color:#F6C777;font-size:12px;font-weight:700;line-height:20px;text-align:center}

/* steps */
.cl-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0 0 36px;padding:0;list-style:none;counter-reset:step}
.cl-steps li{position:relative;padding:28px 24px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#14100e;counter-increment:step}
.cl-steps li::before{content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:14px;border-radius:50%;background:#F6C777;color:#0b0908;font-weight:800}
.cl-steps p{margin:0;color:#B9AEA5;font-size:15.5px}

/* chips */
.cl-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.cl-chips a{display:inline-block;padding:10px 18px;border:1px solid rgba(246,199,119,.35);border-radius:999px;color:#e6dfd8;text-decoration:none;font-size:14.5px;transition:background .2s,color .2s}
.cl-chips a:hover{background:#F6C777;color:#0b0908}

/* faq */
.cl-faq{display:grid;gap:12px;max-width:900px}
.cl-faq details{border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#14100e;overflow:hidden}
.cl-faq details[open]{border-color:rgba(246,199,119,.5)}
.cl-faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;color:#fff;font-size:17px;font-weight:600;line-height:1.4;cursor:pointer;list-style:none}
.cl-faq summary::-webkit-details-marker{display:none}
.cl-faq summary::after{content:"+";flex:none;color:#F6C777;font-size:26px;line-height:1;transition:transform .25s}
.cl-faq details[open] summary::after{transform:rotate(45deg)}
.cl-faq .cl-faq-a{padding:0 24px 22px;color:#c9bfb6}
.cl-faq .cl-faq-a p:last-child{margin-bottom:0}

/* cta */
.cl-cta{padding:70px 0 90px}
.cl-cta-box{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:44px;border:1px solid rgba(246,199,119,.5);border-radius:20px;background:linear-gradient(135deg,rgba(246,199,119,.12),rgba(16,13,12,.96))}
.cl-cta-box h2{margin:0 0 10px}
.cl-cta-box p{margin:0;max-width:560px;color:#c9bfb6}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .cl-hero{padding:120px 0 70px}
  .cl-hero-grid{grid-template-columns:1fr;gap:40px}
  .cl-answer{grid-template-columns:1fr}
  .cl-cards,.cl-vehicles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cl-tiles{grid-template-columns:1fr}
  .cl-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cl-split{grid-template-columns:1fr}
  .cl-cta-box{flex-direction:column;align-items:flex-start}
}
@media (max-width:620px){
  .cl-wrap{padding:0 16px}
  .cl-hero{padding:100px 0 56px}
  .cl-hero-text{font-size:16.5px}
  .cl-section{padding:60px 0}
  .cl-cards,.cl-steps{grid-template-columns:1fr}
  .cl-vehicles{grid-template-columns:1fr 1fr;gap:12px}
  .cl-vehicle figcaption{padding:12px 12px 14px}
  .cl-vehicle strong{font-size:14px}
  .cl-vehicle span{font-size:11px}
  .cl-answer{padding:24px 20px}
  .cl-facts div{grid-template-columns:1fr;gap:2px}
  .cl-panel,.cl-card{padding:22px 20px}
  .cl-cta-box{padding:28px 22px}
  .cl-actions .cl-btn,.cl-cta-box .cl-btn{width:100%;justify-content:center}
  .cl-faq summary{padding:18px 18px;font-size:16px}
  .cl-faq .cl-faq-a{padding:0 18px 20px}
}
@media (prefers-reduced-motion:reduce){.cl-btn,.cl-card,.cl-chips a{transition:none}.cl-card:hover,.cl-btn:hover,.cl-vehicle:hover{transform:none}.cl-tile:hover img{transform:none}}

/* ---------- shared cluster block (above the footer) ---------- */
.cl-cluster{display:block!important;position:static!important;visibility:visible!important;float:none;clear:both;width:100%;height:auto;opacity:1;transform:none;margin:0;padding:70px 0;background:#0b0908;border-top:1px solid rgba(246,199,119,.2);color:#d9d1ca;line-height:1.6}
.cl-cluster *{box-sizing:border-box}
.cl-cluster h2{margin:0 0 26px;color:#fff;font-size:clamp(26px,3vw,36px);line-height:1.15;font-weight:600;text-wrap:balance}
.cl-cluster .cl-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 14px;color:#F6C777;font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.cl-cluster .cl-eyebrow::before{content:"";width:34px;height:1px;background:#F6C777}
.cl-cluster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 24px;padding:0;list-style:none}
.cl-cluster-card{display:flex;flex-direction:column;gap:8px;height:100%;padding:24px 22px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#14100e;text-decoration:none;transition:border-color .25s,transform .25s}
.cl-cluster-card:hover{border-color:rgba(246,199,119,.6);transform:translateY(-3px)}
.cl-cluster-card:focus-visible{outline:2px solid #F6C777;outline-offset:3px}
.cl-cluster-card strong{color:#fff;font-size:17px;font-weight:600;line-height:1.3}
.cl-cluster-card span{color:#B9AEA5;font-size:14.5px}
.cl-cluster-card em{margin-top:auto;padding-top:6px;color:#F6C777;font-size:13px;font-style:normal;font-weight:700;letter-spacing:.06em}
.cl-cluster-more{margin:0;color:#8f857d;font-size:14px}
.cl-cluster-more a{color:#F6C777;text-decoration:none}.cl-cluster-more a:hover{color:#fff}
@media (max-width:1000px){.cl-cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.cl-cluster{padding:54px 0}.cl-cluster .cl-wrap{padding:0 16px}.cl-cluster-grid{grid-template-columns:1fr}}
/* compact layout: used automatically once the list grows past 8 pages */
.cl-cluster--compact .cl-cluster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
.cl-cluster--compact .cl-cluster-card{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:12px}
.cl-cluster--compact .cl-cluster-card strong{font-size:15px;font-weight:500}
.cl-cluster--compact .cl-cluster-card::after{content:"\2192";flex:none;color:#F6C777;font-weight:700}
@media (max-width:1000px){.cl-cluster--compact .cl-cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.cl-cluster--compact .cl-cluster-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cl-cluster-card{transition:none}.cl-cluster-card:hover{transform:none}}