.hanoi-guide{--hanoi-card-border: rgba(14, 116, 144, .2);--hanoi-card-bg: rgba(255, 255, 255, .96);--hanoi-soft: rgba(240, 253, 250, .72)}.hanoi-guide .story-figure{margin:2rem auto;gap:.65rem;max-width:100%}.hanoi-guide .story-figure__trigger{display:block;width:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid rgba(125,211,252,.34);border-radius:1.45rem;background:var(--bg-soft);box-shadow:0 18px 44px #08204f1a}.hanoi-guide .story-figure__image{width:100%;height:100%;border:0;border-radius:0;box-shadow:none;object-fit:cover;object-position:center center}.hanoi-guide .story-figure__caption{margin-top:.7rem;color:var(--text-soft);line-height:1.45}.hanoi-card-grid,.hanoi-summary-grid,.hanoi-area-grid,.hanoi-itinerary-grid,.hanoi-daytrip-grid,.hanoi-transport-grid,.hanoi-mistake-grid,.hanoi-official-grid,.hanoi-related-grid,.hanoi-media-grid,.hanoi-booking-grid{display:grid;gap:1rem;margin:1.35rem 0 2rem;align-items:start}.hanoi-summary-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.hanoi-card-grid,.hanoi-area-grid,.hanoi-transport-grid,.hanoi-mistake-grid,.hanoi-official-grid,.hanoi-related-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.hanoi-itinerary-grid,.hanoi-daytrip-grid{grid-template-columns:1fr}.hanoi-summary-grid>div,.hanoi-card-grid>article,.hanoi-area-grid>article,.hanoi-itinerary-grid>article,.hanoi-daytrip-grid>article,.hanoi-transport-grid>article,.hanoi-mistake-grid>article,.hanoi-official-grid>a,.hanoi-related-grid>a,.hanoi-related-card,.hanoi-booking-card{overflow:hidden;border:1px solid var(--hanoi-card-border);border-radius:1.2rem;background:radial-gradient(circle at top left,rgba(186,230,253,.5),transparent 38%),linear-gradient(135deg,var(--hanoi-card-bg),rgba(248,251,255,.96));box-shadow:0 14px 34px #08204f14}.hanoi-summary-grid>div,.hanoi-card-grid>article,.hanoi-area-grid>article,.hanoi-itinerary-grid>article,.hanoi-daytrip-grid>article,.hanoi-transport-grid>article,.hanoi-mistake-grid>article,.hanoi-related-card,.hanoi-booking-card{padding:clamp(1rem,2.5vw,1.25rem)}.hanoi-summary-grid span,.hanoi-label,.hanoi-booking-card .eyebrow{display:inline-flex;width:fit-content;margin:0 0 .55rem;padding:.34rem .62rem;border-radius:999px;background:#dbeafee6;color:var(--accent-strong);font-size:.72rem;font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase}.hanoi-summary-grid strong{display:block;color:var(--text);line-height:1.35}.hanoi-card-grid h3,.hanoi-area-grid h3,.hanoi-itinerary-grid h3,.hanoi-daytrip-grid h3,.hanoi-transport-grid h3,.hanoi-mistake-grid h3,.hanoi-related-card h3,.hanoi-booking-card h3{margin:0 0 .55rem;color:var(--text);font-family:Newsreader Variable,serif;line-height:1.12}.hanoi-card-grid p,.hanoi-area-grid p,.hanoi-itinerary-grid p,.hanoi-daytrip-grid p,.hanoi-transport-grid p,.hanoi-mistake-grid p,.hanoi-related-card p,.hanoi-booking-card p{margin:.4rem 0 0;color:var(--text-soft);line-height:1.58}.hanoi-inline-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem}.hanoi-inline-links>span,.hanoi-inline-links>a{display:inline-flex;min-height:2.25rem;align-items:center;justify-content:center;border:1px solid rgba(125,211,252,.55);border-radius:999px;padding:.48rem .72rem;background:#ffffffe0;color:var(--accent-strong);font-size:.92rem;font-weight:850;line-height:1.2;text-decoration:none}.hanoi-media-grid .story-figure{margin:0}.hanoi-daytrip-image{display:block;width:100%;height:auto;aspect-ratio:16 / 9;margin:0 0 .9rem;border-radius:.85rem;object-fit:contain}.hanoi-booking-tools{margin:1.5rem 0 2rem;padding:clamp(1rem,3vw,1.35rem);border:1px solid rgba(14,116,144,.18);border-radius:var(--radius-lg);background:radial-gradient(circle at 12% 12%,rgba(14,116,144,.1),transparent 32%),linear-gradient(135deg,#f0fdfaf0,#fffffffa);box-shadow:0 18px 40px #08204f14}.hanoi-booking-tools .travelpayout-inline-widget--lazy,.hanoi-booking-tools .gyg-widget{width:100%;max-width:100%;min-width:0;min-height:0;height:auto;margin:0}.hanoi-booking-tools .travelpayout-inline-widget__placeholder,.hanoi-booking-tools .gyg-widget__placeholder{min-height:0;height:auto;align-content:start}.hanoi-booking-tools .travelpayout-inline-widget[data-lazy-travelpayout-loaded=true],.hanoi-booking-tools .travelpayout-inline-widget[data-lazy-kiwi-taxi-loaded=true],.hanoi-booking-tools .gyg-widget[data-lazy-gyg-loaded=true]{grid-column:1 / -1}.hanoi-booking-tools .travelpayout-inline-widget__embed,.hanoi-booking-tools .gyg-widget__embed{width:100%;max-width:100%;min-height:0;overflow:auto;border-radius:1.1rem;background:#fffffff0}.hanoi-booking-tools .travelpayout-inline-widget[data-lazy-travelpayout-loaded=true] .travelpayout-inline-widget__embed,.hanoi-booking-tools .travelpayout-inline-widget[data-lazy-kiwi-taxi-loaded=true] .travelpayout-inline-widget__embed,.hanoi-booking-tools .gyg-widget[data-lazy-gyg-loaded=true] .gyg-widget__embed{max-height:min(720px,82vh);border:1px solid rgba(125,211,252,.42);box-shadow:0 18px 40px #0f172a14}.hanoi-booking-tools .travelpayout-inline-widget iframe,.hanoi-booking-tools .gyg-widget iframe{display:block;width:100%;max-width:100%;border:0}.hanoi-official-grid>a,.hanoi-related-grid>a,.hanoi-related-card{padding:1rem;color:var(--text);font-weight:850;text-decoration:none}.hanoi-related-grid span,.hanoi-related-card span{display:block;margin-top:.35rem;color:var(--text-soft);font-weight:500;line-height:1.45}.hanoi-related-card--inactive{opacity:.78}@media(min-width:760px){.hanoi-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hanoi-media-grid .story-figure__trigger{aspect-ratio:1 / 1;max-height:380px}.hanoi-itinerary-grid,.hanoi-daytrip-grid,.hanoi-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1080px){.hanoi-itinerary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hanoi-daytrip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.hanoi-inline-links>a,.hanoi-inline-links>span{flex:1 1 140px}}.hanoi-inline-links .page-button,.rich-text .hanoi-inline-links a.page-button,.rich-text .hanoi-inline-links a.page-button:visited,.rich-text .hanoi-inline-links a.page-button:hover,.rich-text .hanoi-inline-links a.page-button:focus-visible{border:1px solid rgba(14,116,144,.26);background:#fffffff5;color:var(--accent-strong);box-shadow:none;outline:0;text-decoration:none}.hanoi-inline-links .page-button:hover{border-color:#007ffe57;background:#f0fdfafa}:root[data-theme=dark] .hanoi-guide{--hanoi-card-border: rgba(148, 234, 223, .28);--hanoi-card-bg: #172027;--hanoi-soft: rgba(148, 234, 223, .12)}:root[data-theme=dark] .hanoi-guide .story-figure__trigger{border-color:#94eadf47;background:#111820;box-shadow:0 18px 42px #00000047}:root[data-theme=dark] .hanoi-guide .story-figure__caption{color:#e8eef4c7}:root[data-theme=dark] .hanoi-summary-grid>div,:root[data-theme=dark] .hanoi-card-grid>article,:root[data-theme=dark] .hanoi-area-grid>article,:root[data-theme=dark] .hanoi-itinerary-grid>article,:root[data-theme=dark] .hanoi-daytrip-grid>article,:root[data-theme=dark] .hanoi-transport-grid>article,:root[data-theme=dark] .hanoi-mistake-grid>article,:root[data-theme=dark] .hanoi-official-grid>a,:root[data-theme=dark] .hanoi-related-grid>a,:root[data-theme=dark] .hanoi-related-card,:root[data-theme=dark] .hanoi-booking-card{border-color:var(--hanoi-card-border);background:radial-gradient(circle at top left,rgba(148,234,223,.1),transparent 42%),linear-gradient(135deg,#172027fa,#111820f5);color:var(--text);box-shadow:0 18px 40px #0000003d}:root[data-theme=dark] .hanoi-summary-grid strong,:root[data-theme=dark] .hanoi-card-grid h3,:root[data-theme=dark] .hanoi-area-grid h3,:root[data-theme=dark] .hanoi-itinerary-grid h3,:root[data-theme=dark] .hanoi-daytrip-grid h3,:root[data-theme=dark] .hanoi-transport-grid h3,:root[data-theme=dark] .hanoi-mistake-grid h3,:root[data-theme=dark] .hanoi-related-card h3,:root[data-theme=dark] .hanoi-booking-card h3,:root[data-theme=dark] .hanoi-official-grid>a,:root[data-theme=dark] .hanoi-related-grid>a{color:var(--text)}:root[data-theme=dark] .hanoi-card-grid p,:root[data-theme=dark] .hanoi-area-grid p,:root[data-theme=dark] .hanoi-itinerary-grid p,:root[data-theme=dark] .hanoi-daytrip-grid p,:root[data-theme=dark] .hanoi-transport-grid p,:root[data-theme=dark] .hanoi-mistake-grid p,:root[data-theme=dark] .hanoi-related-card p,:root[data-theme=dark] .hanoi-booking-card p,:root[data-theme=dark] .hanoi-related-grid span,:root[data-theme=dark] .hanoi-related-card span{color:#e8eef4c7}:root[data-theme=dark] .hanoi-summary-grid span,:root[data-theme=dark] .hanoi-label,:root[data-theme=dark] .hanoi-booking-card .eyebrow{background:#94eadf24;color:var(--accent-strong)}:root[data-theme=dark] .hanoi-booking-tools{border-color:#94eadf3d;background:radial-gradient(circle at 12% 12%,rgba(148,234,223,.1),transparent 34%),linear-gradient(135deg,#111820fa,#172027fa);box-shadow:0 20px 46px #00000042}:root[data-theme=dark] .hanoi-booking-tools .travelpayout-inline-widget--lazy,:root[data-theme=dark] .hanoi-booking-tools .gyg-widget,:root[data-theme=dark] .hanoi-booking-tools .travelpayout-inline-widget__placeholder,:root[data-theme=dark] .hanoi-booking-tools .gyg-widget__placeholder,:root[data-theme=dark] .hanoi-booking-tools .travelpayout-inline-widget__embed,:root[data-theme=dark] .hanoi-booking-tools .gyg-widget__embed{border-color:#94eadf3d;background:#111820;color:var(--text);box-shadow:none}:root[data-theme=dark] .hanoi-booking-tools .travelpayout-inline-widget__placeholder p:not(.eyebrow),:root[data-theme=dark] .hanoi-booking-tools .gyg-widget__placeholder p:not(.eyebrow){color:#e8eef4c7}:root[data-theme=dark] .hanoi-booking-tools .travelpayout-inline-widget__placeholder h3,:root[data-theme=dark] .hanoi-booking-tools .gyg-widget__placeholder h3{color:var(--text)}:root[data-theme=dark] .hanoi-booking-tools .travelpayout-inline-widget__placeholder button,:root[data-theme=dark] .hanoi-booking-tools .gyg-widget__actions button{border:0;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#071111;box-shadow:none}:root[data-theme=dark] .hanoi-booking-tools .gyg-widget__actions a,:root[data-theme=dark] .hanoi-booking-tools .booking-widget-close,:root[data-theme=dark] .hanoi-inline-links .page-button,:root[data-theme=dark] .rich-text .hanoi-inline-links a.page-button,:root[data-theme=dark] .rich-text .hanoi-inline-links a.page-button:visited,:root[data-theme=dark] .rich-text .hanoi-inline-links a.page-button:hover,:root[data-theme=dark] .rich-text .hanoi-inline-links a.page-button:focus-visible{border:1px solid rgba(148,234,223,.34);background:#0f141a;color:var(--accent-strong);box-shadow:none;outline:0;text-decoration:none}.hanoi-guide .hanoi-booking-tools .travelpayout-inline-widget__placeholder button,.hanoi-guide .hanoi-booking-tools .gyg-widget__actions button{min-height:2.75rem;border:0;border-radius:999px;background:linear-gradient(135deg,#0f766e,#116149);color:#fff;font-weight:900;line-height:1.1;text-align:center;text-shadow:none;box-shadow:0 12px 24px #0f766e38}.hanoi-guide .hanoi-booking-tools .travelpayout-inline-widget__placeholder button:hover,.hanoi-guide .hanoi-booking-tools .gyg-widget__actions button:hover{background:linear-gradient(135deg,#0b5f59,#0f4d3d);color:#fff;filter:none}.hanoi-guide .hanoi-booking-tools .gyg-widget__actions a,.hanoi-guide .hanoi-booking-tools .booking-widget-close,.hanoi-guide .hanoi-inline-links .page-button,.rich-text .hanoi-guide .hanoi-inline-links a.page-button,.rich-text .hanoi-guide .hanoi-inline-links a.page-button:visited,.rich-text .hanoi-guide .hanoi-inline-links a.page-button:hover,.rich-text .hanoi-guide .hanoi-inline-links a.page-button:focus-visible{min-height:2.35rem;border:1px solid rgba(14,116,144,.3);border-radius:999px;padding:.54rem .82rem;background:#fff;color:#075985;font-weight:850;line-height:1.15;text-align:center;text-decoration:none;text-shadow:none;box-shadow:none;outline:0;filter:none}.hanoi-guide .hanoi-inline-links .page-button>span{display:inline;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;text-decoration:none;box-shadow:none}.hanoi-guide .hanoi-booking-tools .gyg-widget__actions a:hover,.hanoi-guide .hanoi-booking-tools .booking-widget-close:hover,.hanoi-guide .hanoi-inline-links .page-button:hover,.rich-text .hanoi-guide .hanoi-inline-links a.page-button:hover{border-color:#0e74907a;background:#ecfeff;color:#0f766e;transform:translateY(-1px)}:root[data-theme=dark] .hanoi-guide .hanoi-booking-tools .travelpayout-inline-widget__placeholder button,:root[data-theme=dark] .hanoi-guide .hanoi-booking-tools .gyg-widget__actions button{background:linear-gradient(135deg,#0f766e,#0b5f59);color:#fff;box-shadow:0 12px 24px #0000003d}:root[data-theme=dark] .hanoi-guide .hanoi-booking-tools .travelpayout-inline-widget__placeholder button:hover,:root[data-theme=dark] .hanoi-guide .hanoi-booking-tools .gyg-widget__actions button:hover{background:linear-gradient(135deg,#14b8a6,#0f766e);color:#071111}:root[data-theme=dark] .hanoi-guide .hanoi-booking-tools .gyg-widget__actions a,:root[data-theme=dark] .hanoi-guide .hanoi-booking-tools .booking-widget-close,:root[data-theme=dark] .hanoi-guide .hanoi-inline-links .page-button,:root[data-theme=dark] .rich-text .hanoi-guide .hanoi-inline-links a.page-button,:root[data-theme=dark] .rich-text .hanoi-guide .hanoi-inline-links a.page-button:visited,:root[data-theme=dark] .rich-text .hanoi-guide .hanoi-inline-links a.page-button:hover,:root[data-theme=dark] .rich-text .hanoi-guide .hanoi-inline-links a.page-button:focus-visible{border-color:#94eadf61;background:#172027;color:var(--accent-strong);box-shadow:none}:root[data-theme=dark] .hanoi-guide .hanoi-booking-tools .gyg-widget__actions a:hover,:root[data-theme=dark] .hanoi-guide .hanoi-booking-tools .booking-widget-close:hover,:root[data-theme=dark] .hanoi-guide .hanoi-inline-links .page-button:hover,:root[data-theme=dark] .rich-text .hanoi-guide .hanoi-inline-links a.page-button:hover{border-color:#94eadf94;background:#94eadf24;color:var(--text)}
