/* Scoped Timberline Growth Enhancements 2.1 styles. */
.tlg-21-section { margin: 46px 0 0; padding: 32px max(22px, calc((100vw - 1200px) / 2)); background: #f1f3ed; color: #293923; }
.tlg-21-container { max-width: 1200px; margin: auto; }
.tlg-21-head { display: flex; justify-content: space-between; gap: 30px; align-items: center; }
.tlg-21-head h2 { font-size: clamp(22px, 2.6vw, 32px); color: #293923; line-height: 1.2; margin: 5px 0 10px; }
.tlg-21-head p { margin: 0; line-height: 1.6; }
.tlg-21-eyebrow { text-transform: uppercase; letter-spacing: 0.12em; font-size: 12px; font-weight: 700; color: #88692f; }
.tlg-21-actions { display: flex; gap: 10px; flex-wrap: wrap; flex-shrink: 0; }
.tlg-21-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 18px; border-radius: 5px; text-decoration: none; font-size: 14px; font-weight: 700; }
.tlg-21-button { background: #293923; color: #fff !important; }
.tlg-21-outline { color: #293923 !important; border: 1px solid #293923; }
.tlg-21-links { display: flex; flex-wrap: wrap; list-style: none; padding: 18px 0 0; margin: 18px 0 0; gap: 14px 22px; border-top: 1px solid #d7dece; }
.tlg-21-links li { margin: 0; padding: 0; }
.tlg-21-links a { color: #293923; text-decoration: underline; text-underline-offset: 3px; font-size: 14px; }
.tlg-21-form-wrap { max-width: 900px; padding: 26px; border: 1px solid #dbe2d7; border-radius: 12px; background: #f8faf7; margin: 24px 0 40px; }
.tlg-21-form { display: grid; gap: 19px; }
.tlg-21-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.tlg-21-form label { display: block; color: #293923; font-size: 15px; font-weight: 650; }
.tlg-21-form input:not([type="hidden"]), .tlg-21-form select, .tlg-21-form textarea { margin: 7px 0 0; background: #fff; color: #253021; width: 100%; display: block; border: 1px solid #aebca9; border-radius: 4px; padding: 12px 13px; font: inherit; box-sizing: border-box; }
.tlg-21-form input:focus, .tlg-21-form textarea:focus, .tlg-21-form select:focus { outline: 3px solid #c4d1b3; outline-offset: 1px; }
.tlg-21-form button { background: #293923; color: #fff; border: none; border-radius: 4px; min-height: 48px; width: fit-content; padding: 13px 25px; cursor: pointer; font-weight: 700; }
.tlg-21-form button:hover { background: #3d512f; }
.tlg-21-privacy, .tlg-21-alt { font-size: 13px; line-height: 1.6; margin: 0; }
.tlg-21-notice { background: #f0f6eb; border-left: 4px solid #335b27; margin: 28px 0; padding: 22px 24px; }
.tlg-21-error { background: #fff0ed; color: #8c2f25; padding: 13px 16px; border-left: 4px solid #bb4433; }
.tlg-21-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.tlg-21-mobile-cta { display: none; }
@media (max-width: 850px) { .tlg-21-head { flex-direction: column; align-items: flex-start; } .tlg-21-actions { width: 100%; } }
@media (max-width: 620px) {
 .tlg-21-section { padding: 25px 18px; } .tlg-21-links { flex-direction: column; gap: 12px; }
 .tlg-21-grid { grid-template-columns: 1fr; } .tlg-21-form-wrap { padding: 18px; }
 body.tlg-21-mobile-enabled { padding-bottom: 78px; }
 .tlg-21-mobile-cta { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 9990; background: #293923; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); box-shadow: 0 -4px 16px rgba(0,0,0,.15); gap: 8px; }
 .tlg-21-mobile-cta a { flex: 1; text-align: center; background: #f8faf6; color: #293923; font-weight: 700; font-size: 13px; border-radius: 4px; padding: 12px 6px; min-height: 44px; box-sizing: border-box; text-decoration: none; }
 .tlg-21-mobile-cta a:first-child { background: #c4a25b; color: #1e2b1b; }
}

/* 2.1.4 opt-in estimate page layout: entirely scoped, never changes the form's POST logic. */
.tlg-21-estimate-layout { display:grid; grid-template-columns:minmax(0, 1.85fr) minmax(280px, .85fr); align-items:start; gap:28px; width:100%; max-width:1200px; margin:24px 0 44px; }
.tlg-21-estimate-column { min-width:0; }
.tlg-21-estimate-layout .tlg-21-form-wrap { box-sizing:border-box; max-width:none; width:100%; margin:0; padding:22px; }
.tlg-21-estimate-layout .tlg-21-form { gap:16px; }
.tlg-21-estimate-layout .tlg-21-grid { gap:15px 17px; }
.tlg-21-estimate-aside { display:grid; gap:14px; color:#293923; }
.tlg-21-estimate-aside .tlg-21-aside-card { box-sizing:border-box; min-width:0; background:#f5f7f2; border:1px solid #dbe2d7; border-radius:10px; padding:22px; }
.tlg-21-estimate-aside .tlg-21-aside-primary { background:#ecf1e7; border-color:#d5dfce; }
.tlg-21-estimate-aside .tlg-21-aside-eyebrow { margin:0 0 10px; color:#806225; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:800; }
.tlg-21-estimate-aside h2 { margin:0 0 13px; font-size:clamp(19px,1.5vw,23px); line-height:1.24; color:#293923; }
.tlg-21-estimate-aside .tlg-21-aside-facts { padding:0; margin:0; list-style:none; }
.tlg-21-estimate-aside .tlg-21-aside-facts li { margin:0; padding:10px 0 10px 20px; position:relative; border-bottom:1px solid #d7dfd0; }
.tlg-21-estimate-aside .tlg-21-aside-facts li:last-child { border-bottom:0; padding-bottom:0; }
.tlg-21-estimate-aside .tlg-21-aside-facts li:before { content:''; position:absolute; left:0; top:18px; background:#8b762f; width:7px; height:7px; border-radius:50%; }
.tlg-21-estimate-aside .tlg-21-aside-facts strong { display:block; font-size:14px; font-weight:750; line-height:1.35; }
.tlg-21-estimate-aside .tlg-21-aside-facts span { display:block; margin-top:4px; font-size:13px; line-height:1.5; }
.tlg-21-estimate-aside blockquote { margin:0; padding:0; border:0; font-size:16px; line-height:1.55; font-style:normal; color:#293923; }
.tlg-21-estimate-aside .tlg-21-aside-attribution { font-size:13px; margin:9px 0 0; font-weight:700; }
.tlg-21-estimate-aside address { margin:0 0 9px; font-style:normal; line-height:1.55; }
.tlg-21-estimate-aside .tlg-21-aside-visit > p:not(.tlg-21-aside-eyebrow) { margin:0 0 13px; font-size:14px; }
.tlg-21-estimate-aside .tlg-21-aside-actions { display:flex; flex-wrap:wrap; gap:7px 13px; }
.tlg-21-estimate-aside .tlg-21-aside-actions a { display:inline-flex; min-height:40px; align-items:center; color:#293923; text-decoration:underline; text-underline-offset:3px; font-weight:700; font-size:13px; }
@media (max-width:1050px) { .tlg-21-estimate-layout { grid-template-columns:minmax(0,1fr); max-width:900px; } .tlg-21-estimate-aside { grid-template-columns:repeat(2,minmax(0,1fr)); } .tlg-21-aside-primary { grid-row:span 2; } }
@media (max-width:670px) { .tlg-21-estimate-layout { gap:16px; margin:19px 0 30px; } .tlg-21-estimate-aside { grid-template-columns:1fr; } .tlg-21-aside-primary { grid-row:auto; } .tlg-21-estimate-layout .tlg-21-form-wrap { padding:16px; } }
