.navbar {
	position: sticky!important;
	top: 0;
	z-index: 1030;
	background: #e8f1ff!important;
	box-shadow: 0 8px 22px rgba(11, 45, 91, .08)
}
/* Shared advertising placement below the header. */
.site-ad-banner {
	position: relative;
	width: min(100% - 32px, 1180px);
	height: 152px;
	margin: 20px auto;
	z-index: 1;
	background: #0b2d5b;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 12px 28px rgba(11, 45, 91, .14);
}
.site-ad-link {
	display: block;
	position: relative;
	height: 100%;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
}
.site-ad-link img,
.site-ad-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.site-ad-link img {
	object-fit: cover;
	object-position: center 58%;
	transition: transform .45s ease;
}
.site-ad-link:hover img {
	transform: scale(1.05);
}
.site-ad-overlay {
	background: linear-gradient(180deg, rgba(3, 27, 57, .04) 18%, rgba(3, 27, 57, .92) 100%);
}
.site-ad-copy {
	position: absolute;
	inset: 0 28px;
	max-width: 430px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.site-ad-copy small {
	margin-bottom: 8px;
	color: #d9fbe5;
	font: 500 .55rem 'DM Mono';
	letter-spacing: .08em;
}
.site-ad-copy strong {
	font-size: 1.45rem;
	line-height: 1.04;
}
.site-ad-copy>span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 12px;
	padding: 7px 10px;
	border: 1px solid rgba(217, 251, 229, .5);
	border-radius: 999px;
	color: #d9fbe5;
	font: 500 .58rem 'DM Mono';
}
.site-ad-copy i {
	margin-left: 5px;
}
.hero-ad-carousel {
	position: absolute;
	top: 50%;
	right: max(24px, calc((100% - 1180px) / 2));
	width: min(32%, 390px);
	height: auto;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 10px;
	background: #000;
	box-shadow: 0 18px 34px rgba(0, 0, 0, .28);
	transform: translateY(-50%);
	z-index: 3;
}
.hero-ad-carousel::before {
	content: 'Banner Ads';
	position: absolute;
	top: 12px;
	left: 14px;
	z-index: 4;
	padding: 5px 9px;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 999px;
	background: rgba(0, 0, 0, .42);
	color: #fff;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .07em;
	text-transform: uppercase;
	backdrop-filter: blur(5px);
}
.hero-slider {
	position: relative;
}
.hero-ad-slide {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	opacity: 0;
	visibility: hidden;
	transition: opacity .45s ease;
}
.hero-ad-slide.active {
	opacity: 1;
	visibility: visible;
}
.hero-ad-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .2);
}
.hero-ad-slide::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, .02) 45%, rgba(0, 0, 0, .78));
	pointer-events: none;
}
.hero-ad-slide-copy {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 18px;
	z-index: 1;
	color: #fff;
}
.hero-ad-slide-copy strong {
	display: block;
	font-size: 1.15rem;
	line-height: 1.05;
}
.hero-ad-slide-copy small {
	display: block;
	margin-top: 7px;
	color: rgba(255, 255, 255, .78);
	font-size: .64rem;
}
.hero-ad-controls {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 12px;
	z-index: 2;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.hero-ad-controls button {
	width: 28px;
	height: 28px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 50%;
	background: rgba(0, 0, 0, .28);
	color: #fff;
	font-size: .72rem;
}
.hero-ad-dots {
	display: flex;
	gap: 5px;
}
.hero-ad-dots button {
	width: 6px;
	height: 6px;
	padding: 0;
	border: 0;
	background: rgba(255, 255, 255, .55);
}
.hero-ad-dots button.active {
	background: #ff8a00;
}
body.page-events .events-page-hero,
body.page-browse-photos .browse-hero,
body.page-about .about-hero,
body.page-blog .about-hero,
body.page-contact .contact-hero,
body.page-membership .membership-page-hero,
body.page-cart .cart-hero,
body.page-event-details .detail-hero,
body.page-photographers .events-page-hero,
body.page-photographer-details .photographer-detail-hero {
	padding-right: min(33%, 370px);
}
@media (max-width: 991px) {
	.hero-ad-carousel {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		bottom: auto;
		width: calc(100% - 40px);
		height: auto;
		aspect-ratio: 2 / 1;
		transform: none;
		order: 2;
		margin: 24px auto 0;
	}
	body.page-events .events-page-hero,
	body.page-browse-photos .browse-hero,
	body.page-about .about-hero,
	body.page-blog .about-hero,
	body.page-contact .contact-hero,
	body.page-membership .membership-page-hero,
	body.page-cart .cart-hero,
	body.page-event-details .detail-hero,
	body.page-photographers .events-page-hero,
	body.page-photographer-details .photographer-detail-hero {
		display: flex;
		flex-direction: column;
		padding-bottom: 40px;
	}
	body.page-events .events-page-hero>.container-xl,
	body.page-browse-photos .browse-hero>.container-xl,
	body.page-about .about-hero>.container-xl,
	body.page-blog .about-hero>.container-xl,
	body.page-contact .contact-hero>.container-xl,
	body.page-membership .membership-page-hero>.container-xl,
	body.page-cart .cart-hero>.container-xl,
	body.page-event-details .detail-hero>.container-xl,
	body.page-photographers .events-page-hero>.container-xl,
	body.page-photographer-details .photographer-detail-hero>.container-xl {
		order: 1;
	}
	body.page-events .events-page-hero,
	body.page-browse-photos .browse-hero,
	body.page-about .about-hero,
	body.page-blog .about-hero,
	body.page-contact .contact-hero,
	body.page-membership .membership-page-hero,
	body.page-cart .cart-hero,
	body.page-event-details .detail-hero,
	body.page-photographers .events-page-hero,
	body.page-photographer-details .photographer-detail-hero {
		padding-right: 0;
	}
}
@media (max-width: 575px) {
	.hero-ad-carousel {
		width: calc(100% - 28px);
		height: auto;
		aspect-ratio: 2 / 1;
		margin-top: 20px;
	}
	.hero-ad-slide-copy {
		left: 14px;
		right: 14px;
		bottom: 14px;
	}
	.hero-ad-slide-copy strong {
		font-size: .92rem;
	}
	.hero-ad-slide-copy small {
		font-size: .56rem;
	}
	body.page-events .events-page-hero,
	body.page-browse-photos .browse-hero,
	body.page-about .about-hero,
	body.page-blog .about-hero,
	body.page-contact .contact-hero,
	body.page-membership .membership-page-hero,
	body.page-cart .cart-hero,
	body.page-event-details .detail-hero,
	body.page-photographers .events-page-hero,
	body.page-photographer-details .photographer-detail-hero {
		padding-bottom: 30px;
	}
}
.dashboard-ad {
	width: 100%;
	height: 250px;
	margin: 18px 0 0;
	border-radius: 12px;
}
.dashboard-ad .site-ad-copy {
	inset: auto 14px 14px;
	max-width: none;
}
.dashboard-ad .site-ad-copy strong {
	font-size: 1rem;
}
.dashboard-ad .site-ad-copy>span {
	margin-top: 9px;
	padding: 6px 8px;
}
body.has-site-ad .hero-ad {
	display: none;
}
@media (max-width: 991px) {
	.site-ad-banner {
		height: 132px;
		margin: 20px auto;
	}
	.site-ad-copy {
		inset: auto 20px 18px;
	}
	.site-ad-copy strong {
		font-size: 1.3rem;
	}
	.dashboard-ad {
		width: min(100% - 24px, 420px);
		height: 180px;
		margin: 16px auto 0;
	}
}
@media (max-width: 575px) {
	.site-ad-banner {
		height: 118px;
		margin: 20px auto;
	}
	.site-ad-copy strong {
		font-size: 1rem;
	}
	body.page-photographers .footer.footer-premium .footer-main {
		margin-left: 0!important;
		margin-right: 0!important;
		width: 100%;
	}
}
.navbar .collapse.show {
	max-height: calc(100vh - 76px);
	overflow-y: auto
}
.navbar .collapse.mobile-nav-open {
	display: block!important;
	max-height: calc(100vh - 76px);
	overflow-y: auto;
}

/* Shared Event-page visual language for every non-Home page. */
body[class]:not(.customer-app):not(.page-login):not(.page-signup) {
	background: #f4f8ff;
	color: #0b2d5b;
}

body[class]:not(.customer-app):not(.page-login):not(.page-signup) :is(.about-hero, .browse-hero, .cart-hero, .contact-hero, .membership-page-hero, .detail-hero, .events-page-hero) {
	background-color: #0b2d5b;
	color: #fff;
}
body[class]:not(.customer-app):not(.page-login):not(.page-signup) :is(.section-wrap, .content-section, .detail-section, .cart-section, .contact-section, .contact-bottom-section, .search-wrap) {
	background-color: #f4f8ff;
}
body[class]:not(.customer-app):not(.page-login):not(.page-signup) :is(.feature-story, .mission-card, .story-card, .content-card, .cart-list-card, .checkout-card, .contact-panel, .info-panel, .pricing-card, .event-card, .person-card, .gallery-item, .related-card, .review-card, .search-card, .sport-card, .feature-band, .cta-panel) {
	border: 1px solid rgba(11, 45, 91, .1);
	border-radius: 15px;
	box-shadow: 0 10px 24px rgba(11, 45, 91, .06);
}
body[class]:not(.customer-app):not(.page-login):not(.page-signup) :is(.feature-story, .mission-card, .story-card, .content-card, .cart-list-card, .checkout-card, .contact-panel, .info-panel, .pricing-card, .event-card, .person-card, .gallery-item, .related-card, .review-card, .search-card, .sport-card, .feature-band, .cta-panel):hover {
	box-shadow: 0 18px 36px rgba(11, 45, 91, .1);
}
body[class]:not(.customer-app):not(.page-login):not(.page-signup) :is(.section-title, .about-hero h1, .browse-hero h1, .cart-hero h1, .contact-hero h1, .membership-page-hero h1, .detail-hero h1) {
	color: #0b2d5b;
}
body[class]:not(.customer-app):not(.page-login):not(.page-signup) :is(.about-hero h1, .browse-hero h1, .cart-hero h1, .contact-hero h1, .membership-page-hero h1, .detail-hero h1, .events-page-hero h1) em {
	color: #ff8a00;
}

.archive-page .footer-premium, .people-page .footer-premium {
	background: #0b2d5b!important;
	color: #e8f1ff!important
}
.archive-page .footer-premium a, .people-page .footer-premium a {
	color: rgba(232, 241, 255, .72)
}
.app-store-badges {
	position: absolute;
	left: 12px;
	bottom: 30px;
	z-index: 5;
	display: flex;
	gap: 10px;
	flex-wrap: wrap
}
.store-badge {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 158px;
	padding: 9px 13px;
	border: 1px solid rgba(232, 241, 255, .35);
	border-radius: 7px;
	background: #0f172a;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 6px 0 rgba(0, 0, 0, .2);
	transition: transform .25s, background .25s
}
.store-badge:hover {
	background: #ff8a00;
	color: #fff;
	transform: translateY(-3px)
}
.store-badge>i {
	font-size: 1.55rem
}
.store-badge span {
	font-size: .98rem;
	font-weight: 600;
	line-height: 1
}
.store-badge small {
	display: block;
	font: 400 .52rem 'DM Mono';
	text-transform: uppercase;
	margin-bottom: 4px
}
@media(max-width:767px) {
	.app-store-badges {
		position: relative;
		left: auto;
		bottom: auto;
		margin-top: 18px
	}
	.app-panel>.app-store-badges {
		grid-column: auto
	}
}
.app-web-copy {
	position: relative;
	z-index: 2;
	max-width: 570px;
	padding-left: 12px
}
.app-web-copy h2 {
	font-size: clamp(2.8rem, 5.5vw, 5.6rem);
	line-height: .88;
	letter-spacing: -.08em;
	margin: 15px 0 25px;
	color: #e8f1ff
}
.app-web-copy h2 em {
	color: #ff8a00;
	font-style: normal
}
.app-web-copy>p {
	color: rgba(232, 241, 255, .7);
	max-width: 420px;
	line-height: 1.6
}
.app-panel>.app-copy {
	display: none
}
.app-web-copy .section-kicker {
	color: #22c55e
}
@media(max-width:767px) {
	.app-web-copy {
		padding-left: 0;
		max-width: none
	}
}
.testimonials-section .testimonial-portrait {
	height: 145px!important;
	min-height: 145px!important;
	aspect-ratio: 16/9!important;
	background: #dbeafe!important;
	overflow: hidden!important
}
.testimonials-section .testimonial-portrait img {
	display: block!important;
	width: 100%!important;
	height: 100%!important;
	    border-radius: 10px 10px 0px 0px;
	object-fit: cover!important;
	object-position: center 22%!important;
	filter: saturate(.86) contrast(1.04)!important
}
.testimonials-section .testimonial-portrait:after {
	z-index: 2!important
}
@media(max-width:575px) {
	.testimonials-section .testimonial-portrait {
		min-height: 155px!important;
		aspect-ratio: 16/9!important
	}
	.testimonials-section .testimonial-portrait img {
		object-position: center 20%!important
	}
}
.testimonials-section .testimonial-slide, .testimonials-section .testimonial-slide.active {
	display: grid!important;
	grid-template-columns: 1fr!important;
	grid-template-rows: 145px 1fr auto!important;
	min-height: 365px!important
}
.testimonials-section .testimonial-slide .testimonial-portrait {
	grid-column: 1!important;
	grid-row: 1!important;
	width: 100%!important;
	height: 145px!important;
	min-height: 145px!important
}
.testimonials-section .testimonial-slide .testimonial-content {
	grid-column: 1!important;
	grid-row: 2!important;
	width: 100%!important;
	min-width: 0!important
}
.testimonials-section .testimonial-slide .testimonial-meta {
	grid-column: 1!important;
	grid-row: 3!important;
	width: 100%!important;
	min-height: 42px!important
}
@media(max-width:575px) {
	.testimonials-section .testimonial-slide, .testimonials-section .testimonial-slide.active {
		grid-template-rows: 155px 1fr auto!important;
		min-height: 390px!important
	}
	.testimonials-section .testimonial-slide .testimonial-portrait {
		height: 155px!important;
		min-height: 155px!important
	}
}
.testimonials-section .testimonial-slide, .testimonials-section .testimonial-slide.active, .testimonials-section .testimonial-slide:nth-child(2), .testimonials-section .testimonial-slide:nth-child(5) {
	background: #fff!important;
	color: #0f172a!important;
	border: 1px solid rgba(11, 45, 91, .14)!important;
	box-shadow: 0 10px 0 rgba(11, 45, 91, .12)!important;
	    border-radius: 15px;
}
.testimonials-section .testimonial-slide .testimonial-content {
	background: #fff!important;
	color: #0f172a!important
}
.testimonials-section .testimonial-slide .testimonial-mark {
	color: #ff8a00!important
}
.testimonials-section .testimonial-slide .testimonial-person strong {
	color: #0b2d5b!important
}
.testimonials-section .testimonial-slide .testimonial-person span, .testimonials-section .testimonial-slide .testimonial-meta {
	color: #59708f!important
}
.testimonials-section .testimonial-slide .testimonial-meta {
	border-color: rgba(11, 45, 91, .12)!important
}
.testimonials-section .testimonial-slide .testimonial-meta span:last-child {
	color: #ff8a00!important
}
.testimonials-section .testimonial-slide .testimonial-content:after {
	color: #ff8a00!important
}
.testimonial-slide, .testimonial-slide.active {
	background: #fff!important;
	color: #0f172a!important;
	border: 1px solid rgba(11, 45, 91, .14)!important;
	box-shadow: 0 10px 0 rgba(11, 45, 91, .12)!important
}
.testimonial-slide .testimonial-content {
	background: #fff!important;
	color: #0f172a!important
}
.testimonial-slide .testimonial-mark {
	color: #ff8a00!important
}
.testimonial-slide .testimonial-person strong {
	color: #0b2d5b!important
}
.testimonial-slide .testimonial-person span {
	color: #59708f!important
}
.testimonial-slide .testimonial-meta {
	color: #59708f!important;
	border-color: rgba(11, 45, 91, .12)!important
}
.testimonial-slide .testimonial-meta span:last-child {
	color: #ff8a00!important
}
.testimonial-slide .testimonial-content:after {
	color: #ff8a00!important
}
.testimonial-slide .testimonial-portrait:after {
	color: #fff!important
}
.testimonial-slide:first-child {
	background: #fff!important;
	color: #0f172a!important;
	border: 1px solid rgba(11, 45, 91, .14)!important;
	box-shadow: 0 10px 0 rgba(11, 45, 91, .12)!important
}
.testimonial-slide:first-child .testimonial-content {
	background: #fff!important;
	color: #0f172a!important
}
.testimonial-slide:first-child .testimonial-mark {
	color: #ff8a00!important
}
.testimonial-slide:first-child .testimonial-person strong {
	color: #0b2d5b!important
}
.testimonial-slide:first-child .testimonial-person span {
	color: #59708f!important
}
.testimonial-slide:first-child .testimonial-meta {
	color: #59708f!important;
	border-color: rgba(11, 45, 91, .12)!important
}
.testimonial-slide:first-child .testimonial-meta span:last-child {
	color: #ff8a00!important
}
.testimonial-slide:first-child .testimonial-content:after {
	color: #ff8a00!important
}
.testimonial-slide:first-child .testimonial-portrait:after {
	color: #fff!important
}
.testimonial-slide blockquote {
	display: block!important;
	font-family: 'Space Grotesk', sans-serif!important;
	font-size: clamp(.98rem, 1.35vw, 1.2rem)!important;
	line-height: 1.42!important;
	letter-spacing: -.02em!important;
	margin: 30px 0 18px!important;
	max-width: 100%!important;
	font-weight: 500
}
.testimonial-content {
	padding: 28px 24px 20px!important
}
.testimonial-mark {
	font-size: 3.8rem!important;
	top: 22px!important;
	left: 22px!important;
	line-height: .6!important
}
.testimonial-person {
	margin-top: auto
}
.testimonial-person strong {
	font-size: .78rem!important
}
.testimonial-person span {
	font-size: .55rem!important;
	line-height: 1.4
}
.testimonial-meta {
	font-size: .52rem!important;
	padding: 11px 16px!important
}
.testimonial-content:after {
	font-size: .54rem!important;
	right: 20px!important;
	top: 22px!important
}
.testimonial-slide {
	min-height: 365px!important
}
.testimonial-portrait {
	height: 145px!important;
	min-height: 145px!important
}
@media(max-width:575px) {
	.testimonial-slide {
		min-height: 390px!important
	}
	.testimonial-portrait {
		height: 155px!important;
		min-height: 155px!important
	}
	.testimonial-slide blockquote {
		font-size: 1rem!important;
		line-height: 1.4!important;
		margin-top: 27px!important
	}
}
.testimonial-window {
	overflow: hidden;
	padding: 4px 4px 14px
}
.testimonial-track {
	display: flex;
	gap: 24px;
	min-height: 0;
	transition: transform .55s ease;
	will-change: transform
}
.testimonial-slide, .testimonial-slide.active {
	display: grid!important;
	flex: 0 0 calc((100% - 48px)/3);
	grid-template-columns: 1fr;
	min-height: 390px;
	background: #fff;
	color: #0b2d5b;
	box-shadow: 0 10px 0 rgba(11, 45, 91, .13);
	border: 1px solid rgba(11, 45, 91, .12);
	animation: none;
	overflow: hidden
}
.testimonial-slide:nth-child(2), .testimonial-slide:nth-child(5) {
	background: #0b2d5b;
	color: #e8f1ff
}
.testimonial-portrait {
	min-height: 160px;
	height: 160px
}
.testimonial-content {
	padding: 30px 25px 22px
}
.testimonial-mark {
	top: 23px;
	left: 24px;
	font-size: 4.7rem
}
.testimonial-content blockquote {
	font-size: 1.2rem;
	line-height: 1.2;
	letter-spacing: -.04em;
	margin: 29px 0 22px
}
.testimonial-person strong {
	color: #0b2d5b
}
.testimonial-slide:nth-child(2) .testimonial-person strong, .testimonial-slide:nth-child(5) .testimonial-person strong {
	color: #e8f1ff
}
.testimonial-meta {
	border-left: 0;
	border-top: 1px solid rgba(11, 45, 91, .12);
	padding: 14px 20px;
	display: flex;
	flex-direction: row;
	writing-mode: initial;
	transform: none;
	font-size: .56rem
}
.testimonial-slide:nth-child(2) .testimonial-meta, .testimonial-slide:nth-child(5) .testimonial-meta {
	border-color: rgba(232, 241, 255, .16)
}
.testimonial-content:after {
	right: 24px;
	top: 24px;
	font-size: .62rem
}
.testimonial-dots {
	margin-top: 22px
}
.testimonial-dot {
	width: 22px
}
.testimonial-dot.active {
	width: 44px
}
@media(max-width:991px) {
	.testimonial-slide, .testimonial-slide.active {
		flex-basis: calc((100% - 24px)/2)
	}
}
@media(max-width:575px) {
	.testimonial-track {
		gap: 16px
	}
	.testimonial-slide, .testimonial-slide.active {
		flex-basis: 100%;
		min-height: 410px
	}
	.testimonial-portrait {
		height: 175px;
		min-height: 175px
	}
}
/* App section finish */

.app-section {
	position: relative
}
.app-section:before {
	content: 'PHOTOX APP';
	position: absolute;
	right: -30px;
	top: 28%;
	color: rgba(232, 241, 255, .05);
	font: 500 clamp(3rem, 10vw, 10rem) 'DM Mono';
	letter-spacing: -.12em;
	transform: rotate(-90deg);
	pointer-events: none
}
.app-panel {
	position: relative;
	z-index: 1
}
.app-copy {
	padding-left: 12px
}
.store-button {
	box-shadow: 0 8px 0 rgba(0, 0, 0, .22)
}
.store-button:hover {
	box-shadow: 0 4px 0 rgba(0, 0, 0, .22)
}
.phone-frame {
	box-shadow: 16px 18px 0 #ff8a00, 0 0 0 8px rgba(34, 197, 94, .15)
}
.app-device:after {
	content: 'DOWNLOAD THE APP';
	position: absolute;
	bottom: 5px;
	left: 50%;
	transform: translateX(-50%);
	color: #94a3b8;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .16em;
	white-space: nowrap
}
@media(max-width:767px) {
	.app-section:before {
		display: none
	}
	.app-copy {
		padding-left: 0
	}
	.app-device:after {
		bottom: 0
	}
}
.how-steps>.col-lg {
	flex: 1 0 0%;
	width: auto
}
.how-steps .how-step {
	min-height: 300px
}
.how-steps .how-step:nth-child(5) {
	transform: translateY(18px)
}
.how-steps .how-step:nth-child(5):hover {
	transform: translateY(10px)
}
.how-steps .how-step:nth-child(5) .how-number {
	background: #ff8a00;
	color: #0b2d5b;
	border-color: #e8f1ff;
	box-shadow: 0 0 0 5px rgba(34, 197, 94, .3)
}
@media(max-width:991px) {
	.how-steps>.col-lg {
		flex: 0 0 auto;
		width: 50%
	}
	.how-steps .how-step:nth-child(5) {
		transform: none
	}
	.how-steps .how-step:nth-child(5):hover {
		transform: translateY(-6px)
	}
}
@media(max-width:575px) {
	.how-steps>.col-lg {
		width: 100%
	}
	.how-steps .how-step {
		min-height: 275px
	}
}
.how-steps {
	position: relative
}
.how-steps:before {
	content: '';
	position: absolute;
	left: 10%;
	right: 10%;
	top: 48px;
	height: 1px;
	background: linear-gradient(90deg, #22c55e, #ff8a00, #22c55e);
	opacity: .45
}
.how-step {
	z-index: 1;
	border: 1px solid rgba(11, 45, 91, .12)!important;
	border-radius: 15px!important;
	padding: 29px 26px 25px!important;
	background: #f7fbff!important;
	box-shadow: 0 8px 0 rgba(11, 45, 91, .05);
	overflow: hidden
}
.how-step:before {
	content: '';
	position: absolute;
	right: -34px;
	top: -34px;
	width: 110px;
	height: 110px;
	border: 1px solid rgba(34, 197, 94, .32);
	border-radius: 50%
}
.how-step:after {
	content: '';
	position: absolute;
	right: -12px;
	top: -12px;
	width: 65px;
	height: 65px;
	border: 1px solid rgba(255, 138, 0, .3);
	border-radius: 50%
}
.how-step:nth-child(2) {
	transform: translateY(18px);
	background: #fff!important
}
.how-step:nth-child(3) {
	transform: translateY(-3px)
}
.how-step:nth-child(4) {
	transform: translateY(18px)
}
.how-step:nth-child(2):hover, .how-step:nth-child(4):hover {
	transform: translateY(10px)
}
.how-step:nth-child(1):hover, .how-step:nth-child(3):hover {
	transform: translateY(-11px)
}
.how-step-dark {
	background: #0b2d5b!important;
	box-shadow: 0 8px 0 #ff8a00
}
.how-number {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #0b2d5b;
	color: #22c55e;
	border: 5px solid #22c55e;
	box-shadow: 0 0 0 5px rgba(255, 138, 0, .18);
	font-size: .75rem;
	letter-spacing: .08em
}
.how-step-dark .how-number {
	background: #ff8a00;
	color: #0b2d5b;
	border-color: #e8f1ff;
	box-shadow: 0 0 0 5px rgba(34, 197, 94, .3)
}
.how-icon {
	position: relative;
	z-index: 2;
	width: 48px;
	height: 48px;
	display: grid!important;
	place-items: center;
	background: #d9fbe5;
	border-radius: 12px;
	padding: 12px;
	margin: 28px 0 19px!important;
	font-size: 1.25rem!important
}
.how-step-dark .how-icon {
	background: rgba(232, 241, 255, .12);
	color: #ff8a00
}
.how-step h3 {
	position: relative;
	z-index: 2;
	font-size: 1.32rem!important
}
.how-step p {
	position: relative;
	z-index: 2;
	min-height: 54px
}
.how-step a {
	z-index: 2;
	font-size: .63rem!important
}
.how-footnote {
	border-top: 1px solid rgba(11, 45, 91, .12);
	padding-top: 21px
}
.how-footnote span {
	display: inline-flex;
	align-items: center
}
.how-footnote span+span:before {
	content: '·';
	margin-right: 25px;
	color: #ff8a00
}
@media(max-width:991px) {
	.how-steps:before {
		display: none
	}
	.how-step:nth-child(2), .how-step:nth-child(3), .how-step:nth-child(4) {
		transform: none
	}
	.how-step:nth-child(1):hover, .how-step:nth-child(2):hover, .how-step:nth-child(3):hover, .how-step:nth-child(4):hover {
		transform: translateY(-6px)
	}
}
@media(max-width:575px) {
	.how-step {
		min-height: 275px!important
	}
	.how-footnote span+span:before {
		display: none
	}
	.how-footnote {
		gap: 10px;
		flex-direction: column
	}
	.how-step p {
		min-height: 0
	}
}
.testimonial-slide {
	border-radius: 3px
}
.testimonial-portrait {
	position: relative
}
.testimonial-portrait:after {
	content: 'PHOTOX';
	position: absolute;
	left: 18px;
	top: 18px;
	color: #e8f1ff;
	font: 500 .6rem 'DM Mono';
	letter-spacing: .12em;
	opacity: .8
}
.testimonial-content:after {
	content: '★★★★★';
	position: absolute;
	right: 42px;
	top: 32px;
	color: #ff8a00;
	letter-spacing: .15em;
	font-size: .72rem
}
.testimonial-person strong:before {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	background: #22c55e;
	border-radius: 50%;
	margin: 0 8px 1px 0
}
.testimonial-dot {
	border-radius: 3px
}
.how-it-works-section {
	background: #f3f7fe;
	padding: 112px 0 108px
}
.how-intro h2 {
	color: #0b2d5b;
	font-size: clamp(2.5rem, 5vw, 4.8rem);
	line-height: .9;
	letter-spacing: -.08em;
	margin: 0
}
.how-intro h2 span {
	color: #ff8a00
}
.how-step {
	height: 100%;
	min-height: 290px;
	background: #e8f1ff;
	border: 1px solid rgba(11, 45, 91, .11);
	padding: 24px;
	position: relative;
	transition: transform .3s, box-shadow .3s
}
.how-step:hover {
	transform: translateY(-8px);
	box-shadow: 8px 8px 0 #22c55e
}
.how-step-dark {
	background: #0b2d5b;
	color: #e8f1ff
}
.how-number {
	color: #ff8a00;
	font: 500 .66rem 'DM Mono';
	letter-spacing: .1em
}
.how-icon {
	display: block;
	color: #22c55e;
	font-size: 2rem;
	margin: 31px 0 22px
}
.how-step h3 {
	font-size: 1.25rem;
	letter-spacing: -.04em
}
.how-step p {
	color: #59708f;
	line-height: 1.55;
	font-size: .86rem;
	max-width: 210px
}
.how-step-dark p {
	color: rgba(232, 241, 255, .68)
}
.how-step a {
	position: absolute;
	bottom: 24px;
	color: #0b2d5b;
	font: 500 .66rem 'DM Mono';
	text-decoration: none;
	text-transform: uppercase
}
.how-step-dark a {
	color: #22c55e
}
.how-step a i {
	margin-left: 6px
}
.how-footnote {
	display: flex;
	gap: 25px;
	flex-wrap: wrap;
	margin-top: 28px;
	color: #59708f;
	font: 500 .62rem 'DM Mono';
	text-transform: uppercase
}
.how-footnote i {
	color: #22c55e;
	margin-right: 6px
}
.app-section {
	background: #0b2d5b;
	color: #e8f1ff;
	padding: 112px 0;
	overflow: hidden
}
.app-panel {
	min-height: 570px;
	display: grid;
	grid-template-columns: 1fr 42%;
	align-items: center;
	position: relative
}
.app-copy {
	position: relative;
	z-index: 2;
	max-width: 570px
}
.app-copy .section-kicker {
	color: #22c55e
}
.app-copy h2 {
	font-size: clamp(2.8rem, 5.5vw, 5.6rem);
	line-height: .88;
	letter-spacing: -.08em;
	margin: 15px 0 25px
}
.app-copy h2 em {
	color: #ff8a00;
	font-style: normal
}
.app-copy>p {
	color: rgba(232, 241, 255, .7);
	max-width: 420px;
	line-height: 1.6
}
.store-buttons {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 28px
}
.store-button {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 166px;
	padding: 10px 15px;
	background: #0f172a;
	color: #fff;
	border: 1px solid rgba(232, 241, 255, .26);
	border-radius: 6px;
	text-decoration: none;
	transition: transform .25s, background .25s
}
.store-button:hover {
	background: #ff8a00;
	color: #fff;
	transform: translateY(-3px)
}
.store-button>i {
	font-size: 1.7rem
}
.store-button span {
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1
}
.store-button small {
	display: block;
	font: 400 .55rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .02em;
	margin-bottom: 4px
}
.app-notes {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	color: #94a3b8;
	font: 500 .6rem 'DM Mono';
	text-transform: uppercase;
	margin-top: 24px
}
.app-notes i {
	color: #22c55e;
	margin-right: 5px
}
.app-device {
	height: 570px;
	position: relative;
	display: grid;
	place-items: center
}
.phone-frame {
	width: 245px;
	height: 485px;
	padding: 8px;
	background: #0f172a;
	border: 3px solid #94a3b8;
	border-radius: 34px;
	box-shadow: 18px 20px 0 #ff8a00;
	transform: rotate(6deg);
	position: relative;
	z-index: 2
}
.phone-speaker {
	height: 5px;
	width: 55px;
	border-radius: 99px;
	background: #94a3b8;
	margin: 5px auto 8px
}
.phone-screen {
	height: calc(100% - 18px);
	border-radius: 23px;
	background: #e8f1ff;
	color: #0b2d5b;
	padding: 17px 14px;
	overflow: hidden
}
.phone-topline {
	display: flex;
	justify-content: space-between;
	font: 700 .67rem 'Space Grotesk'
}
.phone-topline span span {
	color: #ff8a00
}
.phone-topline i {
	color: #22c55e
}
.phone-heading {
	font-size: 1.55rem;
	line-height: .9;
	letter-spacing: -.07em;
	margin: 33px 0 20px
}
.phone-heading strong {
	color: #ff8a00
}
.phone-photo {
	height: 205px;
	border-radius: 12px;
	overflow: hidden;
	transform: rotate(-3deg);
	box-shadow: 6px 7px 0 #22c55e
}
.phone-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover
}
.phone-card {
	background: #fff;
	padding: 12px;
	margin-top: 16px;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: .75rem
}
.phone-card span {
	color: #59708f;
	font: 500 .55rem 'DM Mono';
	text-transform: uppercase
}
.app-orbit {
	position: absolute;
	border: 1px solid rgba(34, 197, 94, .55);
	border-radius: 50%;
	width: 440px;
	height: 440px;
	transform: rotate(-25deg)
}
.orbit-one {
	border-color: rgba(255, 138, 0, .7);
	width: 500px;
	height: 210px
}
.orbit-two {
	width: 370px;
	height: 520px;
	transform: rotate(30deg)
}
.app-badge {
	position: absolute;
	right: 0;
	bottom: 46px;
	background: #22c55e;
	color: #0b2d5b;
	padding: 13px 16px;
	font: 500 .62rem 'DM Mono';
	text-transform: uppercase;
	line-height: 1.4;
	transform: rotate(-7deg);
	z-index: 3
}
.app-badge i {
	font-size: 1rem;
	margin-right: 4px
}
@media(max-width:767px) {
	.how-it-works-section, .app-section {
		padding: 72px 0
	}
	.how-step {
		min-height: 260px
	}
	.how-footnote {
		line-height: 1.8
	}
	.app-panel {
		display: block;
		min-height: 0
	}
	.app-copy {
		max-width: none
	}
	.app-device {
		height: 500px;
		margin-top: 25px
	}
	.phone-frame {
		transform: rotate(4deg) scale(.88)
	}
	.app-badge {
		right: 6%;
		bottom: 25px
	}
	.app-orbit {
		transform: scale(.78) rotate(-25deg)
	}
}
/* Testimonials slider */

.testimonials-section {
	background: #e8f1ff;
	padding: 112px 0 105px;
	overflow: hidden
}
.testimonial-heading {
	margin-bottom: 30px
}
.testimonial-heading h2 {
	color: #0b2d5b;
	font-size: clamp(2.4rem, 5vw, 4.8rem);
	line-height: .9;
	letter-spacing: -.08em;
	margin: 0
}
.testimonial-heading h2 span {
	color: #ff8a00
}
.testimonial-controls {
	display: flex;
	gap: 8px
}
.testimonial-arrow {
	width: 44px;
	height: 44px;
	border: 1px solid rgba(11, 45, 91, .22);
	border-radius: 50%;
	background: transparent;
	color: #0b2d5b
}
.testimonial-arrow:hover {
	background: #0b2d5b;
	color: #fff
}
.testimonial-window {
	overflow: hidden
}
.testimonial-track {
	position: relative;
	min-height: 340px
}
.testimonial-slide {
	display: none;
	grid-template-columns: 31% 1fr 13%;
	min-height: 340px;
	background: #0b2d5b;
	color: #e8f1ff;
	box-shadow: 14px 14px 0 #22c55e;
	position: relative;
	overflow: hidden
}
.testimonial-slide.active {
	display: grid;
	animation: testimonial-in .45s ease both
}
@keyframes testimonial-in {
	from {
		opacity: 0;
		transform: translateX(18px)
	}
	to {
		opacity: 1;
		transform: translateX(0)
	}
}
.testimonial-portrait {
	min-height: 340px;
	overflow: hidden
}
.testimonial-portrait img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	filter: saturate(.8)
}
.testimonial-content {
	padding: 45px 48px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative
}
.testimonial-mark {
	color: #22c55e;
	font-size: 5.5rem;
	line-height: .55;
	font-family: Georgia, serif;
	position: absolute;
	top: 38px;
	left: 44px
}
.testimonial-content blockquote {
	font-size: clamp(1.35rem, 2.6vw, 2.45rem);
	line-height: 1.13;
	letter-spacing: -.055em;
	max-width: 650px;
	margin: 28px 0 30px
}
.testimonial-person {
	display: flex;
	flex-direction: column;
	gap: 5px
}
.testimonial-person strong {
	font-size: .9rem
}
.testimonial-person span {
	color: #94a3b8;
	font: 500 .61rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .04em
}
.testimonial-meta {
	border-left: 1px solid rgba(232, 241, 255, .17);
	padding: 30px 18px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: #94a3b8;
	font: 500 .6rem 'DM Mono';
	text-transform: uppercase;
	writing-mode: vertical-rl;
	transform: rotate(180deg)
}
.testimonial-meta span:last-child {
	color: #ff8a00
}
.testimonial-dots {
	display: flex;
	gap: 8px;
	margin-top: 28px
}
.testimonial-dot {
	height: 4px;
	width: 32px;
	border: 0;
	background: #94a3b8;
	padding: 0;
	transition: all .25s
}
.testimonial-dot.active {
	width: 60px;
	background: #ff8a00
}
@media(max-width:767px) {
	.testimonials-section {
		padding: 72px 0 72px
	}
	.testimonial-slide {
		grid-template-columns: 34% 1fr;
		min-height: 380px
	}
	.testimonial-portrait {
		min-height: 380px
	}
	.testimonial-content {
		padding: 34px 22px
	}
	.testimonial-mark {
		left: 20px;
		top: 29px;
		font-size: 4rem
	}
	.testimonial-content blockquote {
		font-size: 1.4rem;
		margin: 23px 0 22px
	}
	.testimonial-meta {
		display: none
	}
	.testimonial-slide {
		box-shadow: 7px 8px 0 #22c55e
	}
}
@media(max-width:480px) {
	.testimonial-slide {
		grid-template-columns: 1fr;
		min-height: 470px
	}
	.testimonial-portrait {
		height: 180px;
		min-height: 180px
	}
	.testimonial-content {
		padding: 28px 22px 30px
	}
	.testimonial-content blockquote {
		font-size: 1.45rem
	}
	.testimonial-mark {
		top: 191px;
		left: 20px
	}
	.testimonial-person {
		padding-top: 8px
	}
	.testimonial-heading h2 {
		font-size: 2.6rem
	}
}
/* Reference-style right image wall with hover tilt */

