/* =========================================
   RESET & VARIABLES
   ========================================= */
html {
    scroll-behavior: smooth;
}

:root {
    /* Colors */
    --PrimaryColor: #4882FF;
    --BlackColor: #000;
    --WhiteColor: #FFFFFF;
    /* Typography */
    --font-sans: 'Inter', sans-serif;
    --section-pad: 5rem 0;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-sans);
    color: var(--BlackColor);
    line-height: 1.5;
    background-color: var(--WhiteColor);
    -webkit-font-smoothing: antialiased;
}

a {
    text-decoration: none;
    color: inherit;
    transition: 0.2s;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

img {
    max-width: 100%;
    display: block;
}



.same-section {
    padding: clamp(5rem, 7vw, 5rem) 0;
}

.same-heading {
    margin-bottom: 4rem;
}

.same-heading h2 {
    color: #212121;
    font-size: 3rem;
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 0.6rem;
}


.same-heading h2 .highlight{color: var(--PrimaryColor); font-weight: 600;}

.same-heading h3 {
    color: var(--BlackColor);
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 0.6rem;
}

.same-heading p {
    color: #545454;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7;
}




.bg-gray {
    background: #F5F5F5;
}

.max-wid-50 {
    width: 100%;
    max-width: 50%;
}

.max-wid-80 {
    width: 100%;
    max-width: 80%;
}

.same-heading.text-center .max-wid-50 {
    margin: 0 auto;
}

.same-heading.white-text :is(h2, p) {
    color: var(--WhiteColor);
}

.same-section .section-bottom-btn {
    margin-top: 1.5rem;
}

.section-bottom-btn {
    display: flex;
    gap: 1rem;
    align-items: center;flex-wrap: wrap;
    margin-top: 2rem;
}

.section-bottom-btn.text-center {
    justify-content: center;
}


/* =========================================
   UTILITIES
   ========================================= */
.tag {
  font-size: 0.7rem;
  letter-spacing: 0.1rem;
  color: #868686;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.7rem 1.7rem;
    border-radius: 9999px;
    font-weight: 400;
    font-size: 0.9rem;
    cursor: pointer;
    border: 1px solid transparent;
    /* Animation Properties */
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 1;
}

.btn:hover {
    transform: translateY(-2px);
}

.btn svg {
    width: 1.2rem;
    height: 1.2rem;
}

.btn-primary {
    background: var(--PrimaryColor);
    color: var(--WhiteColor);
    border-color: var(--PrimaryColor);
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background: var(--PrimaryColor);
    color: var(--WhiteColor);
    border-color: var(--PrimaryColor);
}

.btn-primary .fluid-canvas,
.btn-secondary .fluid-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.4s ease;
    border-radius: inherit;
    z-index: 1;
}

