.landing-page{--showcase-ink:#111820;--showcase-muted:#5f6e79;background:#edf6ff;color:var(--showcase-ink)}
.landing-showcase{position:relative;isolation:isolate;overflow:hidden;min-height:900px;padding:180px 0 22px;background:linear-gradient(180deg,#eaf5ff 0%,#f4f9ff 68%,#fbfdff 100%)}
.landing-showcase::before{position:absolute;z-index:-1;inset:0;background-image:radial-gradient(rgba(28,73,97,.14) .8px,transparent .8px);background-size:20px 20px;content:"";mask-image:linear-gradient(to bottom,black 0%,black 70%,transparent 100%)}
.landing-ball-rain{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.landing-rain-ball{position:absolute;top:-18px;left:var(--ball-left);width:13px;height:13px;border:1px solid rgba(93,32,27,.28);border-radius:50%;background:radial-gradient(circle at 32% 27%,#d47a63 0 9%,#a43e33 32%,#742b27 78%);box-shadow:inset -2px -2px 3px rgba(36,17,15,.22),0 2px 5px rgba(72,41,32,.12);opacity:0;animation:landing-ball-drop var(--ball-duration) linear var(--ball-delay) infinite}
.landing-rain-ball::after{position:absolute;top:2px;bottom:2px;left:5px;width:2px;border-right:1px dashed rgba(255,226,203,.88);border-left:1px dashed rgba(255,226,203,.88);border-radius:50%;content:"";transform:rotate(24deg)}
@keyframes landing-ball-drop{0%{opacity:0;transform:translate3d(0,-12px,0) rotate(0)}8%{opacity:.42}88%{opacity:.32}100%{opacity:0;transform:translate3d(22px,940px,0) rotate(520deg)}}
.landing-showcase-copy{position:relative;z-index:2;max-width:980px;margin:0 auto;padding:0 24px;text-align:center}
.showcase-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--primary-color,#16a879);font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.showcase-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--primary-color,#16a879);box-shadow:0 0 0 5px color-mix(in srgb,var(--primary-color,#16a879) 14%,transparent)}
.landing-showcase-copy h1{max-width:960px;margin:23px auto 18px;color:#111820;font-size:clamp(3.4rem,8.2vw,7.4rem);font-weight:750;line-height:.92;letter-spacing:-.085em;text-wrap:balance}
.landing-showcase-copy>p{max-width:580px;margin:0 auto;color:var(--showcase-muted);font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.55;text-wrap:balance}
.showcase-tagline{display:block;margin-top:8px;color:var(--showcase-muted);font-size:.8rem;letter-spacing:.02em}
.showcase-actions{display:flex;justify-content:center;gap:13px;margin-top:27px}
.showcase-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:0 20px;border:1px solid rgba(17,24,32,.1);border-radius:12px;font-size:.82rem;font-weight:800;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.showcase-button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(19,42,55,.12)}
.showcase-button-light{color:#18232a;background:#fff}
.showcase-button-dark{border-color:#111820;color:#fff;background:#111820}
.team-curve-section{position:relative;z-index:1;margin-top:6px}
.team-curve-viewport{position:relative;width:100%;height:540px;overflow:hidden}
.team-curve-track{position:absolute;inset:0;pointer-events:none}
.team-curve-line{position:absolute;z-index:0;top:14px;left:0;width:100%;height:210px;overflow:visible;pointer-events:none}
.team-curve-line path{fill:none;stroke:color-mix(in srgb,var(--primary-color,#16a879) 48%,#ffffff);stroke-width:2.25;vector-effect:non-scaling-stroke}
.team-curve-card{position:absolute;z-index:1;width:clamp(210px,19vw,270px);padding-top:22px;pointer-events:auto;transform:translateX(-50%) rotate(var(--team-card-rotation));transform-origin:50% 0;transition:filter .28s ease}
.team-curve-card:hover{z-index:3;transform:translateX(-50%) rotate(var(--team-card-rotation));filter:drop-shadow(0 18px 18px rgba(25,55,73,.16))}
.team-curve-pin{position:absolute;top:0;left:50%;display:grid;place-items:center;width:23px;height:24px;border:2px solid rgba(255,255,255,.7);border-radius:4px;color:#fff;background:linear-gradient(145deg,var(--primary-color,#16a879),#a8d94e);box-shadow:0 3px 8px rgba(32,72,88,.15);transform:translate(-50%,-50%) rotate(7deg)}
.team-curve-pin i{width:7px;height:7px;border:2px solid rgba(255,255,255,.9);border-radius:50%}
.team-card-face{min-height:255px;padding:13px 14px 17px;border:1px solid rgba(20,40,55,.06);border-radius:20px;color:#17212a;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(26,53,70,.1)}
.team-card-logo{display:grid;place-items:center;height:145px;border-radius:14px;color:var(--primary-color,#16a879);background:linear-gradient(135deg,#f5f7f8,#fbfcfd)}
.team-card-logo img{width:90px;height:90px;object-fit:contain}
.team-card-logo svg{width:65px;height:65px}
.team-card-category{display:block;margin-top:14px;color:var(--primary-color,#16a879);font-size:.57rem;font-weight:900;letter-spacing:.13em}
.team-card-face h2{margin:6px 0 2px;overflow:hidden;color:#111820;font-size:1.3rem;font-weight:750;letter-spacing:-.055em;text-overflow:ellipsis;white-space:nowrap}
.team-card-face p{margin:0;color:#66727b;font-size:.7rem}
.landing-showcase-copy h1 [data-hero-title]{display:inline-block}
.landing-showcase-copy h1 [data-hero-title].is-changing{animation:hero-title-fade .55s ease both}
@keyframes hero-title-fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.stat-strip{position:relative;z-index:2}
@media(max-width:760px){.landing-showcase{min-height:0;padding-top:125px}.landing-showcase-copy h1{font-size:clamp(3rem,12vw,5rem)}.team-curve-section{margin-top:4px}.team-curve-viewport{height:485px}.team-curve-card{width:clamp(205px,65vw,250px)}.team-card-face{min-height:225px}.team-card-logo{height:125px}}
@media(max-width:480px){.showcase-actions{align-items:stretch;flex-direction:column;max-width:260px;margin:24px auto 0}.showcase-button{width:100%}.team-curve-viewport{height:455px}.team-curve-card{width:205px}.team-card-face{min-height:210px;padding:11px}.team-card-logo{height:112px}}
@media(max-width:1200px){.team-curve-viewport{height:500px}.team-curve-card{width:min(250px,calc(100vw - 48px))}}
@media(min-width:1201px) and (max-width:1500px){.team-curve-card{width:clamp(185px,16vw,230px)}.team-card-face{min-height:235px}.team-card-logo{height:125px}}
@media(max-width:480px){.team-curve-viewport{height:500px}.team-curve-card{width:205px}}
@media(prefers-reduced-motion:reduce){.showcase-button,.team-curve-card{transition:none}.landing-rain-ball{animation:none;opacity:.22;top:32%}.landing-showcase-copy h1 [data-hero-title].is-changing{animation:none}}
