/* Lead-gen, landing pages, CRM view, mobile nav — extends styles.css */
a{color:var(--color-primary)}a:hover{color:var(--color-primary-active)}
.tx-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.tx-btn:disabled{opacity:.6;cursor:default}
.tx-foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr}

/* Mobile nav */
.tx-burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--color-hairline);border-radius:8px;background:var(--color-canvas);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0}
.tx-burger span{display:block;width:18px;height:1.5px;background:var(--color-ink);transition:transform .2s}
.tx-burger.is-open span:first-child{transform:translateY(3.75px) rotate(45deg)}
.tx-burger.is-open span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.tx-mobile-menu{position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--color-canvas);z-index:49;display:flex;flex-direction:column;justify-content:space-between;padding:12px 20px calc(24px + env(safe-area-inset-bottom));overflow:auto}
.tx-mobile-menu nav{display:flex;flex-direction:column}
.tx-mobile-menu nav a{font-family:var(--font-display);font-size:30px;letter-spacing:-.5px;color:var(--color-ink);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--color-hairline)}
.tx-mobile-menu-ctas{display:flex;flex-direction:column;gap:10px;padding-top:24px}
.tx-mobile-menu-ctas .tx-btn{height:52px}

/* Sticky mobile action bar */
.tx-sticky-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(250,249,245,.96);border-top:1px solid var(--color-hairline);backdrop-filter:blur(8px)}
.tx-sticky-bar .tx-btn{height:48px}
.tx-sticky-bar .tx-btn-secondary{flex:0 0 96px}
.tx-sticky-bar .tx-btn-primary{flex:1}

/* Quick lead form */
.tx-quick{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:16px;box-shadow:0 1px 2px rgba(20,20,19,.04),0 12px 32px -12px rgba(20,20,19,.12)}
.tx-quick-head{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}
.tx-quick-head h3,.tx-quick-done h3{font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1.15;letter-spacing:-.4px;margin:0;color:var(--color-ink);text-wrap:balance}
.tx-quick-steps{display:flex;align-items:center;gap:6px}
.tx-quick-steps .dot{width:28px;height:4px;border-radius:2px;background:var(--color-hairline)}
.tx-quick-steps .dot.is-on{background:var(--color-primary)}
.tx-quick-steps .lbl{font-size:12px;color:var(--color-muted);margin-left:6px}
.tx-quick-btn{height:50px;width:100%;font-size:15px}
.tx-quick-actions{display:flex;gap:12px;align-items:center}
.tx-quick-actions .tx-quick-btn{flex:1}
.tx-quick-fine{font-size:12.5px;color:var(--color-muted);margin:0;line-height:1.5}
.tx-field .opt{color:var(--color-muted);font-weight:400}
.tx-quick-done{gap:12px}
.tx-quick-done p{margin:0;font-size:15px;line-height:1.55;color:var(--color-body-strong)}
.tx-quick-done .tx-btn{align-self:flex-start;margin-top:8px}
.tx-lead-split{display:grid;grid-template-columns:1fr minmax(0,520px);gap:72px;align-items:center}

