:root {

--bg:#f7f8fc;
--surface:#ffffff;
--text:#101828;
--muted:#667085;

--primary:#2563eb;
--primary-dark:#1d4ed8;

--border:#e5e7eb;

}



* {
box-sizing:border-box;
margin:0;
padding:0;
}



html {
scroll-behavior:smooth;
}



body {

font-family:Inter,Arial,sans-serif;

background:var(--bg);

color:var(--text);

line-height:1.6;

}



.container {

width:min(1180px,90%);

margin:auto;

}



/* HEADER */


.header {

padding:28px 0;

background:rgba(247,248,252,.8);

position:relative;

}



.header-inner {

display:flex;

justify-content:space-between;

align-items:center;

}



.logo {

font-size:26px;

font-weight:800;

letter-spacing:-1px;

}



.logo span {

color:var(--primary);

}



nav {

display:none;

}



nav a {

text-decoration:none;

color:#344054;

margin-left:35px;

font-weight:500;

}



nav a:hover {

color:var(--primary);

}





/* HERO */


.hero {

padding:80px 0 120px;

}



.hero-grid {

display:grid;

gap:60px;

align-items:center;

}



.tag {

display:inline-block;

padding:8px 16px;

border-radius:30px;

background:#eef4ff;

color:var(--primary);

font-size:14px;

font-weight:600;

margin-bottom:25px;

}



.hero h1 {

font-size:clamp(45px,7vw,76px);

line-height:1.05;

letter-spacing:-3px;

font-weight:800;

}



.hero h1 span {

color:var(--primary);

}



.hero-text {

font-size:19px;

color:var(--muted);

max-width:560px;

margin:30px 0;

}



.button {

display:inline-flex;

align-items:center;

justify-content:center;

gap:10px;

background:var(--primary);

color:white;

border:none;

padding:16px 30px;

border-radius:14px;

font-size:16px;

font-weight:600;

cursor:pointer;

text-decoration:none;

transition:.25s;

}



.button:hover {

background:var(--primary-dark);

}





/* 3D LAPTOP */


.laptop-scene {

perspective:1200px;

}



.laptop {

transform:
rotateY(-18deg)
rotateX(10deg);

transition:.5s;

}



.laptop:hover {

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

}



.screen {

height:360px;

background:#111827;

border-radius:18px 18px 8px 8px;

padding:18px;

box-shadow:
0 40px 80px rgba(15,23,42,.25);

}



.code-window {

height:100%;

background:#0b1220;

border-radius:12px;

overflow:hidden;

}



.code-top {

height:38px;

display:flex;

align-items:center;

gap:8px;

padding-left:15px;

background:#111827;

}



.code-top span {

width:10px;

height:10px;

border-radius:50%;

background:#64748b;

}



.code {

padding:25px;

font-family:monospace;

font-size:14px;

color:#d1d5db;

}



.code p {

margin-bottom:12px;

}



.indent {

padding-left:25px;

}



.purple {

color:#c084fc;

}


.blue {

color:#60a5fa;

}


.yellow {

color:#facc15;

}



.keyboard {

height:20px;

background:#d1d5db;

border-radius:0 0 15px 15px;

transform:
perspective(300px)
rotateX(60deg);

}





/* SECTIONS */


section {

padding:100px 0;

}



.section-heading {

text-align:center;

margin-bottom:60px;

}



.section-heading h2 {

font-size:44px;

letter-spacing:-1px;

}



.section-heading p {

color:var(--muted);

margin-top:12px;

}





/* CARDS */


.cards {

display:grid;

gap:25px;

}



.card {

background:var(--surface);

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

border-radius:24px;

padding:35px;

}



.card svg {

width:40px;

height:40px;

color:var(--primary);

margin-bottom:25px;

}



.card h3 {

font-size:22px;

margin-bottom:15px;

}



.card p {

color:var(--muted);

}





/* REVIEWS */


.review-slider {

display:flex;

align-items:center;

justify-content:center;

gap:30px;

}



.review-content {

max-width:700px;

}



.review {

display:none;

background:white;

padding:45px;

border-radius:25px;

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

}



.review.active {

display:block;

}



.review p {

font-size:22px;

}



.review strong {

display:block;

margin-top:25px;

color:var(--primary);

}



.review-arrow {

width:55px;

height:55px;

border-radius:50%;

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

background:white;

cursor:pointer;

}



.review-arrow:hover {

background:#f1f5f9;

}





/* CONTACT */


.contact-box {

background:white;

border-radius:30px;

padding:60px;

text-align:center;

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

}



.contact-box h2 {

font-size:42px;

}



.contact-box p {

color:var(--muted);

margin:15px 0 35px;

}



form {

display:grid;

gap:15px;

}



input {

padding:17px;

border-radius:12px;

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

font-size:16px;

}





/* FOOTER */


footer {

padding:50px 0;

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

background:white;

}



.footer {

display:flex;

flex-direction:column;

align-items:center;

gap:25px;

}



.footer-links a {

margin:0 12px;

text-decoration:none;

color:#344054;

}



.email {

color:var(--primary);

text-decoration:none;

}





/* ANIMATION */


.reveal {

opacity:0;

transform:translateY(30px);

transition:.8s;

}



.reveal.active {

opacity:1;

transform:none;

}





@media(min-width:768px){


nav {

display:block;

}


.hero-grid {

grid-template-columns:1fr 1fr;

}



.cards {

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

}



form {

grid-template-columns:1fr 1fr auto;

}



.footer {

flex-direction:row;

justify-content:space-between;

}


}