/* Four reasons, one continuous canvas. Tunable colour, size and timing. */
:root {
  --trust-paper:#eaf0e3; --trust-ink:#214e3c; --trust-soft:#dce6cc;
  --trust-line:#bfccb8; --trust-warm:#c48271; --trust-gold:#c4a34f;
  --trust-ease:cubic-bezier(.16,1,.3,1); --trust-draw-ms:1500ms;
  --trust-pop-ms:900ms; --trust-graphic:160px;
}
.trust-scene { grid-column:1/-1; width:100%; max-width:var(--scene-max-width,1600px); margin:0 auto; padding:42px 4.5% 48px; background:var(--trust-paper); color:var(--trust-ink); position:relative; isolation:isolate; }
.trust-heading { display:flex; align-items:center; gap:6%; padding-bottom:26px; }
.trust-eyebrow { font-size:15px; letter-spacing:.05em; margin-bottom:5px; }
.trust-heading h2 { display:flex; align-items:baseline; font-size:36px; letter-spacing:-.045em; line-height:1.1; white-space:nowrap; }
.trust-heading h2>span { font:700 94px/.95 Arial,sans-serif; letter-spacing:-.07em; margin-right:8px; }
.trust-intro { margin-left:auto; font-size:16px; line-height:1.9; }




.trust-rule { height:1px; background:var(--trust-line); overflow:hidden; }
.trust-rule i { display:block; height:100%; background:var(--trust-ink); transform-origin:left; }
.trust-points { list-style:none; padding:0; margin:30px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.trust-point { padding:0 20px; min-width:0; text-align:center; }
.trust-point+.trust-point { border-left:1px solid var(--trust-line); }
.trust-art { height:var(--trust-graphic); width:100%; max-width:250px; position:relative; margin:0 auto 13px; }
.trust-art>svg { width:100%; height:100%; overflow:visible; fill:none; stroke:var(--trust-ink); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.trust-soft-disc { fill:var(--trust-soft); stroke:none; }
.trust-history-ring { stroke:var(--trust-gold); stroke-width:1.6; transform:rotate(-90deg); transform-origin:110px 70px; }
.trust-spark { stroke:var(--trust-gold); }
.trust-years { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding-bottom:22px; }
.trust-digit { display:inline-block; overflow:hidden; font:700 92px/1 Arial,sans-serif; letter-spacing:-.07em; }
.trust-digit i { display:block; font-style:normal; }
.trust-years small { position:absolute; top:69%; left:0; right:0; font:700 10px/1.2 Arial,sans-serif; letter-spacing:.18em; }
.trust-person { stroke-width:2.6; }.trust-person circle { fill:var(--trust-paper); }
.trust-heart { fill:var(--trust-warm); stroke:none; transform-box:fill-box; transform-origin:center; }
.trust-ground { stroke:var(--trust-gold); }
.trust-ticket-track { stroke:var(--trust-line); }.trust-ticket-fill { stroke-width:3; }
.trust-stamp { transform-box:fill-box; transform-origin:center; }
.trust-stamp circle { fill:var(--trust-paper); stroke:var(--trust-ink); stroke-width:1.5; }
.trust-stamp:nth-of-type(2n) circle { fill:var(--trust-soft); }
.trust-stamp text { stroke:none; fill:var(--trust-ink); font:700 21px Arial,sans-serif; text-anchor:middle; }
.trust-ticket-smile { stroke:var(--trust-warm); stroke-width:3; }
.trust-pace-guide { stroke:var(--trust-line); stroke-dasharray:3 7; }
.trust-pace-path { stroke:var(--trust-ink); stroke-width:2.5; }
.trust-pace-dot { fill:var(--trust-warm); stroke:var(--trust-paper); stroke-width:3; }
.trust-pace-spark { stroke:var(--trust-gold); }
.trust-category { font-size:12px; letter-spacing:.04em; margin-bottom:9px; }
.trust-point h3 { font-size:clamp(19px,1.65vw,26px); line-height:1.5; letter-spacing:-.06em; font-weight:700; }
.trust-description { font-size:14px; line-height:1.85; margin-top:11px; color:#49604d; }
/* Motion affects only decorative drawings; labels and facts always stay readable. */
.trust-scene.is-playing .trust-rule i { animation:trust-line 2100ms var(--trust-ease) both; }
.trust-point.is-playing .trust-draw { stroke-dasharray:1; animation:trust-draw var(--trust-draw-ms) var(--trust-ease) var(--point-delay) both; }
.trust-point.is-playing .trust-digit i { animation:trust-digit var(--trust-pop-ms) var(--trust-ease) both; }
.trust-point.is-playing .trust-digit:nth-child(2) i { animation-delay:110ms; }
.trust-point.is-playing .trust-person-mentor { animation:trust-mentor 1400ms var(--trust-ease) var(--point-delay) both; }
.trust-point.is-playing .trust-person-child { animation:trust-child 1400ms var(--trust-ease) calc(var(--point-delay) + 120ms) both; }
.trust-point.is-playing .trust-heart { animation:trust-heart 1200ms var(--trust-ease) calc(var(--point-delay) + 350ms) both; }
.trust-point.is-playing .trust-stamp { animation:trust-stamp var(--trust-pop-ms) var(--trust-ease) calc(var(--point-delay) + var(--stamp-delay)) both; }
.trust-point.is-playing .trust-pace-path { animation:none; stroke-dasharray:1; stroke-dashoffset:var(--pace-remaining,0); }
.trust-point.is-playing .trust-pace-spark { animation-delay:1800ms; animation-duration:700ms; }
@keyframes trust-line { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes trust-draw { from{stroke-dashoffset:1} to{stroke-dashoffset:0} }
@keyframes trust-digit { from{transform:translateY(105%) rotate(8deg)} to{transform:translateY(0) rotate(0)} }
@keyframes trust-mentor { from{transform:translateX(-17px)} to{transform:translateX(0)} }
@keyframes trust-child { from{transform:translateX(17px)} to{transform:translateX(0)} }
@keyframes trust-heart { 0%{transform:scale(.45);opacity:.25} 65%{transform:scale(1.12);opacity:1} 100%{transform:scale(1);opacity:1} }
@keyframes trust-stamp { 0%{transform:scale(.6);opacity:.45} 60%{transform:scale(1.1);opacity:1} 100%{transform:scale(1);opacity:1} }
@media(max-width:1100px) { .trust-point{padding-inline:10px}.trust-heading{gap:4%}.trust-intro{font-size:14px}.trust-point h3{font-size:20px}.trust-description{font-size:13px} }
@media(max-width:900px) {
 .trust-scene { padding:29px 24px 34px; --trust-graphic:108px; }
 .trust-heading { flex-wrap:wrap; gap:18px 12px; padding-bottom:24px; }
 .trust-eyebrow { font-size:13px; }.trust-heading h2{font-size:28px}.trust-heading h2>span{font-size:73px}
 .trust-intro { order:3; width:100%; font-size:14px; margin:0; line-height:1.8; }.trust-intro br{display:none}

 .trust-points { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:23px; gap:20px 0; }
 .trust-point { padding:0 8px; }.trust-point:nth-child(3){border-left:0}.trust-point:nth-child(n+3){padding-top:18px;border-top:1px solid var(--trust-line)}
 .trust-art { margin-bottom:10px; }.trust-digit{font-size:71px}.trust-years{padding-bottom:17px}.trust-years small{font-size:8px;top:72%}
 .trust-category { font-size:11px; letter-spacing:-.03em; margin-bottom:8px; }.trust-point h3{font-size:20px;line-height:1.5;min-height:56px;display:flex;align-items:center;justify-content:center;text-wrap:balance}
 .trust-description{font-size:13px;line-height:1.75;margin-top:7px}.trust-description br{display:initial}
}
@media(max-width:390px) { .trust-scene{padding-inline:19px}.trust-heading h2{font-size:26px}.trust-heading h2>span{font-size:68px}.trust-point{padding-inline:7px}.trust-point h3{font-size:19px} }
