/* A single generous frame gives every illustration room to read. */
.ti-gallery{scroll-margin-top:84px;color:#343044;background:#faf9fb;padding:clamp(22px,3.7vw,60px);border:1px solid #3f355e10;border-radius:4px}
.ti-gallery-header{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}
.ti-overline{font-size:10px;letter-spacing:.18em;color:#8c7fa0}
.tv-case .ti-gallery-header h3{font-family:'General Sans',Arial,sans-serif;font-size:clamp(28px,3vw,45px);font-weight:400;line-height:1.16;letter-spacing:-.045em;margin:15px 0 0}
.ti-gallery-header>p{font-size:13px;line-height:1.65;color:#8a8197}
.ti-card-window{overflow:hidden;border-radius:20px;background:#fffdfb;border:1px solid #e8e1ed;isolation:isolate}
.ti-card{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:520px;margin:0;background:radial-gradient(ellipse at 26% 45%,#fffaf8,transparent 70%);overflow:hidden}
.ti-art-stage{position:relative;display:grid;place-items:center;min-width:0;height:520px;padding:40px 20px}
.tv-case .ti-art-stage>.ti-art{width:100%;max-width:405px;height:auto;aspect-ratio:1;overflow:visible}
.ti-card-copy{padding:45px 12% 45px 6%;min-width:0}
.ti-card-kicker{display:flex;align-items:center;gap:15px;font-size:11px;color:#7e6f8b;letter-spacing:.025em;line-height:1.6}
.ti-card-kicker i{display:block;width:24px;height:1px;background:#d7cede}
.tv-case .ti-card-copy h3{font-family:'General Sans',Arial,sans-serif;font-size:clamp(29px,3.2vw,46px);font-weight:400;line-height:1.14;letter-spacing:-.048em;margin:26px 0 20px;max-width:10ch;text-wrap:balance}
.ti-card-copy>p{font-size:15px;color:#766780;line-height:1.7;max-width:27ch;margin:0}
.ti-application{display:inline-block;margin-top:40px;padding-top:16px;border-top:1px solid #e6ddea;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#82728f;min-width:90px}
.ti-gallery-footer{display:flex;align-items:end;justify-content:space-between;gap:25px;padding-top:24px}
.ti-picker{display:grid;gap:9px;font-size:10px;color:#776584;letter-spacing:.04em}
.tv-case .ti-picker select{background:transparent;border:0;border-bottom:1px solid #d6cbdc;border-radius:0;font-family:inherit;font-size:12px;color:#665773;padding:9px 32px 9px 0;max-width:260px;cursor:pointer}
.ti-playback{display:flex;align-items:center;gap:9px}
.tv-case .ti-playback button{display:flex;justify-content:center;align-items:center;gap:10px;width:44px;height:44px;border:1px solid #ddd3e4;border-radius:50%;background:transparent;color:#776185;padding:11px;cursor:pointer;transition:background .2s,border-color .2s}
.tv-case .ti-playback button:hover{background:#eee9f2;border-color:#cbbad8}
.tv-case .ti-playback .ti-pause{border-radius:30px;width:auto;padding:10px 16px;font-size:11px;margin-right:9px}
.ti-playback button svg{display:block;width:18px;height:18px;flex-shrink:0}
.ti-progress{height:2px;background:#e6ddec;width:48px;overflow:hidden;margin-right:12px}
.ti-progress i{display:block;background:#a297d6;transform:scaleX(0);transform-origin:left;width:100%;height:100%}
.ti-play-symbol{display:none}
[data-ti-paused="true"] .ti-play-symbol{display:block}
[data-ti-paused="true"] .ti-pause-symbol{display:none}
.tv-case .ti-playback button:disabled{opacity:.55;cursor:default}
.ti-gallery :is(button,select):focus-visible{outline:2px solid #9b88d0;outline-offset:4px}
.ti-greeting{position:absolute;font-family:'Tatva Editorial',Georgia,serif;color:#95859d;font-size:22px;line-height:1.5}
.ti-greeting-hi{top:18%;left:12%}.ti-greeting-ta{right:1%;top:43%;font-size:18px}.ti-greeting-en{bottom:22%;left:8%}
.ti-india{filter:brightness(.68) saturate(1.85)}
.ti-card .ti-layer{transform-origin:160px 260px;animation:ti-arrive 475ms cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--ti-order)*40ms + 70ms)}
.ti-card .ti-petal-left{--ti-entry-angle:11deg}.ti-card .ti-petal-right{--ti-entry-angle:-11deg}
.ti-card .ti-door{--ti-entry-angle:-8deg}
.ti-card .ti-page{--ti-entry-angle:9deg}
.ti-card .ti-greeting{animation:ti-arrive .5s ease both;animation-delay:.25s}
/* The outer layer introduces each part; its inner group carries the living motion. */
.ti-card .ti-part{transform-box:view-box;transform-origin:160px 260px}
.ti-card .ti-float>.ti-part{animation:ti-float 3.2s ease-in-out infinite;animation-delay:calc(var(--ti-order)*-.3s)}
.ti-card .ti-rise>.ti-part{animation:ti-sunrise 4.2s ease-in-out infinite}
.ti-card .ti-door>.ti-part{transform-origin:118px 260px;animation:ti-door-open 4.2s ease-in-out infinite}
.ti-card .ti-petal-left>.ti-part{transform-origin:160px 252px;animation:ti-bloom-left 4.2s ease-in-out infinite}
.ti-card .ti-petal-right>.ti-part{transform-origin:160px 252px;animation:ti-bloom-right 4.2s ease-in-out infinite}
.ti-card .ti-petal-center>.ti-part{transform-origin:160px 252px;animation:ti-bloom-center 4.2s ease-in-out infinite}
.ti-card .ti-page>.ti-part{transform-origin:164px 238px;animation:ti-page-turn 3.8s ease-in-out infinite}
.ti-card .ti-flame>.ti-part{transform-origin:160px 179px;animation:ti-flame 1.65s ease-in-out infinite}
.ti-card .ti-flame-light>.ti-part{transform-origin:160px 145px;animation:ti-warm-light 2.1s ease-in-out infinite}
.ti-card .ti-leaf-left>.ti-part{animation:ti-leaf-left 3.8s ease-in-out infinite}
.ti-card .ti-leaf-right>.ti-part{animation:ti-leaf-right 3.8s ease-in-out infinite}
.ti-card .ti-ground{transform-origin:160px 278px;animation:ti-ground-light 4s ease-in-out infinite}
.ti-card .ti-heritage-light>.ti-part{transform-origin:160px 160px;animation:ti-window-light 4.5s ease-in-out infinite}
.ti-card .ti-traveller>.ti-part{offset-path:path('M62 263 C98 226 144 227 166 225 C240 222 232 196 202 178 C181 166 169 147 186 116');offset-rotate:0deg;animation:ti-follow-path 2.25s ease-in-out infinite}
.ti-card .ti-check>.ti-part{transform-origin:160px 160px;animation:ti-confirm 3.6s ease-in-out infinite}
.ti-card .ti-art--build .ti-layer:nth-child(n+5)>.ti-part{animation:ti-fit-block 3.8s ease-in-out infinite}
.ti-card .ti-art--connect .ti-scene{transform-origin:160px 160px;animation:ti-linked 4.4s ease-in-out infinite}
.ti-card .ti-art--people .ti-layer>.ti-part{animation:ti-human 3.8s ease-in-out infinite;animation-delay:calc(var(--ti-order)*-1s)}
.ti-card .ti-art--cities .ti-layer:first-child>.ti-part{animation:ti-sunrise 4.4s ease-in-out infinite}
.ti-card .ti-art--cities .ti-layer:nth-child(5) path{animation:ti-window-warmth 2.8s ease-in-out infinite}
.ti-card .ti-art--community .ti-layer:nth-child(2)>.ti-part{animation:ti-human 4s ease-in-out infinite}
.ti-card .ti-art--community .ti-layer:nth-child(3)>.ti-part{animation:ti-human 4s ease-in-out infinite reverse}
.ti-card .ti-art--knowledge .ti-layer:nth-child(3)>.ti-part,.ti-card .ti-art--knowledge .ti-layer:nth-child(4)>.ti-part{animation:ti-book-stack 4s ease-in-out infinite}
.ti-card .ti-art--knowledge .ti-layer:nth-child(n+5):not(:last-child)>.ti-part{animation:ti-book-stack 4s ease-in-out infinite;animation-delay:-.4s;--ti-stack-lift:-12px}
.ti-autostatus{font-size:10px;color:#95829f;white-space:nowrap;margin-right:8px}
[data-ti-running="false"] :is(.ti-part,.ti-scene,.ti-ground,.ti-layer path){animation-play-state:paused!important}
@keyframes ti-arrive{from{opacity:0;transform:translateY(15px) rotate(var(--ti-entry-angle,0deg)) scale(.985)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes ti-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes ti-sunrise{0%,100%{transform:translateY(6px)}45%,60%{transform:translateY(-12px)}}
@keyframes ti-door-open{0%,100%{transform:scaleX(.76) skewY(3deg)}45%,65%{transform:scaleX(1.1) skewY(-2deg)}}
@keyframes ti-bloom-left{0%,100%{transform:rotate(9deg) scaleY(.95)}45%,60%{transform:rotate(-5deg) scaleY(1.02)}}
@keyframes ti-bloom-right{0%,100%{transform:rotate(-9deg) scaleY(.95)}45%,60%{transform:rotate(5deg) scaleY(1.02)}}
@keyframes ti-bloom-center{0%,100%{transform:scaleY(.94)}45%,60%{transform:scaleY(1.03)}}
@keyframes ti-page-turn{0%,100%{transform:skewY(2deg) scaleX(.92)}45%,60%{transform:skewY(-4deg) scaleX(.72) rotate(-4deg)}}
@keyframes ti-flame{0%,100%{transform:scale(.96,1) rotate(-2deg)}32%{transform:scale(1.04,.94) rotate(2deg)}68%{transform:scale(.9,1.1) rotate(-1deg)}}
@keyframes ti-warm-light{0%,100%{opacity:.6;transform:scale(.92)}50%{opacity:1;transform:scale(1.18)}}
@keyframes ti-leaf-left{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-4deg)}}
@keyframes ti-leaf-right{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(4deg)}}
@keyframes ti-ground-light{0%,100%{opacity:.7;transform:scaleX(.94)}50%{opacity:1;transform:scaleX(1.05)}}
@keyframes ti-window-light{0%,100%{opacity:.4;transform:translateX(-23px) scale(.86)}50%{opacity:1;transform:translateX(23px) scale(1.15)}}
@keyframes ti-follow-path{0%{offset-distance:0%;opacity:0}12%{opacity:1}82%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes ti-confirm{0%,100%{opacity:.75;transform:scale(.92)}38%,68%{opacity:1;transform:scale(1.04)}}
@keyframes ti-fit-block{0%,100%{transform:translateY(-14px)}40%,70%{transform:translateY(0)}}
@keyframes ti-linked{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-7px)}}
@keyframes ti-human{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ti-window-warmth{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes ti-book-stack{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--ti-stack-lift,-6px))}}
@media(max-width:950px){.ti-card{min-height:430px}.ti-art-stage{height:430px}.ti-card-copy{padding:30px 9% 30px 4%}.ti-card-copy>p{font-size:13px}.ti-application{margin-top:28px}.ti-greeting{font-size:18px}.ti-greeting-ta{font-size:14px}.ti-gallery-header>p{font-size:11px}}
@media(max-width:650px){.ti-gallery{scroll-margin-top:84px;padding:22px 16px}.ti-gallery-header{display:block;margin-bottom:24px}.ti-gallery-header>p{font-size:12px;margin-top:15px}.ti-overline{font-size:8px}.tv-case .ti-gallery-header h3{font-size:29px}.ti-card{grid-template-columns:1fr}.ti-art-stage{height:310px;padding:18px 12px 0}.tv-case .ti-art-stage>.ti-art{width:280px;max-width:100%}.ti-card-copy{padding:10px 28px 35px}.ti-card-kicker{font-size:10px}.tv-case .ti-card-copy h3{font-size:32px;max-width:14ch;margin:16px 0 13px}.ti-card-copy>p{font-size:13px;max-width:30ch}.ti-application{margin-top:22px;padding-top:12px;font-size:9px}.ti-gallery-footer{display:grid;grid-template-columns:1fr;gap:20px}.ti-picker{gap:3px}.tv-case .ti-picker select{max-width:none;width:100%;font-size:14px;padding-block:12px}.ti-playback{justify-content:flex-end}.ti-autostatus{font-size:9px;margin-right:0}.ti-progress{max-width:30px}.ti-progress{margin-right:auto;width:54px}.ti-greeting{font-size:17px}.ti-greeting-hi{top:12%;left:8%}.ti-greeting-ta{top:40%;right:0;font-size:13px}.ti-greeting-en{bottom:20%;left:3%}}
@media(prefers-reduced-motion:reduce){.ti-card *{animation:none!important}.ti-progress{display:none}}
