/* GTS RS tools: a continuous coaching experience. */
.soul-refined .product-hero { min-height:690px; justify-content:flex-end; }
.product-hero::after { background:linear-gradient(90deg,rgba(9,14,18,.94),rgba(9,14,18,.68) 49%,rgba(9,14,18,.16)),linear-gradient(0deg,#10171d,transparent 55%); }
.product-hero-console .studio-hero-photo img { object-position:65% 48%; }
.product-hero-hub .studio-hero-photo img { object-position:60% 45%; }
.product-hero .studio-hero-copy { padding:72px var(--flow-pad) 46px; }
.soul-refined .product-hero h1 { font-size:clamp(4.3rem,7.4vw,7.4rem); line-height:1.01; margin:18px 0 23px; max-width:12ch; }
.product-hero-lead { color:#fff; font-size:clamp(1.3rem,2vw,1.65rem); line-height:1.4; max-width:34ch; margin:0 0 14px; }
.product-hero-intro { font-size:1.0625rem; line-height:1.7; color:#d1dbe0; max-width:48ch; margin:0 0 27px; }
.product-hero-foot { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 30px; border-top:1px solid #ffffff35; padding:20px var(--flow-pad); color:#c6d0d5; font-size:.6875rem; letter-spacing:1.5px; line-height:1.6; }
.soul-refined :is(.product-analysis,.product-method,.product-hub-story,.product-start) { background:#142027; }
.product-section-head { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:end; gap:32px 8%; margin-bottom:38px; }
.product-section-head .eyebrow { color:#eea493; margin:0 0 20px; }
.soul-refined .product-section-head h2 { font-size:clamp(2.15rem,3.5vw,3.8rem); line-height:1.14; margin:0; }
.product-section-head>p { font-size:1.0625rem; line-height:1.75; color:#c0ccd3; margin:0; max-width:52ch; }
.soul-refined .product-analysis { padding-bottom:64px; }
.product-analysis .coaching-story { border-color:#52616b; box-shadow:0 25px 65px #0003; }
.soul-refined .product-method { border-top:1px solid #44525b; }
.product-method-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #53616a; }
.product-method-grid article { min-width:0; padding:28px 22px 0 0; }
.product-method-grid article+article { border-left:1px solid #53616a; padding-left:22px; }
.product-step { display:block; color:#ef9b88; font:400 2.2rem/1 var(--display); margin-bottom:24px; }
.soul-refined .product-method-grid h3 { color:#f3f5f6; font-size:1.4rem; line-height:1.3; margin:0 0 15px; }
.product-method-grid p { font-size:1rem; line-height:1.75; color:#bbc9d1; margin:0; }
.product-scope { color:#adbec7; font-size:.875rem; line-height:1.7; max-width:90ch; padding-top:28px; margin:30px 0 0; border-top:1px solid #44525b; }
.soul-refined .product-philosophy { background:#e9eeef; color:#1d303b; text-align:center; }
.product-philosophy .eyebrow { color:#9b4034; margin-bottom:24px; }
.soul-refined .product-philosophy h2 { font-size:clamp(2.5rem,4.6vw,4.8rem); margin:0 0 26px; }
.product-philosophy>p:not(.eyebrow) { color:#526773; font-size:1.125rem; line-height:1.8; max-width:64ch; margin:0 auto 25px; }
.product-philosophy .text-link { color:#8e3a2f; }
.product-cycle { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #53616a; gap:34px; }
.product-cycle li { min-width:0; padding-top:25px; }
.product-cycle li>span { color:#f0a08f; font-size:.75rem; letter-spacing:1px; display:block; margin-bottom:15px; }
.product-cycle strong { display:block; font-size:1.45rem; line-height:1.3; font-weight:500; margin-bottom:12px; }
.product-cycle p { color:#bdcbd3; font-size:1rem; line-height:1.75; margin:0; max-width:35ch; }
.product-anchor { scroll-margin-top:120px; }
.soul-refined .product-hub-demo { background:#e9eeef; color:#20343f; }
.soul-refined .product-hub-demo .hub-explainer { grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); gap:6%; margin-top:0; align-items:center; }
.product-hub-demo .hub-example-intro { display:block; }
.soul-refined .product-hub-demo .hub-example-intro h2 { font-size:clamp(2.1rem,3.4vw,3.4rem); max-width:none; margin:20px 0; line-height:1.15; }
.product-hub-demo .hub-example-intro>p:not(.eyebrow) { font-size:1.0625rem; line-height:1.75; color:#526773; margin:0 0 24px; }
.soul-refined .product-hub-demo .hub-preview { border:1px solid #53616a; border-top:3px solid #bc4b3c; box-shadow:0 20px 65px #14202716; }
.product-hub-demo .hub-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.soul-refined .product-hub-demo .hub-tabs button { padding:15px 10px; font-size:.875rem; text-align:center; min-width:0; }
.soul-refined .product-hub-demo .hub-tab-panel { min-height:390px; }
.product-hub-demo .hub-continuity { margin-top:70px; padding-top:44px; border-top:1px solid #acbbc3; }
.soul-refined .product-hub-demo .hub-continuity h2 { font-size:clamp(2.1rem,3.4vw,3.4rem); margin:17px 0 30px; }
.product-hub-demo .hub-continuity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 8%; }
.soul-refined .product-hub-demo .hub-continuity-grid h3 { font-size:1.5rem; margin:0 0 12px; }
.product-hub-demo .hub-continuity-grid p { font-size:1.0625rem; line-height:1.75; max-width:48ch; }
.product-start { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:center; gap:40px 9%; }
.product-start .eyebrow { color:#efa18f; margin-bottom:22px; }
.soul-refined .product-start h2 { font-size:clamp(2.3rem,4vw,4rem); margin:0 0 23px; }
.product-start p:not(.eyebrow) { font-size:1.0625rem; color:#c3ced4; line-height:1.75; max-width:54ch; }
.product-start-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.product-start-actions .text-link { color:#f0b2a1; }
.product-start-actions p { font-size:.875rem!important; margin:0; }
/* Homepage: compact product previews, not more studio photos. */
.home-focus-tools .home-focus-section-heading { margin-bottom:22px; }
.product-home-intro { font-size:1.125rem; color:#526773; line-height:1.7; margin:0 0 32px; max-width:62ch; }
.product-home-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.product-home-card { min-width:0; border:1px solid #adbbc2; display:flex; flex-direction:column; }
.product-mini { background:#111b22; color:#ecf1f3; padding:21px 25px; min-height:233px; display:flex; flex-direction:column; justify-content:space-between; }
.product-mini-label { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 15px; font-size:.625rem; letter-spacing:1px; line-height:1.6; color:#bbc9d2; }
.product-mini-label span:first-child { color:#fff; }
.product-mini svg { display:block; width:100%; height:132px; margin:12px 0; overflow:visible; }
.mini-grid { fill:none; stroke:#34434d; stroke-width:1; }
.mini-brake,.mini-throttle { fill:none; stroke-width:2.7; stroke-linecap:round; }
.mini-brake { stroke:#f58c7a; }.mini-throttle { stroke:#a9ccbb; }
.mini-key { display:flex; flex-wrap:wrap; gap:9px 19px; font-size:.6875rem; line-height:1.5; color:#aabdc9; }
.mini-key span:first-child { color:#f58c7a; }.mini-key span:nth-child(2) { color:#a9ccbb; }.mini-key span:last-child { margin-left:auto; }
.mini-hub-focus { padding:20px 0; }
.mini-hub-focus>span { display:block; color:#eaa08e; font-size:.6875rem; letter-spacing:1px; margin-bottom:8px; }
.mini-hub-focus strong { display:block; font-size:1.6rem; line-height:1.15; font-weight:500; }
.mini-hub-route { display:flex; flex-wrap:wrap; gap:9px 18px; padding-top:15px; border-top:1px solid #40515e; color:#c6d2da; font-size:.75rem; }
.mini-hub-route>span:not(:last-child)::after { content:' →'; padding-left:10px; color:#ec9c89; }
.product-home-copy { padding:29px; display:flex; flex-direction:column; align-items:flex-start; flex:1; }
.product-home-copy .eyebrow { color:#993e33; margin:0 0 12px; font-size:.6875rem; }
.soul-refined .product-home-copy h3 { font-size:1.85rem; font-weight:500; margin:0 0 15px; }
.product-home-copy>p:not(.eyebrow) { color:#526773; font-size:1.0625rem; line-height:1.7; margin:0 0 24px; max-width:46ch; }
.product-home-copy .text-link { margin-top:auto; color:#843a31; }
.product-home-connection { font-size:.9375rem; line-height:1.75; color:#526773; margin:24px 0 28px; max-width:80ch; }
@media(max-width:1000px) {
 .product-method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 0; }
 .product-method-grid article:nth-child(3) { border-left:0; padding-left:0; }
 .product-method-grid article:nth-child(n+3) { border-top:1px solid #53616a; }
 .soul-refined .product-hub-demo .hub-explainer { grid-template-columns:minmax(0,1fr); gap:30px; }
 .product-hub-demo .hub-example-intro>p:not(.eyebrow) { max-width:62ch; }
 .product-section-head { grid-template-columns:minmax(0,1fr); gap:25px; }
 .product-section-head>p { max-width:70ch; }
}
@media(max-width:680px) {
 .soul-refined .product-hero { min-height:650px; }
 .product-hero .studio-hero-copy { padding:60px 6% 35px; }
 .soul-refined .product-hero h1 { font-size:clamp(3.6rem,12.5vw,5.3rem); }
 .product-hero::after { background:linear-gradient(90deg,rgba(9,14,18,.88),rgba(9,14,18,.62)),linear-gradient(0deg,#10171d,transparent); }
 .product-hero-intro { font-size:1rem; max-width:38ch; }
 .product-hero-foot { padding:18px 6%; font-size:.625rem; letter-spacing:1px; }
 .product-hero-foot>span:last-child { display:none; }
 .product-method-grid,.product-cycle,.product-home-grid,.product-start { grid-template-columns:minmax(0,1fr); }
 .product-method-grid { gap:0; }
 .product-method-grid article,.product-method-grid article+article { border-left:0; padding:25px 0; }
 .product-method-grid article+article { border-top:1px solid #53616a; }
 .product-step { margin-bottom:14px; }
 .product-cycle { gap:0; }
 .product-cycle li { padding:25px 0; }
 .product-cycle li+li { border-top:1px solid #53616a; }
 .product-cycle p { max-width:45ch; }
 .soul-refined .product-hub-demo .hub-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .soul-refined .product-hub-demo .hub-tab-panel { min-height:0; padding:24px 20px; }
 .product-hub-demo .hub-continuity-grid { grid-template-columns:minmax(0,1fr); gap:26px; }
 .product-hub-demo .hub-continuity { margin-top:40px; padding-top:30px; }
 .product-home-grid { gap:24px; }
 .product-mini { min-height:220px; padding:20px; }
 .product-home-copy { padding:25px 22px; }
 .product-home-copy .text-link { font-size:.9375rem; }
 .product-start { gap:28px; }
}
@media(max-width:380px) {
 .soul-refined .product-hero h1 { font-size:clamp(2.75rem,12vw,3.6rem); }
 .soul-refined .product-hub-demo .hub-tabs button { padding-inline:6px; }
}
@media(prefers-reduced-motion:reduce) { .product-home-card * { transition:none; } }
