:root{--bg:#f4f3f8;--text:#111116;--muted:#777780;--purple:#7658ff;--line:rgba(20,20,25,.09);--page:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}.ambient-canvas{position:fixed;z-index:0;inset:0;width:100%;height:100%;pointer-events:none;opacity:.24}.page-transition{position:fixed;z-index:99999;inset:0;pointer-events:none;background:var(--purple);transform:translateY(-105%)}.page-transition.is-entering{animation:pageEnter .8s cubic-bezier(.77,0,.18,1) forwards}.page-transition.is-leaving{animation:pageLeave .7s cubic-bezier(.77,0,.18,1) forwards}.scroll-progress{position:fixed;z-index:10000;left:0;top:0;width:100%;height:2px;pointer-events:none}.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--purple),#c2b4ff)}.cursor-glow{position:fixed;z-index:0;width:420px;height:420px;border-radius:50%;pointer-events:none;opacity:.12;transform:translate(-50%,-50%);background:radial-gradient(circle,#8165ff,transparent 68%);filter:blur(16px)}.site-header{position:fixed;z-index:500;left:50%;top:18px;transform:translateX(-50%);width:min(calc(100% - 32px),var(--page));height:64px;padding:0 18px 0 22px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(24px);box-shadow:0 12px 55px rgba(40,30,90,.08);transition:.35s}.site-header.is-scrolled{background:rgba(255,255,255,.9);box-shadow:0 12px 50px rgba(40,30,90,.12)}.brand{font-size:22px;font-weight:900;letter-spacing:-.06em}.brand span{color:var(--purple)}.header-actions{display:flex;gap:8px}.language-button,.menu-button{height:42px;border:0;border-radius:999px;background:rgba(20,20,25,.055);cursor:pointer}.language-button{padding:0 15px;font-size:11px;font-weight:850}.menu-button{position:relative;width:42px}.menu-button span{position:absolute;left:12px;width:18px;height:2px;border-radius:20px;background:#151519}.menu-button span:first-child{top:17px}.menu-button span:last-child{top:23px}.site-menu{position:fixed;z-index:9000;inset:0;padding:20px;pointer-events:none;opacity:0;background:rgba(13,11,22,.36);backdrop-filter:blur(15px);transition:opacity .35s}.site-menu.is-open{pointer-events:auto;opacity:1}.site-menu-inner{position:relative;width:min(520px,100%);height:100%;margin-left:auto;padding:90px 38px 38px;border-radius:38px;background:#15131c;color:#fff;transform:translateX(110%);transition:transform .55s cubic-bezier(.16,1,.3,1)}.site-menu.is-open .site-menu-inner{transform:none}.menu-close{position:absolute;right:24px;top:24px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:27px;cursor:pointer}.menu-kicker{margin-bottom:28px;color:rgba(255,255,255,.38);font-size:10px;font-weight:800;letter-spacing:.16em}.site-menu-inner>a:not(.menu-primary){display:block;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:clamp(27px,5vw,46px);font-weight:800;letter-spacing:-.05em;transition:.25s}.site-menu-inner>a:not(.menu-primary):hover{padding-left:10px;color:#a993ff}.menu-primary{display:flex;align-items:center;justify-content:center;min-height:58px;margin-top:34px;border-radius:999px;background:var(--purple);font-weight:800}.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:130px 28px 70px;background:linear-gradient(135deg,#faf9fc 0%,#f0eef5 55%,#e9e4ff 100%)}.hero:before{content:"";position:absolute;width:60vw;height:60vw;right:-23vw;top:-22vw;border-radius:50%;background:rgba(117,88,255,.14);filter:blur(24px)}.hero-grid{position:relative;z-index:4;width:min(100%,var(--page));margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px}.eyebrow,.section-label{color:var(--purple);font-size:10px;font-weight:900;letter-spacing:.18em}.hero h1{max-width:800px;margin:18px 0 28px;font-size:clamp(68px,8.4vw,134px);line-height:.83;letter-spacing:-.078em;font-weight:900}.hero h1 span{color:var(--purple)}.hero-description{max-width:560px;color:#62616b;font-size:clamp(17px,1.8vw,22px);line-height:1.52}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{min-height:57px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:800;will-change:transform}.button-primary{color:#fff;background:var(--purple);box-shadow:0 16px 38px rgba(117,88,255,.28)}.button-secondary{border:1px solid rgba(0,0,0,.055);background:rgba(255,255,255,.68)}.button-outline{border:1px solid rgba(0,0,0,.11)}.button-light{color:#28213e;background:#fff}.hero-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;color:#95939d;font-size:9px;font-weight:800;letter-spacing:.14em}.hero-visual{display:flex;justify-content:center}.foki-stage{position:relative;width:min(540px,42vw);aspect-ratio:1;transform-style:preserve-3d}.foki-main{position:absolute;z-index:5;inset:5%;width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 40px 46px rgba(75,50,160,.2));animation:fokiFloat 5.3s ease-in-out infinite}.foki-main.is-missing{display:none}.foki-fallback{position:absolute;z-index:2;left:50%;top:50%;width:48%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:34%;background:linear-gradient(145deg,#a78fff,#5c3fe2);color:#fff;font-size:100px;font-weight:900;box-shadow:0 30px 80px rgba(87,56,200,.28)}.foki-glow{position:absolute;inset:17%;border-radius:50%;background:radial-gradient(circle,rgba(117,88,255,.48),transparent 68%);filter:blur(23px);animation:glowPulse 4s ease-in-out infinite}.orbit{position:absolute;border:1px solid rgba(117,88,255,.19);border-radius:50%}.orbit-one{inset:6%;animation:orbit 20s linear infinite}.orbit-two{inset:19%;animation:orbitReverse 15s linear infinite}.floating-tag{position:absolute;z-index:7;padding:10px 15px;border:1px solid rgba(255,255,255,.9);border-radius:999px;background:rgba(255,255,255,.76);backdrop-filter:blur(14px);box-shadow:0 14px 40px rgba(50,35,100,.08);font-size:10px;font-weight:900;letter-spacing:.06em;animation:tagFloat 6s ease-in-out infinite}.tag-one{left:-1%;top:25%}.tag-two{right:2%;top:17%;animation-delay:.7s}.tag-three{left:6%;bottom:15%;animation-delay:1.5s}.tag-four{right:0;bottom:26%;animation-delay:2.2s}.hero-art{position:absolute;z-index:2;right:-8%;top:0;width:54vw;min-width:720px;pointer-events:none}.hero-art-line,.draw-svg,.bridge-line{fill:none;stroke:rgba(117,88,255,.26);stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1900;stroke-dashoffset:1900}.hero-art-line{animation:lineDraw 3.2s 1s cubic-bezier(.16,1,.3,1) forwards}.hero-art-line-two{animation-delay:1.45s}.hero-bottom{position:absolute;z-index:5;left:50%;bottom:24px;width:min(calc(100% - 56px),var(--page));transform:translateX(-50%);display:flex;justify-content:space-between;align-items:center;color:#8d8b95;font-size:9px;font-weight:800;letter-spacing:.14em}.hero-scroll{display:flex;align-items:center;gap:12px}.hero-scroll span{position:relative;width:30px;height:30px;border:1px solid rgba(0,0,0,.12);border-radius:50%}.hero-scroll span:before{content:"";position:absolute;width:4px;height:4px;left:50%;top:10px;border-right:1px solid;border-bottom:1px solid;transform:translateX(-50%) rotate(45deg)}.section-bridge{height:190px;overflow:hidden;pointer-events:none}.section-bridge svg{width:100%;height:100%}.bridge-dot{fill:var(--purple);opacity:.25;transform-origin:center;animation:dotPulse 3s ease-in-out infinite}.bridge-dot-two{animation-delay:1.4s}.section{width:min(calc(100% - 48px),var(--page));margin:0 auto;padding:120px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-head h2,.foki-card-copy h2,.features-heading h2,.final-content h2{margin:12px 0 0;font-size:clamp(44px,6vw,86px);line-height:.94;letter-spacing:-.065em}.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:800}.category-filter{display:flex;gap:8px;overflow-x:auto;padding-bottom:22px;scrollbar-width:none}.category-filter::-webkit-scrollbar{display:none}.category-filter button{flex:0 0 auto;height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.47);cursor:pointer;font-weight:750;transition:.3s}.category-filter button:hover{background:#fff;transform:translateY(-2px)}.category-filter button.is-active{color:#fff;background:#151519;border-color:#151519}.templates-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.template-card{min-width:0;transform-style:preserve-3d;will-change:transform}.template-image{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;border-radius:29px;background:linear-gradient(145deg,#ded9f7,#cbc2f2);box-shadow:0 24px 70px rgba(50,35,100,.06)}.template-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}.template-card:hover .template-image img{transform:scale(1.055)}.template-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(145deg,#eeeaff,#d8d0ff)}.template-placeholder span{font-size:88px;font-weight:900;color:rgba(91,61,211,.18)}.template-placeholder small{font-size:10px;font-weight:900;letter-spacing:.15em;color:rgba(91,61,211,.35)}.template-dark-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,10,20,.28),transparent 40%);pointer-events:none}.template-symbol{position:absolute;z-index:3;width:72px;height:72px;right:18px;top:18px;opacity:.68}.template-symbol path{stroke:rgba(255,255,255,.75)}.template-view{position:absolute;z-index:4;left:17px;bottom:17px;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(13px);font-size:11px;font-weight:800;transform:translateY(10px);opacity:0;transition:.35s}.template-card:hover .template-view{transform:none;opacity:1}.template-info{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 4px 0}.template-category{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.09em}.template-info h3{margin:0;font-size:20px;letter-spacing:-.035em}.template-create{flex:0 0 auto;width:49px;height:49px;display:grid;place-items:center;border-radius:50%;background:var(--purple);color:#fff;font-size:25px;box-shadow:0 12px 30px rgba(117,88,255,.24)}.templates-more{display:flex;justify-content:center;margin-top:52px}.marquee{overflow:hidden;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.marquee-track{width:max-content;display:flex;align-items:center;gap:32px;animation:marqueeMove 28s linear infinite}.marquee span{font-size:clamp(32px,5vw,72px);font-weight:900;letter-spacing:-.05em}.marquee i{color:var(--purple);font-size:26px;font-style:normal}.foki-card{min-height:720px;display:grid;grid-template-columns:.92fr 1.08fr;overflow:hidden;border-radius:46px;background:#15131b;color:#fff}.foki-card-visual{position:relative;min-height:620px;display:grid;place-items:center;overflow:hidden}.foki-card-glow{position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(117,88,255,.44),transparent 67%);filter:blur(16px)}.foki-wave{position:relative;z-index:4;width:76%;max-height:570px;object-fit:contain;animation:fokiFloat 5.5s ease-in-out infinite}.foki-wave.is-missing{display:none}.foki-fallback-dark{z-index:3;background:linear-gradient(145deg,#9d83ff,#5336d7)}.foki-word{position:absolute;z-index:3;color:rgba(255,255,255,.13);font-size:12px;font-weight:900;letter-spacing:.18em}.word-one{left:11%;top:17%}.word-two{right:9%;top:40%}.word-three{left:15%;bottom:16%}.foki-card-copy{display:flex;flex-direction:column;justify-content:center;padding:76px 70px}.foki-card-copy h2 span{color:#a78fff}.foki-card-copy p{max-width:550px;margin:28px 0 0;color:rgba(255,255,255,.63);font-size:19px;line-height:1.55}.chaos-tags{position:relative;height:160px;margin-top:32px}.chaos-tags span{position:absolute;padding:8px 13px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:rgba(255,255,255,.73);font-size:11px;animation:tagFloat 6s ease-in-out infinite}.chaos-tags span:nth-child(1){left:0;top:8px}.chaos-tags span:nth-child(2){left:130px;top:52px;animation-delay:.7s}.chaos-tags span:nth-child(3){left:35px;top:102px;animation-delay:1.4s}.chaos-tags span:nth-child(4){left:250px;top:3px;animation-delay:2.1s}.chaos-tags span:nth-child(5){left:295px;top:94px;animation-delay:2.8s}.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.step-card{position:relative;min-height:320px;padding:26px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:29px;background:rgba(255,255,255,.38);transition:transform .55s cubic-bezier(.16,1,.3,1),background .4s,box-shadow .4s}.step-card:hover{transform:translateY(-11px);background:rgba(255,255,255,.75);box-shadow:0 28px 70px rgba(50,35,100,.08)}.step-card>span{color:var(--purple);font-size:10px;font-weight:900;letter-spacing:.12em}.step-symbol{margin:auto 0;color:rgba(117,88,255,.33);font-size:68px;font-weight:200;animation:symbolFloat 6s ease-in-out infinite}.step-card h3{margin:0 0 11px;font-size:32px;letter-spacing:-.045em}.step-card p{margin:0;color:var(--muted);line-height:1.5}.features-section{text-align:center}.features-heading{max-width:850px;margin:0 auto 60px}.feature-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.feature-pill{padding:18px 28px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.5);font-size:clamp(17px,2vw,27px);font-weight:800;letter-spacing:-.035em}.feature-pill.is-visible{animation:pillFloat 7s ease-in-out infinite}.final-card{position:relative;min-height:650px;display:grid;place-items:center;overflow:hidden;border-radius:46px;background:var(--purple);color:#fff}.final-drawing{position:absolute;inset:0;width:100%;height:100%}.final-drawing path{stroke:rgba(255,255,255,.31)}.final-orbit{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%}.final-orbit-one{width:650px;height:650px;left:-300px;top:-300px;animation:orbit 35s linear infinite}.final-orbit-two{width:800px;height:800px;right:-390px;bottom:-420px;animation:orbitReverse 42s linear infinite}.final-content{position:relative;z-index:4;text-align:center}.final-label{color:rgba(255,255,255,.55);font-size:10px;font-weight:900;letter-spacing:.18em}.final-content h2{margin-bottom:38px;font-size:clamp(56px,8vw,110px)}.site-footer{width:min(calc(100% - 48px),var(--page));margin:auto;padding:34px 0 55px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.6}.footer-brand{color:var(--text);font-size:23px;font-weight:900;letter-spacing:-.055em}.footer-right{text-align:right}.reveal{opacity:0;transform:translate3d(0,55px,0) scale(.985);filter:blur(7px);transition:opacity .95s,transform 1.05s cubic-bezier(.16,1,.3,1),filter .9s}.reveal.is-visible{opacity:1;transform:none;filter:none}.draw-svg.is-visible,.bridge-line.is-visible{animation:lineDraw 2.6s cubic-bezier(.16,1,.3,1) forwards}@keyframes pageEnter{from{transform:translateY(0)}to{transform:translateY(-105%)}}@keyframes pageLeave{from{transform:translateY(-105%)}to{transform:translateY(0)}}@keyframes lineDraw{to{stroke-dashoffset:0}}@keyframes fokiFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-16px) rotate(1deg)}}@keyframes glowPulse{0%,100%{transform:scale(.91);opacity:.65}50%{transform:scale(1.08);opacity:1}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes orbitReverse{to{transform:rotate(-360deg)}}@keyframes tagFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}@keyframes dotPulse{50%{transform:scale(1.8);opacity:.6}}@keyframes marqueeMove{to{transform:translateX(-50%)}}@keyframes symbolFloat{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-8px)}}@keyframes pillFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr}.hero-copy{padding-top:45px}.hero-visual{margin-top:-20px}.foki-stage{width:min(540px,75vw)}.templates-track{grid-template-columns:repeat(2,minmax(0,1fr))}.foki-card{grid-template-columns:1fr}.foki-card-copy{padding:55px 42px 65px}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.cursor-glow{display:none}.site-header{top:10px;width:calc(100% - 20px);height:58px}.hero{min-height:100svh;align-items:flex-start;padding:104px 16px 64px}.hero-grid{gap:22px}.hero h1{font-size:clamp(58px,18vw,84px)}.hero-description{max-width:96%;font-size:17px}.hero-actions{flex-direction:column}.button{width:100%}.hero-meta{gap:12px}.foki-stage{width:min(390px,92vw)}.floating-tag{font-size:8px;padding:8px 11px}.hero-art{min-width:530px;right:-70%;top:18%}.hero-bottom{display:none}.section-bridge{height:120px}.section{width:calc(100% - 24px);padding:85px 0}.section-head{align-items:flex-start;flex-direction:column}.templates-track{display:flex;overflow-x:auto;gap:14px;margin:0 -12px;padding:0 12px 18px;scroll-snap-type:x mandatory;scrollbar-width:none}.templates-track::-webkit-scrollbar{display:none}.template-card{flex:0 0 82vw;scroll-snap-align:center}.template-view{opacity:1;transform:none}.foki-card{min-height:0;border-radius:32px}.foki-card-visual{min-height:440px}.foki-wave{width:82%}.foki-card-copy{padding:42px 26px 55px}.foki-card-copy p{font-size:17px}.chaos-tags{height:180px}.chaos-tags span:nth-child(4){left:185px}.chaos-tags span:nth-child(5){left:205px;top:125px}.steps-grid{grid-template-columns:1fr}.step-card{min-height:240px}.feature-pill{padding:14px 20px}.final-card{min-height:560px;border-radius:32px}.site-footer{width:calc(100% - 24px);grid-template-columns:1fr;gap:16px}.footer-right{text-align:left}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* =========================================================
PROJECTS PAGE
========================================================= */

.projects-hero {
    position: relative;

    min-height: 100svh;

    display: flex;
    align-items: center;

    overflow: hidden;

    padding:
        130px
        28px
        80px;

    background:
        linear-gradient(
            135deg,
            #faf9fc 0%,
            #f0eef5 55%,
            #e9e4ff 100%
        );
}

.projects-hero::before {
    content: "";

    position: absolute;

    width: 60vw;
    height: 60vw;

    right: -25vw;
    top: -20vw;

    border-radius: 50%;

    background:
        rgba(117,88,255,.14);

    filter: blur(25px);
}

.projects-hero-grid {
    position: relative;
    z-index: 4;

    width:
        min(
            100%,
            var(--page)
        );

    margin: auto;

    display: grid;

    grid-template-columns:
        1.05fr
        .95fr;

    align-items: center;

    gap: 60px;
}

.projects-hero-copy h1 {
    margin:
        18px 0
        28px;

    font-size:
        clamp(
            68px,
            8.4vw,
            134px
        );

    line-height: .83;

    letter-spacing: -.078em;

    font-weight: 900;
}

.projects-hero-copy h1 span {
    color: var(--purple);
}

.projects-hero-art {
    position: absolute;

    right: -8%;
    top: 0;

    width: 58vw;

    min-width: 760px;

    height: 100%;

    pointer-events: none;
}

.projects-hero-art path {
    fill: none;

    stroke:
        rgba(117,88,255,.22);

    stroke-width: 1.4;

    vector-effect:
        non-scaling-stroke;

    stroke-dasharray: 1900;

    stroke-dashoffset: 1900;
}

.projects-foki {
    display: flex;

    justify-content: center;
}


/* ACCESS FORM */

.projects-access-form {
    max-width: 560px;

    margin-top: 36px;
}

.projects-email-field {
    margin-bottom: 12px;

    padding:
        10px
        18px
        14px;

    border:
        1px solid
        rgba(20,20,25,.08);

    border-radius: 20px;

    background:
        rgba(255,255,255,.7);

    backdrop-filter:
        blur(18px);

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}

.projects-email-field:focus-within {
    border-color:
        rgba(117,88,255,.45);

    box-shadow:
        0 15px 45px
        rgba(80,55,170,.08);

    transform:
        translateY(-2px);
}

.projects-email-field label {
    display: block;

    margin-bottom: 5px;

    color:
        var(--purple);

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .15em;
}

.projects-email-field input {
    width: 100%;

    border: 0;
    outline: 0;

    background:
        transparent;

    color:
        var(--text);

    font-size: 18px;

    font-weight: 650;
}

.projects-email-field input::placeholder {
    color:
        #aaa8b1;
}

.projects-submit {
    width: 100%;
}

.projects-form-status {
    min-height: 22px;

    margin-top: 12px;

    color:
        var(--muted);

    font-size: 13px;
}

.projects-form-status.is-error {
    color:
        #d94b65;
}

.projects-form-status.is-success {
    color:
        #3b9d6a;
}

.projects-note {
    display: flex;

    align-items: center;

    gap: 9px;

    margin-top: 23px;

    color:
        #8d8b95;

    font-size: 12px;
}

.projects-note span {
    color:
        var(--purple);
}


/* MOBILE */

@media (max-width: 960px) {

    .projects-hero-grid {
        grid-template-columns: 1fr;
    }

    .projects-foki {
        margin-top: 10px;
    }

    .projects-foki .foki-stage {
        width:
            min(
                520px,
                75vw
            );
    }
}


@media (max-width: 640px) {

    .projects-hero {
        min-height: 100svh;

        align-items: flex-start;

        padding:
            105px
            16px
            70px;
    }

    .projects-hero-grid {
        gap: 22px;
    }

    .projects-hero-copy h1 {
        font-size:
            clamp(
                58px,
                18vw,
                84px
            );
    }

    .projects-access-form {
        width: 100%;
    }

    .projects-foki .foki-stage {
        width:
            min(
                390px,
                92vw
            );
    }

    .projects-hero-art {
        min-width: 540px;

        right: -70%;
    }
}

/* =========================================================
LIBRARY
========================================================= */

.library-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.library-card {
    position: relative;
    overflow: hidden;

    min-height: 280px;

    padding: 26px;

    border: 1px solid var(--line);
    border-radius: 30px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.72),
            rgba(255,255,255,.38)
        );

    box-shadow:
        0 24px 70px
        rgba(50,35,100,.055);

    backdrop-filter: blur(18px);

    transition:
        transform .45s cubic-bezier(.16,1,.3,1),
        box-shadow .45s ease,
        background .45s ease;
}

