:root {
    --primary1: #0c1320;       /* dark background */
    --primary2: rgb(84,195,233); /* light blue accent */
    --primary3: rgb(161,71,155); /* magenta highlight */
    --text-light: #ffffff;
    --text-dark: #0e1a2b;
}

@font-face {
  font-family: "RotatoSans";
  src: url('../fonts/RotatoSans.woff2') format('woff2'),
       url('../fonts/RotatoSans.woff') format('woff'),
       url("../fonts/RotatoSans.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

body {
    margin:0;
    font-family: "RotatoSans", "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background:var(--primary1);
    color:var(--text-light);
    overflow-x:hidden;
    animation:fadeIn 1.5s ease;
}

@keyframes fadeIn { from{opacity:0;} to{opacity:1;} }

/* LANGUAGE SWITCHER - top-left */
.lang-switch {
    position:fixed;
    top:20px;
    left:25px;
    z-index:50;
    font-size:1rem;
    background:rgba(255,255,255,0.1);
    padding:10px 16px;
    border-radius:30px;
    cursor:pointer;
    border:1px solid rgba(161,71,155,0.25);
    backdrop-filter: blur(8px);
    transition:0.3s;
}
.lang-switch:hover{opacity:0.7;}

/* DARK/LIGHT MODE - top-right */
.toggle {
    position:fixed;
    top:20px;
    right:25px;
    z-index:50;
    font-size:1.3rem;
    background:rgba(255,255,255,0.1);
    padding:10px 16px;
    border-radius:30px;
    cursor:pointer;
    border:1px solid rgba(161,71,155,0.25);
    backdrop-filter: blur(8px);
    transition:0.3s;
}
.toggle:hover{opacity:0.7;}

/* LIGHT MODE */
body.light-mode {
    background:#f4f8fc;
    color:#175293;
}
body.light-mode p,
body.light-mode .tagline,
body.light-mode .services {
    color:#317293;
}
body.light-mode .card {
    background: rgba(255,255,255,0.15);
    border:1px solid rgba(161,71,155,0.2);
}
body.light-mode button{background:var(--primary3);}
body.light-mode button:hover{background:var(--primary2);}
body.light-mode .socials a{color:var(--primary3);}
body.light-mode .socials a:hover{color:var(--primary2);}

/* 3D MESH BACKGROUND */
canvas#mesh{
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    z-index:0;
    opacity:0.25;
}

/* WRAPPER & CARD */
.wrapper{
    position:relative;
    z-index:10;
    max-width:900px;
    margin:auto;
    padding:60px 20px;
}
.card{
    position:relative;
    /*background:rgba(255,255,255,0.10);*/
	background: #202541;
    border:1px solid rgba(255,255,255,0.18);
    backdrop-filter:blur(14px);
    border-radius:22px;
    padding:50px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,0.35);
    overflow:hidden;
}

/* GLOWING CARD FRAME */
.card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:22px;
    padding:2px;
    background:linear-gradient(135deg, var(--primary2), var(--primary3), var(--primary2));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite: exclude;
    animation:frameGlow 6s infinite linear;
    opacity:0.6;
}

@keyframes frameGlow{
    0%{filter:hue-rotate(0deg);}
    100%{filter:hue-rotate(360deg);}
}

/* SVG CIRCUITS */
.circuits{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    pointer-events:none;
    opacity:0.25;
}

/* HOLOGRAM LOGO */
.logo{
    width:250px;
    margin-bottom:25px;
    animation:hologram 3s infinite;

}
.logo {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    pointer-events: none; /* optional, but disables clicks */
}
@keyframes hologram{
    0%{opacity:1; filter:drop-shadow(0 0 12px var(--primary2));}
    50%{opacity:0.85; filter:drop-shadow(0 0 22px var(--primary3));}
    100%{opacity:1; filter:drop-shadow(0 0 12px var(--primary2));}
}

/* TEXT STYLES */
h1{font-size:2.7rem; margin-bottom:10px;}
.tagline{font-size:1.2rem; height:28px; margin-bottom:15px; color:var(--primary2); font-weight:500; letter-spacing:.4px;}
p{font-size:1.1rem; line-height:1.7; color:#dbe8f6;}
.services{margin:25px 0; font-size:1.1rem; font-weight:600; color:var(--primary2);}
.email{color: var(--primary3); font-weight:bold; text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.5);}

