/* Service landing pages — builds on site.css tokens */
.sp-hero{position:relative;z-index:1;background:var(--dark);color:var(--on-dark);min-height:min(78vh,640px);display:flex;align-items:flex-end;overflow:hidden}
.sp-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.sp-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,12,30,.45) 0%,rgba(8,12,30,.35) 30%,rgba(8,12,30,.88) 100%)}
.sp-hero .wrap{position:relative;z-index:2;padding-block:120px 56px;width:100%}
.sp-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.82rem;color:#D9E1F5;margin-bottom:18px}
.sp-crumbs a{color:#D9E1F5;text-decoration:none;border-bottom:1px solid rgba(217,225,245,.4)}
.sp-crumbs a:hover{color:#fff;border-color:#fff}
.sp-crumbs span[aria-current]{color:#fff}
.sp-kicker{font-size:.76rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.sp-hero h1{font-size:clamp(2.1rem,5vw,3.6rem);color:#fff;max-width:18ch;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.sp-lead{font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.6;color:#E8EDF8;max-width:60ch;margin:18px 0 0}
.sp-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

.sp-facts{background:var(--card);border-bottom:1px solid var(--line)}
.sp-facts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin:0}
.sp-facts dl>div{padding:22px 20px;border-left:1px solid var(--line)}
.sp-facts dl>div:first-child{border-left:0}
.sp-facts dt{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.sp-facts dd{margin:6px 0 0;font-weight:600;color:var(--fg);line-height:1.4}

.sp-main{padding-block:72px}
.sp-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:56px;align-items:start}
.sp-body h2{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--fg);margin:0 0 16px}
.sp-body h2:not(:first-child){margin-top:40px}
.sp-body p{font-size:1.05rem;line-height:1.75;color:var(--muted);margin:0 0 16px}
.sp-stops{list-style:none;counter-reset:s;margin:26px 0 0;padding:0}
.sp-stops li{counter-increment:s;position:relative;padding:4px 0 22px 50px;font-weight:600;font-size:1.05rem;color:var(--fg);line-height:1.4}
.sp-stops li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--gold-deep);background:var(--card);color:var(--gold-deep);font:800 .82rem/29px var(--body);text-align:center;z-index:1}
.sp-stops li:not(:last-child)::after{content:"";position:absolute;left:16px;top:34px;bottom:2px;width:1.5px;background:linear-gradient(var(--gold-deep),color-mix(in srgb,var(--gold) 45%,transparent))}
.sp-stops li:last-child{padding-bottom:4px}
.sp-list{margin:8px 0 0;padding-left:20px;color:var(--muted);line-height:1.9;font-size:1.02rem}
.sp-note{font-size:.9rem!important;color:var(--muted);font-style:italic;margin-top:16px!important}
.sp-aside{display:grid;gap:18px;position:sticky;top:96px}
.sp-box{background:var(--dark);color:var(--on-dark);border-radius:20px;padding:26px 26px 22px;border-top:3px solid var(--gold)}
.sp-box h2{font-size:1.25rem;color:#fff;margin:0 0 12px}
.sp-box ul{margin:0;padding-left:18px;line-height:1.7;color:var(--on-dark-soft);font-size:.95rem}
.sp-box li{margin-bottom:6px}
.sp-box p{margin:0;color:var(--on-dark-soft);line-height:1.7;font-size:.95rem}

.sp-faq{padding-block:8px 72px}
.sp-faq h2,.sp-more h2{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--fg);margin:0 0 22px}
.sp-faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:10px;max-width:860px}
.sp-faq summary{cursor:pointer;list-style:none;padding:18px 52px 18px 22px;font-weight:700;color:var(--fg);position:relative}
.sp-faq summary::-webkit-details-marker{display:none}
.sp-faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:1.4rem;font-weight:400;color:var(--gold-deep)}
.sp-faq details[open] summary::after{content:"–"}
.sp-faq details p{margin:0;padding:0 22px 20px;color:var(--muted);line-height:1.7}

.sp-more{padding-block:0 80px}
.sp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.sp-card{position:relative;display:block;aspect-ratio:4/5;border-radius:18px;overflow:hidden;text-decoration:none;background:var(--dark)}
.sp-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.sp-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,30,0) 40%,rgba(8,12,30,.8) 100%)}
.sp-card span{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;color:#fff;font-weight:700;line-height:1.25}
.sp-card:hover img{transform:scale(1.04)}

@media (max-width: 900px){
  .sp-grid{grid-template-columns:1fr;gap:36px}
  .sp-aside{position:static}
}
@media (max-width: 640px){
  .sp-hero{min-height:auto}
  .sp-hero::before{background:linear-gradient(180deg,rgba(8,12,30,.55) 0%,rgba(8,12,30,.6) 40%,rgba(8,12,30,.9) 100%)}
  .sp-hero .wrap{padding-block:110px 40px}
  .sp-ctas .btn{width:100%}
  .sp-facts dl{grid-template-columns:1fr 1fr}
  .sp-facts dl>div{border-left:0;border-top:1px solid var(--line);padding:16px 4px}
  .sp-facts dl>div:nth-child(-n+2){border-top:0}
  .sp-facts dl>div:nth-child(even){padding-left:14px;border-left:1px solid var(--line)}
  .sp-main{padding-block:48px}
  .sp-cards{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion: reduce){.sp-card img{transition:none}}

/* van band reused from the home page */
.sp #la-van .vimg{cursor:default}
.sp #la-van{margin-bottom:72px}

/* compact route: text left, timeline right */
.sp-route{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.sp-route-text h2{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--fg);margin:0 0 16px}
.sp-route-text p{font-size:1.05rem;line-height:1.7;color:var(--muted);margin:0 0 14px;max-width:52ch}
.sp-route .sp-stops{margin-top:6px}
.sp-stops.dots li::before{content:"";width:12px;height:12px;left:10px;top:7px;background:var(--gold);border:0}
.sp-stops.dots li:not(:last-child)::after{left:15.5px;top:22px}
.sp #su-guia{padding-top:0}
@media (max-width: 900px){.sp-route{grid-template-columns:1fr;gap:26px}}

/* facts bar centered */
.sp-facts dl>div{text-align:center}
.sp-facts dd{margin-left:auto;margin-right:auto;max-width:24ch}
@media (max-width: 640px){
  .sp-facts dl>div:last-child:nth-child(odd){grid-column:1/-1;padding-left:4px;border-left:0}
  .sp-facts dl>div:nth-child(even){padding-left:4px}
}
.sp-route:not(:has(ol)){grid-template-columns:1fr}
.sp-route:not(:has(ol)) .sp-route-text p{max-width:62ch}
