:root {
--bg: #070b10;
--bg2: #0b1118;
--bg3: #101820;
--bg4: #141e28;

--border: rgba(255,255,255,.07);
--border2: rgba(255,255,255,.12);

--text: #f1f6fb;
--text2: #a9b5c2;
--text3: #657383;

--blue: #4a9ee8;
--cyan: #00d9ff;
--green: #3dcc8e;
--purple: #8888f8;
--orange: #f0a030;
--red: #e85a5a;

--max-w: 1180px;

--shadow:
    0 25px 80px rgba(0,0,0,.45);

--glow:
    0 0 40px rgba(74,158,232,.12);

}

{
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
}

body {
background:
radial-gradient(
circle at 75% 8%,
rgba(0,153,255,.08),
transparent 30%
),
radial-gradient(
circle at 15% 55%,
rgba(0,229,255,.035),
transparent 30%
),
var(--bg);

color: var(--text);

font-family: 'DM Sans', sans-serif;

line-height: 1.6;

}

a {
color: inherit;
text-decoration: none;
}

/* =========================================================
NAVIGATION
========================================================= */

nav {
position: sticky;
top: 0;
z-index: 100;

height: 76px;

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

padding:
    0 max(28px, calc((100vw - var(--max-w)) / 2));

background: rgba(7,11,16,.78);

backdrop-filter: blur(18px);

border-bottom: 1px solid var(--border);

}

.nav-logo {
display: flex;
align-items: center;
gap: 12px;

font-family: 'Outfit', sans-serif;
font-weight: 700;
font-size: 17px;

}

.logo-icon {
width: 36px;
height: 36px;

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

border-radius: 10px;

color: white;

background:
    linear-gradient(
        135deg,
        #00d9ff,
        #007cff
    );

box-shadow:
    0 0 18px rgba(0,217,255,.25);

}

.nav-links {
display: flex;
gap: 28px;

color: var(--text3);

font-size: 13px;

}

.nav-links a {
transition: .2s;
}

.nav-links a:hover {
color: var(--text);
}

.nav-btn {
padding: 10px 16px;

border: 1px solid rgba(74,158,232,.3);

border-radius: 8px;

color: var(--blue);

font-size: 12px;
font-weight: 600;

background: rgba(74,158,232,.08);

}

/* =========================================================
HERO
========================================================= */

.hero {
max-width: var(--max-w);

min-height: 720px;

margin: auto;

padding: 105px 28px 80px;

display: grid;

grid-template-columns:
    .9fr 1.1fr;

align-items: center;

gap: 65px;

margin-top: -140px;

}

.hero-badge {
display: inline-flex;
align-items: center;
gap: 9px;

padding: 7px 12px;

margin-bottom: 24px;

border: 1px solid rgba(136,136,248,.22);

border-radius: 30px;

background: rgba(136,136,248,.06);

color: var(--purple);

font-size: 11px;
font-weight: 600;


}

.badge-dot {
width: 6px;
height: 6px;

border-radius: 50%;

background: var(--purple);

box-shadow: 0 0 10px var(--purple);

}

.hero h1 {
font-family: 'Outfit', sans-serif;

font-size:
    clamp(48px, 6vw, 76px);

line-height: .98;

letter-spacing: -3px;

margin-bottom: 28px;

}

.hero h1 span {
color: var(--blue);
}

.hero-description {
max-width: 550px;

color: var(--text2);

font-size: 16px;

line-height: 1.8;

margin-bottom: 30px;

}

.hero-buttons {
display: flex;
flex-wrap: wrap;
gap: 12px;
}

.btn-primary {
display: inline-flex;
align-items: center;
gap: 9px;

padding: 13px 19px;

border-radius: 9px;

background:
    linear-gradient(
        135deg,
        #4a9ee8,
        #2676c0
    );

color: white;

font-size: 13px;
font-weight: 600;

box-shadow:
    0 10px 30px rgba(74,158,232,.16);

transition: .25s;

}

.btn-primary:hover {
transform: translateY(-2px);

box-shadow:
    0 14px 35px rgba(74,158,232,.25);

}

.btn-outline {
display: inline-flex;
align-items: center;

padding: 12px 18px;

border: 1px solid var(--border2);

border-radius: 9px;

color: var(--text2);

font-size: 13px;

transition: .25s;

}

.btn-outline:hover {
border-color: rgba(74,158,232,.4);
color: var(--text);
}

/* =========================================================
ANALYTICS DASHBOARD
========================================================= */

