﻿:root {
    --bg: #070A12;
    --bg2: #0B1020;
    --text: #EAF0FF;
    --muted: #A7B2D6;
    --accent: #20E3FF; /* neon cyan */
    --accent2: #7C3AED; /* purple */
    --accent3: #00FFA3; /* green */

    --card: rgba(255,255,255,.06);
    --stroke: rgba(255,255,255,.12);
    --shadow: 0 18px 60px rgba(0,0,0,.45);
}

.tau-home {
    background: radial-gradient(1200px 800px at 20% 10%, rgba(124,58,237,.18), transparent 55%), radial-gradient(900px 700px at 80% 30%, rgba(32,227,255,.14), transparent 55%), radial-gradient(900px 700px at 50% 90%, rgba(0,255,163,.08), transparent 55%), linear-gradient(180deg, var(--bg), var(--bg2));
    color: var(--text);
}

    .tau-home a {
        color: inherit;
    }

.tau-link {
    color: var(--text);
    text-decoration: none;
    border-bottom: 1px dashed rgba(255,255,255,.25);
}

    .tau-link:hover {
        border-bottom-color: rgba(32,227,255,.65);
    }

.tau-section {
    position: relative;
}

.tau-section-alt {
    background: rgba(255,255,255,.02);
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
    box-shadow: inset 0 1px 0 rgba(32,227,255,.05);
}

.tau-section-head h2 {
    font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.4rem);
    margin-bottom: .35rem;
    letter-spacing: .2px;
}

.tau-section-head p {
    color: var(--muted);
    max-width: 62ch;
    margin-bottom: 1.25rem;
}

.tau-hero {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

    .tau-hero::before,
    .tau-hero::after {
        content: "";
        position: absolute;
        inset: -35%;
        background: radial-gradient(600px 450px at 20% 20%, rgba(32,227,255,.30), transparent 60%), radial-gradient(650px 480px at 80% 30%, rgba(124,58,237,.26), transparent 62%), radial-gradient(500px 420px at 55% 80%, rgba(0,255,163,.14), transparent 60%);
        filter: blur(20px);
        transform: translate3d(0,0,0);
        animation: tauFloat 11s ease-in-out infinite alternate;
        pointer-events: none;
    }

    .tau-hero::after {
        opacity: .55;
        animation-duration: 15s;
        mix-blend-mode: screen;
    }

@keyframes tauFloat {
    from {
        transform: translate3d(-2%, -1%, 0) scale(1);
    }

    to {
        transform: translate3d( 2%, 1%, 0) scale(1.03);
    }
}

.tau-hero-fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 140px;
    background: linear-gradient(180deg, transparent, var(--bg2));
    pointer-events: none;
}

.tau-kicker {
    display: inline-block;
    font-size: .9rem;
    color: rgba(255,255,255,.78);
    padding: .35rem .6rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(0,0,0,.18);
    backdrop-filter: blur(10px);
}

.tau-hero-title {
    font-size: clamp(2.2rem, 1.4rem + 3.2vw, 3.8rem);
    line-height: 1.05;
    letter-spacing: -0.6px;
}

.tau-hero-sub {
    color: var(--muted);
    font-size: 1.05rem;
    max-width: 62ch;
}

.tau-gradient-text {
    background: linear-gradient(90deg, var(--accent), var(--accent2), var(--accent3));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.tau-btn-primary {
    border: 1px solid rgba(255,255,255,.14);
    background: linear-gradient(90deg, rgba(32,227,255,.18), rgba(124,58,237,.18));
    color: var(--text);
    box-shadow: 0 0 0 rgba(32,227,255,0);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

    .tau-btn-primary:hover {
        transform: translateY(-1px);
        border-color: rgba(32,227,255,.45);
        box-shadow: 0 10px 40px rgba(32,227,255,.14);
        color: var(--text);
    }

.tau-btn-ghost {
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color: var(--text);
}

    .tau-btn-ghost:hover {
        border-color: rgba(255,255,255,.28);
        background: rgba(255,255,255,.08);
        color: var(--text);
    }

.tau-card {
    background: var(--card);
    border: 1px solid var(--stroke);
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 1.25rem;
    backdrop-filter: blur(10px);
    height:100%
}

.tau-card-title {
    font-weight: 700;
    margin-bottom: .35rem;
}

.tau-card-text {
    color: var(--muted);
}

.tau-card-tilt {
    position: relative;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

    .tau-card-tilt:hover {
        transform: translateY(-3px);
        border-color: rgba(32,227,255,.28);
        box-shadow: 0 22px 80px rgba(0,0,0,.55);
    }

.tau-metric-card {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    padding: .9rem .95rem;
}

.tau-metric-value {
    font-weight: 800;
    letter-spacing: -0.3px;
    font-size: 1.25rem;
}

.tau-metric-label {
    color: var(--muted);
    font-size: .9rem;
}

.tau-hero-panel {
    border-radius: 22px;
    padding: 1px;
    background: linear-gradient(135deg, rgba(32,227,255,.35), rgba(124,58,237,.25), rgba(0,255,163,.18));
    box-shadow: 0 30px 90px rgba(0,0,0,.55);
}

.tau-hero-panel-inner {
    border-radius: 21px;
    background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.35)), repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0, rgba(255,255,255,.08) 1px, transparent 1px, transparent 18px);
    padding: 1.3rem;
}

