:root {
  --fh-bg: #f7f4ee;
  --fh-bg-soft: #fffcf6;
  --fh-card: #ffffff;
  --fh-ink: #102033;
  --fh-ink-soft: #1c2e3f;
  --fh-teal: #007c78;
  --fh-teal-dark: #005f5c;
  --fh-teal-soft: #dff3f1;
  --fh-yellow: #fff3bf;
  --fh-blue-soft: #e9f3fb;
  --fh-green-soft: #e6f5ec;
  --fh-border: #e3ddd1;
  --fh-border-dark: #cfc6b8;
  --fh-muted: #66727f;
  --fh-shadow: 0 12px 30px rgba(16, 32, 51, 0.08);
  --fh-radius-sm: 8px;
  --fh-radius-md: 14px;
  --fh-radius-lg: 22px;
  --fh-container: 1120px;
}
body { background: var(--fh-bg); color: var(--fh-ink); }
.fh-container { width: min(var(--fh-container), calc(100% - 32px)); margin-inline: auto; }
.fh-site-main { background: linear-gradient(rgba(255,255,255,0.42) 1px, transparent 1px), var(--fh-bg); background-size: 100% 28px; }
.fh-section { padding: 72px 0; }
.fh-section + .fh-section { padding-top: 24px; }
.fh-site-header { position: sticky; top: 0; z-index: 50; background: rgba(247, 244, 238, 0.92); border-bottom: 1px solid var(--fh-border); backdrop-filter: blur(12px); }
.fh-site-header__inner { width: min(var(--fh-container), calc(100% - 32px)); min-height: 72px; margin-inline: auto; display: flex; align-items: center; gap: 24px; }
.fh-logo { display: inline-flex; flex-direction: column; gap: 2px; color: var(--fh-ink); text-decoration: none; white-space: nowrap; }
.fh-logo__main { font-weight: 800; font-size: 22px; letter-spacing: 0.04em; }
.fh-logo__sub { font-size: 11px; color: var(--fh-muted); }
.fh-global-nav { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.fh-global-nav a { color: var(--fh-ink-soft); text-decoration: none; font-size: 14px; font-weight: 600; }
.fh-header-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border-radius: 999px; background: var(--fh-teal); color: #fff; text-decoration: none; font-size: 14px; font-weight: 700; }
.fh-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border-radius: 999px; text-decoration: none; font-weight: 800; line-height: 1; }
.fh-btn--primary { background: var(--fh-teal); color: #fff; box-shadow: 0 10px 24px rgba(0, 124, 120, 0.22); }
.fh-btn--secondary { background: #fff; color: var(--fh-ink); border: 1px solid var(--fh-border-dark); }
.fh-hero { padding: 80px 0 64px; }
.fh-hero__inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr); align-items: center; gap: 48px; }
.fh-hero__label, .fh-page-hero__label, .fh-section-heading__label { display: inline-flex; align-items: center; width: fit-content; padding: 6px 12px; border-radius: 999px; background: var(--fh-teal-soft); color: var(--fh-teal-dark); font-size: 12px; font-weight: 800; letter-spacing: 0.08em; }
.fh-hero__title, .fh-page-hero__title { margin: 18px 0 0; color: var(--fh-ink); font-size: clamp(34px, 5vw, 58px); line-height: 1.18; letter-spacing: 0.02em; }
.fh-hero__lead, .fh-page-hero__lead { margin: 20px 0 0; max-width: 680px; color: var(--fh-ink-soft); font-size: 17px; line-height: 1.9; }
.fh-hero__notice, .fh-notice-inline { width: fit-content; margin-top: 22px; padding: 12px 16px; border-radius: var(--fh-radius-md); background: var(--fh-yellow); border: 1px solid #eadb91; color: var(--fh-ink); font-weight: 700; }
.fh-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.fh-hero__memo { position: relative; min-height: 360px; }
.fh-sticky-note { position: absolute; z-index: 2; right: 8px; top: 24px; width: 220px; padding: 22px; border-radius: 12px; background: var(--fh-yellow); box-shadow: var(--fh-shadow); transform: rotate(3deg); }
.fh-sticky-note span { display: block; color: var(--fh-muted); font-size: 12px; font-weight: 700; }
.fh-sticky-note strong { display: block; margin-top: 8px; font-size: 18px; line-height: 1.5; }
.fh-memo-sheet { position: absolute; left: 0; bottom: 0; width: min(100%, 340px); padding: 28px; border-radius: var(--fh-radius-lg); background: linear-gradient(var(--fh-border) 1px, transparent 1px), var(--fh-card); background-size: 100% 34px; box-shadow: var(--fh-shadow); transform: rotate(-2deg); }
.fh-memo-sheet p { margin: 0 0 18px; color: var(--fh-ink); font-weight: 800; }
.fh-section-heading { margin-bottom: 28px; }
.fh-section-heading--with-link { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; }
.fh-section-heading__title { margin: 14px 0 0; font-size: clamp(26px, 3vw, 38px); line-height: 1.35; }
.fh-section-heading__lead { max-width: 720px; margin: 12px 0 0; color: var(--fh-muted); line-height: 1.8; }
.fh-text-link { color: var(--fh-teal-dark); font-weight: 800; text-decoration: none; }
.fh-step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.fh-step-card, .fh-ranking-card, .fh-review-target-card, .fh-review-comment-card, .fh-notice-box, .fh-info-box, .fh-memo-card, .fh-editor-memo-box, .fh-related-channel-box, .fh-side-card, .fh-cta-box, .fh-form-card, .fh-search-panel, .fh-filter-panel, .fh-guideline-block, .fh-guideline-accordion details { border-radius: var(--fh-radius-lg); background: var(--fh-card); border: 1px solid var(--fh-border); box-shadow: var(--fh-shadow); }
.fh-step-card { padding: 26px; }
.fh-step-card__number { color: var(--fh-teal); font-weight: 900; letter-spacing: 0.08em; }
.fh-step-card h3, .fh-step-card h2 { margin: 12px 0 8px; font-size: 22px; }
.fh-step-card p, .fh-memo-card p, .fh-info-box p, .fh-side-card p, .fh-guideline-item p { margin: 0; color: var(--fh-muted); line-height: 1.8; }
.fh-ranking-list, .fh-review-target-list, .fh-review-comment-list { display: grid; gap: 18px; }
.fh-ranking-card { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 18px; padding: 20px; }
.fh-ranking-card__rank { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 20px; background: var(--fh-teal); color: #fff; font-size: 28px; font-weight: 900; }
.fh-ranking-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.fh-ranking-card__title, .fh-review-target-card__title { margin: 0; font-size: 22px; line-height: 1.45; }
.fh-ranking-card__summary, .fh-review-target-card__memo { margin: 10px 0 0; color: var(--fh-muted); line-height: 1.8; }
.fh-ranking-card__score { display: flex; align-items: baseline; gap: 6px; margin-top: 16px; }
.fh-ranking-card__score-label { color: var(--fh-muted); font-size: 13px; font-weight: 800; }
.fh-ranking-card__score-number { color: var(--fh-teal-dark); font-size: 40px; line-height: 1; }
.fh-ranking-card__score-unit { color: var(--fh-muted); font-weight: 700; }
.fh-star-rating { margin-top: 8px; color: #d49b00; letter-spacing: 0.08em; }
.fh-ranking-card__meta, .fh-review-target-card__meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 18px 0 0; }
.fh-ranking-card__meta div, .fh-review-target-card__meta div, .fh-channel-flow__item { padding: 12px; border-radius: var(--fh-radius-md); background: var(--fh-bg-soft); border: 1px solid var(--fh-border); }
.fh-ranking-card__meta dt, .fh-review-target-card__meta dt { color: var(--fh-muted); font-size: 12px; font-weight: 700; }
.fh-ranking-card__meta dd, .fh-review-target-card__meta dd { margin: 4px 0 0; color: var(--fh-ink); font-weight: 900; }
.fh-card-link { display: inline-flex; margin-top: 18px; color: var(--fh-teal-dark); font-weight: 900; text-decoration: none; }
.fh-target-type-badge, .fh-status-badge { display: inline-flex; align-items: center; width: fit-content; min-height: 28px; padding: 0 10px; border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.fh-target-type-badge { background: var(--fh-blue-soft); color: #25506f; }
.fh-target-type-badge--openchat { background: var(--fh-green-soft); color: #246047; }
.fh-target-type-badge--x { background: #edf0f2; color: #24313a; }
.fh-status-badge { background: var(--fh-yellow); color: var(--fh-ink); }
.fh-notice-box { margin-top: 28px; padding: 20px; background: #fff8d9; border-color: #eadb91; }
.fh-notice-box strong { display: block; margin-bottom: 8px; }
.fh-notice-box p { margin: 0; line-height: 1.8; }
.fh-info-box, .fh-memo-card, .fh-editor-memo-box, .fh-related-channel-box, .fh-side-card, .fh-review-target-card, .fh-review-comment-card, .fh-guideline-block { padding: 28px; }
.fh-memo-card__label { color: var(--fh-teal-dark); font-size: 12px; font-weight: 900; letter-spacing: 0.08em; }
.fh-memo-card h2, .fh-info-box h2, .fh-editor-memo-box h2, .fh-related-channel-box h2, .fh-side-card h2 { margin: 8px 0 12px; }
.fh-review-comment-card__head, .fh-review-comment-card__foot { display: flex; justify-content: space-between; gap: 12px; color: var(--fh-muted); font-size: 13px; font-weight: 700; }
.fh-review-comment-card__category { color: var(--fh-teal-dark); }
.fh-review-comment-card__text { margin: 14px 0; line-height: 1.9; }
.fh-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.fh-cta-box { padding: 36px; text-align: center; background: radial-gradient(circle at top left, rgba(0, 124, 120, 0.12), transparent 36%), var(--fh-card); }
.fh-cta-box__label { margin: 0 0 8px; color: var(--fh-teal-dark); font-weight: 900; letter-spacing: 0.08em; }
.fh-cta-box h2 { margin: 0; font-size: clamp(26px, 3vw, 38px); }
.fh-cta-box p { max-width: 640px; margin: 14px auto 24px; color: var(--fh-muted); line-height: 1.8; }
.fh-filter-panel, .fh-search-panel { margin-bottom: 18px; padding: 18px; }
.fh-filter-tabs, .fh-category-chips, .fh-review-target-card__badges, .fh-review-detail-head__badges { display: flex; flex-wrap: wrap; gap: 10px; }
.fh-category-chips { margin-top: 12px; }
.fh-filter-tab, .fh-category-chip { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--fh-border-dark); background: #fff; color: var(--fh-ink); text-decoration: none; font-weight: 800; cursor: pointer; }
.fh-filter-tab.is-active, .fh-category-chip.is-active { background: var(--fh-teal); color: #fff; border-color: var(--fh-teal); }
.fh-page-hero { padding: 56px 0; }
.fh-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; color: var(--fh-muted); font-size: 13px; }
.fh-breadcrumb a { color: var(--fh-teal-dark); text-decoration: none; font-weight: 700; }
.fh-review-detail-head { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 24px; align-items: end; }
.fh-detail-score-card { padding: 22px; border-radius: var(--fh-radius-lg); background: var(--fh-card); border: 1px solid var(--fh-border); box-shadow: var(--fh-shadow); text-align: center; }
.fh-detail-score-card span { display: block; color: var(--fh-muted); font-weight: 800; }
.fh-detail-score-card strong { display: inline-block; margin-top: 6px; color: var(--fh-teal-dark); font-size: 46px; line-height: 1; }
.fh-detail-score-card em { color: var(--fh-muted); font-style: normal; font-weight: 700; }
.fh-detail-layout, .fh-form-layout, .fh-guide-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.fh-detail-main, .fh-form-main, .fh-guide-main { display: grid; gap: 22px; }
.fh-detail-side, .fh-form-side { position: sticky; top: 96px; display: grid; gap: 16px; }
.fh-basic-info-list { display: grid; gap: 10px; margin: 18px 0 0; }
.fh-basic-info-list div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--fh-border); }
.fh-basic-info-list dt { color: var(--fh-muted); font-weight: 800; }
.fh-basic-info-list dd { margin: 0; font-weight: 800; }
.fh-channel-flow { display: grid; gap: 12px; margin-top: 18px; }
.fh-channel-flow__arrow { width: fit-content; padding: 6px 12px; border-radius: 999px; background: var(--fh-teal-soft); color: var(--fh-teal-dark); font-size: 12px; font-weight: 900; }
.fh-editor-memo-box ul { margin: 16px 0 0; padding-left: 1.2em; line-height: 1.9; }
.fh-search-panel__label { display: block; margin-bottom: 10px; color: var(--fh-ink); font-weight: 900; }
.fh-search-box { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 10px; }
.fh-search-box input, .fh-form-field input, .fh-form-field select, .fh-form-field textarea { width: 100%; border: 1px solid var(--fh-border-dark); border-radius: 14px; background: #fff; color: var(--fh-ink); font: inherit; box-sizing: border-box; }
.fh-search-box input, .fh-search-box button, .fh-form-field input, .fh-form-field select { min-height: 48px; padding: 0 14px; }
.fh-search-box button { border: 0; border-radius: 999px; background: var(--fh-teal); color: #fff; font-weight: 900; cursor: pointer; }
.fh-form-card { display: grid; gap: 18px; padding: 28px; }
.fh-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fh-form-field { display: grid; gap: 8px; }
.fh-form-field label { color: var(--fh-ink); font-weight: 900; }
.fh-form-field textarea { padding: 14px; resize: vertical; }
.fh-form-field input:focus, .fh-form-field select:focus, .fh-form-field textarea:focus { outline: 3px solid rgba(0,124,120,.18); border-color: var(--fh-teal); }
.fh-form-check { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; padding: 14px; border-radius: var(--fh-radius-md); background: var(--fh-bg-soft); border: 1px solid var(--fh-border); line-height: 1.7; cursor: pointer; }
.fh-form-check input { margin-top: 5px; }
.fh-form-submit { border: 0; cursor: pointer; }
.fh-guideline-list { display: grid; gap: 14px; }
.fh-guideline-item { padding: 18px; border-radius: var(--fh-radius-md); background: var(--fh-bg-soft); border: 1px solid var(--fh-border); }
.fh-guideline-item--notice { background: #fff8d9; border-color: #eadb91; }
.fh-guideline-accordion { display: grid; gap: 12px; }
.fh-guideline-accordion details { padding: 18px 20px; }
.fh-guideline-accordion summary { cursor: pointer; color: var(--fh-ink); font-weight: 900; }
.fh-site-footer { padding: 56px 0 28px; background: #102033; color: #fff; }
.fh-site-footer__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr); gap: 40px; }
.fh-site-footer__logo { margin: 0; font-size: 26px; font-weight: 900; letter-spacing: .05em; }
.fh-site-footer__lead { max-width: 560px; margin: 14px 0 0; color: rgba(255,255,255,.78); line-height: 1.8; }
.fh-site-footer__note { display: inline-block; margin: 18px 0 0; padding: 10px 14px; border-radius: 12px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.86); font-size: 13px; line-height: 1.7; }
.fh-footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fh-footer-nav a { color: rgba(255,255,255,.82); text-decoration: none; font-weight: 700; }
.fh-site-footer__bottom { margin-top: 36px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.62); }
.fh-empty-message { padding: 20px; border-radius: var(--fh-radius-md); background: var(--fh-card); border: 1px solid var(--fh-border); color: var(--fh-muted); }
@media (max-width: 960px) { .fh-site-header__inner { min-height: auto; padding: 14px 0; align-items: flex-start; flex-direction: column; gap: 12px; } .fh-global-nav { width: 100%; margin-left: 0; overflow-x: auto; padding-bottom: 4px; } .fh-header-cta { width: 100%; } .fh-hero__inner, .fh-step-grid, .fh-two-column, .fh-review-detail-head, .fh-detail-layout, .fh-form-layout, .fh-guide-layout, .fh-site-footer__top { grid-template-columns: 1fr; } .fh-hero { padding: 48px 0 40px; } .fh-hero__memo { min-height: 260px; } .fh-section { padding: 48px 0; } .fh-section-heading--with-link { display: block; } .fh-text-link { display: inline-flex; margin-top: 14px; } .fh-detail-side, .fh-form-side { position: static; } }
@media (max-width: 640px) { .fh-container { width: min(100% - 24px, var(--fh-container)); } .fh-hero__title, .fh-page-hero__title { font-size: 34px; } .fh-ranking-card { grid-template-columns: 1fr; } .fh-ranking-card__rank { width: 52px; height: 52px; border-radius: 16px; font-size: 24px; } .fh-ranking-card__head, .fh-review-comment-card__head, .fh-review-comment-card__foot { display: grid; gap: 10px; } .fh-ranking-card__meta, .fh-review-target-card__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fh-basic-info-list div, .fh-footer-nav, .fh-search-box, .fh-form-grid { grid-template-columns: 1fr; } .fh-filter-tabs, .fh-category-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; } .fh-filter-tab, .fh-category-chip { white-space: nowrap; } .fh-form-card, .fh-guideline-block, .fh-review-target-card { padding: 20px; } }

/* Static content pages */
.fh-static-page .fh-guideline-block p {
  margin: 0;
  color: var(--fh-muted);
  line-height: 1.9;
}
.fh-static-page .fh-step-card .fh-card-link {
  margin-top: 12px;
}


/* =========================================================
   舟券反省会 v0.1.4 Design Polish
   初期カンプ：生成り背景 × メモ/ノート風 × 整理型ランキングカード
   ========================================================= */

:root {
  --fh-bg: #f7f1e4;
  --fh-bg-2: #fbf7ee;
  --fh-bg-soft: #fffaf0;
  --fh-card: #fffdf8;
  --fh-paper: #fffaf1;
  --fh-ink: #172738;
  --fh-ink-soft: #24384b;
  --fh-teal: #007c78;
  --fh-teal-dark: #005f5c;
  --fh-teal-soft: #d8f0ed;
  --fh-yellow: #fff0ad;
  --fh-yellow-2: #fff7d8;
  --fh-blue-soft: #e8f2f8;
  --fh-green-soft: #e4f3e8;
  --fh-border: #ded2bd;
  --fh-border-dark: #c9b99e;
  --fh-muted: #66727f;
  --fh-shadow: 0 18px 46px rgba(44, 35, 20, 0.10);
  --fh-shadow-soft: 0 10px 24px rgba(44, 35, 20, 0.07);
  --fh-radius-sm: 10px;
  --fh-radius-md: 16px;
  --fh-radius-lg: 28px;
  --fh-container: 1180px;
}

html { scroll-behavior: smooth; }
body.fh-body, body {
  background:
    radial-gradient(circle at 12% 8%, rgba(0,124,120,.11), transparent 26%),
    radial-gradient(circle at 88% 2%, rgba(255,211,90,.32), transparent 24%),
    linear-gradient(180deg, #fbf6eb 0%, #f4eddf 100%);
  color: var(--fh-ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .01em;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image:
    linear-gradient(rgba(23,39,56,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,39,56,.035) 1px, transparent 1px);
  background-size: 28px 28px, 28px 28px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.35));
}

.fh-site-main {
  background:
    linear-gradient(90deg, rgba(0,124,120,.055) 0 1px, transparent 1px),
    linear-gradient(rgba(23,39,56,.045) 0 1px, transparent 1px),
    transparent;
  background-size: 30px 30px;
}

.fh-container { width: min(var(--fh-container), calc(100% - 36px)); }

/* Header: カンプ寄せの“ノートの上部ラベル” */
.fh-site-header {
  position: sticky;
  top: 0;
  background: rgba(251, 247, 238, .82);
  border-bottom: 0;
  backdrop-filter: blur(18px);
  box-shadow: 0 8px 24px rgba(33, 27, 14, .05);
}
.fh-site-header__inner {
  min-height: 78px;
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 10px 14px 10px 18px;
  background: rgba(255,253,248,.86);
  border: 1px solid rgba(222,210,189,.82);
  border-radius: 999px;
  box-shadow: var(--fh-shadow-soft);
}
.fh-logo { position: relative; padding-left: 18px; }
.fh-logo::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 8px;
  height: 34px;
  border-radius: 999px;
  background: var(--fh-teal);
  box-shadow: 0 0 0 5px rgba(0,124,120,.10);
}
.fh-logo__main { font-size: 24px; font-weight: 950; letter-spacing: .08em; }
.fh-logo__sub { color: #7a6d56; font-weight: 800; }
.fh-global-nav a {
  padding: 9px 4px;
  color: #2a3b4b;
  font-size: 13px;
  font-weight: 850;
}
.fh-global-nav a:hover { color: var(--fh-teal-dark); }
.fh-header-cta, .fh-btn--primary {
  background: linear-gradient(135deg, #008e88, #005f5c);
  box-shadow: 0 12px 26px rgba(0, 124, 120, .25);
}
.fh-header-cta { min-height: 44px; padding: 0 20px; font-weight: 900; }

/* Hero: 生成りのノートボード化 */
.fh-hero { padding: 54px 0 44px; }
.fh-hero__inner {
  position: relative;
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid var(--fh-border);
  border-radius: 36px;
  background:
    radial-gradient(circle at 80% 18%, rgba(255,240,173,.78), transparent 28%),
    linear-gradient(120deg, rgba(255,255,255,.92), rgba(255,250,241,.78));
  box-shadow: var(--fh-shadow);
  overflow: hidden;
}
.fh-hero__inner::before {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  top: 20px;
  height: 8px;
  border-radius: 999px;
  background: repeating-linear-gradient(90deg, rgba(0,124,120,.24) 0 18px, transparent 18px 34px);
  opacity: .65;
}
.fh-hero__content { position: relative; z-index: 2; }
.fh-hero__label, .fh-page-hero__label, .fh-section-heading__label {
  padding: 7px 13px;
  border: 1px solid rgba(0,124,120,.18);
  background: #e4f4f0;
  box-shadow: 0 5px 0 rgba(0,124,120,.10);
}
.fh-hero__title, .fh-page-hero__title {
  color: var(--fh-ink);
  font-weight: 950;
  letter-spacing: .015em;
  text-wrap: balance;
}
.fh-hero__title { font-size: clamp(40px, 5.5vw, 68px); }
.fh-hero__lead, .fh-page-hero__lead { color: #33475a; font-weight: 600; }
.fh-hero__notice, .fh-notice-inline {
  position: relative;
  padding: 14px 18px 14px 42px;
  background: #fff2b8;
  border: 1px solid #e6ce77;
  border-radius: 18px;
  box-shadow: 0 8px 0 rgba(230,206,119,.22);
}
.fh-hero__notice::before, .fh-notice-inline::before {
  content: "!";
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--fh-ink);
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}
.fh-btn {
  min-height: 50px;
  padding: 0 24px;
  border-radius: 999px;
  letter-spacing: .02em;
}
.fh-btn--secondary {
  background: #fffdf8;
  border: 1px solid var(--fh-border-dark);
  box-shadow: inset 0 -3px 0 rgba(201,185,158,.24);
}

/* Hero memo stack */
.fh-hero__memo { min-height: 385px; }
.fh-sticky-note {
  right: 10px;
  top: 14px;
  width: 240px;
  background: #ffef9f;
  border: 1px solid #dfc96f;
  box-shadow: 0 22px 34px rgba(92,72,22,.16);
}
.fh-sticky-note::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -12px;
  width: 72px;
  height: 22px;
  transform: translateX(-50%) rotate(-3deg);
  border-radius: 4px;
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(201,185,158,.35);
}
.fh-memo-sheet {
  width: min(100%, 370px);
  padding: 34px 30px;
  border: 1px solid var(--fh-border);
  background:
    linear-gradient(90deg, rgba(232,112,86,.22) 0 2px, transparent 2px 100%),
    repeating-linear-gradient(180deg, transparent 0 32px, rgba(23,39,56,.10) 33px, transparent 34px),
    #fffdf8;
  background-position: 28px 0, 0 0, 0 0;
}
.fh-memo-sheet p {
  padding-left: 24px;
  margin-bottom: 20px;
  font-size: 18px;
  position: relative;
}
.fh-memo-sheet p::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--fh-teal);
}

/* Sections */
.fh-section { padding: 58px 0; }
.fh-section-heading {
  position: relative;
  padding-left: 18px;
}
.fh-section-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 6px;
  border-radius: 999px;
  background: var(--fh-teal);
}
.fh-section-heading__title { font-weight: 950; letter-spacing: .02em; }
.fh-section-heading__lead { color: #657180; font-weight: 600; }

/* Common cards: メモ/紙感 */
.fh-step-card, .fh-ranking-card, .fh-review-target-card, .fh-review-comment-card,
.fh-notice-box, .fh-info-box, .fh-memo-card, .fh-editor-memo-box,
.fh-related-channel-box, .fh-side-card, .fh-cta-box, .fh-form-card,
.fh-search-panel, .fh-filter-panel, .fh-guideline-block, .fh-guideline-accordion details {
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,250,241,.96));
  border: 1px solid rgba(201,185,158,.88);
  box-shadow: var(--fh-shadow-soft);
}
.fh-step-card, .fh-memo-card, .fh-review-target-card, .fh-review-comment-card { position: relative; }
.fh-step-card::after, .fh-memo-card::after, .fh-review-target-card::after {
  content: "";
  position: absolute;
  top: -10px;
  left: 28px;
  width: 68px;
  height: 18px;
  border-radius: 4px;
  background: rgba(255,239,159,.72);
  border: 1px solid rgba(201,185,158,.38);
  transform: rotate(-2deg);
}
.fh-step-card {
  padding: 30px;
  border-radius: 24px;
}
.fh-step-card__number {
  display: inline-grid;
  place-items: center;
  min-width: 46px;
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--fh-teal);
  color: #fff;
}