.analytics-window {
overflow: hidden;

border: 1px solid rgba(255,255,255,.11);

border-radius: 16px;

background:
    linear-gradient(
        145deg,
        #101923,
        #0b1118
    );

box-shadow:
    0 35px 100px rgba(0,0,0,.55),
    0 0 50px rgba(74,158,232,.08);

transform:
    rotateY(-4deg)
    rotateX(2deg);

transition: .5s;

}

.analytics-window:hover {
transform:
rotateY(0)
rotateX(0)
translateY(-5px);
}

.window-bar {
height: 43px;

display: flex;
align-items: center;

padding: 0 14px;

border-bottom: 1px solid var(--border);

background: rgba(255,255,255,.025);

}

.window-dots {
display: flex;
gap: 6px;
}

.window-dots span {
width: 7px;
height: 7px;

border-radius: 50%;

}

.window-title {
margin-left: 15px;

color: var(--text3);

font-size: 9px;

letter-spacing: .8px;

}

.analytics-content {
padding: 18px;
}

/* dashboard header */

.analytics-heading {
display: flex;
justify-content: space-between;
align-items: center;

margin-bottom: 15px;

}

.analytics-heading h3 {
font-family: 'Outfit';

font-size: 18px;

}

.period {
padding: 6px 9px;

border: 1px solid var(--border);

border-radius: 6px;

color: var(--text3);

font-size: 8px;

background: var(--bg3);

}

/* KPI */

.kpi-grid {
display: grid;

grid-template-columns:
    repeat(4,1fr);

gap: 8px;

margin-bottom: 12px;

}

.kpi {
padding: 11px;

border: 1px solid var(--border);

border-radius: 8px;

background: var(--bg3);

}

.kpi-label {
color: var(--text3);

font-size: 8px;

margin-bottom: 4px;

}

.kpi-value {
font-family: 'Outfit';

font-size: 18px;

font-weight: 600;

}

.kpi-change {
margin-top: 3px;

color: var(--green);

font-size: 7px;

}

/* chart */

.analytics-grid {
display: grid;

grid-template-columns:
    1.45fr .8fr;

gap: 10px;

}

.chart-card,
.category-card {
min-height: 185px;

padding: 13px;

border: 1px solid var(--border);

border-radius: 9px;

background: var(--bg3);

}

.card-title {
color: var(--text2);

font-size: 9px;

margin-bottom: 12px;

}

/* bar chart */

.chart {
height: 120px;

display: flex;

align-items: flex-end;

gap: 7px;

padding-top: 5px;

}

.chart-bar {
flex: 1;

min-width: 8px;

border-radius: 4px 4px 0 0;

background:
    linear-gradient(
        to top,
        #2676c0,
        #4a9ee8
    );

opacity: .75;

animation: chartPulse 3s ease-in-out infinite;

}

.chart-bar:nth-child(1) { height: 48%; }
.chart-bar:nth-child(2) { height: 62%; }
.chart-bar:nth-child(3) { height: 54%; }
.chart-bar:nth-child(4) { height: 73%; }
.chart-bar:nth-child(5) { height: 67%; }
.chart-bar:nth-child(6) { height: 84%; }
.chart-bar:nth-child(7) { height: 77%; }
.chart-bar:nth-child(8) { height: 95%; }

@keyframes chartPulse {
50% {
opacity: 1;
}
}

/* category chart */

.donut {
width: 105px;
height: 105px;

margin: 5px auto 10px;

border-radius: 50%;

background:
    conic-gradient(
        var(--blue) 0 42%,
        var(--green) 42% 67%,
        var(--purple) 67% 84%,
        var(--orange) 84% 100%
    );

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

}

.donut::after {
content: "₱2.84M";

width: 65px;
height: 65px;

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

border-radius: 50%;

background: var(--bg3);

color: var(--text);

font-family: 'Outfit';

font-size: 10px;

}

/* =========================================================
TECHNOLOGY STRIP
========================================================= */

.tech-strip {
border-top: 1px solid var(--border);
border-bottom: 1px solid var(--border);

padding: 22px 20px;

text-align: center;

background: rgba(255,255,255,.012);

}

.tech-label {
color: var(--text3);

font-size: 10px;

text-transform: uppercase;

letter-spacing: 2px;

margin-bottom: 17px;

}

.tech-list {
display: flex;

justify-content: center;

flex-wrap: wrap;

gap: 10px;

}

.tech {
padding: 8px 14px;

border: 1px solid var(--border);

border-radius: 7px;

color: var(--text2);

font-size: 11px;

background: var(--bg2);

}