/* Landing pages */
.tx-lp-hero{padding:72px 0 88px}
.tx-lp-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,480px);gap:72px;align-items:start}
.tx-lp-hero .tx-h1{margin-top:8px;text-wrap:balance}
.tx-lp-checks{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:12px}
.tx-lp-checks li{position:relative;padding-left:30px;font-size:16.5px;line-height:1.5;color:var(--color-body-strong)}
.tx-lp-checks li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.tx-lp-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px;border-top:1px solid var(--color-hairline)}
.tx-lp-trust>div{padding:18px 16px 0 0;display:flex;flex-direction:column;gap:4px}
.tx-lp-trust .v{font-family:var(--font-display);font-size:28px;letter-spacing:-.5px;color:var(--color-ink)}
.tx-lp-trust .k{font-size:13px;color:var(--color-muted)}
.tx-lp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.tx-lp-step{border-top:1px solid var(--color-ink);padding-top:22px}
.tx-lp-step .step-num{font-size:12px;letter-spacing:1.5px;color:var(--color-primary);font-weight:500;margin-bottom:14px}
.tx-lp-step h4{font-family:var(--font-display);font-weight:400;font-size:24px;letter-spacing:-.3px;margin:0 0 8px;color:var(--color-ink)}
.tx-lp-step p{margin:0;font-size:15.5px;line-height:1.6;color:var(--color-body)}
.tx-lp-faq{margin-top:28px}
.tx-lp-faq details{border-top:1px solid var(--color-hairline);padding:22px 0}
.tx-lp-faq details:last-child{border-bottom:1px solid var(--color-hairline)}
.tx-lp-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:var(--font-display);font-size:21px;letter-spacing:-.2px;color:var(--color-ink)}
.tx-lp-faq summary::-webkit-details-marker{display:none}
.tx-lp-faq .plus{flex:0 0 32px;height:32px;border-radius:50%;border:1px solid var(--color-hairline);display:flex;align-items:center;justify-content:center;font-family:var(--font-body);transition:transform .2s}
.tx-lp-faq details[open] .plus{transform:rotate(45deg);background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.tx-lp-faq p{margin:14px 0 0;font-size:16px;line-height:1.65;color:var(--color-body)}
.tx-lp-call .short{display:none}
.tx-lp-foot{background:var(--color-surface-dark);color:var(--color-on-dark-soft);padding:28px 0;font-size:13px}
.tx-lp-foot .tx-page{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
.tx-lp-foot a{color:var(--color-on-dark)}

/* Leads / CRM */
.tx-crm-status{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border-radius:12px;background:var(--color-surface-cream-strong);max-width:720px;font-size:14.5px;color:var(--color-body-strong)}
.tx-crm-status strong{color:var(--color-ink);font-weight:500}
.tx-crm-status.is-on{background:var(--color-surface-card)}
.tx-leads-bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:20px}
.tx-leads-filters{display:flex;gap:8px;flex-wrap:wrap}
.tx-chip{height:36px;padding:0 14px;border-radius:9999px;border:1px solid var(--color-hairline);background:var(--color-canvas);font:500 13px var(--font-body);color:var(--color-ink);cursor:pointer;display:flex;gap:6px;align-items:center}
.tx-chip span{color:var(--color-muted)}
.tx-chip.is-on{background:var(--color-ink);color:var(--color-on-dark);border-color:var(--color-ink)}
.tx-chip.is-on span{color:var(--color-on-dark-soft)}
.tx-leads-empty{padding:48px;border:1px dashed var(--color-hairline);border-radius:12px;text-align:center;color:var(--color-body)}
.tx-leads-wrap{overflow-x:auto;border:1px solid var(--color-hairline);border-radius:12px}
.tx-leads{width:100%;border-collapse:collapse;font-size:14px;min-width:860px}
.tx-leads th{text-align:left;font-size:12px;font-weight:500;color:var(--color-muted);padding:12px 16px;border-bottom:1px solid var(--color-hairline);background:var(--color-surface-soft)}
.tx-leads td{padding:14px 16px;border-bottom:1px solid var(--color-hairline);vertical-align:top;color:var(--color-ink)}
.tx-leads tr:last-child td{border-bottom:0}
.tx-leads td div{color:var(--color-muted);font-size:13px;margin-top:2px}
.tx-leads td strong{font-weight:500}
.tx-leads select{font:inherit;padding:6px 8px;border:1px solid var(--color-hairline);border-radius:6px;background:var(--color-canvas)}
.tx-tier{display:inline-block;padding:3px 10px;border-radius:9999px;font-size:12px;font-weight:500;white-space:nowrap}
.tx-tier-hot{background:var(--color-primary);color:#fff}
.tx-tier-warm{background:var(--color-surface-cream-strong);color:var(--color-ink)}
.tx-tier-cool{background:var(--color-surface-soft);color:var(--color-body)}

.tx-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}

@media (max-width:1100px){.tx-foot-grid{grid-template-columns:1fr 1fr 1fr}.tx-foot-grid .brand-block{grid-column:1/-1}}
@media (max-width:960px){
.tx-lp-hero-grid,.tx-lead-split{grid-template-columns:1fr;gap:40px}
.tx-about-grid{grid-template-columns:1fr;gap:40px}
.tx-foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
.tx-nav-menu{display:none}
.tx-burger{display:flex}
.tx-nav-inner{height:64px}
.tx-sticky-bar{display:flex}
body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
.tx-detail-sidebar{display:block}
}
@media (max-width:640px){
.tx-page{padding:0 20px}
section{padding-top:64px;padding-bottom:64px}
section.tight{padding-top:24px;padding-bottom:24px}
.tx-hero .tx-page{padding:12px 12px 0}
.tx-hero-frame{height:auto;min-height:calc(100svh - 160px);max-height:none;border-radius:12px}
.tx-hero-stamp-tr{display:none}
.tx-hero-title{font-size:clamp(38px,11vw,48px);letter-spacing:-1px}
.tx-hero-lede{font-size:15px}
.tx-h1{font-size:clamp(34px,9.5vw,44px);letter-spacing:-.8px}
.tx-h2{font-size:clamp(28px,7.5vw,34px)}
.tx-lede{font-size:17px}
.tx-callout-coral{padding:32px 24px}
.tx-callout-coral h2{font-size:clamp(28px,7.5vw,34px)}
.tx-callout-coral .tx-btn{flex:1 1 100%}
.tx-page-hero{padding:48px 0 32px}
.tx-detail-hero{padding:48px 0 36px}
.tx-process{grid-template-columns:1fr}
.tx-form-row{grid-template-columns:1fr}
.tx-field input,.tx-field textarea,.tx-field select{font-size:16px;min-height:48px}
.tx-contact-grid{gap:40px;padding:40px 0}
.tx-contact-left .info-row .k{flex-basis:96px;width:96px}
.tx-quick{padding:22px 18px;border-radius:14px}
.tx-lp-hero{padding:36px 0 56px}
.tx-lp-steps{grid-template-columns:1fr}
.tx-lp-trust .v{font-size:22px}
.tx-lp-call .long{display:none}.tx-lp-call .short{display:inline}
.tx-lp-faq summary{font-size:18px}
.tx-faq-q{font-size:19px}
.tx-foot-grid{grid-template-columns:1fr}
.tx-sidebar-card .tx-btn{height:48px}
}

/* Mobile fix: let grid columns shrink below their content's natural width so long
   select options can't push the page wider than the phone screen. */
.tx-lead-split > *, .tx-lp-hero-grid > *, .tx-contact-grid > *, .tx-form-row > * { min-width: 0; }
.tx-field select, .tx-field input, .tx-field textarea { max-width: 100%; min-width: 0; }
