/**
 * Modo Optometry Refresh — Main Stylesheet
 *
 * Class selectors match the BEM markup used in the PHP templates
 * (template-parts/home/*, template-parts/service/*, page-*.php, header.php,
 * footer.php). Faithfully reproduces the visual design of the Lovable/
 * Tailwind source site.
 *
 * @package modo-optometry-refresh
 */

/* ==========================================================================
   0. RESET / BASE
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	font-size: 16px;
	line-height: 1.43;
	color: #0a0a0a;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

button {
	cursor: pointer;
	border: none;
	background: none;
	font: inherit;
	color: inherit;
	padding: 0;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: inherit;
}

p {
	margin: 0;
}

ul, ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ==========================================================================
   0.5 DESIGN TOKENS
   ========================================================================== */

:root {
	--font-sans: 'Inter', system-ui, -apple-system, sans-serif;
	--font-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--color-brand: #7B2D3E;
	--color-fg: #0a0a0a;
	--color-bg: #fff;
	--color-bg-warm: #f5f0e6;
	--color-bg-tan: #d9cfb8;
	--container-max: 1720px;
}

/* ==========================================================================
   1. CONTAINER
   ========================================================================== */

.mor-container {
	max-width: var(--container-max);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 16px;
	padding-right: 16px;
}

@media (min-width: 640px) {
	.mor-container {
		padding-left: 32px;
		padding-right: 32px;
	}
}

@media (min-width: 768px) {
	.mor-container {
		padding-left: 48px;
		padding-right: 48px;
	}
}

/* ==========================================================================
   2. TYPOGRAPHY
   ========================================================================== */

/* --- Generic utility classes (kept for reuse) ------------------------------ */

.mor-eyebrow {
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--color-brand);
}

@media (min-width: 640px) {
	.mor-eyebrow {
		font-size: 16px;
		letter-spacing: 0.4em;
	}
}

@media (min-width: 768px) {
	.mor-eyebrow {
		font-size: 24px;
	}
}

.mor-eyebrow-light {
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: #fff;
}

@media (min-width: 640px) {
	.mor-eyebrow-light {
		font-size: 16px;
		letter-spacing: 0.4em;
	}
}

@media (min-width: 768px) {
	.mor-eyebrow-light {
		font-size: 24px;
	}
}

.mor-heading,
.mor-heading-xl {
	font-family: var(--font-serif);
	font-weight: 300;
	font-size: 30px;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	line-height: 1.05;
	color: var(--color-fg);
}

@media (min-width: 640px) {
	.mor-heading,
	.mor-heading-xl {
		font-size: 36px;
	}
}

@media (min-width: 768px) {
	.mor-heading,
	.mor-heading-xl {
		font-size: 48px;
	}
}

@media (min-width: 1024px) {
	.mor-heading,
	.mor-heading-xl {
		font-size: 60px;
	}
}

.mor-body-text {
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 1.625;
	color: rgba(10, 10, 10, 0.75);
}

@media (min-width: 640px) {
	.mor-body-text {
		font-size: 17px;
	}
}

@media (min-width: 768px) {
	.mor-body-text {
		font-size: 22px;
	}
}

/* --- Shared "big heading" (H1/H2 serif) applied to real template classes -- */

.mor-hero__heading,
.mor-service-hero__heading,
.mor-inner-hero__heading,
.mor-welcome__heading,
.mor-featured-services__heading,
.mor-service-intro__heading,
.mor-included-cards__heading,
.mor-lens-types__heading,
.mor-who-for__heading,
.mor-expect-timeline__heading,
.mor-at-home__heading,
.mor-age-tiers__heading,
.mor-comparison__heading,
.mor-approach__heading,
.mor-insurance__heading,
.mor-service-doctors__heading,
.mor-service-reviews__heading,
.mor-related-services__heading,
.mor-location__heading,
.mor-faq__heading,
.mor-rich-text__heading,
.mor-closing-cta__heading,
.mor-about-story__heading,
.mor-about-values__heading,
.mor-optometrists-intro__heading,
.mor-featured-brands__heading-line2,
.mor-meet-doctors__heading-line2,
.mor-testimonials__heading {
	font-family: var(--font-serif);
	font-weight: 400;
	font-size: 30px;
	text-transform: uppercase;
	letter-spacing: .025em;
	line-height: 1.05;
	color: var(--color-fg);
}


@media (min-width: 640px) {
	.mor-hero__heading,
	.mor-service-hero__heading,
	.mor-inner-hero__heading,
	.mor-welcome__heading,
	.mor-featured-services__heading,
	.mor-service-intro__heading,
	.mor-included-cards__heading,
	.mor-lens-types__heading,
	.mor-who-for__heading,
	.mor-expect-timeline__heading,
	.mor-at-home__heading,
	.mor-age-tiers__heading,
	.mor-comparison__heading,
	.mor-approach__heading,
	.mor-insurance__heading,
	.mor-service-doctors__heading,
	.mor-service-reviews__heading,
	.mor-related-services__heading,
	.mor-location__heading,
	.mor-faq__heading,
	.mor-rich-text__heading,
	.mor-closing-cta__heading,
	.mor-about-story__heading,
	.mor-about-values__heading,
	.mor-optometrists-intro__heading,
	.mor-featured-brands__heading-line2,
	.mor-meet-doctors__heading-line2,
	.mor-testimonials__heading {
		font-size: 36px;
	}
}

@media (min-width: 768px) {
	.mor-hero__heading,
	.mor-service-hero__heading,
	.mor-inner-hero__heading,
	.mor-welcome__heading,
	.mor-featured-services__heading,
	.mor-service-intro__heading,
	.mor-included-cards__heading,
	.mor-lens-types__heading,
	.mor-who-for__heading,
	.mor-expect-timeline__heading,
	.mor-at-home__heading,
	.mor-age-tiers__heading,
	.mor-comparison__heading,
	.mor-approach__heading,
	.mor-insurance__heading,
	.mor-service-doctors__heading,
	.mor-service-reviews__heading,
	.mor-related-services__heading,
	.mor-location__heading,
	.mor-faq__heading,
	.mor-rich-text__heading,
	.mor-closing-cta__heading,
	.mor-about-story__heading,
	.mor-about-values__heading,
	.mor-optometrists-intro__heading,
	.mor-featured-brands__heading-line2,
	.mor-meet-doctors__heading-line2,
	.mor-testimonials__heading {
		font-size: 48px;
	}
}

@media (min-width: 1024px) {
	.mor-hero__heading,
	.mor-service-hero__heading,
	.mor-inner-hero__heading,
	.mor-welcome__heading,
	.mor-featured-services__heading,
	.mor-rich-text__heading,
	.mor-closing-cta__heading,
	.mor-featured-brands__heading-line2,
	.mor-meet-doctors__heading-line2,
	.mor-testimonials__heading {
		font-size: 60px;
	}
	.mor-hero__heading{
		line-height: 75px;
	}
	.mor-hero__heading em {
		font-style: italic;
		font-weight: 500;
		letter-spacing: 4.5px;
		display: inline-block;
	}
	.mor-at-home__heading,
	.mor-lens-types__heading,
	.mor-service-reviews__heading,
	.mor-service-doctors__heading,
	.mor-approach__heading,
	.mor-comparison__heading,
	.mor-faq__heading,
	.mor-location__heading,
	.mor-related-services__heading,
	.mor-insurance__heading,
	.mor-age-tiers__heading,
	.mor-expect-timeline__heading,
	.mor-who-for__heading,
	.mor-included-cards__heading,
	.mor-service-intro__heading,
	.mor-optometrists-intro__heading,
	.mor-about-story__heading,
	.mor-about-values__heading{
		font-size: 48px;
		line-height: 1;
	}
}

/* --- Shared "eyebrow" label applied to real template classes -------------- */

.mor-hero__eyebrow,
.mor-service-hero__eyebrow,
.mor-welcome__eyebrow,
.mor-featured-services__eyebrow,
.mor-service-intro__eyebrow,
.mor-included-cards__eyebrow,
.mor-lens-types__eyebrow,
.mor-who-for__eyebrow,
.mor-at-home__eyebrow,
.mor-age-tiers__eyebrow,
.mor-comparison__eyebrow,
.mor-approach__eyebrow,
.mor-insurance__eyebrow,
.mor-service-doctors__eyebrow,
.mor-service-reviews__eyebrow,
.mor-related-services__eyebrow,
.mor-location__eyebrow,
.mor-faq__eyebrow,
.mor-about-story__eyebrow,
.mor-about-values__eyebrow,
.mor-optometrists-intro__eyebrow,
.mor-doctor-profile__eyebrow,
.mor-featured-brands__heading-line1,
.mor-meet-doctors__heading-line1,
.mor-testimonials__subtitle,
.mor-expect-timeline__eyebrow {
	display: inline-block;
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--color-brand);
}

@media (min-width: 640px) {
	.mor-service-hero__eyebrow,
	.mor-welcome__eyebrow,
	.mor-featured-services__eyebrow,
	.mor-service-intro__eyebrow,
	.mor-included-cards__eyebrow,
	.mor-lens-types__eyebrow,
	.mor-who-for__eyebrow,
		.mor-at-home__eyebrow,
	.mor-age-tiers__eyebrow,
	.mor-comparison__eyebrow,
	.mor-approach__eyebrow,
	.mor-insurance__eyebrow,
	.mor-service-doctors__eyebrow,
	.mor-service-reviews__eyebrow,
	.mor-related-services__eyebrow,
	.mor-location__eyebrow,
	.mor-faq__eyebrow,
	.mor-about-story__eyebrow,
	.mor-about-values__eyebrow,
	.mor-optometrists-intro__eyebrow,
	.mor-doctor-profile__eyebrow,
	.mor-featured-brands__heading-line1,
	.mor-meet-doctors__heading-line1,
	.mor-testimonials__subtitle,
	.mor-expect-timeline__eyebrow {
		font-size: 16px;
		letter-spacing: 0.4em;
	}
}

@media (min-width: 768px) {
	.mor-service-hero__eyebrow,
	.mor-welcome__eyebrow,
	.mor-featured-services__eyebrow,
	.mor-service-intro__eyebrow,
	.mor-included-cards__eyebrow,
	.mor-lens-types__eyebrow,
	.mor-who-for__eyebrow,
		.mor-at-home__eyebrow,
	.mor-age-tiers__eyebrow,
	.mor-comparison__eyebrow,
	.mor-approach__eyebrow,
	.mor-insurance__eyebrow,
	.mor-service-doctors__eyebrow,
	.mor-service-reviews__eyebrow,
	.mor-related-services__eyebrow,
	.mor-location__eyebrow,
	.mor-faq__eyebrow,
	.mor-about-story__eyebrow,
	.mor-about-values__eyebrow,
	.mor-optometrists-intro__eyebrow,
	.mor-doctor-profile__eyebrow,
	.mor-featured-brands__heading-line1,
	.mor-meet-doctors__heading-line1,
	.mor-testimonials__subtitle,
	.mor-expect-timeline__eyebrow {
		font-size: 24px;
	}
}

/* Eyebrows that sit on dark / photo backgrounds — white variant */
.mor-inner-hero__eyebrow {
	display: inline-block;
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: #fff;
}

@media (min-width: 640px) {
	.mor-inner-hero__eyebrow {
		font-size: 16px;
		letter-spacing: 0.4em;
	}
}

@media (min-width: 768px) {
	.mor-inner-hero__eyebrow {
		font-size: 24px;
	}
}

/* --- Shared "lead / body" copy applied to real template classes ----------- */

.mor-welcome__paragraph,
.mor-meet-doctors__paragraph,
.mor-service-intro__text,
.mor-service-intro__inner p,
.mor-who-for__lead,
.mor-comparison__text,
.mor-about-story__text p,
.mor-optometrists-intro__text {
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 1.625;
	color: rgba(10, 10, 10, 0.75);
}


