/* Before adding any unnecessary CSS rules, please check out the Snap documentation at https://bit.ly/3PqSii8. */
/* Override Styles */
[x-cloak] { display: none !important; }
.service-style-1 h2 {
	margin: 10px 0;
}
#in-services-style-2.squares .ry-each:before, #in-services-style-2.squares .ry-each img {border-radius: 0;}
.testimonials-swiper p,
.testimonials-swiper-2 p{
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4
}
/* Match interior body copy to homepage size on tablet/desktop */
@media (min-width: 768px) {
	#contents .text-base.leading-6.text-gray-600 {
		font-size: 1.25rem;    /* 20px */
		line-height: 1.75rem;  /* 28px */
	}
}

.mm-navbar {
	color: #ffffff;
}

.homepage-swiper h2 {
	text-shadow: 2px 2px 10px rgb(0 0 0 / 20%);
	letter-spacing: 4px;
	font-size: clamp(2.5rem, 1.8627rem + 2.6144vw, 5rem);
	line-height: 120%;
}

#ry-pg-body :is(.navigation-3) {
	position: relative !important;
}

.mm-navbar__title > span {
	color: #fff;
}

nav#menu-style-4 * {
	text-transform: uppercase;
	font-size: 14px;
}
.mm-navbar__title>span {
    -o-text-overflow: unset;
    text-overflow: wrap;
    white-space: wrap;
    overflow: hidden;
    text-align:start
}
@media (min-width: 1024px) {
	.navigation-3.fixed > .block.lg\:absolute.inset-0 {
		position: relative;
	}
	.ry-menu .ry-nav li.primary {
		margin-top: 0px;
	}
}

@media (max-width: 1440px) {
	div#navigation-style-4.container {
		max-width: 100%;
		width: 96%;
	}
}

div#navigation-style-4 {
	max-width: 100%;
	width: 96%;
}

body#ry-pg-body div#navigation-style-4 {
	padding: 1em 0 !important;
}

body#page div#navigation-style-4 {
	padding: .75em 1em !important;
	background: #f7f3ee;
	border-radius: 500px;
	margin-top: 1.5em;
	box-shadow: 20px 2px 50px rgb(0 0 0 / 10%);
}

body#page div#navigation.navigation-4:not(.bg-White99) #navigation-style-4  .max-w-\[240px\] {
	margin: -5px 0 -5px -5px;
}

div#navigation.navigation-4.bg-White99 div#navigation-style-4 {
	margin-top: 0em;
	background: transparent;
	box-shadow: none;
}

body#ry-pg-body div#navigation {
	position: fixed;
}

#navigation-style-4  .max-w-\[240px\]{
	max-width: 250px;
}

@media (max-width: 1200px) { 
	div#navigation-style-4 {
		max-width: 90%;
	}
	.ry-menu .ry-nav {
		gap: 20px !important;
	}
	div#navigation-style-4 .cursor-pointer img {
		max-width: 260px;
	}
}
@media (max-width:767px) {

	.snap-mobile-menu .gap-6 {
		gap: 0 10px;
	}

	.homepage-swiper .slider-info {
		max-width: 100%;
		text-align: center;
		position:static !important;
	}

	.homepage-swiper .slider-info .mb-4 {
		margin-bottom:0 !important;
	}

	.homepage-swiper .homepage-swiper {
		margin-top: 0em;
	}

	.homepage-swiper .swiper-slide {
		padding-top:6em
	}

	.homepage-swiper .swiper-slide img {
		height: 100% !important;
	}
	.homepage-swiper .slider-info {
		padding-bottom: 50px;
	}
}

@media (max-width: 500px) {

	.snap-mobile-menu img { 
		max-height: 55px;
	}

	.snap-mobile-menu .gap-6 {
		gap: 0 10px;
	}
}

.homepage-swiper .swiper-slide img {
	object-position: center 0%;
}

@media (max-width: 1080px) {
	.homepage-swiper .swiper-slide img {
		height: 100% !important;
	}
	.slider-info {
		width: 100% !important;
		max-width: 100% !important;
	}
	.slider-info {
		width: 100%;
		max-width: 100%;
	}
	.homepage-swiper h2 {
		text-align: center !important;
	}
	#navigation-style-3,
	.navigation-3 .hidden.lg\:flex,
	.homepage-video-slider::before {
		display: none !important;
	}
}

@media (min-width: 1081px) {
	.homepage-video-slider {
		max-height: 100vh;
		overflow: hidden;
	}
	.homepage-video-slider::before {
		background: linear-gradient(to bottom, white 14%, transparent, transparent);
		opacity: 1;
		height: 50%;
	}
	.homepage-video-slider .text-xl h2,
	.homepage-video-slider .block p {
		text-shadow: 2px 2px 4px rgb(0 0 0 / 30%);
	}
}

#ry-footer ul {
	line-height: 2;
}

.slider-info-center-bottom {
	max-width: 100% !important;
}

body[data-page-name="frames"] #hp-brands-3::before {
	display: none;
}

/*@media(max-width:1680px) {
#navigation-style-4 .flex.flex-col {
flex-direction:column;
justify-content:center;
align-items:end;
gap:10px
}
}*/

/*--- HP SLIDER UPDATE ---*/


#hp-slider .slider-info {
	bottom:20px
}
#hp-slider .slider-info h1{
	font-size: clamp(2.5rem, 1.5441rem + 3.9216vw, 6.25rem);
	font-weight:400;
	line-height:1.2 !important
}

#hp-slider .slider-info h1 span {
	font-size: clamp(1.5rem, 1.4573rem + 0.2439vw, 1.75rem);
	display:block;
	width:fit-content;
	margin-inline:auto
}


@media(min-width:767px) {
	.homepage-swiper .swiper-slide .with-gradient::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 35%; 
		background: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.65) 0%,
			rgba(0, 0, 0, 0.2) 60%,
			rgba(0, 0, 0, 0) 100%   
		);
	}

	.homepage-swiper .swiper-slide {
		position: relative;
	}

	.homepage-swiper .swiper-slide img {
		display: block;
		width: 100%;
		height: auto;
	}

}
@media(max-width:991px) {
	#hp-slider .slider-info h1{
		font-size: clamp(2.1875rem, 1.7819rem + 1.6639vw, 2.8125rem);
	}
	#hp-slider .slider-info h1 span {
		margin-top:5px
	}
}

