/* == FONTS == */@font-face {    font-family: 'Noto Serif Italic';    src: url('./fonts/NotoSerif-Italic-VariableFont_wdth,wght.ttf');    font-weight: normal;    font-style: italic;}@font-face {    font-family: 'Noto Serif';    src: url('./fonts/NotoSerif-VariableFont_wdth,wght.ttf');    font-weight: normal;    font-style: normal;}@font-face {    font-family: 'Style Script';    src: url('./fonts/StyleScript-Regular.ttf');    font-weight: normal;    font-style: normal;}/* == VARIABLES == */:root {    --header-height: 3.5rem;    /* == COLOURS == */    --first-color: #7BDCB5;    --second-color: #8ED1FC;    --black-color: #111111;    --body-color: #f0ece3;    /* == FONT AND TYPOGRAPHY == */    --body-font: "Noto Serif", serif;    --second-font: "Noto Serif Italic", serif;    --biggest-font-size: 3.5rem;    --bigger-font-size: 2.75rem;    --big-font-size: 1.25rem;    --normal-font-size: .937rem;    /* == FONT WEIGHT == */    --font-medium: 500;    --font-semi-bold: 600;    --font-bold: 700;    /* == Z INDEX == */    --z-tooltip: 10;    --z-fixed: 100;}/* == RESPONSIVE TYPOGRAPHY == */@media screen and (min-width: 1150px) {    :root {        --biggest-font-size: 6rem;        --bigger-font-size: 4.5rem;        --big-font-size: 2rem;        --normal-font-size: 1rem;    }}/* == BASE == */* {    box-sizing: border-box;    margin: 0;    padding: 0;}body {    font-family: var(--body-font), serif;    font-size: var(--normal-font-size);    background-color: var(--body-color);    color: var(--black-color);}ul {    list-style: none;}a {    text-decoration: none;}img {    display: block;    max-width: 100%;    height: auto;}/* == REUSABLE CSS CLASSES == */.container {    max-width: 1920px;    margin-inline: 1.5rem;}.main {    overflow: hidden;}/* == HEADER AND NAVIGATION == */.header {    position: fixed;    width: 100%;    top: 0;    left: 0;    background-color: var(--body-color);    z-index: var(--z-fixed);    transition: background-color .4s, box-shadow .4s;}.nav {    position: relative;    height: var(--header-height);    display: flex;    justify-content: space-between;    align-items: center;    background-color: var(--body-color);}.nav__logo {    display: inline-flex;    align-items: center;    column-gap: .5rem;    font-family: var(--second-font), serif;    color: var(--black-color);}.nav__logo img{    font-size: 1.5rem;}.nav__toggle,.nav__close{    display: flex;    font-size: 1.5rem;    cursor: pointer;}/* MOBILE NAVIGATION */@media screen and (max-width: 1150px) {    .nav__menu{        position: fixed;        top: -120%;        left: 0;        background-color: var(--body-color);        box-shadow: 0 4px 24px hsla(40, 24%, 4%, .1);        width: 100%;        padding-block: 5rem 4.5rem;        transition: top .4s;    }}.nav__list {    text-align: center;    display: flex;    flex-direction: column;    row-gap: 2.5rem;}.nav__link {    color: var(--black-color);}.nav__close{    position: absolute;    top: 1rem;    right: 1.5rem;}/* SHOW MENU */.show-menu {    top: 0;}/* SHADOW HEADER *//* == HOME == */.home {    position: relative;}.home__container {    padding-top: 9.5rem;    height: 100vh;}.home__data{    position: relative;    z-index: var(--z-tooltip);}.home__subtitle{    font-size: var(--big-font-size);    font-family: var(--second-font), serif;    margin-bottom: .5rem;}.home__title{    font-size: var(--bigger-font-size);    font-family: var(--second-font), serif;    line-height: 100%;    margin-bottom: 1rem;}.home__button {    position: relative;    display: inline-flex;    background-color: var(--body-color);    border: 3px soolid var(--black-color);    padding: .75rem 2rem;    border-radius: 4rem;    color: var(--black-color);}.home__button::after{    content: '';    position: absolute;    width: 100%;    height: 100%;    background-color: var(--body-color);    border: 3px solid var(--black-color);    border-radius: 4rem;    left: 0;    right: 0;    bottom: -8px;    justify-self: center;    z-index: -1;    transition: transform .4s;}.home__button:hover::after{    transform: translate(2px, 2px);}.home__images{    overflow: hidden;}.home__images div{    max-width: initial;    width: 100vw;    height: 400px;    background-size: 1000px 100%;    position: absolute;    left: 0;}.home__waves-1 {    bottom: 4rem;}.home__waves-2 {    bottom: -1.5rem;}.home__ship{    width: 300px;    position: absolute;    bottom: 10rem;    left: 0;    right: 0;    margin-inline: auto;    transform-origin: center center;    animation: ship 2s linear infinite;}.home__waves-1,.home__waves-2 {    width: 100%;    height: 270px;    background-size: cover;    background-repeat: no-repeat;    background-position: center;}@keyframes ship {    0% {        transform: translateY(0)rotate(0);    }    25% {        transform: translateY(0)rotate(-8deg);    }    50% {        transform: translateY(2px)rotate(-8deg);    }    75% {        transform: translateY(1px)rotate(0);    }    100% {        transform: translateY(0)rotate(0);    }}/* == BREAKPOINTS == *//* FOR SMALL DEVICES */@media screen and (max-width: 300px){    .container{        margin-inline: 1rem;    }    .home__title{        font-size: 3rem;    }}@media screen and (min-width: 350px) and (max-height:680px){    .home__container{        height: 750px;    }    .home__images div{        width: 100%;    }}@media screen and (min-width: 567px){    .home__images div{        width: 100%;    }    .home__ship{        width: 400px;    }}@media screen and (min-width: 1150px){    .container{        magin-inline: auto;    }    .nav{        height: calc(var(--header-height) + 2rem);    }    .nav__toggle, .nav__close{        display: none;    }    .nav__list{        flex-direction: row;        column-gap: 4.5rem;    }    .home__container{        height: 1120px;        padding-top: 11.5rem;    }    .home__ship{        bottom: 22rem;    }    .home__images div{        height: 800px;        background-size: 100vw 400%;    }}/* == FOOTER == */.footer {    background-color: var(--body-color);    color: var(--black-color);    padding: 2rem 0;}.footer__container {    display: flex;    justify-content: space-between;    align-items: center;    flex-wrap: wrap;    gap: 1.5rem;}.footer__logo img {    height: 40px;}.footer__links {    display: flex;    gap: 2rem;    list-style: none;    padding: 0;    margin: 0;}.footer__links a {    color: var(--black-color);    font-size: 0.875rem;    text-decoration: none;}.footer__links a:hover {    text-decoration: underline;}@media screen and (max-width: 600px) {    .footer__container {        flex-direction: column;        text-align: center;    }    .footer__logo img {        height: 30px;    }    .footer__links {        flex-direction: column;        gap: 0.5rem;    }}.carousel {    overflow-x: auto;    scroll-snap-type: x mandatory;    -webkit-overflow-scrolling: touch;}.carousel__track {    display: flex;    gap: 2rem;    padding: 2rem 1.5rem;    width: max-content;}.carousel__card {    flex: 0 0 300px;    background-color: white;    border-radius: 1rem;    box-shadow: 0 4px 12px rgba(0,0,0,0.1);    text-align: center;    padding: 1rem;    scroll-snap-align: center;    transition: transform 0.3s;    color: var(--black-color);}.carousel__card--focus {    transform: scale(1.1);    z-index: 1;}.carousel__card img {    width: 100%;    height: auto;    border-radius: 0.5rem;    margin-bottom: 0.5rem;}.carousel__title {    text-align: center;    font-size: var(--big-font-size);    font-family: var(--second-font);    margin-bottom: 1rem;}@media screen and (max-width: 768px) {    .carousel__card {        flex: 0 0 70%;    }}@media screen and (max-width: 768px) {    .carousel__track {        gap: 1rem;        padding: 1.5rem 1rem;    }    .carousel__card {        flex: 0 0 85%;        padding: 1rem;        max-width: 250px;    }    .carousel__card h3 {        font-size: 1.25rem;        margin-top: 0.5rem;    }    .carousel__card img {        max-height: 250px;        object-fit: cover;    }}