: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 70% 10%,
rgba(0,153,255,.08),
transparent 30%
),
radial-gradient(
circle at 20% 50%,
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;
}

button {
font-family: inherit;
}

/* =========================================================
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: 110px 28px 80px;

display: grid;

grid-template-columns: 1fr 1fr;

align-items: center;

gap: 70px;

margin-top: -120px;
}




@media (max-width: 767px){
    .hero{
        margin-top: 1px;
    }
}



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

padding: 7px 12px;

margin-bottom: 24px;

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

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: 560px;

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);
}

/* =========================================================
ACCESS CONTROL MOCKUP
========================================================= */

.hero-dashboard {
position: relative;
perspective: 1200px;
}

.access-window {
position: relative;

overflow: hidden;

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

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

border-radius: 16px;

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

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

transition: .5s;

}

.access-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;

font-size: 9px;

color: var(--text3);

letter-spacing: .8px;

}

.access-content {
display: grid;

grid-template-columns: 125px 1fr;

}

/* SIDEBAR */

.sidebar {
min-height: 430px;

padding: 17px 10px;

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

background: rgba(0,0,0,.13);

}

.side-brand {
font-family: 'Outfit';

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

margin-bottom: 22px;

color: white;

}

.side-item {
padding: 8px 9px;

margin-bottom: 4px;

border-radius: 6px;

font-size: 9px;

color: var(--text3);

}

.side-item.active {
color: var(--purple);

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

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

}

/* MAIN */

.access-main {
padding: 18px;
}

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

margin-bottom: 16px;

}

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

font-size: 18px;

}

.security-status {
display: flex;
align-items: center;
gap: 5px;

color: var(--green);

font-size: 8px;

}

.security-status i {
width: 5px;
height: 5px;

border-radius: 50%;

background: var(--green);

box-shadow: 0 0 8px var(--green);

}

/* USER SUMMARY */

.user-summary {
display: grid;

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

gap: 8px;

margin-bottom: 12px;

}

.summary-card {
padding: 11px;

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

border-radius: 8px;

background: var(--bg3);

}

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

font-size: 8px;

margin-bottom: 4px;

}

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

font-size: 18px;

}

.summary-small {
margin-top: 3px;

color: var(--green);

font-size: 7px;

}

/* USER TABLE */

.user-table-card {
padding: 13px;

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

border-radius: 9px;

background: var(--bg3);

}

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

font-size: 9px;

margin-bottom: 11px;

}

.user-row {
display: grid;

grid-template-columns: 1.4fr 1fr .8fr;

align-items: center;

padding: 9px 0;

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

}

.user-info {
display: flex;
align-items: center;
gap: 7px;
}

.avatar {
width: 25px;
height: 25px;

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

border-radius: 7px;

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

color: var(--blue);

font-family: 'Outfit';

font-size: 8px;
font-weight: 700;

}

.user-name {
color: var(--text2);

font-size: 8px;

}

.user-email {
color: var(--text3);

font-size: 6px;

}

.role {
display: inline-block;

width: fit-content;

padding: 4px 7px;

border-radius: 5px;

color: var(--purple);

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

font-size: 7px;

}

.active-status {
color: var(--green);

font-size: 7px;

}

/* =========================================================
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);

}

/* =========================================================
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;

}

/* =========================================================
FEATURES
========================================================= */

.features {
background:
linear-gradient(
180deg,
transparent,
rgba(136,136,248,.025),
transparent
);
}

.features-header {
text-align: center;

max-width: 700px;

margin: auto auto 55px;

}

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

.feature-grid {
display: grid;

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

gap: 15px;

}

.feature-card {
position: relative;

padding: 27px;

min-height: 240px;

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

border-radius: 14px;

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

transition: .3s;

overflow: hidden;

}

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

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

box-shadow: var(--glow);

}

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

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

margin-bottom: 20px;

border-radius: 10px;

color: var(--blue);

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

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

font-size: 18px;

}

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

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

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

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

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

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