.library-card::after {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    right: -70px;
    top: -70px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(117,88,255,.18),
            transparent 70%
        );

    pointer-events: none;
}

.library-card:hover {
    transform: translateY(-8px);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.88),
            rgba(255,255,255,.48)
        );

    box-shadow:
        0 32px 90px
        rgba(50,35,100,.09);
}

.library-card-top {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 54px;
}

.library-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 30px;

    padding: 0 11px;

    border-radius: 999px;

    font-size: 9px;
    font-weight: 900;
    letter-spacing: .11em;
}

.library-status-draft {
    color: #6c57d7;

    background:
        rgba(117,88,255,.1);
}

.library-status-published {
    color: #27845b;

    background:
        rgba(56,185,123,.11);
}

.library-status-archived {
    color: #8a8991;

    background:
        rgba(20,20,25,.065);
}

.library-id {
    color: var(--muted);

    font-size: 11px;
    font-weight: 800;
}

.library-card h3 {
    position: relative;
    z-index: 2;

    margin:
        0 0
        28px;

    font-size:
        clamp(
            28px,
            3vw,
            42px
        );

    letter-spacing: -.05em;
}

.library-actions {
    position: relative;
    z-index: 2;

    display: flex;
    flex-wrap: wrap;

    gap: 9px;
}