/* =========================================================
GENERAL SECTIONS
========================================================= */

section {
padding: 110px 28px;
}

.section-inner {
max-width: var(--max-w);

margin: auto;

}

.section-tag {
display: inline-block;

color: var(--blue);

font-size: 10px;

text-transform: uppercase;

letter-spacing: 2px;

font-weight: 600;

margin-bottom: 12px;

}

.section-title {
font-family: 'Outfit';

font-size:
    clamp(34px,4vw,50px);

line-height: 1.1;

letter-spacing: -1.5px;

margin-bottom: 17px;

}

.section-sub {
max-width: 650px;

color: var(--text2);

font-size: 15px;

line-height: 1.8;

}

/* =========================================================
REPORT TYPES
========================================================= */

.reports-section {
background:
linear-gradient(
180deg,
transparent,
rgba(74,158,232,.025),
transparent
);
}

.reports-header {
text-align: center;

max-width: 720px;

margin: auto auto 55px;

}

.reports-header .section-sub {
margin: auto;
}

.report-grid {
display: grid;

grid-template-columns:
    repeat(3,1fr);

gap: 15px;

}

.report-card {
position: relative;

padding: 27px;

min-height: 225px;

overflow: hidden;

border: 1px solid var(--border);

border-radius: 14px;

background:
    linear-gradient(
        145deg,
        rgba(255,255,255,.025),
        rgba(255,255,255,.008)
    );

transition: .3s;

}

.report-card:hover {
transform: translateY(-6px);

border-color:
    rgba(74,158,232,.25);

box-shadow: var(--glow);

}

.report-icon {
width: 43px;
height: 43px;

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

margin-bottom: 19px;

border-radius: 10px;

color: var(--blue);

background: rgba(74,158,232,.09);

border: 1px solid rgba(74,158,232,.15);

font-size: 18px;

}

.report-card:nth-child(2) .report-icon {
color: var(--green);
background: rgba(61,204,142,.08);
}

.report-card:nth-child(3) .report-icon {
color: var(--purple);
background: rgba(136,136,248,.08);
}

.report-card:nth-child(4) .report-icon {
color: var(--orange);
background: rgba(240,160,48,.08);
}

.report-card:nth-child(5) .report-icon {
color: var(--cyan);
background: rgba(0,217,255,.08);
}

.report-card:nth-child(6) .report-icon {
color: var(--red);
background: rgba(232,90,90,.08);
}

.report-card h3 {
font-family: 'Outfit';

font-size: 19px;

margin-bottom: 9px;

}

.report-card p {
color: var(--text3);

font-size: 13px;

line-height: 1.7;

}

/* =========================================================
ANALYTICS PREVIEW
========================================================= */

.analytics-section {
background: var(--bg2);
}

.analytics-layout {
display: grid;

grid-template-columns:
    .75fr 1.35fr;

gap: 60px;

align-items: center;

}

.analytics-copy .section-sub {
margin-bottom: 25px;
}

.check-list {
display: grid;

gap: 12px;

}

.check {
display: flex;

align-items: center;

gap: 10px;

color: var(--text2);

font-size: 13px;

}

.check span {
width: 20px;
height: 20px;

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

border-radius: 50%;

color: var(--green);

background: rgba(61,204,142,.08);

font-size: 10px;

}

/* report table */

.report-window {
overflow: hidden;

border: 1px solid var(--border2);

border-radius: 14px;

background: var(--bg3);

box-shadow: var(--shadow);

}

.report-toolbar {
display: flex;

align-items: center;

justify-content: space-between;

padding: 15px 17px;

border-bottom: 1px solid var(--border);

}

.report-toolbar strong {
font-family: 'Outfit';

font-size: 16px;

}

.export-btn {
padding: 7px 10px;

border: 1px solid rgba(74,158,232,.2);

border-radius: 6px;

color: var(--blue);

font-size: 8px;

background: rgba(74,158,232,.07);

}

.report-table {
width: 100%;

border-collapse: collapse;

}

.report-table th {
text-align: left;

padding: 11px 14px;

color: var(--text3);

font-size: 9px;

font-weight: 500;

border-bottom: 1px solid var(--border);

}

.report-table td {
padding: 13px 14px;

border-bottom: 1px solid var(--border);

color: var(--text2);

font-size: 10px;

}

.report-name {
color: var(--text);

font-weight: 500;

}

.trend-up {
color: var(--green);
}

.trend-down {
color: var(--red);
}