.ry-menu .ry-nav {
	margin-top: 8px;
	flex-wrap:nowrap
}

.swiper.homepage-team-swiper-2 {
	background: #f9f9f9;
	border-radius: 30px;
	overflow: hidden;
	padding-bottom: 120px;
	padding-top: 120px;
}

.mm-navbar {
	color: #ffffff;
}

.cta-btn.btn-transparent {
	background: transparent !important;
	color: #333;
	padding-left: 24px;
	border-right: 1px solid #9e9e9e !important;
	border-radius: 0 !important;
}

.cta-btn.btn-transparent span.cta-icon {
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	margin-right: 2px;
}

.cta-btn.btn-transparent span.cta-icon i.bi.bi-eyeglasses {
	font-size: 30px;
}

.cta-btn.btn-transparent:hover {
	color: var(--color-secondary-background) !important;
		}

.cta-btn.btn-transparent span {
	font-size: 20px;
	font-weight: 600 !important;
	display: block;
	margin-top: 5px;
	min-width: auto;
}
.cta-btn.btn-transparent a {
	width: auto;
}

.cta-btn.btn-transparent span {
	font-size: 20px;
	font-weight: 600 !important;
	display: block;
	margin-top: 5px;
}
.cta-btn.btn-transparent:nth-child(3) {
	border: 0 !important;
}

.cta-btn a:not(.cta-btn.btn-transparent a) {
	width: auto;
	font-size: 15px;
	font-weight: 700 !important;
}
.cta-btn a span {
	display: block;
	font-size: 12px;
	margin-bottom: 2px;
	letter-spacing: 2px;
	font-weight: 700 !important;
}

/*@media (max-width: 1380px) {
	div#navigation-style-4 .flex.flex-col.items-center {
		flex-direction: column;
		align-items: end;
		gap: 10px;
	}
	.cta-btn.ry-btn-primary .mr-2,
	.cta-btn.ry-btn-secondary .mr-2 {
		margin-right: .5em !important;
	}
	.cta-btn.ry-btn-primary .flex,
	.cta-btn.ry-btn-secondary .flex {
		display: flex !important;
	}
	div#navigation.navigation-4:not(.bg-White99) #navigation-style-4 img.w-full {
		margin: 0 !important;
		max-width: 250px !important;
	}
}

*/.welcome-text .btn-wrapper .btn-reviews {
	border:solid 1px var(--secondary-color);
	color:var(--secondary-color);
	border-radius:30px
}

.welcome-text .btn-wrapper .btn-reviews:hover {
	border:solid 1px var(--primary-color);
	color:var(--primary-color) !important;
}

.welcome-text .btn-wrapper {
	align-items:center;
	justify-content:center;
	flex-wrap:wrap
}
.welcome-text .btn-wrapper > div {
		display:flex;
		justify-content:center
}

@media(max-width:600px) {
	.welcome-text .btn-wrapper .ry-btn {
		max-width:450px !important;
		width:100% !important;
	}
	.welcome-text .btn-wrapper > div {
		width:100%;
}
}
@media (max-width: 1380px) {
	body#page div#navigation-style-4 {
		padding: .75em 1em !important;
		background: #f7f3ee !important;
		border-radius: 500px !important;
		margin-top: 1.5em !important;
		box-shadow: 20px 2px 50px rgb(0 0 0 / 10%) !important;
		gap:14px !important
	}
	body#page .cta-btn.ry-btn-primary, body#page .cta-btn.ry-btn-secondary {
		padding-right: 14px !important;
	}
	div#navigation.navigation-4.bg-White99 div#navigation-style-4 {
		margin-top: 0px !important;
		background: unset !important;
		box-shadow:unset !important
	}
}

@media (max-width: 1300px) {
	div#navigation-style-4 {
		display: none;
	}
	.snap-mobile-menu.flex.lg\:hidden {
		display: flex;
	}
	.module-welcome.style-5 .ry-container {
		width: 90%;
	}
}
@media (max-width: 1080px) {
	div#hp-slider {
		padding-top: 100px;
	}
	.module-welcome.style-5 .text-wrapper {
		max-width: 100%;
	}
	.module-welcome.style-5 .text-wrapper * {
		text-align: center !important;
	}
	.module-welcome.style-5 .text-wrapper .block.md\:text-xl.leading-6.text-gray-800.text-center.lg\:text-left div {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

@media (max-width: 991px) {
	.pricing-section .col-xs-12.w-full.mx-auto.\!mt-0.max-w-7xl.flex.gap-10.flex-col.md\:flex-row.\!mt-10.items-center.justify-between {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.pricing-section .col-xs-12.w-full.mx-auto.\!mt-0.max-w-7xl.flex.gap-10.flex-col.md\:flex-row.\!mt-10.items-center.justify-between * {
		text-align: center;
	}
	.cta-collection {
		grid-template-columns: repeat(1, minmax(0px, 1fr)) !important;
	}
	.cta-collection .cols-span-1.group {
		width: 100%;
		max-width: 400px;
		margin: auto;
	}
	#hp-slider .slider-info {
		position: relative;
		background: #1a3b52;
		box-shadow: none;
		margin: 0 !important;
		bottom: 0;
	}
	.welcome-text .flex.gap-2.justify-center {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	div#services-12 .hp-service * {
		text-align: center;
	}
}

@media (max-width: 767px) { 
	div#hp-slider {
		padding-top: 0px;
	}
	.module-testimonials .comments-holder.relative {
		padding-right: 20px;
		padding-left: 20px;
	}
}
/* --- BUILD START ---*/
:root {
	--content-font: Instrument Sans !important;
	--title-font: Fraunces !important;
	--site-font: Instrument Sans,sans-serif;;
	--primary-color: #C9552E;
	--secondary-color: #1B3B52;
	--border-color: #0e223312;
}

html {
    scroll-behavior: smooth;
}
html, body {
    overflow-x:hidden;
    overflow-y:auto
}
:target {
	scroll-margin-top:150px
}
::selection {
    background-color: #031943;
}
.link, .link a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    opacity: 0;
}
.homepage-swiper .ry-btn {
    margin-inline:auto !important
}
@media(max-width:1080px) {
    .swiper.homepage-team-swiper-2 {
    padding: 0px 0 ;
}
    .pricing-section .flex.max-w-7xl{
        flex-direction:column;
        justify-content:center;
        align-items:center
    }
    .pricing-section .flex.max-w-7xl  *{
        text-align:center
    }

    .module-welcome.style-5 .ry-each.image-wrapper .photo {
        max-width:400px;
        width:100%;
        height:100%;
        margin-inline:auto;
        padding:0;
        height:100%;
        width:100%
    }
    .module-welcome.style-5 .ry-each.image-wrapper .photo IMG {
        position:relative
    }
}
	