.library-actions .button {
    min-height: 46px;

    padding:
        0 18px;

    font-size: 13px;
}

@media (max-width: 820px) {

    .library-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 640px) {

    .library-card {
        min-height: 245px;

        padding: 22px;
    }

    .library-card-top {
        margin-bottom: 38px;
    }

    .library-actions {
        flex-direction: column;
    }

    .library-actions .button {
        width: 100%;
    }

}

/* =========================================================
ABOUT PAGE — PREMIUM
========================================================= */


/* =========================================================
HERO
========================================================= */

.about-page-hero {
    width: 100%;

    padding:
        110px
        24px
        30px;
}


.about-hero-shell {
    position: relative;

    width:
        min(
            100%,
            1380px
        );

    min-height:
        calc(100svh - 140px);

    margin:
        0 auto;

    display: grid;

    grid-template-columns:
        1.08fr
        .92fr;

    align-items: center;

    gap: 40px;

    overflow: hidden;

    padding:
        80px
        clamp(30px,5vw,80px)
        65px;

    border:
        1px solid
        rgba(20,20,25,.07);

    border-radius:
        52px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.94),
            rgba(239,236,249,.91) 55%,
            rgba(229,222,255,.94)
        );

    box-shadow:
        0 40px 120px
        rgba(53,36,118,.10);

    isolation:
        isolate;
}


