/* ============================================================
   TALANTA — services page styles: services.html <style>, lines 26–75, verbatim.
   Loaded on pages using the talanta-services template, after talanta.css (CONVERSION-PLAN.md section 0).
   ============================================================ */
/* Services — page-specific */
h1,h2,h3{ font-weight:800; color:var(--tal-navy); line-height:1.12; letter-spacing:-.01em; }

.svc{ padding-block: clamp(3.5rem,7vw,5.5rem); }
.svc + .svc{ border-top:1px solid rgba(12,35,64,.1); }
.svc h2{ font-size:var(--fs-h2); margin-block:.75rem 1rem; }
.svc-lists h3{ font-size:.72rem; font-weight:600; letter-spacing:var(--track-label); text-transform:uppercase; color:var(--tal-gold-ink); margin:1.5rem 0 .75rem; }
.svc-lists ul{ margin:0; padding-inline-start:1.1rem; }
.svc-lists li{ font-size:.92rem; margin-bottom:.4rem; }
.svc-lists li::marker{ color:var(--tal-gold-ink); }

/* in-page practice index under the hero */
.svc-index{ background:var(--tal-navy-deep); }
.svc-index a{ display:block; padding:1rem 0; color:rgba(255,255,255,.8); text-decoration:none; font-size:var(--fs-label); font-weight:600; letter-spacing:var(--track-label); text-transform:uppercase; border-bottom:2px solid transparent; }
.svc-index a:hover{ color:var(--tal-gold); border-color:var(--tal-gold); }
.svc-index .n{ color:var(--tal-gold); margin-inline-end:.5rem; }

/* ---------- Animated service illustrations ----------
   Each graphic tells its service's story once on scroll-in, then settles
   into one quiet ambient loop. Loops pause off-screen. No JS, or
   prefers-reduced-motion: the finished static illustration is shown. */
.svc-art{ margin:0; }
.svc-art svg{ display:block; width:100%; height:auto; aspect-ratio:4/3; }

.motion-ok .svc-art:not(.is-in) *,
.motion-ok .svc-art.is-off *{ animation-play-state:paused !important; }

.motion-ok .svc-art .draw{ stroke-dasharray:1; animation: tal-draw var(--t,.9s) var(--e,cubic-bezier(.65,0,.35,1)) var(--d,0s) both; }
.motion-ok .svc-art .wipe{ transform-box:fill-box; transform-origin:0 50%; animation: tal-wipe 1s cubic-bezier(.65,0,.35,1) var(--d,0s) both; }
.motion-ok .svc-art .wipe.flash{ animation: tal-wipe 1s cubic-bezier(.65,0,.35,1) var(--d,0s) both, tal-flash 1.1s ease-out var(--f,2s); }
.motion-ok .svc-art .rise{ transform-box:fill-box; transform-origin:50% 100%; animation: tal-rise .8s cubic-bezier(.22,1,.36,1) var(--d,0s) both; }
.motion-ok .svc-art .rise.gold{ animation: tal-rise 1s cubic-bezier(.34,1.3,.64,1) var(--d,0s) both; }
.motion-ok .svc-art .pop{ transform-box:fill-box; transform-origin:center; animation: tal-pop .6s cubic-bezier(.34,1.56,.64,1) var(--d,0s) both; }
.motion-ok .svc-art .consider{ animation: tal-consider 1.7s ease .85s both, tal-march .9s linear .85s 2; }
.motion-ok .svc-art .glint{ animation: tal-glint var(--gt,5s) cubic-bezier(.45,0,.35,1) var(--gd,3s) infinite; }
.motion-ok .svc-art .arrive{ transform-box:fill-box; transform-origin:center; animation: tal-arrive var(--gt,5s) ease-out var(--gd,3s) infinite; }
.motion-ok .svc-art .ripple{ transform-box:fill-box; transform-origin:center; animation: tal-ripple 3.2s cubic-bezier(.2,.6,.3,1) var(--rd,3s) infinite; }

@keyframes tal-draw{ from{ stroke-dashoffset:1; } to{ stroke-dashoffset:0; } }
@keyframes tal-wipe{ from{ transform:scaleX(0); } }
@keyframes tal-rise{ from{ transform:scaleY(0); } }
@keyframes tal-pop{ from{ opacity:0; transform:scale(.3); } }
@keyframes tal-flash{ 35%{ stroke:#C8A95B; } }
@keyframes tal-consider{ 0%{ opacity:0; } 25%,65%{ opacity:1; stroke:rgba(12,35,64,.7); } 100%{ opacity:1; } }
@keyframes tal-march{ to{ stroke-dashoffset:-.0818; } }
@keyframes tal-glint{ 0%{ stroke-dashoffset:var(--g0,.1); } 40%,100%{ stroke-dashoffset:-1; } }
@keyframes tal-arrive{ 0%,38%{ opacity:0; transform:scale(1); } 43%{ opacity:.9; } 75%,100%{ opacity:0; transform:scale(1.45); } }
@keyframes tal-ripple{ 0%{ opacity:.85; transform:scale(1); } 75%,100%{ opacity:0; transform:scale(2.1); } }

@media (prefers-reduced-motion: reduce){ .svc-art *{ animation:none !important; } }
