@import url("https://fonts.googleapis.com/css2?family=Lexend:wght@100;200;300;400;500;600;700;800;900&display=swap");


* {
    box-sizing: border-box;
}



html {
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100%;
}




body {
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100vh;

    font-family: "Lexend", sans-serif;

    overflow-x: hidden;

    display: flex;
    flex-direction: column;
}


/*loading screen styles*/

#loading-screen {
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 100vh;

    background-color: white;

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

    z-index: 9999;

    opacity: 1;
    visibility: visible;

    transition:
        opacity 0.5s ease,
        visibility 0.5s ease;
}


/* Hide loading screen */
#loading-screen.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}


/*content*/

#website-content {
    width: 100%;
    min-height: 100vh;

    display: flex;
    flex-direction: column;

    opacity: 0;
    visibility: hidden;

    transition: opacity 0.5s ease;
}


/* Show website */
#website-content.visible {
    opacity: 1;
    visibility: visible;
}


/* header*/

header {
    width: 100%;
    flex-shrink: 0;
}


/* top box*/

.box {
    background-color: black;
    height: 100px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}


/*logo*/
#myImage {
    width: 100px;
    height: auto;
    margin: 0;
}


/* second image if used */
#myImage2 {
    width: 250px;
    height: auto;
    margin: 0;
}


/* main content*/

main {
    width: 100%;

    text-align: center;
    /* pushes footer to bottom */
    flex: 1;
}


/* main image*/

#camI {
    display: block;
    width: 90%;
    max-width: 600px;
    height: auto;
    border-radius: 25px;
    margin: 50px auto 0;
}


/* typewriter container */

.typewriter {
    display: flex;
    justify-content: center;
    margin-top: 0;
}


/* heading*/

h1 {
    width: 100%;
    font-weight: 500;
    text-align: center;
    margin: 30px auto 0;
    padding: 0 20px;
    font-size: clamp(20px, 5vw, 40px);
    animation: fadeIn 1.5s ease-out forwards;
}


/* fade in animation*/

@keyframes fadeIn {

    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* slogan*/

#slogan {
    width: 100%;
    font-size: 18px;
    text-align: center;
    margin: 10px auto 0;
    padding: 0 20px;
}


/* view stocks btn */

#stk-button {
    display: block;
    background-color: #030404;
    color: white;
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    margin: 20px auto 0;
    border-radius: 30px;
    font-weight: 570;
    width: 200px;
    text-decoration: none;
}


/* =========================================
   BUTTON HOVER
   ========================================= */

#stk-button:hover {
    background-color: #dce4ec;
    color: black;
    border-radius: 30px;
    font-weight: 570;
}


/* =========================================
   FOOTER
   ========================================= */

#ctm-footer {
    background-color: #030404;

    color: white;

    text-align: center;

    padding: 20px;

    font-size: 14px;

    width: 100%;

    /* Keeps footer at bottom */
    margin-top: auto;

    /* Prevents shrinking */
    flex-shrink: 0;
}


/* Footer paragraph */
#ctm-footer p {
    margin: 0;
}


/* =========================================
   LOADING / TYPING INDICATOR
   ========================================= */

.typing-indicator {
    width: 60px;
    height: 30px;

    position: relative;

    z-index: 4;
}


/* =========================================
   TYPING CIRCLES
   ========================================= */

.typing-circle {
    width: 8px;
    height: 8px;

    position: absolute;

    border-radius: 50%;

    background-color: #000;

    left: 15%;

    transform-origin: 50%;

    animation:
        typing-circle7124
        0.5s
        alternate
        infinite
        ease;
}


/* Circle animation */
@keyframes typing-circle7124 {

    0% {
        top: 20px;

        height: 5px;

        border-radius:
            50px
            50px
            25px
            25px;

        transform: scaleX(1.7);
    }

    40% {
        height: 8px;

        border-radius: 50%;

        transform: scaleX(1);
    }

    100% {
        top: 0%;
    }

}


/* Circle 2 */
.typing-circle:nth-child(2) {
    left: 45%;

    animation-delay: 0.2s;
}


/* Circle 3 */
.typing-circle:nth-child(3) {
    left: auto;

    right: 15%;

    animation-delay: 0.3s;
}


/* =========================================
   TYPING SHADOW
   ========================================= */

.typing-shadow {
    width: 5px;
    height: 4px;

    border-radius: 50%;

    background-color: rgba(0, 0, 0, 0.2);

    position: absolute;

    top: 30px;

    transform-origin: 50%;

    z-index: 3;

    left: 15%;

    filter: blur(1px);

    animation:
        typing-shadow046
        0.5s
        alternate
        infinite
        ease;
}


/* Shadow animation */
@keyframes typing-shadow046 {

    0% {
        transform: scaleX(1.5);
    }

    40% {
        transform: scaleX(1);

        opacity: 0.7;
    }

    100% {
        transform: scaleX(0.2);

        opacity: 0.4;
    }

}


/* Shadow 2 */
.typing-shadow:nth-child(4) {
    left: 45%;

    animation-delay: 0.2s;
}


