/* =========================
COLOR THEMES
========================= */

:root{
--accent:#D4AF37;
--accent-rgb:212,175,55;
}

[data-theme="gold"]{
--accent:#D4AF37;
--accent-rgb:212,175,55;
}

[data-theme="emerald"]{
--accent:#2ECC71;
--accent-rgb:46,204,113;
}

[data-theme="sapphire"]{
--accent:#3B82F6;
--accent-rgb:59,130,246;
}

[data-theme="ruby"]{
--accent:#E63946;
--accent-rgb:230,57,70;
}

[data-theme="amethyst"]{
--accent:#A855F7;
--accent-rgb:168,85,247;
}

[data-theme="coral"]{
--accent:#FF6B6B;
--accent-rgb:255,107,107;
}

[data-theme="teal"]{
--accent:#14B8A6;
--accent-rgb:20,184,166;
}

[data-theme="rose-gold"]{
--accent:#E8B4B8;
--accent-rgb:232,180,184;
}

[data-theme="silver"]{
--accent:#C0C0C0;
--accent-rgb:192,192,192;
}

[data-theme="orange"]{
--accent:#FF8C42;
--accent-rgb:255,140,66;
}

[data-theme="lime"]{
--accent:#A3E635;
--accent-rgb:163,230,53;
}

[data-theme="cyan"]{
--accent:#22D3EE;
--accent-rgb:34,211,238;
}

/* =========================
RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Inter',sans-serif;
background:#0b0b0b;
color:#fff;
line-height:1.7;
overflow-x:hidden;
}

/* =========================
GLOBAL
========================= */

.container{
width:min(1200px,92%);
margin:auto;
}

img{

display:block;
}

a{
text-decoration:none;
}

.section{
padding:120px 0;
}

.dark{
background:#141414;
}

.section-heading{
margin-bottom:60px;
}

.section-heading span{
color:var(--accent);
font-size:14px;
letter-spacing:3px;
font-weight:700;
display:block;
margin-bottom:10px;
}

.section-heading h2{
font-family:'Poppins',sans-serif;
font-size:3rem;
font-weight:800;
}

/* =========================
NAVBAR
========================= */

.navbar{
position:fixed;
width:100%;
top:0;
left:0;
z-index:999;
background:rgba(0,0,0,.85);
backdrop-filter:blur(15px);
}

.nav-container{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 0;
}

.logo{
font-size:24px;
font-weight:800;
}

.logo span{
color:var(--accent);
}

.pinnacle-logo{
height:32px !important;
width:auto !important;
max-width:160px;
display:block;
object-fit:contain;
}

.nav-links{
display:flex;
list-style:none;
gap:30px;
}

.nav-links a{
color:#fff;
font-weight:500;
transition:.3s;
}

.nav-links a:hover{
color:var(--accent);
}

/* =========================
HERO
========================= */

.hero{
height:100vh;
display:flex;
align-items:center;
background:
linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),
url('../images/cover.jpg');
background-size:cover;
background-position:center;
position:relative;
}

.hero-content{
position:relative;
z-index:2;
}

.portfolio-tag{
display:inline-block;
padding:12px 20px;
border:1px solid var(--accent);
border-radius:40px;
color:var(--accent);
font-size:13px;
letter-spacing:2px;
margin-bottom:25px;
}

.hero h1{
font-family:'Poppins',sans-serif;
font-size:6rem;
font-weight:800;
line-height:1;
margin-bottom:20px;
}

.hero h2{
font-size:1.8rem;
color:var(--accent);
margin-bottom:25px;
}

.hero p{
max-width:700px;
font-size:1.1rem;
color:#d9d9d9;
margin-bottom:40px;
}

.btn{
display:inline-block;
background:var(--accent);
color:#000;
padding:15px 35px;
font-weight:700;
border-radius:8px;
transition:.3s;
}

.btn:hover{
transform:translateY(-5px);
}

