/* ==========================================================================
   Ngwe Pyi Gyi Co.,Ltd — "Voyager" Theme (v3)
   A distinct visual direction: deep navy + warm gold, sharp-edged panels,
   diagonal section breaks, numbered process steps and a glass-panel hero —
   built to feel like a confident, established overseas-recruitment brand
   rather than a generic SaaS template.
   NOTE: CSS/JS only — page structure/markup logic (PHP loops, routes) unchanged.
   ========================================================================== */

:root {
	--brand-navy: #0c2545;
	--brand-navy-deep: #081833;
	--brand-navy-soft: #16345f;
	--brand-gold: #d6a13c;
	--brand-gold-light: #f3d99a;
	--brand-gold-dark: #b5822a;
	--brand-ink: #0f172a;
	--brand-ink-soft: #4a5568;
	--brand-muted: #7c8598;
	--brand-bg: #f7f7f5;
	--brand-bg-warm: #fbf9f4;
	--brand-line: #e6e4dd;
	--radius-sm: .4rem;
	--radius-md: .75rem;
	--radius-lg: 1.25rem;
	--shadow-soft: 0 1px 2px rgba(12, 37, 69, .05), 0 10px 26px -12px rgba(12, 37, 69, .14);
	--shadow-hover: 0 6px 14px rgba(12, 37, 69, .08), 0 24px 42px -14px rgba(12, 37, 69, .28);
	--ease: cubic-bezier(.22, 1, .36, 1);
}

* {
	scroll-behavior: smooth;
}

body {
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	color: var(--brand-ink-soft);
	background-color: #ffffff;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
	color: var(--brand-navy);
	font-weight: 700;
	letter-spacing: -.01em;
}

p {
	line-height: 1.75;
}

a {
	transition: color .2s var(--ease);
}

::selection {
	background: var(--brand-gold-light);
	color: var(--brand-navy-deep);
}

.text-accent {
	color: var(--brand-gold-dark);
}

/* ---------- Buttons ---------- */
.btn {
	font-weight: 600;
	letter-spacing: .01em;
	border-radius: var(--radius-sm);
	transition: transform .18s var(--ease), box-shadow .18s var(--ease), background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);
}

.btn-primary,
.bg-primary {
	background-color: var(--brand-navy) !important;
	border-color: var(--brand-navy) !important;
	box-shadow: 0 10px 22px -10px rgba(12, 37, 69, .55);
}

.btn-primary:hover,
.btn-primary:focus {
	background-color: var(--brand-navy-deep) !important;
	border-color: var(--brand-navy-deep) !important;
	transform: translateY(-2px);
}

.btn-outline-primary {
	color: var(--brand-navy);
	border: 1.5px solid var(--brand-navy);
	background: #fff;
}

.btn-outline-primary:hover {
	background-color: var(--brand-navy);
	border-color: var(--brand-navy);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: var(--shadow-hover);
}

.btn-light {
	box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .18);
}

.btn-light:hover {
	transform: translateY(-2px);
}

/* Gold CTA button (nav / hero / cta section) */
.btn-cta {
	background: linear-gradient(135deg, var(--brand-gold), var(--brand-gold-dark));
	color: var(--brand-navy-deep) !important;
	border: none;
	padding: .55rem 1.3rem;
	box-shadow: 0 10px 20px -8px rgba(214, 161, 60, .55);
}

.btn-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 26px -8px rgba(214, 161, 60, .6);
	color: var(--brand-navy-deep);
}

.btn-cta-light {
	background: #fff;
	color: var(--brand-navy) !important;
	border: none;
	padding: .6rem 1.4rem;
	font-weight: 700;
	box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .35);
}

.btn-cta-light:hover {
	background: var(--brand-gold);
	color: var(--brand-navy-deep) !important;
	transform: translateY(-2px);
}

.text-primary {
	color: var(--brand-navy) !important;
}

.badge.bg-primary-subtle {
	background-color: rgba(214, 161, 60, .14) !important;
	color: var(--brand-gold-dark) !important;
	font-weight: 600;
	padding: .5em .85em;
	border-radius: 999px;
}

/* ---------- Eyebrow badge ---------- */
.eyebrow-badge {
	display: inline-block;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--brand-gold-dark);
	background: rgba(214, 161, 60, .12);
	border: 1px solid rgba(214, 161, 60, .3);
	padding: .35rem .9rem;
	border-radius: 999px;
	margin-bottom: .9rem;
}