.btn-primary .btn-text,
.btn-secondary .btn-text {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-secondary {
    background: #CDDDFF;
    border: solid 1px #CDDDFF;
    color: #565656;
}

.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active {
 background: var(--PrimaryColor);
border-color:var(--PrimaryColor);
color: var(--WhiteColor);
}



/* =========================================
   1. NAVBAR
   ========================================= */

.header {
    position: sticky;
    top: 0;
    z-index: 100;
    /* background: rgba(255, 255, 255, 0.95); */
    /* backdrop-filter: blur(8px); */
    /* border-bottom: 1px solid var(--border); */
    padding: 0.6rem 0;
    transition: all 0.3s ease;
}

.header.headerfix {
    background: var(--BlackColor);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border-bottom: 1px solid var(--border);
    padding: 0.8rem 0;
}

.header .nav-content {
    display: flex;
    align-items: center;
}

.header .nav-links {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 3rem;
    margin-left: auto;
}
.header .nav-links .nav-actions{margin-left: 3rem;}


.header .nav-links a:not(.btn) {
    font-weight: 300;
    font-size: 0.9rem;
    color: var(--WhiteColor);
    padding: 0.2rem;
}

.header .nav-links a:hover:not(.btn) {
    color: var(--PrimaryColor);
}
.header .nav-links .btn{margin-left: 2rem;}



.header .mobile-toggle {
font-size: 1.5rem;
width: 2.8rem;
height: 2.8rem;
background: var(--PrimaryColor);
color: var(--WhiteColor);
border: solid 1px var(--PrimaryColor);
border-radius: 50%;
cursor: pointer;
display: inline-flex; align-items: center;
justify-content: center;
}

.header  .btn-sidebar-close{font-size: 1.5rem;
width: 2.8rem;
height: 2.8rem;
background: var(--PrimaryColor);
color: var(--WhiteColor);
border: solid 1px var(--PrimaryColor);
border-radius: 50%;
cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.header.inner-header{background: var(--BlackColor);}

/* =========================================
   2. HERO
   ========================================= */


.hero {
   background: url(../images/banner-bg.jpg)no-repeat center top/cover;
   padding: 8rem 0;
   margin-top: -6rem;
   min-height: 100vh;
   display: flex; align-items: center;
}


.hero .hero-content h1 {
    font-size:4rem;
    line-height: 1;
    font-weight: 400;
    margin-bottom: 1.5rem;
    color: var(--WhiteColor);
}

.hero .hero-content h1 strong{  font-weight: 600;}
.hero .hero-content p{
    font-size: 1rem;
    line-height: 1.6;
    font-weight: 400;
    max-width: 26rem;
    margin-bottom: 1.2rem;
    color: var(--WhiteColor);
}



@keyframes bounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.london-layer .layer-cards{margin-top: 5rem;}

.london-layer .card-box {
  background: #F5F5F5;
  padding: 1.8rem;
  border-radius:20px;
  height: 100%;
  /* box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.05); */
  transition: 0.3s ease;
}

.london-layer .card-box:hover {
  transform: translateY(-0.5rem);
}

.london-layer .icon {
  width: 4rem;
  height: 4rem;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

.london-layer .icon svg {
  width: 2rem;
  height: 2rem;
  color: var(--PrimaryColor);
}

.london-layer .card-box h3 {
font-size: 1.5rem;
line-height: 1.2;
color: var(--BlackColor);
margin-bottom: 0.5rem;
}

.london-layer .card-box p {
  font-size: 0.9rem;
  color: #545454;
  line-height: 1.6;
}

.bg-gray .content-row{border-top: solid 1px #DDDDDD; position: relative;}
.bg-gray .content-row:before{position: absolute; content: ''; left: 50%; transform: translateX(-50%); height: 100%; width: 1px; background:#DDDDDD ;}

.bg-gray .content-row .same-heading{padding: 4rem 0;}

.dot-list {list-style: disc; margin-left: 1rem;}
.dot-list li{color: #545454;
    font-size: 0.86rem;
    font-weight: 400;
    line-height: 1.7; padding: 0.2rem 0;}



.globe-system-wrap .globe-img-box{width: 100%; max-width: 40%; margin: 0 auto;}

.stewardship-section .same-heading{margin-bottom: 8rem;}
.stewardship-section .principle-card {
  padding: 1.3rem;
  border-radius: 1.2rem;
  color: #fff;
  height: 100%;
 background: url(../images/principle-card-bg.png)no-repeat center top/cover;
  transition: 0.3s ease;
}

.stewardship-section .principle-card:hover {
  transform: translateY(-0.4rem);
}

.stewardship-section .small {
  font-size: 0.9rem;
  opacity: 0.6;
  margin-bottom: 0.2rem;
}

.stewardship-section .principle-card h4 {
  font-size: 1.3rem;
  font-weight: 500;
  margin-bottom: 0;
}

.join-london .download-content{margin-top: 2rem;}
.download-content .download-text{color: var(--BlackColor); font-weight: 600; font-size: 0.9rem; margin-bottom: 1rem;}
.download-content .store-icons{display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.download-content .store-icons a{border: solid 1px var(--PrimaryColor); color: var(--PrimaryColor); width: 3rem; height: 3rem; border-radius: 15px; display: inline-flex; align-items: center; justify-content: center; transition: all .2s ease;}
.download-content .store-icons a img{width: 1.6rem; height: 1.6rem;}
.download-content .store-icons a:hover{background: var(--PrimaryColor); }
.download-content .store-icons a:hover img{filter: invert(0) brightness(24.6);}


.footer{background: var(--BlackColor);}
.footer .footer-top{padding: 3rem 0; border-bottom: solid 1px #343434; margin-bottom: 2rem;}
.footer .footer-title{font-size: 3rem; color: var(--WhiteColor); font-weight: 400; line-height: 1.2;}
.footer .footer-brand .brand-desc{font-size: 0.8rem; color: #9D9D9D; line-height: 1.7;}
.footer .footer-brand .brand-logo{display: inline-block; margin-bottom: 1rem;}
.footer .footer-menu{display: flex; align-items: center; flex-wrap: wrap; justify-content: space-around;}
/* .footer .footer-menu li{padding: 0 0.6rem;} */
.footer .footer-menu li a{font-size: 0.9rem; color: var(--WhiteColor); font-weight: 400; transition: all .2s ease;}
.footer .footer-menu li a:hover{color: var(--PrimaryColor);}
.footer .footer-bottom{ border-top: solid 1px #343434; margin-top: 1.5rem; font-size: 0.8rem;
    color: #9D9D9D;
    line-height: 1.7; padding: 2rem 0;}





    
.Downloads{    background: #f6f6f6;}
.Downloads__hero {
	background: var(--PrimaryColor);
	padding: 6.25rem 0;
	color: #fff;
	position: relative;
	overflow: hidden
}

.Downloads__hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .3);
	z-index: 1
}

.Downloads__hero__content {
	position: relative;
	z-index: 2
}

.Downloads__hero__title {
	font-size: 3rem;
	font-weight: 600;
	margin-bottom: 1.25rem;
	line-height: 1.2;    color: #fff;
}

.Downloads__hero__subtitle {
	font-size: 1rem;
	opacity: .9;
	line-height: 1.5;    color: #fff;
}

.Downloads__content {
	padding: 5rem 0
}

.Downloads__section {
	margin-bottom: 5rem
}

.Downloads__section:last-child {
	margin-bottom: 0
}

.Downloads__section__header {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 3rem;
	gap: 1rem
}

.Downloads__section__icon {
	width: 2rem;
	height: 2rem;
	object-fit: contain
}

.Downloads__section__title {
	font-size: 2rem;
	font-weight: 600;
	color: var(--BlackColor);
	margin: 0
}

.Downloads__section__subtitle {
	font-size: 1.6rem;
	font-weight: 300;
	text-align: left;
	margin: 2rem 0;
	color: var(--BlackColor);
	position: relative;
	padding: .5rem 0 .5em 2.5rem
}

.Downloads__section__subtitle::before {
	content: "";
	position: absolute;
	top: 47%;
	left: 0;
	height: 1px;
	width: 2.2rem;
	background: #000;
	z-index: 1
}

.Downloads__section__subtitle::after {
	content: attr(data-text);
	position: relative;
	background: #f6f6f6;
	z-index: 2;
	display: inline-block
}

.Downloads__subsection {
	margin-bottom: 4rem
}

.Downloads__subsection:last-child {
	margin-bottom: 0
}

.Downloads__subsection__title {
	font-size: 1.75rem;
	font-weight: 600;
	text-align: center;
	margin-bottom: 2rem;
	color: var(--BlackColor);
	position: relative;
	padding: 1rem 0
}

.Downloads__subsection__title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 2.5rem;
	height: .125rem;
	background: var(--PrimaryColor);
	border-radius: .0625rem
}

.Downloads__separator {
	text-align: center;
	margin: 3rem 0;
	padding: 0 1rem
}

.Downloads__separator__text {
	font-size: 1rem;
	font-weight: 600;
	color: var(--PrimaryColor);
	text-transform: uppercase;
	letter-spacing: .025rem;
	white-space: nowrap
}

.Downloads__app-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center
}

.Downloads__app-card__content-wrapper {
	background: #fff;
	border-radius: .75rem;
	padding: 1.5rem;
	box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .1);
	transition: all .3s ease;
	border: .0625rem solid #e5e7eb;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	width: 100%;
	height: 100%
}

.Downloads__app-card__content-wrapper:hover {
	transform: translateY(-0.25rem);
	box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15)
}

.Downloads__app-card__content-wrapper--unavailable:hover {
	transform: none;
	box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .1)
}

.Downloads__app-card__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 1.5rem;
	flex: 1
}

.Downloads__app-card__icon {
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	flex-shrink: 0
}

.Downloads__app-card__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain
}