@media(min-width:992px) {
	.hero-collage {
		width: 52%!important;
		height: 610px!important;
		right: -1%!important;
		top: 0!important
	}
	.hero-collage .photo-main {
		left: 8%!important;
		right: auto!important;
		top: 8%!important;
		width: 52%!important;
		height: 66%!important;
		transform: rotate(-2deg)
	}
	.hero-collage .photo-top {
		left: auto!important;
		right: 8%!important;
		top: 3%!important;
		width: 31%!important;
		height: 29%!important;
		transform: rotate(3deg)
	}
	.hero-collage .photo-right {
		left: auto!important;
		right: 0!important;
		top: 39%!important;
		width: 31%!important;
		height: 30%!important;
		transform: rotate(-2deg)
	}
	.hero-collage .photo-left {
		left: 4%!important;
		bottom: 2%!important;
		width: 29%!important;
		height: 29%!important;
		transform: rotate(4deg)
	}
	.hero-collage .photo-bottom {
		right: 26%!important;
		bottom: 0!important;
		width: 31%!important;
		height: 29%!important;
		transform: rotate(-3deg)
	}
	.hero-collage .photo:hover {
		z-index: 20;
		animation-play-state: paused!important
	}
	.hero-collage .photo-main:hover {
		transform: rotate(2deg) scale(1.045)!important
	}
	.hero-collage .photo-top:hover {
		transform: rotate(-4deg) scale(1.08)!important
	}
	.hero-collage .photo-right:hover {
		transform: rotate(4deg) scale(1.08)!important
	}
	.hero-collage .photo-left:hover {
		transform: rotate(-4deg) scale(1.08)!important
	}
	.hero-collage .photo-bottom:hover {
		transform: rotate(3deg) scale(1.08)!important
	}
}
.hero-collage .photo img {
	transition: opacity .8s ease, transform 1.2s ease
}
.hero-collage .photo img.is-changing {
	opacity: .08;
	transform: scale(1.03)
}
/* Hero content and rotating feature image */

.hero-copy .eyebrow {
	max-width: 430px;
	line-height: 1.5
}
.hero-copy .hero-intro {
	font-size: 1rem!important;
	line-height: 1.65!important
}
.hero-image-count {
	position: absolute;
	right: 16px;
	top: 16px;
	z-index: 3;
	color: #e8f1ff;
	background: rgba(11, 45, 91, .78);
	padding: 6px 8px;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .08em
}
.photo-main img {
	opacity: 1;
	transition: opacity .35s ease, transform .8s ease
}
.photo-main img.is-changing {
	opacity: .25
}
.hero-copy h1 {
	max-width: 590px!important
}
@media(max-width:991px) {
	.hero-copy .hero-intro {
		max-width: 450px!important
	}
}
@media(max-width:575px) {
	.hero-copy .hero-intro {
		font-size: .91rem!important;
		line-height: 1.55!important
	}
	.hero-image-count {
		right: 9px;
		top: 9px;
		font-size: .48rem;
		padding: 5px 6px
	}
}
/* Refined photographer feature image */

.feature-section {
	position: relative;
	overflow: hidden
}
.feature-section:before {
	content: 'PHOTOX / FIELD NOTES';
	position: absolute;
	right: -18px;
	top: 48%;
	color: rgba(232, 241, 255, .06);
	font: 500 clamp(3rem, 9vw, 9rem) 'DM Mono';
	letter-spacing: -.08em;
	transform: rotate(-90deg);
	pointer-events: none
}
.feature-block {
	position: relative;
	z-index: 1
}
.feature-image {
	height: 560px!important;
	border: 0!important;
	transform: rotate(1.5deg);
	background: #0f172a;
	box-shadow: 18px 18px 0 #ff8a00;
	overflow: hidden
}
.feature-image:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11, 45, 91, .02) 35%, rgba(11, 45, 91, .72) 100%);
	pointer-events: none
}
.feature-image img {
	transition: transform .8s ease;
	filter: saturate(.86) contrast(1.07)
}
.feature-image:hover img {
	transform: scale(1.06)
}
.image-label {
	z-index: 2;
	left: 24px!important;
	bottom: 24px!important;
	background: #22c55e!important;
	color: #0b2d5b!important;
	padding: 14px 17px!important;
	font-size: .66rem!important;
	line-height: 1.5!important;
	letter-spacing: .03em
}
.image-label i {
	font-size: 1rem;
	margin-right: 6px
}
.image-label strong {
	font-weight: 600
}
.image-stamp {
	position: absolute;
	z-index: 2;
	right: 22px;
	top: 22px;
	color: #e8f1ff;
	font: 500 .62rem 'DM Mono';
	line-height: 1.65;
	letter-spacing: .1em;
	text-align: right;
	opacity: .9
}
.image-stamp b {
	color: #ff8a00;
	font-weight: 500
}
.feature-title {
	max-width: 520px
}
.feature-section .muted-copy {
	max-width: 430px
}
@media(max-width:991px) {
	.feature-image {
		height: 470px!important
	}
	.feature-section:before {
		display: none
	}
}
@media(max-width:575px) {
	.feature-image {
		height: 350px!important;
		box-shadow: 9px 10px 0 #ff8a00
	}
	.image-label {
		left: 14px!important;
		bottom: 14px!important;
		padding: 10px 12px!important
	}
	.image-stamp {
		right: 14px;
		top: 14px;
		font-size: .52rem
	}
}
/* Hero text safe area */

.hero-copy {
	max-width: 100%!important;
	padding-right: 24px;
	position: relative;
	z-index: 8
}
.hero-collage {
	z-index: 1
}
.hero-copy h1 {
	font-size: clamp(3.4rem, 6.5vw, 6rem)!important
}
.hero-intro {
	max-width: 390px!important
}
.hero-actions {
	position: relative;
	z-index: 10
}
@media(min-width:992px) and (max-width:1199px) {
	.hero-copy {
		width: 47%;
		max-width: 510px!important
	}
	.hero-collage {
		width: 51%!important;
		right: -2%!important
	}
	.hero-copy h1 {
		font-size: clamp(3.25rem, 5.4vw, 5rem)!important
	}
	.hero-intro {
		max-width: 350px!important
	}
}
@media(max-width:991px) {
	.hero-copy {
		width: 100%;
		max-width: 650px!important;
		padding-right: 0
	}
	.hero-copy h1 {
		max-width: 560px
	}
	.hero-intro {
		max-width: 430px!important
	}
	.hero-collage {
		z-index: 1
	}
	.hero-copy {
		z-index: 8
	}
}
@media(max-width:575px) {
	.hero-copy h1 {
		font-size: clamp(3rem, 14vw, 4.25rem)!important;
		max-width: 100%
	}
	.hero-intro {
		max-width: 310px!important
	}
	.hero-actions {
		max-width: 310px
	}
	.hero-collage {
		z-index: 1
	}
}
/* Customer workspace */

.workspace-content:after {
	display: block;
	position: absolute;
	pointer-events: none
}
.account-menu {
	position: relative
}
.account-menu:focus-within .account-dropdown, .account-menu:hover .account-dropdown {
	display: block
}
.account-dropdown {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 13px);
	z-index: 1050;
	width: 255px;
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .12);
	box-shadow: 0 16px 35px rgba(11, 45, 91, .16);
	padding: 9px
}
.account-dropdown:before {
	content: '';
	position: absolute;
	right: 18px;
	top: -6px;
	width: 11px;
	height: 11px;
	background: #fff;
	border-left: 1px solid rgba(11, 45, 91, .12);
	border-top: 1px solid rgba(11, 45, 91, .12);
	transform: rotate(45deg)
}
.account-dropdown-user {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 9px 13px;
	border-bottom: 1px solid #e6edf5
}
.account-dropdown-user strong, .account-dropdown-user small {
	display: block
}
.account-dropdown-user strong {
	font-size: .75rem
}
.account-dropdown-user small {
	color: #59708f;
	font-size: .62rem;
	margin-top: 3px
}
.account-dropdown>a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 9px;
	color: #0b2d5b;
	text-decoration: none;
	font-size: .75rem
}
.account-dropdown>a:hover {
	background: #f4f7fb;
	color: #ff8a00
}
.account-dropdown>a i {
	width: 17px;
	color: #59708f
}
.account-dropdown>a:hover i {
	color: #ff8a00
}
.customer-app {
	background: #f4f7fb;
	color: #0b2d5b;
	min-height: 100vh
}
.workspace-header {
	height: 76px;
	background: #fff;
	border-bottom: 1px solid rgba(11, 45, 91, .1);
	display: flex;
	align-items: center
}
.workspace-logo img {
	width: 122px
}
.workspace-search {
	display: flex;
	align-items: center;
	gap: 10px;
	width: min(100%, 420px);
	margin-left: clamp(20px, 8vw, 120px);
	background: #f4f7fb;
	border: 1px solid rgba(11, 45, 91, .1);
	padding: 10px 13px;
	color: #59708f
}
.workspace-search input {
	border: 0;
	outline: 0;
	background: transparent;
	flex: 1;
	font: 400 .78rem 'Space Grotesk';
	color: #0b2d5b
}
.workspace-search kbd {
	font: 500 .65rem 'DM Mono';
	background: #fff;
	border: 1px solid #d8e0ea;
	padding: 3px 6px;
	border-radius: 3px
}
.workspace-actions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 20px
}
.icon-button, .profile-trigger, .workspace-nav-link, .plain-action, .filter-button, .saved-photo-card button, .account-list button, .order-row button {
	border: 0;
	background: transparent;
	color: #fff
}
.icon-button {
	position: relative;
	font-size: 1.1rem
}
.notification-button span {
	position: absolute;
	right: -8px;
	top: -7px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #ff8a00;
	color: #fff;
	font: 500 .55rem 'DM Mono';
	display: grid;
	place-items: center
}
.profile-trigger {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .77rem
}
.avatar {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #0b2d5b;
	color: #d9fbe5;
	font: 500 .62rem 'DM Mono'
}
.avatar-large {
	width: 72px;
	height: 72px;
	font-size: 1rem;
	background: #22c55e;
	color: #0b2d5b
}
.workspace-layout {
	display: grid;
	grid-template-columns: 245px 1fr;
	gap: 30px;
	padding-top: 48px;
	padding-bottom: 70px
}
.workspace-sidebar {
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - 124px)
}
.workspace-greeting h1 {
	font-size: 2.05rem;
	line-height: .9;
	letter-spacing: -.07em;
	margin: 14px 0 38px
}
.workspace-greeting h1 em {
	color: #ff8a00;
	font-style: normal
}
.eyebrow-blue {
	font: 500 .6rem 'DM Mono';
	letter-spacing: .12em;
	color: #59708f
}
.workspace-nav {
	display: grid;
	gap: 7px
}
.workspace-nav-link {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 12px 13px;
	text-align: left;
	color: #59708f;
	font-size: .8rem;
	border-left: 2px solid transparent
}
.workspace-nav-link i {
	font-size: 1rem;
	width: 18px
}
.workspace-nav-link b {
	margin-left: auto;
	font: 500 .6rem 'DM Mono';
	background: #d9fbe5;
	color: #0b2d5b;
	padding: 4px 6px;
	border-radius: 10px
}
.workspace-nav-link:hover, .workspace-nav-link.active {
	background: #fff;
	color: #0b2d5b;
	border-left-color: #ff8a00
}
.workspace-side-note {
	display: flex;
	gap: 11px;
	margin-top: auto;
	padding: 16px 12px;
	background: #e5f7ea;
	border-left: 3px solid #22c55e
}
.workspace-side-note>i {
	color: #159447;
	font-size: 1.1rem
}
.workspace-side-note strong, .workspace-side-note span {
	display: block
}
.workspace-side-note strong {
	font-size: .7rem
}
.workspace-side-note span {
	color: #59708f;
	font-size: .64rem;
	line-height: 1.4;
	margin-top: 5px
}
.workspace-logout {
	margin-top: 22px;
	color: #59708f;
	text-decoration: none;
	font: 500 .65rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .08em
}
.workspace-logout i {
	margin-right: 8px
}
.workspace-mobile-heading {
	display: none
}
.workspace-view {
	display: none;
	animation: workspace-in .35s ease both
}
.workspace-view.active {
	display: block
}
@keyframes workspace-in {
	from {
		opacity: 0;
		transform: translateY(8px)
	}
	to {
		opacity: 1;
		transform: none
	}
}
.workspace-view-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px
}
.workspace-view-header h2 {
	font-size: 36px;
	letter-spacing: -.08em;
	line-height: .92;
	margin: 10px 0
}
.workspace-view-header p {
	margin: 0;
	color: #59708f;
	font-size: .88rem
}
.workspace-metrics {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-bottom: 45px
}
.workspace-metric {
	position: relative;
	min-height: 126px;
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .09);
	padding: 18px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;

    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(11, 45, 91, .04);
}
.workspace-metric span {
	color: #59708f;
	font: 500 .6rem 'DM Mono';
	text-transform: uppercase
}
.workspace-metric strong {
	font-size: 2rem;
	letter-spacing: -.06em
}
.workspace-metric i {
	position: absolute;
	right: 17px;
	bottom: 17px;
	color: #22c55e;
	font-size: 1.25rem
}
.workspace-metric.accent {
	background: #0b2d5b;
	color: #fff
}
.workspace-metric.accent span {
	color: #bcd1e9
}
.workspace-metric.accent i {
	color: #ff8a00
}
.workspace-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 17px
}
.workspace-section-heading h3 {
	font-size: 1.35rem;
	letter-spacing: -.05em;
	margin: 8px 0 0
}
.plain-action {
	color: #0b2d5b;
	font: 500 .65rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .06em;
	white-space: nowrap
}
.plain-action i {
	color: #ff8a00;
	margin-left: 6px
}
.saved-photo-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 220px;
	gap: 14px
}
.saved-photo-gallery {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1fr;
	gap: 14px
}
.saved-photo-card {
	    position: relative;
    min-height: 260px;
    overflow: hidden;
    background: #fff;
    color: #fff;
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(11, 45, 91, .04);
}
.saved-photo-card img {
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
	opacity: .8;
	transition: transform .5s
}
.saved-photo-card:hover img {
	transform: scale(1.05)
}
.saved-photo-card:after {
	content: '';
	position: absolute;
	inset: 35% 0 0;
	background: linear-gradient(transparent, rgba(11, 45, 91, .95))
}
.saved-photo-card div {
	position: absolute;
	z-index: 1;
	bottom: 18px;
	left: 18px;
	right: 12px
}
.saved-photo-card span, .saved-photo-card small {
	display: block;
	font: 500 .56rem 'DM Mono';
	letter-spacing: .08em
}
.saved-photo-card strong {
	display: block;
	margin: 7px 0 5px;
	font-size: 1.03rem
}
.saved-photo-card small {
	color: #c9d9ea;
	letter-spacing: 0
}
.saved-photo-card button {
	position: absolute;
	z-index: 2;
	right: 14px;
	top: 14px;
	color: #fff
}
.dashboard-ad-banner {
	position: relative;
	min-height: 260px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: #0b2d5b;
	color: #fff;
	text-decoration: none;
	padding: 16px;
	transition: transform .25s ease, box-shadow .25s ease
}
.dashboard-ad-banner:hover {
	color: #fff;
	transform: translateY(-4px);
	box-shadow: 0 10px 20px rgba(11,45,91,.16)
}
.dashboard-ad-label {
	position: relative;
	z-index: 1;
	font: 500 .52rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.9)
}
.dashboard-ad-art {
	position: absolute;
	inset: 0 0 auto;
	height: 55%;
	background: #0b2d5b;
	clip-path: polygon(0 0, 100% 0, 100% 72%, 0 100%);
}
.dashboard-ad-art:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11,45,91,.18), rgba(11,45,91,.8));
}
.dashboard-ad-art img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .9
}
.dashboard-ad-art-copy {
	position: absolute;
	z-index: 1;
	left: 16px;
	right: 12px;
	bottom: 35px;
	color: #fff
}
.dashboard-ad-art-copy i {
	display: block;
	font-size: 2.15rem;
	margin-bottom: 10px
}
.dashboard-ad-art-copy strong {
	display: block;
	font-size: 1.2rem;
	line-height: .94;
	letter-spacing: -.06em
}
.dashboard-ad-copy {
	position: relative;
	z-index: 1;
	margin-top: auto;
	padding-top: 112px
}
.dashboard-ad-copy>span {
	display: block;
	font: 500 .52rem 'DM Mono';
	letter-spacing: .07em;
	color: rgba(255,255,255,.72)
}
.dashboard-ad-copy>strong {
	display: block;
	font-size: 1.35rem;
	line-height: .95;
	letter-spacing: -.06em;
	margin: 7px 0
}
.dashboard-ad-copy small {
	display: block;
	font-size: .65rem;
	line-height: 1.3;
	color: rgba(255,255,255,.72)
}
.dashboard-ad-copy b {
	display: block;
	margin-top: 14px;
	font: 500 .58rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .05em
}
.dashboard-ad-copy b i {
	margin-left: 4px
}
.saved-photo-card.is-muted, .account-list article.is-muted {
	opacity: .45
}
.upcoming-heading {
	margin-top: 44px
}
.mini-event-list {
	display: grid;
	gap: 8px
}
.mini-event-list article {
	display: flex;
	align-items: center;
	gap: 16px;
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .09);
	padding: 14px 16px;

    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(11, 45, 91, .04);
}
.mini-event-date {
	width: 42px;
	text-align: center;
	border-right: 1px solid #e1e8f0;
	padding-right: 14px
}
.mini-event-date strong, .mini-event-date span {
	display: block
}
.mini-event-date strong {
	font-size: 1.3rem
}
.mini-event-date span {
	font: 500 .55rem 'DM Mono';
	color: #ff8a00
}
.mini-event-list article>div:nth-child(2) {
	flex: 1
}
.mini-event-list article>div:nth-child(2) strong, .mini-event-list article>div:nth-child(2) span {
	display: block
}
.mini-event-list article>div:nth-child(2) strong {
	font-size: .86rem
}
.mini-event-list article>div:nth-child(2) span {
	font-size: .7rem;
	color: #59708f;
	margin-top: 4px
}
.mini-event-list button {
	font-size: 1rem;
	color: #59708f
}
.view-toolbar {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 25px
}
.segmented-control {
	display: flex;
	background: #e6edf5;
	padding: 3px
}
.segmented-control button {
	border: 0;
	background: transparent;
	padding: 8px 13px;
	font: 500 .65rem 'DM Mono';
	color: #59708f
}
.segmented-control button.active {
	background: #fff;
	color: #0b2d5b;
	box-shadow: 0 2px 4px rgba(11, 45, 91, .08)
}
.filter-button {
	font: 500 .65rem 'DM Mono';
	text-transform: uppercase
}
.photo-wall {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px
}
.photo-wall img {
	width: 100%;
	height: 230px;
	object-fit: cover
}
.photo-wall img:nth-child(2), .photo-wall img:nth-child(5) {
	height: 300px
}
.account-list {
	display: grid;
	gap: 12px
}
.account-list article {
	display: flex;
	align-items: center;
	gap: 18px;
	background: #fff;
	padding: 14px;
	border: 1px solid rgba(11, 45, 91, .09);

    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(11, 45, 91, .04);
}
.account-list img {
	width: 130px;
	height: 84px;
	object-fit: cover
}
.account-list article>div {
	flex: 1
}
.account-list article span {
	font: 500 .56rem 'DM Mono';
	color: #59708f
}
.account-list h3 {
	font-size: 1.1rem;
	margin: 6px 0
}
.account-list p {
	font-size: .75rem;
	color: #59708f;
	margin: 0
}
.saved-state {
	font-size: 1.05rem!important;
	color: #ff8a00!important
}
.download-banner {
	background: #d9fbe5;
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 18px 20px;
	margin-bottom: 24px
}
.download-banner>i {
	font-size: 1.5rem;
	color: #159447
}
.download-banner div {
	flex: 1
}
.download-banner strong, .download-banner span {
	display: block
}
.download-banner strong {
	font-size: .9rem
}
.download-banner span {
	font-size: .72rem;
	color: #59708f;
	margin-top: 3px
}
.order-table {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .09)
}
.order-row {
	display: grid;
	grid-template-columns: 1.1fr 1.5fr 1fr .7fr .7fr 30px;
	gap: 12px;
	align-items: center;
	padding: 17px 18px;
	border-top: 1px solid #e7edf4;
	font-size: .75rem
}
.order-row:first-child {
	border-top: 0
}
.order-heading {
	color: #59708f;
	font: 500 .58rem 'DM Mono';
	text-transform: uppercase
}
.status-pill {
	font: 500 .58rem 'DM Mono';
	padding: 5px 8px;
	width: max-content
}
.status-pill.paid {
	background: #d9fbe5;
	color: #159447
}
.profile-layout {
	display: grid;
	grid-template-columns: 230px 1fr;
	gap: 24px
}
.profile-card {
	background: #0b2d5b;
	color: #fff;
	padding: 26px;
	text-align: center;
	min-height: 260px
}
.profile-card .avatar {
	margin: 0 auto 18px
}
.profile-card h3 {
	font-size: 1.05rem;
	margin-bottom: 5px
}
.profile-card p {
	font-size: .72rem;
	color: #bcd1e9
}
.profile-card .plain-action {
	color: #fff;
	margin-top: 20px
}
.profile-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .09);
	padding: 25px
}
.profile-form label {
	font: 500 .63rem 'DM Mono';
	text-transform: uppercase;
	color: #59708f
}
.profile-form label input:not([type=checkbox]) {
	display: block;
	width: 100%;
	margin-top: 8px;
	border: 1px solid #d9e2ec;
	padding: 11px 12px;
	font: 400 .8rem 'Space Grotesk';
	color: #0b2d5b
}
.profile-form .form-check {
	display: flex;
	align-items: center;
	gap: 10px;
	grid-column: span 2;
	text-transform: none;
	font: 400 .75rem 'Space Grotesk';
	color: #0b2d5b
}
.profile-form .form-check-input {
	margin: 0
}
.workspace-bottom-nav {
	display: none
}
@media(max-width:991px) {
	.workspace-layout {
		grid-template-columns: 1fr;
		gap: 25px;
		padding-top: 30px
	}
	.workspace-sidebar {
		min-height: 0
	}
	.workspace-greeting, .workspace-side-note, .workspace-logout {
		display: none
	}
	.workspace-nav {
		display: none
	}
	.workspace-mobile-heading {
		display: block;
		margin-bottom: 30px
	}
	.workspace-mobile-heading h2 {
		font-size: 2rem;
		letter-spacing: -.06em;
		margin: 10px 0 4px
	}
	.workspace-mobile-heading p {
		margin: 0;
		color: #59708f
	}
	.workspace-search {
		margin-left: 20px
	}
	.workspace-metrics {
		grid-template-columns: repeat(2, 1fr)
	}
	.saved-photo-grid {
		grid-template-columns: 1fr
	}
}
@media(max-width:575px) {
	.workspace-header {
		height: 66px
	}
	.workspace-header .container-xl {
		padding-left: 16px;
		padding-right: 16px
	}
	.workspace-logo img {
		width: 100px
	}
	.workspace-search {
		display: none
	}
	.workspace-actions {
		gap: 13px
	}
	.profile-trigger i {
		display: none
	}
	.workspace-layout {
		padding: 25px 16px 92px
	}
	.workspace-view-header {
		display: block;
		margin-bottom: 24px
	}
	.workspace-view-header .btn {
		margin-top: 18px
	}
	.workspace-view-header h2 {
		font-size: 2.35rem
	}
	.workspace-metrics {
		gap: 8px;
		margin-bottom: 35px
	}
	.workspace-metric {
		min-height: 105px;
		padding: 13px
	}
	.workspace-metric strong {
		font-size: 1.7rem
	}
	.workspace-metric i {
		right: 12px;
		bottom: 12px;
		font-size: 1rem
	}
	.workspace-section-heading {
		align-items: start;
		display: block
	}
	.workspace-section-heading .plain-action {
		display: block;
		margin-top: 12px
	}
	.saved-photo-grid {
		grid-template-columns: 1fr;
		gap: 8px
	}
	.saved-photo-gallery {
		grid-template-columns: 1fr 1fr;
		gap: 8px
	}
	.saved-photo-gallery .saved-photo-card:first-child {
		grid-column: span 2
	}
	.saved-photo-card, .saved-photo-card img {
		min-height: 210px;
		height: 210px
	}
	.saved-photo-gallery .saved-photo-card:first-child, .saved-photo-gallery .saved-photo-card:first-child img {
		min-height: 250px;
		height: 250px
	}
	.dashboard-ad-banner {
		min-height: 230px
	}
	.saved-photo-card div {
		left: 12px;
		bottom: 12px
	}
	.saved-photo-card strong {
		font-size: .9rem
	}
	.saved-photo-card small {
		font-size: .5rem
	}
	.upcoming-heading {
		margin-top: 35px
	}
	.view-toolbar {
		align-items: start;
		display: block
	}
	.filter-button {
		margin-top: 12px
	}
	.photo-wall {
		grid-template-columns: 1fr 1fr;
		gap: 8px
	}
	.photo-wall img, .photo-wall img:nth-child(2), .photo-wall img:nth-child(5) {
		height: 190px
	}
	.account-list article {
		gap: 12px;
		padding: 10px
	}
	.account-list img {
		width: 86px;
		height: 70px
	}
	.account-list h3 {
		font-size: .9rem
	}
	.account-list p {
		font-size: .65rem
	}
	.download-banner {
		align-items: start;
		flex-wrap: wrap;
		padding: 15px
	}
	.download-banner .btn {
		width: 100%;
		margin-top: 6px
	}
	.order-table {
		overflow-x: auto
	}
	.order-row {
		grid-template-columns: 100px 150px 105px 65px 70px 30px;
		min-width: 570px;
		padding: 14px
	}
	.order-heading {
		display: grid
	}
	.profile-layout {
		grid-template-columns: 1fr
	}
	.profile-card {
		min-height: 220px
	}
	.profile-form {
		grid-template-columns: 1fr;
		padding: 18px
	}
	.profile-form .form-check {
		grid-column: span 1
	}
	.workspace-bottom-nav {
		position: fixed;
		z-index: 1040;
		display: flex;
		bottom: 0;
		left: 0;
		right: 0;
		height: 68px;
		background: #fff;
		border-top: 1px solid rgba(11, 45, 91, .12);
		justify-content: space-around
	}
	.workspace-bottom-nav button {
		border: 0;
		background: transparent;
		color: #59708f;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		font: 500 .5rem 'DM Mono';
		text-transform: uppercase
	}
	.workspace-bottom-nav button i {
		font-size: 1rem
	}
	.workspace-bottom-nav button.active {
		color: #0b2d5b
	}
	.workspace-bottom-nav button.active i {
		color: #ff8a00
	}
}
/* Final hero image alignment */

.hero-collage {
	overflow: visible!important
}
.photo {
	overflow: hidden!important;
	background: #0f172a;
	border: 2px solid rgba(232, 241, 255, .7);
	box-shadow: 12px 14px 0 rgba(15, 23, 42, .3)!important
}
.photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center
}
.photo-main {
	top: 13%!important;
	right: 13%!important;
	width: 50%!important;
	height: 65%!important;
	z-index: 3
}
.photo-top {
	left: 3%!important;
	top: 8%!important;
	width: 30%!important;
	height: 28%!important;
	z-index: 2
}
.photo-right {
	right: 1%!important;
	top: 45%!important;
	width: 29%!important;
	height: 31%!important;
	z-index: 4
}
.photo-bottom {
	right: 9%!important;
	bottom: 3%!important;
	width: 31%!important;
	height: 30%!important;
	z-index: 2
}
.photo-left {
	left: 2%!important;
	bottom: 5%!important;
	width: 28%!important;
	height: 29%!important;
	z-index: 3
}
.photo-main:after, .photo-top:after, .photo-right:after, .photo-bottom:after, .photo-left:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 58%, rgba(11, 45, 91, .28));
	pointer-events: none
}
.photo-caption {
	z-index: 2
}
.collage-note {
	z-index: 5
}
@media(max-width:991px) {
	.hero-collage {
		top: 385px!important;
		height: 370px!important
	}
	.photo-main {
		top: 8%!important;
		right: 16%!important;
		width: 48%!important;
		height: 63%!important
	}
	.photo-top {
		left: 5%!important;
		top: 3%!important;
		width: 29%!important;
		height: 29%!important
	}
	.photo-right {
		right: 3%!important;
		top: 43%!important;
		width: 29%!important;
		height: 32%!important
	}
	.photo-bottom {
		right: 10%!important;
		bottom: 1%!important;
		width: 30%!important;
		height: 29%!important
	}
	.photo-left {
		left: 4%!important;
		bottom: 2%!important;
		width: 28%!important;
		height: 29%!important
	}
}
@media(max-width:575px) {
	.hero-section {
		min-height: 720px!important
	}
	.hero-collage {
		top: 315px!important;
		height: 350px!important
	}
	.photo-main {
		top: 4%!important;
		right: 15%!important;
		width: 50%!important;
		height: 61%!important
	}
	.photo-top {
		left: 2%!important;
		top: 1%!important;
		width: 32%!important;
		height: 28%!important
	}
	.photo-right {
		right: 0!important;
		top: 43%!important;
		width: 31%!important;
		height: 31%!important
	}
	.photo-bottom {
		right: 8%!important;
		bottom: 1%!important;
		width: 33%!important;
		height: 28%!important
	}
	.photo-left {
		left: 1%!important;
		bottom: 1%!important;
		width: 31%!important;
		height: 27%!important
	}
	.photo-caption {
		font-size: .45rem!important;
		line-height: 1.25!important;
		left: 7px!important;
		bottom: 7px!important;
		padding: 6px 7px!important
	}
	.collage-note {
		right: 17%!important;
		bottom: 1%!important
	}
}
@media(max-width:575px) {
	.hero-section {
		min-height: 735px!important
	}
	.hero-collage {
		top: 350px!important;
		height: 300px!important
	}
}
/* Animated hero collage */

.hero-collage {
	height: 610px!important;
	right: 1%!important;
	top: 12px!important
}
.photo {
	border-radius: 16px;
	will-change: transform
}
.photo img {
	transition: transform .7s ease
}
.photo:hover img {
	transform: scale(1.08)
}
.photo-main {
	width: 52%!important;
	height: 67%!important;
	right: 12%!important;
	top: 12%!important;
	animation: hero-main-float 8s ease-in-out infinite
}
.photo-top {
	width: 31%!important;
	height: 29%!important;
	left: 2%!important;
	top: 7%!important;
	animation: hero-small-float 7s ease-in-out 1s infinite
}
.photo-right {
	display: block!important;
	width: 29%!important;
	height: 34%!important;
	right: 0!important;
	top: 43%!important;
	transform: rotate(6deg);
	box-shadow: 12px 14px 0 #22c55e;
	animation: hero-small-float 8.5s ease-in-out 1.6s infinite
}
.photo-bottom {
	width: 32%!important;
	height: 31%!important;
	right: 7%!important;
	bottom: 2%!important;
	animation: hero-small-float 7.5s ease-in-out .5s infinite
}
.photo-left {
	display: block!important;
	width: 28%!important;
	height: 31%!important;
	left: 1%!important;
	bottom: 7%!important;
	transform: rotate(-5deg);
	box-shadow: 12px 14px 0 #22c55e;
	animation: hero-small-float 9s ease-in-out 2s infinite
}
.photo-caption {
	position: absolute;
	left: 18px;
	bottom: 18px;
	color: #fff;
	background: rgba(11, 45, 91, .82);
	padding: 10px 12px;
	font: 500 .62rem 'DM Mono';
	line-height: 1.45;
	text-transform: uppercase;
	letter-spacing: .04em
}
.collage-note {
	right: 20%!important;
	bottom: 2%!important;
	font-size: .65rem;
	display: flex;
	gap: 8px;
	align-items: center;
	animation: note-pulse 4s ease-in-out infinite
}
.collage-note i {
	color: #22c55e;
	margin: 0
}
@keyframes hero-main-float {
	0%, 100% {
		transform: rotate(3deg) translateY(0)
	}
	50% {
		transform: rotate(1deg) translateY(-12px)
	}
}
@keyframes hero-small-float {
	0%, 100% {
		translate: 0 0
	}
	50% {
		translate: 0 -9px
	}
}
@keyframes note-pulse {
	0%, 100% {
		opacity: .8;
		transform: rotate(-3deg) scale(1)
	}
	50% {
		opacity: 1;
		transform: rotate(-3deg) scale(1.04)
	}
}
@media(max-width:991px) {
	.hero-collage {
		top: 390px!important;
		width: 100%!important;
		height: 400px!important
	}
	.photo-main {
		right: 15%!important;
		width: 47%!important;
		height: 64%!important
	}
	.photo-top {
		left: 7%!important;
		width: 30%!important;
		height: 32%!important
	}
	.photo-right {
		right: 3%!important;
		top: 45%!important;
		width: 30%!important;
		height: 34%!important
	}
	.photo-bottom {
		right: 9%!important;
		bottom: 0!important;
		width: 30%!important;
		height: 32%!important
	}
	.photo-left {
		left: 3%!important;
		bottom: 1%!important;
		width: 29%!important;
		height: 31%!important
	}
}
@media(max-width:575px) {
	.hero-collage {
		top: 405px!important;
		height: 310px!important
	}
	.photo-main {
		width: 51%!important;
		height: 67%!important;
		right: 12%!important
	}
	.photo-top {
		left: 0!important;
		width: 34%!important;
		height: 31%!important
	}
	.photo-right {
		right: 0!important;
		top: 39%!important;
		width: 33%!important;
		height: 34%!important
	}
	.photo-bottom {
		right: 7%!important;
		width: 34%!important;
		height: 31%!important
	}
	.photo-left {
		left: 0!important;
		bottom: 0!important;
		width: 32%!important;
		height: 30%!important
	}
	.photo-caption {
		font-size: .48rem;
		padding: 7px 8px;
		left: 9px;
		bottom: 9px
	}
	.collage-note {
		font-size: .5rem;
		right: 19%!important;
		bottom: 0!important
	}
}
@media(prefers-reduced-motion:reduce) {
	.photo-main, .photo-top, .photo-right, .photo-bottom, .photo-left, .collage-note {
		animation: none
	}
	.photo img {
		transition: none
	}
}
/* Reference-style marketplace masthead */

.navbar {
	background: #06366c!important;
	box-shadow: 0 2px 0 rgba(255, 255, 255, .18);
	min-height: 58px
}
.navbar .navbar-brand img {
	width: 150px;
	height: auto
}
.navbar .nav-link, .navbar .text-link {
	color: #fff!important;
	font-size: .76rem
}
.navbar .nav-link.active, .navbar .nav-link:hover {
	color: #fff!important
}
.navbar .nav-link.active {
	border-bottom: 2px solid #ff8a00
}
.navbar .navbar-toggler {
	color: #fff
}
.header-search {
	height: 34px;
	width: 295px;
	align-items: center;
	gap: 8px;
	padding: 0 13px;
	border-radius: 20px;
	background: #fff;
	color: #0b2d5b
}
.header-search input {
	width: 100%;
	border: 0;
	outline: 0;
	background: transparent;
	color: #0b2d5b;
	font-size: .66rem
}
.header-search input::placeholder {
	color: #59708f
}
.reference-hero {
	min-height: 0!important;
	padding: 0!important;
	background: #071d38
}
.hero-slider {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(190px, 1fr);
	gap: 4px;
	max-width: 1600px;
	margin: 0 auto;
	height: min(420px, calc(100vh - 58px));
	min-height: 315px
}
.hero-slide {
	position: relative;
	min-width: 0;
	overflow: hidden
}
.hero-slide>img, .hero-ad>img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover
}
.hero-slide>img {
	transition: opacity .35s ease, transform .8s ease
}
.hero-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 16, 37, .82), rgba(0, 16, 37, .2) 62%, rgba(0, 16, 37, .05)), linear-gradient(0deg, rgba(0, 16, 37, .55), transparent 45%)
}
.reference-hero .hero-copy {
	position: absolute;
	inset: auto auto 74px 5%;
	z-index: 2;
	max-width: 520px;
	padding: 0
}
.reference-hero .eyebrow {
	font: 500 .62rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .06em;
	color: #dbeafe;
	margin-bottom: 12px
}
.reference-hero h1 {
	font-size: clamp(2.3rem, 5vw, 4.65rem)!important;
	line-height: .91;
	letter-spacing: -.055em;
	margin: 0 0 12px;
	color: #fff
}
.reference-hero h1 em {
	color: #ff8a00;
	font-style: normal
}
.reference-hero .hero-intro {
	font-size: .9rem!important;
	line-height: 1.35!important;
	color: rgba(255, 255, 255, .8);
	margin-bottom: 16px
}
.reference-hero .hero-actions .btn {
	font-size: .72rem;
	padding-top: 9px;
	padding-bottom: 9px
}
.hero-trust {
	display: flex;
	gap: 22px;
	margin-top: 22px;
	color: #fff;
	font: 500 .52rem 'DM Mono';
	line-height: 1.25;
	text-transform: uppercase
}
.hero-trust span {
	display: flex;
	align-items: center;
	gap: 7px
}
.hero-trust i {
	font-size: 1.05rem;
	color: #dbeafe
}
.hero-story-mark {
	position: absolute;
	z-index: 2;
	right: 7%;
	top: 31%;
	color: #fff;
	font: italic 1.5rem Georgia, serif;
	line-height: 1.02;
	transform: rotate(-10deg);
	text-align: center;
	text-shadow: 0 2px 12px #000
}
.hero-story-mark em {
	color: #fff
}
.hero-arrow {
	position: absolute;
	z-index: 3;
	top: 50%;
	width: 34px;
	height: 46px;
	border: 0;
	background: rgba(0, 0, 0, .2);
	color: #fff;
	font-size: 1.35rem;
	transform: translateY(-50%)
}
.hero-arrow:hover {
	background: #ff8a00
}
.hero-prev {
	left: 0
}
.hero-next {
	right: 0
}
.hero-dots {
	position: absolute;
	z-index: 3;
	bottom: 17px;
	left: 50%;
	display: flex;
	gap: 7px;
	transform: translateX(-50%)
}
.hero-dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: transparent
}
.hero-dots button.active {
	background: #ff8a00;
	border-color: #ff8a00
}
.hero-ad {
	position: relative;
	overflow: hidden;
	background: #0b2d5b
}
.hero-ad:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(3, 27, 57, .05), rgba(3, 27, 57, .88))
}
.hero-ad-copy {
	position: absolute;
	z-index: 1;
	inset: auto 18px 18px;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: flex-start
}
.hero-ad-brand {
	font: italic 1.65rem Georgia, serif;
	border: 2px solid #fff;
	border-radius: 50%;
	padding: 0 13px;
	margin-bottom: 16px
}
.hero-ad-copy strong {
	font-size: 1.25rem;
	line-height: 1.05
}
.hero-ad-copy small {
	font-size: .64rem;
	margin: 13px 0
}
.hero-ad-copy a {
	padding: 8px 12px;
	border-radius: 18px;
	background: #168de2;
	color: #fff;
	font: 500 .58rem 'DM Mono';
	text-decoration: none
}
.hero-ad-copy a:hover {
	background: #ff8a00
}
@media(max-width:991px) {
	.hero-slider {
		height: 480px;
		grid-template-columns: 1fr
	}
	.hero-ad {
		display: none
	}
	.reference-hero .hero-copy {
		left: 7%;
		bottom: 65px
	}
	.hero-story-mark {
		right: 10%
	}
}
@media(max-width:575px) {
	.hero-slider {
		height: 520px
	}
	.reference-hero .hero-copy {
		inset: auto 22px 57px
	}
	.reference-hero h1 {
		font-size: clamp(2.55rem, 13vw, 4rem)!important
	}
	.hero-story-mark {
		top: 19%;
		right: 10%;
		font-size: 1.15rem
	}
	.hero-trust {
		gap: 10px;
		justify-content: space-between
	}
	.hero-trust span {
		font-size: .43rem
	}
	.hero-trust i {
		font-size: .9rem
	}
	.hero-arrow {
		width: 28px
	}
}
/* Recent events multi-item carousel */

