/* TF Joinery: scope styles to TF sections and project components. */
:root{--tf-ink:#35403e;--tf-soft:#f0f1ee;--tf-line:#d9ded7;--tf-secondary:#626c67}
.tf-section{font-family:Arial,Helvetica,sans-serif;color:var(--tf-ink);font-size:16px;line-height:1.7}
.tf-section h1,.tf-section h2,.tf-section h3,.tf-project-single h1,.tf-project-single h2,.tf-project-card h3{font-family:Arial,Helvetica,sans-serif;font-weight:400;color:var(--tf-ink);letter-spacing:-.035em;line-height:1.15}
.tf-section h1,.tf-project-single h1{font-size:clamp(38px,4.2vw,62px)}
.tf-section h2,.tf-project-single h2{font-size:clamp(29px,3vw,40px)}
.tf-section h3,.tf-project-card h3{font-size:23px;letter-spacing:-.02em}
.tf-section .tf-eyebrow,.tf-eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--tf-secondary)}
.tf-section .uk-button{font:14px/1.5 Arial,Helvetica,sans-serif;padding:13px 23px;border-radius:0;text-transform:none;letter-spacing:0;min-height:46px}
.tf-section .uk-button-primary{background:#3e4948;color:#fff;border:1px solid #3e4948}
.tf-section .uk-button-default{background:transparent;color:var(--tf-ink);border:1px solid #79867c}
.tf-section .uk-button-primary:hover{background:#293632;color:#fff}
.tf-section .uk-button-default:hover{background:#e9ede7;color:var(--tf-ink)}
.tf-hero,.tf-page-heading{background:var(--tf-soft)}
.tf-hero-photo img{width:100%;height:540px;object-fit:cover}
.tf-photo:not(.tf-hero-photo) img{width:100%;height:360px;object-fit:cover}
.tf-work-images .tf-photo img{height:280px}
.tf-strip{padding-top:20px!important;padding-bottom:20px!important;border-bottom:1px solid var(--tf-line)}
.tf-trust{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}
.tf-service{border-top:1px solid #b7bfba;padding-top:20px}
.tf-contact{background:#3e4948;color:#fff}
.tf-contact h2,.tf-contact a{color:#fff}
.tf-contact .tf-eyebrow{color:#d1dbd3}
.tf-contact .uk-button-primary{background:#fff;color:#35403e;border-color:#fff}
.tf-contact .uk-button-default{color:#fff;border-color:#d1dbd3}
.tf-contact .uk-button:hover{background:#e6ede5;color:#35403e}
.tf-contact p a{display:inline-block;padding:5px 0}
.tf-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}
.tf-project-card a{text-decoration:none;color:var(--tf-ink)}
.tf-project-card a:hover h3,.tf-more-link:hover{text-decoration:underline}
.tf-project-thumb{display:block;width:100%;height:310px;object-fit:cover;margin-bottom:18px}
.tf-project-card h3{margin:8px 0}
.tf-project-card .tf-eyebrow{margin:12px 0 6px}
.tf-project-location,.tf-photo-credit{color:var(--tf-secondary);font-size:13px}
.tf-project-summary{font-size:14px}
.tf-more-link{color:var(--tf-ink);display:inline-block;padding:8px 0;border-bottom:1px solid #a6b1a7;text-decoration:none}
.tf-project-grid-compact{gap:22px}
.tf-project-grid-compact .tf-project-thumb{height:170px}
.tf-project-grid-compact h3{font-size:19px}
.tf-project-heading{padding:35px 0 45px}
.tf-project-hero img{width:100%;max-height:620px;object-fit:cover}
.tf-project-overview{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;padding:65px 0}
.tf-project-gallery{padding:45px 0}
.tf-project-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.tf-project-gallery-grid figure{margin:0}
.tf-project-gallery-grid img{width:100%;height:440px;object-fit:cover}
.tf-project-gallery-grid figcaption{font-size:13px;padding-top:10px;color:var(--tf-secondary)}
.tf-mobile-links a,.tf-mobile-links summary{display:block;min-height:46px;padding:12px 0;color:var(--tf-ink);text-decoration:none;border-bottom:1px solid var(--tf-line)}
.tf-mobile-links details a{padding-left:18px;font-size:14px}
.tf-mega{padding-top:25px!important;padding-bottom:30px!important}
.tf-mega h2{font-size:29px}
.tf-mega p{font-size:14px}
.tf-project-template{padding-top:0!important}
@media(max-width:767px){.tf-section{font-size:15px}.tf-hero-photo img{height:310px}.tf-photo:not(.tf-hero-photo) img{height:300px}.tf-project-grid,.tf-project-gallery-grid,.tf-project-overview{grid-template-columns:1fr}.tf-project-overview{gap:24px;padding:35px 0}.tf-project-thumb{height:290px}.tf-project-gallery-grid img{height:auto;max-height:560px;object-fit:contain}.tf-project-grid-compact{grid-template-columns:1fr}.tf-section .tf-actions .uk-button{width:100%}.tf-trust{display:grid;gap:9px}}
