/* Phase 3: moving solutions, shifting types, city detail and route explorer. */
.journey-hero .service-lead h1{overflow-wrap:anywhere}
.journey-hero .service-lead,.journey-hero .service-quote,.journey-plan-layout>*,.city-story-layout>*,.city-visual-layout>*,.route-explorer-heading>*,.route-map-layout>*{min-width:0}
.journey-plan-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.journey-plan-layout .section-heading{margin-bottom:28px}
.journey-timeline{list-style:none;padding:0;margin:0}
.journey-timeline li{position:relative;display:flex;align-items:flex-start;gap:18px;padding:0 0 25px}
.journey-timeline li:not(:last-child):before{content:"";position:absolute;left:20px;top:41px;bottom:0;width:1px;background:var(--line)}
.journey-timeline li:last-child{padding-bottom:0}
.journey-timeline li>span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex:0 0 41px;height:41px;border:1px solid #d6e4d4;background:var(--green-light);border-radius:50%;color:var(--green);font-size:.73rem;line-height:1;font-weight:800;letter-spacing:.04em}
.journey-timeline li>div{min-width:0;padding-top:3px}
.journey-timeline h3{font-size:1.05rem;margin:0 0 9px}
.journey-timeline p{font-size:.85rem;line-height:1.75;color:var(--muted);margin:0}
.journey-coverage{background:var(--cream)}
.comparison-wrap{max-width:100%;min-width:0;overscroll-behavior-inline:contain}
.comparison-table .current-comparison th{background:#fcebd9;color:var(--green-dark);box-shadow:inset 4px 0 0 var(--orange)}
.comparison-table .current-comparison td{background:#fff8ef}
.comparison-table .current-comparison .text-link{color:var(--orange-dark)}
.comparison-table td:last-child{width:130px}
.comparison-table td .text-link{white-space:nowrap;font-size:.78rem;gap:8px}
.comparison-table td .text-link .icon{width:17px;height:17px}

.route-explorer-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;margin-bottom:42px}
.route-explorer-heading>.section-heading{margin-bottom:0;max-width:590px}
.route-explorer-heading>.section-heading p{margin-bottom:0}
.route-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:27px;border:1px solid var(--line);border-radius:13px;background:var(--cream);box-shadow:0 8px 30px #173d2505}
.route-picker label{display:block;min-width:0;color:var(--ink);font-size:.73rem;font-weight:700}
.route-picker select{display:block;width:100%;min-width:0;max-width:100%;min-height:47px;margin-top:8px;padding:11px 12px;border:1px solid #d5dfd2;border-radius:6px;background:#fff;color:var(--ink);font-size:.81rem;line-height:1.5}
.route-picker .button{grid-column:1/-1;justify-self:start;margin-top:2px;font-size:.79rem}
.route-map-layout{grid-template-columns:1.05fr .95fr;align-items:center;gap:65px}
.india-route-map{width:100%;padding:12px 12px 0;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 38px #1e4b3009;overflow:hidden}
.india-route-map img{display:block;border-radius:10px}
.india-route-map figcaption{line-height:1.6;text-align:center}
.route-map-layout .destination-groups{align-self:center}
.route-map-layout .destination-links a{transition:border-color .2s,color .2s,background .2s}
.route-map-layout .destination-links a:hover{background:var(--green-light)}

.city-hero-v3 .landing-copy h1{overflow-wrap:break-word}
.city-story-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:75px;align-items:start}
.city-story-layout .section-heading{margin-bottom:25px}
.city-story-layout .lead{font-size:.95rem;line-height:1.85;color:var(--muted);margin-bottom:0}
.city-context-list{padding-top:5px}
.city-context-list article{display:flex;align-items:flex-start;gap:19px;border-bottom:1px solid var(--line);padding:23px 0}
.city-context-list article:first-child{padding-top:0}
.city-context-list article:last-child{border-bottom:0;padding-bottom:0}
.city-context-list article>span{display:flex;align-items:center;justify-content:center;flex:0 0 38px;height:38px;background:var(--green-light);border-radius:8px;color:var(--orange-dark);font-size:.73rem;font-weight:800;letter-spacing:.03em}
.city-context-list article>div{min-width:0;padding-top:2px}
.city-context-list h3{font-size:1.08rem;margin-bottom:10px}
.city-context-list p{font-size:.85rem;line-height:1.75;color:var(--muted);margin-bottom:0}
.city-area-section .area-layout{grid-template-columns:.78fr 1.22fr;align-items:start;gap:75px}
.locality-search-label{display:block;max-width:400px;margin:27px 0 12px;color:var(--ink);font-size:.76rem;font-weight:750}
.locality-search{display:block;width:100%;min-width:0;max-width:100%;min-height:48px;margin-top:9px;padding:12px 14px;border:1px solid #c8d7c5;border-radius:7px;background:#f9fbf7;color:var(--ink);font-size:.82rem;line-height:1.5;font-weight:400}
.locality-search::placeholder{color:#82917f;opacity:1}
.locality-count{margin:0 0 14px;color:var(--green);font-size:.74rem;font-weight:700}
.locality-note{max-width:400px;font-size:.81rem;line-height:1.75}
.locality-groups{min-width:0}
.locality-groups details{margin-bottom:14px;padding:20px 23px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}
.locality-groups details:last-of-type{margin-bottom:0}
.locality-groups summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;color:var(--green);font-size:.87rem;font-weight:750;line-height:1.5}
.locality-groups summary .icon{width:18px;height:18px;color:var(--orange);transition:transform .2s}
.locality-groups details[open]>summary{margin-bottom:18px}
.locality-groups details[open]>summary .icon{transform:rotate(45deg)}
.locality-groups .area-chips{gap:8px}
.locality-groups .area-chips a{background:#fff;font-size:.73rem;padding:8px 11px;max-width:100%;overflow-wrap:anywhere}
.locality-groups .area-chips a:hover{background:var(--green-light)}
.locality-empty{margin:18px 0 0;padding:18px 20px;border:1px solid #efd6b7;border-left:3px solid var(--orange);border-radius:8px;background:#fff8ed;color:var(--ink);font-size:.83rem;line-height:1.7}
.city-visual-section{background:var(--cream)}
.city-visual-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.city-visual-layout .check-list{margin:22px 0 26px}
.city-visual-layout .check-list li{gap:12px;margin:15px 0;font-size:.86rem;line-height:1.75}
.city-visual-layout .check-list .icon{margin-top:3px}
.popular-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.popular-route-grid>a{display:flex;flex-direction:column;min-width:0;min-height:153px;padding:23px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 4px 12px #24442a04;transition:transform .2s,border-color .2s,box-shadow .2s;overflow-wrap:anywhere}
.popular-route-grid>a:hover{transform:translateY(-3px);border-color:#a1bda0;box-shadow:0 9px 27px #24442a0c}
.popular-route-grid small{font-size:.68rem;line-height:1.6;color:var(--muted);margin-bottom:10px}
.popular-route-grid strong{display:flex;align-items:center;gap:10px;color:var(--green);font-size:1.05rem;line-height:1.45;letter-spacing:-.02em;margin-bottom:14px}
.popular-route-grid strong .icon{width:18px;height:18px;color:var(--orange)}
.popular-route-grid>a>span{margin-top:auto;color:var(--muted);font-size:.68rem;line-height:1.6}
.route-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;padding-top:32px;margin-top:32px;border-top:1px solid var(--line)}
.route-note-grid article{padding:24px;background:var(--cream);border-radius:9px;min-width:0}
.route-note-grid h3{font-size:1.07rem;line-height:1.3;margin-bottom:12px}
.route-note-grid p{font-size:.83rem;line-height:1.75;color:var(--muted);margin:0}
.city-keywords{padding-top:0;padding-bottom:55px}
.city-keywords .keyword-links{margin:0;padding:25px 28px;border:1px solid var(--line);border-radius:10px;background:#f9fbf7}

@media(max-width:1080px){
    .journey-plan-layout,.city-story-layout,.city-visual-layout{gap:40px}
    .route-explorer-heading{gap:35px;margin-bottom:34px}
    .route-picker{padding:23px;gap:14px}
    .route-map-layout{gap:35px}
    .city-area-section .area-layout{gap:40px}
    .popular-route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .popular-route-grid>a{min-height:143px;padding:23px}
    .route-note-grid{gap:18px}
    .route-note-grid article{padding:22px}
}

@media(max-width:760px){
    .journey-plan-layout,.city-story-layout,.city-visual-layout,.route-explorer-heading,.route-map-layout{grid-template-columns:minmax(0,1fr);gap:30px}
    .journey-plan-layout>.image-frame,.city-visual-layout>.image-frame{order:2}
    .journey-plan-layout .section-heading{margin-bottom:25px}
    .journey-timeline li{gap:15px;padding-bottom:23px}
    .journey-timeline li>span{flex-basis:37px;height:37px;font-size:.69rem}
    .journey-timeline li:not(:last-child):before{left:18px;top:37px}
    .journey-timeline h3{font-size:1.02rem}
    .journey-timeline p{font-size:.83rem}
    .comparison-table td:last-child{width:auto}
    .comparison-table td .text-link{font-size:.73rem}
    .route-explorer-heading{margin-bottom:30px}
    .route-explorer-heading>.section-heading{max-width:100%}
    .route-picker{padding:23px;gap:15px}
    .route-picker label{font-size:.72rem}
    .route-picker select{font-size:.8rem;padding:11px 10px}
    .route-picker .button{justify-self:stretch;font-size:.77rem}
    .route-map-layout{gap:26px}
    .india-route-map{max-width:590px;margin-inline:auto!important;padding:8px 8px 0;border-radius:12px}
    .india-route-map img{border-radius:7px}
    .route-map-layout .destination-groups{width:100%}
    .route-map-layout .destination-links a{font-size:.73rem}
    .city-story-layout .section-heading{margin-bottom:22px}
    .city-story-layout .lead{font-size:.88rem;line-height:1.8}
    .city-context-list{padding-top:0}
    .city-context-list article{gap:15px;padding:21px 0}
    .city-context-list article>span{flex-basis:35px;height:35px;font-size:.68rem}
    .city-context-list h3{font-size:1.04rem}
    .city-context-list p{font-size:.83rem}
    .city-area-section .area-layout{grid-template-columns:minmax(0,1fr);gap:26px}
    .locality-search-label{max-width:none;margin-top:23px;font-size:.74rem}
    .locality-search{font-size:.81rem}
    .locality-note{max-width:none;font-size:.79rem;margin-bottom:0}
    .locality-groups details{padding:20px}
    .locality-groups summary{font-size:.83rem}
    .locality-groups .area-chips a{font-size:.7rem;padding:8px 10px;line-height:1.55}
    .locality-empty{padding:17px;font-size:.8rem}
    .city-visual-layout .check-list li{font-size:.83rem;margin:13px 0}
    .popular-route-grid{gap:12px}
    .popular-route-grid>a{min-height:143px;padding:19px}
    .popular-route-grid small{font-size:.65rem;margin-bottom:8px}
    .popular-route-grid strong{font-size:.98rem;gap:8px}
    .popular-route-grid strong .icon{width:16px;height:16px}
    .popular-route-grid>a>span{font-size:.65rem}
    .route-note-grid{grid-template-columns:minmax(0,1fr);gap:13px;margin-top:26px;padding-top:26px}
    .route-note-grid article{padding:23px}
    .route-note-grid h3{font-size:1.03rem}
    .route-note-grid p{font-size:.82rem}
    .city-keywords{padding-bottom:38px}
    .city-keywords .keyword-links{padding:23px;font-size:.68rem}
}

@media(max-width:430px){
    .route-picker{grid-template-columns:minmax(0,1fr);padding:21px}
    .route-picker .button{font-size:.75rem}
    .route-picker select{min-height:47px}
    .journey-timeline li{gap:13px}
    .journey-timeline h3{font-size:1rem;line-height:1.3}
    .journey-timeline p{font-size:.81rem}
    .city-context-list article{gap:13px}
    .city-context-list article>span{flex-basis:32px;height:32px}
    .city-context-list h3{font-size:1rem;line-height:1.3}
    .city-context-list p{font-size:.81rem}
    .locality-groups details{padding:18px 17px}
    .locality-groups summary{font-size:.8rem;gap:12px}
    .locality-groups details[open]>summary{margin-bottom:15px}
    .locality-groups .area-chips{gap:7px}
    .locality-groups .area-chips a{font-size:.68rem;padding:8px 9px;gap:6px}
    .popular-route-grid>a{padding:17px;min-height:142px}
    .popular-route-grid strong{font-size:.94rem;gap:7px}
    .popular-route-grid strong .icon{width:15px;height:15px}
    .popular-route-grid>a>span{font-size:.62rem}
    .city-keywords .keyword-links{padding:20px}
}

@media(max-width:360px){
    .popular-route-grid{grid-template-columns:minmax(0,1fr)}
    .popular-route-grid>a{min-height:130px;padding:21px}
    .popular-route-grid strong{font-size:1rem}
    .popular-route-grid small,.popular-route-grid>a>span{font-size:.68rem}
    .route-picker{padding:19px}
    .route-picker .button{padding-inline:12px;font-size:.72rem}
    .city-keywords .keyword-links{padding:18px}
}

@media(prefers-reduced-motion:reduce){
    .popular-route-grid>a,.locality-groups summary .icon,.route-map-layout .destination-links a{transition:none}
}