/* Static customer page navigation */

.workspace-sidebar {
	position: relative;
	align-self: start;
	overflow: hidden;
	padding: 28px 18px 20px;
	background: #08284f;
	color: #fff;
	box-shadow: 12px 14px 0 rgba(34, 197, 94, .16)
}
.workspace-sidebar:before {
	content: 'PX';
	position: absolute;
	right: -18px;
	top: 112px;
	color: rgba(255, 255, 255, .045);
	font: 700 7rem 'Space Grotesk';
	line-height: 1;
	pointer-events: none
}
.workspace-sidebar:after {
	content: '';
	position: absolute;
	left: 18px;
	right: 18px;
	top: 93px;
	height: 1px;
	background: linear-gradient(90deg, #22c55e, rgba(255, 138, 0, .4), transparent)
}
.workspace-greeting {
	position: relative;
	z-index: 1
}
.workspace-greeting .eyebrow-blue {
	color: #8db0ce
}
.workspace-greeting h1 {
	font-size: 2.25rem;
	color: #fff;
	margin: 15px 0 48px
}
.workspace-nav {
	position: relative;
	z-index: 1;
	gap: 8px
}
.workspace-nav-link {
	position: relative;
	min-height: 48px;
	padding: 12px 13px;
	border: 1px solid transparent;
	border-left: 3px solid transparent;
	border-radius: 2px;
	color: #abc1d8;
	font-size: .76rem;
	transition: background .2s, color .2s, transform .2s
}
.workspace-nav-link i {
	color: #6f95b7;
	font-size: 1.05rem;
	transition: color .2s
}
.workspace-nav-link b {
	background: #d9fbe5;
	color: #0b2d5b;
	border-radius: 2px
}
.workspace-nav-link:hover, .workspace-nav-link.active {
	background: rgba(255, 255, 255, .1);
	color: #fff;
	border-color: rgba(255, 255, 255, .1);
	border-left-color: #ff8a00;
	transform: translateX(3px)
}
.workspace-nav-link:hover i, .workspace-nav-link.active i {
	color: #22c55e
}
.workspace-nav-link.active:after {
	content: '›';
	position: absolute;
	right: 13px;
	color: #ff8a00;
	font-size: 1.2rem;
	line-height: 1
}
.workspace-side-note {
	position: relative;
	z-index: 1;
	margin-top: auto;
	padding: 16px 13px;
	background: rgba(34, 197, 94, .12);
	border: 1px solid rgba(34, 197, 94, .28);
	border-left: 3px solid #22c55e
}
.workspace-side-note>i {
	color: #22c55e
}
.workspace-side-note strong {
	color: #fff
}
.workspace-side-note span {
	color: #b6cee3
}
.workspace-logout {
	position: relative;
	z-index: 1;
	padding: 15px 10px 0;
	margin-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, .13);
	color: #91abc4;
	transition: color .2s
}
.workspace-logout:hover {
	color: #ff8a00
}
.settings-profile-panel {
	display: grid;
	gap: 14px
}
.profile-verified {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0 auto 14px;
	color: #22c55e;
	font: 500 .58rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .08em
}
.profile-verified i {
	font-size: .85rem
}
.profile-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 100%;
	margin-top: 28px;
	padding-top: 17px;
	border-top: 1px solid rgba(232, 241, 255, .2)
}
.profile-stats span {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: #bcd1e9;
	font: 500 .54rem 'DM Mono';
	text-transform: uppercase
}
.profile-stats strong {
	color: #fff;
	font-size: 1.15rem
}
.settings-help {
	display: flex;
	gap: 11px;
	padding: 18px;
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .09)
}
.settings-help>i {
	color: #ff8a00;
	font-size: 1.25rem
}
.settings-help strong, .settings-help span, .settings-help a {
	display: block
}
.settings-help strong {
	font-size: .78rem
}
.settings-help span {
	margin: 5px 0 10px;
	color: #59708f;
	font-size: .67rem;
	line-height: 1.45
}
.settings-help a {
	color: #0b2d5b;
	text-decoration: none;
	font: 500 .58rem 'DM Mono';
	text-transform: uppercase
}
.settings-help a i {
	color: #ff8a00
}
.settings-form {
	display: grid;
	gap: 14px
}
.settings-section {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .09);
	padding: 25px
}
.settings-section-title {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 20px
}
.settings-section-title>i {
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	background: #e5f7ea;
	color: #159447;
	font-size: 1rem
}
.settings-section-title h3 {
	font-size: 1.05rem;
	letter-spacing: -.03em;
	margin: 0 0 4px
}
.settings-section-title p {
	margin: 0;
	color: #59708f;
	font-size: .7rem
}
.settings-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 17px
}
.settings-form-grid label {
	font: 500 .62rem 'DM Mono';
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #59708f
}
.settings-form-grid input, .settings-form-grid select {
	display: block;
	width: 100%;
	margin-top: 7px;
	border: 1px solid #d9e2ec;
	background: #fff;
	padding: 12px 13px;
	outline: 0;
	color: #0b2d5b;
	font: 400 .8rem 'Space Grotesk'
}
.settings-form-grid input:focus, .settings-form-grid select:focus {
	border-color: #22c55e;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, .12)
}
.settings-switch-list {
	display: grid;
	gap: 5px
}
.settings-switch {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-top: 1px solid #e6edf5
}
.settings-switch:first-child {
	border-top: 0;
	padding-top: 0
}
.settings-switch input {
	position: absolute;
	opacity: 0
}
.settings-switch span {
	flex: 1
}
.settings-switch strong, .settings-switch small {
	display: block
}
.settings-switch strong {
	font-size: .78rem;
	color: #0b2d5b
}
.settings-switch small {
	margin-top: 3px;
	color: #59708f;
	font-size: .67rem
}
.settings-switch>i {
	color: #22c55e;
	font-size: 1.55rem
}
.security-list {
	display: grid
}
.security-list a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 0;
	border-top: 1px solid #e6edf5;
	color: #0b2d5b;
	text-decoration: none
}
.security-list a:first-child {
	border-top: 0;
	padding-top: 0
}
.security-list a span {
	flex: 1
}
.security-list strong, .security-list small {
	display: block
}
.security-list strong {
	font-size: .79rem
}
.security-list small {
	margin-top: 4px;
	color: #59708f;
	font-size: .67rem
}
.security-list>a>b {
	padding: 5px 8px;
	background: #d9fbe5;
	color: #159447;
	font: 500 .54rem 'DM Mono';
	text-transform: uppercase
}
.security-list>a>i {
	color: #59708f
}
@media(max-width:991px) {
	.settings-layout {
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 16px
	}
	.settings-section {
		padding: 20px
	}
}
@media(max-width:575px) {
	.settings-layout {
		grid-template-columns: 1fr
	}
	.settings-profile-panel {
		order: 0
	}
	.settings-form {
		order: 1
	}
	.settings-section {
		padding: 18px
	}
	.settings-form-grid {
		grid-template-columns: 1fr;
		gap: 14px
	}
	.settings-section-title {
		margin-bottom: 16px
	}
	.settings-section-title h3 {
		font-size: .95rem
	}
	.settings-switch strong {
		font-size: .74rem
	}
	.settings-switch small {
		font-size: .62rem
	}
	.profile-stats {
		margin-top: 20px
	}
}
.profile-page .workspace-content {
	max-width: 980px
}
.profile-page .workspace-view-header {
	margin-bottom: 34px
}
.profile-page .profile-layout {
	grid-template-columns: 300px 1fr;
	gap: 30px
}
.profile-page .profile-card {
	min-height: 385px;
	padding: 40px 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center
}
.profile-page .profile-card .avatar-large {
	width: 108px;
	height: 108px;
	margin-bottom: 24px;
	font-size: 1.35rem;
	box-shadow: 0 0 0 8px rgba(34, 197, 94, .15)
}
.profile-page .profile-card h3 {
	font-size: 1.35rem
}
.profile-page .profile-card p {
	font-size: .8rem
}
.profile-page .profile-card .plain-action {
	margin-top: 26px
}
.profile-page .profile-form {
	min-height: 385px;
	padding: 34px;
	gap: 24px;
	align-content: start
}
.profile-page .profile-form label {
	font-size: .68rem
}
.profile-page .profile-form label input:not([type=checkbox]) {
	padding: 15px 14px;
	font-size: .88rem
}
.profile-page .profile-form .form-check {
	padding-top: 7px;
	font-size: .8rem
}
.profile-page .profile-layout:before {
	padding: 17px 22px;
	font-size: .65rem
}
.profile-page .profile-form:after {
	font-size: .78rem
}
.profile-page .profile-layout:before {
	content: 'ACCOUNT STATUS  /  VERIFIED EMAIL  /  MEMBER SINCE 2026  /  24 SAVED PHOTOS';
	grid-column: 1/-1;
	display: block;
	padding: 14px 18px;
	background: #d9fbe5;
	border-left: 4px solid #22c55e;
	color: #159447;
	font: 500 .6rem 'DM Mono';
	letter-spacing: .08em
}
.profile-page .profile-card:after {
	content: '24 saved photos  ·  6 followed events  ·  3 orders';
	display: block;
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid rgba(232, 241, 255, .2);
	color: #bcd1e9;
	font: 400 .62rem/1.6 'DM Mono'
}
.profile-page .profile-form {
	position: relative
}
.profile-page .profile-form:after {
	content: 'Your details are used to personalise galleries, downloads and PhotoX notifications.';
	grid-column: 1/-1;
	padding-top: 14px;
	border-top: 1px solid #e6edf5;
	color: #59708f;
	font-size: .72rem;
	line-height: 1.5
}
.workspace-nav-link {
	text-decoration: none
}
.workspace-bottom-nav a {
	border: 0;
	background: transparent;
	color: #59708f;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	font: 500 .5rem 'DM Mono';
	text-decoration: none;
	text-transform: uppercase
}
.workspace-bottom-nav a i {
	font-size: 1rem
}
.workspace-bottom-nav a.active {
	color: #0b2d5b
}
.workspace-bottom-nav a.active i {
	color: #ff8a00
}
.photos-page .workspace-content {
	max-width: 1080px
}
.photos-page .workspace-view-header {
	margin-bottom: 30px
}
.photos-page .view-toolbar {
	align-items: center
}
.photos-page .segmented-control a {
	display: block;
	border: 0;
	background: transparent;
	padding: 8px 13px;
	color: #59708f;
	font: 500 .65rem 'DM Mono';
	text-decoration: none
}
.photos-page .segmented-control a.active {
	background: #fff;
	color: #0b2d5b;
	box-shadow: 0 2px 4px rgba(11, 45, 91, .08)
}
.photos-page .photo-wall {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 4px 4px 20px;
	scrollbar-width: thin;
	scrollbar-color: #22c55e #e6edf5
}
.photos-page .photo-wall img {
	flex: 0 0 clamp(230px, 30vw, 330px);
	height: 315px!important;
	cursor: zoom-in;
	scroll-snap-align: start;
	object-fit: cover;
	box-shadow: 0 8px 0 rgba(11, 45, 91, .08);
	transition: transform .25s, box-shadow .25s, filter .25s
}
.photos-page .photo-wall img:nth-child(even) {
	height: 315px!important
}
.photos-page .photo-wall img:hover, .photos-page .photo-wall img:focus {
	transform: translateY(-5px);
	box-shadow: 0 13px 0 rgba(34, 197, 94, .35);
	filter: saturate(1.08);
	outline: 0
}
.photos-page .photo-wall:after {
	content: 'Swipe to explore your collection';
	flex: 0 0 165px;
	align-self: center;
	color: #59708f;
	font: 500 .6rem/1.5 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .08em
}
.photos-gallery-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 270px;
	gap: 18px;
	align-items: stretch;
	min-height: 100%
}
.photos-gallery-layout .photo-wall {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	overflow: visible;
	padding: 0
}
.photos-gallery-layout .photo-wall:after {
	display: none
}
.photos-gallery-layout .photo-wall img,
.photos-gallery-layout .photo-wall img:nth-child(even) {
	width: 100%;
	height: 175px!important;
	min-height: 0;
	box-shadow: none
}
.photos-sponsor-banner {
	position: relative;
	height: 100%;
	min-height: 362px;
	overflow: hidden;
	display: flex;
	background: #0b2d5b;
	color: #fff;
	text-decoration: none
}
.photos-sponsor-banner:hover {
	color: #fff
}
.photos-sponsor-banner>img,
.photos-sponsor-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%
}
.photos-sponsor-banner>img {
	object-fit: cover;
	opacity: .8
}
.photos-sponsor-overlay {
	background: linear-gradient(180deg, rgba(11,45,91,.12), rgba(11,45,91,.9))
}
.photos-sponsor-label {
	position: absolute;
	z-index: 1;
	top: 16px;
	left: 16px;
	font: 500 .54rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase
}
.photos-sponsor-copy {
	position: relative;
	z-index: 1;
	align-self: flex-end;
	padding: 20px 18px 18px
}
.photos-sponsor-copy>span {
	display: block;
	color: rgba(255,255,255,.7);
	font: 500 .52rem 'DM Mono';
	letter-spacing: .08em
}
.photos-sponsor-copy strong {
	display: block;
	font-size: 1.8rem;
	line-height: .9;
	letter-spacing: -.07em;
	margin: 8px 0
}
.photos-sponsor-copy small {
	display: block;
	color: rgba(255,255,255,.76);
	font-size: .7rem
}
.photos-sponsor-copy b {
	display: block;
	margin-top: 16px;
	font: 500 .57rem 'DM Mono';
	letter-spacing: .05em;
	text-transform: uppercase
}
.photos-sponsor-copy b i {
	margin-left: 4px
}
@media(max-width:991px) {
	.photos-gallery-layout {
		grid-template-columns: 1fr
	}
	.photos-sponsor-banner {
		min-height: 250px
	}
}
@media(max-width:575px) {
	.photos-gallery-layout .photo-wall {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px
	}
	.photos-gallery-layout .photo-wall img,
	.photos-gallery-layout .photo-wall img:nth-child(even) {
		height: 155px!important
	}
}
.photo-lightbox {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	place-items: center;
	background: rgba(3, 14, 29, .94);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s, visibility .25s;
	padding: 32px
}
.photo-lightbox.is-open {
	opacity: 1;
	visibility: visible
}
.lightbox-figure {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: min(900px, 82vw);
	max-height: 88vh;
	margin: 0
}
.lightbox-figure img {
	display: block;
	max-width: 100%;
	max-height: 76vh;
	object-fit: contain;
	box-shadow: 0 20px 55px rgba(0, 0, 0, .4)
}
.lightbox-figure figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 48px 22px 18px;
	background: linear-gradient(transparent, rgba(3, 14, 29, .92));
	color: #fff
}
.lightbox-figure figcaption span, .lightbox-figure figcaption strong, .lightbox-figure figcaption small {
	display: block
}
.lightbox-figure figcaption span {
	color: #22c55e;
	font: 500 .6rem 'DM Mono';
	letter-spacing: .1em
}
.lightbox-figure figcaption strong {
	font-size: 1.05rem;
	margin: 5px 0
}
.lightbox-figure figcaption small {
	color: #bcd1e9;
	font-size: .66rem
}
.lightbox-close, .lightbox-arrow {
	position: absolute;
	z-index: 2;
	border: 1px solid rgba(255, 255, 255, .25);
	background: rgba(255, 255, 255, .08);
	color: #fff;
	display: grid;
	place-items: center;
	border-radius: 50%;
	transition: background .2s, transform .2s
}
.lightbox-close {
	top: 24px;
	right: 28px;
	width: 44px;
	height: 44px
}
.lightbox-arrow {
	top: 50%;
	width: 50px;
	height: 50px;
	font-size: 1.3rem;
	transform: translateY(-50%)
}
.lightbox-prev {
	left: 28px
}
.lightbox-next {
	right: 28px
}
.lightbox-close:hover, .lightbox-arrow:hover {
	background: #ff8a00;
	border-color: #ff8a00
}
.lightbox-arrow:hover {
	transform: translateY(-50%) scale(1.06)
}
.lightbox-open {
	overflow: hidden
}
@media(max-width:575px) {
	.photos-page .photo-wall img {
		flex-basis: calc(100vw - 56px);
		height: 270px!important
	}
	.photos-page .photo-wall:after {
		display: none
	}
	.photo-lightbox {
		padding: 18px
	}
	.lightbox-figure {
		max-width: 100%;
		max-height: 82vh
	}
	.lightbox-figure img {
		max-height: 70vh
	}
	.lightbox-arrow {
		width: 40px;
		height: 40px
	}
	.lightbox-prev {
		left: 12px
	}
	.lightbox-next {
		right: 12px
	}
	.lightbox-close {
		top: 15px;
		right: 15px;
		width: 38px;
		height: 38px
	}
	.lightbox-figure figcaption {
		padding: 42px 14px 13px
	}
	.lightbox-figure figcaption strong {
		font-size: .9rem
	}
}
@media(max-width:991px) {
	.workspace-sidebar {
		height: auto;
		min-height: 0
	}
	.profile-page .workspace-content {
		max-width: none
	}
	.profile-page .profile-layout {
		grid-template-columns: 260px 1fr
	}
	.profile-page .profile-card, .profile-page .profile-form {
		min-height: 340px
	}
}
@media(max-width:575px) {
	.profile-page .workspace-view-header h2 {
		font-size: 2.35rem
	}
	.profile-page .profile-layout {
		grid-template-columns: 1fr;
		gap: 14px
	}
	.profile-page .profile-card {
		min-height: 285px;
		padding: 28px 20px
	}
	.profile-page .profile-form {
		min-height: 0;
		padding: 20px;
		gap: 16px
	}
	.profile-page .profile-layout:before {
		font-size: .56rem;
		line-height: 1.7
	}
}
@media(max-width:575px) {
	.workspace-bottom-nav a {
		flex: 1
	}
}
/* Keep the original photo grid; the lightbox remains available on click. */

.photos-page .photo-wall {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	overflow: visible;
	padding: 0;
	scroll-snap-type: none
}
.photos-page .photo-wall img {
	display: block;
	flex: none;
	width: 100%;
	scroll-snap-align: none;
	box-shadow: none;
	cursor: zoom-in;
	transition: transform .25s, filter .25s
}
.photos-page .photo-wall img:hover, .photos-page .photo-wall img:focus {
	transform: scale(1.02);
	box-shadow: none
}
.photos-page .photo-wall:after {
	display: none
}
@media(max-width:575px) {
	.photos-page .photo-wall {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px
	}
	.photos-page .photo-wall img, .photos-page .photo-wall img:nth-child(2), .photos-page .photo-wall img:nth-child(5) {
		height: 190px!important
	}
}
/* Consistent framed photo cards */

.photos-page .photo-wall img, .photos-page .photo-wall img:nth-child(2), .photos-page .photo-wall img:nth-child(5) {
	box-sizing: border-box;
	padding: 8px;
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .14);
	object-fit: cover;
	box-shadow: 0 8px 0 rgba(11, 45, 91, .08)
}
.photos-page .photo-wall img:hover, .photos-page .photo-wall img:focus {
	box-shadow: 0 12px 0 rgba(34, 197, 94, .28);
	transform: translateY(-3px)
}
.photos-page .photo-wall img, .photos-page .photo-wall img:nth-child(2), .photos-page .photo-wall img:nth-child(5) {
	object-fit: contain;
	object-position: center;
	background: #fff;

    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(11, 45, 91, .04);
}
.photos-page .photo-wall img, .photos-page .photo-wall img:nth-child(2), .photos-page .photo-wall img:nth-child(5) {
	object-fit: cover;
	object-position: center
}
.photo-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 22px 0 8px
}
.photo-pagination button {
	width: 36px;
	height: 36px;
	border: 1px solid rgba(11, 45, 91, .14);
	background: #fff;
	color: #59708f;
	font: 500 .62rem 'DM Mono';
	transition: background .2s, color .2s, border-color .2s
}
.photo-pagination button:hover:not(:disabled), .photo-pagination button.active {
	background: #0b2d5b;
	color: #fff;
	border-color: #0b2d5b
}
.photo-pagination button:disabled {
	opacity: .35;
	cursor: not-allowed
}
.photo-pagination .pagination-arrow {
	border-radius: 50%;
	font-size: .8rem
}
.photo-pagination .pagination-number {
	border-radius: 3px
}
@media(max-width:575px) {
	.photos-page .photo-wall img, .photos-page .photo-wall img:nth-child(2), .photos-page .photo-wall img:nth-child(5) {
		height: 200px!important;
		padding: 6px
	}
}
.events-carousel {
	overflow: hidden
}
.events-track {
	display: flex;
	gap: 24px;
	transition: transform .45s ease;
	will-change: transform
}
.events-track .event-item {
	flex: 0 0 calc((100% - 72px)/4);
	max-width: calc((100% - 72px)/4)
}
.events-track .event-card {
	height: 100%
}
.events-carousel-footer {
	display: flex;
	align-items: center;
	gap: 25px;
	margin-top: 30px
}
.events-progress {
	height: 3px;
	background: rgba(11, 45, 91, .14);
	flex: 1
}
.events-progress span {
	display: block;
	height: 100%;
	width: 25%;
	background: #ff8a00;
	transition: width .35s ease
}
.events-carousel-controls {
	display: flex;
	gap: 8px
}
.events-carousel-controls button {
	width: 40px;
	height: 40px;
	border: 1px solid rgba(11, 45, 91, .2);
	border-radius: 50%;
	background: transparent;
	color: #0b2d5b
}
.events-carousel-controls button:hover {
	background: #0b2d5b;
	color: #fff
}
@media(max-width:1199px) {
	.events-track .event-item {
		flex-basis: calc((100% - 24px)/2);
		max-width: calc((100% - 24px)/2)
	}
	.events-progress span {
		width: 50%
	}
}
@media(max-width:575px) {
	.events-track {
		gap: 16px
	}
	.events-track .event-item {
		flex-basis: calc(100% - 28px);
		max-width: calc(100% - 28px)
	}
	.events-carousel-footer {
		gap: 15px
	}
	.events-progress span {
		width: 100%
	}
	.events-carousel-controls button {
		width: 36px;
		height: 36px
	}
}
/* Responsive sponsor carousel */

.sponsor-carousel {
	position: relative
}
.sponsor-slide {
	display: none!important;
	animation: sponsor-in .45s ease both
}
.sponsor-slide.active {
	display: grid!important
}
@keyframes sponsor-in {
	from {
		opacity: 0;
		transform: translateY(8px)
	}
	to {
		opacity: 1;
		transform: translateY(0)
	}
}
.sponsor-art img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.85) contrast(1.05)
}
.sponsor-art:before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(11, 45, 91, .82), rgba(11, 45, 91, .08));
	z-index: 1
}
.sponsor-art>*:not(img) {
	z-index: 2
}
.sponsor-art-gilbert:after, .sponsor-art-asics:after, .sponsor-art-redbull:after {
	z-index: 1
}
.sponsor-art-gilbert {
	background: #ff8a00
}
.sponsor-art-asics {
	background: #22c55e
}
.sponsor-art-redbull {
	background: #ff8a00
}
.format-note {
	color: #59708f;
	font: 500 .62rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .04em
}
/* Sponsor carousel */

.sponsor-carousel {
	position: relative
}
.sponsor-slide {
	display: none;
	animation: sponsor-in .45s ease both
}
.sponsor-slide.active {
	display: grid
}
@keyframes sponsor-in {
	from {
		opacity: 0;
		transform: translateY(8px)
	}
	to {
		opacity: 1;
		transform: translateY(0)
	}
}
.sponsor-art-gilbert {
	background: #ff8a00
}
.sponsor-art-asics {
	background: #22c55e
}
.sponsor-art-asics:after {
	background: repeating-linear-gradient(135deg, transparent 0 28px, rgba(11, 45, 91, .82) 29px 42px);
	transform: rotate(-12deg)
}
.sponsor-art-asics .sponsor-monogram {
	color: #0b2d5b
}
.sponsor-art-asics .sponsor-monogram span {
	color: #e8f1ff
}
.sponsor-art-redbull {
	background: #ff8a00
}
.sponsor-art-redbull:after {
	background: radial-gradient(circle at 50% 46%, #e8f1ff 0 21%, transparent 22%), linear-gradient(135deg, transparent 0 42%, #0b2d5b 43% 55%, transparent 56%);
	transform: rotate(12deg)
}
.sponsor-art-redbull .sponsor-monogram {
	color: #0b2d5b
}
.sponsor-art-redbull .sponsor-monogram span {
	color: #0b2d5b
}
.sponsor-carousel-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 25px
}
.sponsor-dots {
	display: flex;
	gap: 8px
}
.sponsor-dot {
	width: 34px;
	height: 4px;
	border: 0;
	background: #94a3b8;
	padding: 0;
	transition: all .25s
}
.sponsor-dot.active {
	width: 64px;
	background: #ff8a00
}
.sponsor-arrows {
	display: flex;
	gap: 8px
}
.sponsor-arrows button {
	width: 38px;
	height: 38px;
	border: 1px solid rgba(11, 45, 91, .2);
	border-radius: 50%;
	background: transparent;
	color: #0b2d5b
}
.sponsor-arrows button:hover {
	background: #0b2d5b;
	color: #fff
}
.sponsor-banner.format-square, .sponsor-banner.format-vertical {
	display: none
}
.sponsor-slide.active.format-square, .sponsor-slide.active.format-vertical {
	display: grid
}
@media(max-width:767px) {
	.sponsor-carousel-controls {
		margin-top: 20px
	}
	.sponsor-dot.active {
		width: 45px
	}
	.sponsor-arrows button {
		width: 34px;
		height: 34px
	}
}
/* Sponsor banner slot */

.sponsor-slot {
	padding: 88px 0 96px;
	background: #e8f1ff;
	overflow: hidden
}
.sponsor-heading {
	margin-bottom: 28px
}
.sponsor-heading h2 {
	font-size: clamp(2.3rem, 5vw, 4.3rem);
	line-height: .9;
	letter-spacing: -.07em;
	margin: 0;
	color: #0b2d5b
}
.sponsor-heading h2 span {
	color: #ff8a00
}
.sponsor-tools {
	display: flex;
	align-items: center;
	gap: 22px;
	flex-wrap: wrap
}
.rotation-status {
	font: 500 .62rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #59708f
}
.rotation-status i {
	font-size: .9rem;
	color: #22c55e;
	margin-right: 6px
}
.format-switcher {
	display: flex;
	gap: 4px;
	padding: 4px;
	border: 1px solid rgba(11, 45, 91, .16);
	border-radius: 999px;
	background: rgba(255, 255, 255, .4)
}
.format-button {
	border: 0;
	background: transparent;
	border-radius: 999px;
	padding: 7px 12px;
	color: #59708f;
	font: 500 .65rem 'DM Mono';
	text-transform: uppercase
}
.format-button.active, .format-button:hover {
	background: #0b2d5b;
	color: #fff
}
.sponsor-banner {
	min-height: 355px;
	display: grid;
	grid-template-columns: 38% 1fr 17%;
	position: relative;
	overflow: hidden;
	background: #0b2d5b;
	color: #e8f1ff;
	box-shadow: 12px 12px 0 #22c55e;
	transition: grid-template-columns .35s ease, min-height .35s ease
}
.sponsor-art {
	position: relative;
	overflow: hidden;
	background: #ff8a00;
	isolation: isolate
}
.sponsor-art:after {
	content: '';
	position: absolute;
	inset: -35%;
	background: repeating-radial-gradient(circle at 50% 50%, transparent 0 31px, rgba(11, 45, 91, .75) 32px 36px);
	transform: rotate(-14deg);
	z-index: -1
}
.sponsor-rings {
	position: absolute;
	inset: -30% -20%;
	border: 34px solid #22c55e;
	border-radius: 50%;
	transform: rotate(21deg);
	opacity: .9
}
.sponsor-label {
	position: absolute;
	top: 22px;
	left: 24px;
	color: #0b2d5b;
	font: 500 .62rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .08em
}
.sponsor-monogram {
	position: absolute;
	bottom: 24px;
	left: 24px;
	color: #0b2d5b;
	font-size: clamp(4rem, 8vw, 7rem);
	font-weight: 700;
	line-height: .7;
	letter-spacing: -.12em
}
.sponsor-monogram span {
	color: #e8f1ff
}
.sponsor-copy {
	padding: 42px 48px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center
}
.banner-kicker {
	color: #22c55e;
	font: 500 .62rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .07em;
	margin-bottom: 20px
}
.banner-kicker span {
	color: #94a3b8;
	padding: 0 5px
}
.sponsor-copy h3 {
	font-size: clamp(2.2rem, 4vw, 4.1rem);
	line-height: .9;
	letter-spacing: -.07em;
	margin-bottom: 18px
}
.sponsor-copy h3 em {
	color: #ff8a00;
	font-style: normal
}
.sponsor-copy>p:not(.banner-kicker) {
	max-width: 330px;
	color: rgba(232, 241, 255, .68);
	line-height: 1.5;
	font-size: .92rem;
	margin-bottom: 23px
}
.sponsor-copy .btn-light {
	color: #0b2d5b;
	background: #e8f1ff;
	border-color: #e8f1ff
}
.sponsor-copy .btn-light:hover {
	background: #22c55e;
	border-color: #22c55e
}
.sponsor-metrics {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 25px;
	padding: 30px 22px;
	border-left: 1px solid rgba(232, 241, 255, .18)
}
.sponsor-metrics div {
	display: flex;
	flex-direction: column
}
.sponsor-metrics strong {
	font-size: 1.25rem;
	letter-spacing: -.05em
}
.sponsor-metrics span {
	color: #94a3b8;
	font: 400 .58rem 'DM Mono';
	text-transform: uppercase;
	margin-top: 4px
}
.banner-count {
	position: absolute;
	right: 20px;
	bottom: 16px;
	color: rgba(232, 241, 255, .45);
	font: 500 .62rem 'DM Mono'
}
.banner-count i {
	color: #ff8a00;
	padding: 0 5px
}
.format-square {
	width: min(100%, 530px);
	grid-template-columns: 1fr;
	min-height: 530px;
	margin: 0 auto
}
.format-square .sponsor-art {
	min-height: 180px
}
.format-square .sponsor-copy {
	padding: 32px
}
.format-square .sponsor-metrics {
	flex-direction: row;
	border-left: 0;
	border-top: 1px solid rgba(232, 241, 255, .18);
	padding: 20px 32px;
	justify-content: space-between
}
.format-vertical {
	width: min(100%, 370px);
	grid-template-columns: 1fr;
	min-height: 590px;
	margin: 0 auto
}
.format-vertical .sponsor-art {
	min-height: 205px
}
.format-vertical .sponsor-copy {
	padding: 32px
}
.format-vertical .sponsor-metrics {
	flex-direction: row;
	border-left: 0;
	border-top: 1px solid rgba(232, 241, 255, .18);
	padding: 20px 32px;
	justify-content: space-between
}
.format-vertical .sponsor-copy h3 {
	font-size: 3rem
}
@media(max-width:767px) {
	.sponsor-slot {
		padding: 65px 0 75px
	}
	.sponsor-tools {
		width: 100%;
		justify-content: space-between
	}
	.sponsor-banner {
		grid-template-columns: 1fr;
		min-height: 620px;
		box-shadow: 7px 7px 0 #22c55e
	}
	.sponsor-art {
		min-height: 175px
	}
	.sponsor-copy {
		padding: 32px 25px
	}
	.sponsor-metrics {
		flex-direction: row;
		border-left: 0;
		border-top: 1px solid rgba(232, 241, 255, .18);
		padding: 21px 25px;
		justify-content: space-between
	}
	.banner-count {
		right: 15px;
		bottom: 12px
	}
	.format-square, .format-vertical {
		min-height: 560px
	}
	.format-square .sponsor-copy, .format-vertical .sponsor-copy {
		padding: 28px 24px
	}
	.format-square .sponsor-metrics, .format-vertical .sponsor-metrics {
		padding: 18px 24px
	}
}
/* Final brand overrides */