/* =========================================================
INSIGHTS
========================================================= */

.insights {
text-align: center;
}

.insights-header {
max-width: 680px;

margin: auto auto 55px;

}

.insight-grid {
display: grid;

grid-template-columns:
    repeat(4,1fr);

gap: 14px;

}

.insight {
padding: 25px;

text-align: left;

border: 1px solid var(--border);

border-radius: 12px;

background: var(--bg2);

}

.insight-number {
font-family: 'Outfit';

color: var(--blue);

font-size: 28px;

font-weight: 700;

margin-bottom: 5px;

}

.insight-title {
color: var(--text);

font-size: 13px;

font-weight: 600;

margin-bottom: 7px;

}

.insight p {
color: var(--text3);

font-size: 11px;

line-height: 1.6;

}

/* =========================================================
TECHNICAL
========================================================= */

.technical {
background:
radial-gradient(
circle at 20% 50%,
rgba(74,158,232,.06),
transparent 35%
);
}

.technical-grid {
display: grid;

grid-template-columns:
    1fr 1fr;

gap: 20px;

margin-top: 45px;

}

.tech-card {
padding: 27px;

border: 1px solid var(--border);

border-radius: 13px;

background: rgba(255,255,255,.015);

}

.tech-card h3 {
font-family: 'Outfit';

margin-bottom: 17px;

font-size: 19px;

}

.tech-pills {
display: flex;

flex-wrap: wrap;

gap: 8px;

}

.tech-pill {
padding: 7px 10px;

border-radius: 6px;

background: var(--bg3);

border: 1px solid var(--border);

color: var(--text2);

font-size: 10px;

}

.architecture {
display: grid;

grid-template-columns:
    repeat(3,1fr);

gap: 10px;

}

.arch-item {
padding: 13px;

text-align: center;

border: 1px solid var(--border);

border-radius: 8px;

background: var(--bg3);

color: var(--text2);

font-size: 10px;

}

.arch-item strong {
display: block;

color: var(--blue);

margin-bottom: 4px;

font-size: 11px;

}

/* =========================================================
CTA
========================================================= */

.cta {
max-width: 900px;

margin: 40px auto 110px;

padding: 55px 45px;

text-align: center;

border: 1px solid rgba(74,158,232,.18);

border-radius: 18px;

background:
    radial-gradient(
        circle at 50% 0,
        rgba(74,158,232,.1),
        transparent 60%
    ),
    var(--bg2);

box-shadow: var(--glow);

}

.cta h2 {
font-family: 'Outfit';

font-size: 38px;

margin-bottom: 12px;

}

.cta p {
max-width: 600px;

margin: 0 auto 25px;

color: var(--text2);

font-size: 14px;

}

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

footer {
border-top: 1px solid var(--border);

padding:
    25px max(28px, calc((100vw - var(--max-w)) / 2));

display: flex;

justify-content: space-between;

align-items: center;

flex-wrap: wrap;

gap: 12px;

color: var(--text3);

font-size: 11px;

}

.footer-links {
display: flex;

gap: 18px;

}

.footer-links a:hover {
color: var(--text);
}

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

@media(max-width:900px) {

.nav-links {
    display: none;
}

.hero {
    grid-template-columns: 1fr;

    padding-top: 80px;

    gap: 50px;
    
}

.analytics-window {
    max-width: 700px;

    margin: auto;
}

.report-grid {
    grid-template-columns:
        repeat(2,1fr);
}

.analytics-layout {
    grid-template-columns: 1fr;
}

.insight-grid {
    grid-template-columns:
        repeat(2,1fr);
}

.technical-grid {
    grid-template-columns: 1fr;
}

}

@media(max-width:600px) {

nav {
    padding: 0 18px;
}

.nav-btn {
    display: none;
}

section {
    padding: 75px 18px;
}

.hero {
    padding:
        70px 18px 60px;
}

.hero h1 {
    font-size: 50px;

    letter-spacing: -2px;
}

.kpi-grid {
    grid-template-columns:
        repeat(2,1fr);
}

.analytics-grid {
    grid-template-columns: 1fr;
}

.report-grid,
.insight-grid {
    grid-template-columns: 1fr;
}

.report-table {
    min-width: 560px;
}

.report-window {
    overflow-x: auto;
}

.architecture {
    grid-template-columns: 1fr;
}

.cta {
    margin:
        20px 18px 70px;

    padding: 40px 22px;
}

.cta h2 {
    font-size: 30px;
}

footer {
    padding: 22px 18px;
}

}