/* ================= RESET ================= */
html, body{
max-width:100vw;
overflow-x:hidden;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
overflow-x:hidden;
}

body{
font-family:Inter,sans-serif;
color:#fff;
overflow-x:hidden;
background:radial-gradient(circle at top,#0a1238 0%,#050816 40%,#000 100%);
}

/* ================= NAV ================= */

nav{
position:fixed;
top:0;
left:0;
width:100%;
display:flex;
align-items:center;
justify-content:space-between;

padding:18px 24px; /* вместо 8% */
background:rgba(5,10,25,0.55);
backdrop-filter:blur(18px);
z-index:9999;
}

nav img{
height:56px;
max-width:160px;
object-fit:contain;
}

nav .nav-links{
display:flex;
gap:24px;
}

nav a{
text-decoration:none;
color:#fff;
opacity:.85;
font-size:16px;
white-space:nowrap; /* чтобы не переносились */
}

/* ================= HERO ================= */

.hero{
height:100vh;
position:relative;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
z-index:5;
}

.hero video{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
}

.hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(to bottom, rgba(0,0,40,.6), rgba(0,0,0,.92));
}

.hero-content{
position:relative;
z-index:2;
max-width:900px;
}

.hero h1{
font-size:64px;
margin-bottom:20px;
}

.hero p{
font-size:22px;
opacity:.9;
}

/* ================= SECTIONS ================= */

section{
padding:140px 20px;
position:relative;
}

section + section{
margin-top:80px;
}

/* ================= CONTENT PANEL ================= */

.content{
max-width:1100px;
width:100%;
margin:auto;

background:rgba(15,20,45,.65);
border-radius:34px;
padding:60px;

backdrop-filter:blur(18px);

box-shadow:0 35px 90px rgba(0,0,0,.45);
}

.title{
font-size:44px;
margin-bottom:30px;
}

.text{
font-size:18px;
line-height:1.75;
margin-bottom:18px;
}

/* ================= GRID ================= */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:50px;
}

/* ================= GLASS CARDS ================= */

.card{
padding:40px;
border-radius:28px;

background:linear-gradient(
145deg,
rgba(25,35,85,.85),
rgba(12,18,40,.85)
);

border:1px solid rgba(120,160,255,.18);
transition:.4s;
}

.card:hover{
box-shadow:
0 0 80px rgba(60,120,255,.35),
inset 0 0 40px rgba(255,255,255,.05);
}

.card h3{
font-size:22px;
margin-bottom:24px;
}

.card li{
list-style:none;
margin-bottom:16px;
padding-left:22px;
position:relative;
font-size:17px;
}

.card li::before{
content:"◆";
position:absolute;
left:0;
color:#6d8fff;
}

/* ================= MEDIA ================= */

.media{
margin-top:45px;
border-radius:32px;
overflow:hidden;
box-shadow:0 25px 70px rgba(0,0,0,.55);
}

.media img,
.media video{
width:100%;
display:block;
}

/* ================= CLIENTS ================= */

.clients{
display:flex;
justify-content:center;
gap:60px;
flex-wrap:wrap;
margin-top:40px;
}

.clients img{
height:70px;
filter:grayscale(100%);
opacity:.85;
transition:.3s;
}

.clients img:hover{
filter:none;
opacity:1;
transform:scale(1.08);
}

/* ================= CONTACT ================= */

#contact .content{
background:transparent;
box-shadow:none;
backdrop-filter:none;
text-align:center;
}

/* ================= THREE BACKGROUND ================= */

#three-canvas{
position:fixed;
inset:0;
z-index:-5;
opacity:.1;
pointer-events:none;
}

/* ===================================================== */
/* ===== APPLE CLUSTER — НОВАЯ ЧИСТАЯ РЕАЛИЗАЦИЯ ===== */
/* ===================================================== */

.apple-cluster{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:40px;
margin-top:60px;
}

/* карточки */

.cluster-card{
display:flex;
align-items:center;
justify-content:center;
text-align:center;

min-height:180px;
padding:50px 30px;

border-radius:36px;

background:rgba(255,255,255,0.08);
backdrop-filter:blur(18px);

font-size:20px;
font-weight:600;

transition:.3s;

box-shadow:
0 25px 70px rgba(0,0,0,.35),
inset 0 0 40px rgba(255,255,255,.06);
}