/* Shadow 3 */
.typing-shadow:nth-child(5) {
    left: auto;

    right: 15%;

    animation-delay: 0.3s;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 768px) {

    .box {
        height: 90px;

        padding: 0 15px;
    }


    #myImage {
        width: 85px;
    }


    #myImage2 {
        width: 200px;
    }


    #camI {
        width: 90%;

        margin-top: 40px;
    }


    h1 {
        margin-top: 25px;
    }


    #slogan {
        margin-top: 10px;

        font-size: 18px;
    }


    #stk-button {
        margin: 20px auto 0;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 480px) {

    .box {
        height: 80px;

        padding: 0 10px;
    }


    #myImage {
        width: 75px;
    }


    #myImage2 {
        width: 140px;
    }


    #camI {
        width: 90%;

        margin-top: 40px;

        border-radius: 20px;
    }


    h1 {
        margin: 20px auto 0;

        padding: 0 15px;

        font-size: 26px;
    }


    #slogan {
        width: 100%;

        margin: 10px auto 0;

        padding: 0 15px;

        font-size: 18px;

        text-align: center;
    }


    #stk-button {
        margin: 20px auto 0;

        padding: 10px 20px;

        font-size: 16px;
    }


    #ctm-footer {
        padding: 18px 15px;

        font-size: 13px;
    }

}
/* TAKT CONNECT homepage additions — original black header retained */
.box{align-items:center}
.box>a{display:flex;align-items:center}
.home-nav{display:flex;align-items:center;gap:22px}
.home-nav a{color:#fff;text-decoration:none;font-size:13px;font-weight:500;transition:opacity .2s ease}
.home-nav a:hover{opacity:.7}
.home-nav .nav-connect{background:#fff;color:#030404;padding:11px 19px;border-radius:999px;font-weight:700}
.hero-home{width:min(1160px,92%);margin:0 auto;padding:64px 0 76px;display:grid;grid-template-columns:1fr .9fr;gap:56px;align-items:center;text-align:left}
.hero-copy{max-width:680px}.kicker{font-size:11px;letter-spacing:.18em;font-weight:800;color:#737980;margin:0 0 15px}.hero-copy h1{margin:0;padding:0;text-align:left;font-size:clamp(36px,5.2vw,64px);line-height:1.04;letter-spacing:-.045em}.hero-copy h1 span{display:block}.hero-description{max-width:620px;color:#69727b;line-height:1.7;font-size:16px;margin:22px 0 0}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:25px}.hero-actions #stk-button{margin:0;width:auto;min-width:190px}.hero-actions #stk-button span{margin-left:18px}.learn-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid #d8dadd;border-radius:30px;text-decoration:none;color:#030404;font-size:12px;font-weight:700}.live-pill{display:inline-flex;align-items:center;margin-top:22px;font-size:11px;color:#626970}.live-pill span{width:7px;height:7px;background:#22a35a;border-radius:50%;margin-right:7px;box-shadow:0 0 0 5px #22a35a18}.hero-media{position:relative}.hero-media #camI{width:100%;max-width:none;margin:0;height:510px;object-fit:cover;border-radius:28px;display:block;box-shadow:0 25px 70px #00000018}.media-card{position:absolute;left:22px;right:22px;bottom:22px;background:#fff;border-radius:17px;padding:16px 18px;box-shadow:0 15px 35px #0002;text-align:left}.media-card strong{display:block;font-size:14px}.media-card span{display:block;color:#69727b;font-size:11px;margin-top:5px}.service-section,.how-section{width:min(1160px,92%);margin:0 auto;padding:76px 0}.service-section{border-top:1px solid #eceeef}.service-section h2,.how-section h2{font-size:38px;letter-spacing:-.04em;margin:0 0 32px;text-align:left}.service-grid,.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-grid article,.steps-grid article{border:1px solid #e4e6e8;border-radius:20px;padding:25px;text-align:left;background:#fff}.service-grid span{font-size:11px;color:#858a8f;font-weight:700}.service-grid h3{margin:24px 0 8px;font-size:18px}.service-grid p,.steps-grid p{margin:0;color:#6e757c;font-size:13px;line-height:1.6}.how-section{border-top:1px solid #eceeef}.steps-grid{grid-template-columns:repeat(3,1fr)}.steps-grid b{display:grid;place-items:center;width:34px;height:34px;background:#030404;color:#fff;border-radius:50%;font-size:11px}.steps-grid h3{font-size:18px;margin:22px 0 8px}#ctm-footer{width:100%;padding:25px max(4%,20px) 35px;border-top:1px solid #eceeef;display:flex;justify-content:space-between;gap:20px;align-items:center}#ctm-footer p{margin:0;font-size:11px;color:#777}#ctm-footer a{font-size:11px;color:#111;font-weight:700;text-decoration:none}
@media(max-width:850px){.home-nav a:not(.nav-connect){display:none}.hero-home{grid-template-columns:1fr;padding-top:42px;gap:35px}.hero-media #camI{height:390px}.service-grid{grid-template-columns:1fr 1fr}.steps-grid{grid-template-columns:1fr}.service-section,.how-section{padding:55px 0}.service-section h2,.how-section h2{font-size:30px}}
@media(max-width:520px){.box{height:82px;padding:0 16px}.home-nav{gap:8px}.home-nav .nav-connect{padding:10px 14px}.hero-copy h1{font-size:38px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions #stk-button,.learn-button{width:100%}.service-grid{grid-template-columns:1fr}#ctm-footer{flex-direction:column;align-items:flex-start}}
/* TAKT homepage marketplace panel - no external hero image */
.hero-panel{width:min(430px,100%);background:#080909;color:#fff;border:1px solid #252729;border-radius:24px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.18)}
.panel-top{font-size:11px;letter-spacing:.16em;font-weight:700;color:#aeb5bc}.panel-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#fff;margin-right:8px}.hero-panel h2{font-size:34px;line-height:1.05;margin:35px 0 12px;letter-spacing:-.03em}.hero-panel p{color:#b7bec5;line-height:1.65;font-size:14px}.panel-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0}.panel-row span{font-size:10px;letter-spacing:.15em;color:#858d95}.panel-row strong{font-size:14px}.panel-line{height:1px;background:#292c2e}

/* TAKT Admin navigation */
.home-nav .nav-admin {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid currentColor;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .04em;
}