/* Ranking card: 3案目の整理型スコアカードに寄せる */
.fh-ranking-list { gap: 20px; }
.fh-ranking-card {
  position: relative;
  grid-template-columns: 78px minmax(0,1fr) auto;
  align-items: stretch;
  padding: 24px;
  border-radius: 26px;
  overflow: hidden;
}
.fh-ranking-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 8px;
  background: linear-gradient(180deg, var(--fh-teal), #8fcac4);
}
.fh-ranking-card__rank {
  align-self: start;
  width: 66px;
  height: 66px;
  border-radius: 22px;
  background: #172738;
  color: #fff;
  box-shadow: 0 10px 20px rgba(23,39,56,.18);
}
.fh-ranking-card__head { align-items: center; }
.fh-ranking-card__title, .fh-review-target-card__title {
  font-weight: 950;
  color: var(--fh-ink);
}
.fh-ranking-card__score {
  position: absolute;
  right: 24px;
  top: 68px;
  min-width: 122px;
  display: grid;
  justify-items: center;
  gap: 0;
  margin: 0;
  padding: 14px 14px 12px;
  border-radius: 22px;
  background: #e1f3ef;
  border: 1px solid rgba(0,124,120,.20);
}
.fh-ranking-card__score-label { color: var(--fh-teal-dark); }
.fh-ranking-card__score-number { font-size: 46px; font-weight: 950; }
.fh-ranking-card__score-unit { font-size: 12px; }
.fh-ranking-card .fh-star-rating { margin-top: 14px; color: #b98300; font-weight: 900; }
.fh-ranking-card__meta {
  max-width: calc(100% - 150px);
  grid-template-columns: repeat(4, minmax(110px, 1fr));
}
.fh-ranking-card__meta div, .fh-review-target-card__meta div {
  background: #fff8e8;
  border: 1px dashed rgba(201,185,158,.9);
}
.fh-card-link {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(0,124,120,.09);
  color: var(--fh-teal-dark);
}
.fh-card-link:hover { background: var(--fh-teal); color: #fff; }

/* Badges */
.fh-target-type-badge, .fh-status-badge {
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(23,39,56,.08);
  font-weight: 900;
}
.fh-target-type-badge--openchat { background: #e2f5e8; color: #1f6b47; }
.fh-target-type-badge--x { background: #eef1f4; color: #1e2c36; }
.fh-target-type-badge--integrated { background: #e8f2f8; color: #25506f; }
.fh-status-badge { background: #fff0ad; }

/* Search/filter as stationery tab */
.fh-search-panel, .fh-filter-panel {
  border-radius: 26px;
  background: rgba(255,253,248,.82);
}
.fh-filter-tab, .fh-category-chip {
  background: #fffdf8;
  box-shadow: inset 0 -3px 0 rgba(201,185,158,.18);
}
.fh-filter-tab.is-active, .fh-category-chip.is-active {
  background: var(--fh-teal);
  color: #fff;
  box-shadow: none;
}

/* Review target cards */
.fh-review-target-card {
  border-radius: 26px;
  padding: 28px;
}
.fh-review-target-card__badges { margin-bottom: 14px; }
.fh-review-target-card__title { font-size: 24px; }
.fh-review-target-card__memo { font-weight: 600; }

/* Forms and result messages */
#fh-form-result, .fh-form-result, .fh-notice-box {
  scroll-margin-top: 110px;
}
.fh-notice-box {
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,248,217,.96), rgba(255,242,184,.92));
}
.fh-form-card {
  background:
    repeating-linear-gradient(180deg, transparent 0 38px, rgba(23,39,56,.055) 39px, transparent 40px),
    #fffdf8;
}
.fh-form-field label { color: var(--fh-ink); }
.fh-form-field input, .fh-form-field select, .fh-form-field textarea, .fh-search-box input {
  background: #fffdf8;
  border-color: #cdbf9f;
}

/* Footer */
.fh-site-footer {
  margin-top: 40px;
  background:
    linear-gradient(135deg, #102033, #1b3348);
  border-top: 8px solid rgba(255,240,173,.58);
}

@media (min-width: 961px) {
  .fh-ranking-list--full .fh-ranking-card, .fh-ranking-page .fh-ranking-card { min-height: 188px; }
}

@media (max-width: 960px) {
  .fh-site-header__inner {
    border-radius: 26px;
    align-items: stretch;
  }
  .fh-global-nav { gap: 14px; }
  .fh-ranking-card__score {
    position: static;
    width: fit-content;
    margin-top: 16px;
  }
  .fh-ranking-card__meta { max-width: none; }
}
@media (max-width: 640px) {
  .fh-container { width: min(100% - 22px, var(--fh-container)); }
  .fh-hero__inner { padding: 28px 20px; border-radius: 28px; }
  .fh-hero__title, .fh-page-hero__title { font-size: 32px; }
  .fh-ranking-card { padding: 22px 18px; border-radius: 24px; }
  .fh-ranking-card__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fh-review-target-card__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* =========================================================
   v0.2.0 Camp Closer Design
   生成り背景 × メモ/ノート風 × 口コミレビュー型メディア
========================================================= */
:root {
  --fh-bg: #f6f0e4;
  --fh-bg-soft: #fff9ec;
  --fh-card: #fffaf1;
  --fh-paper: #fffdf7;
  --fh-ink: #132638;
  --fh-ink-soft: #21384a;
  --fh-teal: #007c78;
  --fh-teal-dark: #00615e;
  --fh-teal-soft: #d9f2ef;
  --fh-yellow: #fff0a8;
  --fh-tape: #f2df88;
  --fh-border: #dfd2bc;
  --fh-border-dark: #c9b99d;
  --fh-muted: #6d776f;
  --fh-shadow: 0 18px 45px rgba(36, 28, 18, 0.10);
  --fh-shadow-paper: 0 24px 60px rgba(36, 28, 18, 0.13);
}

body.fh-body,
body {
  background-color: var(--fh-bg);
  background-image:
    linear-gradient(rgba(33,56,74,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(33,56,74,.045) 1px, transparent 1px),
    radial-gradient(circle at 16% 12%, rgba(255, 240, 168, .55), transparent 28%),
    radial-gradient(circle at 82% 16%, rgba(217, 242, 239, .55), transparent 30%);
  background-size: 22px 22px, 22px 22px, auto, auto;
}

.fh-site-main {
  background: transparent;
  overflow: hidden;
}

.fh-container { max-width: 1180px; }

/* Header: カンプ寄せのノート見出し */
.fh-site-header {
  top: 32px;
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  border: 1px solid rgba(201,185,157,.9);
  border-top: 0;
  border-radius: 0 0 24px 24px;
  background: rgba(255, 253, 247, .94);
  box-shadow: 0 14px 32px rgba(30,24,16,.10);
}
.fh-site-header::before {
  content: '';
  position: absolute;
  left: 26px;
  right: 26px;
  top: -8px;
  height: 14px;
  border-radius: 999px;
  background: rgba(242, 223, 136, .78);
  box-shadow: inset 0 -1px rgba(142,111,22,.18);
}
.fh-site-header__inner { width: auto; padding: 0 26px; }
.fh-logo__main { font-size: 25px; letter-spacing: .08em; }
.fh-logo__sub { font-size: 12px; color: var(--fh-teal-dark); font-weight: 800; }
.fh-global-nav a { font-size: 13px; padding: 8px 2px; border-bottom: 2px solid transparent; }
.fh-global-nav a:hover { color: var(--fh-teal-dark); border-bottom-color: var(--fh-teal); }
.fh-header-cta { box-shadow: 0 10px 24px rgba(0,124,120,.22); }

/* Front hero */
.fh-front-hero {
  padding: 96px 0 46px;
  position: relative;
}
.fh-front-hero::before {
  content: '';
  position: absolute;
  inset: 28px max(22px, calc((100vw - 1240px) / 2)) 0;
  border-radius: 38px;
  background:
    linear-gradient(90deg, rgba(0,124,120,.15) 0 5px, transparent 5px),
    linear-gradient(rgba(223,210,188,.42) 1px, transparent 1px),
    var(--fh-paper);
  background-size: auto, 100% 32px, auto;
  box-shadow: var(--fh-shadow-paper);
  z-index: -1;
}
.fh-front-hero::after {
  content: '';
  position: absolute;
  width: 210px;
  height: 42px;
  left: 50%;
  top: 38px;
  transform: translateX(-50%) rotate(-1deg);
  background: rgba(242,223,136,.82);
  border-radius: 4px;
  box-shadow: 0 6px 18px rgba(122,92,18,.12);
  z-index: -1;
}
.fh-front-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) 420px;
  align-items: center;
  gap: 58px;
  min-height: 540px;
}
.fh-paper-label {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 7px 12px 6px;
  border: 1px dashed var(--fh-border-dark);
  border-radius: 8px;
  color: var(--fh-muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  background: rgba(255,255,255,.45);
}
.fh-front-hero__title {
  margin: 18px 0 0;
  color: var(--fh-ink);
  font-size: clamp(42px, 6.1vw, 76px);
  line-height: 1.08;
  letter-spacing: .025em;
}
.fh-front-hero__title span {
  display: inline-block;
  position: relative;
  z-index: 1;
}
.fh-front-hero__title span::after {
  content: '';
  position: absolute;
  left: -3px;
  right: -8px;
  bottom: .08em;
  height: .34em;
  background: rgba(255,240,168,.95);
  z-index: -1;
  transform: rotate(-1deg);
}
.fh-front-hero__lead {
  margin: 24px 0 0;
  max-width: 660px;
  color: var(--fh-ink-soft);
  font-size: 18px;
  line-height: 2;
  font-weight: 600;
}
.fh-front-hero__notice {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  max-width: 680px;
  margin-top: 26px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff4bd;
  border: 1px solid #e5cf73;
  box-shadow: 0 10px 28px rgba(143,109,9,.08);
  font-weight: 800;
  line-height: 1.75;
}
.fh-front-hero__notice span {
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--fh-ink);
  color: #fff;
  font-size: 11px;
  letter-spacing: .08em;
}
.fh-front-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }

.fh-front-hero__board {
  position: relative;
  min-height: 430px;
  border-radius: 28px;
  background:
    linear-gradient(#e5d9c5 1px, transparent 1px),
    linear-gradient(90deg, #eee4d3 1px, transparent 1px),
    #fffdf8;
  background-size: 100% 34px, 34px 100%, auto;
  border: 1px solid var(--fh-border);
  box-shadow: var(--fh-shadow-paper);
  transform: rotate(1deg);
}
.fh-clip {
  position: absolute;
  left: 50%;
  top: -28px;
  width: 72px;
  height: 52px;
  transform: translateX(-50%);
  border: 8px solid var(--fh-teal);
  border-bottom: 0;
  border-radius: 24px 24px 0 0;
  opacity: .65;
}
.fh-front-hero__board .fh-sticky-note {
  top: 34px;
  right: 28px;
  width: 210px;
  transform: rotate(5deg);
}
.fh-memo-sheet--hero {
  left: 30px;
  bottom: 34px;
  width: 280px;
  background:
    linear-gradient(rgba(0,124,120,.12) 0 0) left 26px top / 4px 100% no-repeat,
    linear-gradient(var(--fh-border) 1px, transparent 1px),
    #fff;
  background-size: 4px 100%, 100% 32px, auto;
  transform: rotate(-3deg);
}
.fh-memo-sheet--hero p { display: flex; gap: 10px; align-items: center; }
.fh-memo-sheet--hero p span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 22px;
  border-radius: 999px;
  background: var(--fh-teal);
  color: #fff;
  font-size: 11px;
}
.fh-mini-ledger {
  position: absolute;
  left: 62px;
  top: 66px;
  display: grid;
  gap: 10px;
  width: 190px;
  padding: 16px;
  border: 1px solid var(--fh-border);
  border-radius: 16px;
  background: rgba(255,250,241,.92);
  box-shadow: 0 12px 28px rgba(36,28,18,.08);
  transform: rotate(-2deg);
}
.fh-mini-ledger div { display: grid; gap: 2px; }
.fh-mini-ledger span { color: var(--fh-teal-dark); font-weight: 900; font-size: 12px; }
.fh-mini-ledger strong { color: var(--fh-ink); font-size: 14px; }

/* Section rhythm */
.fh-section { padding: 58px 0; }
.fh-section--compact { padding-top: 34px; }
.fh-section-heading--notebook {
  position: relative;
  padding-left: 22px;
  border-left: 5px solid var(--fh-teal);
}
.fh-section-heading--notebook::before {
  content: '';
  position: absolute;
  left: -12px;
  top: -12px;
  width: 48px;
  height: 18px;
  background: rgba(242,223,136,.8);
  transform: rotate(-2deg);
  border-radius: 3px;
}
.fh-section-heading__label {
  border: 1px solid rgba(0,124,120,.18);
  box-shadow: inset 0 -1px rgba(0,124,120,.12);
}

/* Paper cards */
.fh-step-card,
.fh-memo-card,
.fh-info-box,
.fh-review-target-card,
.fh-review-comment-card,
.fh-form-card,
.fh-search-panel,
.fh-filter-panel,
.fh-guideline-block,
.fh-side-card,
.fh-cta-box {
  background:
    linear-gradient(rgba(223,210,188,.32) 1px, transparent 1px),
    var(--fh-paper);
  background-size: 100% 32px, auto;
  border-color: rgba(201,185,157,.85);
  box-shadow: var(--fh-shadow);
}
.fh-step-grid--note .fh-step-card { position: relative; }
.fh-step-grid--note .fh-step-card::before,
.fh-memo-card--large::before {
  content: '';
  position: absolute;
  left: 24px;
  top: -9px;
  width: 58px;
  height: 18px;
  border-radius: 3px;
  background: rgba(242,223,136,.78);
  transform: rotate(-2deg);
}
.fh-step-card__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 26px;
  border-radius: 999px;
  background: var(--fh-teal);
  color: #fff;
  font-size: 12px;
}

/* Ranking cards - 3案カード寄せ */
.fh-ranking-card {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 132px;
  gap: 20px;
  padding: 24px;
  border-radius: 24px;
  background:
    linear-gradient(90deg, rgba(0,124,120,.80) 0 5px, transparent 5px),
    linear-gradient(rgba(223,210,188,.28) 1px, transparent 1px),
    #fffdf8;
  background-size: auto, 100% 32px, auto;
  border: 1px solid rgba(201,185,157,.9);
  box-shadow: 0 18px 42px rgba(37,29,17,.10);
}
.fh-ranking-card::before {
  content: '';
  position: absolute;
  left: 24px;
  top: -8px;
  width: 64px;
  height: 18px;
  border-radius: 3px;
  background: rgba(242,223,136,.78);
  transform: rotate(-2deg);
}
.fh-ranking-card__rank {
  width: 58px;
  height: 58px;
  align-self: start;
  border-radius: 18px;
  background: var(--fh-ink);
  box-shadow: inset 0 -6px rgba(255,255,255,.08), 0 10px 24px rgba(19,38,56,.18);
}
.fh-ranking-card__body { min-width: 0; }
.fh-ranking-card__head { align-items: center; }
.fh-ranking-card__title { font-size: 21px; }
.fh-ranking-card__score {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: stretch;
  display: grid;
  place-items: center;
  gap: 0;
  margin: 0;
  min-height: 112px;
  border-radius: 24px;
  background: var(--fh-teal-soft);
  border: 1px solid rgba(0,124,120,.18);
}
.fh-ranking-card__score-label { color: var(--fh-teal-dark); font-size: 12px; }
.fh-ranking-card__score-number { font-size: 44px; }
.fh-ranking-card__score-unit { font-size: 12px; }
.fh-ranking-card__meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fh-ranking-card__meta div,
.fh-review-target-card__meta div {
  background: #fff7e4;
  border: 1px dashed #d9c8a6;
}
.fh-star-rating { color: #c79000; font-size: 13px; }
.fh-card-link {
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--fh-teal-soft);
  width: fit-content;
}

.fh-notice-box--memo,
.fh-notice-box {
  background: #fff2b8;
  border-color: #e5cf73;
}

/* Quick cards and CTA */
.fh-memo-card--large { position: relative; padding: 34px; }
.fh-info-box--lined { border-left: 6px solid var(--fh-teal); }
.fh-cta-box--paper {
  position: relative;
  background:
    radial-gradient(circle at 50% 0, rgba(0,124,120,.10), transparent 38%),
    linear-gradient(rgba(223,210,188,.28) 1px, transparent 1px),
    var(--fh-paper);
  background-size: auto, 100% 32px, auto;
}
.fh-cta-box--paper::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -10px;
  width: 110px;
  height: 20px;
  transform: translateX(-50%) rotate(-1deg);
  background: rgba(242,223,136,.85);
  border-radius: 4px;
}

/* Lists / pages */
.fh-review-target-card { position: relative; }
.fh-review-target-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 22px;
  bottom: 22px;
  width: 5px;
  border-radius: 999px;
  background: var(--fh-teal);
}
.fh-page-hero {
  position: relative;
  margin: 44px auto 0;
  width: min(1180px, calc(100% - 36px));
  border-radius: 32px;
  background:
    linear-gradient(90deg, rgba(0,124,120,.14) 0 5px, transparent 5px),
    linear-gradient(rgba(223,210,188,.30) 1px, transparent 1px),
    var(--fh-paper);
  background-size: auto, 100% 32px, auto;
  border: 1px solid var(--fh-border);
  box-shadow: var(--fh-shadow-paper);
}
.fh-page-hero::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -10px;
  width: 130px;
  height: 20px;
  transform: translateX(-50%) rotate(-1deg);
  background: rgba(242,223,136,.8);
  border-radius: 4px;
}