@media (min-width: 768px) {
	.mor-welcome__paragraph,
	.mor-meet-doctors__paragraph,
	.mor-service-intro__text,
		.mor-comparison__text,
	.mor-about-story__text p,
	.mor-service-intro__inner p,
	.mor-optometrists-intro__text {
		font-size: 22px;
	}
	.mor-service-intro__text,
	.mor-service-intro__inner p,
	.mor-optometrists-intro__text,
	.mor-about-story__text p{
		line-height: 30px;
	}
	.mor-who-for__lead{
		font-size: 18px;
		line-height: 28px;
	}
}

/* --- Shared "card / component" sub-headings (H3, smaller serif) ----------- */

.mor-meet-doctors__card-name,
.mor-expect-timeline__step-title,
.mor-approach__title {
	font-family: var(--font-serif);
	font-weight: 400;
	font-size: 20px;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	line-height: 28px;
	color: var(--color-fg);
}
.mor-at-home__title,
.mor-included-card__title,
.mor-about-values__card-title,
.mor-related-services__title,
.mor-service-doctors__name,
.mor-age-tiers__title{
	font-family: var(--font-serif);
	font-weight: 400;
	font-size: 24px;
	letter-spacing: 0.025em;
	line-height: 1.15;
	color: var(--color-fg);
}


.mor-approach__title{
	font-size: 30px;
	line-height: 36px;
}

@media (min-width: 768px) {
	.mor-age-tiers__title{
		font-size: 26px;
	}
	.mor-at-home__title,
	.mor-expect-timeline__step-title,
	.mor-included-card__title,
	.mor-about-values__card-title,
	.mor-meet-doctors__card-name{
		font-size: 24px;
		line-height: 32px;
	}
	.mor-service-doctors__name,
	.mor-related-services__title,
	.mor-age-tiers__title{
		font-size: 30px;
		line-height: 36px;
	}
	.mor-approach__title{
		font-size: 36px;
		line-height: 40px;
	}
}

/* ==========================================================================
   3. BUTTONS
   ========================================================================== */

.mor-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border: 1px solid transparent;
	padding: 16px 32px;
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	white-space: nowrap;
	transition: background-color 300ms, color 300ms, border-color 300ms;
}

@media (min-width: 640px) {
	.mor-btn {
		padding: 16px 40px;
	}
}

.mor-btn svg {
	flex-shrink: 0;
}

.mor-btn--full {
	width: 100%;
}

/* --- Outline white (for dark / photo backgrounds) -------------------------- */

.mor-btn--outline-white {
	border-color: rgba(255, 255, 255, 0.8);
	background-color: transparent;
	color: #fff;
}

.mor-btn--outline-white:hover {
	background-color: #fff;
	color: var(--color-fg);
}

.mor-btn--white {
	border-color: #fff;
	background-color: #fff;
	color: var(--color-brand);
}

.mor-btn--white:hover {
	background-color: transparent;
	color: #fff;
}

/* --- Glass modifier — combined with outline-white -------------------------- */

.mor-btn--glass {
	background-color: rgba(255, 255, 255, 0.1);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.mor-btn--glass:hover {
	background-color: #fff;
}

/* --- Outline brand ---------------------------------------------------------- */

.mor-btn--outline-brand {
	border-color: var(--color-brand);
	background-color: transparent;
	color: var(--color-brand);
}

.mor-btn--outline-brand:hover {
	background-color: var(--color-brand);
	color: #fff;
}

/* --- Solid brand ------------------------------------------------------------ */

.mor-btn--brand,
.mor-btn--solid-brand {
	border-color: var(--color-brand);
	background-color: var(--color-brand);
	color: #fff;
}

.mor-btn--brand:hover,
.mor-btn--solid-brand:hover {
	background-color: var(--color-bg-warm);
	border-color: var(--color-bg-warm);
	color: var(--color-brand);
}
.mor-btn--brand:hover{
	border-color: var(--color-brand);
}

/* --- Solid white ------------------------------------------------------------ */

.mor-btn--solid-white {
	border-color: #fff;
	background-color: #fff;
	color: var(--color-brand);
}

.mor-btn--solid-white:hover {
	background-color: transparent;
	color: #fff;
}

/* ==========================================================================
   4. HEADER
   ========================================================================== */

.mor-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	background-color: transparent;
	transition: background-color 300ms, box-shadow 300ms;
}

.mor-header--scrolled,
.mor-header.is-scrolled {
	background-color: #ffffffcc;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.mor-header--menu-open {
	background-color: #ffffffcc;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	height: 100vh;
	overflow-y: auto;
}
header.mor-header.mor-header--scrolled .mor-header__inner{
	padding-top: 12px !important;
}
.mor-header__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 16px;
	padding-bottom: 16px;
    transition: 0.3s all;
}

@media (min-width: 1024px) {
	.mor-header__inner {
		align-items: flex-start;
		column-gap: 32px;
		row-gap: 0;
		padding-top: 24px;
		padding-bottom: 0;
	}
}

/* --- Logo ------------------------------------------------------------------ */

.mor-header__logo,
.mor-footer__logo {
	display: flex;
	flex-direction: column;
	line-height: 1;
}
.mor-header__logo{
	padding-top: 4px;
}

.mor-header__logo-name,
.mor-footer__logo-name {
	font-family: var(--font-serif);
	font-weight: 400;
	font-size: 30px;
	letter-spacing: -0.025em;
}

@media (min-width: 640px) {
	.mor-header__logo-name,
	.mor-footer__logo-name {
		font-size: 40px;
	}
}

@media (min-width: 768px) {
	.mor-header__logo-name,
	.mor-footer__logo-name {
		font-size: 48px;
	}
}

.mor-header__logo-sub,
.mor-footer__logo-sub {
	display: block;
	font-family: var(--font-sans);
	font-size: 9px;
	font-weight: 500;
	margin-top: 4px;
	line-height: 13.5px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(10, 10, 10, 0.8);
}

.mor-footer__logo-name {
    letter-spacing: 1.2px;
    font-size: 48px;
    line-height: 48px;
}

.mor-footer__logo-sub {
	font-family: var(--font-serif);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.4em;
	text-transform: none;
	color: rgba(255, 255, 255, 0.7);
}

@media (min-width: 640px) {
	.mor-header__logo-sub {
		font-size: 10px;
	}
}

/* --- Utility bar (desktop) -------------------------------------------------- */

.mor-header__utility {
	display: none;
}

@media (min-width: 1024px) {
	.mor-header__utility {
		display: flex;
		flex: 1;
		align-items: center;
		justify-content: flex-end;
		gap: 32px;
	}
}

.mor-header__utility-item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.mor-header__utility-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 9999px;
	border: 1px solid rgba(123, 45, 62, 0.6);
	color: var(--color-brand);
	flex-shrink: 0;
}

.mor-header__utility-icon svg{
	width: 16px;
	height: 16px;
}

.mor-header__utility-text {
	display: flex;
	flex-direction: column;
}

.mor-header__utility-line1 {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(10, 10, 10, 0.7);
    line-height: 12.5px;
}

.mor-header__utility-line2 {
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	text-transform: uppercase;
	color: var(--color-fg);
    letter-spacing: 0.35px;
}

/* --- Desktop navigation ------------------------------------------------------ */

.mor-header__nav {
	display: none;
}

@media (min-width: 1024px) {
	.mor-header__nav {
		display: flex;
		width: 100%;
		justify-content: flex-end;
		margin-top: 24px;
		padding-top: 20px;
		padding-bottom: 12px;
		border-top: 1px solid rgba(10, 10, 10, 0.1);
	}
}

.mor-nav-items {
	display: flex;
	align-items: center;
	gap: 40px;
}

.mor-nav-item {
	position: relative;
	display: flex;
}

.mor-nav-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 2.34px;
	color: rgba(10, 10, 10, 0.85);
	transition: color 200ms;
}

.mor-nav-link:hover {
	color: var(--color-brand);
}

.mor-nav-chevron {
	display: inline-flex;
	transition: transform 200ms;
}
.mor-nav-chevron svg{
	width: 12px;
	height: 12px;
}

.mor-nav-item--has-children:hover .mor-nav-chevron {
	transform: rotate(180deg);
}

/* --- Services dropdown -------------------------------------------------------- */

.mor-nav-item--has-children {
	position: relative;
}

.mor-services-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 260px;
	background-color: #fff;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
	border: 1px solid rgba(0, 0, 0, 0.05);
	padding: 8px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity 200ms, visibility 200ms, transform 200ms;
	z-index: 60;
}

.mor-nav-item--has-children:hover .mor-services-dropdown,
.mor-services-dropdown.mor-dropdown--open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.mor-dropdown-link {
	display: block;
	padding: 12px 20px;
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-fg);
	transition: background-color 200ms, color 200ms;
}

.mor-dropdown-link:hover {
	background-color: rgba(123, 45, 62, 0.05);
	color: var(--color-brand);
}

/* --- Hamburger ---------------------------------------------------------------- */

.mor-header__hamburger {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 9999px;
	border: 1px solid rgba(123, 45, 62, 0.6);
	color: var(--color-brand);
	flex-shrink: 0;
}

@media (min-width: 1024px) {
	.mor-header__hamburger {
		display: none;
	}
}

/* --- Mobile navigation (inline expand) ----------------------------------------- */

.mor-header__mobile-nav {
	display: none;
	overflow-y: auto;
}

.mor-header__mobile-nav.mor-mobile-nav--open {
	display: block;
}

@media (min-width: 1024px) {
	.mor-header__mobile-nav {
		display: none !important;
	}
}

.mor-header__mobile-nav-inner {
	display: flex;
	flex-direction: column;
	padding: 0 0 24px;
	border-top: 1px solid rgba(10, 10, 10, 0.1);
	padding-top: 16px;
	gap: 4px;
}

@media (min-width: 640px) {
	.mor-header__mobile-nav-inner {
		padding-left: 32px;
		padding-right: 32px;
	}
}

.mor-mobile-nav-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: rgba(10, 10, 10, 0.85);
	text-align: left;
	width: 100%;
	transition: color 200ms;
}

.mor-mobile-nav-link:hover {
	color: var(--color-brand);
}

.mor-mobile-nav-group {
	display: flex;
	flex-direction: column;
}

.mor-mobile-nav-submenu {
	max-height: 0;
	overflow: hidden;
	transition: max-height 300ms ease;
	border-left: 1px solid #0206181a;
}

.mor-mobile-nav-submenu.mor-submenu--open {
	max-height: 600px;
}

.mor-mobile-nav-sublink {
    font-weight: 500;
    display: block;
    padding: 8px 16px;
    font-size: 12px;
    color: #020618bf;
    transition: color 200ms;
    line-height: 18px;
    letter-spacing: 1.44px;
    text-transform: uppercase;
}

.mor-mobile-nav-sublink:hover {
	color: var(--color-brand);
}

.mor-mobile-nav-link--parent[aria-expanded="true"] .mor-nav-chevron {
	transform: rotate(180deg);
}

.mor-mobile-nav-ctas {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid rgba(10, 10, 10, 0.1);
}

.mor-mobile-nav-cta {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 4px 0;
	font-size: 14px;
	color: var(--color-fg);
	text-decoration: none;
}

.mor-mobile-nav-cta__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	border: 1px solid rgba(123, 45, 62, 0.6);
	color: var(--color-brand);
	flex-shrink: 0;
}

.mor-mobile-nav-cta__text {
	display: flex;
	flex-direction: column;
	line-height: 1.4;
}

.mor-mobile-nav-cta__label {
	font-size: 10px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: rgba(10, 10, 10, 0.7);
}

.mor-mobile-nav-cta__value {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-fg);
}