/* light moving background */

.about-hero-glow {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;

    filter:
        blur(40px);

    opacity: .55;

    animation:
        aboutGlow
        8s
        ease-in-out
        infinite
        alternate;
}


.about-hero-glow-a {
    width: 520px;
    height: 520px;

    right: -120px;
    top: -150px;

    background:
        rgba(117,88,255,.20);
}


.about-hero-glow-b {
    width: 340px;
    height: 340px;

    left: 24%;
    bottom: -170px;

    background:
        rgba(167,143,255,.20);

    animation-delay:
        1.7s;
}


@keyframes aboutGlow {

    from {
        transform:
            translate3d(0,0,0)
            scale(.92);
    }

    to {
        transform:
            translate3d(-35px,28px,0)
            scale(1.12);
    }

}


/* subtle grid */

.about-hero-grid-pattern {
    position: absolute;

    inset: 0;

    pointer-events: none;

    opacity: .24;

    background-image:
        linear-gradient(
            rgba(117,88,255,.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(117,88,255,.08) 1px,
            transparent 1px
        );

    background-size:
        70px 70px;

    mask-image:
        linear-gradient(
            to right,
            black,
            transparent 70%
        );

    -webkit-mask-image:
        linear-gradient(
            to right,
            black,
            transparent 70%
        );
}


/* HERO SVG */

.about-hero-svg {
    position: absolute;

    z-index: 0;

    inset: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;

    opacity: .8;
}


.about-hero-path {
    fill: none;

    stroke:
        rgba(117,88,255,.27);

    stroke-width: 1.4;

    vector-effect:
        non-scaling-stroke;

    stroke-linecap: round;

    stroke-dasharray: 1900;
    stroke-dashoffset: 1900;

    animation:
        aboutDraw
        3.6s
        cubic-bezier(.16,1,.3,1)
        forwards;
}


.about-hero-path-a {
    animation-delay: .5s;
}


.about-hero-path-b {
    animation-delay: .9s;
}


.about-hero-path-c {
    animation-delay: 1.35s;
}


@keyframes aboutDraw {

    to {
        stroke-dashoffset: 0;
    }

}


/* ORBITS */

.about-hero-orbit {
    position: absolute;

    z-index: 1;

    border:
        1px solid
        rgba(117,88,255,.12);

    border-radius: 50%;

    pointer-events: none;
}


.about-hero-orbit::before {
    content: "";

    position: absolute;

    width: 7px;
    height: 7px;

    left: 50%;
    top: -4px;

    border-radius: 50%;

    background:
        var(--purple);

    box-shadow:
        0 0 20px
        rgba(117,88,255,.6);
}


.about-hero-orbit-a {
    width: 500px;
    height: 500px;

    right: -110px;
    bottom: -210px;

    animation:
        orbit
        27s
        linear
        infinite;
}


.about-hero-orbit-b {
    width: 290px;
    height: 290px;

    left: -110px;
    top: -110px;

    animation:
        orbitReverse
        21s
        linear
        infinite;
}


/* COPY */

.about-hero-copy {
    position: relative;

    z-index: 5;
}


.about-hero-copy h1 {
    max-width: 790px;

    margin:
        18px 0
        30px;

    font-size:
        clamp(
            58px,
            6.7vw,
            110px
        );

    line-height: .88;

    letter-spacing: -.075em;

    font-weight: 900;
}


.about-hero-copy h1 span {
    display: block;

    color:
        var(--purple);
}


.about-hero-description {
    max-width: 650px;

    margin:
        0;

    color:
        #666570;

    font-size:
        clamp(
            17px,
            1.6vw,
            21px
        );

    line-height: 1.6;
}


.about-hero-bigline {
    max-width: 620px;

    margin:
        24px 0 0;

    color:
        #85838e;

    font-size:
        14px;

    line-height: 1.6;
}


.about-hero-bigline strong {
    display: block;

    margin-top: 6px;

    color:
        var(--text);

    font-size:
        17px;
}


.about-hero-meta {
    display: flex;

    align-items: center;

    gap: 13px;

    margin-top: 32px;

    color:
        #9997a0;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .16em;
}


.about-hero-meta i {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        var(--purple);
}


/* FOKI */

.about-hero-foki {
    position: relative;

    z-index: 4;

    display: flex;

    align-items: center;
    justify-content: center;
}


.about-hero-foki
.foki-stage {
    width:
        min(
            510px,
            38vw
        );
}


/* HERO BOTTOM */

.about-hero-bottom {
    position: absolute;

    z-index: 8;

    left:
        clamp(30px,5vw,80px);

    right:
        clamp(30px,5vw,80px);

    bottom: 28px;

    display: flex;

    justify-content: space-between;

    align-items: center;

    color:
        #9a98a1;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .14em;
}


.about-scroll-link {
    display: flex;

    align-items: center;

    gap: 12px;
}


.about-scroll-link span {
    position: relative;

    width: 30px;
    height: 30px;

    border:
        1px solid
        rgba(20,20,25,.12);

    border-radius: 50%;
}


.about-scroll-link span::after {
    content: "";

    position: absolute;

    width: 5px;
    height: 5px;

    left: 50%;
    top: 9px;

    border-right:
        1px solid;

    border-bottom:
        1px solid;

    transform:
        translateX(-50%)
        rotate(45deg);
}


/* =========================================================
EDITORIAL
========================================================= */

.about-editorial-grid {
    display: grid;

    grid-template-columns:
        1.08fr
        .92fr;

    gap:
        clamp(50px,8vw,130px);

    align-items: start;
}


.about-editorial-left h2 {
    margin:
        14px 0
        0;

    font-size:
        clamp(
            52px,
            7vw,
            104px
        );

    line-height: .91;

    letter-spacing: -.068em;
}


.about-editorial-left h2 span {
    display: block;

    color:
        var(--purple);
}


.about-editorial-right {
    padding-top: 30px;
}


.about-editorial-right > p {
    margin:
        0 0
        32px;

    color:
        var(--muted);

    font-size:
        19px;

    line-height: 1.65;
}


.about-paid-list {
    border-top:
        1px solid
        var(--line);
}


.about-paid-list > div {
    display: grid;

    grid-template-columns:
        50px
        1fr;

    gap: 10px;

    padding:
        19px 0;

    border-bottom:
        1px solid
        var(--line);

    font-size:
        16px;

    font-weight: 700;
}


.about-paid-list span {
    color:
        var(--purple);

    font-size: 9px;

    letter-spacing: .12em;
}


.about-editorial-emphasis {
    color:
        var(--text)
        !important;

    font-size:
        28px
        !important;

    font-weight: 850;

    letter-spacing: -.04em;
}


/* =========================================================
BIG MESSAGE
========================================================= */

.about-big-message {
    width:
        min(
            calc(100% - 48px),
            var(--page)
        );

    margin:
        20px auto
        120px;
}


.about-big-message-inner {
    position: relative;

    overflow: hidden;

    min-height: 630px;

    padding:
        70px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    border-radius: 48px;

    background:
        #15131b;

    color: #fff;
}


.about-big-message p {
    position: relative;

    z-index: 3;

    max-width: 700px;

    margin:
        28px 0;

    color:
        rgba(255,255,255,.48);

    font-size:
        clamp(
            20px,
            3vw,
            34px
        );

    line-height: 1.4;
}


.about-big-message h2 {
    position: relative;

    z-index: 3;

    margin: 0;

    font-size:
        clamp(
            65px,
            10vw,
            150px
        );

    line-height: .82;

    letter-spacing: -.075em;
}


.about-big-message h2 span {
    color:
        #a990ff;
}


.about-message-svg {
    position: absolute;

    right: -5%;
    bottom: -5%;

    width: 80%;

    pointer-events: none;
}


.about-message-svg path {
    stroke:
        rgba(165,143,255,.32);
}


/* =========================================================
FOKI EXTRA
========================================================= */

.about-foki-ring {
    position: absolute;

    border:
        1px solid
        rgba(165,143,255,.15);

    border-radius: 50%;

    pointer-events: none;
}


.about-foki-ring-a {
    width: 500px;
    height: 500px;

    animation:
        orbit
        28s linear
        infinite;
}


.about-foki-ring-b {
    width: 350px;
    height: 350px;

    animation:
        orbitReverse
        20s linear
        infinite;
}


/* =========================================================
CODE CARD
========================================================= */

.about-code-card {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 60px;

    align-items: center;

    min-height: 620px;

    padding:
        70px;

    overflow: hidden;

    border:
        1px solid
        var(--line);

    border-radius: 46px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.82),
            rgba(255,255,255,.35)
        );

    box-shadow:
        0 35px 100px
        rgba(50,35,100,.07);
}


