.tm-portal-journey{border-top:1px solid #d5ded2}
.tm-twin-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.tm-twin-stage{border:1px solid #dbe2d8;border-radius:18px;overflow:hidden;background:#fffef9;display:flex;flex-direction:column}
.tm-stage-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:22px 20px;min-height:87px}
.tm-stage-top>span:first-child{font-size:12px;color:#678173}
.tm-stage-top h3{font:500 17px/1.3 var(--font-sans,Arial,sans-serif);letter-spacing:-.02em;margin:0}
.tm-stage-status{font-size:10px;line-height:1.2;background:#e8ede3;border:1px solid #d2dec9;border-radius:20px;padding:5px 8px;white-space:nowrap}
.tm-stage-image{position:relative;background:white;display:flex;align-items:center;justify-content:center;height:350px;padding:16px;text-decoration:none}
.tm-stage-image img{width:100%;height:100%;object-fit:contain;display:block}
.tm-stage-image>span{position:absolute;bottom:14px;right:14px;border:1px solid #dbe2d8;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;color:#31564a;background:#ffffffd9}
.tm-stage-image:focus-visible{outline:3px solid #2a746b;outline-offset:-4px}
.tm-stage-copy{padding:25px 22px 29px}
.tm-stage-copy h4{font-size:20px;line-height:1.2;letter-spacing:-.03em;margin:0 0 12px;font-weight:500}
.tm-stage-copy p{font-size:13px;line-height:1.7;color:#536558;margin:0}
.tm-stage-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:25px}
.tm-stage-footer p{font-size:12px;line-height:1.6;max-width:550px;color:#5a6b60}
.tm-stage-footer .text-link{white-space:nowrap;font-size:13px}
@media(max-width:1000px){.tm-twin-stages{gap:12px}.tm-stage-top{padding:16px;min-height:100px}.tm-stage-image{height:310px}.tm-stage-copy{padding:20px 16px}.tm-stage-footer{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:680px){.tm-twin-stages{grid-template-columns:1fr;gap:22px;margin-top:28px}.tm-stage-top{min-height:0;padding:22px}.tm-stage-image{height:330px}.tm-stage-copy{padding:24px}.tm-twin-stage--personal .tm-stage-image{height:240px}.tm-stage-copy h4{font-size:23px}.tm-stage-copy p{font-size:14px}}
.tm-pillar-entry{display:block;font-size:11px;line-height:1.4;color:#476657;margin:0 0 12px;text-decoration:underline;text-underline-offset:3px}.tm-pillar-entry-spacer{display:block;height:27px}.tm-portal-journey [data-portal-preview]{margin-top:32px}.tm-entry-card h2{font-size:clamp(19px,1.65vw,26px)}

.tm-demo-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}
.tm-demo-controls[hidden],.tm-demo-panel [hidden]{display:none!important}
.tm-demo-controls button{display:flex;align-items:center;gap:12px;text-align:start;background:transparent;color:#294c3b;border:1px solid #b7c6b4;padding:16px;font:inherit;font-size:14px;line-height:1.4;cursor:pointer;min-height:56px;border-radius:10px}
.tm-demo-controls button>span{font-size:11px;opacity:.7;flex-shrink:0}
.tm-demo-controls button[aria-selected=true]{background:#193b33;color:#f3f2ec;border-color:#193b33}
.tm-demo-controls button:focus-visible,.tm-demo-panel:focus-visible{outline:3px solid #2a746b;outline-offset:4px}
.tm-follow-preview{background:#f3f2ec;border:1px solid #c5d0bf;padding:clamp(24px,4vw,52px);border-radius:16px}
.tm-follow-preview h3{font-size:clamp(32px,4vw,54px);font-weight:450;line-height:1.1;letter-spacing:-.04em;margin-block:18px 30px}
.tm-follow-preview h3 em{color:#63856b}
.tm-follow-preview ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tm-follow-preview li{border-top:2px solid #a4b79b;padding-top:18px}
.tm-follow-preview li>span{font-size:12px;color:#678173}
.tm-follow-preview h4{font-size:20px;line-height:1.25;font-weight:500;margin-block:15px 12px}
.tm-follow-preview li p{font-size:14px;line-height:1.7;color:#536558}
.tm-follow-preview .tm-note{margin-block:26px 16px}
.tm-follow-preview>.text-link{font-size:14px;min-height:44px}
@media(max-width:760px){.tm-demo-controls{grid-template-columns:1fr;gap:8px}.tm-demo-controls button{padding:12px 16px;min-height:48px}.tm-follow-preview ol{grid-template-columns:1fr;gap:22px}.tm-follow-preview h4{margin-block:8px}.tm-entry-card h2{font-size:clamp(17px,4.7vw,24px)}}