/* ==========================================================================
   5. FOOTER
   ========================================================================== */

.mor-footer {
	position: relative;
	overflow: hidden;
	background-color: #0a0a0a;
	color: #fff;
}

.mor-footer__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.2;
}

.mor-footer__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0.6) 100%);
}

.mor-footer__inner {
	position: relative;
	z-index: 1;
	padding-top: 56px;
	padding-bottom: 56px;
}

.mor-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}

@media (min-width: 768px) {
	.mor-footer__inner {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.mor-footer__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 48px;
	}
}

.mor-footer__heading {
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.2em;
	margin-bottom: 32px;
	color: #fff;
}

/* --- Brand column ------------------------------------------------------------ */

.mor-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.mor-footer__social {
	display: flex;
	gap: 12px;
	margin-top: 24px;
}

.mor-footer__social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	border: 1px solid rgba(123, 45, 62, 0.6);
	color: #fff;
	transition: background-color 200ms;
}
.mor-footer__social-link svg{
	width: 16px;
	height: 16px;
}

.mor-footer__social-link:hover {
	background-color: var(--color-brand);
}

.mor-footer__yelp-icon {
	font-family: var(--font-serif);
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
}

/* --- Contact column ------------------------------------------------------------ */

.mor-footer__contact-items {
	display: inline-flex;
	flex-direction: column;
	gap: 24px;
}

.mor-footer__contact-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	color: rgba(255, 255, 255, 0.7);
	transition: color 200ms;
}

.mor-footer__contact-item:hover {
	color: #fff;
}

.mor-footer__contact-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	border: 1px solid rgba(123, 45, 62, 0.6);
	color: #fff;
}
.mor-footer__contact-icon svg{
	width: 16px;
	height: 16px;
}

.mor-footer__contact-text {
	display: flex;
	flex-direction: column;
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	color: #fff;
}

.mor-footer__contact-label {
	color: #ffffffb3;
	display: block;
	margin-bottom: 4px;
}

/* --- Hours column ------------------------------------------------------------ */

.mor-footer__hours-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mor-footer__hours-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	font-size: 14px;
	line-height: 20px;
}

.mor-footer__hours-day {
	color: #fff;
}

.mor-footer__hours-time {
	color: rgba(255, 255, 255, 0.8);
}

/* --- Copyright bar ------------------------------------------------------------ */

.mor-footer__copyright {
	position: relative;
	z-index: 1;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	margin-top: 64px;
	padding: 32px 0 0;
	text-align: center;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.5);
}

.mor-footer__copyright-link {
	color: rgba(255, 255, 255, 0.5);
	text-decoration: none;
	transition: color 200ms;
}

.mor-footer__copyright-link:hover {
	color: #fff;
}

/* ==========================================================================
   6. MOBILE CTA BAR
   ========================================================================== */

.mor-mobile-cta {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 50;
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.home .mor-mobile-cta {
	display: none;
}
@media (min-width: 1024px) {
	.mor-mobile-cta {
		display: none;
	}
}

.mor-mobile-cta__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: #fff;
}

.mor-mobile-cta__btn svg{
	width: 16px;
	height: 16px;
}

.mor-mobile-cta__btn--call {
	background-color: #020618;
}

.mor-mobile-cta__btn--book {
	background-color: var(--color-brand);
}

/* ==========================================================================
   7. HOMEPAGE — Hero
   ========================================================================== */

.mor-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}

.mor-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.mor-hero__overlay {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to bottom in oklab, color-mix(in oklab, #fff 70%, transparent) 0%, #ffffff1a 50%, color-mix(in oklab, #000 40%, transparent) 100%);
}

.mor-hero__content {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 200px 0 128px;
}

.mor-hero__text {
	max-width: 1352px;
	margin: 0 auto;
	text-align: center;
}

.mor-hero__eyebrow {
	display: block;
	margin-bottom: 16px;
	color: #fff;
	letter-spacing: 11.6px;
}

.mor-hero__heading {
	margin-bottom: 12px;
	color: #fff;
}

.mor-hero__heading em {
	font-style: italic;
}
.mor-hero__subhead {
	margin-bottom: 24px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 15px;
	line-height: 22px;
}

@media (min-width: 768px) {
	.mor-hero__eyebrow,
	.mor-hero__subhead {
		font-size: 29px;
		line-height: 1.5;
	}
	.mor-hero__subhead{
		margin-bottom: 40px;
	}
	.mor-hero__heading{
		margin-bottom: 16px;
	}
}

.mor-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}

.mor-hero__ctas .mor-btn {
    font-size: 13px;
    padding: 12px 24px;
    line-height: 19.5px;
    letter-spacing: 1.95px;
}

@media (min-width: 768px) {
	.mor-hero__ctas .mor-btn {
		font-size: 18px;
		letter-spacing: 0.2em;
		padding: 12px 32px;
		line-height: 27px;
	}
}

/* ==========================================================================
   8. HOMEPAGE — Welcome
   ========================================================================== */

.mor-welcome {
	position: relative;
	overflow: hidden;
	padding: 64px 0;
}

@media (min-width: 768px) {
	.mor-welcome {
		padding: 112px 0;
	}
}

.mor-welcome__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.mor-welcome .mor-container {
	position: relative;
	z-index: 1;
}

.mor-welcome__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	align-items: center;
}
.relative{
	position: relative;
}

@media (min-width: 1024px) {
	.mor-welcome__grid {
		grid-template-columns: 1fr 1fr;
		gap: 64px;
	}
}

.mor-welcome__eyebrow {
	display: block;
	margin-bottom: 12px;
}

.mor-welcome__heading,
.mor-welcome__paragraph {
	margin-bottom: 32px;
}

/* --- Image with tan offset + white border frame ---------------------------- */

.mor-welcome__image-wrap {
	position: relative;
}

.mor-welcome__image-frame {
	position: relative;
	max-width: 94%;
	margin: 0 0 0 auto;
	padding-top: 24px;
}

.mor-welcome__image-offset {
	position: absolute;
	top: 0;
	left: auto;
	right: -12px;
	bottom: 0;
	background-color: var(--color-bg-tan);
	width: 85%;
}

.mor-welcome__image {
	position: relative;
	z-index: 1;
	width: 100%;
	object-fit: cover;
	aspect-ratio: 12/9.37;
}

.mor-welcome__image-border {
    position: absolute;
    inset: 12px;
    border: 6px solid #fff;
    z-index: 2;
    pointer-events: none;
}

@media (min-width: 768px) {
	.mor-welcome__image-frame{
		max-width: 92%;
		padding-top: 40px;
	}
	.mor-welcome__image-offset {
		top: 0;
		left: auto;
		right: -24px;
		bottom: 0;
	}
	.mor-welcome__image-border {
		inset: 24px;
		border: 10px solid #fff;
	}
}


/* ==========================================================================
   9. HOMEPAGE — Featured Services
   ========================================================================== */

.mor-featured-services {
	background-color: var(--color-bg-warm);
	padding: 64px 0;
}

@media (min-width: 768px) {
	.mor-featured-services {
		padding: 128px 0;
	}
}
.mor-featured-services__heading{
	font-weight: 400;
}
.mor-featured-services__header {
	text-align: center;
	margin-bottom: 40px;
	
}

@media (min-width: 768px) {
	.mor-featured-services__header {
		margin-bottom: 64px;
	}
}

.mor-featured-services__eyebrow {
	display: block;
	margin-bottom: 12px;
}

.mor-featured-services__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

@media (min-width: 640px) {
	.mor-featured-services__grid {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 40px;
	}
}

@media (min-width: 1024px) {
	.mor-featured-services__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mor-featured-services__card {
	position: relative;
}

@media (min-width: 1024px) {
	.mor-featured-services__card--offset {
		transform: translateY(64px);
	}
}

.mor-featured-services__card-link {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

.mor-featured-services__card-image {
	position: absolute;
	inset: 0;
}

.mor-featured-services__card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms;
}

.mor-featured-services__card-link:hover .mor-featured-services__card-image img {
	transform: scale(1.05);
}

.mor-featured-services__card-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 24px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.70) 0%, rgba(0, 0, 0, 0.20) 50%, transparent 100%);
	color: #fff;
}

.mor-featured-services__card-title {
	margin-bottom: 8px;
	font-family: var(--font-serif);
    font-weight: 400;
    font-size: 30px;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    line-height: 1.05;
    color: #fff;
}

.mor-featured-services__card-subtitle {
	display: block;
	font-family: var(--font-sans);
	font-size: 10px;
	font-weight: 500;
	line-height: 15px;
	text-transform: uppercase;
	letter-spacing: 3.5px;
	color: rgba(255, 255, 255, 0.75);
	margin-bottom: 12px;
}

.mor-featured-services__card-desc {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	transition: max-height 500ms ease, opacity 500ms ease;
}

.mor-featured-services__card-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 9999px;
    border: 1px solid #ffffff66;
    margin-top: 20px;
    transition: background-color 200ms, border-color 200ms;
}

.mor-featured-services__card-link .mor-featured-services__card-arrow:hover {
	background-color: #fff;
	color: var(--color-brand);
}

.mor-featured-services__cta {
	display: flex;
	justify-content: center;
	margin-top: 48px;
}
.mor-featured-services__cta a,
.mor-featured-services__cta a:hover {
	border: 1px solid var(--color-brand);
}

@media (min-width: 768px) {
	.mor-featured-services__cta {
		margin-top: 128px;
	}
	.mor-featured-services__card-overlay{
		padding: 32px;
	}
	.mor-featured-services__card-desc {
		max-height: 0;
		overflow: hidden;
		opacity: 0;
	}

	.mor-featured-services__card-link:hover .mor-featured-services__card-desc {
		max-height: 200px;
		opacity: 1;
		margin-top: 8px;
	}
}


/* ==========================================================================
   10. HOMEPAGE — Meet Doctors
   ========================================================================== */

.mor-meet-doctors {
	position: relative;
	overflow: hidden;
	padding: 64px 0;
}

@media (min-width: 768px) {
	.mor-meet-doctors {
		padding: 128px 0;
	}
}

.mor-meet-doctors__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 1;
}

.mor-meet-doctors .mor-container {
	position: relative;
	z-index: 1;
}

.mor-meet-doctors__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
	align-items: center;
}

@media (min-width: 1024px) {
	.mor-meet-doctors__grid {
		grid-template-columns: 1fr 1fr;
		gap: 64px;
	}
}

.mor-meet-doctors__heading {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 16px;
}

.mor-meet-doctors__paragraph {
	margin-bottom: 40px;
}

.mor-meet-doctors__cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

@media (min-width: 640px) {
	.mor-meet-doctors__heading {
		gap: 12px;
		margin-bottom: 32px;
	}
	.mor-meet-doctors__cards {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}
}

.mor-meet-doctors__card {
	display: flex;
	flex-direction: column;
}

.mor-meet-doctors__card-image-wrap {
	position: relative;
	flex-shrink: 0;
	margin-bottom: 20px;
}

.mor-meet-doctors__card-offset {
	position: absolute;
	top: 0;
	right: -12px;
	width: 85%;
	height: 100%;
	background-color: #d9cfb8;
}

.mor-meet-doctors__card-image {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 240px;
	height: 280px;
	object-fit: cover;
	object-position: top;
	padding-top: 16px;
	padding-right: 16px;
}

.mor-meet-doctors__card-name {
	font-family: var(--font-serif);
	text-transform: initial !important;
}

.mor-meet-doctors__card-title {
	display: block;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--color-brand);
	margin-top: 4px;
}

/* ==========================================================================
   11. HOMEPAGE — Featured Brands
   ========================================================================== */

.mor-featured-brands {
	background-color: #f7f2e8;
	padding: 64px 0;
}

@media (min-width: 768px) {
	.mor-featured-brands {
		padding: 96px 0;
	}
}

