/* Homepage finale: isolated brand styles; no global element overrides. */
#tm-home-bottom-brand {
  --tmb-green: #2f7d39;
  --tmb-ink: #173923;
  --tmb-pale: #f0f5ed;
  --tmb-orange: #f58220;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 0 60px;
  color: var(--tmb-ink);
  font-family: Inter, sans-serif;
}
#tm-home-bottom-brand *, #tm-home-bottom-brand *::before, #tm-home-bottom-brand *::after { box-sizing: border-box; }
#tm-home-bottom-brand h2, #tm-home-bottom-brand h3 { margin: 0; font-family: Kanit, sans-serif; font-weight: 800; font-style: normal; text-wrap: balance; }
#tm-home-bottom-brand h2 { font-size: clamp(32px, 3vw, 46px); line-height: 1.08; letter-spacing: -.025em; }
#tm-home-bottom-brand p { margin: 0; }
#tm-home-bottom-brand a { color: inherit; text-decoration: none; }
#tm-home-bottom-brand a:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
#tm-home-bottom-brand .tmb-measure, #tm-home-bottom-brand .tmb-finale { position: relative; isolation: isolate; display: grid; align-items: center; grid-template-columns: 1.4fr 1fr; padding: 46px 48px; gap: 36px; }
#tm-home-bottom-brand .tmb-measure::before, #tm-home-bottom-brand .tmb-finale::before { content: ""; position: absolute; z-index: -1; inset: 0; clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 36px, 100% 100%, 36px 100%, 0 calc(100% - 36px)); }
#tm-home-bottom-brand .tmb-measure::before { background: var(--tmb-pale); }
#tm-home-bottom-brand .tmb-measure h2 { color: var(--tmb-green); }
#tm-home-bottom-brand .tmb-measure-copy > p, #tm-home-bottom-brand .tmb-finale-copy > p { max-width: 510px; font-size: 16px; line-height: 1.65; margin: 20px 0 26px; }
#tm-home-bottom-brand .tmb-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 26px; }
#tm-home-bottom-brand .tmb-button { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 54px; padding: 13px 22px; color: #fff; font: italic 800 18px/1.25 Kanit, sans-serif; }
#tm-home-bottom-brand .tmb-button::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tmb-green); clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)); }
#tm-home-bottom-brand .tmb-button:hover::before { background: #24622d; }
#tm-home-bottom-brand .tmb-button svg, #tm-home-bottom-brand .tmb-textlink svg { width: 22px; height: 22px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6; }
#tm-home-bottom-brand .tmb-textlink { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; padding: 4px 0; font: italic 800 18px/1.3 Kanit, sans-serif; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
#tm-home-bottom-brand .tmb-textlink:hover { text-decoration-thickness: 2px; }
#tm-home-bottom-brand .tmb-measure-drawing { width: 100%; max-width: 390px; justify-self: center; }
#tm-home-bottom-brand .tmb-measure-drawing svg { display: block; width: 100%; overflow: visible; }
#tm-home-bottom-brand .tmb-meter { font: 800 55px Kanit, sans-serif; }
#tm-home-bottom-brand .tmb-dimension { fill: var(--tmb-green); font: 500 13px Inter, sans-serif; }
#tm-home-bottom-brand .tmb-reviews { padding: 66px 0 62px; }
#tm-home-bottom-brand .tmb-review-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
#tm-home-bottom-brand .tmb-review-heading h2 { color: var(--tmb-green); font-size: clamp(30px, 2.8vw, 40px); }
#tm-home-bottom-brand .tmb-review-heading p { margin-top: 10px; font-size: 15px; line-height: 1.5; }
#tm-home-bottom-brand .tmb-review-heading > a { flex: 0 0 auto; }
#tm-home-bottom-brand .tmb-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
#tm-home-bottom-brand .tmb-review { position: relative; isolation: isolate; display: flex; flex-direction: column; padding: 28px 28px 26px; }
#tm-home-bottom-brand .tmb-review::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tmb-pale); clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px)); }
#tm-home-bottom-brand .tmb-review-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
#tm-home-bottom-brand .tmb-stars { color: var(--tmb-green); font-size: 20px; line-height: 1; letter-spacing: 1px; }
#tm-home-bottom-brand .tmb-review time { font-size: 12px; color: #47634d; }
#tm-home-bottom-brand .tmb-review h3 { font-size: 21px; line-height: 1.25; text-wrap: initial; }
#tm-home-bottom-brand .tmb-review blockquote { border: 0; padding: 0; margin: 14px 0 22px; font-style: normal; }
#tm-home-bottom-brand .tmb-review blockquote p { font-size: 14px; line-height: 1.65; }
#tm-home-bottom-brand .tmb-review-author { padding-top: 0; margin-top: auto; font-size: 13px; font-weight: 700; }
#tm-home-bottom-brand .tmb-review-source { color: #47634d; font-size: 12px; line-height: 1.55; margin-top: 16px; }
#tm-home-bottom-brand .tmb-finale { color: #fff; padding: 48px 0 0 48px; min-height: 382px; gap: 16px; align-items: stretch; }
#tm-home-bottom-brand .tmb-finale::before { background: var(--tmb-green); }
#tm-home-bottom-brand .tmb-finale-copy { padding-bottom: 48px; align-self: center; position: relative; z-index: 1; }
#tm-home-bottom-brand .tmb-finale h2 { font-size: clamp(38px, 3.6vw, 58px); color: #fff; }
#tm-home-bottom-brand .tmb-finale-copy > p { color: #fff; max-width: 480px; margin-top: 22px; }
#tm-home-bottom-brand .tmb-finale .tmb-textlink { color: #fff; }
#tm-home-bottom-brand .tmb-button-white { color: var(--tmb-ink); }
#tm-home-bottom-brand .tmb-button-white::before { background: #fff; }
#tm-home-bottom-brand .tmb-button-white:hover::before { background: #e6f0df; }
#tm-home-bottom-brand .tmb-finale-portrait { position: relative; isolation: isolate; display: grid; align-items: end; min-width: 0; }
#tm-home-bottom-brand .tmb-finale-portrait::before { content: ""; position: absolute; z-index: -1; inset: 16% 12% 0 14%; background: var(--tmb-orange); clip-path: polygon(0 0, 70% 0, 100% 30%, 100% 100%, 30% 100%, 0 70%); }
#tm-home-bottom-brand .tmb-finale-portrait img { display: block; width: 100%; height: auto; max-width: 500px; justify-self: center; object-fit: contain; }
@media (max-width: 1350px) { #tm-home-bottom-brand { margin-inline: 24px; } }
@media (max-width: 1000px) {
  #tm-home-bottom-brand .tmb-measure { padding: 36px; grid-template-columns: 1.5fr 1fr; gap: 16px; }
  #tm-home-bottom-brand .tmb-review { padding: 24px; }
  #tm-home-bottom-brand .tmb-review-top { align-items: flex-start; flex-direction: column; }
  #tm-home-bottom-brand .tmb-finale { padding-left: 36px; grid-template-columns: 1.3fr 1fr; }
  #tm-home-bottom-brand .tmb-finale-copy { padding-bottom: 36px; }
}
@media (max-width: 760px) {
  #tm-home-bottom-brand { margin-inline: 20px; padding-bottom: 36px; }
  #tm-home-bottom-brand h2 { font-size: 32px; }
  #tm-home-bottom-brand .tmb-measure { padding: 30px 26px 26px; grid-template-columns: 1fr; gap: 24px; }
  #tm-home-bottom-brand .tmb-measure-copy > p, #tm-home-bottom-brand .tmb-finale-copy > p { font-size: 15px; }
  #tm-home-bottom-brand .tmb-measure-drawing { max-width: 280px; }
  #tm-home-bottom-brand .tmb-actions { gap: 12px 22px; }
  #tm-home-bottom-brand .tmb-button { font-size: 17px; padding: 13px 19px; }
  #tm-home-bottom-brand .tmb-reviews { padding: 44px 0; }
  #tm-home-bottom-brand .tmb-review-heading { display: block; margin-bottom: 18px; }
  #tm-home-bottom-brand .tmb-review-heading h2 { font-size: 32px; }
  #tm-home-bottom-brand .tmb-review-heading > a { margin-top: 12px; }
  #tm-home-bottom-brand .tmb-review-grid { grid-template-columns: 1fr; gap: 14px; }
  #tm-home-bottom-brand .tmb-review { padding: 24px 26px; }
  #tm-home-bottom-brand .tmb-review-top { flex-direction: row; align-items: center; margin-bottom: 14px; }
  #tm-home-bottom-brand .tmb-review blockquote { margin-bottom: 18px; }
  #tm-home-bottom-brand .tmb-finale { padding: 32px 26px 0; grid-template-columns: 1fr; gap: 0; }
  #tm-home-bottom-brand .tmb-finale h2 { font-size: 38px; }
  #tm-home-bottom-brand .tmb-finale-copy { padding-bottom: 12px; }
  #tm-home-bottom-brand .tmb-finale-portrait { margin-inline: -20px; max-width: 450px; justify-self: center; }
  #tm-home-bottom-brand .tmb-finale-portrait img { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { #tm-home-bottom-brand *, #tm-home-bottom-brand *::before { transition: none; animation: none; } }