.brand-mark {
	background: #0b2d5b!important;
	color: #ff8a00!important
}
.brand-x {
	color: #ff8a00!important
}
.hero-section {
	background: #0b2d5b!important;
	color: #e8f1ff;
	position: relative
}
.hero-section:before {
	background-image: linear-gradient(rgba(232, 241, 255, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(232, 241, 255, .06) 1px, transparent 1px)!important
}
.hero-copy h1 em {
	color: #ff8a00!important
}
.btn-lime {
	color: #fff!important
}
.hero-actions .btn-outline-light {
	color: #e8f1ff!important;
	border-color: rgba(232, 241, 255, .55)!important
}
.hero-actions .btn-outline-light:hover {
	background: #e8f1ff!important;
	color: #0b2d5b!important
}
.eyebrow, .scroll-cue i {
	color: #22c55e!important
}
.photo-top {
	box-shadow: 12px 14px 0 #ff8a00!important
}
.photo-bottom {
	box-shadow: 12px 14px 0 #22c55e!important
}
.collage-note {
	background: #ff8a00!important;
	color: #fff!important
}
.feature-section {
	background: #0b2d5b!important;
	color: #e8f1ff!important
}
.feature-section .section-kicker {
	color: #22c55e!important;
	display: none;
}
.image-label {
	background: #22c55e!important;
	color: #0b2d5b!important
}
/* Brand palette and hero refinement */

:root {
	--ink: #0f172a;
	--paper: #e8f1ff;
	--lime: #22c55e;
	--coral: #ff8a00;
	--muted: #59708f;
	--line: rgba(11, 45, 91, .16);
	--deep-blue: #0b2d5b;
	--slate: #94a3b8
}
body {
	background: var(--paper);
	color: var(--ink)
}
.navbar {
	background: var(--paper);
	border-bottom: 1px solid rgba(11, 45, 91, .08)
}
.brand-mark {
	background: var(--deep-blue);
	color: var(--coral)
}
.brand-x {
	color: var(--coral)
}
.btn-dark {
	background: var(--deep-blue);
	border-color: var(--deep-blue)
}
.btn-dark:hover {
	background: var(--coral);
	border-color: var(--coral)
}
.btn-lime:hover {
	background: #ff9f2e;
	border-color: #ff9f2e;
	color: #fff
}
.hero-section {
	background: var(--deep-blue);
	min-height: 720px;
	padding: 98px 0 76px;
	position: relative
}
.hero-section:before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(232, 241, 255, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(232, 241, 255, .06) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: linear-gradient(90deg, #000 0%, transparent 88%);
	pointer-events: none
}
.hero-copy {
	max-width: 620px
}
.eyebrow {
	color: var(--lime);
	letter-spacing: .14em
}
.hero-copy h1 {
	font-size: clamp(3.7rem, 8vw, 7.4rem);
	line-height: .88;
	letter-spacing: -.085em;
	margin-bottom: 30px
}
.hero-copy h1 em {
	color: var(--coral)
}
.hero-intro {
	color: rgba(232, 241, 255, .74);
	max-width: 450px
}
.hero-actions .btn-outline-light {
	border-color: rgba(232, 241, 255, .55);
	color: var(--paper)
}
.hero-actions .btn-outline-light:hover {
	background: var(--paper);
	color: var(--deep-blue)
}
.hero-collage {
	top: 42px;
	width: 55%;
	height: 600px
}
.photo {
	border: 1px solid rgba(232, 241, 255, .4);
	box-shadow: 18px 20px 0 rgba(15, 23, 42, .28)
}
.photo-main {
	width: 57%;
	height: 74%;
	right: 7%;
	top: 8%;
	transform: rotate(3deg)
}
.photo-top {
	width: 35%;
	height: 38%;
	left: 1%;
	top: 3%;
	transform: rotate(-7deg);
	box-shadow: 12px 14px 0 rgba(255, 138, 0, .8)
}
.photo-bottom {
	width: 38%;
	height: 39%;
	right: 0;
	bottom: 0;
	transform: rotate(-3deg);
	box-shadow: 12px 14px 0 rgba(34, 197, 94, .8)
}
.collage-note {
	color: var(--paper);
	background: var(--coral);
	padding: 11px 14px;
	right: 18%;
	bottom: 4%;
	transform: rotate(-3deg)
}
.scroll-cue {
	color: rgba(232, 241, 255, .55)
}
.scroll-cue i {
	color: var(--lime)
}
.search-section {
	background: var(--paper)
}
.section-kicker {
	color: var(--deep-blue)
}
.search-section h2 span {
	color: var(--coral)
}
.finder-panel {
	box-shadow: 10px 10px 0 var(--lime)
}
.event-tag {
	background: var(--coral);
}
.feature-section {
	background: var(--deep-blue);
	color: var(--paper)
}
.feature-section .section-kicker {
	color: var(--lime)
}
.feature-section .muted-copy {
	color: rgba(232, 241, 255, .7)
}
.feature-section .btn-dark {
	background: var(--coral);
	border-color: var(--coral)
}
.feature-section .btn-dark:hover {
	background: var(--lime);
	border-color: var(--lime);
	color: var(--deep-blue)
}
.image-label {
	background: var(--lime);
	color: var(--deep-blue)
}
.stories-section {
	background: var(--paper)
}
.filter-chip.active, .filter-chip:hover {
	background: var(--deep-blue);
	border-color: var(--deep-blue)
}
.story-overlay span {
	color: var(--lime)
}
.story-overlay a {
	background: var(--coral);
	color: #fff
}
.footer {
	background: var(--ink)
}
body {
	overflow-x: hidden
}
:root {
	--ink: #171717;
	--paper: #faf8f4;
	--lime: #22C55E;
	--coral: #ff684c;
	--muted: #817d74;
	--line: rgba(23, 23, 23, .16)
}
* {
	box-sizing: border-box
}
html {
	scroll-behavior: smooth
}
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: 'Space Grotesk', sans-serif
}
.navbar {
	background: var(--paper);
	position: relative;
	z-index: 10
}
.navbar-brand {
	font-weight: 700;
	font-size: 1.08rem;
	letter-spacing: .16em;
	color: var(--ink)
}
.brand-mark {
	display: grid;
	place-items: center;
	width: 31px;
	height: 31px;
	background: var(--ink);
	color: var(--lime);
	font-family: 'DM Mono', monospace;
	font-size: .67rem;
	letter-spacing: -.08em;
	transform: rotate(-6deg)
}
.brand-x {
	color: var(--coral)
}
.nav-link, .text-link {
	color: #fff;
	font-size: .85rem;
	font-weight: 500
}
.nav-link {
	opacity: .77
}
.nav-link:hover, .nav-link.active {
	opacity: 1
}
.icon-button {
	background: none;
	border: 0;
	font-size: 1.05rem;
	color: #fff;
}
.btn {
	font-size: .84rem;
	font-weight: 600
}
.btn-dark {
	background: var(--ink);
	border-color: var(--ink)
}
.btn-dark:hover {
	background: var(--coral);
	border-color: var(--coral)
}
.btn-lime {
	background: var(--lime);
	border-color: var(--lime);
	color: var(--ink)
}
.navbar {
	background: #06366c!important;
	box-shadow: 0 2px 0 rgba(255, 255, 255, .18);
	position: sticky!important;
	top: 0;
	z-index: 999;
}
.navbar-brand img {
	width: 150px;
	height: auto
}
.reference-hero {
	background: #071d38!important
}
.reference-hero .btn-lime, .navbar .btn-lime {
	background: #ff8a00!important;
	border-color: #ff8a00!important;
	color: #fff!important
}
.reference-hero .btn-lime:hover, .navbar .btn-lime:hover {
	background: #e56f00!important;
	border-color: #e56f00!important;
	color: #fff!important
}
.reference-hero .hero-copy, .reference-hero .hero-copy .hero-intro, .reference-hero .hero-trust, .hero-ad-copy {
	text-transform: capitalize;
}
.reference-hero .hero-ad {
	background: #071d38
}
.reference-hero .hero-ad>img {
	object-fit: cover;
	object-position: center
}
.reference-hero h1, .reference-hero .hero-intro, .reference-hero .hero-actions, .hero-ad-copy {
	font-family: 'Space Grotesk', sans-serif
}
.reference-hero .eyebrow, .reference-hero h1 {
	font-weight: 700!important;
	letter-spacing: 0em!important;
	line-height: .9!important;
	text-transform: capitalize;
	margin: 0 0 20px!important
}
.reference-hero .hero-intro {
	letter-spacing: 0!important;
	margin-bottom: 20px!important
}
.reference-hero .hero-actions {
	letter-spacing: 0!important
}
.reference-hero .hero-copy {
	bottom: clamp(48px, 9%, 74px)!important
}
@media(min-width:992px) {
	.reference-hero .hero-slide {
		height: 420px;
		min-height: 420px
	}
}
.reference-hero .hero-copy {
	width: min(90%, 520px)
}
.reference-hero h1 {
	max-width: 100%;
	font-size: clamp(2.1rem, 4.8vw, 4.65rem)!important;
	overflow-wrap: break-word
}
.reference-hero .hero-intro {
	max-width: 100%;
	white-space: normal
}
.directory-page {
	background: #f4f7fb;
	color: #0b2d5b
}
.directory-page .navbar {
	position: sticky!important
}
.directory-hero {
	background: #0b2d5b;
	color: #e8f1ff;
	padding: 92px 0 78px;
	position: relative;
	overflow: hidden
}
.directory-hero:after {
	content: 'PHOTOX';
	position: absolute;
	right: -50px;
	bottom: -80px;
	color: rgba(232, 241, 255, .05);
	font: 700 clamp(6rem, 18vw, 18rem) 'Space Grotesk';
	letter-spacing: -.1em;
	line-height: .8
}
.directory-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	align-items: end;
	gap: 60px;
	position: relative;
	z-index: 1
}
.directory-hero:before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(11, 45, 91, .96), rgba(11, 45, 91, .76)), url('https://images.unsplash.com/photo-1461896836934-ffe607ba8211?auto=format&fit=crop&w=1800&q=82') center/cover;
	opacity: .72;
	mix-blend-mode: screen
}
.events-directory-hero:before {
	background: linear-gradient(90deg, rgba(11, 45, 91, .98), rgba(11, 45, 91, .72)), url('https://images.unsplash.com/photo-1461896836934-ffe607ba8211?auto=format&fit=crop&w=1800&q=82') center/cover
}
.photographer-directory-hero:before {
	background: linear-gradient(90deg, rgba(255, 138, 0, .97), rgba(255, 138, 0, .76)), url('https://images.unsplash.com/photo-1516035069371-29a1b244cc32?auto=format&fit=crop&w=1800&q=82') center/cover;
	mix-blend-mode: multiply;
	opacity: .55
}
.directory-hero-grid {
	z-index: 2
}
.directory-hero h1 {
	max-width: 760px
}
.directory-hero-stat {
	backdrop-filter: blur(4px)
}
.photographer-directory-hero {
	background: #ff8a00;
	color: #0b2d5b
}
.photographer-directory-hero .directory-kicker {
	color: #0b2d5b
}
.photographer-directory-hero p {
	color: rgba(11, 45, 91, .7)
}
.photographer-directory-hero:after {
	color: rgba(11, 45, 91, .08)
}
.photographer-directory-hero .directory-hero-stat {
	border-color: rgba(11, 45, 91, .25)
}
.photographer-directory-hero .directory-hero-stat strong {
	color: #0b2d5b
}
.photographer-directory-hero .directory-hero-stat i {
	color: #0b2d5b
}
@media(max-width:991px) {
	.directory-hero {
		padding: 70px 0 62px
	}
	.directory-hero-grid {
		grid-template-columns: 1fr;
		gap: 38px
	}
	.directory-hero-stat {
		width: 220px
	}
	.directory-grid, .photographer-grid {
		grid-template-columns: repeat(2, 1fr)
	}
	.photographer-photo {
		height: 330px
	}
}
@media(max-width:575px) {
	.directory-hero h1 {
		font-size: clamp(3.1rem, 16vw, 4.8rem)
	}
	.directory-content {
		padding: 62px 0 76px
	}
	.directory-toolbar {
		display: block
	}
	.directory-search {
		margin-top: 28px;
		width: 100%
	}
	.directory-grid, .photographer-grid {
		grid-template-columns: 1fr;
		gap: 30px
	}
	.directory-image {
		height: 250px
	}
	.photographer-photo {
		height: 370px
	}
	.directory-callout .container-xl {
		display: block
	}
	.directory-callout .btn {
		margin-top: 28px
	}
	.directory-filters {
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 5px
	}
	.directory-filter {
		white-space: nowrap
	}
}
.directory-content {
	position: relative
}
.directory-content:before {
	content: '';
	display: block;
	width: 54px;
	height: 4px;
	background: #ff8a00;
	margin-bottom: 38px
}
.photographer-content:before {
	background: #22c55e
}
.directory-event, .photographer-card {
	border: 1px solid rgba(11, 45, 91, .08)
}
.directory-event-copy h3, .photographer-card-copy h3 {
	font-weight: 700
}
.directory-save, .photographer-save {
	transition: background .2s, border-color .2s, transform .2s
}
.directory-save:hover, .photographer-save:hover {
	transform: scale(1.08)
}
.photographer-card-copy>a {
	transition: background .2s, border-color .2s, transform .2s
}
.photographer-card-copy>a:hover {
	transform: rotate(8deg)
}
@media(max-width:991px) {
	.hero-slider {
		height: auto;
		min-height: 0;
		display: grid;
		grid-template-columns: 1fr
	}
	.hero-slide {
		height: 520px
	}
	.hero-ad {
		display: block;
		height: 290px
	}
	.hero-ad-copy {
		inset: auto 24px 24px
	}
	.hero-ad-copy strong {
		font-size: 1.15rem
	}
}
@media(max-width:575px) {
	.hero-slide {
		height: 520px;
		min-height: 520px
	}
	.reference-hero .hero-copy {
		inset: auto 22px 54px;
		width: auto;
		max-width: none
	}
	.reference-hero h1 {
		font-size: clamp(2.35rem, 12vw, 3.6rem)!important;
		line-height: .9!important;
		margin-bottom: 14px!important
	}
	.reference-hero .hero-intro {
		font-size: .72rem!important;
		margin-bottom: 14px
	}
	.reference-hero .hero-actions {
		gap: 8px!important
	}
	.reference-hero .hero-actions .btn {
		font-size: .62rem;
		padding: 8px 12px
	}
	.hero-trust {
		gap: 8px;
		margin-top: 16px
	}
	.hero-trust span {
		font-size: .4rem
	}
	.hero-ad {
		height: 270px
	}
}
.archive-page, .people-page {
	background: #f7f8fb;
	color: #0b2d5b
}
.archive-nav, .people-nav {
	background: #0b2d5b!important
}
.archive-nav .nav-link, .people-nav .nav-link, .archive-nav .text-link, .people-nav .text-link {
	color: rgba(255, 255, 255, .86)!important
}
.archive-nav .nav-link.active, .people-nav .nav-link.active {
	color: #fff!important
}
.archive-hero {
	background: #0b2d5b;
	color: #e8f1ff;
	padding: 28px 0 82px;
	overflow: hidden;
	position: relative
}
.archive-hero:after {
	content: 'ARCHIVE';
	position: absolute;
	right: -35px;
	bottom: -92px;
	color: rgba(255, 255, 255, .035);
	font: 700 clamp(7rem, 19vw, 19rem) 'Space Grotesk';
	letter-spacing: -.12em
}
.archive-hero-top {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid rgba(255, 255, 255, .17);
	padding: 0 0 15px;
	position: relative;
	z-index: 1
}
.archive-label, .people-label {
	font: 500 .6rem 'DM Mono';
	letter-spacing: .11em;
	color: #22c55e
}
.archive-label i {
	display: inline-block;
	width: 7px;
	height: 7px;
	background: #ff8a00;
	border-radius: 50%;
	margin-right: 7px
}
.archive-date {
	font: 500 .6rem 'DM Mono';
	color: rgba(255, 255, 255, .5);
	letter-spacing: .1em
}
.archive-hero-layout {
	display: grid;
	grid-template-columns: 42% 58%;
	align-items: center;
	gap: 42px;
	padding-top: 58px;
	position: relative;
	z-index: 1
}
.archive-hero h1 {
	font: 700 clamp(4rem, 8vw, 8rem)/.82 'Space Grotesk';
	letter-spacing: -.1em;
	margin: 0 0 28px
}
.archive-hero h1 em, .archive-heading h2 em, .archive-cta h2 em {
	color: #ff8a00;
	font-style: normal
}
.archive-hero p {
	max-width: 370px;
	color: rgba(232, 241, 255, .68);
	line-height: 1.6;
	margin: 0 0 28px
}
.archive-hero-link, .archive-cta a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #fff;
	text-decoration: none;
	font: 500 .65rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .06em;
	border-bottom: 1px solid #ff8a00;
	padding-bottom: 9px
}
.archive-hero-link i, .archive-cta a i {
	color: #ff8a00;
	font-size: 1rem
}
.archive-feature {
	height: 480px;
	position: relative;
	overflow: hidden;
	transform: rotate(2deg);
	box-shadow: 18px 18px 0 #ff8a00
}
.archive-feature img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.78)
}
.archive-feature:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(11, 45, 91, .78), transparent 60%)
}
.archive-feature-caption {
	position: absolute;
	z-index: 1;
	left: 25px;
	bottom: 25px;
	display: flex;
	flex-direction: column;
	gap: 8px
}
.archive-feature-caption span {
	font: 500 .56rem 'DM Mono';
	color: #22c55e
}
.archive-feature-caption strong {
	font: 600 1.6rem/1 'Space Grotesk'
}
.archive-feature-mark {
	position: absolute;
	z-index: 1;
	right: 24px;
	top: 25px;
	color: #fff;
	font: italic 1.5rem/1 Georgia, serif;
	text-align: right;
	transform: rotate(-8deg)
}
.archive-list {
	padding: 100px 0 112px
}
.archive-heading, .people-roster-heading {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 30px;
	margin-bottom: 35px
}
.archive-label.dark, .people-label.dark {
	color: #0b2d5b
}
.archive-heading h2, .people-roster-heading h2 {
	font: 700 clamp(2.8rem, 5vw, 5rem)/.87 'Space Grotesk';
	letter-spacing: -.09em;
	margin: 16px 0 0
}
.archive-search, .people-search {
	height: 48px;
	width: 320px;
	display: flex;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid rgba(11, 45, 91, .3)
}
.archive-search i, .people-search i {
	color: #ff8a00
}
.archive-search input, .people-search input {
	border: 0;
	outline: 0;
	background: transparent;
	width: 100%;
	font: 500 .75rem 'Space Grotesk'
}
.archive-tabs, .people-filters {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 34px
}
.archive-tab, .people-filter {
	border: 1px solid rgba(11, 45, 91, .2);
	background: transparent;
	color: #59708f;
	border-radius: 0;
	padding: 10px 16px;
	font: 500 .59rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .06em
}
.archive-tab.active, .archive-tab:hover, .people-filter.active, .people-filter:hover {
	background: #ff8a00;
	border-color: #ff8a00;
	color: #0b2d5b
}
.archive-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px
}
.archive-card {
	background: #fff;
	box-shadow: 0 10px 25px rgba(11, 45, 91, .06);
	transition: transform .25s, box-shadow .25s
}
.archive-card:hover {
	transform: translateY(-7px);
	box-shadow: 0 18px 30px rgba(11, 45, 91, .14)
}
.archive-card[hidden], .person-card[hidden] {
	display: none
}
.archive-card-image {
	height: 250px;
	position: relative;
	overflow: hidden
}
.archive-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s
}
.archive-card:hover img {
	transform: scale(1.07)
}
.archive-card-image:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(11, 45, 91, .65), transparent 55%)
}
.archive-card-image span {
	position: absolute;
	z-index: 1;
	top: 14px;
	left: 14px;
	background: #22c55e;
	color: #0b2d5b;
	padding: 6px 8px;
	font: 500 .52rem 'DM Mono'
}
.archive-card-body {
	padding: 17px 18px 19px
}
.archive-card-body small, .person-info small {
	font: 500 .54rem 'DM Mono';
	color: #59708f;
	letter-spacing: .07em
}
.archive-card-body h3, .person-info h3 {
	font: 600 1.2rem 'Space Grotesk';
	letter-spacing: -.05em;
	margin: 9px 0 14px
}
.archive-card-body p {
	margin: 0;
	color: #ff8a00;
	font: 500 .6rem 'DM Mono'
}
.archive-empty, .people-empty {
	text-align: center;
	color: #59708f;
	font: 500 .65rem 'DM Mono';
	padding: 35px
}
.archive-cta {
	background: #ff8a00;
	color: #0b2d5b;
	padding: 75px 0
}
.archive-cta .container-xl {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px
}
.archive-cta .archive-label {
	color: #0b2d5b
}
.archive-cta h2, .people-footer-cta h2 {
	font: 700 clamp(3rem, 7vw, 7rem)/.82 'Space Grotesk';
	letter-spacing: -.1em;
	margin: 16px 0 0
}
.archive-cta a {
	color: #0b2d5b;
	border-color: #0b2d5b
}
.archive-cta a i {
	color: #0b2d5b
}
.people-page {
	background: #f8f1e8
}
.people-nav {
	background: #201d1b!important
}
.people-hero {
	background: linear-gradient(135deg, rgba(11, 45, 91, 0.96), rgba(18, 66, 115, 0.87));
	color: #fff;
	min-height: 650px;
	padding: 55px 0 85px;
	overflow: hidden
}
.people-hero>.container-xl {
	display: grid;
	grid-template-columns: 42% 58%;
	align-items: center;
	min-height: 520px
}
.people-intro {
	position: relative;
	z-index: 2
}
.people-label {
	color: #201d1b
}
.people-intro h1 {
	font: 700 clamp(4rem, 8vw, 8rem)/.8 'Space Grotesk';
	letter-spacing: -.1em;
	margin: 22px 0 27px
}
.people-intro h1 em, .people-roster-heading h2 em, .people-footer-cta h2 em {
	color: #fff;
	font-style: normal
}
.people-intro p {
	max-width: 375px;
	line-height: 1.6;
	color: rgba(32, 29, 27, .72)
}
.people-scroll {
	display: inline-flex;
	gap: 12px;
	align-items: center;
	margin-top: 18px;
	color: #201d1b;
	text-decoration: none;
	font: 500 .64rem 'DM Mono';
	text-transform: uppercase;
	border-bottom: 1px solid #201d1b;
	padding-bottom: 8px
}
.people-hero-collage {
	height: 510px;
	position: relative
}
.people-hero-image {
	position: absolute;
	overflow: hidden;
	background: #201d1b
}
.people-hero-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.78)
}
.people-hero-image.large {
	width: 65%;
	height: 86%;
	right: 12%;
	top: 5%;
	transform: rotate(3deg);
	box-shadow: 18px 18px 0 #201d1b
}
.people-hero-image.small {
	width: 34%;
	height: 39%;
	right: 0;
	bottom: 2%;
	transform: rotate(-7deg);
	box-shadow: 10px 10px 0 rgba(255, 255, 255, .65)
}
.people-hero-image span {
	position: absolute;
	z-index: 1;
	bottom: 15px;
	left: 15px;
	color: #fff;
	font: 500 .6rem 'DM Mono'
}
.people-stamp {
	position: absolute;
	right: 2%;
	top: 10%;
	color: #fff;
	font: italic 1.6rem/1 Georgia, serif;
	transform: rotate(-8deg);
	text-align: right
}
.people-roster {
	background: #f8f1e8;
	padding: 100px 0 118px
}
.people-roster-heading h2 em {
	color: #ff8a00
}
.people-search {
	border-color: rgba(32, 29, 27, .35)
}
.people-filters {
	justify-content: flex-end
}
.people-filter {
	color: #6c6259;
	border-color: rgba(32, 29, 27, .24)
}
.people-filter.active, .people-filter:hover {
	background: #201d1b;
	border-color: #201d1b;
	color: #fff
}
.people-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 54px 24px
}
.person-image {
	    height: 320px;
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 15px;
    border-radius: 15px 15px 0px 0px;
}
.person-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.78);
	border-radius: 10px;
	transition: transform .6s, filter .6s
}
.person-card:hover .person-image img {
	transform: scale(1.06);
	filter: saturate(1)
}
.person-image span {
	position: absolute;
	bottom: 14px;
	left: 16px;
	color: #fff;
	font: 500 .6rem 'DM Mono'
}
.person-info {
	position: relative;
	
	padding: 16px 52px 18px 17px;
	background: #fff;
	height: 150px;
   
    border-radius: 0px 0px 15px 15px;
  
    box-shadow: 0 8px 20px rgba(11, 45, 91, .04);
}
.person-info h3 {
	font-size: 1.55rem;
	color: #201d1b;
	margin-bottom: 9px;

}
.person-info p {
	font-size: .8rem;
	color: #6c6259;
	line-height: 1.45;
	margin: 0
}
.person-info>a {
	position: absolute;
	right: 0;
	top: 18px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(32, 29, 27, .3);
	border-radius: 50%;
	color: #201d1b
}
.person-info>a:hover {
	background: #ff8a00;
	border-color: #ff8a00
}
/*.person-featured .person-image {
	box-shadow: 13px 13px 0 #ff8a00
}*/
.people-footer-cta {
	background: #201d1b;
	color: #fff;
	padding: 82px 0
}
.people-footer-cta .people-label {
	color: #22c55e
}
.people-footer-cta h2 em {
	color: #ff8a00
}
.people-footer-cta a {
	display: inline-flex;
	margin-top: 25px;
	color: #fff;
	border-bottom: 1px solid #ff8a00;
	padding-bottom: 8px;
	text-decoration: none;
	font: 500 .65rem 'DM Mono';
	text-transform: uppercase;
	gap: 10px
}
.people-footer-cta a i {
	color: #ff8a00
}
@media(max-width:991px) {
	.archive-hero-layout, .people-hero>.container-xl {
		grid-template-columns: 1fr
	}
	.archive-feature {
		height: 400px;
		margin-top: 30px
	}
	.people-hero-collage {
		margin-top: 35px
	}
	.archive-grid, .people-grid {
		grid-template-columns: repeat(2, 1fr)
	}
	.people-hero {
		padding-bottom: 40px
	}
	.people-hero>.container-xl {
		min-height: 0
	}
	.people-filters {
		justify-content: flex-start
	}
}
@media(max-width:575px) {
	.archive-hero {
		padding: 24px 0 60px
	}
	.archive-hero-layout {
		padding-top: 45px
	}
	.archive-hero h1, .people-intro h1 {
		font-size: clamp(3.8rem, 17vw, 5.5rem)
	}
	.archive-hero-top {
		display: block
	}
	.archive-date {
		display: block;
		margin-top: 10px
	}
	.archive-feature {
		height: 330px
	}
	.archive-heading, .people-roster-heading {
		display: block
	}
	.archive-search, .people-search {
		width: 100%;
		margin-top: 28px
	}
	.archive-grid, .people-grid {
		grid-template-columns: 1fr;
		gap: 28px
	}
	.archive-card-image {
		height: 260px
	}
	.archive-cta .container-xl {
		display: block
	}
	.archive-cta a {
		margin-top: 28px
	}
	.people-hero {
		min-height: 0;
		padding: 42px 0 60px
	}
	.people-hero-collage {
		height: 390px
	}
	.people-hero-image.large {
		width: 72%;
		height: 82%;
		right: 9%
	}
	.people-hero-image.small {
		width: 38%;
		height: 38%
	}
	.people-stamp {
		font-size: 1.15rem
	}
	.people-roster {
		padding: 66px 0 78px
	}
	.people-filters {
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 5px
	}
	.people-filter {
		white-space: nowrap
	}
	.person-image {
		height: 400px
	}
}
.btn-lime:hover {
	background: #edfba4;
	border-color: #edfba4
}
.hero-section {
	background: var(--ink);
	color: var(--paper);
	min-height: 690px;
	padding: 86px 0 70px;
	overflow: hidden
}
.hero-copy {
	position: relative;
	z-index: 2;
	max-width: 650px
}
.eyebrow, .section-kicker {
	font-family: 'DM Mono', monospace;
	text-transform: uppercase;
	letter-spacing: .11em;
	font-size: .66rem
}
.eyebrow {
	color: var(--lime);
	margin-bottom: 25px
}
.live-dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--coral);
	margin-right: 8px;
	box-shadow: 0 0 0 5px rgba(255, 104, 76, .16)
}
h1, h2, h3, p {
	margin-top: 0
}
h1 {
	font-size: clamp(2.8rem, 5vw, 5.6rem);
	line-height: .91;
	letter-spacing: -.075em;
	font-weight: 600;
	margin-bottom: 32px
}
h1 em, .feature-title em {
	color: var(--coral);
	font-style: normal
}
.hero-intro {
	color: rgba(245, 241, 233, .68);
	font-size: 1.05rem;
	line-height: 1.55;
	max-width: 420px;
	margin-bottom: 32px
}
.hero-collage {
	position: absolute;
	right: 0;
	top: 30px;
	width: 53%;
	height: 580px
}
.photo {
	position: absolute;
	overflow: hidden;
	background: #292929
}
.photo img, .feature-image img, .story-card img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	display: block
}
.photo-main {
	width: 56%;
	height: 72%;
	right: 6%;
	top: 9%;
	transform: rotate(4deg);
	z-index: 1
}
.photo-top {
	width: 34%;
	height: 37%;
	left: 2%;
	top: 2%;
	transform: rotate(-8deg)
}
.photo-bottom {
	width: 37%;
	height: 39%;
	right: 0;
	bottom: 0;
	transform: rotate(-4deg)
}
.collage-note {
	position: absolute;
	right: 20%;
	bottom: 5%;
	z-index: 3;
	color: var(--lime);
	font-family: 'DM Mono', monospace;
	font-size: .67rem;
	line-height: 1.5;
	text-transform: uppercase;
	transform: rotate(-4deg)
}
.collage-note i {
	font-size: 1.1rem;
	margin-left: 14px
}
.scroll-cue {
	position: absolute;
	bottom: 29px;
	left: 0;
	font-family: 'DM Mono', monospace;
	font-size: .62rem;
	text-transform: uppercase;
	color: rgba(245, 241, 233, .45);
	display: flex;
	gap: 12px;
	align-items: center
}
.scroll-cue i {
	color: var(--lime);
	font-size: 1rem
}
.search-section {
	padding: 70px 0 60px;
	background: var(--paper)
}
.section-kicker {
	display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #ff8a00;
    border: 1px solid rgba(255, 255, 255, .14);
    font: 500 .68rem 'DM Mono';
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 16px;
}
.search-section h2, .section-title, .feature-title {
	font-size: clamp(2.3rem, 5vw, 4.5rem);
	line-height: .95;
	letter-spacing: -.07em;
	font-weight: 600;
	margin-bottom: 0
}
.search-section h2 span {
	color: var(--coral)
}
.muted-copy {
	color: var(--muted);
	line-height: 1.6;
	max-width: 400px
}
.finder-panel {
	padding: 24px;
	box-shadow: 10px 10px 0 var(--lime);
	border: 1px solid rgba(11, 45, 91, .12) !important;
	border-radius: 2px !important;
	background: #f7fbff !important;
}
.finder-tabs {
	display: flex;
	gap: 8px;
	border-bottom: 1px solid var(--line);
	padding-bottom: 18px;
	margin-bottom: 20px;
	overflow: auto
}
.finder-tab {
	background: transparent;
	border: 1px solid transparent;
	white-space: nowrap;
	padding: 10px 14px;
	font: 500 .84rem 'Space Grotesk';
	color: var(--muted);
	border-radius: 999px
}
.finder-tab i {
	margin-right: 8px
}
.finder-tab.active {
	background: var(--ink);
	color: var(--paper)
}
.finder-tab small {
	color: var(--coral);
	font: 500 .58rem 'DM Mono';
	margin-left: 7px
}
.finder-form {
	display: flex;
	gap: 12px
}
.finder-input-wrap {
	display: flex;
	align-items: center;
	gap: 12px;
	border-bottom: 1px solid var(--ink);
	flex: 1;
	padding: 8px 4px
}
.finder-input-wrap i {
	font-size: 1.1rem
}
.finder-input-wrap input {
	border: 0;
	outline: 0;
	background: transparent;
	width: 100%;
	font: 400 1rem 'Space Grotesk'
}
.finder-meta {
	display: flex;
	gap: 25px;
	color: var(--muted);
	font: 400 .63rem 'DM Mono';
	text-transform: uppercase;
	margin-top: 22px
}
.finder-meta i {
	color: var(--coral);
	margin-right: 5px
}
.events-section {
	padding: 50px 0;
	background-color: #f4f8ff;
}
.section-title {
	font-size: clamp(2rem, 4vw, 3.4rem)
}
.underline-link {
	border-bottom: 1px solid var(--ink);
	padding-bottom: 4px
}
.filter-chip {
	border: 1px solid var(--line);
	background: transparent;
	border-radius: 999px;
	padding: 8px 16px;
	color: var(--muted);
	font: 500 .77rem 'Space Grotesk'
}
.filter-chip.active, .filter-chip:hover {
	background: var(--ink);
	color: #fff;
	border-color: var(--ink)
}
.event-card {
	height: 100%
}
.event-image {
	height: 260px;
    overflow: hidden;
    position: relative;
    background: #fff;
    border-radius: 15px;
    padding: 15px;
}
.event-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	    border-radius: 10px;
	transition: transform .5s
}
.event-card:hover .event-image img {
	transform: scale(1.05)
}
.event-tag {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--lime);
	padding: 6px 10px;
	font: 500 .62rem 'DM Mono';
	text-transform: uppercase
}
.save-button {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--ink)
}
.event-details {
	padding-top: 16px;
	padding-left: 17px;
}
.event-date {
	font: 500 .62rem 'DM Mono';
	color: var(--coral);
	text-transform: uppercase;
	margin-bottom: 9px
}
.event-date span {
	color: var(--muted);
	padding: 0 5px
}
.event-details h3 {
	font-size: 1.17rem;
	letter-spacing: -.04em;
	margin-bottom: 12px
}
.event-stats {
	color: var(--muted);
	font: 400 .69rem 'DM Mono';
	text-transform: uppercase
}
.event-stats i {
	color: var(--ink);
	font-size: .9rem;
	margin-left: 5px
}
.feature-section {
	padding: 115px 0;
	background: var(--lime)
}
.feature-image {
	height: 550px;
	position: relative;
	overflow: hidden;
	transform: rotate(2deg);
	border: 8px solid var(--ink)
}
.image-label {
	position: absolute;
	bottom: 20px;
	left: 20px;
	background: var(--coral);
	padding: 13px 16px;
	font: 500 .65rem 'DM Mono';
	line-height: 1.5;
	text-transform: uppercase
}
.feature-title {
	font-size: clamp(2.7rem, 5vw, 5rem);
	margin-bottom: 25px
}
.stories-section {
	padding: 105px 0;
	background: #f3f7fe;
}
.story-card {
	position: relative;
	overflow: hidden;
	background: var(--ink);
	color: #fff
}
.story-large {
	height: 470px
}
.story-small {
	height: 470px
}
.story-card img {
	opacity: .79;
	transition: transform .5s
}
.story-card:hover img {
	transform: scale(1.04)
}
.story-overlay {
	position: absolute;
	inset: auto 25px 25px
}
.story-overlay span {
	font: 500 .62rem 'DM Mono';
	color: var(--lime)
}
.story-overlay h3 {
	font-size: clamp(1.4rem, 3vw, 2.25rem);
	letter-spacing: -.05em;
	max-width: 500px;
	margin: 10px 0 0
}
.story-overlay a {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--lime);
	color: var(--ink)
}
.footer {
	background: #06366c;
	color: var(--paper);
	padding: 70px 0 25px
}
.footer .navbar-brand {
	color: var(--paper)
}
.footer-copy {
	font-size: 1.3rem;
	line-height: 1.2;
	letter-spacing: -.04em;
	color: rgba(245, 241, 233, .55)
}
.footer-label {
	font: 500 .65rem 'DM Mono';
	color: var(--lime);
	text-transform: uppercase;
	margin-bottom: 17px
}
.footer a:not(.navbar-brand) {
	display: block;
	color: rgba(245, 241, 233, .68);
	text-decoration: none;
	font-size: .84rem;
	margin-bottom: 11px
}
.footer a:hover {
	color: var(--lime)
}
.newsletter {
	border-bottom: 1px solid rgba(245, 241, 233, .45);
	display: flex;
	padding-bottom: 8px
}
.newsletter input {
	background: none;
	border: 0;
	outline: 0;
	color: #fff;
	width: 100%;
	font: 400 .85rem 'Space Grotesk'
}
.newsletter input::placeholder {
	color: rgba(245, 241, 233, .45)
}
.newsletter button {
	border: 0;
	background: none;
	color: var(--lime)
}
.footer-bottom {
	border-top: 1px solid rgba(245, 241, 233, .18);
	display: flex;
	justify-content: space-between;
	gap: 15px;
	padding-top: 20px;
	margin-top: 65px;
	color: rgba(245, 241, 233, .4);
	font: 400 .59rem 'DM Mono';
	text-transform: uppercase
}
.toast {
	background: var(--ink);
	color: #fff;
	border-radius: 0;
	border-left: 4px solid var(--lime)
}
.toast i {
	color: var(--lime)
}
@media(max-width:991px) {
	.hero-section {
		min-height: 820px;
		padding-top: 65px
	}
	.hero-collage {
		top: 390px;
		width: 100%;
		height: 400px
	}
	.photo-main {
		right: 15%;
		width: 47%;
		height: 84%
	}
	.photo-top {
		left: 7%;
		width: 30%;
		height: 42%
	}
	.photo-bottom {
		right: 4%;
		width: 30%;
		height: 41%
	}
	.collage-note {
		right: 22%;
		bottom: 0
	}
	.scroll-cue {
		display: none
	}
	.search-section, .events-section, .feature-section, .stories-section {
		padding: 75px 0
	}
	.feature-image {
		height: 450px
	}
}
@media(max-width:575px) {
	.hero-section {
		min-height: 750px;
		padding-top: 48px
	}
	.hero-intro {
		font-size: .95rem
	}
	.hero-actions .btn {
		font-size: .77rem
	}
	.hero-collage {
		top: 400px;
		height: 290px
	}
	.photo-main {
		width: 52%;
		height: 86%;
		right: 10%
	}
	.photo-top {
		left: 1%;
		width: 36%;
		height: 42%
	}
	.photo-bottom {
		right: 0;
		width: 36%;
		height: 39%
	}
	.collage-note {
		font-size: .55rem;
		right: 20%
	}
	.search-section {
		padding-top: 65px
	}
	.finder-panel {
		padding: 16px;
		box-shadow: 6px 6px 0 var(--lime)
	}
	.finder-form {
		display: block
	}
	.finder-input-wrap {
		margin-bottom: 15px
	}
	.finder-form .btn {
		width: 100%
	}
	.finder-meta {
		display: block;
		line-height: 2
	}
	.finder-meta span {
		display: block
	}
	.event-image {
		height: 230px
	}
	.feature-image {
		height: 340px;
		border-width: 5px
	}
	.story-large, .story-small {
		height: 360px
	}
	.footer-bottom {
		display: block;
		line-height: 2.1
	}
	.footer-bottom span {
		display: block
	}
}
.login-page {
	background: #e8f1ff;
	min-height: calc(100vh - 74px);
	display: grid;
	place-items: center;
	padding: 70px 0
}
.login-shell {
	width: min(100%, 1080px);
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: #fff;
	box-shadow: 18px 18px 0 #22c55e;
	min-height: 590px
}
.login-header-link {
	color: #0b2d5b;
	font-size: .84rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap
}
.login-header-link:hover {
	color: #ff8a00
}
.login-visual {
	background: #0b2d5b;
	position: relative;
	overflow: hidden;
	color: #e8f1ff;
	padding: 42px;
	display: flex;
	flex-direction: column;
	justify-content: space-between
}
.login-visual:before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(11, 45, 91, .25), rgba(11, 45, 91, .8)), url('https://images.unsplash.com/photo-1461896836934-ffe607ba8211?auto=format&fit=crop&w=1000&q=88') center/cover
}
.login-visual>* {
	position: relative;
	z-index: 1
}
.login-visual h1 {
	font-size: clamp(2.8rem, 5vw, 5.5rem);
	line-height: .9;
	letter-spacing: -.08em;
	margin: 0
}
.login-visual h1 em {
	color: #ff8a00;
	font-style: normal
}
.login-quote {
	font-size: 1rem;
	line-height: 1.55;
	color: rgba(232, 241, 255, .72);
	max-width: 300px
}
.login-count {
	font: 500 .62rem 'DM Mono';
	color: #22c55e;
	letter-spacing: .1em;
	text-transform: uppercase
}
.login-form-panel {
	padding: 52px 58px;
	display: flex;
	flex-direction: column;
	justify-content: center
}
.login-form-panel h2 {
	font-size: 2.5rem;
	letter-spacing: -.07em;
	color: #0b2d5b
}
.login-form-panel .form-control {
	height: 52px
}
.login-form-panel .form-label {
	font: 500 .64rem 'DM Mono';
	text-transform: uppercase;
	color: #59708f;
	letter-spacing: .06em
}
.login-submit {
	height: 52px;
	background: #0b2d5b;
	color: #fff;
	border: 0
}
.login-submit:hover {
	background: #ff8a00;
	color: #fff
}
.login-help {
	font-size: .82rem;
	color: #59708f
}
.login-help a, .login-links a {
	color: #0b2d5b;
	font-weight: 600
}
.login-divider {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #94a3b8;
	font: 500 .62rem 'DM Mono';
	text-transform: uppercase;
	margin: 25px 0
}
.login-divider:before, .login-divider:after {
	content: '';
	height: 1px;
	background: rgba(11, 45, 91, .14);
	flex: 1
}
.social-login {
	height: 48px;
	border: 1px solid rgba(11, 45, 91, .18);
	background: #fff;
	color: #0b2d5b
}
.social-login:hover {
	background: #e8f1ff
}
.login-trust {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	color: #59708f;
	font: 500 .6rem 'DM Mono';
	text-transform: uppercase
}
.login-trust i {
	color: #22c55e;
	margin-right: 5px
}
.login-footer {
	background: #0f172a;
	color: #e8f1ff;
	padding: 50px 0 24px
}
.login-footer a {
	color: rgba(232, 241, 255, .62);
	text-decoration: none;
	font-size: .8rem
}
.login-footer a:hover {
	color: #22c55e
}
.login-footer-label {
	font: 500 .62rem 'DM Mono';
	color: #22c55e;
	text-transform: uppercase;
	margin-bottom: 13px
}
.login-footer-bottom {
	border-top: 1px solid rgba(232, 241, 255, .16);
	margin-top: 42px;
	padding-top: 18px;
	color: rgba(232, 241, 255, .4);
	font: 400 .58rem 'DM Mono';
	text-transform: uppercase;
	display: flex;
	justify-content: space-between;
	gap: 12px
}
@media(max-width:767px) {
	.login-page {
		padding: 38px 15px;
		min-height: auto
	}
	.login-shell {
		grid-template-columns: 1fr;
		box-shadow: 8px 8px 0 #22c55e
	}
	.login-visual {
		min-height: 270px;
		padding: 28px
	}
	.login-visual h1 {
		font-size: 3.1rem
	}
	.login-form-panel {
		padding: 38px 25px
	}
	.login-form-panel h2 {
		font-size: 2.15rem
	}
	.login-footer-bottom {
		display: block;
		line-height: 2
	}
	.login-footer-bottom span {
		display: block
	}
}
@media(max-width:575px) {
	.navbar .login-header-link {
		font-size: .72rem
	}
	.navbar .icon-button {
		font-size: .92rem
	}
	.navbar .btn {
		font-size: .68rem;
		padding-left: .65rem!important;
		padding-right: .65rem!important
	}
}
.testimonials-section .testimonial-slide .testimonial-meta {
	display: none;
}
.navbar-toggler {
	color: #fff !important;
}
/* Centralized page styles */

/* about.html */