.mor-featured-brands__header {
	text-align: center;
	margin-bottom: 48px;
}

.mor-featured-brands__heading {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 16px;
}

.mor-featured-brands__desc {
	max-width: 1024px;
	margin: 0 auto;
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 1.625;
	color: rgba(10, 10, 10, 0.75);
}

@media (min-width: 768px) {
	.mor-featured-brands__heading {
		gap: 12px;
		margin-bottom: 24px;
	}
	.mor-featured-brands__desc {
		font-size: 22px;
		line-height: 1.625;
	}
}

.mor-featured-brands__carousel {
	position: relative;
	margin-top: 40px;
}

.mor-featured-brands__track {
	position: relative;
	overflow: hidden;
}

.mor-featured-brands__page {
	display: none;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.mor-featured-brands__page--active {
	display: grid;
}

@media (min-width: 768px) {
	.mor-featured-brands__carousel{
		margin-top: 64px;
	}
	.mor-featured-brands__page {
		grid-template-columns: repeat(4, 1fr);
		gap: 40px;
	}
}
@media (min-width: 1024px) {
	.mor-featured-brands__page {
		gap: 64px;
	}
}

.mor-featured-brands__item {
	display: flex;
	align-items: center;
	justify-content: center;
	max-height: 112px;
}

.mor-featured-brands__logo {
	width: auto;
	max-width: 75%;
	object-fit: contain;
	max-height: 100%;
}

.mor-featured-brands__name {
	font-family: var(--font-serif);
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(10, 10, 10, 0.6);
}

.mor-featured-brands__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 40px;
}

.mor-featured-brands__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 9999px;
	border: 1px solid #0206184d;
	color: #0206184d;
	transition: border-color 200ms, background-color 200ms, color 200ms;
}

.mor-featured-brands__arrow:hover {
	border-color: var(--color-brand);
	background-color: rgba(123, 45, 62, 0.05);
	color: var(--color-brand);
}

.mor-featured-brands__arrow svg{
	width: 16px;
	height: 16px;
}

.mor-featured-brands__dots {
	display: flex;
	gap: 8px;
	display: none;
}

.mor-featured-brands__dot {
	width: 8px;
	height: 8px;
	border-radius: 9999px;
	background-color: rgba(10, 10, 10, 0.2);
	transition: background-color 200ms;
}

.mor-featured-brands__dot--active {
	background-color: var(--color-brand);
}

/* ==========================================================================
   12. HOMEPAGE — Testimonials
   ========================================================================== */

.mor-testimonials {
	background-color: #f7f2e8;
	padding: 64px 0;
}

@media (min-width: 768px) {
	.mor-testimonials {
		padding: 96px 0;
	}
	.mor-featured-brands__controls{
		margin-top: 56px;
	}
}

.mor-testimonials__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	align-items: center;
}

@media (min-width: 1024px) {
	.mor-testimonials__grid {
		grid-template-columns: 1fr 1fr;
		gap: 48px;
	}
}

/* --- Portrait with tan offset + white padding frame -------------------------- */

.mor-testimonials__image-wrap {
	position: relative;
}

.mor-testimonials__image-frame {
	position: relative;
}

.mor-testimonials__image-offset {
	position: absolute;
	top: -24px;
	right: -24px;
	left: 24px;
	bottom: 24px;
	background-color: var(--color-bg-tan);
}

.mor-testimonials__image-padding {
	position: relative;
	z-index: 1;
	padding: 12px;
	background-color: #fff;
}

.mor-testimonials__image {
	width: 100%;
	object-fit: cover;
    aspect-ratio: 4 / 2.752;
}

/* --- Content ------------------------------------------------------------------ */
.mor-testimonials__heading{
	text-align: center;
}
.mor-testimonials__subtitle {
	margin-top: 12px;
	margin-bottom: 40px;
	text-align: center;
    display: block;
}

@media (min-width: 768px) {
	.mor-testimonials__image-padding{
		padding: 16px;
	}
}

.mor-testimonials__carousel {
	position: relative;
	background-color: #1a1a1a;
	padding: 24px;
}

.mor-testimonials__card {
	display: none;
	
	color: #fff;
	
}

@media (min-width: 768px) {
	.mor-testimonials__carousel {
		padding: 48px;
	}
}

.mor-testimonials__card--active {
	display: block;
}

.mor-testimonials__quote-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 9999px;
	background-color: #1a1a1a;
	border: 1px solid var(--color-brand);
	color: #fff;
	position: absolute;
    top: -28px;
    left: 0;
    right: 0;
    margin: auto;
}
.mor-testimonials__quote-icon svg{
	width: 20px;
	height: 20px;
	color: var(--color-brand);
}

.mor-testimonials__quote {
	font-family: var(--font-sans);
	font-size: 15px;
	font-style: normal;
	line-height: 1.625;
	margin:0 0 24px;
	color: rgba(255, 255, 255, 0.9);
	text-align: center;
}

@media (min-width: 768px) {
	.mor-testimonials__quote{
		font-size: 20px;
		line-height: 1.8;
	}
	.mor-testimonials__quote {
		font-size: 22px;
		line-height: 36px;
	}
}

.mor-testimonials__stars {
	display: flex;
	justify-content: center;
	gap: 4px;
	color: #facc15;
	margin-bottom: 12px;
}
.mor-testimonials__stars svg {
    fill: currentColor;
    width: 16px;
    height: 16px;
}
.mor-testimonials__reviewer {
	display: block;
	font-style: normal;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	text-transform: uppercase;
	letter-spacing: 4.2px;
	text-align: center;
}

.mor-testimonials__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 24px;
}

.mor-testimonials__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	color: #ffffff99;
	transition: border-color 200ms, color 200ms;
}

.mor-testimonials__arrow:hover {
	color: #fff;
}
.mor-testimonials__arrow svg{
	width: 20px;
	height: 20px;
}

.mor-testimonials__dots {
	display: flex;
	gap: 8px;
}

.mor-testimonials__dot {
    width: 6px;
    height: 6px;
    border-radius: 9999px;
    background-color: #ffffff4d;
    transition: background-color 200ms;
}

.mor-testimonials__dot--active {
	background-color: #fff;
}

.mor-testimonials__content > .mor-btn {
	margin: 40px auto 0;
}
.mor-testimonials__content{
	text-align: center;
}

/* ==========================================================================
   13. MAP SECTION
   ========================================================================== */

.mor-map-section {
	width: 100%;
	line-height: 0;
}

.mor-map-section__iframe {
	width: 100%;
	height: 500px;
	border: none;
	display: block;
}

@media (min-width: 768px) {
	.mor-map-section__iframe {
		height: 600px;
	}
}

/* ==========================================================================
   14. INNER PAGE HERO (About, Contact, Optometrists)
   ========================================================================== */

.mor-inner-hero {
	position: relative;
	height: 52vh;
	min-height: 380px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}
.page-template-page-contact .mor-inner-hero {
	height: 44vh;
	min-height: 320px;
}

.mor-inner-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}
.mor-inner-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.70), rgb(0 0 0 / 30%) 50%, rgb(255 255 255 / 70%));
}

.mor-inner-hero__content {
	position: relative;
	z-index: 1;
	padding-bottom: 48px;
	color: #fff;
}

@media (min-width: 768px) {
	.mor-inner-hero{
		height: 62vh;
	}
	.page-template-page-contact .mor-inner-hero {
		height: 54vh;
	}
	.mor-inner-hero__content {
		padding-bottom: 80px;
	}
}

.mor-inner-hero__eyebrow {
	display: block;
	margin-bottom: 8px;
	color: #fff;
	line-height: 1.5;
}

.mor-inner-hero__heading {
	color: #fff;
}

/* ==========================================================================
   15. SERVICE PAGE — Hero
   ========================================================================== */

.mor-service-hero {
	position: relative;
	min-height: 70vh;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background-size: cover;
	background-position: center;
}

@media (min-width: 768px) {
	.mor-service-hero {
		min-height: 80vh;
	}
}

.mor-service-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0.70),
		rgba(0, 0, 0, 0.30) 50%,
		rgba(0, 0, 0, 0.70)
	);
}

.mor-service-hero__inner {
	position: relative;
	z-index: 1;
	padding-top: 160px;
	padding-bottom: 56px;
}

@media (min-width: 640px) {
	.mor-service-hero__inner {
		padding-bottom: 80px;
	}
}

.mor-service-hero__eyebrow {
	display: block;
	margin-bottom: 16px;
	color: #fff;
}

.mor-service-hero__heading {
	max-width: 896px;
	margin-bottom: 24px;
	color: #fff;
}

.mor-service-hero__subhead {
	max-width: 768px;
	margin-bottom: 32px;
	color: rgba(255, 255, 255, 0.9);
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 30px;
}

@media (min-width: 640px) {
	.mor-service-hero__subhead {
		font-size: 20px;
	}
}

@media (min-width: 768px) {
	.mor-service-hero__subhead {
		font-size: 24px;
	}
}