.about-code-copy h2 {
    margin:
        14px 0
        26px;

    font-size:
        clamp(
            48px,
            6vw,
            90px
        );

    line-height: .92;

    letter-spacing: -.065em;
}


.about-code-copy h2 span {
    display: block;

    color:
        var(--purple);
}


.about-code-copy p {
    max-width: 520px;

    color:
        var(--muted);

    font-size: 18px;

    line-height: 1.55;
}


.about-code-visual {
    display: flex;

    justify-content: center;
}


.about-code-window {
    width:
        min(
            100%,
            480px
        );

    min-height: 420px;

    padding: 25px;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius: 30px;

    background:
        #111016;

    box-shadow:
        0 40px 90px
        rgba(25,15,70,.22);

    transform:
        rotate(2deg);

    transition:
        transform .6s
        cubic-bezier(.16,1,.3,1);
}


.about-code-card:hover
.about-code-window {
    transform:
        rotate(0)
        translateY(-8px);
}


.about-code-dots {
    display: flex;

    gap: 7px;

    margin-bottom: 40px;
}


.about-code-dots i {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background:
        rgba(255,255,255,.16);
}


.about-code-line {
    height: 12px;

    margin-bottom: 15px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            rgba(117,88,255,.85),
            rgba(165,143,255,.12)
        );

    transform-origin: left center;

    animation:
        codeGrow
        3.4s
        ease-in-out
        infinite
        alternate;
}


.line-a {
    width: 74%;
}


.line-b {
    width: 52%;

    animation-delay: .3s;
}


.line-c {
    width: 84%;

    animation-delay: .6s;
}


.line-d {
    width: 38%;

    animation-delay: .9s;
}


@keyframes codeGrow {

    from {
        transform:
            scaleX(.35);

        opacity: .45;
    }

    to {
        transform:
            scaleX(1);

        opacity: 1;
    }

}


.about-code-result {
    margin-top: 85px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 20px;

    color:
        rgba(255,255,255,.56);

    font-size: 11px;

    font-weight: 900;

    letter-spacing: .12em;
}


.about-code-result strong {
    color:
        #a990ff;

    font-size: 28px;

    animation:
        arrowMove
        1.8s
        ease-in-out
        infinite;
}


@keyframes arrowMove {

    50% {
        transform:
            translateX(8px);
    }

}


/* =========================================================
WORLD
========================================================= */

.about-world-card {
    position: relative;

    min-height: 700px;

    overflow: hidden;

    display: flex;

    align-items: center;

    padding:
        70px;

    border-radius: 48px;

    background:
        var(--purple);

    color: #fff;
}


.about-world-background {
    position: absolute;

    inset: 0;
}


.about-world-background svg {
    width: 100%;
    height: 100%;
}


.about-world-background path {
    stroke:
        rgba(255,255,255,.26);
}


.world-dot {
    position: absolute;

    z-index: 2;

    width: 9px;
    height: 9px;

    border-radius: 50%;

    background:
        white;

    box-shadow:
        0 0 30px
        rgba(255,255,255,.65);

    animation:
        worldPulse
        2.8s
        ease-in-out
        infinite;
}


.world-dot-a {
    left: 15%;
    top: 28%;
}


.world-dot-b {
    left: 34%;
    top: 57%;

    animation-delay: .5s;
}


.world-dot-c {
    left: 58%;
    top: 31%;

    animation-delay: 1s;
}


.world-dot-d {
    right: 18%;
    top: 64%;

    animation-delay: 1.5s;
}


.world-dot-e {
    right: 9%;
    top: 22%;

    animation-delay: 2s;
}


@keyframes worldPulse {

    50% {
        transform:
            scale(2.1);

        opacity: .5;
    }

}


.about-world-copy {
    position: relative;

    z-index: 4;

    max-width: 850px;
}


.about-world-copy
.section-label {
    color:
        rgba(255,255,255,.55);
}


.about-world-copy h2 {
    margin:
        15px 0
        30px;

    font-size:
        clamp(
            58px,
            8vw,
            118px
        );

    line-height: .88;

    letter-spacing: -.075em;
}


.about-world-copy h2 span {
    color:
        #d8d0ff;
}


.about-world-copy p {
    max-width: 620px;

    color:
        rgba(255,255,255,.67);

    font-size: 18px;

    line-height: 1.6;
}


/* =========================================================
VALUES
========================================================= */

.about-values {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    gap: 14px;
}


.about-value {
    min-height: 330px;

    padding: 30px;

    display: flex;

    flex-direction: column;

    border:
        1px solid
        var(--line);

    border-radius: 30px;

    background:
        rgba(255,255,255,.42);

    transition:
        transform .5s
        cubic-bezier(.16,1,.3,1),
        background .4s,
        box-shadow .4s;
}


.about-value:hover {
    transform:
        translateY(-8px);

    background:
        rgba(255,255,255,.78);

    box-shadow:
        0 30px 80px
        rgba(50,35,100,.08);
}


.about-value > span {
    color:
        var(--purple);

    font-size: 10px;

    font-weight: 900;

    letter-spacing: .12em;
}


.about-value h3 {
    max-width: 500px;

    margin:
        auto 0
        14px;

    font-size:
        clamp(
            28px,
            3.2vw,
            48px
        );

    line-height: 1;

    letter-spacing: -.05em;
}


.about-value p {
    margin: 0;

    color:
        var(--muted);

    line-height: 1.5;
}


/* =========================================================
RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .about-hero-shell,
    .about-editorial-grid,
    .about-code-card {
        grid-template-columns:
            1fr;
    }


    .about-hero-shell {
        padding-bottom:
            100px;
    }


    .about-hero-foki
    .foki-stage {
        width:
            min(
                520px,
                72vw
            );
    }


    .about-editorial-right {
        padding-top: 0;
    }


    .about-code-visual {
        margin-top: 10px;
    }

}


@media (max-width: 700px) {

    .about-page-hero {
        padding:
            80px 10px
            15px;
    }


    .about-hero-shell {
        min-height:
            calc(100svh - 100px);

        gap: 15px;

        padding:
            60px
            20px
            85px;

        border-radius:
            34px;
    }


    .about-hero-copy h1 {
        font-size:
            clamp(
                51px,
                15vw,
                76px
            );
    }


    .about-hero-description {
        font-size: 16px;
    }


    .about-hero-foki
    .foki-stage {
        width:
            min(
                390px,
                92vw
            );
    }


    .about-hero-grid-pattern {
        background-size:
            45px 45px;
    }


    .about-hero-orbit-b {
        display: none;
    }


    .about-hero-bottom {
        left: 20px;
        right: 20px;
        bottom: 20px;
    }


    .about-big-message {
        width:
            calc(100% - 24px);

        margin-bottom:
            85px;
    }


    .about-big-message-inner {
        min-height: 520px;

        padding:
            42px
            24px;

        border-radius: 34px;
    }


    .about-code-card {
        gap: 35px;

        padding:
            38px
            24px;

        border-radius: 32px;
    }


    .about-code-window {
        min-height: 340px;
    }


    .about-world-card {
        min-height: 620px;

        padding:
            45px
            25px;

        border-radius: 34px;
    }


    .about-values {
        grid-template-columns:
            1fr;
    }


    .about-value {
        min-height: 260px;
    }

}

/* =========================================================
POLICY PAGE
========================================================= */