.Downloads__app-card__icon img[src*=apple-icon],
.Downloads__app-card__icon img[src*=clear-app-store],
.Downloads__app-card__icon img[src*=play-store-icon] {
	filter: brightness(0.7) contrast(1.2)
}

.Downloads__app-card__icon--placeholder {
	background: #e5e7eb;
	border: 1px solid #d1d5db
}

.Downloads__app-card__info {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%
}

.Downloads__app-card__name {
	font-size: 1.125rem;
	font-weight: 500;
	color: var(--BlackColor);
	margin-bottom: .5rem;
	line-height: 1.3
}

.Downloads__app-card__description {
	font-size: .875rem;
	color: #6b7280;
	line-height: 1.4;
	margin: 0 0 1rem 0
}

.Downloads__app-card__action {
	text-align: center;
	width: 100%
}

.Downloads__app-card__availability {
	font-size: .875rem;
	color: var(--PrimaryColor);
	margin-bottom: .5rem;
	font-weight: 600
}

.Downloads .download-with-login-btn {
	display: flex;
	align-items: center;
	gap: .5rem
}

.Downloads__download-btn {
	background: #fff;
	color: var(--PrimaryColor);
	border: 1px solid var(--PrimaryColor);
	padding: .5rem 1rem;
	border-radius: .25rem;
	font-size: .875rem;
	font-weight: 500;
	cursor: pointer;
	transition: all .3s ease;
	width: 100%;
	text-decoration: none;
	display: inline-block;
	text-align: center
}