.mor-service-hero__ctas {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

@media (min-width: 640px) {
	.mor-service-hero__ctas {
		flex-direction: row;
		align-items: center;
	}
	.page-template-page-service .mor-closing-cta__buttons .mor-btn,
	.mor-service-hero__ctas .mor-btn {
		font-size: 15px;
		padding: 16px 32px;
        letter-spacing: 3px;
	}
}

/* ==========================================================================
   16. SERVICE — Trust Bar
   ========================================================================== */

.mor-trust-bar {
	background-color: var(--color-brand);
	color: #fff;
	padding: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mor-trust-bar__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 24px;
	padding: 24px 0;
}

@media (min-width: 1024px) {
	.mor-trust-bar__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.mor-trust-bar__item {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.mor-trust-bar__icon {
	flex-shrink: 0;
	display: inline-flex;
	margin-top: 3px;
	width: 16px;
	height: 16px;
}

.mor-trust-bar__text {
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	line-height: 1.5;
}

@media (min-width: 640px) {
	.mor-trust-bar__text {
		font-size: 14px;
	}
}

/* ==========================================================================
   17. SERVICE — Intro
   ========================================================================== */

.mor-service-intro {
	padding: 64px 0;
	text-align: center;
}

@media (min-width: 640px) {
	.mor-service-intro {
		padding: 96px 0;
	}
}

.mor-service-intro__inner {
	max-width: 896px;
	margin: 0 auto;
}

.mor-service-intro__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-service-intro__heading {
	margin-bottom: 24px;
	font-weight: 400;
}

.mor-service-intro__text {
	margin-bottom: 20px;
}

.mor-service-intro__text:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   18. SERVICE — Included Cards
   ========================================================================== */

.mor-included-cards {
	background-color: var(--color-bg-warm);
	padding: 64px 0;
	text-align: center;
}

@media (min-width: 640px) {
	.mor-included-cards {
		padding: 96px 0;
	}
}

.mor-included-cards__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-included-cards__heading {
	margin-bottom: 48px;
	font-weight: 400;
}

.mor-included-cards__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	text-align: left;
}

@media (min-width: 640px) {
	.mor-included-cards__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.mor-included-cards__grid--cols-3 {
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.mor-included-cards__grid--cols-3 {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mor-included-cards__grid--cols-4 {
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.mor-included-cards__grid--cols-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.mor-included-cards__grid--cols-4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

.mor-included-card {
    background-color: #fff;
    border: 1px solid #0206181a;
    padding: 32px;
}

.mor-included-card__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 9999px;
    background-color: #7b2d3e0d;
    color: var(--color-brand);
    margin-bottom: 24px;
    border: 1px solid #7b2d3e66;
}

.mor-included-card__icon-wrap svg{
	width: 40px;
	height: 40px;
	stroke-width: 1.5;
}

.mor-included-card__title {
	margin-bottom: 12px;
	text-transform: initial;
}

.mor-included-card__text {
	font-size: 15px;
	line-height: 28px;
	color: rgba(10, 10, 10, 0.7);
}

/* ==========================================================================
   19. SERVICE — Lens Types (Tabs / Accordion)
   ========================================================================== */

.mor-lens-types {
	background-color: #f5f0e6;
	padding: 64px 0;
}

@media (min-width: 640px) {
	.mor-lens-types {
		padding: 96px 0;
	}
}
.mor-lens-types__eyebrow{
	text-align: center;
	margin-bottom: 8px;
    display: block;
}

.mor-lens-types__heading {
	margin-bottom: 48px;
	text-align: center;
	font-weight: 400;
}

.mor-lens-types__tabs {
	display: none;
}

.mor-lens-types__accordion-trigger {
	display: none;
}

.mor-lens-types__panels {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

@media (min-width: 768px) {
	.mor-lens-types__panels {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1200px) {
	.mor-lens-types__panels {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mor-lens-types__panel {
	display: flex !important;
	flex-direction: column;
	background-color: #fff;
	border: 1px solid rgba(10, 10, 10, 0.15);
	padding: 24px;
}

.mor-lens-types__panel-label {
	font-family: var(--font-sans);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--color-brand);
}

.mor-lens-types__panel-heading {
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.75px;
	line-height: 1.2;
	color: var(--color-fg);
	margin-top: 12px;
	margin-bottom: 16px;
}

@media (min-width: 640px) {
	.mor-lens-types__panel{
		padding: 32px;
	}
	.mor-lens-types__panel-heading {
		font-size: 30px;
		line-height: 36px;
	}
}

.mor-lens-types__panel-text {
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 28px;
	color: rgba(10, 10, 10, 0.75);
	margin-bottom: 0;
}

.mor-lens-types__panel-best {
	margin-top: auto;
	padding-top: 20px;
	border-top: 1px solid rgba(10, 10, 10, 0.1);
	font-family: var(--font-sans);
	font-size: 14px;
	line-height: 26px;
	color: rgba(10, 10, 10, 0.8);
}

@media (min-width: 640px) {
	.mor-lens-types__panel-text{
		font-size: 16px;
		line-height: 30px;
	}
	.mor-lens-types__panel-best {
		font-size: 15px;
	}
}

.mor-lens-types__panel-best strong {
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--color-brand);
}

/* ==========================================================================
   20. SERVICE — Who For
   ========================================================================== */

.mor-who-for {
	position: relative;
	min-height: 500px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background-size: cover;
	background-position: center;
}

.mor-who-for__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(0, 0, 0, 0.7), transparent);
}

.mor-who-for__inner {
	position: relative;
	z-index: 1;
	padding: 64px 0;
}

.mor-who-for__card {
    background-color: #fffffff2;
    padding: 24px;
    max-width: 768px;
    box-shadow: 0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.mor-who-for__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-who-for__heading {
	margin-bottom: 20px;
	font-weight: 400;
}

.mor-who-for__lead {
	margin-bottom: 32px;
}

.mor-who-for__list {
	list-style: none;
	margin: 0;
	padding: 0;
	    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 12px;
}

.mor-who-for__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	line-height: 26px;
	color: rgba(10, 10, 10, 0.8);
}

.mor-who-for__check {
    flex-shrink: 0;
    color: var(--color-brand);
    border: 1px solid #7b2d3e80;
    width: 24px;
    height: 24px;
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
}

.mor-who-for__check svg {
	width: 12px;
	height: 12px;
}

@media (min-width: 640px) {
	.mor-who-for__list {
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap: 16px 40px;
	}
}

/* ==========================================================================
   21. SERVICE — Expect Timeline
   ========================================================================== */

.mor-expect-timeline {
	background-color: #141414;
	color: #fff;
	padding: 64px 0;
	text-align: center;
}

@media (min-width: 640px) {
	.mor-who-for__card{
		padding: 48px;
	}
	.mor-who-for__inner,
	.mor-expect-timeline {
		padding: 96px 0;
	}
}

.mor-expect-timeline__eyebrow {
	display: block;
	margin-bottom: 8px;
	color: #e6b8c2;
}

.mor-expect-timeline__heading {
	margin-bottom: 48px;
	color: #fff;
	font-weight: 400;
}

.mor-expect-timeline__steps {
	max-width: 768px;
	margin: 0 auto;
	position: relative;
	text-align: left;
}

.mor-expect-timeline__step {
	display: flex;
	gap: 24px;
	padding-bottom: 24px;
	position: relative;
}
.mor-expect-timeline__step:last-child{
	padding-bottom: 0 !important;
}

.mor-expect-timeline__content{
	padding-top: 8px;
}

.mor-expect-timeline__step:not(:last-child)::before {
	content: '';
	position: absolute;
	left: 19px;
	top: 48px;
	width: 1px;
	background-color: rgba(255, 255, 255, 0.2);
	height: calc(100% - 72px);
}


.mor-expect-timeline__indicator {
	position: relative;
	flex-shrink: 0;
}

.mor-expect-timeline__number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	background-color: var(--color-brand);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	position: relative;
	font-family: var(--font-serif);
	z-index: 1;
}

@media (min-width: 768px) {
	.mor-expect-timeline__step{
		padding-bottom: 40px;
	}
	.mor-expect-timeline__step:not(:last-child)::before {
		left: 23px;
		top: 56px;
		height: calc(100% - 96px);
	}
	.mor-expect-timeline__number {
		width: 48px;
		height: 48px;
		font-size: 18px;
	}
}

.mor-expect-timeline__line {
	display: none;
}

.mor-expect-timeline__step-title {
	margin-bottom: 8px;
	color: #fff;
	text-transform: inherit;
}

.mor-expect-timeline__step-text {
	font-size: 15px;
	line-height: 1.625;
	color: rgba(255, 255, 255, 0.7);
}

/* ==========================================================================
   22. SERVICE — First-Time Callout
   ========================================================================== */

.mor-first-time {
	padding: 56px 0;
}

@media (min-width: 640px) {
	.mor-expect-timeline__step-text {
		font-size: 17px;
		line-height: 28px;
	}
	.mor-first-time {
		padding: 80px 0;
	}
}

.mor-first-time__box {
	max-width: 56rem;
	margin: 0 auto;
	background-color: rgba(123, 45, 62, 0.07);
	padding: 32px;
	border-radius: 6px;
	box-shadow: inset 0 0 0 1px rgba(123, 45, 62, 0.3);
}

@media (min-width: 640px) {
	.mor-first-time__box {
		padding: 48px;
	}
}

.mor-first-time__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: var(--color-brand);
    color: #fff;
    padding: 8px 16px;
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2.42px;
    line-height: 17px;
}
.mor-first-time__badge svg {
    width: 14px;
    height: 14px;
}

.mor-first-time__heading {
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.75px;
	color: var(--color-fg);
	margin-top: 20px;
	margin-bottom: 0;
}

@media (min-width: 640px) {
	.mor-first-time__heading {
		font-size: 30px;
		line-height: 36px;
	}
}

.mor-first-time__text {
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 30px;
	color: rgba(10, 10, 10, 0.8);
	margin-top: 16px;
}

@media (min-width: 640px) {
	.mor-first-time__text {
		font-size: 18px;
	}
}

/* ==========================================================================
   23. SERVICE — Mid CTA
   ========================================================================== */

.mor-mid-cta {
	background-color: #faf7f1;
	border-top: 1px solid rgba(10, 10, 10, 0.1);
	border-bottom: 1px solid rgba(10, 10, 10, 0.1);
	padding: 32px 0;
}

.mor-mid-cta__inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: center;
	text-align: center;
}

@media (min-width: 1024px) {
	.mor-mid-cta__inner {
		flex-direction: row;
		justify-content: space-between;
		text-align: left;
	}
}

.mor-mid-cta__text {
	font-family: var(--font-sans);
	font-weight: 400;
	font-size: 15px;
	line-height: 28px;
	color: rgba(10, 10, 10, 0.8);
	max-width: 42rem;
}

@media (min-width: 640px) {
	.mor-mid-cta__text {
		font-size: 18px;
	}
}

.mor-mid-cta__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

.mor-mid-cta__buttons .mor-btn{
	padding: 12px 24px;
}

/* ==========================================================================
   24. SERVICE — Treatment Ladder
   ========================================================================== */

.mor-treatment-ladder {
	padding: 64px 0;
}

@media (min-width: 640px) {
	.mor-treatment-ladder {
		padding: 96px 0;
	}
}
.mor-treatment-ladder .mor-included-cards__heading,
.mor-treatment-ladder .mor-included-cards__eyebrow{
	text-align: center;
}


.mor-treatment-ladder__rows {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.mor-treatment-ladder__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	align-items: center;
}

@media (min-width: 1024px) {
	.mor-treatment-ladder__rows{
		gap: 80px;
	}
	.mor-treatment-ladder__row {
		grid-template-columns: 1fr 1fr;
		gap: 64px;
	}

	.mor-treatment-ladder__row--reverse .mor-treatment-ladder__image {
		order: 2;
	}

	.mor-treatment-ladder__row--reverse .mor-treatment-ladder__content {
		order: 1;
	}
}

.mor-treatment-ladder__image img {
	width: 100%;
	height: 280px;
	object-fit: cover;
}

@media (min-width: 640px) {
	.mor-treatment-ladder__image img {
		height: 420px;
	}
}

.mor-treatment-ladder__counter-row {
	display: flex;
	align-items: center;
	gap: 16px;
}

.mor-treatment-ladder__number {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 9999px;
	background-color: var(--color-brand);
	font-family: var(--font-serif);
	font-size: 20px;
	font-weight: 400;
	color: #fff;
}

.mor-treatment-ladder__label {
	font-family: var(--font-sans);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: var(--color-brand);
}

.mor-treatment-ladder__title {
	font-family: var(--font-serif);
	font-size: 30px;
	font-weight: 400;
	letter-spacing: .025em;
	line-height: 36px;
	color: var(--color-fg);
	margin-top: 20px;
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.mor-treatment-ladder__title {
		font-size: 36px;
		line-height: 40px;
	}
}

.mor-treatment-ladder__text {
	font-size: 15px;
	line-height: 30px;
	color: rgba(10, 10, 10, 0.75);
	margin-top: 16px;
	margin-bottom: 0;
}

@media (min-width: 640px) {
	.mor-treatment-ladder__text {
		font-size: 17px;
	}
}

@media (min-width: 768px) {
	.mor-treatment-ladder__text {
		font-size: 22px;
	}
}

.mor-treatment-ladder__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mor-treatment-ladder__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	color: rgba(10, 10, 10, 0.8);
}

.mor-treatment-ladder__check {
	flex-shrink: 0;
	display: inline-flex;
	color: var(--color-brand);
	margin-top: 2px;
}

/* ==========================================================================
   25. SERVICE — At-Home Care
   ========================================================================== */

.mor-at-home {
	background-color: #faf7f1;
	padding: 64px 0;
	text-align: center;
}

@media (min-width: 640px) {
	.mor-at-home {
		padding: 96px 0;
	}
}

.mor-at-home__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-at-home__heading {
	margin-bottom: 48px;
}

.mor-at-home__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}

@media (min-width: 640px) {
	.mor-at-home__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.mor-at-home__grid {
		gap: 56px;
		grid-template-columns: repeat(4, 1fr);
	}
}
.mor-at-home__icon-wrap{
	display: inline-flex;
}
.mor-at-home__icon-wrap svg {
    width: 56px;
    height: 56px;
    color: var(--color-brand);
    margin: 0 auto 24px;
    stroke-width: 1.25;
}

.mor-at-home__title {
	margin-bottom: 12px;
	text-transform: initial;
}

.mor-at-home__text {
	font-size: 15px;
	line-height: 28px;
	color: rgba(10, 10, 10, 0.7);
}

