@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
  --bg-dark: #0d0d0f;
  --bg-card: #1a1a1f;
  --text-main: #e6e6e6;
  --text-muted: #9a9a9a;
  --accent: #00f0ff;
  --accent-glow: #00f5a0;
  --nav-h: 64.0px;
  --on-accent: #061017;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}

body {
    height: 100svh;
    background: var(--bg-dark);
    color: var(--text-main);
    padding-top: 0.0px;
}

.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64.0px;
    padding: 0 40.0px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    backdrop-filter: blur(11.2px) saturate(140%);
    -webkit-backdrop-filter: blur(11.2px) saturate(140%); /* Safari */
    /* use a more transparent, cool-tinted glass so content shows through */
    background: rgba(18, 24, 38, 0.42);
    /* subtle separation line & glow for “glass edge” */
    border-bottom: 0.8px solid rgba(255, 255, 255, 0.06);
    box-shadow:
        0 1.6px 14.4px rgba(0, 0, 0, 0.35),
        inset 0 0.8px 0 rgba(255, 255, 255, 0.06);
    z-index: 1000;

    /* ✅ new animation properties */
    transform: translateY(0);
    opacity: 1;
    transition: transform 0.4s ease, opacity 0.4s ease, background 0.3s ease;
}

.navbar h2 {
    color: var(--accent);
    font-weight: 600;
}

.navbar ul {
    display: flex;
    gap: 1.5rem;
}

.navbar ul li {
    list-style: none;
}

.navbar ul li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding: 0.75rem 0.75rem;
    color: #fff;
    font-size: 12.8px;
    transition: color 0.3s ease;
}

.navbar ul li a::after {
    content: "";
    position: absolute;
    height: 3.2px;
    width: 0;
    bottom: 0;
    left: 0;
    border-radius: 40.0px;
    background-color: var(--accent);
    box-shadow: 
        0 0 8.0px var(--accent),
        0 0 16.0px var(--accent);
    transition: width 0.3s ease;
}

.navbar ul li:hover a {
    color: var(--accent); 
}                 

.navbar ul li a:hover::after {
    width: 70%;
}

.hire-btn {
    background: linear-gradient(45deg, var(--accent), var(--accent-glow));
    padding: 4.8px 24.0px; /* top & bottom 4.8px, left & right 24.0px */
    color: #000;
    border: none;
    font-size: 12.8px;  
    cursor: pointer; /* when hovered, shows a hand pointer */
    border-radius: 4.8px; /* rounded corners */
    border: 1.6px solid rgba(255,255,255,.12);
    /* slower, smoother */
    transition:
        transform 0.45s ease,
        color 0.45s ease,
        border-color 0.45s ease,
        box-shadow 0.45s ease;
}

.hire-btn:hover {
  background: transparent;
  color: var(--text-main);
  border-color: var(--accent);
  transform: translateY(-1.6px);
  box-shadow: 0 4.8px 12.8px rgba(0,0,0,.3);
}

.main {
  position: relative;
  z-index: 2;              /* content always above canvas */
  text-align: center;
  padding: 0 16.0px;         /* only side padding */
}

#hero {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 100svh;       /* always full viewport height */
  display: flex;
  flex-direction: column;
  align-items: center;     /* horizontal centering */
  justify-content: center; /* vertical centering */
  overflow: hidden;        /* contain the canvas */
  margin-bottom: 80.0px;    /* gap before .guarantee */
}

#hero *{
  position: relative;  /* ADD THIS */
  z-index: 2;          /* sits above canvas */
}

.main h4 {
    font-size: 25.6px;
    color: #fff;
    font-weight: 600;
    animation: fadeInDownBig;
    animation-duration: 1s; 
    margin-top: 112.0px;
}

.main h4 span {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 4.8px;
    text-decoration-thickness: 2.4px;
}

.main p.title {
    font-size: 36.8px;
    font-weight: 600;
    color: var(--accent);
    text-shadow:
        0 0 0.8px var(--accent),
        0 0 12.8px var(--accent);
    margin-top: 6.4px;
    animation: flipInX;
    animation-duration: 1s;
}

.main p.subtitle {
    font-size: 12.8px;
    color: var(--text-muted);
    margin-top: 16.0px;
}

.main img {
    width: 200.0px;
    margin-top: 24.0px;
}

.main button {
    margin-top: 8.0px;
    width: 136.0px;
    height: 40.0px;
    border-radius: 32.0px;
    margin-bottom: 8.0px;
}

/* Adjusting where get started lands on after being clicked */
#guarantee { 
    scroll-margin-top: calc(var(--nav-h) - 80.0px); 
}

.guarantee {
    padding: 0 40.0px;
    display: flex;
    flex-wrap: nowrap;
    gap: 19.2px;
    margin-top: 48.0px;
    clear: both;
    scroll-margin-top: 40.0px; 
}

.guarantee .item {
    background: var(--bg-card);
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80.0px;
    width: 100%;
    padding: 0 24.0px;
    border-radius: 8.0px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 0.8px solid transparent;
}