.hero-actions{
display:flex;
flex-wrap:wrap;
gap:15px;
margin-top:20px;
}

.btn-outline{
background:transparent;
color:var(--accent);
border:2px solid var(--accent);
padding:13px 33px;
}

.btn-outline:hover{
background:var(--accent);
color:#000;
}

/* =========================
ABOUT
========================= */

.about-grid{
display:grid;
grid-template-columns:400px 1fr;
gap:60px;
align-items:center;
}

.about-image img{
border-radius:20px;
width:100%;}

.about-content h3{
font-size:2rem;
margin-bottom:20px;
}

.about-content p{
margin-bottom:15px;
color:#d0d0d0;
}

.stats{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-top:30px;
}

.stat-box{
background:#181818;
padding:25px;
border-radius:15px;
text-align:center;
}

.stat-box h4{
font-size:2rem;
color:var(--accent);
}

/* =========================
CARD GRID
========================= */

.card-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
margin-top:40px;
}
/* =========================
GRID CARDS
========================= */



.skill-card,
.deliverable-card,
.service-card,
.edu-card,
.cert-card{
background:#1a1a1a;
padding:30px;
border-radius:16px;
border:1px solid rgba(var(--accent-rgb),.15);
transition:.3s;
font-weight:600;
}

.skill-card:hover,
.deliverable-card:hover,
.service-card:hover,
.edu-card:hover,
.cert-card:hover{
transform:translateY(-10px);
border-color:var(--accent);
}


/* =========================
CERTIFICATES
========================= */


.certificate-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
margin-top:40px;
}

.cert-card{
width:100%;
max-width:none;
background:#181818;
border:1px solid rgba(var(--accent-rgb),.15);
border-radius:18px;
padding:25px;
text-align:center;
margin:0;
}

.cert-card img{
width:auto !important;
max-width:350px;
max-height:450px;
height:auto;
display:block;
margin:0 auto 15px;
border-radius:12px;
object-fit:contain;
}




.cert-card:hover{
transform:translateY(-8px);
border-color:var(--accent);
}



.cert-card h3{
font-size:22px;
margin-bottom:8px;
color:#fff;
line-height:1.3;
}

.cert-card p{
font-size:15px;
color:#bdbdbd;
margin:0;
}






/* =========================
SOFTWARE
========================= */

.software-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:25px;
}

.software-card{
background:#181818;
padding:40px;
border-radius:18px;
text-align:center;
font-weight:700;
border:1px solid rgba(var(--accent-rgb),.15);
}

.software-logo{
width:50px;
height:50px;
object-fit:contain;
margin:0 auto 15px;
}

.software-initial{
width:50px;
height:50px;
border-radius:12px;
background:linear-gradient(145deg, var(--accent), rgba(var(--accent-rgb),.6));
color:#000;
font-size:24px;
font-weight:900;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto 15px;
box-shadow:0 4px 10px rgba(var(--accent-rgb),.4), inset 0 -3px 6px rgba(0,0,0,.25);
}

.software-name{
font-size:15px;
}

.software-logo{
width:56px;
height:56px;
object-fit:contain;
margin:0 auto 15px;
display:block;
filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));
transition:transform .3s ease;
}

.software-card:hover .software-logo{
transform:translateY(-4px) scale(1.05);
}

/* =========================
PROJECTS
========================= */

.project{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
margin-bottom:120px;
}

.reverse{
direction:rtl;
}

.reverse .project-content{
direction:ltr;
}

.project-image img{
border-radius:20px;
width:100%;
}

.project-no{
color:var(--accent);
font-size:14px;
letter-spacing:2px;
}

.project-content h3{
font-size:2.5rem;
margin:15px 0;
}

.project-content p{
color:#cfcfcf;
margin-bottom:20px;
}

.project-content ul{
padding-left:20px;
}

.project-content li{
margin-bottom:10px;
}

/* =========================
TIMELINE
========================= */