/* ==========================================================================
   26. SERVICE — Age Tiers
   ========================================================================== */

.mor-age-tiers {
	padding: 64px 0;
}

@media (min-width: 640px) {
	.mor-age-tiers {
		padding: 96px 0;
	}
}

.mor-age-tiers__eyebrow {
	display: block;
	text-align: center;
	margin-bottom: 8px;
}

.mor-age-tiers__heading {
	text-align: center;
	margin-bottom: 48px;
}

.mor-age-tiers__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}



.mor-age-tiers__card {
    border: 1px solid #02061826;
    padding: 24px;
}

.mor-age-tiers__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 9999px;
    border: 1px solid #7b2d3e80;
    color: var(--color-brand);
    margin-bottom: 24px;
}

.mor-age-tiers__icon-wrap svg{
	width: 20px;
	height: 20px;
	stroke-width: 1.5;
}

.mor-age-tiers__label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	line-height: 17px;
	color: var(--color-brand);
	letter-spacing: 2.75px;
	text-transform: uppercase;
	font-weight: 600;
}

.mor-age-tiers__title {
	margin-bottom: 12px;
}

.mor-age-tiers__text {
	font-size: 15px;
	line-height: 28px;
	color: rgba(10, 10, 10, 0.7);
	margin-bottom: 24px;
}

.mor-age-tiers__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mor-age-tiers__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	color: rgba(10, 10, 10, 0.8);
	line-height: 26px;
}

.mor-age-tiers__check {
	flex-shrink: 0;
	display: inline-flex;
	color: var(--color-brand);
	margin-top: 4px;
}

.mor-age-tiers__check svg{
	width: 16px;
	height: 16px;
}

@media (min-width: 768px) {
	.mor-age-tiers__card{
		padding: 32px;
	}
	.mor-age-tiers__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 32px;
	}
}


/* ==========================================================================
   27. SERVICE — Comparison Table
   ========================================================================== */

.mor-comparison {
	background-color: var(--color-bg-warm);
	padding: 64px 0;
}

@media (min-width: 640px) {
	.mor-comparison {
		padding: 96px 0;
	}
}

.mor-comparison__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}

@media (min-width: 1024px) {
	.mor-comparison__layout {
		grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
		gap: 64px;
	}
}

.mor-comparison__header {
	text-align: left;
}

@media (min-width: 1024px) {
	.mor-comparison__header {
		padding-top: 8px;
	}
}

.mor-comparison__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-comparison__heading {
	margin-bottom: 20px;
	font-weight: 400;
}
.mor-comparison__table tbody tr:nth-child(even) {
    background: #faf7f1;
}
.mor-comparison__text {
	font-size: 15px;
	line-height: 28px;
	color: rgba(10, 10, 10, 0.75);
}

@media (min-width: 640px) {
	.mor-comparison__text {
		font-size: 17px;
	}
}

.mor-comparison__note {
	margin-top: 24px;
	font-size: 14px;
	line-height: 24px;
	color: rgba(10, 10, 10, 0.6);
}

.mor-comparison__table-wrap {
	overflow-x: auto;
	border: 1px solid rgba(10, 10, 10, 0.15);
	background-color: #fff;
}

.mor-comparison__table {
	width: 100%;
	min-width: 640px;
	border-collapse: collapse;
	text-align: left;
}

.mor-comparison__th {
	background-color: var(--color-brand);
	color: #fff;
	padding: 20px 24px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-size: 11px;
}

.mor-comparison__feature {
    padding: 20px 24px;
    font-size: 13px;
    line-height: 20px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #020618;
    border-top: 1px solid rgba(10, 10, 10, 0.1);
    vertical-align: top;
}

.mor-comparison__val {
    padding: 20px 24px;
    font-size: 15px;
    border-top: 1px solid rgba(10, 10, 10, 0.1);
    color: #020618bf;
    line-height: 26px;
}

/* ==========================================================================
   28. SERVICE — Approach
   ========================================================================== */

.mor-approach {
	padding: 64px 0;
}

@media (min-width: 640px) {
	.mor-approach {
		padding: 96px 0;
	}
}

.mor-approach__eyebrow {
	display: block;
	text-align: center;
	margin-bottom: 8px;
}

.mor-approach__heading {
	text-align: center;
	margin-bottom: 48px;
}

.mor-approach__rows {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

@media (min-width: 640px) {
	.mor-approach__rows {
		gap: 80px;
	}
}

.mor-approach__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	align-items: center;
}

@media (min-width: 1024px) {
	.mor-approach__row {
		grid-template-columns: 1fr 1fr;
		gap: 64px;
	}

	.mor-approach__row--reverse .mor-approach__image {
		order: 2;
	}

	.mor-approach__row--reverse .mor-approach__content {
		order: 1;
	}
}

.mor-approach__image img {
	width: 100%;
	height: 280px;
	object-fit: cover;
}

@media (min-width: 640px) {
	.mor-approach__image img {
		height: 420px;
	}
}

.mor-approach__title {
	margin-bottom: 16px;
	text-transform: initial;
}

.mor-approach__text {
	font-size: 15px;
	line-height: 30px;
	color: rgba(10, 10, 10, 0.75);
}

@media (min-width: 640px) {
	.mor-approach__text {
		font-size: 17px;
	}
}

@media (min-width: 768px) {
	.mor-approach__text {
		font-size: 22px;
	}
}

/* ==========================================================================
   29. SERVICE — Insurance
   ========================================================================== */

.mor-insurance {
	background-color: var(--color-bg-warm);
	padding: 64px 0;
	text-align: center;
}

@media (min-width: 640px) {
	.mor-insurance {
		padding: 96px 0;
	}
}

.mor-insurance__header {
	max-width: 56rem;
	margin: 0 auto;
}

.mor-insurance__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-insurance__heading {
	margin-bottom: 0;
	font-weight: 400;
}

.mor-insurance__desc {
	margin-top: 24px;
	font-size: 15px;
	line-height: 30px;
	color: rgba(10, 10, 10, 0.75);
}

@media (min-width: 640px) {
	.mor-insurance__desc {
		font-size: 17px;
	}
}

@media (min-width: 768px) {
	.mor-insurance__desc {
		font-size: 22px;
	}
}

.mor-insurance__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 16px;
    max-width: 72rem;
    margin: 48px auto 0;
}

@media (min-width: 640px) {
	.mor-insurance__grid {
		gap: 24px;
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.mor-insurance__grid {
		grid-template-columns: repeat(5, 1fr);
	}
}

.mor-insurance__card-wrap {
	text-align: center;
}

.mor-insurance__card {
    background-color: #fff;
    border: 1px solid rgba(10, 10, 10, 0.15);
    padding: 24px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 128px;
}
.mor-insurance__card .mor-insurance__logo img {
    height: 65px;
    object-fit: contain;
}

.mor-insurance__name {
	font-family: var(--font-serif);
	font-size: 20px;
	line-height: 28px;
	font-weight: 400;
	letter-spacing: 0.025em;
	color: var(--color-fg);
}

.mor-insurance__label {
	display: block;
	margin-top: 12px;
	font-size: 13px;
	font-weight: 600;
	line-height: 20px;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: rgba(10, 10, 10, 0.7);
}

.mor-insurance__note {
    margin: 40px auto 0;
    max-width: 1024px;
    padding: 32px;
    border-left: 4px solid var(--color-brand);
    font-size: 17px;
    line-height: 28px;
    color: #020618cc;
    text-align: left;
    background: #fff;
}

.mor-insurance__note a{
	font-weight: 600;
	color: var(--color-brand);
	text-decoration: underline;
}

/* ==========================================================================
   30. SERVICE — Doctors
   ========================================================================== */

.mor-service-doctors {
	padding: 64px 0;
	text-align: center;
}

@media (min-width: 640px) {
	.mor-service-doctors {
		padding: 96px 0;
	}
}

.mor-service-doctors__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-service-doctors__heading {
	margin-bottom: 48px;
	font-weight: 400;
}

.mor-service-doctors__grid {
	max-width: 1152px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}

@media (min-width: 768px) {
	.mor-service-doctors__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mor-service-doctors__photo {
	margin-bottom: 24px;
	overflow: hidden;
}

.mor-service-doctors__photo img {
	width: 100%;
	height: 320px;
	object-fit: cover;
	object-position: top;
}

@media (min-width: 640px) {
	.mor-service-doctors__photo img {
		height: 380px;
	}
}

.mor-service-doctors__name {
	margin-bottom: 4px;
	text-transform: initial;
}

.mor-service-doctors__title {
	display: block;
	font-size: 13px;
	font-weight: 500;
	line-height: 20px;
	text-transform: uppercase;
	letter-spacing: 3.25px;
	color: var(--color-brand);
	margin-bottom: 12px;
}

.mor-service-doctors__desc {
	font-size: 15px;
	line-height: 28px;
	color: rgba(10, 10, 10, 0.7);
}

/* ==========================================================================
   31. SERVICE — Reviews
   ========================================================================== */

.mor-service-reviews {
	background-color: var(--color-bg-warm);
	padding: 64px 0;
	text-align: center;
}

@media (min-width: 640px) {
	.mor-service-reviews {
		padding: 96px 0;
	}
}

.mor-service-reviews__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-service-reviews__heading {
	margin-bottom: 48px;
	font-weight: 400;
}

.mor-service-reviews__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-bottom: 40px;
}

@media (min-width: 768px) {
	.mor-service-reviews__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mor-service-reviews__card {
	background-color: #fff;
	border: 1px solid rgba(10, 10, 10, 0.08);
	padding: 24px;
	text-align: left;
}

.mor-service-reviews__stars {
	display: flex;
	gap: 4px;
	color: #facc15;
	margin-bottom: 16px;
}

.mor-service-reviews__placeholder {
	border: 2px dashed rgba(10, 10, 10, 0.15);
	padding: 24px;
	text-align: center;
	color: rgba(10, 10, 10, 0.4);
	font-size: 14px;
}

/* ==========================================================================
   32. SERVICE — Related Services
   ========================================================================== */

.mor-related-services {
	padding: 64px 0;
	text-align: center;
}

@media (min-width: 640px) {
	.mor-related-services {
		padding: 96px 0;
	}
}

.mor-related-services__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-related-services__heading {
	margin-bottom: 48px;
}

.mor-related-services__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	text-align: left;
}



.mor-related-services__card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 24px;
	border: 1px solid #02061826;
	transition: border-color 200ms, box-shadow 200ms;
}

.mor-related-services__card:hover {
	border-color: var(--color-brand);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.mor-related-services__title {
	margin-bottom: 6px;
}

.mor-related-services__text {
	font-size: 15px;
	line-height: 28px;
	color: rgba(10, 10, 10, 0.65);
}

.mor-related-services__arrow {
    flex-shrink: 0;
    display: inline-flex;
    color: var(--color-brand);
    width: 40px;
    height: 40px;
    border: 1px solid #7b2d3e80;
    border-radius: 100px;
    justify-content: center;
    align-items: center;
}
.mor-related-services__arrow svg{
	width: 16px;
	height: 16px;
}

@media (min-width: 768px) {
	.mor-related-services__grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.mor-related-services__card{
		padding: 32px;
	}
}

/* ==========================================================================
   33. SERVICE — Location
   ========================================================================== */

.mor-location {
	background-color: #f5f0e6;
}

.mor-location > .mor-container {
	max-width: none;
	padding: 0;
}

.mor-location__layout {
	display: grid;
	grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
	.mor-location__layout {
		grid-template-columns: 1fr 1fr;
	}
}

.mor-location__map {
	position: relative;
	height: 360px;
	width: 100%;
}

@media (min-width: 1024px) {
	.mor-location__map {
		height: auto;
		min-height: 520px;
	}
}

.mor-location__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.mor-location__info {
	padding: 56px 16px;
}

@media (min-width: 640px) {
	.mor-location__info {
		padding: 56px 40px;
	}
}

@media (min-width: 768px) {
	.mor-location__info {
		padding: 56px 64px;
	}
}

.mor-location__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-location__heading {
	margin-bottom: 32px;
}

.mor-location__details {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 40px;
}

.mor-location__detail {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 17px;
	line-height: 26px;
	color: #020618cc;
	transition: color 200ms;
}

.mor-location__detail:hover {
	color: var(--color-brand);
}

.mor-location__icon {
	display: inline-flex;
	width: 20px;
	height: 20px;
	color: var(--color-brand);
	flex-shrink: 0;
	margin-top: 4px;
}

p.hours-label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    line-height: 20px;
    font-weight: 600;
    color: #020618;
	margin-bottom: 16px;
	text-transform: uppercase;
	letter-spacing: 2.6px;
}
p.hours-label svg{
	width: 16px;
	height: 16px;
	color: var(--color-brand);
}