.policy-hero {
    padding:
        115px
        24px
        35px;
}


.policy-hero-card {
    position: relative;

    width:
        min(
            100%,
            1380px
        );

    min-height: 650px;

    margin: 0 auto;

    overflow: hidden;

    display: flex;

    align-items: center;

    padding:
        clamp(
            45px,
            7vw,
            95px
        );

    border:
        1px solid
        rgba(20,20,25,.07);

    border-radius: 52px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f3f0fb 65%,
            #e9e2ff 100%
        );

    box-shadow:
        0 40px 120px
        rgba(53,36,118,.09);

    isolation: isolate;
}


.policy-hero-glow {
    position: absolute;

    width: 560px;
    height: 560px;

    right: -170px;
    top: -190px;

    border-radius: 50%;

    background:
        rgba(117,88,255,.18);

    filter: blur(30px);

    animation:
        policyGlow
        8s
        ease-in-out
        infinite
        alternate;
}


@keyframes policyGlow {

    from {
        transform:
            translate3d(0,0,0)
            scale(.95);
    }

    to {
        transform:
            translate3d(-40px,35px,0)
            scale(1.1);
    }

}


.policy-hero-art {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;
}


.policy-hero-art path {
    fill: none;

    stroke:
        rgba(117,88,255,.22);

    stroke-width: 1.5;

    vector-effect:
        non-scaling-stroke;
}


.policy-hero-copy {
    position: relative;

    z-index: 3;

    max-width: 900px;
}


.policy-hero-copy h1 {
    margin:
        18px 0
        30px;

    font-size:
        clamp(
            62px,
            8vw,
            128px
        );

    line-height: .88;

    letter-spacing: -.075em;

    font-weight: 900;
}


.policy-hero-copy h1 span {
    display: block;

    color: var(--purple);
}


.policy-hero-text {
    max-width: 690px;

    margin: 0;

    color: var(--muted);

    font-size:
        clamp(
            17px,
            1.8vw,
            22px
        );

    line-height: 1.65;
}


.policy-hero-meta {
    margin-top: 38px;

    display: flex;

    align-items: center;

    gap: 14px;

    font-size: 10px;

    letter-spacing: .13em;

    font-weight: 900;

    color: #9b98a4;
}


.policy-hero-meta strong {
    color: var(--text);
}


/* INTRO */

.policy-intro {
    max-width: 980px;
}


.policy-intro h2 {
    margin:
        15px 0
        30px;

    font-size:
        clamp(
            48px,
            7vw,
            96px
        );

    line-height: .94;

    letter-spacing: -.065em;
}


.policy-intro p {
    max-width: 760px;

    color: var(--muted);

    font-size: 19px;

    line-height: 1.7;
}


/* LAYOUT */

.policy-layout {
    display: grid;

    grid-template-columns:
        250px
        minmax(0,1fr);

    gap:
        clamp(
            45px,
            7vw,
            100px
        );
}


.policy-sidebar {
    position: relative;
}


.policy-sidebar-inner {
    position: sticky;

    top: 120px;

    display: flex;

    flex-direction: column;

    gap: 12px;

    padding:
        24px;

    border:
        1px solid
        var(--line);

    border-radius: 26px;

    background:
        rgba(255,255,255,.58);

    backdrop-filter:
        blur(18px);
}


.policy-sidebar-inner > span {
    margin-bottom: 7px;

    color: var(--purple);

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .14em;
}


.policy-sidebar a {
    color: #817f89;

    font-size: 13px;

    line-height: 1.4;

    transition:
        color .25s ease,
        transform .25s ease;
}


.policy-sidebar a:hover {
    color: var(--purple);

    transform:
        translateX(4px);
}


/* BLOCKS */

.policy-content {
    min-width: 0;
}


.policy-block {
    position: relative;

    padding:
        0 0
        70px;

    margin-bottom: 70px;

    border-bottom:
        1px solid
        var(--line);
}


.policy-block:last-child {
    margin-bottom: 0;
}


.policy-number {
    margin-bottom: 16px;

    color: var(--purple);

    font-size: 10px;

    font-weight: 900;

    letter-spacing: .14em;
}


.policy-block h2 {
    max-width: 850px;

    margin:
        0 0
        28px;

    font-size:
        clamp(
            36px,
            5vw,
            66px
        );

    line-height: .98;

    letter-spacing: -.055em;
}


.policy-block p {
    max-width: 820px;

    margin:
        0 0
        22px;

    color: #74727d;

    font-size: 17px;

    line-height: 1.72;
}


.policy-block ul {
    max-width: 820px;

    margin:
        25px 0
        30px;

    padding: 0;

    list-style: none;

    border-top:
        1px solid
        var(--line);
}


.policy-block li {
    position: relative;

    padding:
        16px 20px
        16px 30px;

    border-bottom:
        1px solid
        var(--line);

    color: #55535e;

    font-size: 15px;

    line-height: 1.5;
}


.policy-block li::before {
    content: "";

    position: absolute;

    left: 4px;
    top: 23px;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--purple);
}


.policy-callout {
    max-width: 820px;

    margin:
        30px 0;

    padding:
        24px 26px;

    border:
        1px solid
        rgba(117,88,255,.18);

    border-radius: 22px;

    background:
        rgba(117,88,255,.07);

    color: #4e475d;

    font-size: 16px;

    line-height: 1.65;
}


.policy-block-danger h2 {
    color: #3b1831;
}


.policy-callout-danger {
    border-color:
        rgba(180,60,100,.20);

    background:
        rgba(180,60,100,.07);
}


/* RESPONSIVE */

@media (max-width: 980px) {

    .policy-layout {
        grid-template-columns: 1fr;
    }


    .policy-sidebar {
        display: none;
    }

}


@media (max-width: 700px) {

    .policy-hero {
        padding:
            85px
            10px
            20px;
    }


    .policy-hero-card {
        min-height: 560px;

        padding:
            45px
            22px;

        border-radius: 34px;
    }


    .policy-hero-copy h1 {
        font-size:
            clamp(
                52px,
                15vw,
                76px
            );
    }


    .policy-intro h2 {
        font-size:
            46px;
    }


    .policy-block {
        padding-bottom: 45px;

        margin-bottom: 48px;
    }


    .policy-block h2 {
        font-size: 38px;
    }


    .policy-block p,
    .policy-callout {
        font-size: 15px;
    }

}


/* =========================================================
PARTNERS PAGE
========================================================= */

.partners-hero {
    padding:
        115px
        24px
        30px;
}


.partners-hero-shell {
    position: relative;

    width:
        min(
            100%,
            1380px
        );

    min-height:
        calc(100svh - 145px);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        1.05fr
        .95fr;

    align-items: center;

    gap: 50px;

    overflow: hidden;

    padding:
        80px
        clamp(35px,6vw,90px)
        75px;

    border:
        1px solid
        rgba(20,20,25,.07);

    border-radius: 52px;

    background:
        linear-gradient(
            135deg,
            #fff 0%,
            #f6f4fb 55%,
            #ebe6ff 100%
        );

    box-shadow:
        0 40px 120px
        rgba(53,36,118,.09);

    isolation: isolate;
}


/* GLOW */

