
	@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
	html { scroll-behavior: smooth; }

	/* FADE IN SECTIONS */
	.fade-section {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease, transform 0.7s ease;
	}

	.fade-section.visible {
	opacity: 1;
	transform: translateY(0);
	}

	#hero, #splash {
	opacity: 1 !important;
	transform: none !important;
	min-height: 100vh; 
	display:flex; 
	align-items:center;
	}

/* section, footer {scroll-margin-top: 50px;} */
	section.visible, footer.visible {
	opacity: 1;
	transform: translateY(0);
	}

	p { font-family: 'DM Sans', sans-serif;}

	:root{
	--primary-blue: #0b375f;
	--secondary-blue: #032742;
	--accent-yellow: #fabe12;
	--teal: #4ba1a5;
	--text-dark: #333333;
	--text-light: #FFFFFF;
	--bg-light: #f8f9fa;
	}
	.nav-logo { height:110px; width:auto; position:absolute; top:50%; transform:translateY(-50%); }
	.nav-logo-desktop, .nav-logo-mobile { display:none; }

	/* NAVBAR */
	.custom-navbar { background:#ffffff !important; box-shadow:0 2px 15px rgba(0,0,0,0.1); padding:4px 0; min-height: 50px;}
	.custom-navbar .nav-link { color:var(--primary-blue) !important; font-weight:600; font-size:15px; padding:8px 16px !important; transition:color 0.3s ease; }
	.custom-navbar .nav-link:hover { color:var(--accent-yellow) !important; }
	.custom-navbar .navbar-toggler { border-color:var(--primary-blue); }
	.custom-navbar .navbar-toggler .icon { color:var(--primary-blue); font-size:1.5rem; }

	/* HERO ANIMATIONS */
	#hero .container { position:relative; z-index:1; }

	/* SPLASH SCREEN */
	#splash {
		position: fixed; top:0; left:0; width:100%; height:100%; z-index:9999;
		background: linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);
		display: flex; flex-direction:column; align-items:center; justify-content:center;
		transition: opacity 1.2s ease !important;
		visibility: visible !important;
	}
	#splash.hidden {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none;
		transition: opacity 1.2s ease, visibility 0s linear 1.2s !important;
	}
	#splash h1 {
		font-family: 'Georgia', serif; font-size: 80px; font-weight:700;
		color: var(--accent-yellow); margin:0 0 16px;
		opacity:0; transform:translateY(30px);
		animation: splashPop 0.8s ease 0.3s forwards;
	}
	#splash p {
		font-size: 22px; color: rgba(255,255,255,0.85); margin:0;
		opacity:0; transform:translateY(20px);
		animation: splashPop 0.7s ease 0.9s forwards;
	}
	@keyframes splashPop { to { opacity:1; transform:translateY(0); } }

	@media(max-width:576px){ #splash h1{font-size:48px} #splash p{font-size:16px;text-align:center;padding:0 20px} }
	#hero {
	padding: 120px 0 80px;
	background: linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);
	position: relative; overflow: hidden;
	}
	#hero::before {
	content: ''; position: absolute; top:0;left:0;right:0;bottom:0;
	background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
	opacity: 0.5;
	}
	#hero .container { position: relative; z-index: 1; }
	#hero .row { align-items: center; }
	#hero img { max-width:100%; height:auto; filter:drop-shadow(0 20px 40px rgba(0,0,0,0.3)); animation:float 3s ease-in-out infinite; }
	@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
	.hero-content { padding: 0 20px; }
	.hero-badge { display:inline-block; background:var(--accent-yellow); color:#fff!important; padding:8px 20px; border-radius:50px; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:20px; }
	#hero h1 { font-size:56px; font-weight:700; color:var(--text-light); margin-bottom:20px; font-family:'Georgia',serif; line-height:1.2; }
	#hero p { font-size:20px; color:rgba(255,255,255,0.9); margin-bottom:30px; line-height:1.6; }
	.btn-hero { display:inline-block; background:var(--accent-yellow); color:var(--text-light); padding:15px 40px; border-radius:50px; font-size:16px; font-weight:700; text-decoration:none; text-transform:uppercase; letter-spacing:1px; transition:all .3s ease; box-shadow:0 4px 15px rgba(250,190,18,0.3); }
	.btn-hero:hover { background:#ffd24d; color:var(--primary-blue); transform:translateY(-2px); box-shadow:0 6px 20px rgba(250,190,18,0.4); text-decoration:none; }
	@media(max-width:992px){#hero{padding:100px 0 60px}#hero h1{font-size:42px}#hero p{font-size:18px}}
	@media(max-width:768px){#hero{padding:80px 0 60px;text-align:center}#hero h1{font-size:36px;margin-top:30px}#hero p{font-size:16px}.hero-content{padding:0}#hero img{max-width:80%;margin:0 auto;display:block}}
	@media(max-width:576px){#hero h1{font-size:32px}.btn-hero{padding:12px 30px;font-size:14px}}

	/* TITLES */
	.title-block { margin-bottom:60px; text-align:center; }
	.title-block h2 { font-size:48px; font-weight:700; margin-bottom:20px; font-family:'Georgia',serif; }
	.title-underline { width:80px; height:4px; background:var(--accent-yellow); margin:0 auto; }

	/* ABOUT */
	#about {
		background-image: linear-gradient(rgba(248,249,250,0.4), rgba(248,249,250,0.4)),url("images/background.png");
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		padding: 80px 0;
		min-height: 100vh;
		display:flex; 
		align-items:center;
	}
	#about .content-box { display:flex; flex-direction:column; justify-content:center; height:100%; }
	#about h2 { font-size:48px; font-weight:700; color:var(--primary-blue); margin-bottom:20px; font-family:'Georgia',serif; }
	#about p { font-size:16px; line-height:1.8; color:var(--text-dark); }
	

	/* VIDEO */
	#video { background:#0b375f; padding:80px 0; min-height: 100vh; display:flex; align-items:center; }
	#video .title-block { height: 140px; margin-bottom: 20px; }
	#video .title-block h2 { color:var(--text-light); }
	#video .title-block p { color: var(--teal); padding-top: 32px; font-weight: bold; font-style: italic; }
	.video-wrapper { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; background:#000; border-radius:8px; box-shadow:0 4px 15px rgba(0,0,0,0.1);
		border: 4px solid #ffffff;}
	.video-wrapper iframe { position:absolute; top:0; left:0; width:100%; height:100%; }
	#video .col-md-6:last-child .title-block { padding-bottom: 38px; }
	

	/* TEAM */
	#team { 
		padding:80px 0; 
		background:var(--primary-blue); 
		min-height: 100vh; 
		display:flex; 
		align-items:center;
	}
	#team .title-block h2 { color:var(--text-light)!important; }
	.team-member { text-align:center; margin-bottom:40px; }
	.team-img-circle { width:220px; height:220px; margin:0 auto 25px; border-radius:50%; overflow:hidden; border:6px solid var(--accent-yellow); box-shadow:0 8px 20px rgba(250,190,18,0.3); transition:transform .3s ease,box-shadow .3s ease; }
	.team-member:hover .team-img-circle { transform:scale(1.05); box-shadow:0 12px 30px rgba(250,190,18,0.5); }
	.team-img-circle img { width:100%; height:100%; object-fit:cover; }
	.team-info { padding:0 15px; }
	.team-info h5 { font-size:26px; font-weight:700; color:var(--text-light); margin-bottom:8px; font-family:'Georgia',serif; font-weight: bold;}
	.team-info small { display:block; color:var(--teal); font-family: 'DM Sans', sans-serif; font-size:16px; font-weight:500; }
	.team-member {
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 1s ease, transform 1s ease;
	}
	.team-member.visible {
		opacity: 1;
		transform: translateY(0);
	}
	.col-md-4:nth-child(1) .team-member { transition-delay: 0s; }
	.col-md-4:nth-child(2) .team-member { transition-delay: 0.2s; }
	.col-md-4:nth-child(3) .team-member { transition-delay: 0.4s; }

	/* PROCESS */
	#process { background-image: linear-gradient(rgba(248,249,250,0.4), rgba(248,249,250,0.4)),url("images/background.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 80px 0;
	min-height: 100vh;}
	#process .title-block h2 { color:var(--primary-blue); }
	.process-card { background:#fff; border-radius:8px; box-shadow:0 4px 15px rgba(0,0,0,0.1); transition:transform .3s ease,box-shadow .3s ease; display:flex; flex-direction:row; height:auto; border: 2px solid var(--accent-yellow); }
	.process-card:hover { transform:translateY(-5px); box-shadow:0 8px 25px rgba(0,0,0,0.15); }
	.process-image { width:40%; flex-shrink:0;background:#e0e0e0; min-height:260px; border-radius:6px 0 0 6px; }
	.process-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; display:block; }
	.process-card:hover .process-image img { transform:scale(1.05); }
	.process-content { padding:25px 20px; flex-grow:1; display:flex; flex-direction:column; }
	@media(max-width:600px){.process-card{flex-direction:column}.process-image{width:100%;min-height:180px}}
	.process-content h3 { font-size:18px; font-weight:700; color:var(--teal); margin-bottom:10px; font-family:'Georgia',serif; line-height:1.3; }
	.process-content p { font-size:14px; color:var(--text-dark); line-height:1.6; margin-bottom:14px; flex-grow:1; }
	.btn-link { display:inline-block; background:var(--primary-blue); color:var(--text-light); padding:6px 16px; border-radius:50px; font-weight:600; text-decoration:none; font-size:12px; transition:all .3s ease; text-align:center; box-shadow:0 3px 10px rgba(11,55,95,0.2); margin-top:4px; }
	.btn-link+.btn-link { margin-top:5px; }
	.btn-link:hover { background:var(--accent-yellow); color:var(--secondary-blue); text-decoration:none; transform:translateY(-2px); box-shadow:0 5px 15px rgba(250,190,18,0.3); }

	/* CAROUSEL */
	.carousel-wrapper { display:flex; align-items:center; gap:12px; }
	.carousel-track-container { overflow:hidden; width:100%; padding-top:8px; margin-top:-8px; }
	.carousel-track { display:flex; gap:24px; transition:transform .45s cubic-bezier(0.25,0.46,0.45,0.94); align-items:stretch; }
	.carousel-slide { flex:0 0 100%; min-width:0; }
	.carousel-btn { background:var(--primary-blue); color:#fff; border:none; border-radius:50%; width:46px; height:46px; font-size:1.3rem; cursor:pointer; flex-shrink:0; transition:background .3s ease,transform .2s ease; display:flex; align-items:center; justify-content:center; box-shadow:0 3px 10px rgba(0,0,0,0.15); }
	.carousel-btn:hover { background:var(--accent-yellow); color:var(--secondary-blue); transform:scale(1.08); }
	.carousel-btn:disabled { opacity:.35; cursor:not-allowed; transform:none; }
	.carousel-dots { display:flex; justify-content:center; gap:8px; margin-top:28px; }
	.dot { width:10px; height:10px; border-radius:50%; background:#ccc; cursor:pointer; transition:background .3s,transform .2s; border:none; padding:0; }
	.dot.active { background:var(--primary-blue); transform:scale(1.3); }
	.dot:hover:not(.active) { background:var(--teal); }
	.carousel-counter { text-align:center; margin-top:12px; font-size:14px; color:#888; font-weight:500; }

	/* FOOTER */
	footer { background:var(--secondary-blue); color:var(--text-light); padding:60px 0 30px; }
	footer h5 { font-size:20px; font-weight:700; color:var(--text-light); margin-bottom:20px; font-family:'Georgia',serif; }
	footer ul { list-style:none; padding:0; margin:0; }
	footer ul li { margin-bottom:12px; color:var(--text-light); font-size:15px; line-height:1.6; }
	footer ul li a { color:var(--text-light); text-decoration:none; transition:color .3s ease; }
	footer ul li a:hover { color:var(--accent-yellow); text-decoration:none; }
	footer p { color:var(--text-light); font-size:15px; line-height:1.6; margin:0; }
	footer .divider { height:1px; background:rgba(255,255,255,0.2); margin:40px 0 30px; }
	footer small { color:rgba(255,255,255,0.7); font-size:14px; }

	/* RESPONSIVE */
	@media(max-width:768px){.title-block h2{font-size:36px}#about .content-box h2{font-size:36px }.team-img-circle{width:180px;height:180px}.team-info h5{font-size:22px}.team-info small{font-size:14px}footer{padding:40px 0 20px}footer .col-md-4{margin-bottom:30px}footer .divider{margin:30px 0 20px}}
	@media(max-width:576px){.team-member{margin-bottom:50px}}
