/* Travel Information and Explore Wuhan — shared page system */
.guide-page { padding-bottom: 96px; }
.guide-page .subpage-hero { min-height: 0; }
/* Keep the new guide pages on the exact shared subpage grid used by Conference Venue. */
.guide-page .subpage-hero__inner,
.guide-page .subpage-content { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.guide-page .subpage-hero__lead { display:block; max-width: 585px; color:#eef7fc; font:400 15px/1.75 "Montserrat",sans-serif; letter-spacing:0; }
.guide-intro { display:grid; grid-template-columns:minmax(0,.95fr) minmax(300px,.8fr); gap:clamp(42px,9vw,140px); padding:76px 0 58px; }
.guide-intro h2,.guide-section-title h2 { margin:14px 0 0; color:#172943; font:600 clamp(31px,3.45vw,47px)/1.07 "Montserrat",sans-serif; letter-spacing:-1.9px; }
.guide-intro > p { align-self:end; max-width:440px; margin:0; color:#5d7187; font:400 15px/1.9 "Montserrat",sans-serif; }
.guide-section { margin-top:76px; }
.guide-section-title { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:27px; }
.guide-section-title > p { max-width:350px; margin:0; color:#718197; font:400 13px/1.75 "Montserrat",sans-serif; }
.guide-photo { display:block; width:100%; height:100%; object-fit:cover; }
.travel-overview { display:grid; grid-template-columns:1.18fr .82fr; min-height:424px; background:#fff; border:1px solid #dbe5ed; box-shadow:0 13px 30px rgba(15,40,73,.06); }
.travel-overview__image { min-height:424px; overflow:hidden; }
.travel-overview__copy { padding:38px 38px 30px; }
.guide-label { margin:0; color:#67bfe7; font:700 11px/1 "Oswald",sans-serif; letter-spacing:1.9px; }
.travel-overview h2 { margin:13px 0 25px; color:#183d68; font:500 33px/1 "Oswald",sans-serif; letter-spacing:.3px; text-transform:uppercase; }
.travel-overview dl { display:grid; gap:0; margin:0; }
.travel-overview dl > div { position:relative; padding:14px 0 14px 41px; border-top:1px solid #e0e8ee; }
.travel-overview dl > div::before { position:absolute; left:0; top:17px; width:24px; color:#1c77ad; font:900 18px/1 "Font Awesome 6 Free"; }
.travel-overview dl > div:nth-child(1)::before { content:"\f072"; }.travel-overview dl > div:nth-child(2)::before { content:"\f238"; }.travel-overview dl > div:nth-child(3)::before { content:"\f594"; }.travel-overview dl > div:nth-child(4)::before { content:"\f3c5"; }
.travel-overview dt { color:#173f70; font:700 12px/1.35 "Montserrat",sans-serif; }.travel-overview dd { margin:5px 0 0; color:#667b90; font:400 12px/1.55 "Montserrat",sans-serif; }
.arrival-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.arrival-card { min-height:253px; padding:26px 23px 21px; background:#fff; border:1px solid #dce5ed; box-shadow:0 10px 24px rgba(15,40,73,.045); }
.arrival-card__icon { display:grid; place-items:center; width:38px; height:38px; margin-bottom:20px; border-radius:4px; font:900 16px/1 "Font Awesome 6 Free"; }
.arrival-card:nth-child(1) .arrival-card__icon{color:#177ab4;background:#e8f4fa}.arrival-card:nth-child(2) .arrival-card__icon{color:#327d62;background:#ecf6f0}.arrival-card:nth-child(3) .arrival-card__icon{color:#6b57ac;background:#f1effb}.arrival-card:nth-child(4) .arrival-card__icon{color:#d55d32;background:#fff1eb}
.arrival-card h3 { margin:0; color:#173f70; font:500 24px/1 "Oswald",sans-serif; letter-spacing:.2px; text-transform:uppercase; }.arrival-card strong { display:block; margin:10px 0 8px; color:#233953; font:600 12px/1.45 "Montserrat",sans-serif; }.arrival-card p { margin:0; color:#6a7e91; font:400 12px/1.7 "Montserrat",sans-serif; }.arrival-card small { display:block; margin-top:18px; color:#ef5b3c; font:600 18px/1 "Oswald",sans-serif; }.arrival-card small span { display:block; margin-top:5px; color:#7e8d9d; font:400 10px/1.4 "Montserrat",sans-serif; }
.route-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; position:relative; }.route-card { background:#fff; border:1px solid #dce5ed; box-shadow:0 11px 25px rgba(15,40,73,.05); }.route-card figure { position:relative; height:180px; margin:0; overflow:hidden; }.route-card figure::after { position:absolute; inset:auto 0 0; height:45%; content:""; background:linear-gradient(transparent,rgba(3,27,56,.66)); }.route-card figure img { width:100%; height:100%; object-fit:cover; }.route-card__step { position:absolute; z-index:1; right:17px; bottom:16px; color:#fff; font:700 12px/1 "Oswald",sans-serif; letter-spacing:1px; }.route-card__body { padding:23px 23px 21px; }.route-card__body h3 { margin:0; color:#183d68; font:500 26px/1.05 "Oswald",sans-serif; text-transform:uppercase; }.route-card__body p { min-height:54px; margin:13px 0; color:#62768b; font:400 12px/1.7 "Montserrat",sans-serif; }.route-card__meta { display:flex; justify-content:space-between; gap:8px; padding:11px 0; border-top:1px solid #e1e8ee; color:#173f70; font:600 11px/1.4 "Montserrat",sans-serif; }.guide-link { display:inline-flex; align-items:center; gap:9px; margin-top:13px; color:#e95b3f; font:700 10px/1 "Montserrat",sans-serif; letter-spacing:.7px; text-decoration:none; text-transform:uppercase; }.guide-link:hover { color:#173f70; }
.hotel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.hotel-card { display:flex; flex-direction:column; background:#fff; border:1px solid #dce5ed; box-shadow:0 11px 25px rgba(15,40,73,.05); }.hotel-card__image { height:208px; overflow:hidden; }.hotel-card__image img { width:100%; height:100%; object-fit:cover; }.hotel-card__body { padding:22px; }.hotel-card__tag { display:inline-block; padding:5px 7px; color:#1674a9; background:#e6f4fa; font:700 9px/1 "Montserrat",sans-serif; letter-spacing:.5px; }.hotel-card h3 { min-height:54px; margin:13px 0 9px; color:#173f70; font:600 20px/1.22 "Montserrat",sans-serif; }.hotel-card p { margin:0; color:#6a7e91; font:400 12px/1.65 "Montserrat",sans-serif; }.hotel-card__facts { display:flex; gap:16px; margin-top:16px; color:#ef5b3c; font:600 12px/1.25 "Montserrat",sans-serif; }.hotel-card__facts span { color:#6f8193; }
.info-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }.info-card { min-height:142px; padding:22px 16px; background:#fff; border:1px solid #dce5ed; text-align:left; }.info-card i { display:block; margin-bottom:15px; color:#2587bc; font:900 20px/1 "Font Awesome 6 Free"; }.info-card h3 { margin:0; color:#183d68; font:600 12px/1.35 "Montserrat",sans-serif; }.info-card p { margin:8px 0 0; color:#738599; font:400 11px/1.6 "Montserrat",sans-serif; }
.travel-tips { display:grid; grid-template-columns:4px minmax(0,1fr) auto; gap:26px; align-items:center; padding:25px 28px; background:#fff0e9; }.travel-tips::before { height:100%; content:""; background:#ef5b3c; }.travel-tips h2 { margin:0 0 9px; color:#c34c33; font:500 26px/1 "Oswald",sans-serif; letter-spacing:.3px; text-transform:uppercase; }.travel-tips ul { display:flex; flex-wrap:wrap; gap:7px 21px; margin:0; padding:0; color:#705c56; font:400 12px/1.65 "Montserrat",sans-serif; list-style:none; }.travel-tips li::before { content:"•"; margin-right:6px; color:#ef5b3c; }.travel-tips__icons { display:flex; gap:17px; color:#e87052; font:900 22px/1 "Font Awesome 6 Free"; }
.wuhan-stats { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid #dce5ed; background:#fff; }.wuhan-stats div { min-height:128px; padding:24px 20px; border-right:1px solid #dce5ed; border-bottom:1px solid #dce5ed; }.wuhan-stats div:nth-child(even){border-right:0}.wuhan-stats div:nth-last-child(-n+2){border-bottom:0}.wuhan-stats i { display:block; margin-bottom:11px; color:#2587bc; font:900 19px/1 "Font Awesome 6 Free"; }.wuhan-stats strong { display:block; color:#173f70; font:500 27px/1 "Oswald",sans-serif; }.wuhan-stats span { display:block; margin-top:6px; color:#758699; font:600 10px/1.35 "Montserrat",sans-serif; text-transform:uppercase; }
.destination-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.destination-card { overflow:hidden; background:#fff; border:1px solid #dce5ed; box-shadow:0 10px 24px rgba(15,40,73,.045); }.destination-card__image { height:180px; overflow:hidden; }.destination-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }.destination-card:hover img { transform:scale(1.035); }.destination-card__body { padding:19px 20px; }.destination-card__tag { color:#2d8a6b; font:700 10px/1 "Montserrat",sans-serif; letter-spacing:.65px; }.destination-card h3 { margin:12px 0 7px; color:#173f70; font:500 25px/1 "Oswald",sans-serif; }.destination-card p { margin:0; color:#718398; font:400 12px/1.65 "Montserrat",sans-serif; }
.theme-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }.theme-card { position:relative; min-height:268px; overflow:hidden; color:#fff; border-radius:5px; }.theme-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }.theme-card::after { position:absolute; inset:0; content:""; background:linear-gradient(transparent 25%,rgba(3,25,55,.9)); }.theme-card:hover img { transform:scale(1.035); }.theme-card__body { position:absolute; z-index:1; right:20px; bottom:20px; left:20px; }.theme-card h3 { margin:0; font:500 28px/1 "Oswald",sans-serif; text-transform:uppercase; }.theme-card p { margin:8px 0 13px; color:#e2eff8; font:400 11px/1.6 "Montserrat",sans-serif; }.theme-card a { color:#fff; font:700 10px/1 "Montserrat",sans-serif; letter-spacing:.7px; text-decoration:none; }.theme-card a span { color:#ff7d5e; }
.itinerary-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }.itinerary-card { padding:30px; background:#fff; border:1px solid #dce5ed; box-shadow:0 10px 24px rgba(15,40,73,.045); }.itinerary-card__head { display:flex; gap:14px; align-items:start; margin-bottom:24px; }.itinerary-card__day { display:grid; flex:0 0 auto; place-items:center; width:39px; height:39px; color:#fff; background:#174b8d; border-radius:50%; font:600 18px/1 "Oswald",sans-serif; }.itinerary-card h3 { margin:0; color:#173f70; font:500 28px/1 "Oswald",sans-serif; text-transform:uppercase; }.itinerary-card__head p { margin:7px 0 0; color:#718398; font:400 12px/1.6 "Montserrat",sans-serif; }.itinerary-stop { display:grid; grid-template-columns:18px minmax(0,1fr) 85px; gap:12px; align-items:center; padding:12px 0; border-top:1px solid #e2e9ee; }.itinerary-stop i { position:relative; color:#2784b7; font:900 11px/1 "Font Awesome 6 Free"; }.itinerary-stop i::after { position:absolute; top:15px; left:5px; width:1px; height:27px; content:""; background:#bbd5e4; }.itinerary-stop:last-child i::after{display:none}.itinerary-stop h4 { margin:0; color:#183d68; font:600 12px/1.35 "Montserrat",sans-serif; }.itinerary-stop p { margin:4px 0 0; color:#738599; font:400 11px/1.5 "Montserrat",sans-serif; }.itinerary-stop img { width:85px; height:57px; object-fit:cover; border-radius:3px; }
.taste-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }.taste-card { overflow:hidden; background:#fff; border:1px solid #dce5ed; }.taste-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }.taste-card__body { padding:18px; }.taste-card h3 { margin:0; color:#173f70; font:500 25px/1 "Oswald",sans-serif; }.taste-card span { display:block; margin-top:6px; color:#ef5b3c; font:600 11px/1 "Montserrat",sans-serif; }.taste-card p { margin:10px 0 0; color:#738599; font:400 11px/1.6 "Montserrat",sans-serif; }
.gallery-mosaic { display:grid; grid-template-columns:1.3fr 1fr 1fr 1.35fr; grid-template-rows:170px 170px; gap:10px; }.gallery-mosaic figure { position:relative; margin:0; overflow:hidden; border-radius:4px; }.gallery-mosaic figure:nth-child(1){grid-row:span 2}.gallery-mosaic figure:nth-child(5){grid-column:span 2}.gallery-mosaic img { width:100%; height:100%; object-fit:cover; transition:transform .28s ease; }.gallery-mosaic figcaption { position:absolute; right:0; bottom:0; left:0; padding:23px 14px 11px; color:#fff; background:linear-gradient(transparent,rgba(3,25,55,.8)); font:600 11px/1 "Montserrat",sans-serif; opacity:0; transition:opacity .25s ease; }.gallery-mosaic figure:hover img{transform:scale(1.035)}.gallery-mosaic figure:hover figcaption{opacity:1}
@media(max-width:1000px){.arrival-grid{grid-template-columns:repeat(2,1fr)}.hotel-grid{grid-template-columns:1fr}.hotel-card{display:grid;grid-template-columns:42% 58%}.hotel-card__image{height:auto;min-height:230px}.info-grid{grid-template-columns:repeat(3,1fr)}.theme-grid{grid-template-columns:repeat(2,1fr)}.taste-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.guide-intro,.travel-overview{grid-template-columns:1fr}.travel-overview__image{min-height:330px}.route-grid,.destination-grid{grid-template-columns:1fr}.guide-page .subpage-hero__inner,.guide-page .subpage-content{width:calc(100% - 36px)}.guide-section{margin-top:58px}.guide-section-title{align-items:start;flex-direction:column;gap:13px}.itinerary-grid{grid-template-columns:1fr}.gallery-mosaic{grid-template-columns:repeat(2,1fr);grid-template-rows:180px 180px 180px}.gallery-mosaic figure:nth-child(1),.gallery-mosaic figure:nth-child(5){grid-column:auto;grid-row:auto}.gallery-mosaic figure:nth-child(5){grid-column:span 2}.wuhan-stats{max-width:530px}}
@media(max-width:600px){.guide-page{padding-bottom:64px}.guide-page .subpage-hero{min-height:390px}.guide-page .subpage-hero__inner{padding:74px 0 56px}.guide-page .subpage-hero h1{font-size:43px}.guide-page .subpage-hero__lead{font-size:13px}.guide-intro{padding:52px 0 35px;gap:20px}.guide-intro h2,.guide-section-title h2{font-size:29px;letter-spacing:-1.35px}.arrival-grid,.info-grid,.theme-grid,.taste-grid{grid-template-columns:1fr}.travel-overview__copy{padding:27px 22px}.route-card figure{height:205px}.hotel-card{display:block}.hotel-card__image{height:210px;min-height:0}.travel-tips{grid-template-columns:4px 1fr;padding:22px 18px;gap:16px}.travel-tips__icons{display:none}.travel-tips ul{display:block}.travel-tips li{margin-top:5px}.itinerary-card{padding:23px 19px}.itinerary-stop{grid-template-columns:18px minmax(0,1fr) 65px}.itinerary-stop img{width:65px;height:52px}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:130px 130px 130px}.gallery-mosaic figure:nth-child(5){grid-column:span 2}}
