@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&family=Playfair+Display:wght@400;600&display=swap");
        :root {
          --bg: #FFFFFF;
          --surface: rgba(255, 255, 255, 0.96);
          --surface-alt: #F7F7F7;
          --text-primary: #2C2C2C;
          --text-secondary: #666666;
          --accent: #A68B5C;
          --accent-2: #A68B5C;
          --button-text: #FFFFFF;
          --border: #EAEAEA;
          --shadow: 0 24px 70px rgba(29, 23, 17, 0.08);
          --radius: 2px;
          --qqmap-overlay-crop: 152px;
          --font-display: 'Playfair Display', serif;
          --font-body: 'Inter', -apple-system, sans-serif;
        }
        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
          margin: 0;
          min-height: 100vh;
          background: var(--bg);
          color: var(--text-primary);
          font-family: var(--font-body);
          line-height: 1.6;
        }
        a { color: inherit; }
        button, input, textarea { font: inherit; }
        .site-body::before, .site-body::after {
          content: "";
          position: fixed;
          width: 34rem;
          height: 34rem;
          border-radius: 999px;
          filter: blur(96px);
          opacity: 0.12;
          pointer-events: none;
          z-index: 0;
        }
        .site-body::before { top: -5rem; left: -4rem; background: var(--accent); }
        .site-body::after { bottom: -6rem; right: -4rem; background: var(--accent-2); }
        .topbar {
          position: sticky;
          top: 0;
          z-index: 30;
          backdrop-filter: blur(12px);
          background: rgba(255, 255, 255, 0.86);
          border-bottom: 1px solid var(--border);
        }
        .topbar-shell, .page-frame {
          width: min(1480px, calc(100% - 64px));
          margin: 0 auto;
        }
        .topbar-shell {
          display: grid;
          grid-template-columns: 260px 1fr auto;
          gap: 28px;
          align-items: center;
          min-height: 78px;
        }
        .brand-block {
          display: grid;
          gap: 4px;
          text-decoration: none;
        }
        .brand-kicker, .route-kicker, .side-kicker {
          margin: 0;
          font-size: 0.74rem;
          text-transform: uppercase;
          letter-spacing: 0.16em;
          color: var(--accent-2);
          font-weight: 700;
        }
        .brand-block strong {
          font-family: var(--font-display);
          font-size: 1.12rem;
        }
        .global-nav, .pill-row, .filter-bar, .facility-meta, .tag-cloud, .topbar-meta {
          display: flex;
          flex-wrap: wrap;
          gap: 10px;
        }
        .nav-link {
          position: relative;
          display: inline-flex;
          align-items: center;
          min-height: 44px;
          padding: 0 4px;
          color: var(--text-secondary);
          text-decoration: none;
          font-weight: 600;
        }
        .nav-link::after {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          bottom: -19px;
          height: 3px;
          border-radius: 999px;
          background: var(--accent);
          opacity: 0;
          transform: scaleX(0.4);
          transform-origin: center;
          transition: 180ms ease;
        }
        .nav-link:hover, .nav-link.is-active { color: var(--text-primary); }
        .nav-link:hover::after, .nav-link.is-active::after {
          opacity: 1;
          transform: scaleX(1);
        }
        .contact-link, .meta-pill, .pill, .chip, .review-chip, .filter-chip, .copy-button, .scroll-top {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 38px;
          padding: 0 14px;
          border-radius: 999px;
          border: 1px solid var(--border);
          background: rgba(255, 255, 255, 0.42);
          color: var(--text-primary);
          text-decoration: none;
        }
        .tag-link {
          transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
        }
        .tag-link:hover {
          border-color: var(--accent);
          background: rgba(255, 255, 255, 0.72);
          color: var(--text-primary);
        }
        .meta-pill {
          min-height: 34px;
          padding: 0 12px;
          font-size: 0.88rem;
        }
        .pill, .chip, .review-chip, .filter-chip {
          min-height: 34px;
          font-size: 0.88rem;
        }
        .contact-link {
          min-height: 42px;
          padding: 0 18px;
          color: var(--button-text);
          background: linear-gradient(135deg, var(--accent), var(--accent-2));
        }
        .contact-link.is-muted { color: var(--text-secondary); }
        .page-frame {
          position: relative;
          z-index: 1;
          padding: 22px 0 80px;
        }
        .site-footer {
          position: relative;
          z-index: 1;
          width: min(100% - 32px, 1440px);
          margin: 0 auto;
          padding: 46px 0 58px;
          border-top: 1px solid var(--border);
          color: var(--text-secondary);
          text-align: center;
          font-size: 0.82rem;
          letter-spacing: 0.08em;
        }
        .site-footer-meta {
          display: grid;
          gap: 10px;
          justify-items: center;
        }
        .site-footer p {
          margin: 0;
        }
        .site-footer-links {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          gap: 10px;
          font-size: 0.78rem;
          letter-spacing: 0.04em;
        }
        .site-footer-links a {
          color: var(--text-secondary);
          text-decoration: none;
          border-bottom: 1px solid transparent;
          transition: color 160ms ease, border-color 160ms ease;
        }
        .site-footer-links a:hover {
          color: var(--text-primary);
          border-color: currentColor;
        }
        .site-footer-divider {
          opacity: 0.55;
        }
        .layout-editorial.has-editorial-home .site-footer {
          width: min(100% - 32px, 1400px);
        }
        .breadcrumbs {
          display: flex;
          flex-wrap: wrap;
          gap: 10px;
          color: var(--text-secondary);
          font-size: 0.92rem;
        }
        .breadcrumbs a {
          text-decoration: none;
          color: var(--text-secondary);
        }
        .breadcrumbs a::after {
          content: "›";
          margin-left: 10px;
          color: rgba(0, 0, 0, 0.24);
        }
        [id] { scroll-margin-top: 150px; }
        .section-anchor-nav {
          position: sticky;
          top: 78px;
          z-index: 24;
          display: flex;
          flex-wrap: wrap;
          gap: 18px;
          margin-top: 22px;
          padding: 0 10px;
          border-bottom: 1px solid var(--border);
          background: transparent;
        }
        .section-anchor-link {
          display: inline-flex;
          align-items: center;
          min-height: 52px;
          padding: 0 2px;
          border-bottom: 3px solid transparent;
          color: var(--text-secondary);
          text-decoration: none;
          white-space: nowrap;
          font-weight: 600;
        }
        .section-anchor-link.is-active {
          color: var(--text-primary);
          background: transparent;
          border-bottom-color: var(--accent);
        }
        .page-hero {
          display: grid;
          grid-template-columns: minmax(0, 1.05fr) minmax(430px, 0.95fr);
          gap: 24px;
          margin-top: 22px;
          padding: 28px;
          border-radius: 24px;
          border: 1px solid var(--border);
          background: linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.62));
          box-shadow: var(--shadow);
        }
        .page-hero-copy {
          display: flex;
          flex-direction: column;
          justify-content: start;
          gap: 12px;
        }
        .page-hero-heading {
          display: grid;
          gap: 12px;
          align-content: start;
          max-width: min(38rem, 100%);
        }
        .eyebrow {
          margin: 0;
          display: inline-flex;
          align-items: center;
          width: fit-content;
          padding: 6px 12px;
          border-radius: 999px;
          border: 1px solid rgba(16, 35, 58, 0.08);
          background: rgba(255, 255, 255, 0.72);
          color: var(--accent-2);
          font-size: 0.76rem;
          font-weight: 700;
          letter-spacing: 0.14em;
          text-transform: uppercase;
        }
        .page-hero-title {
          margin: 0;
          font-family: var(--font-display);
          font-size: clamp(2rem, 2.4vw, 3rem);
          line-height: 1.12;
          letter-spacing: -0.025em;
          max-width: 12ch;
          text-wrap: balance;
        }
        .section-overview .page-hero-title {
          font-size: clamp(2.15rem, 2.8vw, 3.25rem);
          line-height: 1.04;
          letter-spacing: -0.03em;
          max-width: min(16ch, 100%);
        }
        .page-lead, .route-card p, .category-card p, .policy-link-card p, .category-note, .feature-card p, .review-head-meta, .review-feedback-card p, .media-caption {
          margin: 0;
          color: var(--text-secondary);
        }
        .page-lead {
          max-width: 42rem;
          font-size: 1rem;
        }
        .hero-summary-board {
          display: grid;
          gap: 16px;
          margin-top: 6px;
          padding: 18px;
          border-radius: 20px;
          border: 1px solid var(--border);
          background: rgba(255, 255, 255, 0.5);
        }
        .hero-summary-grid {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 14px;
        }
        .hero-info-card {
          display: grid;
          gap: 6px;
          padding: 16px;
          border-radius: 16px;
          border: 1px solid var(--border);
          background: rgba(255, 255, 255, 0.68);
        }
        .hero-info-card.is-wide { grid-column: span 2; }
        .hero-info-label {
          color: var(--text-secondary);
          font-size: 0.75rem;
          text-transform: uppercase;
          letter-spacing: 0.12em;
          font-weight: 700;
        }
        .hero-info-card strong {
          font-size: 1.02rem;
          line-height: 1.45;
        }
        .hero-info-card p {
          margin: 0;
          color: var(--text-secondary);
          font-size: 0.92rem;
        }
        .hero-action-row {
          display: flex;
          flex-wrap: wrap;
          gap: 10px;
        }
        .hero-action {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 42px;
          padding: 0 18px;
          border-radius: 999px;
          border: 1px solid var(--border);
          background: rgba(255, 255, 255, 0.72);
          color: var(--text-primary);
          text-decoration: none;
          font-weight: 600;
        }
        .hero-action.is-primary {
          color: var(--button-text);
          background: linear-gradient(135deg, var(--accent), var(--accent-2));
          border-color: transparent;
        }
        .hero-media-panel, .content-section, .content-panel, .side-card {
          border-radius: 22px;
          border: 1px solid var(--border);
          background: var(--surface);
          box-shadow: var(--shadow);
        }
        .hero-media-panel {
          min-height: 390px;
          padding: 18px;
        }
        .media-carousel {
          height: 100%;
          display: grid;
          grid-template-columns: minmax(0, 1fr);
          grid-template-rows: auto auto auto;
          grid-template-areas:
            "stage"
            "caption"
            "thumbs";
          gap: 12px;
          align-content: start;
        }
        .carousel-stage {
          grid-area: stage;
          position: relative;
          height: clamp(360px, 34vw, 468px);
          min-height: clamp(360px, 34vw, 468px);
          overflow: hidden;
          border-radius: 22px;
          background: rgba(255, 255, 255, 0.32);
        }
        .carousel-stage::after {
          content: "";
          position: absolute;
          inset: auto 0 0 0;
          height: 36%;
          background: linear-gradient(180deg, transparent, rgba(10, 15, 28, 0.18));
          pointer-events: none;
        }
        .carousel-main-button, .media-button {
          display: block;
          width: 100%;
          height: 100%;
          padding: 0;
          border: 0;
          background: transparent;
          cursor: zoom-in;
        }
        .carousel-main-image, .media-button img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
        }
        .carousel-arrow {
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          width: 44px;
          height: 44px;
          border-radius: 999px;
          border: 1px solid rgba(255, 255, 255, 0.3);
          background: rgba(16, 35, 58, 0.45);
          color: #fff;
          cursor: pointer;
        }
        [data-carousel-prev] { left: 18px; }
        [data-carousel-next] { right: 18px; }
        .carousel-caption {
          color: var(--text-primary);
          font-size: 0.98rem;
          font-weight: 600;
        }
        .carousel-caption-bar {
          grid-area: caption;
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 12px;
          padding: 0;
        }
        .carousel-meta-actions {
          display: flex;
          align-items: center;
          justify-content: flex-end;
          gap: 10px;
          flex-wrap: wrap;
        }
        .video-chip {
          margin-right: 0;
          text-decoration: none;
          white-space: nowrap;
          cursor: pointer;
          border: 0;
          font: inherit;
        }
        .gallery-chip {
          margin-right: 0;
          text-decoration: none;
          white-space: nowrap;
        }
        .thumbnail-strip {
          grid-area: thumbs;
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(74px, 74px));
          gap: 10px;
          padding: 0;
          justify-content: start;
          align-content: start;
        }
        .thumbnail-button {
          padding: 0;
          width: 74px;
          border-radius: 14px;
          overflow: hidden;
          border: 1px solid transparent;
          background: rgba(255, 255, 255, 0.18);
          cursor: pointer;
          aspect-ratio: 1.08 / 1;
          position: relative;
          display: block;
        }
        .thumbnail-button.is-active { border-color: var(--accent); }
        .thumbnail-button img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
        }
        .thumbnail-more-link {
          text-decoration: none;
          color: inherit;
        }
        .thumbnail-more-link::after {
          content: "";
          position: absolute;
          inset: 0;
          background: linear-gradient(180deg, rgba(15, 23, 42, 0.12), rgba(15, 23, 42, 0.58));
        }
        .thumbnail-more-badge {
          position: absolute;
          inset: auto 10px 10px auto;
          z-index: 1;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 44px;
          padding: 6px 10px;
          border-radius: 999px;
          background: rgba(255, 255, 255, 0.92);
          color: #0f172a;
          font-size: 13px;
          font-weight: 700;
          box-shadow: 0 6px 18px rgba(15, 23, 42, 0.16);
        }
        .page-grid {
          display: grid;
          grid-template-columns: minmax(0, 1fr) 320px;
          gap: 28px;
          margin-top: 28px;
          align-items: start;
        }
        .page-grid-single {
          grid-template-columns: minmax(0, 1fr);
        }
        .page-main, .side-stack {
          display: grid;
          gap: 24px;
        }
        .trust-copy {
          display: grid;
          gap: 12px;
          color: var(--text-secondary);
        }
        .trust-copy p {
          margin: 0;
        }
        .trust-note-list {
          margin: 0;
          padding-left: 1.1rem;
          display: grid;
          gap: 10px;
          color: var(--text-secondary);
        }
        .trust-note-list li::marker {
          color: var(--accent);
        }
        .trust-note-list strong {
          color: var(--text-primary);
        }
        .page-side { position: sticky; top: 114px; }
        .content-section, .content-panel, .side-card {
          display: grid;
          gap: 18px;
          align-content: start;
          padding: 28px;
        }
        .split-layout {
          display: grid;
          grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
          gap: 20px;
          align-items: start;
        }
        .reading-section {
          grid-template-columns: 1fr;
        }
        .panel-head {
          display: grid;
          gap: 10px;
          margin: 0;
          padding-bottom: 12px;
          border-bottom: 1px solid var(--border);
          justify-items: start;
        }
        .panel-head h2 {
          margin: 0;
          font-family: var(--font-display);
          font-size: 1.58rem;
          letter-spacing: -0.03em;
          line-height: 1.12;
          white-space: normal;
        }
        .panel-head p {
          margin: 0;
          max-width: 46rem;
          color: var(--text-secondary);
        }
        .fact-label, .stat-label {
          margin: 0;
          color: var(--text-secondary);
        }
        .route-grid, .category-grid, .policy-link-grid, .fact-grid, .facility-grid, .gallery-grid, .review-grid, .location-board, .stat-grid, .facility-detail-grid, .poi-grid {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 16px;
        }
        .route-grid, .category-grid, .gallery-grid, .poi-grid, .fact-grid, .stat-grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }
        .highlight-grid {
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 16px;
        }
        .highlight-grid.story-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .category-grid.room-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .review-grid.review-list-grid,
        .review-grid.editorial-grid {
          grid-template-columns: 1fr;
        }
        .route-card, .category-card, .policy-link-card, .side-link-card, .feature-card, .fact-card, .facility-card, .media-card, .stat-card, .coord-card, .policy-detail-card, .facility-detail-card, .poi-card {
          border-radius: 18px;
          border: 1px solid var(--border);
          background: var(--surface-alt);
        }
        .route-card, .category-card, .policy-link-card, .side-link-card, .feature-card, .fact-card, .stat-card, .coord-card, .policy-detail-card, .facility-detail-card, .poi-card {
          padding: 18px;
        }
        .route-card, .category-card, .policy-link-card, .side-link-card {
          display: grid;
          gap: 10px;
          text-decoration: none;
        }
        .card-link-row {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 12px;
        }
        .card-link-row .inline-link {
          margin-top: 0;
          white-space: nowrap;
        }
        .route-card {
          position: relative;
          min-height: 156px;
          align-content: start;
          padding: 22px;
        }
        .route-card::after {
          content: "↗";
          position: absolute;
          right: 18px;
          top: 16px;
          color: var(--accent);
          font-size: 1.1rem;
          font-weight: 700;
        }
        .route-card strong, .category-card strong, .policy-link-card strong {
          font-size: 1.08rem;
          line-height: 1.4;
        }
        .card-title-link {
          color: var(--text-primary);
          text-decoration: none;
          font-size: 1.08rem;
          line-height: 1.4;
          font-weight: 700;
        }
        .card-title-link:hover {
          color: var(--accent);
        }
        .feature-card {
          padding: 22px;
          border-top: 3px solid var(--accent);
        }
        .feature-card h3 {
          margin: 0 0 10px;
          font-size: 0.76rem;
          letter-spacing: 0.16em;
          text-transform: uppercase;
          color: var(--accent-2);
        }
        .fact-card, .stat-card {
          display: grid;
          gap: 10px;
        }
        .fact-label, .stat-label {
          font-size: 0.76rem;
          text-transform: uppercase;
          letter-spacing: 0.08em;
        }
        .fact-value {
          margin: 0;
          font-size: 1rem;
          line-height: 1.5;
          font-weight: 700;
        }
        .stat-value { margin: 0; font-size: 1.5rem; font-weight: 700; }
        .facility-card {
          display: flex;
          align-items: center;
          grid-template-columns: 46px 1fr;
          gap: 14px;
          align-items: center;
          padding: 18px;
        }
        .facility-card h3 { margin: 0; font-size: 1rem; }
        .facility-detail-card {
          display: grid;
          gap: 14px;
          padding: 18px;
        }
        .facility-detail-head {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 12px;
        }
        .facility-detail-list {
          margin: 0;
          padding-left: 20px;
          color: var(--text-secondary);
        }
        .mini-media-strip {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(88px, 88px));
          gap: 10px;
          justify-content: start;
          align-content: start;
        }
        .gallery-panel-stack {
          display: grid;
          gap: 18px;
          margin-top: 18px;
        }
        .facility-group-stack {
          display: grid;
          gap: 20px;
        }
        .facility-group-block {
          display: grid;
          gap: 16px;
        }
        .compact-panel-head {
          margin-bottom: 0;
          justify-content: start;
        }
        .compact-panel-head h3 {
          margin: 0;
          font-family: var(--font-display);
          font-size: 1.08rem;
        }
        .official-album-card {
          align-content: start;
        }
        .poi-card {
          display: grid;
          gap: 10px;
        }
        .facility-icon {
          width: 40px;
          height: 40px;
          object-fit: contain;
        }
        .media-card { padding: 0; overflow: hidden; }
        .media-button img { aspect-ratio: 1.3 / 1; }
        .media-caption { padding: 14px 16px 16px; }
        .rating-stack {
          display: grid;
          gap: 12px;
        }
        .rating-row {
          display: grid;
          gap: 8px;
        }
        .rating-label {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 12px;
          font-weight: 600;
        }
        .rating-label span:last-child {
          color: var(--text-secondary);
          font-weight: 700;
        }
        .rating-track {
          position: relative;
          height: 10px;
          border-radius: 999px;
          overflow: hidden;
          background: rgba(16, 35, 58, 0.08);
        }
        .rating-track span {
          display: block;
          height: 100%;
          border-radius: inherit;
          background: linear-gradient(90deg, var(--accent), var(--accent-2));
        }
        .review-card {
          display: grid;
          gap: 18px;
          padding: 24px 24px 20px;
          border-radius: 24px;
          border: 1px solid rgba(16, 35, 58, 0.08);
          background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96));
          box-shadow: 0 12px 32px rgba(16, 35, 58, 0.05);
        }
        .review-card-topline {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
        }
        .review-card-head {
          display: flex;
          align-items: flex-start;
          justify-content: space-between;
          gap: 18px;
        }
        .review-author-block {
          display: grid;
          gap: 6px;
          min-width: 0;
        }
        .review-user-name {
          display: block;
          margin: 0;
          font-size: 1.04rem;
          line-height: 1.3;
        }
        .review-head-meta {
          display: flex;
          flex-wrap: wrap;
          gap: 6px 14px;
          font-size: 0.88rem;
        }
        .review-head-meta span {
          white-space: nowrap;
        }
        .review-score-badge {
          display: flex;
          align-items: center;
          justify-content: flex-end;
          gap: 12px;
          flex-shrink: 0;
          min-width: 132px;
          padding: 10px 14px;
          border-radius: 18px;
          border: 1px solid rgba(16, 35, 58, 0.08);
          background: rgba(243, 247, 251, 0.92);
        }
        .review-score-value {
          font-size: 1.9rem;
          line-height: 1;
          font-weight: 800;
          color: var(--accent);
        }
        .review-score-copy {
          display: grid;
          gap: 2px;
          text-align: right;
        }
        .review-score-label {
          color: var(--text-primary);
          font-size: 0.9rem;
          line-height: 1.2;
          font-weight: 700;
          white-space: nowrap;
        }
        .review-score-caption {
          color: var(--text-secondary);
          font-size: 0.78rem;
          white-space: nowrap;
        }
        .review-card-body {
          display: grid;
          gap: 14px;
        }
        .review-copy-wrap,
        .review-feedback-body {
          display: grid;
          gap: 10px;
          min-width: 0;
        }
        .review-copy,
        .review-feedback-copy {
          position: relative;
          display: grid;
          gap: 10px;
          color: var(--text-primary);
          overflow: hidden;
        }
        .review-copy p,
        .review-feedback-copy p {
          margin: 0;
          line-height: 1.86;
        }
        .review-copy.is-collapsed {
          max-height: 11.2em;
        }
        .review-feedback-copy.is-collapsed {
          max-height: 6.8em;
        }
        .review-copy.is-collapsed::after,
        .review-feedback-copy.is-collapsed::after {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          bottom: 0;
          height: 46px;
          background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.98));
          pointer-events: none;
        }
        .review-expand-toggle,
        .review-feedback-toggle {
          width: fit-content;
          padding: 0;
          border: 0;
          background: transparent;
          color: var(--accent);
          font-size: 0.92rem;
          font-weight: 700;
          cursor: pointer;
        }
        .review-image-grid {
          display: grid;
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 10px;
        }
        .review-image-grid.is-empty {
          display: none;
        }
        .review-image-grid .thumbnail-button {
          position: relative;
          width: 100%;
          aspect-ratio: 1.12 / 1;
          border-radius: 16px;
          background: rgba(16, 35, 58, 0.06);
          box-shadow: 0 8px 20px rgba(16, 35, 58, 0.08);
          transition: transform 180ms ease, box-shadow 180ms ease;
        }
        .review-image-grid .thumbnail-button:hover {
          transform: translateY(-1px);
          box-shadow: 0 12px 24px rgba(16, 35, 58, 0.12);
        }
        .review-image-grid .thumbnail-button.is-broken {
          display: none;
        }
        .review-image-more {
          position: absolute;
          right: 10px;
          bottom: 10px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 48px;
          height: 30px;
          padding: 0 10px;
          border-radius: 999px;
          background: rgba(8, 14, 26, 0.74);
          color: #fff;
          font-size: 0.82rem;
          font-weight: 700;
          backdrop-filter: blur(6px);
        }
        .review-feedback-stack {
          display: grid;
          gap: 10px;
          padding-top: 2px;
        }
        .review-feedback-card {
          display: grid;
          gap: 10px;
          padding: 14px 16px;
          border-radius: 18px;
          border: 1px solid rgba(16, 35, 58, 0.08);
          background: rgba(244, 247, 251, 0.9);
        }
        .review-feedback-card.is-merchant {
          background: rgba(242, 246, 250, 0.96);
        }
        .review-feedback-card.is-supplement {
          border-color: rgba(186, 134, 64, 0.16);
          background: rgba(255, 248, 237, 0.88);
        }
        .review-feedback-head {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 10px;
          flex-wrap: wrap;
        }
        .review-feedback-label {
          font-size: 0.88rem;
          font-weight: 700;
          color: var(--text-primary);
        }
        .review-feedback-meta {
          color: var(--text-secondary);
          font-size: 0.82rem;
        }
        .review-feedback-copy {
          color: rgba(16, 35, 58, 0.84);
        }
        .review-feedback-copy.is-collapsed::after {
          background: linear-gradient(180deg, rgba(242, 246, 250, 0), rgba(242, 246, 250, 1));
        }
        .review-feedback-card.is-supplement .review-feedback-copy.is-collapsed::after {
          background: linear-gradient(180deg, rgba(255, 248, 237, 0), rgba(255, 248, 237, 1));
        }
        .review-card-foot {
          display: flex;
          align-items: flex-start;
          justify-content: space-between;
          gap: 12px;
          flex-wrap: wrap;
          padding-top: 14px;
          border-top: 1px dashed rgba(16, 35, 58, 0.1);
        }
        .review-foot-main {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          gap: 10px 12px;
          min-width: 0;
        }
        .review-foot-tags {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
        }
        .review-foot-badge {
          display: inline-flex;
          align-items: center;
          min-height: 30px;
          padding: 0 12px;
          border-radius: 999px;
          border: 1px solid rgba(16, 35, 58, 0.08);
          background: rgba(255, 255, 255, 0.74);
          color: var(--text-secondary);
          font-size: 0.84rem;
        }
        .review-useful {
          display: inline-flex;
          align-items: center;
          min-height: 30px;
          padding: 0 12px;
          border-radius: 999px;
          background: rgba(16, 35, 58, 0.05);
          color: var(--text-secondary);
          font-size: 0.84rem;
          white-space: nowrap;
        }
        .review-foot-meta {
          color: var(--text-secondary);
          font-size: 0.84rem;
        }
        .activity-grid {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
          gap: 22px;
          align-items: start;
        }
        .activity-list-grid {
          grid-template-columns: 1fr;
        }
        .activity-card {
          display: grid;
          grid-template-columns: minmax(0, 1fr);
          border-radius: 24px;
          border: 1px solid rgba(16, 35, 58, 0.08);
          background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96));
          overflow: hidden;
          box-shadow: 0 14px 34px rgba(16, 35, 58, 0.06);
        }
        .activity-card-cover {
          display: block;
          aspect-ratio: 16 / 10;
          background: rgba(16, 35, 58, 0.06);
          overflow: hidden;
        }
        .activity-card-cover img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
          transition: transform 220ms ease;
        }
        .activity-card:hover .activity-card-cover img {
          transform: scale(1.03);
        }
        .activity-card-body {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 14px;
          padding: 22px 24px;
          min-width: 0;
        }
        .activity-card-meta {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          gap: 8px 12px;
          color: var(--text-secondary);
          font-size: 0.86rem;
        }
        .activity-card-title {
          margin: 0;
          font-family: var(--font-display);
          font-size: 1.22rem;
          line-height: 1.4;
          letter-spacing: -0.02em;
        }
        .activity-card-title a {
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 3;
          overflow: hidden;
          color: var(--text-primary);
          text-decoration: none;
        }
        .activity-card-title a:hover {
          color: var(--accent);
        }
        .activity-card-excerpt {
          margin: 0;
          color: var(--text-secondary);
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 4;
          overflow: hidden;
          line-height: 1.82;
        }
        .activity-card-topics {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
        }
        .activity-card-actions {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 12px;
          flex-wrap: wrap;
          margin-top: auto;
        }
        .activity-list-grid .activity-card {
          grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
          align-items: start;
          border-radius: 18px;
        }
        .activity-list-grid .activity-card-cover {
          aspect-ratio: auto;
          height: 208px;
          min-height: 208px;
          align-self: start;
        }
        .activity-list-grid .activity-card-cover img {
          min-height: 0;
          height: 100%;
          object-fit: cover;
          object-position: center;
        }
        .activity-list-grid .activity-card-body {
          gap: 8px;
          padding: 18px 20px;
          min-height: 208px;
        }
        .activity-list-grid .activity-card-meta {
          gap: 6px 10px;
          font-size: 0.82rem;
        }
        .activity-list-grid .activity-card-title {
          font-family: var(--font-body);
          font-size: 1rem;
          font-weight: 800;
          line-height: 1.42;
          letter-spacing: 0;
        }
        .activity-list-grid .activity-card-title a {
          -webkit-line-clamp: 2;
        }
        .activity-list-grid .activity-card-excerpt {
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
          overflow: hidden;
          line-height: 1.68;
        }
        .activity-list-grid .activity-card-topics {
          display: none;
        }
        .activity-list-grid .activity-card-actions {
          margin-top: auto;
          padding-top: 2px;
        }
        .activity-rich-html {
          display: grid;
          gap: 22px;
          color: var(--text-primary);
          font-size: 1rem;
          line-height: 1.92;
        }
        .activity-rich-html > * {
          max-width: 100%;
        }
        .activity-rich-html section,
        .activity-rich-html article,
        .activity-rich-html figure {
          display: grid;
          gap: 14px;
        }
        .activity-rich-html section + section,
        .activity-rich-html article + article {
          padding-top: 10px;
          border-top: 1px solid rgba(16, 35, 58, 0.08);
        }
        .activity-rich-html h1,
        .activity-rich-html h2,
        .activity-rich-html h3,
        .activity-rich-html h4 {
          margin: 0;
          font-family: var(--font-display);
          line-height: 1.3;
          letter-spacing: -0.02em;
        }
        .activity-rich-html h1 {
          font-size: clamp(1.68rem, 2vw, 2.1rem);
        }
        .activity-rich-html h2 {
          font-size: clamp(1.42rem, 1.7vw, 1.78rem);
        }
        .activity-rich-html h3 {
          font-size: 1.18rem;
        }
        .activity-rich-html h4 {
          font-size: 1.02rem;
        }
        .activity-rich-html p,
        .activity-rich-html li,
        .activity-rich-html figcaption {
          margin: 0;
        }
        .activity-rich-html p {
          color: rgba(16, 35, 58, 0.9);
        }
        .activity-rich-html ul,
        .activity-rich-html ol {
          display: grid;
          gap: 10px;
          margin: 0;
          padding-left: 22px;
          color: var(--text-secondary);
        }
        .activity-rich-html strong {
          color: var(--text-primary);
        }
        .activity-rich-html blockquote {
          margin: 0;
          padding: 18px 20px;
          border-left: 3px solid var(--accent);
          border-radius: 0 18px 18px 0;
          background: rgba(16, 35, 58, 0.05);
          color: var(--text-secondary);
        }
        .activity-rich-html a {
          color: var(--accent);
          text-decoration: none;
          word-break: break-word;
        }
        .activity-rich-html a.geo-map-link {
          font-weight: 760;
          border-bottom: 1px dashed color-mix(in srgb, var(--accent) 62%, transparent);
          background: color-mix(in srgb, var(--accent) 9%, transparent);
          border-radius: 6px;
          padding: 0 3px;
        }
        .activity-rich-html img {
          display: block;
          width: auto;
          max-width: 100%;
          height: auto;
          margin: 0 auto;
          border-radius: 22px;
          background: rgba(16, 35, 58, 0.04);
          box-shadow: 0 12px 28px rgba(16, 35, 58, 0.08);
        }
        .activity-rich-html figcaption {
          color: var(--text-secondary);
          font-size: 0.9rem;
          text-align: center;
        }
        .activity-inline-images {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 18px;
          width: min(100%, 980px);
          margin: 26px auto 32px;
        }
        .activity-inline-images[data-image-count="1"] {
          grid-template-columns: minmax(0, 1fr);
          width: min(100%, 760px);
        }
        .activity-inline-images[data-image-count="3"] .activity-inline-figure:first-child,
        .activity-inline-images[data-image-count="5"] .activity-inline-figure:first-child {
          grid-column: 1 / -1;
        }
        .activity-inline-figure {
          display: grid;
          gap: 8px;
          margin: 0;
        }
        .activity-inline-figure a {
          display: block;
          overflow: hidden;
          border-radius: 22px;
          background: rgba(16, 35, 58, 0.04);
        }
        .activity-inline-figure img {
          width: 100%;
          aspect-ratio: 4 / 3;
          height: auto;
          object-fit: cover;
          margin: 0;
          border-radius: 0;
          box-shadow: none;
          transition: transform .35s ease;
        }
        .activity-inline-figure a:hover img {
          transform: scale(1.035);
        }
        .activity-inline-figure figcaption {
          padding: 0 4px;
          font-size: .86rem;
          color: rgba(16, 35, 58, .64);
        }
        @media (max-width: 760px) {
          .activity-inline-images {
            grid-template-columns: 1fr;
            gap: 14px;
            margin: 20px auto 26px;
          }
          .activity-inline-images[data-image-count="3"] .activity-inline-figure:first-child,
          .activity-inline-images[data-image-count="5"] .activity-inline-figure:first-child {
            grid-column: auto;
          }
        }
        .activity-rich-html table {
          display: block;
          width: 100%;
          overflow-x: auto;
          border-collapse: collapse;
          border-radius: 18px;
          border: 1px solid var(--border);
          background: rgba(255, 255, 255, 0.76);
        }
        .activity-rich-html th,
        .activity-rich-html td {
          min-width: 120px;
          padding: 12px 14px;
          border-bottom: 1px solid rgba(16, 35, 58, 0.08);
          text-align: left;
          vertical-align: top;
        }
        .activity-rich-html th {
          color: var(--text-primary);
          background: rgba(16, 35, 58, 0.04);
          font-weight: 700;
        }
        .pagination-bar {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 14px;
          margin-top: 22px;
          flex-wrap: wrap;
        }
        .pagination-button {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 96px;
          padding: 10px 16px;
          border-radius: 999px;
          border: 1px solid var(--border);
          background: var(--surface-alt);
          color: var(--text-primary);
          cursor: pointer;
          font: inherit;
          text-decoration: none;
        }
        .pagination-button:disabled {
          opacity: 0.42;
          cursor: not-allowed;
        }
        .pagination-button.is-active {
          color: var(--button-text);
          background: linear-gradient(135deg, var(--accent), var(--accent-2));
          border-color: transparent;
        }
        .pagination-status {
          color: var(--text-secondary);
          font-size: 0.92rem;
        }
        .filter-chip.is-active {
          color: var(--button-text);
          background: linear-gradient(135deg, var(--accent), var(--accent-2));
          border-color: transparent;
        }
        .is-hidden { display: none !important; }
        .is-hidden-filter, .is-hidden-page { display: none !important; }
        .accordion-list { display: grid; gap: 14px; }
        .accordion-item {
          border-radius: 18px;
          border: 1px solid var(--border);
          background: var(--surface-alt);
          overflow: hidden;
        }
        .accordion-trigger {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 12px;
          padding: 18px;
          list-style: none;
          cursor: pointer;
          font-weight: 600;
        }
        .accordion-trigger::-webkit-details-marker { display: none; }
        .accordion-link { color: var(--accent-2); }
        .accordion-content {
          padding: 0 18px 18px;
          color: var(--text-secondary);
        }
        .accordion-content ul, .policy-detail-list {
          margin: 0;
          padding-left: 20px;
        }
        .payment-icons {
          display: flex;
          flex-wrap: wrap;
          gap: 10px;
          margin-top: 16px;
        }
        .payment-icon {
          width: 42px;
          height: 28px;
          padding: 4px;
          border-radius: 10px;
          background: rgba(255, 255, 255, 0.42);
          object-fit: contain;
        }
        .inline-link {
          display: inline-flex;
          margin-top: 16px;
          color: var(--accent);
          text-decoration: none;
          font-weight: 600;
        }
        .coord-card {
          display: grid;
          gap: 10px;
        }
        .location-address-board {
          overflow: hidden;
        }
        .location-address-layout {
          display: grid;
          grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
          gap: 40px;
          align-items: start;
        }
        .location-address-copy {
          display: grid;
          gap: 36px;
          align-content: start;
          min-width: 0;
        }
        .location-address-head {
          display: grid;
          gap: 18px;
        }
        .location-address-eyebrow {
          color: var(--text-secondary);
          font-size: 0.82rem;
          font-weight: 600;
          letter-spacing: 0.16em;
          text-transform: uppercase;
        }
        .location-address-head h2 {
          margin: 0;
          font-family: var(--font-display);
          font-size: clamp(1.9rem, 2.6vw, 2.8rem);
          line-height: 1.12;
          letter-spacing: -0.03em;
        }
        .location-address-summary {
          display: grid;
          gap: 8px;
          margin: 4px 0 0;
          color: var(--text-secondary);
        }
        .location-address-summary span {
          font-size: 0.76rem;
          font-weight: 600;
          letter-spacing: 0.14em;
          text-transform: uppercase;
        }
        .location-address-summary strong {
          color: var(--text-primary);
          font-size: clamp(1rem, 1.35vw, 1.28rem);
          line-height: 1.55;
          font-weight: 600;
        }
        .location-address-line {
          display: grid;
          gap: 8px;
          max-width: 42rem;
          padding: 2px 0 6px;
          border-bottom: 1px solid rgba(16, 35, 58, 0.08);
        }
        .location-address-line span {
          color: var(--text-muted);
          font-size: 0.76rem;
          letter-spacing: 0.16em;
          text-transform: uppercase;
        }
        .location-address-line strong {
          color: var(--text-primary);
          font-size: clamp(1.1rem, 1.7vw, 1.45rem);
          line-height: 1.55;
          font-weight: 600;
        }
        .location-address-map {
          min-width: 0;
        }
        .location-address-map .coord-card {
          background: transparent;
          border: 0;
        }
        .location-address-map .coord-card--map {
          grid-column: auto;
          padding: 0;
        }
        .location-address-map .coord-map-frame-shell {
          height: clamp(360px, 36vw, 560px);
          border-radius: 24px;
        }
        .location-address-fallback {
          display: grid;
          gap: 16px;
        }
        .coord-card span {
          color: var(--text-secondary);
          font-size: 0.86rem;
          text-transform: uppercase;
          letter-spacing: 0.08em;
        }
        .coord-card--map {
          grid-column: 1 / -1;
          padding: 0;
          overflow: hidden;
        }
        .coord-map-card {
          display: block;
        }
        .coord-map-frame-shell {
          height: clamp(360px, 38vw, 468px);
          overflow: hidden;
          border-radius: 22px;
          background: #f3f1ec;
        }
        .coord-map-frame {
          width: 100%;
          height: calc(100% + var(--qqmap-overlay-crop) * 2);
          border: 0;
          display: block;
          background: #f3f1ec;
          transform: translateY(calc(var(--qqmap-overlay-crop) * -1));
        }
        .side-list {
          display: grid;
          gap: 12px;
        }
        .side-list > div {
          display: grid;
          gap: 6px;
          padding-top: 12px;
          border-top: 1px solid var(--border);
        }
        .side-list > div:first-child {
          padding-top: 0;
          border-top: 0;
        }
        .side-list strong {
          font-size: 0.74rem;
          text-transform: uppercase;
          letter-spacing: 0.1em;
          color: var(--text-secondary);
        }
        .score-emphasis {
          display: grid;
          gap: 4px;
          padding: 16px 18px;
          margin-bottom: 0;
          border-radius: 18px;
          border: 1px solid var(--border);
          background: linear-gradient(135deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.4));
        }
        .score-emphasis strong {
          font-size: 2rem;
          line-height: 1;
        }
        .score-emphasis span {
          color: var(--text-secondary);
          font-size: 0.92rem;
        }
        .side-actions {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 10px;
          margin-top: 0;
        }
        .side-links {
          display: grid;
          gap: 10px;
        }
        .side-links.room-switch-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .side-link-card.is-active {
          border-color: var(--accent);
          background: rgba(255, 255, 255, 0.66);
        }
        .meta-list {
          display: grid;
          gap: 14px;
          color: var(--text-secondary);
        }
        .meta-list strong { color: var(--text-primary); }
        .scroll-top {
          position: fixed;
          right: 28px;
          bottom: 24px;
          z-index: 20;
          width: 48px;
          padding: 0;
          opacity: 0;
          pointer-events: none;
          transition: 180ms ease;
        }
        .scroll-top.is-visible {
          opacity: 1;
          pointer-events: auto;
        }
        .lightbox {
          position: fixed;
          inset: 0;
          display: none;
          align-items: center;
          justify-content: center;
          z-index: 60;
        }
        .lightbox.is-open { display: flex; }
        .lightbox-backdrop {
          position: absolute;
          inset: 0;
          background: rgba(3, 10, 22, 0.82);
        }
        .lightbox-dialog {
          position: relative;
          z-index: 1;
          width: min(960px, calc(100% - 64px));
          max-height: calc(100vh - 32px);
          padding: 22px;
          border-radius: 28px;
          overflow: hidden;
          background: rgba(9, 15, 27, 0.96);
          box-shadow: 0 34px 90px rgba(0, 0, 0, 0.36);
        }
        .lightbox-stage {
          position: relative;
          display: grid;
          place-items: center;
          min-height: min(70vh, 680px);
          border-radius: 22px;
          overflow: hidden;
          background:
            radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.08), transparent 42%),
            rgba(255, 255, 255, 0.035);
        }
        .lightbox-image {
          width: auto;
          max-width: 100%;
          max-height: min(70vh, 680px);
          object-fit: contain;
          display: block;
          border-radius: 16px;
          box-shadow: 0 18px 56px rgba(0, 0, 0, 0.26);
        }
        .lightbox.is-open .lightbox-image {
          display: block !important;
        }
        .lightbox-nav {
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          width: 46px;
          height: 46px;
          border: 0;
          border-radius: 999px;
          background: rgba(255, 255, 255, 0.18);
          color: #fff;
          font-size: 1.8rem;
          cursor: pointer;
          z-index: 2;
          backdrop-filter: blur(10px);
          transition: background 160ms ease, transform 160ms ease;
        }
        .lightbox-nav:hover {
          background: rgba(255, 255, 255, 0.28);
          transform: translateY(-50%) scale(1.04);
        }
        .lightbox-nav.is-prev { left: 18px; }
        .lightbox-nav.is-next { right: 18px; }
        .lightbox-nav[hidden] {
          display: none;
        }
        .lightbox-thumb-strip {
          display: flex;
          flex-wrap: wrap;
          gap: 10px;
          margin: 16px auto 0;
          justify-content: center;
          max-width: min(720px, 100%);
          max-height: 82px;
          overflow: auto hidden;
          scrollbar-width: thin;
        }
        .lightbox-thumb {
          width: 88px;
          height: 68px;
          padding: 0;
          border: 2px solid transparent;
          border-radius: 12px;
          overflow: hidden;
          background: rgba(255, 255, 255, 0.08);
          cursor: pointer;
        }
        .lightbox-thumb.is-active {
          border-color: var(--accent);
        }
        .lightbox-thumb img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
        }
        .video-lightbox-dialog {
          width: min(1100px, calc(100% - 64px));
        }
        .lightbox-video {
          width: 100%;
          max-height: 78vh;
          display: block;
          border-radius: 18px;
          background: #000;
          object-fit: contain;
        }
        .lightbox-caption {
          margin: 12px auto 0;
          max-width: min(720px, 100%);
          color: rgba(255, 255, 255, 0.8);
          text-align: center;
          font-weight: 650;
        }
        .lightbox-close {
          position: absolute;
          top: 18px;
          right: 18px;
          z-index: 3;
          width: 42px;
          height: 42px;
          border-radius: 999px;
          border: 0;
          background: rgba(255, 255, 255, 0.18);
          color: #fff;
          cursor: pointer;
          backdrop-filter: blur(10px);
        }
        .empty-state {
          display: flex;
          align-items: center;
          justify-content: center;
          min-height: 260px;
          color: var(--text-secondary);
        }
        .layout-editorial {
          background: linear-gradient(180deg, #ffffff 0%, #fbfaf8 48%, #f5f2ee 100%);
        }
        .layout-editorial::before,
        .layout-editorial::after {
          display: none;
        }
        .layout-editorial .page-frame {
          width: 100%;
          max-width: none;
          padding: 0 0 96px;
        }
        .layout-editorial .page-main {
          gap: 0;
        }
        .layout-editorial .content-section,
        .layout-editorial .content-panel {
          padding: 36px;
          border-radius: 28px;
          background: rgba(255, 255, 255, 0.96);
          box-shadow: 0 24px 70px rgba(29, 23, 17, 0.08);
        }
        .layout-editorial .panel-head {
          gap: 12px;
          padding-bottom: 16px;
        }
        .layout-editorial .panel-head h2 {
          font-size: clamp(2rem, 3vw, 3rem);
          font-weight: 400;
          line-height: 1.06;
        }
        .layout-editorial .panel-head p,
        .layout-editorial .category-note,
        .layout-editorial .route-card p,
        .layout-editorial .category-card p,
        .layout-editorial .policy-link-card p,
        .layout-editorial .feature-card p,
        .layout-editorial .page-lead {
          font-size: 0.98rem;
          line-height: 1.8;
        }
        .layout-editorial .chip,
        .layout-editorial .review-chip,
        .layout-editorial .copy-button,
        .layout-editorial .filter-chip,
        .layout-editorial .pill {
          background: rgba(247, 244, 239, 0.92);
        }
        .editorial-frame {
          position: relative;
        }
        .editorial-header {
          position: fixed;
          top: 0;
          left: 0;
          right: 0;
          z-index: 35;
          padding: 24px 0;
          color: var(--text-primary);
          background: rgba(255, 255, 255, 0.94);
          border-bottom: 1px solid var(--border);
          backdrop-filter: blur(14px);
        }
        .editorial-header-shell {
          width: min(100% - 64px, 1400px);
          margin: 0 auto;
          display: grid;
          grid-template-columns: minmax(0, 1fr) auto;
          gap: 32px;
          align-items: center;
        }
        .editorial-logo {
          font-family: var(--font-display);
          font-size: 1.38rem;
          text-decoration: none;
          letter-spacing: 0.12em;
          font-weight: 600;
        }
        .editorial-nav {
          display: flex;
          align-items: center;
          gap: 28px;
          flex-wrap: nowrap;
          overflow-x: auto;
          scrollbar-width: none;
        }
        .editorial-nav::-webkit-scrollbar {
          display: none;
        }
        .editorial-nav a {
          position: relative;
          padding: 8px 0 12px;
          color: rgba(44, 44, 44, 0.72);
          text-decoration: none;
          font-size: 0.98rem;
          font-weight: 600;
          white-space: nowrap;
        }
        .editorial-nav a::after {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          bottom: -9px;
          height: 4px;
          border-radius: 999px;
          background: var(--accent);
          opacity: 0;
          transform: scaleX(0.35);
          transition: opacity 180ms ease, transform 180ms ease;
        }
        .editorial-nav a:hover,
        .editorial-nav a.is-active {
          color: var(--text-primary);
        }
        .editorial-nav a:hover::after,
        .editorial-nav a.is-active::after {
          opacity: 1;
          transform: scaleX(1);
        }
        .editorial-header-meta {
          display: flex;
          align-items: center;
          justify-content: flex-end;
          flex-wrap: wrap;
          gap: 14px;
        }
        .editorial-contact {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 0;
          padding: 10px 24px;
          border-radius: 2px;
          border: 1px solid currentColor;
          background: transparent;
          color: inherit;
          text-decoration: none;
          font-size: 14px;
          font-weight: 400;
          letter-spacing: 0.06em;
          transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
        }
        .editorial-contact:hover {
          background: var(--text-primary);
          border-color: var(--text-primary);
          color: #fff;
        }
        .editorial-contact.is-muted {
          color: var(--text-secondary);
          border-color: rgba(44, 44, 44, 0.22);
        }
        .layout-editorial .page-frame {
          width: min(100% - 64px, 1400px);
          padding-top: 118px;
        }
        .layout-editorial.has-editorial-home .page-frame {
          width: 100%;
          padding-top: 0;
        }
        .layout-editorial .page-grid {
          gap: 28px;
        }
        .layout-editorial.activity-detail-page .page-frame {
          width: 100%;
          max-width: none;
        }
        .layout-editorial.activity-detail-page .page-grid {
          margin-top: 0;
        }
        .layout-editorial.activity-detail-page .section-anchor-nav {
          justify-content: flex-start;
          padding-inline: clamp(24px, 5vw, 80px);
        }
        .layout-editorial.activity-detail-page .content-section {
          border-radius: 0;
          box-shadow: none;
        }
        .wechat-article-page {
          background: #ffffff;
        }
        .wechat-article-page.site-body::before,
        .wechat-article-page.site-body::after {
          display: none;
        }
        .wechat-article-page .page-frame {
          --article-width: min(100% - 32px, 680px);
          --article-wide-width: min(100% - 32px, 980px);
          width: 100%;
          padding-top: 112px;
          padding-bottom: 72px;
        }
        .wechat-article-page .breadcrumbs {
          width: var(--article-width);
          margin: 0 auto 18px;
          gap: 7px;
          color: rgba(34, 34, 34, 0.42);
          font-size: 12px;
          line-height: 1.6;
        }
        .wechat-article-page .breadcrumbs a,
        .wechat-article-page .breadcrumbs span {
          color: inherit;
        }
        .wechat-article-page .breadcrumbs a::after {
          margin-left: 7px;
          color: rgba(34, 34, 34, 0.28);
        }
        .wechat-article-page .activity-detail-grid {
          margin-top: 0;
        }
        .wechat-article-page .page-main {
          display: block;
        }
        .activity-article-shell {
          width: var(--article-width);
          margin: 0 auto;
          padding: 6px 0 54px;
        }
        .activity-article-header {
          display: grid;
          gap: 10px;
          margin: 0 0 32px;
        }
        .activity-article-header h1 {
          margin: 0;
          color: rgba(0, 0, 0, 0.92);
          font-family: var(--font-body);
          font-size: clamp(1.5rem, 3.4vw, 2.16rem);
          font-weight: 800;
          letter-spacing: -0.015em;
          line-height: 1.32;
        }
        .activity-article-meta {
          margin: 0;
          color: rgba(34, 34, 34, 0.45);
          font-size: 13px;
          line-height: 1.65;
        }
        .activity-article-excerpt {
          margin: 8px 0 0;
          padding: 14px 16px;
          border-left: 3px solid rgba(34, 34, 34, 0.16);
          background: rgba(247, 244, 239, 0.58);
          color: rgba(34, 34, 34, 0.68);
          font-size: 14px;
          line-height: 1.78;
        }
        .wechat-article-page .activity-rich-html {
          display: block;
          color: rgba(0, 0, 0, 0.88);
          font-family: var(--font-body);
          font-size: 15px;
          letter-spacing: 0.034em;
          line-height: 1.95;
        }
        .wechat-article-page .activity-rich-html > * {
          max-width: 100%;
        }
        .wechat-article-page .activity-rich-html section,
        .wechat-article-page .activity-rich-html article,
        .wechat-article-page .activity-rich-html figure {
          display: block;
        }
        .wechat-article-page .activity-rich-html section + section,
        .wechat-article-page .activity-rich-html article + article {
          padding-top: 0;
          border-top: 0;
        }
        .wechat-article-page .activity-rich-html h1,
        .wechat-article-page .activity-rich-html h2,
        .wechat-article-page .activity-rich-html h3,
        .wechat-article-page .activity-rich-html h4 {
          color: rgba(0, 0, 0, 0.92);
          font-family: var(--font-body);
          font-weight: 800;
          letter-spacing: 0.01em;
          line-height: 1.5;
        }
        .wechat-article-page .activity-rich-html h1 {
          margin: 44px 0 18px;
          font-size: 1.38rem;
        }
        .wechat-article-page .activity-rich-html h2 {
          margin: 44px 0 18px;
          font-size: 1.22rem;
          text-align: center;
        }
        .wechat-article-page .activity-rich-html h3 {
          margin: 34px 0 14px;
          font-size: 1.05rem;
        }
        .wechat-article-page .activity-rich-html h4 {
          margin: 28px 0 12px;
          font-size: 0.98rem;
        }
        .wechat-article-page .activity-rich-html p,
        .wechat-article-page .activity-rich-html li {
          color: rgba(0, 0, 0, 0.86);
          line-height: 1.95;
        }
        .wechat-article-page .activity-rich-html p {
          margin: 0 0 18px;
          text-align: justify;
        }
        .wechat-article-page .activity-rich-html ul,
        .wechat-article-page .activity-rich-html ol {
          gap: 8px;
          margin: 0 0 20px;
          padding-left: 1.35em;
          color: rgba(0, 0, 0, 0.82);
        }
        .wechat-article-page .activity-rich-html strong {
          color: rgba(0, 0, 0, 0.94);
          font-weight: 800;
        }
        .wechat-article-page .activity-rich-html blockquote {
          margin: 24px 0;
          padding: 14px 16px;
          border-left: 3px solid rgba(34, 34, 34, 0.18);
          border-radius: 0;
          background: rgba(247, 244, 239, 0.62);
          color: rgba(34, 34, 34, 0.68);
        }
        .wechat-article-page .activity-rich-html img {
          width: 100%;
          max-width: 100%;
          height: auto;
          margin: 18px auto;
          border-radius: 0;
          background: transparent;
          box-shadow: none;
        }
        .wechat-article-page .activity-rich-html figcaption {
          margin-top: 6px;
          color: rgba(0, 0, 0, 0.42);
          font-size: 12px;
          line-height: 1.7;
          text-align: center;
        }
        .wechat-article-page .activity-inline-images {
          display: grid;
          grid-template-columns: 1fr;
          gap: 8px;
          width: 100%;
          margin: 22px auto 28px;
        }
        .wechat-article-page .activity-inline-images[data-image-count="1"],
        .wechat-article-page .activity-inline-images[data-image-count="3"],
        .wechat-article-page .activity-inline-images[data-image-count="5"] {
          grid-template-columns: 1fr;
          width: 100%;
        }
        .wechat-article-page .activity-inline-images[data-image-count="3"] .activity-inline-figure:first-child,
        .wechat-article-page .activity-inline-images[data-image-count="5"] .activity-inline-figure:first-child {
          grid-column: auto;
        }
        .wechat-article-page .activity-inline-figure {
          gap: 0;
          margin: 0 0 8px;
        }
        .wechat-article-page .activity-inline-figure a {
          border-radius: 0;
          background: transparent;
        }
        .wechat-article-page .activity-inline-figure img {
          width: auto;
          max-width: 100%;
          max-height: min(78vh, 760px);
          aspect-ratio: auto;
          height: auto;
          object-fit: contain;
          margin: 0 auto;
          border-radius: 0;
          transform: none;
        }
        .wechat-article-page .activity-inline-figure a:hover img {
          transform: none;
        }
        .wechat-article-page .activity-inline-figure figcaption {
          padding: 0;
          font-size: 12px;
          color: rgba(0, 0, 0, 0.42);
        }
        .wechat-article-page .activity-related-section {
          width: var(--article-wide-width);
          margin: 18px auto 0;
          padding: 34px 0 0;
          border: 0;
          border-top: 1px solid rgba(34, 34, 34, 0.1);
          background: transparent;
          box-shadow: none;
        }
        .wechat-article-page .activity-related-section .panel-head {
          width: var(--article-width);
          margin: 0 auto 20px;
          padding-bottom: 0;
          border-bottom: 0;
        }
        .wechat-article-page .activity-related-section .panel-head h2 {
          font-family: var(--font-body);
          font-size: 1.05rem;
          letter-spacing: 0;
        }
        .wechat-article-page .activity-related-list {
          width: var(--article-width);
          margin: 0 auto;
          display: grid;
          border-top: 1px solid rgba(34, 34, 34, 0.08);
        }
        .wechat-article-page .activity-related-item {
          display: grid;
          grid-template-columns: 96px minmax(0, 1fr);
          gap: 14px;
          align-items: center;
          padding: 16px 0;
          border-bottom: 1px solid rgba(34, 34, 34, 0.08);
          color: inherit;
          text-decoration: none;
        }
        .wechat-article-page .activity-related-item.is-no-thumb {
          grid-template-columns: 1fr;
        }
        .wechat-article-page .activity-related-thumb {
          display: block;
          width: 96px;
          aspect-ratio: 4 / 3;
          overflow: hidden;
          background: rgba(34, 34, 34, 0.05);
        }
        .wechat-article-page .activity-related-thumb img {
          width: 100%;
          height: 100%;
          display: block;
          object-fit: cover;
          transition: transform 220ms ease;
        }
        .wechat-article-page .activity-related-item:hover .activity-related-thumb img {
          transform: scale(1.035);
        }
        .wechat-article-page .activity-related-copy {
          display: grid;
          gap: 5px;
          min-width: 0;
        }
        .wechat-article-page .activity-related-title {
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
          overflow: hidden;
          color: rgba(0, 0, 0, 0.86);
          font-size: 14px;
          font-weight: 700;
          line-height: 1.58;
        }
        .wechat-article-page .activity-related-desc {
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 1;
          overflow: hidden;
          color: rgba(0, 0, 0, 0.48);
          font-size: 12px;
          line-height: 1.6;
        }
        .wechat-article-page .activity-related-meta {
          color: rgba(0, 0, 0, 0.38);
          font-size: 12px;
          line-height: 1.4;
        }
        @media (max-width: 560px) {
          .wechat-article-page .activity-related-item {
            grid-template-columns: 82px minmax(0, 1fr);
            gap: 12px;
          }
          .wechat-article-page .activity-related-thumb {
            width: 82px;
          }
        }
        .activity-meta-section {
          opacity: 0.68;
        }
        .activity-meta-section details {
          display: grid;
          gap: 18px;
        }
        .activity-meta-section summary {
          cursor: pointer;
          color: var(--muted);
          font-size: 16px;
          font-weight: 800;
        }
        .layout-editorial.has-editorial-home .page-grid {
          margin-top: 0;
        }
        .layout-editorial .page-side {
          top: 124px;
        }
        .editorial-page-hero-shell {
          width: 100%;
        }
        .editorial-page-hero {
          display: grid;
          grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
          gap: 32px;
          align-items: stretch;
          padding: 4px 0 8px;
        }
        .editorial-page-hero.is-no-media {
          grid-template-columns: 1fr;
        }
        .editorial-page-copy {
          display: grid;
          align-content: start;
          gap: 18px;
          padding: 28px 0;
        }
        .editorial-page-copy .breadcrumbs {
          padding: 0;
          margin: 0;
          border: 0;
          background: transparent;
          box-shadow: none;
        }
        .editorial-page-kicker {
          margin: 0;
          color: var(--accent);
          font-size: 0.82rem;
          letter-spacing: 0.18em;
          text-transform: uppercase;
        }
        .editorial-page-title {
          margin: 0;
          font-family: var(--font-display);
          font-size: clamp(2.15rem, 3.4vw, 3.45rem);
          font-weight: 400;
          line-height: 1.12;
          text-wrap: balance;
        }
        .section-activities .editorial-page-title {
          font-size: clamp(1.95rem, 2.8vw, 2.9rem);
          line-height: 1.16;
          max-width: 62rem;
        }
        .editorial-page-lead {
          margin: 0;
          max-width: 48rem;
          color: var(--text-secondary);
          font-size: 1.02rem;
          line-height: 1.9;
        }
        .editorial-page-facts {
          display: grid;
          gap: 14px;
          padding-top: 6px;
        }
        .editorial-page-fact {
          display: grid;
          gap: 8px;
          padding-bottom: 14px;
          border-bottom: 1px solid rgba(44, 44, 44, 0.08);
        }
        .editorial-page-fact:last-child {
          padding-bottom: 0;
          border-bottom: 0;
        }
        .editorial-page-fact span {
          color: var(--text-secondary);
          font-size: 0.76rem;
          letter-spacing: 0.14em;
          text-transform: uppercase;
        }
        .editorial-page-fact strong {
          font-size: 1.02rem;
          font-weight: 500;
          line-height: 1.75;
        }
        .editorial-page-media {
          min-width: 0;
        }
        .layout-editorial .editorial-page-media .hero-media-panel {
          margin: 0;
          min-height: 100%;
        }
        .layout-editorial .editorial-page-media .media-carousel {
          min-height: 100%;
        }
        .layout-editorial .editorial-page-media .carousel-stage {
          height: clamp(380px, 42vw, 560px);
          min-height: clamp(380px, 42vw, 560px);
        }
        .editorial-hero-shell {
          width: 100%;
        }
        .editorial-hero {
          position: relative;
          min-height: 100vh;
          background: #2c2c2c;
        }
        .editorial-hero-stage {
          position: relative;
          min-height: 100vh;
          overflow: hidden;
        }
        .editorial-hero-stage .carousel-main-button {
          cursor: zoom-in;
        }
        .editorial-hero-stage .carousel-main-image {
          height: 100vh;
          min-height: 720px;
        }
        .editorial-hero-overlay {
          position: absolute;
          inset: 0;
          background: linear-gradient(180deg, rgba(20, 16, 12, 0.36), rgba(20, 16, 12, 0.2) 42%, rgba(20, 16, 12, 0.58));
          pointer-events: none;
        }
        .editorial-hero-copy {
          position: absolute;
          inset: 0;
          z-index: 2;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          gap: 18px;
          padding: 150px 32px 250px;
          text-align: center;
          color: #fff;
        }
        .editorial-kicker {
          margin: 0;
          font-size: 0.82rem;
          letter-spacing: 0.24em;
          text-transform: uppercase;
          color: rgba(255, 255, 255, 0.74);
        }
        .editorial-hero-copy h1 {
          margin: 0;
          font-family: var(--font-display);
          font-size: clamp(3.5rem, 5vw, 4.8rem);
          font-weight: 400;
          letter-spacing: 0.08em;
          line-height: 1.02;
          text-wrap: balance;
        }
        .editorial-hero-copy p {
          margin: 0;
          max-width: 54rem;
          font-size: 1.04rem;
          color: rgba(255, 255, 255, 0.88);
          line-height: 1.9;
        }
        .editorial-carousel-caption {
          display: none;
        }
        .editorial-hero-stage > .carousel-arrow {
          display: none;
        }
        .editorial-hero-bottom {
          position: absolute;
          inset: auto 0 0 0;
          z-index: 3;
          padding: 0;
          display: grid;
          gap: 20px;
        }
        .editorial-gallery-nav {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 20px;
          padding: 0 32px;
        }
        .editorial-thumbnail-strip {
          display: flex;
          flex-wrap: nowrap;
          justify-content: center;
        }
        .editorial-thumbnail-strip .thumbnail-button {
          width: 85px;
          aspect-ratio: 1.55 / 1;
          border-radius: 2px;
          border-color: rgba(255, 255, 255, 0.24);
          background: rgba(255, 255, 255, 0.1);
        }
        .editorial-thumbnail-strip .thumbnail-button.is-active {
          border-color: rgba(255, 255, 255, 0.94);
          transform: translateY(-4px);
        }
        .editorial-gallery-actions {
          display: flex;
          align-items: center;
          gap: 12px;
        }
        .editorial-gallery-actions .chip {
          min-height: 55px;
          padding: 0 20px;
          border-radius: 2px;
          border-color: rgba(255, 255, 255, 0.3);
          background: rgba(255, 255, 255, 0.1);
          color: #fff;
          backdrop-filter: blur(10px);
          letter-spacing: 0.08em;
        }
        .editorial-gallery-actions .chip:hover {
          background: #fff;
          color: var(--text-primary);
        }
        .editorial-video-entry {
          position: absolute;
          right: 32px;
          bottom: 184px;
          z-index: 4;
          min-height: 42px;
          padding: 0 18px;
          border-radius: 999px;
          border: 1px solid rgba(255, 255, 255, 0.32);
          background: rgba(17, 15, 13, 0.35);
          color: #fff;
          cursor: pointer;
          backdrop-filter: blur(10px);
        }
        .editorial-info-bar {
          width: 100%;
          margin: 0 auto;
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 0;
          background: #fff;
          border-top: 1px solid rgba(44, 44, 44, 0.08);
          border-radius: 0;
          overflow: hidden;
          box-shadow: none;
        }
        .editorial-info-item {
          display: grid;
          gap: 6px;
          padding: 25px 40px;
          border-right: 1px solid rgba(44, 44, 44, 0.08);
          justify-items: center;
          text-align: center;
        }
        .editorial-info-item:last-child {
          border-right: 0;
        }
        .editorial-info-item span {
          color: var(--text-secondary);
          font-size: 0.78rem;
          letter-spacing: 0.12em;
          text-transform: uppercase;
        }
        .editorial-info-item strong {
          font-size: 1.12rem;
          font-weight: 500;
          line-height: 1.5;
        }
        .editorial-header-flex {
          display: flex;
          justify-content: space-between;
          align-items: flex-end;
          gap: 24px;
          width: 100%;
          min-width: 0;
        }
        .editorial-section-eyebrow {
          display: inline-block;
          margin-bottom: 14px;
        }
        .editorial-section-link {
          flex: 0 0 auto;
          white-space: nowrap;
        }
        .editorial-section-head-left {
          justify-items: start;
          text-align: left;
        }
        .editorial-section-head-center {
          justify-items: center;
          text-align: center;
        }
        .editorial-faq-section {
          gap: 40px;
          padding-bottom: 140px;
          border-top: 1px solid var(--border);
        }
        .editorial-faq-head {
          display: grid;
          justify-items: center;
          gap: 14px;
          text-align: center;
        }
        .editorial-faq-eyebrow {
          display: inline-block;
        }
        .editorial-faq-head h2 {
          margin: 0;
          font-family: var(--font-display);
          font-size: clamp(2.3rem, 3.7vw, 3.6rem);
          font-weight: 400;
          line-height: 1.08;
        }
        .editorial-faq-list {
          width: min(100%, 920px);
          margin: 0 auto;
        }
        .editorial-faq-item {
          border-bottom: 1px solid var(--border);
        }
        .editorial-faq-item:first-child {
          border-top: 1px solid var(--border);
        }
        .editorial-faq-trigger {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 24px;
          padding: 30px 0;
          list-style: none;
          cursor: pointer;
        }
        .editorial-faq-trigger::-webkit-details-marker {
          display: none;
        }
        .editorial-faq-trigger::marker {
          content: "";
        }
        .editorial-faq-question {
          font-size: 1.08rem;
          line-height: 1.7;
          font-weight: 600;
          color: var(--text-primary);
        }
        .editorial-faq-icon {
          flex: 0 0 auto;
          color: var(--accent);
          font-size: 1.9rem;
          line-height: 1;
          font-weight: 300;
          transition: transform 220ms ease;
        }
        .editorial-faq-item[open] .editorial-faq-icon {
          transform: rotate(45deg);
        }
        .editorial-faq-answer {
          padding: 0 0 28px;
          max-width: 100%;
          color: var(--text-secondary);
        }
        .editorial-faq-answer p {
          margin: 0;
          font-size: 1rem;
          line-height: 1.95;
        }
        .editorial-faq-answer .inline-link {
          margin-top: 18px;
        }
        .editorial-sections {
          width: 100%;
          margin: 0 auto;
          display: grid;
          gap: 0;
          padding-top: 0;
          overflow: hidden;
        }
        .layout-editorial .editorial-section {
          width: 100%;
          margin: 0 auto;
          display: grid;
          gap: 22px;
          padding: 120px 0;
          border: 0;
          border-radius: 0;
          background: transparent;
          box-shadow: none;
        }
        .layout-editorial.has-editorial-home .page-main {
          overflow: hidden;
        }
        .layout-editorial.has-editorial-home #intro,
        .layout-editorial.has-editorial-home #facilities,
        .layout-editorial.has-editorial-home #location,
        .layout-editorial.has-editorial-home #faq,
        .layout-editorial.has-editorial-home #gallery {
          width: min(100% - 64px, 1400px);
          margin-inline: auto;
        }
        .layout-editorial.has-editorial-home #rooms,
        .layout-editorial.has-editorial-home #activities,
        .layout-editorial.has-editorial-home #reviews {
          width: min(100% - 64px, 1400px);
          max-width: 1400px;
          margin-inline: auto;
          padding: 120px 5%;
        }
        .editorial-intro-plain {
          min-height: 0;
          align-content: start;
        }
        .editorial-intro-grid {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 80px;
          align-items: start;
        }
        .editorial-intro-copy {
          max-width: none;
          display: grid;
          gap: 24px;
        }
        .editorial-intro-media {
          display: block;
          background: transparent;
          overflow: hidden;
        }
        .editorial-intro-media img {
          width: 100%;
          height: auto;
          display: block;
        }
        .editorial-intro-copy h2 {
          margin: 0;
          font-family: var(--font-display);
          font-size: clamp(2rem, 3vw, 2.6rem);
          font-weight: 400;
          line-height: 1.18;
        }
        .editorial-intro-copy p {
          margin: 0;
          color: var(--text-secondary);
          font-size: 1rem;
          line-height: 1.85;
        }
        .feature-tags {
          display: flex;
          flex-wrap: wrap;
          gap: 15px;
        }
        .feature-tags .tag {
          display: inline-flex;
          align-items: center;
          min-height: 40px;
          padding: 0 16px;
          border: 1px solid var(--border);
          color: var(--text-primary);
          font-size: 0.88rem;
          background: #fff;
        }
        .layout-editorial #rooms,
        .layout-editorial #activities {
          width: 100%;
          max-width: none;
          padding: 120px 5%;
          background: var(--surface-alt);
        }
        .layout-editorial #reviews {
          width: 100%;
          max-width: none;
          padding: 120px 5%;
          background: #2c2c2c;
        }
        .layout-editorial #rooms > *,
        .layout-editorial #activities > *,
        .layout-editorial #reviews > * {
          width: min(1400px, 100%);
          margin-left: auto;
          margin-right: auto;
        }
        .layout-editorial #location {
          border-top: 1px solid var(--border);
        }
        .editorial-location-section {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 80px;
          align-items: center;
        }
        .editorial-location-section--simple {
          grid-template-columns: minmax(0, 1fr);
          gap: 0;
          align-items: start;
        }
        .editorial-highlight-grid {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 16px;
        }
        .editorial-room-grid .room-card,
        .layout-editorial .editorial-facility-grid .facility-detail-card,
        .layout-editorial .editorial-facility-categories .category-card {
          background: linear-gradient(180deg, #ffffff, #fbfaf8);
        }
        .rooms-grid,
        .fac-grid {
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 30px;
          width: 100%;
          min-width: 0;
        }
        .editorial-room-card,
        .editorial-fac-card {
          display: grid;
          background: #fff;
          border: 1px solid var(--border);
          overflow: hidden;
          transition: box-shadow 0.35s ease, transform 0.35s ease;
        }
        .editorial-room-card:hover,
        .editorial-fac-card:hover {
          box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
          transform: translateY(-2px);
        }
        .editorial-room-image,
        .editorial-fac-image {
          display: block;
          height: 260px;
          overflow: hidden;
          background: #e5e3df;
        }
        .editorial-fac-image {
          height: 300px;
        }
        .editorial-room-image img,
        .editorial-fac-image img {
          width: 100%;
          height: 100%;
          display: block;
          object-fit: cover;
          transition: transform 0.8s ease;
        }
        .is-broken-image {
          display: none !important;
        }
        .editorial-room-image.has-broken-image,
        .media-button.has-broken-image,
        .gallery-card.has-broken-image,
        .carousel-main-button.has-broken-image,
        .room-gallery-card.has-broken-image,
        .review-photo.has-broken-image {
          display: none !important;
        }
        .editorial-room-card:hover img,
        .editorial-fac-card:hover img {
          transform: scale(1.04);
        }
        .editorial-room-content,
        .editorial-fac-content {
          display: grid;
          gap: 14px;
          padding: 30px 28px;
        }
        .editorial-room-content h3,
        .editorial-fac-content h3 {
          margin: 0;
          font-family: var(--font-display);
          font-size: 1.38rem;
          font-weight: 400;
          line-height: 1.35;
        }
        .editorial-room-content h3 a {
          color: inherit;
          text-decoration: none;
        }
        .editorial-room-content .inline-link {
          margin-top: 4px;
        }
        .editorial-room-details {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 10px 18px;
        }
        .editorial-room-detail {
          color: var(--text-secondary);
          font-size: 0.88rem;
        }
        .editorial-room-detail::before {
          content: "";
          display: inline-block;
          width: 4px;
          height: 4px;
          margin-right: 8px;
          border-radius: 999px;
          background: var(--accent);
          vertical-align: middle;
        }
        .editorial-room-content p,
        .editorial-fac-content p {
          margin: 0;
          color: var(--text-secondary);
          line-height: 1.75;
        }
        .editorial-fac-content span {
          color: var(--accent);
          font-size: 0.84rem;
          letter-spacing: 0.08em;
        }
        .editorial-location-copy {
          display: grid;
          gap: 32px;
        }
        .editorial-location-section--simple .editorial-location-copy {
          gap: 28px;
        }
        .editorial-location-address {
          display: grid;
          gap: 8px;
          padding-bottom: 28px;
          border-bottom: 1px solid var(--border);
        }
        .editorial-location-address span {
          width: fit-content;
          padding: 7px 12px;
          border-radius: 4px;
          background: #f7f7f7;
          color: var(--text-secondary);
          font-size: 0.9rem;
          font-weight: 600;
          letter-spacing: 0.04em;
        }
        .editorial-location-address strong {
          color: var(--text-primary);
          font-size: clamp(1.05rem, 1.45vw, 1.32rem);
          line-height: 1.55;
          font-weight: 600;
        }
        .editorial-transport-list {
          display: grid;
          gap: 30px;
        }
        .editorial-transport-item {
          display: grid;
          gap: 10px;
          padding-bottom: 30px;
          border-bottom: 1px solid var(--border);
        }
        .editorial-transport-item:last-child {
          padding-bottom: 0;
          border-bottom: 0;
        }
        .editorial-transport-name {
          font-size: 1.2rem;
          font-weight: 500;
          line-height: 1.45;
        }
        .editorial-transport-meta {
          display: flex;
          align-items: center;
          gap: 14px;
          flex-wrap: wrap;
          color: var(--text-secondary);
          line-height: 1.7;
        }
        .editorial-transport-badge {
          display: inline-flex;
          align-items: center;
          min-height: 30px;
          padding: 0 12px;
          background: var(--surface-alt);
          border-radius: 2px;
          font-size: 0.78rem;
          letter-spacing: 0.08em;
          color: var(--text-secondary);
        }
        .editorial-location-visual {
          min-width: 0;
        }
        .editorial-map-embed-card {
          display: block;
        }
        .editorial-map-frame-shell {
          height: clamp(360px, 42vw, 520px);
          overflow: hidden;
          border-radius: 4px;
          background: #f2efe8;
        }
        .editorial-map-embed-frame {
          width: 100%;
          height: calc(100% + var(--qqmap-overlay-crop) * 2);
          border: 0;
          display: block;
          background: #f2efe8;
          transform: translateY(calc(var(--qqmap-overlay-crop) * -1));
        }
        .editorial-map-preview {
          position: relative;
          display: block;
          overflow: hidden;
          border-radius: 4px;
          background: transparent;
        }
        .editorial-map-preview img {
          width: 100%;
          height: auto;
          display: block;
          opacity: 0.88;
          transition: opacity 0.35s ease, transform 0.8s ease;
        }
        .editorial-map-preview:hover img {
          opacity: 1;
          transform: scale(1.02);
        }
        .editorial-map-overlay {
          position: absolute;
          inset: 0;
          display: flex;
          align-items: center;
          justify-content: center;
          background: rgba(0, 0, 0, 0.06);
          transition: background 0.35s ease;
        }
        .editorial-map-preview:hover .editorial-map-overlay {
          background: rgba(0, 0, 0, 0.16);
        }
        .editorial-map-button {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 52px;
          padding: 0 28px;
          background: #fff;
          color: var(--text-primary);
          font-size: 0.82rem;
          letter-spacing: 0.08em;
          box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
          transform: translateY(10px);
          opacity: 0;
          transition: opacity 0.35s ease, transform 0.35s ease;
        }
        .editorial-map-preview:hover .editorial-map-button {
          opacity: 1;
          transform: translateY(0);
        }
        .editorial-review-section {
          color: #fff;
        }
        .editorial-review-section .panel-head h2,
        .editorial-review-section .section-desc {
          color: #fff;
        }
        .editorial-review-section .panel-head p {
          color: rgba(255, 255, 255, 0.74);
        }
        .editorial-review-shell {
          display: grid;
          gap: 60px;
        }
        .editorial-rating-header {
          display: grid;
          gap: 12px;
          justify-items: center;
          text-align: center;
        }
        .editorial-rating-score {
          font-family: var(--font-display);
          font-size: clamp(4rem, 6vw, 5.4rem);
          line-height: 1;
          color: var(--accent);
        }
        .editorial-rating-text {
          font-size: 0.9rem;
          letter-spacing: 0.08em;
          color: rgba(255, 255, 255, 0.76);
        }
        .editorial-review-quote-grid {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 40px;
        }
        .editorial-review-quote-card {
          display: grid;
          gap: 28px;
          padding: 40px;
          border: 1px solid rgba(255, 255, 255, 0.1);
          background: transparent;
        }
        .editorial-review-quote {
          margin: 0;
          font-family: var(--font-display);
          font-size: 1.08rem;
          line-height: 1.95;
          color: #fff;
        }
        .editorial-review-signature {
          display: grid;
          gap: 6px;
        }
        .editorial-review-author {
          font-size: 0.84rem;
          letter-spacing: 0.08em;
          text-transform: uppercase;
          color: rgba(255, 255, 255, 0.62);
        }
        .editorial-review-meta {
          color: var(--accent);
          font-size: 0.82rem;
        }
        .editorial-review-actions {
          display: flex;
          justify-content: center;
        }
        .editorial-review-button {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 48px;
          padding: 0 24px;
          border: 1px solid rgba(255, 255, 255, 0.2);
          color: #fff;
          text-decoration: none;
          font-size: 0.82rem;
          letter-spacing: 0.08em;
          transition: background 0.3s ease, color 0.3s ease;
        }
        .editorial-review-button:hover {
          background: #fff;
          color: var(--text-primary);
        }
        .editorial-activity-grid {
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 34px 28px;
          align-items: start;
        }
        .editorial-activity-card {
          display: grid;
          gap: 16px;
          align-content: start;
        }
        .editorial-activity-image {
          display: block;
          aspect-ratio: 16 / 10;
          overflow: hidden;
          border-radius: 2px;
          background: #e5e3df;
        }
        .editorial-activity-image img {
          width: 100%;
          height: 100%;
          display: block;
          object-fit: cover;
          object-position: center;
          transition: transform 0.65s ease;
        }
        .editorial-activity-card:hover .editorial-activity-image img {
          transform: scale(1.05);
        }
        .editorial-activity-body {
          display: grid;
          gap: 8px;
          align-content: start;
        }
        .editorial-activity-kicker {
          margin: 0;
          color: var(--accent);
          font-size: 0.78rem;
          letter-spacing: 0.08em;
          text-transform: uppercase;
        }
        .editorial-activity-title {
          margin: 0;
          font-family: var(--font-display);
          font-size: 1.28rem;
          font-weight: 400;
          line-height: 1.42;
        }
        .editorial-activity-title a {
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 2;
          overflow: hidden;
          color: inherit;
          text-decoration: none;
        }
        .editorial-activity-desc {
          margin: 0;
          color: var(--text-secondary);
          line-height: 1.72;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 3;
          overflow: hidden;
        }
        .layout-editorial .content-section > .content-section {
          padding: 0;
          border: 0;
          background: transparent;
          box-shadow: none;
        }
        .theme-business .topbar {
          background: rgba(248, 250, 253, 0.94);
          box-shadow: 0 8px 26px rgba(16, 35, 58, 0.06);
        }
        .theme-nordic .topbar {
          background: rgba(255, 255, 255, 0.9);
          box-shadow: 0 10px 36px rgba(28, 24, 18, 0.08);
        }
        .theme-nordic .page-hero {
          background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 244, 239, 0.96));
        }
        .theme-nordic .hero-summary-board,
        .theme-nordic .hero-info-card,
        .theme-nordic .content-section,
        .theme-nordic .content-panel,
        .theme-nordic .side-card,
        .theme-nordic .hero-media-panel {
          background: rgba(255, 255, 255, 0.96);
        }
        .theme-nordic .route-card,
        .theme-nordic .category-card,
        .theme-nordic .policy-link-card,
        .theme-nordic .feature-card,
        .theme-nordic .fact-card,
        .theme-nordic .stat-card,
        .theme-nordic .coord-card,
        .theme-nordic .policy-detail-card,
        .theme-nordic .facility-detail-card,
        .theme-nordic .poi-card,
        .theme-nordic .activity-card,
        .theme-nordic .review-card,
        .theme-nordic .accordion-item {
          background: linear-gradient(180deg, #ffffff, #fbfaf8);
        }
        .theme-nordic .hero-action.is-primary,
        .theme-nordic .contact-link {
          background: linear-gradient(135deg, var(--accent), #c5ad86);
          color: #ffffff;
        }
        .theme-nordic .carousel-stage {
          background: #f0ebe4;
        }
        .theme-nordic .section-anchor-nav {
          background: #ffffff;
          top: 75.4px;
          margin-top: 0;
        }
        .theme-nordic.layout-editorial .page-frame {
          padding-top: 75.4px;
        }
        .theme-nordic.layout-editorial.has-editorial-home .page-frame {
          padding-top: 0;
        }
        .theme-nordic.has-editorial-home #intro,
        .theme-nordic.has-editorial-home #facilities,
        .theme-nordic.has-editorial-home #location {
          padding: 120px 5%;
        }
        .theme-nordic.has-editorial-home .editorial-section-link {
          color: var(--text-primary);
          border-bottom-color: var(--border);
        }
        .theme-nordic.has-editorial-home .editorial-section-link:hover {
          border-bottom-color: var(--text-primary);
        }
        .theme-nordic .filter-chip.is-active {
          color: #fff;
          background:
            linear-gradient(135deg, rgba(18, 28, 46, 0.96), rgba(43, 47, 41, 0.94));
          border-color: #c5ad86;
          box-shadow:
            inset 0 0 0 1px rgba(198, 173, 134, 0.72),
            0 14px 36px rgba(18, 28, 46, 0.18);
        }
        .theme-nordic .editorial-page-title {
          font-size: clamp(2.5rem, 5vw, 5.2rem);
        }
        .theme-nordic.room-detail-page .editorial-page-title {
          font-size: clamp(1.6rem, 2.4vw, 2.08rem);
          line-height: 1.18;
        }
        .room-detail-page .panel-head h2 {
          font-size: clamp(1.6rem, 2.4vw, 2.4rem);
          line-height: 1.12;
        }
        .theme-nordic.section-location .editorial-page-title {
          font-size: clamp(2.2rem, 3.2vw, 3.4rem);
        }
        .theme-nordic .content-panel,
        .theme-nordic .content-section {
          box-shadow: 0 18px 60px rgba(29, 23, 17, 0.06);
        }
        .theme-nordic .editorial-header {
          color: #2C2C2C;
          padding: 15px 0;
        }
        .theme-nordic .editorial-logo,
        .theme-nordic .editorial-nav a,
        .theme-nordic .editorial-contact {
          color: #2C2C2C;
        }
        .theme-nordic .editorial-nav a {
          padding: 0;
          font-size: 14px;
          font-weight: 400;
          line-height: 22.4px;
          opacity: 1;
        }
        .theme-nordic .editorial-nav a::after {
          bottom: -15px;
          height: 2px;
          background: rgba(44, 44, 44, 0.22);
        }
        .theme-fashion-html-upload .editorial-nav a::after {
          height: 2px;
          border-radius: 999px;
          background: rgba(44, 44, 44, 0.2);
        }
        .theme-fashion-html-upload .section-anchor-link.is-active {
          border-bottom-color: rgba(44, 44, 44, 0.22);
        }
        .theme-fashion-html-upload .hero-action.is-primary,
        .theme-fashion-html-upload .contact-link {
          background: transparent;
          color: var(--text-primary);
          border: 1px solid rgba(44, 44, 44, 0.18);
          box-shadow: none;
        }
        .theme-fashion-html-upload .editorial-contact {
          background: transparent;
          color: var(--text-primary);
          border: 1px solid var(--text-primary);
          border-radius: 2px;
          box-shadow: none;
        }
        .theme-fashion-html-upload .filter-chip {
          background: transparent;
          color: rgba(44, 44, 44, 0.78);
          border-color: rgba(44, 44, 44, 0.16);
          box-shadow: none;
        }
        .theme-fashion-html-upload .filter-chip:hover {
          background: rgba(44, 44, 44, 0.04);
          color: var(--text-primary);
          border-color: rgba(44, 44, 44, 0.28);
        }
        .theme-fashion-html-upload .filter-chip.is-active {
          background: #ffffff;
          color: var(--text-primary);
          border-color: rgba(44, 44, 44, 0.22);
          box-shadow: 0 8px 20px rgba(44, 44, 44, 0.04);
        }
        .theme-fashion-html-upload .hero-action.is-primary:hover,
        .theme-fashion-html-upload .contact-link:hover,
        .theme-fashion-html-upload .editorial-contact:hover {
          background: var(--text-primary);
          color: #fff;
          border-color: var(--text-primary);
        }
        .theme-fashion-html-upload .editorial-page-kicker,
        .theme-fashion-html-upload .editorial-activity-kicker,
        .theme-fashion-html-upload .editorial-review-meta,
        .theme-fashion-html-upload .editorial-fac-content span,
        .theme-fashion-html-upload .editorial-faq-icon,
        .theme-fashion-html-upload .inline-link,
        .theme-fashion-html-upload .accordion-link {
          color: var(--text-secondary);
        }
        .theme-fashion-html-upload .editorial-room-detail::before {
          background: rgba(44, 44, 44, 0.4);
        }
        .theme-airbnb {
          background:
            radial-gradient(circle at 16% 8%, rgba(255, 56, 92, 0.12), transparent 28%),
            var(--bg);
        }
        .theme-airbnb .editorial-header {
          top: 0;
          left: 50%;
          right: auto;
          width: 100%;
          margin: 0;
          padding: 0 max(16px, calc((100vw - 1180px) / 2));
          min-height: 82px;
          transform: translateX(-50%);
          border: 0;
          border-bottom: 1px solid rgba(32, 26, 24, 0.08);
          border-radius: 0;
          background: rgba(255, 255, 255, 0.97);
          box-shadow: 0 10px 34px rgba(32, 26, 24, 0.08);
          backdrop-filter: blur(18px);
        }
        .theme-airbnb .editorial-header-shell {
          width: 100%;
          min-height: 82px;
          grid-template-columns: minmax(0, 1fr) auto;
          gap: 20px;
        }
        .theme-airbnb .editorial-nav {
          justify-content: center;
          gap: 22px;
        }
        .theme-airbnb .editorial-nav a {
          color: var(--text-secondary);
          font-size: 0.88rem;
          font-weight: 800;
          letter-spacing: -0.01em;
        }
        .theme-airbnb .editorial-nav a::after {
          height: 2px;
          bottom: 0;
          background: var(--accent);
        }
        .theme-airbnb .editorial-contact {
          min-height: 42px;
          padding: 0 18px;
          border: 0;
          border-radius: 999px;
          background: var(--accent);
          color: #fff;
          font-weight: 800;
          box-shadow: 0 12px 30px rgba(255, 56, 92, 0.26);
        }
        .theme-airbnb.has-editorial-home .page-frame {
          padding-bottom: 72px;
        }
        .theme-airbnb .editorial-hero {
          min-height: 100svh;
          background: #201a18;
        }
        .theme-airbnb .editorial-hero-stage {
          min-height: 100svh;
          border-radius: 0 0 42px 42px;
        }
        .theme-airbnb .editorial-hero-stage .carousel-main-image {
          min-height: 100svh;
        }
        .theme-airbnb .editorial-hero-overlay {
          background:
            linear-gradient(90deg, rgba(32, 26, 24, 0.78), rgba(32, 26, 24, 0.24) 46%, rgba(32, 26, 24, 0.10)),
            linear-gradient(180deg, rgba(32, 26, 24, 0.10), rgba(32, 26, 24, 0.42));
        }
        .theme-airbnb .editorial-hero-copy {
          align-items: flex-start;
          justify-content: center;
          width: min(1180px, calc(100% - 48px));
          margin-inline: auto;
          padding: 132px 0 230px;
          text-align: left;
        }
        .theme-airbnb .editorial-hero-copy h1 {
          max-width: 10ch;
          font-family: var(--font-display);
          font-size: clamp(4rem, 8vw, 7.2rem);
          font-weight: 800;
          line-height: 0.92;
          letter-spacing: -0.075em;
        }
        .theme-airbnb .editorial-hero-copy p {
          max-width: 570px;
          font-size: clamp(1rem, 1.7vw, 1.28rem);
          line-height: 1.65;
        }
        .theme-airbnb .editorial-gallery-actions .chip,
        .theme-airbnb .chip,
        .theme-airbnb .filter-chip,
        .theme-airbnb .meta-pill,
        .theme-airbnb .pill {
          border-radius: 999px;
        }
        .theme-airbnb .filter-chip.is-active {
          color: var(--text-primary);
          background: #fff;
          border-color: var(--accent);
          box-shadow: inset 0 0 0 1px var(--accent);
        }
        .theme-airbnb .editorial-info-bar {
          width: min(1180px, calc(100% - 48px));
          margin: 0 auto 28px;
          border: 1px solid rgba(32, 26, 24, 0.08);
          border-radius: 999px;
          box-shadow: 0 22px 60px rgba(32, 26, 24, 0.14);
        }
        .theme-airbnb .editorial-info-item {
          padding: 18px 28px;
          justify-items: start;
          text-align: left;
        }
        .theme-airbnb.has-editorial-home #intro,
        .theme-airbnb.has-editorial-home #facilities,
        .theme-airbnb.has-editorial-home #location,
        .theme-airbnb.has-editorial-home #faq,
        .theme-airbnb.has-editorial-home #gallery,
        .theme-airbnb.has-editorial-home #rooms,
        .theme-airbnb.has-editorial-home #activities,
        .theme-airbnb.has-editorial-home #reviews {
          width: min(1180px, calc(100% - 48px));
          max-width: 1180px;
          padding: 96px 0;
          background: transparent;
        }
        .theme-airbnb.has-editorial-home #reviews {
          width: 100%;
          max-width: none;
          padding: 96px max(24px, calc((100vw - 1180px) / 2));
          background: #201a18;
          color: #fff;
        }
        .theme-airbnb .editorial-section-head h2,
        .theme-airbnb .editorial-faq-head h2,
        .theme-airbnb .editorial-intro-copy h2 {
          font-family: var(--font-display);
          font-weight: 800;
          letter-spacing: -0.06em;
          line-height: 1;
        }
        .theme-airbnb .editorial-section-eyebrow,
        .theme-airbnb .editorial-faq-eyebrow,
        .theme-airbnb .editorial-activity-kicker,
        .theme-airbnb .editorial-review-meta,
        .theme-airbnb .editorial-fac-content span,
        .theme-airbnb .inline-link {
          color: var(--accent);
        }
        .theme-airbnb .rooms-grid,
        .theme-airbnb .fac-grid,
        .theme-airbnb .editorial-activity-grid {
          gap: 22px;
        }
        .theme-airbnb .editorial-room-card,
        .theme-airbnb .editorial-fac-card,
        .theme-airbnb .editorial-activity-card,
        .theme-airbnb .category-card,
        .theme-airbnb .review-card,
        .theme-airbnb .fact-card,
        .theme-airbnb .content-panel {
          border: 1px solid var(--border);
          border-radius: 30px;
          background: #fff;
          box-shadow: none;
          overflow: hidden;
        }
        .theme-airbnb .editorial-room-image,
        .theme-airbnb .editorial-fac-image,
        .theme-airbnb .editorial-activity-image {
          border-radius: 0;
          background: #f3ded8;
        }
        .theme-airbnb .editorial-room-image {
          height: 300px;
        }
        .theme-airbnb .editorial-fac-image {
          height: 340px;
        }
        .theme-airbnb .editorial-room-content,
        .theme-airbnb .editorial-fac-content {
          padding: 24px;
        }
        .theme-airbnb .editorial-room-content h3,
        .theme-airbnb .editorial-fac-content h3,
        .theme-airbnb .editorial-activity-title {
          font-family: var(--font-display);
          font-weight: 800;
          letter-spacing: -0.04em;
        }
        .theme-airbnb .editorial-location-section {
          gap: 32px;
          align-items: stretch;
        }
        .theme-airbnb .editorial-location-visual {
          min-height: 100%;
        }
        .theme-airbnb .editorial-map-embed-card {
          height: 100%;
        }
        .theme-airbnb .editorial-map-frame-shell,
        .theme-airbnb .editorial-map-preview {
          min-height: 440px;
          height: 100%;
          border: 1px solid var(--border);
          border-radius: 34px;
          background:
            radial-gradient(circle at 24% 18%, rgba(255, 56, 92, 0.18), transparent 32%),
            linear-gradient(135deg, #fff7f4, #f8efe9);
          box-shadow: 0 24px 70px rgba(32, 26, 24, 0.10);
          overflow: hidden;
        }
        .theme-airbnb .editorial-map-embed-frame {
          background: #f8efe9;
        }
        .theme-airbnb .editorial-map-preview img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
        .theme-airbnb .editorial-transport-item {
          padding: 22px 0;
        }
        .theme-airbnb .editorial-review-quote-card {
          border-radius: 30px;
          background: rgba(255, 255, 255, 0.08);
          border-color: rgba(255, 255, 255, 0.12);
        }
        .theme-airbnb .editorial-review-button {
          border-radius: 999px;
          background: #fff;
          color: #201a18;
          font-weight: 800;
        }
        .theme-airbnb .editorial-faq-item:first-child {
          border-top: 0;
        }
        .theme-airbnb .editorial-faq-trigger {
          padding: 26px 0;
        }
        .theme-airbnb .editorial-faq-icon {
          color: var(--accent);
        }
        .theme-airbnb.has-airbnb-home .page-frame {
          width: 100%;
          padding: 0 0 76px;
        }
        .theme-airbnb.has-airbnb-home .editorial-header {
          position: fixed;
        }
        .theme-airbnb .airbnb-home-hero {
          display: grid;
          grid-template-columns: minmax(360px, 0.48fr) minmax(0, 0.52fr);
          gap: clamp(28px, 4vw, 68px);
          align-items: center;
          width: min(1240px, calc(100% - 48px));
          min-height: auto;
          margin: 0 auto;
          padding: 112px 0 42px;
        }
        .theme-airbnb .airbnb-hero-copy {
          display: grid;
          gap: 22px;
          max-width: 560px;
        }
        .theme-airbnb .airbnb-kicker,
        .theme-airbnb .airbnb-section-kicker {
          margin: 0;
          color: var(--accent);
          font-size: 0.76rem;
          font-weight: 900;
          letter-spacing: 0.18em;
          text-transform: uppercase;
        }
        .theme-airbnb .airbnb-hero-copy h1 {
          margin: 0;
          font-family: var(--font-display);
          font-size: clamp(1.05rem, 2.16vw, 2.1rem);
          font-weight: 900;
          line-height: 1.08;
          letter-spacing: -0.04em;
        }
        .theme-airbnb .airbnb-hero-copy p,
        .theme-airbnb .airbnb-host-note p,
        .theme-airbnb .airbnb-section-head p {
          margin: 0;
          color: var(--text-secondary);
          font-size: 1.04rem;
          line-height: 1.8;
        }
        .theme-airbnb .airbnb-hero-actions {
          display: flex;
          flex-wrap: wrap;
          gap: 12px;
          margin-top: 8px;
        }
        .theme-airbnb .airbnb-primary-link,
        .theme-airbnb .airbnb-secondary-link {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 48px;
          padding: 0 22px;
          border-radius: 999px;
          font-weight: 900;
          text-decoration: none;
        }
        .theme-airbnb .airbnb-primary-link {
          background: var(--accent);
          color: #fff;
          box-shadow: 0 18px 44px rgba(255, 56, 92, 0.26);
        }
        .theme-airbnb .airbnb-secondary-link {
          border: 1px solid var(--border);
          background: #fff;
        }
        .theme-airbnb .airbnb-mosaic {
          position: relative;
          display: block;
          height: min(430px, 46svh);
          max-height: 460px;
          border-radius: 34px;
          overflow: hidden;
          background: rgba(255, 255, 255, 0.42);
          box-shadow: 0 28px 80px rgba(32, 26, 24, 0.16);
        }
        .theme-airbnb .airbnb-mosaic-main {
          display: block;
          width: 100%;
          height: 100%;
          padding: 0;
          border: 0;
          background: #f3ded8;
          cursor: zoom-in;
          overflow: hidden;
        }
        .theme-airbnb .airbnb-mosaic-main img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transition: transform 420ms ease;
        }
        .theme-airbnb .airbnb-mosaic-main:hover img,
        .theme-airbnb .airbnb-space-card:hover img {
          transform: scale(1.045);
        }
        .theme-airbnb .airbnb-carousel-arrow {
          top: 50%;
          width: 44px;
          height: 44px;
          background: rgba(255, 255, 255, 0.92);
          color: #201a18;
          box-shadow: 0 12px 30px rgba(32, 26, 24, 0.18);
          transform: translateY(-50%);
        }
        .theme-airbnb .airbnb-carousel-arrow.is-prev {
          left: 18px;
        }
        .theme-airbnb .airbnb-carousel-arrow.is-next {
          right: 18px;
        }
        .theme-airbnb .airbnb-carousel-dots {
          position: absolute;
          left: 50%;
          bottom: 18px;
          display: flex;
          gap: 8px;
          transform: translateX(-50%);
        }
        .theme-airbnb .airbnb-carousel-thumb {
          width: 9px;
          height: 9px;
          padding: 0;
          border: 0;
          border-radius: 999px;
          background: rgba(255, 255, 255, 0.62);
          overflow: hidden;
          cursor: pointer;
        }
        .theme-airbnb .airbnb-carousel-thumb.is-active {
          width: 24px;
          background: #fff;
        }
        .theme-airbnb .airbnb-carousel-thumb img {
          display: none;
        }
        .theme-airbnb .airbnb-host-note,
        .theme-airbnb .airbnb-section {
          width: min(1180px, calc(100% - 48px));
          margin: 0 auto;
          padding: 76px 0;
          border-top: 1px solid var(--border);
        }
        .theme-airbnb .airbnb-host-note,
        .theme-airbnb .airbnb-amenities-section,
        .theme-airbnb .airbnb-location-split,
        .theme-airbnb .airbnb-review-band,
        .theme-airbnb .airbnb-faq-strip {
          display: grid;
          grid-template-columns: 0.72fr 1.28fr;
          gap: clamp(28px, 5vw, 76px);
          align-items: start;
        }
        .theme-airbnb .airbnb-host-note h2,
        .theme-airbnb .airbnb-section-head h2 {
          margin: 8px 0 0;
          font-family: var(--font-display);
          font-size: clamp(1.05rem, 2.16vw, 2.1rem);
          font-weight: 900;
          line-height: 1.08;
          letter-spacing: -0.04em;
        }
        .theme-airbnb .airbnb-tag-row {
          display: flex;
          flex-wrap: wrap;
          gap: 10px;
          margin-top: 20px;
        }
        .theme-airbnb .airbnb-tag-row span {
          padding: 9px 13px;
          border: 1px solid var(--border);
          border-radius: 999px;
          background: #fff;
          font-weight: 800;
        }
        .theme-airbnb .airbnb-section-head {
          display: grid;
          gap: 12px;
          max-width: 760px;
          margin-bottom: 30px;
        }
        .theme-airbnb .airbnb-space-row,
        .theme-airbnb .airbnb-idea-row {
          display: grid;
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 18px;
        }
        .theme-airbnb .airbnb-space-card {
          display: grid;
          gap: 14px;
          color: inherit;
          text-decoration: none;
        }
        .theme-airbnb .airbnb-space-image {
          aspect-ratio: 1 / 0.9;
          border-radius: 22px;
          background: #f3ded8;
          overflow: hidden;
        }
        .theme-airbnb .airbnb-space-image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transition: transform 360ms ease;
        }
        .theme-airbnb .airbnb-space-copy {
          display: grid;
          gap: 4px;
        }
        .theme-airbnb .airbnb-space-copy strong {
          font-weight: 900;
          letter-spacing: -0.02em;
        }
        .theme-airbnb .airbnb-space-copy span,
        .theme-airbnb .airbnb-nearby-row span {
          color: var(--text-secondary);
          font-size: 0.92rem;
        }
        .theme-airbnb .airbnb-amenity-grid {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 12px;
        }
        .theme-airbnb .airbnb-amenity-chip {
          display: flex;
          align-items: center;
          gap: 14px;
          min-height: 72px;
          padding: 16px 18px;
          border: 1px solid var(--border);
          border-radius: 18px;
          background: #fff;
          text-decoration: none;
        }
        .theme-airbnb .airbnb-amenity-chip span {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 38px;
          height: 38px;
          border-radius: 50%;
          background: #fff1ec;
          color: var(--accent);
          font-weight: 900;
        }
        .theme-airbnb .airbnb-nearby-list {
          display: grid;
          border-top: 1px solid var(--border);
        }
        .theme-airbnb .airbnb-nearby-row {
          display: grid;
          grid-template-columns: 0.75fr 1.25fr;
          gap: 18px;
          padding: 20px 0;
          border-bottom: 1px solid var(--border);
        }
        .theme-airbnb .airbnb-review-band {
          width: 100%;
          max-width: none;
          padding: 86px max(24px, calc((100vw - 1180px) / 2));
          background: #201a18;
          color: #fff;
        }
        .theme-airbnb .airbnb-review-band .airbnb-section-head p {
          color: rgba(255, 255, 255, 0.72);
        }
        .theme-airbnb .airbnb-review-grid {
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 16px;
        }
        .theme-airbnb .airbnb-idea-row .editorial-activity-body {
          padding: 20px 22px 24px;
        }
        .theme-airbnb .airbnb-idea-row .editorial-activity-title {
          font-size: 1.05rem;
          line-height: 1.45;
        }
        .theme-airbnb .airbnb-idea-row .editorial-activity-desc {
          padding-right: 4px;
        }
        @media (max-width: 860px) {
          .theme-airbnb .editorial-header {
            top: 0;
            width: 100%;
            border-radius: 0;
            padding: 0 12px;
          }
          .theme-airbnb .editorial-header-shell {
            grid-template-columns: 1fr;
            gap: 10px;
            padding: 10px 0;
          }
          .theme-airbnb .editorial-nav {
            justify-content: flex-start;
          }
          .theme-airbnb .editorial-contact {
            display: none;
          }
          .theme-airbnb .editorial-hero-copy {
            width: min(100% - 32px, 1180px);
            padding: 132px 0 220px;
          }
          .theme-airbnb .editorial-hero-copy h1 {
            font-size: clamp(3.1rem, 16vw, 4.4rem);
          }
          .theme-airbnb .editorial-info-bar {
            width: calc(100% - 32px);
            border-radius: 28px;
          }
          .theme-airbnb.has-editorial-home #intro,
          .theme-airbnb.has-editorial-home #facilities,
          .theme-airbnb.has-editorial-home #location,
          .theme-airbnb.has-editorial-home #faq,
          .theme-airbnb.has-editorial-home #gallery,
          .theme-airbnb.has-editorial-home #rooms,
          .theme-airbnb.has-editorial-home #activities {
            width: calc(100% - 32px);
            padding: 72px 0;
          }
          .theme-airbnb .editorial-room-image,
          .theme-airbnb .editorial-fac-image {
            height: 260px;
          }
          .theme-airbnb .editorial-map-frame-shell,
          .theme-airbnb .editorial-map-preview {
            min-height: 300px;
          }
          .theme-airbnb .airbnb-home-hero,
          .theme-airbnb .airbnb-host-note,
          .theme-airbnb .airbnb-amenities-section,
          .theme-airbnb .airbnb-location-split,
          .theme-airbnb .airbnb-review-band,
          .theme-airbnb .airbnb-faq-strip {
            grid-template-columns: 1fr;
          }
          .theme-airbnb .airbnb-home-hero {
            width: min(100% - 24px, 680px);
            min-height: auto;
            padding: 100px 0 42px;
          }
          .theme-airbnb .airbnb-mosaic {
            height: 430px;
            max-height: 430px;
            border-radius: 24px;
          }
          .theme-airbnb .airbnb-host-note,
          .theme-airbnb .airbnb-section {
            width: min(100% - 24px, 680px);
            padding: 52px 0;
          }
          .theme-airbnb .airbnb-space-row,
          .theme-airbnb .airbnb-idea-row,
          .theme-airbnb .airbnb-review-grid,
          .theme-airbnb .airbnb-amenity-grid {
            grid-template-columns: 1fr;
          }
          .theme-airbnb .airbnb-review-band {
            width: 100%;
            padding-inline: 12px;
          }
          .theme-airbnb .airbnb-nearby-row {
            grid-template-columns: 1fr;
            gap: 4px;
          }
        }
        .theme-airbnb.airbnb-inner-page {
  background:
    linear-gradient(180deg, #fff8f6 0, #ffffff 360px),
    #ffffff;
}
.theme-airbnb.airbnb-inner-page.site-body::before,
.theme-airbnb.airbnb-inner-page.site-body::after {
  display: none;
}
.theme-airbnb.airbnb-inner-page .editorial-page-frame {
  width: min(1180px, calc(100% - 48px));
  padding: 118px 0 76px;
}
.theme-airbnb.airbnb-inner-page .editorial-page-grid {
  gap: 34px;
  align-items: start;
}
.theme-airbnb.airbnb-inner-page .page-grid-single {
  grid-template-columns: minmax(0, 1fr);
}
.theme-airbnb.airbnb-inner-page .page-main {
  display: grid;
  gap: 56px;
  min-width: 0;
}
.theme-airbnb.airbnb-inner-page .breadcrumbs {
  margin: 0 0 18px;
  color: #766863;
  font-size: 0.88rem;
}
.theme-airbnb.airbnb-inner-page .section-anchor-nav {
  position: sticky;
  top: 82px;
  z-index: 12;
  display: flex;
  gap: 10px;
  margin: 0 0 34px;
  padding: 10px;
  border: 1px solid rgba(32, 26, 24, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 46px rgba(32, 26, 24, 0.08);
  backdrop-filter: blur(16px);
}
.theme-airbnb.airbnb-inner-page .section-anchor-link {
  min-height: 36px;
  padding: 0 15px;
  border: 0;
  border-radius: 999px;
  color: #5f534f;
  font-size: 0.88rem;
  font-weight: 850;
}
.theme-airbnb.airbnb-inner-page .section-anchor-link.is-active,
.theme-airbnb.airbnb-inner-page .section-anchor-link:hover {
  background: #201a18;
  color: #fff;
}
.theme-airbnb.airbnb-inner-page .content-section {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.theme-airbnb.airbnb-inner-page .content-section + .content-section {
  padding-top: 56px;
  border-top: 1px solid #eaded8;
}
.theme-airbnb.airbnb-inner-page .panel-head {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(260px, 0.58fr);
  gap: 28px;
  align-items: end;
  margin-bottom: 24px;
}
.theme-airbnb.airbnb-inner-page .panel-head h2 {
  margin: 0;
  max-width: 12ch;
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.85rem);
  font-weight: 900;
  line-height: 0.98;
  letter-spacing: -0.07em;
}
.theme-airbnb.airbnb-inner-page .panel-head p {
  margin: 0;
  color: #766863;
  font-size: 1rem;
  line-height: 1.72;
}
.theme-airbnb.airbnb-inner-page .content-panel,
.theme-airbnb.airbnb-inner-page .category-card,
.theme-airbnb.airbnb-inner-page .policy-link-card,
.theme-airbnb.airbnb-inner-page .feature-card,
.theme-airbnb.airbnb-inner-page .review-card,
.theme-airbnb.airbnb-inner-page .fact-card,
.theme-airbnb.airbnb-inner-page .stat-card,
.theme-airbnb.airbnb-inner-page .coord-card,
.theme-airbnb.airbnb-inner-page .poi-card,
.theme-airbnb.airbnb-inner-page .accordion-item,
.theme-airbnb.airbnb-inner-page .facility-detail-card {
  border: 1px solid rgba(32, 26, 24, 0.10);
  border-radius: 28px;
  background: #fff;
  box-shadow: none;
}
.theme-airbnb.airbnb-inner-page .content-panel {
  padding: 26px;
}
.theme-airbnb.airbnb-inner-page .content-panel .panel-head {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}
.theme-airbnb.airbnb-inner-page .content-panel .panel-head h2 {
  max-width: none;
  font-size: clamp(1.45rem, 2.2vw, 2.25rem);
  line-height: 1.06;
}
.theme-airbnb.airbnb-inner-page .split-layout {
  gap: 24px;
  align-items: stretch;
}
.theme-airbnb.airbnb-inner-page .filter-bar {
  display: flex;
  flex-wrap: nowrap;
  gap: 9px;
  margin: 0 0 24px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}
.theme-airbnb.airbnb-inner-page .filter-bar::-webkit-scrollbar {
  display: none;
}
.theme-airbnb.airbnb-inner-page .filter-chip {
  flex: 0 0 auto;
  max-width: min(420px, 78vw);
  min-height: 42px;
  padding: 0 16px;
  border-color: rgba(32, 26, 24, 0.12);
  background: #fff;
  color: #201a18;
  font-weight: 850;
  box-shadow: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.theme-airbnb.airbnb-inner-page .filter-chip.is-active {
  background: #201a18;
  color: #fff;
  border-color: #201a18;
  box-shadow: none;
}
.theme-airbnb.airbnb-inner-page .rooms-grid,
.theme-airbnb.airbnb-inner-page .gallery-grid,
.theme-airbnb.airbnb-inner-page .category-grid,
.theme-airbnb.airbnb-inner-page .facility-grid {
  gap: 22px;
}
.theme-airbnb.airbnb-inner-page .editorial-room-card,
.theme-airbnb.airbnb-inner-page .editorial-fac-card,
.theme-airbnb.airbnb-inner-page .editorial-activity-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.theme-airbnb.airbnb-inner-page .editorial-room-card:hover img,
.theme-airbnb.airbnb-inner-page .editorial-fac-card:hover img,
.theme-airbnb.airbnb-inner-page .editorial-activity-card:hover img,
.theme-airbnb.airbnb-inner-page .gallery-card:hover img {
  transform: scale(1.04);
}
.theme-airbnb.airbnb-inner-page .editorial-room-image,
.theme-airbnb.airbnb-inner-page .editorial-fac-image,
.theme-airbnb.airbnb-inner-page .editorial-activity-image,
.theme-airbnb.airbnb-inner-page .gallery-card-image,
.theme-airbnb.airbnb-inner-page .media-button {
  border-radius: 24px;
  background: #f3ded8;
  box-shadow: none;
  overflow: hidden;
}
.theme-airbnb.airbnb-inner-page .editorial-room-image {
  height: auto;
  aspect-ratio: 1 / 0.86;
}
.theme-airbnb.airbnb-inner-page .editorial-fac-image,
.theme-airbnb.airbnb-inner-page .editorial-activity-image {
  height: auto;
  aspect-ratio: 1 / 0.72;
}
.theme-airbnb.airbnb-inner-page .editorial-room-image img,
.theme-airbnb.airbnb-inner-page .editorial-fac-image img,
.theme-airbnb.airbnb-inner-page .editorial-activity-image img,
.theme-airbnb.airbnb-inner-page .gallery-card-image img,
.theme-airbnb.airbnb-inner-page .media-button img {
  transition: transform 380ms ease;
}
.theme-airbnb.airbnb-inner-page .editorial-room-content,
.theme-airbnb.airbnb-inner-page .editorial-fac-content,
.theme-airbnb.airbnb-inner-page .editorial-activity-body {
  padding: 14px 2px 0;
}
.theme-airbnb.airbnb-inner-page .editorial-room-content h3,
.theme-airbnb.airbnb-inner-page .editorial-fac-content h3,
.theme-airbnb.airbnb-inner-page .editorial-activity-title,
.theme-airbnb.airbnb-inner-page .card-title-link {
  color: #201a18;
  font-size: 1.08rem;
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1.32;
}
.theme-airbnb.airbnb-inner-page .editorial-room-details,
.theme-airbnb.airbnb-inner-page .tag-cloud {
  gap: 8px;
}
.theme-airbnb.airbnb-inner-page .editorial-room-detail,
.theme-airbnb.airbnb-inner-page .chip,
.theme-airbnb.airbnb-inner-page .review-chip,
.theme-airbnb.airbnb-inner-page .pill,
.theme-airbnb.airbnb-inner-page .meta-pill {
  border-color: transparent;
  background: #fff1ec;
  color: #5f534f;
  box-shadow: none;
  font-weight: 800;
}
.theme-airbnb.airbnb-inner-page .inline-link,
.theme-airbnb.airbnb-inner-page .accordion-link {
  color: #201a18;
  font-weight: 900;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
.theme-airbnb.airbnb-inner-page .review-list-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.theme-airbnb.airbnb-inner-page .review-card {
  padding: 24px;
  border-radius: 30px;
}
.theme-airbnb.airbnb-inner-page .review-card-topline,
.theme-airbnb.airbnb-inner-page .review-card-head,
.theme-airbnb.airbnb-inner-page .review-card-foot {
  border-color: #eaded8;
}
.theme-airbnb.airbnb-inner-page .review-user-name,
.theme-airbnb.airbnb-inner-page .review-score-value {
  color: #201a18;
  font-weight: 900;
}
.theme-airbnb.airbnb-inner-page .review-copy,
.theme-airbnb.airbnb-inner-page .review-feedback-copy {
  color: #2b2421;
  line-height: 1.84;
}
.theme-airbnb.airbnb-inner-page .review-image-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
}
.theme-airbnb.airbnb-inner-page .review-image-grid .thumbnail-button {
  border-radius: 16px;
  box-shadow: none;
}
.theme-airbnb.airbnb-inner-page .stat-grid {
  gap: 12px;
}
.theme-airbnb.airbnb-inner-page .stat-card {
  padding: 22px;
  border-radius: 24px;
  background: #fff8f6;
}
.theme-airbnb.airbnb-inner-page .rating-stack {
  gap: 12px;
}
.theme-airbnb.airbnb-inner-page .gallery-card {
  border: 0;
  background: transparent;
  box-shadow: none;
}
.theme-airbnb.airbnb-inner-page .gallery-card-copy,
.theme-airbnb.airbnb-inner-page .media-caption {
  color: #766863;
}
.theme-airbnb.airbnb-inner-page .editorial-map-frame-shell,
.theme-airbnb.airbnb-inner-page .editorial-map-preview,
.theme-airbnb.airbnb-inner-page .map-panel,
.theme-airbnb.airbnb-inner-page .location-map-panel {
  border-radius: 32px;
  border: 1px solid rgba(32, 26, 24, 0.10);
  background: #f3ded8;
  box-shadow: none;
  overflow: hidden;
}
.theme-airbnb.airbnb-inner-page .coord-card,
.theme-airbnb.airbnb-inner-page .route-card,
.theme-airbnb.airbnb-inner-page .poi-card {
  padding: 24px;
}
.theme-airbnb.airbnb-inner-page .side-card {
  border: 1px solid rgba(32, 26, 24, 0.10);
  border-radius: 28px;
  background: #fff;
  box-shadow: none;
}
.theme-airbnb.airbnb-inner-page.wechat-article-page {
  background: #fff;
}
.theme-airbnb.airbnb-inner-page.wechat-article-page .editorial-page-frame {
  width: min(980px, calc(100% - 48px));
}
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-article-shell {
  width: min(720px, 100%);
  margin: 0 auto;
}
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-article-header {
  padding: 0 0 30px;
  border-bottom: 1px solid #eaded8;
}
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-article-header h1 {
  max-width: 780px;
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.25vw, 3.05rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.045em;
}
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-article-meta {
  color: #ff385c;
  font-weight: 850;
}
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-article-excerpt {
  color: #766863;
  font-size: 1.08rem;
}
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-rich-html {
  padding-top: 34px;
  color: #2b2421;
}
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-rich-html h2,
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-rich-html h3 {
  font-family: var(--font-display);
  letter-spacing: -0.045em;
}
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-rich-html img,
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-inline-figure {
  border-radius: 24px;
}
.theme-airbnb.airbnb-inner-page.wechat-article-page .activity-inline-images {
  width: min(980px, calc(100vw - 48px));
  margin-left: 50%;
  transform: translateX(-50%);
}
.theme-airbnb.airbnb-inner-page .pagination-bar {
  justify-content: center;
  padding-top: 24px;
}
.theme-airbnb.airbnb-inner-page .pagination-link {
  border-radius: 999px;
  border-color: #eaded8;
  background: #fff;
}
.theme-airbnb.airbnb-inner-page .pagination-link.is-active {
  background: #201a18;
  color: #fff;
  border-color: #201a18;
}
@media (max-width: 980px) {
  .theme-airbnb.airbnb-inner-page .editorial-page-frame {
    width: min(100% - 28px, 720px);
    padding-top: 132px;
  }
  .theme-airbnb.airbnb-inner-page .section-anchor-nav {
    top: 112px;
    overflow: auto hidden;
    justify-content: flex-start;
    border-radius: 22px;
  }
  .theme-airbnb.airbnb-inner-page .panel-head {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 20px;
  }
  .theme-airbnb.airbnb-inner-page .panel-head h2 {
    max-width: none;
  }
  .theme-airbnb.airbnb-inner-page .split-layout,
  .theme-airbnb.airbnb-inner-page .review-list-grid,
  .theme-airbnb.airbnb-inner-page .rooms-grid,
  .theme-airbnb.airbnb-inner-page .gallery-grid,
  .theme-airbnb.airbnb-inner-page .category-grid,
  .theme-airbnb.airbnb-inner-page .facility-grid {
    grid-template-columns: 1fr;
  }
  .theme-airbnb.airbnb-inner-page .content-panel {
    padding: 20px;
  }
  .theme-airbnb.airbnb-inner-page.wechat-article-page .editorial-page-frame {
    width: min(100% - 28px, 720px);
  }
  .theme-airbnb.airbnb-inner-page.wechat-article-page .activity-inline-images {
    width: 100%;
    margin-left: 0;
    transform: none;
  }
}
        .theme-business .page-hero {
          background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 254, 0.95));
        }
        .theme-business .hero-summary-board,
        .theme-business .hero-info-card,
        .theme-business .content-section,
        .theme-business .content-panel,
        .theme-business .side-card,
        .theme-business .hero-media-panel {
          background: rgba(255, 255, 255, 0.96);
        }
        .theme-business .route-card,
        .theme-business .category-card,
        .theme-business .policy-link-card,
        .theme-business .feature-card,
        .theme-business .fact-card,
        .theme-business .stat-card,
        .theme-business .coord-card,
        .theme-business .policy-detail-card,
        .theme-business .facility-detail-card,
        .theme-business .poi-card,
        .theme-business .activity-card,
        .theme-business .review-card,
        .theme-business .accordion-item {
          background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(248, 251, 255, 0.96));
        }
        .theme-business .hero-action.is-primary {
          background: #10345d;
          color: #fff;
        }
        .theme-business .carousel-stage {
          background: #edf3f9;
        }
        .theme-business .section-anchor-nav {
          background: rgba(248, 250, 253, 0.82);
        }
        .theme-young-fashion .topbar {
          background: rgba(8, 12, 25, 0.84);
          border-bottom-color: rgba(255, 255, 255, 0.1);
        }
        .theme-young-fashion .meta-pill,
        .theme-young-fashion .pill,
        .theme-young-fashion .chip,
        .theme-young-fashion .review-chip,
        .theme-young-fashion .filter-chip,
        .theme-young-fashion .copy-button,
        .theme-young-fashion .scroll-top,
        .theme-young-fashion .hero-action {
          background: rgba(255, 255, 255, 0.06);
          border-color: rgba(255, 255, 255, 0.12);
        }
        .theme-young-fashion .contact-link,
        .theme-young-fashion .hero-action.is-primary {
          color: #09111e;
        }
        .theme-young-fashion .page-hero {
          background: linear-gradient(135deg, rgba(10, 15, 32, 0.96), rgba(18, 24, 46, 0.9));
        }
        .theme-young-fashion .hero-summary-board,
        .theme-young-fashion .hero-info-card {
          background: rgba(255, 255, 255, 0.04);
          border-color: rgba(255, 255, 255, 0.1);
        }
        .theme-young-fashion .content-section,
        .theme-young-fashion .content-panel,
        .theme-young-fashion .side-card,
        .theme-young-fashion .hero-media-panel {
          background: rgba(9, 14, 31, 0.84);
        }
        .theme-young-fashion .route-card,
        .theme-young-fashion .category-card,
        .theme-young-fashion .policy-link-card,
        .theme-young-fashion .feature-card,
        .theme-young-fashion .fact-card,
        .theme-young-fashion .stat-card,
        .theme-young-fashion .coord-card,
        .theme-young-fashion .policy-detail-card,
        .theme-young-fashion .facility-detail-card,
        .theme-young-fashion .poi-card,
        .theme-young-fashion .activity-card,
        .theme-young-fashion .review-card,
        .theme-young-fashion .accordion-item {
          background: linear-gradient(145deg, rgba(255, 90, 95, 0.08), rgba(255, 255, 255, 0.03) 42%, rgba(0, 209, 255, 0.08));
        }
        .theme-young-fashion .section-anchor-nav {
          background: rgba(10, 15, 32, 0.5);
          border-bottom-color: rgba(255, 255, 255, 0.12);
        }
        .theme-young-fashion .nav-link::after {
          background: linear-gradient(135deg, var(--accent), var(--accent-2));
        }
        .theme-young-fashion .carousel-stage {
          background: rgba(255, 255, 255, 0.06);
        }
        .theme-young-fashion .review-score-badge {
          background: rgba(255, 255, 255, 0.06);
          border-color: rgba(255, 255, 255, 0.12);
        }
        .theme-young-fashion .review-copy.is-collapsed::after {
          background: linear-gradient(180deg, rgba(9, 14, 31, 0), rgba(9, 14, 31, 0.98));
        }
        .theme-young-fashion .review-feedback-card,
        .theme-young-fashion .accordion-content {
          background: rgba(255, 255, 255, 0.02);
        }
        .theme-young-fashion .review-feedback-card.is-merchant,
        .theme-young-fashion .review-feedback-card.is-generic {
          background: rgba(255, 255, 255, 0.04);
          border-color: rgba(255, 255, 255, 0.08);
        }
        .theme-young-fashion .review-feedback-card.is-supplement {
          background: rgba(255, 182, 107, 0.08);
          border-color: rgba(255, 182, 107, 0.2);
        }
        .theme-young-fashion .review-feedback-copy.is-collapsed::after {
          background: linear-gradient(180deg, rgba(20, 24, 39, 0), rgba(20, 24, 39, 1));
        }
        .theme-young-fashion .review-feedback-card.is-supplement .review-feedback-copy.is-collapsed::after {
          background: linear-gradient(180deg, rgba(255, 182, 107, 0), rgba(33, 26, 18, 1));
        }
        @media (max-width: 1200px) {
          .topbar-shell, .page-frame { width: min(100% - 32px, 1440px); }
          .page-hero, .page-grid, .split-layout { grid-template-columns: 1fr; }
          .location-address-layout { grid-template-columns: 1fr; gap: 28px; }
          .page-side { position: static; }
          .activity-grid {
            grid-template-columns: 1fr;
          }
          .layout-editorial .editorial-header-shell,
          .layout-editorial .editorial-sections {
            width: min(100% - 32px, 1400px);
          }
          .layout-editorial .page-frame {
            width: min(100% - 32px, 1400px);
            padding-top: 108px;
          }
          .layout-editorial.has-editorial-home .page-frame {
            width: 100%;
            padding-top: 0;
          }
          .layout-editorial .editorial-intro-grid,
          .layout-editorial .editorial-location-section,
          .layout-editorial .editorial-page-hero {
            grid-template-columns: 1fr;
          }
          .layout-editorial .editorial-header-flex {
            flex-direction: column;
            align-items: flex-start;
          }
          .layout-editorial .rooms-grid,
          .layout-editorial .fac-grid,
          .layout-editorial .editorial-review-quote-grid,
          .layout-editorial .editorial-activity-grid {
            grid-template-columns: 1fr;
          }
          .layout-editorial .editorial-info-bar {
            grid-template-columns: 1fr;
          }
          .layout-editorial .editorial-header-shell {
            grid-template-columns: 1fr;
            gap: 18px;
          }
          .layout-editorial .editorial-header-meta {
            justify-content: flex-start;
          }
          .layout-editorial .editorial-faq-trigger {
            padding: 28px 0;
          }
          .carousel-stage {
            height: clamp(320px, 54vw, 420px);
            min-height: clamp(320px, 54vw, 420px);
          }
          .highlight-grid.story-grid,
          .category-grid.room-grid,
          .side-links.room-switch-grid {
            grid-template-columns: 1fr;
          }
          .media-carousel {
            grid-template-columns: 1fr;
            grid-template-rows: auto auto auto;
            grid-template-areas:
              "stage"
              "caption"
              "thumbs";
          }
        }
        @media (max-width: 860px) {
          .topbar-shell { grid-template-columns: 1fr; padding: 14px 0; }
          .section-anchor-nav {
            flex-wrap: nowrap;
            overflow-x: auto;
            gap: 16px;
            padding-bottom: 0;
          }
          .hero-summary-grid,
          .side-actions,
          .highlight-grid, .route-grid, .category-grid, .policy-link-grid, .fact-grid, .facility-grid, .gallery-grid, .review-grid, .location-board, .stat-grid, .facility-detail-grid, .poi-grid {
            grid-template-columns: 1fr;
          }
          .hero-info-card.is-wide { grid-column: auto; }
          .page-hero { padding: 22px; }
          .page-hero-heading {
            gap: 10px;
            max-width: 100%;
          }
          .page-hero-title {
            font-size: clamp(1.9rem, 7.4vw, 2.5rem);
            max-width: 100%;
          }
          .panel-head h2 { white-space: normal; }
          .review-card {
            padding: 18px;
          }
          .review-card-head {
            flex-direction: column;
          }
          .review-score-badge {
            justify-content: flex-start;
          }
          .review-score-copy {
            text-align: left;
          }
          .review-image-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
          }
          .activity-list-grid .activity-card {
            grid-template-columns: 1fr;
          }
          .activity-list-grid .activity-card-cover {
            aspect-ratio: 16 / 10;
            height: auto;
            min-height: 0;
          }
          .activity-list-grid .activity-card-cover img {
            min-height: 0;
            height: 100%;
            max-height: none;
          }
          .activity-list-grid .activity-card-body {
            min-height: 0;
            padding: 18px;
          }
          .activity-list-grid .activity-card-title {
            font-size: 1rem;
          }
          .activity-list-grid .activity-card-excerpt {
            -webkit-line-clamp: 3;
          }
          .activity-rich-html {
            gap: 18px;
            font-size: 0.96rem;
          }
          .lightbox-dialog {
            width: min(100%, calc(100% - 24px));
            max-height: calc(100vh - 24px);
            padding: 12px;
            border-radius: 22px;
          }
          .lightbox-stage {
            min-height: min(66vh, 620px);
            border-radius: 18px;
          }
          .lightbox-image {
            max-height: min(66vh, 620px);
            border-radius: 14px;
          }
          .lightbox-nav {
            width: 40px;
            height: 40px;
            font-size: 1.5rem;
          }
          .lightbox-nav.is-prev { left: 8px; }
          .lightbox-nav.is-next { right: 8px; }
          .lightbox-thumb-strip {
            justify-content: flex-start;
            max-height: 66px;
            padding-bottom: 2px;
          }
          .lightbox-thumb {
            width: 72px;
            height: 56px;
          }
          .lightbox-caption {
            font-size: 0.92rem;
          }
          .lightbox-close {
            top: 16px;
            right: 16px;
          }
          .activity-rich-html h1 {
            font-size: 1.5rem;
          }
          .activity-rich-html h2 {
            font-size: 1.3rem;
          }
          .thumbnail-strip {
            grid-template-columns: repeat(auto-fit, minmax(62px, 62px));
          }
          .thumbnail-button {
            width: 62px;
          }
          .layout-editorial .page-frame {
            width: min(100% - 24px, 1400px);
            padding-top: 98px;
          }
          .layout-editorial.has-editorial-home .page-frame {
            width: 100%;
            padding-top: 0;
          }
          .layout-editorial .editorial-header {
            padding: 14px 0;
          }
          .layout-editorial .editorial-header-shell {
            width: min(100% - 24px, 1400px);
            grid-template-columns: 1fr;
            gap: 14px;
          }
          .layout-editorial .editorial-header-meta {
            justify-content: flex-start;
          }
          .layout-editorial .editorial-nav {
            gap: 14px;
            overflow-x: auto;
            flex-wrap: nowrap;
            padding-bottom: 4px;
          }
          .layout-editorial .editorial-contact {
            width: fit-content;
            padding: 9px 18px;
            font-size: 13px;
          }
          .layout-editorial .editorial-logo {
            font-size: 1.08rem;
          }
          .layout-editorial .editorial-nav a {
            white-space: nowrap;
            font-size: 0.78rem;
          }
          .layout-editorial .editorial-page-title {
            font-size: clamp(1.78rem, 7vw, 2.55rem);
          }
          .layout-editorial.section-activities .editorial-page-title {
            font-size: clamp(1.62rem, 6.2vw, 2.25rem);
          }
          .layout-editorial .editorial-page-lead {
            font-size: 0.94rem;
          }
          .theme-nordic.has-editorial-home #intro,
          .theme-nordic.has-editorial-home #facilities,
          .theme-nordic.has-editorial-home #location {
            padding: 72px 20px;
          }
          .theme-nordic .editorial-page-title {
            font-size: clamp(2.2rem, 14vw, 4rem);
          }
          .layout-editorial .editorial-hero-stage {
            min-height: auto;
          }
          .layout-editorial .editorial-hero-stage .carousel-main-image {
            height: 72vh;
            min-height: 520px;
          }
          .layout-editorial .editorial-hero-copy {
            padding: 130px 20px 220px;
          }
          .layout-editorial .editorial-hero-copy h1 {
            font-size: clamp(2.5rem, 12vw, 3.4rem);
            letter-spacing: 0.04em;
          }
          .layout-editorial .editorial-hero-copy p {
            font-size: 0.96rem;
          }
          .layout-editorial .editorial-hero-bottom {
            padding: 0;
          }
          .layout-editorial .editorial-gallery-nav {
            align-items: flex-start;
            flex-direction: column;
            padding: 0 16px;
            width: 100%;
            max-width: 100vw;
            overflow-x: auto;
            scrollbar-width: none;
          }
          .layout-editorial .editorial-gallery-nav::-webkit-scrollbar {
            display: none;
          }
          .layout-editorial .editorial-thumbnail-strip {
            justify-content: flex-start;
            width: max-content;
            max-width: none;
          }
          .layout-editorial .editorial-thumbnail-strip .thumbnail-button {
            width: 74px;
          }
          .layout-editorial .editorial-video-entry {
            right: 16px;
            bottom: 196px;
          }
          .layout-editorial .editorial-info-bar {
            width: 100%;
            max-width: 100vw;
            overflow: hidden;
          }
          .layout-editorial .editorial-info-item {
            width: 100%;
            min-width: 0;
            padding-inline: 20px;
          }
          .layout-editorial .editorial-sections {
            width: 100%;
            padding-top: 24px;
            gap: 20px;
          }
          .layout-editorial .content-section,
          .layout-editorial .content-panel {
            padding: 24px;
          }
          .layout-editorial .editorial-section {
            width: 100%;
            padding: 72px 0;
          }
          .layout-editorial #rooms,
          .layout-editorial #activities,
          .layout-editorial #reviews {
            width: 100%;
            padding: 72px 16px;
          }
          .layout-editorial .editorial-highlight-grid {
            grid-template-columns: 1fr;
          }
          .layout-editorial .editorial-map-preview {
            min-height: 0;
          }
          .layout-editorial .coord-map-frame-shell {
            height: 320px;
          }
          .layout-editorial .coord-map-frame {
            height: calc(100% + var(--qqmap-overlay-crop) * 2);
          }
          .layout-editorial .editorial-map-frame-shell {
            height: 340px;
          }
          .layout-editorial .editorial-map-embed-frame {
            height: calc(100% + var(--qqmap-overlay-crop) * 2);
          }
        }