body {
    background-color: white;
    margin: 0;
    font-family: sans-serif;
    scroll-behavior: smooth;
}

.topbox {
    height: 100vh;
    background-color: rgb(255, 255, 255);
    display: flex;
    align-items: center;
    justify-content: center;
}

header {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #3498db;
    color: white;
    text-align: center;
}

a {
    cursor: pointer;
    transition: background 0.3s ease;
}

/* From Uiverse.io by alexmaracinaru */ 
.cta {
  position: relative;
  margin: auto;
  padding: 12px 18px;
  transition: all 0.2s ease;
  border: none;
  background: none;
  cursor: pointer;
}

.cta:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  border-radius: 50px;
  background: #b1dae7;
  width: 45px;
  height: 45px;
  transition: all 0.3s ease;
}

.cta span {
  position: relative;
  font-family: "Ubuntu", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #234567;
}

.cta svg {
  position: relative;
  top: 0;
  margin-left: 10px;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #234567;
  stroke-width: 2;
  transform: translateX(-5px);
  transition: all 0.3s ease;
}

.cta:hover:before {
  width: 100%;
  background: #b1dae7;
}

.cta:hover svg {
  transform: translateX(0);
}

.cta:active {
  transform: scale(0.95);
}


.flextop {
    display: flex;
    justify-content: center;
    flex-direction: column;
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: x-large;
    color: #060016d1;
}

.flexbox {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.box {
    width: 18vw;
    height: 15vh;
    margin: 1%;
    padding: 1%;
    border-radius: 8px;
}
.boxheader{
    font-size: 18px;
}
.card {
    width: 20vw;
    height: 20vh;
    border-radius: 20px;
    background-color: rgb(248, 246, 255);
    position: relative;
    padding: 5px;
    transition: 0.5s ease-out;
    overflow: visible;
    margin: 5px;
    text-align: center;
    text-decoration: none;
    display: flex;
    justify-content: center;
    /* box-shadow: 0px 0px 1px 0px rgba(144,144,144,0.75);
    -webkit-box-shadow: 0px 0px 1px 0px rgba(144,144,144,0.75);
    -moz-box-shadow: 0px 0px 1px 0px rgba(144,144,144,0.75); */
      border: 1px solid transparent;
}

.card:hover {
    /* box-shadow: rgba(71, 74, 255, 0.356) 0px 7px 10px; */
  border-color: #111827;
  transform: translateY(-3px);
}

.card-details {
    color: black;
    height: 100%;
    width: 80%;
    display: grid;
    place-content: center;
    justify-items: center;
}

.btnimg {
    background-color: #ffffff55;
}

#target-section {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-left: 10%;
    margin-right: 10%;
}

.text-title {
    font-size: 1.5em;
    font-weight: bold;
}
.text-body{
    color: rgb(108, 108, 123);
}
/* Color Boxes */
.box1 {background-color: rgb(240, 238, 248); }
.box2 {background-color: rgb(240, 238, 248); }
.box3 {background-color: rgb(240, 238, 248); }
.box4 {background-color: rgb(240, 238, 248); }
.box5 {background-color: rgb(240, 238, 248); }
.box6 {background-color: rgb(240, 238, 248); }
.box7 {background-color: rgb(240, 238, 248); }

.toolsheader {
    margin-left: 5%;
}



@media screen and (max-width: 1024px) {
    .box, .card {
        width: 40vw;
        height: 20vh;
    }
    .text-title {
        font-size: 1.3em;
    }
}

@media screen and (max-width: 768px) {
    .box, .card {
        width: 80vw;
        height: auto;
    }
    .cta span {
        font-size: 16px;
    }
    .flextop {
        font-size: large;
        padding: 0 10px;
        text-align: center;
    }
    #target-section {
        margin: 5%;
    }
}

@media screen and (max-width: 480px) {
    .cta span {
        font-size: 14px;
    }
    .card {
        width: 90vw;
        height: auto;
    }
    .box {
        width: 90vw;
        height: auto;
    }
    .text-title {
        font-size: 1.2em;
    }
}