/* --- BUTTON STYLE---  */
.ry-btn {
     height:55px;
    padding:10PX 30px ; 
    line-height:1 !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    border-radius: 9px;
    text-transform:uppercase;
    font-size:16px;
    max-width:fit-content;
    min-width:fit-content;
    text-wrap:wrap;
    letter-spacing:0;
	text-decoration:none
}

.ry-btn:hover, a.ry-btn.ry-btn-secondary:hover, a.ry-btn.ry-btn-primary:hover {
    color:#fff !important
}
a.ry-btn.ry-btn-secondary {
    color:#FFF !important
}

.btn-wrapper {
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:20px
}
	
/* --- INSIDE PAGES ---  */	
#contents p {
	line-height:1.6;
	color: #6b7280;
	font-size:20px
}

#contents h3 {
    font-size:30px
}
#contents ul {
    list-style: disc;
    margin-top:15px;
    margin-left:30px
}

#contents ul li {
    color:#6b7280;
    font-size:20px;
	text-align:start;
}

#contents h1, #contents h2,#contents h3,#contents h4,#contents h5,#contents h6 {
	line-height: 1;
	font-weight:400 !important;
	color: var(--secondary-color);
	margin:0 0 10px
}
#contents .ry-container {
	max-width: 1280px;
	width:90%
}
	
b, strong {
    color: var(--tw-prose-bold);
}
	
.section a:not(a.ry-btn) {
	color:var(--primary-color);
	transition:all .3s ease;
	text-decoration:unset
}

.section a:not(a.ry-btn):hover {
	color:var(--secondary-color);
	text-underline-offset:3px;
	text-decoration:underline
}
#contents .banner-wrapper{
    height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    align-items:start;
}
#contents .banner-wrapper .ry-headline h2 {
    line-height:.5 !important
    
}
#contents .banner-wrapper .ry-headline h2 a {
    text-decoration:unset !important;
    color:var(--primary-color);
    font-size:.8em;
}

#contents .banner-wrapper h2 a:hover {
    color:var(--secondary-color);
}
#contents .banner-wrapper .ry-container {
	max-width:1600px;
	width:90%
}
#contents .btn-wrapper {
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:25px
}
#contents .btn-wrapper a {
	text-wrap:nowrap
}
#contents .btn-wrapper > div {
	display:flex;
	align-items:center;
}
#contents .banner-wrapper {
    height:100vh;
    min-height:fit-content;
	padding-block:60px;
	margin-top:100px;
}
#contents .banner-wrapper .btn-reviews {
	border:solid 1px var(--secondary-color);
	color:var(--secondary-color);
	border-radius:30px
}
#contents .banner-wrapper .btn-reviews:hover {
	border:solid 1px var(--primary-color);
	color:var(--primary-color) !important;
}
#contents .banner-wrapper .flex {
    align-items:center;
    justify-content:space-between;
    gap:40px;
    margin:0 0 5%
}
#contents .banner-wrapper .ry-right {
    overflow:hidden
}
#contents .banner-wrapper .ry-right img {
    object-fit:cover;
	margin:0;
	border-radius:30px;
}
#contents .banner-wrapper .ry-right,
#contents .banner-wrapper .ry-left {
    width:47%
}

#contents .banner-text h1{
    font-size: clamp(2.1875rem, 1.598rem + 2.4183vw, 4.5rem);
    color: var(--secondary-color);
    font-family: var(--title-font);
    font-weight:400;
    margin-bottom:15px
}

#contents .banner-text h1 span {
    font-size: 18px;
    text-transform: uppercase;
    color: var(--primary-color);
    font-family: var(--site-font);
    display:block;
    margin-bottom:10px
}
#contents .banner-text p {
    font-size: 24px;
    color: #373151;;
}

#contents .banner-text p span {
    display:block;
    margin-top:20px;
    position:relative;
    font-size: 18px;
    color: #6b7280;
}
#contents .banner-text span {
  font-size: 18px;
}
	
#contents .banner-text p span:before{
    content:"";
    position:relative;
    width:25%;
    height:2px;
    min-width:150px;
    background:var(--primary-color);
    display:block;
    margin-bottom:20px;
    
}

@media(max-width:1600px) {
    #contents .btn-wrapper {
        flex-wrap:wrap
    }
}

@media(max-width:520px) {
    #contents .btn-wrapper .ry-btn {
        width:100% !important;
        max-width:350px !important
    }
    #contents .btn-wrapper > div {
        width:100%
    }
}
/* --SECOND BANNER---*/
#contents .ry-headline h2,
#contents h2{
    font-size: clamp(2.1875rem, 1.6299rem + 2.2876vw, 4.375rem);
    font-family: var(--title-font);
    font-weight:400;
    letter-spacing:-2px
}
#contents .ry-headline p,
#contents h2 span{
     color: #f5a08a;
    font-family:var(--site-font);
    text-transform:uppercase;
    margin-bottom:10px;
	font-weight:normal
}
#contents .secondary-section .ry-headline h2,
#contents .secondary-section .ry-headline h3{
    color: #f7f3ed;
}
#contents .secondary-section .ry-headline h3 {
	font-size: clamp(1.875rem, 1.5564rem + 1.3072vw, 3.125rem);
}
#contents .secondary-section .ry-headline span {
     color: #f5a08a;
    font-family: var(--title-font);
	text-transform:none;
	font-weight:inherit;
	display:inline;
	font-size:inherit
}
#contents .secondary-section .ry-container {
    max-width:1280px;
    width:90%
}
#contents .secondary-section,
#contents .secondary-section{
    background:var(--secondary-color);
    padding-block:100PX
}
#contents .secondary-section .ry-text {
    margin-top:25px;
    max-width:1000px;
    width:100%
}
#contents .secondary-section p {
    color:#fff;
}
#contents .ry-text p {
	font-size: 18px;
	font-weight: 400;
	line-height:1.6;
     color: #6b7280;
}
#contents .ry-headline p,
#contents h2 span{
    color:var(--primary-color)
}
#contents h2 span {
	display:block;
	font-size:18px;
	letter-spacing:1px
}
#contents .secondary-section .ry-text p {
	color: #ffffff;
}

