
/* Touchstone native homepage - fully scoped to .tsh; no global Gerow overrides */
.tsh{--p:#663399;--r:#cc3333;--b:#99ccff;--ink:#25233c;--muted:#5b5670;color:var(--ink);font-family:inherit}.tsh *{box-sizing:border-box}.tsh-container{width:min(1200px,calc(100% - 56px));margin-inline:auto}.tsh h1,.tsh h2,.tsh h3{color:var(--ink);letter-spacing:-.025em;line-height:1.13;margin:0}.tsh p{line-height:1.65;color:var(--muted)}.tsh h1{font-size:clamp(38px,4.5vw,66px);font-weight:800}.tsh h2{font-size:clamp(29px,3.2vw,43px);font-weight:800}.tsh h3{font-size:21px;font-weight:750}.tsh em{font-style:normal;color:var(--p)}.tsh .tsh-blue{color:#4089d6}.tsh-eyebrow{font-size:12px!important;letter-spacing:.13em;color:var(--p)!important;font-weight:800;text-transform:uppercase}.tsh-hero{background:linear-gradient(105deg,#f9f5fe 0%,#f7f4fc 46%,#e9f3ff 100%);overflow:hidden}.tsh-hero-grid{display:grid;grid-template-columns:43% 57%;align-items:center;min-height:560px;gap:0}.tsh-hero-copy{padding:60px 30px 60px 0;position:relative;z-index:1}.tsh-hero-copy>p:not(.tsh-eyebrow){font-size:17px;max-width:510px;margin:23px 0}.tsh-hero-media{height:100%;min-height:490px;display:flex;align-items:center;justify-content:center}.tsh-hero-media img{width:115%;max-width:none;height:auto;object-fit:contain;filter:drop-shadow(0 14px 25px #39245e1b)}.tsh-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.tsh .tsh-btn{display:inline-block;background:var(--p);color:white!important;text-decoration:none;font-size:14px;font-weight:750;padding:15px 22px;border-radius:9px;box-shadow:0 5px 13px #66339924;transition:transform .2s,background .2s}.tsh .tsh-btn:hover{background:var(--r);transform:translateY(-2px)}.tsh .tsh-btn-outline{background:transparent;border:1.5px solid var(--p);color:var(--p)!important;box-shadow:none}.tsh .tsh-btn-outline:hover{color:white!important}.tsh-benefits{background:white;padding:42px 0}.tsh-four{display:grid;grid-template-columns:repeat(4,1fr)}.tsh-benefit{padding:8px 25px;border-right:1px solid #e1ddeb}.tsh-benefit:first-child{padding-left:0}.tsh-benefit:last-child{border:0}.tsh-benefit-icon{display:block;color:var(--p);font-size:40px;line-height:1.1;margin-bottom:12px}.tsh-benefit h3{font-size:18px}.tsh-benefit p{font-size:14px;margin:10px 0 0}.tsh-section{padding:85px 0}.tsh-soft{background:#f7f6fc}.tsh-section-head{max-width:770px;margin-bottom:32px}.tsh-section-head>p:last-child,.tsh-center>p:last-child{font-size:16px}.tsh-platforms{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tsh-platform,.tsh-sample{background:#fff;border:1px solid #e9e4f0;border-radius:12px;overflow:hidden;box-shadow:0 8px 22px #38204c0a}.tsh-platform img{width:100%;height:152px;object-fit:cover;display:block}.tsh-platform-body{padding:22px}.tsh-platform h3{font-size:19px}.tsh-platform p,.tsh-sample p{font-size:14px;margin-bottom:0}.tsh-center{text-align:center;margin:0 auto 35px;max-width:820px}.tsh-industry-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.tsh-industry{height:280px;position:relative;overflow:hidden;border-radius:13px;background:#ddd}.tsh-industry img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.tsh-industry:hover img{transform:scale(1.04)}.tsh-industry:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#201530d9)}.tsh-industry>div{position:absolute;bottom:20px;left:26px;z-index:1}.tsh-industry h3,.tsh-industry p{color:white!important;margin:0}.tsh-industry h3{font-size:25px}.tsh-feature{display:grid;grid-template-columns:57% 43%;gap:32px;align-items:center;margin:36px 0 42px}.tsh-feature>img{width:100%;height:auto;border-radius:12px;box-shadow:0 18px 42px #35254e1c}.tsh-feature h3{font-size:29px}.tsh-feature p:not(.tsh-eyebrow){font-size:16px}.tsh-feature .tsh-btn{margin-top:8px}.tsh-samples{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tsh-sample img{width:100%;height:150px;object-fit:cover;display:block}.tsh-sample>div{padding:20px}.tsh-sample h3{font-size:18px}.tsh-approach{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;align-items:start}.tsh-approach>article{padding:10px 25px;border-left:1px solid #ded7e8}.tsh-approach-icon{font-size:43px;line-height:1.1;color:var(--p);display:block;margin-bottom:14px}.tsh-approach p{font-size:15px}
@media(max-width:1024px){.tsh-hero-grid{grid-template-columns:48% 52%;min-height:480px}.tsh-hero-media{min-height:360px}.tsh-platforms,.tsh-samples{grid-template-columns:repeat(2,1fr)}.tsh-approach{grid-template-columns:1fr 1fr}.tsh-approach>div{grid-column:1/-1}.tsh-approach>article:first-of-type{border-left:0}}
@media(max-width:767px){.tsh-container{width:min(100% - 36px,520px)}.tsh-hero-grid,.tsh-feature,.tsh-industry-grid,.tsh-approach{grid-template-columns:1fr}.tsh-hero-grid{min-height:0}.tsh-hero-copy{padding:50px 0 15px}.tsh-hero-media{min-height:0;padding:0 0 35px}.tsh-hero-media img{width:100%}.tsh-four{grid-template-columns:1fr 1fr;gap:25px 0}.tsh-benefit{padding:8px 15px;border:0}.tsh-benefit:nth-child(odd){padding-left:0}.tsh-section{padding:55px 0}.tsh-platforms,.tsh-samples{grid-template-columns:1fr 1fr}.tsh-feature{gap:22px}.tsh-approach>div{grid-column:auto}.tsh-approach>article{border-left:0;padding:10px 0}.tsh-industry{height:235px}}
@media(max-width:480px){.tsh-platforms,.tsh-samples,.tsh-four{grid-template-columns:1fr}.tsh-benefit{padding:12px 0;border-bottom:1px solid #eee}.tsh-hero-copy{padding-top:38px}.tsh-actions{flex-direction:column;align-items:flex-start}.tsh .tsh-btn{width:auto}.tsh-platform img{height:180px}}

/* Phase 2.1: clean product identity cards */
.tsh-platform-brand{display:flex;flex-direction:column;min-height:260px}
.tsh-platform-logo{height:110px;padding:22px 14px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#fff,#f8f7fc);border-bottom:1px solid #eee9f5}
.tsh-wordmark{font-size:clamp(19px,1.65vw,26px);font-weight:800;line-height:1.1;letter-spacing:-.04em;color:#213b72}
.tsh-platform-logo-vista .tsh-wordmark,.tsh-platform-logo-spectrum .tsh-wordmark{color:#1261a0}
.tsh-platform-logo-ifs .tsh-wordmark{color:#663399;font-size:40px;letter-spacing:-.05em}
.tsh-platform-logo-fabric .tsh-wordmark{color:#25233c}
.tsh-platform-brand .tsh-platform-body{padding:17px 20px 22px;flex:1}
.tsh-platform-brand ul{list-style:none!important;padding:0!important;margin:0!important}
.tsh-platform-brand li{font-size:14px;color:#49445c;padding:5px 0 5px 15px;position:relative;line-height:1.4}
.tsh-platform-brand li:before{content:'✓';position:absolute;left:0;color:#663399;font-weight:800}

/* Phase 2.2 polish: existing industry artwork already includes titles and icons. */
.tsh-industry:after{display:none!important}
.tsh-industry{height:auto;aspect-ratio:3.2/1;box-shadow:0 9px 22px #35254e13}
.tsh-industry img{width:100%;height:100%;object-fit:cover}
/* Bring the hero closer to the approved edge-to-edge composition without changing Gerow. */
.tsh-hero-grid{min-height:600px}
.tsh-hero-media img{width:123%;filter:drop-shadow(0 18px 28px #39245e20)}
/* Platform cards: a more deliberate logo area and balanced body. */
.tsh-platform-brand{min-height:285px;transition:transform .2s ease,box-shadow .2s ease}
.tsh-platform-brand:hover{transform:translateY(-4px);box-shadow:0 16px 32px #39245e1a}
.tsh-platform-logo{height:118px;background:#fff}
.tsh-platform-body{display:flex;align-items:flex-start}
/* Dashboard feature and four portfolio tiles. */
.tsh-feature{grid-template-columns:58% minmax(0,1fr);gap:38px}
.tsh-feature>img{box-shadow:0 20px 40px #39245e1b}
.tsh-sample{transition:transform .2s ease,box-shadow .2s ease}
.tsh-sample:hover{transform:translateY(-3px);box-shadow:0 14px 30px #39245e17}
.tsh-sample img{height:175px;object-fit:contain;background:#fff;padding:8px}
@media(max-width:1024px){.tsh-hero-grid{min-height:500px}.tsh-hero-media img{width:112%}.tsh-industry{aspect-ratio:2.7/1}}
@media(max-width:767px){.tsh-hero-grid{min-height:0}.tsh-hero-media img{width:100%}.tsh-feature{grid-template-columns:1fr}.tsh-industry{aspect-ratio:3.2/1}}
@media(max-width:480px){.tsh-industry{aspect-ratio:2.6/1}.tsh-sample img{height:170px}}

/* Phase 2.3: distinctive product identification, preserving approved ERP cards. */
.tsh .tsh-platform-logo{display:flex;align-items:center;justify-content:center;gap:10px}.tsh .tsh-brand-glyph{font-size:26px;line-height:1;color:#663399}.tsh .tsh-brand-glyph-fabric{color:#17aa94}.tsh .tsh-brand-glyph-ifs{color:#2c67b8}.tsh .tsh-brand-glyph-spectrum{color:#d25a35}

/* Phase 2.7: Product logo replacement only; preserve existing cards and content. */
.tsh .tsh-platform-logo .tsh-official-product-logo{display:block;width:auto;max-width:94%;height:auto;max-height:76px;object-fit:contain;margin:0 auto}
.tsh .tsh-platform-logo-fabric .tsh-official-product-logo{max-height:67px;max-width:80%}
.tsh .tsh-platform-logo .tsh-logo-fallback{font-size:20px;font-weight:800;color:#26304a;text-align:center}

/* Phase 2.7.1 — fit vendor marks inside uniform card headers (no cropping). */
.tsh .tsh-platform .tsh-platform-logo{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:112px; min-height:112px;
  padding:18px 18px; overflow:hidden; background:#fff;
}
.tsh .tsh-platform .tsh-platform-logo img.tsh-official-product-logo{
  display:block; flex:none; width:100%; max-width:100%;
  height:100%; max-height:76px; min-height:0;
  object-fit:contain; object-position:center;
  margin:0 auto; padding:0; background:transparent;
}
.tsh .tsh-platform .tsh-platform-logo-fabric img.tsh-official-product-logo{
  width:72%; max-width:72%; max-height:68px;
}
@media(max-width:600px){
 .tsh .tsh-platform .tsh-platform-logo{height:104px;min-height:104px;padding:16px}
}