.timeline{
max-width:800px;
}

.timeline-item{
background:#1a1a1a;
padding:30px;
margin-bottom:25px;
border-left:4px solid var(--accent);
border-radius:10px;
}

.timeline-item h3{
margin-bottom:10px;
}

.timeline-item span{
color:var(--accent);
display:block;
margin-bottom:10px;
}

/* =========================
CONTACT
========================= */

.contact-section{
padding:120px 0;
text-align:center;
background:
linear-gradient(
135deg,
#111,
#1b1b1b
);
}

.contact-section h2{
font-size:3rem;
margin-bottom:20px;
}

.contact-section p{
margin-bottom:40px;
color:#d0d0d0;
}

.contact-grid{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

.contact-grid div{
padding:18px 25px;
border:1px solid var(--accent);
border-radius:10px;
}

.hire-cta{
margin-top:50px;
padding-top:40px;
border-top:1px solid rgba(255,255,255,.1);
text-align:center;
}

.hire-cta p{
margin-bottom:20px;
color:#d0d0d0;
font-size:1.1rem;
}

/* =========================
FOOTER
========================= */

footer{
padding:30px 0;
text-align:center;
border-top:1px solid rgba(255,255,255,.08);
}

footer p{
color:#999;
}

/* =========================
SCROLLBAR
========================= */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#111;
}

::-webkit-scrollbar-thumb{
background:var(--accent);
border-radius:20px;
}

/* =========================
ANIMATION
========================= */

.skill-card,
.service-card,
.deliverable-card,
.cert-card,
.edu-card,
.software-card,
.stat-box{
transition:all .35s ease;
}

.skill-card:hover,
.service-card:hover,
.deliverable-card:hover,
.cert-card:hover,
.edu-card:hover,
.software-card:hover,
.stat-box:hover{
transform:translateY(-8px);
}

/* =========================
MOBILE
========================= */

@media(max-width:992px){

.hero h1{
font-size:4rem;
}

.project{
grid-template-columns:1fr;
}

.about-grid{
grid-template-columns:1fr;
}

.stats{
grid-template-columns:1fr;
}

}

@media(max-width:768px){

.section{
padding:80px 0;
}

.hero{
text-align:center;
}

.hero h1{
font-size:3rem;
}

.hero h2{
font-size:1.3rem;
}

.hero-actions{
justify-content:center;
}

.section-heading h2{
font-size:2rem;
}

.nav-links{
display:none;
}

.contact-grid{
flex-direction:column;
}

}

.hidden{
opacity:0;
transform:translateY(40px);
transition:all .8s ease;
}

.show{
opacity:1;
transform:translateY(0);
}

.nav-links a.active{
color:var(--accent);
}

.scroll-top{
position:fixed;
bottom:30px;
right:30px;
width:50px;
height:50px;
border:none;
border-radius:50%;
background:var(--accent);
color:#000;
font-size:20px;
cursor:pointer;
opacity:0;
visibility:hidden;
transition:.3s;
z-index:999;
}

.show-btn{
opacity:1;
visibility:visible;
}

.loaded{
opacity:1;
}

@media(max-width:992px){

.certificate-grid{
grid-template-columns:repeat(2,1fr);
gap:20px;
}

.cert-card img{
height:auto;
max-height:280px;
}

}

/* =========================
MOBILE
========================= */

@media(max-width:768px){

.certificate-grid{
grid-template-columns:1fr;
gap:20px;
}

.cert-card{
padding:15px;
}

.cert-card img{
height:auto;
max-height:280px;
}

.cert-card h3{
font-size:18px;
}

.cert-card p{
font-size:14px;
}

}

/* =========================
SMALL MOBILE
========================= */

@media(max-width:480px){

.certificate-grid{
gap:15px;
}

.cert-card{
padding:12px;
border-radius:14px;
}

.cert-card img{
border-radius:10px;
}

.cert-card h3{
font-size:16px;
}

}