/* ===========================================================
   APURVA E.C PORTFOLIO
   style.css
=========================================================== */

:root{

    --bg:#f7f4ee;
    --surface:#ffffff;

    --text:#1f1f1f;
    --muted:#666666;

    --border:#dddddd;

    --accent:#49533c;
    --accent-light:#6d7a5c;

    --shadow:0 18px 45px rgba(0,0,0,.08);

    --max-width:1200px;

    --radius:18px;

    --transition:.35s ease;

}

/* ========================================================= */

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

html{

    scroll-behavior:smooth;

}

body{

    background:var(--bg);

    color:var(--text);

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

    line-height:1.8;

    overflow-x:hidden;

}

img{

    width:100%;

    display:block;

}

a{

    text-decoration:none;

    color:inherit;

}

section{

    padding:110px 8%;

}

.container{

    max-width:var(--max-width);

    margin:auto;

}

/* ========================================================= */
/* TYPOGRAPHY */
/* ========================================================= */

h1,
h2,
h3,
h4{

    font-family:'Cormorant Garamond',serif;

    font-weight:600;

    letter-spacing:.4px;

}

h1{

    font-size:4.6rem;

    line-height:1.05;

}

h2{

    font-size:3rem;

}

h3{

    font-size:2rem;

}

p{

    color:var(--muted);

    font-size:1rem;

}

.section-title{

    margin-bottom:70px;

}

.section-title span{

    text-transform:uppercase;

    letter-spacing:2px;

    color:var(--accent);

    font-size:.8rem;

}

.section-title h2{

    margin-top:12px;

}

/* ========================================================= */
/* NAVIGATION */
/* ========================================================= */

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    background:rgba(247,244,238,.95);

    backdrop-filter:blur(14px);

    z-index:1000;

    border-bottom:1px solid rgba(0,0,0,.05);

}

header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:22px 8%;

}

.logo{

    font-size:1.2rem;

    letter-spacing:3px;

    font-weight:600;

}

nav{

    display:flex;

    gap:40px;

}

nav a{

    position:relative;

    font-size:.95rem;

    transition:var(--transition);

}

nav a:hover{

    color:var(--accent);

}

nav a.active::after,
nav a:hover::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:100%;

    height:2px;

    background:var(--accent);

}

/* ========================================================= */
/* HERO */
/* ========================================================= */

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

}

.hero-content{

    max-width:760px;

}

.hero-tag{

    text-transform:uppercase;

    letter-spacing:3px;

    margin-bottom:25px;

    color:var(--accent);

}

.hero-description{

    margin-top:30px;

    max-width:650px;

    font-size:1.1rem;

}

.hero-buttons{

    display:flex;

    gap:20px;

    margin-top:50px;

}

/* ========================================================= */
/* BUTTONS */
/* ========================================================= */

.btn-primary{

    background:var(--accent);

    color:white;

    padding:15px 34px;

    border-radius:50px;

    transition:var(--transition);

}

.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow);

}

.btn-secondary{

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

    padding:15px 34px;

    border-radius:50px;

    transition:var(--transition);

}

.btn-secondary:hover{

    background:white;

    box-shadow:var(--shadow);

}

/* ========================================================= */
/* PROJECT GRID */
/* ========================================================= */

.project-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:40px;

}

.project-card{

    background:white;

    border-radius:var(--radius);

    padding:45px;

    transition:var(--transition);

    border:1px solid rgba(0,0,0,.05);

}

.project-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow);

}

.project-number{

    color:var(--accent);

    font-size:4rem;

    font-family:'Cormorant Garamond',serif;

    margin-bottom:20px;

}

.project-card h3{

    margin-bottom:18px;

}

.project-card p{

    margin-bottom:25px;

}

/* ========================================================= */
/* QUOTE */
/* ========================================================= */

.quote{

    text-align:center;

    max-width:900px;

    margin:auto;

}

blockquote{

    font-size:2.8rem;

    font-family:'Cormorant Garamond',serif;

    line-height:1.4;

}

.quote p{

    margin-top:25px;

    text-transform:uppercase;

    letter-spacing:2px;

}

/* ========================================================= */
/* CTA */
/* ========================================================= */

.cta{

    text-align:center;

}

.cta h2{

    margin-bottom:35px;

}

/* ========================================================= */
/* FOOTER */
/* ========================================================= */

footer{

    padding:50px;

    border-top:1px solid rgba(0,0,0,.08);

    text-align:center;

}

/* ========================================================= */
/* ABOUT */
/* ========================================================= */

.two-column{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.about-image{

    border-radius:20px;

    overflow:hidden;

}

.skills{

    display:grid;

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

    gap:15px;

    margin-top:35px;

}

.skill{

    padding:14px;

    background:white;

    border-radius:10px;

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

}

/* ========================================================= */
/* GALLERY */
/* ========================================================= */

.gallery{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:20px;

}

.gallery img{

    border-radius:14px;

    transition:var(--transition);

}

.gallery img:hover{

    transform:scale(1.03);

}

/* ========================================================= */
/* TIMELINE */
/* ========================================================= */

.timeline{

    border-left:2px solid var(--accent);

    padding-left:40px;

}

.timeline-item{

    margin-bottom:60px;

    position:relative;

}

.timeline-item::before{

    content:"";

    position:absolute;

    width:14px;

    height:14px;

    background:var(--accent);

    border-radius:50%;

    left:-48px;

    top:10px;

}

/* ========================================================= */
/* PERSONA */
/* ========================================================= */

.tags{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

}

.tag{

    padding:12px 22px;

    background:white;

    border-radius:40px;

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

    transition:var(--transition);

}

.tag:hover{

    background:var(--accent);

    color:white;

}

/* ========================================================= */
/* CONTACT */
/* ========================================================= */

.contact-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:40px;

}

.contact-card{

    background:white;

    padding:40px;

    border-radius:18px;

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

}

/* ========================================================= */
/* UTILITIES */
/* ========================================================= */

.fade-up{

    opacity:0;

    transform:translateY(30px);

    transition:.8s ease;

}

.fade-up.show{

    opacity:1;

    transform:none;

}

.text-center{

    text-align:center;

}

.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}
.mt-4{margin-top:40px;}
.mt-5{margin-top:50px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}
.mb-5{margin-bottom:50px;}