.mor-location__hours {
	width: 100%;
	border-collapse: collapse;
}
.mor-location__day{
	font-weight: 500;
}
.mor-location__day,
.mor-location__time {
	padding: 12px 0;
	font-size: 15px;
	line-height: 23px;
	border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}

.mor-location__time {
	text-align: right;
	color: rgba(10, 10, 10, 0.7);
}

/* ==========================================================================
   34. SERVICE — FAQ Accordion
   ========================================================================== */

.mor-faq {
	padding: 64px 0;
}

@media (min-width: 640px) {
	.mor-faq {
		padding: 96px 0;
	}
}

.mor-faq__eyebrow {
	display: block;
	text-align: center;
	margin-bottom: 8px;
}

.mor-faq__heading {
	text-align: center;
	margin-bottom: 40px;
	font-weight: 400;
}

.mor-faq__list {
	max-width: 768px;
	margin: 0 auto;
}

.mor-faq__item {
	border-bottom: 1px solid rgba(10, 10, 10, 0.1);
}

.mor-faq__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	text-align: left;
	padding: 16px 0;
	color: var(--color-fg);
}

.mor-faq__question {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.6px;
    line-height: 1.34;
    color: #020618;
}

@media (min-width: 768px) {
	.mor-faq__question {
		font-size: 24px;
	}
}

.mor-faq__icon {
    flex-shrink: 0;
    display: inline-flex;
    transition: transform 300ms;
    width: 16px;
    height: 16px;
    color: #62748e;
}

.mor-faq__trigger[aria-expanded="true"] .mor-faq__icon {
	transform: rotate(180deg);
}

.mor-faq__answer[hidden] {
	display: none;
}

.mor-faq__answer-inner {
	padding: 0 0 24px;
	font-size: 15px;
	line-height: 1.8;
	color: rgba(10, 10, 10, 0.75);
}

/* ==========================================================================
   35. SERVICE — Rich Text
   ========================================================================== */

.mor-rich-text {
	background-color: #faf7f1;
	padding: 64px 0;
}

@media (min-width: 640px) {
	.mor-rich-text {
		padding: 96px 0;
	}
}

.mor-rich-text__inner {
	max-width: 768px;
	margin: 0 auto;
}

.mor-rich-text__heading {
	margin-bottom: 16px;
}

.mor-rich-text__content p {
	font-size: 15px;
	line-height: 1.8;
	color: rgba(10, 10, 10, 0.75);
	margin-bottom: 16px;
}

.mor-rich-text__content h3,
.mor-rich-text__content h4 {
	font-family: var(--font-serif);
	font-weight: 400;
	font-size: 22px;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	margin: 24px 0 12px;
	color: var(--color-fg);
}

.mor-rich-text__content ul {
	list-style: disc;
	padding-left: 24px;
	margin-bottom: 16px;
}

.mor-rich-text__content li {
	font-size: 15px;
	line-height: 1.8;
	color: rgba(10, 10, 10, 0.75);
	margin-bottom: 4px;
}

.mor-rich-text__content strong {
	color: var(--color-fg);
}

.mor-rich-text__content a {
	color: var(--color-brand);
	text-decoration: underline;
}

/* ==========================================================================
   36. SHARED — Closing CTA (service, about, optometrists pages)
   ========================================================================== */

.mor-closing-cta {
	background-color: var(--color-brand);
	color: #fff;
	padding: 64px 0;
}

@media (min-width: 640px) {
	.mor-closing-cta {
		padding: 80px 0;
	}
}

.mor-closing-cta__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

@media (min-width: 768px) {
	.mor-closing-cta__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 0 32px;
	}
}

.mor-closing-cta__heading {
	color: #fff;
	margin-bottom: 12px;
	font-size: 30px;
	line-height: 36px;
}

@media (min-width: 640px) {
	.mor-closing-cta__heading {
		font-size: 36px;
		line-height: 40px;
	}
}

@media (min-width: 768px) {
	.mor-closing-cta__heading {
		font-size: 48px;
		line-height: 1;
	}
}

.mor-closing-cta__text {
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 30px;
	color: rgba(255, 255, 255, 0.85);
	max-width: 42rem;
}

@media (min-width: 640px) {
	.mor-closing-cta__text {
		font-size: 17px;
	}
}

@media (min-width: 768px) {
	.mor-closing-cta__text {
		font-size: 22px;
		line-height: 30px;
	}
}

.mor-closing-cta__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	flex-shrink: 0;
}

/* Centered variant — used on service pages */
.mor-closing-cta--centered .mor-closing-cta__inner {
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 32px;
}

.mor-closing-cta--centered .mor-closing-cta__heading {
	margin-bottom: 0;
}

.mor-closing-cta--centered .mor-closing-cta__text {
	max-width: 672px;
	margin-top: 16px;
}

.mor-closing-cta--centered .mor-closing-cta__buttons {
	justify-content: center;
	gap: 12px;
}

/* ==========================================================================
   37. CONTACT PAGE
   ========================================================================== */

.mor-contact-details {
	position: relative;
	overflow: hidden;
}

.mor-contact-details__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	pointer-events: none;
}

.mor-contact-details__grid {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px;
	padding: 64px 0;
}

@media (min-width: 1024px) {
	.mor-contact-details__grid {
		grid-template-columns: 1fr 1fr;
		gap: 80px;
		padding: 112px 0;
	}
}

.mor-contact-details__eyebrow {
	display: block;
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: #7B2D3E;
}

@media (min-width: 640px) {
	.mor-contact-details__eyebrow {
		font-size: 16px;
		letter-spacing: 0.4em;
	}
}

@media (min-width: 768px) {
	.mor-contact-details__eyebrow {
		font-size: 24px;
	}
}

.mor-contact-details__heading {
	margin-top: 8px;
	font-family: var(--font-serif);
	font-size: 30px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .025em;
	line-height: 32px;
}

@media (min-width: 640px) {
	.mor-contact-details__heading {
		margin-top: 12px;
		font-size: 36px;
		line-height: 40px;
	}
}

@media (min-width: 768px) {
	.mor-contact-details__heading {
		font-size: 48px;
		line-height: 1;
	}
}

.mor-contact-details__intro {
	margin-top: 20px;
	font-size: 15px;
	line-height: 25.5px;
	color: rgba(10, 10, 10, 0.75);
}

@media (min-width: 640px) {
	.mor-contact-details__intro {
		font-size: 17px;
	}
}

@media (min-width: 768px) {
	.mor-contact-details__intro {
		font-size: 22px;
		line-height: 1.36;
	}
}

.mor-contact-details__blocks {
	margin-top: 32px;
	margin-bottom: 32px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

@media (min-width: 640px) {
	.mor-contact-details__blocks {
		margin-top: 40px;
		margin-bottom: 40px;
	}
}

.mor-contact-details__block {
	display: flex;
	gap: 16px;
}

.mor-contact-details__block-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 9999px;
	border: 1px solid rgba(123, 45, 62, 0.6);
	color: #7B2D3E;
	flex-shrink: 0;
}

.mor-contact-details__block-icon svg{
	width: 20px;
	height: 20px;
}

.mor-contact-details__block-text {
	display: flex;
	flex-direction: column;
}

.mor-contact-details__block-text strong {
	font-size: 11px;
	line-height: 17px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 2.2px;
	color: #02061899;
}

.mor-contact-details__block-text a,
.mor-contact-details__block-text span {
	margin-top: 4px;
	font-size: 16px;
	color: #0a0a0a;
	text-decoration: none;
	transition: color 200ms;
	line-height: 1.5;
}

@media (min-width: 640px) {
	.mor-contact-details__block-text a,
	.mor-contact-details__block-text span {
		font-size: 18px;
		line-height: 1.5;
	}
}

.mor-contact-details__block-text a:hover {
	color: #7B2D3E;
}

.mor-contact-details__hours {
	margin-top: 8px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mor-contact-details__hour-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	font-size: 15px;
	color: #0a0a0a;
}

@media (min-width: 640px) {
	.mor-contact-details__hour-row {
		font-size: 16px;
	}
}

.mor-contact-details__hour-row span:last-child {
	color: rgba(10, 10, 10, 0.7);
}

/* Contact form card */

.mor-contact-details__form-wrap {
	display: flex;
}

.mor-contact-details__form-card {
	background-color: #f5f0e6;
	padding: 24px;
	width: 100%;
}

@media (min-width: 640px) {
	.mor-contact-details__form-card {
		padding: 40px;
	}
}

.mor-contact-details__form-heading {
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.75px;
	line-height: 1.2;
}

@media (min-width: 640px) {
	.mor-contact-details__form-heading {
		font-size: 30px;
	}
}

.mor-contact-details__form-intro {
	margin: 12px 0  32px;
	font-size: 15px;
	line-height: 1.625;
	color: #020618b3;
}

@media (min-width: 640px) {
	.mor-contact-details__form-intro {
		font-size: 17px;
	}
}


#GravityForm legend.gfield_label,
#GravityForm .gfield_label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: rgba(10, 10, 10, 0.6);
}

#GravityForm .gform_validation_errors,
#GravityForm .gfield_label .gfield_required{
	display: none;
}

#GravityForm input,
#GravityForm textarea {
	width: 100%;
	padding: 12px 16px;
	font-size: 16px;
	font-family: inherit;
	border: 1px solid #02061833;
	background: #fff;
	color: #020618;
	outline: none;
	transition: border-color 200ms;
	min-height: 51px;
    line-height: normal;
	font-family: var(--font-sans);
}
div#gform_fields_1 {
    gap: 16px;
}
@media (min-width: 640px) {
	#GravityForm input,
	#GravityForm textarea {
		font-size: 17px;
	}
}

#GravityForm input::placeholder,
#GravityForm textarea::placeholder {
	color: rgba(10, 10, 10, 0.4);
}

#GravityForm input:focus,
#GravityForm textarea:focus {
	border-color: #7B2D3E;
}

#GravityForm #gform_submit_button_1 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid transparent;
    padding: 16px 32px;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    white-space: nowrap;
    transition: background-color 300ms, color 300ms, border-color 300ms;
    border-color: var(--color-brand);
    background-color: var(--color-brand);
    color: #fff;
    line-height: inherit;
    min-height: auto;
    height: auto;
	border-radius: 0;
	width: 100%;
}
#GravityForm #gform_submit_button_1:hover{
	background-color: transparent;
	color: var(--color-brand);
}

@media (min-width: 768px){
	#GravityForm #gform_submit_button_1{
		padding: 16px 40px;
		width: auto;
	}
}

/* ==========================================================================
   38. ABOUT PAGE — Story + Values
   ========================================================================== */

.mor-about-story {
	position: relative;
	overflow: hidden;
	padding: 64px 0;
}

@media (min-width: 768px) {
	.mor-about-story {
		padding: 112px 0;
	}
}

