* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

:root {
    --glass-bg: rgba(0, 0, 0, 0.1);
    --glass-border: rgba(255, 255, 255, 0.1);
    --glass-bg-op: rgb(27, 27, 27);
}

body {
    font-family: Poppins, Arial, sans-serif;
    color: #f4f4f4;
    background: linear-gradient(180deg, #333, #000);
}

.ambient-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #333, #000);
    z-index: 0;
    opacity: 1;
    pointer-events: none;
}

header {
    color: #fff;
    padding: 20px 0;
    text-align: center;
    position:relative;
    z-index: 2;
}

.nav-button {
    display:flex;
    justify-content: center;
    margin: 0 auto;
    background-color: #fff;
    padding: 8px 15px;
    border-radius:30px;
    cursor:pointer;
    font-size:inherit;
    font-family: inherit;
    border:3px solid white;
    transition: background-color 0.2s ease, color 0.2s ease, border 0.2s ease;
    color:black;
}

/*.nav-button:hover {*/
/*    background-color:#000;*/
/*    color:white;*/
/*    border:3px solid #222;*/
/*}*/

nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
}

nav ul li {
    margin: 0 15px;
}

nav ul li a {
    color: #000;
    text-decoration: none;
    font-size: 18px;
}

main {
    padding: 20px;
    max-width: 1500px;
    margin: 0 auto;
    z-index:2;
    position: relative;
}

footer {
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    position: fixed;
    width: 100%;
    bottom: 0;
}

.grid-overlay {
    position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 80px 80px;
	pointer-events: none;
	z-index: 0;
	opacity:100%;
}

.hero {
    text-align: center;
    margin: 50px auto 0;
}

.hero h1 {
    font-size: 72px;
    margin-bottom: 10px;
}

.hero p {
    font-size: 24px;
    margin-bottom: 30px;
}

.menu-grid {
	display: flex;
	margin: 0 0 40px 0;
	justify-content: center;
    flex-wrap: wrap;
}

.menu-item {
	width:350px;
	background: var(--glass-bg);
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
	border: 2px solid var(--glass-border);
	border-radius: 24px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	opacity: 100;
	z-index:2;
	padding:20px 30px;
	transition: box-shadow 0.3s ease, opacity 0.3s ease, border .3s ease, transform .3s ease;
	transform:scale(0.8);
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}

.menu-item h2 {
    font-size: 28px;
}

hr {
    width: 50px;
    height:3px;
    border: 1px solid transparent;
    background:#555;
    border-radius:20px;
    margin: 30px auto;
}

.menu-item p {
    font-size: 18px;
}

.menu-item:hover {
    opacity: 1;
    border: 2px solid rgba(255, 255, 255, 0.3);
    transform:scale(.82);
}

h2 {
    text-align: center;
    font-size:40px;
    margin: 30px auto 10px;
}

footer {
    width:250px;
    position: fixed;
    bottom: 0;
    z-index: 2;
    text-align: center;
    padding: 7px;
    background: var(--glass-bg);
    border: 2px solid var(--glass-border);
    border-radius: 20px;
    font-size: 10px;
    margin: 10px 10px;
	opacity:50%;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.roles {
    display:flex;
    justify-content: center;
    list-style:disc;
    padding:0 20px;
}

.roles li {
    margin: 0 15px;
    font-size:16px;
}

.roles li::marker {
    color:#555;
}

.roles li#liFirst {
    list-style:none;
}

.li-grid {
    display:flex;
    flex-direction: column;
    align-items:center;
}