.cluster-card:hover{
background:rgba(255,255,255,0.12);
transform:translateY(-6px);

box-shadow:0 30px 80px rgba(80,120,255,.35);
}

/* центральная карточка */

.main-card{
grid-column:1/-1;
font-size:28px;
min-height:220px;

background:rgba(255,255,255,0.12);

box-shadow:
0 40px 100px rgba(0,0,0,.45),
inset 0 0 60px rgba(255,255,255,.08);
}

/* ================= MODAL ================= */

.cluster-modal{
position:fixed;
inset:0;
background:rgba(0,0,0,.65);
backdrop-filter:blur(8px);

display:flex;
align-items:center;
justify-content:center;

z-index:99999;
}

.cluster-modal-window{
max-width:500px;
width:90%;

padding:50px;
border-radius:32px;

background:rgba(255,255,255,0.08);
backdrop-filter:blur(20px);

box-shadow:
0 40px 120px rgba(0,0,0,.6),
inset 0 0 60px rgba(255,255,255,.08);

text-align:center;
}

.modal-close{
margin-top:30px;
padding:12px 30px;

border-radius:20px;
border:none;

background:rgba(120,150,255,.3);
color:white;

cursor:pointer;
transition:.3s;
}

.modal-close:hover{
background:rgba(120,150,255,.6);
}

/* ================= MOBILE ================= */

@media(max-width:768px){

nav img{
height:46px;
}

.hero h1{
font-size:36px;
}

.hero p{
font-size:18px;
}

.title{
font-size:30px;
}

.content{
padding:35px;
}

.grid{
gap:30px;
}

.clients img{
height:55px;
}

.apple-cluster{
gap:25px;
}

.cluster-card{
font-size:17px;
padding:40px 20px;
}

.main-card{
font-size:22px;
}

@media(max-width:768px){

nav{
padding:12px 16px;
}

nav img{
height:42px;
max-width:120px;
}

nav .nav-links{
gap:14px;
}

nav a{
font-size:14px;
}

/* ===== MODAL TEXT FIX ===== */

.modal-title{
font-size:28px;
margin-bottom:30px;
letter-spacing:0.5px;

text-shadow:0 0 20px rgba(120,160,255,.4);
}

.modal-list{
list-style:none;
text-align:left;
padding:0;
margin:0 auto;
max-width:420px;
}

.modal-list li{
position:relative;
padding-left:28px;
margin-bottom:18px;

font-size:18px;
line-height:1.6;
opacity:.92;
}

/* фирменный маркер */

.modal-list li::before{
content:"◆";
position:absolute;
left:0;
color:#7fa2ff;
font-size:14px;
top:4px;
}

/* кнопка */

.modal-close{
margin-top:35px;
padding:14px 40px;

border-radius:30px;
border:none;

background:linear-gradient(135deg,#4c6fff,#7fa2ff);
color:#fff;

font-weight:600;
letter-spacing:.5px;

cursor:pointer;
transition:.3s;
}

.modal-close:hover{
transform:translateY(-3px);
box-shadow:0 10px 30px rgba(80,120,255,.4);
}
.cluster-modal-window{
text-align:center;
}

.modal-list{
margin-top:25px;
}
.modal-list{
list-style:none;
text-align:left;
padding:0;
margin:0 auto;
max-width:420px;
}

.modal-list li{
position:relative;
padding-left:26px;
margin-bottom:16px;

font-size:18px;
line-height:1.6;
}

/* фирменные ромбы */

.modal-list li::before{
content:"◆";
position:absolute;
left:0;
top:3px;
color:#7fa2ff;
font-size:14px;
}
@media(max-width:768px){

/* контейнер текста */
#aboutText{
max-width:620px;
margin:0 auto;
}

/* сами абзацы */
#aboutText .text{

font-size:16.5px;
line-height:1.75;

letter-spacing:0.2px;

margin-bottom:22px;

color:rgba(255,255,255,0.92);
}

/* заголовок */
#about h2{
font-size:32px;
margin-bottom:26px;
}

/* внутренние отступы блока */
#about .content{
padding:38px 26px;
}

#aboutText{
max-width:520px;
}

#aboutText .text{
text-wrap:pretty;
}


}