.mor-about-story .mor-container {
	position: relative;
	z-index: 1;
}

.mor-about-story__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	align-items: center;
}

@media (min-width: 1024px) {
	.mor-about-story__grid {
		grid-template-columns: 1fr 1fr;
		gap: 64px;
	}
}

.mor-about-story__eyebrow {
	display: block;
	margin-bottom: 12px;
}

.mor-about-story__heading {
	margin-bottom: 32px;
}

.mor-about-story__paragraph {
	margin-bottom: 20px;
}

.mor-about-story__paragraph:last-of-type {
	margin-bottom: 32px;
}

/* --- Values --- */

.mor-about-values {
	background-color: var(--color-bg-warm);
	padding: 64px 0;
}

@media (min-width: 768px) {
	.mor-about-values {
		padding: 96px 0;
	}
}

.mor-about-values__header {
	margin-bottom: 40px;
}

.mor-about-values__eyebrow {
	display: block;
	margin-bottom: 12px;
}

.mor-about-values__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
}

@media (min-width: 768px) {
	.mor-about-values__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.mor-about-values__header {
		margin-bottom: 56px;
	}
}

@media (min-width: 1024px) {
	.mor-about-values__grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 40px;
	}
}

.mor-about-values__card-icon{
	display: inline-flex;
}
.mor-about-values__card-icon svg {
    width: 56px;
    height: 56px;
    color: var(--color-brand);
    margin: 0 auto 20px;
    stroke-width: 1.25;
}

.mor-about-values__card-title {
	margin-bottom: 12px;
	text-transform: uppercase;
	line-height: 32px;
}

.mor-about-values__card-desc {
	font-size: 15px;
	line-height: 26px;
	color: #020618b3;
}

/* ==========================================================================
   39. OPTOMETRISTS PAGE — Intro + Doctor Profiles
   ========================================================================== */

.mor-optometrists-intro {
	padding: 56px 0;
	background-color: var(--color-bg-warm);
}

@media (min-width: 768px) {
	.mor-optometrists-intro {
		padding: 112px 0;
	}
	.mor-about-values__card-desc {
		font-size: 17px;
		line-height: 29px;
	}
}

.mor-optometrists-intro__eyebrow {
	display: block;
	margin-bottom: 12px;
}

.mor-optometrists-intro__heading {
	margin-bottom: 24px;
}

.mor-optometrists-intro__text {
	max-width: 896px;
}

.mor-doctor-profiles {
	padding: 64px 0 80px;
}

@media (min-width: 768px) {
	.mor-doctor-profiles {
		padding: 112px 0;
	}
}

.mor-doctor-profile {
	margin-bottom: 64px;
}

.mor-doctor-profile:last-child {
	margin-bottom: 0 !important;
}

.mor-doctor-profile__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	align-items: flex-start;
}
@media (min-width: 768px) {
	.mor-doctor-profile {
		margin-bottom: 80px;
	}
}

@media (min-width: 1024px) {
	.mor-doctor-profile{
		margin-bottom: 112px;
	}
	.mor-doctor-profile__grid {
		gap: 48px;
		grid-template-columns: 1fr 1fr;
		gap: 64px;
	}

	.mor-doctor-profile--reversed .mor-doctor-profile__image-wrap {
		order: 2;
	}

	.mor-doctor-profile--reversed .mor-doctor-profile__text {
		order: 1;
	}
}

.mor-doctor-profile__image-wrap {
	position: relative;
}

.mor-doctor-profile__image-frame {
	position: relative;
	padding-top: 24px;
	max-width: 94%;
	margin: 0 0 0 auto;
}

.mor-doctor-profile__image-offset {
	position: absolute;
    top: 0;
    left: auto;
    right: -12px;
    bottom: 0;
    background-color: var(--color-bg-tan);
    width: 85%;
}

.mor-doctor-profile__image-offset--right {
	left: auto;
	right: -12px;
	top: 0;
	bottom: 0;
}
.mor-doctor-profile.mor-doctor-profile--reversed .mor-doctor-profile__image-offset--right{
	right: auto;
	left: -12px;
}
.mor-doctor-profile.mor-doctor-profile--reversed .mor-doctor-profile__image-frame{
	margin: 0 auto 0 0;
}

@media (min-width: 768px) {
	.mor-doctor-profile__image-frame{
		padding-top: 40px;
		max-width: 92%;
	}

	.mor-doctor-profile__image-offset {
		top: 0;
        left: auto;
        right: -24px;
        bottom: 0;
	}

	.mor-doctor-profile__image-offset--right {
		left: auto;
		right: -24px;
		top: 0;
		bottom: 0;
	}
	.mor-doctor-profile.mor-doctor-profile--reversed .mor-doctor-profile__image-offset--right{
		right: auto;
		left: -24px;
	}
}

.mor-doctor-profile__image {
	position: relative;
	z-index: 1;
	width: 100%;
	object-fit: cover;
    aspect-ratio: 12 / 9.37;
	object-position: top;
}

.mor-doctor-profile__eyebrow {
	display: block;
	margin-bottom: 8px;
}

.mor-doctor-profile__heading {
	font-family: var(--font-serif);
	font-weight: 300;
	font-size: 30px;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	line-height: 36px;
	color: var(--color-fg);
	margin-bottom: 20px;
}

@media (min-width: 768px) {
	.mor-doctor-profile__heading {
		font-size: 48px;
		margin-bottom: 32px;
		line-height: 1;
	}
}

.mor-doctor-profile__section-heading {
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--color-brand);
	margin: 20px 0 10px;
}

.mor-doctor-profile__section-heading:first-of-type {
	margin-top: 0;
}

.mor-doctor-profile__credentials {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mor-doctor-profile__credential {
	position: relative;
	padding-left: 18px;
	font-size: 15px;
	line-height: 26px;
	color: rgba(10, 10, 10, 0.75);
}

@media (min-width: 768px) {
	.mor-doctor-profile__credential {
		font-size: 22px;
		line-height: 30px;
	}
}

.mor-doctor-profile__credential-dot {
	position: absolute;
	left: 0;
	top: 12px;
	width: 6px;
	height: 6px;
	border-radius: 9999px;
	background-color: var(--color-brand);
}

.mor-doctor-profile__text > .mor-btn {
	margin-top: 32px;
	border: 1px solid var(--color-brand);
	white-space: normal;
}

/* ==========================================================================
   40. UTILITY CLASSES
   ========================================================================== */

.mor-text-brand {
	color: var(--color-brand);
}

.mor-bg-warm {
	background-color: var(--color-bg-warm);
}

.mor-bg-dark {
	background-color: #141414;
}

.mor-text-center {
	text-align: center;
}

.mor-text-white {
	color: #fff;
}

.mor-mt-0 { margin-top: 0; }
.mor-mt-16 { margin-top: 16px; }
.mor-mt-24 { margin-top: 24px; }
.mor-mt-32 { margin-top: 32px; }
.mor-mt-48 { margin-top: 48px; }
.mor-mt-64 { margin-top: 64px; }

.mor-mb-0 { margin-bottom: 0; }
.mor-mb-16 { margin-bottom: 16px; }
.mor-mb-24 { margin-bottom: 24px; }
.mor-mb-32 { margin-bottom: 32px; }
.mor-mb-48 { margin-bottom: 48px; }
.mor-mb-64 { margin-bottom: 64px; }

.mor-py-80 { padding-top: 80px; padding-bottom: 80px; }
.mor-py-120 { padding-top: 120px; padding-bottom: 120px; }

/* Responsive grid helpers */
.mor-grid {
	display: grid;
	gap: 24px;
}

.mor-grid-2 {
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.mor-grid-2 {
		grid-template-columns: repeat(2, 1fr);
	}
}

.mor-grid-3 {
	grid-template-columns: 1fr;
}

@media (min-width: 768px) {
	.mor-grid-3 {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mor-grid-4 {
	grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
	.mor-grid-4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* Visually hidden (screen-reader only) */
.mor-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Header spacer — use on pages to push content below the fixed header */
.mor-header-spacer {
	height: 80px;
}

@media (min-width: 1024px) {
	.mor-header-spacer {
		height: 152px;
	}
}


@media (max-width: 767px) {
	.mor-testimonials__image-offset {
		top: -12px;
		right: -12px;
		left: 12px;
		bottom: 12px;
	}
	.mor-hero__ctas {
		flex-direction: column;
		align-items: stretch;
		justify-content: center;
		max-width: 225px;
		margin: 0 auto;
		gap: 12px;
	}
	.mor-hero__eyebrow {
		letter-spacing: .3em;
		font-size: 15px;
		line-height: 22px;
		margin-bottom: 12px;
	}
	.mor-hero__content{
		padding: 100px 0 64px;
	}
	.mor-meet-doctors__heading,
	.mor-welcome__heading{
		margin-bottom: 20px;
	}
	.mor-meet-doctors__paragraph,
	.mor-welcome__paragraph{
		margin-bottom: 24px;
	}
	.mor-welcome__eyebrow{
		margin-bottom: 8px;
	}
	header.mor-header.mor-header--scrolled .mor-header__inner{
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}
	.mor-testimonials__image{
		height: 320px;
	}
	.mor-welcome__image{
		height: 300px;
	}
	.mor-doctor-profile__image{
		height: 380px;
	}
	.mor-featured-services__card-title{
		font-size: 24px;
		line-height: 32px;
		letter-spacing: 0.6px;
		margin-bottom: 4px;
	}
	.mor-age-tiers__heading, .mor-comparison__heading, .mor-approach__heading,
	.mor-insurance__heading, .mor-service-doctors__heading, .mor-service-reviews__heading,
	.mor-related-services__heading, .mor-lens-types__heading, .mor-location__heading,
	.mor-faq__heading, .mor-at-home__heading,
	.mor-service-intro__heading, .mor-included-cards__heading, .mor-expect-timeline__heading,
	.mor-hero__heading, .mor-featured-services__heading, .mor-featured-brands__heading-line2, .mor-meet-doctors__heading-line2, .mor-testimonials__heading{
		line-height: 36px;
	}
	.mor-service-hero__heading{
		line-height: 37.5px;
		margin-bottom: 16px;
	}
	.mor-meet-doctors__card-name{
		letter-spacing: 0;
	}
	.mor-service-intro__text, .mor-service-intro__inner p,
	.mor-featured-brands__desc{
		font-size: 15px;
		line-height: 30px;
	}
	.mor-optometrists-intro__eyebrow,
	.mor-about-values__eyebrow,
	.mor-about-story__eyebrow{
		margin-bottom: 8px;
	}
	.mor-who-for__lead,
	.mor-optometrists-intro__heading,
	.mor-about-story__heading{
		margin-bottom: 20px;
	}
	.mor-insurance__note{
		font-size: 15px;
		line-height: 28px;
		padding: 24px;
	}
	.mor-optometrists-intro__text,
	.mor-about-story__text p{
		font-size: 15px;
		line-height: 26px;
	}
	.mor-service-doctors__name{
		font-size: 24px;
		line-height: 32px;
	}
	.mor-doctor-profile__text > .mor-btn{
		margin-top: 20px;
	}
	.mor-location__detail,
	.mor-contact-details__block-text .mor-contact-details__hours span{
		font-size: 15px;
		line-height: 22.5px;
		margin: 0;
	}
	.mor-location__detail{
		align-items: flex-start;
	}
	.mor-who-for__check{
		margin-top: 0;
	}
	.mor-hero__heading{
		font-size: 32px;
		line-height: 40px;
	}
}

@media (max-width: 440px) {
	.mor-mid-cta__buttons .mor-btn,
	.mor-closing-cta--centered .mor-closing-cta__buttons a.mor-btn {
		width: 100%;
	}
	.mor-mid-cta__buttons{
		max-width: 221px;
	}
}