.guarantee .item:hover {
    border-color: var(--accent);
}

.guarantee .item .icon {
    width: 36.8px;
    height: 36.8px;
    background: #000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, color 0.3s ease; 
    flex-shrink: 0;   /* stop shrinking */
    min-width: 36.8px;  /* lock size */
    min-height: 36.8px; /* lock size */
}

.guarantee .item:hover .icon {
    background-color: var(--accent);
    color: var(--on-accent);
}

.guarantee .item .icon i {
    font-size: 24.0px;
}

.guarantee .item .info {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.guarantee .item .info h3 {
    color: var(--accent);
    font-size: 22.4px;
}

.guarantee .item .info p {
    color: #fff;
    font-size: 12.0px;
    font-weight: 600;
}

.guarantee .item > i {
    color: #fff;
    font-size: 24.0px;
    transition: color 0.3s ease;
}

.guarantee .item:hover > i {
    color: var(--accent); 
}

.seprator {
    margin: 40.0px 40.0px 24.0px;
    padding: 8.0px 16.0px;
    background: rgba(255, 255, 255, 0.08);
    display: inline-block;
    color: var(--accent);
    border-radius: 9.6px;
}

.about {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 64.0px;
    padding: 0 40.0px;
}

.about img {
    width: 320.0px;
    padding: 40.0px 0;
}

.about .info h3{
    color: #fff;
    font-size: 25.6px;
    font-weight: 600;
    margin-bottom: 8.0px;
}

.about .info p {
    color: var(--text-muted);
    font-size: 11.2px;
    text-align: justify
}

.about .info button {
    margin-top: 24.0px;
}

.skills {
    display: flex;
    justify-content: space-around;
    padding: 40.0px 40.0px;
}

.skills .left {
    width: 544.0px;
}

.skills .left .info h3 {
    color: #fff;
    font-size: 24.0px;
    margin-bottom: 16.0px;
}

.skills .left .info p {
    color: var(--text-muted);
    font-size: 11.2px;
    text-align: justify;
}

.skills .left button {
    margin-top: 24.0px;
}

.skills .right {
    width: 336.0px; 
    height: 96.0px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9.6px;
}

.skills .right .item {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-card);
    width: 40.0px;
    height: 40.0px;
    border-radius: 8.0px;
    transition: all 0.3s ease;
}

.skills .right .item:hover {
    background: var(--accent);
    box-shadow: 0 0 8.0px var(--accent);
}

.skills .right .item i {
    font-size: 27.2px;
    color: #fff;
    transition: color 0.3s ease;
}

.skills .right .item:hover i {
  color: var(--on-accent); /* change icon colour */                    
}

.guarantee .item,
.skills .right .item,
footer {
  background: var(--bg-card);
}

footer {
    position: relative;
    background: var(--bg-card);
    padding: 64.0px 40.0px 32.0px;
    margin-top: 80.0px;
}

footer .start {
    display: flex;
    align-items: center;
    justify-content: space-around;
    position: absolute;
    background-color: var(--accent);
    padding: 24.0px 20.0px;
    border-radius: 12.0px;
    width: 70%;
    top: -16%;
    left: 15%;
}

footer .start p {
    color: var(--on-accent);
    font-size: 10.4px; 
    width: 35%;
}

footer .start h3 {
    color: var(--on-accent);
}

footer .start button {
    background: transparent;  
    border: 1.6px solid #000;
    cursor: pointer;
    padding: 6.4px 16.0px;
    border-radius: 80.0px;
    transition: all 0.3s ease;
}

footer .start button:hover {
    background-color: #fff;
    border-color: #fff;
}


footer .cols {
    display: flex;
    align-items: start;
    margin-top: 24.0px;
}


footer .cols .about-col {
    flex: 3;
}


footer .cols .about-col h3 {
    color: var(--accent);
    margin-bottom: 16.0px;
}

footer .cols .about-col p {
    color: var(--text-muted);
    font-size: 10.4px;
}

footer .cols .links-col {
    flex: 3;
}

footer .cols .links-col h4, footer .cols .news-col h4 {
    color: var(--accent);
    margin-bottom: 16.0px;
}

footer .cols .links-col a {
    display: block;
    text-decoration: none;
    color: var(--text-muted);
    font-size: 11.2px;
    line-height: 20.8px;
    transition: color 0.3s ease; 
}

footer .cols .links-col a:hover {
    color: var(--accent);
}

footer .cols .news-col {
    flex: 3;
}

footer .cols .news-col p {
    color: var(--text-muted);
    font-size: 12.0px;
}

footer .cols .news-col form {
    width: 100%;
    margin-top: 16.0px;
    position: relative;
}