/* FORM */
form{margin-top:25px;}
input[type=email]{
    width:80%;
    padding:14px 18px;
    border-radius:12px;
    background:rgba(255,255,255,0.15);
    border:1px solid rgba(255,255,255,0.35);
    color:#fff;
    font-size:1rem;
    margin-bottom:12px;
}
button{
    padding:14px 25px;
    font-size:1.05rem;
    font-weight:bold;
    background:var(--primary3);
    color:#fff;
    border-radius:12px;
    cursor:pointer;
    border:none;
    transition:0.3s;
}
button:hover{background:var(--primary2);}

/* SOCIAL ICONS */
.socials{margin-top:30px;}
.socials a{margin:0 10px; font-size:1.6rem; color:var(--primary3); transition:0.3s;}
.socials a:hover{color:var(--primary2);}

/* ==========================
   SUBSCRIBE / ENGAGEMENT BLOCK
   ========================== */
.subscribe-section {
    position:relative;
    z-index:10;
    max-width:800px;
    margin:0px auto;
    padding:40px 20px;
    text-align:center;
}

.subscribe-card {
    position:relative;
    background:rgba(255,255,255,0.08);
    backdrop-filter:blur(16px);
    border-radius:20px;
    padding:40px 30px;
    box-shadow:0 15px 35px rgba(0,0,0,0.35);
    border:1px solid rgba(161,71,155,0.2);
}

.subscribe-card h2 {
    font-size:2rem;
    margin-bottom:15px;
    color:var(--primary3);
	margin-top: 0;
}

.subscribe-card p {
    font-size:1.1rem;
    line-height:1.6;
    margin-bottom:25px;
    color:#dbe8f6;
}

.subscribe-card form {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}

.subscribe-card input[type=email] {
    padding:12px 18px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,0.35);
    background:rgba(255,255,255,0.12);
    color:#fff;
    font-size:1rem;
    flex:1 1 220px;
    min-width:200px;
}

.subscribe-card button {
    padding:12px 25px;
    font-size:1rem;
    font-weight:bold;
    border:none;
    border-radius:10px;
    background:var(--primary3);
    color:#fff;
    cursor:pointer;
    transition:0.3s;
}
.subscribe-card button:hover {background:var(--primary2);}

.subscribe-card .socials {
    margin-top:20px;
}
.subscribe-card .socials a {
    margin:0 10px;
    font-size:1.2rem;
    color:var(--primary3);
    text-decoration:none;
    transition:0.3s;
}
.subscribe-card .socials a:hover {
    color:var(--primary2);
}

/* LIGHT MODE FOR SUBSCRIBE */
body.light-mode .subscribe-card {
    background: rgba(255,255,255,0.15);
    border:1px solid rgba(161,71,155,0.2);
}
body.light-mode .subscribe-card p {
    color:#317293;
}
body.light-mode .subscribe-card input[type=email] {
    background:rgba(255,255,255,0.18);
    color:#175293;
    border:1px solid rgba(23,82,147,0.2);
}
body.light-mode .subscribe-card button {
    background:var(--primary3);
    color:#fff;
}
body.light-mode .subscribe-card button:hover {
    background:var(--primary2);
}
body.light-mode .subscribe-card .socials a {
    color:var(--primary3);
}
body.light-mode .subscribe-card .socials a:hover {
    color:var(--primary2);
}

/* RESPONSIVE */
@media(max-width:650px){
    h1{font-size:2rem;}
    .tagline{font-size:1rem;}
    .logo{width:120px;}
    .card{padding:32px 20px;}
    .subscribe-card h2{font-size:1.6rem;}
    .subscribe-card p{font-size:1rem;}
    .subscribe-card form {flex-direction:column; gap:10px;}
}

.site-footer {
    background: rgba(23,82,147,0.95);
    color: #ffffff;
    padding: 20px 30px;
    font-size: 0.95rem;
}

.footer-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    max-width: 1000px;
    margin: auto;
    gap: 15px;
}

/* Logo */
.footer-logo {
    width: 150px;
}
.footer-logo img {
    width: 100%;
    display: block;
}

/* Slogan */
.footer-slogan {
    flex: 1;
    text-align: center;
    color: #54C3E9;
    margin: 0;
    font-weight: 500;
}

/* Copyright */
.footer-copyright {
    margin: 0;
    text-align: right;
    font-size: 0.85rem;
    color: #dbe8f6;
}

/* LIGHT MODE FOOTER */
body.light-mode .site-footer {
    background: rgba(255,255,255,0.95);
    color: #175293;
}
body.light-mode .footer-slogan { color: var(--primary3); }
body.light-mode .footer-copyright { color: #317293; }

/* RESPONSIVE FOOTER */
@media(max-width:650px){
    .footer-wrapper {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;
    }
    .footer-logo { width: 80px; }
    .footer-copyright { text-align: center; }
}

