/* ==========================================================
   HERFINA PORTFOLIO
   Modern UI
   Author : ChatGPT
========================================================== */

:root{

--primary:#2563EB;
--primary-light:#3B82F6;
--secondary:#60A5FA;

--dark:#0F172A;
--text:#334155;
--gray:#64748B;

--white:#ffffff;

--background:#F6FAFF;

--card:#FFFFFF;

--border:#E2E8F0;

--shadow:
0 15px 40px rgba(37,99,235,.08);

--radius:24px;

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Inter',sans-serif;

background:var(--background);

color:var(--text);

overflow-x:hidden;

}

/* ===================================== */

.container{

width:100%;

max-width:1200px;

margin:auto;

padding-left:30px;

padding-right:30px;

}

/* ===================================== */

a{

text-decoration:none;

color:inherit;

}

img{

max-width:100%;

display:block;

}

/* ===================================== */

nav{

position:fixed;

top:0;

left:0;

width:100%;

z-index:999;

background:rgba(255,255,255,.85);

backdrop-filter:blur(18px);

border-bottom:1px solid rgba(0,0,0,.05);

}

nav .container{

display:flex;

justify-content:space-between;

align-items:center;

height:80px;

}

/* ===================================== */

.logo{

display:flex;

align-items:center;

gap:15px;

}

.logo-icon{

width:52px;

height:52px;

border-radius:16px;

background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

display:flex;

justify-content:center;

align-items:center;

color:white;

font-weight:bold;

font-size:22px;

box-shadow:var(--shadow);

}

.logo h3{

font-size:18px;

font-weight:700;

color:var(--dark);

}

.logo p{

font-size:13px;

color:var(--gray);

margin-top:2px;

}

/* ===================================== */

nav ul{

display:flex;

list-style:none;

gap:35px;

}

nav ul li a{

font-weight:600;

transition:.3s;

position:relative;

}

nav ul li a:hover{

color:var(--primary);

}

nav ul li a::after{

content:"";

position:absolute;

left:0;

bottom:-6px;

width:0;

height:3px;

border-radius:20px;

background:var(--primary);

transition:.3s;

}

nav ul li a:hover::after{

width:100%;

}

/* ===================================== */

.download-btn{

padding:14px 28px;

border-radius:16px;

background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

color:white;

font-weight:700;

box-shadow:var(--shadow);

transition:.3s;

}

.download-btn:hover{

transform:translateY(-3px);

}

/* ===================================== */

.hero{

padding-top:160px;

padding-bottom:100px;

position:relative;

overflow:hidden;

}

/* blob background */

.hero::before{

content:"";

position:absolute;

width:650px;

height:650px;

background:#DBEAFE;

border-radius:50%;

top:-260px;

right:-200px;

filter:blur(40px);

opacity:.7;

}

.hero::after{

content:"";

position:absolute;

width:450px;

height:450px;

background:#BFDBFE;

border-radius:50%;

left:-180px;

bottom:-220px;

filter:blur(40px);

opacity:.6;

}

.hero-grid{

display:grid;

grid-template-columns:1.1fr .9fr;

align-items:center;

gap:80px;

position:relative;

z-index:2;

}

/* ===================================== */

.badge{

display:inline-flex;

padding:10px 18px;

border-radius:999px;

background:#DBEAFE;

color:var(--primary);

font-weight:700;

margin-bottom:25px;

}

.hero h1{

font-size:68px;

line-height:1.1;

font-weight:800;

color:var(--dark);

margin-bottom:20px;

}

.hero h1 span{

background:linear-gradient(
90deg,
var(--primary),
var(--secondary)
);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.hero p{

font-size:18px;

line-height:34px;

color:var(--gray);

max-width:620px;

}

/* ===================================== */

.hero-button{

display:flex;

gap:18px;

margin-top:40px;

}

.hero-button a{

padding:16px 30px;

border-radius:18px;

font-weight:700;

transition:.3s;

}

.hero-button a:first-child{

background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

color:white;

box-shadow:var(--shadow);

}

.hero-button a:last-child{

background:white;

border:2px solid var(--border);

}

.hero-button a:hover{

transform:translateY(-4px);

}

/* ===================================== */

.photo-card{

position:relative;

width:430px;

margin:auto;

}

.photo-card img{

width:100%;

aspect-ratio:1;

object-fit:cover;

border-radius:35px;

background:white;

padding:10px;

box-shadow:

0 25px 60px rgba(0,0,0,.08);

}

.experience-box{

position:absolute;

bottom:25px;

left:-40px;

background:white;

padding:22px;

border-radius:20px;

box-shadow:var(--shadow);

min-width:180px;

}

.experience-box h2{

font-size:40px;

color:var(--primary);

}

.experience-box p{

margin-top:5px;

font-size:15px;

line-height:24px;

}

/* ===================================== */

.title{

text-align:center;

margin-bottom:70px;

}

.title h2{

font-size:42px;

color:var(--dark);

margin-bottom:20px;

}

.title p{

max-width:760px;

margin:auto;

line-height:34px;

color:var(--gray);

font-size:18px;

}

/* ===================================== */

.info{

padding:60px 0;

}

.info-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.card{

background:white;

border-radius:24px;

padding:40px;

text-align:center;

box-shadow:var(--shadow);

transition:.35s;

border:1px solid var(--border);

}

.card:hover{

transform:translateY(-10px);

}

.card i{

font-size:38px;

color:var(--primary);

margin-bottom:20px;

}

.card h3{

margin-bottom:10px;

}

/* ===================================== */

.section-title{

text-align:center;

margin-bottom:60px;

}

.section-title h2{

font-size:42px;

color:var(--dark);

}

.section-title p{

margin-top:10px;

color:var(--gray);

}
/* ==========================================================
   EXPERIENCE
========================================================== */

#experience{
    padding:100px 0;
}