/* Footer */
.fh-site-footer {
  background: linear-gradient(135deg, #102033, #102e3f);
  border-top: 7px solid rgba(0,124,120,.55);
}

/* Responsive */
@media (max-width: 1080px) {
  .fh-site-header { top: 0; width: 100%; border-radius: 0; }
  .fh-front-hero__inner { grid-template-columns: 1fr; min-height: 0; }
  .fh-front-hero__board { max-width: 520px; width: 100%; margin: 0 auto; }
  .fh-ranking-card { grid-template-columns: 64px minmax(0,1fr); }
  .fh-ranking-card__score { grid-column: 2; grid-row: auto; display: flex; justify-content: flex-start; min-height: auto; padding: 12px 16px; }
}
@media (max-width: 760px) {
  .fh-front-hero { padding-top: 56px; }
  .fh-front-hero::before { inset: 14px 12px 0; border-radius: 24px; }
  .fh-front-hero__title { font-size: 39px; }
  .fh-front-hero__notice { grid-template-columns: 1fr; }
  .fh-front-hero__board { min-height: 360px; transform: none; }
  .fh-mini-ledger { left: 24px; top: 56px; }
  .fh-front-hero__board .fh-sticky-note { right: 18px; width: 180px; }
  .fh-memo-sheet--hero { left: 24px; width: calc(100% - 48px); }
  .fh-ranking-card { grid-template-columns: 1fr; padding: 20px; }
  .fh-ranking-card__rank { width: 50px; height: 50px; }
  .fh-ranking-card__score { grid-column: auto; }
  .fh-ranking-card__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fh-page-hero { width: min(100% - 24px, 1180px); }
}

/* =========================================================
   v0.3.0 DESIGN REBUILD
   1枚目カンプの紙面感 + 2枚目カード情報設計へ寄せる
   ========================================================= */
:root{
  --fh030-ink:#0b223d;
  --fh030-teal:#007978;
  --fh030-teal-dark:#006262;
  --fh030-yellow:#f5cf45;
  --fh030-paper:#fffdf5;
  --fh030-cream:#f7f0df;
  --fh030-line:#e4d7bd;
  --fh030-blue:#dcebf1;
  --fh030-green:#dcefe3;
  --fh030-red:#c75d52;
  --fh030-shadow:0 14px 34px rgba(33,30,22,.12);
  --fh030-paper-shadow:0 7px 18px rgba(36,28,16,.14),0 1px 0 rgba(255,255,255,.85) inset;
}
html{scroll-behavior:smooth;}
body.fh-body{
  background:#f4ecdb!important;
  color:var(--fh030-ink)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",YuGothic,Meiryo,sans-serif;
}
.fh-site-main,
.fh-front-page--v030{
  background:
    linear-gradient(90deg,rgba(122,95,45,.055) 1px,transparent 1px),
    linear-gradient(rgba(122,95,45,.045) 1px,transparent 1px),
    radial-gradient(circle at 12% 4%,rgba(255,255,255,.82),transparent 28%),
    radial-gradient(circle at 90% 18%,rgba(253,209,74,.22),transparent 32%),
    #f4ecdb!important;
  background-size:18px 18px,18px 18px,auto,auto,auto!important;
}
.fh-container{width:min(1120px,calc(100% - 40px));}

/* Header */
.fh-site-header--v030{
  position:sticky;top:0;z-index:1000;
  padding:10px 0 0;
  background:linear-gradient(rgba(255,255,255,.78),rgba(255,255,255,.38));
  border-bottom:0!important;
  backdrop-filter:blur(10px);
}
.fh-site-header--v030 .fh-site-header__inner{
  min-height:64px;width:min(1120px,calc(100% - 40px));
  padding:0 18px;margin:0 auto;gap:24px;
  background:rgba(255,253,245,.95);
  border:1px solid rgba(182,160,122,.75);
  border-bottom:4px solid rgba(245,207,69,.55);
  border-radius:0 0 20px 20px;
  box-shadow:0 12px 28px rgba(52,42,20,.12);
}
.fh-logo{gap:9px!important;align-items:center!important;flex-direction:row!important;}
.fh-logo__mark{position:relative;display:grid;place-items:center;width:45px;height:45px;border:3px solid var(--fh030-ink);border-radius:50%;background:#fff;box-shadow:0 3px 0 rgba(11,34,61,.08);}
.fh-logo__mark:before{content:"";position:absolute;width:28px;height:15px;border-left:4px solid var(--fh030-teal);border-bottom:4px solid var(--fh030-teal);border-radius:0 0 0 18px;transform:rotate(-15deg);top:12px;left:8px;}
.fh-logo__wave{position:absolute;bottom:10px;left:9px;width:26px;height:7px;border-bottom:3px solid var(--fh030-ink);border-radius:50%;}
.fh-logo__main{font-size:24px!important;letter-spacing:.06em;font-weight:900!important;line-height:1;color:var(--fh030-ink);}
.fh-logo__sub{font-size:11px!important;color:var(--fh030-ink)!important;font-weight:800;letter-spacing:.12em;}
.fh-global-nav{gap:22px!important;margin-left:auto!important;}
.fh-global-nav a{position:relative;color:var(--fh030-ink)!important;font-size:13px!important;font-weight:900!important;}
.fh-global-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:3px;background:var(--fh030-teal);transition:.2s;}
.fh-global-nav a:hover:after{right:0;}
.fh-header-cta{gap:8px;min-height:44px!important;padding:0 20px!important;background:linear-gradient(180deg,#008681,#006565)!important;border:0!important;border-radius:13px!important;box-shadow:0 8px 16px rgba(0,104,100,.24),0 2px 0 rgba(0,0,0,.12)!important;color:#fff!important;font-weight:900!important;}

/* front hero */
.fh-v030-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.fh-v030-hero{padding:30px 0 34px;}
.fh-v030-hero__paper{
  position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:34px;
  padding:68px 56px 48px;
  background:
    radial-gradient(circle at 30% 0%,rgba(255,255,255,.88),transparent 30%),
    linear-gradient(90deg,rgba(122,95,45,.035) 1px,transparent 1px),
    linear-gradient(rgba(122,95,45,.035) 1px,transparent 1px),
    var(--fh030-paper);
  background-size:auto,22px 22px,22px 22px,auto;
  border:2px solid rgba(183,160,118,.68);
  border-radius:16px;
  box-shadow:0 22px 60px rgba(43,33,13,.16);
  overflow:hidden;
}
.fh-v030-hero__paper:before{content:"";position:absolute;inset:12px;border:1px dashed rgba(173,148,105,.38);border-radius:12px;pointer-events:none;}
.fh-v030-hero__content{position:relative;z-index:2;padding-top:14px;}
.fh-v030-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.fh-v030-chip{display:inline-flex;align-items:center;height:30px;padding:0 15px;border-radius:999px;font-size:13px;font-weight:900;color:#17324c;box-shadow:0 3px 0 rgba(0,0,0,.05);}
.fh-v030-chip--green{background:#d8efd7;color:#14734f;}.fh-v030-chip--blue{background:#dbe9f3;color:#285d85;}.fh-v030-chip--yellow{background:#f7dd68;color:#664c00;}
.fh-v030-hero__title{margin:0;color:var(--fh030-ink);font-size:clamp(40px,5.4vw,72px);line-height:1.23;letter-spacing:.025em;font-weight:900;text-shadow:0 1px 0 #fff;}
.fh-v030-hero__lead{max-width:560px;margin:25px 0 0;color:#17324c;font-size:17px;line-height:2;font-weight:700;}
.fh-v030-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:32px;}
.fh-v030-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 28px;border-radius:10px;text-decoration:none;font-weight:900;font-size:16px;letter-spacing:.03em;}
.fh-v030-btn--primary{background:linear-gradient(180deg,#008680,#00605f);color:#fff!important;box-shadow:0 9px 0 #024a49,0 18px 24px rgba(0,107,103,.22);}
.fh-v030-btn--secondary{background:#fff;color:var(--fh030-ink)!important;border:2px solid rgba(51,42,22,.32);box-shadow:0 8px 0 rgba(88,76,53,.16),0 14px 22px rgba(54,42,20,.10);}
.fh-v030-editor-check{display:flex;gap:9px;align-items:center;margin:28px 0 0;color:#233d56;font-weight:800;}
.fh-v030-editor-check span{display:grid;place-items:center;width:24px;height:24px;border:2px solid #1b2b3d;border-radius:50%;font-size:13px;}

/* memo board */
.fh-v030-board{position:relative;min-height:420px;z-index:2;}
.fh-v030-board__back{position:absolute;inset:28px 18px 30px 34px;background:#e7d9be;transform:rotate(-5deg);border-radius:6px;box-shadow:var(--fh030-paper-shadow);}
.fh-v030-feature-note{position:absolute;right:24px;top:28px;width:370px;min-height:230px;padding:54px 34px 30px;background:linear-gradient(90deg,rgba(122,95,45,.07) 1px,transparent 1px),linear-gradient(rgba(122,95,45,.07) 1px,transparent 1px),#fffdf7;background-size:18px 18px;border:1px solid #dacdb4;border-radius:7px;box-shadow:var(--fh030-paper-shadow);transform:rotate(-3deg);}
.fh-v030-tape{position:absolute;left:42px;top:-14px;width:88px;height:24px;background:rgba(190,220,202,.72);transform:rotate(-3deg);box-shadow:0 3px 8px rgba(0,0,0,.08);}
.fh-v030-tape--top{left:auto;right:34px;top:-18px;width:auto;height:auto;padding:9px 18px;background:#f0cf64;color:#6a4d00;font-weight:900;border-radius:2px;}
.fh-v030-clip{position:absolute;left:28px;top:-12px;width:18px;height:48px;border:5px solid #8f6f3f;border-bottom:0;border-radius:12px 12px 0 0;transform:rotate(-7deg);}
.fh-v030-feature-note h2{font-size:30px;line-height:1.2;margin:0 0 8px;color:var(--fh030-ink);font-weight:900;}
.fh-v030-note-type{font-weight:900;color:#354a5f;margin:0 0 15px;}
.fh-v030-note-score{display:flex;align-items:center;gap:10px;margin-bottom:16px;}.fh-v030-note-score span{background:#0c2d4a;color:#fff;padding:5px 8px;border-radius:3px;font-size:12px;font-weight:900;}.fh-v030-note-score strong{color:#c78200;letter-spacing:.1em;}.fh-v030-note-score em{font-style:normal;font-weight:900;}
.fh-v030-feature-note dl{display:grid;gap:6px;margin:0;}.fh-v030-feature-note dl div{display:flex;gap:12px}.fh-v030-feature-note dt{font-weight:900;color:#34485e}.fh-v030-feature-note dd{margin:0;font-weight:800;}
.fh-v030-stamp{position:absolute;right:24px;bottom:26px;display:grid;place-items:center;width:88px;height:88px;border:4px double var(--fh030-red);border-radius:50%;color:var(--fh030-red);font-weight:900;font-size:17px;line-height:1.25;transform:rotate(-12deg);opacity:.82;}
.fh-v030-scrap{position:absolute;background:#fffefa;border:1px solid #d9ccb1;box-shadow:var(--fh030-paper-shadow);padding:25px 24px 20px;width:245px;line-height:1.8;}
.fh-v030-scrap span{position:absolute;left:16px;top:-13px;background:#d9eee3;color:#305e4f;font-weight:900;font-size:12px;padding:5px 10px;transform:rotate(-3deg);}.fh-v030-scrap strong{display:block;font-size:17px;color:#132b45;}.fh-v030-scrap--left{left:14px;bottom:95px;transform:rotate(-3deg);}.fh-v030-scrap--right{right:0;bottom:88px;transform:rotate(2.5deg);}.fh-v030-scrap--right span{background:#dceaf5;color:#2f5978;}
.fh-v030-sticky{position:absolute;left:95px;right:78px;bottom:6px;padding:19px 24px;background:#ffe79a;border:1px solid #e4c66b;box-shadow:var(--fh030-paper-shadow);font-size:18px;font-weight:900;text-align:center;transform:rotate(-1deg);}

/* sections */
.fh-v030-section{padding:44px 0;}
.fh-v030-section-title{margin:0 0 24px;color:var(--fh030-ink);font-size:clamp(26px,3vw,36px);line-height:1.35;font-weight:900;text-align:center;}
.fh-v030-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;}.fh-v030-section-head .fh-v030-section-title{text-align:left;margin:0;}.fh-v030-more{color:var(--fh030-ink);font-weight:900;text-decoration:none;border-bottom:2px solid var(--fh030-teal);}
.fh-v030-title-icon{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:10px;color:#b47a00;font-size:28px;vertical-align:middle;}

/* how cards */
.fh-v030-howto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}.fh-v030-how-card{position:relative;min-height:135px;padding:30px 28px 24px 102px;background:#fffdf8;border:1px solid #dccdb0;border-radius:6px;box-shadow:var(--fh030-paper-shadow);}.fh-v030-how-card:before{content:"";position:absolute;left:18px;top:16px;bottom:16px;border-left:3px dotted rgba(137,110,66,.24);}.fh-v030-how-card__num{position:absolute;left:40px;top:29px;color:var(--fh030-teal);font-size:27px;font-weight:900;}.fh-v030-how-card h3{margin:0 0 8px;font-size:20px;color:var(--fh030-ink);}.fh-v030-how-card p{margin:0;color:#354a5f;font-weight:700;line-height:1.75;}.fh-v030-icon{position:absolute;right:28px;top:26px;width:58px;height:58px;opacity:.9;}.fh-v030-icon--search{border:5px solid #152f48;border-radius:50%;}.fh-v030-icon--search:after{content:"";position:absolute;right:-17px;bottom:-12px;width:29px;height:5px;background:#152f48;transform:rotate(45deg);border-radius:99px;}.fh-v030-icon--eye:before{content:"";position:absolute;inset:13px 0;border:5px solid #152f48;border-radius:50% 0 50% 0;transform:rotate(45deg);}.fh-v030-icon--eye:after{content:"";position:absolute;left:22px;top:22px;width:14px;height:14px;background:#152f48;border-radius:50%;}.fh-v030-icon--people:before{content:"";position:absolute;left:4px;top:12px;width:14px;height:14px;background:#152f48;border-radius:50%;box-shadow:20px 0 0 #152f48,40px 0 0 #152f48;}.fh-v030-icon--people:after{content:"";position:absolute;left:0;top:32px;width:22px;height:18px;border:4px solid #152f48;border-radius:10px 10px 3px 3px;box-shadow:20px 0 0 -4px #fff,20px 0 0 0 #152f48,40px 0 0 -4px #fff,40px 0 0 0 #152f48;}

/* Top ranking cards from shortcode: make compact cards on top */
.fh-v030-ranking-wrap .fh-ranking-list{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px!important;}
.fh-v030-ranking-wrap .fh-ranking-card{position:relative;display:block!important;min-height:240px;padding:18px 16px 16px!important;background:#fffdf8!important;border:1px solid #d8c8aa!important;border-radius:8px!important;box-shadow:var(--fh030-paper-shadow)!important;overflow:visible;}
.fh-v030-ranking-wrap .fh-ranking-card:before{content:"";position:absolute;right:10px;top:18px;width:18px;height:74%;background:repeating-linear-gradient(0deg,#e1d3b8 0 2px,transparent 2px 8px);opacity:.55;}
.fh-v030-ranking-wrap .fh-ranking-card__rank{position:absolute;left:12px;top:-14px;width:42px!important;height:52px!important;border-radius:4px 4px 18px 18px!important;background:linear-gradient(180deg,#db9c24,#bc7518)!important;color:#fff!important;font-size:22px!important;box-shadow:0 4px 0 rgba(107,61,9,.25)!important;}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(n+4) .fh-ranking-card__rank{background:linear-gradient(180deg,#edf0f3,#b9c1ca)!important;color:#273f56!important;}
.fh-v030-ranking-wrap .fh-ranking-card__body{display:block!important;}.fh-v030-ranking-wrap .fh-ranking-card__head{display:block!important;padding-top:30px;}.fh-v030-ranking-wrap .fh-ranking-card__title{font-size:17px!important;line-height:1.45!important;margin:0 0 8px!important;min-height:48px;}.fh-v030-ranking-wrap .fh-target-type-badge{min-height:24px!important;padding:0 8px!important;font-size:10px!important;}
.fh-v030-ranking-wrap .fh-ranking-card__summary{display:none;}.fh-v030-ranking-wrap .fh-ranking-card__score{display:block!important;margin:10px 0 0!important;}.fh-v030-ranking-wrap .fh-ranking-card__score-label{display:inline;color:#485b70!important;font-size:12px!important;}.fh-v030-ranking-wrap .fh-ranking-card__score-number{font-size:0!important;}.fh-v030-ranking-wrap .fh-ranking-card__score-number:before{content:attr(data-score);}.fh-v030-ranking-wrap .fh-ranking-card__score-unit{display:none!important;}.fh-v030-ranking-wrap .fh-star-rating{margin:6px 0 8px!important;color:#d18b00!important;font-size:14px!important;}
.fh-v030-ranking-wrap .fh-ranking-card__meta{grid-template-columns:1fr!important;gap:5px!important;margin:8px 0 0!important;}.fh-v030-ranking-wrap .fh-ranking-card__meta div{display:flex;justify-content:space-between;gap:6px;padding:0!important;background:transparent!important;border:0!important;}.fh-v030-ranking-wrap .fh-ranking-card__meta dt{font-size:11px!important;color:#506176!important;}.fh-v030-ranking-wrap .fh-ranking-card__meta dd{font-size:12px!important;margin:0!important;color:#162d46!important;}.fh-v030-ranking-wrap .fh-card-link{display:flex!important;justify-content:flex-end;margin-top:12px!important;color:#0b223d!important;font-size:12px!important;border-top:1px dashed #d7c8ac;padding-top:9px;}
/* fallback score display for shortcode markup */
.fh-v030-ranking-wrap .fh-ranking-card__score-number{font-size:0!important;}.fh-v030-ranking-wrap .fh-ranking-card__score-number::after{font-size:0;}

/* General ranking/list cards polish (sub pages) */
.fh-ranking-card,.fh-review-target-card,.fh-review-comment-card,.fh-memo-card,.fh-info-box,.fh-side-card,.fh-form-card{background:#fffdf8!important;border-color:#d9caae!important;box-shadow:var(--fh030-paper-shadow)!important;border-radius:8px!important;}
.fh-ranking-card__rank{background:linear-gradient(180deg,#0b223d,#132f4d)!important;color:#fff!important;}.fh-ranking-card__score-number{color:var(--fh030-teal)!important;}.fh-target-type-badge--openchat{background:#dff3e3!important;color:#13734d!important;}.fh-target-type-badge--x{background:#e4edf5!important;color:#315f85!important;}.fh-status-badge{background:#f7dd68!important;color:#604700!important;}

/* latest review */
.fh-v030-latest .fh-review-comment-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}.fh-v030-latest .fh-review-comment-card{position:relative;padding:22px 20px!important;min-height:178px;}.fh-v030-latest .fh-review-comment-card:before{content:"";position:absolute;left:18px;top:-10px;width:68px;height:20px;background:rgba(191,220,205,.7);transform:rotate(-3deg);}.fh-v030-latest .fh-review-comment-card__category{display:inline-flex;background:#dff3e3;border-radius:999px;padding:5px 10px;color:#157453!important;font-size:11px;}.fh-v030-latest .fh-review-comment-card__text{font-weight:700;color:#1c344e;}.fh-v030-latest .fh-review-comment-card__foot{font-size:12px;}

/* Channel cards */
.fh-v030-channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}.fh-v030-channel-card{position:relative;padding:28px;background:#fffdf8;border:1px solid #d8c8aa;border-radius:8px;box-shadow:var(--fh030-paper-shadow);}.fh-v030-channel-card:before{content:"";position:absolute;left:28px;top:-11px;width:76px;height:20px;background:rgba(191,220,205,.72);transform:rotate(-2deg);}.fh-v030-channel-card--x:before{background:rgba(190,211,229,.72);}.fh-v030-channel-card__head{display:flex;gap:16px;align-items:center;margin-bottom:18px;}.fh-v030-channel-card h3{margin:0 0 3px;font-size:24px;color:var(--fh030-ink);}.fh-v030-channel-card p{margin:0;color:#334d66;font-weight:700;}.fh-v030-channel-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:10px;background:#29b45a;color:#fff;font-weight:900;font-size:13px;}.fh-v030-channel-card--x .fh-v030-channel-icon{background:#142c46;font-size:26px;}.fh-v030-search-fake{display:flex;justify-content:space-between;align-items:center;height:48px;padding:0 16px;border:2px solid #d8c8aa;border-radius:8px;background:#fff;color:#7d817c;font-weight:700;}.fh-v030-search-fake b{font-size:24px;color:#233b55;}.fh-v030-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}.fh-v030-tags span{background:#e7f2e8;color:#197550;border:1px solid #bcd9c4;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:900;}.fh-v030-channel-card--x .fh-v030-tags span{background:#e6eef6;color:#315f85;border-color:#bfd3e3;}.fh-v030-card-link{display:inline-flex;margin-top:18px;color:#0b223d;text-decoration:none;font-weight:900;border-bottom:2px solid var(--fh030-teal);}

/* integrated */
.fh-v030-flow-board{position:relative;display:grid;grid-template-columns:230px 1fr 205px;gap:26px;align-items:center;padding:38px;background:#fffdf8;border:1px solid #d8c8aa;border-radius:8px;box-shadow:var(--fh030-paper-shadow);}.fh-v030-clipboard{position:relative;padding:24px 22px;background:#fff;border:1px solid #d6c7aa;border-radius:7px;box-shadow:0 8px 18px rgba(0,0,0,.08);}.fh-v030-clipboard:before{content:"";position:absolute;left:50%;top:-18px;width:68px;height:28px;background:#2c3a46;border-radius:6px 6px 0 0;transform:translateX(-50%);}.fh-v030-clipboard span{display:block;font-size:19px;font-weight:900;line-height:1.45;color:var(--fh030-ink);}.fh-v030-clipboard ul{margin:16px 0 0;padding:0;list-style:none;}.fh-v030-clipboard li{margin:7px 0;font-weight:800;color:#364d63;}.fh-v030-clipboard li:before{content:"✓";margin-right:7px;color:var(--fh030-teal);}.fh-v030-clipboard b{position:absolute;right:-18px;bottom:18px;display:grid;place-items:center;width:78px;height:78px;border:3px solid var(--fh030-red);border-radius:50%;color:var(--fh030-red);background:#fff;font-size:13px;line-height:1.35;transform:rotate(-12deg);}.fh-v030-flow-main h2{margin:0 0 18px;text-align:center;font-size:26px;color:var(--fh030-ink);}.fh-v030-flow-steps{display:flex;align-items:center;justify-content:center;gap:14px;}.fh-v030-flow-steps span{display:grid;place-items:center;min-height:76px;padding:12px 20px;background:#fff;border:1px solid #d6c7aa;border-radius:7px;font-weight:900;color:var(--fh030-ink);text-align:center;box-shadow:0 5px 14px rgba(0,0,0,.07);}.fh-v030-flow-steps small{font-size:11px;color:#54697d;}.fh-v030-flow-steps i{width:46px;border-top:2px dashed var(--fh030-teal);}.fh-v030-side-note{padding:25px 22px;background:#ffe79a;border:1px solid #dfc15d;box-shadow:var(--fh030-paper-shadow);font-size:18px;font-weight:900;line-height:1.6;transform:rotate(-2deg);}

/* bottom */
.fh-v030-bottom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}.fh-v030-bottom-grid a{display:grid;grid-template-columns:54px 1fr;gap:6px 16px;padding:24px;background:#fffdf8;border:1px solid #d8c8aa;border-radius:8px;box-shadow:var(--fh030-paper-shadow);color:var(--fh030-ink);text-decoration:none;}.fh-v030-bottom-icon{grid-row:1/3;display:grid;place-items:center;width:50px;height:50px;border:2px solid #d8c8aa;border-radius:8px;font-size:26px;background:#fff;}.fh-v030-bottom-grid strong{font-size:18px;}.fh-v030-bottom-grid em{font-style:normal;color:#40566e;font-weight:700;line-height:1.6;}.fh-v030-disclaimer{display:flex;gap:14px;align-items:center;margin-top:28px;padding:18px 22px;background:#fff7d7;border:1px solid #e1ca75;border-radius:8px;font-weight:700;color:#453914;}.fh-v030-disclaimer span{display:grid;place-items:center;width:28px;height:28px;border:2px solid #d09d1d;border-radius:50%;font-weight:900;color:#9b6b00;}

/* Footer closer */
.fh-site-footer{background:linear-gradient(180deg,#0c2741,#061b30)!important;border-top:5px solid rgba(245,207,69,.55);}

/* Mobile */
@media (max-width:1100px){
  .fh-global-nav{gap:14px!important}.fh-global-nav a{font-size:12px!important}.fh-v030-hero__paper{grid-template-columns:1fr;padding:45px 30px}.fh-v030-board{min-height:390px}.fh-v030-feature-note{right:80px}.fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:repeat(2,1fr);}.fh-v030-latest .fh-review-comment-list{grid-template-columns:repeat(2,1fr);} }
@media (max-width:780px){
  .fh-site-header--v030 .fh-site-header__inner{width:min(100% - 20px,1120px);padding:14px;align-items:center!important;}.fh-logo__mark{width:38px;height:38px}.fh-logo__main{font-size:20px!important}.fh-global-nav{display:none!important}.fh-header-cta{width:100%;}
  .fh-container{width:min(100% - 24px,1120px)}.fh-v030-hero{padding:14px 0 22px}.fh-v030-hero__paper{display:block;padding:34px 20px 28px;border-radius:12px}.fh-v030-hero__title{font-size:34px;line-height:1.35}.fh-v030-hero__lead{font-size:15px;line-height:1.85}.fh-v030-actions{display:grid;gap:12px}.fh-v030-btn{width:100%;min-height:50px}.fh-v030-board{margin-top:28px;min-height:420px}.fh-v030-feature-note{left:22px;right:22px;width:auto;top:24px}.fh-v030-scrap{width:calc(50% - 12px);font-size:12px;padding:22px 12px 14px}.fh-v030-scrap strong{font-size:13px}.fh-v030-scrap--left{left:0;bottom:112px}.fh-v030-scrap--right{right:0;bottom:112px}.fh-v030-sticky{left:10px;right:10px;bottom:20px;font-size:15px}.fh-v030-howto-grid,.fh-v030-channel-grid,.fh-v030-flow-board,.fh-v030-bottom-grid{grid-template-columns:1fr}.fh-v030-how-card{padding-left:86px}.fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:1fr}.fh-v030-ranking-wrap .fh-ranking-card{min-height:0}.fh-v030-latest .fh-review-comment-list{grid-template-columns:1fr}.fh-v030-section-head{align-items:flex-start;display:block}.fh-v030-more{display:inline-flex;margin-top:10px}.fh-v030-flow-board{padding:22px}.fh-v030-flow-steps{display:grid}.fh-v030-flow-steps i{width:2px;height:26px;border-top:0;border-left:2px dashed var(--fh030-teal);margin:auto}.fh-v030-side-note{transform:none}.fh-v030-disclaimer{align-items:flex-start}.fh-v030-channel-card h3{font-size:20px}
}
.fh-v030-ranking-wrap .fh-ranking-card__score-number{font-size:20px!important;color:var(--fh030-ink)!important;}
.fh-v030-ranking-wrap .fh-ranking-card__score{display:flex!important;align-items:center!important;gap:6px!important;}
.fh-v030-ranking-wrap .fh-ranking-card__score-unit{display:inline!important;font-size:11px!important;color:#5f6f7d!important;}


/* =========================================================
   v0.3.1 Quality Fix: camp closer typography/cards/icons
   ========================================================= */
:root{
  --fh031-ink:#0a223c;
  --fh031-paper:#fffdf7;
  --fh031-border:#d8c7a8;
  --fh031-muted:#53677c;
  --fh031-teal:#007c78;
  --fh031-note:#fff0b8;
  --fh031-shadow:0 10px 24px rgba(38,28,10,.12),0 2px 0 rgba(118,91,42,.12);
}

/* Japanese typography: avoid ugly mid-word wrapping on headings/navigation */
.fh-nowrap,
.fh-v030-hero__title,
.fh-v030-section-title,
.fh-v030-how-card h3,
.fh-v030-channel-card h3,
.fh-ranking-card__title,
.fh-review-target-card__title,
.fh-global-nav a,
.fh-header-cta{
  word-break:keep-all!important;
  line-break:strict!important;
  overflow-wrap:normal!important;
  text-wrap:balance;
}
.fh-v030-hero__lead,
.fh-v030-how-card p,
.fh-v030-channel-card p,
.fh-ranking-card__summary,
.fh-review-comment-card__text{
  line-break:strict;
  text-wrap:pretty;
}

/* Header: prevent nav labels from splitting and make it feel like the mockup */
.fh-site-header--v030 .fh-site-header__inner{
  width:min(100% - 28px,1200px)!important;
  min-height:64px!important;
  padding:8px 18px!important;
  border-radius:0 0 16px 16px!important;
}
.fh-logo{min-width:210px!important;}
.fh-logo__main{font-size:23px!important;letter-spacing:.05em!important;}
.fh-global-nav{gap:18px!important;flex-wrap:nowrap!important;min-width:0!important;}
.fh-global-nav a{white-space:nowrap!important;font-size:12.5px!important;line-height:1!important;}
.fh-header-cta{white-space:nowrap!important;min-width:138px!important;padding-inline:16px!important;}

/* Hero: wider left text area, better line breaks, less cramped paper */
.fh-v030-hero{padding-top:34px!important;}
.fh-v030-hero__paper{
  grid-template-columns:minmax(520px,1.08fr) minmax(390px,.92fr)!important;
  gap:30px!important;
  padding:62px 50px 44px!important;
}
.fh-v030-hero__title{
  font-size:clamp(42px,4.2vw,62px)!important;
  line-height:1.28!important;
  letter-spacing:.015em!important;
  max-width:620px!important;
}
.fh-v030-hero__lead{
  max-width:610px!important;
  margin-top:22px!important;
  font-size:16.5px!important;
  line-height:1.95!important;
}
.fh-v030-chips{margin-bottom:22px!important;}
.fh-v030-chip{height:28px!important;padding-inline:13px!important;font-size:12px!important;}
.fh-v030-board{min-height:400px!important;}
.fh-v030-feature-note{width:340px!important;right:16px!important;}
.fh-v030-feature-note h2{font-size:28px!important;word-break:keep-all!important;}
.fh-v030-scrap{width:226px!important;}
.fh-v030-sticky{left:82px!important;right:64px!important;}

/* Section title icons closer to professional mockup */
.fh-v030-section-title{letter-spacing:.01em!important;}
.fh-v030-title-icon{
  width:30px!important;height:30px!important;border-radius:8px!important;
  background:#fff4c8!important;border:1px solid #dfbf63!important;
  box-shadow:0 3px 0 rgba(144,99,0,.15)!important;
  font-size:20px!important;margin-right:8px!important;
}

/* HOW TO cards: icons should support the content, not look like default CSS shapes */
.fh-v030-howto-grid{gap:22px!important;}
.fh-v030-how-card{
  min-height:142px!important;
  padding:28px 92px 24px 86px!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,#fffefa,#fffaf0)!important;
}
.fh-v030-how-card__num{left:28px!important;top:30px!important;font-size:24px!important;}
.fh-v030-how-card h3{font-size:19px!important;line-height:1.4!important;}
.fh-v030-how-card p{font-size:13.5px!important;line-height:1.75!important;}
.fh-v030-icon{right:24px!important;top:32px!important;width:46px!important;height:46px!important;opacity:.88!important;}
.fh-v030-icon--search{border-width:4px!important;}
.fh-v030-icon--search:after{width:22px!important;height:4px!important;right:-12px!important;bottom:-8px!important;}
.fh-v030-icon--eye:before{border-width:4px!important;}
.fh-v030-icon--eye:after{left:18px!important;top:18px!important;width:10px!important;height:10px!important;}
.fh-v030-icon--people:before{top:8px!important;left:1px!important;width:11px!important;height:11px!important;box-shadow:17px 0 0 #152f48,34px 0 0 #152f48!important;}
.fh-v030-icon--people:after{top:26px!important;width:18px!important;height:14px!important;border-width:3px!important;box-shadow:17px 0 0 -3px #fff,17px 0 0 0 #152f48,34px 0 0 -3px #fff,34px 0 0 0 #152f48!important;}

/* Top ranking: rebuild the 5-card layout. Previous version was squeezed and score box dominated. */
.fh-v030-ranking-wrap .fh-ranking-list{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
.fh-v030-ranking-wrap .fh-ranking-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:258px!important;
  padding:40px 14px 14px!important;
  border-radius:10px!important;
  background:
    linear-gradient(90deg,rgba(109,84,39,.045) 1px,transparent 1px),
    linear-gradient(rgba(109,84,39,.045) 1px,transparent 1px),
    #fffdf8!important;
  background-size:18px 18px,18px 18px,auto!important;
  border:1px solid var(--fh031-border)!important;
  box-shadow:var(--fh031-shadow)!important;
  overflow:hidden!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:auto!important;top:0!important;bottom:0!important;
  width:4px!important;height:auto!important;
  background:linear-gradient(180deg,#0a8d86,#f0c54b)!important;
  opacity:1!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:after{
  content:"";
  position:absolute;right:12px;top:12px;width:18px;height:52px;
  background:repeating-linear-gradient(0deg,#d7ccb7 0 2px,transparent 2px 7px);
  opacity:.45;border-radius:99px;
}
.fh-v030-ranking-wrap .fh-ranking-card__rank{
  position:absolute!important;
  left:12px!important;top:0!important;
  width:34px!important;height:45px!important;
  border-radius:0 0 10px 10px!important;
  background:linear-gradient(180deg,#e7ae30,#c97d19)!important;
  color:#fff!important;
  font-size:20px!important;font-weight:950!important;
  box-shadow:0 3px 0 rgba(105,61,10,.25)!important;
  z-index:3!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(2) .fh-ranking-card__rank{background:linear-gradient(180deg,#c9d0d8,#8c98a6)!important;}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(3) .fh-ranking-card__rank{background:linear-gradient(180deg,#d18a4c,#a85025)!important;}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(n+4) .fh-ranking-card__rank{background:linear-gradient(180deg,#eff2f4,#b8c0c9)!important;color:#213850!important;}
.fh-v030-ranking-wrap .fh-ranking-card__body{
  display:flex!important;flex-direction:column!important;min-height:100%!important;min-width:0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__head{
  display:block!important;padding-top:0!important;padding-right:16px!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__title{
  margin:0 0 7px!important;
  min-height:45px!important;
  max-height:45px!important;
  overflow:hidden!important;
  font-size:14.5px!important;
  line-height:1.52!important;
  letter-spacing:.01em!important;
  color:var(--fh031-ink)!important;
  font-weight:950!important;
}
.fh-v030-ranking-wrap .fh-target-type-badge{
  min-height:22px!important;
  max-width:100%!important;
  padding:0 8px!important;
  font-size:9.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__summary{display:none!important;}
.fh-v030-ranking-wrap .fh-ranking-card__score{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:6px!important;
  margin:12px 0 8px!important;
  min-height:46px!important;
  padding:7px 10px!important;
  border-radius:12px!important;
  background:#dff4f1!important;
  border:1px solid #b7dcd8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-label{
  display:block!important;
  color:#2b6b69!important;
  font-size:10.5px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-number{
  display:inline!important;
  font-size:22px!important;
  line-height:1!important;
  color:#057a75!important;
  font-weight:950!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-unit{
  display:none!important;
}
.fh-v030-ranking-wrap .fh-star-rating{
  margin:1px 0 8px!important;
  font-size:13px!important;
  color:#d19209!important;
  letter-spacing:.06em!important;
  min-height:18px!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta div{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  align-items:center!important;
  gap:4px!important;
  min-height:18px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta dt{
  font-size:10.5px!important;
  color:#617184!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta dd{
  margin:0!important;
  color:#102b45!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  font-weight:900!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.fh-v030-ranking-wrap .fh-card-link{
  margin-top:auto!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  min-height:32px!important;
  padding-top:8px!important;
  border-top:1px dashed #d4c6aa!important;
  color:#0b3f5c!important;
  font-size:11.5px!important;
  font-weight:950!important;
  text-decoration:none!important;
}
.fh-v030-ranking-wrap .fh-card-link:after{content:"›";margin-left:6px;font-size:16px;line-height:1;}

/* Reviews/OpenChat cards: make them less plain and more card-system quality */
.fh-review-target-card{
  position:relative!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#fffefa,#fffaf1)!important;
}
.fh-review-target-card:before{
  content:"";position:absolute;left:20px;top:-10px;width:62px;height:18px;
  background:rgba(194,221,205,.72);transform:rotate(-2deg);box-shadow:0 2px 5px rgba(0,0,0,.06);
}
.fh-review-target-card__title{font-size:20px!important;line-height:1.5!important;}
.fh-review-target-card__meta div{border-radius:9px!important;}

/* Better responsive behavior: keep 5 cards on wide, 3/2/1 without crushing Japanese */
@media (max-width:1180px){
  .fh-site-header--v030 .fh-site-header__inner{width:min(100% - 20px,1160px)!important;}
  .fh-logo{min-width:190px!important;}
  .fh-global-nav{gap:12px!important;}
  .fh-global-nav a{font-size:11.5px!important;}
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:repeat(5,minmax(145px,1fr))!important;overflow-x:auto!important;padding:8px 2px 12px!important;scroll-snap-type:x proximity!important;}
  .fh-v030-ranking-wrap .fh-ranking-card{scroll-snap-align:start!important;}
}
@media (max-width:980px){
  .fh-v030-hero__paper{grid-template-columns:1fr!important;}
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:repeat(3,minmax(170px,1fr))!important;overflow:visible!important;}
}
@media (max-width:780px){
  .fh-v030-hero__title{font-size:32px!important;line-height:1.42!important;}
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:1fr!important;}
  .fh-v030-ranking-wrap .fh-ranking-card{min-height:0!important;padding:42px 18px 16px!important;}
  .fh-v030-ranking-wrap .fh-ranking-card__title{min-height:auto!important;max-height:none!important;font-size:17px!important;}
  .fh-v030-ranking-wrap .fh-ranking-card__score{grid-template-columns:auto auto!important;justify-content:start!important;width:max-content!important;max-width:100%!important;}
}

/* =========================================================
   v0.3.2 Precision Fix
   対応範囲：前回洗い出し項目の確実反映
   - ranking card rebuild
   - Japanese line breaks
   - header/hero/howto/latest/channel/flow/bottom/disclaimer/footer polish
   ========================================================= */
:root{
  --fh032-ink:#0a223c;
  --fh032-paper:#fffdf7;
  --fh032-paper2:#fff9ee;
  --fh032-border:#d7c5a4;
  --fh032-muted:#52677d;
  --fh032-teal:#007c78;
  --fh032-teal-dark:#005f5c;
  --fh032-yellow:#ffe797;
  --fh032-blue:#e6f0f8;
  --fh032-green:#e2f4e7;
  --fh032-shadow:0 12px 28px rgba(38,28,10,.13),0 2px 0 rgba(118,91,42,.11);
  --fh032-soft-shadow:0 8px 18px rgba(38,28,10,.09);
}

/* 1. Japanese typography and line breaks */
.fh-v030-hero__title,
.fh-v030-section-title,
.fh-v030-how-card h3,
.fh-v030-channel-card h3,
.fh-ranking-card__title,
.fh-review-target-card__title,
.fh-site-footer strong,
.fh-global-nav a{
  word-break:keep-all!important;
  line-break:strict!important;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.fh-v030-hero__title .fh-nowrap{white-space:nowrap!important;display:inline-block!important;}
.fh-v030-hero__lead,
.fh-v030-how-card p,
.fh-v030-channel-card p,
.fh-review-target-card__memo,
.fh-review-comment-card__text{
  line-break:strict!important;
  text-wrap:pretty;
}

/* 2. Header: more space, cleaner brand, no cramped nav */
.fh-site-header--v030{padding-top:8px!important;background:linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.42))!important;}
.fh-site-header--v030 .fh-site-header__inner{
  width:min(100% - 32px,1220px)!important;
  min-height:70px!important;
  padding:8px 18px 8px 22px!important;
  gap:22px!important;
  border-radius:0 0 18px 18px!important;
  box-shadow:0 10px 26px rgba(44,34,14,.13)!important;
}
.fh-site-header--v030 .fh-logo{min-width:245px!important;gap:11px!important;}
.fh-logo__mark{width:48px!important;height:48px!important;border-width:2px!important;}
.fh-logo__main{font-size:24px!important;letter-spacing:.055em!important;}
.fh-logo__sub{font-size:11px!important;letter-spacing:.11em!important;}
.fh-global-nav{gap:18px!important;white-space:nowrap!important;}
.fh-global-nav a{font-size:12.5px!important;line-height:1.2!important;padding:10px 0!important;}
.fh-header-cta{min-width:150px!important;min-height:46px!important;border-radius:12px!important;}

/* 3. Hero: better two-line title, balanced memo board, paper depth */
.fh-v030-hero{padding:36px 0 42px!important;}
.fh-v030-hero__paper{
  grid-template-columns:minmax(500px,1.08fr) minmax(360px,.92fr)!important;
  gap:38px!important;
  padding:60px 52px 46px!important;
  border-radius:18px!important;
  overflow:visible!important;
}
.fh-v030-hero__paper:after{
  content:"";
  position:absolute;
  left:56px;right:56px;top:-11px;height:20px;
  background:rgba(244,214,114,.72);
  transform:rotate(-.5deg);
  border-radius:3px;
  box-shadow:0 4px 9px rgba(101,78,28,.13);
  z-index:1;
}
.fh-v030-hero__content{padding-top:8px!important;}
.fh-v030-hero__title{
  max-width:620px!important;
  font-size:clamp(42px,4.45vw,60px)!important;
  line-height:1.28!important;
  letter-spacing:.012em!important;
}
.fh-v030-hero__lead{max-width:620px!important;font-size:16px!important;line-height:1.95!important;}
.fh-v030-board{min-height:386px!important;transform:scale(.96);transform-origin:center right;}
.fh-v030-board__back{inset:32px 28px 34px 44px!important;}
.fh-v030-feature-note{width:330px!important;right:22px!important;top:30px!important;min-height:214px!important;padding:50px 30px 28px!important;}
.fh-v030-feature-note h2{font-size:27px!important;line-height:1.28!important;}
.fh-v030-stamp{opacity:.65!important;filter:contrast(.9) saturate(.9);border-style:dashed!important;}
.fh-v030-scrap{width:218px!important;padding:23px 18px 17px!important;}
.fh-v030-scrap strong{font-size:15px!important;line-height:1.75!important;}
.fh-v030-scrap--left{left:20px!important;bottom:90px!important;}
.fh-v030-scrap--right{right:8px!important;bottom:86px!important;}
.fh-v030-sticky{left:86px!important;right:70px!important;bottom:8px!important;font-size:16px!important;}

/* 4. Section heading: icon + underline for camp-like editorial polish */
.fh-v030-section-title{position:relative;display:inline-flex;align-items:center;gap:8px;margin-left:auto;margin-right:auto;}
.fh-v030-howto .fh-v030-section-title{display:flex;justify-content:center;width:max-content;max-width:100%;}
.fh-v030-section-title:after{
  content:"";
  position:absolute;left:10%;right:10%;bottom:-8px;height:7px;
  background:rgba(255,231,151,.72);
  z-index:-1;
  transform:rotate(-.6deg);
}
.fh-v030-section-head .fh-v030-section-title{display:flex;}

/* 5. HOW TO: unified icons, less machine-like tape */
.fh-v030-howto-grid{gap:22px!important;}
.fh-v030-how-card{
  min-height:138px!important;
  padding:28px 82px 24px 84px!important;
  border-radius:9px!important;
  background:linear-gradient(180deg,#fffefa,#fff9ee)!important;
}
.fh-v030-how-card:nth-child(1) .fh-v030-tape{left:34px!important;transform:rotate(-4deg)!important;}
.fh-v030-how-card:nth-child(2) .fh-v030-tape{left:46px!important;transform:rotate(2deg)!important;}
.fh-v030-how-card:nth-child(3) .fh-v030-tape{left:38px!important;transform:rotate(-1deg)!important;}
.fh-v030-how-card__num{left:28px!important;top:29px!important;font-size:24px!important;}
.fh-v030-how-card h3{font-size:19px!important;line-height:1.35!important;margin-bottom:8px!important;}
.fh-v030-how-card p{font-size:13.5px!important;line-height:1.75!important;font-weight:750!important;}
.fh-v030-icon{right:24px!important;top:34px!important;width:42px!important;height:42px!important;opacity:.9!important;}

/* 6. Ranking: final top-card layout. Keep five cards, reduce info, make score compact. */
.fh-v030-ranking-wrap .fh-ranking-list{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.fh-v030-ranking-wrap .fh-ranking-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:214px!important;
  padding:40px 15px 14px!important;
  border-radius:10px!important;
  background:
    linear-gradient(90deg,rgba(113,88,45,.042) 1px,transparent 1px),
    linear-gradient(rgba(113,88,45,.042) 1px,transparent 1px),
    #fffdf8!important;
  background-size:18px 18px,18px 18px,auto!important;
  border:1px solid var(--fh032-border)!important;
  box-shadow:var(--fh032-shadow)!important;
  overflow:hidden!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:before{
  content:""!important;position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:4px!important;height:auto!important;
  background:linear-gradient(180deg,#008780,#f0c64c)!important;opacity:1!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:after{
  content:"";position:absolute;right:12px;top:13px;width:15px;height:48px;
  background:repeating-linear-gradient(0deg,#d7cbb4 0 2px,transparent 2px 7px);opacity:.38;border-radius:99px;
}
.fh-v030-ranking-wrap .fh-ranking-card__rank{
  position:absolute!important;left:12px!important;top:0!important;z-index:3!important;
  width:34px!important;height:44px!important;border-radius:0 0 10px 10px!important;
  background:linear-gradient(180deg,#e8ae2f,#c37a18)!important;color:#fff!important;
  font-size:19px!important;font-weight:950!important;box-shadow:0 3px 0 rgba(106,63,13,.26)!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(2) .fh-ranking-card__rank{background:linear-gradient(180deg,#cbd1d8,#8f9aa5)!important;}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(3) .fh-ranking-card__rank{background:linear-gradient(180deg,#d18a4c,#aa5628)!important;}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(n+4) .fh-ranking-card__rank{background:linear-gradient(180deg,#f0f3f5,#bbc3cb)!important;color:#20384f!important;}
.fh-v030-ranking-wrap .fh-ranking-card__body{display:flex!important;flex-direction:column!important;min-height:100%!important;min-width:0!important;}
.fh-v030-ranking-wrap .fh-ranking-card__head{display:block!important;padding-top:0!important;padding-right:14px!important;}
.fh-v030-ranking-wrap .fh-ranking-card__title{
  min-height:42px!important;max-height:42px!important;overflow:hidden!important;
  margin:0 0 7px!important;font-size:14.5px!important;line-height:1.45!important;font-weight:950!important;color:var(--fh032-ink)!important;
  letter-spacing:.005em!important;
}
.fh-v030-ranking-wrap .fh-target-type-badge{height:22px!important;min-height:22px!important;padding:0 8px!important;font-size:9.5px!important;line-height:22px!important;white-space:nowrap!important;}
.fh-v030-ranking-wrap .fh-ranking-card__summary{display:none!important;}
.fh-v030-ranking-wrap .fh-ranking-card__score{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
  margin:11px 0 7px!important;padding:6px 9px!important;min-height:40px!important;border-radius:12px!important;
  background:#dff4f1!important;border:1px solid #b9ddd9!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-label{font-size:10.5px!important;color:#2b6b69!important;font-weight:950!important;}
.fh-v030-ranking-wrap .fh-ranking-card__score-number{font-size:21px!important;line-height:1!important;color:#057a75!important;font-weight:950!important;}
.fh-v030-ranking-wrap .fh-ranking-card__score-unit{display:none!important;}
.fh-v030-ranking-wrap .fh-star-rating{margin:0 0 8px!important;min-height:18px!important;font-size:13px!important;letter-spacing:.04em!important;color:#d09108!important;}
.fh-v030-ranking-wrap .fh-ranking-card__meta{
  display:block!important;margin:0!important;padding:0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta div{display:none!important;}
.fh-v030-ranking-wrap .fh-ranking-card__meta div:first-child{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;
  min-height:24px!important;padding:0!important;background:transparent!important;border:0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta dt{font-size:11px!important;color:#5d6f82!important;font-weight:900!important;}
.fh-v030-ranking-wrap .fh-ranking-card__meta dd{margin:0!important;font-size:12px!important;color:#102b45!important;font-weight:950!important;}
.fh-v030-ranking-wrap .fh-card-link{
  margin-top:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;
  min-height:32px!important;padding-top:8px!important;border-top:1px dashed #d4c6aa!important;
  color:#083d5b!important;font-size:11.5px!important;font-weight:950!important;text-decoration:none!important;
}
.fh-v030-ranking-wrap .fh-card-link:after{content:"›";margin-left:6px;font-size:16px;}

/* 7. Latest empty state: no lonely small box */
.fh-v032-latest-panel{position:relative;}
.fh-v030-latest .fh-empty-message{
  display:flex!important;align-items:center!important;gap:12px!important;
  min-height:72px!important;padding:18px 20px 18px 70px!important;
  background:linear-gradient(180deg,#fffefa,#fff9ec)!important;border:1px dashed #d2c1a0!important;
  color:#52677d!important;border-radius:10px!important;box-shadow:var(--fh032-soft-shadow)!important;
  position:relative!important;
}
.fh-v030-latest .fh-empty-message:before{
  content:"MEMO";position:absolute;left:16px;top:18px;width:40px;height:36px;display:grid;place-items:center;
  background:#e7f4ef;color:#11745d;border-radius:8px;font-size:10px;font-weight:950;
}
.fh-v032-empty-review-support{
  margin-top:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
  padding:14px 16px;background:#fff4bd;border:1px solid #e2c963;border-radius:10px;box-shadow:var(--fh032-soft-shadow);
}
.fh-v032-empty-review-support strong{font-size:15px;color:var(--fh032-ink);}
.fh-v032-empty-review-support p{margin:0;color:#52677d;font-size:13px;font-weight:700;}
.fh-v032-empty-review-support a{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:999px;background:var(--fh032-teal);color:#fff;text-decoration:none;font-weight:900;font-size:12px;white-space:nowrap;}
.fh-v032-mini-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#fff;border:1px solid #d2c1a0;color:#0b3a5a;font-weight:900;}
.fh-v030-latest .fh-review-comment-list:not(:empty) + .fh-v032-empty-review-support{display:none;}

/* 8. Channel cards: stronger icons, less fake-search confusion */
.fh-v030-channel-card{border-radius:10px!important;border-color:#d3c2a2!important;}
.fh-v030-channel-card__head{gap:14px!important;}
.fh-v030-channel-icon{width:44px!important;height:44px!important;border-radius:13px!important;box-shadow:0 4px 0 rgba(0,0,0,.12)!important;}
.fh-v030-search-fake{background:#fffdf8!important;border-style:dashed!important;}
.fh-v030-search-fake:before{content:"キーワード例";display:inline-flex;margin-right:8px;color:#87909a;font-size:11px;font-weight:900;}
.fh-v030-tags span{box-shadow:inset 0 -2px 0 rgba(0,0,0,.06);}

/* 9. Integrated board: clearer arrows/flow and readable side note */
.fh-v030-flow-board{border-radius:11px!important;}
.fh-v030-flow-steps{gap:12px!important;}
.fh-v030-flow-steps i{width:52px!important;border-top-width:3px!important;position:relative;}
.fh-v030-flow-steps i:after{content:"";position:absolute;right:-3px;top:-6px;border-left:8px solid var(--fh032-teal);border-top:5px solid transparent;border-bottom:5px solid transparent;}
.fh-v030-clipboard span{font-size:17px!important;line-height:1.55!important;}
.fh-v030-clipboard li{font-size:13px!important;line-height:1.65!important;}
.fh-v030-side-note{font-size:16px!important;line-height:1.7!important;}

/* 10. Bottom cards: icon/card differentiation */
.fh-v030-bottom-grid a{position:relative;border-radius:10px!important;padding:22px 20px 18px 68px!important;background:linear-gradient(180deg,#fffefa,#fff9ef)!important;}
.fh-v030-bottom-grid a:after{content:"›";position:absolute;right:18px;bottom:15px;font-size:20px;color:#0b3d5b;font-weight:900;}
.fh-v030-bottom-icon{position:absolute!important;left:20px!important;top:22px!important;width:34px!important;height:34px!important;border-radius:9px!important;background:#f7fbfb!important;border:1px solid #ccd8d8!important;}
.fh-v030-bottom-grid strong{font-size:17px!important;line-height:1.45!important;}
.fh-v030-bottom-grid em{font-size:13px!important;line-height:1.75!important;}

/* 11. Disclaimer and footer connection */
.fh-v030-disclaimer{display:grid!important;grid-template-columns:34px 1fr auto!important;gap:12px!important;line-height:1.75!important;border-style:dashed!important;}
.fh-v030-disclaimer:after{content:"自己責任でご利用ください";display:inline-grid;place-items:center;padding:7px 12px;border:2px solid #b95b4f;border-radius:4px;color:#b95b4f;font-weight:950;transform:rotate(-3deg);white-space:nowrap;}
.fh-site-footer{position:relative!important;margin-top:54px!important;border-top:8px solid rgba(255,231,151,.72)!important;}
.fh-site-footer:before{content:"";position:absolute;left:0;right:0;top:-20px;height:18px;background:linear-gradient(90deg,transparent 0 8px,rgba(122,95,45,.12) 8px 10px,transparent 10px 18px);background-size:18px 18px;opacity:.7;}
.fh-footer-nav{gap:14px 22px!important;}
.fh-footer-nav a{font-weight:850!important;}

/* 12. Subpage review/list cards minor polish */
.fh-review-target-card:after{content:"";position:absolute;right:18px;top:18px;width:15px;height:46px;background:repeating-linear-gradient(0deg,#d7cbb4 0 2px,transparent 2px 7px);opacity:.35;border-radius:99px;}
.fh-review-target-card__title{font-size:21px!important;line-height:1.5!important;}
.fh-review-target-card__meta div{background:#fffaf0!important;}

@media (max-width:1180px){
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:repeat(5,minmax(150px,1fr))!important;overflow-x:auto!important;padding:8px 2px 14px!important;scroll-snap-type:x proximity!important;}
  .fh-v030-ranking-wrap .fh-ranking-card{scroll-snap-align:start!important;}
  .fh-site-header--v030 .fh-logo{min-width:220px!important;}
  .fh-global-nav{gap:12px!important;}
  .fh-global-nav a{font-size:11.5px!important;}
}
@media (max-width:980px){
  .fh-v030-hero__paper{grid-template-columns:1fr!important;overflow:hidden!important;}
  .fh-v030-board{transform:none!important;transform-origin:center!important;}
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:repeat(3,minmax(180px,1fr))!important;overflow:visible!important;}
  .fh-v032-empty-review-support{grid-template-columns:auto 1fr!important;}
  .fh-v032-empty-review-support a{grid-column:2;justify-self:start;}
}
@media (max-width:760px){
  .fh-v030-hero__paper{padding:34px 20px 28px!important;}
  .fh-v030-hero__title{font-size:32px!important;line-height:1.42!important;}
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:1fr!important;}
  .fh-v030-ranking-wrap .fh-ranking-card{min-height:0!important;padding:42px 18px 16px!important;}
  .fh-v030-ranking-wrap .fh-ranking-card__title{min-height:auto!important;max-height:none!important;font-size:17px!important;}
  .fh-v030-ranking-wrap .fh-ranking-card__meta div:nth-child(-n+2){display:flex!important;justify-content:space-between!important;}
  .fh-v032-empty-review-support{display:block!important;}
  .fh-v032-empty-review-support p{margin:6px 0 10px!important;}
  .fh-v030-flow-steps i{width:2px!important;height:28px!important;border-top:0!important;border-left:3px dashed var(--fh032-teal)!important;}
  .fh-v030-flow-steps i:after{right:-6px;top:auto;bottom:-1px;transform:rotate(90deg);}
  .fh-v030-disclaimer{grid-template-columns:34px 1fr!important;}
  .fh-v030-disclaimer:after{grid-column:1 / -1;justify-self:start;}
}

/* =========================================================
   v0.3.3 Detail Refinement
   カンプとのズレを潰すための細部修正
   - ranking cards: no crushed layout, score badge repositioned
   - Japanese line wrapping: stronger phrase protection
   - bottom cards / flow / empty review state / header polish
   ========================================================= */
:root{
  --fh033-ink:#0a223c;
  --fh033-teal:#007c78;
  --fh033-gold:#d99a25;
  --fh033-paper:#fffdf7;
  --fh033-paper-line:rgba(116,88,43,.055);
  --fh033-border:#d8c7a8;
  --fh033-shadow:0 12px 24px rgba(38,28,10,.13),0 2px 0 rgba(118,91,42,.10);
}

/* 全体：日本語を途中で割りすぎない */
.fh-v030-hero__title,
.fh-v030-section-title,
.fh-v030-how-card h3,
.fh-v030-channel-card h3,
.fh-v030-flow-main h2,
.fh-v030-bottom-grid strong,
.fh-ranking-card__title,
.fh-review-target-card__title{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
}
.fh-v030-hero__lead,
.fh-v030-how-card p,
.fh-v030-channel-card p,
.fh-v030-bottom-grid em,
.fh-v030-disclaimer,
.fh-review-target-card__memo{
  overflow-wrap:break-word!important;
  line-break:strict!important;
}

/* ヘッダー：ナビとロゴの余白を再調整 */
.fh-site-header--v030 .fh-site-header__inner{
  width:min(100% - 36px,1240px)!important;
  min-height:74px!important;
  padding:9px 20px 9px 24px!important;
  gap:24px!important;
}
.fh-site-header--v030 .fh-logo{min-width:260px!important;}
.fh-logo__mark{width:50px!important;height:50px!important;}
.fh-logo__main{font-size:25px!important;}
.fh-global-nav{gap:20px!important;}
.fh-global-nav a{font-size:12.8px!important;letter-spacing:.02em!important;}
.fh-header-cta{min-width:158px!important;box-shadow:0 5px 0 #004d4b,0 10px 18px rgba(0,103,99,.18)!important;}

/* ヒーロー：右メモの迫力を少し抑えつつ紙面感を上げる */
.fh-v030-hero__paper{
  width:min(100% - 32px,1180px)!important;
  padding:62px 54px 48px!important;
}
.fh-v030-hero__title{
  font-size:clamp(42px,4.25vw,58px)!important;
  line-height:1.32!important;
  letter-spacing:.01em!important;
}
.fh-v030-hero__lead{font-size:16px!important;line-height:1.9!important;max-width:600px!important;}
.fh-v030-feature-note{transform:rotate(-4deg) scale(.96)!important;}
.fh-v030-scrap{font-size:12px!important;}
.fh-v030-scrap strong{font-size:14px!important;line-height:1.65!important;}
.fh-v030-sticky{font-size:15.5px!important;}

/* HOW TO：カード内の視線とアイコン統一 */
.fh-v030-howto{padding-top:58px!important;}
.fh-v030-how-card{
  min-height:146px!important;
  padding:30px 88px 24px 88px!important;
}
.fh-v030-how-card h3{font-size:20px!important;}
.fh-v030-how-card p{font-size:14px!important;line-height:1.75!important;}
.fh-v030-icon{width:50px!important;height:50px!important;right:26px!important;top:34px!important;}

/* ランキング：カンプ2枚目の一覧性＋1枚目の紙質感に寄せ直し */
.fh-v030-ranking-wrap .fh-ranking-list{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:17px!important;
  align-items:stretch!important;
}
.fh-v030-ranking-wrap .fh-ranking-card{
  position:relative!important;
  display:block!important;
  min-height:238px!important;
  padding:52px 16px 16px!important;
  border-radius:10px!important;
  background:
    linear-gradient(90deg,var(--fh033-paper-line) 1px,transparent 1px),
    linear-gradient(var(--fh033-paper-line) 1px,transparent 1px),
    linear-gradient(180deg,#fffefa 0%,#fffaf1 100%)!important;
  background-size:17px 17px,17px 17px,auto!important;
  border:1px solid var(--fh033-border)!important;
  box-shadow:var(--fh033-shadow)!important;
  overflow:hidden!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:before{
  content:""!important;
  position:absolute!important;
  left:0!important;top:0!important;bottom:0!important;width:4px!important;height:auto!important;
  background:linear-gradient(180deg,#008780 0%,#f0c64c 100%)!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:after{
  content:""!important;
  position:absolute!important;
  right:12px!important;top:13px!important;width:14px!important;height:50px!important;
  background:repeating-linear-gradient(0deg,#d7cbb4 0 2px,transparent 2px 7px)!important;
  opacity:.34!important;border-radius:99px!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__rank{
  position:absolute!important;left:12px!important;top:0!important;z-index:5!important;
  width:36px!important;height:48px!important;border-radius:0 0 10px 10px!important;
  display:grid!important;place-items:center!important;
  font-size:20px!important;font-weight:950!important;
  box-shadow:0 3px 0 rgba(106,63,13,.24)!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__body{
  display:grid!important;
  grid-template-rows:auto auto auto 1fr auto!important;
  min-height:170px!important;
  min-width:0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__head{
  display:block!important;
  min-height:73px!important;
  padding:0 0 0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__title{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  min-height:44px!important;
  max-height:44px!important;
  margin:0 0 7px!important;
  overflow:hidden!important;
  font-size:15.2px!important;
  line-height:1.45!important;
  letter-spacing:.005em!important;
  color:var(--fh033-ink)!important;
  font-weight:950!important;
}
.fh-v030-ranking-wrap .fh-target-type-badge{
  height:22px!important;min-height:22px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  font-size:9.5px!important;
  line-height:22px!important;
  white-space:nowrap!important;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.06)!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__summary{display:none!important;}
/* スコアは中央の大箱ではなく、右上の小さな注目度バッジにする */
.fh-v030-ranking-wrap .fh-ranking-card__score{
  position:absolute!important;
  top:48px!important;
  right:14px!important;
  z-index:4!important;
  display:grid!important;
  place-items:center!important;
  width:66px!important;
  min-height:46px!important;
  margin:0!important;
  padding:6px 7px!important;
  border-radius:13px!important;
  background:#dff4f1!important;
  border:1px solid #b6ddd9!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 4px 10px rgba(0,124,120,.08)!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-label{
  display:block!important;
  font-size:9.5px!important;
  line-height:1!important;
  color:#2b6b69!important;
  font-weight:950!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-number{
  display:block!important;
  margin-top:3px!important;
  font-size:21px!important;
  line-height:1!important;
  color:#057a75!important;
  font-weight:950!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-unit{display:none!important;}
.fh-v030-ranking-wrap .fh-star-rating{
  margin:8px 0 8px!important;
  min-height:18px!important;
  color:#d09008!important;
  font-size:13px!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta{
  display:block!important;
  margin:0!important;
  padding:0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta div{display:none!important;}
.fh-v030-ranking-wrap .fh-ranking-card__meta div:first-child{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-height:26px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta dt{
  font-size:11px!important;
  color:#617184!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta dd{
  margin:0!important;
  color:#102b45!important;
  font-size:12px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.fh-v030-ranking-wrap .fh-card-link{
  margin-top:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  border:0!important;
  background:#e1f5f2!important;
  color:#07465f!important;
  font-size:12px!important;
  font-weight:950!important;
  text-decoration:none!important;
  box-shadow:inset 0 -2px 0 rgba(0,103,99,.08)!important;
}
.fh-v030-ranking-wrap .fh-card-link:after{content:"›"!important;margin-left:6px!important;font-size:15px!important;}

/* 新着口コミ：空状態を寂しくしない。実投稿がある時も邪魔しない補助CTAにする */
.fh-v032-latest-panel{display:grid!important;gap:12px!important;}
.fh-v030-latest .fh-empty-message{
  max-width:380px!important;
  min-height:88px!important;
  padding:20px 22px 20px 76px!important;
  background:linear-gradient(180deg,#fffefa,#fff8ec)!important;
  border:1px dashed #d1bd99!important;
  border-radius:10px!important;
  box-shadow:var(--fh033-shadow)!important;
  position:relative!important;
}
.fh-v030-latest .fh-empty-message:before{
  content:"MEMO"!important;
  position:absolute!important;left:18px!important;top:22px!important;
  width:42px!important;height:38px!important;
  display:grid!important;place-items:center!important;
  background:#e7f4ef!important;color:#11745d!important;
  border-radius:8px!important;font-size:10px!important;font-weight:950!important;
}
.fh-v032-empty-review-support{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:12px!important;
  max-width:720px!important;
  padding:14px 16px!important;
  background:#fff4bd!important;
  border:1px solid #e2c963!important;
  border-radius:10px!important;
  box-shadow:var(--fh033-shadow)!important;
}
.fh-v030-latest .fh-review-comment-card + .fh-v032-empty-review-support{display:none!important;}

/* チャンネルカード：アイコン、検索風UIの質感 */
.fh-v030-channel-icon{width:48px!important;height:48px!important;border-radius:14px!important;font-size:15px!important;}
.fh-v030-channel-card h3{font-size:22px!important;line-height:1.35!important;}
.fh-v030-search-fake{min-height:44px!important;border-style:dashed!important;background:#fffdf8!important;}
.fh-v030-search-fake:before{content:"キーワード例"!important;color:#87909a!important;font-size:11px!important;font-weight:950!important;margin-right:10px!important;}

/* 統合説明：見出しと矢印、単語途中折り返しを防ぐ */
.fh-v030-flow-main h2{
  max-width:560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:25px!important;
  line-height:1.55!important;
  text-align:center!important;
}
.fh-v030-flow-steps span{
  min-width:118px!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.fh-v030-flow-steps i{width:54px!important;border-top-width:3px!important;position:relative!important;}
.fh-v030-flow-steps i:after{content:""!important;position:absolute!important;right:-3px!important;top:-6px!important;border-left:8px solid var(--fh033-teal)!important;border-top:5px solid transparent!important;border-bottom:5px solid transparent!important;}

/* 下部導線：タイトルの途中改行を避け、カード感を強める */
.fh-v030-bottom-grid{gap:20px!important;}
.fh-v030-bottom-grid a{
  min-height:128px!important;
  padding:24px 22px 20px 76px!important;
}
.fh-v030-bottom-grid strong{
  display:block!important;
  max-width:100%!important;
  font-size:17px!important;
  line-height:1.5!important;
  letter-spacing:.005em!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.fh-v030-bottom-grid em{font-size:13.2px!important;line-height:1.75!important;}
.fh-v030-bottom-icon{width:38px!important;height:38px!important;}

/* 注意書き：横長すぎを防ぐ */
.fh-v030-disclaimer{
  grid-template-columns:34px 1fr auto!important;
  max-width:100%!important;
  padding:18px 20px!important;
  line-height:1.8!important;
}

@media (max-width:1180px){
  .fh-v030-ranking-wrap .fh-ranking-list{
    grid-template-columns:repeat(5,minmax(168px,1fr))!important;
    overflow-x:auto!important;
    padding:8px 2px 14px!important;
    scroll-snap-type:x proximity!important;
  }
  .fh-v030-ranking-wrap .fh-ranking-card{scroll-snap-align:start!important;}
  .fh-site-header--v030 .fh-logo{min-width:225px!important;}
  .fh-global-nav{gap:12px!important;}
  .fh-global-nav a{font-size:11.5px!important;}
}
@media (max-width:980px){
  .fh-v030-hero__paper{grid-template-columns:1fr!important;overflow:hidden!important;}
  .fh-v030-board{transform:none!important;}
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:repeat(3,minmax(190px,1fr))!important;overflow:visible!important;}
  .fh-v032-empty-review-support{grid-template-columns:auto 1fr!important;}
  .fh-v032-empty-review-support a{grid-column:2;justify-self:start;}
}
@media (max-width:760px){
  .fh-site-header--v030 .fh-site-header__inner{width:min(100% - 16px,1240px)!important;}
  .fh-v030-hero__paper{width:min(100% - 20px,1180px)!important;padding:34px 20px 28px!important;}
  .fh-v030-hero__title{font-size:32px!important;line-height:1.42!important;}
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:1fr!important;}
  .fh-v030-ranking-wrap .fh-ranking-card{min-height:0!important;padding:52px 18px 16px!important;}
  .fh-v030-ranking-wrap .fh-ranking-card__title{min-height:auto!important;max-height:none!important;font-size:17px!important;}
  .fh-v030-ranking-wrap .fh-ranking-card__score{position:absolute!important;top:48px!important;right:16px!important;}
  .fh-v030-ranking-wrap .fh-ranking-card__meta div:nth-child(-n+2){display:flex!important;justify-content:space-between!important;}
  .fh-v032-empty-review-support{display:block!important;}
  .fh-v032-empty-review-support p{margin:6px 0 10px!important;}
  .fh-v030-flow-steps{display:grid!important;}
  .fh-v030-flow-steps i{width:2px!important;height:28px!important;border-top:0!important;border-left:3px dashed var(--fh033-teal)!important;margin:auto!important;}
  .fh-v030-flow-steps i:after{right:-6px!important;top:auto!important;bottom:-1px!important;transform:rotate(90deg)!important;}
  .fh-v030-disclaimer{grid-template-columns:34px 1fr!important;}
  .fh-v030-disclaimer:after{grid-column:1 / -1!important;justify-self:start!important;}
}

/* =========================================================
   v0.3.4 Detail Precision
   User screenshot fixes: ranking card readability, flow card balance,
   natural Japanese wrapping, icon/detail polish.
   ========================================================= */
:root{
  --fh034-ink:#07203a;
  --fh034-sub:#31485f;
  --fh034-line:#d6c7aa;
  --fh034-teal:#007c78;
  --fh034-teal-soft:#e2f6f2;
  --fh034-gold:#d79716;
  --fh034-paper:#fffdf7;
}
html,body{
  word-break:normal;
  overflow-wrap:normal;
  line-break:strict;
}
.fh-nowrap{white-space:nowrap;}
.fh-v030-hero__title,
.fh-v030-section-title,
.fh-ranking-card__title,
.fh-review-target-card__title,
.fh-v030-bottom-grid strong,
.fh-v030-flow-main h2,
.fh-v030-channel-card h3{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  text-wrap:balance;
}

/* header: more composed, less cramped */
.fh-site-header--v030 .fh-site-header__inner{
  width:min(100% - 32px,1180px)!important;
  min-height:72px!important;
  padding:10px 18px!important;
  border-radius:0 0 16px 16px!important;
}
.fh-logo{
  min-width:238px!important;
  gap:9px!important;
}
.fh-logo__main{font-size:21px!important;letter-spacing:.05em;}
.fh-logo__sub{font-size:10.5px!important;white-space:nowrap;}
.fh-logo:before{width:48px!important;height:48px!important;flex:0 0 48px!important;}
.fh-global-nav{gap:18px!important;align-items:center!important;}
.fh-global-nav a{font-size:12.5px!important;white-space:nowrap!important;line-height:1.15!important;}
.fh-header-cta{min-width:150px!important;min-height:44px!important;padding:0 18px!important;font-size:13px!important;}

/* hero: tighten Japanese line and keep board decorative */
.fh-v030-hero__paper{
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr)!important;
  padding:66px 54px 54px!important;
}
.fh-v030-hero__title{
  font-size:clamp(40px,4.15vw,62px)!important;
  line-height:1.25!important;
  letter-spacing:.035em!important;
  margin-top:20px!important;
}
.fh-v030-hero__lead{
  max-width:600px!important;
  font-size:15.5px!important;
  line-height:2!important;
}
.fh-v030-board{transform:scale(.94);transform-origin:center right;}
.fh-v030-feature-note{width:350px!important;min-height:216px!important;padding:50px 30px 28px!important;}
.fh-v030-feature-note h2{font-size:27px!important;}
.fh-v030-stamp{opacity:.62!important;mix-blend-mode:multiply;}
.fh-v030-scrap{font-size:13px!important;line-height:1.7!important;}
.fh-v030-scrap strong{font-size:15px!important;}

/* how cards: more designed, less generic */
.fh-v030-howto-grid{gap:22px!important;}
.fh-v030-how-card{
  min-height:142px!important;
  padding:30px 92px 24px 82px!important;
}
.fh-v030-how-card:nth-child(1){transform:rotate(-.7deg);}
.fh-v030-how-card:nth-child(2){transform:rotate(.35deg);}
.fh-v030-how-card:nth-child(3){transform:rotate(-.2deg);}
.fh-v030-how-card .fh-v030-tape{left:34px!important;top:-13px!important;transform:rotate(-3deg)!important;}
.fh-v030-how-card:nth-child(2) .fh-v030-tape{left:46px!important;transform:rotate(2deg)!important;}
.fh-v030-how-card:nth-child(3) .fh-v030-tape{left:52px!important;transform:rotate(-1deg)!important;}
.fh-v030-how-card__num{left:31px!important;top:31px!important;font-size:25px!important;}
.fh-v030-how-card h3{font-size:18px!important;line-height:1.45!important;}
.fh-v030-how-card p{font-size:13.5px!important;line-height:1.75!important;}
.fh-v030-icon{right:26px!important;top:31px!important;width:52px!important;height:52px!important;}

/* top ranking: rebuild from card content, not just decoration */
.fh-v030-ranking-wrap .fh-ranking-list{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.fh-v030-ranking-wrap .fh-ranking-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:236px!important;
  padding:48px 14px 16px!important;
  background:
    linear-gradient(90deg,rgba(165,128,65,.055) 1px,transparent 1px),
    linear-gradient(rgba(165,128,65,.055) 1px,transparent 1px),
    var(--fh034-paper)!important;
  background-size:17px 17px!important;
  border:1px solid var(--fh034-line)!important;
  border-left:4px solid #e5b21c!important;
  border-radius:10px!important;
  box-shadow:0 12px 24px rgba(47,35,15,.13)!important;
  overflow:hidden!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:before{
  content:""!important;
  position:absolute!important;
  right:11px!important;top:18px!important;
  width:18px!important;height:72%!important;
  background:repeating-linear-gradient(0deg,#e1d4bb 0 2px,transparent 2px 8px)!important;
  opacity:.44!important;
  pointer-events:none!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:after{
  content:""!important;
  position:absolute!important;
  left:50%!important;top:-8px!important;
  width:54px!important;height:16px!important;
  background:rgba(226,232,220,.7)!important;
  transform:translateX(-50%) rotate(-1.5deg)!important;
  box-shadow:0 3px 8px rgba(0,0,0,.06)!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__rank{
  position:absolute!important;
  left:13px!important;top:-1px!important;
  width:42px!important;height:52px!important;
  border-radius:0 0 13px 13px!important;
  background:linear-gradient(180deg,#e4aa27,#c68013)!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:950!important;
  box-shadow:0 4px 0 rgba(104,62,12,.24)!important;
  z-index:3!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(2){border-left-color:#adb7c2!important;}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(3){border-left-color:#c46e35!important;}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(n+4){border-left-color:#c5ced8!important;}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(2) .fh-ranking-card__rank{background:linear-gradient(180deg,#c7d0d8,#8895a4)!important;}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(3) .fh-ranking-card__rank{background:linear-gradient(180deg,#cb7f43,#a74c23)!important;}
.fh-v030-ranking-wrap .fh-ranking-card:nth-child(n+4) .fh-ranking-card__rank{background:linear-gradient(180deg,#eef2f5,#b9c2cc)!important;color:#15314e!important;}
.fh-v030-ranking-wrap .fh-ranking-card__body{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  position:relative!important;
  z-index:2!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__head{
  display:block!important;
  padding:0!important;
  margin:0!important;
  min-width:0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__title{
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden!important;
  min-height:43px!important;
  max-height:43px!important;
  margin:0 0 10px!important;
  padding-right:12px!important;
  color:var(--fh034-ink)!important;
  font-size:15.5px!important;
  line-height:1.4!important;
  letter-spacing:.015em!important;
}
.fh-v030-ranking-wrap .fh-target-type-badge{
  display:inline-flex!important;
  min-height:24px!important;
  max-width:100%!important;
  padding:0 9px!important;
  font-size:10.5px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__summary{display:none!important;}
.fh-v030-ranking-wrap .fh-ranking-card__score{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:44px!important;
  margin:11px 0 8px!important;
  padding:8px 11px!important;
  border:1px solid #a8ddd8!important;
  border-radius:12px!important;
  background:#dff4f1!important;
  box-shadow:inset 0 -2px 0 rgba(0,124,120,.06)!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-label{
  color:#075f5b!important;
  font-size:11px!important;
  font-weight:900!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-number{
  color:#007c78!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:950!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-unit{display:none!important;}
.fh-v030-ranking-wrap .fh-star-rating{
  margin:0 0 8px!important;
  color:#d69400!important;
  font-size:14px!important;
  letter-spacing:.03em!important;
  white-space:nowrap!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta{
  display:block!important;
  margin:0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta div{
  display:none!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta .fh-ranking-card__meta-item--reviews,
.fh-v030-ranking-wrap .fh-ranking-card__meta div:first-child{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 10px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta dt{
  color:#3c5167!important;
  font-size:12px!important;
  font-weight:900!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__meta dd{
  margin:0!important;
  color:#102b46!important;
  font-size:13px!important;
  font-weight:950!important;
}
.fh-v030-ranking-wrap .fh-card-link{
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  margin-top:auto!important;
  padding:0 13px!important;
  border-radius:999px!important;
  background:#dff4f1!important;
  color:#07334a!important;
  border:1px solid #b9e6e1!important;
  font-size:12px!important;
  font-weight:950!important;
  text-decoration:none!important;
}
.fh-v030-ranking-wrap .fh-card-link:after{content:"›";margin-left:7px;font-size:15px;}

/* latest empty: designed state rather than lonely text */
.fh-v030-latest .fh-review-comment-list:has(.fh-empty-message){display:none!important;}
.fh-v032-empty-review-support{
  max-width:560px!important;
  min-height:118px!important;
  padding:24px 26px 22px 84px!important;
  background:var(--fh034-paper)!important;
  border:1px dashed var(--fh034-line)!important;
  box-shadow:0 10px 20px rgba(41,30,13,.09)!important;
}
.fh-v032-empty-review-support .fh-v032-mini-icon{
  position:absolute!important;
  left:24px!important;top:26px!important;
  width:42px!important;height:42px!important;
  display:grid!important;place-items:center!important;
  border-radius:14px!important;
  background:#e1f4ef!important;
  color:#007c78!important;
}
.fh-v032-empty-review-support strong{font-size:18px!important;line-height:1.45!important;}
.fh-v032-empty-review-support p{margin:.35em 0 .7em!important;line-height:1.75!important;}

/* channel search polish */
.fh-v030-channel-card{padding:28px 30px 24px!important;}
.fh-v030-channel-icon{
  width:50px!important;height:50px!important;border-radius:16px!important;
  font-size:15px!important;box-shadow:0 8px 16px rgba(14,38,56,.10)!important;
}
.fh-v030-search-fake:before{
  content:"キーワード例";
  color:#7b8791;
  font-size:11px;
  font-weight:800;
  margin-right:14px;
}
.fh-v030-tags span{font-size:12px!important;padding:6px 12px!important;}

/* integrated flow: make arrows and text easier */
.fh-v030-flow-board{grid-template-columns:250px minmax(0,1fr) 210px!important;gap:28px!important;align-items:center!important;}
.fh-v030-flow-main h2{max-width:620px;margin:0 auto 24px!important;font-size:25px!important;line-height:1.55!important;}
.fh-v030-flow-steps{gap:18px!important;}
.fh-v030-flow-steps i{position:relative;width:58px!important;border-top:3px dotted var(--fh034-teal)!important;}
.fh-v030-flow-steps i:after{content:"";position:absolute;right:-2px;top:-5px;border-left:8px solid var(--fh034-teal);border-top:5px solid transparent;border-bottom:5px solid transparent;}
.fh-v030-flow-steps span{min-width:145px!important;padding:17px 14px!important;line-height:1.5!important;}
.fh-v030-clipboard span{font-size:17px!important;line-height:1.65!important;}
.fh-v030-clipboard li{font-size:13px!important;line-height:1.75!important;}
.fh-v030-side-note{font-size:16px!important;line-height:1.7!important;padding:26px 24px!important;}

/* bottom links: card headings should not break into one character lines */
.fh-v030-bottom-grid{gap:18px!important;}
.fh-v030-bottom-grid a{display:grid!important;grid-template-columns:44px 1fr 18px!important;column-gap:16px!important;align-items:start!important;padding:24px 22px!important;}
.fh-v030-bottom-grid a:after{content:"›";grid-column:3;grid-row:1 / span 2;align-self:center;color:#0f2d47;font-size:22px;font-weight:900;}
.fh-v030-bottom-icon{grid-column:1;grid-row:1 / span 2;width:42px!important;height:42px!important;}
.fh-v030-bottom-grid strong{grid-column:2;font-size:17px!important;line-height:1.5!important;letter-spacing:.02em!important;}
.fh-v030-bottom-grid em{grid-column:2;margin-top:4px!important;font-size:13px!important;line-height:1.75!important;}
.fh-v030-disclaimer{grid-template-columns:36px 1fr auto!important;line-height:1.75!important;}
.fh-v030-disclaimer:after{white-space:nowrap!important;}

/* footer connection */
.fh-site-footer{position:relative!important;border-top:5px solid #d8b24c!important;}
.fh-site-footer:before{content:"";position:absolute;left:0;right:0;top:-9px;height:4px;background:rgba(255,255,255,.4);}

@media (max-width:1180px){
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:repeat(5,minmax(165px,1fr))!important;overflow-x:auto!important;padding:8px 2px 14px!important;scroll-snap-type:x proximity!important;}
  .fh-v030-ranking-wrap .fh-ranking-card{scroll-snap-align:start!important;}
  .fh-v030-flow-board{grid-template-columns:1fr!important;}
}
@media (max-width:980px){
  .fh-v030-hero__paper{grid-template-columns:1fr!important;padding:48px 30px!important;}
  .fh-v030-board{transform:none;}
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important;}
}
@media (max-width:760px){
  .fh-site-header--v030 .fh-site-header__inner{width:min(100% - 18px,1180px)!important;padding:10px 12px!important;}
  .fh-logo{min-width:0!important;}
  .fh-v030-hero__title{font-size:34px!important;}
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:1fr!important;}
  .fh-v030-ranking-wrap .fh-ranking-card{min-height:0!important;padding:46px 18px 18px!important;}
  .fh-v030-ranking-wrap .fh-ranking-card__title{min-height:auto!important;max-height:none!important;-webkit-line-clamp:unset!important;}
  .fh-v030-flow-steps{display:grid!important;justify-items:center!important;}
  .fh-v030-flow-steps i{width:0!important;height:30px!important;border-top:0!important;border-left:3px dotted var(--fh034-teal)!important;}
  .fh-v030-flow-steps i:after{right:-6px;top:22px;transform:rotate(90deg);}
  .fh-v030-bottom-grid a{grid-template-columns:42px 1fr!important;}
  .fh-v030-bottom-grid a:after{display:none!important;}
  .fh-v030-disclaimer{grid-template-columns:32px 1fr!important;}
  .fh-v030-disclaimer:after{grid-column:1 / -1;margin-top:10px;justify-self:start;}
}

/* =========================================================
   v0.3.5 Review UI polish
   - Top ranking cards: remove empty-looking meta rows, improve score/title balance
   - Review target detail: make cards feel intentional and reduce admin-table impression
   ========================================================= */
:root{
  --fh035-ink:#0a223c;
  --fh035-teal:#007c78;
  --fh035-teal-dark:#005f5c;
  --fh035-mint:#dff4f1;
  --fh035-paper:#fffdf7;
  --fh035-paper-warm:#fff8e9;
  --fh035-line:#d8c7a9;
  --fh035-gold:#d59a1a;
  --fh035-shadow:0 14px 28px rgba(54,39,15,.11);
}

/* Top page ranking section */
.fh-v030-ranking .fh-container{
  width:min(100% - 32px,1240px)!important;
}
.fh-v030-ranking .fh-v030-section-head{
  margin-bottom:22px!important;
}
.fh-v030-ranking-wrap .fh-ranking-list{
  grid-template-columns:repeat(5,minmax(188px,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
.fh-v030-ranking-wrap .fh-ranking-card{
  min-height:292px!important;
  padding:48px 18px 18px!important;
  border-radius:12px!important;
  border:1px solid var(--fh035-line)!important;
  border-left:5px solid var(--fh035-gold)!important;
  box-shadow:0 12px 26px rgba(38,27,8,.10)!important;
  background:
    linear-gradient(90deg,rgba(136,105,52,.04) 1px,transparent 1px),
    linear-gradient(rgba(136,105,52,.04) 1px,transparent 1px),
    linear-gradient(180deg,#fffefa,#fff8ed)!important;
  background-size:18px 18px,18px 18px,auto!important;
}
.fh-v030-ranking-wrap .fh-ranking-card:after{
  width:24px!important;
  height:72px!important;
  right:14px!important;
  top:18px!important;
  opacity:.38!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__rank{
  left:14px!important;
  top:0!important;
  width:46px!important;
  height:58px!important;
  border-radius:0 0 14px 14px!important;
  font-size:23px!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__title{
  min-height:48px!important;
  max-height:48px!important;
  margin:0 0 12px!important;
  padding-right:10px!important;
  font-size:16px!important;
  line-height:1.5!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
.fh-v030-ranking-wrap .fh-target-type-badge{
  margin-bottom:6px!important;
  min-height:22px!important;
  font-size:10px!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score{
  margin:12px 0 8px!important;
  min-height:56px!important;
  padding:9px 13px!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#e6f7f5,#d3f0ed)!important;
  border:1px solid #a8dcd8!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-label{
  font-size:11px!important;
  letter-spacing:.04em!important;
}
.fh-v030-ranking-wrap .fh-ranking-card__score-number{
  font-size:25px!important;
}
.fh-v030-ranking-wrap .fh-star-rating{
  margin:1px 0 14px!important;
  font-size:14px!important;
  line-height:1!important;
}
/* In the top compact ranking, empty review meta rows looked unfinished. Keep the card focused. */
.fh-v030-ranking-wrap .fh-ranking-card__meta{
  display:none!important;
}
.fh-v030-ranking-wrap .fh-card-link{
  margin-top:auto!important;
  min-height:36px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:#dff4f1!important;
  border:1px solid #b4e1dd!important;
  box-shadow:0 3px 0 rgba(0,124,120,.10)!important;
}
.fh-v030-ranking-wrap .fh-card-link:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 14px rgba(0,124,120,.13)!important;
}

/* Review target detail page */
.fh-review-detail-page .fh-page-hero--detail{
  padding-top:38px!important;
  padding-bottom:38px!important;
}
.fh-review-detail-page .fh-page-hero--detail .fh-container{
  width:min(100% - 32px,1120px)!important;
  position:relative!important;
  border-radius:26px!important;
  border:1px solid #d9cbae!important;
  box-shadow:0 18px 38px rgba(40,30,14,.11)!important;
  background:
    linear-gradient(90deg,rgba(117,92,44,.045) 1px,transparent 1px),
    linear-gradient(rgba(117,92,44,.045) 1px,transparent 1px),
    linear-gradient(180deg,#fffefa,#fff8eb)!important;
  background-size:20px 20px,20px 20px,auto!important;
  padding:30px 34px 34px!important;
}
.fh-review-detail-page .fh-page-hero--detail .fh-container:before{
  content:"";
  position:absolute;
  left:50%;top:-10px;
  width:90px;height:18px;
  transform:translateX(-50%) rotate(-1deg);
  border-radius:3px;
  background:rgba(247,217,94,.72);
  box-shadow:0 3px 8px rgba(101,76,20,.08);
}
.fh-review-detail-page .fh-breadcrumb{
  margin-bottom:18px!important;
  padding-bottom:12px!important;
  border-bottom:1px dashed rgba(138,112,70,.25)!important;
}
.fh-review-detail-page .fh-review-detail-head{
  grid-template-columns:minmax(0,1fr) 150px!important;
  align-items:center!important;
  gap:26px!important;
}
.fh-review-detail-page .fh-review-detail-head__badges{
  margin-bottom:10px!important;
}
.fh-review-detail-page .fh-page-hero__title{
  margin-top:0!important;
  font-size:clamp(34px,4vw,52px)!important;
  line-height:1.25!important;
  letter-spacing:.015em!important;
}
.fh-review-detail-page .fh-page-hero__lead{
  margin-top:14px!important;
  max-width:720px!important;
  font-size:15.5px!important;
  line-height:1.9!important;
}
.fh-review-detail-page .fh-detail-score-card{
  width:150px!important;
  min-height:124px!important;
  display:grid!important;
  align-content:center!important;
  padding:18px 14px!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#fffefa,#fff7e9)!important;
  box-shadow:0 12px 26px rgba(38,27,8,.10)!important;
}
.fh-review-detail-page .fh-detail-score-card strong{
  font-size:42px!important;
}
.fh-review-detail-page .fh-notice-box{
  margin-top:24px!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff3b8,#ffed9c)!important;
  border-color:#e6c75f!important;
  box-shadow:0 8px 18px rgba(128,92,0,.10)!important;
}
.fh-review-detail-page .fh-detail-layout{
  width:min(100% - 32px,1120px)!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  gap:24px!important;
}
.fh-review-detail-page .fh-detail-main{
  gap:24px!important;
}
.fh-review-detail-page .fh-memo-card,
.fh-review-detail-page .fh-info-box,
.fh-review-detail-page .fh-editor-memo-box,
.fh-review-detail-page .fh-related-channel-box{
  border-radius:14px!important;
  border:1px solid #d9cbae!important;
  background:linear-gradient(180deg,#fffefa,#fffaf2)!important;
  box-shadow:0 12px 26px rgba(42,31,12,.09)!important;
}
.fh-review-detail-page .fh-memo-card,
.fh-review-detail-page .fh-info-box,
.fh-review-detail-page .fh-editor-memo-box{
  padding:28px 30px!important;
}
.fh-review-detail-page .fh-memo-card__label,
.fh-review-detail-page .fh-section-heading__label{
  background:#dff4f1!important;
  border:1px solid #b5e1dd!important;
  color:#00706c!important;
}
.fh-review-detail-page .fh-info-box h2,
.fh-review-detail-page .fh-memo-card h2,
.fh-review-detail-page .fh-editor-memo-box h2{
  margin-top:0!important;
  color:#0b223d!important;
  letter-spacing:.02em!important;
}
.fh-review-detail-page .fh-basic-info-list{
  gap:0!important;
  margin-top:18px!important;
  border-top:1px solid #e2d6bd!important;
}
.fh-review-detail-page .fh-basic-info-list div{
  grid-template-columns:170px minmax(0,1fr)!important;
  min-height:50px!important;
  align-items:center!important;
  padding:13px 0!important;
  border-bottom:1px solid #e2d6bd!important;
}
.fh-review-detail-page .fh-basic-info-list dt{
  color:#566476!important;
  font-size:13px!important;
}
.fh-review-detail-page .fh-basic-info-list dd{
  color:#0e2844!important;
  font-size:14px!important;
}
.fh-review-detail-page .fh-related-channel-box{
  padding:24px 26px!important;
}
.fh-review-detail-page .fh-related-channel-box a,
.fh-review-detail-page .fh-related-channel-box .fh-btn,
.fh-review-detail-page .fh-related-channel-box button{
  border-radius:999px!important;
}
.fh-review-detail-page .fh-side-card{
  border-radius:14px!important;
  padding:26px 24px!important;
  background:linear-gradient(180deg,#fffefa,#fff8ee)!important;
  border:1px solid #d9cbae!important;
  box-shadow:0 12px 26px rgba(42,31,12,.09)!important;
}
.fh-review-detail-page .fh-side-card h2{
  margin-top:0!important;
  font-size:22px!important;
  line-height:1.45!important;
}
.fh-review-detail-page .fh-side-card .fh-btn{
  width:100%!important;
  min-height:44px!important;
  margin-top:14px!important;
}
.fh-review-detail-page .fh-review-comments{
  margin-top:2px!important;
}
.fh-review-detail-page .fh-empty-message,
.fh-review-detail-page .fh-review-comments .fh-empty-message,
.fh-review-detail-page .fh-review-comments p:only-child{
  border-radius:12px!important;
}

@media (max-width:1180px){
  .fh-v030-ranking .fh-container{width:min(100% - 24px,1120px)!important;}
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:repeat(5,minmax(170px,1fr))!important;overflow-x:auto!important;padding:8px 2px 16px!important;}
}
@media (max-width:980px){
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important;}
  .fh-review-detail-page .fh-review-detail-head,
  .fh-review-detail-page .fh-detail-layout{grid-template-columns:1fr!important;}
  .fh-review-detail-page .fh-detail-score-card{width:100%!important;min-height:auto!important;grid-template-columns:auto auto auto 1fr!important;align-items:center!important;text-align:left!important;column-gap:6px!important;}
  .fh-review-detail-page .fh-detail-score-card span{display:inline!important;}
  .fh-review-detail-page .fh-detail-score-card .fh-star-rating{justify-self:end!important;margin-top:0!important;}
  .fh-review-detail-page .fh-detail-side{position:static!important;}
}
@media (max-width:760px){
  .fh-v030-ranking-wrap .fh-ranking-list{grid-template-columns:1fr!important;}
  .fh-v030-ranking-wrap .fh-ranking-card{min-height:0!important;}
  .fh-review-detail-page .fh-page-hero--detail .fh-container{padding:26px 20px 24px!important;border-radius:20px!important;}
  .fh-review-detail-page .fh-basic-info-list div{grid-template-columns:1fr!important;gap:5px!important;}
  .fh-review-detail-page .fh-memo-card,
  .fh-review-detail-page .fh-info-box,
  .fh-review-detail-page .fh-editor-memo-box{padding:24px 20px!important;}
}

/* =========================================================
   v0.4.0 Top page review hub rebuild
   HTML is rebuilt in front-page.php. This section is isolated
   from old shortcode ranking CSS to prevent prior layout leakage.
   ========================================================= */
.fh-home-hub-v040{
  --hub-ink:#0c2742;
  --hub-muted:#5f6f80;
  --hub-line:#dfe6ec;
  --hub-soft:#f7fafc;
  --hub-green:#23b98e;
  --hub-green-soft:#dff7ee;
  --hub-blue:#dfe9f2;
  --hub-gold:#f4a90b;
  --hub-card:#fff;
  padding:42px 0 18px!important;
  background:#fff!important;
  color:var(--hub-ink);
}
.fh-home-hub-v040 *{box-sizing:border-box;}
.fh-home-hub-v040 a{text-decoration:none;color:inherit;}
.fh-v040-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 18px;}
.fh-v040-section-head--ranking{align-items:center;margin-bottom:16px;}
.fh-v040-section-head--compact{align-items:center;margin:0 0 14px;}
.fh-v040-title-row{display:flex;align-items:center;gap:12px;min-width:0;}
.fh-v040-title-row h2{margin:0;font-size:30px;line-height:1.2;font-weight:950;letter-spacing:.03em;color:var(--hub-ink);}
.fh-v040-title-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#fff7de;border:1px solid #f1c24b;color:#bf8300;font-size:19px;box-shadow:0 2px 0 rgba(172,117,0,.16);}
.fh-v040-title-icon--memo{background:#eefaf4;color:#16825f;border-color:#c6eadc;}
.fh-v040-disclaimer-mini{display:flex;align-items:center;gap:8px;margin:0;color:#334c64;font-size:13px;font-weight:800;white-space:nowrap;}
.fh-v040-disclaimer-mini span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#edf3f8;color:#49677d;font-size:12px;}

.fh-v040-ranking-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0 0 14px;}
.fh-v040-rank-card{position:relative;min-width:0;background:var(--hub-card);border:1px solid var(--hub-line);border-radius:10px;box-shadow:0 8px 18px rgba(9,31,50,.07);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.fh-v040-rank-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(9,31,50,.11);border-color:#cbd7df;}
.fh-v040-rank-card__link{display:flex;flex-direction:column;align-items:center;min-height:252px;padding:18px 14px 14px;}
.fh-v040-rank-badge{position:absolute;top:0;left:12px;z-index:2;display:grid;place-items:center;width:28px;height:42px;background:#e8a616;color:#fff;font-weight:950;font-size:18px;line-height:1;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);box-shadow:0 2px 6px rgba(133,84,0,.18);}
.fh-v040-rank-card:nth-child(2) .fh-v040-rank-badge{background:#8e9dab;}
.fh-v040-rank-card:nth-child(3) .fh-v040-rank-badge{background:#bd6b2f;}
.fh-v040-rank-card:nth-child(n+4) .fh-v040-rank-badge{top:12px;left:12px;width:26px;height:26px;border-radius:999px;clip-path:none;background:#f3f6f8;color:#24425d;border:2px solid #cbd4dc;font-size:16px;box-shadow:none;}
.fh-v040-rank-avatar{display:grid;place-items:center;width:66px;height:66px;border-radius:999px;margin:0 0 12px;background:#10365c;color:#fff;font-weight:950;font-size:16px;letter-spacing:.02em;text-align:center;line-height:1.15;box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),0 6px 14px rgba(12,39,66,.18);}
.fh-v040-rank-avatar.is-openchat{background:linear-gradient(145deg,#126f5d,#0e9d78);}
.fh-v040-rank-avatar.is-x{background:linear-gradient(145deg,#091827,#2c4054);}
.fh-v040-rank-avatar.is-brand{background:linear-gradient(145deg,#163d66,#7a4fbd);}
.fh-v040-rank-card h3{width:100%;min-height:42px;margin:0 0 6px;text-align:center;font-size:16px;line-height:1.35;font-weight:950;color:var(--hub-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;}
.fh-v040-type-pill{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:2px 10px;border-radius:999px;background:#eef3f7;color:#33546e;font-size:11px;line-height:1;font-weight:900;white-space:nowrap;}
.fh-v040-type-pill.is-openchat{background:#dff7ee;color:#137157;}
.fh-v040-type-pill.is-x{background:#e8eef4;color:#274b67;}
.fh-v040-type-pill.is-brand{background:#ede8fb;color:#6041a0;}
.fh-v040-rank-metrics{width:100%;margin:12px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--hub-line);}
.fh-v040-rank-metrics div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:29px;border-bottom:1px solid var(--hub-line);}
.fh-v040-rank-metrics dt{font-size:12px;color:#314b64;font-weight:850;}
.fh-v040-rank-metrics dd{margin:0;font-size:12px;color:#122e49;font-weight:950;text-align:right;}
.fh-v040-stars{color:#f5a800;letter-spacing:.04em;font-size:13px;}
.fh-v040-rank-metrics em{font-style:normal;color:#51677b;font-size:11px;}
.fh-v040-center-action{display:flex;justify-content:center;margin:12px 0 34px;}
.fh-v040-center-action a{display:inline-flex;align-items:center;justify-content:center;gap:14px;width:min(360px,100%);min-height:44px;border:1px solid #d6e0e8;background:#fff;border-radius:8px;color:#17324c;font-weight:950;box-shadow:0 3px 10px rgba(12,39,66,.05);}
.fh-v040-center-action a:hover{background:#f8fbfd;}

.fh-v040-latest-memos{margin:0 0 34px;}
.fh-v040-more-link{display:inline-flex;align-items:center;gap:10px;color:#183650;font-weight:950;font-size:14px;white-space:nowrap;}
.fh-v040-memo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.fh-v040-memo-card{background:#fff;border:1px solid var(--hub-line);border-radius:12px;box-shadow:0 7px 18px rgba(9,31,50,.06);}
.fh-v040-memo-card a{display:block;padding:16px;min-height:156px;}
.fh-v040-memo-card__top{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:start;margin-bottom:10px;}
.fh-v040-mini-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:#11314f;color:#fff;font-size:12px;font-weight:950;text-align:center;line-height:1.1;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35);}
.fh-v040-mini-avatar.is-openchat{background:linear-gradient(145deg,#16755e,#19a87f);}
.fh-v040-mini-avatar.is-x{background:linear-gradient(145deg,#0b1826,#31465b);}
.fh-v040-mini-avatar.is-brand{background:linear-gradient(145deg,#163d66,#7a4fbd);}
.fh-v040-memo-card h3{margin:5px 0 0;font-size:15px;line-height:1.35;font-weight:950;color:var(--hub-ink);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.fh-v040-memo-rate{text-align:right;white-space:nowrap;color:#f5a800;font-size:12px;font-weight:950;}
.fh-v040-memo-rate b{margin-left:4px;color:#263d52;}
.fh-v040-memo-card p{margin:0;color:#334b63;font-size:13px;line-height:1.7;min-height:43px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fh-v040-memo-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:#53697d;font-size:12px;font-weight:800;}

.fh-v040-channel-strip{margin:0 0 28px;}
.fh-v040-channel-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;color:#fff;font-weight:950;line-height:1;}
.fh-v040-channel-mark--line{background:#24bf82;font-size:0;}
.fh-v040-channel-mark--line:before{content:"";width:16px;height:16px;border-radius:4px;background:#fff;box-shadow:inset 0 -5px 0 #24bf82;}
.fh-v040-channel-mark--x{background:transparent;color:#101820;font-size:28px;}
.fh-v040-channel-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.fh-v040-mini-target{display:grid;grid-template-columns:42px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:70px;padding:12px;background:#fff;border:1px solid var(--hub-line);border-radius:10px;box-shadow:0 4px 12px rgba(9,31,50,.04);}
.fh-v040-mini-target .fh-v040-mini-avatar{grid-row:1/3;width:40px;height:40px;}
.fh-v040-mini-target strong{min-width:0;font-size:14px;line-height:1.25;font-weight:950;color:var(--hub-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fh-v040-mini-target small{min-width:0;font-size:12px;color:#5c7083;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fh-v040-mini-target em{grid-column:3;grid-row:1/3;font-style:normal;color:#d89100;font-size:12px;font-weight:950;white-space:nowrap;}
.fh-v040-mini-target--more{display:flex;align-items:center;justify-content:center;font-weight:950;color:#17324c;background:#fff;border-style:dashed;}
.fh-v040-integrated-callout{display:grid;grid-template-columns:58px minmax(0,1fr) 170px;align-items:center;gap:18px;margin:26px 0 10px;padding:18px 20px;background:#f4faff;border:1px solid #d8e7f3;border-radius:12px;color:var(--hub-ink);}
.fh-v040-integrated-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#fff;color:#1b6c99;font-size:32px;font-weight:900;border:1px solid #d5e5f1;}
.fh-v040-integrated-callout h2{margin:0 0 4px;font-size:20px;line-height:1.35;font-weight:950;}
.fh-v040-integrated-callout p{margin:0;color:#40586f;font-size:13px;line-height:1.7;font-weight:700;}
.fh-v040-integrated-callout a{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 18px;background:#fff;border:1px solid #d3e0ea;border-radius:8px;font-weight:950;color:#17324c;}

@media (max-width: 1080px){
  .fh-v040-ranking-grid{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity;}
  .fh-v040-rank-card{scroll-snap-align:start;}
  .fh-v040-channel-row{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 820px){
  .fh-v040-section-head,.fh-v040-section-head--ranking,.fh-v040-section-head--compact{display:block;}
  .fh-v040-title-row h2{font-size:25px;}
  .fh-v040-disclaimer-mini,.fh-v040-more-link{margin-top:10px;}
  .fh-v040-memo-grid{grid-template-columns:1fr;}
  .fh-v040-channel-row{grid-template-columns:1fr;}
  .fh-v040-integrated-callout{grid-template-columns:1fr;}
  .fh-v040-integrated-callout a{width:100%;}
}
@media (max-width: 560px){
  .fh-home-hub-v040{padding-top:28px!important;}
  .fh-v040-ranking-grid{grid-template-columns:1fr;overflow:visible;}
  .fh-v040-rank-card__link{min-height:auto;align-items:flex-start;padding:18px 16px 14px 56px;}
  .fh-v040-rank-avatar{position:absolute;right:14px;top:16px;width:52px;height:52px;font-size:13px;}
  .fh-v040-rank-card h3{text-align:left;min-height:auto;padding-right:62px;}
  .fh-v040-type-pill{margin-bottom:4px;}
  .fh-v040-rank-metrics{margin-top:10px;}
  .fh-v040-center-action{margin-bottom:28px;}
}


/* =========================================================
   v0.4.1 Header initial-state cleanup
   目的：PC初期表示でヘッダー背面の余計なボックスと上部の隙間を消す。
   影響範囲：.fh-site-header--v030 のみ
========================================================= */
@media (min-width: 961px){
  .fh-site-header--v030{
    top:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .fh-site-header--v030::before,
  .fh-site-header--v030::after{
    content:none!important;
    display:none!important;
  }
  .fh-site-header--v030 .fh-site-header__inner{
    margin:0 auto!important;
    width:min(100% - 32px,1180px)!important;
    border-top:0!important;
    border-radius:0 0 16px 16px!important;
  }
  body.admin-bar .fh-site-header--v030{
    top:32px!important;
  }
}

/* =========================================================
   Review directory pages rebuild v0.5.0
   Scoped to listing pages only. Keeps single review pages untouched.
========================================================= */
.fh-directory-page{--dir-ink:#0b223d;--dir-muted:#5d6b7a;--dir-line:#d8cab1;--dir-paper:#fffdf8;--dir-soft:#f8f1df;--dir-teal:#008c86;--dir-teal-soft:#dff4ef;--dir-yellow:#f6d96f;--dir-shadow:0 12px 28px rgba(32,28,20,.08);}
.fh-dir-hero{padding:44px 0 18px;}
.fh-dir-hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:end;padding:36px 38px 32px;border:1px solid var(--dir-line);border-radius:24px;background:linear-gradient(transparent 31px,rgba(218,203,174,.33) 32px),var(--dir-paper);background-size:100% 32px;box-shadow:var(--dir-shadow);}
.fh-dir-hero__inner:before{content:"";position:absolute;left:50%;top:-11px;width:88px;height:20px;transform:translateX(-50%) rotate(-1deg);background:rgba(247,221,104,.75);border-radius:3px;box-shadow:0 2px 4px rgba(0,0,0,.04);}
.fh-dir-kicker{display:inline-flex;align-items:center;width:fit-content;margin:0 0 14px;padding:6px 12px;border-radius:999px;background:var(--dir-teal-soft);color:#08736f;font-size:12px;font-weight:900;letter-spacing:.08em;}
.fh-dir-hero h1{margin:0;color:var(--dir-ink);font-size:clamp(34px,4.4vw,54px);line-height:1.12;letter-spacing:.02em;font-weight:950;}
.fh-dir-hero p{max-width:760px;margin:16px 0 0;color:#304154;font-size:16px;line-height:1.9;font-weight:700;}
.fh-dir-hero__notice{align-self:stretch;display:grid;align-content:center;gap:8px;padding:20px;border:1px solid #e3d2aa;border-radius:18px;background:#fff5be;color:#624a02;box-shadow:inset 0 1px 0 rgba(255,255,255,.55);}
.fh-dir-hero__notice strong{font-size:14px;font-weight:950;}
.fh-dir-hero__notice span{font-size:13px;line-height:1.7;font-weight:700;}
.fh-dir-section{padding:34px 0 78px;}
.fh-dir-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start;}
.fh-dir-main{min-width:0;}
.fh-dir-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 18px;padding:16px 18px;border:1px solid var(--dir-line);border-radius:18px;background:rgba(255,253,248,.86);box-shadow:0 7px 16px rgba(32,28,20,.05);}
.fh-dir-toolbar div{display:flex;align-items:baseline;gap:5px;white-space:nowrap;}
.fh-dir-toolbar span{color:var(--dir-muted);font-size:12px;font-weight:900;}
.fh-dir-toolbar strong{color:var(--dir-teal);font-size:28px;font-weight:950;line-height:1;}
.fh-dir-toolbar em{color:var(--dir-muted);font-size:13px;font-weight:900;font-style:normal;}
.fh-dir-toolbar p{margin:0;color:var(--dir-muted);font-size:13px;line-height:1.7;font-weight:700;}
.fh-dir-toolbar nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.fh-dir-toolbar nav a{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid #d8cab1;color:var(--dir-ink);font-size:12px;font-weight:900;text-decoration:none;}
.fh-dir-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.fh-dir-card{position:relative;min-width:0;border:1px solid var(--dir-line);border-radius:16px;background:var(--dir-paper);box-shadow:var(--dir-shadow);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.fh-dir-card:before{content:"";position:absolute;left:14px;top:-9px;width:54px;height:18px;background:rgba(247,221,104,.78);border-radius:3px;transform:rotate(-2deg);z-index:2;}
.fh-dir-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(32,28,20,.12);border-color:#cbb78f;}
.fh-dir-card__inner{display:block;height:100%;padding:22px 20px 18px;color:inherit;text-decoration:none;}
.fh-dir-card__top{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:12px;align-items:center;}
.fh-dir-rank{display:grid;place-items:center;width:34px;height:42px;border-radius:0 0 10px 10px;background:linear-gradient(180deg,#e7a512,#d89105);color:#fff;font-size:18px;font-weight:950;box-shadow:0 5px 12px rgba(192,126,0,.18);}
.fh-dir-avatar{display:grid;place-items:center;width:50px;height:50px;border-radius:999px;background:#eaf2f6;border:1px solid #d5e2ea;color:#0b223d;font-weight:950;font-size:16px;letter-spacing:-.08em;overflow:hidden;}
.fh-dir-avatar.is-openchat{background:#dff4ef;color:#08736f;border-color:#b9e2dc;}
.fh-dir-avatar.is-x{background:#e9eef2;color:#111820;border-color:#d2dbe2;}
.fh-dir-avatar.is-brand{background:#eaf2ff;color:#1f5488;border-color:#c9dcf4;}
.fh-dir-card__head{min-width:0;}
.fh-dir-pill{display:inline-flex;align-items:center;min-height:22px;margin-bottom:6px;padding:0 9px;border-radius:999px;background:#eef1f4;color:#314453;font-size:10px;font-weight:950;white-space:nowrap;}
.fh-dir-pill.is-openchat{background:#dff4e9;color:#0d754f;}
.fh-dir-pill.is-x{background:#e7edf2;color:#273746;}
.fh-dir-pill.is-brand{background:#e7f1ff;color:#245988;}
.fh-dir-card h2{margin:0;color:var(--dir-ink);font-size:18px;line-height:1.42;font-weight:950;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fh-dir-score{display:grid;place-items:center;min-width:58px;padding:9px 10px;border-radius:13px;background:#d9f5f2;border:1px solid #addbd5;color:#027973;text-align:center;}
.fh-dir-score span{font-size:10px;font-weight:900;line-height:1;}
.fh-dir-score strong{margin-top:4px;font-size:24px;line-height:1;font-weight:950;}
.fh-dir-card__summary{min-height:48px;margin:16px 0 14px;color:#506176;font-size:13px;line-height:1.75;font-weight:700;}
.fh-dir-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;}
.fh-dir-metrics div{padding:10px 9px;border:1px solid #e1d4bc;border-radius:10px;background:#fffaf0;}
.fh-dir-metrics dt{color:#687789;font-size:10px;font-weight:900;line-height:1.2;}
.fh-dir-metrics dd{margin:5px 0 0;color:#142a42;font-size:12px;font-weight:950;line-height:1.2;word-break:break-word;}
.fh-dir-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:13px;border-top:1px dashed #d6c8af;}
.fh-dir-stars{color:#e49b00;font-size:13px;font-weight:950;white-space:nowrap;}
.fh-dir-stars em{color:#304154;font-style:normal;font-size:12px;}
.fh-dir-card__footer b{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border-radius:999px;background:#d9f5f2;border:1px solid #abdcd6;color:#075f5d;font-size:12px;font-weight:950;white-space:nowrap;}
.fh-dir-sidebar{position:sticky;top:96px;display:grid;gap:16px;min-width:0;}
.fh-dir-side-card{padding:22px;border:1px solid var(--dir-line);border-radius:16px;background:var(--dir-paper);box-shadow:var(--dir-shadow);}
.fh-dir-side-card h2{margin:0 0 12px;color:var(--dir-ink);font-size:19px;line-height:1.45;font-weight:950;}
.fh-dir-side-card p{margin:0;color:var(--dir-muted);font-size:13px;line-height:1.8;font-weight:700;}
.fh-dir-side-card--cta{background:radial-gradient(circle at top left,rgba(0,140,134,.12),transparent 38%),#fffdf8;}
.fh-dir-side-kicker{display:inline-flex;margin-bottom:10px;padding:5px 10px;border-radius:999px;background:#fff3bd;color:#5e4600;font-size:11px;font-weight:950;}
.fh-dir-side-card--cta a{display:flex;align-items:center;justify-content:center;min-height:42px;margin-top:16px;border-radius:999px;background:var(--dir-teal);color:#fff;font-size:13px;font-weight:950;text-decoration:none;box-shadow:0 8px 14px rgba(0,102,96,.18);}
.fh-dir-side-ranking{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:none;}
.fh-dir-side-ranking a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px dashed #dfd3bd;color:inherit;text-decoration:none;}
.fh-dir-side-ranking li:last-child a{border-bottom:0;}
.fh-dir-side-ranking span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#f5d970;color:#3b2b00;font-size:12px;font-weight:950;}
.fh-dir-side-ranking strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#162d46;font-size:13px;font-weight:950;}
.fh-dir-side-ranking em{color:var(--dir-teal);font-size:16px;font-style:normal;font-weight:950;}
.fh-dir-side-links{display:grid;gap:8px;}
.fh-dir-side-links a{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 12px;border:1px solid #dfd1b8;border-radius:12px;background:#fffaf0;color:#122a43;font-size:13px;font-weight:900;text-decoration:none;}
.fh-dir-side-links a:after{content:"›";font-size:18px;color:#0b7d78;}
.fh-dir-side-note{padding:16px 18px;border-radius:14px;background:#0b223d;color:#e8f1f5;box-shadow:var(--dir-shadow);}
.fh-dir-side-note p{margin:0;font-size:12px;line-height:1.8;font-weight:700;}
@media (max-width:1100px){.fh-dir-layout{grid-template-columns:1fr}.fh-dir-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr));}.fh-dir-side-note{grid-column:1/-1}}
@media (max-width:760px){.fh-dir-hero{padding:26px 0 12px}.fh-dir-hero__inner{grid-template-columns:1fr;padding:28px 20px 22px;border-radius:18px}.fh-dir-hero h1{font-size:32px}.fh-dir-section{padding:24px 0 52px}.fh-dir-toolbar{display:block}.fh-dir-toolbar p,.fh-dir-toolbar nav{margin-top:10px;justify-content:flex-start}.fh-dir-grid{grid-template-columns:1fr}.fh-dir-card__top{grid-template-columns:auto minmax(0,1fr) auto}.fh-dir-rank{position:absolute;left:13px;top:0;width:28px;height:36px;font-size:15px}.fh-dir-avatar{width:48px;height:48px}.fh-dir-card__head{grid-column:2/3}.fh-dir-score{grid-column:3/4}.fh-dir-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-dir-sidebar{grid-template-columns:1fr}.fh-dir-card__summary{min-height:auto}}

/* =========================================================
   Directory pages v0.5.1 - readable row list + pagination
   Scope: openchat / x-account / reviews listing pages only
   ========================================================= */
.fh-directory-page--v051 .fh-dir-layout{grid-template-columns:minmax(0,1fr) 304px;gap:28px;}
.fh-directory-page--v051 .fh-dir-main{min-width:0;}
.fh-directory-page--v051 .fh-dir-toolbar{margin-bottom:16px;}
.fh-directory-page--v051 .fh-dir-toolbar p{flex:1;text-align:right;}
.fh-directory-page--v051 .fh-dir-toolbar--links{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;}
.fh-directory-page--v051 .fh-dir-toolbar--links p{text-align:left;}

.fh-directory-page--v051 .fh-dir-grid{display:block;}
.fh-directory-page--v051 .fh-dir-list{display:grid;gap:10px;}
.fh-directory-page--v051 .fh-dir-row{position:relative;border:1px solid #d8cab1;border-radius:14px;background:#fffdf8;box-shadow:0 8px 18px rgba(32,28,20,.055);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.fh-directory-page--v051 .fh-dir-row:hover{border-color:#c6b184;box-shadow:0 12px 26px rgba(32,28,20,.095);transform:translateY(-1px);}
.fh-directory-page--v051 .fh-dir-row__inner{display:grid;grid-template-columns:54px minmax(0,1fr);gap:0;color:inherit;text-decoration:none;}
.fh-directory-page--v051 .fh-dir-row__rank{display:flex;align-items:stretch;justify-content:center;padding:0;background:linear-gradient(180deg,#f5d467,#e8ad24);border-right:1px solid rgba(145,109,23,.18);}
.fh-directory-page--v051 .fh-dir-row__rank span{display:grid;place-items:center;width:34px;height:34px;margin-top:16px;border-radius:10px;background:#fffdf8;color:#5c4200;font-size:15px;font-weight:950;box-shadow:0 3px 9px rgba(88,64,10,.12);}
.fh-directory-page--v051 .fh-dir-row:nth-child(n+4) .fh-dir-row__rank{background:linear-gradient(180deg,#edf3f6,#d4dee6);}
.fh-directory-page--v051 .fh-dir-row:nth-child(n+4) .fh-dir-row__rank span{color:#173553;}
.fh-directory-page--v051 .fh-dir-row__body{min-width:0;padding:15px 16px 13px;}
.fh-directory-page--v051 .fh-dir-row__head{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:16px;align-items:start;padding-bottom:10px;border-bottom:1px solid rgba(216,202,177,.72);}
.fh-directory-page--v051 .fh-dir-row__titleblock{min-width:0;}
.fh-directory-page--v051 .fh-dir-row__titleblock .fh-dir-pill{margin:0 0 7px;}
.fh-directory-page--v051 .fh-dir-row h2{margin:0;color:#0b223d;font-size:18px;line-height:1.36;font-weight:950;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fh-directory-page--v051 .fh-dir-row__score{align-self:start;display:grid;grid-template-columns:1fr;place-items:center;min-height:52px;padding:7px 8px;border-radius:12px;background:#d9f5f2;border:1px solid #abdcd6;color:#007c78;text-align:center;}
.fh-directory-page--v051 .fh-dir-row__score span{font-size:10px;line-height:1;font-weight:950;white-space:nowrap;}
.fh-directory-page--v051 .fh-dir-row__score strong{font-size:24px;line-height:1.05;font-weight:950;}
.fh-directory-page--v051 .fh-dir-row__summary{margin:10px 0 10px;color:#4f6073;font-size:12.5px;line-height:1.65;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fh-directory-page--v051 .fh-dir-row__metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;border:1px solid #e0d3bd;border-radius:10px;overflow:hidden;background:#fffaf1;}
.fh-directory-page--v051 .fh-dir-row__metrics div{min-width:0;padding:8px 10px;border-right:1px solid #e0d3bd;background:transparent;}
.fh-directory-page--v051 .fh-dir-row__metrics div:last-child{border-right:0;}
.fh-directory-page--v051 .fh-dir-row__metrics dt{margin:0;color:#6b7885;font-size:10px;line-height:1.2;font-weight:950;white-space:nowrap;}
.fh-directory-page--v051 .fh-dir-row__metrics dd{margin:4px 0 0;color:#122a43;font-size:12px;line-height:1.25;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fh-directory-page--v051 .fh-dir-row__footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding-top:0;border-top:0;}
.fh-directory-page--v051 .fh-dir-row__footer b{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border-radius:999px;background:#d9f5f2;border:1px solid #abdcd6;color:#075f5d;font-size:12px;font-weight:950;white-space:nowrap;}
.fh-directory-page--v051 .fh-dir-stars{color:#e49b00;font-size:12px;font-weight:950;white-space:nowrap;}
.fh-directory-page--v051 .fh-dir-stars em{color:#304154;font-style:normal;font-size:11px;}
.fh-directory-page--v051 .fh-dir-avatar{display:none!important;}

.fh-dir-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:24px 0 0;}
.fh-dir-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid #d8cab1;border-radius:999px;background:#fffdf8;color:#0b223d;font-size:13px;font-weight:950;text-decoration:none;box-shadow:0 5px 12px rgba(32,28,20,.05);}
.fh-dir-pagination .page-numbers.current{background:#0b8b86;border-color:#0b8b86;color:#fff;}
.fh-dir-pagination .page-numbers:hover{border-color:#0b8b86;color:#0b726e;}

@media (max-width:1100px){
  .fh-directory-page--v051 .fh-dir-layout{grid-template-columns:1fr;}
  .fh-directory-page--v051 .fh-dir-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .fh-directory-page--v051 .fh-dir-toolbar,
  .fh-directory-page--v051 .fh-dir-toolbar--links{display:block;}
  .fh-directory-page--v051 .fh-dir-toolbar p{margin-top:8px;text-align:left;}
  .fh-directory-page--v051 .fh-dir-row__inner{grid-template-columns:42px minmax(0,1fr);}
  .fh-directory-page--v051 .fh-dir-row__rank span{width:28px;height:28px;margin-top:14px;font-size:13px;border-radius:8px;}
  .fh-directory-page--v051 .fh-dir-row__body{padding:13px 12px 12px;}
  .fh-directory-page--v051 .fh-dir-row__head{grid-template-columns:minmax(0,1fr) 66px;gap:10px;}
  .fh-directory-page--v051 .fh-dir-row h2{font-size:16px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
  .fh-directory-page--v051 .fh-dir-row__score{min-height:48px;padding:6px;}
  .fh-directory-page--v051 .fh-dir-row__score strong{font-size:21px;}
  .fh-directory-page--v051 .fh-dir-row__summary{font-size:12px;-webkit-line-clamp:3;}
  .fh-directory-page--v051 .fh-dir-row__metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fh-directory-page--v051 .fh-dir-row__metrics div{border-right:1px solid #e0d3bd;border-bottom:1px solid #e0d3bd;}
  .fh-directory-page--v051 .fh-dir-row__metrics div:nth-child(2n){border-right:0;}
  .fh-directory-page--v051 .fh-dir-row__metrics div:nth-last-child(-n+2){border-bottom:0;}
  .fh-directory-page--v051 .fh-dir-row__footer{align-items:flex-end;}
  .fh-directory-page--v051 .fh-dir-sidebar{grid-template-columns:1fr;}
}

/* =========================================================
   v0.5.2 Directory cards: two-column card grid + table-like rows
   Scope: directory pages only. Reworks internal card layout based on user feedback.
   ========================================================= */
.fh-directory-page--v052 .fh-dir-layout{
  grid-template-columns:minmax(0,1fr) 304px!important;
  gap:28px!important;
  align-items:start!important;
}
.fh-directory-page--v052 .fh-dir-main{min-width:0!important;}
.fh-directory-page--v052 .fh-dir-toolbar{margin-bottom:16px!important;}
.fh-directory-page--v052 .fh-dir-toolbar p{flex:1;text-align:right;}
.fh-directory-page--v052 .fh-dir-toolbar--links{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;}
.fh-directory-page--v052 .fh-dir-toolbar--links p{text-align:left;}
.fh-directory-page--v052 .fh-dir-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.fh-directory-page--v052 .fh-dir-card052{
  min-width:0!important;
  height:100%!important;
  border:1px solid #d8cab1!important;
  border-radius:16px!important;
  background:#fffdf8!important;
  box-shadow:0 8px 18px rgba(32,28,20,.055)!important;
  overflow:hidden!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.fh-directory-page--v052 .fh-dir-card052:hover{
  border-color:#c6b184!important;
  box-shadow:0 12px 26px rgba(32,28,20,.095)!important;
  transform:translateY(-1px)!important;
}
.fh-directory-page--v052 .fh-dir-card052__link{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  padding:16px 16px 14px!important;
  color:inherit!important;
  text-decoration:none!important;
}
.fh-directory-page--v052 .fh-dir-card052__head{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 64px!important;
  gap:12px!important;
  align-items:start!important;
  min-width:0!important;
  padding:0 0 11px!important;
  border-bottom:1px solid rgba(216,202,177,.72)!important;
}
.fh-directory-page--v052 .fh-dir-card052__rank{
  display:block!important;
  min-width:0!important;
}
.fh-directory-page--v052 .fh-dir-card052__rank span{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#f7d968,#e8ad24)!important;
  color:#4e3900!important;
  font-size:15px!important;
  font-weight:950!important;
  box-shadow:0 4px 10px rgba(88,64,10,.14)!important;
}
.fh-directory-page--v052 .fh-dir-card052:nth-child(n+4) .fh-dir-card052__rank span{
  background:#f1f6f8!important;
  color:#173553!important;
  border:1px solid #d4dee6!important;
  box-shadow:0 3px 8px rgba(31,54,76,.08)!important;
}
.fh-directory-page--v052 .fh-dir-card052__titlearea{
  min-width:0!important;
  display:block!important;
  padding-top:1px!important;
}
.fh-directory-page--v052 .fh-dir-card052__titlearea .fh-dir-pill{
  margin:0 0 8px!important;
  max-width:100%!important;
}
.fh-directory-page--v052 .fh-dir-card052 h2{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:46px!important;
  margin:0!important;
  color:#0b223d!important;
  font-size:17px!important;
  line-height:1.38!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.fh-directory-page--v052 .fh-dir-card052__score{
  align-self:start!important;
  display:grid!important;
  place-items:center!important;
  min-height:58px!important;
  padding:7px 6px!important;
  border-radius:13px!important;
  background:#d9f5f2!important;
  border:1px solid #abdcd6!important;
  color:#007c78!important;
  text-align:center!important;
}
.fh-directory-page--v052 .fh-dir-card052__score span{
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.fh-directory-page--v052 .fh-dir-card052__score strong{
  font-size:24px!important;
  line-height:1.05!important;
  font-weight:950!important;
}
.fh-directory-page--v052 .fh-dir-card052__summary{
  min-height:40px!important;
  margin:11px 0 8px!important;
  color:#4f6073!important;
  font-size:12.5px!important;
  line-height:1.65!important;
  font-weight:700!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border-top:1px solid #dfd3bd!important;
  border-bottom:1px solid #dfd3bd!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:31px!important;
  padding:7px 0!important;
  border-bottom:1px solid #e7ddcb!important;
  background:transparent!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts div:last-child{border-bottom:0!important;}
.fh-directory-page--v052 .fh-dir-card052__facts dt{
  flex:0 0 auto!important;
  margin:0!important;
  color:#637386!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts dd{
  min-width:0!important;
  margin:0!important;
  color:#122a43!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  font-weight:950!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.fh-directory-page--v052 .fh-dir-card052__footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-top:auto!important;
  padding-top:12px!important;
}
.fh-directory-page--v052 .fh-dir-card052__footer b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  background:#d9f5f2!important;
  border:1px solid #abdcd6!important;
  color:#075f5d!important;
  font-size:12px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.fh-directory-page--v052 .fh-dir-stars{
  color:#e49b00!important;
  font-size:12.5px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.fh-directory-page--v052 .fh-dir-stars em{color:#304154!important;font-style:normal!important;font-size:11px!important;}
.fh-directory-page--v052 .fh-dir-avatar{display:none!important;}

@media (max-width:1100px){
  .fh-directory-page--v052 .fh-dir-layout{grid-template-columns:1fr!important;}
  .fh-directory-page--v052 .fh-dir-sidebar{position:static!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fh-directory-page--v052 .fh-dir-side-note{grid-column:1/-1!important;}
}
@media (max-width:760px){
  .fh-directory-page--v052 .fh-dir-toolbar,
  .fh-directory-page--v052 .fh-dir-toolbar--links{display:block!important;}
  .fh-directory-page--v052 .fh-dir-toolbar p{margin-top:8px!important;text-align:left!important;}
  .fh-directory-page--v052 .fh-dir-list{grid-template-columns:1fr!important;gap:12px!important;}
  .fh-directory-page--v052 .fh-dir-card052__link{padding:14px 14px 13px!important;}
  .fh-directory-page--v052 .fh-dir-card052__head{grid-template-columns:34px minmax(0,1fr) 60px!important;gap:10px!important;}
  .fh-directory-page--v052 .fh-dir-card052__rank span{width:30px!important;height:30px!important;border-radius:9px!important;font-size:13px!important;}
  .fh-directory-page--v052 .fh-dir-card052 h2{font-size:16px!important;min-height:43px!important;}
  .fh-directory-page--v052 .fh-dir-card052__score{min-height:52px!important;}
  .fh-directory-page--v052 .fh-dir-card052__score strong{font-size:21px!important;}
  .fh-directory-page--v052 .fh-dir-card052__summary{font-size:12px!important;min-height:auto!important;-webkit-line-clamp:3!important;}
  .fh-directory-page--v052 .fh-dir-card052__facts dt{font-size:11.5px!important;}
  .fh-directory-page--v052 .fh-dir-card052__facts dd{font-size:12px!important;}
  .fh-directory-page--v052 .fh-dir-sidebar{grid-template-columns:1fr!important;}
}


/* =========================================================
   v0.5.3 Directory card detail polish
   Scope: directory pages only. Refines rank recognition, score/button contrast,
   spacing, and footer visibility without changing page structure.
   ========================================================= */
.fh-directory-page--v052 .fh-dir-list{
  gap:18px!important;
}
.fh-directory-page--v052 .fh-dir-card052{
  overflow:visible!important;
  border-radius:18px!important;
  border-color:#d6c6aa!important;
  background:#fffdf8!important;
}
.fh-directory-page--v052 .fh-dir-card052__link{
  position:relative!important;
  min-height:355px!important;
  padding:18px 18px 18px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.fh-directory-page--v052 .fh-dir-card052__head{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 68px!important;
  gap:14px!important;
  align-items:start!important;
  padding:0 0 13px!important;
  border-bottom:1px solid rgba(216,202,177,.72)!important;
}
.fh-directory-page--v052 .fh-dir-card052__rank{
  position:absolute!important;
  left:0!important;
  top:0!important;
  z-index:3!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:58px!important;
  height:25px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#f7d65b,#eab42a)!important;
  border:1px solid rgba(154,113,0,.18)!important;
  color:#4e3900!important;
  box-shadow:0 5px 12px rgba(92,66,0,.14)!important;
}
.fh-directory-page--v052 .fh-dir-card052__rank:before{
  content:"RANK"!important;
  margin-right:5px!important;
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
  opacity:.78!important;
}
.fh-directory-page--v052 .fh-dir-card052__rank span{
  display:inline!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:950!important;
}
.fh-directory-page--v052 .fh-dir-card052:nth-child(n+4) .fh-dir-card052__rank{
  background:#f0f5f8!important;
  border-color:#d4dee6!important;
  color:#173553!important;
  box-shadow:0 4px 10px rgba(31,54,76,.08)!important;
}
.fh-directory-page--v052 .fh-dir-card052:nth-child(n+4) .fh-dir-card052__rank span{
  color:inherit!important;
  border:0!important;
  background:transparent!important;
}
.fh-directory-page--v052 .fh-dir-card052__titlearea{
  grid-column:1!important;
  min-width:0!important;
  padding-top:35px!important;
}
.fh-directory-page--v052 .fh-dir-card052__titlearea .fh-dir-pill{
  margin:0 0 8px!important;
}
.fh-directory-page--v052 .fh-dir-card052 h2{
  min-height:48px!important;
  font-size:18px!important;
  line-height:1.42!important;
  letter-spacing:.01em!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.fh-directory-page--v052 .fh-dir-card052__score{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  min-width:64px!important;
  min-height:64px!important;
  padding:8px 7px!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#fff8d9,#fffdf8)!important;
  border:1px solid #e1c46f!important;
  color:#0b223d!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 4px 10px rgba(113,84,10,.08)!important;
}
.fh-directory-page--v052 .fh-dir-card052__score span{
  color:#7a5b00!important;
  font-size:10px!important;
  letter-spacing:.04em!important;
}
.fh-directory-page--v052 .fh-dir-card052__score strong{
  color:#007c78!important;
  font-size:25px!important;
}
.fh-directory-page--v052 .fh-dir-pill.is-openchat{
  background:#dff4e9!important;
  color:#087345!important;
  border:1px solid #bfe5d2!important;
}
.fh-directory-page--v052 .fh-dir-pill.is-x{
  background:#eef2f6!important;
  color:#25394d!important;
  border:1px solid #d6e0e8!important;
}
.fh-directory-page--v052 .fh-dir-pill.is-brand{
  background:#e9f2ff!important;
  color:#245988!important;
  border:1px solid #cfe1f7!important;
}
.fh-directory-page--v052 .fh-dir-card052__summary{
  min-height:46px!important;
  margin:13px 0 12px!important;
  font-size:12.5px!important;
  line-height:1.7!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts{
  margin:0 0 2px!important;
  border-top:1px solid #ded1bb!important;
  border-bottom:1px solid #ded1bb!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts div{
  min-height:34px!important;
  padding:8px 0!important;
}
.fh-directory-page--v052 .fh-dir-card052__footer{
  min-height:40px!important;
  margin-top:auto!important;
  padding-top:15px!important;
  padding-bottom:0!important;
}
.fh-directory-page--v052 .fh-dir-card052__footer b{
  min-height:34px!important;
  padding:0 15px!important;
  background:#008c86!important;
  border-color:#00766f!important;
  color:#fff!important;
  box-shadow:0 5px 10px rgba(0,102,96,.15)!important;
}
.fh-directory-page--v052 .fh-dir-card052__footer b:hover{
  background:#007b75!important;
}
.fh-directory-page--v052 .fh-dir-stars{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
}
@media (max-width:760px){
  .fh-directory-page--v052 .fh-dir-list{gap:14px!important;}
  .fh-directory-page--v052 .fh-dir-card052__link{
    min-height:0!important;
    padding:16px 15px 15px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__head{
    grid-template-columns:minmax(0,1fr) 62px!important;
    gap:12px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__rank{
    min-width:50px!important;
    height:23px!important;
    padding:0 8px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__rank:before{
    content:"No."!important;
    font-size:9px!important;
    letter-spacing:0!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__rank span{font-size:13px!important;}
  .fh-directory-page--v052 .fh-dir-card052__titlearea{padding-top:32px!important;}
  .fh-directory-page--v052 .fh-dir-card052 h2{
    min-height:0!important;
    font-size:16px!important;
    line-height:1.45!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__score{
    min-width:60px!important;
    min-height:58px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__score strong{font-size:22px!important;}
  .fh-directory-page--v052 .fh-dir-card052__summary{
    min-height:auto!important;
    margin:12px 0 10px!important;
    -webkit-line-clamp:3!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__footer{
    padding-top:13px!important;
  }
}

/* =========================================================
   v0.5.4 Directory cards - selected comp #2 implementation
   Scope: directory/list pages only.
   - Rank is a horizontal gold bar, separated from category chip.
   - Score is in the same bar with balanced spacing.
   - Card body keeps compact table rows like the selected comp.
   ========================================================= */
.fh-directory-page--v052 .fh-dir-list{
  gap:20px!important;
  align-items:start!important;
}
.fh-directory-page--v052 .fh-dir-card052{
  border-radius:16px!important;
  border:1px solid #dcc8a4!important;
  background:#fffdf8!important;
  box-shadow:0 7px 18px rgba(41,31,14,.08)!important;
  overflow:hidden!important;
}
.fh-directory-page--v052 .fh-dir-card052__link{
  display:flex!important;
  flex-direction:column!important;
  min-height:376px!important;
  height:100%!important;
  padding:0!important;
  border-radius:16px!important;
  overflow:hidden!important;
  color:#09213c!important;
  text-decoration:none!important;
}
.fh-directory-page--v052 .fh-dir-card052__rankbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:44px!important;
  padding:0 13px 0 0!important;
  background:linear-gradient(90deg,#e3a300 0,#f3c23a 48%,#fff8dd 100%)!important;
  border-bottom:1px solid rgba(192,137,0,.52)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45)!important;
}
.fh-directory-page--v052 .fh-dir-card052:nth-child(n+4) .fh-dir-card052__rankbar{
  background:linear-gradient(90deg,#dfe6eb 0,#f0f3f4 48%,#fffdf8 100%)!important;
  border-bottom-color:#d9e0e3!important;
}
.fh-directory-page--v052 .fh-dir-card052__rankmark{
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:104px!important;
  padding:0 13px!important;
  background:rgba(198,133,0,.22)!important;
  color:#fff!important;
  text-shadow:0 1px 0 rgba(74,50,0,.18)!important;
}
.fh-directory-page--v052 .fh-dir-card052:nth-child(n+4) .fh-dir-card052__rankmark{
  background:rgba(25,53,75,.08)!important;
  color:#14304a!important;
  text-shadow:none!important;
}
.fh-directory-page--v052 .fh-dir-card052__rankmark:before,
.fh-directory-page--v052 .fh-dir-card052__rank:before{
  content:none!important;
}
.fh-directory-page--v052 .fh-dir-card052__rankmark span{
  display:inline!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  font-weight:900!important;
  opacity:.92!important;
}
.fh-directory-page--v052 .fh-dir-card052__rankmark strong{
  display:inline!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:950!important;
}
.fh-directory-page--v052 .fh-dir-card052__scoreline{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-end!important;
  gap:6px!important;
  min-width:118px!important;
  color:#19314d!important;
}
.fh-directory-page--v052 .fh-dir-card052__scoreline span{
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  color:#7c6218!important;
}
.fh-directory-page--v052 .fh-dir-card052:nth-child(n+4) .fh-dir-card052__scoreline span{
  color:#536371!important;
}
.fh-directory-page--v052 .fh-dir-card052__scoreline strong{
  font-size:26px!important;
  line-height:1!important;
  font-weight:950!important;
  color:#008981!important;
}
.fh-directory-page--v052 .fh-dir-card052__scoreline em{
  font-style:normal!important;
  font-size:10px!important;
  color:#6e7880!important;
}
.fh-directory-page--v052 .fh-dir-card052__head{
  display:block!important;
  padding:18px 18px 0!important;
  border:0!important;
}
.fh-directory-page--v052 .fh-dir-card052__titlearea{
  padding:0!important;
}
.fh-directory-page--v052 .fh-dir-card052__score,
.fh-directory-page--v052 .fh-dir-card052__rank{
  display:none!important;
}
.fh-directory-page--v052 .fh-dir-pill{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:100%!important;
  margin:0 0 10px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  box-shadow:none!important;
}
.fh-directory-page--v052 .fh-dir-card052 h2{
  min-height:50px!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1.42!important;
  letter-spacing:.01em!important;
  color:#071f3a!important;
  word-break:auto-phrase!important;
  overflow-wrap:anywhere!important;
}
.fh-directory-page--v052 .fh-dir-card052__summary{
  min-height:54px!important;
  margin:13px 18px 12px!important;
  padding:0 0 13px!important;
  border-bottom:1px solid rgba(216,202,177,.72)!important;
  color:#334258!important;
  font-size:12.7px!important;
  line-height:1.68!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts{
  display:block!important;
  margin:0 18px!important;
  padding:0!important;
  border:0!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts div{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:32px!important;
  padding:8px 0!important;
  border:0!important;
  border-bottom:1px solid rgba(216,202,177,.72)!important;
  background:transparent!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts div:last-child{
  border-bottom:0!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts dt{
  margin:0!important;
  color:#546375!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
}
.fh-directory-page--v052 .fh-dir-card052__facts dd{
  margin:0!important;
  color:#071f3a!important;
  font-size:12.5px!important;
  line-height:1.2!important;
  font-weight:900!important;
  text-align:right!important;
}
.fh-directory-page--v052 .fh-dir-card052__footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:52px!important;
  margin-top:auto!important;
  padding:13px 18px 17px!important;
  border:0!important;
}
.fh-directory-page--v052 .fh-dir-stars{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  color:#f0a500!important;
  font-size:16px!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}
.fh-directory-page--v052 .fh-dir-stars em{
  margin-left:6px!important;
  color:#334258!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:800!important;
}
.fh-directory-page--v052 .fh-dir-card052__footer b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:104px!important;
  min-height:34px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  background:#008b84!important;
  border:1px solid #00736d!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 7px 14px rgba(0,111,105,.18)!important;
}
.fh-directory-page--v052 .fh-dir-card052__footer b:hover{
  background:#007a73!important;
}
.fh-directory-page--v052 .fh-dir-pagination{
  margin-top:22px!important;
}

/* Light individual page harmony: keep current layout, align score/category colors with list cards. */
.single-review_target .fh-review-hero .fh-score-card,
.single-review_target .fh-review-score,
.single-review_target .fh-target-score{
  background:linear-gradient(180deg,#fff8d9,#fffdf8)!important;
  border-color:#e1c46f!important;
}

@media (max-width:760px){
  .fh-directory-page--v052 .fh-dir-list{
    gap:15px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__link{
    min-height:0!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__rankbar{
    min-height:40px!important;
    padding-right:11px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__rankmark{
    min-width:86px!important;
    gap:6px!important;
    padding:0 11px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__rankmark span{
    font-size:9px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__rankmark strong{
    font-size:21px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__scoreline{
    min-width:94px!important;
    gap:5px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__scoreline span{
    font-size:10.5px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__scoreline strong{
    font-size:22px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__head{
    padding:16px 15px 0!important;
  }
  .fh-directory-page--v052 .fh-dir-card052 h2{
    min-height:0!important;
    font-size:16.5px!important;
    line-height:1.46!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__summary{
    min-height:auto!important;
    margin:12px 15px 9px!important;
    padding-bottom:12px!important;
    -webkit-line-clamp:3!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__facts{
    margin:0 15px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__footer{
    min-height:50px!important;
    padding:12px 15px 15px!important;
  }
  .fh-directory-page--v052 .fh-dir-stars{
    font-size:15px!important;
  }
  .fh-directory-page--v052 .fh-dir-card052__footer b{
    min-width:98px!important;
    min-height:33px!important;
    padding:0 13px!important;
  }
}

/* =========================================================
   v0.5.5 Review target detail page polish
   ---------------------------------------------------------
   Aligns the single review page with the directory card system:
   - clear role separation between type chip / score / CTA
   - compact key facts strip
   - more readable panel hierarchy
   - desktop sidebar retained, mobile stacks to one column
========================================================= */
.fh-review-detail-page--v055 .fh-detail-hero055{
  padding-top:34px!important;
  padding-bottom:34px!important;
}
.fh-review-detail-page--v055 .fh-detail-hero055 .fh-container{
  width:min(100% - 32px,1120px)!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.fh-review-detail-page--v055 .fh-detail-hero055 .fh-container:before{display:none!important;}
.fh-review-detail-page--v055 .fh-detail-hero055 .fh-breadcrumb{
  margin:0 0 0!important;
  padding:16px 22px 0!important;
  border:1px solid #d9cbae!important;
  border-bottom:0!important;
  border-radius:22px 22px 0 0!important;
  background:linear-gradient(180deg,#fffefa,#fffaf2)!important;
}
.fh-review-detail-page--v055 .fh-detail-hero055__inner{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 154px!important;
  gap:26px!important;
  align-items:center!important;
  padding:22px 22px 24px!important;
  border:1px solid #d9cbae!important;
  border-top:0!important;
  background:
    linear-gradient(90deg,rgba(117,92,44,.035) 1px,transparent 1px),
    linear-gradient(rgba(117,92,44,.035) 1px,transparent 1px),
    linear-gradient(180deg,#fffefa,#fff9ef)!important;
  background-size:20px 20px,20px 20px,auto!important;
  border-radius:0 0 22px 22px!important;
  box-shadow:0 18px 38px rgba(40,30,14,.10)!important;
}
.fh-review-detail-page--v055 .fh-detail-hero055__inner:before{
  content:"";
  position:absolute;
  left:50%;top:-10px;
  width:88px;height:16px;
  transform:translateX(-50%) rotate(-1deg);
  border-radius:4px;
  background:rgba(247,217,94,.72);
  box-shadow:0 4px 8px rgba(101,76,20,.08);
}
.fh-review-detail-page--v055 .fh-review-detail-head__badges{
  gap:8px!important;
  margin:0 0 12px!important;
}
.fh-review-detail-page--v055 .fh-target-type-badge,
.fh-review-detail-page--v055 .fh-status-badge{
  min-height:24px!important;
  padding:5px 12px!important;
  border-radius:999px!important;
  font-size:11px!important;
  letter-spacing:.02em!important;
}
.fh-review-detail-page--v055 .fh-status-badge--pr,
.fh-review-detail-page--v055 .fh-status-badge:nth-last-child(1):not(:first-child){
  background:#fff2ad!important;
  border:1px solid #e3c85a!important;
  color:#73580b!important;
}
.fh-review-detail-page--v055 .fh-detail-hero055__kicker{
  margin:0 0 8px!important;
  color:#00706c!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.fh-review-detail-page--v055 .fh-page-hero__title{
  margin:0!important;
  font-size:clamp(34px,3.8vw,50px)!important;
  line-height:1.22!important;
  letter-spacing:.01em!important;
}
.fh-review-detail-page--v055 .fh-page-hero__lead{
  margin:16px 0 0!important;
  max-width:720px!important;
  color:#314258!important;
  font-size:15px!important;
  line-height:1.85!important;
  font-weight:700!important;
}
.fh-review-detail-page--v055 .fh-detail-score-card--v055{
  width:154px!important;
  min-height:132px!important;
  padding:18px 16px!important;
  border-radius:18px!important;
  border:1px solid #e1c66a!important;
  background:linear-gradient(180deg,#fff9da,#fff3bb)!important;
  box-shadow:0 12px 24px rgba(145,104,13,.12)!important;
  text-align:center!important;
}
.fh-review-detail-page--v055 .fh-detail-score-card--v055 span{
  color:#806217!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
}
.fh-review-detail-page--v055 .fh-detail-score-card--v055 strong{
  margin-top:6px!important;
  color:#008781!important;
  font-size:44px!important;
  line-height:1!important;
}
.fh-review-detail-page--v055 .fh-detail-score-card--v055 em{color:#75644a!important;font-weight:900!important;}
.fh-review-detail-page--v055 .fh-detail-score-card--v055 .fh-star-rating{margin-top:6px!important;color:#e4a800!important;}
.fh-review-detail-page--v055 .fh-detail-keyfacts055{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:0!important;
  margin:14px 0 0!important;
  border:1px solid #d9cbae!important;
  border-radius:14px!important;
  background:#fffefa!important;
  box-shadow:0 10px 22px rgba(40,30,14,.07)!important;
  overflow:hidden!important;
}
.fh-review-detail-page--v055 .fh-detail-keyfacts055 div{
  padding:12px 14px!important;
  border-right:1px solid #e5dac5!important;
}
.fh-review-detail-page--v055 .fh-detail-keyfacts055 div:last-child{border-right:0!important;}
.fh-review-detail-page--v055 .fh-detail-keyfacts055 dt{
  margin:0 0 4px!important;
  color:#66758a!important;
  font-size:11px!important;
  font-weight:900!important;
}
.fh-review-detail-page--v055 .fh-detail-keyfacts055 dd{
  margin:0!important;
  color:#0e2844!important;
  font-size:14px!important;
  font-weight:900!important;
}
.fh-review-detail-page--v055 .fh-notice-box--v055{
  margin-top:14px!important;
  padding:16px 20px!important;
  border-radius:14px!important;
  border-color:#e6c75f!important;
  background:linear-gradient(180deg,#fff5bf,#ffefa3)!important;
  box-shadow:0 8px 18px rgba(128,92,0,.08)!important;
}
.fh-review-detail-page--v055 .fh-detail-layout{
  width:min(100% - 32px,1120px)!important;
  grid-template-columns:minmax(0,1fr) 304px!important;
  gap:24px!important;
  align-items:start!important;
}
.fh-review-detail-page--v055 .fh-detail-main--v055{gap:22px!important;}
.fh-review-detail-page--v055 .fh-detail-panel055,
.fh-review-detail-page--v055 .fh-related-channel-box,
.fh-review-detail-page--v055 .fh-review-comments{
  border-radius:16px!important;
  border:1px solid #d9cbae!important;
  background:linear-gradient(180deg,#fffefa,#fffaf4)!important;
  box-shadow:0 12px 26px rgba(42,31,12,.08)!important;
}
.fh-review-detail-page--v055 .fh-detail-panel055{padding:26px 28px!important;}
.fh-review-detail-page--v055 .fh-detail-panel055__head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:18px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #e5dac5!important;
}
.fh-review-detail-page--v055 .fh-detail-panel055__head p{
  order:2!important;
  margin:0!important;
  color:#008781!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.fh-review-detail-page--v055 .fh-detail-panel055__head h2,
.fh-review-detail-page--v055 .fh-detail-panel055 h2{
  margin:0!important;
  color:#0b223d!important;
  font-size:24px!important;
  letter-spacing:.02em!important;
}
.fh-review-detail-page--v055 .fh-summary-memo h2{
  margin:8px 0 12px!important;
}
.fh-review-detail-page--v055 .fh-summary-memo .fh-memo-card__label{
  display:inline-flex!important;
  margin-bottom:6px!important;
}
.fh-review-detail-page--v055 .fh-basic-info-list{
  margin:0!important;
  border-top:0!important;
  gap:0!important;
}
.fh-review-detail-page--v055 .fh-basic-info-list div{
  grid-template-columns:180px minmax(0,1fr)!important;
  min-height:48px!important;
  padding:12px 0!important;
  border-bottom:1px solid #e5dac5!important;
}
.fh-review-detail-page--v055 .fh-basic-info-list div:last-child{border-bottom:0!important;}
.fh-review-detail-page--v055 .fh-basic-info-list dt{
  color:#66758a!important;
  font-size:12px!important;
  font-weight:900!important;
}
.fh-review-detail-page--v055 .fh-basic-info-list dd{
  color:#0e2844!important;
  font-size:14px!important;
  font-weight:900!important;
}
.fh-review-detail-page--v055 .fh-related-channel-box{
  padding:24px 26px!important;
}
.fh-review-detail-page--v055 .fh-related-channel-box h2{
  margin-top:0!important;
  color:#0b223d!important;
}
.fh-review-detail-page--v055 .fh-editor-memo-box p,
.fh-review-detail-page--v055 .fh-summary-memo p{
  color:#42536a!important;
  line-height:1.9!important;
}
.fh-review-detail-page--v055 .fh-detail-side--v055{
  position:sticky!important;
  top:104px!important;
  display:grid!important;
  gap:18px!important;
}
.fh-review-detail-page--v055 .fh-detail-side--v055 .fh-side-card{
  border-radius:16px!important;
  border:1px solid #d9cbae!important;
  background:linear-gradient(180deg,#fffefa,#fff9ef)!important;
  box-shadow:0 12px 26px rgba(42,31,12,.08)!important;
}
.fh-review-detail-page--v055 .fh-detail-side--v055 .fh-side-card:first-child{
  border-color:#c8e7e3!important;
  background:linear-gradient(180deg,#fff,#f1fbf9)!important;
}
.fh-review-detail-page--v055 .fh-detail-side--v055 .fh-side-card h2{
  font-size:22px!important;
  line-height:1.45!important;
  color:#0b223d!important;
}
.fh-review-detail-page--v055 .fh-detail-side--v055 .fh-btn--primary{
  background:linear-gradient(180deg,#00968f,#00766f)!important;
  box-shadow:0 8px 16px rgba(0,126,119,.18)!important;
}
.fh-review-detail-page--v055 .fh-review-comments{
  padding:28px!important;
}
.fh-review-detail-page--v055 .fh-section-heading__title{
  margin-top:6px!important;
}

@media (max-width:980px){
  .fh-review-detail-page--v055 .fh-detail-hero055__inner,
  .fh-review-detail-page--v055 .fh-detail-layout{grid-template-columns:1fr!important;}
  .fh-review-detail-page--v055 .fh-detail-score-card--v055{width:100%!important;min-height:auto!important;grid-template-columns:auto auto auto 1fr!important;text-align:left!important;align-items:center!important;column-gap:6px!important;}
  .fh-review-detail-page--v055 .fh-detail-score-card--v055 span{display:inline!important;}
  .fh-review-detail-page--v055 .fh-detail-score-card--v055 .fh-star-rating{justify-self:end!important;margin-top:0!important;}
  .fh-review-detail-page--v055 .fh-detail-keyfacts055{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fh-review-detail-page--v055 .fh-detail-keyfacts055 div{border-bottom:1px solid #e5dac5!important;}
  .fh-review-detail-page--v055 .fh-detail-side--v055{position:static!important;}
}
@media (max-width:760px){
  .fh-review-detail-page--v055 .fh-detail-hero055 .fh-container,
  .fh-review-detail-page--v055 .fh-detail-layout{width:min(100% - 24px,1120px)!important;}
  .fh-review-detail-page--v055 .fh-detail-hero055 .fh-breadcrumb{padding:14px 18px 0!important;}
  .fh-review-detail-page--v055 .fh-detail-hero055__inner{padding:22px 18px!important;border-radius:0 0 18px 18px!important;}
  .fh-review-detail-page--v055 .fh-page-hero__title{font-size:32px!important;}
  .fh-review-detail-page--v055 .fh-detail-keyfacts055{grid-template-columns:1fr!important;}
  .fh-review-detail-page--v055 .fh-detail-keyfacts055 div{border-right:0!important;}
  .fh-review-detail-page--v055 .fh-detail-panel055,
  .fh-review-detail-page--v055 .fh-review-comments{padding:22px 18px!important;}
  .fh-review-detail-page--v055 .fh-detail-panel055__head{display:block!important;}
  .fh-review-detail-page--v055 .fh-detail-panel055__head p{margin-top:4px!important;}
  .fh-review-detail-page--v055 .fh-basic-info-list div{grid-template-columns:1fr!important;gap:4px!important;}
}

/* =========================================================
   v0.5.6 Review target detail page refinement
   ---------------------------------------------------------
   Shifts the single review page from a stacked admin-like page
   to a review target profile page with clearer hero hierarchy,
   lighter warning treatment, stronger side navigation and
   compact no-review CTA.
========================================================= */
.fh-review-detail-page--v056 .fh-detail-hero056{
  padding-top:30px!important;
  padding-bottom:30px!important;
}
.fh-review-detail-page--v056 .fh-detail-hero056 .fh-container{
  width:min(100% - 32px,1120px)!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.fh-review-detail-page--v056 .fh-detail-hero056 .fh-container:before{display:none!important;}
.fh-review-detail-page--v056 .fh-detail-hero056 .fh-breadcrumb{
  margin:0!important;
  padding:18px 26px 0!important;
  border:1px solid #d9cbae!important;
  border-bottom:0!important;
  border-radius:24px 24px 0 0!important;
  background:linear-gradient(180deg,#fffefa,#fffaf3)!important;
}
.fh-review-detail-page--v056 .fh-detail-hero056__inner{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 154px!important;
  gap:28px!important;
  align-items:center!important;
  padding:30px 26px 28px!important;
  border:1px solid #d9cbae!important;
  border-top:0!important;
  border-radius:0 0 24px 24px!important;
  background:
    linear-gradient(90deg,rgba(117,92,44,.035) 1px,transparent 1px),
    linear-gradient(rgba(117,92,44,.035) 1px,transparent 1px),
    linear-gradient(180deg,#fffefa,#fff9ef)!important;
  background-size:20px 20px,20px 20px,auto!important;
  box-shadow:0 18px 38px rgba(40,30,14,.10)!important;
}
.fh-review-detail-page--v056 .fh-detail-hero056__inner:before{
  content:"";
  position:absolute;
  left:50%;top:-10px;
  width:92px;height:16px;
  transform:translateX(-50%) rotate(-1deg);
  border-radius:4px;
  background:rgba(247,217,94,.72);
  box-shadow:0 4px 8px rgba(101,76,20,.08);
}
.fh-review-detail-page--v056 .fh-review-detail-head__badges{
  gap:8px!important;
  margin:0 0 12px!important;
}
.fh-review-detail-page--v056 .fh-target-type-badge,
.fh-review-detail-page--v056 .fh-status-badge{
  min-height:24px!important;
  padding:5px 12px!important;
  border-radius:999px!important;
  font-size:11px!important;
  letter-spacing:.02em!important;
}
.fh-review-detail-page--v056 .fh-status-badge--pr,
.fh-review-detail-page--v056 .fh-status-badge:nth-last-child(1):not(:first-child){
  background:#fff2ad!important;
  border:1px solid #e3c85a!important;
  color:#73580b!important;
}
.fh-review-detail-page--v056 .fh-detail-hero056__kicker{
  margin:0 0 8px!important;
  color:#00706c!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.fh-review-detail-page--v056 .fh-page-hero__title{
  margin:0!important;
  font-size:clamp(38px,4vw,56px)!important;
  line-height:1.18!important;
  letter-spacing:.01em!important;
}
.fh-review-detail-page--v056 .fh-page-hero__lead{
  margin:15px 0 0!important;
  max-width:760px!important;
  color:#314258!important;
  font-size:15px!important;
  line-height:1.85!important;
  font-weight:750!important;
}
.fh-review-detail-page--v056 .fh-detail-score-card--v056{
  width:154px!important;
  min-height:132px!important;
  padding:18px 16px!important;
  border-radius:18px!important;
  border:1px solid #e1c66a!important;
  background:linear-gradient(180deg,#fff9da,#fff3bb)!important;
  box-shadow:0 12px 24px rgba(145,104,13,.12)!important;
  text-align:center!important;
}
.fh-review-detail-page--v056 .fh-detail-score-card--v056 span{
  color:#806217!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
}
.fh-review-detail-page--v056 .fh-detail-score-card--v056 strong{
  margin-top:6px!important;
  color:#008781!important;
  font-size:44px!important;
  line-height:1!important;
}
.fh-review-detail-page--v056 .fh-detail-score-card--v056 em{color:#75644a!important;font-weight:900!important;}
.fh-review-detail-page--v056 .fh-detail-score-card--v056 .fh-star-rating{margin-top:6px!important;color:#e4a800!important;}
.fh-review-detail-page--v056 .fh-detail-keyfacts056{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin:16px 0 0!important;
  border:1px solid #d9cbae!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fffefa,#fffaf3)!important;
  box-shadow:0 10px 22px rgba(40,30,14,.07)!important;
  overflow:hidden!important;
}
.fh-review-detail-page--v056 .fh-detail-keyfacts056 div{
  padding:15px 18px!important;
  border-right:1px solid #e5dac5!important;
}
.fh-review-detail-page--v056 .fh-detail-keyfacts056 div:last-child{border-right:0!important;}
.fh-review-detail-page--v056 .fh-detail-keyfacts056 dt{
  margin:0 0 5px!important;
  color:#66758a!important;
  font-size:11px!important;
  font-weight:900!important;
}
.fh-review-detail-page--v056 .fh-detail-keyfacts056 dd{
  margin:0!important;
  color:#0e2844!important;
  font-size:15px!important;
  font-weight:950!important;
}
.fh-review-detail-page--v056 .fh-notice-box--v056{
  margin-top:12px!important;
  padding:10px 14px!important;
  border-radius:12px!important;
  border:1px solid #e6c75f!important;
  background:linear-gradient(180deg,#fff8cf,#fff0ad)!important;
  box-shadow:0 6px 12px rgba(128,92,0,.06)!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
}
.fh-review-detail-page--v056 .fh-notice-box--v056 strong{
  flex:0 0 auto!important;
  font-size:12px!important;
  color:#6c4f08!important;
}
.fh-review-detail-page--v056 .fh-notice-box--v056 p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.65!important;
  color:#574b2d!important;
}
.fh-review-detail-page--v056 .fh-detail-layout{
  width:min(100% - 32px,1120px)!important;
  grid-template-columns:minmax(0,1fr) 304px!important;
  gap:24px!important;
  align-items:start!important;
}
.fh-review-detail-page--v056 .fh-detail-main--v056{gap:22px!important;}
.fh-review-detail-page--v056 .fh-detail-panel056,
.fh-review-detail-page--v056 .fh-related-channel-box,
.fh-review-detail-page--v056 .fh-review-comments{
  border-radius:18px!important;
  border:1px solid #d9cbae!important;
  background:linear-gradient(180deg,#fffefa,#fffaf4)!important;
  box-shadow:0 12px 26px rgba(42,31,12,.08)!important;
}
.fh-review-detail-page--v056 .fh-detail-panel056{padding:28px 30px!important;}
.fh-review-detail-page--v056 .fh-detail-panel056__head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:18px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #e5dac5!important;
}
.fh-review-detail-page--v056 .fh-detail-panel056__head p{
  order:2!important;
  margin:0!important;
  color:#008781!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.fh-review-detail-page--v056 .fh-detail-panel056__head h2,
.fh-review-detail-page--v056 .fh-detail-panel056 h2{
  margin:0!important;
  color:#0b223d!important;
  font-size:24px!important;
  letter-spacing:.02em!important;
}
.fh-review-detail-page--v056 .fh-summary-memo .fh-memo-card__label{
  display:inline-flex!important;
  margin-bottom:8px!important;
}
.fh-review-detail-page--v056 .fh-summary-memo h2{
  margin:8px 0 12px!important;
}
.fh-review-detail-page--v056 .fh-summary-memo__lead,
.fh-review-detail-page--v056 .fh-editor-memo-box p,
.fh-review-detail-page--v056 .fh-summary-memo p{
  color:#42536a!important;
  line-height:1.9!important;
}
.fh-review-detail-page--v056 .fh-check-points056{
  display:grid!important;
  gap:10px!important;
  margin:16px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.fh-review-detail-page--v056 .fh-check-points056 li{
  position:relative!important;
  padding:12px 14px 12px 38px!important;
  border:1px solid #e5dac5!important;
  border-radius:12px!important;
  background:#fffdf7!important;
  color:#314258!important;
  font-weight:750!important;
  line-height:1.75!important;
}
.fh-review-detail-page--v056 .fh-check-points056 li:before{
  content:"";
  position:absolute;
  left:15px;top:18px;
  width:10px;height:10px;
  border-radius:50%;
  background:#00968f;
  box-shadow:0 0 0 4px rgba(0,150,143,.12);
}
.fh-review-detail-page--v056 .fh-basic-info-list{
  margin:0!important;
  border-top:0!important;
  gap:0!important;
}
.fh-review-detail-page--v056 .fh-basic-info-list div{
  grid-template-columns:180px minmax(0,1fr)!important;
  min-height:50px!important;
  padding:13px 0!important;
  border-bottom:1px solid #e5dac5!important;
}
.fh-review-detail-page--v056 .fh-basic-info-list div:last-child{border-bottom:0!important;}
.fh-review-detail-page--v056 .fh-basic-info-list dt{
  color:#66758a!important;
  font-size:12px!important;
  font-weight:900!important;
}
.fh-review-detail-page--v056 .fh-basic-info-list dd{
  color:#0e2844!important;
  font-size:14px!important;
  font-weight:900!important;
}
.fh-review-detail-page--v056 .fh-related-channel-box{
  padding:24px 26px!important;
}
.fh-review-detail-page--v056 .fh-related-channel-box h2{
  margin-top:0!important;
  color:#0b223d!important;
}
.fh-review-detail-page--v056 .fh-detail-side--v056{
  position:sticky!important;
  top:104px!important;
  display:grid!important;
  gap:18px!important;
}
.fh-review-detail-page--v056 .fh-detail-side--v056 .fh-side-card{
  padding:24px!important;
  border-radius:18px!important;
  border:1px solid #d9cbae!important;
  background:linear-gradient(180deg,#fffefa,#fff9ef)!important;
  box-shadow:0 12px 26px rgba(42,31,12,.08)!important;
}
.fh-review-detail-page--v056 .fh-detail-side--v056 .fh-side-card--primary056{
  border-color:#c8e7e3!important;
  background:linear-gradient(180deg,#fff,#f1fbf9)!important;
}
.fh-review-detail-page--v056 .fh-side-card__eyebrow056{
  margin:0 0 8px!important;
  color:#008781!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.fh-review-detail-page--v056 .fh-detail-side--v056 .fh-side-card h2{
  margin-top:0!important;
  font-size:21px!important;
  line-height:1.45!important;
  color:#0b223d!important;
}
.fh-review-detail-page--v056 .fh-detail-side--v056 .fh-side-card p{
  color:#42536a!important;
  line-height:1.8!important;
}
.fh-review-detail-page--v056 .fh-detail-side--v056 .fh-btn--primary,
.fh-review-detail-page--v056 .fh-comment-cta056 .fh-btn--primary{
  background:linear-gradient(180deg,#00968f,#00766f)!important;
  box-shadow:0 8px 16px rgba(0,126,119,.18)!important;
}
.fh-review-detail-page--v056 .fh-side-ranking056{
  list-style:none!important;
  margin:12px 0 14px!important;
  padding:0!important;
  display:grid!important;
  gap:0!important;
}
.fh-review-detail-page--v056 .fh-side-ranking056 li a{
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  padding:10px 0!important;
  border-bottom:1px solid #e5dac5!important;
  text-decoration:none!important;
}
.fh-review-detail-page--v056 .fh-side-ranking056 li:last-child a{border-bottom:0!important;}
.fh-review-detail-page--v056 .fh-side-ranking056 span{
  display:grid!important;
  place-items:center!important;
  width:24px;height:24px;
  border-radius:999px;
  background:#f1bf20;
  color:#fff;
  font-weight:900;
  font-size:12px;
}
.fh-review-detail-page--v056 .fh-side-ranking056 strong{
  color:#0b223d!important;
  font-size:13px!important;
  line-height:1.5!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.fh-review-detail-page--v056 .fh-side-ranking056 em{
  color:#008781!important;
  font-style:normal!important;
  font-weight:950!important;
}
.fh-review-detail-page--v056 .fh-side-link056{
  display:inline-flex!important;
  align-items:center!important;
  color:#00766f!important;
  font-weight:900!important;
  text-decoration:none!important;
}
.fh-review-detail-page--v056 .fh-side-card--links056{
  display:grid!important;
  gap:10px!important;
}
.fh-review-detail-page--v056 .fh-side-card--links056 a{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  padding:11px 13px!important;
  border:1px solid #e5dac5!important;
  border-radius:12px!important;
  background:#fffefa!important;
  color:#0b223d!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.fh-review-detail-page--v056 .fh-side-card--links056 a:after{content:"›";color:#00766f;font-weight:950;}
.fh-review-detail-page--v056 .fh-side-card--note056{
  background:linear-gradient(180deg,#092a45,#052139)!important;
  color:#fff!important;
  border-color:#092a45!important;
}
.fh-review-detail-page--v056 .fh-side-card--note056 p{color:#fff!important;margin:0!important;font-weight:800!important;}
.fh-review-detail-page--v056 .fh-review-comments{
  padding:28px!important;
}
.fh-review-detail-page--v056 .fh-section-heading__title{margin-top:6px!important;}
.fh-review-detail-page--v056 .fh-comment-cta056{
  margin-top:16px!important;
  padding:16px 18px!important;
  border:1px solid #c8e7e3!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#f8fffe,#edf9f7)!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:14px!important;
  align-items:center!important;
}
.fh-review-detail-page--v056 .fh-comment-cta056 p{
  margin:0!important;
  color:#314258!important;
  font-weight:750!important;
  line-height:1.7!important;
}
.fh-review-detail-page--v056 .fh-comment-cta056 .fh-btn{
  white-space:nowrap!important;
}

@media (max-width:980px){
  .fh-review-detail-page--v056 .fh-detail-hero056__inner,
  .fh-review-detail-page--v056 .fh-detail-layout{grid-template-columns:1fr!important;}
  .fh-review-detail-page--v056 .fh-detail-score-card--v056{width:100%!important;min-height:auto!important;display:grid!important;grid-template-columns:auto auto auto 1fr!important;text-align:left!important;align-items:center!important;column-gap:6px!important;}
  .fh-review-detail-page--v056 .fh-detail-score-card--v056 span{display:inline!important;}
  .fh-review-detail-page--v056 .fh-detail-score-card--v056 .fh-star-rating{justify-self:end!important;margin-top:0!important;}
  .fh-review-detail-page--v056 .fh-detail-keyfacts056{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fh-review-detail-page--v056 .fh-detail-keyfacts056 div{border-bottom:1px solid #e5dac5!important;}
  .fh-review-detail-page--v056 .fh-detail-side--v056{position:static!important;}
}
@media (max-width:760px){
  .fh-review-detail-page--v056 .fh-detail-hero056 .fh-container,
  .fh-review-detail-page--v056 .fh-detail-layout{width:min(100% - 24px,1120px)!important;}
  .fh-review-detail-page--v056 .fh-detail-hero056 .fh-breadcrumb{padding:14px 18px 0!important;}
  .fh-review-detail-page--v056 .fh-detail-hero056__inner{padding:24px 18px!important;border-radius:0 0 18px 18px!important;}
  .fh-review-detail-page--v056 .fh-page-hero__title{font-size:32px!important;}
  .fh-review-detail-page--v056 .fh-detail-keyfacts056{grid-template-columns:1fr!important;}
  .fh-review-detail-page--v056 .fh-detail-keyfacts056 div{border-right:0!important;}
  .fh-review-detail-page--v056 .fh-notice-box--v056{display:block!important;}
  .fh-review-detail-page--v056 .fh-notice-box--v056 strong{display:block!important;margin-bottom:4px!important;}
  .fh-review-detail-page--v056 .fh-detail-panel056,
  .fh-review-detail-page--v056 .fh-review-comments{padding:22px 18px!important;}
  .fh-review-detail-page--v056 .fh-detail-panel056__head{display:block!important;}
  .fh-review-detail-page--v056 .fh-detail-panel056__head p{margin-top:4px!important;}
  .fh-review-detail-page--v056 .fh-basic-info-list div{grid-template-columns:1fr!important;gap:4px!important;}
  .fh-review-detail-page--v056 .fh-comment-cta056{display:grid!important;}
  .fh-review-detail-page--v056 .fh-comment-cta056 .fh-btn{width:100%!important;justify-content:center!important;}
}

/* v0.5.7: single review detail quality/content polish */
.fh-review-detail-page--v057 .fh-detail-hero056{
  padding-top:34px!important;
  padding-bottom:34px!important;
}
.fh-review-detail-page--v057 .fh-detail-hero056__inner{
  padding:36px 34px 32px!important;
  gap:34px!important;
}
.fh-review-detail-page--v057 .fh-detail-hero056__kicker{
  margin-top:4px!important;
  margin-bottom:10px!important;
}
.fh-review-detail-page--v057 .fh-page-hero__title{
  margin-bottom:4px!important;
}
.fh-review-detail-page--v057 .fh-page-hero__lead{
  max-width:820px!important;
  margin-top:18px!important;
}
.fh-review-detail-page--v057 .fh-detail-score-card--v056{
  width:166px!important;
  min-height:144px!important;
  padding:21px 18px!important;
}
.fh-review-detail-page--v057 .fh-detail-keyfacts056{
  margin-top:18px!important;
  border-radius:18px!important;
}
.fh-review-detail-page--v057 .fh-detail-keyfacts056 div{
  padding:18px 20px!important;
  background:linear-gradient(180deg,#fffefa,#fff9ee)!important;
}
.fh-review-detail-page--v057 .fh-detail-keyfacts056 dt{
  margin-bottom:7px!important;
  font-size:12px!important;
}
.fh-review-detail-page--v057 .fh-detail-keyfacts056 dd{
  font-size:16px!important;
}
.fh-review-detail-page--v057 .fh-notice-box--v056{
  margin-top:14px!important;
  padding:11px 16px!important;
  border-radius:13px!important;
}
.fh-review-detail-page--v057 .fh-detail-main--v056{
  gap:24px!important;
}
.fh-review-detail-page--v057 .fh-detail-panel056,
.fh-review-detail-page--v057 .fh-related-channel-box,
.fh-review-detail-page--v057 .fh-review-comments{
  border-radius:20px!important;
}
.fh-review-detail-page--v057 .fh-detail-panel056{
  padding:30px 32px!important;
}
.fh-review-detail-page--v057 .fh-summary-memo__lead{
  margin-bottom:14px!important;
  font-size:14px!important;
}
.fh-review-detail-page--v057 .fh-check-points056{
  gap:0!important;
  margin-top:16px!important;
  border:1px solid #e6ddca!important;
  border-radius:15px!important;
  background:#fffdf8!important;
  overflow:hidden!important;
}
.fh-review-detail-page--v057 .fh-check-points056 li{
  border:0!important;
  border-bottom:1px solid #ece3d2!important;
  border-radius:0!important;
  background:transparent!important;
  padding:13px 14px 13px 42px!important;
  font-weight:800!important;
}
.fh-review-detail-page--v057 .fh-check-points056 li:last-child{border-bottom:0!important;}
.fh-review-detail-page--v057 .fh-check-points056 li:before{
  left:17px!important;
  top:21px!important;
  width:8px!important;
  height:8px!important;
}
.fh-review-detail-page--v057 .fh-basic-info-list div{
  min-height:46px!important;
  padding:11px 0!important;
}
.fh-review-detail-page--v057 .fh-detail-panel057__lead{
  margin:0 0 18px!important;
  color:#42536a!important;
  font-size:14px!important;
  line-height:1.85!important;
  font-weight:750!important;
}
.fh-review-detail-page--v057 .fh-review-focus-grid057{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.fh-review-detail-page--v057 .fh-review-focus-grid057 article{
  padding:15px 16px!important;
  border:1px solid #e5dac5!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#fffefa,#fff9ef)!important;
}
.fh-review-detail-page--v057 .fh-review-focus-grid057 span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
  margin-bottom:8px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:#dff6ef!important;
  color:#00766f!important;
  font-size:11px!important;
  font-weight:950!important;
}
.fh-review-detail-page--v057 .fh-review-focus-grid057 p{
  margin:0!important;
  color:#314258!important;
  font-size:13px!important;
  line-height:1.75!important;
  font-weight:750!important;
}
.fh-review-detail-page--v057 .fh-howto-list057{
  display:grid!important;
  gap:0!important;
  border:1px solid #e6ddca!important;
  border-radius:15px!important;
  background:#fffdf8!important;
  overflow:hidden!important;
}
.fh-review-detail-page--v057 .fh-howto-list057 div{
  display:grid!important;
  grid-template-columns:142px minmax(0,1fr)!important;
  gap:18px!important;
  padding:15px 16px!important;
  border-bottom:1px solid #ece3d2!important;
}
.fh-review-detail-page--v057 .fh-howto-list057 div:last-child{border-bottom:0!important;}
.fh-review-detail-page--v057 .fh-howto-list057 strong{
  color:#00766f!important;
  font-size:13px!important;
  font-weight:950!important;
}
.fh-review-detail-page--v057 .fh-howto-list057 p{
  margin:0!important;
  color:#314258!important;
  font-size:13px!important;
  line-height:1.75!important;
  font-weight:750!important;
}
.fh-review-detail-page--v057 .fh-side-card--primary056{
  padding:26px!important;
  border:1px solid #9bd7cf!important;
  background:linear-gradient(180deg,#ffffff,#eaf9f6)!important;
}
.fh-review-detail-page--v057 .fh-side-card--primary056 .fh-btn{
  min-height:48px!important;
  width:100%!important;
  justify-content:center!important;
  font-size:14px!important;
}
.fh-review-detail-page--v057 .fh-comment-cta056{
  padding:18px 20px!important;
}
.fh-review-detail-page--v057 .fh-comment-cta056 .fh-btn{
  min-width:210px!important;
}
@media (max-width:980px){
  .fh-review-detail-page--v057 .fh-review-focus-grid057{grid-template-columns:1fr!important;}
  .fh-review-detail-page--v057 .fh-howto-list057 div{grid-template-columns:1fr!important;gap:6px!important;}
}
@media (max-width:760px){
  .fh-review-detail-page--v057 .fh-detail-hero056__inner{padding:26px 20px!important;}
  .fh-review-detail-page--v057 .fh-detail-panel056{padding:24px 20px!important;}
  .fh-review-detail-page--v057 .fh-detail-keyfacts056 div{padding:15px 16px!important;}
}


/* v0.5.8: single review detail overflow and component balance fixes
   - Keep the current profile design, but fix button overflow,
     related channel pills, score-card balance, and sidebar CTA width.
*/
.fh-review-detail-page--v058 .fh-detail-hero056__inner{
  align-items:center!important;
  grid-template-columns:minmax(0,1fr) 154px!important;
}
.fh-review-detail-page--v058 .fh-detail-score-card--v056{
  width:154px!important;
  min-height:142px!important;
  padding:20px 16px!important;
  margin-right:8px!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
}
.fh-review-detail-page--v058 .fh-detail-score-card--v056 span{
  font-size:12px!important;
  letter-spacing:.05em!important;
}
.fh-review-detail-page--v058 .fh-detail-score-card--v056 strong{
  font-size:42px!important;
  line-height:1!important;
}
.fh-review-detail-page--v058 .fh-detail-score-card--v056 em{
  font-size:15px!important;
}

/* Sidebar cards: prevent buttons from escaping the card width. */
.fh-review-detail-page--v058 .fh-detail-side--v056 .fh-side-card{
  overflow:hidden!important;
}
.fh-review-detail-page--v058 .fh-detail-side--v056 .fh-side-card .fh-btn,
.fh-review-detail-page--v058 .fh-detail-side--v056 .fh-side-card a.fh-btn,
.fh-review-detail-page--v058 .fh-detail-side--v056 .fh-side-card .fh-btn--primary,
.fh-review-detail-page--v058 .fh-detail-side--v056 .fh-side-card .fh-btn--secondary{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  min-height:46px!important;
  padding:12px 16px!important;
  margin-left:0!important;
  margin-right:0!important;
  white-space:normal!important;
  line-height:1.45!important;
  text-align:center!important;
}
.fh-review-detail-page--v058 .fh-detail-side--v056 .fh-side-card--primary056 .fh-btn{
  border-radius:999px!important;
  box-shadow:0 9px 18px rgba(0,126,119,.20)!important;
}
.fh-review-detail-page--v058 .fh-detail-side--v056 .fh-side-card:not(.fh-side-card--primary056) .fh-btn--secondary{
  background:#fffefa!important;
  border:1px solid #d9cbae!important;
  color:#0b223d!important;
  box-shadow:none!important;
}

/* Related channel block: make the pill row compact and stop the CTA from looking like it floats out. */
.fh-review-detail-page--v058 .fh-related-channel-box{
  padding:22px 24px!important;
  overflow:hidden!important;
}
.fh-review-detail-page--v058 .fh-related-channel-box > div,
.fh-review-detail-page--v058 .fh-related-channel-box .fh-related-channel-list,
.fh-review-detail-page--v058 .fh-related-channel-box .fh-related-channels,
.fh-review-detail-page--v058 .fh-related-channel-box p{
  max-width:100%!important;
}
.fh-review-detail-page--v058 .fh-related-channel-box a,
.fh-review-detail-page--v058 .fh-related-channel-box .fh-btn,
.fh-review-detail-page--v058 .fh-related-channel-box button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  min-height:34px!important;
  padding:8px 13px!important;
  white-space:normal!important;
  line-height:1.35!important;
  vertical-align:middle!important;
}
.fh-review-detail-page--v058 .fh-related-channel-box .fh-target-type-badge,
.fh-review-detail-page--v058 .fh-related-channel-box .fh-status-badge,
.fh-review-detail-page--v058 .fh-related-channel-box span{
  max-width:100%!important;
}

/* Bottom comment CTA: keep it readable without forcing a too-wide button. */
.fh-review-detail-page--v058 .fh-comment-cta056{
  align-items:center!important;
  gap:16px!important;
}
.fh-review-detail-page--v058 .fh-comment-cta056 p{
  min-width:0!important;
}
.fh-review-detail-page--v058 .fh-comment-cta056 .fh-btn{
  width:auto!important;
  min-width:210px!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  padding-left:18px!important;
  padding-right:18px!important;
  white-space:normal!important;
  text-align:center!important;
}

/* Content density tweaks: avoid the page feeling like disconnected floating blocks. */
.fh-review-detail-page--v058 .fh-detail-layout{
  align-items:start!important;
}
.fh-review-detail-page--v058 .fh-detail-panel056__head p,
.fh-review-detail-page--v058 .fh-side-card__eyebrow056{
  word-break:keep-all!important;
}

@media (max-width:980px){
  .fh-review-detail-page--v058 .fh-detail-hero056__inner{
    grid-template-columns:1fr!important;
  }
  .fh-review-detail-page--v058 .fh-detail-score-card--v056{
    width:100%!important;
    margin-right:0!important;
  }
  .fh-review-detail-page--v058 .fh-comment-cta056{
    display:grid!important;
  }
  .fh-review-detail-page--v058 .fh-comment-cta056 .fh-btn{
    width:100%!important;
    min-width:0!important;
  }
}

@media (max-width:760px){
  .fh-review-detail-page--v058 .fh-related-channel-box{
    padding:20px 16px!important;
  }
  .fh-review-detail-page--v058 .fh-related-channel-box a,
  .fh-review-detail-page--v058 .fh-related-channel-box .fh-btn,
  .fh-review-detail-page--v058 .fh-related-channel-box button{
    width:100%!important;
  }
  .fh-review-detail-page--v058 .fh-detail-side--v056 .fh-side-card .fh-btn{
    min-height:44px!important;
  }
}

/* =========================================================
   v0.5.9 Single review hero notebook/memo redesign
   ---------------------------------------------------------
   Rebuilds the top review target hero toward a notebook sheet:
   - paper sheet / punched holes / tape accents
   - sticky-note attention score
   - torn memo strip key facts
   - compact warning memo
   Scoped to single review pages only.
========================================================= */
.fh-review-detail-page--v059 .fh-detail-hero056{
  padding-top:38px!important;
  padding-bottom:34px!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056 .fh-container{
  position:relative!important;
  width:min(100% - 36px,1180px)!important;
  padding:48px 54px 42px 78px!important;
  border:1px solid rgba(197,177,139,.75)!important;
  border-radius:30px!important;
  background:
    linear-gradient(rgba(123,99,56,.07) 1px, transparent 1px),
    linear-gradient(90deg,rgba(123,99,56,.032) 1px, transparent 1px),
    linear-gradient(180deg,#fffdf7 0%,#fff9ee 100%)!important;
  background-size:100% 32px,32px 32px,auto!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 20px 48px rgba(42,31,12,.13)!important;
  overflow:visible!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056 .fh-container:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:-14px!important;
  width:128px!important;
  height:26px!important;
  transform:translateX(-50%) rotate(-1deg)!important;
  border-radius:4px!important;
  background:linear-gradient(90deg,rgba(247,219,95,.72),rgba(248,223,112,.88))!important;
  box-shadow:0 5px 14px rgba(101,76,20,.10)!important;
  z-index:4!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056 .fh-container:after{
  content:""!important;
  position:absolute!important;
  left:22px!important;
  top:70px!important;
  bottom:64px!important;
  width:22px!important;
  opacity:.78!important;
  background:radial-gradient(circle at 50% 12px, rgba(186,166,128,.48) 0 5px, transparent 6px) repeat-y!important;
  background-size:22px 42px!important;
  pointer-events:none!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056 .fh-breadcrumb{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0 0 26px!important;
  padding:0 0 7px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#294258!important;
  font-size:14px!important;
  font-weight:800!important;
  box-shadow:inset 0 -5px 0 rgba(120,205,194,.34)!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056 .fh-breadcrumb a{
  color:#00766f!important;
  text-decoration:none!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056__inner{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 230px!important;
  gap:42px!important;
  align-items:start!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056__inner:before{
  content:""!important;
  position:absolute!important;
  right:46px!important;
  top:-14px!important;
  width:84px!important;
  height:30px!important;
  transform:rotate(2deg)!important;
  border-radius:4px!important;
  background:repeating-linear-gradient(-35deg, rgba(118,206,186,.60) 0 9px, rgba(99,188,172,.72) 9px 18px)!important;
  box-shadow:0 5px 12px rgba(18,93,85,.10)!important;
  z-index:3!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056__inner:after{
  content:""!important;
  position:absolute!important;
  left:22px!important;
  bottom:28px!important;
  width:390px!important;
  max-width:55%!important;
  height:10px!important;
  border-radius:999px!important;
  background:rgba(244,199,54,.60)!important;
  transform:rotate(-1deg)!important;
  z-index:0!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056__body{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
}
.fh-review-detail-page--v059 .fh-review-detail-head__badges{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin:0 0 24px!important;
}
.fh-review-detail-page--v059 .fh-target-type-badge,
.fh-review-detail-page--v059 .fh-status-badge{
  min-height:34px!important;
  padding:8px 18px!important;
  border-radius:999px!important;
  font-size:13px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  font-weight:900!important;
}
.fh-review-detail-page--v059 .fh-target-type-badge{
  background:#d9f2e5!important;
  border:1px solid #a8dfc3!important;
  color:#007057!important;
}
.fh-review-detail-page--v059 .fh-status-badge{
  background:#fff1a9!important;
  border:1px solid #e3c653!important;
  color:#74590b!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056__kicker{
  position:relative!important;
  display:inline-block!important;
  margin:0 0 14px!important;
  color:#00766f!important;
  font-size:14px!important;
  font-weight:950!important;
  letter-spacing:.18em!important;
}
.fh-review-detail-page--v059 .fh-detail-hero056__kicker:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:-14px!important;
  bottom:-5px!important;
  height:7px!important;
  border-radius:999px!important;
  background:rgba(244,199,54,.55)!important;
  transform:rotate(-2deg)!important;
  z-index:-1!important;
}
.fh-review-detail-page--v059 .fh-page-hero__title{
  position:relative!important;
  display:inline!important;
  margin:0!important;
  color:#10263d!important;
  font-size:clamp(44px,5.15vw,72px)!important;
  line-height:1.12!important;
  letter-spacing:.025em!important;
  font-weight:950!important;
  text-shadow:0 1px 0 #fff!important;
  background:linear-gradient(transparent 70%,rgba(244,199,54,.56) 70%)!important;
  box-decoration-break:clone!important;
  -webkit-box-decoration-break:clone!important;
  padding:0 .04em!important;
}
.fh-review-detail-page--v059 .fh-page-hero__lead{
  margin:28px 0 0!important;
  max-width:780px!important;
  color:#25384f!important;
  font-size:18px!important;
  line-height:2!important;
  font-weight:750!important;
  letter-spacing:.03em!important;
}
.fh-review-detail-page--v059 .fh-detail-score-card--v056{
  position:relative!important;
  z-index:2!important;
  justify-self:end!important;
  width:198px!important;
  min-height:190px!important;
  margin:18px 8px 0 0!important;
  padding:28px 22px 24px!important;
  border-radius:5px 5px 15px 5px!important;
  border:1px solid #dfc359!important;
  background:linear-gradient(180deg,#fff8c8 0%,#fff0a8 100%)!important;
  box-shadow:0 16px 28px rgba(70,48,8,.18)!important;
  transform:rotate(2deg)!important;
  text-align:center!important;
  align-content:center!important;
  box-sizing:border-box!important;
}
.fh-review-detail-page--v059 .fh-detail-score-card--v056:before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:-16px!important;
  width:96px!important;
  height:31px!important;
  transform:translateX(-50%) rotate(-1deg)!important;
  border-radius:4px!important;
  background:repeating-linear-gradient(-35deg, rgba(118,206,186,.68) 0 9px, rgba(99,188,172,.82) 9px 18px)!important;
  box-shadow:0 5px 11px rgba(18,93,85,.13)!important;
}
.fh-review-detail-page--v059 .fh-detail-score-card--v056:after{
  content:""!important;
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  width:28px!important;
  height:28px!important;
  background:linear-gradient(135deg,rgba(204,159,34,.18) 0 50%,#ffeaa1 51%)!important;
  border-radius:0 0 14px 0!important;
}
.fh-review-detail-page--v059 .fh-detail-score-card--v056 span{
  display:block!important;
  color:#6e5a25!important;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  margin-bottom:8px!important;
}
.fh-review-detail-page--v059 .fh-detail-score-card--v056 strong{
  display:block!important;
  color:#008781!important;
  font-size:70px!important;
  line-height:.95!important;
  font-weight:950!important;
}
.fh-review-detail-page--v059 .fh-detail-score-card--v056 em{
  display:block!important;
  color:#23384e!important;
  font-size:22px!important;
  line-height:1.1!important;
  font-style:normal!important;
  margin-top:4px!important;
}
.fh-review-detail-page--v059 .fh-detail-score-card--v056 .fh-star-rating{
  color:#e1a100!important;
  font-size:20px!important;
  letter-spacing:.08em!important;
  margin-top:14px!important;
}
.fh-review-detail-page--v059 .fh-detail-keyfacts056{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  margin:46px 0 26px!important;
  padding:0!important;
  border:0!important;
  border-radius:3px!important;
  background:
    linear-gradient(180deg,rgba(255,253,245,.95),rgba(251,244,229,.98))!important;
  box-shadow:0 12px 24px rgba(65,47,15,.12)!important;
}
.fh-review-detail-page--v059 .fh-detail-keyfacts056:before{
  content:""!important;
  position:absolute!important;
  left:-22px!important;
  top:16px!important;
  bottom:16px!important;
  width:16px!important;
  border-radius:3px!important;
  background:rgba(118,206,186,.72)!important;
  box-shadow:0 4px 10px rgba(18,93,85,.12)!important;
}
.fh-review-detail-page--v059 .fh-detail-keyfacts056:after{
  content:""!important;
  position:absolute!important;
  right:-6px!important;
  top:0!important;
  bottom:0!important;
  width:14px!important;
  background:linear-gradient(135deg,transparent 8px,rgba(210,190,153,.24) 8px) 0 0/14px 18px repeat-y!important;
  opacity:.75!important;
}
.fh-review-detail-page--v059 .fh-detail-keyfacts056 div{
  position:relative!important;
  min-height:96px!important;
  padding:18px 20px 18px 76px!important;
  border-right:2px dotted rgba(170,150,112,.55)!important;
  display:grid!important;
  align-content:center!important;
}
.fh-review-detail-page--v059 .fh-detail-keyfacts056 div:last-child{border-right:0!important;}
.fh-review-detail-page--v059 .fh-detail-keyfacts056 div:before{
  position:absolute!important;
  left:26px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  border-radius:10px!important;
  color:#00766f!important;
  font-size:28px!important;
  line-height:1!important;
}
.fh-review-detail-page--v059 .fh-detail-keyfacts056 div:nth-child(1):before{content:"♙"!important;}
.fh-review-detail-page--v059 .fh-detail-keyfacts056 div:nth-child(2):before{content:"□"!important;font-size:34px!important;}
.fh-review-detail-page--v059 .fh-detail-keyfacts056 div:nth-child(3):before{content:"◉"!important;}
.fh-review-detail-page--v059 .fh-detail-keyfacts056 div:nth-child(4):before{content:"▦"!important;}
.fh-review-detail-page--v059 .fh-detail-keyfacts056 dt{
  margin:0 0 5px!important;
  color:#34485e!important;
  font-size:16px!important;
  font-weight:850!important;
  letter-spacing:.06em!important;
}
.fh-review-detail-page--v059 .fh-detail-keyfacts056 dd{
  margin:0!important;
  color:#1e2430!important;
  font-size:28px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
}
.fh-review-detail-page--v059 .fh-notice-box--v056{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  margin:0!important;
  padding:20px 30px 20px 74px!important;
  border:1px solid #e2c65c!important;
  border-radius:4px!important;
  background:linear-gradient(180deg,#fff4b6,#ffed9b)!important;
  box-shadow:0 10px 18px rgba(128,92,0,.12)!important;
}
.fh-review-detail-page--v059 .fh-notice-box--v056:before{
  content:"!"!important;
  position:absolute!important;
  left:26px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  border:3px solid #d49a00!important;
  border-radius:999px!important;
  color:#b98700!important;
  font-weight:950!important;
  font-size:22px!important;
}
.fh-review-detail-page--v059 .fh-notice-box--v056:after{
  content:""!important;
  position:absolute!important;
  right:24px!important;
  top:-8px!important;
  width:34px!important;
  height:64px!important;
  border:4px solid rgba(145,126,92,.62)!important;
  border-left:0!important;
  border-bottom:0!important;
  border-radius:0 18px 0 0!important;
  transform:rotate(12deg)!important;
  opacity:.82!important;
}
.fh-review-detail-page--v059 .fh-notice-box--v056 strong{
  position:relative!important;
  color:#00766f!important;
  font-size:20px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.fh-review-detail-page--v059 .fh-notice-box--v056 strong:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-5px!important;
  height:6px!important;
  border-radius:999px!important;
  background:rgba(118,206,186,.55)!important;
}
.fh-review-detail-page--v059 .fh-notice-box--v056 p{
  margin:0!important;
  color:#4b3b17!important;
  font-size:16px!important;
  line-height:1.9!important;
  font-weight:750!important;
}

@media (max-width:980px){
  .fh-review-detail-page--v059 .fh-detail-hero056 .fh-container{
    padding:38px 32px 34px 58px!important;
  }
  .fh-review-detail-page--v059 .fh-detail-hero056__inner{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  .fh-review-detail-page--v059 .fh-detail-score-card--v056{
    justify-self:start!important;
    width:min(100%,420px)!important;
    min-height:auto!important;
    transform:rotate(0deg)!important;
    display:grid!important;
    grid-template-columns:auto auto auto 1fr!important;
    gap:8px!important;
    text-align:left!important;
    align-items:center!important;
  }
  .fh-review-detail-page--v059 .fh-detail-score-card--v056 strong{font-size:42px!important;}
  .fh-review-detail-page--v059 .fh-detail-score-card--v056 .fh-star-rating{justify-self:end!important;margin-top:0!important;}
  .fh-review-detail-page--v059 .fh-detail-keyfacts056{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fh-review-detail-page--v059 .fh-detail-keyfacts056 div{border-bottom:2px dotted rgba(170,150,112,.45)!important;}
  .fh-review-detail-page--v059 .fh-detail-keyfacts056 div:nth-child(even){border-right:0!important;}
}
@media (max-width:760px){
  .fh-review-detail-page--v059 .fh-detail-hero056{padding-top:22px!important;padding-bottom:24px!important;}
  .fh-review-detail-page--v059 .fh-detail-hero056 .fh-container{
    width:min(100% - 22px,1180px)!important;
    padding:30px 18px 24px 28px!important;
    border-radius:22px!important;
  }
  .fh-review-detail-page--v059 .fh-detail-hero056 .fh-container:after{display:none!important;}
  .fh-review-detail-page--v059 .fh-detail-hero056 .fh-breadcrumb{font-size:12px!important;flex-wrap:wrap!important;}
  .fh-review-detail-page--v059 .fh-review-detail-head__badges{gap:8px!important;margin-bottom:18px!important;}
  .fh-review-detail-page--v059 .fh-target-type-badge,
  .fh-review-detail-page--v059 .fh-status-badge{min-height:28px!important;padding:7px 12px!important;font-size:11px!important;}
  .fh-review-detail-page--v059 .fh-page-hero__title{font-size:38px!important;line-height:1.22!important;}
  .fh-review-detail-page--v059 .fh-page-hero__lead{font-size:15px!important;line-height:1.9!important;margin-top:18px!important;}
  .fh-review-detail-page--v059 .fh-detail-score-card--v056{width:100%!important;grid-template-columns:auto auto 1fr!important;padding:18px!important;}
  .fh-review-detail-page--v059 .fh-detail-score-card--v056 span{font-size:12px!important;}
  .fh-review-detail-page--v059 .fh-detail-score-card--v056 strong{font-size:42px!important;}
  .fh-review-detail-page--v059 .fh-detail-score-card--v056 em{font-size:16px!important;}
  .fh-review-detail-page--v059 .fh-detail-score-card--v056 .fh-star-rating{grid-column:1/-1!important;justify-self:start!important;margin-top:6px!important;}
  .fh-review-detail-page--v059 .fh-detail-keyfacts056{grid-template-columns:1fr!important;margin:30px 0 20px!important;}
  .fh-review-detail-page--v059 .fh-detail-keyfacts056:before,.fh-review-detail-page--v059 .fh-detail-keyfacts056:after{display:none!important;}
  .fh-review-detail-page--v059 .fh-detail-keyfacts056 div{min-height:78px!important;border-right:0!important;padding:14px 16px 14px 62px!important;}
  .fh-review-detail-page--v059 .fh-detail-keyfacts056 div:before{left:18px!important;width:30px!important;height:30px!important;font-size:24px!important;}
  .fh-review-detail-page--v059 .fh-detail-keyfacts056 dt{font-size:13px!important;}
  .fh-review-detail-page--v059 .fh-detail-keyfacts056 dd{font-size:22px!important;}
  .fh-review-detail-page--v059 .fh-notice-box--v056{display:block!important;padding:18px 18px 18px 58px!important;}
  .fh-review-detail-page--v059 .fh-notice-box--v056 strong{display:inline-block!important;margin-bottom:8px!important;font-size:16px!important;}
  .fh-review-detail-page--v059 .fh-notice-box--v056 p{font-size:13px!important;line-height:1.8!important;}
  .fh-review-detail-page--v059 .fh-notice-box--v056:after{display:none!important;}
}


/* v0.6.0: single review detail refinement
   - hero single-sheet cleanup
   - richer 4-column metric strip
   - stronger section/sidebar headings
   - clearer related-channel module
*/
.fh-review-detail-page--v060 .fh-detail-hero056{
  padding-top:34px!important;
  padding-bottom:30px!important;
}
.fh-review-detail-page--v060 .fh-detail-hero056 .fh-container{
  width:min(100% - 36px,1180px)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.fh-review-detail-page--v060 .fh-detail-hero056 .fh-container:before,
.fh-review-detail-page--v060 .fh-detail-hero056 .fh-container:after{
  display:none!important;
}
.fh-review-detail-page--v060 .fh-detail-hero056 .fh-breadcrumb{
  margin:0 0 18px 16px!important;
}
.fh-review-detail-page--v060 .fh-detail-hero056__inner{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 220px!important;
  gap:34px!important;
  align-items:start!important;
  padding:36px 34px 30px 44px!important;
  border:1px solid rgba(197,177,139,.78)!important;
  border-radius:28px!important;
  background:
    linear-gradient(rgba(123,99,56,.06) 1px, transparent 1px),
    linear-gradient(90deg,rgba(123,99,56,.028) 1px, transparent 1px),
    linear-gradient(180deg,#fffdf7 0%,#fff9ef 100%)!important;
  background-size:100% 32px,32px 32px,auto!important;
  box-shadow:0 18px 42px rgba(42,31,12,.10)!important;
  overflow:visible!important;
}
.fh-review-detail-page--v060 .fh-detail-hero056__inner:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:-12px!important;
  width:112px!important;
  height:24px!important;
  transform:translateX(-50%) rotate(-1deg)!important;
  border-radius:4px!important;
  background:linear-gradient(90deg,rgba(247,219,95,.72),rgba(248,223,112,.88))!important;
  box-shadow:0 5px 14px rgba(101,76,20,.10)!important;
}
.fh-review-detail-page--v060 .fh-detail-hero056__inner:after{
  display:none!important;
}
.fh-review-detail-page--v060 .fh-detail-hero056__body{
  min-width:0!important;
}
.fh-review-detail-page--v060 .fh-review-detail-head__badges{
  margin:0 0 18px!important;
  gap:10px!important;
}
.fh-review-detail-page--v060 .fh-detail-hero056__kicker{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  margin:0 0 14px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#e5f4f1!important;
  color:#0a6e67!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
  font-weight:950!important;
}
.fh-review-detail-page--v060 .fh-detail-hero056__kicker:after{display:none!important;}
.fh-review-detail-page--v060 .fh-page-hero__title{
  display:block!important;
  background:none!important;
  padding:0!important;
  margin:0!important;
  font-size:clamp(42px,5vw,68px)!important;
  line-height:1.12!important;
  position:relative!important;
}
.fh-review-detail-page--v060 .fh-page-hero__title:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:8px!important;
  width:min(72%, 420px)!important;
  height:12px!important;
  border-radius:999px!important;
  background:rgba(244,199,54,.56)!important;
  z-index:-1!important;
}
.fh-review-detail-page--v060 .fh-page-hero__lead{
  margin:22px 0 0!important;
  max-width:820px!important;
  font-size:18px!important;
  line-height:1.95!important;
}
.fh-review-detail-page--v060 .fh-detail-score-card--v056{
  justify-self:end!important;
  width:184px!important;
  min-height:180px!important;
  margin:10px 4px 0 0!important;
  padding:24px 20px 22px!important;
  border-radius:6px 6px 16px 6px!important;
  transform:rotate(1deg)!important;
}
.fh-review-detail-page--v060 .fh-detail-score-card--v056:before{
  width:86px!important;
  height:28px!important;
}
.fh-review-detail-page--v060 .fh-detail-score-card--v056 span{
  font-size:15px!important;
  letter-spacing:.08em!important;
}
.fh-review-detail-page--v060 .fh-detail-score-card--v056 strong{font-size:64px!important;}
.fh-review-detail-page--v060 .fh-detail-score-card--v056 em{font-size:18px!important;}
.fh-review-detail-page--v060 .fh-detail-keyfacts056{
  margin:20px 0 18px!important;
  border:1px solid #d9ccb2!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#fffef9 0%,#fff9ef 100%)!important;
  box-shadow:0 14px 28px rgba(65,47,15,.09)!important;
}
.fh-review-detail-page--v060 .fh-detail-keyfacts056:before,
.fh-review-detail-page--v060 .fh-detail-keyfacts056:after{display:none!important;}
.fh-review-detail-page--v060 .fh-detail-keyfacts056 div{
  min-height:116px!important;
  padding:18px 18px 18px 78px!important;
  border-right:1px solid #e9dfce!important;
  background:transparent!important;
}
.fh-review-detail-page--v060 .fh-detail-keyfacts056 div:before{
  left:20px!important;
  top:20px!important;
  transform:none!important;
  width:44px!important;
  height:44px!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#f7fffd,#def3ef)!important;
  border:1px solid #bfe0d8!important;
  box-shadow:0 8px 14px rgba(0,124,120,.08)!important;
  color:#0a6e67!important;
  font-size:18px!important;
  font-weight:950!important;
}
.fh-review-detail-page--v060 .fh-detail-keyfacts056 div:nth-child(1):before{content:"人"!important;}
.fh-review-detail-page--v060 .fh-detail-keyfacts056 div:nth-child(2):before{content:"口"!important;}
.fh-review-detail-page--v060 .fh-detail-keyfacts056 div:nth-child(3):before{content:"覧"!important;}
.fh-review-detail-page--v060 .fh-detail-keyfacts056 div:nth-child(4):before{content:"日"!important;}
.fh-review-detail-page--v060 .fh-detail-keyfacts056 dt{
  margin:0 0 8px!important;
  color:#5a6879!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.fh-review-detail-page--v060 .fh-detail-keyfacts056 dd{
  margin:0!important;
  color:#13273c!important;
  font-size:34px!important;
  line-height:1.15!important;
  font-weight:950!important;
}
.fh-review-detail-page--v060 .fh-notice-box--v056{
  padding:18px 24px 18px 68px!important;
}
.fh-review-detail-page--v060 .fh-notice-box--v056 p{font-size:15px!important;}
.fh-review-detail-page--v060 .fh-detail-panel056__head,
.fh-review-detail-page--v060 .fh-related-channel-box .fh-detail-panel056__head{
  position:relative!important;
  margin-bottom:20px!important;
  padding-bottom:14px!important;
}
.fh-review-detail-page--v060 .fh-detail-panel056__head:after,
.fh-review-detail-page--v060 .fh-related-channel-box .fh-detail-panel056__head:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:-1px!important;
  width:84px!important;
  height:6px!important;
  border-radius:999px!important;
  background:rgba(244,199,54,.55)!important;
}
.fh-review-detail-page--v060 .fh-detail-panel056__head p,
.fh-review-detail-page--v060 .fh-side-card__eyebrow056{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:24px!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:#e8f5f2!important;
  color:#0a6e67!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
  font-weight:950!important;
}
.fh-review-detail-page--v060 .fh-summary-memo .fh-memo-card__label{
  min-height:24px!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:#e8f5f2!important;
  color:#0a6e67!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.16em!important;
}
.fh-review-detail-page--v060 .fh-detail-panel056__head h2,
.fh-review-detail-page--v060 .fh-detail-panel056 h2,
.fh-review-detail-page--v060 .fh-detail-side--v056 .fh-side-card h2{
  line-height:1.35!important;
}
.fh-review-detail-page--v060 .fh-side-card--primary056,
.fh-review-detail-page--v060 .fh-side-card:not(.fh-side-card--note056){
  border-radius:20px!important;
}
.fh-review-detail-page--v060 .fh-side-card--primary056{
  padding:24px!important;
}
.fh-review-detail-page--v060 .fh-side-card--primary056 h2,
.fh-review-detail-page--v060 .fh-detail-side--v056 .fh-side-card h2{
  margin:10px 0 12px!important;
  font-size:24px!important;
}
.fh-review-detail-page--v060 .fh-side-card--primary056 .fh-btn{margin-top:8px!important;}
.fh-review-detail-page--v060 .fh-related-channel-box--v060{
  padding:24px 26px!important;
}
.fh-review-detail-page--v060 .fh-channel-list060{
  display:grid!important;
  gap:14px!important;
}
.fh-review-detail-page--v060 .fh-channel-item060{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:16px!important;
  padding:16px 18px!important;
  border:1px solid #e4d9c5!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fffef9,#fff9ef)!important;
}
.fh-review-detail-page--v060 .fh-channel-item060__meta{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:0!important;
}
.fh-review-detail-page--v060 .fh-channel-item060__text{
  min-width:0!important;
}
.fh-review-detail-page--v060 .fh-channel-item060__text strong{
  display:block!important;
  margin:0 0 4px!important;
  color:#0f2842!important;
  font-size:16px!important;
  line-height:1.4!important;
}
.fh-review-detail-page--v060 .fh-channel-item060__text p,
.fh-review-detail-page--v060 .fh-related-channel-box__empty060{
  margin:0!important;
  color:#506175!important;
  font-size:13px!important;
  line-height:1.7!important;
}
.fh-review-detail-page--v060 .fh-channel-item060__link{
  flex:0 0 auto!important;
  min-width:168px!important;
  justify-content:center!important;
}
.fh-review-detail-page--v060 .fh-related-channel-box__empty060{
  padding:6px 2px 2px!important;
}
@media (max-width:980px){
  .fh-review-detail-page--v060 .fh-detail-hero056__inner{grid-template-columns:1fr!important;padding:30px 26px 26px 30px!important;gap:24px!important;}
  .fh-review-detail-page--v060 .fh-detail-score-card--v056{justify-self:start!important;width:min(100%,390px)!important;min-height:auto!important;display:grid!important;grid-template-columns:auto auto auto 1fr!important;align-items:center!important;gap:8px!important;text-align:left!important;transform:none!important;}
  .fh-review-detail-page--v060 .fh-detail-score-card--v056 .fh-star-rating{grid-column:1/-1!important;justify-self:start!important;}
  .fh-review-detail-page--v060 .fh-detail-keyfacts056{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fh-review-detail-page--v060 .fh-detail-keyfacts056 div:nth-child(even){border-right:0!important;}
  .fh-review-detail-page--v060 .fh-detail-keyfacts056 div{border-bottom:1px solid #e9dfce!important;}
  .fh-review-detail-page--v060 .fh-channel-item060{align-items:flex-start!important;}
}
@media (max-width:760px){
  .fh-review-detail-page--v060 .fh-detail-hero056 .fh-container{width:min(100% - 22px,1180px)!important;}
  .fh-review-detail-page--v060 .fh-detail-hero056 .fh-breadcrumb{margin-left:0!important;}
  .fh-review-detail-page--v060 .fh-detail-hero056__inner{padding:24px 18px 22px 18px!important;border-radius:22px!important;}
  .fh-review-detail-page--v060 .fh-page-hero__title{font-size:38px!important;}
  .fh-review-detail-page--v060 .fh-page-hero__title:after{width:min(88%, 280px)!important;height:10px!important;bottom:5px!important;}
  .fh-review-detail-page--v060 .fh-page-hero__lead{font-size:15px!important;margin-top:18px!important;}
  .fh-review-detail-page--v060 .fh-detail-score-card--v056{width:100%!important;padding:18px 16px!important;}
  .fh-review-detail-page--v060 .fh-detail-score-card--v056 strong{font-size:48px!important;}
  .fh-review-detail-page--v060 .fh-detail-keyfacts056{grid-template-columns:1fr!important;}
  .fh-review-detail-page--v060 .fh-detail-keyfacts056 div{min-height:96px!important;border-right:0!important;padding:16px 16px 16px 72px!important;}
  .fh-review-detail-page--v060 .fh-detail-keyfacts056 dt{font-size:12px!important;}
  .fh-review-detail-page--v060 .fh-detail-keyfacts056 dd{font-size:28px!important;}
  .fh-review-detail-page--v060 .fh-channel-item060{display:grid!important;gap:12px!important;}
  .fh-review-detail-page--v060 .fh-channel-item060__meta{display:grid!important;gap:10px!important;}
  .fh-review-detail-page--v060 .fh-channel-item060__link{width:100%!important;min-width:0!important;}
}

/* v0.6.1: key facts icon correction and notice paperclip cleanup
   - Never use first Japanese characters as icon substitutes.
   - Use inline SVG data icons for the hero metric strip.
   - Remove the broken paperclip decoration from the notice memo.
*/
.fh-review-detail-page--v061 .fh-detail-keyfacts056{
  margin:24px 0 18px!important;
  border:1px solid #dfd1b8!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,rgba(255,254,249,.98),rgba(255,250,240,.98))!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 12px 24px rgba(65,47,15,.08)!important;
}
.fh-review-detail-page--v061 .fh-detail-keyfacts056 div{
  min-height:112px!important;
  padding:22px 24px 20px 88px!important;
  border-right:1px solid #e8ddca!important;
  background:transparent!important;
  align-content:center!important;
}
.fh-review-detail-page--v061 .fh-detail-keyfacts056 div:last-child{
  border-right:0!important;
}
.fh-review-detail-page--v061 .fh-detail-keyfacts056 div:before{
  content:""!important;
  position:absolute!important;
  left:28px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:42px!important;
  height:42px!important;
  border:0!important;
  border-radius:0!important;
  background-color:#007c78!important;
  box-shadow:none!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:38px 38px!important;
  mask-size:38px 38px!important;
}
.fh-review-detail-page--v061 .fh-detail-keyfacts056 div:nth-child(1):before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='15' r='7'/%3E%3Cpath d='M10 40c1.8-8.7 7.2-13.2 14-13.2S36.2 31.3 38 40'/%3E%3C/g%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='15' r='7'/%3E%3Cpath d='M10 40c1.8-8.7 7.2-13.2 14-13.2S36.2 31.3 38 40'/%3E%3C/g%3E%3C/svg%3E")!important;
}
.fh-review-detail-page--v061 .fh-detail-keyfacts056 div:nth-child(2):before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 12h26v19H20l-9 7V12z'/%3E%3Cpath d='M18 20h12M18 26h9'/%3E%3C/g%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 12h26v19H20l-9 7V12z'/%3E%3Cpath d='M18 20h12M18 26h9'/%3E%3C/g%3E%3C/svg%3E")!important;
}
.fh-review-detail-page--v061 .fh-detail-keyfacts056 div:nth-child(3):before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 24s7-11 20-11 20 11 20 11-7 11-20 11S4 24 4 24z'/%3E%3Ccircle cx='24' cy='24' r='5.5'/%3E%3C/g%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 24s7-11 20-11 20 11 20 11-7 11-20 11S4 24 4 24z'/%3E%3Ccircle cx='24' cy='24' r='5.5'/%3E%3C/g%3E%3C/svg%3E")!important;
}
.fh-review-detail-page--v061 .fh-detail-keyfacts056 div:nth-child(4):before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='11' width='30' height='29' rx='4'/%3E%3Cpath d='M16 7v8M32 7v8M9 19h30M17 27h.01M24 27h.01M31 27h.01M17 34h.01M24 34h.01'/%3E%3C/g%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='11' width='30' height='29' rx='4'/%3E%3Cpath d='M16 7v8M32 7v8M9 19h30M17 27h.01M24 27h.01M31 27h.01M17 34h.01M24 34h.01'/%3E%3C/g%3E%3C/svg%3E")!important;
}
.fh-review-detail-page--v061 .fh-detail-keyfacts056 dt{
  display:block!important;
  margin:0 0 7px!important;
  color:#42566d!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:850!important;
  letter-spacing:.04em!important;
}
.fh-review-detail-page--v061 .fh-detail-keyfacts056 dd{
  display:block!important;
  margin:0!important;
  color:#0d243b!important;
  font-size:32px!important;
  line-height:1.16!important;
  font-weight:950!important;
  letter-spacing:.015em!important;
  word-break:keep-all!important;
}
.fh-review-detail-page--v061 .fh-detail-keyfacts056 div:nth-child(4) dd{
  font-size:30px!important;
  line-height:1.18!important;
  overflow-wrap:anywhere!important;
}
.fh-review-detail-page--v061 .fh-notice-box--v056:after{
  display:none!important;
}
@media (max-width:980px){
  .fh-review-detail-page--v061 .fh-detail-keyfacts056{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .fh-review-detail-page--v061 .fh-detail-keyfacts056 div{
    min-height:108px!important;
    border-bottom:1px solid #e8ddca!important;
  }
  .fh-review-detail-page--v061 .fh-detail-keyfacts056 div:nth-child(even){
    border-right:0!important;
  }
}
@media (max-width:760px){
  .fh-review-detail-page--v061 .fh-detail-keyfacts056{
    grid-template-columns:1fr!important;
  }
  .fh-review-detail-page--v061 .fh-detail-keyfacts056 div{
    min-height:92px!important;
    padding:16px 16px 16px 72px!important;
    border-right:0!important;
  }
  .fh-review-detail-page--v061 .fh-detail-keyfacts056 div:before{
    left:18px!important;
    width:38px!important;
    height:38px!important;
    -webkit-mask-size:34px 34px!important;
    mask-size:34px 34px!important;
  }
  .fh-review-detail-page--v061 .fh-detail-keyfacts056 dt{
    font-size:13px!important;
  }
  .fh-review-detail-page--v061 .fh-detail-keyfacts056 dd,
  .fh-review-detail-page--v061 .fh-detail-keyfacts056 div:nth-child(4) dd{
    font-size:25px!important;
  }
}


/* =========================================================
   Reviews archive search integration v0.6.2
   /reviews/ only. Theme-integrated search, filter, sort.
========================================================= */
.fh-directory-page--reviews-search .fh-dir-hero{
  padding-top:36px!important;
}
.fh-directory-page--reviews-search .fh-dir-hero__inner{
  align-items:center!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel{
  margin:0 0 18px!important;
  padding:22px!important;
  border:1px solid var(--dir-line)!important;
  border-radius:18px!important;
  background:rgba(255,253,248,.95)!important;
  box-shadow:0 10px 24px rgba(32,28,20,.07)!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel__head{
  display:flex!important;
  justify-content:space-between!important;
  gap:16px!important;
  align-items:flex-start!important;
  margin-bottom:14px!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel__head span{
  display:block!important;
  margin:0 0 6px!important;
  color:var(--dir-teal)!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel__head h2{
  margin:0!important;
  color:var(--dir-ink)!important;
  font-size:22px!important;
  line-height:1.35!important;
  font-weight:950!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel__head p{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:4px!important;
  margin:0!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:var(--dir-teal-soft)!important;
  color:#08736f!important;
  font-size:12px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel__head p strong{
  font-size:20px!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel__input{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel__input input{
  appearance:none!important;
  width:100%!important;
  min-height:48px!important;
  padding:0 15px!important;
  border:1px solid #d8cab1!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--dir-ink)!important;
  font-size:15px!important;
  line-height:1.4!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  box-shadow:none!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel__input input:focus{
  outline:none!important;
  border-color:var(--dir-teal)!important;
  box-shadow:0 0 0 3px rgba(0,140,134,.13)!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel__input button{
  min-height:48px!important;
  padding:0 22px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--dir-teal)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:950!important;
  cursor:pointer!important;
  box-shadow:0 8px 18px rgba(0,140,134,.16)!important;
}
.fh-directory-page--reviews-search .fh-dir-search-panel__controls{
  display:flex!important;
  justify-content:space-between!important;
  gap:14px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  margin-top:13px!important;
}
.fh-directory-page--reviews-search .fh-dir-search-tabs{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.fh-directory-page--reviews-search .fh-dir-search-tabs a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #d8cab1!important;
  color:var(--dir-ink)!important;
  font-size:12px!important;
  font-weight:950!important;
  text-decoration:none!important;
}
.fh-directory-page--reviews-search .fh-dir-search-tabs a.is-active{
  background:var(--dir-ink)!important;
  border-color:var(--dir-ink)!important;
  color:#fff!important;
}
.fh-directory-page--reviews-search .fh-dir-sort{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:var(--dir-muted)!important;
  font-size:12px!important;
  font-weight:950!important;
}
.fh-directory-page--reviews-search .fh-dir-sort select{
  min-height:36px!important;
  padding:0 10px!important;
  border:1px solid #d8cab1!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--dir-ink)!important;
  font-size:12px!important;
  font-weight:850!important;
}
.fh-directory-page--reviews-search .fh-dir-toolbar--results{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.fh-directory-page--reviews-search .fh-dir-toolbar--results p{
  margin:0!important;
  text-align:left!important;
}
.fh-directory-page--reviews-search .fh-dir-reset{
  color:var(--dir-teal)!important;
  font-size:13px!important;
  font-weight:950!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
  text-decoration-thickness:2px!important;
  text-decoration-color:#f6d96f!important;
}
.fh-directory-page--reviews-search .fh-empty-message{
  display:grid!important;
  gap:8px!important;
  padding:28px!important;
  border:1px solid var(--dir-line)!important;
  border-radius:18px!important;
  background:#fffdf8!important;
  box-shadow:var(--dir-shadow)!important;
  color:var(--dir-ink)!important;
}
.fh-directory-page--reviews-search .fh-empty-message strong{
  font-size:18px!important;
}
.fh-directory-page--reviews-search .fh-empty-message span{
  color:var(--dir-muted)!important;
  line-height:1.8!important;
}
@media (max-width: 760px){
  .fh-directory-page--reviews-search .fh-dir-search-panel{
    padding:16px!important;
    border-radius:16px!important;
  }
  .fh-directory-page--reviews-search .fh-dir-search-panel__head{
    display:block!important;
  }
  .fh-directory-page--reviews-search .fh-dir-search-panel__head p{
    margin-top:10px!important;
  }
  .fh-directory-page--reviews-search .fh-dir-search-panel__input{
    grid-template-columns:1fr!important;
  }
  .fh-directory-page--reviews-search .fh-dir-search-panel__input button{
    width:100%!important;
  }
  .fh-directory-page--reviews-search .fh-dir-search-panel__controls{
    display:block!important;
  }
  .fh-directory-page--reviews-search .fh-dir-search-tabs{
    margin-bottom:12px!important;
  }
  .fh-directory-page--reviews-search .fh-dir-sort{
    justify-content:space-between!important;
  }
  .fh-directory-page--reviews-search .fh-dir-sort select{
    flex:1!important;
  }
}


/* =========================================================
   Reviews archive search polish v0.6.4
   - tighten keyword matching
   - refine /reviews/ hero label + notice card
========================================================= */
.fh-directory-page--reviews-search .fh-dir-kicker{
  margin-bottom:16px!important;
  padding:8px 14px!important;
  border:1px solid #cfe3e1!important;
  border-radius:14px!important;
  background:#edf7f6!important;
  color:#254d69!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  box-shadow:0 2px 0 rgba(255,255,255,.7) inset!important;
}
.fh-directory-page--reviews-search .fh-dir-hero__notice{
  position:relative!important;
  align-self:center!important;
  display:block!important;
  min-height:auto!important;
  padding:22px 22px 20px!important;
  border:1px solid #dbcfae!important;
  border-radius:18px!important;
  background:linear-gradient(transparent 27px, rgba(226,214,185,.26) 28px), #fffdf6!important;
  background-size:100% 28px!important;
  color:#425567!important;
  box-shadow:0 10px 24px rgba(32,28,20,.08)!important;
}
.fh-directory-page--reviews-search .fh-dir-hero__notice:before{
  content:"";
  position:absolute;
  top:-10px;
  left:26px;
  width:72px;
  height:16px;
  border-radius:3px;
  background:rgba(247,221,104,.82);
  transform:rotate(-2deg);
  box-shadow:0 2px 4px rgba(0,0,0,.05);
}
.fh-directory-page--reviews-search .fh-dir-hero__notice strong{
  display:block!important;
  margin-bottom:10px!important;
  color:#7d6110!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
}
.fh-directory-page--reviews-search .fh-dir-hero__notice span{
  display:block!important;
  color:#314453!important;
  font-size:13px!important;
  line-height:1.85!important;
  font-weight:800!important;
}
@media (max-width:760px){
  .fh-directory-page--reviews-search .fh-dir-kicker{
    font-size:12px!important;
    padding:7px 12px!important;
  }
  .fh-directory-page--reviews-search .fh-dir-hero__notice{
    margin-top:12px!important;
    padding:18px 16px 16px!important;
  }
}