body.page-about {
	background: #f4f8ff;
}
body.page-about .about-hero {
	background: linear-gradient(135deg, #0b2349, #123d72 52%, #214f8c);
	color: #fff;
	padding: 92px 0 68px;
	position: relative;
	overflow: hidden;
}
body.page-about .about-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at right top, rgba(255, 209, 102, .17), transparent 28%);
}
body.page-about .about-hero .container-xl {
	position: relative;
	z-index: 1;
}
body.page-about .hero-layout {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 28px;
	align-items: center;
}
body.page-about .about-hero h1 {
	font-size: clamp(2.8rem, 5vw, 5rem);
	line-height: .9;
	letter-spacing: -.08em;
	margin: 18px 0 16px;
}
body.page-about .about-hero h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-about .about-hero p {
	max-width: 620px;
	color: rgba(255, 255, 255, .8);
	font-size: 1.08rem;
}
body.page-about .hero-actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 26px;
}
body.page-about .feature-story {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 28px;
	padding: 22px;
	backdrop-filter: blur(7px);
}
body.page-about .feature-story img {
	width: 100%;
	height: 330px;
	object-fit: cover;
	border-radius: 18px;
}
body.page-about .feature-story .meta {
	display: flex;
	justify-content: space-between;
	margin-top: 16px;
	font: 500 .68rem 'DM Mono';
	color: #dfeafe;
	text-transform: uppercase;
}
body.page-about .feature-story h3 {
	margin-top: 12px;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	letter-spacing: -.06em;
}
body.page-about .feature-story p {
	margin: 0;
	color: rgba(255, 255, 255, .8);
}
body.page-about .section-wrap {
	padding: 88px 0;
}
body.page-about .about-info-section {
	padding: 76px 0;
	background: #fff;
	border-bottom: 1px solid rgba(11, 45, 91, .08);
}
body.page-about .about-info-grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: 72px;
	align-items: start;
}
body.page-about .about-info-lead h2 {
	max-width: 480px;
	margin: 12px 0 0;
	color: #0b2d5b;
	font-size: clamp(2.2rem, 4vw, 4rem);
	line-height: .95;
	letter-spacing: -.07em;
}
body.page-about .about-info-lead h2 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-about .about-info-copy {
	max-width: 650px;
	color: #53719d;
	font-size: 1rem;
	line-height: 1.7;
}
body.page-about .about-info-copy p {
	margin: 0 0 12px;
}
body.page-about .about-info-points {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
}
body.page-about .about-info-points>div {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px 16px;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 15px;
	background: #f7faff;
}
body.page-about .about-info-points i {
	color: #ff8a00;
	font-size: 1.25rem;
}
body.page-about .about-info-points strong {
	display: block;
	color: #0b2d5b;
	font-size: .88rem;
}
body.page-about .about-info-points small {
	display: block;
	margin-top: 5px;
	color: #6b83a3;
	font-size: .74rem;
	line-height: 1.45;
}
@media (max-width: 767px) {
	body.page-about .about-info-section {
	padding: 58px 0;
	}
	body.page-about .about-info-grid {
	grid-template-columns: 1fr;
	gap: 28px;
	}
	body.page-about .about-info-points {
	grid-template-columns: 1fr;
	}
}
body.page-about .section-header {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 26px;
}
body.page-about .section-kicker {
	font: 500 .72rem 'DM Mono';
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #1d4f8b;
}
body.page-about .section-title {
	font-size: clamp(2rem, 3vw, 3rem);
	letter-spacing: -.06em;
	color: #0b2d5b;
	margin-top: 8px;
}
body.page-about .stats-panel {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 28px;
	padding: 28px;
	box-shadow: 0 12px 30px rgba(11, 45, 91, .04);
}
body.page-about .stats-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
body.page-about .stat-box {
	background: #f4f8ff;
	border-radius: 18px;
	padding: 20px;
}
body.page-about .stat-box span {
	display: block;
	font: 500 .68rem 'DM Mono';
	color: #6881a8;
	text-transform: uppercase;
}
body.page-about .stat-box strong {
	display: block;
	margin-top: 8px;
	font-size: clamp(1.9rem, 2vw, 2.6rem);
	color: #0b2d5b;
}
body.page-about .tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px;
}
body.page-about .tag-list span {
	display: inline-flex;
	padding: 10px 14px;
	border-radius: 999px;
	background: #edf5ff;
	color: #0b2d5b;
	font-weight: 700;
}
body.page-about .mission-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
body.page-about .mission-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 24px;
	padding: 24px;
	box-shadow: 0 10px 24px rgba(11, 45, 91, .04);
}
body.page-about .mission-card i {
	width: 52px;
	height: 52px;
	display: grid;
	place-items: center;
	border-radius: 15px;
	background: #eaf3ff;
	color: #0b2d5b;
	font-size: 1.5rem;
}
body.page-about .mission-card h3 {
	margin: 18px 0 10px;
	font-size: 1.5rem;
	color: #0b2d5b;
}
body.page-about .mission-card p {
	margin: 0;
	color: #536d8d;
}
body.page-about .story-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}
body.page-about .story-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 14px 28px rgba(11, 45, 91, .05);
}
body.page-about .story-card img {
	width: 100%;
	height: 220px;
	object-fit: cover;
}
body.page-about .story-card .body {
	padding: 22px;
}
body.page-about .story-card .meta {
	font: 500 .68rem 'DM Mono';
	color: #4a6791;
	text-transform: uppercase;
}
body.page-about .story-card h3 {
	color: #0b2d5b;
	font-size: 1.5rem;
	letter-spacing: -.04em;
	margin: 10px 0;
}
body.page-about .story-card p {
	margin: 0;
	color: #536d8d;
}
body.page-about .story-card a {
	display: inline-flex;
	margin-top: 18px;
	text-decoration: none;
	color: #0b2d5b;
	font-weight: 700;
}
body.page-about .timeline {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}
body.page-about .timeline-box {
	background: linear-gradient(180deg, #f7faff 0%, #eef5ff 100%);
	border-radius: 22px;
	padding: 22px;
	border: 1px solid rgba(11, 45, 91, .07);
}
body.page-about .timeline-box .year {
	color: #1d4f8b;
	font: 500 .7rem 'DM Mono';
	text-transform: uppercase;
}
body.page-about .timeline-box h4 {
	font-size: 1.4rem;
	margin: 12px 0 8px;
	color: #0b2d5b;
}
body.page-about .timeline-box p {
	margin: 0;
	color: #58729d;
}
body.page-about .cta-panel {
	background: linear-gradient(135deg, #0b2d5b, #1d5298);
	border-radius: 32px;
	padding: 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	color: #fff;
}
body.page-about .cta-panel h3 {
	margin: 0;
	font-size: clamp(2rem, 3vw, 2.8rem);
	letter-spacing: -.06em;
}
body.page-about .cta-panel p {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, .8);
}
body.page-about .about-split {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
	gap: clamp(28px, 6vw, 88px);
	align-items: center;
}
body.page-about .about-split.reverse .about-image {
	order: 2;
}
body.page-about .about-image {
	position: relative;
	min-height: 430px;
}
body.page-about .about-image::before {
	content: "";
	position: absolute;
	width: 72%;
	height: 72%;
	right: -14px;
	bottom: -16px;
	background: #ff8a00;
	border-radius: 26px;
	opacity: .9;
}
body.page-about .about-split.reverse .about-image::before {
	right: auto;
	left: -14px;
	background: #22c55e;
}
body.page-about .about-image img {
	position: relative;
	z-index: 1;
	width: 88%;
	height: 430px;
	object-fit: cover;
	border-radius: 28px;
	box-shadow: 0 24px 44px rgba(11, 45, 91, .16);
}
body.page-about .about-split.reverse .about-image img {
	margin-left: 12%;
}
body.page-about .about-copy .section-kicker {
	display: inline-block;
	padding: 8px 12px;
	border-radius: 999px;
	background: #eaf3ff;
}
body.page-about .about-copy h2 {
	color: #0b2d5b;
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: .95;
	letter-spacing: -.07em;
	margin: 16px 0;
}
body.page-about .about-copy h2 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-about .about-copy p {
	color: #536d8d;
	font-size: 1.02rem;
	line-height: 1.75;
}
body.page-about .about-points {
	display: grid;
	gap: 12px;
	margin-top: 22px;
}
body.page-about .about-point {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	color: #0b2d5b;
	font-weight: 700;
}
body.page-about .about-point i {
	color: #22c55e;
	font-size: 1.2rem;
}
body.page-about .impact-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 24px;
}
body.page-about .impact-strip div {
	padding: 16px;
	border-left: 3px solid #ff8a00;
	background: #f4f8ff;
}
body.page-about .impact-strip strong {
	display: block;
	color: #0b2d5b;
	font-size: 1.55rem;
}
body.page-about .impact-strip span {
	color: #6881a8;
	font: 500 .65rem 'DM Mono';
	text-transform: uppercase;
}
body.page-about .journal-band {
	background: #e8f0ff;
}
@media (max-width: 991px) {
	body.page-about .hero-layout, body.page-about .story-grid, body.page-about .stats-grid, body.page-about .mission-grid, body.page-about .timeline, body.page-about .about-split {
		grid-template-columns: 1fr;
	}
	body.page-about .about-split.reverse .about-image {
		order: initial;
	}
	body.page-about .about-split.reverse .about-image img {
		margin-left: 0;
	}
}
@media (max-width: 575px) {
	body.page-about .about-image, body.page-about .about-image img {
		min-height: 310px;
		height: 310px;
	}
	body.page-about .impact-strip {
		grid-template-columns: 1fr;
	}
}
/* blog.html */

body.page-blog {
	background: #f4f8ff;
}
body.page-blog .about-hero {
	background: linear-gradient(135deg, #0b2349, #123d72 52%, #214f8c);
	color: #fff;
	padding: 92px 0 68px;
	position: relative;
	overflow: hidden;
}
body.page-blog .about-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at right top, rgba(255, 209, 102, .17), transparent 28%);
}
body.page-blog .about-hero .container-xl {
	position: relative;
	z-index: 1;
}
body.page-blog .hero-layout {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 28px;
	align-items: center;
}
body.page-blog .about-hero h1 {
	font-size: clamp(2.8rem, 5vw, 5rem);
	line-height: .9;
	letter-spacing: -.08em;
	margin: 18px 0 16px;
}
body.page-blog .about-hero h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-blog .about-hero p {
	max-width: 620px;
	color: rgba(255, 255, 255, .8);
	font-size: 1.08rem;
}
body.page-blog .hero-actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 26px;
}
body.page-blog .feature-story {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 28px;
	padding: 22px;
	backdrop-filter: blur(7px);
}
body.page-blog .feature-story img {
	width: 100%;
	height: 330px;
	object-fit: cover;
	border-radius: 18px;
}
body.page-blog .feature-story .meta {
	display: flex;
	justify-content: space-between;
	margin-top: 16px;
	font: 500 .68rem 'DM Mono';
	color: #dfeafe;
	text-transform: uppercase;
}
body.page-blog .feature-story h3 {
	margin-top: 12px;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	letter-spacing: -.06em;
}
body.page-blog .feature-story p {
	margin: 0;
	color: rgba(255, 255, 255, .8);
}
body.page-blog .section-wrap {
	padding: 88px 0;
}
body.page-blog .section-header {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 26px;
}
body.page-blog .section-kicker {
	font: 500 .72rem 'DM Mono';
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #1d4f8b;
}
body.page-blog .section-title {
	font-size: clamp(2rem, 3vw, 3rem);
	letter-spacing: -.06em;
	color: #0b2d5b;
	margin-top: 8px;
}
body.page-blog .stats-panel {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 28px;
	padding: 28px;
	box-shadow: 0 12px 30px rgba(11, 45, 91, .04);
}
body.page-blog .stats-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
body.page-blog .stat-box {
	background: #f4f8ff;
	border-radius: 18px;
	padding: 20px;
}
body.page-blog .stat-box span {
	display: block;
	font: 500 .68rem 'DM Mono';
	color: #6881a8;
	text-transform: uppercase;
}
body.page-blog .stat-box strong {
	display: block;
	margin-top: 8px;
	font-size: clamp(1.9rem, 2vw, 2.6rem);
	color: #0b2d5b;
}
body.page-blog .tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px;
}
body.page-blog .tag-list span {
	display: inline-flex;
	padding: 10px 14px;
	border-radius: 999px;
	background: #edf5ff;
	color: #0b2d5b;
	font-weight: 700;
}
body.page-blog .mission-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
body.page-blog .mission-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 24px;
	padding: 24px;
	box-shadow: 0 10px 24px rgba(11, 45, 91, .04);
}
body.page-blog .mission-card i {
	width: 52px;
	height: 52px;
	display: grid;
	place-items: center;
	border-radius: 15px;
	background: #eaf3ff;
	color: #0b2d5b;
	font-size: 1.5rem;
}
body.page-blog .mission-card h3 {
	margin: 18px 0 10px;
	font-size: 1.5rem;
	color: #0b2d5b;
}
body.page-blog .mission-card p {
	margin: 0;
	color: #536d8d;
}
body.page-blog .story-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}
body.page-blog .story-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 14px 28px rgba(11, 45, 91, .05);
}
body.page-blog .story-card img {
	width: 100%;
	height: 220px;
	object-fit: cover;
}
body.page-blog .story-card .body {
	padding: 22px;
}
body.page-blog .story-card .meta {
	font: 500 .68rem 'DM Mono';
	color: #4a6791;
	text-transform: uppercase;
}
body.page-blog .story-card h3 {
	color: #0b2d5b;
	font-size: 1.5rem;
	letter-spacing: -.04em;
	margin: 10px 0;
}
body.page-blog .story-card p {
	margin: 0;
	color: #536d8d;
}
body.page-blog .story-card a {
	display: inline-flex;
	margin-top: 18px;
	text-decoration: none;
	color: #0b2d5b;
	font-weight: 700;
}
body.page-blog .timeline {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}
body.page-blog .timeline-box {
	background: linear-gradient(180deg, #f7faff 0%, #eef5ff 100%);
	border-radius: 22px;
	padding: 22px;
	border: 1px solid rgba(11, 45, 91, .07);
}
body.page-blog .timeline-box .year {
	color: #1d4f8b;
	font: 500 .7rem 'DM Mono';
	text-transform: uppercase;
}
body.page-blog .timeline-box h4 {
	font-size: 1.4rem;
	margin: 12px 0 8px;
	color: #0b2d5b;
}
body.page-blog .timeline-box p {
	margin: 0;
	color: #58729d;
}
body.page-blog .cta-panel {
	background: linear-gradient(135deg, #0b2d5b, #1d5298);
	border-radius: 32px;
	padding: 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	color: #fff;
}
body.page-blog .cta-panel h3 {
	margin: 0;
	font-size: clamp(2rem, 3vw, 2.8rem);
	letter-spacing: -.06em;
}
body.page-blog .cta-panel p {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, .8);
}
@media (max-width: 991px) {
	body.page-blog .hero-layout, body.page-blog .story-grid, body.page-blog .stats-grid, body.page-blog .mission-grid, body.page-blog .timeline {
		grid-template-columns: 1fr;
	}
}
/* browse-photos.html */

body.page-browse-photos {
	background: #f4f8ff;
}
body.page-browse-photos .browse-hero {
	background: linear-gradient(135deg, #081d39, #123b73 58%, #214f8c);
	color: #fff;
	padding: 90px 0 70px;
}
body.page-browse-photos .browse-hero h1 {
	font-size: clamp(2.8rem, 5vw, 5.4rem);
	letter-spacing: -.08em;
	line-height: .9;
	margin: 18px 0 16px;
}
body.page-browse-photos .browse-hero h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-browse-photos .browse-hero p {
	max-width: 620px;
	color: rgba(255, 255, 255, .8);
}
body.page-browse-photos .hero-actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 22px;
}
body.page-browse-photos .search-panel {
	margin-top: -24px;
	position: relative;
	z-index: 2;
}
body.page-browse-photos .search-panel .content-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 28px;
	box-shadow: 0 18px 40px rgba(11, 45, 91, .1);
	padding: 20px;
}
body.page-browse-photos .filter-row {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr auto;
	gap: 12px;
}
body.page-browse-photos .filter-row input, body.page-browse-photos .filter-row select, body.page-browse-photos .filter-row button {
	height: 54px;
	border-radius: 16px;
	border: 1px solid rgba(11, 45, 91, .12);
	background: #f8faff;
	color: #0b2d5b;
	padding: 0 16px;
}
body.page-browse-photos .filter-row button {
	background: linear-gradient(135deg, #0b2d5b, #1d5298);
	color: #fff;
	border: none;
	min-width: 150px;
}
body.page-browse-photos .filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 0;
}
body.page-browse-photos .filter-pill {
	border-radius: 999px;
	padding: 8px 12px;
	background: #edf5ff;
	color: #0b2d5b;
	font-weight: 600;
}
body.page-browse-photos .filter-pill.active {
	background: #0b2d5b;
	color: #fff;
}
body.page-browse-photos .content-section {
	padding: 88px 0;
}
body.page-browse-photos .gallery-wall {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}
body.page-browse-photos .gallery-item {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(11, 45, 91, .05);
}
body.page-browse-photos .gallery-item img {
	width: 100%;
	height: 210px;
	object-fit: cover;
	display: block;
	cursor: zoom-in;
	transition: transform .3s ease, filter .3s ease;
}
body.page-browse-photos .gallery-item:hover img {
	transform: scale(1.04);
	filter: saturate(1.08);
}
body.page-browse-photos .gallery-meta {
	padding: 16px 16px 18px;
}
body.page-browse-photos .gallery-meta .title {
	font-size: 1.1rem;
	color: #0b2d5b;
	margin: 0 0 4px;
}
body.page-browse-photos .gallery-meta .tiny {
	font: 500 .66rem 'DM Mono';
	color: #5d7ca4;
	text-transform: uppercase;
}
body.page-browse-photos .gallery-meta .actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 12px;
}
body.page-browse-photos .price-tag {
	font-weight: 700;
	color: #0b2d5b;
}
body.page-browse-photos .save-btn {
	border: none;
	background: #edf5ff;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	color: #0b2d5b;
}
body.page-browse-photos .cta-band {
	background: linear-gradient(135deg, #0b2d5b, #1d5298);
	border-radius: 32px;
	padding: 28px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	color: #fff;
}
body.page-browse-photos .cta-band h3 {
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	letter-spacing: -.06em;
}
body.page-browse-photos .cta-band p {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, .8);
}
body.page-browse-photos .photo-lightbox {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(3, 15, 32, .92);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility .25s ease;
}
body.page-browse-photos .photo-lightbox.is-open {
	opacity: 1;
	visibility: visible;
}
body.page-browse-photos .lightbox-stage {
	position: relative;
	width: min(1080px, 100%);
	display: grid;
	place-items: center;
}
body.page-browse-photos .lightbox-image {
	max-width: calc(100% - 112px);
	max-height: 78vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 14px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
}
body.page-browse-photos .lightbox-close, body.page-browse-photos .lightbox-arrow {
	position: absolute;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .24);
	background: rgba(255, 255, 255, .1);
	color: #fff;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
body.page-browse-photos .lightbox-close:hover, body.page-browse-photos .lightbox-arrow:hover {
	background: #ff8a00;
	transform: translateY(-2px);
}
body.page-browse-photos .lightbox-close {
	top: -54px;
	right: 0;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	font-size: 1.3rem;
}
body.page-browse-photos .lightbox-arrow {
	top: 50%;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	font-size: 1.5rem;
	transform: translateY(-50%);
}
body.page-browse-photos .lightbox-arrow:hover {
	transform: translateY(-52%);
}
body.page-browse-photos .lightbox-prev {
	left: 0;
}
body.page-browse-photos .lightbox-next {
	right: 0;
}
body.page-browse-photos .lightbox-caption {
	position: absolute;
	left: 50%;
	bottom: -54px;
	transform: translateX(-50%);
	width: calc(100% - 112px);
	text-align: center;
	color: rgba(255, 255, 255, .86);
	font: 500 .72rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .08em;
}
body.page-browse-photos.lightbox-open {
	overflow: hidden;
}
@media (max-width: 991px) {
	body.page-browse-photos .gallery-wall {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.page-browse-photos .filter-row {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	body.page-browse-photos .gallery-wall {
		grid-template-columns: 1fr;
	}
	body.page-browse-photos .photo-lightbox {
		padding: 16px;
	}
	body.page-browse-photos .lightbox-image {
		max-width: calc(100% - 76px);
		max-height: 70vh;
	}
	body.page-browse-photos .lightbox-arrow {
		width: 40px;
		height: 40px;
		font-size: 1.2rem;
	}
	body.page-browse-photos .lightbox-caption {
		width: calc(100% - 76px);
		bottom: -42px;
		font-size: .6rem;
	}
	body.page-browse-photos .lightbox-close {
		top: -48px;
	}
}
/* contact.html */

body.page-contact {
	background: #f4f8ff;
}
body.page-contact .contact-hero {
	background: linear-gradient(180deg, #edf5ff 0%, #f4f8ff 100%);
	padding: 84px 0 32px;
}
body.page-contact .contact-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: #eaf1ff;
	color: #0b2d5b;
	font: 500 .68rem 'DM Mono';
	letter-spacing: 1.3px;
	text-transform: uppercase;
}
body.page-contact .contact-hero h1 {
	font-size: clamp(2.8rem, 4.8vw, 4.6rem);
	letter-spacing: -.08em;
	line-height: .9;
	color: #0b2d5b;
	margin: 18px 0 16px;
}
body.page-contact .contact-hero h1 em {
	color: #1d4f8b;
	font-style: normal;
}
body.page-contact .contact-hero p {
	max-width: 620px;
	color: #4e6a88;
	font-size: 1.06rem;
}
body.page-contact .contact-grid {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 28px;
	padding-bottom: 26px;
}
body.page-contact .contact-panel, body.page-contact .info-panel {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 28px;
	box-shadow: 0 12px 28px rgba(11, 45, 91, .06);
	padding: 28px;
}
body.page-contact .panel-label {
	font: 500 .7rem 'DM Mono';
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #1d4f8b;
}
body.page-contact .contact-form {
	margin-top: 18px;
}
body.page-contact .contact-form .row {
	margin-bottom: 16px;
}
body.page-contact .contact-form input, body.page-contact .contact-form textarea, body.page-contact .contact-form select {
	width: 100%;
	border: 1px solid rgba(11, 45, 91, .12);
	border-radius: 16px;
	padding: 14px 16px;
	background: #f8faff;
	color: #0b2d5b;
}
body.page-contact .contact-form textarea {
	min-height: 160px;
}
body.page-contact .contact-form button {
	border: none;
	background: linear-gradient(135deg, #0b2d5b, #1d4f8b);
	color: #fff;
	border-radius: 999px;
	padding: 14px 22px;
}
body.page-contact .info-stack {
	display: grid;
	gap: 14px;
}
body.page-contact .info-item {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 18px;
	background: #f4f8ff;
	border-radius: 18px;
}
body.page-contact .info-item i {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: #eaf2ff;
	display: grid;
	place-items: center;
	font-size: 1.4rem;
	color: #0b2d5b;
}
body.page-contact .info-item strong {
	display: block;
	color: #0b2d5b;
}
body.page-contact .info-item span {
	color: #56729d;
}
body.page-contact .support-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 30px;
}
body.page-contact .support-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	padding: 22px;
	box-shadow: 0 10px 22px rgba(11, 45, 91, .04);
}
body.page-contact .support-card i {
	color: #ff8a00;
	font-size: 1.5rem;
}
body.page-contact .support-card h4 {
	margin: 16px 0 10px;
	font-size: 1.25rem;
	color: #0b2d5b;
}
body.page-contact .support-card p {
	margin: 0;
	color: #58739b;
}
body.page-contact .faq-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 18px;
}
body.page-contact .faq-item {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	padding: 22px;
}
body.page-contact .faq-item i {
	color: #ff8a00;
	font-size: 1.4rem;
}
body.page-contact .faq-item h4 {
	color: #0b2d5b;
	font-size: 1.2rem;
	margin: 12px 0;
}
body.page-contact .faq-item p {
	margin: 0;
	color: #58739b;
}
body.page-contact .cta-panel {
	margin-top: 30px;
	border-radius: 28px;
	background: linear-gradient(135deg, #0b2d5b, #1d5298);
	padding: 32px;
	color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
body.page-contact .cta-panel h3 {
	margin: 0;
	font-size: clamp(2rem, 3vw, 2.8rem);
	letter-spacing: -.07em;
}
body.page-contact .cta-panel p {
	margin: 8px 0 0;
	color: rgba(255, 255, 255, .8);
}
@media (max-width: 991px) {
	body.page-contact .contact-grid, body.page-contact .support-grid, body.page-contact .faq-grid {
		grid-template-columns: 1fr;
	}
}
/* event-details.html */

body.page-event-details {
	background: #f4f8ff;
}
body.page-event-details .detail-hero {
	background: linear-gradient(135deg, rgba(6, 54, 108, .96), rgba(26, 76, 146, .82)), url('https://images.unsplash.com/photo-1552674605-db6ffd4facb5?auto=format&fit=crop&w=1800&q=85') center/cover;
	color: #fff;
	padding: 92px 0 76px;
}
body.page-event-details .detail-hero .container-xl {
	max-width: 1180px;
}
body.page-event-details .hero-kicker, body.page-event-details .section-kicker {
	font: 500 .68rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-event-details .hero-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 999px;
	color: #dfeafe;
	background: rgba(255, 255, 255, .08);
}
body.page-event-details .hero-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 6px rgba(34, 197, 94, .16);
}
body.page-event-details .detail-hero h1 {
	max-width: 780px;
	margin: 20px 0 16px;
	font-size: clamp(3rem, 7vw, 6.4rem);
	line-height: .88;
	letter-spacing: -.08em;
}
body.page-event-details .detail-hero h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-event-details .detail-hero p {
	max-width: 650px;
	margin: 0;
	color: rgba(255, 255, 255, .82);
	font-size: 1.06rem;
	line-height: 1.7;
}
body.page-event-details .hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}
body.page-event-details .meta-pill {
	padding: 9px 14px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	color: #dfeafe;
}
body.page-event-details .hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}
body.page-event-details .detail-section {
	padding: 80px 0;
}
body.page-event-details .detail-section {
	background: #fff;
}
body.page-event-details .detail-section.alt {
	background: #eef4fb;
}
body.page-event-details .section-heading {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}
body.page-event-details .section-kicker {
	color: #1d4f8b;
}
body.page-event-details .section-title {
	margin: 8px 0 0;
	color: #0b2d5b;
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: .96;
	letter-spacing: -.07em;
}
body.page-event-details .section-link {
	color: #1d4f8b;
	font-weight: 700;
	text-decoration: none;
}
body.page-event-details .overview-grid {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 30px;
	align-items: start;
}
body.page-event-details .overview-copy p {
	max-width: 680px;
	color: #536d8d;
	font-size: 1.04rem;
	line-height: 1.8;
}
body.page-event-details .overview-copy p+p {
	margin-top: 14px;
}
body.page-event-details .facts {
	border-top: 1px solid rgba(11, 45, 91, .15);
}
body.page-event-details .fact-row {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 15px 0;
	border-bottom: 1px solid rgba(11, 45, 91, .12);
	color: #6881a8;
}
body.page-event-details .fact-row strong {
	color: #0b2d5b;
	text-align: right;
}
body.page-event-details .venue-layout {
	display: grid;
	grid-template-columns: .95fr 1.05fr;
	gap: 30px;
	margin-top: 46px;
	align-items: center;
}
body.page-event-details .map-frame {
	min-height: 330px;
	overflow: hidden;
	border-radius: 20px;
	background: #dceaf3;
	box-shadow: 0 16px 30px rgba(11, 45, 91, .1);
}
body.page-event-details .map-frame iframe {
	width: 100%;
	height: 100%;
	min-height: 330px;
	border: 0;
	display: block;
}
body.page-event-details .venue-copy {
	min-height: 330px;
	padding: 30px;
	border: 1px solid rgba(11, 45, 91, .08);
	background: #f8fbff;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
body.page-event-details .venue-copy h3 {
	color: #0b2d5b;
	font-size: 1.7rem;
	letter-spacing: -.05em;
}
body.page-event-details .venue-copy p {
	color: #536d8d;
	line-height: 1.75;
}
body.page-event-details .venue-list {
	display: grid;
	gap: 14px;
	margin-top: 22px;
}
body.page-event-details .venue-list div {
	display: flex;
	gap: 12px;
	color: #0b2d5b;
	font-weight: 600;
}
body.page-event-details .venue-list i {
	color: #ff8a00;
}
body.page-event-details .gallery-frame {
	padding: 16px;
	border: 1px solid rgba(11, 45, 91, .1);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 16px 34px rgba(11, 45, 91, .08);
}
body.page-event-details .gallery-grid {
	display: grid;
	grid-template-columns: 1.35fr .65fr;
	gap: 14px;
}
body.page-event-details .gallery-grid img {
	width: 100%;
	object-fit: cover;
	cursor: zoom-in;
	transition: transform .3s ease, filter .3s ease;
}
body.page-event-details .gallery-grid img:hover {
	transform: scale(1.025);
	filter: saturate(1.08);
}
body.page-event-details .gallery-main {
	height: 480px;
	border-radius: 16px;
}
body.page-event-details .gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}
body.page-event-details .gallery-thumbs img {
	height: 233px;
	border-radius: 16px;
}
body.page-event-details .review-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
body.page-event-details .review-card {
	padding: 4px 0 0;
	border-top: 2px solid #ff8a00;
}
body.page-event-details .review-stars {
	margin-top: 18px;
	color: #ff8a00;
	letter-spacing: 2px;
}
body.page-event-details .review-card blockquote {
	margin: 16px 0;
	color: #536d8d;
	line-height: 1.75;
}
body.page-event-details .review-person {
	color: #0b2d5b;
	font-weight: 700;
}
body.page-event-details .review-person span {
	color: #6881a8;
	font-weight: 400;
	font-size: .85rem;
}
body.page-event-details .related-shell {
	overflow: hidden;
}
body.page-event-details .related-track {
	display: flex;
	gap: 20px;
	transition: transform .35s ease;
}
body.page-event-details .related-card {
	flex: 0 0 calc((100% - 40px) / 3);
	overflow: hidden;
	border-radius: 18px;
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .1);
}
body.page-event-details .related-card img {
	width: 100%;
	height: 190px;
	object-fit: cover;
	display: block;
}
body.page-event-details .related-body {
	padding: 18px;
}
body.page-event-details .related-body h3 {
	margin: 9px 0 5px;
	color: #0b2d5b;
	font-size: 1.35rem;
	letter-spacing: -.04em;
}
body.page-event-details .related-body p {
	margin: 0;
	color: #6881a8;
}
body.page-event-details .tag {
	display: inline-block;
	color: #0f766e;
	background: #ecfdf5;
	border-radius: 999px;
	padding: 5px 9px;
	font: 500 .64rem 'DM Mono';
	text-transform: uppercase;
}
body.page-event-details .carousel-controls {
	display: flex;
	gap: 8px;
}
body.page-event-details .carousel-button {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(11, 45, 91, .16);
	border-radius: 50%;
	background: #fff;
	color: #0b2d5b;
}
body.page-event-details .carousel-button:hover:not(:disabled) {
	background: #0b2d5b;
	color: #fff;
}
body.page-event-details .carousel-button:disabled {
	opacity: .35;
	cursor: not-allowed;
}
body.page-event-details .related-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 48px;
	padding: 28px 32px;
	border-radius: 24px;
	background: linear-gradient(135deg, #0b2d5b, #1d5298);
	color: #fff;
}
body.page-event-details .related-cta h3 {
	margin: 4px 0 0;
	font-size: clamp(1.7rem, 3vw, 2.5rem);
	letter-spacing: -.06em;
}
body.page-event-details .related-cta p {
	margin: 6px 0 0;
	color: rgba(255, 255, 255, .78);
}
body.page-event-details .related-cta .section-kicker {
	color: #dfeafe;
}
body.page-event-details .detail-lightbox {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(3, 15, 32, .94);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility .25s ease;
}
body.page-event-details .detail-lightbox.is-open {
	opacity: 1;
	visibility: visible;
}
body.page-event-details .lightbox-stage {
	position: relative;
	width: min(1120px, 100%);
	display: grid;
	place-items: center;
}
body.page-event-details .lightbox-image {
	max-width: calc(100% - 116px);
	max-height: 78vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 16px;
	box-shadow: 0 20px 65px rgba(0, 0, 0, .42);
}
body.page-event-details .lightbox-close, body.page-event-details .lightbox-arrow {
	position: absolute;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .24);
	background: rgba(255, 255, 255, .1);
	color: #fff;
	cursor: pointer;
}
body.page-event-details .lightbox-close:hover, body.page-event-details .lightbox-arrow:hover {
	background: #ff8a00;
}
body.page-event-details .lightbox-close {
	top: -54px;
	right: 0;
	width: 42px;
	height: 42px;
	border-radius: 50%;
}
body.page-event-details .lightbox-arrow {
	top: 50%;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	transform: translateY(-50%);
	font-size: 1.4rem;
}
body.page-event-details .lightbox-prev {
	left: 0;
}
body.page-event-details .lightbox-next {
	right: 0;
}
body.page-event-details .lightbox-caption {
	position: absolute;
	bottom: -52px;
	left: 50%;
	width: calc(100% - 116px);
	transform: translateX(-50%);
	color: rgba(255, 255, 255, .86);
	text-align: center;
	font: 500 .68rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.page-event-details.lightbox-open {
	overflow: hidden;
}
@media (max-width: 991px) {
	body.page-event-details .overview-grid, body.page-event-details .venue-layout {
		grid-template-columns: 1fr;
	}
	body.page-event-details .review-grid {
		grid-template-columns: 1fr 1fr;
	}
	body.page-event-details .related-card {
		flex-basis: calc((100% - 20px) / 2);
	}
}
@media (max-width: 575px) {
	body.page-event-details .detail-section {
		padding: 58px 0;
	}
	body.page-event-details .gallery-grid {
		grid-template-columns: 1fr;
	}
	body.page-event-details .gallery-main {
		height: 300px;
	}
	body.page-event-details .gallery-thumbs img {
		height: 150px;
	}
	body.page-event-details .review-grid {
		grid-template-columns: 1fr;
	}
	body.page-event-details .related-card {
		flex-basis: 100%;
	}
	body.page-event-details .related-cta {
		align-items: flex-start;
		flex-direction: column;
	}
	body.page-event-details .lightbox-image {
		max-width: calc(100% - 76px);
		max-height: 70vh;
	}
	body.page-event-details .lightbox-arrow {
		width: 40px;
		height: 40px;
	}
	body.page-event-details .lightbox-caption {
		width: calc(100% - 76px);
		bottom: -42px;
		font-size: .58rem;
	}
	body.page-event-details .lightbox-close {
		top: -48px;
	}
}
/* events.html */

body.page-events {
	background: #f4f8ff;
}
body.page-events .events-page-hero {
	background: linear-gradient(135deg, rgba(11, 45, 91, 0.96), rgba(18, 66, 115, 0.87)), url("https://images.unsplash.com/photo-1547347298-4074fc3086f0?auto=format&fit=crop&w=1800&q=80") center/cover no-repeat;
	color: #fff;
	padding: 90px 0 70px;
	position: relative;
	overflow: hidden;
}
body.page-events .events-page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top right, rgba(34, 197, 94, .18), transparent 28%);
}
body.page-events .events-page-hero .container-xl {
	position: relative;
	z-index: 1;
}
body.page-events .section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .14);
	font: 500 .68rem 'DM Mono';
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #dfeafe;
}
body.page-events .live-dot {
	width: 10px;
	height: 10px;
	display: inline-block;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 7px rgba(34, 197, 94, .18);
}
body.page-events .events-page-hero h1 {
	font-size: clamp(2.8rem, 5vw, 5.6rem);
	line-height: .9;
	letter-spacing: -.08em;
	margin: 18px 0 16px;
	max-width: 760px;
}
body.page-events .events-page-hero h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-events .events-page-hero p {
	max-width: 620px;
	color: rgba(255, 255, 255, .8);
	font-size: 1.08rem;
}
body.page-events .hero-actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 26px;
}
body.page-events .stats-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin-top: 34px;
}
body.page-events .stat-box {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 15px;
	padding: 18px 20px;
	backdrop-filter: blur(6px);
}
body.page-events .stat-box span {
	display: block;
	font: 500 .68rem 'DM Mono';
	color: rgba(255, 255, 255, .72);
	text-transform: uppercase;
}
body.page-events .stat-box strong {
	display: block;
	margin-top: 8px;
	font-size: clamp(1.6rem, 2vw, 2.2rem);
}
body.page-events .search-wrap {
	margin-top: -26px;
	position: relative;
	z-index: 2;
}
body.page-events .search-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 15px;
	box-shadow: 0 18px 40px rgba(11, 45, 91, .12);
	padding: 22px;
}
body.page-events .search-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr auto;
	gap: 12px;
}
body.page-events .search-grid input, body.page-events .search-grid select, body.page-events .search-grid button {
	height: 58px;
	border-radius: 12px;
	border: 1px solid rgba(11, 45, 91, .12);
	background: #f8faff;
	color: #0b2d5b;
	padding: 0 16px;
}
body.page-events .search-grid button {
	background: linear-gradient(135deg, #0b2d5b, #1d4f8b);
	color: white;
	border: none;
	min-width: 150px;
}
body.page-events .content-section {
	padding: 86px 0;
}
body.page-events .section-header {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 26px;
}
body.page-events .section-title {
	font-size: clamp(2rem, 3vw, 3rem);
	letter-spacing: -.06em;
	color: #0b2d5b;
	margin: 8px 0 0;
}
body.page-events .inline-link {
	color: #1d4f8b;
	text-decoration: none;
	font-weight: 700;
}
body.page-events .event-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}
body.page-events .event-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(11, 45, 91, .05);
	transition: transform .25s ease, box-shadow .25s ease;
}
body.page-events .event-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 42px rgba(11, 45, 91, .1);
}
body.page-events .event-card img {
	width: 100%;
	height: 250px;
	object-fit: cover;
	display: block;
	transition: transform .35s ease;
}
body.page-events .event-card>a {
	overflow: hidden;
}
body.page-events .event-card:hover img {
	transform: scale(1.045);
}
body.page-events .event-card .body {
	padding: 22px;
}
body.page-events .meta-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}
body.page-events .tag {
	display: inline-flex;
	padding: 6px 10px;
	border-radius: 999px;
	background: #ecfdf5;
	color: #0f766e;
	font: 500 .66rem 'DM Mono';
	text-transform: uppercase;
}
body.page-events .date {
	font: 500 .66rem 'DM Mono';
	color: #56729d;
	text-transform: uppercase;
}
body.page-events .event-card h3 {
	margin: 14px 0 8px;
	font-size: 1.7rem;
	letter-spacing: -.05em;
	color: #0b2d5b;
}
body.page-events .event-card p {
	margin: 0;
	color: #4d6788;
}
body.page-events .card-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 18px;
}
body.page-events .price {
	font-weight: 700;
	color: #0b2d5b;
}
body.page-events .cta {
	background: #edf4ff;
	border: none;
	border-radius: 999px;
	padding: 10px 16px;
	color: #0b2d5b;
	font-weight: 700;
}
body.page-events .sports-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}
body.page-events .sport-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	padding: 26px 20px;
	min-height: 220px;
	position: relative;
	overflow: hidden;
}
body.page-events .sport-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 8px;
	background: linear-gradient(90deg, #22c55e, #67e8f9, #facc15);
}
body.page-events .sport-icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: #eaf3ff;
	color: #0b2d5b;
	font-size: 1.5rem;
}
body.page-events .sport-card h3 {
	margin-top: 18px;
	font-size: 1.45rem;
	color: #0b2d5b;
}
body.page-events .sport-card p {
	margin: 8px 0 0;
	color: #56729d;
}
body.page-events .feature-band {
	background: linear-gradient(135deg, #0b2d5b, #123d72);
	border-radius: 30px;
	padding: 28px;
	color: #fff;
}
body.page-events .feature-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
body.page-events .feature-item {
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 15px;
	padding: 20px;
}
body.page-events .feature-item i {
	font-size: 1.5rem;
	color: #ff8a00;
}
body.page-events .feature-item h4 {
	margin: 16px 0 8px;
	color: #fff;
	font-size: 1.2rem;
}
body.page-events .feature-item p {
	color: rgba(255, 255, 255, .74);
	margin: 0;
}
body.page-events .event-list-wrapper {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}
body.page-events .event-list-item {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 15px;
	padding: 18px;
	box-shadow: 0 8px 20px rgba(11, 45, 91, .04);
}
body.page-events .event-list-item .mini-thumb {
	width: 100%;
	height: 180px;
	border-radius: 12px;
	object-fit: cover;
	display: block;
	margin-bottom: 16px;
}
body.page-events .event-list-item .top-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
body.page-events .event-list-item .location {
	color: #58729d;
	font-size: .9rem;
}
body.page-events .event-list-item h3 {
	font-size: 1.5rem;
	letter-spacing: -.05em;
	color: #0b2d5b;
	margin: 12px 0 8px;
}
body.page-events .event-list-item p {
	margin: 0 0 12px;
	color: #58729d;
}
body.page-events .event-list-item .foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
body.page-events .event-list-item .mini-thumb {
	transition: transform .35s ease, filter .35s ease;
}
body.page-events .event-list-item:hover .mini-thumb {
	transform: scale(1.04);
	filter: saturate(1.08);
}
body.page-events .event-list-item {
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}
body.page-events .event-list-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 36px rgba(11, 45, 91, .1);
}
body.page-events .cta-panel {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 28px;
	padding: 28px 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	box-shadow: 0 10px 28px rgba(11, 45, 91, .06);
}
body.page-events .cta-panel h3 {
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	letter-spacing: -.07em;
	color: #0b2d5b;
}
body.page-events .cta-panel p {
	margin: 6px 0 0;
	color: #53719d;
}