#contents .ry-section.section {
    padding-block:100px;
    background:#FFF
}

#contents .ry-headline,
#contents h2{
	max-width:900px
}
#contents .pricing-pg .ry-headline, #contents .pricing-pg h2 {
    max-width: unset
}
#contents .pricing-pg h3 {
    color:var(--primary-color)
}
#contents .ry-headline h2{
	margin-bottom:40px !important;
}
#contents .ry-section.section .ry-container {
    max-width:1280px
}
.photoslot {
    aspect-ratio: 16 / 5;
    border: 2px dashed var(--primary-color);
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:#c9552e0e;
    display:flex;
}
/* --- 3 COLUMN LAYOUT --- */
.three-col {
    display:flex;
    gap:25px;
    justify-content:space-between;
    margin-top:40px
}

.three-col .ry-each {
    width:calc(100% / 3 - 25px);
    border-radius: 10px;
    background-color: #f6f4ee78;
    border: 1px solid #cecece;
    padding:25px;
	position:relative
}
.three-col .ry-each.active {
    border-color:var(--primary-color);
    background:#F7F3EE
}
.three-col .ry-each img {
    width:100%;
    object-fit:cover;
    margin-inline:auto;
}

.three-col .ry-each h3 {
	margin-block:20px;
	font-size: 25px;
}

.three-col .ry-each h3 span {
    display:block;
    text-transform:uppercase;
    font-family:var(--site-font);
    font-size: 16px;;
    color:var(--primary-color);
    margin-bottom:10px
}

.three-col .ry-each  .icon {
    width:45px;
    height:45px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--primary-color);
    margin-top:20px;
    transition:all .3s ease
}
.three-col .ry-each .icon svg {
    fill:#fff
}

.three-col .ry-each:hover .icon   {
    background:var(--secondary-color);
}

#contents .primary-section {
    background:#f5f3ed;
    padding-block:100px
}

#contents .primary-section .ry-container {
    max-width:1280px;
    width:90%
}
.three-col .ry-each > div div{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:fit-content;
}
/* --- END 3 COLUMN LAYOUT --- */

#contents .section .span-5 {
    font-size: 24px;
    color: #373151;
    font-weight: 400;
}

#contents .primary-section {
    background:#f5f3ed;
    padding-block:100px
}

#contents .primary-section .ry-container {
    max-width:1280px;
    width:90%
}
#contents .section .span-5 {
    font-size: 24px;
    color: #373151;
    font-weight: 400;
}

/* --- NUMBERED LAYOUT --- */
.number-wrapper  {
    display:flex;
    gap:25px;
    justify-content:space-between;
    margin-top:40px
}

.number-wrapper .ry-each {
    width:calc(100% / 3 - 25px);
    border-radius: 10px;
    background-color: #ffffff;
    border: 1px solid #cecece;
    padding:35px 30px;
}

.number-wrapper .ry-each .num {
    font-size: 32px;
    color: var(--primary-color);
    font-weight: 400;
}
.number-wrapper .ry-each h3 {
    margin-bottom: 20px;
    font-size: 25px;
}
/* --- FAQ WRAPPER ---  */
.faq-wrapper .bg-gray-200 { 
    margin-bottom:10px;
    border-bottom:solid 2px #d3d3d3;
    border-radius:0;
    padding-block:20px;
    background:transparent;
    box-shadow:none
}
.faq-wrapper .bg-gray-200 h5 {
    font-size: 24px;
    color: #373151;
    font-weight: 400;
    font-family: var(--site-font);
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;;
    width:100%
}

.faq-wrapper .bg-gray-200 h5::after {
    content: "";
    display: inline-block;
    width: 16px;
	min-width: 16px;
    height: 16px;
    margin-right: 10px;
    background-color: #373151;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2.5v11M2.5 8h11' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2.5v11M2.5 8h11' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
    vertical-align: middle;
    transition: background-color 0.3s ease;
}

.faq-wrapper .bg-gray-200:hover h5::after {
    background-color: var(--primary-color);
}
.faq-wrapper .bg-gray-200:has([style*="max-height:"]) h5::after {
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8h11' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.faq-wrapper .bg-gray-200:has([style*="max-height:"]) {
    border-radius: 10px;
    background-color: #f0dcd2;
    border:0
}
.faq-wrapper .bg-gray-200 .py-6 {
	padding-block:10px
}
.faq-wrapper .bg-gray-200 P {
	padding:0;
	margin:0
}
/*--- guide layout ---*/

.guide-wrapper {
	margin-block:30px	
}
.guide-wrapper p {
	padding: 30px;
	border-bottom:solid 2px #d3d3d3;
	display:flex;
	align-items:center;
	justify-content:space-between;
	font-size: 24px !important;
}

.guide-wrapper p span {
	text-transform:uppercase;
	color:var(--primary-color);
	font-size: 18px !important;
}
/*  --- BOTTOM CTA --- */
.cta-pg  .ry-container .ry-headline,
.cta-pg h2{
    max-width:800px;
    width:100%;
}
.cta-pg h2 span {
	display:block
}
.cta-pg .ry-headline p,
.cta-pg h2{
    color:#fff !important
}
.cta-pg h2 span {
	line-height: 1.6;
	font-size: 18px;
	font-family:var(--site-font);
	text-transform:uppercase;
	letter-spacing:1px
}
.cta-pg h2 {
	margin-bottom: 40px !important;
	  font-size: clamp(2.1875rem, 1.6299rem + 2.2876vw, 4.375rem);
    font-family: var(--title-font);
    font-weight:400;
    letter-spacing:-2px
}
.cta-pg .ry-btn-secondary:not(.ry-btn-secondary:hover) {
    background:#fff;
    color:var(--seondary-color) !important
}
.cta-pg a.ry-btn-primary:hover {
    background:#fff;
    color:var(--seondary-color) !important
}
.cta-pg  p a {
	color:var(--primary-color)
}
.cta-pg p a:hover {
	color:#f5a08a
}

/* --- COMPARE TABLE STYLE ---*/
.compare-table {
    background:#FFF;
    margin-top:30px;
    overflow-y:hidden;
    overflow-x:auto
}
.compare-table th {
    background: #F7F3EE;
    font-family: var(--title-font);
    font-weight: 400;
    font-size: 17px;
}