/* ---------- Top Utility Bar ---------- */
.topbar {
	background: var(--brand-navy-deep);
	color: rgba(255, 255, 255, .82);
	font-size: .84rem;
	padding: .5rem 0;
}

.topbar-contact {
	gap: 1.5rem;
}

.topbar-contact li {
	display: flex;
	align-items: center;
	gap: .4rem;
	white-space: nowrap;
}

.topbar-contact a {
	color: rgba(255, 255, 255, .82);
	text-decoration: none;
}

.topbar-contact a:hover {
	color: var(--brand-gold-light);
}

.topbar-contact i {
	color: var(--brand-gold);
	font-size: .82rem;
}

.topbar-right {
	gap: .65rem;
}

.topbar-social-icon {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: .78rem;
	transition: background-color .2s var(--ease);
}

.topbar-social-icon:hover {
	background: var(--brand-gold);
	color: var(--brand-navy-deep);
}

.topbar-divider {
	width: 1px;
	height: 16px;
	background: rgba(255, 255, 255, .2);
}

.topbar-lang {
	color: rgba(255, 255, 255, .7);
	font-weight: 600;
	font-size: .78rem;
	text-decoration: none;
}

.topbar-lang.active {
	color: var(--brand-gold);
}

/* ---------- Navbar ---------- */
#main-navbar {
	background-color: rgba(255, 255, 255, .97) !important;
	backdrop-filter: saturate(180%) blur(10px);
	-webkit-backdrop-filter: saturate(180%) blur(10px);
	transition: box-shadow .25s var(--ease), padding .25s var(--ease);
	box-shadow: none !important;
	border-bottom: 1px solid var(--brand-line);
}

#main-navbar.navbar-scrolled {
	box-shadow: 0 10px 30px -14px rgba(12, 37, 69, .25) !important;
}

#main-navbar .nav-link {
	font-weight: 600;
	font-size: .93rem;
	color: var(--brand-navy);
	padding: .6rem 1rem !important;
	position: relative;
}

#main-navbar .nav-link::after {
	content: "";
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: .3rem;
	height: 2px;
	background: var(--brand-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s var(--ease);
}

#main-navbar .nav-link:hover,
#main-navbar .nav-link.active {
	color: var(--brand-navy);
}

#main-navbar .nav-link:hover::after,
#main-navbar .nav-link.active::after {
	transform: scaleX(1);
}

#main-navbar .dropdown-menu {
	border: none;
	border-top: 3px solid var(--brand-gold);
	border-radius: 0 0 var(--radius-md) var(--radius-md);
	box-shadow: var(--shadow-hover);
	padding: .5rem;
	margin-top: .5rem;
}

#main-navbar .dropdown-item {
	border-radius: .5rem;
	padding: .55rem .8rem;
	font-size: .92rem;
	color: var(--brand-ink-soft);
	transition: background-color .15s var(--ease), color .15s var(--ease);
}

#main-navbar .dropdown-item:hover,
#main-navbar .dropdown-item:focus {
	background-color: rgba(214, 161, 60, .12);
	color: var(--brand-navy);
}

/* ---------- Hero Carousel ---------- */
.hero-carousel {
	position: relative;
}

.hero-carousel::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(8, 24, 51, .92) 0%, rgba(8, 24, 51, .65) 42%, rgba(8, 24, 51, .2) 68%, rgba(8, 24, 51, .05) 100%);
	pointer-events: none;
	z-index: 1;
}

.hero-carousel::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 60px;
	background: #fff;
	clip-path: polygon(0 100%, 100% 100%, 100% 40%, 0 100%);
	z-index: 2;
}

.hero-carousel .carousel-item img {
	height: 78vh;
	min-height: 500px;
	object-fit: cover;
	filter: saturate(1.05) brightness(.72);
}

.hero-carousel .carousel-caption {
	z-index: 3;
	bottom: auto;
	top: 50%;
	transform: translateY(-50%);
	text-align: left;
	left: 0;
	right: 0;
	padding: 0;
}

.hero-panel {
	max-width: 640px;
	margin-left: 8%;
	padding: 2.2rem 2.4rem;
	background: rgba(8, 24, 51, .35);
	border-left: 4px solid var(--brand-gold);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.hero-eyebrow {
	display: inline-block;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--brand-gold-light);
	margin-bottom: .9rem;
}

.hero-panel h1,
.hero-panel h2 {
	color: #fff;
	font-size: clamp(1.9rem, 3.6vw, 3rem);
	line-height: 1.15;
	margin-bottom: .8rem;
}