.tau-panel-title {
    font-weight: 800;
    margin-bottom: .6rem;
}

.tau-panel-list {
    margin: 0 0 1rem 1.05rem;
    color: rgba(255,255,255,.82);
}

.tau-panel-badges {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.tau-badge {
    font-size: .85rem;
    padding: .25rem .55rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.06);
}

.tau-service-title {
    font-weight: 800;
    font-size: 1.05rem;
    margin-bottom: .35rem;
}

.tau-service-text {
    color: var(--muted);
    margin-bottom: .75rem;
}

.tau-service-tags {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
}

.tau-tag {
    font-size: .82rem;
    padding: .18rem .5rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.05);
    color: rgba(255,255,255,.85);
}

.tau-highlight {
    border-radius: 18px;
    border: 1px solid rgba(32,227,255,.18);
    background: linear-gradient(90deg, rgba(32,227,255,.10), rgba(124,58,237,.08));
    padding: 1rem 1.15rem;
}

.tau-highlight-title {
    font-weight: 800;
}

.tau-highlight-text {
    color: rgba(255,255,255,.82);
}

.tau-step-n {
    font-weight: 900;
    opacity: .9;
    background: linear-gradient(90deg, var(--accent), var(--accent2));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 1.1rem;
    margin-bottom: .25rem;
}

.tau-step-title {
    font-weight: 800;
}

.tau-step-text {
    color: var(--muted);
}

.tau-chip {
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.06);
    padding: .45rem .75rem;
    border-radius: 999px;
}

.tau-input {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.14);
    color: var(--text);
}

    .tau-input:focus {
        background: rgba(255,255,255,.08);
        border-color: rgba(32,227,255,.45);
        box-shadow: 0 0 0 .2rem rgba(32,227,255,.12);
        color: var(--text);
    }

.tau-mini-note {
    color: rgba(255,255,255,.65);
    font-size: .9rem;
}

/* Scroll morbido */
html {
    scroll-behavior: smooth;
}
/* Contact card upgrade */
.tau-contact-card {
    padding: 1.35rem;
}

.tau-contact-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.tau-contact-kicker {
    display: inline-block;
    font-size: .85rem;
    padding: .25rem .55rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.05);
    color: rgba(255,255,255,.82);
    margin-bottom: .55rem;
}

.tau-contact-title {
    font-weight: 900;
    letter-spacing: -.2px;
    font-size: 1.25rem;
}

.tau-contact-sub {
    color: rgba(255,255,255,.75);
    max-width: 40ch;
}

.tau-contact-badge {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(32,227,255,.25);
    background: linear-gradient(90deg, rgba(32,227,255,.10), rgba(124,58,237,.10));
    box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

.tau-contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .75rem;
}

@media (min-width: 576px) {
    .tau-contact-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.tau-contact-item {
    text-decoration: none;
    color: inherit;
    display: flex;
    gap: .75rem;
    align-items: center;
    padding: .75rem .8rem;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.04);
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

    .tau-contact-item:hover {
        transform: translateY(-2px);
        border-color: rgba(32,227,255,.28);
        box-shadow: 0 18px 70px rgba(0,0,0,.45);
    }

.tau-contact-ico {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
}

.tau-contact-label {
    color: rgba(255,255,255,.68);
    font-size: .85rem;
}

.tau-contact-value {
    font-weight: 700;
}

.tau-contact-foot {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
/* ===== Spacing & breathing room improvements ===== */

/* custom padding utility similar to Bootstrap */
.py-6 {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
}

@media (min-width: 992px) {
    .py-6 {
        padding-top: 5.25rem !important;
        padding-bottom: 5.25rem !important;
    }
}

/* give sections a bit more separation visually */
.tau-section {
    position: relative;
}

    .tau-section::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -1px;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(32,227,255,.18), rgba(124,58,237,.14), transparent);
        opacity: .6;
        pointer-events: none;
    }

/* more space below headings */
.tau-section-head {
    margin-bottom: 1.75rem;
}

@media (min-width: 992px) {
    .tau-section-head {
        margin-bottom: 2.25rem;
    }
}

.tau-section-head h2 {
    margin-bottom: .6rem;
}

.tau-section-head p {
    margin-bottom: 0; /* let the section-head margin control spacing */
}

/* slightly bigger gaps inside grids on medium+ */
@media (min-width: 768px) {
    .tau-metrics {
        margin-top: .35rem;
    }
}

/* make cards feel less cramped */
.tau-card, .tau-service {
    padding: 1.4rem;
}

@media (min-width: 992px) {
    .tau-card, .tau-service {
        padding: 1.6rem;
    }
}

/* make the highlight breathe */
.tau-highlight {
    margin-top: 2.25rem !important;
    padding: 1.15rem 1.35rem;
}

/* contacts section: extra spacing */
.tau-contact-grid {
    gap: .95rem;
}