/* membership.html */
body.page-membership {
	background: #f4f8ff;
	color: #0b2d5b;
}
body.page-membership .membership-page-hero {
	background: linear-gradient(135deg, rgba(11, 45, 91, 0.96), rgba(18, 66, 115, 0.87));
	color: #fff;
	padding: 90px 0 70px;
	position: relative;
	overflow: hidden;
}
body.page-membership .membership-page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top right, rgba(34, 197, 94, .18), transparent 28%);
}
body.page-membership .membership-page-hero .container-xl {
	position: relative;
	z-index: 1;
}
body.page-membership .section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .14);
	font: 500 .68rem 'DM Mono';
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #dfeafe;
}
body.page-membership .section-kicker-dark {
	background: #eaf3ff;
	border-color: rgba(11, 45, 91, .08);
	color: #0b2d5b;
}
body.page-membership .live-dot {
	width: 10px;
	height: 10px;
	display: inline-block;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 7px rgba(34, 197, 94, .18);
}
body.page-membership .membership-page-hero h1 {
	font-size: clamp(2.8rem, 5vw, 5.2rem);
	line-height: .9;
	letter-spacing: -.08em;
	margin: 18px 0 16px;
	max-width: 760px;
}
body.page-membership .membership-page-hero p {
	max-width: 620px;
	color: rgba(255, 255, 255, .8);
	font-size: 1.08rem;
}
body.page-membership .hero-actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 26px;
}
body.page-membership .stats-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin-top: 34px;
}
body.page-membership .stat-box {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 15px;
	padding: 18px 20px;
	backdrop-filter: blur(6px);
}
body.page-membership .stat-box span {
	display: block;
	font: 500 .68rem 'DM Mono';
	color: rgba(255, 255, 255, .72);
	text-transform: uppercase;
}
body.page-membership .stat-box strong {
	display: block;
	margin-top: 8px;
	font-size: clamp(1.6rem, 2vw, 2.2rem);
}
body.page-membership .content-section {
	padding: 86px 0;
}
body.page-membership .section-header {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 26px;
}
body.page-membership .section-title {
	font-size: clamp(2rem, 3vw, 3rem);
	letter-spacing: -.06em;
	color: #0b2d5b;
	margin: 8px 0 0;
}
body.page-membership .inline-link {
	color: #1d4f8b;
	text-decoration: none;
	font-weight: 700;
}
body.page-membership .pricing-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}
body.page-membership .pricing-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	padding: 24px 22px;
	box-shadow: 0 12px 26px rgba(11, 45, 91, .05);
	display: flex;
	flex-direction: column;
	min-height: 100%;
}
body.page-membership .pricing-card-featured {
	background: linear-gradient(180deg, #0b2d5b 0%, #123d72 100%);
	color: #fff;
	transform: translateY(-8px);
	box-shadow: 0 32px 52px rgba(11, 45, 91, .18);
}
body.page-membership .pricing-card-custom {
	background: linear-gradient(180deg, #111827 0%, #1f2937 100%);
	color: #fff;
}
body.page-membership .pricing-badge-row {
	margin-bottom: 16px;
}
body.page-membership .pricing-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 10px;
	border-radius: 999px;
	background: rgba(11, 45, 91, .08);
	color: #0b2d5b;
	font: 500 .66rem 'DM Mono';
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
body.page-membership .pricing-card-featured .pricing-badge,
body.page-membership .pricing-card-custom .pricing-badge {
	background: rgba(255,255,255,.12);
	color: #fff;
}
body.page-membership .pricing-card h3 {
	font-size: 1.9rem;
	letter-spacing: -.06em;
	margin: 0;
}
body.page-membership .price-line {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 18px 0;
}
body.page-membership .price-line strong {
	font-size: clamp(2rem, 2.6vw, 2rem);
	letter-spacing: -.06em;
}
body.page-membership .price-line span {
	color: #58729d;
	font-weight: 600;
}
body.page-membership .pricing-card-featured .price-line span,
body.page-membership .pricing-card-custom .price-line span {
	color: rgba(255,255,255,.72);
}
body.page-membership .pricing-copy {
	margin: 0 0 18px;
	color: #58729d;
	line-height: 1.6;
}
body.page-membership .pricing-card-featured .pricing-copy,
body.page-membership .pricing-card-custom .pricing-copy {
	color: rgba(255,255,255,.74);
}
body.page-membership .pricing-card ul {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: grid;
	gap: 11px;
}
body.page-membership .pricing-card li {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #234a7b;
	font-weight: 500;
}
body.page-membership .pricing-card-featured li,
body.page-membership .pricing-card-custom li {
	color: rgba(255,255,255,.9);
}
body.page-membership .pricing-card i {
	color: #22c55e;
	font-size: 1.1rem;
}
body.page-membership .pricing-card-featured i,
body.page-membership .pricing-card-custom i {
	color: #8ae9b5;
}
body.page-membership .pricing-card .btn {
	margin-top: auto;
}
body.page-membership .alternate-section {
	background: rgba(230,240,255,.75);
}
body.page-membership .feature-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
body.page-membership .feature-item {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 18px;
	padding: 24px 20px;
}
body.page-membership .feature-item i {
	font-size: 1.6rem;
	color: #ff8a00;
}
body.page-membership .feature-item h4 {
	margin: 18px 0 8px;
	font-size: 1.2rem;
	color: #0b2d5b;
}
body.page-membership .feature-item p {
	margin: 0;
	color: #58729d;
	line-height: 1.6;
}
body.page-membership .compare-shell {
	background: #fff;
	border: 1px solid rgba(11,45,91,.08);
	border-radius: 24px;
	padding: 28px;
	box-shadow: 0 12px 26px rgba(11,45,91,.04);
}
body.page-membership .compare-header {
	margin-bottom: 18px;
}
body.page-membership .pricing-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 12px;
}
body.page-membership .pricing-table th,
body.page-membership .pricing-table td {
	padding: 16px 14px;
	text-align: left;
	border-bottom: 1px solid rgba(11,45,91,.08);
	color: #234a7b;
}
body.page-membership .pricing-table thead th {
	font: 500 .68rem 'DM Mono';
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #56729d;
}
body.page-membership .pricing-table td:first-child {
	font-weight: 600;
	color: #0b2d5b;
}
body.page-membership .pricing-table i {
	color: #22c55e;
	font-size: 1.15rem;
}
body.page-membership .faq-shell {
	background: rgba(255,255,255,.75);
	border: 1px solid rgba(11,45,91,.08);
	border-radius: 24px;
	padding: 28px;
}
body.page-membership .faq-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
body.page-membership .faq-item {
	background: #fff;
	border: 1px solid rgba(11,45,91,.08);
	border-radius: 18px;
	padding: 22px 18px;
}
body.page-membership .faq-item h4 {
	margin: 0 0 9px;
	font-size: 1.2rem;
	color: #0b2d5b;
}
body.page-membership .faq-item p {
	margin: 0;
	color: #58729d;
	line-height: 1.6;
}
@media (max-width: 991px) {
	body.page-events .event-grid, body.page-events .sports-grid, body.page-events .feature-grid, body.page-events .event-list-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.page-events .search-grid {
		grid-template-columns: 1fr;
	}
	body.page-events .stats-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.page-membership .pricing-grid,
	body.page-membership .feature-grid,
	body.page-membership .faq-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.page-membership .stats-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 575px) {
	body.page-events .event-grid, body.page-events .sports-grid, body.page-events .feature-grid, body.page-events .event-list-wrapper, body.page-events .stats-row {
		grid-template-columns: 1fr;
	}
	body.page-events .events-page-hero {
		padding-top: 74px;
	}
	body.page-events .cta-panel {
		padding: 22px;
	}
	body.page-membership .membership-page-hero {
		padding-top: 74px;
	}
	body.page-membership .pricing-grid,
	body.page-membership .feature-grid,
	body.page-membership .faq-grid,
	body.page-membership .stats-row {
		grid-template-columns: 1fr;
	}
	body.page-membership .compare-shell,
	body.page-membership .faq-shell {
		padding: 20px 18px;
	}
}
/* photographer-bookings.html */

body.page-photographer-bookings {
	background: #eef5ff;
	color: #0b2d5b;
}
body.page-photographer-bookings .photographer-shell {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 28px;
	padding-top: 28px;
	padding-bottom: 50px;
}
body.page-photographer-bookings .photographer-sidebar {
	background: linear-gradient(180deg, #0b2d5b 0%, #112d52 100%);
	padding: 24px 16px 18px;
	box-shadow: 0 20px 40px rgba(11, 45, 91, .12);
}
body.page-photographer-bookings .photographer-sidebar .eyebrow-blue {
	color: #9cc2eb;
}
body.page-photographer-bookings .photographer-sidebar h1 {
	color: #fff;
	font-size: 2.15rem;
	line-height: .9;
	letter-spacing: -.08em;
	margin: 12px 0 26px;
}
body.page-photographer-bookings .photographer-sidebar h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographer-bookings .workspace-nav {
	display: grid;
	gap: 8px;
}
body.page-photographer-bookings .workspace-nav-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 12px;
	border-left: 2px solid transparent;
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font-size: .8rem;
}
body.page-photographer-bookings .workspace-nav-link i {
	width: 18px;
	font-size: 1rem;
}
body.page-photographer-bookings .workspace-nav-link b {
	margin-left: auto;
	background: rgba(34, 197, 94, .15);
	color: #dcfce7;
	padding: 4px 6px;
	font: 500 .58rem 'DM Mono';
}
body.page-photographer-bookings .workspace-nav-link.active, body.page-photographer-bookings .workspace-nav-link:hover {
	background: rgba(255, 255, 255, .07);
	color: #fff;
	border-left-color: #ff8a00;
}
body.page-photographer-bookings .workspace-side-note {
	display: flex;
	gap: 10px;
	margin-top: 26px;
	padding: 14px 12px;
	border-left: 3px solid #22c55e;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	border-radius: 14px;
}
body.page-photographer-bookings .workspace-side-note strong {
	display: block;
	font-size: .7rem;
}
body.page-photographer-bookings .workspace-side-note span {
	display: block;
	margin-top: 4px;
	color: rgba(232, 241, 255, .8);
	font-size: .64rem;
	line-height: 1.4;
}
body.page-photographer-bookings .workspace-logout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-bookings .workspace-main {
	background: rgba(255, 255, 255, .75);
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 30px;
	padding: 26px 28px 18px;
}
body.page-photographer-bookings .workspace-topbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 24px;
}
body.page-photographer-bookings .workspace-topbar h2 {
	font-size: clamp(2.1rem, 3vw, 3rem);
	line-height: .92;
	letter-spacing: -.08em;
	margin: 8px 0 0;
}
body.page-photographer-bookings .btn-lime {
	background: #d9fbe5;
	color: #0b2d5b;
	border: none;
	font-weight: 600;
}
body.page-photographer-bookings .booking-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}
body.page-photographer-bookings .filter-pill {
	border: 1px solid rgba(11, 45, 91, .12);
	border-radius: 999px;
	background: #fff;
	color: #0b2d5b;
	padding: 8px 12px;
	font: 500 .64rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-bookings .filter-pill.active {
	background: #0b2d5b;
	color: #fff;
}
body.page-photographer-bookings .table-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	overflow: hidden;
}
body.page-photographer-bookings .booking-row {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr .8fr;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border-bottom: 1px solid rgba(11, 45, 91, .08);
}
body.page-photographer-bookings .booking-row:last-child {
	border-bottom: none;
}
body.page-photographer-bookings .booking-main {
	display: flex;
	align-items: center;
	gap: 14px;
}
body.page-photographer-bookings .booking-main img {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	object-fit: cover;
}
body.page-photographer-bookings .booking-main strong {
	display: block;
	font-size: .97rem;
}
body.page-photographer-bookings .booking-main span {
	display: block;
	margin-top: 4px;
	color: #59708f;
	font-size: .74rem;
}
body.page-photographer-bookings .table-label {
	color: #59708f;
	font: 500 .6rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
	margin-bottom: 4px;
}
body.page-photographer-bookings .table-value {
	font-size: .83rem;
}
body.page-photographer-bookings .status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 96px;
	padding: 9px 10px;
	border-radius: 999px;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.page-photographer-bookings .status.confirmed {
	background: #e7f9ee;
	color: #0e8f51;
}
body.page-photographer-bookings .status.pending {
	background: #fff3db;
	color: #b96b00;
}
body.page-photographer-bookings .status.action {
	background: rgba(255, 138, 0, .12);
	color: #b86f00;
}
body.page-photographer-bookings .mini-btn {
	border: 1px solid rgba(11, 45, 91, .12);
	background: #f5f9ff;
	color: #0b2d5b;
	border-radius: 12px;
	padding: 8px 10px;
	font: 500 .65rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
}

@media (max-width: 991px) {
	body.page-photographer-bookings .photographer-shell {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	body.page-photographer-bookings .workspace-main {
		padding: 18px 16px 12px;
	}
	body.page-photographer-bookings .booking-row {
		grid-template-columns: 1fr;
	}
}
/* photographer-dashboard.html */

body.page-photographer-dashboard.photographer-dashboard-page {
	background: linear-gradient(180deg, #edf5ff 0%, #f7f9fc 100%);
	color: #0b2d5b;
}
body.page-photographer-dashboard .photographer-dash .workspace-layout {
	grid-template-columns: 250px minmax(0, 1fr);
}
body.page-photographer-dashboard .photographer-dash .workspace-sidebar {
	background: linear-gradient(180deg, #0b2d5b 0%, #112e53 100%);
	min-height: auto;
	box-shadow: 0 22px 42px rgba(11, 45, 91, 0.14);
}
body.page-photographer-dashboard .photographer-dash .workspace-greeting {
	padding: 0 6px;
}
body.page-photographer-dashboard .photographer-dash .eyebrow-blue {
	color: #93b9dd;
	letter-spacing: .12em;
}
body.page-photographer-dashboard .photographer-dash .workspace-greeting h1 {
	color: #fff;
	margin: 14px 0 28px;
	font-size: 2.15rem;
}
body.page-photographer-dashboard .photographer-dash .workspace-nav {
	gap: 10px;
}
body.page-photographer-dashboard .photographer-dash .workspace-nav-link {
	color: rgba(232, 241, 255, .82);
	border-left-color: transparent;
	background: rgba(255, 255, 255, .02);
	transition: all .2s ease;
}
body.page-photographer-dashboard .photographer-dash .workspace-nav-link:hover, body.page-photographer-dashboard .photographer-dash .workspace-nav-link.active {
	background: rgba(255, 255, 255, .1);
	color: #fff;
	border-color: rgba(255, 255, 255, .1);
	border-left-color: #ff8a00;
	transform: translateX(3px);
}
body.page-photographer-dashboard .photographer-dash .workspace-nav-link b {
	background: rgba(34, 197, 94, .16);
	color: #d9fbe5;
}
body.page-photographer-dashboard .photographer-dash .workspace-side-note {
	position: relative;
	z-index: 1;
	margin-top: auto;
	padding: 16px 13px;
	background: rgba(34, 197, 94, .12);
	border: 1px solid rgba(34, 197, 94, .28);
	border-left: 3px solid #22c55e;
}
body.page-photographer-dashboard .photographer-dash .workspace-side-note strong, body.page-photographer-dashboard .photographer-dash .workspace-side-note span {
	color: #fff;
}
body.page-photographer-dashboard .photographer-dash .workspace-logout {
	color: rgba(232, 241, 255, .82);
	font-size: .62rem;
	letter-spacing: .1em;
}
body.page-photographer-dashboard .photographer-dash .workspace-view-header {
	align-items: center;
	margin-bottom: 20px;
}
body.page-photographer-dashboard .photographer-dash .workspace-view-header h2 {
	font-size: clamp(2rem, 3vw, 2.9rem);
	letter-spacing: -.06em;
}
body.page-photographer-dashboard .photographer-dash .summary-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 26px;
}
body.page-photographer-dashboard .summary-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, 0.08);
	/*border-radius: 20px;*/
	padding: 18px 18px 14px;
	

    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(11, 45, 91, .04);
}
body.page-photographer-dashboard .summary-card .card-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 500 .56rem 'DM Mono';
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #59708f;
	margin-bottom: 14px;
}
body.page-photographer-dashboard .summary-card strong {
	display: block;
	font-size: 1.9rem;
	line-height: 1;
	letter-spacing: -.06em;
	margin-bottom: 8px;
}
body.page-photographer-dashboard .summary-card small {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	color: #59708f;
	font-size: .72rem;
}
body.page-photographer-dashboard .summary-card i {
	font-size: 1.15rem;
	color: #ff8a00;
}
body.page-photographer-dashboard .summary-card.accent {
	background: linear-gradient(135deg, #fdf7ef 0%, #fff 100%);
	border-color: rgba(255, 138, 0, .18);
}
body.page-photographer-dashboard .dashboard-grid {
	display: grid;
	grid-template-columns: 1.4fr .9fr;
	gap: 20px;
	margin-bottom: 24px;
}
body.page-photographer-dashboard .panel {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	padding: 20px;
	box-shadow: 0 12px 22px rgba(11, 45, 91, .04);
}
body.page-photographer-dashboard .panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
}
body.page-photographer-dashboard .panel-head h3 {
	margin: 8px 0 0;
	font-size: 1.4rem;
	letter-spacing: -.05em;
}
body.page-photographer-dashboard .plain-action {
	color: #0b2d5b;
	font: 500 .68rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.page-photographer-dashboard .booking-list, body.page-photographer-dashboard .review-list, body.page-photographer-dashboard .task-list {
	display: grid;
	gap: 12px;
}
body.page-photographer-dashboard .booking-item, body.page-photographer-dashboard .review-item, body.page-photographer-dashboard .task-item {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 14px;
	padding: 12px 12px;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 16px;
	background: #f9fbfe;
}
body.page-photographer-dashboard .booking-date {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #edf5ff;
	color: #0b2d5b;
	text-align: center;
}
body.page-photographer-dashboard .booking-date strong {
	display: block;
	font-size: 1.15rem;
	line-height: 1;
	letter-spacing: -.06em;
}
body.page-photographer-dashboard .booking-date span {
	display: block;
	font: 500 .52rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #59708f;
	margin-top: 5px;
}
body.page-photographer-dashboard .booking-meta strong, body.page-photographer-dashboard .review-meta strong, body.page-photographer-dashboard .task-text strong {
	display: block;
	font-size: .95rem;
	margin-bottom: 4px;
}
body.page-photographer-dashboard .booking-meta span, body.page-photographer-dashboard .review-meta span, body.page-photographer-dashboard .task-text span, body.page-photographer-dashboard .task-text small {
	color: #59708f;
	font-size: .74rem;
}
body.page-photographer-dashboard .tag {
	display: inline-flex;
	align-items: center;
	padding: 7px 10px;
	border-radius: 999px;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
	background: #eaf5ef;
	color: #0e8f51;
}
body.page-photographer-dashboard .tag.pending {
	background: #fff3db;
	color: #b66d00;
}
body.page-photographer-dashboard .tag.alert {
	background: rgba(255, 138, 0, .12);
	color: #b86f00;
}
body.page-photographer-dashboard .gallery-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 10px;
}
body.page-photographer-dashboard .gallery-card {
	position: relative;
	overflow: hidden;
	border-radius: 18px;
	min-height: 150px;
	background: #dfeaf8;
}
body.page-photographer-dashboard .gallery-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
body.page-photographer-dashboard .gallery-card .overlay {
	position: absolute;
	inset: auto 0 0 0;
	padding: 12px 12px 10px;
	background: linear-gradient(180deg, transparent 0%, rgba(11, 45, 91, .78) 100%);
	color: #fff;
}
body.page-photographer-dashboard .gallery-card .overlay strong {
	display: block;
	font-size: .9rem;
	margin-bottom: 2px;
}
body.page-photographer-dashboard .gallery-card .overlay span {
	display: block;
	font-size: .68rem;
	opacity: .8;
}
body.page-photographer-dashboard .performance-card {
	padding: 0;
	overflow: hidden;
}
body.page-photographer-dashboard .chart-box {
	padding: 18px 20px 0;
}
body.page-photographer-dashboard .chart-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}
body.page-photographer-dashboard .chart-head h4 {
	margin: 0;
	font-size: 1.2rem;
	letter-spacing: -.05em;
}
body.page-photographer-dashboard .chart-meta {
	font: 500 .58rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #59708f;
	margin-top: 6px;
}
body.page-photographer-dashboard .chart-bars {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	align-items: end;
	gap: 10px;
	height: 170px;
	padding: 12px 0 0;
}
body.page-photographer-dashboard .chart-bars span {
	position: relative;
	display: block;
	border-radius: 10px 10px 0 0;
	background: linear-gradient(180deg, #7cb8ff 0%, #0b2d5b 100%);
	min-height: 30px;
}
body.page-photographer-dashboard .chart-bars span:nth-child(2n) {
	background: linear-gradient(180deg, #ffcf8b 0%, #ff8a00 100%);
}
body.page-photographer-dashboard .chart-box canvas {
	display: block;
	width: 100% !important;
	height: 170px !important;
}
body.page-photographer-dashboard .chart-legend {
	display: flex;
	gap: 18px;
	padding: 18px 20px 20px;
	color: #59708f;
	font-size: .72rem;
}
body.page-photographer-dashboard .chart-legend i {
	margin-right: 6px;
	font-size: .75rem;
}
body.page-photographer-dashboard .small-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 100px;
	padding: 10px 12px;
	border-radius: 12px;
	background: #edf5ff;
	color: #0b2d5b;
	font: 500 .7rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
}
body.page-photographer-dashboard .review-item {
	grid-template-columns: auto 1fr;
}
body.page-photographer-dashboard .review-avatar {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: linear-gradient(135deg, #dff5ff 0%, #cfe0ff 100%);
	font: 600 .7rem 'Space Grotesk';
	color: #0b2d5b;
}
body.page-photographer-dashboard .stars {
	color: #ff8a00;
	letter-spacing: .12em;
	font-size: .76rem;
	margin-top: 4px;
}
body.page-photographer-dashboard .task-item {
	grid-template-columns: auto 1fr auto;
}
body.page-photographer-dashboard .task-icon {
	width: 38px;
	height: 38px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: #edf5ff;
	color: #0b2d5b;
	font-size: 1rem;
}
@media (max-width: 991px) {
	body.page-photographer-dashboard .photographer-dash .workspace-layout {
		grid-template-columns: 1fr;
	}
	body.page-photographer-dashboard .photographer-dash .workspace-sidebar {
		padding-bottom: 18px;
	}
	body.page-photographer-dashboard .summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.page-photographer-dashboard .dashboard-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	body.page-photographer-dashboard .photographer-dash .workspace-content {
		padding: 18px 16px 12px;
	}
	body.page-photographer-dashboard .summary-grid, body.page-photographer-dashboard .gallery-strip {
		grid-template-columns: 1fr;
	}
	body.page-photographer-dashboard .booking-item, body.page-photographer-dashboard .task-item, body.page-photographer-dashboard .review-item {
		grid-template-columns: auto 1fr;
	}
	body.page-photographer-dashboard .booking-item .tag, body.page-photographer-dashboard .task-item .small-cta {
		grid-column: 2;
		justify-self: start;
	}
}
/* photographer-earnings.html */

body.page-photographer-earnings {
	background: #eef5ff;
	color: #0b2d5b;
}
body.page-photographer-earnings .photographer-shell {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 28px;
	padding-top: 28px;
	padding-bottom: 50px;
}
body.page-photographer-earnings .photographer-sidebar {
	background: linear-gradient(180deg, #0b2d5b 0%, #112d52 100%);
	
	padding: 24px 16px 18px;
	box-shadow: 0 20px 40px rgba(11, 45, 91, .12);
}
body.page-photographer-earnings .photographer-sidebar .eyebrow-blue {
	color: #9cc2eb;
}
body.page-photographer-earnings .photographer-sidebar h1 {
	color: #fff;
	font-size: 2.15rem;
	line-height: .9;
	letter-spacing: -.08em;
	margin: 12px 0 26px;
}
body.page-photographer-earnings .photographer-sidebar h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographer-earnings .workspace-nav {
	display: grid;
	gap: 8px;
}
body.page-photographer-earnings .workspace-nav-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 12px;
	border-left: 2px solid transparent;
	
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font-size: .8rem;
}
body.page-photographer-earnings .workspace-nav-link i {
	width: 18px;
	font-size: 1rem;
}
body.page-photographer-earnings .workspace-nav-link b {
	margin-left: auto;
	background: rgba(34, 197, 94, .15);
	color: #dcfce7;
	padding: 4px 6px;
	
	font: 500 .58rem 'DM Mono';
}
body.page-photographer-earnings .workspace-nav-link.active, body.page-photographer-earnings .workspace-nav-link:hover {
	background: rgba(255, 255, 255, .07);
	color: #fff;
	border-left-color: #ff8a00;
}
body.page-photographer-earnings .workspace-side-note {
	display: flex;
	gap: 10px;
	margin-top: 26px;
	padding: 14px 12px;
	border-left: 3px solid #22c55e;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	border-radius: 14px;
}
body.page-photographer-earnings .workspace-side-note strong {
	display: block;
	font-size: .7rem;
}
body.page-photographer-earnings .workspace-side-note span {
	display: block;
	margin-top: 4px;
	color: rgba(232, 241, 255, .8);
	font-size: .64rem;
	line-height: 1.4;
}
body.page-photographer-earnings .workspace-logout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-earnings .workspace-main {
	background: rgba(255, 255, 255, .75);
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 30px;
	padding: 26px 28px 18px;
}
body.page-photographer-earnings .workspace-topbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 24px;
}
body.page-photographer-earnings .workspace-topbar h2 {
	font-size: clamp(2.1rem, 3vw, 3rem);
	line-height: .92;
	letter-spacing: -.08em;
	margin: 8px 0 0;
}
body.page-photographer-earnings .btn-lime {
	background: #d9fbe5;
	color: #0b2d5b;
	border: none;
	font-weight: 600;
}
body.page-photographer-earnings .summary-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 22px;
}
body.page-photographer-earnings .summary-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 20px;
	padding: 18px;
	box-shadow: 0 12px 22px rgba(11, 45, 91, .04);
}
body.page-photographer-earnings .summary-card .label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #59708f;
	font: 500 .56rem 'DM Mono';
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 14px;
}
body.page-photographer-earnings .summary-card strong {
	display: block;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: -.06em;
	margin-bottom: 8px;
}
body.page-photographer-earnings .summary-card small {
	display: flex;
	justify-content: space-between;
	color: #59708f;
	font-size: .72rem;
}
body.page-photographer-earnings .summary-card.accent {
	background: linear-gradient(135deg, #fdf7ef 0%, #fff 100%);
	border-color: rgba(255, 138, 0, .18);
}
body.page-photographer-earnings .stats-row {
	display: grid;
	grid-template-columns: 1.3fr .9fr;
	gap: 18px;
}
body.page-photographer-earnings .panel {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	padding: 18px 18px 14px;
}
body.page-photographer-earnings .panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 15px;
}
body.page-photographer-earnings .panel-head h3 {
	margin: 8px 0 0;
	font-size: 1.35rem;
	letter-spacing: -.05em;
}
body.page-photographer-earnings .chart-bars {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	align-items: end;
	gap: 10px;
	height: 160px;
	padding-top: 10px;
}
body.page-photographer-earnings .chart-bars span {
	display: block;
	border-radius: 10px 10px 0 0;
	background: linear-gradient(180deg, #7cb8ff 0%, #0b2d5b 100%);
	min-height: 30px;
}
body.page-photographer-earnings .chart-bars span:nth-child(2n) {
	background: linear-gradient(180deg, #ffcf8b 0%, #ff8a00 100%);
}
body.page-photographer-earnings .stats-row canvas {
	display: block;
	width: 100% !important;
	height: 160px !important;
}
body.page-photographer-earnings .payout-list {
	display: grid;
	gap: 12px;
}
body.page-photographer-earnings .payout-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 12px;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 14px;
	background: #f9fbfe;
}
body.page-photographer-earnings .payout-item strong {
	display: block;
}
body.page-photographer-earnings .payout-item span {
	display: block;
	color: #59708f;
	font-size: .72rem;
}
body.page-photographer-earnings .amount {
	font: 500 .9rem 'Space Grotesk';
}
body.page-photographer-earnings .status-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 10px;
	border-radius: 999px;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.page-photographer-earnings .status-pill.paid {
	background: #e7f9ee;
	color: #0e8f51;
}
body.page-photographer-earnings .status-pill.pending {
	background: #fff3db;
	color: #b96b00;
}
@media (max-width: 991px) {
	body.page-photographer-earnings .photographer-shell {
		grid-template-columns: 1fr;
	}
	body.page-photographer-earnings .summary-grid, body.page-photographer-earnings .stats-row {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	body.page-photographer-earnings .workspace-main {
		padding: 18px 16px 12px;
	}
}
/* photographer-gallery.html */

body.page-photographer-gallery {
	background: #eef5ff;
	color: #0b2d5b;
}
body.page-photographer-gallery .photographer-shell {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 28px;
	padding-top: 28px;
	padding-bottom: 50px;
}
body.page-photographer-gallery .photographer-sidebar {
	background: linear-gradient(180deg, #0b2d5b 0%, #112d52 100%);
	padding: 24px 16px 18px;
	box-shadow: 0 20px 40px rgba(11, 45, 91, .12);
}
body.page-photographer-gallery .photographer-sidebar .eyebrow-blue {
	color: #9cc2eb;
}
body.page-photographer-gallery .photographer-sidebar h1 {
	color: #fff;
	font-size: 2.15rem;
	line-height: .9;
	letter-spacing: -.08em;
	margin: 12px 0 26px;
}
body.page-photographer-gallery .photographer-sidebar h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographer-gallery .workspace-nav {
	display: grid;
	gap: 8px;
}
body.page-photographer-gallery .workspace-nav-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 12px;
	border-left: 2px solid transparent;
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font-size: .8rem;
}
body.page-photographer-gallery .workspace-nav-link i {
	width: 18px;
	font-size: 1rem;
}
body.page-photographer-gallery .workspace-nav-link b {
	margin-left: auto;
	background: rgba(34, 197, 94, .15);
	color: #dcfce7;
	padding: 4px 6px;
	font: 500 .58rem 'DM Mono';
}
body.page-photographer-gallery .workspace-nav-link.active, body.page-photographer-gallery .workspace-nav-link:hover {
	background: rgba(255, 255, 255, .07);
	color: #fff;
	border-left-color: #ff8a00;
}
body.page-photographer-gallery .workspace-side-note {
	display: flex;
	gap: 10px;
	margin-top: 26px;
	padding: 14px 12px;
	border-left: 3px solid #22c55e;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	border-radius: 14px;
}
body.page-photographer-gallery .workspace-side-note strong {
	display: block;
	font-size: .7rem;
}
body.page-photographer-gallery .workspace-side-note span {
	display: block;
	margin-top: 4px;
	color: rgba(232, 241, 255, .8);
	font-size: .64rem;
	line-height: 1.4;
}
body.page-photographer-gallery .workspace-logout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-gallery .workspace-main {
	background: rgba(255, 255, 255, .75);
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 30px;
	padding: 26px 28px 18px;
}
body.page-photographer-gallery .workspace-topbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 24px;
}
body.page-photographer-gallery .workspace-topbar h2 {
	font-size: clamp(2.1rem, 3vw, 3rem);
	line-height: .92;
	letter-spacing: -.08em;
	margin: 8px 0 0;
}
body.page-photographer-gallery .btn-lime {
	background: #d9fbe5;
	color: #0b2d5b;
	border: none;
	font-weight: 600;
}
body.page-photographer-gallery .gallery-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 18px;
}
body.page-photographer-gallery .filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
body.page-photographer-gallery .filter-pill {
	border: 1px solid rgba(11, 45, 91, .12);
	border-radius: 999px;
	background: #fff;
	color: #0b2d5b;
	padding: 8px 12px;
	font: 500 .64rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-gallery .filter-pill.active {
	background: #0b2d5b;
	color: #fff;
}
body.page-photographer-gallery .gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
body.page-photographer-gallery .gallery-item {
	border: 1px solid rgba(11, 45, 91, .08);
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 12px 22px rgba(11, 45, 91, .04);
}
body.page-photographer-gallery .gallery-item img {
	width: 100%;
	height: 220px;
	display: block;
	object-fit: cover;
}
body.page-photographer-gallery .gallery-item .meta {
	padding: 12px 12px 14px;
}
body.page-photographer-gallery .gallery-item .meta strong {
	display: block;
	font-size: .98rem;
	margin-bottom: 4px;
}
body.page-photographer-gallery .gallery-item .meta span {
	color: #59708f;
	font-size: .72rem;
}
body.page-photographer-gallery .gallery-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	color: #0b2d5b;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
}
@media (max-width: 991px) {
	body.page-photographer-gallery .photographer-shell {
		grid-template-columns: 1fr;
	}
	body.page-photographer-gallery .gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 575px) {
	body.page-photographer-gallery .workspace-main {
		padding: 18px 16px 12px;
	}
	body.page-photographer-gallery .gallery-grid {
		grid-template-columns: 1fr;
	}
}
/* photographer-messages.html */

body.page-photographer-messages {
	background: #eef5ff;
	color: #0b2d5b;
}
body.page-photographer-messages .photographer-shell {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 28px;
	padding-top: 28px;
	padding-bottom: 50px;
}
body.page-photographer-messages .photographer-sidebar {
	background: linear-gradient(180deg, #0b2d5b 0%, #112d52 100%);
	
	padding: 24px 16px 18px;
	box-shadow: 0 20px 40px rgba(11, 45, 91, .12);
}
body.page-photographer-messages .photographer-sidebar .eyebrow-blue {
	color: #9cc2eb;
}
body.page-photographer-messages .photographer-sidebar h1 {
	color: #fff;
	font-size: 2.15rem;
	line-height: .9;
	letter-spacing: -.08em;
	margin: 12px 0 26px;
}
body.page-photographer-messages .photographer-sidebar h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographer-messages .workspace-nav {
	display: grid;
	gap: 8px;
}
body.page-photographer-messages .workspace-nav-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 12px;
	border-left: 2px solid transparent;
	
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font-size: .8rem;
}
body.page-photographer-messages .workspace-nav-link i {
	width: 18px;
	font-size: 1rem;
}
body.page-photographer-messages .workspace-nav-link b {
	margin-left: auto;
	background: rgba(34, 197, 94, .15);
	color: #dcfce7;
	padding: 4px 6px;
	
	font: 500 .58rem 'DM Mono';
}
body.page-photographer-messages .workspace-nav-link.active, body.page-photographer-messages .workspace-nav-link:hover {
	background: rgba(255, 255, 255, .07);
	color: #fff;
	border-left-color: #ff8a00;
}
body.page-photographer-messages .workspace-side-note {
	display: flex;
	gap: 10px;
	margin-top: 26px;
	padding: 14px 12px;
	border-left: 3px solid #22c55e;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	border-radius: 14px;
}
body.page-photographer-messages .workspace-side-note strong {
	display: block;
	font-size: .7rem;
}
body.page-photographer-messages .workspace-side-note span {
	display: block;
	margin-top: 4px;
	color: rgba(232, 241, 255, .8);
	font-size: .64rem;
	line-height: 1.4;
}
body.page-photographer-messages .workspace-logout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-messages .workspace-main {
	background: rgba(255, 255, 255, .75);
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 30px;
	padding: 26px 28px 18px;
}
body.page-photographer-messages .workspace-topbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 24px;
}
body.page-photographer-messages .workspace-topbar h2 {
	font-size: clamp(2.1rem, 3vw, 3rem);
	line-height: .92;
	letter-spacing: -.08em;
	margin: 8px 0 0;
}
body.page-photographer-messages .btn-lime {
	background: #d9fbe5;
	color: #0b2d5b;
	border: none;
	font-weight: 600;
}
body.page-photographer-messages .message-layout {
	display: grid;
	grid-template-columns: .9fr 1.5fr;
	gap: 18px;
}
body.page-photographer-messages .panel {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 22px;
	padding: 16px;
}
body.page-photographer-messages .inbox-list, body.page-photographer-messages .thread {
	display: grid;
	gap: 12px;
}
body.page-photographer-messages .inbox-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	border-radius: 14px;
	border: 1px solid rgba(11, 45, 91, .08);
	background: #f9fbfe;
}
body.page-photographer-messages .person-dot {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #dff4ff 0%, #dfeafe 100%);
	font-weight: 600;
}
body.page-photographer-messages .inbox-item strong, body.page-photographer-messages .bubble strong {
	display: block;
}
body.page-photographer-messages .inbox-item span, body.page-photographer-messages .bubble small {
	color: #59708f;
	font-size: .72rem;
}
body.page-photographer-messages .bubble {
	max-width: 75%;
	padding: 12px 14px;
	border-radius: 16px;
	background: #edf5ff;
}
body.page-photographer-messages .bubble.mine {
	margin-left: auto;
	background: #0b2d5b;
	color: #fff;
}
body.page-photographer-messages .bubble.mine small {
	color: rgba(255, 255, 255, .7);
}
body.page-photographer-messages .answer-box {
	margin-top: 18px;
	border-top: 1px solid rgba(11, 45, 91, .08);
	padding-top: 14px;
}
body.page-photographer-messages .answer-box textarea {
	width: 100%;
	min-height: 80px;
	border: 1px solid rgba(11, 45, 91, .12);
	border-radius: 14px;
	padding: 12px;
}
body.page-photographer-messages .reply-btn {
	margin-top: 12px;
}
@media (max-width: 991px) {
	body.page-photographer-messages .photographer-shell {
		grid-template-columns: 1fr;
	}
	body.page-photographer-messages .message-layout {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	body.page-photographer-messages .workspace-main {
		padding: 18px 16px 12px;
	}
}
/* photographer-new-booking.html */

body.page-photographer-new-booking {
	background: #eef5ff;
	color: #0b2d5b;
}
body.page-photographer-new-booking .photographer-shell {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 28px;
	padding-top: 28px;
	padding-bottom: 50px;
}
body.page-photographer-new-booking .photographer-sidebar {
	background: linear-gradient(180deg, #0b2d5b 0%, #112d52 100%);
	
	padding: 24px 16px 18px;
	box-shadow: 0 20px 40px rgba(11, 45, 91, .12);
}
body.page-photographer-new-booking .photographer-sidebar .eyebrow-blue {
	color: #9cc2eb;
}
body.page-photographer-new-booking .photographer-sidebar h1 {
	color: #fff;
	font-size: 2.15rem;
	line-height: .9;
	letter-spacing: -.08em;
	margin: 12px 0 26px;
}
body.page-photographer-new-booking .photographer-sidebar h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographer-new-booking .workspace-nav {
	display: grid;
	gap: 8px;
}
body.page-photographer-new-booking .workspace-nav-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 12px;
	border-left: 2px solid transparent;
	
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font-size: .8rem;
}
body.page-photographer-new-booking .workspace-nav-link i {
	width: 18px;
	font-size: 1rem;
}
body.page-photographer-new-booking .workspace-nav-link b {
	margin-left: auto;
	background: rgba(34, 197, 94, .15);
	color: #dcfce7;
	padding: 4px 6px;
	
	font: 500 .58rem 'DM Mono';
}
body.page-photographer-new-booking .workspace-nav-link.active, body.page-photographer-new-booking .workspace-nav-link:hover {
	background: rgba(255, 255, 255, .07);
	color: #fff;
	border-left-color: #ff8a00;
}
body.page-photographer-new-booking .workspace-side-note {
	display: flex;
	gap: 10px;
	margin-top: 26px;
	padding: 14px 12px;
	border-left: 3px solid #22c55e;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	border-radius: 14px;
}
body.page-photographer-new-booking .workspace-side-note strong {
	display: block;
	font-size: .7rem;
}
body.page-photographer-new-booking .workspace-side-note span {
	display: block;
	margin-top: 4px;
	color: rgba(232, 241, 255, .8);
	font-size: .64rem;
	line-height: 1.4;
}
body.page-photographer-new-booking .workspace-logout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-new-booking .workspace-main {
	background: rgba(255, 255, 255, .75);
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 30px;
	padding: 26px 28px 18px;
}
body.page-photographer-new-booking .workspace-topbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 24px;
}
body.page-photographer-new-booking .workspace-topbar h2 {
	font-size: clamp(2.1rem, 3vw, 3rem);
	line-height: .92;
	letter-spacing: -.08em;
	margin: 8px 0 0;
}
body.page-photographer-new-booking .btn-lime {
	background: #d9fbe5;
	color: #0b2d5b;
	border: none;
	font-weight: 600;
}
body.page-photographer-new-booking .booking-form {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 24px;
	padding: 22px;
}
body.page-photographer-new-booking .form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
body.page-photographer-new-booking .form-control, body.page-photographer-new-booking .form-select {
	border-radius: 14px;
	border: 1px solid rgba(11, 45, 91, .12);
	padding: 12px 14px;
	min-height: 48px;
}
body.page-photographer-new-booking .form-label {
	display: block;
	margin-bottom: 8px;
	color: #59708f;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-new-booking .form-textarea {
	min-height: 120px;
	resize: vertical;
}
body.page-photographer-new-booking .full-span {
	grid-column: 1 / -1;
}
body.page-photographer-new-booking .actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 20px;
}
@media (max-width: 991px) {
	body.page-photographer-new-booking .photographer-shell {
		grid-template-columns: 1fr;
	}
	body.page-photographer-new-booking .form-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	body.page-photographer-new-booking .workspace-main {
		padding: 18px 16px 12px;
	}
}
/* photographer-profile.html */