.hero-sub {
	color: rgba(255, 255, 255, .82);
	font-size: 1.02rem;
	margin-bottom: 0;
}

.hero-carousel .carousel-indicators {
	z-index: 4;
	margin-bottom: 2.5rem;
	justify-content: flex-start;
	margin-left: 8%;
}

.hero-carousel .carousel-indicators [data-bs-target] {
	width: 30px;
	height: 3px;
	border-radius: 2px;
	background-color: rgba(255, 255, 255, .35);
	border: none;
	margin: 0 4px;
	transition: background-color .2s var(--ease);
}

.hero-carousel .carousel-indicators .active {
	background-color: var(--brand-gold);
}

.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next {
	width: 5%;
	z-index: 4;
}

@media (max-width: 767.98px) {
	.hero-panel {
		margin-left: 5%;
		margin-right: 5%;
		max-width: none;
		padding: 1.5rem 1.6rem;
	}

	.hero-carousel .carousel-indicators {
		margin-left: 5%;
	}

	.hero-carousel .carousel-item img {
		height: 62vh;
		min-height: 380px;
	}
}

.letter-spacing-2 {
	letter-spacing: .25em;
}

/* ---------- Job Search Box ---------- */
.search-box-section {
	margin-top: -56px;
	position: relative;
	z-index: 5;
}

.search-box-card,
.search-box-section-inline form {
	background: #ffffff;
	border-top: 4px solid var(--brand-gold);
	box-shadow: var(--shadow-hover);
}

.search-box-card {
	border-radius: var(--radius-md) !important;
}

/* ---------- Stats strip ---------- */
.stats-strip {
	background: var(--brand-navy);
	position: relative;
	padding: 3.5rem 0 3rem;
	margin-top: 3rem;
}

.stat-item {
	padding: .5rem;
}

.stat-icon {
	font-size: 1.7rem;
	color: var(--brand-gold);
	margin-bottom: .6rem;
	display: block;
}

.stat-number {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: clamp(1.9rem, 3vw, 2.6rem);
	font-weight: 800;
	color: #fff;
	line-height: 1;
}

.stat-number::after {
	content: "+";
	color: var(--brand-gold);
}

.stat-label {
	color: rgba(255, 255, 255, .68);
	font-size: .88rem;
	margin-top: .35rem;
	letter-spacing: .02em;
}

/* ---------- Page Titlebar (inner pages) ---------- */
.page-titlebar {
	position: relative;
	overflow: hidden;
	background: var(--brand-navy);
	color: #fff;
	padding: 3.25rem 0 4rem;
}

.page-titlebar::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(120deg, rgba(214, 161, 60, .18), transparent 55%);
	pointer-events: none;
}

.page-titlebar::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 40px;
	background: #fff;
	clip-path: polygon(0 100%, 100% 100%, 100% 45%, 0 100%);
}

.page-titlebar h1 {
	color: #fff;
	position: relative;
}

.page-titlebar .breadcrumb {
	position: relative;
	--bs-breadcrumb-divider-color: rgba(255, 255, 255, .45);
	--bs-breadcrumb-item-active-color: rgba(255, 255, 255, .8);
}

.page-titlebar .breadcrumb a {
	color: rgba(255, 255, 255, .8);
	text-decoration: none;
}

.page-titlebar .breadcrumb a:hover {
	color: #fff;
}

/* ---------- Section titles ---------- */
.section-title {
	position: relative;
	display: block;
}

.section-title::after {
	content: "";
	display: block;
	width: 52px;
	height: 3px;
	background: var(--brand-gold);
	border-radius: 2px;
	margin: .9rem auto 0;
}

.text-center .eyebrow-badge {
	display: inline-block;
}

/* ---------- Feature icon ---------- */
.feature-icon {
	width: 58px;
	height: 58px;
	border-radius: var(--radius-sm);
	background: var(--brand-navy);
	color: var(--brand-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
}

.feature-card {
	background: #fff;
	border: 1px solid var(--brand-line);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-soft);
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}

.feature-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--shadow-hover);
}

/* ---------- Process stepper (How It Works) ---------- */
.process-stepper {
	position: relative;
}

.process-step {
	background: #fff;
	border: 1px solid var(--brand-line);
	border-radius: var(--radius-md);
	position: relative;
	overflow: hidden;
	transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}

.process-step-number {
	position: absolute;
	top: -.4rem;
	right: .6rem;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 3rem;
	font-weight: 800;
	color: var(--brand-bg);
	line-height: 1;
	z-index: 0;
}