.compare-table th, .compare-table td {
    text-align: left;
    padding: 16px 18px;
    border: 1px solid #0e22331f;
    vertical-align: top;
}

.compare-table td:first-child, .compare-table th:first-child {
    font-weight: 600;
    background:#F7F3EE;
    width: 140px;
}

.compare-table td {
    color: var(--secondary-color);
}

.compare-table a {
    display:flex;
    align-items:center;
    gap:6px
}

/* ---PRICING WRAPPER---*/
.pricing-wrapper .ry-each {
	display:flex;
	justify-content:space-between;
	gap:30px;
	align-items:center;
	padding:20px 50px;
	border:solid 1px var(--secondary-color);
	background:#9e9e9e0a;
	border-radius:5px;
	margin-bottom:20px
}
.pricing-wrapper .ry-each div:first-child {
	width:70%
}


.pricing-wrapper .ry-each .ry-btn {
	border:solid 1px var(--secondary-color);
	color:var(--secondary-color) !important
}

.pricing-wrapper .ry-each .ry-btn:hover {
	border:solid 1px var(--primary-color);
	color:#fff !important;
	background:var(--primary-color) !important;
}
.pricing-wrapper .ry-each p {
	margin:0
}

.pricing-wrapper .ry-each .price {
	font-size:25px;
	font-family:var(--title-font);
	line-height:1.4;
	font-weight:600;
	color:var(--secondary-color)
}

.pricing-wrapper .ry-each .price span {
	font-size:16px;
	font-family:var(--site-font);
	display:block;
	opacity:.8;
	font-weight:normal;
}
.pricing-wrapper .ry-each .price span small {
	text-transform:uppercase;
	
}

.ry-btn.tag {
  border-radius:0 !important;
  font-size:14px !important;
  height:fit-content !important;
  padding-block:12px;
  opacity:.7;
  pointer-events:none;
	border:solid 1px #0e223312;
}
.ry-btn.ry-btn-transparent {
    border:solid 1px #0e223312;
    border-radius:30px;
}

.ry-btn.ry-btn-transparent:hover {
  color:var(--primary-color) !important;
  border-color:#0e223312
}

#contents .secondary-section.photo-full {
  padding-top:0
}

#contents .secondary-section.photo-full img {
  width:100%;
  padding-bottom:40px
}
/* --- TWO COLUMN --- */
.two {
  display:flex;
  gap:5%
}
.two .ry-each {
  width:50%
}

/* --- compare-chart --- */
.compare-chart {
    margin-bottom: 32px;
    border: 1px solid #0e223312;
    border-radius: 3px;
    overflow: hidden;
}

.compare-chart-header,
.compare-chart-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.compare-chart-header > div {
    padding: 16px 14px;
    font-weight: 600;
    text-align: center;
}

.compare-chart-no-prep {
    background: var(--secondary-color);
    color: #fff;
}

.compare-chart-minimal-prep {
    background: var(--primary-color);
    color: #fff;
}

.compare-chart-traditional {
    background: #d1d1d1;
    color: #000;
}

.compare-chart-row {
    border-top: 1px solid transparent;
}

.compare-chart-row > div {
    padding: 14px;
    font-size: 13.5px;
    text-align: center;
}

.compare-chart-row > div:not(:last-child) {
    border-right: 1px solid #0e223312;
}

.compare-chart-row + .compare-chart-row {
    border-top-color: #0e223312;
}


/* --- PHOTO DEFAULT WIDTH AND HEIGHT --- */
.ry-photo-default img{
    width:100%;
    max-width:800px
}

/* --- QUOTE WRAPPER --- */
.pquote {
    padding-left:20px;
    border-left:solid 3px var(--primary-color);
    max-width:900px;
    width:100%;;
    margin-block:40px;
}
.pquote p {
    font-size:20px !important;
    color:#333 !important
}
.pquote p span {
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:1px;
    font-size:18px;
    opacity:.8;
    font-family:var(--site-font);
}

.primary-section .pquote {
	background:#ffffffc4;
	padding:25px;
}

.stars{
    color: var(--primary-color);
    font-size:25px
}
#contents h3 em {
    color:var(--primary-color) 
}

.text-btn-wrapper {
    display:flex;
    align-items:center;
    gap:15px;
    justify-content:space-between;
    padding:20px 40px;
    background:var(--border-color);
    border-radius:10px
}
.text-btn-wrapper > div {
    display:flex;
    align-items:center;
    margin:0
}
.text-btn-wrapper  a {
    text-decoration:none !important
}
.text-btn-wrapper .ry-btn-primary {
    color:#fff
}


/* --- TWO CALL PHOTO ---  */
.two-col-photo {
    display:flex;
    gap:30px
}
.two-col-photo > div {
	width:50%
}
.two-col-photo img, .ry-photo img {
    margin-bottom:10px
}

#contents .label p {
    text-transform:uppercase;
    font-size:16px !important;
    margin-top:0px !important;
    text-align:start !important
}

/* --- CASE STUDY GROUP --- */
.case-study-wrapper > div{
    margin-top:60px
}

/* --- TWO COLUMN --- */
.two-col {
    margin-bottom:40px
}
.two-col .flex {
    gap:30px
}

.two-col .flex > div {
    width:45%;
    padding-top:30px
}
.two-col .flex > div:first-child {
    border-top:solid 2px var(--secondary-color)
}

.two-col .flex > div:last-child {
    border-top:solid 2px var(--primary-color)
}
.two-col .flex .primary-border-top {
	border-top:solid 2px var(--primary-color) !important
}
.two-col .flex .secondary-border-top {
	border-top:solid 2px var(--primary-color) !important
}
.two-col .flex ul {
    list-style:none;
    margin:0 !important
}

.two-col .flex ul li::marker {
    font-size:0
}

.flex.two-col {
    display:flex;
    gap:10%
}

.flex.two-col  > div {
    width:50%
}

.with-line > div{
    border-bottom:solid 1px var(--border-color);
}


@media(max-width:1080px) {
	#contents .banner-wrapper .flex {
		flex-direction:column
	}
	#contents .banner-wrapper .flex > div {
		width:100%
	}
		#contents .banner-text p span:before {
		margin-inline:auto
	}
	#contents .banner-wrapper .flex > div img {
		max-width:500px;
		width:100%;
		margin-inline:auto
	}
	#contents .banner-wrapper .flex > div * {
		text-align:center;
		justify-content:center;
		flex-wrap:wrap
	}
	.three-col {
		gap: 15px;
	}
	.three-col {
		gap: 10px;
	}
	.three-col .ry-each {
		width: calc(100% / 3 - 10px);
	}

	.cta-pg * {
		text-align:center;
		justify-content:center;
	}
	.cta-pg .ry-container .ry-headline {
		margin-inline:auto
	}
	.three-col {
		flex-direction:column
	}
	.three-col .ry-each {
		width:100%
	}
}