.timeline{
    position:relative;
    max-width:900px;
    margin:auto;
}

.timeline::before{
    content:"";
    position:absolute;
    left:32px;
    top:0;
    width:4px;
    height:100%;
    background:linear-gradient(
        var(--primary),
        var(--secondary)
    );
    border-radius:999px;
}

.timeline-item{

    position:relative;

    margin-bottom:45px;

    padding-left:90px;

}

.timeline-dot{

    position:absolute;

    left:18px;

    top:25px;

    width:32px;

    height:32px;

    border-radius:50%;

    background:white;

    border:6px solid var(--primary);

    box-shadow:var(--shadow);

}

.timeline-content{

    background:white;

    padding:30px;

    border-radius:24px;

    box-shadow:var(--shadow);

    transition:.35s;

}

.timeline-content:hover{

    transform:translateY(-8px);

}

.timeline-content h3{

    color:var(--dark);

    margin-bottom:6px;

}

.timeline-content h4{

    color:var(--primary);

    margin-bottom:15px;

}

.timeline-content ul{

    margin-left:20px;

    line-height:32px;

    color:var(--gray);

}

/* ==========================================================
   EDUCATION
========================================================== */

#education{

    padding:100px 0;

}

.education-card{

    max-width:700px;

    margin:auto;

    background:white;

    padding:45px;

    border-radius:28px;

    box-shadow:var(--shadow);

}

.education-card h3{

    font-size:28px;

    margin-bottom:10px;

}

.education-card p{

    line-height:34px;

    color:var(--gray);

}

/* ==========================================================
   SKILL
========================================================== */

#skills{

    padding:100px 0;

}

.skill-wrapper{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

}

.skill{

    background:white;

    border-radius:24px;

    padding:30px;

    box-shadow:var(--shadow);

}

.skill h4{

    margin-bottom:15px;

}

.progress{

    width:100%;

    height:12px;

    background:#E5E7EB;

    border-radius:999px;

    overflow:hidden;

}

.progress span{

    display:block;

    height:100%;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--secondary)
    );

}

/* ==========================================================
   CONTACT
========================================================== */

#contact{

    padding:120px 0;

}

.contact-card{

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:white;

    text-align:center;

    padding:80px;

    border-radius:35px;

}

.contact-card h2{

    font-size:48px;

    margin-bottom:20px;

}

.contact-card p{

    max-width:720px;

    margin:auto;

    line-height:34px;

    opacity:.95;

}

.contact-button{

    margin-top:45px;

    display:flex;

    justify-content:center;

    gap:20px;

}

.contact-button a{

    padding:16px 32px;

    border-radius:18px;

    font-weight:700;

    transition:.3s;

}

.contact-button a:first-child{

    background:white;

    color:var(--primary);

}

.contact-button a:last-child{

    border:2px solid white;

    color:white;

}

.contact-button a:hover{

    transform:translateY(-5px);

}

/* ==========================================================
   FOOTER
========================================================== */

footer{

    padding:35px 0;

    text-align:center;

    color:var(--gray);

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:992px){

.hero-grid{

grid-template-columns:1fr;

text-align:center;

}

.photo-card{

width:320px;

margin-top:40px;

}

.experience-box{

left:50%;

transform:translateX(-50%);

bottom:-25px;

}

.hero-button{

justify-content:center;

}

.info-grid{

grid-template-columns:1fr;

}

.skill-wrapper{

grid-template-columns:1fr;

}

nav ul{

display:none;

}

}

@media(max-width:768px){

.hero{

padding-top:130px;

}

.hero h1{

font-size:44px;

}

.title h2,
.section-title h2{

font-size:34px;

}

.contact-card{

padding:45px 25px;

}

.contact-card h2{

font-size:32px;

}

.contact-button{

flex-direction:column;

}

.timeline-item{

padding-left:70px;

}

.timeline::before{

left:24px;

}

.timeline-dot{

left:10px;

}

}

@media(max-width:480px){

.container{

padding-left:18px;

padding-right:18px;

}

.hero h1{

font-size:36px;

}

.photo-card{

width:260px;

}

.download-btn{

display:none;

}

.badge{

font-size:14px;

}

}