.tn-place-page-body .tn-footer { margin-top: 0; }

.tn-place-page {
    --place-blue: #0866ed;
    --place-navy: #092965;
    --place-copy: #536b91;
    --place-line: #d6e4f2;
    --place-soft: #eff9ff;
    color: var(--place-navy);
    background: #fff;
    font-size: 14px;
}

.tn-place-page [hidden] { display: none !important; }
.tn-place-page section[id], .tn-place-page main[id], .tn-place-page article[id] { scroll-margin-top: 62px; }
.tn-place-page h1, .tn-place-page h2, .tn-place-page h3, .tn-place-page p { margin-top: 0; }
.tn-place-page h2 { margin-bottom: 0; color: #0c3278; font-size: 1.45rem; line-height: 1.12; letter-spacing: -.035em; }

.tn-place-hero {
    min-height: 325px;
    color: #fff;
    background-image: linear-gradient(90deg, rgba(4, 46, 112, .96) 0%, rgba(3, 63, 132, .82) 42%, rgba(3, 75, 126, .12) 78%), var(--place-hero-image);
    background-position: center;
    background-size: cover;
}

.tn-place-hero__inner { padding: 12px 0 18px; }
.tn-place-breadcrumbs { display: flex; align-items: center; gap: 8px; overflow: hidden; color: rgba(255,255,255,.85); font-size: .64rem; white-space: nowrap; }
.tn-place-breadcrumbs a { color: inherit; }
.tn-place-breadcrumbs i { font-size: .45rem; opacity: .65; }
.tn-place-hero__grid { display: grid; grid-template-columns: minmax(0,1fr) 205px; gap: 40px; align-items: center; margin-top: 15px; }
.tn-place-hero__copy { max-width: 720px; }
.tn-place-eyebrow { display: inline-flex; margin-bottom: 4px; padding: 4px 7px; border-radius: 3px; background: #0875ef; color: #fff; font-size: .58rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.tn-place-hero h1 { margin: 0; color: #fff; font-size: clamp(2.55rem,4.5vw,4rem); line-height: .98; letter-spacing: -.055em; }
.tn-place-hero__copy > p { max-width: 690px; margin: 7px 0 0; color: #fff; font-size: .88rem; font-weight: 550; line-height: 1.4; text-shadow: 0 2px 12px rgba(1,34,74,.35); }
.tn-place-hero__facts { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; }
.tn-place-hero__facts span { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.94); font-size: .64rem; font-weight: 750; }
.tn-place-hero__facts i { width: 13px; color: #fff; text-align: center; }
.tn-place-verified { display: inline-flex; align-items: center; gap: 5px; margin-top: 9px; color: #d9ffed; font-size: .63rem; font-weight: 800; }
.tn-place-verified i { color: #4be2a0; }
.tn-place-hero__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.tn-place-hero__actions a { display: inline-flex; min-height: 36px; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid rgba(255,255,255,.9); border-radius: 5px; background: #fff; color: #124d9d; font-size: .63rem; font-weight: 900; box-shadow: 0 5px 13px rgba(0,30,73,.12); }
.tn-place-hero__actions a.is-primary { border-color: #137aff; background: #0873ee; color: #fff; }

.tn-place-weather-card { overflow: hidden; padding: 14px; border-radius: 7px; background: rgba(255,255,255,.97); color: var(--place-navy); box-shadow: 0 12px 28px rgba(2,36,78,.18); }
.tn-place-weather-card > div { display: flex; gap: 12px; align-items: center; }
.tn-place-weather-card > div > i { color: #ffb400; font-size: 2.35rem; }
.tn-place-weather-card strong, .tn-place-weather-card small { display: block; }
.tn-place-weather-card strong { font-size: 1.6rem; line-height: 1; }
.tn-place-weather-card small { margin-top: 3px; color: #647897; font-size: .59rem; }
.tn-place-weather-card dl { margin: 12px 0 0; padding: 9px 0; border-block: 1px solid var(--place-line); }
.tn-place-weather-card dl > div { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; font-size: .53rem; }
.tn-place-weather-card dt { color: #577098; }
.tn-place-weather-card dt i { width: 15px; color: #397bd6; }
.tn-place-weather-card dd { margin: 0; font-weight: 800; }
.tn-place-weather-card > a { display: flex; justify-content: space-between; margin-top: 9px; color: var(--place-blue); font-size: .56rem; font-weight: 900; }

.tn-place-page .tn-node-rating { margin-top: 9px; color: #fff; font-size: .61rem; }
.tn-place-page .tn-node-rating__aggregate { gap: 5px; }
.tn-place-page .tn-node-rating__aggregate i { font-size: .8rem; }
.tn-place-page .tn-node-rating__aggregate strong { font-size: .72rem; }
.tn-place-page .tn-node-rating__aggregate span { font-size: .6rem; }
.tn-place-page .tn-node-rating__divider { height: 15px; }
.tn-place-page .tn-node-rating__open { min-height: 25px; padding: 3px 9px; background: rgba(4,44,95,.35); font-size: .58rem; }

.tn-place-local-nav { position: sticky; z-index: 40; top: 0; border-bottom: 1px solid var(--place-line); background: rgba(255,255,255,.98); box-shadow: 0 4px 13px rgba(12,54,104,.06); }
.tn-place-local-nav .tn-shell { display: flex; justify-content: space-between; overflow-x: auto; scrollbar-width: none; }
.tn-place-local-nav a { position: relative; display: inline-flex; min-height: 46px; align-items: center; gap: 7px; padding: 0 11px; color: #173d79; font-size: .61rem; font-weight: 850; white-space: nowrap; }
.tn-place-local-nav a::after { position: absolute; right: 8px; bottom: 0; left: 8px; height: 3px; border-radius: 3px 3px 0 0; background: transparent; content: ""; }
.tn-place-local-nav a:hover, .tn-place-local-nav a.is-active { color: var(--place-blue); }
.tn-place-local-nav a.is-active::after { background: var(--place-blue); }

.tn-place-search-band { padding: 13px 0 14px; background: linear-gradient(115deg,#eefaff,#fff); }
.tn-place-search { position: relative; display: grid; min-height: 43px; grid-template-columns: 28px minmax(0,1fr) 93px; align-items: center; border: 1px solid #bcd7f2; border-radius: 6px; background: #fff; box-shadow: 0 5px 15px rgba(12,70,136,.08); }
.tn-place-search > i { margin-left: 12px; color: var(--place-blue); font-size: .75rem; }
.tn-place-search input { width: 100%; height: 41px; padding: 0 9px; border: 0; outline: 0; background: transparent; color: var(--place-navy); font: inherit; font-size: .65rem; }
.tn-place-search > button { align-self: stretch; border: 0; border-radius: 0 5px 5px 0; background: var(--place-blue); color: #fff; cursor: pointer; font: inherit; font-size: .6rem; font-weight: 900; }
.tn-place-search-chips { display: flex; gap: 7px; margin-top: 9px; overflow-x: auto; scrollbar-width: thin; }
.tn-place-search-chips a { display: inline-flex; min-height: 31px; flex: 1 0 auto; align-items: center; justify-content: center; gap: 6px; padding: 0 11px; border: 1px solid var(--place-line); border-radius: 5px; background: #fff; color: #31517f; font-size: .52rem; font-weight: 800; white-space: nowrap; }
.tn-place-search-chips i:first-child { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 5px; background: #e7f2ff; color: var(--place-blue); }
.tn-place-search-results { position: absolute; z-index: 1000; top: calc(100% + 5px); right: 0; left: 0; overflow: hidden; border: 1px solid #bfd5ed; border-radius: 7px; background: #fff; box-shadow: 0 18px 45px rgba(8,39,82,.18); }
.tn-place-search-group { padding: 7px 12px; border-bottom: 1px solid #e9f0f8; background: #f6faff; color: #38577f; font-size: .56rem; font-weight: 900; text-transform: uppercase; }
.tn-place-search-result { display: grid; grid-template-columns: 40px minmax(0,1fr) 16px; gap: 9px; align-items: center; padding: 8px 12px; border-bottom: 1px solid #edf2f7; }
.tn-place-search-result:hover { background: #f2f8ff; }
.tn-place-search-result img, .tn-place-search-result > i:first-child { width: 40px; height: 31px; border-radius: 4px; object-fit: cover; }
.tn-place-search-result > i:first-child { display: grid; place-items: center; background: #e4f1ff; color: var(--place-blue); }
.tn-place-search-result strong, .tn-place-search-result small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tn-place-search-result strong { font-size: .63rem; }
.tn-place-search-result small { margin-top: 2px; color: var(--place-copy); font-size: .52rem; }
.tn-place-search-all { display: flex; justify-content: space-between; padding: 10px 12px; color: var(--place-blue); font-size: .6rem; font-weight: 900; }

.tn-place-section { padding-top: 19px; padding-bottom: 19px; }
.tn-place-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 10px; }
.tn-place-heading p { margin: 3px 0 0; color: var(--place-copy); font-size: .59rem; line-height: 1.4; }
.tn-place-heading > a { color: var(--place-blue); font-size: .57rem; font-weight: 900; white-space: nowrap; }

.tn-place-explore-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.tn-place-explore-card { overflow: hidden; border: 1px solid #cfdfee; border-radius: 6px; background: #fff; box-shadow: 0 3px 9px rgba(12,53,104,.05); transition: transform .16s ease,box-shadow .16s ease; }
.tn-place-explore-card:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(12,53,104,.12); }
.tn-place-card-image { display: block; height: 86px; background-image: linear-gradient(180deg,transparent,rgba(8,37,75,.06)),var(--place-card-image); background-position: center; background-size: cover; }
.tn-place-card-copy { display: grid; min-height: 75px; grid-template-columns: 30px minmax(0,1fr) 10px; gap: 7px; align-items: start; padding: 9px; }
.tn-place-card-copy > i:first-child { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #e5f1ff; color: var(--place-blue); font-size: .67rem; }
.tn-place-card-copy > i.is-orange, .tn-place-card-copy > i.is-coral { background: #fff0df; color: #ee7110; }
.tn-place-card-copy > i.is-green { background: #e1f7ed; color: #0b9a6a; }
.tn-place-card-copy > i.is-purple { background: #f2e8ff; color: #8743d2; }
.tn-place-card-copy strong, .tn-place-card-copy small, .tn-place-card-copy b { display: block; }
.tn-place-card-copy strong { color: #123b79; font-size: .69rem; }
.tn-place-card-copy small { min-height: 24px; margin-top: 2px; color: var(--place-copy); font-size: .51rem; line-height: 1.28; }
.tn-place-card-copy b { margin-top: 3px; color: var(--place-blue); font-size: .5rem; }
.tn-place-card-copy > i:last-child { align-self: end; color: var(--place-blue); font-size: .52rem; }

.tn-place-band { background: linear-gradient(105deg,#edf9ff,#fff); }
.tn-place-five-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.tn-place-listing-card { position: relative; overflow: hidden; border: 1px solid #d2e0ee; border-radius: 6px; background: #fff; }
.tn-place-listing-card .tn-place-card-image { height: 96px; }
.tn-place-listing-card > div { min-height: 88px; padding: 8px 9px 5px; }
.tn-place-listing-card h3 { margin: 0; font-size: .64rem; line-height: 1.25; }
.tn-place-listing-card h3 a { color: #133c79; }
.tn-place-listing-card > div > small { display: block; margin-top: 2px; color: #6380a5; font-size: .46rem; }
.tn-place-listing-card p { display: -webkit-box; margin: 4px 0 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: var(--place-copy); font-size: .5rem; line-height: 1.35; }
.tn-place-listing-card footer { display: flex; min-height: 27px; align-items: center; justify-content: space-between; padding: 3px 8px; border-top: 1px solid #e7eef6; color: #5d7394; font-size: .46rem; }
.tn-place-listing-card footer > button { padding: 0; border: 0; background: none; color: #365f99; cursor: pointer; font: inherit; font-weight: 750; }
.tn-place-listing-card footer > button.is-selected { color: var(--place-blue); }
.tn-place-listing-card .tn-save-card { position: static; }
.tn-place-listing-card .tn-save-card button, .tn-place-listing-card .tn-save-card__login { width: auto; height: 22px; gap: 4px; border-radius: 0; background: none; box-shadow: none; color: #365f99; font-size: .46rem; }
.tn-place-listing-card .tn-save-card button::after, .tn-place-listing-card .tn-save-card__login::after { content: "Save"; }
.tn-place-listing-card.is-compact > div { min-height: 70px; }
.tn-place-listing-card.is-compact p { -webkit-line-clamp: 2; }
.tn-place-heart { color: #365f99; }

.tn-place-compare-bar { display: grid; grid-template-columns: minmax(170px,1fr) 2fr auto; gap: 10px; align-items: center; margin-top: 9px; padding: 8px 10px; border: 1px solid #cce3f7; border-radius: 6px; background: #eef8ff; }
.tn-place-compare-bar > span { display: flex; gap: 8px; color: #214e88; font-size: .58rem; }
.tn-place-compare-bar > div { display: flex; gap: 5px; overflow-x: auto; }
.tn-place-compare-chip { padding: 4px 6px; border-radius: 4px; background: #fff; color: #27466f; font-size: .5rem; font-weight: 800; white-space: nowrap; }
.tn-place-compare-chip button { margin-left: 4px; border: 0; background: none; color: var(--place-blue); cursor: pointer; }
.tn-place-compare-bar > button { min-height: 29px; padding: 0 12px; border: 0; border-radius: 4px; background: var(--place-blue); color: #fff; font: inherit; font-size: .52rem; font-weight: 900; }
.tn-place-compare-bar > button:disabled { background: #bdcce0; }
.tn-place-compare-panel { margin-top: 8px; padding: 14px; border: 1px solid #bed7ef; border-radius: 7px; background: #fff; box-shadow: 0 10px 25px rgba(10,50,99,.1); }
.tn-place-compare-panel-heading { display: flex; justify-content: space-between; }
.tn-place-compare-panel-heading small { color: var(--place-blue); font-size: .5rem; font-weight: 900; text-transform: uppercase; }
.tn-place-compare-panel-heading h3 { margin: 3px 0 9px; }
.tn-place-compare-panel-heading button { border: 0; background: none; color: #68809f; }
.tn-place-comparison { display: grid; grid-template-columns: 90px repeat(var(--compare-count),minmax(0,1fr)); overflow: hidden; border: 1px solid var(--place-line); border-radius: 6px; }
.tn-place-comparison > * { min-width: 0; padding: 8px; border-right: 1px solid var(--place-line); border-bottom: 1px solid var(--place-line); font-size: .52rem; }
.tn-place-comparison .is-label { background: #f5f9fe; color: #677a99; font-weight: 900; }
.tn-place-comparison img { width: 100%; height: 72px; border-radius: 4px; object-fit: cover; }
.tn-place-comparison p { margin: 0; color: var(--place-copy); font-size: .5rem; }

.tn-place-directory-band { background: linear-gradient(105deg,#ecfaff,#f8fdff); }
.tn-place-directory-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
.tn-place-directory-grid a { display: grid; min-height: 53px; grid-template-columns: 30px minmax(0,1fr); gap: 7px; align-items: center; padding: 6px 8px; border: 1px solid #d5e4f2; border-radius: 5px; background: #fff; }
.tn-place-directory-grid i { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 7px; background: #e7f2ff; color: var(--place-blue); font-size: .65rem; }
.tn-place-directory-grid strong, .tn-place-directory-grid small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tn-place-directory-grid strong { font-size: .55rem; }
.tn-place-directory-grid small { margin-top: 2px; color: #6a7e9c; font-size: .45rem; }
.tn-place-browse-button { display: flex; width: fit-content; min-height: 33px; align-items: center; gap: 8px; margin: 10px auto 0; padding: 0 15px; border-radius: 5px; background: var(--place-blue); color: #fff; font-size: .54rem; font-weight: 900; }

.tn-place-map-grid { display: grid; grid-template-columns: 1.25fr .9fr; gap: 10px; }
.tn-place-map-card { position: relative; min-height: 300px; overflow: hidden; border: 1px solid var(--place-line); border-radius: 6px; background: #dfeeed; }
.tn-place-map-card .tn-place-map-canvas { width: 100%; height: 300px; }
.tn-place-map-card > a { position: absolute; z-index: 500; bottom: 10px; left: 10px; padding: 7px 10px; border-radius: 4px; background: rgba(6,45,95,.9); color: #fff; font-size: .5rem; font-weight: 850; }
.tn-place-map-card .tn-place-map-status { position: absolute; z-index: 500; top: 10px; left: 10px; margin: 0; padding: 5px 7px; border-radius: 4px; background: rgba(6,45,95,.85); color: #fff; font-size: .48rem; }
.tn-place-map-popup strong, .tn-place-map-popup small { display: block; }
.tn-place-map-popup small { color: #617493; }
.tn-place-map-popup a { display: inline-block; margin-top: 4px; color: var(--place-blue); font-weight: 800; }
.tn-place-hierarchy-card { min-height: 300px; overflow: hidden; border: 1px solid var(--place-line); border-radius: 6px; background: #fff; }
.tn-place-hierarchy-tabs { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--place-line); background: #f5f9fe; color: #527098; font-size: .49rem; text-align: center; }
.tn-place-hierarchy-tabs > * { padding: 8px 4px; }
.tn-place-hierarchy-tabs strong { border-radius: 4px 4px 0 0; background: var(--place-blue); color: #fff; }
.tn-place-hierarchy-path { display: flex; gap: 5px; align-items: center; padding: 9px 10px; color: var(--place-blue); font-size: .48rem; }
.tn-place-hierarchy-path i { font-size: .35rem; }
.tn-place-hierarchy-list { padding: 0 10px; }
.tn-place-hierarchy-list > * { display: grid; min-height: 29px; grid-template-columns: 20px minmax(0,1fr) auto; gap: 6px; align-items: center; border-bottom: 1px solid #e8eef5; color: #163b75; font-size: .49rem; }
.tn-place-hierarchy-list i { color: var(--place-blue); text-align: center; }
.tn-place-hierarchy-list span { padding: 3px 5px; border-radius: 3px; background: #eef3f8; color: #6b7e9a; font-size: .42rem; }
.tn-place-hierarchy-list .is-current { font-weight: 900; }
.tn-place-text-link { display: inline-flex; gap: 6px; margin: 8px 10px; color: var(--place-blue); font-size: .49rem; font-weight: 850; }

.tn-place-life-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.tn-place-life-grid article { display: grid; min-height: 160px; grid-template-columns: 42px minmax(0,1fr); gap: 9px; padding: 13px; border: 1px solid #d7e5f2; border-radius: 6px; background: #fff; }
.tn-place-life-grid article > i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #e6f2ff; color: var(--place-blue); }
.tn-place-life-grid article > i.is-green { background: #dff7ec; color: #08a06e; }
.tn-place-life-grid article > i.is-purple { background: #f2e6ff; color: #8c3fe0; }
.tn-place-life-grid h3 { margin: 2px 0 5px; font-size: .66rem; }
.tn-place-life-grid ul { display: grid; gap: 3px; margin: 0 0 8px; padding: 0; color: #597094; font-size: .49rem; list-style: none; }
.tn-place-life-grid li::before { margin-right: 6px; color: #678bba; font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f3c5"; }
.tn-place-life-grid a { color: var(--place-blue); font-size: .5rem; font-weight: 900; }

.tn-place-practical-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; }
.tn-place-practical-grid a { display: grid; min-height: 48px; grid-template-columns: 30px minmax(0,1fr); gap: 7px; align-items: center; padding: 6px 8px; border: 1px solid #d5e4f2; border-radius: 5px; }
.tn-place-practical-grid i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 7px; background: #e7f2ff; color: var(--place-blue); font-size: .62rem; }
.tn-place-practical-grid strong, .tn-place-practical-grid small { display: block; }
.tn-place-practical-grid strong { font-size: .51rem; }
.tn-place-practical-grid small { margin-top: 2px; color: #6c809f; font-size: .42rem; }

.tn-place-now-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.tn-place-now-grid > a { display: grid; min-height: 86px; grid-template-columns: 37px minmax(0,1fr); gap: 8px; padding: 10px; border: 1px solid #d5e4f2; border-radius: 6px; }
.tn-place-now-grid > a > i { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: #e8f2ff; color: var(--place-blue); font-size: .9rem; }
.tn-place-now-grid > a > i.is-yellow { background: #fff5d8; color: #f2a900; }
.tn-place-now-grid > a > i.is-purple { background: #f1e8ff; color: #8743d2; }
.tn-place-now-grid > a > i.is-green { background: #dff7ec; color: #0b9a6a; }
.tn-place-now-grid strong, .tn-place-now-grid small, .tn-place-now-grid b { display: block; }
.tn-place-now-grid strong { font-size: .57rem; }
.tn-place-now-grid small { min-height: 23px; margin-top: 2px; color: #617695; font-size: .45rem; line-height: 1.25; }
.tn-place-now-grid b { margin-top: 5px; color: var(--place-blue); font-size: .45rem; }

.tn-place-understand { padding-top: 15px; }
.tn-place-understand-grid { display: grid; grid-template-columns: 235px minmax(0,1fr) 350px; gap: 12px; align-items: stretch; }
.tn-place-understand-image { min-height: 170px; border-radius: 6px; background-image: var(--place-card-image); background-position: center; background-size: cover; }
.tn-place-understand-grid > article { padding: 5px 8px; }
.tn-place-understand-grid > article > p { margin-bottom: 7px; color: #4e678d; font-size: .54rem; line-height: 1.55; }
.tn-place-understand-grid > article > div { display: flex; flex-wrap: wrap; gap: 7px; }
.tn-place-understand-grid > article > div > a { padding: 6px 8px; border: 1px solid #cbddef; border-radius: 4px; color: var(--place-blue); font-size: .48rem; font-weight: 850; }
.tn-place-glance { border: 1px solid #d7e5f2; border-radius: 6px; background: #fff; }
.tn-place-glance h3 { margin: 0 0 6px; font-size: .64rem; }
.tn-place-glance dl { display: grid; grid-template-columns: 105px 1fr; margin: 0; font-size: .46rem; }
.tn-place-glance dt, .tn-place-glance dd { margin: 0; padding: 4px 5px; border: 1px solid #e2eaf3; }
.tn-place-glance dt { color: #637b9d; }
.tn-place-glance dd { font-weight: 750; }

.tn-place-lower-grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 12px; padding: 2px 0 18px; }
.tn-place-lower-grid > article { min-width: 0; }
.tn-place-mini-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
.tn-place-mini-heading h3 { margin: 0; font-size: .65rem; }
.tn-place-mini-heading a { color: var(--place-blue); font-size: .45rem; font-weight: 850; }
.tn-place-forecast { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); overflow: hidden; border: 1px solid #dbe6f1; border-radius: 5px; }
.tn-place-forecast span { padding: 7px 3px; border-right: 1px solid #e3ebf4; text-align: center; }
.tn-place-forecast strong, .tn-place-forecast i, .tn-place-forecast small { display: block; }
.tn-place-forecast strong { font-size: .43rem; }
.tn-place-forecast i { margin: 5px 0; color: #ffb600; }
.tn-place-forecast small { color: #557196; font-size: .4rem; }
.tn-place-lower-grid > article > p { color: var(--place-copy); font-size: .5rem; }
.tn-place-question-list, .tn-place-nearby-list { border: 1px solid #dbe6f1; border-radius: 5px; }
.tn-place-question-list button, .tn-place-nearby-list a { display: grid; width: 100%; min-height: 25px; grid-template-columns: 17px minmax(0,1fr) auto; gap: 4px; align-items: center; padding: 4px 7px; border: 0; border-bottom: 1px solid #e7edf4; background: #fff; color: #365378; font: inherit; font-size: .44rem; text-align: left; }
.tn-place-question-list button { cursor: pointer; }
.tn-place-question-list i, .tn-place-nearby-list i { color: var(--place-blue); }
.tn-place-nearby-list strong { font-size: .44rem; }
.tn-place-nearby-list span { color: #6b7e9a; font-size: .4rem; }

.tn-place-ask { border-block: 1px solid #dce8f3; background: #f2f9ff; }
.tn-place-ask > .tn-shell { display: grid; min-height: 54px; grid-template-columns: auto 1fr 27px; gap: 14px; align-items: center; }
.tn-place-ask > .tn-shell > span { display: grid; grid-template-columns: 30px 1fr; align-items: center; }
.tn-place-ask > .tn-shell > span > i { display: grid; width: 28px; height: 28px; grid-row: 1/3; place-items: center; border-radius: 50%; background: #ffede5; color: #ef6340; }
.tn-place-ask strong, .tn-place-ask small { display: block; }
.tn-place-ask strong { font-size: .53rem; }
.tn-place-ask small { color: #6b7e9a; font-size: .4rem; }
.tn-place-ask > .tn-shell > div { display: flex; justify-content: flex-end; gap: 5px; }
.tn-place-ask button { min-height: 23px; padding: 0 8px; border: 1px solid #caddec; border-radius: 999px; background: #fff; color: #275798; cursor: pointer; font: inherit; font-size: .42rem; font-weight: 750; white-space: nowrap; }
.tn-place-ask > .tn-shell > button { width: 27px; height: 27px; padding: 0; }

.tn-place-provenance { background: #e9f6ff; }
.tn-place-provenance > .tn-shell { display: grid; min-height: 54px; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; }
.tn-place-provenance > .tn-shell > i { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--place-blue); color: #fff; font-size: .6rem; }
.tn-place-provenance dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 0; }
.tn-place-provenance dt { color: #6b809e; font-size: .4rem; }
.tn-place-provenance dd { margin: 1px 0 0; font-size: .44rem; font-weight: 800; }
.tn-place-provenance dd a { color: var(--place-blue); }
.tn-place-provenance .tn-suggestion { position: static; }
.tn-place-provenance .tn-suggestion-trigger { position: static; display: inline-flex; min-height: 25px; align-items: center; gap: 5px; padding: 0 8px; border: 1px solid #caddec; border-radius: 4px; background: #fff; color: #245393; font-size: .43rem; font-weight: 800; }

.tn-place-not-found { min-height: 55vh; padding: 90px 0; }
.tn-place-not-found > span { color: var(--tn-primary); font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.tn-place-not-found h1 { margin: 8px 0; font-size: 3rem; }
.tn-place-not-found a { display: inline-flex; margin-top: 15px; padding: 10px 16px; border-radius: 7px; background: var(--tn-primary); color: #fff; font-weight: 800; }

@media (max-width: 980px) {
    .tn-place-explore-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tn-place-five-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .tn-place-directory-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .tn-place-practical-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .tn-place-now-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .tn-place-understand-grid { grid-template-columns: 220px 1fr; }
    .tn-place-glance { grid-column: 1/3; }
    .tn-place-ask > .tn-shell > div { overflow-x: auto; justify-content: flex-start; }
}

@media (max-width: 720px) {
    .tn-place-page h2 { font-size: 1.25rem; }
    .tn-place-hero { min-height: auto; background-image: linear-gradient(rgba(4,46,112,.88),rgba(3,63,132,.84)),var(--place-hero-image); }
    .tn-place-hero__inner { padding: 12px 0 22px; }
    .tn-place-breadcrumbs { overflow-x: auto; }
    .tn-place-hero__grid { display: block; }
    .tn-place-hero h1 { font-size: 2.5rem; }
    .tn-place-hero__copy > p { font-size: .75rem; }
    .tn-place-weather-card { margin-top: 15px; }
    .tn-place-local-nav .tn-shell { justify-content: flex-start; }
    .tn-place-search { grid-template-columns: 24px minmax(0,1fr) 72px; }
    .tn-place-search-chips { margin-inline: -2px; }
    .tn-place-heading { align-items: flex-start; }
    .tn-place-heading > a { margin-top: 3px; }
    .tn-place-five-grid { display: flex; overflow-x: auto; padding-bottom: 5px; scroll-snap-type: x mandatory; }
    .tn-place-five-grid > * { min-width: 220px; flex: 0 0 78%; scroll-snap-align: start; }
    .tn-place-card-image, .tn-place-listing-card .tn-place-card-image { height: 120px; }
    .tn-place-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tn-place-map-grid, .tn-place-life-grid, .tn-place-lower-grid { grid-template-columns: 1fr; }
    .tn-place-map-card, .tn-place-map-card .tn-place-map-canvas { min-height: 280px; height: 280px; }
    .tn-place-practical-grid, .tn-place-now-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tn-place-understand-grid { grid-template-columns: 1fr; }
    .tn-place-understand-image { min-height: 210px; }
    .tn-place-glance { grid-column: auto; }
    .tn-place-ask > .tn-shell { grid-template-columns: 1fr 26px; padding-block: 9px; }
    .tn-place-ask > .tn-shell > div { grid-column: 1/3; grid-row: 2; }
    .tn-place-provenance > .tn-shell { grid-template-columns: 30px 1fr; padding-block: 10px; }
    .tn-place-provenance dl { grid-column: 1/3; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tn-place-provenance .tn-suggestion { grid-column: 1/3; }
}

@media (max-width: 480px) {
    .tn-place-hero__actions a { flex: 1 1 auto; justify-content: center; }
    .tn-place-explore-grid, .tn-place-practical-grid, .tn-place-now-grid { grid-template-columns: 1fr; }
    .tn-place-explore-card { display: grid; grid-template-columns: 105px 1fr; }
    .tn-place-explore-card .tn-place-card-image { height: 100%; min-height: 105px; }
    .tn-place-directory-grid { grid-template-columns: 1fr; }
    .tn-place-compare-bar { grid-template-columns: 1fr; }
    .tn-place-comparison { grid-template-columns: 75px repeat(var(--compare-count),minmax(130px,1fr)); overflow-x: auto; }
}
