/* Hero only: Skylink's real Chennai simulator and a linked three-stage route. */
.hero-journey { background:#f8f8f6; color:#111214; overflow:hidden; }
.journey-hero-main { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:stretch; gap:clamp(28px,4vw,62px); padding:clamp(40px,5vw,72px) clamp(34px,6vw,92px) clamp(36px,4vw,55px); }
.journey-hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; }
.journey-kicker { margin:0 0 26px; color:#b21627; font-size:11px; font-weight:700; letter-spacing:.13em; }
.journey-hero-copy h1 { max-width:11.5ch; margin:0; color:#111214; font-size:clamp(54px,5.5vw,86px); font-weight:650; letter-spacing:-.04em; line-height:1.02; }
.journey-hero-copy h1 em { color:#c9192a; font-style:normal; }
.journey-hero-copy>p:not(.journey-kicker) { max-width:42ch; margin:28px 0 0; color:#42434a; font-size:clamp(16px,1.4vw,19px); line-height:1.6; }
.journey-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 26px; margin-top:32px; }
.journey-hero-actions .button { min-height:52px; padding:15px 24px; background:#d7192a; color:#fff; border-radius:100px; font-size:14px; font-weight:700; }
.journey-hero-actions .button:hover { background:#b51223; transform:translateY(-2px); }
.journey-hero-actions .plain-link { display:inline-flex; align-items:center; min-height:48px; color:#111214; font-size:14px; font-weight:600; text-decoration:underline; text-decoration-color:#d7192a; text-underline-offset:5px; }
.journey-hero-image { position:relative; min-width:0; min-height:clamp(410px,41vw,570px); margin:0; overflow:hidden; background:#131b25; border-radius:4px; }
.journey-hero-image::before { content:""; position:absolute; top:0; left:0; z-index:1; width:clamp(70px,11vw,150px); height:5px; background:#d7192a; }
.journey-hero-image::after { content:""; position:absolute; inset:52% 0 0; background:linear-gradient(transparent,#09111fa6); pointer-events:none; }
.journey-hero-image img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center 54%; transition:transform .7s cubic-bezier(.16,1,.3,1); }
.journey-hero-image:hover img { transform:scale(1.035); }
.journey-hero-image figcaption { position:absolute; left:25px; bottom:22px; z-index:1; max-width:32ch; color:#fff; font-size:12px; font-weight:600; line-height:1.45; text-shadow:0 1px 8px #0009; }
.journey-route { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 clamp(34px,6vw,92px); border-top:1px solid #d7d8d8; background:#fff; }
.journey-route a { position:relative; display:flex; align-items:center; gap:17px; min-width:0; min-height:106px; padding:18px 20px 18px 0; color:#111214; border-right:1px solid #dedfe0; transition:background .2s,color .2s; }
.journey-route a+a { padding-left:22px; }
.journey-route a:last-child { border-right:0; }
.journey-route a::after { content:""; position:absolute; left:0; bottom:0; right:20px; height:3px; background:#d7192a; transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.16,1,.3,1); }
.journey-route a:hover::after,.journey-route a:focus-visible::after { transform:scaleX(1); }
.journey-route-number { flex:none; color:#c9192a; font-size:22px; font-weight:650; font-variant-numeric:tabular-nums; }
.journey-route strong,.journey-route small { display:block; }
.journey-route strong { font-size:16px; font-weight:650; line-height:1.25; }
.journey-route small { margin-top:5px; color:#5d5e62; font-size:12px; line-height:1.3; }
.journey-route a:hover strong,.journey-route a:focus-visible strong { color:#b51223; }
.hero-journey a:focus-visible { outline:2px solid #c9192a; outline-offset:4px; }
@media(max-width:1000px) {
  .journey-hero-main { grid-template-columns:minmax(0,1fr) minmax(0,.85fr); }
  .journey-hero-copy h1 { font-size:clamp(46px,5.5vw,68px); }
  .journey-route a { gap:11px; }
  .journey-route strong { font-size:14px; }
}
@media(max-width:760px) {
  .hero-journey { border-radius:0; }
  .journey-hero-main { display:flex; flex-direction:column; gap:30px; padding:35px 20px 0; }
  .journey-kicker { margin-bottom:20px; font-size:10px; }
  .journey-hero-copy h1 { max-width:11.5ch; font-size:clamp(42px,10.5vw,58px); line-height:1.04; }
  .journey-hero-copy>p:not(.journey-kicker) { max-width:36ch; margin-top:19px; font-size:15px; line-height:1.55; }
  .journey-hero-actions { width:100%; display:grid; grid-template-columns:1fr; gap:3px; margin-top:24px; }
  .journey-hero-actions .button { display:flex; align-items:center; justify-content:center; width:100%; min-height:50px; }
  .journey-hero-actions .plain-link { justify-content:center; width:100%; min-height:44px; }
  .journey-hero-image { min-height:0; height:clamp(240px,72vw,360px); margin:0 -20px; border-radius:0; }
  .journey-hero-image img { object-position:center 60%; }
  .journey-hero-image figcaption { left:20px; right:20px; bottom:17px; font-size:11px; }
  .journey-route { grid-template-columns:1fr; padding:0 20px; }
  .journey-route a { min-height:72px; padding:13px 0; border-right:0; border-bottom:1px solid #dedfe0; }
  .journey-route a+a { padding-left:0; }
  .journey-route a:last-child { border-bottom:0; }
  .journey-route a::after { right:0; }
  .journey-route-number { font-size:20px; width:28px; }
  .journey-route strong { font-size:15px; }
  .journey-route small { font-size:12px; }
}
@media(max-width:360px) {
  .journey-hero-main { padding-left:18px; padding-right:18px; }
  .journey-hero-copy h1 { font-size:clamp(38px,10.2vw,43px); }
  .journey-hero-image { margin-left:-18px; margin-right:-18px; }
  .journey-route { padding-left:18px; padding-right:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .journey-hero-image img,.journey-route a,.journey-route a::after,.journey-hero-actions .button { transition:none; }
}