body.page-photographer-profile {
	background: #eef5ff;
	color: #0b2d5b;
}
body.page-photographer-profile .photographer-shell {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 28px;
	padding-top: 28px;
	padding-bottom: 50px;
}
body.page-photographer-profile .photographer-sidebar {
	background: linear-gradient(180deg, #0b2d5b 0%, #112d52 100%);
	
	padding: 24px 16px 18px;
	box-shadow: 0 20px 40px rgba(11, 45, 91, .12);
}
body.page-photographer-profile .photographer-sidebar .eyebrow-blue {
	color: #9cc2eb;
}
body.page-photographer-profile .photographer-sidebar h1 {
	color: #fff;
	font-size: 2.15rem;
	line-height: .9;
	letter-spacing: -.08em;
	margin: 12px 0 26px;
}
body.page-photographer-profile .photographer-sidebar h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographer-profile .workspace-nav {
	display: grid;
	gap: 8px;
}
body.page-photographer-profile .workspace-nav-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 12px;
	border-left: 2px solid transparent;
	
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font-size: .8rem;
}
body.page-photographer-profile .workspace-nav-link i {
	width: 18px;
	font-size: 1rem;
}
body.page-photographer-profile .workspace-nav-link b {
	margin-left: auto;
	background: rgba(34, 197, 94, .15);
	color: #dcfce7;
	padding: 4px 6px;
	
	font: 500 .58rem 'DM Mono';
}
body.page-photographer-profile .workspace-nav-link.active, body.page-photographer-profile .workspace-nav-link:hover {
	background: rgba(255, 255, 255, .07);
	color: #fff;
	border-left-color: #ff8a00;
}
body.page-photographer-profile .workspace-side-note {
	display: flex;
	gap: 10px;
	margin-top: 26px;
	padding: 14px 12px;
	border-left: 3px solid #22c55e;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	border-radius: 14px;
}
body.page-photographer-profile .workspace-side-note strong {
	display: block;
	font-size: .7rem;
}
body.page-photographer-profile .workspace-side-note span {
	display: block;
	margin-top: 4px;
	color: rgba(232, 241, 255, .8);
	font-size: .64rem;
	line-height: 1.4;
}
body.page-photographer-profile .workspace-logout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-profile .workspace-topbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 24px;
}
body.page-photographer-profile .workspace-topbar h2 {
	font-size: clamp(2.1rem, 3vw, 3rem);
	line-height: .92;
	letter-spacing: -.08em;
	margin: 8px 0 0;
}
body.page-photographer-profile .btn-lime {
	background: #d9fbe5;
	color: #0b2d5b;
	border: none;
	font-weight: 600;
}
body.page-photographer-profile .profile-card {
	background: transparent;
	border: 0;
	padding: 0;
}
body.page-photographer-profile .profile-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 18px;
}
body.page-photographer-profile .profile-avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #dff5ff 0%, #dfeafe 100%);
	font-size: 1.2rem;
	font-weight: 600;
}
body.page-photographer-profile .profile-header h3 {
	margin: 0;
	font-size: 1.8rem;
	letter-spacing: -.05em;
}
body.page-photographer-profile .profile-meta {
	color: #59708f;
	font-size: .8rem;
}
body.page-photographer-profile .info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 16px;
}
body.page-photographer-profile .field {
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 14px;
	padding: 12px 14px;
	background: #f9fbfe;
}
body.page-photographer-profile .field-label {
	display: block;
	color: #59708f;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
body.page-photographer-profile .field-value {
	font-size: .9rem;
}
body.page-photographer-profile .tag-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}
body.page-photographer-profile .tag {
	display: inline-flex;
	align-items: center;
	padding: 8px 10px;
	border-radius: 999px;
	background: #edf5ff;
	color: #0b2d5b;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.page-photographer-profile .profile-section {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .07);
	border-radius: 0;
	padding: 18px;
	margin: 0 0 14px;
	box-shadow: 0 4px 12px rgba(11, 45, 91, .025);
}
body.page-photographer-profile .profile-section:first-of-type {
	border-top: 1px solid rgba(11, 45, 91, .07);
	padding-top: 18px;
	margin-top: 0;
}
body.page-photographer-profile .profile-section-heading {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 14px;
}
body.page-photographer-profile .profile-section-heading>i {
	color: #ff8a00;
	font-size: 1.1rem;
}
body.page-photographer-profile .profile-section-heading h3 {
	margin: 0;
	font-size: 1.08rem;
	letter-spacing: -.04em;
}
body.page-photographer-profile .profile-section-heading p {
	margin: 4px 0 0;
	color: #59708f;
	font-size: .75rem;
}
body.page-photographer-profile .profile-field {
	display: block;
	border: 1px solid rgba(11, 45, 91, .1);
	border-radius: 0;
	padding: 12px 14px;
	background: #fff;
	color: #0b2d5b;
}
body.page-photographer-profile .profile-field .field-label {
	margin-bottom: 6px;
}
body.page-photographer-profile .profile-field .field-value {
	color: #0b2d5b;
}
body.page-photographer-profile .profile-field small {
	display: block;
	margin-top: 4px;
	color: #59708f;
	font-size: .68rem;
}
body.page-photographer-profile .profile-status {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #0e8f51;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.page-photographer-profile .profile-status i {
	font-size: .5rem;
}
body.page-photographer-profile .profile-input, body.page-photographer-profile .profile-select, body.page-photographer-profile .profile-textarea {
	width: 100%;
	border: 1px solid rgba(11, 45, 91, .12);
	border-radius: 0;
	background: #fff;
	color: #0b2d5b;
	font: 400 .82rem 'Space Grotesk';
	padding: 10px 11px;
}
body.page-photographer-profile .profile-input::placeholder, body.page-photographer-profile .profile-textarea::placeholder {
	color: #8291a5;
	opacity: 1;
}
body.page-photographer-profile .profile-input:focus, body.page-photographer-profile .profile-select:focus, body.page-photographer-profile .profile-textarea:focus {
	outline: 2px solid rgba(255, 138, 0, .22);
	border-color: #ff8a00;
}
body.page-photographer-profile .profile-textarea {
	min-height: 112px;
	resize: vertical;
	line-height: 1.5;
}
body.page-photographer-profile .profile-helper {
	color: #59708f;
	font-size: .7rem;
	margin-top: 8px;
}
body.page-photographer-profile .profile-actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid rgba(11, 45, 91, .08);
}
@media (max-width: 991px) {
	body.page-photographer-profile .photographer-shell {
		grid-template-columns: 1fr;
	}
	body.page-photographer-profile .info-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	body.page-photographer-profile .workspace-main {
		padding: 18px 16px 12px;
	}
}
/* photographer-upload-new.html */

body.page-photographer-upload-new {
	background: #eef5ff;
	color: #0b2d5b;
}
body.page-photographer-upload-new .photographer-shell {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 28px;
	padding-top: 28px;
	padding-bottom: 50px;
}
body.page-photographer-upload-new .photographer-sidebar {
	background: linear-gradient(180deg, #0b2d5b 0%, #112d52 100%);
	
	padding: 24px 16px 18px;
	box-shadow: 0 20px 40px rgba(11, 45, 91, .12);
}
body.page-photographer-upload-new .photographer-sidebar .eyebrow-blue {
	color: #9cc2eb;
}
body.page-photographer-upload-new .photographer-sidebar h1 {
	color: #fff;
	font-size: 2.15rem;
	line-height: .9;
	letter-spacing: -.08em;
	margin: 12px 0 26px;
}
body.page-photographer-upload-new .photographer-sidebar h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographer-upload-new .workspace-nav {
	display: grid;
	gap: 8px;
}
body.page-photographer-upload-new .workspace-nav-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 12px;
	border-left: 2px solid transparent;
	
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font-size: .8rem;
}
body.page-photographer-upload-new .workspace-nav-link i {
	width: 18px;
	font-size: 1rem;
}
body.page-photographer-upload-new .workspace-nav-link b {
	margin-left: auto;
	background: rgba(34, 197, 94, .15);
	color: #dcfce7;
	padding: 4px 6px;
	
	font: 500 .58rem 'DM Mono';
}
body.page-photographer-upload-new .workspace-nav-link.active, body.page-photographer-upload-new .workspace-nav-link:hover {
	background: rgba(255, 255, 255, .07);
	color: #fff;
	border-left-color: #ff8a00;
}
body.page-photographer-upload-new .workspace-side-note {
	display: flex;
	gap: 10px;
	margin-top: 26px;
	padding: 14px 12px;
	border-left: 3px solid #22c55e;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	border-radius: 14px;
}
body.page-photographer-upload-new .workspace-side-note strong {
	display: block;
	font-size: .7rem;
}
body.page-photographer-upload-new .workspace-side-note span {
	display: block;
	margin-top: 4px;
	color: rgba(232, 241, 255, .8);
	font-size: .64rem;
	line-height: 1.4;
}
body.page-photographer-upload-new .workspace-logout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	color: rgba(232, 241, 255, .8);
	text-decoration: none;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-upload-new .workspace-main {
	background: rgba(255, 255, 255, .75);
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 30px;
	padding: 26px 28px 18px;
}
body.page-photographer-upload-new .workspace-topbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 24px;
}
body.page-photographer-upload-new .workspace-topbar h2 {
	font-size: clamp(2.1rem, 3vw, 3rem);
	line-height: .92;
	letter-spacing: -.08em;
	margin: 8px 0 0;
}
body.page-photographer-upload-new .btn-lime {
	background: #d9fbe5;
	color: #0b2d5b;
	border: none;
	font-weight: 600;
}
body.page-photographer-upload-new .upload-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 24px;
	padding: 22px;
}
body.page-photographer-upload-new .upload-area {
	border: 2px dashed rgba(11, 45, 91, .18);
	border-radius: 18px;
	background: linear-gradient(180deg, #f5f9ff 0%, #eef5ff 100%);
	min-height: 220px;
	display: grid;
	place-items: center;
	text-align: center;
	padding: 24px;
}
body.page-photographer-upload-new .upload-area i {
	font-size: 2.4rem;
	color: #0b2d5b;
}
body.page-photographer-upload-new .form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 20px;
}
body.page-photographer-upload-new .form-control, body.page-photographer-upload-new .form-select {
	border-radius: 14px;
	border: 1px solid rgba(11, 45, 91, .12);
	padding: 12px 14px;
	min-height: 48px;
}
body.page-photographer-upload-new .form-label {
	display: block;
	margin-bottom: 8px;
	color: #59708f;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-upload-new .full-span {
	grid-column: 1 / -1;
}
body.page-photographer-upload-new .actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 20px;
}
@media (max-width: 991px) {
	body.page-photographer-upload-new .photographer-shell {
		grid-template-columns: 1fr;
	}
	body.page-photographer-upload-new .form-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	body.page-photographer-upload-new .workspace-main {
		padding: 18px 16px 12px;
	}
}
/* Photographer profile readability fixes */

body.page-photographer-profile .workspace-main {
	color: #0b2d5b;
	text-align: left;
}
body.page-photographer-profile .workspace-topbar {
	align-items: flex-start;
	text-align: left;
}
body.page-photographer-profile .workspace-topbar h2, body.page-photographer-profile .profile-section h3, body.page-photographer-profile .profile-header h3, body.page-photographer-profile .profile-section p, body.page-photographer-profile .profile-meta, body.page-photographer-profile .profile-field, body.page-photographer-profile .profile-field .field-value {
	color: #0b2d5b;
}
body.page-photographer-profile .workspace-topbar h2 {
	font-size: clamp(2rem, 3vw, 2.9rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.06em;
	margin: 8px 0 0;
	text-align: left;
}
body.page-photographer-profile .profile-section-heading p, body.page-photographer-profile .profile-meta, body.page-photographer-profile .profile-helper, body.page-photographer-profile .profile-field small {
	color: #59708f;
}
body.page-photographer-profile .profile-section-heading h3, body.page-photographer-profile .profile-header h3 {
	font-weight: 600;
	text-align: left;
}
body.page-photographer-profile .profile-section-heading>i {
	color: #ff8a00;
}
/* Shared orange action button */

.btn-lime, .btn-lime:hover, .btn-lime:focus, .btn-lime:active {
	background: #ff8a00 !important;
	border-color: #ff8a00 !important;
	color: #fff !important;
}
/* Signup account and photographer membership choices */

body.page-signup .signup-choice, body.page-signup .signup-tiers {
	border: 0;
	padding: 0;
	margin: 0;
}
body.page-signup .signup-choice legend, body.page-signup .signup-tiers legend {
	float: none;
	width: auto;
	padding: 0;
	margin-bottom: 10px;
	color: #0b2d5b;
	font: 600 .72rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.page-signup .signup-section-help {
	margin: -2px 0 12px;
	color: #59708f;
	font-size: .76rem;
}
body.page-signup .signup-choice-grid, body.page-signup .tier-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
body.page-signup .tier-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.page-signup .signup-choice-card, body.page-signup .tier-card {
	position: relative;
	display: block;
	margin: 0;
	cursor: pointer;
}
body.page-signup .signup-choice-card input, body.page-signup .tier-card input {
	position: absolute;
	opacity: 0;
}
body.page-signup .signup-choice-content, body.page-signup .tier-card-content {
	display: flex;
	flex-direction: column;
	height: 100%;
	gap: 6px;
	padding: 14px;
	border: 1px solid rgba(11, 45, 91, .14);
	border-radius: 12px;
	background: #f8fbff;
	color: #0b2d5b;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
body.page-signup .signup-choice-content {
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	min-height: 0;
	padding: 14px;
	border-radius: 12px;
}
body.page-signup .signup-choice-content i {
	display: inline-block;
	font-size: 1.2rem;
	color: #ff8a00;
}
body.page-signup .signup-choice-content strong, body.page-signup .tier-name {
	font-size: .84rem;
	font-weight: 600;
}
body.page-signup .signup-choice-content small, body.page-signup .tier-card-content>small {
	color: #59708f;
	font-size: .68rem;
	line-height: 1.45;
}
body.page-signup .signup-choice-card input:checked+.signup-choice-content, body.page-signup .tier-card input:checked+.tier-card-content {
	border-color: #ff8a00;
	background: #fff8ef;
	box-shadow: 0 0 0 2px rgba(255, 138, 0, .12);
}
body.page-signup .tier-card-content strong {
	color: #0b2d5b;
	font-size: 1.15rem;
}
body.page-signup .tier-card-content strong small {
	color: #59708f;
	font-size: .66rem;
	font-weight: 400;
}
body.page-signup .tier-card-featured .tier-card-content {
	border-color: rgba(255, 138, 0, .45);
}
body.page-signup .tier-badge {
	position: absolute;
	top: -8px;
	right: 10px;
	padding: 4px 7px;
	border-radius: 999px;
	background: #ff8a00;
	color: #fff;
	font: 500 .56rem 'DM Mono';
	letter-spacing: .06em;
	text-transform: uppercase;
}
/* Login destination choices */

body.page-login .login-destination-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
body.page-login .login-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 8px;
}
body.page-login .login-tab-input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
body.page-login .login-tab-label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 11px 12px;
	border: 1px solid rgba(11, 45, 91, .14);
	border-radius: 8px 8px 0 0;
	background: #f8fbff;
	color: #59708f;
	cursor: pointer;
	font: 500 .68rem 'DM Mono';
	letter-spacing: .04em;
	text-transform: uppercase;
}
body.page-login .login-tab-label i {
	color: #ff8a00;
	font-size: .9rem;
}
body.page-login .login-tab-panel {
	display: none;
	grid-column: 1 / -1;
	padding: 14px;
	border: 1px solid rgba(11, 45, 91, .14);
	border-top: 0;
	background: #fff;
}
body.page-login #customerTab:checked~.customer-login-panel, body.page-login #photographerTab:checked~.photographer-login-panel {
	display: block;
}
body.page-login #customerTab:checked+.login-tab-label, body.page-login #photographerTab:checked+.login-tab-label {
	border-color: #ff8a00;
	background: #fff8ef;
	color: #0b2d5b;
	font-weight: 600;
}
body.page-login .login-tab-help {
	margin: 0 0 14px;
	color: #59708f;
	font-size: .72rem;
	line-height: 1.45;
}
body.page-login .login-destination {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	min-height: 70px;
	padding: 11px;
	border: 1px solid rgba(11, 45, 91, .14);
	border-radius: 10px;
	background: #f8fbff;
	color: #0b2d5b;
	text-decoration: none;
}
body.page-login .login-destination.active, body.page-login .login-destination:hover {
	border-color: #ff8a00;
	background: #fff8ef;
}
body.page-login .login-destination>i {
	color: #ff8a00;
	font-size: 1.05rem;
}
body.page-login .login-destination strong, body.page-login .login-destination small {
	display: block;
}
body.page-login .login-destination strong {
	font-size: .72rem;
}
body.page-login .login-destination small {
	margin-top: 3px;
	color: #59708f;
	font-size: .62rem;
	line-height: 1.3;
}
@media (max-width: 575px) {
	body.page-login .login-destination-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 575px) {
	body.page-signup .signup-choice-grid, body.page-signup .tier-grid {
		grid-template-columns: 1fr;
	}
}
/* Contact page refresh */

body.page-contact {
	background: #f4f7fb;
	color: #0b2d5b;
}
body.page-contact .contact-page-main {
	background: #f4f7fb;
}
body.page-contact .contact-hero {
	position: relative;
	overflow: hidden;
	padding: 88px 0 76px;
	background: linear-gradient(135deg, #0b2d5b 0%, #123f76 68%, #1c5a83 100%);
	color: #fff;
}
body.page-contact .contact-hero-inner {
	position: relative;
	z-index: 1;
}
body.page-contact .contact-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .14);
	font: 500 .68rem 'DM Mono';
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #dfeafe;
}
body.page-contact .contact-hero h1 {
	max-width: 780px;
	margin: 20px 0 16px;
	color: #fff;
	font-size: clamp(3rem, 4vw, 6.2rem);
	line-height: .88;
	letter-spacing: -.09em;
}
body.page-contact .contact-hero h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-contact .contact-hero p {
	max-width: 570px;
	margin: 0;
	color: rgba(255, 255, 255, .76);
	font-size: 1rem;
	line-height: 1.6;
}
body.page-contact .contact-section {
	padding: 34px 0 54px;
}
body.page-contact .contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
	gap: 24px;
	align-items: start;
}
body.page-contact .contact-panel, body.page-contact .contact-details {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .09);
	border-radius: 22px;
	padding: 28px;
	box-shadow: 0 16px 34px rgba(11, 45, 91, .06);
}
body.page-contact .panel-label {
	color: #ff8a00;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .12em;
	text-transform: uppercase;
}
body.page-contact .contact-panel h2, body.page-contact .contact-details h2, body.page-contact .contact-bottom-card h2 {
	margin: 8px 0 0;
	color: #0b2d5b;
	font-size: clamp(1.8rem, 3vw, 2.55rem);
	line-height: .98;
	letter-spacing: -.07em;
}
body.page-contact .contact-panel-intro, body.page-contact .contact-details>p {
	margin: 10px 0 0;
	color: #59708f;
	font-size: .82rem;
	line-height: 1.55;
}
body.page-contact .contact-form {
	margin-top: 24px;
}
body.page-contact .contact-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
body.page-contact .contact-form label {
	display: block;
	margin: 0;
}
body.page-contact .contact-form label>span {
	display: block;
	margin-bottom: 7px;
	color: #59708f;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-contact .contact-form input, body.page-contact .contact-form select, body.page-contact .contact-form textarea {
	width: 100%;
	border: 1px solid rgba(11, 45, 91, .14);
	border-radius: 10px;
	background: #fbfdff;
	color: #0b2d5b;
	font: 400 .82rem 'Space Grotesk';
	padding: 12px 13px;
}
body.page-contact .contact-form input, body.page-contact .contact-form select {
	min-height: 46px;
}
body.page-contact .contact-form textarea {
	min-height: 140px;
	resize: vertical;
}
body.page-contact .contact-form input:focus, body.page-contact .contact-form select:focus, body.page-contact .contact-form textarea:focus {
	outline: 2px solid rgba(255, 138, 0, .2);
	border-color: #ff8a00;
}
body.page-contact .contact-form-wide {
	grid-column: 1 / -1;
}
body.page-contact .contact-form .btn {
	margin-top: 20px;
}
body.page-contact .info-stack {
	display: grid;
	gap: 9px;
	margin-top: 22px;
}
body.page-contact .info-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 12px;
	background: #f8fbff;
	color: #0b2d5b;
	text-decoration: none;
}
body.page-contact .info-item>i:first-child {
	display: grid;
	flex: 0 0 36px;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: #fff0dc;
	color: #ff8a00;
}
body.page-contact .info-item span {
	min-width: 0;
}
body.page-contact .info-item strong, body.page-contact .info-item small {
	display: block;
}
body.page-contact .info-item strong {
	font-size: .8rem;
}
body.page-contact .info-item small {
	margin-top: 3px;
	color: #59708f;
	font-size: .7rem;
}
body.page-contact .info-item .info-arrow {
	margin-left: auto;
	color: #ff8a00;
	font-size: .8rem;
}
body.page-contact .contact-response {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
	padding: 14px;
	border-left: 3px solid #22c55e;
	background: #eefbf3;
}
body.page-contact .contact-response>i {
	color: #0e8f51;
}
body.page-contact .contact-response strong, body.page-contact .contact-response small {
	display: block;
}
body.page-contact .contact-response strong {
	font-size: .76rem;
}
body.page-contact .contact-response small {
	margin-top: 3px;
	color: #59708f;
	font-size: .68rem;
}
body.page-contact .contact-bottom-section {
	padding: 0 0 72px;
}
body.page-contact .contact-bottom-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 26px 30px;
	border-radius: 18px;
	background: #0b2d5b;
}
body.page-contact .contact-bottom-card h2 {
	max-width: 560px;
	color: #fff;
}
/* Shared cart controls */

.header-cart {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(11, 45, 91, .14);
	border-radius: 50%;
	background: #fff;
	color: #0b2d5b;
	font-size: .95rem;
	text-decoration: none;
}
.header-cart:hover, .header-cart.active {
	background: #fff8ef;
	border-color: #ff8a00;
	color: #ff8a00;
}
.header-cart span {
	position: absolute;
	top: -5px;
	right: -5px;
	display: grid;
	place-items: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #ff8a00;
	color: #fff;
	font: 500 .52rem 'DM Mono';
}
body.page-browse-photos .photo-cart-btn {
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #ff8a00;
	color: #fff;
	text-decoration: none;
}
body.page-browse-photos .photo-cart-btn:hover {
	background: #0b2d5b;
}
/* Cart and checkout pages */

body.page-cart, body.page-checkout {
	background: #f4f7fb;
	color: #0b2d5b;
}
body.page-cart .cart-hero {
	padding: 78px 0 64px;
	background: linear-gradient(135deg, #0b2d5b, #164b82);
	color: #fff;
}
body.page-cart .cart-hero h1, body.page-checkout .checkout-heading h1 {
	margin: 16px 0;
	font-size: clamp(2.8rem, 6vw, 5.4rem);
	line-height: .9;
	letter-spacing: -.08em;
}
body.page-cart .cart-hero h1 {
	color: #fff;
}
body.page-cart .cart-hero h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-cart .cart-hero p {
	max-width: 560px;
	color: rgba(255, 255, 255, .75);
}
body.page-cart .cart-section {
	padding: 34px 0 76px;
}
body.page-cart .cart-layout, body.page-checkout .checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 24px;
	align-items: start;
}
body.page-cart .cart-list-card, body.page-cart .cart-summary-card, body.page-checkout .checkout-card {
	background: #fff;
	border: 1px solid rgba(11, 45, 91, .09);
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 14px 30px rgba(11, 45, 91, .05);
}
body.page-cart .cart-section-heading {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: flex-start;
	border-bottom: 1px solid rgba(11, 45, 91, .08);
	padding-bottom: 18px;
}
body.page-cart .panel-label, body.page-checkout .section-kicker {
	color: #ff8a00;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .12em;
	text-transform: uppercase;
}
body.page-cart .cart-section-heading h2, body.page-cart .cart-summary-card h2, body.page-checkout .checkout-card-heading h2 {
	margin: 8px 0 0;
	color: #0b2d5b;
	font-size: 1.45rem;
	letter-spacing: -.05em;
}
body.page-cart .cart-count-label {
	color: #59708f;
	font: 500 .65rem 'DM Mono';
}
body.page-cart .cart-empty-state {
	display: grid;
	place-items: center;
	padding: 58px 20px;
	text-align: center;
}
body.page-cart .cart-empty-state>i {
	color: #ff8a00;
	font-size: 2.5rem;
}
body.page-cart .cart-empty-state h3 {
	margin: 14px 0 6px;
	color: #0b2d5b;
}
body.page-cart .cart-empty-state p {
	max-width: 360px;
	margin: 0 0 20px;
	color: #59708f;
}
body.page-cart .summary-line, body.page-cart .summary-total {
	display: flex;
	justify-content: space-between;
	padding: 14px 0;
	border-bottom: 1px solid rgba(11, 45, 91, .08);
	color: #59708f;
}
body.page-cart .summary-total {
	margin-top: 8px;
	border-bottom: 0;
	color: #0b2d5b;
	font-size: 1.1rem;
}
body.page-cart .summary-note {
	margin: 18px 0 0;
	color: #59708f;
	font-size: .7rem;
}
body.page-cart .summary-note i {
	color: #0e8f51;
	margin-right: 5px;
}
body.page-checkout .checkout-nav {
	display: flex;
	gap: 20px;
	margin-left: auto;
	color: #59708f;
	font: 500 .65rem 'DM Mono';
}
body.page-checkout .checkout-nav a {
	color: #0b2d5b;
	text-decoration: none;
}
body.page-checkout .checkout-main {
	padding: 64px 0 76px;
}
body.page-checkout .checkout-heading {
	margin-bottom: 28px;
}
body.page-checkout .checkout-heading h1 {
	color: #0b2d5b;
}
body.page-checkout .checkout-heading p {
	color: #59708f;
}
body.page-checkout .checkout-form {
	display: grid;
	gap: 18px;
}
body.page-checkout .checkout-card-heading {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 20px;
}
body.page-checkout .checkout-card-heading p {
	margin: 4px 0 0;
	color: #59708f;
	font-size: .72rem;
}
body.page-checkout .step-number {
	display: grid;
	flex: 0 0 30px;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #fff0dc;
	color: #ff8a00;
	font: 600 .72rem 'DM Mono';
}
body.page-checkout .checkout-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
body.page-checkout .checkout-form-grid label {
	display: block;
	color: #59708f;
	font: 500 .58rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-checkout .checkout-form-grid input {
	width: 100%;
	min-height: 46px;
	margin-top: 7px;
	border: 1px solid rgba(11, 45, 91, .14);
	border-radius: 9px;
	padding: 10px 12px;
	color: #0b2d5b;
	font: 400 .82rem 'Space Grotesk';
}
body.page-checkout .checkout-form-grid input:focus {
	outline: 2px solid rgba(255, 138, 0, .2);
	border-color: #ff8a00;
}
body.page-checkout .wide-field {
	grid-column: 1 / -1;
}
body.page-checkout .payment-options {
	display: flex;
	gap: 10px;
	margin-bottom: 18px;
}
body.page-checkout .payment-option {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border: 1px solid rgba(11, 45, 91, .12);
	border-radius: 9px;
	color: #0b2d5b;
	font-size: .72rem;
}
body.page-checkout .payment-option input {
	accent-color: #ff8a00;
}
body.page-checkout .checkout-consent {
	display: flex;
	gap: 9px;
	color: #59708f;
	font-size: .7rem;
	line-height: 1.4;
}
body.page-checkout .checkout-consent input {
	accent-color: #ff8a00;
}
body.page-checkout .checkout-submit {
	justify-self: start;
}
body.page-checkout .checkout-empty {
	padding: 30px 10px;
	text-align: center;
	color: #59708f;
}
body.page-checkout .checkout-empty i {
	color: #ff8a00;
	font-size: 2rem;
}
body.page-checkout .checkout-empty a {
	color: #0b2d5b;
	font-size: .75rem;
}
body.page-checkout .summary-total {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid rgba(11, 45, 91, .08);
	padding-top: 16px;
	font-size: 1rem;
}
body.page-checkout .checkout-trust {
	display: flex;
	gap: 10px;
	margin-top: 14px;
	padding: 14px;
	border-left: 3px solid #22c55e;
	background: #eefbf3;
}
body.page-checkout .checkout-trust>i {
	color: #0e8f51;
}
body.page-checkout .checkout-trust strong {
	font-size: .75rem;
}
body.page-checkout .checkout-trust p {
	margin: 4px 0 0;
	color: #59708f;
	font-size: .68rem;
}
@media (max-width: 767px) {
	body.page-cart .cart-layout, body.page-checkout .checkout-layout {
		grid-template-columns: 1fr;
	}
	body.page-checkout .checkout-nav {
		font-size: .58rem;
	}
}
@media (max-width: 575px) {
	body.page-checkout .checkout-main {
		padding-top: 40px;
	}
	body.page-checkout .checkout-form-grid {
		grid-template-columns: 1fr;
	}
	body.page-checkout .wide-field {
		grid-column: auto;
	}
	body.page-checkout .checkout-nav span {
		display: none;
	}
}
@media (max-width: 991px) {
	body.page-contact .contact-grid {
		grid-template-columns: 1fr;
	}
	body.page-contact .contact-details {
		order: -1;
	}
}
@media (max-width: 575px) {
	body.page-contact .contact-hero {
		padding: 62px 0 54px;
	}
	body.page-contact .contact-panel, body.page-contact .contact-details {
		padding: 20px;
	}
	body.page-contact .contact-form-grid {
		grid-template-columns: 1fr;
	}
	body.page-contact .contact-form-wide {
		grid-column: auto;
	}
	body.page-contact .contact-bottom-card {
		align-items: flex-start;
		flex-direction: column;
		padding: 22px;
	}
}
/* Shared display heading scale */

.reference-hero .hero-copy h1, .contact-hero h1 {
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 600;
	font-size: clamp(40px, 5vw, 6.2rem) !important;
	line-height: .88;
	letter-spacing: -.09em;
}
.section-title, .workspace-view-header h2, .workspace-topbar h2, .workspace-mobile-heading h2, .cart-hero h1, .checkout-heading h1 {
	font-family: 'Space Grotesk', sans-serif;
	font-size: clamp(40px, 4vw, 3.8rem) !important;
	font-weight: 600;
	line-height: .95;
	letter-spacing: -.07em;
}
.contact-hero h1, .reference-hero .hero-copy h1, .cart-hero h1, .checkout-heading h1 {
	min-height: 40px;
}
/* photographers.html */

body.page-photographers .creator-stats {
	background: #201d1b;
	color: #fff;
	padding: 24px 0;
}
body.page-photographers .creator-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
body.page-photographers .creator-stat {
	padding: 4px 18px;
	border-left: 2px solid #ff8a00;
}
body.page-photographers .creator-stat strong {
	display: block;
	color: #fff;
	font-size: clamp(1.5rem, 3vw, 2.3rem);
	letter-spacing: -.06em;
}
body.page-photographers .creator-stat span {
	color: rgba(255, 255, 255, .64);
	font: 500 .62rem 'DM Mono';
	text-transform: uppercase;
	letter-spacing: .08em;
}
body.page-photographers .people-roster-heading>div {
	max-width: 560px;
}
body.page-photographers .people-roster-heading h2 {
	color: #201d1b;
}
body.page-photographers .people-search {
	background: rgba(255, 255, 255, .38);
	padding: 0 12px;
	border: 1px solid rgba(32, 29, 27, .2);
}
body.page-photographers .people-search input {
	color: #201d1b;
}
body.page-photographers .person-card {
	transition: transform .3s ease;
}
body.page-photographers .person-card:hover {
	transform: translateY(-5px);
}
body.page-photographers .person-info small {
	color: #a4561d;
}
body.page-photographers .creator-note {
	max-width: 680px;
	margin: -12px 0 30px;
	color: #6c6259;
	line-height: 1.65;
}
body.page-photographers .creator-benefits {
	padding: 86px 0;
	background: #fffaf4;
}
body.page-photographers .creator-benefits-heading {
	max-width: 650px;
	margin-bottom: 34px;
}
body.page-photographers .creator-benefits-heading h2 {
	color: #201d1b;
	font-size: clamp(2.5rem, 5vw, 5rem);
	line-height: .88;
	letter-spacing: -.09em;
	margin: 14px 0 0;
}
body.page-photographers .creator-benefits-heading h2 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographers .benefit-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
body.page-photographers .benefit-item {
	padding-top: 20px;
	border-top: 1px solid rgba(32, 29, 27, .2);
}
body.page-photographers .benefit-item i {
	color: #ff8a00;
	font-size: 1.35rem;
}
body.page-photographers .benefit-item h3 {
	color: #201d1b;
	font-size: 1.3rem;
	margin: 16px 0 8px;
}
body.page-photographers .benefit-item p {
	color: #6c6259;
	line-height: 1.6;
	margin: 0;
}
@media (max-width: 991px) {
	body.page-photographers .creator-stats-grid, body.page-photographers .benefit-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 575px) {
	body.page-photographers .creator-stats-grid, body.page-photographers .benefit-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	body.page-photographers .creator-stat {
		padding-left: 14px;
	}
	body.page-photographers .creator-benefits {
		padding: 62px 0;
	}
}
/* Photographer details page */

body.page-photographer-details {
	background: #f4f7fb;
	color: #0b2d5b;
}
body.page-photographer-details .photographer-detail-hero {
	padding: 34px 0 72px;
	background: linear-gradient(135deg, rgba(11, 45, 91, 0.96), rgba(18, 66, 115, 0.87));
	color: #fff;
}
body.page-photographer-details .photographer-back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, .72);
	font: 500 .65rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
}
body.page-photographer-details .photographer-back-link:hover {
	color: #ff8a00;
}
body.page-photographer-details .photographer-profile-hero-grid {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 56px;
	align-items: center;
	margin-top: 28px;
}
body.page-photographer-details .photographer-profile-photo {
	position: relative;
	min-height: 540px;
	overflow: hidden;
	background: #34302d;
}
body.page-photographer-details .photographer-profile-photo img {
	width: 100%;
	height: 100%;
	min-height: 540px;
	display: block;
	object-fit: cover;
}
body.page-photographer-details .photographer-profile-photo span {
	position: absolute;
	right: 18px;
	bottom: 16px;
	color: #fff;
	font: 500 .62rem 'DM Mono';
	letter-spacing: .08em;
}
body.page-photographer-details .photographer-profile-intro {
	max-width: 650px;
}
body.page-photographer-details .photographer-profile-intro .people-label {
	color: #ff8a00;
}
body.page-photographer-details .photographer-profile-intro h1 {
	margin: 16px 0;
	color: #fff;
	font-size: clamp(3.2rem, 7vw, 7rem);
	line-height: .84;
	letter-spacing: -.09em;
}
body.page-photographer-details .photographer-profile-intro h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographer-details .photographer-lead {
	max-width: 570px;
	color: rgba(255, 255, 255, .76);
	font-size: 1.12rem;
	line-height: 1.6;
}
body.page-photographer-details .photographer-verification {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 22px;
	color: #d9fbe5;
	font: 500 .64rem 'DM Mono';
	letter-spacing: .06em;
	text-transform: uppercase;
}
body.page-photographer-details .photographer-verification i {
	color: #22c55e;
	font-size: 1rem;
}
body.page-photographer-details .photographer-profile-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}
body.page-photographer-details .photographer-quick-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	margin-top: 42px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .18);
	color: rgba(255, 255, 255, .62);
	font-size: .72rem;
}
body.page-photographer-details .photographer-quick-facts strong {
	display: block;
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: -.04em;
}
body.page-photographer-details .photographer-detail-section {
	padding: 86px 0;
	background: #fff;
}
body.page-photographer-details .photographer-detail-section:nth-of-type(even) {
	background: #eef4fb;
}
body.page-photographer-details .photographer-about-grid {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 70px;
}
body.page-photographer-details .section-kicker {
	color: #ff8a00;
	font: 500 .64rem 'DM Mono';
	letter-spacing: .12em;
	text-transform: uppercase;
}
body.page-photographer-details .photographer-detail-section h2 {
	margin: 12px 0 0;
	color: #0b2d5b;
	font-size: clamp(2.4rem, 5vw, 4.8rem);
	line-height: .9;
	letter-spacing: -.08em;
}
body.page-photographer-details .photographer-about-copy p {
	margin: 0 0 16px;
	color: #536d8d;
	font-size: 1rem;
	line-height: 1.8;
}
body.page-photographer-details .photographer-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 24px;
}
body.page-photographer-details .photographer-tags span {
	padding: 8px 11px;
	border-radius: 999px;
	background: #fff0dc;
	color: #a4561d;
	font: 500 .6rem 'DM Mono';
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.page-photographer-details .photographer-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
}
body.page-photographer-details .section-link {
	color: #0b2d5b;
	font-weight: 600;
	text-decoration: none;
}
body.page-photographer-details .photographer-portfolio-grid {
	display: grid;
	grid-template-columns: 1.35fr .65fr .65fr;
	grid-template-rows: 270px 270px;
	gap: 14px;
}
body.page-photographer-details .photographer-portfolio-grid figure {
	position: relative;
	overflow: hidden;
	margin: 0;
	background: #dceaf3;
}
body.page-photographer-details .photographer-portfolio-grid .portfolio-feature {
	grid-row: 1 / 3;
}
body.page-photographer-details .photographer-portfolio-grid img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	transition: transform .35s ease;
}
body.page-photographer-details .photographer-portfolio-grid figure:hover img {
	transform: scale(1.04);
}
body.page-photographer-details .photographer-portfolio-grid figcaption {
	position: absolute;
	inset: auto 0 0;
	padding: 38px 16px 14px;
	background: linear-gradient(transparent, rgba(11, 45, 91, .85));
	color: #fff;
}
body.page-photographer-details .photographer-portfolio-grid figcaption strong, body.page-photographer-details .photographer-portfolio-grid figcaption span {
	display: block;
}
body.page-photographer-details .photographer-portfolio-grid figcaption span {
	margin-top: 3px;
	color: rgba(255, 255, 255, .72);
	font-size: .68rem;
}
body.page-photographer-details .photographer-service-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
body.page-photographer-details .photographer-service-grid article {
	position: relative;
	padding: 24px;
	border-top: 2px solid #0b2d5b;
	background: #fff;
}
body.page-photographer-details .photographer-service-grid article>i {
	color: #ff8a00;
	font-size: 1.5rem;
}
body.page-photographer-details .photographer-service-grid h3 {
	margin: 18px 0 8px;
	color: #0b2d5b;
	font-size: 1.35rem;
}
body.page-photographer-details .photographer-service-grid p {
	min-height: 74px;
	color: #59708f;
	line-height: 1.6;
}
body.page-photographer-details .photographer-service-grid strong {
	color: #0b2d5b;
}
body.page-photographer-details .photographer-service-grid .featured-service {
	border-top-color: #ff8a00;
	box-shadow: 0 14px 30px rgba(11, 45, 91, .08);
}
body.page-photographer-details .photographer-service-grid .featured-service>span {
	position: absolute;
	top: 18px;
	right: 18px;
	padding: 5px 8px;
	border-radius: 999px;
	background: #fff0dc;
	color: #a4561d;
	font: 500 .55rem 'DM Mono';
	text-transform: uppercase;
}
body.page-photographer-details .photographer-review-grid {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 70px;
}
body.page-photographer-details .photographer-review-section h2 em, body.page-photographer-details .photographer-booking-cta h2 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographer-details .photographer-rating {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 28px;
}
body.page-photographer-details .photographer-rating>strong {
	color: #0b2d5b;
	font-size: 3rem;
	letter-spacing: -.08em;
}
body.page-photographer-details .photographer-rating span {
	color: #ff8a00;
	letter-spacing: 3px;
}
body.page-photographer-details .photographer-rating small {
	display: block;
	margin-top: 4px;
	color: #59708f;
	font: 500 .6rem 'DM Mono';
	letter-spacing: .05em;
}
body.page-photographer-details .photographer-review-list {
	display: grid;
	gap: 20px;
}
body.page-photographer-details .photographer-review-list blockquote {
	margin: 0;
	padding: 20px 0;
	border-top: 1px solid rgba(11, 45, 91, .16);
}
body.page-photographer-details .photographer-review-list blockquote>div {
	color: #ff8a00;
	letter-spacing: 2px;
}
body.page-photographer-details .photographer-review-list p {
	margin: 12px 0;
	color: #536d8d;
	font-size: 1.05rem;
	line-height: 1.65;
}
body.page-photographer-details .photographer-review-list cite {
	color: #0b2d5b;
	font-style: normal;
	font-weight: 600;
}
body.page-photographer-details .photographer-review-list cite span {
	color: #59708f;
	font-weight: 400;
}
body.page-photographer-details .photographer-booking-cta {
	padding: 72px 0;
	background: #0b2d5b;
	color: #fff;
}
body.page-photographer-details .photographer-booking-cta .section-kicker {
	color: #d9fbe5;
}

