/*
Theme Name: Touchstone Technology Solutions
Description: Touchstone-branded child theme for Gerow, featuring a custom construction analytics homepage.
Author: Touchstone Technology Solutions
Version: 2.7.2
Template: gerow
Text Domain: touchstone-gerow
*/
:root{--ts-blue:#9bcbfa;--ts-purple:#663399;--ts-red:#cb3034;--ts-dark:#17213b;--ts-muted:#64748b}
body{color:var(--ts-dark)}.ts-wrap{max-width:1180px;margin:auto;padding:0 24px}.ts-hero{background:linear-gradient(120deg,#15203b,#392968);color:white;padding:100px 0 110px}.ts-hero h1{color:#fff;font-size:clamp(38px,5vw,68px);line-height:1.09;max-width:900px;margin:18px 0}.ts-hero p{font-size:20px;color:#e1e8f5;max-width:760px}.ts-kicker{color:#9bcbfa!important;text-transform:uppercase;letter-spacing:2px;font-weight:700;font-size:13px!important}.ts-button{display:inline-block;background:#9bcbfa;color:#17213b!important;padding:15px 26px;border-radius:5px;font-weight:750;margin:20px 12px 0 0;text-decoration:none}.ts-button-outline{background:transparent;border:1px solid #9bcbfa;color:#fff!important}.ts-section{padding:85px 0}.ts-section:nth-of-type(odd){background:#f5f7fb}.ts-section h2{font-size:clamp(29px,3vw,43px);line-height:1.2;margin-bottom:18px}.ts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}.ts-card{padding:29px;background:white;border:1px solid #e5eaf2;border-radius:10px;box-shadow:0 6px 22px #17213b09}.ts-card h3{font-size:22px;margin:0 0 12px}.ts-card p{color:#526079}.ts-accent{border-top:5px solid #663399}.ts-lead{font-size:19px;color:#526079;max-width:820px}.ts-cta{background:#26224d;color:white;text-align:center}.ts-cta h2,.ts-cta p{color:white}.ts-cta .ts-lead{margin:auto;color:#e4e4f1}.ts-logo{max-width:260px;width:100%;height:auto}.ts-brandline{display:flex;align-items:center;gap:22px}.ts-brandline strong{font-size:20px}.ts-eyebrow{color:#663399;text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:800}.ts-stat{font-weight:800;color:#663399;font-size:30px}.ts-page{max-width:950px;margin:80px auto;padding:0 24px}.ts-page h1{font-size:44px}.ts-page p,.ts-page li{font-size:18px;line-height:1.8}.ts-page a{color:#663399}@media(max-width:780px){.ts-grid{grid-template-columns:1fr}.ts-hero{padding:70px 0}.ts-section{padding:58px 0}.ts-brandline{flex-direction:column;align-items:start}}

/* Keep WordPress page content usable while retaining the branded fallback. */
.touchstone-home + .ts-elementor-content-anchor { display: none; }
.touchstone-elementor-home .elementor { width: 100%; }

/* Global Touchstone consultation strip, before native Gerow footer */
.ts-site-cta{background:linear-gradient(110deg,#f4eafb 0%,#f9f7fc 57%,#e9f4ff 100%);padding:65px 0;color:#30213f}.ts-site-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.ts-site-cta-kicker{font-size:12px;font-weight:800;letter-spacing:.13em;color:#663399}.ts-site-cta h2{font-size:clamp(28px,3vw,42px);margin:12px 0;color:#663399}.ts-site-cta p{font-size:16px;max-width:720px;margin:0}.ts-site-cta-button{flex-shrink:0;background:#663399;color:#fff!important;border-radius:9px;padding:16px 25px;font-weight:700;text-decoration:none}.ts-site-cta-button:hover{background:#cc3333;color:#fff!important}@media(max-width:767px){.ts-site-cta{padding:42px 0}.ts-site-cta-inner{display:block}.ts-site-cta-button{display:inline-block;margin-top:22px}}

/* Native homepage build 2.0; design rules in assets/touchstone-homepage.css */

/* Phase 2.1: site-wide Gerow consultation CTA, styled after approved concept */
.ts-site-cta{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,#f4ebff 0%,#f7f2ff 62%,#e6f1ff 100%);padding:44px 0;color:#30213f}
.ts-site-cta:after{content:'';position:absolute;z-index:-1;right:-7%;top:-55%;width:42%;height:225%;transform:rotate(37deg);background:linear-gradient(90deg,transparent 10%,#e4d7f9 10%,#e4d7f9 23%,transparent 23%,transparent 45%,#cce3ff 45%,#cce3ff 61%,transparent 61%);opacity:.65;pointer-events:none}
.ts-site-cta .ts-site-cta-inner{display:grid;grid-template-columns:1.45fr 1fr auto;gap:35px;align-items:center}
.ts-site-cta .ts-site-cta-kicker{font-size:11px;letter-spacing:.14em;color:#663399;font-weight:800}
.ts-site-cta .ts-site-cta-inner h2{font-size:clamp(26px,2.25vw,36px);line-height:1.18;margin:12px 0 0;color:#53258b;font-weight:800}
.ts-site-cta .ts-site-cta-inner p{font-size:15px;line-height:1.6;margin:0;color:#51455e}
.ts-site-cta .ts-site-cta-button{white-space:nowrap;background:#663399;color:#fff!important;padding:16px 22px;border-radius:12px;font-size:14px;font-weight:750;box-shadow:0 5px 15px #66339924;text-decoration:none}
.ts-site-cta .ts-site-cta-button:hover{background:#cc3333}
@media(max-width:1000px){.ts-site-cta .ts-site-cta-inner{grid-template-columns:1fr 1fr}.ts-site-cta .ts-site-cta-button{justify-self:start}}
@media(max-width:767px){.ts-site-cta .ts-site-cta-inner{grid-template-columns:1fr;gap:16px}.ts-site-cta{padding:40px 0}.ts-site-cta:after{opacity:.25}.ts-site-cta .ts-site-cta-button{white-space:normal;display:inline-block}}

/* Phase 2.7.2: mobile submenu buttons and hidden-state reliability. */
.mobile-menu .menu-outer .touchstone-submenu-toggle{position:absolute;right:12px;top:5px;z-index:2;border:0;background:transparent;color:inherit;font-size:24px;line-height:1;min-width:40px;min-height:40px;cursor:pointer}
.mobile-menu .menu-outer li:has(> .touchstone-submenu-toggle){position:relative}
.mobile-menu .menu-outer ul[hidden]{display:none!important}
.mobile-menu .menu-outer li.touchstone-submenu-open > ul{display:block!important;position:static;visibility:visible;opacity:1;transform:none}
