:root{
    --primary:#0F4C5C;
    --accent:#C89B5E;
    --dark:#263238;
    --light:#FAFAFA;
    --border:#E5E7EB;
    --max-width:1200px;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    color:var(--dark);
    line-height:1.7;
    background:white;
}

.container{
    width:90%;
    max-width:var(--max-width);
    margin:auto;
}

.narrow{
    max-width:850px;
}

h1,h2,h3{
    font-family:'Cormorant Garamond',serif;
    color:var(--dark);
}

h1{
    font-size:4.5rem;
    line-height:1;
    margin-bottom:15px;
}

h2{
    font-size:2.8rem;
    margin-bottom:30px;
    text-align:center;
}

h3{
    font-size:1.6rem;
}

p{
    margin-bottom:20px;
}

section{
    padding:100px 0;
}

.grey{
    background:var(--light);
}

/* HEADER */

header{
    position:sticky;
    top:0;
    background:white;
    border-bottom:1px solid var(--border);
    z-index:1000;
}

.header-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:80px;
}

.logo{
    line-height:1.1;
}

.logo-name{
    font-size:1rem;
    font-weight:700;
    letter-spacing:1px;
    color:var(--primary);
}

.logo-role{
    font-size:.70rem;
    color:#666;
    margin-top:2px;
}

nav{
    display:flex;
    gap:30px;
}

nav a{
    text-decoration:none;
    color:var(--dark);
    font-weight:500;
}

nav a:hover{
    color:var(--primary);
}

.lang-switch{
    display:flex;
    gap:10px;
}

.lang-switch a{
    text-decoration:none;
    color:var(--dark);
}

.lang-switch .active{
    color:var(--primary);
    font-weight:700;
}

/* HERO */

.hero{
    min-height:90vh;
    display:flex;
    align-items:center;
}

.hero-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:80px;
    align-items:center;
}

.eyebrow{
    display:block;
    color:var(--accent);
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:20px;
    font-size:.85rem;
    font-weight:600;
}

.hero h2{
    text-align:left;
    margin-bottom:25px;
    font-size:2rem;
    color:var(--primary);
}

.hero-image img{
    width:100%;
    border-radius:20px;
    box-shadow:0 25px 50px rgba(0,0,0,.15);
}

.hero-buttons{
    margin-top:35px;
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.btn-primary{
    background:var(--primary);
    color:white;
    text-decoration:none;
    padding:14px 28px;
    border-radius:8px;
    transition:.3s;
}

.btn-primary:hover{
    opacity:.9;
}

.btn-secondary{
    border:2px solid var(--primary);
    color:var(--primary);
    text-decoration:none;
    padding:14px 28px;
    border-radius:8px;
}

/* TIMELINE */

.timeline{
    max-width:900px;
    margin:auto;
}

.timeline-item{
    border-left:4px solid var(--primary);
    padding:10px 0 25px 25px;
    margin-left:20px;
    position:relative;
}

.timeline-item::before{
    content:'';
    width:14px;
    height:14px;
    background:var(--accent);
    border-radius:50%;
    position:absolute;
    left:-9px;
    top:15px;
}

.timeline-item span{
    color:var(--accent);
    font-weight:700;
}

.timeline-item h3{
    margin-top:5px;
}

/* CARDS */

.cards{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.card{
    background:white;
    padding:35px;
    border-radius:16px;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.card h3{
    margin-bottom:15px;
    color:var(--primary);
}

/* INTERESTS */

#interests{
    background:url('../images/travel-cover.jpg');
    background-size:cover;
    background-position:center;
    color:white;
    position:relative;
}

#interests::before{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
}

#interests .container{
    position:relative;
    z-index:2;
}

#interests h2{
    color:white;
}

/* CONTACT */

.contact{
    text-align:center;
}

.contact a{
    color:var(--primary);
    text-decoration:none;
    font-weight:600;
}

/* FOOTER */

footer{
    background:var(--dark);
    color:white;
    text-align:center;
    padding:40px;
}

/* MOBILE */

@media(max-width:900px){

nav{
    display:none;
}

.hero-grid{
    grid-template-columns:1fr;
}

.hero-image{
    order:-1;
}

h1{
    font-size:3rem;
}

.hero h2{
    font-size:1.5rem;
}

.cards{
    grid-template-columns:1fr;
}

section{
    padding:70px 0;
}

}