.partners-glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(40px);

    opacity: .5;

    pointer-events: none;

    animation:
        partnersGlow
        9s ease-in-out
        infinite alternate;
}


.partners-glow-one {
    width: 550px;
    height: 550px;

    right: -180px;
    top: -190px;

    background:
        rgba(117,88,255,.22);
}


.partners-glow-two {
    width: 330px;
    height: 330px;

    left: 30%;
    bottom: -190px;

    background:
        rgba(170,145,255,.18);

    animation-delay: 1.8s;
}


@keyframes partnersGlow {

    to {
        transform:
            translate3d(
                -40px,
                30px,
                0
            )
            scale(1.13);
    }

}


/* GRID */

.partners-grid-bg {
    position: absolute;

    inset: 0;

    opacity: .18;

    background-image:
        linear-gradient(
            rgba(117,88,255,.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(117,88,255,.08) 1px,
            transparent 1px
        );

    background-size:
        70px 70px;

    pointer-events: none;
}


/* DRAWING */

.partners-hero-art {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;
}


.partners-hero-line {
    fill: none;

    stroke:
        rgba(117,88,255,.2);

    stroke-width: 1.3;

    vector-effect:
        non-scaling-stroke;

    stroke-dasharray: 2200;
    stroke-dashoffset: 2200;

    animation:
        partnersDraw
        4s
        cubic-bezier(.16,1,.3,1)
        forwards;
}


.partners-line-one {
    animation-delay: .35s;
}


.partners-line-two {
    animation-delay: .9s;
}


@keyframes partnersDraw {

    to {
        stroke-dashoffset: 0;
    }

}


/* HERO COPY */

.partners-hero-copy {
    position: relative;

    z-index: 5;
}


.partners-hero-copy h1 {
    margin:
        18px 0
        30px;

    font-size:
        clamp(
            65px,
            7.5vw,
            120px
        );

    line-height: .86;

    letter-spacing: -.075em;

    font-weight: 900;
}


.partners-hero-copy h1 span {
    display: block;

    color:
        var(--purple);
}


.partners-hero-description {
    max-width: 660px;

    margin: 0;

    color:
        #62616b;

    font-size:
        clamp(
            18px,
            1.8vw,
            22px
        );

    line-height: 1.6;
}


.partners-hero-note {
    max-width: 620px;

    margin:
        22px 0
        0;

    color:
        #94919c;

    font-size: 14px;

    line-height: 1.65;
}


.partners-hero-meta {
    margin-top: 35px;

    display: flex;

    align-items: center;

    gap: 12px;

    color: #95929d;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .13em;
}


.partners-hero-meta i {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background:
        var(--purple);
}


/* HERO VISUAL */

.partners-hero-visual {
    position: relative;

    z-index: 4;

    display: flex;

    align-items: center;

    justify-content: center;
}


.partners-core {
    position: relative;

    width:
        min(
            500px,
            38vw
        );

    aspect-ratio: 1;
}


.partners-core-circle {
    position: absolute;

    inset: 18%;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #17151e,
            #29233e
        );

    box-shadow:
        0 40px 100px
        rgba(80,50,180,.24);

    animation:
        partnersCoreFloat
        5s
        ease-in-out
        infinite;
}


@keyframes partnersCoreFloat {

    50% {
        transform:
            translateY(-12px);
    }

}


.partners-center {
    position: absolute;

    inset: 0;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    color: #fff;
}


.partners-center span {
    font-size:
        clamp(
            44px,
            6vw,
            78px
        );

    font-weight: 900;

    letter-spacing: -.07em;
}


.partners-center strong {
    color:
        #a78fff;

    font-size: 11px;

    letter-spacing: .35em;
}


.partners-orbit {
    position: absolute;

    border:
        1px solid
        rgba(117,88,255,.25);

    border-radius: 50%;
}


.partners-orbit::after {
    content: "";

    position: absolute;

    width: 9px;
    height: 9px;

    top: -5px;
    left: 50%;

    border-radius: 50%;

    background:
        var(--purple);

    box-shadow:
        0 0 25px
        rgba(117,88,255,.75);
}


.partners-orbit-one {
    inset: 4%;

    animation:
        orbit
        24s linear
        infinite;
}


.partners-orbit-two {
    inset: 11%;

    animation:
        orbitReverse
        17s linear
        infinite;
}


.partners-floating {
    position: absolute;

    z-index: 6;

    padding:
        10px 14px;

    border:
        1px solid
        rgba(117,88,255,.14);

    border-radius: 999px;

    background:
        rgba(255,255,255,.78);

    backdrop-filter:
        blur(15px);

    box-shadow:
        0 15px 40px
        rgba(50,35,100,.08);

    color:
        #5e5969;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .13em;

    animation:
        partnerTag
        4s ease-in-out
        infinite;
}


.partners-floating-one {
    top: 7%;
    left: 11%;
}


.partners-floating-two {
    top: 23%;
    right: 0;

    animation-delay: .8s;
}


.partners-floating-three {
    bottom: 11%;
    right: 9%;

    animation-delay: 1.5s;
}


.partners-floating-four {
    bottom: 22%;
    left: 0;

    animation-delay: 2.2s;
}


@keyframes partnerTag {

    50% {
        transform:
            translateY(-10px);
    }

}


/* HERO BOTTOM */

.partners-hero-bottom {
    position: absolute;

    z-index: 6;

    left:
        clamp(35px,6vw,90px);

    right:
        clamp(35px,6vw,90px);

    bottom: 28px;

    display: flex;

    justify-content: space-between;

    color:
        #9996a2;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .14em;
}


/* =========================================================
INTRO
========================================================= */

.partners-intro {
    display: grid;

    grid-template-columns:
        1.05fr
        .95fr;

    gap:
        clamp(
            55px,
            8vw,
            130px
        );
}


.partners-intro-title h2 {
    margin:
        15px 0
        0;

    font-size:
        clamp(
            50px,
            7vw,
            100px
        );

    line-height: .91;

    letter-spacing: -.07em;
}


.partners-intro-title h2 span {
    display: block;

    color:
        var(--purple);
}


.partners-intro-copy {
    padding-top: 30px;
}


.partners-intro-copy p {
    margin:
        0 0
        25px;

    color:
        var(--muted);

    font-size: 18px;

    line-height: 1.7;
}


.partners-intro-copy
.partners-emphasis {
    color:
        var(--text);

    font-size: 24px;

    font-weight: 750;

    letter-spacing: -.03em;
}


/* =========================================================
CAPABILITIES
========================================================= */

.partners-capabilities {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    gap: 14px;
}


.partners-capability {
    min-height: 360px;

    padding: 32px;

    display: flex;

    flex-direction: column;

    border:
        1px solid
        var(--line);

    border-radius: 30px;

    background:
        rgba(255,255,255,.44);

    transition:
        transform .5s
        cubic-bezier(.16,1,.3,1),
        background .4s,
        box-shadow .4s;
}


.partners-capability:hover {
    transform:
        translateY(-8px);

    background:
        rgba(255,255,255,.82);

    box-shadow:
        0 30px 80px
        rgba(50,35,100,.08);
}


.partners-capability > span {
    color:
        var(--purple);

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .14em;
}


.partners-capability h3 {
    margin:
        auto 0
        16px;

    font-size:
        clamp(
            31px,
            4vw,
            54px
        );

    letter-spacing: -.055em;
}


.partners-capability p {
    max-width: 560px;

    margin: 0;

    color:
        var(--muted);

    line-height: 1.6;
}


/* =========================================================
CASES
========================================================= */

.partners-case-card {
    position: relative;

    min-height: 690px;

    overflow: hidden;

    display: flex;

    align-items: center;

    padding:
        clamp(
            40px,
            7vw,
            90px
        );

    border-radius: 48px;

    background:
        #121118;

    color: #fff;
}


.partners-case-background {
    position: absolute;

    inset: 0;
}


.partners-case-background svg {
    width: 100%;
    height: 100%;
}


.partners-case-background path {
    stroke:
        rgba(154,126,255,.3);
}


