/* Homepage components, isolated from the existing tool and pricing styles. */
.tf-page .tf-home-section { color: var(--aw-ink); font-size: 15px; line-height: 1.55; }
.tf-page .tf-home-section [hidden] { display: none !important; }
.tf-page .tf-home-section :is(a, button):focus-visible { outline: 2px solid var(--aw-blue); outline-offset: 4px; }
.tf-page .tf-home-section a { color: inherit; text-decoration: none; }
.tf-page .tf-home-section :is(h2, h3, p, a) { overflow-wrap: anywhere; }
.tf-page .tf-home-section :is(h2, h3, p) { margin: 0; }
.tf-page .tf-home-section .aw-container { width: min(1180px, calc(100% - 96px)); margin-inline: auto; }
.tf-page .tf-home-section .aw-section { padding: 68px 0; border-top: 1px solid var(--aw-line); }
.tf-page .tf-home-section .aw-icon { display: inline-block; width: 20px; height: 20px; flex: 0 0 20px; vertical-align: middle; }
.tf-page .tf-home-section .aw-eyebrow { color: var(--aw-blue); font-size: 15px; font-weight: 500; margin-bottom: 20px; }
.tf-page .tf-home-section .aw-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; margin-bottom: 48px; }
.tf-page .tf-home-section .aw-section-heading > :first-child { flex: 1; }
.tf-page .tf-home-section .aw-section-heading > div:nth-child(2) { max-width: 390px; }
.tf-page .tf-home-section .aw-section-heading > div:nth-child(2) > p { font-size: 17px; color: var(--aw-muted); }
.tf-page .tf-home-section .aw-section-heading > div:nth-child(2) > .aw-text-link { margin-top: 18px; }
.tf-page .tf-home-section .aw-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--aw-blue); font-size: 14px; font-weight: 500; line-height: 1.5; }
.tf-page .tf-home-section .aw-text-link:hover { text-decoration: underline; }
.tf-page .tf-home-section .aw-actions { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-top: 25px; }
.tf-page .tf-home-section .aw-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 18px; border: 1px solid var(--aw-blue); border-radius: 8px; font: inherit; font-weight: 500; text-align: center; }
.tf-page .tf-home-section .aw-btn-primary { color: #fff; background: var(--aw-blue); box-shadow: var(--aw-ui-shadow); }
.tf-page .tf-home-section .aw-btn-primary:hover { background: var(--aw-ui-blue-hover); }

.tf-page .tf-home-section .aw-tools-section { background: #fff; }
.tf-page .tf-home-section .aw-tool-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin: -14px 0 28px; }
/* The app shell hides legacy toolbars; this catalog owns its filter controls. */
.tf-page .tf-home-section .aw-tool-toolbar:not([hidden]) { display: flex !important; }
.tf-page .tf-home-section .aw-tool-filters { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: #e9eef4; border-radius: 7px; }
.tf-page .tf-home-section .aw-tool-filters button { min-height: 44px; padding: 9px 16px; border: 0; border-radius: 4px; background: transparent; color: var(--aw-filter-ink,var(--aw-text)); font: inherit; font-size: 14px; font-weight: 500; line-height: 1.4; cursor: pointer; }
.tf-page .tf-home-section .aw-tool-filters button[data-aw-tool-filter-tone="planning"] { --aw-filter-ink: #155eef; --aw-filter-bg: #eef4ff; --aw-filter-border: #dce7fc; }
.tf-page .tf-home-section .aw-tool-filters button[data-aw-tool-filter-tone="research"] { --aw-filter-ink: #99630d; --aw-filter-bg: #fff8e9; --aw-filter-border: #f3e7c9; }
.tf-page .tf-home-section .aw-tool-filters button[data-aw-tool-filter-tone="writing"] { --aw-filter-ink: #087f78; --aw-filter-bg: #edf8f5; --aw-filter-border: #d8eee8; }
.tf-page .tf-home-section .aw-tool-filters button[data-aw-tool-filter-tone="analysis"] { --aw-filter-ink: #5b3fd6; --aw-filter-bg: #f3f0ff; --aw-filter-border: #e4ddff; }
.tf-page .tf-home-section .aw-tool-filters button[aria-pressed="true"] { color: var(--aw-filter-ink,var(--aw-blue)); background: var(--aw-filter-bg,#fff); box-shadow: inset 0 0 0 1px var(--aw-filter-border,#dce7fc), 0 1px 4px #14283d12; }
.tf-page .tf-home-section .aw-tool-count { font-size: 12px; color: var(--aw-muted); }
.tf-page .tf-home-section .aw-tool-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.tf-page .tf-home-section .aw-tool { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 27px 23px; border: 1px solid var(--aw-line); border-radius: 8px; background: #fff; box-shadow: var(--aw-ui-shadow); }
.tf-page .tf-home-section .aw-tool:hover { border-color: #a8c1e8; }
.tf-page .tf-home-section .aw-tool:focus-within { border-color: var(--aw-blue); }
.tf-page .tf-home-section .aw-tool h3 { margin: 25px 0 12px; }
.tf-page .tf-home-section .aw-tool p { margin-bottom: 24px; font-size: 15px; color: var(--aw-muted); }
.tf-page .tf-home-section .aw-tool .aw-text-link { margin-top: auto; font-size: 12px; }
.tf-page .tf-home-section .aw-tool-label { position: absolute; top: 28px; right: 18px; max-width: calc(100% - 94px); font-size: 8px; color: var(--aw-blue); text-align: right; }
.tf-page .tf-home-section .aw-tool-featured { border-color: #9cbbee; background: #eef4ff; }
.tf-page .tf-home-section .aw-tool[data-tool-status="planned"] .aw-text-link { color: #087f78; }
@supports (mask-image: url("")) or (-webkit-mask-image: url("")) {
  .tf-page .tf-home-section .aw-tool-emblem[style] img { grid-area: 1/1; opacity: 0; }
  .tf-page .tf-home-section .aw-tool-emblem[style]::after { content: ""; grid-area: 1/1; width: 24px; height: 24px; background: currentColor; -webkit-mask: var(--aw-icon-image) center/contain no-repeat; mask: var(--aw-icon-image) center/contain no-repeat; }
}

.tf-page .tf-home-section .aw-about-section { background: #fff; }
.tf-page .tf-home-section .aw-feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 72px; align-items: center; }
.tf-page .tf-home-section .aw-feature-copy > p:not(.aw-eyebrow) { font-size: 17px; margin-top: 23px; color: var(--aw-muted); }
.tf-page .tf-home-section .aw-support-panel { border-left: 1px solid #cedce4; padding-left: 44px; }
.tf-page .tf-home-section .aw-support-head { display: flex; gap: 12px; align-items: center; font-size: 11px; margin-bottom: 24px; color: var(--aw-teal); }
.tf-page .tf-home-section .aw-icon-tile { display: inline-grid; place-items: center; width: 40px; height: 40px; flex-shrink: 0; border-radius: 7px; }
.tf-page .tf-home-section .aw-icon-mint { background: #e6f4ef; color: #087f78; }
.tf-page .tf-home-section .aw-support-panel > p { font-size: 15px; margin: 18px 0 25px; color: var(--aw-muted); }
.tf-page .tf-home-section .aw-support-panel > a { display: flex; align-items: center; gap: 14px; border-top: 1px solid #d2dfe7; padding: 18px 0; }
.tf-page .tf-home-section .aw-support-panel > a:hover { color: var(--aw-blue); }
.tf-page .tf-home-section .aw-support-panel > a > .aw-icon { color: var(--aw-teal); }
.tf-page .tf-home-section .aw-support-panel > a > .aw-icon:last-child { margin-left: auto; width: 16px; height: 16px; flex-basis: 16px; }
.tf-page .tf-home-section .aw-support-panel b { display: block; font-size: 13px; }
.tf-page .tf-home-section .aw-support-panel small { display: block; color: var(--aw-muted); font-size: 11px; margin-top: 3px; }

/* Keep the support panel as the single contact action in this section. */
.tf-page .tf-home-section .aw-feature-copy > .aw-actions { display: none; }
.tf-page .tf-home-section .aw-support-panel > a:first-of-type { display: none; }
.tf-page .tf-home-section .aw-support-panel > a:last-of-type {
  width: fit-content;
  max-width: 100%;
  justify-content: flex-start;
  border: 1px solid var(--aw-blue);
  border-top: 1px solid var(--aw-blue);
  border-radius: 8px;
  padding: 11px 18px;
  color: #fff;
  background: var(--aw-blue);
  box-shadow: var(--aw-ui-shadow);
}
.tf-page .tf-home-section .aw-support-panel > a:last-of-type:hover {
  color: #fff;
  background: var(--aw-ui-blue-hover);
}
.tf-page .tf-home-section .aw-support-panel > a:last-of-type > .aw-icon { color: currentColor; }
.tf-page .tf-home-section .aw-support-panel > a:last-of-type small { color: #dce7fc; }
.tf-page .tf-home-section .aw-trust-principles { margin-top: 68px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; padding-top: 30px; border-top: 1px solid #d2dfe7; }
.tf-page .tf-home-section .aw-trust-principles > div > .aw-icon { color: var(--aw-blue); margin-bottom: 16px; }
.tf-page .tf-home-section .aw-trust-principles h3 { margin-bottom: 10px; }
.tf-page .tf-home-section .aw-trust-principles p { font-size: 15px; color: var(--aw-muted); }
.tf-page .tf-home-section .aw-trust-principles a { text-decoration: underline; text-underline-offset: 3px; }

/* SHARED TOOL ICONS START */

  .tf-page .tf-home-section .aw-tool-emblem { display:inline-grid; place-items:center; flex:none; width:44px; height:44px; padding:0; margin:0; border:1px solid var(--icon-border,#dce7fc); border-radius:8px; background:var(--icon-bg,#eef4ff); box-shadow:inset 0 1px 0 #ffffffcc,0 2px 3px #15263904; vertical-align:middle; }
  .tf-page .tf-home-section .aw-tool-emblem img { display:block; width:24px; height:24px; max-width:none; object-fit:contain; }
  .tf-page .tf-home-section .aw-tool-emblem[data-icon-tone="proofreading"] { color:#087f78; --icon-border:#d8eee8; --icon-bg:#edf8f5; }
  .tf-page .tf-home-section .aw-tool-emblem[data-icon-tone="citation"] { color:#0984b8; --icon-border:#d9edf8; --icon-bg:#eef8fd; }
  .tf-page .tf-home-section .aw-tool-emblem[data-icon-tone="writingtools"] { color:#99630d; --icon-border:#f3e7c9; --icon-bg:#fff8e9; }
  .tf-page .tf-home-section .aw-tool-emblem[data-icon-tone="planning"] { color:#155eef; --icon-border:#dce7fc; --icon-bg:#eef4ff; }
  .tf-page .tf-home-section .aw-tool-emblem[data-icon-tone="writing"] { color:#087f78; --icon-border:#d8eee8; --icon-bg:#edf8f5; }
  .tf-page .tf-home-section .aw-tool-emblem[data-icon-tone="research"] { color:#99630d; --icon-border:#f3e7c9; --icon-bg:#fff8e9; }
  .tf-page .tf-home-section .aw-tool-emblem[data-icon-tone="analysis"] { color:#5b3fd6; --icon-border:#e4ddff; --icon-bg:#f3f0ff; }
  .tf-page .tf-home-section .aw-tool-emblem[data-icon-tone="practice"] { color:#0e8a9b; --icon-border:#c9f2f5; --icon-bg:#ecfeff; }
  .tf-page .tf-home-section .aw-tool > .aw-tool-emblem { margin-bottom:22px; }
  .tf-page .tf-home-section .aw-tool-page-icon { display:grid; width:44px; height:44px; margin-bottom:14px; }
  .tf-page .tf-home-section .aw-tool-emblem.aw-tool-emblem-compact { width:30px; height:30px; border-radius:6px; box-shadow:none; }
  .tf-page .tf-home-section .aw-tool-emblem.aw-tool-emblem-compact img { width:19px; height:19px; }
  @media(prefers-reduced-motion:no-preference) { .tf-page .tf-home-section a:hover .aw-tool-emblem { box-shadow:inset 0 1px 0 #ffffffcc,0 3px 8px #1526390d; } }

/* SHARED TOOL ICONS END */

@media (max-width: 1100px) {
  .tf-page .tf-home-section .aw-tool-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tf-page .tf-home-section .aw-feature-grid { gap: 36px; }
  .tf-page .tf-home-section .aw-support-panel { padding-left: 30px; }
}
@media (max-width: 760px) {
  .tf-page .tf-home-section .aw-container { width: calc(100% - 32px); }
  .tf-page .tf-home-section .aw-section { padding: 42px 0; }
  .tf-page .tf-home-section .aw-section-heading { flex-direction: column; align-items: flex-start; gap: 20px; margin-bottom: 32px; }
  .tf-page .tf-home-section .aw-section-heading > div:nth-child(2) { max-width: none; }
  .tf-page .tf-home-section .aw-tool-toolbar { flex-direction: column; align-items: stretch; }
  .tf-page .tf-home-section .aw-tool-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tf-page .tf-home-section .aw-tool-filters button { padding: 9px 6px; font-size: 13px; }
  .tf-page .tf-home-section .aw-tool-count { align-self: flex-end; }
  .tf-page .tf-home-section .aw-feature-grid, .tf-page .tf-home-section .aw-trust-principles { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .tf-page .tf-home-section .aw-support-panel { border: 0; border-top: 1px solid #cedce4; padding: 28px 0 0; }
  .tf-page .tf-home-section .aw-trust-principles { margin-top: 32px; }
  .tf-page .tf-home-section .aw-text-link { min-height: 44px; }
  .tf-page .tf-home-section .aw-eyebrow { font-size: 13px; }
  .tf-page .tf-home-section .aw-feature-copy > p:not(.aw-eyebrow) { font-size: 16px; }
  .tf-page .tf-home-section .aw-support-panel small { font-size: 12px; }
  .tf-page .tf-home-section .aw-support-panel > a:last-of-type { width: 100%; }
}
@media (max-width: 600px) {
  .tf-page .tf-home-section .aw-tool-grid { grid-template-columns: minmax(0,1fr); }
  .tf-page .tf-home-section .aw-tool { display: grid; grid-template-columns: 44px minmax(0,1fr); column-gap: 14px; row-gap: 8px; padding: 24px 20px 17px; }
  .tf-page .tf-home-section .aw-tool > .aw-tool-emblem { grid-column: 1; grid-row: 1 / span 4; margin: 0; }
  .tf-page .tf-home-section .aw-tool :is(h3, p, .aw-text-link, .aw-tool-label) { grid-column: 2; margin: 0; }
  .tf-page .tf-home-section .aw-tool-label { position: static; max-width: none; text-align: left; font-size: 11px; }
  .tf-page .tf-home-section .aw-tool .aw-text-link { width: fit-content; font-size: 14px; }
}