font-size: 19px;

margin-bottom: 10px;

}

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

font-size: 13px;

line-height: 1.7;

}

/* =========================================================
ROLE MANAGEMENT
========================================================= */

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

.roles-layout {
display: grid;

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

gap: 65px;

align-items: center;

}

.role-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;

}

/* PERMISSION PANEL */

.permission-window {
overflow: hidden;

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

border-radius: 14px;

background: var(--bg3);

box-shadow: var(--shadow);

}

.permission-toolbar {
display: flex;

align-items: center;

justify-content: space-between;

padding: 15px 17px;

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

}

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

font-size: 16px;

}

.role-select {
padding: 7px 10px;

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

border-radius: 6px;

color: var(--text2);

font-size: 9px;

background: var(--bg2);

}

.permission-grid {
display: grid;

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

padding: 15px;

}

.permission-grid > div {
padding: 10px;

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

color: var(--text2);

font-size: 10px;

}

.permission-grid .header {
color: var(--text3);

font-size: 8px;

text-transform: uppercase;

}

.permission-grid .module {
color: var(--text);
font-weight: 500;
}

.permission-yes {
color: var(--green) !important;

text-align: center;

}

.permission-no {
color: var(--red) !important;

text-align: center;

}

.permission-limited {
color: var(--orange) !important;

text-align: center;

}

/* =========================================================
WORKFLOW
========================================================= */

.workflow {
text-align: center;
}

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

margin: auto auto 60px;

}

.workflow-grid {
display: grid;

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

gap: 15px;

}

.workflow-card {
position: relative;

padding: 25px 20px;

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

border-radius: 13px;

background: var(--bg2);

}

.workflow-number {
width: 38px;
height: 38px;

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

margin: auto auto 17px;

border-radius: 50%;

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

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

color: var(--blue);

font-family: 'Outfit';

font-size: 13px;

font-weight: 700;

}

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

font-size: 17px;

margin-bottom: 8px;

}

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

font-size: 12px;

line-height: 1.7;

}

/* =========================================================
SECURITY
========================================================= */

.security-section {
background:
radial-gradient(
circle at 20% 50%,
rgba(136,136,248,.06),
transparent 35%
);
}

.security-grid {
display: grid;

grid-template-columns: 1fr 1fr;

gap: 20px;

margin-top: 45px;

}

.security-card {
padding: 27px;

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

border-radius: 13px;

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

}

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

margin-bottom: 17px;

font-size: 19px;

}

.security-items {
display: grid;

gap: 9px;

}

.security-item {
display: flex;

justify-content: space-between;

align-items: center;

padding: 10px 12px;

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

border-radius: 7px;

background: var(--bg3);

color: var(--text2);

font-size: 11px;

}

.security-item span {
color: var(--green);

font-size: 9px;

}

/* =========================================================
RESULTS
========================================================= */

.results {
padding-bottom: 80px;
}

.result-grid {
display: grid;

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

gap: 14px;

margin-top: 45px;

}

.result {
padding: 25px;

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

border-radius: 12px;

background: var(--bg2);

}

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

color: var(--blue);

font-size: 30px;

font-weight: 700;

margin-bottom: 5px;

}

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

font-size: 13px;

font-weight: 600;

margin-bottom: 7px;

}

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

font-size: 11px;

line-height: 1.6;

}

/* =========================================================
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;
}

.hero-dashboard {
    max-width: 650px;

    margin: auto;
}

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

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

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

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

.result-grid {
    grid-template-columns: repeat(2,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;
}

.access-content {
    grid-template-columns: 1fr;
}

.sidebar {
    display: none;
}

.user-summary {
    grid-template-columns: 1fr 1fr;
}

.feature-grid,
.workflow-grid,
.result-grid {
    grid-template-columns: 1fr;
}

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

.permission-grid {
    min-width: 540px;
}

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

    padding: 40px 22px;
}

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

footer {
    padding: 22px 18px;
}

}