:root {
      --bg-page: #f0f0f7;
      --panel-bg: #ffffff;
      --icon-bg: #e8e6f5;
      --icon-color: #5b52c8;
      --text-primary: #1a1a2e;
      --text-secondary: #6b6b8a;
      --badge-bg: #ededf5;
      --badge-text: #4a4a6a;
      --link-color: #5b52c8;
      --radius-panel: 20px;
      --radius-icon: 14px;
      --radius-badge: 20px;
      --shadow: 0 4px 24px rgba(80, 70, 180, 0.08);
    }
 

    .panel {
      background: var(--panel-bg);
      border-radius: var(--radius-panel);
      padding: 28px 24px 22px;
      width: 240px;
      box-shadow: var(--shadow);
      display: flex;
      flex-direction: column;
      gap: 14px;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
 
    .panel:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 36px rgba(80, 70, 180, 0.14);
    }
 
    .icon-box {
      width: 52px;
      height: 52px;
      background: var(--icon-bg);
      border-radius: var(--radius-icon);
      display: flex;
      align-items: center;
      justify-content: center;
    }
 
    .icon-box svg {
      width: 26px;
      height: 26px;
      color: var(--icon-color);
    }
 
    .info {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
 
    .heading {
      font-size: 18px;
      font-weight: 600;
      color: var(--text-primary);
      letter-spacing: -0.2px;
    }
 
    .summary {
      font-size: 13.5px;
      color: var(--text-secondary);
      line-height: 1.5;
      font-weight: 400;
    }
 
    .badge-group {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }
 
    .badge {
      background: var(--badge-bg);
      color: var(--badge-text);
      font-size: 12.5px;
      font-weight: 500;
      padding: 5px 12px;
      border-radius: var(--radius-badge);
    }
 
    .bottom-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-top: 2px;
    }
 
    .explore-link {
      font-size: 13.5px;
      font-weight: 600;
      color: var(--link-color);
      text-decoration: none;
      display: flex;
      align-items: center;
      gap: 4px;
      transition: gap 0.2s ease;
    }
 
    .explore-link:hover {
      gap: 8px;
    }
 
    .arrow {
      font-size: 15px;
      line-height: 1;
    }

.topflex{
    display: flex;
}
 :root {
      --bg-page: #f4f4f6;
      --panel-bg: #ffffff;
      --icon-bg: #a855f7;
      --icon-color: #ffffff;
      --text-primary: #111827;
      --text-secondary: #6b7280;
      --link-color: #3b6ef5;
      --radius-panel: 18px;
      --radius-icon: 14px;
      --shadow: 0 2px 16px rgba(0, 0, 0, 0.07);
    }
 
    .panel {
      background: var(--panel-bg);
      border-radius: var(--radius-panel);
      padding: 28px 26px 26px;
      width: 300px;
      box-shadow: var(--shadow);
      display: flex;
      flex-direction: column;
      gap: 16px;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
      margin: 5px;
      height: fit-content;
    }
 
    .panel:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 30px rgba(0, 0, 0, 0.11);
    }
 
    .icon-box {
      width: 52px;
      height: 52px;
      background: var(--icon-bg);
      border-radius: var(--radius-icon);
      display: flex;
      align-items: center;
      justify-content: center;
    }
 
    .icon-box svg {
      width: 26px;
      height: 26px;
      color: var(--icon-color);
    }
 
    .info {
      display: flex;
      flex-direction: column;
      gap: 3px;
    }
 
    .heading {
      font-size: 17px;
      font-weight: 700;
      color: var(--text-primary);
      line-height: 0.5;
    }
 
    .summary {
      font-size: 14px;
      color: var(--text-secondary);
      line-height: 1;
      font-weight: 400;
    }
 
    .explore-link {
      font-size: 14px;
      font-weight: 600;
      color: var(--link-color);
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 5px;
      transition: gap 0.2s ease;
    }
 
    .explore-link:hover {
      gap: 9px;
    }
footer{
    background:#0b1220;
    border-top:1px solid #1f2937;
    padding:25px 20px;
    text-align:center;
    margin-top:40px;
}

footer .footer-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
    margin-bottom:10px;
}

footer a{
    color:#94a3b8;
    text-decoration:none;
    font-size:14px;
    transition:0.2s;
}

footer a:hover{
    color:#60a5fa;
}

footer p{
    color:#64748b;
    font-size:13px;
    margin:0;
}
/* =========================
   RESPONSIVE FIX (DO NOT CHANGE DESIGN)
========================= */

/* Make flex containers wrap properly */
.flexbox,
.topflex {
    flex-wrap: wrap;
}

/* Prevent horizontal overflow */
body {
    overflow-x: hidden;
}

/* Make cards responsive without changing style */
.card,
.panel,
.box {
    max-width: 100%;
}

/* Fix flex layout spacing */
.flexbox,
#target-section {
    justify-content: center;
    gap: 15px;
}

/* Tablets */
@media screen and (max-width: 1024px) {

    .card,
    .panel {
        width: 45vw;
    }

    .box {
        width: 45vw;
    }

    header {
        padding: 20px;
    }
}

/* Mobile */
@media screen and (max-width: 768px) {

    .card,
    .panel,
    .box {
        width: 90vw;
    }

    .topflex {
        flex-direction: column;
        align-items: center;
    }

    .flextop {
        text-align: center;
        font-size: large;
    }

    header {
        flex-direction: column;
        padding: 20px;
        height: auto;
    }
    .topbox{
      display: flex;
      flex-direction: column;
      margin-bottom: 20%;
    }
}

/* Small mobile */
@media screen and (max-width: 480px) {

    .card,
    .panel,
    .box {
        width: 95vw;
    }

    .cta {
        transform: scale(0.95);
    }

    .cta span {
        font-size: 14px;
    }
}
/* Prevent images from overflowing */
img {
    max-width: 100%;
    height: auto;
    display: block;
}