.Downloads__download-btn:hover {
	background: var(--PrimaryColor);
	color: #fff
}

.Downloads__download-btn:active {
	transform: translateY(0)
}

.Downloads__download-btn:focus {
	outline: none;
	box-shadow: 0 0 0 .1875rem var(--PrimaryColor)
}

.Downloads__download-btn--disabled {
	background: #d6d6d6;
	color: #555;
	border: 1px solid #d6d6d6;
	cursor: not-allowed;
	pointer-events: none
}

.Downloads__download-btn--disabled:hover {
	background: #fff;
	color: var(--PrimaryColor);
	transform: none;
	box-shadow: none
}

.Downloads__download-btn--disabled:focus {
	box-shadow: none
}

.Downloads__login-btn {
	background: #fff;
	color: var(--PrimaryColor);
	border: 1px solid var(--PrimaryColor);
	padding: .5rem 1rem;
	border-radius: .25rem;
	font-size: .875rem;
	font-weight: 500;
	cursor: pointer;
	transition: all .3s ease;
	width: 100%;
	text-decoration: none;
	display: inline-block;
	text-align: center
}

.Downloads__login-btn:hover {
	background: var(--PrimaryColor);
	color: #fff
}

.Downloads__login-btn:active {
	transform: translateY(0)
}

.Downloads__login-btn:focus {
	outline: none;
	box-shadow: 0 0 0 .1875rem var(--PrimaryColor)
}

.Downloads__login-btn--disabled {
	background: #d6d6d6;
	color: #555;
	border: 1px solid #d6d6d6;
	cursor: not-allowed;
	pointer-events: none
}

.Downloads__login-btn--disabled:hover {
	background: #fff;
	color: var(--PrimaryColor);
	transform: none;
	box-shadow: none
}

.Downloads__login-btn--disabled:focus {
	box-shadow: none
}

.Downloads__status {
	display: inline-block;
	font-size: .9rem;
	font-weight: 600;
	padding: .12rem .8rem;
	border-radius: 50px;
	margin-top: 6px
}

.Downloads__status--in-review {
	background-color: #e0e0e0;
	color: #555
}

.Downloads__status--live {
	background-color: #28a745;
	color: #fff
}

.Downloads__featured {
	padding: 5rem 0;
	background: #fff
}

.Downloads__featured .Downloads__featured__title {
	font-size: 2rem;
	font-weight: 600;
	color: var(--BlackColor);
	margin: 0 0 3rem;
	text-align: center
}

.Downloads__featured .download-platform-card {
	background: #fff;
	border-radius: .75rem;
	padding: 1.5rem;
	box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .1);
	transition: all .3s ease;
	border: .0625rem solid #e5e7eb;
	text-align: center;
	height: 100%
}

.Downloads__featured .iconbx {
	width: 4rem;
	height: 4rem;
	margin: 0 auto 1rem;
	border-radius: 50%;
	background: #f6f6f6;
	display: flex;
	align-items: center;
	justify-content: center
}

.Downloads__featured .iconbx img {
	width: 100%;
	max-width: 39%
}

.Downloads__featured h3 {
	font-size: 1.125rem;
	font-weight: 500;
	color: var(--BlackColor);
	margin-bottom: 1rem;
	line-height: 1.3
}

.Downloads__featured .btn-disable {
	background: #d6d6d6;
	color: #555;
	border: 1px solid #d6d6d6;
	cursor: not-allowed;
	pointer-events: none;
	font-size: .9rem;
	padding: .5rem .9375rem;
	border-radius: 10px;
	font-weight: 400
}



