@media (max-width: 980px) {
  .tf-main-nav {
    display: none;
  }

  .tf-mobile-menu-toggle {
    display: inline-flex;
  }

  .tf-mobile-nav.is-open {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .tf-header-cta {
    display: none;
  }

  .tf-hero-grid,
  .tf-section-head-with-media,
  .tf-section-head-split,
  .tf-experiences-intro,
  .tf-about-hero,
  .tf-about-mission,
  .tf-about-story,
  .tf-contact-hero,
  .tf-contact-path,
  .tf-contact-process,
  .tf-contact-note,
  .tf-intake-section,
  .tf-blog-hero,
  .tf-blog-featured,
  .tf-blog-feature-card-large,
  .tf-blog-topics,
  .tf-blog-newsletter,
  .tf-pattern-editorial-cta,
  .tf-pattern-conversion-intro,
  .tf-pattern-page-hero,
  .tf-pattern-split-story,
  .tf-pattern-experience-intro,
  .tf-article-next-reading,
  .tf-not-found-card,
  .tf-experience-detail-hero,
  .tf-newsletter-band,
  .tf-footer-grid {
    grid-template-columns: 1fr;
  }

  .tf-experiences-trust {
    justify-content: flex-start;
  }

  .tf-experience-filter-bar {
    align-items: flex-start;
    flex-direction: column;
  }

  .tf-trust-band,
  .tf-process-grid,
  .tf-experience-grid,
  .tf-about-principles,
  .tf-contact-methods,
  .tf-blog-card-grid,
  .tf-pattern-trust-grid,
	  .tf-form-grid,
	  .tf-quote-grid,
	  .tf-story-grid,
	  .tf-experience-support-strip,
	  .tf-experience-editor-sections {
	    grid-template-columns: repeat(2, minmax(0, 1fr));
	  }

  .tf-experience-care-panel {
    grid-template-columns: 1fr;
  }

  .tf-experience-guidance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tf-article-next-actions {
    justify-content: flex-start;
  }

  .tf-home-experience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tf-about-story {
    padding: clamp(34px, 6vw, 52px);
  }

  .tf-footer-grid {
    gap: 26px;
  }

  .tf-newsletter-band {
    align-items: start;
  }

  .tf-wide-media {
    aspect-ratio: 4 / 3;
  }

  .tf-pattern-page-hero-media,
  .tf-pattern-split-story figure,
  .tf-pattern-experience-intro figure {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 640px) {
  :root {
    --tf-type-hero: clamp(3.4rem, 18vw, 5.2rem);
    --tf-type-page: clamp(2.35rem, 10.4vw, 2.85rem);
    --tf-type-body: 1rem;
  }

  .tf-site-header {
    position: relative;
    padding-inline: 20px;
  }

  .tf-header-inner {
    width: 100%;
    flex-wrap: wrap !important;
    gap: 16px !important;
  }

  .tf-logo {
    width: min(218px, 62vw);
  }

  .tf-newsletter-band {
    padding: 20px;
    border-radius: 16px;
  }

  .tf-newsletter-band h2 {
    font-size: 1.75rem;
  }

  .tf-newsletter-fields {
    grid-template-columns: 1fr;
  }

  .tf-newsletter-fields .tf-button {
    width: 100%;
  }

  .tf-newsletter-popup {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    max-height: calc(100vh - 24px);
    padding: 18px;
    overflow: auto;
  }

  .tf-mobile-menu-toggle {
    margin-left: auto;
  }

  .tf-mobile-nav.is-open {
    grid-template-columns: 1fr;
  }

  .tf-hero-title {
    font-size: var(--tf-type-hero);
  }

  .tf-premium-hero {
    padding-block: 72px 82px;
  }

  .tf-premium-hero-bg {
    object-position: 64% center;
    opacity: 0.5;
  }

  .tf-premium-hero::before {
    background:
      linear-gradient(90deg, rgba(17, 20, 14, 0.9), rgba(17, 20, 14, 0.72)),
      linear-gradient(180deg, rgba(17, 20, 14, 0.18), rgba(17, 20, 14, 0.52));
  }

  .tf-premium-hero::after,
  .tf-premium-hero[data-hero-motion] .tf-hero-atmosphere {
    display: none;
  }

  .tf-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tf-hero-scroll {
    left: auto;
    right: 20px;
    bottom: 18px;
    transform: none;
  }

  .tf-hero-scroll:hover {
    transform: translateY(-2px);
  }

  .tf-button {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .tf-pattern-page-hero,
  .tf-pattern-split-story,
  .tf-pattern-experience-intro,
  .tf-pattern-testimonial-row,
  .tf-pattern-legal-note {
    padding: 32px 20px;
  }

  .tf-pattern-page-hero h1,
  .tf-pattern-experience-intro h1 {
    font-size: var(--tf-type-page);
  }

  .tf-pattern-split-story > div {
    padding: 24px;
  }

  .tf-hero-lede,
  .tf-hero-trust {
    overflow-wrap: anywhere;
  }

  .tf-experience-filter-bar {
    gap: 8px;
    margin-top: 12px;
    margin-bottom: 16px;
    padding: 8px;
  }

  .tf-experiences-intro {
    gap: 12px;
    margin-bottom: 10px;
  }

  .tf-all-experiences .tf-section-heading {
    font-size: clamp(1.78rem, 7.1vw, 2.08rem);
    line-height: 1.04;
  }

  .tf-all-experiences .tf-section-lede {
    margin-top: 10px;
    line-height: 1.5;
  }

  .tf-experiences-trust {
    gap: 8px;
  }

  .tf-experiences-trust span {
    min-height: 34px;
    padding-inline: 12px;
    font-size: 0.78rem;
  }

  .tf-experience-filters {
    width: 100%;
    flex-wrap: nowrap;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .tf-experience-filters::-webkit-scrollbar {
    display: none;
  }

  .tf-experience-filters button {
    flex: 0 0 auto;
    min-height: 34px;
    padding-inline: 12px;
  }

  .tf-experience-count {
    font-size: 0.82rem;
    white-space: normal;
  }

  .tf-experience-detail-image {
    margin-top: 12px;
    min-height: clamp(280px, 72vw, 420px);
    aspect-ratio: 4 / 3;
  }

  .tf-trust-band,
  .tf-process-grid,
  .tf-experience-grid,
  .tf-about-principles,
  .tf-contact-methods,
	  .tf-quote-grid,
	  .tf-story-grid,
	  .tf-experience-support-strip,
	  .tf-experience-editor-sections {
	    grid-template-columns: 1fr;
	  }

  .tf-experience-guidance-grid {
    grid-template-columns: 1fr;
  }

  .tf-experience-support-strip article {
    min-height: 0;
    padding: 20px;
  }

  .tf-experience-guidance-grid article {
    min-height: 0;
  }

  .tf-experience-care-panel {
    padding: 24px;
  }

  .tf-story-featured {
    grid-row: auto;
    min-height: 0;
  }

  .tf-story-card {
    padding: 26px;
  }

  .tf-home-trust-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-block: 8px;
    background: var(--tf-stone);
  }

  .tf-home-trust-band .tf-trust-item {
    min-height: 0;
    padding: 14px;
    border-radius: 12px;
  }

  .tf-home-trust-band .tf-trust-item strong {
    font-size: clamp(1.12rem, 5.3vw, 1.42rem);
  }

  .tf-home-trust-band .tf-trust-item p {
    margin-bottom: 0;
    font-size: 0.86rem;
    line-height: 1.45;
  }

  .tf-home-experience-grid {
    grid-template-columns: 1fr;
  }

  .tf-home-experience-card .tf-card-label {
    margin-top: 18px;
  }

  .tf-process-section .tf-wide-media {
    aspect-ratio: 16 / 6.4;
    margin-bottom: 16px;
  }

  .tf-process-card {
    padding: 20px;
  }

  .tf-about-hero {
    padding-bottom: 34px;
  }

  .tf-about-hero-copy h1 {
    font-size: var(--tf-type-page);
    line-height: 1.04;
  }

  .tf-about-hero-copy > p:not(.tf-section-eyebrow),
  .tf-about-copy p,
  .tf-about-story p,
  .tf-about-cta p {
    font-size: 1rem;
    line-height: 1.58;
  }

  .tf-about-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tf-about-hero-image {
    aspect-ratio: 4 / 3;
  }

  .tf-about-story,
  .tf-about-cta {
    padding: 24px;
    border-radius: 18px;
  }

  .tf-about-principles article {
    min-height: auto;
    padding: 22px;
  }

  .tf-about-mission {
    padding-block: 32px;
  }

  .tf-about-principles {
    padding-bottom: 34px;
  }

  .tf-contact-hero {
    padding-bottom: 42px;
  }

  .tf-contact-hero-copy h1 {
    font-size: var(--tf-type-page);
    line-height: 1.04;
  }

  .tf-contact-hero-copy > p:not(.tf-section-eyebrow),
  .tf-contact-card p,
  .tf-contact-methods p,
  .tf-contact-steps p,
  .tf-contact-note p {
    font-size: 1rem;
  }

  .tf-contact-card,
  .tf-contact-note,
  .tf-intake-section {
    padding: 28px;
    border-radius: 18px;
  }

  .tf-contact-hero-actions,
  .tf-pattern-actions,
  .tf-article-next-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tf-article-support-note,
  .tf-article-next-reading {
    border-radius: 18px;
  }

  .tf-contact-trust-list {
    grid-template-columns: 1fr;
  }

  .tf-intake-copy h2 {
    font-size: var(--tf-type-page);
    line-height: 1.04;
  }

  .tf-intake-copy p {
    font-size: 1rem;
  }

  .tf-form-grid {
    grid-template-columns: 1fr;
  }

  .tf-intake-form .tf-button {
    width: 100%;
  }

  .tf-contact-methods a {
    min-height: auto;
  }

  .tf-blog-hero h1,
  .tf-single-post-hero .wp-block-post-title,
  .tf-experience-detail-title {
    font-size: clamp(1.9rem, 7.6vw, 2.25rem);
    line-height: 1.04;
  }

  .tf-experience-detail-kicker {
    margin-bottom: 8px;
  }

  .tf-experience-detail-lede {
    margin-top: 10px;
    font-size: 0.98rem;
    line-height: 1.5;
    -webkit-line-clamp: 5;
  }

  .tf-blog-hero > p,
  .tf-blog-hero-panel p,
  .tf-blog-feature-card p,
  .tf-blog-mini-card p,
  .tf-blog-newsletter p,
  .tf-blog-topics p,
  .tf-blog-article p,
  .tf-blog-article li {
    font-size: 1rem;
  }

  .tf-blog-feature-card,
  .tf-blog-hero-panel,
  .tf-blog-mini-card,
  .tf-blog-newsletter,
  .tf-blog-topics {
    padding: 28px;
    border-radius: 18px;
  }

  .tf-blog-card-grid,
  .tf-pattern-trust-grid {
    grid-template-columns: 1fr;
  }

  .tf-pattern-editorial-cta,
  .tf-pattern-conversion-intro,
  .tf-pattern-trust-grid {
    padding-inline: 20px;
  }

  .tf-not-found-page {
    padding-block: 52px;
  }

  .tf-not-found-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tf-not-found-panel {
    padding: 22px;
  }

  .tf-blog-post-image {
    aspect-ratio: 4 / 3;
  }

  .tf-premium-footer {
    padding-top: 36px;
  }

  .tf-logo-footer {
    width: min(224px, 70vw);
  }

  .tf-social-links {
    max-width: 210px;
  }

  .tf-footer-bottom {
    margin-top: 28px;
  }

  .tf-disclaimer {
    font-size: 0.72rem;
  }

  .tf-cookie-banner {
    left: 12px;
    right: 12px;
    bottom: 12px;
    grid-template-columns: 1fr;
    width: auto;
    padding: 16px;
  }

  .tf-cookie-actions {
    justify-content: stretch;
  }

  .tf-cookie-button {
    flex: 1 1 auto;
  }

  .tf-floating-cta {
    left: 12px;
    right: 12px;
    bottom: 12px;
    grid-template-columns: 1fr;
    width: auto;
    padding: 12px;
    border-radius: 18px;
  }

  .tf-floating-cta p {
    text-align: center;
  }

  .tf-floating-cta .tf-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .tf-reveal,
  .tf-stagger > *,
  .tf-scroll-depth,
  .tf-premium-hero[data-hero-motion] .tf-premium-hero-bg,
  .tf-premium-hero[data-hero-motion] .tf-hero-copy,
  .tf-premium-hero[data-hero-motion] .tf-hero-scroll,
  .tf-hero-scroll i::before {
    opacity: 1 !important;
    transform: none !important;
  }

  .tf-hero-atmosphere {
    display: none !important;
  }
}