footer .cols .news-col form input {
    width: 100%;
    background: var(--bg-dark);
    border: 1.6px solid transparent;
    padding: 10.4px;
    border-radius: 80.0px;
    font-weight: 400;
    font-size: 10.4px;
    height: 36.0px;
    font-family: "Poppins", sans-serif;   /* force same font */
    color: var(--text-muted);              /* same color */
    -webkit-text-fill-color: var(--text-muted); /* Safari fix */
    -webkit-font-smoothing: antialiased;  /* make rendering closer */
}

footer .cols .news-col form input:focus {
    outline: none;
    border: 1.6px solid var(--accent);
}

footer .cols .news-col form button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36.0px;
    height: 36.0px;
    background: var(--accent);
    border: none;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

footer .cols .news-col form button:hover {
    background-color: var(--text-muted);
}

footer .cols .news-col form button svg {
    width: 20.8px;
    height: 20.8px;
}

@media screen and (max-width: 880.0px) {
    .about {
        gap: 0.0px;
    }
}

@media screen and (max-width: 880.0px) {
    .guarantee {
        flex-wrap: wrap;
        gap: 20.0px;
        justify-content: center;
    }

    .guarantee .item {
        flex-basis: 49%;
        flex: 1 1 calc(50% - 20.0px); /* two items per row */
        max-width: calc(50% - 20.0px);
    }
    
    .about .info p {
        font-size: 9.6px;
    }

    .about .info h3 {
        font-size: 17.6px;
    }
    
    .skills {
        justify-content: space-between;
        gap: 16.0px;
    }

    .skills .left {
        width: 400.0px;
    }

    .skills .left .info h3 {
        font-size: 17.6px;
    }

    .skills .left .info p {
        font-size: 9.6px;
    }

    footer {
        margin-top: 120.0px;
    }

    footer .start {
        width: 90%;
        left: 5%;
        top: -12%;
    }

    footer .cols {
        flex-wrap: wrap;
        align-items: stretch;
        row-gap: 24.0px;  
    }

    footer .cols .about-col {
        flex-basis: 50%;
    }

    footer .cols .links-col {
        flex-basis: 50%;

    }

    footer .cols .news-col {
        flex-basis: 50%;
    }

}

@media screen and (max-width: 744.0px) {    
    
    .navbar button {
        display: none;
    }

    .main h4 {
        font-size: 19.2px;
    }

    .main p.title {
        font-size: 28.8px;
    }

    .main p.subtitle {
        font-size: 13px;
    }

    .guarantee {
        display: flex;
        flex-wrap: wrap;
        gap: 20.0px;
        justify-content: flex-start;
    }
    
    .guarantee .item {
        flex-basis: 100%;
        max-width: 100%;
    }

    .about {
        flex-wrap: wrap;
        justify-content: center;
    }

    .about .info {
        margin-top: 16.0px;
    }
}

@media screen and (max-width: 624.0px) {

    .navbar {
        justify-content: center;
    }

    .navbar h2 {
        display: none;
    }

    .main {
        justify-content: start;
    }

    .main h4 {
        font-size: 18.4px;
    }

    .main p.title {
        font-size: 22.4px;
    }

    .main p.subtitle {
        font-size: 13px;
    }

    .main img {
        width: 160.0px;
        height: 160.0px;
    }
    
    .guarantee {
        margin-top: 40.0px;
        display: flex;
        gap: 20.0px;
        min-height: 100svh;
        position: relative;
        padding: 160.0px 40.0px 160.0px;
    }

    .skills {
        flex-wrap: wrap;
        justify-content: center;
    }

    .skills .right {
        justify-content: space-between;
        position: relative;
        top: 28.0px;
    }

    .about .info h3 {
        font-size: 16.0px;
    }

    .skills .left .info h3 {
        font-size: 16.0px;
    }

    footer .start {
        top: -10%;
    }

    footer .start p {
        display: none;
    }

    footer .cols {
        position: relative;
        top: -12.0px;
    }
    
}

@media screen and (max-width: 448.0px) {
    
    .navbar ul {
        gap: 0.25rem;
    }
    
    .main h4 {
        font-size: 13.8px;
    }

    .main p.title {
        font-size: 17px;
    }

    .main p.subtitle {
        font-size: 12.2px;
        padding: 0 16.0px;
        text-align: center;
        line-height: 1.4;
    }

    .guarantee {
        margin-top: 48.0px;
    }
    
    .guarantee .item {
        padding: 0 12.0px;
    }
    
    .guarantee .item .info h3 {
        font-size: 17.6px;
    }
    
    .guarantee .item .info p {
        font-size: 11.2px;
        text-align: center;
    }
    
    .skills .right {
        justify-content: center;
        gap: 12.0px;
        margin-bottom: 40.0px;
    }
    
    footer .cols {
        flex-direction: column;
    }

    footer .cols > div {
        text-align: center;
    }

    footer .start {
        width: 85%;
        left: 7.5%;
        top: -6.5%;
    }

}

@media screen and (max-width: 320.0px) {

    .guarantee .item {
        padding: 0 8.0px;
    }
    
    .guarantee {
        padding: 0 28.0px;
    }
    
}