@media(max-width:780px) {
	.text-btn-wrapper {
		flex-direction:column;
		align-items:center;
	}
	.text-btn-wrapper p {
		margin:0 auto
	}
	.text-btn-wrapper *{
		text-align:center;
	}
	.flex.two-col {
		gap:35px
	}
	
	.number-wrapper {
	    flex-direction:column
	}
	.number-wrapper .ry-each {
		width:100%;
		gap:20px;
		display:flex;
	}
}

@media(max-width:767px) {
	#contents .ry-headline * {
		text-align:center
	}
	#contents .ry-text {
		text-align:center
	}

	#contents .section,
	#contents .ry-section {
		padding-block:60px !important
	}
	#contents .secondary-section.photo-full {
		padding-top:0 !important
	}

	.three-col .ry-each * {
		text-align:center;
		margin-inline:auto
	}
	.btn-wrapper {
		flex-wrap:wrap;
		justify-content:center
	}
	#contents .banner-wrapper {
		height: 85vh;
		padding-block:40px
	}

	.two, .two-col-photo, .two-col .flex, .pricing-wrapper .ry-each, .flex.two-col{
		flex-direction:column
	}
	.two .ry-each, .two-col-photo > div, .two-col .flex .ry-each , .pricing-wrapper .ry-each, .pricing-wrapper .ry-each div:first-child ,.flex.two-col > div{
    width: 100%;
}
	.two-col .flex .ry-each *,
	.pricing-wrapper .ry-each div {
		text-align:center
	}
	.pricing-wrapper .ry-each {
		gap:15px;
		padding-inline:20px
	}
	#contents .label p {
		text-align:center !important
	}

	.number-wrapper .ry-each {
		justify-content:center;
		flex-direction:column;
		align-items:center;
		gap:0px
	}
	
	/*#contents p,
	#contents h2,
	#contents h3,
	#contents h4,
	#contents h5,
	#contents h6{
		text-align:center
	}

	#contents .pquote p {
		text-align:start
	}*/
}

@media(max-width:600px) {
	.compare-table th, .compare-table td {
		padding: 5px;
	}
	.compare-table td:first-child, .compare-table th:first-child {
		width: 100px;
	}
	.compare-table  * {
		line-height:1.4;
		font-size:13px !IMPORTANT
	}
	.compare-table .compare-cta {
		flex-direction:column;
		align-items:center;
		text-align:center
	}
}

/* --- GROUP BUTTON ---*/
.group-btn {
    gap:8px;
    display:flex;
    flex-wrap:wrap
}

.group-btn  > p {
    margin:0
}

.group-btn  > p a {
    color:var(--secondary-color);
     border:solid 1px var(--secondary-color);
    width:fit-content;
    margin:0;
    color:var(--secondary-color);
    padding:15px 20px;
    display:flex;
    line-height:1.1
}

.group-btn  > p a:hover {
    color:var(--primary-color);
    text-decoration:none;
    border-color:var(--primary-color);
}

@media(max-width:767px) {
	.group-btn {
		justify-content:center;
		align-items:center
	}
}

.ry-horizontal-line {
    border-bottom:solid 1px var(--border-color);
    padding:20px 0;
	margin-bottom:20px
}

.learn-more-wrapper > div{
    display:flex;
    justify-content:space-between;
    align-items:center
}

.learn-more-wrapper > div div:first-child {
    width:80%
}

.learn-more-wrapper > div div:last-child {
    width:fit-content
}

@media(max-width:767px) {
	.learn-more-wrapper > div{
		flex-direction:column;
		align-items:center;
		justify-content:center
	}
	.learn-more-wrapper > div *{
		text-align:center
	}
	.learn-more-wrapper > div div:first-child {
		width:100%
	}
}


.docs > div {
	display:flex;
	justify-content:space-between;
	gap:10px;
	margin-bottom:10px
}
.docs > div div:first-child {
	width:28%;
}

.docs > div div:last-child {
	width:65%
}
.docs p {
	margin:0
}
@media(max-width:767px) {
	.docs > div {
		flex-direction:column;
		align-items:center;
		justify-content:center
	}
	.docs > div div:first-child {
		width:100%;
	}

	.docs > div div:last-child {
		width:100%
	}
}
#contents ul li {
    line-height:1.4
}
#contents ul li::marker {
    color:var(--primary-color) !important;
    font-size:28px !important;
    display:flex;
    line-height:1
}

#contents .alert {
    padding:30px;
    border:solid 2px #bd360e;
	margin-bottom:50px
}
#contents .alert p {
    margin:0
}
#contents .alert .ry-headline p {
    background:#bd360e;
    padding:10px 20px;
    color:#fff !important;
    width:fit-content;
    margin-top:0;
    margin-bottom:20px
}

#contents .alert ul {
    column-count:2;
    gap:50px;
    margin-bottom:20px
}
.two-col-list ul,
	.two-col-list ol{
 column-count:2;
    gap:50px;
}
@media(max-width:767px) {
    #contents .alert {
    padding:20px;
    }
    #contents .alert .ry-headline * {
        margin-inline:auto
    }
    #contents .alert ul {
    column-count:1;
        gap:10px;

    }
	.two-col-list ul,
	.two-col-list ol{
		column-count:1;
		gap:10px;
	}
    #contents .alert *{
        text-align:center
    }
    #contents .alert ul li {
        text-align:start
    }
    #contents h3 a {
        font-size:22px
    }
}

.blog-wrapper .ry-each{
    display:flex;
    gap:10px
}

.blog-wrapper .ry-each .num {
    font-size:20px;
    color:var(--primary-color);
    font-family:var(--title-font);
    font-weight:bold
}
.blog-pg .blog-wrapper {
    counter-reset: blog-counter;
}
.blog-wrapper .ry-each * {
    text-align:start
}
.blog-pg .blog-wrapper .ry-each {
    display:flex;
    gap:0px;
	flex-direction:column;
	padding:20px;
	transition:all .3s ease;
	border-radius:10px;
	 counter-increment: blog-counter;
    position: relative;
}
.blog-pg .blog-wrapper .ry-each h3 {
    display:flex;
    gap:20px
}