.li-item {
    background:var(--glass-bg);
    border:1px solid var(--glass-border);
    padding:3px 10px;
    margin:5px auto;
    border-radius:25px;
    display:flex;
    gap:8px;
    flex-basis:35px;
    min-width:300px;
    font-size:.9em;
    align-items:center;
    justify-content: space-between;
    backdrop-filter: blur(1px);
    cursor:pointer;
    -webkit-backdrop-filter: blur(1px);
    transition: all 0.2s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

.li-item:hover {
    transform:scale(1.05);
    border:1px solid white;
    transition:all 0.2s;
}

.li-item.statOwner:hover {
    border:1px solid gold;
}

.li-item > h3,p {
    color:white;
    font-size:14px;
}

.li-item.statOwner:hover h3, .li-item.statOwner:hover p {
    color:gold;
}

.li-item.statMarketing:hover {
    border:1px solid red;
}
.li-item.statMarketing:hover h3, .li-item.statMarketing:hover p {
    color:red;
}

.li-item.statManager:hover {
    border:1px solid orange;
}
.li-item.statManager:hover h3, .li-item.statManager:hover p {
    color:orange;
}

.li-item.statDev:hover {
    border:1px solid cyan;
}
.li-item.statDev:hover h3, .li-item.statDev:hover p {
    color:cyan;
}

@media (max-width:400px) {
    .roles {
        display:flex;
        flex-direction: column;
        list-style: none;
    }
    .roles li {
        padding:5px 0;
    }
    footer {
        position: fixed;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: 5;
        text-align: center;
        padding: 7px;
        border-radius: 20px;
        font-size: 10px;
        width: 250px;
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter:blur(20px);
        opacity:1;
    }
}

.extendedNavbar {
    display:flex;
    justify-content:center;
    gap:30px;
    position:relative;
    flex-direction:row;
}

.drawExtNav {
    display:flex;
    padding:5px 5px;
    background:white;
    border:2px solid white;
    gap:10px;
    flex-shrink:1;
    border-radius:50px;
    font-weight:500;
    font-size:.9rem;
    font-family: inherit;
    align-items:center;
    transition: all 0.2s ease;
}

.drawExtNav button,
.drawExtNav a {
    display:flex;
    flex-direction:row;
    position:relative;
    background:none;
    border:none;
    cursor:pointer;
    border-radius:50px;
    font-weight:500;
    font-size:1rem;
    font-family: inherit;
    color: black;
    text-decoration: none;
    align-items: center;
}

.drawExtNav > div {
    display:flex;
    flex-direction:row;
    align-items:center;
    padding:7px 15px;
    gap:10px;
    cursor:pointer;
    transition: all 0.2s ease;
    position:relative;
}

.drawExtNav:hover {
    display: flex;
}

.drawExtNav > div > button > svg,
.drawExtNav > div > a > svg {
    width:25px;
    height:25px;
    margin-right:5px;
}

.drawExtNav > div:hover {
    background:#eee;
    border-radius:50px;
}

.drawExtNav > div > button::after,
.drawExtNav > div > a::after {
    content:'';
    position:absolute;
    right:0;
    bottom:0;
    width:0;
    height:2px;
    background:#000;
    border-radius:20px;
    transition: all 0.2s ease;
    opacity:0;
}

.drawExtNav > div > button:hover::after,
.drawExtNav > div > a:hover::after {
    width:50%;
}

.noMobile {display:none;}

.rev-grid {
    display:flex;
    flex-direction: row;
    justify-content:center;
    gap:20px;
    align-items:center;
}

.rev-container {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 20px;
    mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
    position: relative;
}

.rev-container::-webkit-scrollbar {
    display: none;
}

.rev-item {
    background:var(--glass-bg-op);
    border:1px solid var(--glass-border);
    padding:15px 20px;
    flex-basis:400px;
    flex-shrink: 0;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border-radius:20px;
    max-height:400px;
    overflow:auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.rev-item::-webkit-scrollbar {
    display: none;
}

.rev-author {
    display:flex;
    flex-direction: row;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    margin:0 0 10px 0;
}

.author-info {
    display:flex;
    flex-direction:column;
}

.author-info p {
    margin-top:-5px;
    color:#aaa;
}

.rev-item > p {
    font-size:14px;
}

.rev-author img {
    width:60px;
    height:60px;
    border-radius:50%;
}

.rev-stars {
    margin-top:0;
}

.rev-stars img {
    height:15px;
    width:15px;
}

.arrow > svg {
    height:50px;
    width:50px;
    background:transparent;
    cursor:pointer;
}

.arrow > svg path {
    fill:white;
    transition: all 0.2s ease;
}

.arrow > svg:hover path {
    fill: #d4d4d4;
}

.rev-stars.addrev > img {
    filter: grayscale(1);
}

#navMenu {
    display:none;
}

.price-grid {
    display:flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap:50px;
    flex-wrap:wrap;
}

.price-item {
    display:flex;
    flex-direction:column;
    align-items:center;
    flex-basis:400px;
    background:var(--glass-bg-op);
    border:1px solid var(--glass-border);
    padding:20px 20px;
    border-radius:30px;
    text-align:center;
}

.item-title {
    display:flex;
    flex-direction:column;
    background:linear-gradient(135deg, red, #650000);
    padding:15px 20px;
    width:100%;
    border-radius:20px;
    text-shadow:0 0 5px rgba(0, 0, 0, 0.45);
}

.item-title h2 {
    margin-bottom:0;
    margin-top:10px;
    font-size:xx-large;
}

.item-pricelist {
    display:flex;
    flex-direction:column;
    gap:30px;
    background:#222;
    padding:15px 20px;
    width:100%;
    border-radius:20px;
}

.pricelist-child {
    display:flex;
    flex-direction:row;
    justify-content:space-between;
}

.pricelist-child p {
    font-size:16px;
}

.pricelist-child .pricelist-price {
    font-weight:bold;
}

.price-item > p {
    font-size:12px;
    color:#555;
    width:90%;
    padding:15px 0;
    display:none;
}

.btnHire {
    padding:10px 40px;
    margin-top:20px;
    font-family: inherit;
    font-weight:bold;
    font-size:1.2rem;
    background:white;
    border:2px solid white;
    cursor:pointer;
    border-radius:10px;
    transition:all 0.2s ease;
}

.btnHire:hover {
    background:#000;
    border:2px solid #333;
    color:white;
}

#titleTrailer {
    background:linear-gradient(135deg, cornflowerblue, royalblue);
}

#titlePersonal {
    background:linear-gradient(135deg, limegreen, darkolivegreen);
}

#titleVoice {
    background:linear-gradient(135deg, orange, darkorange);
}

#titleCompany {
    background:linear-gradient(135deg, black, #333, black);
}

#titleCreator {
    background:linear-gradient(135deg, magenta, violet, darkorange);
}

.priceInfo p {
    font-size:15px;
    margin-bottom:-20px;
    color:#555;
}

.pricelistCenteredChild {
    justify-content: center;
}

.hero > p {
    font-size: 18px;
    margin-top:15px;
    color:#888;
}

@media (max-width:940px) {
    .drawExtNav {
        display:none;
        flex-direction:column;
        border-radius:20px;
        padding: 10px 80px;
        margin-top:10px;
    }

    #navMenu {
        display: unset;
        position:relative;
        height:40px;
        width:40px;
        transition: all 0.2s ease;
    }

    .noMobile {
        display:flex;
        justify-content: center;
    }
    .rev-item {
        flex-shrink: 1;
        min-width:200px;
    }
    .rev-author {
        flex-direction: column;
    }
}