.process-step .feature-icon,
.process-step h5,
.process-step p {
	position: relative;
	z-index: 1;
}

.process-step:hover {
	transform: translateY(-8px);
	box-shadow: var(--shadow-hover);
	border-color: transparent;
}

.process-step:hover .feature-icon {
	background: var(--brand-gold);
	color: var(--brand-navy-deep);
}

@media (min-width: 992px) {
	.process-stepper .col-lg-3:not(:last-child) .process-step::after {
		content: "";
		position: absolute;
		top: 2.6rem;
		right: -1.1rem;
		width: 1.4rem;
		height: 2px;
		background: var(--brand-line);
		z-index: 2;
	}
}

.licence-img {
	max-height: 260px;
	object-fit: cover;
	width: 100%;
	border: 1px solid var(--brand-line);
	border-radius: var(--radius-sm);
}

/* ---------- News / Blog cards ---------- */
.news-section {
	background-color: var(--brand-bg-warm);
}

.news-card {
	border: 1px solid var(--brand-line);
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: var(--shadow-soft);
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
	color: var(--brand-ink-soft);
	position: relative;
}

.news-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brand-navy), var(--brand-gold));
	z-index: 2;
}

.news-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--shadow-hover);
	color: var(--brand-ink-soft);
}

.news-card .card-title {
	color: var(--brand-navy);
	font-size: 1.05rem;
}

.news-card .card-img-top {
	height: 200px;
	object-fit: cover;
}

.news-detail {
	border: 1px solid var(--brand-line);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-soft);
}

.news-detail .card-img-top {
	max-height: 380px;
	object-fit: cover;
}

.social-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--brand-bg);
	color: var(--brand-navy);
	margin-right: .4rem;
	transition: background-color .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);
}

.social-share-btn:hover {
	background: var(--brand-navy);
	color: #fff;
	transform: translateY(-2px);
}

/* ---------- Sidebar ---------- */
.sidebar-widget {
	background: #fff;
	border: 1px solid var(--brand-line);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-soft);
	padding: 1.6rem;
}

.footer-links-light li {
	margin-bottom: .6rem;
}

.footer-links-light a {
	color: var(--brand-ink-soft);
	text-decoration: none;
	transition: color .2s var(--ease);
}

.footer-links-light a:hover {
	color: var(--brand-navy);
}

.related-news-item img {
	width: 72px;
	height: 60px;
	object-fit: cover;
	border-radius: .5rem;
	flex-shrink: 0;
}

.related-news-item h6 {
	color: var(--brand-navy);
	transition: color .2s var(--ease);
}

.related-news-item:hover h6 {
	color: var(--brand-gold-dark);
}

/* ---------- Gallery ---------- */
.gallery-card img {
	height: 200px;
	width: 100%;
	object-fit: cover;
	border-radius: var(--radius-sm);
	border: 1px solid var(--brand-line);
	transition: transform .35s var(--ease);
}

.gallery-card {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-sm);
	cursor: pointer;
}

.gallery-card:hover img {
	transform: scale(1.06);
}

.gallery-card::after {
	content: "\f52d";
	font-family: "bootstrap-icons";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	color: #fff;
	background: rgba(8, 24, 51, 0);
	opacity: 0;
	transition: background-color .25s var(--ease), opacity .25s var(--ease);
}

.gallery-card:hover::after {
	background: rgba(8, 24, 51, .38);
	opacity: 1;
}

.gallery-carousel .gallery-thumb {
	height: 160px;
	width: 100%;
	object-fit: cover;
	border-radius: var(--radius-sm);
}

.gallery-carousel .carousel-control-prev,
.gallery-carousel .carousel-control-next {
	width: 5%;
}

/* ---------- Job Listing ---------- */
.job-listing-card {
	display: block;
	background: #fff;
	border: 1px solid var(--brand-line);
	border-left: 3px solid var(--brand-gold);
	border-radius: var(--radius-md);
	padding: 1.6rem;
	box-shadow: var(--shadow-soft);
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}

.job-listing-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow-hover);
}

.job-title {
	color: var(--brand-navy);
	font-weight: 700;
}

.job-listing-card:hover .job-title {
	color: var(--brand-gold-dark);
}

/* ---------- Forms ---------- */
.form-card,
.quick-tile {
	background: #fff;
	border: 1px solid var(--brand-line);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-soft);
}

.form-card-header {
	padding: 1.35rem 1.6rem;
	border-bottom: 1px solid var(--brand-line);
}

.quick-tile {
	border-top: none;
	position: relative;
	overflow: hidden;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}