/* Screenshot-inspired photographer profile layout. */
body.page-photographer-details .photographer-detail-hero,
body.page-photographer-details .photographer-detail-section {
	display: none;
}
body.page-photographer-details {
	background: #f6f7f8;
	color: #20252b;
}
body.page-photographer-details .photographer-showcase {
	min-height: 760px;
	background: #f6f7f8;
}
body.page-photographer-details .photographer-cover {
	height: 265px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #090b0d;
	border-bottom: 1px solid #25292d;
	overflow: hidden;
}
body.page-photographer-details .photographer-cover::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .32), transparent 45%, rgba(0, 0, 0, .35));
}
body.page-photographer-details .photographer-cover-mark {
	position: relative;
	z-index: 1;
	color: #f1f3f4;
	font: 700 clamp(3.5rem, 9vw, 8rem)/.72 'Space Grotesk';
	letter-spacing: -.1em;
	text-align: center;
}
body.page-photographer-details .photographer-cover-mark span {
	font: 500 .62rem 'DM Mono';
	letter-spacing: .38em;
	color: #aab2ba;
}

body.page-photographer-details .photographer-showcase-heading {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	min-height: 150px;
	padding: 0 18px 20px;
	background: #fff;
	border: 1px solid #e2e5e8;
	border-top: 0;
}
body.page-photographer-details .photographer-showcase-avatar {
	width: 92px;
	height: 92px;
	flex: 0 0 auto;
	margin-top: -46px;
	border: 4px solid #fff;
	background: #dce1e5;
	overflow: hidden;
}
body.page-photographer-details .photographer-showcase-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.page-photographer-details .photographer-showcase-identity {
	padding-top: 16px;
}
body.page-photographer-details .photographer-showcase-identity h1 {
	margin: 0;
	color: #182027;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	letter-spacing: -.07em;
}
body.page-photographer-details .photographer-showcase-identity p {
	margin: 5px 0 10px;
	color: #64717b;
	font-size: .8rem;
}
body.page-photographer-details .photographer-showcase-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	color: #7a858e;
	font: 400 .58rem 'DM Mono';
}
body.page-photographer-details .photographer-showcase-meta i {
	color: #55a63a;
	margin-right: 4px;
}
body.page-photographer-details .photographer-profile-albums {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 13px;
	padding: 8px 13px;
	border: 1px solid #b8dcae;
	border-radius: 999px;
	background: #eff9eb;
	color: #2e7922;
	font: 500 .6rem 'DM Mono';
	text-decoration: none;
}
body.page-photographer-details .photographer-profile-albums:hover {
	background: #dff2d8;
	color: #205c19;
}
body.page-photographer-details .photographer-showcase-contact {
	display: inline-flex;
	cursor: pointer;
	align-items: center;
	gap: 6px;
	margin: 16px 0 0 auto;
	padding: 8px 11px;
	border: 1px solid #55a63a;
	background: #e9f8df;
	color: #2e7922;
	font: 500 .58rem 'DM Mono';
	text-decoration: none;
}
body.message-modal-open {
	overflow: hidden;
}
body.page-photographer-details .photographer-message-modal[hidden] {
	display: none;
}
body.page-photographer-details .photographer-message-modal {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	place-items: center;
	padding: 20px;
}
body.page-photographer-details .photographer-message-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 19, 38, .72);
	backdrop-filter: blur(4px);
}
body.page-photographer-details .photographer-message-panel {
	position: relative;
	width: min(100%, 560px);
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	padding: 28px;
	border: 1px solid rgba(255, 255, 255, .4);
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
}
body.page-photographer-details .photographer-message-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	background: #f1f5f9;
	color: #64748b;
}
body.page-photographer-details .photographer-message-heading {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-right: 34px;
	margin-bottom: 24px;
}
body.page-photographer-details .photographer-message-heading img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}
body.page-photographer-details .photographer-message-heading h2 {
	margin: 4px 0 0;
	color: #1e293b;
	font-size: 1.35rem;
	letter-spacing: -.04em;
}
body.page-photographer-details .photographer-message-panel label {
	display: block;
	margin-bottom: 16px;
	color: #334155;
	font-size: .78rem;
	font-weight: 600;
}
body.page-photographer-details .photographer-message-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
body.page-photographer-details .photographer-message-panel input,
body.page-photographer-details .photographer-message-panel textarea {
	display: block;
	width: 100%;
	margin-top: 7px;
	padding: 11px 12px;
	border: 1px solid #dbe2e8;
	border-radius: 10px;
	outline: 0;
	background: #f8fafc;
	color: #1e293b;
	font: 400 .78rem 'Space Grotesk';
}
body.page-photographer-details .photographer-message-panel input:focus,
body.page-photographer-details .photographer-message-panel textarea:focus {
	border-color: #84cc16;
	box-shadow: 0 0 0 3px rgba(132, 204, 22, .16);
}
body.page-photographer-details .photographer-message-note {
	margin: 0 0 18px;
	color: #64748b;
	font-size: .72rem;
}
body.page-photographer-details .photographer-message-note i {
	margin-right: 5px;
	color: #65a30d;
}
body.page-photographer-details .photographer-message-success {
	padding: 22px 8px 8px;
	text-align: center;
}
body.page-photographer-details .photographer-message-success>i {
	color: #65a30d;
	font-size: 2.5rem;
}
body.page-photographer-details .photographer-message-success h3 {
	margin: 12px 0 6px;
	color: #1e293b;
}
body.page-photographer-details .photographer-message-success p {
	margin-bottom: 20px;
	color: #64748b;
}
body.page-photographer-details .photographer-showcase-tabs {
	display: flex;
	gap: 25px;
	padding: 0 18px;
	border: 1px solid #e2e5e8;
	border-top: 0;
	background: #fff;
}
body.page-photographer-details .photographer-showcase-tabs a {
	padding: 14px 0 11px;
	border-bottom: 2px solid transparent;
	color: #7b858d;
	font: 500 .61rem 'DM Mono';
	text-decoration: none;
	text-transform: uppercase;
}
body.page-photographer-details .photographer-showcase-tabs a.active,
body.page-photographer-details .photographer-showcase-tabs a:hover {
	border-bottom-color: #55a63a;
	color: #283139;
}
body.page-photographer-details .photographer-showcase-toolbar {
	display: flex;
	align-items: end;
	justify-content: space-between;
	margin: 28px 0 14px;
}
body.page-photographer-details .showcase-eyebrow {
	color: #74808a;
	font: 500 .56rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-details .photographer-showcase-toolbar h2 {
	margin: 6px 0 0;
	color: #273039;
	font-size: 1.35rem;
	letter-spacing: -.06em;
}
body.page-photographer-details .photographer-showcase-toolbar button {
	border: 1px solid #d3d9dd;
	background: #fff;
	color: #56626b;
	padding: 8px 11px;
	font: 500 .58rem 'DM Mono';
}
body.page-photographer-details .photographer-album-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
body.page-photographer-details .photographer-album-card {
	min-width: 0;
	background: #fff;
	border: 1px solid #e1e5e8;
	color: #283139;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}
body.page-photographer-details .photographer-album-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 22px rgba(32, 42, 50, .1);
}
body.page-photographer-details .photographer-album-card img {
	display: block;
	width: 100%;
	height: 142px;
	object-fit: cover;
}
body.page-photographer-details .photographer-album-card div {
	padding: 11px 12px 13px;
}
body.page-photographer-details .photographer-album-card strong,
body.page-photographer-details .photographer-album-card span {
	display: block;
}

body.page-photographer-details .photographer-album-card span {
	margin-top: 5px;
	color: #7d8991;
	
}
body.page-photographer-details .photographer-showcase-about {
	
	margin: 34px 0 60px;
	padding-top: 20px;
	border-top: 1px solid #dfe4e7;
}
body.page-photographer-details .photographer-showcase-about p {
	margin: 8px 0 0;
	color: #66737c;
	font-size: .88rem;
	line-height: 1.7;
}
body.page-photographer-details .photographer-cta-row {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
}
body.page-photographer-details .photographer-booking-cta h2 {
	color: #fff;
}
body.page-photographer-details .photographer-booking-cta p {
	max-width: 560px;
	margin: 14px 0 0;
	color: rgba(255, 255, 255, .72);
	line-height: 1.6;
}

/* Match the photographer profile to the Explore hero language. */
body.page-photographer-details .photographer-detail-hero {
	min-height: 510px;
	padding: 42px 0 58px;
	background: linear-gradient(90deg, rgba(11, 45, 91, .98) 0%, rgba(11, 45, 91, .83) 46%, rgba(11, 45, 91, .35) 100%), url("https://images.unsplash.com/photo-1551836022-d5d88e9218df?auto=format&fit=crop&w=1800&q=90") center/cover no-repeat;
	position: relative;
	overflow: hidden;
}
body.page-photographer-details .photographer-detail-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 82% 22%, rgba(34, 197, 94, .2), transparent 28%);
	pointer-events: none;
}
body.page-photographer-details .photographer-detail-hero .container-xl {
	position: relative;
	z-index: 1;
}
body.page-photographer-details .photographer-profile-hero-grid {
	grid-template-columns: 104px minmax(0, 680px);
	gap: 24px;
	align-items: start;
	margin-top: 52px;
}
body.page-photographer-details .photographer-profile-photo {
	min-height: 104px;
	height: 104px;
	border: 3px solid #fff;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
}
body.page-photographer-details .photographer-profile-photo img {
	min-height: 104px;
	height: 104px;
}
body.page-photographer-details .photographer-profile-photo span {
	display: none;
}
body.page-photographer-details .photographer-profile-intro h1 {
	margin: 4px 0 14px;
	font-size: clamp(3rem, 6vw, 6rem);
}
body.page-photographer-details .photographer-lead {
	max-width: 560px;
	font-size: 1rem;
}
body.page-photographer-details .photographer-quick-facts {
	margin-top: 30px;
	max-width: 560px;
}
body.page-photographer-details .photographer-portfolio-section {
	background: #fff;
}
body.page-photographer-details .photographer-portfolio-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(2, 220px);
	gap: 14px;
}
body.page-photographer-details .photographer-portfolio-grid .portfolio-feature {
	grid-row: 1 / 3;
}
body.page-photographer-details .photographer-portfolio-grid figure {
	box-shadow: 0 8px 22px rgba(11, 45, 91, .08);
}
body.page-photographer-details .photographer-portfolio-grid figcaption {
	padding: 42px 14px 12px;
}
@media (max-width: 991px) {
	body.page-photographer-details .photographer-profile-hero-grid, body.page-photographer-details .photographer-about-grid, body.page-photographer-details .photographer-review-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	body.page-photographer-details .photographer-profile-photo {
		min-height: 420px;
	}
	body.page-photographer-details .photographer-profile-photo img {
		min-height: 420px;
	}
	body.page-photographer-details .photographer-service-grid {
		grid-template-columns: 1fr;
	}
	body.page-photographer-details .photographer-profile-hero-grid {
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 18px;
	}
	body.page-photographer-details .photographer-profile-photo,
	body.page-photographer-details .photographer-profile-photo img {
		min-height: 86px;
		height: 86px;
	}
	body.page-photographer-details .photographer-album-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 575px) {
	body.page-photographer-details .photographer-detail-hero, body.page-photographer-details .photographer-detail-section {
		padding: 58px 0;
	}
	body.page-photographer-details .photographer-profile-photo, body.page-photographer-details .photographer-profile-photo img {
		min-height: 330px;
	}
	body.page-photographer-details .photographer-section-heading, body.page-photographer-details .photographer-cta-row {
		align-items: flex-start;
		flex-direction: column;
	}
	body.page-photographer-details .photographer-portfolio-grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 220px 160px 160px;
	}
	body.page-photographer-details .photographer-portfolio-grid .portfolio-feature {
		grid-column: 1 / 3;
		grid-row: auto;
	}
	body.page-photographer-details .photographer-cover {
		height: 190px;
	}
	body.page-photographer-details .photographer-showcase-heading {
		padding: 0 12px 16px;
	}
	body.page-photographer-details .photographer-showcase-contact {
		font-size: 0;
		padding: 9px 11px;
	}
	body.page-photographer-details .photographer-showcase-contact i {
		font-size: .8rem;
		margin: 0;
	}
	body.page-photographer-details .photographer-showcase-meta {
		gap: 7px;
	}
	body.page-photographer-details .photographer-album-grid {
		grid-template-columns: 1fr;
	}
	body.page-photographer-details .photographer-album-card img {
		height: 180px;
	}
	body.page-photographer-details .footer-main {
		margin-left: 0;
		margin-right: 0;
	}
}

/* Final Explore-style treatment for the public photographer profile. */

body.page-photographer-details .photographer-cover {
	height: 440px;
	justify-content: initial;
	background: linear-gradient(135deg, rgba(11, 45, 91, .96), rgba(18, 66, 115, .78)), url("https://images.unsplash.com/photo-1547347298-4074fc3086f0?auto=format&fit=crop&w=1800&q=80") center/cover no-repeat;
	border: 0;
}
body.page-photographer-details .photographer-cover::after {
	background: radial-gradient(circle at 78% 18%, rgba(34, 197, 94, .2), transparent 28%);
}
body.page-photographer-details .photographer-cover-mark {
	margin-left: max(24px, calc((100vw - 1140px) / 2));
	color: rgba(255, 255, 255, .92);
	font-family: 'Space Grotesk';
	font-size: clamp(3rem, 8vw, 7rem);
	line-height: normal;
	letter-spacing: -.1em;
}
body.page-photographer-details .photographer-cover-mark span {
	display: inline;
	margin-top: 0;
	color: rgba(255, 255, 255, .65);
	font: 500 .62rem 'DM Mono';
	letter-spacing: .38em;
}
body.page-photographer-details .photographer-cover-content {
	position: relative;
	z-index: 1;
	padding-top: 62px;
	padding-bottom: 34px;
	color: #fff;
}
body.page-photographer-details .photographer-hero-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	font: 500 .66rem 'DM Mono';
	letter-spacing: .1em;
	text-transform: uppercase;
}
body.page-photographer-details .photographer-hero-kicker .live-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 6px rgba(34, 197, 94, .16);
}
body.page-photographer-details .photographer-cover-content h1 {
	max-width: 700px;
	margin: 20px 0 14px;
	color: #fff;
	font-size: clamp(2.8rem, 5vw, 5.3rem);
	line-height: .9;
	letter-spacing: -.08em;
}
body.page-photographer-details .photographer-cover-content h1 em {
	color: #ff8a00;
	font-style: normal;
}
body.page-photographer-details .photographer-cover-content>p {
	max-width: 600px;
	margin: 0;
	color: rgba(255, 255, 255, .8);
	font-size: 1rem;
	line-height: 1.55;
}
body.page-photographer-details .photographer-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px;
}
body.page-photographer-details .photographer-hero-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 150px));
	gap: 12px;
	margin-top: 25px;
}
body.page-photographer-details .photographer-hero-stats span {
	padding: 11px 13px;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 15px;
	background: rgba(255, 255, 255, .07);
	color: rgba(255, 255, 255, .72);
	font: 500 .58rem 'DM Mono';
	text-transform: uppercase;
}
body.page-photographer-details .photographer-hero-stats strong {
	display: block;
	margin-bottom: 4px;
	color: #fff;
	font-size: 1.08rem;
}
body.page-photographer-details .photographer-showcase-body {
	position: relative;
	margin-top: 0;
}
body.page-photographer-details .photographer-showcase-heading {
	position: relative;
	min-height: 158px;
	padding-top: 0;
	border-radius: 0 0 15px 15px;
	box-shadow: 0 14px 32px rgba(11, 45, 91, .1);
}
body.page-photographer-details .photographer-showcase-avatar {
	width: 112px;
	height: 112px;
	margin-top: -54px;
	border-radius: 15px;
	box-shadow: 0 8px 20px rgba(11, 45, 91, .2);
}
body.page-photographer-details .photographer-showcase-avatar-column {
	flex: 0 0 112px;
	margin-top: -58px;
}
body.page-photographer-details .photographer-showcase-avatar-column .photographer-showcase-avatar {
	margin-top: 0;
}
body.page-photographer-details .photographer-avatar-facts {
	
	margin-top: 10px;
	text-align: center;
}
body.page-photographer-details .photographer-avatar-facts span {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 7px 4px;
	border: 1px solid #dfe6ed;
	border-radius: 10px;
	background: #f7faff;
}
body.page-photographer-details .photographer-avatar-facts strong {
	color: #0b2d5b;
	font-size: .82rem;
}
body.page-photographer-details .photographer-avatar-facts small {
	color: #718096;
	font: 500 .48rem 'DM Mono';
	text-transform: uppercase;
}
body.page-photographer-details .photographer-avatar-facts i {
	color: #ff8a00;
	margin-right: 2px;
}
body.page-photographer-details .photographer-showcase-tabs {
	margin-top: 14px;
	border: 1px solid #e2e8f0;
	border-radius: 15px;
	box-shadow: 0 8px 18px rgba(11, 45, 91, .05);
}
body.page-photographer-details .photographer-showcase-contact,
body.page-photographer-details .photographer-showcase-toolbar button {
	border-radius: 12px;
}
body.page-photographer-details .photographer-album-card {
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(11, 45, 91, .05);
}
body.page-photographer-details .photographer-album-card img {
	height: 250px;
}
@media (max-width: 575px) {
	body.page-photographer-details .photographer-cover {
		height: auto;
		min-height: 560px;
	}
	body.page-photographer-details .photographer-cover-content {
		padding-top: 38px;
		padding-bottom: 42px;
	}
	body.page-photographer-details .photographer-cover-content h1 {
		font-size: 3.25rem;
	}
	body.page-photographer-details .photographer-cover-content>p {
		font-size: .9rem;
	}
	body.page-photographer-details .photographer-hero-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.page-photographer-details .photographer-cover-mark {
		margin-left: 18px;
		font-size: 3.3rem;
	}
	body.page-photographer-details .photographer-showcase-heading {
		min-height: 174px;
		padding: 0 12px 16px;
	}
	body.page-photographer-details .photographer-showcase-avatar {
		width: 86px;
		height: 86px;
		margin-top: -44px;
	}
	body.page-photographer-details .photographer-showcase-avatar-column {
		flex-basis: 86px;
		margin-top: -44px;
	}
	body.page-photographer-details .photographer-showcase-identity {
		padding-top: 12px;
	}
	body.page-photographer-details .photographer-showcase-identity h1 {
		font-size: 1.45rem;
	}
	body.page-photographer-details .photographer-showcase-contact {
		position: absolute;
		top: 48px;
		right: 12px;
		margin: 0;
	}
}

/* Public page heroes share the event archive visual language. */
body:not(.customer-app):not(.page-login):not(.page-signup):not(.page-photographer-details) :is(.about-hero, .browse-hero, .cart-hero, .contact-hero, .membership-page-hero, .detail-hero, .events-page-hero, .people-hero) {
	background: linear-gradient(135deg, rgba(11, 45, 91, .96), rgba(18, 66, 115, .87)), url("https://images.unsplash.com/photo-1547347298-4074fc3086f0?auto=format&fit=crop&w=1800&q=80") center/cover no-repeat;
	color: #fff;
}

body:not(.customer-app):not(.page-login):not(.page-signup):not(.page-photographer-details) :is(.feature-story, .mission-card, .story-card, .content-card, .cart-list-card, .cart-summary-card, .checkout-card, .contact-panel, .info-panel, .support-card, .contact-bottom-card, .pricing-card, .event-card, .person-card, .gallery-item, .related-card, .review-card, .search-card, .sport-card, .feature-band, .cta-panel, .timeline-box, .stat-box, .archive-card, .directory-event, .photographer-card) {
	border-radius: 15px;
	border: 1px solid rgba(11, 45, 91, .08);
	box-shadow: 0 10px 24px rgba(11, 45, 91, .05);
	transition: transform .25s ease, box-shadow .25s ease;
}

body:not(.customer-app):not(.page-login):not(.page-signup):not(.page-photographer-details) :is(.feature-story, .mission-card, .story-card, .content-card, .cart-list-card, .cart-summary-card, .checkout-card, .contact-panel, .info-panel, .support-card, .contact-bottom-card, .pricing-card, .event-card, .person-card, .gallery-item, .related-card, .review-card, .search-card, .sport-card, .feature-band, .cta-panel, .timeline-box, .stat-box, .archive-card, .directory-event, .photographer-card):hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 42px rgba(11, 45, 91, .1);
}

/* Photographer watermark studio. */
.watermark-studio {
	padding: 78px 0 88px;
	background: #1c2a3b;
	color: #fff;
}
.watermark-studio-heading {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: end;
	margin-bottom: 30px;
}
.watermark-studio-heading h2 {
	margin: 10px 0 0;
	font-size: clamp(2.2rem, 4vw, 4rem);
	line-height: .95;
	letter-spacing: -.07em;
}
.watermark-studio-heading h2 em {
	color: #ff8a00;
	font-style: normal;
}
.watermark-studio-heading>p {
	max-width: 520px;
	margin: 0 0 4px;
	color: rgba(255, 255, 255, .7);
	font-size: .86rem;
	line-height: 1.6;
}
.watermark-studio-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, .95fr);
	gap: 30px;
	align-items: stretch;
}
.watermark-preview-shell {
	min-width: 0;
	padding: 14px;
	border-radius: 16px;
	background: #101827;
}
.watermark-preview {
	position: relative;
	min-height: 510px;
	overflow: hidden;
	border-radius: 12px;
	background: #070d18;
}
.watermark-preview>img {
	width: 100%;
	height: 100%;
	min-height: 510px;
	display: block;
	object-fit: cover;
}
.watermark-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.watermark-mark {
	position: absolute;
	padding: 5px 8px;
	color: rgba(255, 255, 255, var(--watermark-opacity));
	font: 700 var(--watermark-size) 'Space Grotesk';
	letter-spacing: .04em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	transform: rotate(var(--watermark-rotation));
	text-shadow: 0 1px 5px rgba(0, 0, 0, .45);
}
.watermark-overlay[data-type="logo"] .watermark-mark::before {
	content: '◆ ';
	color: #ff8a00;
}
.watermark-overlay[data-position="bottom-right"] .watermark-mark { right: 8%; bottom: 9%; }
.watermark-overlay[data-position="bottom-left"] .watermark-mark { left: 8%; bottom: 9%; }
.watermark-overlay[data-position="center"] .watermark-mark { left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(var(--watermark-rotation)); }
.watermark-overlay[data-position="top-right"] .watermark-mark { right: 8%; top: 9%; }
.watermark-overlay.is-tiled {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(6, 1fr);
	place-items: center;
	transform: rotate(-4deg) scale(1.2);
}
.watermark-overlay.is-tiled .watermark-mark {
	position: static;
	font-size: clamp(11px, 1.3vw, var(--watermark-size));
	opacity: .8;
}
.watermark-preview-note {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	display: flex;
	gap: 8px;
	align-items: center;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(7, 13, 24, .78);
	color: rgba(255, 255, 255, .75);
	font-size: .62rem;
	backdrop-filter: blur(8px);
}
.watermark-preview-note i { color: #ff8a00; }
.watermark-preview.has-motion .watermark-overlay { animation: watermark-glass-motion 5s ease-in-out infinite; }
@keyframes watermark-glass-motion { 0%, 100% { opacity: .82; } 50% { opacity: 1; } }
.watermark-controls {
	display: flex;
	flex-direction: column;
	gap: 17px;
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 16px;
	background: #0e1624;
}
.watermark-control-header { display: flex; flex-direction: column; gap: 6px; }
.watermark-control-header span, .watermark-control-row>span, .watermark-range>span, .watermark-toggle>span {
	color: rgba(255, 255, 255, .6);
	font: 500 .58rem 'DM Mono';
	letter-spacing: .06em;
}
.watermark-control-header strong { font-size: 1.35rem; }
.watermark-field, .watermark-range { display: flex; flex-direction: column; gap: 7px; }
.watermark-field>span { color: rgba(255, 255, 255, .72); font-size: .68rem; }
.watermark-field input, .watermark-control-row select {
	width: 100%;
	min-height: 36px;
	padding: 8px 10px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 7px;
	background: #182333;
	color: #fff;
	font-size: .72rem;
}
.watermark-field input[type="file"] { padding: 6px; }
.watermark-control-row { display: flex; flex-direction: column; gap: 8px; }
.watermark-segmented { display: flex; gap: 5px; }
.watermark-segmented button {
	padding: 7px 13px;
	border: 0;
	border-radius: 999px;
	background: #182333;
	color: rgba(255, 255, 255, .7);
	font-size: .68rem;
	cursor: pointer;
}
.watermark-segmented button.active { background: #ff8a00; color: #fff; }
.watermark-range>span { display: flex; justify-content: space-between; }
.watermark-range output { color: #ff8a00; }
.watermark-range input { accent-color: #ff8a00; }
.watermark-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; }
.watermark-toggle small { color: rgba(255, 255, 255, .4); }
.watermark-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.watermark-toggle i { position: relative; width: 34px; height: 18px; border-radius: 999px; background: #29364a; }
.watermark-toggle i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; border-radius: 50%; background: #fff; transition: transform .2s; }
.watermark-toggle input:checked+i { background: #ff8a00; }
.watermark-toggle input:checked+i::after { transform: translateX(16px); }
@media (max-width: 900px) {
	.watermark-studio-heading, .watermark-studio-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
	.watermark-studio { padding: 56px 0 64px; }
	.watermark-preview, .watermark-preview>img { min-height: 360px; }
	.watermark-controls { padding: 18px; }
}

body:not(.customer-app):not(.page-login):not(.page-signup):not(.page-photographer-details) :is(.about-hero, .browse-hero, .cart-hero, .contact-hero, .membership-page-hero, .detail-hero, .events-page-hero, .people-hero) :is(h1, h2, h3, h4, p, span, small, strong, em, .section-kicker, .hero-kicker, .hero-meta, .meta-pill, .people-label) {
	color: #fff !important;
}

/* Reference-style membership pricing. */
body.page-membership .membership-billing {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0 auto 34px;
	padding: 4px;
	border: 1px solid rgba(11, 45, 91, .08);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(11, 45, 91, .06);
}
body.page-membership #plans>.container-xl {
	display: flex;
	flex-direction: column;
}
body.page-membership .billing-option {
	border: 0;
	border-radius: 999px;
	padding: 9px 16px;
	background: transparent;
	color: #58729d;
	font: 600 .76rem 'Space Grotesk';
	cursor: pointer;
}
body.page-membership .billing-option.active {
	background: #22c55e;
	color: #0b2d5b;
}
body.page-membership .billing-save {
	padding: 0 12px 0 7px;
	color: #587c32;
	font: 600 .58rem 'DM Mono';
	text-transform: uppercase;
}
body.page-membership .reference-pricing-grid {
	gap: 18px;
	align-items: stretch;
}
body.page-membership .reference-pricing-card {
	position: relative;
	overflow: hidden;
	min-height: 650px;
	padding: 25px 22px 20px;
	border-radius: 20px;
	box-shadow: 0 10px 24px rgba(11, 45, 91, .07);
	transition: transform .25s ease, box-shadow .25s ease;
}
body.page-membership .reference-pricing-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: #ff8a00;
	opacity: .85;
}
body.page-membership .reference-pricing-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 42px rgba(11, 45, 91, .14);
}
body.page-membership .reference-pricing-card.pricing-card-featured {
	transform: none;
	background: #1c2a3b;
	box-shadow: 0 16px 30px rgba(11, 45, 91, .18);
}
body.page-membership .reference-pricing-card.pricing-card-featured:hover {
	transform: translateY(-6px);
}
body.page-membership .reference-pricing-card.pricing-card-custom {
	background: #fff;
	color: #0b2d5b;
}
body.page-membership .reference-pricing-card.pricing-card-custom .pricing-badge {
	background: rgba(11, 45, 91, .08);
	color: #53743a;
}
body.page-membership .pricing-card-intro {
	min-height: 48px;
	margin: 0;
	color: #607087;
	font-size: .78rem;
	line-height: 1.5;
}
body.page-membership .reference-pricing-card .pricing-badge {
	background: rgba(255, 138, 0, .12);
	color: #b35d00;
	font-weight: 700;
}
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-badge {
	background: rgba(255, 138, 0, .2);
	color: #ffb347;
}
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-card-intro {
	color: rgba(255, 255, 255, .7);
}
body.page-membership .reference-pricing-card.pricing-card-custom .pricing-card-intro {
	color: #607087;
}
body.page-membership .reference-pricing-card .price-line {
	gap: 6px;
	margin: 17px 0 14px;
}
body.page-membership .reference-pricing-card .price-line strong {
	font-size: clamp(2.3rem, 3.5vw, 3.15rem);
	letter-spacing: -.075em;
	color: #1c2a3b;
}
body.page-membership .reference-pricing-card .price-line span {
	color: #7a8490;
	font-size: .68rem;
	line-height: 1.2;
}
body.page-membership .reference-pricing-card.pricing-card-featured .price-line strong,
body.page-membership .reference-pricing-card.pricing-card-featured .price-line span {
	color: #fff;
}
body.page-membership .reference-pricing-card.pricing-card-custom .price-line strong {
	color: #1c2a3b;
}
body.page-membership .pricing-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 20px;
	padding: 12px 0;
	border-top: 1px solid rgba(11, 45, 91, .1);
	border-bottom: 1px solid rgba(11, 45, 91, .1);
}
body.page-membership .pricing-stats span {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
body.page-membership .pricing-stats small,
body.page-membership .pricing-list-label {
	color: #778291;
	font: 500 .54rem 'DM Mono';
	letter-spacing: .06em;
	text-transform: uppercase;
}
body.page-membership .pricing-stats strong {
	color: #22c55e;
	font-size: 1.35rem;
}
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-stats {
	border-color: rgba(255, 255, 255, .16);
}
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-stats small,
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-list-label {
	color: rgba(255, 255, 255, .6);
}
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-stats strong {
	color: #22c55e;
}
body.page-membership .reference-pricing-card.pricing-card-custom .pricing-stats strong {
	color: #22c55e;
}
body.page-membership .reference-pricing-card.pricing-card-custom h3,
body.page-membership .reference-pricing-card.pricing-card-custom .pricing-card-intro,
body.page-membership .reference-pricing-card.pricing-card-custom .price-line strong,
body.page-membership .reference-pricing-card.pricing-card-custom .price-line span,
body.page-membership .reference-pricing-card.pricing-card-custom .pricing-list-label,
body.page-membership .reference-pricing-card.pricing-card-custom li {
	color: #1c2a3b;
}
body.page-membership .pricing-list-label {
	margin: 0 0 12px;
}
body.page-membership .reference-pricing-card ul {
	gap: 10px;
	margin-bottom: 22px;
}
body.page-membership .reference-pricing-card li {
	align-items: flex-start;
	font-size: .78rem;
	line-height: 1.35;
}
body.page-membership .reference-pricing-card li i {
	flex: 0 0 auto;
	font-size: .78rem;
	margin-top: 2px;
}
body.page-membership .pricing-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	margin-top: auto;
	border: 1px solid rgba(11, 45, 91, .12);
	border-radius: 999px;
	background: #fff;
	color: #34475a;
	font-size: .74rem;
	font-weight: 700;
}
body.page-membership .pricing-cta:hover {
	background: #f4f8ff;
	color: #0b2d5b;
}
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-cta {
	border-color: #22c55e;
	background: #22c55e;
	color: #0b2d5b;
}
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-cta:hover {
	background: #22c55e;
}
@media (max-width: 991px) {
	body.page-membership .reference-pricing-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 575px) {
	body.page-membership .reference-pricing-grid {
	grid-template-columns: 1fr;
	}
	body.page-membership .reference-pricing-card {
	min-height: 0;
	}
}

/* Membership accent override. */
body.page-membership .billing-option.active,
body.page-membership .pricing-stats strong,
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-stats strong,
body.page-membership .reference-pricing-card.pricing-card-custom .pricing-stats strong,
body.page-membership .pricing-card i,
body.page-membership .pricing-table i {
	color: #ff8a00;
}
body.page-membership .billing-option.active,
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-cta {
	background: #ff8a00;
	border-color: #ff8a00;
	color: #fff;
}
body.page-membership .billing-save {
	color: #b35d00;
}
body.page-membership .pricing-card-featured i,
body.page-membership .pricing-card-custom i {
	color: #ffb347;
}
body.page-membership .reference-pricing-card.pricing-card-featured .pricing-cta:hover {
	background: #ff8a00;
	color: #fff;
}
body:is(.page-events, .page-browse-photos, .page-about, .page-blog, .page-contact, .page-membership, .page-cart, .page-event-details, .page-photographers) .site-ad-banner {
	display: none;
}

.rc-event{
	    border-radius: 15px;
	    padding:20px;
	   background:#fff;
    border: 1px solid rgba(11, 45, 91, .08);
    box-shadow: 0 10px 24px rgba(11, 45, 91, .05);
    transition: transform .25s ease, box-shadow .25s ease;
}