

[data-tool-page] [data-tool-opener][data-tool-opener-with-examples] { min-height: 0; padding-bottom: 72px; }

.tool-examples { background: #fbfaf6; background-image: radial-gradient(#b6b1a3 .7px, transparent .7px); background-size: 20px 20px; padding: 24px 0 150px; color: #17150f; }
.tool-examples-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 32px; }
.tool-examples-head h2 { font: 400 34px/1.15 var(--tool-display); letter-spacing: -.035em; margin: 0; max-width: 22ch; text-wrap: balance; }
.tool-examples-head p { font: 400 16px/1.5 var(--tool-sans); color: #706e67; margin: 0; max-width: 380px; text-wrap: pretty; }


.review-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.review-card { display: flex; flex-direction: column; gap: 14px; padding: 24px; border: 1px solid #e7e5df; border-radius: 24px; background: #fff; box-shadow: 0 1px 2px #17150f0a; }
.review-card header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.review-site { display: inline-flex; align-items: center; gap: 8px; font: 500 14px/1.3 var(--tool-sans); color: #17150f; }
.review-site img { width: 20px; height: 20px; border-radius: 5px; }
.review-score { font: 400 13px/1.3 var(--tool-sans); color: #706e67; font-variant-numeric: tabular-nums; }
.review-guest { margin: 0; font: 400 16px/1.55 var(--tool-sans); color: #4c463f; text-wrap: pretty; }
.review-guest-empty { color: #8c857c; font-style: italic; }
.review-reply-label { margin: 6px 0 -6px; padding-top: 16px; border-top: 1px solid #efece6; font: 500 11px/1.4 var(--tool-sans); letter-spacing: .08em; text-transform: uppercase; color: #9a4f2c; }
.review-reply { margin: 0; font: 400 16px/1.6 var(--tool-sans); color: #17150f; text-wrap: pretty; }


.room-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.room-card { --room: #e9e3d6; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: 280px; padding: 24px; border-radius: 24px; background: var(--room); color: #17150f; }
.room-card[data-room="lobby"] { --room: #e8e1d3; }
.room-card[data-room="restaurant"] { --room: #e4dccb; }
.room-card[data-room="bar"] { --room: #2a221c; color: #fffdf9; }
.room-card[data-room="spa"] { --room: #dfe3dc; }
.room-card-head span { display: block; font: 500 11px/1.4 var(--tool-sans); letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.room-card-head h3 { font: 400 26px/1.15 var(--tool-display); letter-spacing: -.03em; margin: 10px 0 0; }
.room-card p { margin: 0; font: 400 15px/1.5 var(--tool-sans); opacity: .8; text-wrap: pretty; }
.room-play { display: flex; align-items: center; gap: 14px; }
.room-play button { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border: 0; border-radius: 50%; background: #17150f; color: #fffdf9; cursor: pointer; transition: transform .2s var(--tool-ease-ui); }
.room-card[data-room="bar"] .room-play button { background: #fffdf9; color: #17150f; }
.room-play button:hover { transform: scale(1.04); }
.room-play button:focus-visible { outline: 2px solid #d4754e; outline-offset: 3px; }
.room-play button svg { width: 20px; height: 20px; }
.room-play button .icon-pause { display: none; }
.room-play button[aria-pressed="true"] .icon-play { display: none; }
.room-play button[aria-pressed="true"] .icon-pause { display: block; }
.room-play-meta { display: flex; flex-direction: column; gap: 8px; min-width: 0; flex: 1; }
.room-play-meta strong { font: 500 14px/1.3 var(--tool-sans); }
.room-progress { height: 3px; border-radius: 3px; background: currentColor; opacity: .18; position: relative; overflow: hidden; }
.room-progress i { position: absolute; inset: 0 auto 0 0; width: 0; background: currentColor; opacity: 1; }
.room-card[aria-current="true"] .room-progress { opacity: .5; }


.reply-compare { margin: 32px 0; padding: 28px; border-radius: 24px; background: #efe8dc; }
.reply-compare-review { margin: 0 0 20px !important; font-size: 19px !important; color: #17130f !important; }
.reply-compare-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.reply-compare-pair > div { padding: 20px; border-radius: 18px; }
.reply-compare-pair span { display: block; margin-bottom: 10px; font: 500 11px/1.4 Switzer, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.reply-compare-pair p { margin: 0 !important; font-size: 16px !important; line-height: 1.6 !important; }
.reply-compare-generic { background: transparent; border: 1px dashed #c9bfb1; }
.reply-compare-generic span { color: #8c857c; }
.reply-compare-generic p { color: #8c857c !important; }
.reply-compare-hotel { background: #fff; }
.reply-compare-hotel span { color: #9a4f2c; }
.reply-compare-hotel p { color: #17130f !important; }
.reply-compare figcaption { margin-top: 16px; font: 400 13px/1.5 Switzer, sans-serif; color: #756e66; }


.reply-type { padding: 28px 0; border-top: 1px solid #d8d0c5; }
.reply-type:last-child { border-bottom: 1px solid #d8d0c5; }
.tool-guide-body h4 { font: 500 19px/1.35 Satoshi, sans-serif; letter-spacing: -.01em; margin: 0 0 10px; color: #17130f; }
.reply-type p { margin-bottom: 14px !important; }
.reply-type blockquote, .music-space blockquote { margin: 0; padding: 4px 0 4px 20px; border-left: 2px solid #d4754e; font-size: 17px; line-height: 1.65; color: #17130f; text-wrap: pretty; }


.tool-guide-table { margin: 8px 0 22px; overflow-x: auto; }
.tool-guide-table table { width: 100%; border-collapse: collapse; font: 400 16px/1.5 Switzer, sans-serif; }
.tool-guide-table th { text-align: left; font: 500 11px/1.4 Switzer, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #61584f; padding: 0 16px 12px 0; border-bottom: 1px solid #17130f; }
.tool-guide-table td { padding: 14px 16px 14px 0; border-bottom: 1px solid #d8d0c5; color: rgba(23, 19, 15, .78); vertical-align: top; font-variant-numeric: tabular-nums; }
.tool-guide-table td:first-child { color: #17130f; white-space: nowrap; }


.music-space { padding: 28px 0; border-top: 1px solid #d8d0c5; }
.music-space:last-child { border-bottom: 1px solid #d8d0c5; }
.music-space p { margin-bottom: 14px !important; }

@media (max-width: 1050px) {
  .room-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-cards .review-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .tool-examples { padding: 16px 0 88px; }
  .tool-examples-head { flex-direction: column; align-items: start; gap: 12px; }
  .tool-examples-head h2 { font-size: 28px; }
  .review-cards { grid-template-columns: 1fr; }
  .reply-compare-pair { grid-template-columns: 1fr; }
  .reply-compare { padding: 20px; }
  .tool-guide-table td:first-child { white-space: normal; }
}
@media (max-width: 560px) {
  .tool-examples { padding-bottom: 56px; }
  .room-cards { grid-template-columns: 1fr; }
  .room-card { min-height: 0; gap: 28px; }
  .review-card { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .room-play button { transition: none; }
}


[data-tool-page] [data-tool-intro] h1[data-lines] span { display: block; }
@media (max-width: 560px) { [data-tool-page] [data-tool-intro] h1[data-lines] span { display: inline; } }


.tool-proof { background: #0b0a08; color: #fffdf9; padding: 150px 0; }
.tool-proof h2 { font: 400 50px/1.08 var(--tool-display); letter-spacing: -.045em; margin: 0 0 72px; max-width: 18ch; text-wrap: balance; }
.tool-proof h2 span { display: block; }
.tool-proof-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.tool-proof-grid figure { margin: 0; padding-top: 24px; border-top: 1px solid rgba(255, 253, 249, .18); display: flex; flex-direction: column; gap: 14px; }
.tool-proof-grid strong { font: 400 64px/1 var(--tool-display); letter-spacing: -.04em; color: #d4754e; font-variant-numeric: tabular-nums; }
.tool-proof-grid p { margin: 0; font: 400 17px/1.5 var(--tool-sans); color: rgba(255, 253, 249, .82); text-wrap: pretty; }
.tool-proof-grid figcaption { font: 400 13px/1.45 var(--tool-sans); color: rgba(255, 253, 249, .55); }
.tool-proof-grid figcaption a { color: inherit; text-underline-offset: 3px; }
@media (max-width: 1050px) { .tool-proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 40px; } }
@media (max-width: 760px) { .tool-proof { padding: 88px 0; } .tool-proof h2 { font-size: 40px; margin-bottom: 48px; } }
@media (max-width: 560px) { .tool-proof { padding: 56px 0; } .tool-proof h2 { font-size: 34px; } .tool-proof-grid { grid-template-columns: 1fr; gap: 36px; } .tool-proof-grid strong { font-size: 52px; } }