.partners-case-orbit {
    position: absolute;

    width: 600px;
    height: 600px;

    right: -100px;
    top: -220px;

    border:
        1px solid
        rgba(154,126,255,.15);

    border-radius: 50%;

    animation:
        orbit
        30s linear
        infinite;
}


.partners-case-copy {
    position: relative;

    z-index: 3;

    max-width: 900px;
}


.partners-case-copy
.section-label {
    color:
        #a990ff;
}


.partners-case-copy h2 {
    margin:
        17px 0
        30px;

    font-size:
        clamp(
            55px,
            8vw,
            110px
        );

    line-height: .88;

    letter-spacing: -.075em;
}


.partners-case-copy h2 span {
    display: block;

    color:
        #a990ff;
}


.partners-case-copy p {
    max-width: 650px;

    color:
        rgba(255,255,255,.58);

    font-size: 18px;

    line-height: 1.65;
}


/* =========================================================
GLOBAL
========================================================= */

.partners-global {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 70px;

    align-items: center;
}


.partners-global-copy h2 {
    margin:
        15px 0
        30px;

    font-size:
        clamp(
            55px,
            7vw,
            105px
        );

    line-height: .9;

    letter-spacing: -.07em;
}


.partners-global-copy h2 span {
    color:
        var(--purple);
}


.partners-global-copy p {
    max-width: 600px;

    color:
        var(--muted);

    font-size: 18px;

    line-height: 1.65;
}


/* MAP */

.partners-global-map {
    position: relative;

    min-height: 560px;
}


.global-circle {
    position: absolute;

    width: 430px;
    height: 430px;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    border:
        1px solid
        rgba(117,88,255,.18);

    border-radius: 50%;

    box-shadow:
        inset 0 0 80px
        rgba(117,88,255,.05);
}


.partners-global-map > strong {
    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%,-50%);

    color:
        rgba(117,88,255,.14);

    font-size:
        clamp(
            55px,
            8vw,
            105px
        );

    letter-spacing: -.06em;
}


.global-point {
    position: absolute;

    z-index: 3;

    padding:
        9px 12px;

    border-radius: 999px;

    background:
        var(--purple);

    color: #fff;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .12em;

    box-shadow:
        0 10px 30px
        rgba(117,88,255,.2);

    animation:
        globalPulse
        3s ease-in-out
        infinite;
}


.point-one {
    left: 25%;
    top: 24%;
}


.point-two {
    right: 22%;
    top: 34%;

    animation-delay: .8s;
}


.point-three {
    left: 18%;
    bottom: 25%;

    animation-delay: 1.5s;
}


.point-four {
    right: 20%;
    bottom: 17%;

    animation-delay: 2.1s;
}


@keyframes globalPulse {

    50% {
        transform:
            translateY(-7px);

        box-shadow:
            0 18px 40px
            rgba(117,88,255,.32);
    }

}


/* =========================================================
SOCIAL
========================================================= */

.partners-social {
    padding:
        clamp(
            40px,
            7vw,
            80px
        );

    border:
        1px solid
        rgba(117,88,255,.11);

    border-radius: 48px;

    background:
        linear-gradient(
            145deg,
            rgba(117,88,255,.07),
            rgba(255,255,255,.7)
        );
}


.partners-social-top {
    display: flex;

    justify-content: space-between;

    gap: 20px;
}


.partners-social-top > span {
    color:
        #9995a1;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .14em;
}


.partners-social > h2 {
    max-width: 950px;

    margin:
        30px 0
        60px;

    font-size:
        clamp(
            52px,
            7vw,
            100px
        );

    line-height: .9;

    letter-spacing: -.07em;
}


.partners-social > h2 span {
    display: block;

    color:
        var(--purple);
}


.partners-social-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap: 15px;
}


.partners-social-grid > div {
    padding:
        25px 0;

    border-top:
        1px solid
        var(--line);
}


.partners-social-grid h3 {
    margin:
        0 0
        15px;

    font-size: 22px;

    letter-spacing: -.035em;
}


.partners-social-grid p {
    margin: 0;

    color:
        var(--muted);

    line-height: 1.6;
}


.partners-social-message {
    margin-top: 55px;

    max-width: 850px;

    font-size:
        clamp(
            26px,
            4vw,
            48px
        );

    line-height: 1.1;

    letter-spacing: -.045em;
}


.partners-social-message strong {
    color:
        var(--purple);
}


/* =========================================================
COOPERATION TYPES
========================================================= */

.partners-types {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap: 12px;
}


.partners-type {
    min-height: 290px;

    padding: 28px;

    display: flex;

    flex-direction: column;

    border:
        1px solid
        var(--line);

    border-radius: 28px;

    background:
        rgba(255,255,255,.45);

    transition:
        .45s
        cubic-bezier(.16,1,.3,1);
}


.partners-type:hover {
    transform:
        translateY(-7px);

    background:
        #fff;

    box-shadow:
        0 25px 70px
        rgba(50,35,100,.07);
}


.partners-type > span {
    color:
        var(--purple);

    font-size: 10px;

    font-weight: 900;
}


.partners-type h3 {
    margin:
        auto 0
        12px;

    font-size: 30px;

    letter-spacing: -.045em;
}


.partners-type p {
    margin: 0;

    color:
        var(--muted);

    line-height: 1.55;
}


/* =========================================================
OPEN CARD
========================================================= */

.partners-open-card {
    display: grid;

    grid-template-columns:
        .65fr
        1.35fr;

    align-items: center;

    min-height: 600px;

    overflow: hidden;

    border-radius: 48px;

    background:
        #f1eef9;
}


.partners-open-index {
    display: flex;

    justify-content: center;

    color:
        rgba(117,88,255,.16);

    font-size:
        clamp(
            180px,
            25vw,
            400px
        );

    font-weight: 950;

    letter-spacing: -.12em;

    line-height: .7;
}


.partners-open-copy {
    padding:
        60px;
}


.partners-open-copy h2 {
    margin:
        15px 0
        25px;

    font-size:
        clamp(
            50px,
            6vw,
            90px
        );

    line-height: .91;

    letter-spacing: -.07em;
}


.partners-open-copy h2 span {
    display: block;

    color:
        var(--purple);
}


.partners-open-copy p {
    max-width: 620px;

    color:
        var(--muted);

    font-size: 17px;

    line-height: 1.65;
}


/* =========================================================
RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .partners-hero-shell,
    .partners-intro,
    .partners-global,
    .partners-open-card {
        grid-template-columns: 1fr;
    }


    .partners-hero-visual {
        margin-top: 20px;
    }


    .partners-core {
        width:
            min(
                480px,
                70vw
            );
    }


    .partners-social-grid,
    .partners-types {
        grid-template-columns:
            1fr 1fr;
    }


    .partners-open-index {
        padding-top: 50px;
    }

}


@media (max-width: 700px) {

    .partners-hero {
        padding:
            85px
            10px
            20px;
    }


    .partners-hero-shell {
        min-height:
            calc(100svh - 105px);

        padding:
            55px
            21px
            85px;

        border-radius: 34px;
    }


    .partners-hero-copy h1 {
        font-size:
            clamp(
                54px,
                16vw,
                78px
            );
    }


    .partners-core {
        width:
            min(
                350px,
                90vw
            );
    }


    .partners-hero-bottom {
        left: 20px;
        right: 20px;
    }


    .partners-capabilities,
    .partners-social-grid,
    .partners-types {
        grid-template-columns: 1fr;
    }


    .partners-capability {
        min-height: 280px;
    }


    .partners-case-card {
        min-height: 610px;

        padding:
            42px
            24px;

        border-radius: 34px;
    }


    .partners-global-map {
        min-height: 420px;
    }


    .global-circle {
        width: 320px;
        height: 320px;
    }


    .partners-social {
        padding:
            38px
            24px;

        border-radius: 34px;
    }


    .partners-open-card {
        border-radius: 34px;
    }


    .partners-open-copy {
        padding:
            25px
            24px
            50px;
    }

}