.quick-tile::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--brand-navy), var(--brand-gold));
}

.quick-tile:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-hover);
}

.form-label {
	font-size: .88rem;
	color: var(--brand-navy);
	font-weight: 600;
}

.form-control,
.form-select,
textarea.form-control {
	border-color: var(--brand-line);
	border-radius: var(--radius-sm);
	padding: .65rem .9rem;
	background-color: #fbfbfa;
}

.form-control:focus,
.form-select:focus {
	border-color: var(--brand-gold);
	background-color: #fff;
	box-shadow: 0 0 0 .2rem rgba(214, 161, 60, .18);
}

/* ---------- Contact ---------- */
.contact-info-card {
	background: #fff;
	border: 1px solid var(--brand-line);
	border-top: 3px solid var(--brand-gold);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-soft);
	height: 100%;
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}

.contact-info-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--shadow-hover);
}

/* ---------- CTA ---------- */
.cta-section {
	position: relative;
	overflow: visible;
	padding: 0;
	margin-top: 2rem;
}

.cta-panel {
	background: linear-gradient(120deg, var(--brand-navy-deep), var(--brand-navy) 60%, var(--brand-navy-soft));
	border-radius: var(--radius-lg);
	padding: 2.6rem 2.8rem;
	position: relative;
	overflow: hidden;
	transform: translateY(40px);
	box-shadow: var(--shadow-hover);
}

.cta-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(50% 140% at 100% 0%, rgba(214, 161, 60, .28), transparent 60%);
	pointer-events: none;
}

.cta-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(214, 161, 60, .16);
	color: var(--brand-gold);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.7rem;
	position: relative;
}

.cta-eyebrow {
	display: block;
	color: var(--brand-gold-light);
	font-weight: 700;
	font-size: .78rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: .5rem;
	position: relative;
}

.cta-panel h2 {
	color: #fff;
	position: relative;
}

/* ---------- Footer ---------- */
.footer-section {
	background-color: var(--brand-navy-deep);
	padding-top: 6.5rem !important;
}

.footer-logo {
	filter: brightness(0) invert(1);
}

.footer-about {
	color: rgba(255, 255, 255, .62);
	font-size: .92rem;
	line-height: 1.7;
	max-width: 320px;
}

.footer-heading {
	color: #fff;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	margin-bottom: 1.1rem;
	position: relative;
	padding-bottom: .7rem;
}

.footer-heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 30px;
	height: 2px;
	background: var(--brand-gold);
}

.footer-links li {
	margin-bottom: .65rem;
}

.footer-links a {
	color: rgba(255, 255, 255, .62);
	text-decoration: none;
	font-size: .92rem;
	transition: color .2s var(--ease), padding-left .2s var(--ease);
}

.footer-links a:hover {
	color: var(--brand-gold-light);
	padding-left: 4px;
}

.footer-contact {
	font-size: .9rem;
}

.footer-contact li {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	margin-bottom: .9rem;
	color: rgba(255, 255, 255, .62);
}

.footer-contact i {
	color: var(--brand-gold);
	margin-top: .2rem;
}

.footer-contact a {
	color: rgba(255, 255, 255, .62);
	text-decoration: none;
}

.footer-contact a:hover {
	color: var(--brand-gold-light);
}

.footer-social-icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .07);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color .2s var(--ease), transform .2s var(--ease), color .2s var(--ease);
}

.footer-social-icon:hover {
	background: var(--brand-gold);
	color: var(--brand-navy-deep);
	transform: translateY(-3px);
}

.footer-divider {
	border-color: rgba(255, 255, 255, .1);
}

.footer-bottom-text {
	color: rgba(255, 255, 255, .5);
}

/* ---------- Back to top ---------- */
.back-to-top {
	position: fixed;
	right: 1.4rem;
	bottom: 1.4rem;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--brand-navy);
	color: var(--brand-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	box-shadow: var(--shadow-hover);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .25s var(--ease), transform .25s var(--ease), background-color .2s var(--ease);
	z-index: 999;
}

.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.back-to-top:hover {
	background: var(--brand-gold);
	color: var(--brand-navy-deep);
}

/* ---------- Scroll reveal (progressive enhancement via JS) ---------- */
.reveal-on-scroll {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .6s var(--ease), transform .6s var(--ease);
}

.reveal-on-scroll.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
	.reveal-on-scroll {
		opacity: 1;
		transform: none;
		transition: none;
	}

	* {
		scroll-behavior: auto;
	}
}
