/* Kalryn footer */
.ft{position:relative;z-index:1;padding:clamp(24px,4vw,48px) 0 clamp(20px,3vw,32px)}
.ft-wrap{max-width:1160px;margin:0 auto;padding:0 clamp(16px,3vw,24px)}
.ft-card{position:relative;overflow:hidden;isolation:isolate;padding:clamp(26px,3.4vw,44px) clamp(22px,3.4vw,44px) 0;border-radius:32px;
 background:radial-gradient(900px 360px at 50% -20%,rgba(61,220,132,.09),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),#0c0c0e;
 border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 100px -50px rgba(0,0,0,.95)}
.ft-line{position:absolute;left:12%;right:12%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(61,220,132,.55),transparent)}
.ft-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.7fr) minmax(0,1.1fr) minmax(0,.85fr);gap:clamp(24px,3.5vw,48px)}
.ft-logo{display:inline-flex;align-items:center;gap:10px;font:600 20px/1 "Space Grotesk",Inter,sans-serif;letter-spacing:-.02em;color:#fff;text-decoration:none}
.ft-tag{margin:14px 0 16px;max-width:320px;font-size:15px;line-height:1.55;color:rgba(236,236,240,.62)}
.ft-status{display:inline-flex;align-items:center;gap:9px;padding:7px 12px;border-radius:999px;font:500 12.5px/1 Inter,sans-serif;color:rgba(236,236,240,.8);background:rgba(61,220,132,.06);border:1px solid rgba(61,220,132,.22)}
.ft-status i{width:7px;height:7px;border-radius:50%;background:#3ddc84;box-shadow:0 0 8px #3ddc84;animation:ftBreath 2.6s ease-in-out infinite}
@keyframes ftBreath{50%{opacity:.35;transform:scale(.75)}}
.ft-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ft-b{min-height:44px;font-size:14px}
.ft-col{display:flex;flex-direction:column;gap:4px;min-width:0}
.ft-col h4{margin:4px 0 12px;font:600 10.5px/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(236,236,240,.42)}
.ft-col>a{align-self:flex-start;padding:5px 0;font-size:14.5px;color:rgba(236,236,240,.72);text-decoration:none;transition:color .25s,transform .25s}
.ft-col>a:hover{color:#fff;transform:translateX(3px)}
.ft-contact{gap:6px}
.ft-c{display:flex;align-items:center;gap:11px;padding:5px 10px 5px 5px;border-radius:12px;text-decoration:none;border:1px solid transparent;transition:background .3s,border-color .3s,transform .3s}
.ft-c:hover{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.08);transform:translateX(3px)}
.ft-c b{display:block;font:600 13.5px/1.2 Inter,sans-serif;color:#fff}
.ft-c small{display:block;font-size:12px;color:rgba(236,236,240,.48);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ft-c>span:last-child{min-width:0}
.ft-t{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;
 background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 55%),var(--c);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 18px -10px var(--g)}
.ft-t img{display:block;width:15px;height:15px;filter:brightness(0) invert(1)}
.ft-t svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ft-t b{font:700 14px/1 Inter,sans-serif;letter-spacing:-.05em;color:#fff}
.ft-note{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:rgba(236,236,240,.42)}

.ft-mark{position:relative;margin:clamp(28px,4vw,48px) 0 -0.12em;text-align:center;line-height:.8;user-select:none;pointer-events:none}
.ft-mark span{display:block;font:700 clamp(72px,17vw,232px)/.8 "Space Grotesk",Inter,sans-serif;letter-spacing:-.06em;-webkit-background-clip:text;background-clip:text;color:transparent}
.ft-mark .base{background-image:linear-gradient(180deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.04) 55%,rgba(255,255,255,0) 92%)}
.ft-mark .glow{position:absolute;inset:0;background-image:radial-gradient(300px circle at var(--mx,50%) var(--my,40%),rgba(61,220,132,.6),rgba(34,211,238,.18) 40%,transparent 65%);
 -webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 92%);mask-image:linear-gradient(180deg,#000 30%,transparent 92%);opacity:0;transition:opacity .6s ease}
.ft-card:hover .ft-mark .glow,.ft.auto .ft-mark .glow{opacity:1}
.ft-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 0 22px;border-top:1px solid rgba(255,255,255,.07);font-size:12.5px;color:rgba(236,236,240,.45)}
.ft-top{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font:500 13px/1 Inter,sans-serif;color:rgba(236,236,240,.7);transition:color .25s}
.ft-top span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);transition:border-color .3s,background .3s,transform .35s cubic-bezier(.2,.8,.2,1)}
.ft-top svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ft-top:hover{color:#fff}
.ft-top:hover span{border-color:rgba(61,220,132,.6);background:rgba(61,220,132,.1);transform:translateY(-2px)}
.ft-top:focus-visible{outline:2px solid #3ddc84;outline-offset:4px;border-radius:99px}
@media (max-width:960px){.ft-grid{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1}}
@media (max-width:520px){.ft-grid{grid-template-columns:1fr}.ft-b{flex:1;justify-content:center}}
@media (prefers-reduced-motion:reduce){.ft *{animation:none!important;transition:none!important}}

/* ft-status */
.ft-status{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 14px 8px 12px!important;line-height:1.2;white-space:normal}
.ft-status i{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 8px #3ddc84;animation:none!important}
.ft-status i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(61,220,132,.7);animation:ftPing 2.2s ease-out infinite}
@keyframes ftPing{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.ft-status b{font-weight:500;color:#fff;white-space:nowrap}
.ft-status em{font-style:normal;color:rgba(236,236,240,.55);white-space:nowrap}
.ft-status em::before{content:"·";margin-right:10px;color:rgba(236,236,240,.3)}
.ft-btns .ft-b{flex:0 1 auto}
@media (prefers-reduced-motion:reduce){.ft-status i::after{animation:none}}

/* ft-status2 */
.ft .ft-status{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
.ft-pill{display:inline-flex;align-items:center;gap:9px;height:32px;padding:0 14px 0 12px;border-radius:999px;white-space:nowrap;
 font:500 12.5px/1 Inter,sans-serif;color:#fff;background:rgba(61,220,132,.07);border:1px solid rgba(61,220,132,.26);box-shadow:0 8px 22px -14px rgba(61,220,132,.6)}
.ft-pill i{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 8px #3ddc84}
.ft-pill i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(61,220,132,.7);animation:ftPing2 2.2s ease-out infinite}
@keyframes ftPing2{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.ft-loc{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font:500 12.5px/1 Inter,sans-serif;color:rgba(236,236,240,.55)}
.ft-loc svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7}
@media (prefers-reduced-motion:reduce){.ft-pill i::after{animation:none}}
/* ft-brand */
.ft .ft-logo{gap:0!important}
.ft .ft-logo .kxl{height:30px}
.ft .ft-mark.lg{position:relative;width:min(980px,94%);margin:clamp(30px,4vw,52px) auto 18px;aspect-ratio:1791.38/739.29;line-height:0}
.ft .ft-mark.lg span{position:absolute;inset:0;display:block;font-size:0;-webkit-background-clip:border-box!important;background-clip:border-box!important;color:transparent;
 -webkit-mask:url(/assets/img/brand/kalryn.svg) center/contain no-repeat;mask:url(/assets/img/brand/kalryn.svg) center/contain no-repeat}
.ft .ft-mark.lg .base{background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 55%,rgba(255,255,255,.012) 100%)}
.ft .ft-mark.lg .glow{background:radial-gradient(340px circle at var(--mx,50%) var(--my,40%),rgba(61,220,132,.7),rgba(34,211,238,.22) 40%,transparent 66%);opacity:0;transition:opacity .6s ease}
.ft-card:hover .ft-mark.lg .glow,.ft.auto .ft-mark.lg .glow{opacity:1}
/* ft-brand2 */
.ft .ft-card{padding-top:clamp(22px,3vw,36px)!important}
.ft .ft-grid{gap:clamp(20px,3vw,40px)}
.ft .ft-mark.lg{width:min(640px,76%);margin:clamp(22px,3vw,34px) auto -11%}
.ft .ft-mark.lg::after{content:"";position:absolute;left:-14%;right:-14%;bottom:-2px;height:68%;pointer-events:none;
 background:linear-gradient(180deg,rgba(14,14,16,0) 0%,rgba(14,14,16,.72) 42%,#0e0e10 86%)}
.ft .ft-bottom{position:relative;z-index:2;border-top-color:rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(14,14,16,.55),#0e0e10 70%)}
@media (max-width:560px){.ft .ft-mark.lg{width:88%;margin-bottom:-13%}}
/* ft-brand3 */
.ft .ft-grid{position:relative;z-index:1}
.ft .ft-mark.lg{z-index:0;margin:-7.5% auto -1%}
.ft .ft-mark.lg::after{height:46%;background:linear-gradient(180deg,rgba(14,14,16,0) 0%,rgba(14,14,16,.7) 50%,#0e0e10 92%)}
@media (max-width:560px){.ft .ft-mark.lg{margin:-4% auto -2%}}
/* ft-brand4 */
.ft .ft-mark.lg::after{content:none!important;display:none!important}
.ft .ft-mark.lg span{
 -webkit-mask:url(/assets/img/brand/kalryn.svg) center/contain no-repeat,linear-gradient(180deg,#000 0%,#000 28%,rgba(0,0,0,.4) 60%,rgba(0,0,0,.08) 82%,transparent 96%);
 -webkit-mask-composite:source-in;
 mask:url(/assets/img/brand/kalryn.svg) center/contain no-repeat,linear-gradient(180deg,#000 0%,#000 28%,rgba(0,0,0,.4) 60%,rgba(0,0,0,.08) 82%,transparent 96%);
 mask-composite:intersect}
.ft .ft-mark.lg .base{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07))}
.ft .ft-bottom{background:none!important;border-top:0!important}
.ft .ft-bottom::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;
 background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.09) 18%,rgba(255,255,255,.09) 82%,rgba(255,255,255,0))}
/* ft-contact2 */
.ft .ft-contact{gap:4px!important}
.ft .ft-contact .ft-c{align-self:stretch;display:flex;align-items:center;gap:12px;padding:7px 14px 7px 7px!important;border-radius:14px;border:1px solid transparent;min-width:0;
 transition:background .3s ease,border-color .3s ease,transform .3s ease}
.ft .ft-contact .ft-c:hover{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.08);transform:translateX(3px)}
.ft .ft-contact .ft-c>span:last-child{min-width:0;flex:1}
.ft .ft-contact .ft-c small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