.blog-pg .blog-wrapper .ry-each .ry-text {
    margin-left:60px
}
	
.blog-pg .blog-wrapper .ry-each h3::before {
    content: counter(blog-counter, decimal-leading-zero) "";
    top: 0;
    left: 0;
    color:var(--primary-color)
}
.blog-pg .blog-wrapper .ry-each:hover h3 {
	color:var(--primary-color) !important
}
.blog-pg .blog-wrapper .ry-each:hover {
	background:var(--border-color)
}
.blog-pg .blog-wrapper .ry-each p {
	margin:0
}
.blog-wrapper .ry-each * {
    text-align:start
}
.with-border .ry-each {
	border:0;
	border-top:solid 2px var(--primary-color);
	border-radius:0;
	background:unset
}
@media(max-width:767px){
	.blog-pg .blog-wrapper .ry-each *{
		text-align:center !important
	}
	.blog-pg .blog-wrapper .ry-each h3 {
		flex-direction:column;
		gap:10px
	}
	.blog-pg .blog-wrapper .ry-each .ry-text {
		margin-left:unset
	}
}
/* --- TEAM PAGE ---  */
.team-inner-page.style3 .team-social {	
	margin-top:20px
}
.team-inner-page.style3 .btn-excerpt {
	display:none !important
}
.team-inner-page.style3 .ry-each {
	border-bottom: solid var(--border-color) 2px;
	background:unset
}
.team-inner-page.style3 .ry-each .each-container .details .title {
	padding-inline:2vw
}
.team-inner-page.style3 .ry-flex .ry-each:not(:last-child) {
	margin-bottom:30px
}
.team-inner-page.style3 .ry-flex.object-top .photo img {
	position:relative;
	object-position:top;
	object-fit:cover;
	height: auto;
	margin:0
}
.team-inner-page.style3 .ry-each .photo {
	padding-bottom:unset;
	height:fit-content
}
.team-inner-page.style3 .ry-each .each-container .details .team-full-description img {
    max-width:400px;
    width:100%;
}
body.default #ry-section-header.module-43 {
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}
#ry-pg-body .team-inner-page.style3 .ry-each .each-container .details .title p {
    font-size: 15px !important;
}
.team-inner-page.style3 .ry-each .each-container .details .title h5 {
	font-size:25px !important
}

body.default #ry-section-header.module-43 .ry-btn:hover, .module-43 .btn-wrapper .ry-btn:hover {
    background:var(--secondary-color) !important
}
.team-inner-page.style3 .ry-each .each-container .details .team-excerpt,
.team-inner-page.style3 .ry-each .each-container .details .team-full-description,
.team-inner-page.style3 .ry-each .each-container .details .title{
	padding:0
}
.team-inner-page.style3 .ry-each .each-container .details {
	flex-direction:column;
	width:78%
}
	.team-inner-page.style3 .ry-each .each-container .details .title {
		width: 100%;
		margin-bottom:10px
	}
	.team-inner-page.style3 .ry-each .each-container .details .team-excerpt, .team-inner-page.style3 .ry-each .each-container .details .team-full-description {
    width: 100%;
	}


.team-inner-page.style3 .ry-each .each-container .details .team-excerpt {
	display:none !important
}
.team-inner-page.style3 .ry-each .each-container .details .team-full-description {
	display:flex !important;
	flex-direction:column
}
.team-inner-page.style3 .ry-each .each-container {
	justify-content:space-between;
	gap:3vw
}
.team-inner-page.style3 .ry-each .photo {
	max-width:unset;
	width:30%
}
.team-inner-page.style3 .ry-each .team-social {
	display:none
}

.team-wrapper {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:15px;
	flex-wrap:wrap
}
.team-wrapper > div {
	width:calc(100% / 4 - 15px)
}
.team-wrapper > div img {
	margin:0 auto
}
.team-wrapper > div .title {
	height:80px;
	min-height:fit-content
}
.team-wrapper .title * {
	text-align:center;
}
.team-wrapper .title h5{
	margin:15px 0 5px !important;
	font-size:22px
}
.team-wrapper .title p{
	margin:0
}
@media (max-width: 1280PX) {
	.team-inner-page.style3 .ry-each .each-container .details {
		flex-direction:column;
		width:65%
	}
}
@media (max-width: 1080px) {
	.team-wrapper > div {
	width:calc(100% / 3 - 15px)
}
}
@media (max-width: 991px) {
	.team-inner-page.style3 .ry-each .photo {
		width:100%	
	}
	    .team-inner-page.style3 .ry-each .each-container {
        gap:20px
    }

	.team-inner-page.style3 .ry-each .photo img {
		max-width:300px;
		width:100%;
		margin-inline:auto !important
	}
	.team-inner-page.style3 .ry-each .each-container .details {
		flex-direction:column;
		width:100%;
	}
	.team-inner-page.style3 .ry-each {
		padding-inline:20PX;
		
	}
	
}

@media(max-width:767px) {
		.team-wrapper > div {
	width:calc(100% / 2 - 15px)
}
}
	
/* --- BLOG PAGE ---*/
.series-wrapper a{
	display:block;
	padding:20px 0;
	line-height:1.1;
	margin-bottom:-20px;
	border-bottom:solid 1px var(--border-color);
	color:var(--secondary-color) !important
}
.series-wrapper a:hover {
	color:var(--primary-color) !important
}
	
/* --- CONTACT PAGE ---*/
.office-hours > div div:nth-child(2) {
    text-align:end;
    text-transform:uppercase
}

.contact-pg .two-col .ry-text a {
        font-weight:bold !important
}

.contact-pg .docs > div div:first-child {
    width:35%;
}

@media(max-width:780px) {
    .contact-pg .two-col .flex {
        flex-direction:column
    }
    .contact-pg .two-col .flex > div {
    width: 100%;
    padding-top: 30px;
}
}
	
/* --- FORM --- */
form label {
    color:#6b7280 !important;
    font-size:18px !important;
    margin-bottom:5px
}

.note p {
    font-size:16px !important
}

form .ry-btn {
    margin-top:20px !important
}
	
	
.two-col-text > div {
    display:flex;
    justify-content:space-between;
    gap:15px;
}

.two-col-text > div strong,
.two-col-text > div b{
    font-weight:bold !important
}
.two-col-text > div p {
    margin:0
}

