/* RESET */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

/* BODY */

body{
font-family:'Inter', sans-serif;
background:#000;
color:#fff;
overflow-x:hidden;
}

/* HERO */

.hero{
height:100vh;
position:relative;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
background:
linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.85)),
url('../images/paris.jpg') center/cover no-repeat;
}

/* LOGO */

.logo{
width:180px;
margin-bottom:25px;
}

/* TITLES */

h1{
font-family:'Playfair Display', serif;
font-size:60px;
letter-spacing:4px;
}

.subtitle{
color:#ccc;
margin-top:12px;
font-size:18px;
}

/* BUTTON */

.btn{
margin-top:28px;
padding:12px 28px;
border:1px solid #fff;
background:transparent;
color:#fff;
cursor:pointer;
transition:.35s;
font-size:14px;
letter-spacing:1px;
}

.btn:hover{
background:#fff;
color:#000;
}

/* SECTION */

.section{
padding:90px 12%;
text-align:center;
}

.section h2{
font-family:'Playfair Display', serif;
font-size:36px;
margin-bottom:25px;
}

.section p{
max-width:900px;
margin:auto;
color:#aaa;
line-height:1.8;
}

/* SOCIAL */

.social{
margin-top:30px;
display:flex;
gap:15px;
justify-content:center;
}

.social a{
text-decoration:none;
color:#fff;
border:1px solid #333;
padding:10px 14px;
font-size:13px;
transition:.3s;
}

.social a:hover{
background:#fff;
color:#000;
}

/* FOOTER */

footer{
padding:40px;
text-align:center;
font-size:13px;
color:#666;
border-top:1px solid #111;
}

/* LANGUAGE MENU */

.lang-menu{
position:absolute;
top:25px;
right:25px;
display:flex;
gap:10px;
}

.lang-menu a{
text-decoration:none;
color:#fff;
font-size:12px;
border:1px solid #333;
padding:6px 10px;
transition:.3s;
}

.lang-menu a:hover{
background:#fff;
color:#000;
}

/* MOBILE */

@media(max-width:768px){

h1{
font-size:38px;
}

.logo{
width:130px;
}

.section{
padding:70px 8%;
}

}

/* TITULOS SECUNDÁRIOS */

h3{

font-family:'Playfair Display', serif;

font-size:24px;

margin-top:40px;

margin-bottom:10px;

color:#ffffff;

letter-spacing:1px;

}

/* LINHA DECORATIVA LUXO */

.section h2::after{

content:"";

display:block;

width:60px;

height:1px;

background:#ffffff;

margin:15px auto 30px auto;

opacity:0.6;

}

/* LISTAS ESTILO LUXO */

.section p{

font-size:17px;

}

/* ESPAÇAMENTO EXTRA */

.section br{

line-height:30px;

}

/* MENU TOPO */

.topbar{

position:fixed;

top:0;

left:0;

width:100%;

background:rgba(0,0,0,0.35);

backdrop-filter:blur(8px);

z-index:999;

}

.topbar-container{

display:flex;

align-items:center;

justify-content:space-between;

padding:14px 40px;

}

.logo-small{

width:55px;

}

.topbar nav a{

color:#fff;

text-decoration:none;

margin-left:22px;

font-size:13px;

letter-spacing:1px;

transition:.3s;

}

.topbar nav a:hover{

opacity:0.6;

}

/* ESPAÇO PARA NÃO TAPAR HERO */

body{

padding-top:70px;

}

html{

scroll-behavior:smooth;

}

/* MENU TOPO */

.topbar{

position:fixed;

top:0;

left:0;

width:100%;

background:rgba(0,0,0,0.35);

backdrop-filter:blur(8px);

z-index:999;

}

.topbar-container{

display:flex;

align-items:center;

justify-content:space-between;

padding:14px 40px;

}

.logo-small{

width:55px;

}

.topbar nav a{

color:#fff;

text-decoration:none;

margin-left:22px;

font-size:13px;

letter-spacing:1px;

transition:.3s;

}

.topbar nav a:hover{

opacity:0.6;

}

/* ESPAÇO PARA NÃO TAPAR HERO */

body{

padding-top:70px;

}

/* SCROLL SUAVE */

html{

scroll-behavior:smooth;

}
/* MENU TOPO */

.topbar{

position:fixed;

top:0;

left:0;

width:100%;

background:rgba(0,0,0,0.35);

backdrop-filter:blur(8px);

z-index:999;

}

.topbar-container{

display:flex;

align-items:center;

justify-content:space-between;

padding:14px 40px;

}

.logo-small{

width:55px;

}

.topbar nav a{

color:#fff;

text-decoration:none;

margin-left:22px;

font-size:13px;

letter-spacing:1px;

transition:.3s;

}

.topbar nav a:hover{

opacity:0.6;

}

/* ESPAÇO PARA NÃO TAPAR HERO */

body{

padding-top:70px;

}

/* SCROLL SUAVE */

html{

scroll-behavior:smooth;

}

/* ANIMAÇÃO SUAVE */

.fade-in{

opacity:1;

transform:translateY(40px);

transition:all 1.2s ease;

}

.fade-in.show{

opacity:1;

transform:translateY(0);

}