/* report.css */
/* Thai Report Kit 1.20.0 — scoped to .tr-report; no theme-wide resets. */
.tr-report {
  --tr-ink:#18323e; --tr-body:#344650; --tr-muted:#586b73;
  --tr-accent:#176c70; --tr-line:#d5dedc; --tr-soft:#f2f6f4;
  --tr-warm:#faf7f0; --tr-warning:#795323; --tr-paper:#fff;
  box-sizing:border-box; container:tr-article / inline-size;
  width:100%; max-width:980px; margin:0 auto; color:var(--tr-body);
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  font-size:16px; font-weight:400; line-height:1.95; overflow-wrap:anywhere;
  text-align:left; letter-spacing:.015em;
}
.tr-report *, .tr-report *::before, .tr-report *::after {box-sizing:border-box}
.tr-report :where(p,ul,ol,dl,figure,blockquote,table) {margin:0 0 1.1em}
.tr-report :where(ul,ol) {padding-left:1.5em}
.tr-report li+li {margin-top:.5em}
.tr-report :is(h1,h2,h3,h4) {position:static; border:0; border-radius:0; background:none; box-shadow:none; color:var(--tr-ink); font-family:inherit; font-weight:700; line-height:1.55; padding:0; letter-spacing:.025em}
.tr-report.tr-report :is(h1,h2,h3,h4)::before, .tr-report.tr-report :is(h1,h2,h3,h4)::after {content:none; display:none}
.tr-report h1 {font-size:clamp(25px,4cqi,38px); font-weight:750; margin:12px 0 20px; text-wrap:pretty}
.tr-report h2 {font-size:clamp(22px,3cqi,29px); margin:44px 0 22px; padding:0 0 14px; border-bottom:1px solid var(--tr-ink); text-wrap:pretty}
.tr-report h3 {font-size:20px; margin:30px 0 14px}
.tr-report h4 {font-size:17px; margin:24px 0 12px}
.tr-report strong {font-weight:700; color:var(--tr-ink)}
.tr-report em {font-style:normal; font-weight:700; color:var(--tr-accent)}
.tr-report a {color:var(--tr-accent); text-decoration:underline; text-underline-offset:.22em}
.tr-report a:hover {text-decoration-thickness:2px}
.tr-report :where(a,button,summary,[tabindex]):focus-visible {outline:3px solid #bd772c; outline-offset:4px}
.tr-report img {display:block; max-width:100%; height:auto}
.tr-report hr {border:0; border-top:1px solid var(--tr-line); margin:48px 0}
.tr-report :where(section,[id]) {scroll-margin-top:100px}
.tr-report small {font-size:13px; color:var(--tr-muted)}
.tr-report .tr-eyebrow {display:block; margin-bottom:8px; color:var(--tr-accent); font-size:11px; font-weight:700; letter-spacing:.16em}
.tr-report .tr-hero {display:grid; gap:24px; margin-bottom:36px; padding:12px 0 32px; border-bottom:1px solid var(--tr-line)}
.tr-report .tr-hero-content {align-self:center; min-width:0}
.tr-report .tr-hero--text h1 {font-size:clamp(25px,3.5cqi,34px); text-wrap:balance}
.tr-report .tr-hero-badge, .tr-report .tr-hero-cat {display:block; color:var(--tr-accent); font-size:12px; font-weight:700; letter-spacing:.06em}
.tr-report .tr-hl {font-size:.78em; display:block; margin-top:10px; color:#375b66; font-weight:600}
.tr-report .tr-hero-sub {font-size:14px; color:var(--tr-muted); line-height:1.8}
.tr-report .tr-hero-tags, .tr-report .tr-hero-meta {display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:16px; font-size:12px; color:var(--tr-muted)}
.tr-report .tr-hero-tags br {display:none}
.tr-report .tr-hero-tag {padding:4px 0; border-bottom:1px solid var(--tr-line)}
.tr-report .tr-hero-media {align-self:center; width:100%; max-width:100%; margin:0}
.tr-report .tr-verdict {border:1px solid #aebfbc; border-top:3px solid var(--tr-accent); padding:26px; margin:30px 0 36px; background:var(--tr-paper)}
.tr-report .tr-verdict-label {color:var(--tr-accent); font-size:13px; font-weight:700; letter-spacing:.08em; margin-bottom:12px}
.tr-report .tr-verdict-body {font-size:17px; line-height:1.95}
.tr-report .tr-rating {margin-top:26px; padding-top:20px; border-top:1px solid var(--tr-line)}
.tr-report .tr-rating-title {font-size:13px; font-weight:700; color:var(--tr-muted); margin-bottom:12px}
.tr-report .tr-score-table {width:100%; border-collapse:collapse; margin:0; font-size:14px}
.tr-report .tr-score-table td {border:0; border-bottom:1px solid #e5eae8; padding:10px 8px; background:none}
.tr-report .tr-score-table tr:first-child td {background:var(--tr-soft); font-weight:700}
.tr-report .tr-s-stars {color:#8c682e; letter-spacing:.06em; white-space:nowrap}
.tr-report .tr-s-num {text-align:right; color:var(--tr-ink); font-weight:750; font-variant-numeric:tabular-nums}
.tr-report .tr-star-off {color:#687973}
.tr-report .tr-toc {padding:24px 0; margin:36px 0; border-top:1px solid var(--tr-line); border-bottom:1px solid var(--tr-line)}
.tr-report .tr-toc-title {font-size:14px; font-weight:700; color:var(--tr-ink); margin-bottom:14px}
.tr-report .tr-toc ol {display:grid; gap:0 28px; padding-left:1.5em; margin:0; font-size:14px}
.tr-report .tr-toc li {margin:0; padding:4px 0}
.tr-report .tr-toc a {display:block; color:var(--tr-body); padding:5px 0; text-decoration:none}
.tr-report .tr-toc a:hover {color:var(--tr-accent); text-decoration:underline}
.tr-report .tr-section {margin:0 0 36px}
.tr-report .tr-section > h2 {margin-top:44px}
.tr-report .tr-section > :last-child {margin-bottom:0}
.tr-report .tr-grid {display:grid; grid-template-columns:minmax(0,1fr); gap:18px; margin:24px 0}
.tr-report .tr-panel {min-width:0; border:1px solid var(--tr-line); border-radius:5px; background:var(--tr-paper); padding:20px 22px; margin:22px 0}
.tr-report .tr-grid > .tr-panel {margin:0}
.tr-report .tr-panel > :first-child {margin-top:0}
.tr-report .tr-panel > :last-child {margin-bottom:0}
.tr-report .tr-panel > :where(h3,h4,.tr-box-title) {font-size:18px; margin:0 0 12px; padding-bottom:10px; border-bottom:1px solid var(--tr-line); color:var(--tr-ink)}
.tr-report .tr-panel--positive {border-top:3px solid var(--tr-accent)}
.tr-report .tr-panel--caution {border-top:3px solid #a88044; background:#fffdfa}
.tr-report .tr-panel--feature {border-top:0; border-right:0; border-left:0; border-radius:0; padding:22px 0 20px; margin:30px 0 18px}
.tr-report .tr-panel--feature > h3 {border:0; padding:0; margin-bottom:10px}
.tr-report .tr-panel--feature > p {margin-bottom:12px}
.tr-report .tr-badge {display:inline-block; font-size:12px; color:#235a51; background:#eef5f1; border:1px solid #ccdcd4; padding:3px 10px; border-radius:3px; line-height:1.7}
.tr-report .tr-badge.tr-warn {color:var(--tr-warning); border-color:#e2d6c3; background:var(--tr-warm)}
.tr-report .tr-note {display:block; background:var(--tr-soft); border:1px solid #cbd9d4; border-left:3px solid var(--tr-accent); padding:20px 24px; margin:28px 0; border-radius:3px; font-size:15px; line-height:1.9}
.tr-report .tr-note--caution {color:#544536; background:var(--tr-warm); border-color:#dfd4c2; border-left-color:#99713d}
.tr-report .tr-note-title {display:block; font-size:14px; font-weight:700; color:var(--tr-ink); margin-bottom:8px}
.tr-report .tr-note :last-child {margin-bottom:0}
.tr-report .tr-gallery {display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin:20px 0 26px; align-items:start}
.tr-report .tr-photo {min-width:0; width:100%; max-width:calc(var(--tr-photo-ratio,1.333333) * var(--tr-photo-height,420px)); margin:20px auto 26px; border:0; border-radius:8px; overflow:hidden; background:var(--tr-paper)}
.tr-report .tr-gallery > .tr-photo {margin:0 auto}
.tr-report .tr-photo-link {display:block; width:100%; height:auto; margin:0; padding:0; border:0; background:transparent; color:var(--tr-ink); cursor:zoom-in; text-decoration:none; line-height:0}
.tr-report .tr-photo-link img {display:block; width:100%; height:auto; max-width:100%; max-height:none; margin:0; padding:0; border:0; border-radius:0; object-fit:contain}
.tr-report .tr-photo-link::before, .tr-report .tr-photo-link::after {content:none}
.tr-report .tr-photo-link:focus-visible {outline-offset:-4px}
.tr-report .tr-photo figcaption {margin:0; padding:9px 13px; font-size:13px; line-height:1.7; color:#3e5b62; text-align:left; border:1px solid #d6e4e1; border-top:0; border-radius:0 0 8px 8px; background:#edf5f3}
/* JS derives these numeric ratios from the image's native width/height.
   The article source contains no layout styles. Without JS, the grid still shows full photos. */
.tr-report .tr-gallery--measured {display:flex; flex-direction:column}
.tr-report .tr-gallery-row {display:grid; grid-template-columns:minmax(0,1fr); gap:18px; width:100%; margin:0 auto}
.tr-report .tr-gallery-row > .tr-photo {margin:0 auto}
/* Set these on the article/group for page defaults, or on one gallery to override. */
.tr-report[data-tr-photo-size="compact"], .tr-report [data-tr-photo-size="compact"], .tr-report.tr-photos-compact, .tr-report .tr-photos-compact {--tr-photo-height:320px; --tr-pair-height:300px}
.tr-report[data-tr-photo-size="standard"], .tr-report [data-tr-photo-size="standard"], .tr-report.tr-photos-standard, .tr-report .tr-photos-standard {--tr-photo-height:420px; --tr-pair-height:400px}
.tr-report[data-tr-photo-size="large"], .tr-report [data-tr-photo-size="large"], .tr-report.tr-photos-large, .tr-report .tr-photos-large {--tr-photo-height:520px; --tr-pair-height:460px}
.tr-report .tr-photo-note {font-size:12px; color:var(--tr-muted); margin:-12px 0 24px}
.tr-report .tr-scene {border:0; padding:24px 28px; margin:24px 0; background:var(--tr-soft); color:#3a595f}
.tr-report .tr-scene p:last-child {margin-bottom:0}
.tr-report .tr-strong-lead, .tr-report .tr-lead {font-size:17px; line-height:1.95; margin-bottom:26px; color:var(--tr-ink)}
.tr-report .tr-stat-row {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border:1px solid var(--tr-line); margin:24px 0}
.tr-report .tr-stat-card {padding:20px 14px; border:1px solid #e6ebe8; text-align:center; min-width:0}
.tr-report .tr-s-icon {display:none}
.tr-report .tr-s-val {font-size:18px; font-weight:700; color:var(--tr-ink); line-height:1.6}
.tr-report .tr-s-sub {font-size:12px; color:var(--tr-muted); margin-top:6px}
.tr-report .tr-info-wrap {margin:24px 0}
.tr-report .tr-info-head {font-size:17px; font-weight:700; color:var(--tr-ink); padding:16px 0}
.tr-report .tr-info-tbl {width:100%; border-collapse:collapse; font-size:14px; margin:0 0 24px}
.tr-report .tr-info-tbl :where(th,td) {background:none; border:0; border-top:1px solid var(--tr-line); padding:14px 12px; vertical-align:top}
.tr-report .tr-info-tbl th {width:27%; color:var(--tr-ink); font-weight:600; background:var(--tr-soft); text-align:left}
.tr-report .tr-map-wrap {margin:28px 0; border:1px solid var(--tr-line)}
.tr-report .tr-map-wrap iframe {display:block; border:0; width:100%; height:300px}
.tr-report .tr-map-caption {padding:12px 16px; font-size:12px; color:var(--tr-muted)}
.tr-report .tr-reason-card {display:grid; grid-template-columns:36px minmax(0,1fr); gap:18px; margin:24px 0; padding-bottom:20px; border-bottom:1px solid var(--tr-line)}
.tr-report .tr-reason-body > :last-child {margin-bottom:0}
.tr-report .tr-reason-num {font-family:Georgia,serif; font-size:34px; line-height:1.2; color:var(--tr-accent)}
.tr-report .tr-reason-title {font-size:19px; font-weight:700; color:var(--tr-ink); margin-bottom:12px}
.tr-report .tr-reason-tip {display:block; color:var(--tr-accent); font-size:13px; font-weight:600; margin-top:16px}
.tr-report .tr-p-icon {display:none}
.tr-report .tr-panel small {display:block; margin-top:8px; font-weight:400}
.tr-report .tr-meal-row {display:flex; flex-wrap:wrap; gap:8px; margin:24px 0}
.tr-report .tr-meal-tag {font-size:13px; padding:4px 10px; border:1px solid var(--tr-line); border-radius:3px}
.tr-report .tr-meal-tag.tr-hot {background:var(--tr-soft); border-color:#b1c9bf}
.tr-report .tr-honest-title {font-weight:700; font-size:18px; color:var(--tr-ink); margin:24px 0 12px}
.tr-report .tr-area-photos {margin:18px 0 12px}
.tr-report .tr-area-list {display:grid; gap:12px; margin:12px 0 18px}
.tr-report .tr-area-card {border:1px solid var(--tr-line); border-radius:6px; padding:12px 14px; min-width:0}
.tr-report .tr-area-heading {display:flex; align-items:flex-start; gap:8px; line-height:1.7}
.tr-report .tr-area-dist {flex:none; display:inline-block; border:1px solid #aec7c1; border-radius:3px; padding:2px 7px; font-size:11px; line-height:1.65; color:var(--tr-accent); background:#f8fcfa; font-weight:700; white-space:nowrap}
.tr-report .tr-area-name {font-size:14px; font-weight:650; color:var(--tr-ink)}
.tr-report .tr-area-detail {display:block; margin-top:5px; font-size:12px; line-height:1.75; color:var(--tr-muted)}
.tr-report .tr-area-photo figcaption {padding:11px 13px; background:var(--tr-soft)}
.tr-report .tr-price-record {border:1px solid var(--tr-line); padding:28px; background:var(--tr-warm); margin:24px 0}
.tr-report .tr-price-record strong {font-size:30px; font-variant-numeric:tabular-nums}
.tr-report .tr-faq-item {margin:0; border:0; border-bottom:1px solid var(--tr-line); background:none}
.tr-report .tr-faq-item:first-of-type {border-top:1px solid var(--tr-line)}
.tr-report .tr-faq-item summary {display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 4px; font-size:16px; font-weight:650; line-height:1.8; color:var(--tr-ink); cursor:pointer; list-style:none}
.tr-report .tr-faq-item summary::-webkit-details-marker {display:none}
.tr-report .tr-faq-item summary::after {content:"＋"; font-size:19px; color:var(--tr-accent); flex:none}
.tr-report .tr-faq-item[open] summary::after {content:"−"}
.tr-report .tr-faq-answer {padding:0 4px 22px; font-size:15px; line-height:1.95}
.tr-report .tr-conclusion {border-top:3px solid var(--tr-ink); padding:28px 0; margin:56px 0 28px}
.tr-report .tr-conclusion > h2 {border:0; margin:0 0 16px; padding:0}
.tr-report .tr-sub {font-size:15px; color:var(--tr-muted)}
.tr-report .tr-tuk-wrap {display:flex; align-items:flex-start; gap:14px; margin:24px 0; padding:12px 0; border:0}
.tr-report .tr-tuk-img {width:58px; flex:none}
.tr-report .tr-tuk-img img {width:58px; height:58px; object-fit:contain}
.tr-report .tr-tuk-bubble {font-size:14px; line-height:1.9; min-width:0}
.tr-report .tr-tuk-name {font-size:12px; color:var(--tr-accent); font-weight:700; margin-bottom:6px}
.tr-report .tr-notice {border-top:1px solid var(--tr-line); padding:24px 0; margin-top:42px; font-size:12px; color:var(--tr-muted); line-height:1.9}
.tr-report .tr-notice h3 {font-size:14px; margin:0 0 12px}
.tr-report .tr-button {display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border:1px solid var(--tr-accent); border-radius:4px; background:var(--tr-accent); color:white; text-decoration:none; font-weight:650}
.tr-report .tr-button:hover {background:#124f54}
.tr-report .tr-embed {margin:0; max-width:none}
/* Reusable text/photo composition. Stacks in narrow article columns. */
.tr-report .tr-story {display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:20px; margin:24px 0}
.tr-report .tr-story > :where(.tr-panel,.tr-scene,.tr-photo) {margin:0 auto}
.tr-report .tr-story > :where(.tr-panel,.tr-scene,.tr-story-copy) {min-width:0; width:100%}
.tr-report .tr-story-copy > :last-child {margin-bottom:0}
.tr-report .tr-feature-group {margin:24px 0}
.tr-report .tr-feature-group > .tr-grid {margin:0 0 18px}
.tr-report .tr-feature-group > .tr-gallery {margin:0}
.tr-report .tr-badge-row {margin:12px 0 0}
.tr-report .tr-map-action {margin:18px 0}
.tr-report .tr-button--outline {background:var(--tr-paper); color:var(--tr-accent); padding:10px 18px; font-size:14px}
.tr-report .tr-button--outline:hover {background:var(--tr-soft); color:var(--tr-accent)}
.tr-report .tr-scene p {margin-bottom:12px}
.tr-report .tr-meal-row br {display:none}
.tr-report.tr-hotel {background:var(--tr-paper)}
.tr-report.tr-hotel .tr-hero {margin-bottom:24px; padding-bottom:24px}
.tr-report.tr-hotel .tr-hero-sub {margin-bottom:0}
.tr-report.tr-hotel .tr-verdict {margin:24px 0}
.tr-report.tr-hotel .tr-toc {margin:26px 0; padding:18px 0}
.tr-report.tr-hotel .tr-photo-note {margin:0; font-size:12px}
/* Shared transport-guide components */
.tr-report .tr-card-head {padding:0 0 16px; border-bottom:2px solid var(--tr-accent); margin-bottom:16px}
.tr-report .tr-card-head.tr-bts {border-color:#94514e}
.tr-report .tr-card-head.tr-mrt {border-color:#426486}
.tr-report .tr-lc-label {font-size:12px; color:var(--tr-muted)}
.tr-report .tr-lc-name {font-size:22px; font-weight:750; color:var(--tr-ink)}
.tr-report .tr-lc-sub {font-size:13px; color:var(--tr-muted)}
.tr-report .tr-lc-row {display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid #e5eae8; font-size:14px}
.tr-report .tr-lc-row:last-child {border:0}
.tr-report .tr-step {display:grid; grid-template-columns:38px minmax(0,1fr); gap:18px; margin:0; padding:22px 0; border-bottom:1px solid var(--tr-line)}
.tr-report .tr-step-num {font-size:26px; font-family:Georgia,serif; color:var(--tr-accent); line-height:1.4}
.tr-report .tr-step-title {font-size:17px; font-weight:700; color:var(--tr-ink); margin-bottom:8px}
.tr-report .tr-step-desc {font-size:15px; margin:0}
.tr-report .tr-h2-num {display:block; font-size:12px; color:var(--tr-accent); letter-spacing:.15em; margin-bottom:8px}
.tr-report .tr-box-title, .tr-report .tr-warning-title {font-size:16px; font-weight:700; margin-bottom:12px; color:var(--tr-ink)}
.tr-report .tr-ic-name {font-weight:700; font-size:17px; color:var(--tr-ink); margin-bottom:12px}
.tr-report .tr-ic-row {padding:8px 0; font-size:14px; border-bottom:1px solid var(--tr-line)}
.tr-report .tr-transfer-map {margin:24px 0}
.tr-report .tr-transfer-node {padding:22px 0; border-bottom:1px solid var(--tr-line)}
.tr-report .tr-tn-station {font-size:18px; font-weight:700; color:var(--tr-ink)}
.tr-report .tr-tn-badges {display:flex; flex-wrap:wrap; gap:6px; margin:10px 0}
.tr-report .tr-line-badge, .tr-report .tr-st-badge {display:inline-block; padding:3px 8px; border:1px solid var(--tr-line); border-radius:3px; font-size:12px; color:var(--tr-body); background:var(--tr-soft); white-space:nowrap}
.tr-report .tr-lb-bts-s, .tr-report .tr-lb-bts-sl, .tr-report .tr-stb-red {background:#faf0ec; color:#7d4641; border-color:#dfc6c2}
.tr-report .tr-lb-mrt-b, .tr-report .tr-stb-blue {background:#eef3f8; color:#345777; border-color:#bdcddd}
.tr-report .tr-tn-body {font-size:15px}
.tr-report .tr-table-wrap {overflow-x:auto; max-width:100%; margin:24px 0; border:1px solid var(--tr-line); border-radius:4px; -webkit-overflow-scrolling:touch}
.tr-report .tr-spots-table {width:100%; min-width:600px; border-collapse:collapse; font-size:14px; margin:0}
.tr-report .tr-spots-table :where(td,th) {padding:14px 16px; text-align:left; border:0; border-bottom:1px solid var(--tr-line)}
.tr-report .tr-spots-table th {background:var(--tr-ink); color:#fff; font-weight:600}
.tr-report .tr-spots-table tbody tr:nth-child(even) {background:var(--tr-soft)}
.tr-report .tr-summary-title {font-weight:700; font-size:20px; color:var(--tr-ink); margin-bottom:18px}
.tr-report .tr-summary-row {display:grid; grid-template-columns:minmax(100px,30%) minmax(0,1fr); gap:18px; padding:14px 0; border-bottom:1px solid var(--tr-line); font-size:15px}
.tr-report .tr-summary-label {color:var(--tr-muted); font-size:14px}
.tr-report .tr-related {margin:44px 0}
.tr-report .tr-related-title {font-size:14px; font-weight:700; color:var(--tr-muted); margin-bottom:12px}
.tr-report .tr-related-item {display:block; padding:18px 0; border-bottom:1px solid var(--tr-line); font-size:15px}
@container tr-article (min-width:620px) {
  .tr-report .tr-story {grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px}
  .tr-report .tr-story > .tr-photo {max-width:100%}
  .tr-report .tr-grid, .tr-report .tr-gallery, .tr-report .tr-area-list {grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr-report .tr-toc ol {grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr-report .tr-gallery-row {display:flex; align-items:flex-start; gap:16px; max-width:calc(var(--tr-row-ratio,2.666666) * var(--tr-pair-height,400px) + var(--tr-row-gaps,16px))}
  .tr-report .tr-gallery-row > .tr-photo {flex:var(--tr-photo-ratio,1.333333) 1 0; max-width:none; margin:0}
  .tr-report .tr-gallery-row:has(> .tr-photo:only-child) {max-width:100%}
  .tr-report .tr-gallery-row > .tr-photo:only-child {flex:none; max-width:calc(var(--tr-photo-ratio,1.333333) * var(--tr-photo-height,420px)); margin:0 auto}
  .tr-report .tr-gallery-row--equal:has(> .tr-photo + .tr-photo) {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:calc(var(--tr-smallest-ratio,1.333333) * var(--tr-pair-height,400px) * 2 + 16px)}
  .tr-report .tr-gallery-row--three {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:calc(var(--tr-smallest-ratio,.75) * var(--tr-pair-height,400px) * 2 + 16px)}
  .tr-report .tr-gallery-row--three > .tr-photo:last-child {grid-column:1 / -1; width:calc((100% - 16px) / 2); justify-self:center}
  .tr-report .tr-stat-row {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container tr-article (min-width:720px) {
  .tr-report .tr-gallery-row--three {display:flex; max-width:calc(var(--tr-row-ratio,2.25) * var(--tr-pair-height,400px) + 32px)}
  .tr-report .tr-gallery-row--three > .tr-photo:last-child {width:100%}
}
@container tr-article (min-width:760px) {
  .tr-report .tr-verdict--split {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:center}
  .tr-report .tr-verdict--split .tr-rating {margin:0; padding:0 0 0 26px; border-top:0; border-left:1px solid var(--tr-line)}
  .tr-report .tr-hero {grid-template-columns:minmax(0,1.20fr) minmax(0,1fr); gap:32px; padding-bottom:36px}
  .tr-report .tr-hero--text {display:block}
}
@container tr-article (max-width:420px) {
  .tr-report.tr-hotel {line-height:1.9}
  .tr-report .tr-section {margin-bottom:28px}
  .tr-report .tr-section > h2 {margin-top:34px}
  .tr-report .tr-story {gap:16px; margin:20px 0}
  .tr-report .tr-tuk-wrap {margin:18px 0; gap:12px}
  .tr-report .tr-gallery-row {gap:14px}
  .tr-report .tr-photo, .tr-report .tr-gallery-row > .tr-photo:only-child {max-width:calc(var(--tr-photo-ratio,1.333333) * min(var(--tr-photo-height,420px),420px))}
  .tr-report .tr-panel, .tr-report .tr-verdict {padding:20px 18px}
  .tr-report .tr-panel--feature {padding:20px 0}
  .tr-report .tr-note, .tr-report .tr-scene {padding:18px}
  .tr-report .tr-info-tbl :where(th,td) {padding:12px 8px; font-size:13px}
  .tr-report .tr-info-tbl th {width:30%}
  .tr-report .tr-reason-card {grid-template-columns:28px minmax(0,1fr); gap:12px}
  .tr-report .tr-s-stars {font-size:12px; letter-spacing:0}
  .tr-report .tr-score-table td {padding:10px 5px; font-size:13px}
  .tr-report .tr-tuk-img, .tr-report .tr-tuk-img img {width:46px; height:46px}
}
/* Native horizontal scrolling preserves vertical page scrolling and pinch zoom.
   Figures keep their captions; equal photo heights never require cropping. */
.tr-report .tr-gallery-controls {display:none}
@container tr-article (max-width:619px) {
  .tr-report .tr-gallery--swipe {
    --tr-strip-height:min(var(--tr-photo-height,360px),360px,calc((100cqi - 32px) / var(--tr-strip-ratio,1.333333)));
    display:flex; flex-direction:row; align-items:flex-start; gap:12px;
    width:100%; max-width:100%; margin-bottom:0; padding:0;
    overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch;
  }
  .tr-report .tr-gallery--swipe::-webkit-scrollbar {display:none}
  .tr-report .tr-gallery--swipe .tr-gallery-row {display:contents}
  .tr-report .tr-gallery--swipe .tr-photo {
    flex:0 0 auto; width:calc(var(--tr-photo-ratio,1.333333) * var(--tr-strip-height));
    max-width:none; margin:0; scroll-snap-align:start; scroll-snap-stop:always;
  }
  .tr-report .tr-gallery-controls {display:flex; align-items:center; gap:8px; margin:4px 0 18px; min-height:36px; font-size:11px; line-height:1.5; color:var(--tr-muted)}
  .tr-report .tr-gallery-counter {font-variant-numeric:tabular-nums; min-width:34px; color:var(--tr-ink)}
  .tr-report .tr-gallery-hint {flex:1}
  .tr-report .tr-gallery-controls button {appearance:none; display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; min-width:36px; padding:0; margin:0; border:1px solid var(--tr-line); border-radius:4px; background:var(--tr-paper); color:var(--tr-accent); font-family:inherit; font-size:22px; line-height:1; cursor:pointer; box-shadow:none}
  .tr-report .tr-gallery-controls button:disabled {opacity:.35; cursor:default}
  .tr-report .tr-gallery-controls button:hover:not(:disabled) {background:var(--tr-soft)}
  .tr-report .tr-area-photos + .tr-gallery-controls {margin-bottom:8px}
}
/* One shared, lazy-created dialog. Nothing is inserted into saved article HTML. */
html.tr-gallery-open {overflow:hidden}
.tr-lightbox {box-sizing:border-box; position:fixed; inset:0; width:100vw; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:#101d24; color:#f4f6f5; font:16px/1.6 -apple-system,BlinkMacSystemFont,"Noto Sans JP",Meiryo,sans-serif; z-index:2147483000}
.tr-lightbox:not([open]) {display:none}
.tr-lightbox[open] {display:grid; grid-template-rows:auto minmax(0,1fr) auto; overscroll-behavior:contain}
.tr-lightbox::backdrop {background:rgba(5,14,19,.96)}
.tr-lightbox *, .tr-lightbox *::before, .tr-lightbox *::after {box-sizing:border-box}
.tr-lightbox .tr-lb-bar {display:flex; justify-content:space-between; align-items:center; gap:16px; padding:max(12px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left)); border-bottom:1px solid #35434a}
.tr-lightbox .tr-lb-title {font-size:13px; color:#d2dcd9}
.tr-lightbox button {appearance:none; display:inline-flex; align-items:center; justify-content:center; min-width:48px; min-height:48px; border:1px solid #52636b; border-radius:4px; background:#1c303a; color:white; font:inherit; cursor:pointer; padding:8px 14px}
.tr-lightbox button:hover {background:#314a55}
.tr-lightbox :where(button,a):focus-visible {outline:3px solid #f1c47d; outline-offset:3px}
.tr-lightbox .tr-lb-stage {position:relative; display:grid; place-items:center; min-height:0; padding:16px 76px; touch-action:pan-y pinch-zoom}
.tr-lightbox .tr-lb-image {display:block; width:100%; height:100%; min-height:0; max-height:100%; object-fit:contain; user-select:none; -webkit-user-drag:none}
.tr-lightbox .tr-lb-prev, .tr-lightbox .tr-lb-next {position:absolute; top:50%; transform:translateY(-50%); font-size:24px}
.tr-lightbox .tr-lb-prev {left:16px}
.tr-lightbox .tr-lb-next {right:16px}
.tr-lightbox .tr-lb-foot {padding:16px max(24px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)); background:#172830; border-top:1px solid #35434a; max-height:32vh; overflow-y:auto}
.tr-lightbox .tr-lb-caption {max-width:960px; margin:0 auto 8px; font-size:15px; line-height:1.75; overflow-wrap:anywhere}
.tr-lightbox .tr-lb-meta {display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 18px; max-width:960px; margin:auto; font-size:12px; color:#b6c6ca}
.tr-lightbox .tr-lb-original {color:#e0eded; text-underline-offset:3px; padding:4px 0}
.tr-lightbox .tr-lb-status {position:absolute; background:#172830; padding:8px 16px; border-radius:4px; font-size:14px; pointer-events:none}
.tr-lightbox .tr-lb-status[hidden] {display:none}
.tr-lightbox [hidden] {display:none !important}
@media(max-width:600px) {
  .tr-lightbox .tr-lb-stage {padding:12px 8px 64px}
  .tr-lightbox .tr-lb-prev, .tr-lightbox .tr-lb-next {top:auto; bottom:8px; transform:none}
  .tr-lightbox .tr-lb-prev {left:calc(50% - 60px)}
  .tr-lightbox .tr-lb-next {right:calc(50% - 60px)}
  .tr-lightbox .tr-lb-foot {padding:14px 18px max(18px,env(safe-area-inset-bottom)); max-height:30vh}
  .tr-lightbox .tr-lb-bar {padding-left:16px; padding-right:16px}
}
@media(prefers-reduced-motion:reduce) { .tr-report *, .tr-lightbox * {scroll-behavior:auto; animation:none; transition:none} }
@media print {
  .tr-lightbox {display:none !important}
  .tr-report .tr-gallery-controls {display:none !important}
  .tr-report .tr-gallery--swipe {display:grid; overflow:visible; width:100%; max-width:100%; gap:16px}
  .tr-report .tr-gallery--swipe .tr-gallery-row {display:contents}
  .tr-report .tr-gallery--swipe .tr-photo {width:100%; margin:0 auto; max-width:calc(var(--tr-photo-ratio,1.333333) * 220px)}
  .tr-report {font-size:11pt; max-width:none}
  .tr-report .tr-photo {max-width:calc(var(--tr-photo-ratio,1.333333) * 220px)}
  .tr-report .tr-panel, .tr-report .tr-photo {break-inside:avoid}
}

/* Original article appearance, adapted from the backed-up published CSS. */
.tr-report.tr-original-base{
  --primary:#00b4d8;
  --primary-dark:#0090b0;
  --primary-pale:#e0f7fc;
  --coral:#ff6b6b;
  --coral-pale:#fff0f0;
  --yellow:#ffd166;
  --yellow-pale:#fff9e6;
  --green:#06d6a0;
  --green-pale:#e6faf5;
  --purple:#7c5cbf;
  --text:#222;
  --text-sub:#666;
  --white:#fff;
  --bg:#ffffff;
  --bg-sub:#f8f9fa;
  --border:#e8e8e8;
  --r:14px;
  --shadow:0 2px 16px rgba(0,0,0,.07);

  font-family:"Noto Sans JP",sans-serif;
  color:var(--text);
  background:var(--bg);
  font-size:16px;
  line-height:1.85;
}

.tr-report.tr-original-base,
.tr-report.tr-original-base *{
  box-sizing:border-box;
}

.tr-report.tr-original-base a{
  color:var(--primary-dark);
  text-decoration:none;
}

.tr-report.tr-original-base p{
  margin:0 0 1em;
}

.tr-report.tr-original-base p:last-child{
  margin-bottom:0;
}

.tr-report.tr-original-base img{
  max-width:100%;
  height:auto;
  display:block;
}

.tr-report.tr-original-base hr{
  border:none;
  border-top:1px solid var(--border);
  margin:40px 0;
}

.tr-report.tr-original-base .tr-base-wrap{
  max-width:820px;
  margin:0 auto;
  padding:0 20px;
}


.tr-report.tr-original-base .tr-base-hero{
  position:relative;
  width:100%;
  min-height:520px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}

.tr-report.tr-original-base .tr-base-hero-img{
  position:absolute;
  inset:0;
  background:var(--tr-hotel-cover,none) center center/cover no-repeat;
}

.tr-report.tr-original-base .tr-base-hero-img::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.05) 0%,rgba(0,0,0,.20) 40%,rgba(0,0,0,.68) 100%);
}

.tr-report.tr-original-base .tr-base-hero-content{
  position:relative;
  z-index:1;
  width:100%;
  max-width:820px;
  margin:0 auto;
  padding:40px 20px 44px;
}

.tr-report.tr-original-base .tr-base-hero-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:rgba(255,255,255,.20);
  border:1px solid rgba(255,255,255,.40);
  border-radius:20px;
  padding:4px 14px;
  font-size:12px;
  color:#fff;
  letter-spacing:.05em;
  margin-bottom:14px;
}

.tr-report.tr-original-base .tr-base-hero h1{
  font-family:"Noto Serif JP",serif;
  font-size:clamp(20px,5vw,34px);
  font-weight:900;
  line-height:1.4;
  color:#fff;
  margin:0 0 14px;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}

.tr-report.tr-original-base .tr-base-hero h1 .tr-base-hl{
  color:#ffd166;
}

.tr-report.tr-original-base .tr-base-hero-sub{
  font-size:14px;
  color:rgba(255,255,255,.9);
  margin:0 0 20px;
  line-height:1.7;
}

.tr-report.tr-original-base .tr-base-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.tr-report.tr-original-base .tr-base-hero-tag{
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.3);
  border-radius:5px;
  padding:4px 12px;
  font-size:12px;
  color:#fff;
  font-weight:500;
}


.tr-report.tr-original-base .tr-base-verdict{
  background:var(--white);
  border-radius:var(--r);
  box-shadow:0 4px 24px rgba(0,180,216,.15);
  padding:26px 24px;
  max-width:820px;
  margin:-20px auto 0;
  border-top:4px solid var(--primary);
  position:relative;
  z-index:2;
}

.tr-report.tr-original-base .tr-base-verdict-label{
  font-size:12px;
  font-weight:700;
  color:var(--primary-dark);
  letter-spacing:.08em;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  gap:8px;
}

.tr-report.tr-original-base .tr-base-verdict-label::before{
  content:"";
  display:block;
  width:22px;
  height:3px;
  background:var(--primary);
  border-radius:2px;
}

.tr-report.tr-original-base .tr-base-verdict-body{
  font-size:16px;
  font-weight:700;
  line-height:1.8;
}

.tr-report.tr-original-base .tr-base-verdict-body strong{
  color:var(--primary-dark);
}

.tr-report.tr-original-base .tr-base-score-table{
  width:100%;
  border-collapse:collapse;
  margin-top:20px;
}

.tr-report.tr-original-base .tr-base-score-table tr{
  border-bottom:1px solid var(--border);
}

.tr-report.tr-original-base .tr-base-score-table tr:last-child{
  border-bottom:none;
}

.tr-report.tr-original-base .tr-base-score-table td{
  padding:12px 8px;
  font-size:14px;
  vertical-align:middle;
}

.tr-report.tr-original-base .tr-base-score-table .tr-base-s-label{
  color:var(--text-sub);
  width:130px;
}

.tr-report.tr-original-base .tr-base-score-table .tr-base-s-stars{
  font-size:20px;
  letter-spacing:2px;
  color:#222;
  width:140px;
}

.tr-report.tr-original-base .tr-base-score-table .tr-base-s-num{
  font-weight:900;
  color:var(--primary-dark);
  font-size:16px;
  text-align:right;
}

.tr-report.tr-original-base .tr-base-score-table tr:first-child .tr-base-s-label{
  font-weight:700;
  color:var(--text);
}

.tr-report.tr-original-base .tr-base-score-table tr:first-child .tr-base-s-num{
  font-size:20px;
}

.tr-report.tr-original-base .tr-base-star-on{
  color:#222;
}

.tr-report.tr-original-base .tr-base-star-off{
  color:#ccc;
}


.tr-report.tr-original-base .tr-base-tuk-wrap{
  display:flex;
  align-items:flex-end;
  gap:16px;
  margin:32px 0;
  padding:0 4px;
}

.tr-report.tr-original-base .tr-base-tuk-wrap.tr-base-right{
  flex-direction:row-reverse;
}

.tr-report.tr-original-base .tr-base-tuk-img{
  width:90px;
  flex-shrink:0;
}

.tr-report.tr-original-base .tr-base-tuk-img img{
  width:100%;
  height:auto;
  display:block;
}

.tr-report.tr-original-base .tr-base-tuk-bubble{
  position:relative;
  background:linear-gradient(135deg,#fff9e6,#fffdf5);
  border:2px solid var(--yellow);
  border-radius:16px;
  padding:14px 18px;
  font-size:14px;
  font-weight:700;
  line-height:1.65;
  color:var(--text);
  flex:1;
  box-shadow:0 3px 12px rgba(255,209,102,.25);
}

.tr-report.tr-original-base .tr-base-tuk-bubble::before{
  content:"";
  position:absolute;
  bottom:18px;
  left:-12px;
  border:6px solid transparent;
  border-right-color:var(--yellow);
}

.tr-report.tr-original-base .tr-base-tuk-wrap.tr-base-right .tr-base-tuk-bubble::before{
  left:auto;
  right:-12px;
  border-right-color:transparent;
  border-left-color:var(--yellow);
}

.tr-report.tr-original-base .tr-base-tuk-bubble .tr-base-tuk-name{
  font-size:11px;
  color:var(--primary-dark);
  font-weight:900;
  margin-bottom:5px;
  letter-spacing:.05em;
}

.tr-report.tr-original-base .tr-base-tuk-bubble em{
  font-style:normal;
  color:var(--coral);
  font-weight:900;
}


.tr-report.tr-original-base .tr-base-toc{
  background:linear-gradient(135deg,#e0f7fc,#f0fdff);
  border-radius:var(--r);
  border:1px solid #b2ebf2;
  border-left:4px solid var(--primary);
  padding:22px 24px;
  margin:28px 0;
}

.tr-report.tr-original-base .tr-base-toc-title{
  font-size:14px;
  font-weight:900;
  color:var(--primary-dark);
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:8px;
}

.tr-report.tr-original-base .tr-base-toc-list{
  list-style:none;
  counter-reset:toc;
  margin:0;
  padding:0;
}

.tr-report.tr-original-base .tr-base-toc-list li{
  counter-increment:toc;
}

.tr-report.tr-original-base .tr-base-toc-list li a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 0;
  font-size:14px;
  color:var(--text);
  border-bottom:1px dashed #b2ebf2;
}

.tr-report.tr-original-base .tr-base-toc-list li:last-child a{
  border-bottom:none;
}

.tr-report.tr-original-base .tr-base-toc-list li a::before{
  content:counter(toc);
  background:var(--primary);
  color:#fff;
  font-size:10px;
  font-weight:900;
  width:18px;
  height:18px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}


.tr-report.tr-original-base .tr-base-sec{
  margin:48px 0;
}

.tr-report.tr-original-base .tr-base-sec-head{
  font-family:"Noto Serif JP",serif;
  font-size:clamp(17px,3.5vw,22px);
  font-weight:900;
  margin:0 0 20px;
  padding-bottom:11px;
  border-bottom:3px solid var(--primary);
  display:flex;
  align-items:center;
  gap:10px;
}

.tr-report.tr-original-base .tr-base-sec-label{
  background:var(--primary);
  color:#fff;
  border-radius:5px;
  padding:2px 11px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}


.tr-report.tr-original-base .tr-base-strong-lead{
  font-size:16px;
  font-weight:700;
  line-height:1.7;
  border-left:4px solid var(--primary);
  padding:13px 18px;
  background:var(--primary-pale);
  border-radius:0 var(--r) var(--r) 0;
  margin-bottom:18px;
}


.tr-report.tr-original-base .tr-base-stat-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
  gap:10px;
  margin:18px 0;
}

.tr-report.tr-original-base .tr-base-stat-card{
  background:var(--white);
  border-radius:var(--r);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  padding:14px 10px;
  text-align:center;
}

.tr-report.tr-original-base .tr-base-stat-card .tr-base-s-icon{
  font-size:20px;
  margin-bottom:4px;
}

.tr-report.tr-original-base .tr-base-stat-card .tr-base-s-val{
  font-size:18px;
  font-weight:900;
  color:var(--primary-dark);
  line-height:1.2;
}

.tr-report.tr-original-base .tr-base-stat-card .tr-base-s-sub{
  font-size:10px;
  color:var(--text-sub);
  margin-top:2px;
}


.tr-report.tr-original-base .tr-base-info-wrap{
  background:var(--white);
  border-radius:var(--r);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  overflow:hidden;
  margin:18px 0;
}

.tr-report.tr-original-base .tr-base-info-head{
  background:var(--primary);
  color:#fff;
  padding:12px 18px;
  font-weight:700;
  font-size:14px;
}

.tr-report.tr-original-base .tr-base-info-tbl{
  width:100%;
  border-collapse:collapse;
}

.tr-report.tr-original-base .tr-base-info-tbl tr:nth-child(even) td{
  background:#f0fdff;
}

.tr-report.tr-original-base .tr-base-info-tbl td{
  padding:11px 16px;
  font-size:14px;
  border-bottom:1px solid #e0f7fc;
  vertical-align:top;
  line-height:1.7;
}

.tr-report.tr-original-base .tr-base-info-tbl td:first-child{
  font-weight:700;
  color:var(--primary-dark);
  white-space:nowrap;
  width:120px;
}


.tr-report.tr-original-base .tr-base-map-wrap{
  border-radius:var(--r);
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  margin:18px 0;
}

.tr-report.tr-original-base .tr-base-map-wrap iframe{
  display:block;
  width:100%;
  height:300px;
  border:none;
}

.tr-report.tr-original-base .tr-base-map-caption{
  background:var(--primary-pale);
  padding:9px 14px;
  font-size:12px;
  color:var(--text-sub);
  border-top:1px solid #b2ebf2;
}


.tr-report.tr-original-base .tr-base-who-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0;
}

.tr-report.tr-original-base .tr-base-who-card{
  border-radius:var(--r);
  padding:20px;
  border:1.5px solid transparent;
}

.tr-report.tr-original-base .tr-base-who-card.tr-base-yes{
  background:var(--green-pale);
  border-color:#a7f3d0;
}

.tr-report.tr-original-base .tr-base-who-card.tr-base-no{
  background:var(--yellow-pale);
  border-color:#ffe8a0;
}

.tr-report.tr-original-base .tr-base-who-card h3{
  font-size:14px;
  font-weight:700;
  margin:0 0 12px;
  display:flex;
  align-items:center;
  gap:6px;
}

.tr-report.tr-original-base .tr-base-who-card.tr-base-yes h3{
  color:#059669;
}

.tr-report.tr-original-base .tr-base-who-card.tr-base-no h3{
  color:#d4870a;
}

.tr-report.tr-original-base .tr-base-who-list{
  list-style:none;
  margin:0;
  padding:0;
}

.tr-report.tr-original-base .tr-base-who-list li{
  font-size:14px;
  padding:6px 0;
  border-bottom:1px dashed rgba(0,0,0,.08);
  display:flex;
  gap:7px;
  line-height:1.6;
}

.tr-report.tr-original-base .tr-base-who-list li:last-child{
  border-bottom:none;
}

.tr-report.tr-original-base .tr-base-yes .tr-base-who-list li::before{
  content:"✓";
  color:#059669;
  font-weight:900;
  flex-shrink:0;
}

.tr-report.tr-original-base .tr-base-no .tr-base-who-list li::before{
  content:"△";
  color:#d4870a;
  flex-shrink:0;
}


.tr-report.tr-original-base .tr-base-scene{
  background:linear-gradient(135deg,#0090b0,#00c4e8);
  color:#fff;
  border-radius:var(--r);
  padding:28px;
  margin:18px 0;
  position:relative;
  overflow:hidden;
}

.tr-report.tr-original-base .tr-base-scene::before{
  content:"\"";
  position:absolute;
  right:14px;
  top:-8px;
  font-size:120px;
  font-family:"Noto Serif JP",serif;
  color:rgba(255,255,255,.10);
  line-height:1;
}

.tr-report.tr-original-base .tr-base-scene p{
  font-size:15px;
  line-height:1.9;
  margin-bottom:.8em;
  position:relative;
  z-index:1;
}

.tr-report.tr-original-base .tr-base-scene p:last-child{
  margin-bottom:0;
}

.tr-report.tr-original-base .tr-base-scene strong{
  color:#ffd166;
}


.tr-report.tr-original-base .tr-base-reason-card{
  background:var(--white);
  border-radius:var(--r);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  padding:20px 20px 20px 16px;
  margin-bottom:14px;
  border-left:4px solid var(--primary);
  display:grid;
  grid-template-columns:46px 1fr;
  gap:12px;
  align-items:start;
}

.tr-report.tr-original-base .tr-base-reason-num{
  background:linear-gradient(135deg,var(--primary),#0090b0);
  color:#fff;
  width:36px;
  height:36px;
  border-radius:50%;
  font-size:17px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}

.tr-report.tr-original-base .tr-base-reason-title{
  font-size:15px;
  font-weight:700;
  margin-bottom:8px;
  color:var(--primary-dark);
}

.tr-report.tr-original-base .tr-base-reason-body{
  font-size:14px;
  line-height:1.85;
  color:var(--text);
}

.tr-report.tr-original-base .tr-base-reason-body p{
  margin-bottom:8px;
}

.tr-report.tr-original-base .tr-base-reason-tip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:var(--yellow-pale);
  color:#b87800;
  font-size:11px;
  font-weight:700;
  padding:3px 10px;
  border-radius:20px;
  margin-top:6px;
  border:1px solid var(--yellow);
}


.tr-report.tr-original-base .tr-base-ph{
  background:var(--primary-pale);
  border:1.5px dashed #7dd3e8;
  border-radius:var(--r);
  padding:20px;
  text-align:center;
  color:var(--primary-dark);
  font-size:13px;
  margin:12px 0;
}

.tr-report.tr-original-base .tr-base-ph .tr-base-ph-icon{
  font-size:26px;
  margin-bottom:5px;
}

.tr-report.tr-original-base .tr-base-ph .tr-base-ph-label{
  font-weight:700;
  margin-bottom:3px;
}

.tr-report.tr-original-base .tr-base-ph .tr-base-ph-sub{
  font-size:11px;
  opacity:.7;
}

.tr-report.tr-original-base .tr-base-photo-real{
  width:100%;
  border-radius:var(--r);
  overflow:hidden;
  margin:12px 0;
  box-shadow:var(--shadow);
}

.tr-report.tr-original-base .tr-base-photo-real img{
  width:100%;
  height:auto;
  display:block;
}

.tr-report.tr-original-base .tr-base-photo-cap{
  background:var(--primary-pale);
  padding:8px 14px;
  font-size:12px;
  color:var(--text-sub);
  border-top:1px solid #b2ebf2;
}


.tr-report.tr-original-base .tr-base-vid{
  background:linear-gradient(135deg,#0090b0,#00b4d8);
  border-radius:var(--r);
  aspect-ratio:16/9;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#fff;
  margin:16px 0;
  position:relative;
  overflow:hidden;
}

.tr-report.tr-original-base .tr-base-vid::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(0,0,0,.1),rgba(0,0,0,.2));
}

.tr-report.tr-original-base .tr-base-vid-play{
  width:56px;
  height:56px;
  background:rgba(255,255,255,.25);
  border:2px solid rgba(255,255,255,.5);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  position:relative;
  z-index:1;
  margin-bottom:8px;
}

.tr-report.tr-original-base .tr-base-vid-label{
  font-size:13px;
  opacity:.85;
  position:relative;
  z-index:1;
}

.tr-report.tr-original-base .tr-base-badge{
  display:inline-block;
  background:var(--green-pale);
  color:#059669;
  font-size:11px;
  font-weight:700;
  padding:2px 8px;
  border-radius:4px;
  margin-top:5px;
  border:1px solid #a7f3d0;
}

.tr-report.tr-original-base .tr-base-badge.tr-base-warn{
  background:var(--yellow-pale);
  color:#b87800;
  border-color:var(--yellow);
}


.tr-report.tr-original-base .tr-base-pool-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:12px;
  margin:18px 0;
}

.tr-report.tr-original-base .tr-base-pool-card{
  background:var(--white);
  border-radius:var(--r);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  padding:18px;
  text-align:center;
}

.tr-report.tr-original-base .tr-base-pool-card .tr-base-p-icon{
  font-size:26px;
  margin-bottom:7px;
}

.tr-report.tr-original-base .tr-base-pool-card h3{
  font-size:14px;
  font-weight:700;
  color:var(--primary-dark);
  margin:0 0 6px;
}

.tr-report.tr-original-base .tr-base-pool-card p{
  font-size:13px;
  color:var(--text-sub);
  line-height:1.65;
  margin-bottom:0;
}


.tr-report.tr-original-base .tr-base-meal-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:12px 0;
}

.tr-report.tr-original-base .tr-base-meal-tag{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:20px;
  padding:5px 14px;
  font-size:13px;
}

.tr-report.tr-original-base .tr-base-meal-tag.tr-base-hot{
  background:var(--yellow-pale);
  border-color:var(--yellow);
  color:#b87800;
  font-weight:700;
}


.tr-report.tr-original-base .tr-base-honest{
  background:var(--bg-sub);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:20px 22px;
  margin:18px 0;
}

.tr-report.tr-original-base .tr-base-honest-title{
  font-size:13px;
  color:var(--text-sub);
  margin-bottom:12px;
  font-weight:700;
}

.tr-report.tr-original-base .tr-base-honest-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.tr-report.tr-original-base .tr-base-h-col h4{
  font-size:14px;
  font-weight:700;
  margin:0 0 7px;
}

.tr-report.tr-original-base .tr-base-h-col.tr-base-good h4{
  color:#059669;
}

.tr-report.tr-original-base .tr-base-h-col.tr-base-bad h4{
  color:var(--coral);
}

.tr-report.tr-original-base .tr-base-h-col ul{
  list-style:none;
  margin:0;
  padding:0;
}

.tr-report.tr-original-base .tr-base-h-col ul li{
  font-size:13px;
  padding:4px 0;
  display:flex;
  gap:6px;
  border-bottom:1px solid var(--border);
  line-height:1.6;
}

.tr-report.tr-original-base .tr-base-h-col ul li:last-child{
  border-bottom:none;
}

.tr-report.tr-original-base .tr-base-good ul li::before{
  content:"◎";
  color:#059669;
}

.tr-report.tr-original-base .tr-base-bad ul li::before{
  content:"×";
  color:var(--coral);
}


.tr-report.tr-original-base .tr-base-area-list{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin:14px 0;
}

.tr-report.tr-original-base .tr-base-area-card{
  background:var(--white);
  border-radius:var(--r);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.tr-report.tr-original-base .tr-base-area-card-img{
  width:100%;
  height:160px;
  background:var(--primary-pale);
  border:2px dashed #7dd3e8;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:var(--primary-dark);
  font-size:13px;
}

.tr-report.tr-original-base .tr-base-area-card-img .tr-base-ai{
  font-size:26px;
  margin-bottom:5px;
}

.tr-report.tr-original-base .tr-base-area-card-img .tr-base-al{
  font-weight:700;
  margin-bottom:3px;
}

.tr-report.tr-original-base .tr-base-area-card-body{
  padding:12px 16px;
  display:flex;
  align-items:center;
  gap:12px;
}

.tr-report.tr-original-base .tr-base-area-dist{
  background:var(--primary);
  color:#fff;
  font-size:11px;
  font-weight:700;
  padding:3px 10px;
  border-radius:4px;
  white-space:nowrap;
  flex-shrink:0;
}

.tr-report.tr-original-base .tr-base-area-name{
  font-size:14px;
  font-weight:500;
  line-height:1.5;
}

.tr-report.tr-original-base .tr-base-area-item{
  background:var(--white);
  border-radius:10px;
  border:1px solid var(--border);
  padding:11px 14px;
  display:flex;
  align-items:center;
  gap:12px;
  box-shadow:var(--shadow);
}

.tr-report.tr-original-base .tr-base-dist{
  background:var(--primary);
  color:#fff;
  font-size:11px;
  font-weight:700;
  padding:2px 10px;
  border-radius:4px;
  white-space:nowrap;
}


.tr-report.tr-original-base .tr-base-caution{
  background:var(--yellow-pale);
  border:1px solid var(--yellow);
  border-left:4px solid #f0a500;
  border-radius:var(--r);
  padding:13px 16px;
  font-size:14px;
  margin:12px 0;
  line-height:1.75;
}

.tr-report.tr-original-base .tr-base-caution strong{
  color:#b87800;
}


.tr-report.tr-original-base .tr-base-price-box{
  background:linear-gradient(135deg,#0090b0,#00c4e8);
  color:#fff;
  border-radius:var(--r);
  padding:26px;
  text-align:center;
  margin:18px 0;
}

.tr-report.tr-original-base .tr-base-price-box .tr-base-px{
  font-size:44px;
  font-weight:900;
  letter-spacing:-1px;
  line-height:1;
}

.tr-report.tr-original-base .tr-base-price-box .tr-base-pu{
  font-size:14px;
  opacity:.85;
  margin-top:7px;
}

.tr-report.tr-original-base .tr-base-price-box .tr-base-pn{
  font-size:12px;
  opacity:.65;
  margin-top:7px;
}


.tr-report.tr-original-base .tr-base-faq-item{
  background:var(--white);
  border-radius:var(--r);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  margin-bottom:8px;
  overflow:hidden;
}

.tr-report.tr-original-base .tr-base-faq-q{
  padding:14px 18px;
  font-size:15px;
  font-weight:700;
  display:flex;
  align-items:flex-start;
  gap:9px;
}

.tr-report.tr-original-base .tr-base-faq-q .tr-base-qb,
.tr-report.tr-original-base .tr-base-faq-q-badge{
  background:var(--primary);
  color:#fff;
  font-size:11px;
  font-weight:900;
  padding:2px 8px;
  border-radius:4px;
  flex-shrink:0;
  margin-top:2px;
}

.tr-report.tr-original-base .tr-base-faq-q-text{
  display:block;
  flex:1;
}

.tr-report.tr-original-base .tr-base-faq-a{
  padding:12px 18px 15px 46px;
  font-size:14px;
  color:var(--text-sub);
  line-height:1.85;
  border-top:1px solid var(--border);
}


.tr-report.tr-original-base .tr-base-summary{
  background:linear-gradient(135deg,#0090b0,#00b4d8);
  color:#fff;
  border-radius:var(--r);
  padding:30px 26px;
  margin:40px 0;
}

.tr-report.tr-original-base .tr-base-summary h2{
  font-family:"Noto Serif JP",serif;
  font-size:19px;
  margin:0 0 7px;
}

.tr-report.tr-original-base .tr-base-summary .tr-base-sub{
  font-size:14px;
  opacity:.8;
  margin-bottom:20px;
}

.tr-report.tr-original-base .tr-base-sum-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.tr-report.tr-original-base .tr-base-sum-col h3{
  font-size:12px;
  opacity:.75;
  margin:0 0 9px;
  font-weight:700;
}

.tr-report.tr-original-base .tr-base-sum-col ul{
  list-style:none;
  margin:0;
  padding:0;
}

.tr-report.tr-original-base .tr-base-sum-col ul li{
  font-size:14px;
  padding:5px 0;
  border-bottom:1px solid rgba(255,255,255,.15);
  display:flex;
  gap:7px;
  line-height:1.6;
}

.tr-report.tr-original-base .tr-base-sum-col ul li:last-child{
  border-bottom:none;
}

.tr-report.tr-original-base .tr-base-sum-col.tr-base-pros li::before{
  content:"✓";
  font-weight:900;
  color:#ffd166;
}

.tr-report.tr-original-base .tr-base-sum-col.tr-base-cons li::before{
  content:"△";
  opacity:.7;
}


.tr-report.tr-original-base .tr-base-cta{
  text-align:center;
  margin:28px 0 44px;
}

.tr-report.tr-original-base .tr-base-cta-btn{
  display:inline-block;
  background:linear-gradient(135deg,#ff6b6b,#ff8e53);
  color:#fff;
  font-size:16px;
  font-weight:900;
  padding:16px 38px;
  border-radius:40px;
  box-shadow:0 5px 20px rgba(255,107,107,.4);
}

.tr-report.tr-original-base .tr-base-cta-sub{
  font-size:12px;
  color:var(--text-sub);
  margin-top:9px;
}


.tr-report.tr-original-base .tr-base-notice{
  background:var(--bg-sub);
  border-top:2px solid var(--border);
  padding:22px 20px;
  margin-top:40px;
}

.tr-report.tr-original-base .tr-base-notice-inner{
  max-width:820px;
  margin:0 auto;
}

.tr-report.tr-original-base .tr-base-notice h3{
  font-size:13px;
  font-weight:700;
  color:var(--text-sub);
  margin:0 0 9px;
}

.tr-report.tr-original-base .tr-base-notice p{
  font-size:12px;
  color:#999;
  line-height:1.75;
  margin-bottom:5px;
}

.tr-report.tr-original-base center{
  display:block;
  text-align:center;
}

.tr-report.tr-original-base center .tr-base-vid{
  margin-left:auto;
  margin-right:auto;
}

.tr-report.tr-original-base video{
  max-width:100%;
  height:auto;
  display:block;
}


@media (max-width:700px){
  .tr-report.tr-original-base .tr-base-hero{
    min-height:430px;
  }

  .tr-report.tr-original-base .tr-base-verdict{
    margin-top:-14px;
    padding:22px 18px;
  }

  .tr-report.tr-original-base .tr-base-score-table .tr-base-s-stars{
    width:auto;
    font-size:18px;
    letter-spacing:1px;
  }

  .tr-report.tr-original-base .tr-base-reason-card{
    grid-template-columns:40px 1fr;
    gap:10px;
    padding:18px 16px 18px 14px;
  }

  .tr-report.tr-original-base .tr-base-faq-a{
    padding-left:18px;
  }
}

@media (max-width:560px){
  .tr-report.tr-original-base .tr-base-wrap{
    padding:0 16px;
  }

  .tr-report.tr-original-base .tr-base-hero-content{
    padding:28px 16px 34px;
  }

  .tr-report.tr-original-base .tr-base-hero-badge{
    font-size:11px;
  }

  .tr-report.tr-original-base .tr-base-hero h1{
    font-size:clamp(20px,7vw,28px);
  }

  .tr-report.tr-original-base .tr-base-hero-sub{
    font-size:13px;
  }

  .tr-report.tr-original-base .tr-base-tuk-wrap{
    gap:10px;
    padding:0;
  }

  .tr-report.tr-original-base .tr-base-tuk-img{
    width:64px;
  }

  .tr-report.tr-original-base .tr-base-tuk-bubble{
    font-size:13px;
    padding:12px 14px;
  }

  .tr-report.tr-original-base .tr-base-stat-row{
    grid-template-columns:repeat(2,1fr);
  }

  .tr-report.tr-original-base .tr-base-info-tbl td{
    display:block;
    width:100% !important;
    padding:10px 12px;
  }

  .tr-report.tr-original-base .tr-base-info-tbl td:first-child{
    border-bottom:none;
    padding-bottom:4px;
  }

  .tr-report.tr-original-base .tr-base-map-wrap iframe{
    height:240px;
  }

  .tr-report.tr-original-base .tr-base-pool-grid{
    grid-template-columns:1fr 1fr;
  }

  .tr-report.tr-original-base .tr-base-meal-tag{
    font-size:12px;
    padding:4px 10px;
  }

  .tr-report.tr-original-base .tr-base-price-box .tr-base-px{
    font-size:34px;
  }

  .tr-report.tr-original-base .tr-base-cta-btn{
    width:100%;
    padding:15px 20px;
  }
}

@media (max-width:420px){
  .tr-report.tr-original-base .tr-base-score-table td{
    padding:10px 6px;
    font-size:13px;
  }

  .tr-report.tr-original-base .tr-base-score-table .tr-base-s-label{
    width:auto;
  }

  .tr-report.tr-original-base .tr-base-score-table .tr-base-s-stars{
    font-size:16px;
  }

  .tr-report.tr-original-base .tr-base-pool-grid{
    grid-template-columns:1fr;
  }
}

/* Only layout/readability corrections to the original visual language. */
.tr-report.tr-original-base {--tr-ink:#222;--tr-body:#222;--tr-muted:#666;--tr-accent:#0090b0;--tr-line:#e8e8e8;--tr-soft:#e0f7fc;max-width:820px;letter-spacing:normal;line-height:1.85}
.tr-report.tr-original-base .tr-section {margin:28px 0}
.tr-report.tr-original-base .tr-base-sec-head {font-family:inherit;font-size:clamp(20px,3cqi,25px);margin:28px 0 18px;border-bottom:3px solid var(--primary)}
.tr-report.tr-original-base .tr-base-sec-label {display:inline-block;margin:0;letter-spacing:.04em}
.tr-report.tr-original-base .tr-badge-row {margin:5px 0 0}
.tr-report.tr-original-base .tr-base-tuk-wrap {margin:20px 0;padding:0}
.tr-report.tr-original-base .tr-base-tuk-img img {height:auto;object-fit:contain}
.tr-report.tr-original-base .tr-base-tuk-bubble {min-width:0}
.tr-report.tr-original-base .tr-story {display:block;margin:18px 0}
.tr-report.tr-original-base .tr-story > .tr-photo {margin:12px auto 18px}
.tr-report.tr-original-base .tr-base-scene {margin:12px 0 18px}
.tr-report.tr-original-base .tr-base-verdict {margin:0 0 22px;display:block;border:1px solid var(--border);border-top:4px solid var(--primary)}
.tr-report.tr-original-base .tr-base-verdict .tr-rating {border:0;padding:0;margin-top:16px}
.tr-report.tr-original-base .tr-base-hero {min-height:390px;display:flex;margin:0 0 18px;padding:0;border:0;border-radius:14px}
.tr-report.tr-original-base .tr-base-hero-content {align-self:flex-end;z-index:1;pointer-events:none;padding:28px 24px;max-width:none}
.tr-report.tr-original-base .tr-base-hero h1 {color:white;font-family:inherit;font-size:clamp(22px,3.6cqi,34px);margin:0 0 14px}
.tr-report.tr-original-base .tr-base-hero .tr-base-hl {color:#ffd166;font-weight:700}
.tr-report.tr-original-base .tr-base-hero .tr-base-hero-tag {margin:0}
.tr-report.tr-original-base .tr-hero-media {position:absolute;inset:0;max-width:none;width:100%;height:100%;margin:0;border-radius:0;z-index:0}
.tr-report.tr-original-base .tr-hero-media a,.tr-report.tr-original-base .tr-hero-media img {height:100%;width:100%;object-fit:cover}
.tr-report.tr-original-base .tr-hero-media::after {content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.05));pointer-events:none}
.tr-report.tr-original-base .tr-hero-media figcaption {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;padding:0;border:0}
.tr-report.tr-original-base .tr-photo {border-radius:14px;box-shadow:var(--shadow)}
.tr-report.tr-original-base .tr-photo figcaption {background:var(--primary-pale);color:#526775;border-color:#b2ebf2;border-radius:0 0 14px 14px}
.tr-report.tr-original-base .tr-base-stat-row {gap:10px;border:0}
.tr-report.tr-original-base .tr-base-s-icon,.tr-report.tr-original-base .tr-base-p-icon {display:block}
.tr-report.tr-original-base .tr-base-info-tbl :is(th,td) {padding:11px 14px;font-size:14px;line-height:1.7;border-bottom:1px solid #e0f7fc}
.tr-report.tr-original-base .tr-base-info-tbl th {width:27%;color:var(--primary-dark);background:#f0fdff}
.tr-report.tr-original-base .tr-area-dist {background:var(--primary);color:white;border-color:var(--primary);padding:3px 9px}
.tr-report.tr-original-base .tr-area-card {border-radius:12px;box-shadow:var(--shadow)}
.tr-report.tr-original-base .tr-base-faq-item summary {padding:14px 18px;font-size:15px}
.tr-report.tr-original-base .tr-base-faq-item .tr-faq-answer {padding:12px 18px;border-top:1px solid var(--border)}
.tr-report.tr-original-base .tr-base-summary :is(h2,h3,strong) {color:white}
.tr-report.tr-original-base .tr-base-summary .tr-panel {background:transparent;color:white;border:0;padding:0;box-shadow:none}
.tr-report.tr-original-base .tr-base-summary .tr-panel li {color:white}
@container tr-article (max-width:619px) {
 .tr-report.tr-original-base .tr-base-hero {min-height:400px}
 .tr-report.tr-original-base .tr-base-hero-content {padding:22px 16px}
 .tr-report.tr-original-base .tr-base-tuk-img {width:58px}
 .tr-report.tr-original-base .tr-base-tuk-img img {width:58px}
 .tr-report.tr-original-base .tr-base-sec-head {gap:8px;font-size:20px;flex-wrap:wrap}
 .tr-report.tr-original-base .tr-base-sec-label {font-size:11px;padding:2px 8px}
 .tr-report.tr-original-base .tr-base-stat-row {grid-template-columns:repeat(2,minmax(0,1fr))}
 .tr-report.tr-original-base .tr-base-info-tbl th {white-space:normal}
 .tr-report.tr-original-base .tr-photo {box-shadow:none}
}

@container tr-article (max-width:619px) {
.tr-report.tr-original-base :is(.tr-base-who-grid,.tr-base-honest-grid,.tr-base-sum-grid) {grid-template-columns:minmax(0,1fr)}
.tr-report.tr-original-base .tr-base-info-tbl :is(th,td) {display:table-cell;width:auto !important;white-space:normal;padding:10px 8px;font-size:13px}
.tr-report.tr-original-base .tr-base-info-tbl th {width:30% !important}
}

/* Reference layout 1.20: article-width composition with owned media. */
.tr-report.tr-reference {--tr-photo-height:460px;--tr-pair-height:340px;--tr-column-gap:20px}
.tr-report.tr-reference .tr-section {margin:34px 0}
.tr-report.tr-reference .tr-base-sec-head {margin:0 0 22px}
.tr-report.tr-reference .tr-topic {display:block;margin:22px 0;min-width:0}
.tr-report .tr-review-card {width:100%;min-width:0;margin:0;border:1px solid #bdd5df;border-radius:10px;overflow:hidden;background:white;box-shadow:none}
.tr-report .tr-review-heading {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;box-sizing:border-box;padding:16px 20px;background:#edf8fc;border-bottom:1px solid #cde2ea}
.tr-report .tr-review-heading h3 {margin:0;padding:0;border:0;color:#17617c;font:inherit;font-size:17px;font-weight:700;line-height:1.6}
.tr-report .tr-review-heading .tr-badge {flex:none;white-space:nowrap;margin:0 0 0 auto;font-size:12px;padding:2px 8px}
.tr-report .tr-review-card > p {padding:20px 22px;margin:0;font-size:16px;line-height:1.9}
.tr-report.tr-reference .tr-photo {border-radius:10px;box-shadow:none;margin:12px auto 20px}
.tr-report.tr-reference .tr-photo figcaption {padding:12px 16px;font-size:13px;border-radius:0 0 10px 10px;background:var(--primary-pale)}
.tr-report.tr-reference .tr-topic > .tr-gallery {margin:16px 0 0}
.tr-report.tr-reference .tr-gallery-row {align-items:stretch;gap:var(--tr-column-gap)}
.tr-report.tr-reference .tr-gallery-row > .tr-photo {margin:0 auto;display:flex;flex-direction:column}
.tr-report.tr-reference .tr-gallery-row > .tr-photo > a {flex:none}
.tr-report.tr-reference .tr-gallery-row > .tr-photo > figcaption {flex:1}
.tr-report.tr-reference .tr-gallery--swipe {align-items:stretch}
.tr-report.tr-reference .tr-topic > .tr-photo {margin:16px auto 0}
/* Photo-first amenity cards: the photo and its complete review share one frame. */
.tr-report.tr-reference .tr-feature-pair {display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tr-column-gap);align-items:start;margin:22px 0}
.tr-report.tr-reference .tr-feature-pair > .tr-topic.tr-feature-card {display:flex;flex-direction:column;gap:0;width:100%;max-width:none;box-sizing:border-box;min-width:0;margin:0;padding:0;border:1px solid #bdd5df;border-radius:10px;overflow:hidden;background:white}
.tr-report.tr-reference .tr-feature-pair > .tr-feature-card > .tr-photo {flex:none;width:100%;max-width:none;margin:0;border:0;border-radius:0}
.tr-report.tr-reference .tr-feature-card .tr-caption-in-review {display:none}
.tr-report.tr-reference .tr-feature-card > .tr-review-card {align-self:stretch;border:0;border-radius:0;overflow:visible}
.tr-report.tr-reference .tr-feature-card .tr-review-heading {border-top:1px solid #cde2ea}
/* Uniform previews keep their original, uncropped image links for the modal. */
.tr-report.tr-reference .tr-feature-pair--uniform {align-items:stretch}
.tr-report.tr-reference .tr-feature-pair--uniform > .tr-feature-card > .tr-review-card {flex:1}
.tr-report.tr-reference .tr-feature-pair--uniform .tr-photo-link {position:relative;aspect-ratio:4 / 3;overflow:hidden}
.tr-report.tr-reference .tr-feature-pair--uniform .tr-photo-link img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.tr-report.tr-reference .tr-topic.tr-topic--wide-media > .tr-gallery {margin:16px 0 0}
.tr-report.tr-reference .tr-topic.tr-topic--wide-media .tr-gallery-row {max-width:none}
.tr-report.tr-reference .tr-gallery--preview .tr-photo-link {position:relative;aspect-ratio:4 / 3;overflow:hidden}
.tr-report.tr-reference .tr-gallery--preview .tr-photo-link img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.tr-report.tr-reference .tr-gallery--preview-square .tr-photo-link {aspect-ratio:1}
.tr-report.tr-reference .tr-gallery--preview-square .tr-photo--shower-context img {object-position:50% 55%}
.tr-report.tr-reference .tr-gallery--preview-square .tr-photo--shower-flow img {object-position:50% 90%}
.tr-report.tr-reference .tr-gallery--preview .tr-photo--pool-slide img {object-position:50% 75%}
.tr-report.tr-reference .tr-gallery--preview .tr-photo--speed-screen img {object-position:50% 35%}
.tr-report.tr-reference .tr-gallery--preview .tr-photo--speed-device img {object-position:50% 65%}
.tr-report.tr-reference .tr-gallery--preview .tr-photo--storage-detail img {object-position:50% 75%}
.tr-report.tr-reference .tr-gallery--preview .tr-photo--shower-detail img {object-position:50% 15%}
.tr-report.tr-reference .tr-gallery--preview .tr-photo--dryer-detail img {object-position:50% 50%}
.tr-report.tr-reference .tr-bath-facts {margin:0;padding:0;font-size:16px;line-height:1.9}
.tr-report.tr-reference .tr-bath-facts > div {display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;padding:16px 22px}
.tr-report.tr-reference .tr-bath-facts > div + div {border-top:1px solid #dce9ef}
.tr-report.tr-reference .tr-bath-facts dt {margin:0;color:#17617c;font-size:14px;font-weight:700}
.tr-report.tr-reference .tr-bath-facts dd {margin:0}
@container tr-article (min-width:540px) {
 .tr-report.tr-reference .tr-feature-pair {grid-template-columns:repeat(2,minmax(0,1fr))}
}
.tr-report.tr-reference .tr-base-scene {margin:18px 0;padding:24px 26px}
.tr-report.tr-reference .tr-base-tuk-wrap {margin:22px 0}
.tr-report.tr-reference .tr-base-reason-card {border:1px solid #c7dfe7;box-shadow:none}
.tr-report.tr-reference .tr-base-strong-lead {border:1px solid #b9dfe9;border-radius:8px}
.tr-report.tr-reference .tr-base-caution {border:1px solid #e5cb80;border-radius:8px}
.tr-report.tr-reference .tr-base-toc {border:1px solid #b9dfe9}
.tr-report.tr-reference .tr-base-hero {min-height:400px}
.tr-report.tr-reference .tr-hero-media {max-width:none;margin:0;border-radius:0;box-shadow:none}
.tr-report.tr-reference .tr-base-area-list {display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.tr-report.tr-reference .tr-base-area-card {border:1px solid #cde2ea;border-radius:10px;box-shadow:none;overflow:hidden;padding:0}
.tr-report.tr-reference .tr-base-area-card-img {display:block;height:auto;min-height:0;padding:0;border:0;background:none}
.tr-report.tr-reference .tr-base-area-card-img .tr-photo {margin:0;max-width:none;border-radius:0}
.tr-report.tr-reference .tr-base-area-card-img figcaption {display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:0;border-radius:0}
.tr-report.tr-reference .tr-base-area-card-body {padding:14px 16px}
.tr-report.tr-reference .tr-base-area-dist {margin:0}
.tr-report.tr-reference .tr-base-area-card-body br {display:none}
.tr-report .tr-gallery-controls[hidden] {display:none}
@container tr-article (min-width:700px) {
 /* Each row owns its explanation and photos; never flow media across topics. */
 .tr-report.tr-reference .tr-topic:not(.tr-feature-card,.tr-topic--wide-media):has(> .tr-photo, > .tr-gallery) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tr-column-gap);align-items:center}
 .tr-report.tr-reference .tr-topic > :is(.tr-photo,.tr-gallery) {width:100%;max-width:none;min-width:0;margin:0}
 .tr-report.tr-reference .tr-topic .tr-gallery-row {max-width:calc(var(--tr-row-ratio,2.666666) * var(--tr-pair-height,340px) + var(--tr-row-gaps,16px))}
 .tr-report.tr-reference .tr-topic.tr-topic--measurements {--tr-pair-height:300px}
 .tr-report.tr-reference .tr-topic + .tr-topic {padding-top:22px;border-top:1px solid #deebef}
 .tr-report.tr-reference .tr-gallery-row > .tr-photo {max-width:none}
 .tr-report.tr-reference .tr-base-area-list {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container tr-article (max-width:619px) {
 .tr-report.tr-reference .tr-bath-facts > div {display:block}
 .tr-report.tr-reference .tr-bath-facts dt {margin-bottom:6px}
 .tr-report.tr-reference .tr-review-heading {column-gap:8px;padding-inline:18px}
 .tr-report.tr-reference .tr-topic--wide-media .tr-gallery--swipe {--tr-strip-height:min(320px,calc((100cqi - 48px) / var(--tr-strip-ratio,1.333333)))}
 .tr-report.tr-reference .tr-topic--wide-media .tr-gallery--swipe[data-tr-photo-size="large"] {--tr-strip-height:min(360px,calc((100cqi - 32px) / var(--tr-strip-ratio,1.333333)))}
 .tr-report.tr-reference .tr-photo {max-width:100%}
 .tr-report.tr-reference .tr-topic--portrait > .tr-photo {width:min(100%,300px)}
 .tr-report.tr-reference .tr-gallery--swipe {--tr-strip-height:min(320px,calc((100cqi - 20px) / var(--tr-strip-ratio,1.333333)));margin-bottom:0}
 .tr-report.tr-reference .tr-gallery--swipe .tr-photo {max-width:none}
 .tr-report.tr-reference .tr-base-hero {min-height:360px}
 .tr-report.tr-reference .tr-base-hero-content {padding:24px 16px}
}

@container tr-article (min-width:620px) {
 .tr-report.tr-reference .tr-base-area-list {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .tr-report.tr-reference .tr-base-area-card-img .tr-photo {display:block}
 .tr-report.tr-reference .tr-base-area-card-img figcaption {padding:14px 16px;background:var(--primary-pale)}
}

/* Whole-article composition. The theme owns the article/sidebar columns. */
.tr-report.tr-reference{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding-inline:clamp(12px,1.5vw,20px);word-break:normal;line-break:strict;overflow-wrap:break-word}
.tr-report.tr-reference .tr-base-verdict {padding:20px 22px}
.tr-report.tr-reference .tr-base-verdict-body {font-weight:400;line-height:1.85}
.tr-report.tr-reference .tr-rating-title {margin:0 0 8px;font-size:14px;color:#17617c}
.tr-report.tr-reference .tr-score-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:0 20px}
.tr-report.tr-reference .tr-rating .tr-score-table {margin:0;line-height:1.55}
.tr-report.tr-reference .tr-rating .tr-score-table td {padding:7px 9px;font-size:14px;line-height:1.45}
.tr-report.tr-reference .tr-rating .tr-score-table tr .tr-s-label {width:auto;color:#334f61;font-weight:400}
.tr-report.tr-reference .tr-rating .tr-score-table .tr-s-stars {width:auto;font-size:16px;letter-spacing:1px}
.tr-report.tr-reference .tr-rating .tr-score-table tr .tr-s-num {font-size:16px;font-weight:700;color:#17617c}
.tr-report.tr-reference .tr-rating .tr-score-table tr:first-child td {background:none}
.tr-report.tr-reference .tr-rating .tr-score-table tr.tr-score-row--overall td {background:#edf8fc;font-weight:700}
.tr-report.tr-reference .tr-rating .tr-score-table tr.tr-score-row--overall .tr-s-num {font-size:18px;font-weight:900}
.tr-report.tr-reference .tr-base-stat-row {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tr-report.tr-reference .tr-base-stat-card {padding:14px 12px;border:1px solid #c7dfe7;border-radius:10px;box-shadow:none}
.tr-report.tr-reference .tr-base-stat-card .tr-base-s-val {line-height:1.4}
.tr-report.tr-reference .tr-base-stat-card .tr-base-s-sub {font-size:12px;color:#536d7a}
.tr-report.tr-reference .tr-access-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px 20px;margin:0 0 16px;align-items:start}
.tr-report.tr-reference .tr-access-layout > *{min-width:0;margin:0}
.tr-report.tr-reference .tr-access-map {display:grid;gap:16px;min-width:0}
.tr-report.tr-reference .tr-access-map > * {margin:0}
.tr-report.tr-reference .tr-access-map .tr-note {padding:16px 18px;font-size:14px;line-height:1.8}
.tr-report.tr-reference .tr-map-wrap{display:flex;flex-direction:column;border:1px solid #c7dfe7;border-radius:8px;overflow:hidden;background:#edf8fc}
.tr-report.tr-reference .tr-map-wrap iframe{display:block;flex:none;width:100%;height:240px;border:0}
.tr-report.tr-reference .tr-map-caption{font-size:13px;line-height:1.7;padding:12px 16px;margin:0}
.tr-report.tr-reference .tr-map-link{display:block;padding:0 16px 14px;font-size:13px;font-weight:600;color:#17617c}
.tr-report.tr-reference .tr-overview-gallery{margin:12px 0 20px}
.tr-report.tr-reference .tr-facility-heading small{display:block;margin-top:6px;color:#536d7a;font-size:13px;font-weight:400;line-height:1.6}
.tr-report.tr-reference .tr-base-meal-row{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}
.tr-report.tr-reference .tr-base-meal-tag{margin:0;padding:5px 10px;font-size:13px;line-height:1.6}
.tr-report.tr-reference .tr-base-reason-card{padding-top:18px;padding-bottom:18px;margin-bottom:12px}
.tr-report.tr-reference .tr-base-info-tbl{margin:0;table-layout:fixed}
.tr-report.tr-reference .tr-base-info-tbl :is(th,td){word-break:normal;overflow-wrap:anywhere;padding:10px 12px;line-height:1.75}
.tr-report.tr-reference .tr-label-unit{display:inline-block}
.tr-report.tr-reference .tr-base-tuk-wrap{margin:18px 0}
.tr-report.tr-reference .tr-base-honest{margin:16px 0}
.tr-report.tr-reference .tr-base-area-list{gap:var(--tr-column-gap)}
.tr-report.tr-reference .tr-area-column{display:grid;gap:14px;min-width:0}
@container tr-article (min-width:700px){
 .tr-report.tr-reference .tr-access-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
 .tr-report.tr-reference .tr-access-layout .tr-map-wrap iframe{height:300px}
 .tr-report.tr-reference .tr-access-layout .tr-base-info-tbl :is(th,td){font-size:14px;padding:9px 12px;line-height:1.7}
 .tr-report.tr-reference .tr-access-layout .tr-base-info-tbl th{width:28%}
 .tr-report.tr-reference .tr-topic .tr-review-card{align-self:center}
}
@container tr-article (min-width:620px){
 .tr-report.tr-reference .tr-score-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .tr-report.tr-reference .tr-base-stat-row {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container tr-article (max-width:619px){
 .tr-report.tr-reference .tr-rating .tr-score-table td {padding:6px}
 .tr-report.tr-reference .tr-rating .tr-score-table .tr-s-stars {font-size:14px;letter-spacing:0}
 .tr-report.tr-reference .tr-access-layout,.tr-report.tr-reference .tr-access-map {row-gap:12px}
 .tr-report.tr-reference .tr-topic .tr-review-card{align-self:auto}
 .tr-report.tr-reference .tr-base-info-tbl :is(th,td){padding:8px 10px;line-height:1.65}
 .tr-report.tr-reference .tr-base-info-tbl th{width:35% !important;font-size:13px}
 .tr-report.tr-reference .tr-base-info-tbl td{font-size:13.5px}
 .tr-report.tr-reference .tr-gallery-controls{margin-top:4px}
 .tr-report.tr-reference .tr-base-verdict{padding:18px 14px}
}

/* A pale blue conclusion keeps all text and both lists readable. */
.tr-report.tr-reference .tr-base-summary {margin:34px 0;padding:24px 22px;background:#edf8fc;border:1px solid #bdd5df;border-radius:10px;color:#243e4b}
.tr-report.tr-reference .tr-base-summary :is(h2,h3,strong) {color:#174d66}
.tr-report.tr-reference .tr-base-summary h2 {font-family:inherit;font-weight:700;font-size:20px;line-height:1.65;border:0;padding:0;margin:0 0 8px}
.tr-report.tr-reference .tr-base-summary .tr-base-sub {margin:0 0 16px;color:#334f61;font-size:16px;line-height:1.8;opacity:1}
.tr-report.tr-reference .tr-base-summary .tr-base-sum-grid {gap:20px;margin:0}
.tr-report.tr-reference .tr-base-summary .tr-panel {padding:16px 18px;border:1px solid #c4dce7;border-radius:8px;background:#fff;color:#243e4b;box-shadow:none}
.tr-report.tr-reference .tr-base-summary .tr-panel h3 {margin:0 0 10px;font-size:15px;line-height:1.6;opacity:1}
.tr-report.tr-reference .tr-base-summary .tr-base-cons h3 {color:#805c15}
.tr-report.tr-reference .tr-base-summary .tr-panel li {font-size:14px;line-height:1.8;border-bottom-color:#e4edf2;color:#243e4b;opacity:1}
.tr-report.tr-reference .tr-base-summary .tr-panel li::before {color:#17617c;opacity:1}
.tr-report.tr-reference .tr-base-summary .tr-base-cons li::before {color:#805c15}

/* Facility rows share a text/media split and complete, readable review frames. */
.tr-report.tr-reference .tr-topic--facility .tr-review-card > p{text-wrap:pretty}
.tr-report.tr-reference .tr-topic--facility .tr-review-card > p strong{display:inline-block;max-width:100%}
@container tr-article (min-width:700px){
 .tr-report.tr-reference .tr-topic.tr-topic--facility{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
 .tr-report.tr-reference .tr-topic--facility .tr-review-card{display:flex;flex-direction:column}
 .tr-report.tr-reference .tr-topic--facility .tr-review-card > p{margin:0;padding:20px 22px}
}
/* Keep the two nearby-place photo frames and the fact rows on common baselines. */
@supports(grid-template-rows:subgrid){
 @container tr-article (min-width:620px){
  .tr-report.tr-reference .tr-base-area-list{grid-template-rows:auto auto;align-items:stretch}
  .tr-report.tr-reference .tr-area-column{grid-row:span 2;grid-template-rows:subgrid}
  .tr-report.tr-reference .tr-base-area-card-img{height:100%}
  .tr-report.tr-reference .tr-base-area-card-img .tr-photo{display:flex;flex-direction:column;height:100%}
  .tr-report.tr-reference .tr-base-area-card-img .tr-photo > a{flex:none}
  .tr-report.tr-reference .tr-base-area-card-img figcaption{flex:1;align-content:flex-start}
 }
}

/* Opt-in desktop strips: two clear previews and a visible continuation. */
@container tr-article (min-width:620px) {
 .tr-report.tr-reference .tr-gallery--swipe[data-tr-desktop="scroll"] {display:flex;flex-direction:row;gap:20px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;width:100%;max-width:100%;padding:0;margin-bottom:0}
 .tr-report.tr-reference .tr-gallery--swipe[data-tr-desktop="scroll"]::-webkit-scrollbar {display:none}
 .tr-report.tr-reference .tr-gallery--swipe[data-tr-desktop="scroll"] .tr-gallery-row {display:contents}
 .tr-report.tr-reference .tr-gallery--swipe[data-tr-desktop="scroll"] .tr-photo {flex:0 0 calc((100% - 48px) / 2);width:calc((100% - 48px) / 2);max-width:none;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
 .tr-report.tr-reference .tr-gallery[data-tr-desktop="scroll"] + .tr-gallery-controls {display:flex;align-items:center;gap:8px;margin:4px 0 18px;min-height:36px;font-size:12px;line-height:1.5;color:var(--tr-muted)}
 .tr-report.tr-reference .tr-gallery[data-tr-desktop="scroll"] + .tr-gallery-controls .tr-gallery-hint {flex:1}
 .tr-report.tr-reference .tr-gallery[data-tr-desktop="scroll"] + .tr-gallery-controls button {appearance:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;padding:0;margin:0;border:1px solid var(--tr-line);border-radius:4px;background:var(--tr-paper);color:var(--tr-accent);font-family:inherit;font-size:22px;font-weight:600;line-height:1;cursor:pointer;box-shadow:none}
 .tr-report.tr-reference .tr-gallery[data-tr-desktop="scroll"] + .tr-gallery-controls button:not(:disabled) {background:#f0f9fc;border-color:#b8d7e2}
 .tr-report.tr-reference .tr-gallery[data-tr-desktop="scroll"] + .tr-gallery-controls button:disabled {opacity:.35;cursor:default}
}
.tr-report.tr-reference .tr-arrival-gallery .tr-photo img {object-position:50% 57%}
.tr-report .tr-video-block {margin:28px 0}
.tr-report .tr-video-frame {width:100%;min-width:0;aspect-ratio:16/9;min-height:200px;position:relative;overflow:hidden;border:1px solid var(--tr-line);border-radius:12px;background:#112e3d}
.tr-report .tr-video-preview {display:block;position:absolute;inset:0;color:#fff;text-decoration:none;isolation:isolate}
.tr-report .tr-video-preview::after {content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(5,25,39,.8));z-index:-1}
.tr-report .tr-video-preview img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;margin:0}
.tr-report .tr-video-play {position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:50px;border:1px solid #fff9;border-radius:12px;background:#087b9c;color:white;font-size:24px;padding-left:3px}
.tr-report .tr-video-cta {position:absolute;bottom:24px;left:18px;right:18px;text-align:center;font-weight:700;font-size:18px;color:white}
.tr-report .tr-video-frame iframe {display:block;width:100%;height:100%;position:absolute;inset:0;border:0;margin:0}
.tr-report .tr-video-foot {display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font-size:13px;line-height:1.7;color:var(--tr-muted);padding:10px 2px}
.tr-report .tr-video-preview:focus-visible {outline:3px solid #eac36e;outline-offset:-5px}
@media print {
 .tr-report.tr-reference .tr-gallery--swipe[data-tr-desktop="scroll"] {display:grid;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}
 .tr-report.tr-reference .tr-gallery--swipe[data-tr-desktop="scroll"] .tr-photo {width:100%;max-width:100%}
}

/* Drag enhancement applies only when this strip can actually scroll. */
@media (hover:hover) and (pointer:fine) {
 .tr-report .tr-gallery--draggable .tr-photo-link {cursor:grab}
 .tr-report .tr-gallery--draggable .tr-photo-link img {-webkit-user-drag:none;user-select:none}
 .tr-report .tr-gallery--dragging, .tr-report .tr-gallery--dragging * {cursor:grabbing!important;user-select:none}
}
.tr-report .tr-gallery--dragging {scroll-snap-type:none!important;scroll-behavior:auto!important}
.tr-report.tr-reference .tr-photo--preview .tr-photo-link {position:relative;aspect-ratio:4/3;overflow:hidden}
.tr-report.tr-reference .tr-photo--preview .tr-photo-link img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tr-report.tr-reference .tr-photo--billiards img {object-position:50% 60%}

/* Six stay facts form one compact row when the article column has room. */
@container tr-article (min-width:540px) {
 .tr-report.tr-reference .tr-base-stat-row {grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0}
 .tr-report.tr-reference .tr-base-stat-card {display:grid;grid-template-rows:20px minmax(40px,auto) auto;align-content:start;gap:2px;padding:10px 6px;border-radius:8px}
 .tr-report.tr-reference .tr-base-stat-card .tr-base-s-icon {font-size:16px;line-height:20px;margin:0}
 .tr-report.tr-reference .tr-base-stat-card .tr-base-s-val {align-self:center;font-size:14px;font-weight:700;line-height:1.4}
 .tr-report.tr-reference .tr-base-stat-card .tr-base-s-sub {font-size:12px;line-height:1.45;margin:0;overflow-wrap:anywhere}
}
@container tr-article (min-width:700px) {
 .tr-report.tr-reference .tr-base-stat-card .tr-base-s-val {font-size:15px}
}