@media(max-width:767px) {
    .two-col-text > div {
        flex-direction:column;
        align-items:center
    }
}
	
	
.cta-section .ry-btn {
	margin-inline:auto !important;
}
	
/* --- GALLERY PAGE --- */
div#contents .gallery-pg .gallery-tab ul li::marker{
    display:none;
    font-size:0 !important
}
div#contents .gallery-pg .gallery-tab ul{
    display:flex;
    padding:0;
    gap:10px;
    flex-wrap:wrap;
    margin-inline:0
}

div#contents .gallery-pg .gallery-tab ul li {
    padding:10px 15px;
    background:transparent;
    transition:all .3s ease;
    border:solid 1px #0000004f;
    margin:0
}

div#contents .gallery-pg .gallery-tab ul li.active {
    background:var(--secondary-color);
    color:#fff
}

.gallery-pg .ry-each .photo-wrapper{
    display:flex;
    gap:3vw
}

.gallery-pg .ry-each .photo-wrapper > div {
    width:50%
}
@media(max-width:767px) {
    #contents .gallery-pg p {
     text-align:center
    }
    div#contents .gallery-pg .gallery-tab ul { 
        justify-content:center
    }
}
	
.module-testimonials .swiper-slide svg {
    fill:#FFD700
}
	
[id^="reviews-widget-container-"] {
    z-index:1
}
	
/* ==========================================================================
   Special Offers Page
   ========================================================================== */

/* 1. Subtitle under ry-headline */
#contents .specials-pg .primary-section .ry-headline p:last-child {
  color: #6b7280;
  text-transform: none;
  font-size: 18px;
  line-height: 1.6;
  max-width: 650px;
  margin-inline: auto;
  margin-top: 10px;
  margin-bottom: 35px;
  background: transparent;
  padding: 0;
  width: auto;
}

/* 2. Card Heading & Eyebrow Badge */
#contents .specials-pg .card-heading .span-1 {
  display: inline-block;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #bd360e;
  background-color: #ffedd5;
  padding: 4px 12px;
  border-radius: 9999px;
  margin-bottom: 10px;
}

#contents .specials-pg .card-heading h3 {
  font-size: 28px;
  font-weight: 700;
  color: #173347;
  margin: 0 0 6px 0;
  line-height: 1.25;
}

#contents .specials-pg .card-heading p {
  font-size: 14px;
  color: #64748b;
  margin: 0;
  line-height: 1.5;
}

/* 3. Price Block */
#contents .specials-pg .price-container {
  width: auto;
}

#contents .specials-pg .price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  justify-content: flex-start;
}

@media (min-width: 640px) {
  #contents .specials-pg .price {
    justify-content: flex-end;
  }
}

#contents .specials-pg .price .span-1 {
  font-size: 56px;
  font-weight: 800;
  color: #bd360e;
  line-height: 1;
}

#contents .specials-pg .price .span-2 {
  font-size: 14px;
  color: #94a3b8;
  text-decoration: line-through;
  font-weight: 500;
}

#contents .specials-pg .price-note .span-1 {
  display: block;
  font-size: 12px;
  color: #94a3b8;
  margin-top: 4px;
}

/* 4. Included Block (2-Column Grid & Checkmarks) */
#contents .specials-pg .included-block {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 24px;
  padding-top: 32px;
  padding-bottom: 32px;
}

#contents .specials-pg .included-block > div:first-child {
  width: 100%;
}

#contents .specials-pg .included-block h4 {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #94a3b8;
  margin: 0 0 16px 0;
}

#contents .specials-pg .inclusion-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 0;
}

@media (min-width: 768px) {
  #contents .specials-pg .inclusion-item {
    width: calc(50% - 12px);
  }
}

#contents .specials-pg .inclusion-item .check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  border-radius: 9999px;
  background-color: #ffedd5;
  color: #bd360e;
  font-weight: 700;
  font-size: 13px;
  margin-top: 2px;
  padding: 0;
}

#contents .specials-pg .inclusion-item .check::before {
  content: "✓";
}

#contents .specials-pg .inclusion-item > div:last-child {
  flex: 1;
}

#contents .specials-pg .inclusion-item p {
  font-size: 14px;
  line-height: 1.5;
  color: #475569;
  margin: 0;
}

#contents .specials-pg .inclusion-item strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #173347;
  margin-bottom: 2px;
}

/* 5. Periodontal Qualifications Box */
#contents .specials-pg .qualification {
  background-color: #fffbf7;
  border-left: 4px solid #bd360e;
  border-radius: 0 12px 12px 0;
  padding: 24px 28px;
  margin-top: 16px;
  margin-bottom: 28px;
}

#contents .specials-pg .qualification h5 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #bd360e;
  margin: 0 0 10px 0;
}

#contents .specials-pg .qualification p {
  font-size: 14px;
  line-height: 1.6;
  color: #334155;
  margin: 0 0 12px 0;
}

#contents .specials-pg .qualification p strong {
  color: #0f172a;
}

#contents .specials-pg .qualification p:last-child {
  font-size: 12px;
  color: #64748b;
  margin: 14px 0 0 0;
  padding-top: 10px;
  border-top: 1px solid rgba(226, 232, 240, 0.8);
}

/* 6. Card Footer Action Row (Prevents Overflow) */
#contents .specials-pg .primary-section .bg-white > div:last-child {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  padding-top: 24px;
}

#contents .specials-pg .primary-section .bg-white > div:last-child > p {
  text-align: center;
  margin: 0;
  font-size: 14px;
  color: #64748b;
}

#contents .specials-pg .primary-section .bg-white > div:last-child > div {
  width: 100%;
  justify-content: center;
  flex-wrap: wrap;
}

/* 7. Bottom CTA Section */
#contents .specials-pg .special-offer-cta p {
  font-size: 18px;
  color: #e2e8f0;
  margin-top: 12px;
  margin-bottom: 20px;
}

#contents .specials-pg .special-offer-cta .btn-wrapper {
  justify-content: center;
  margin-top: 20px;
}
	
/* Hide pending photo slots and empty img tags across the site */
.photoslot,
img[src=""],
img:not([src]) {
  display: none !important;
}

/* Collapse empty photo containers and orphaned before/after wrappers */
.two-col-photo:has(.photoslot),
.ry-photo:has(.photoslot),
.photo-wrapper:has(.photoslot) {
  display: none !important;
}