/* ==========================================================================
   Homepage — sections below the hero (see home-hero.css/js for the hero
   itself). Enqueued only on the front page (owc_child_enqueue_home_hero_assets
   in functions.php also loads this — see there). Each section below is
   hooked via a `module_class` added directly on the relevant Divi
   module(s) in the page's own content, so this file only ever targets
   markup on this one page.

   Reworking the dated Divi-default look (thin bordered boxes, tiny cramped
   photo thumbnails, solid maroon list-blocks, flat accordion) section by
   section into the same editorial language used elsewhere on the site:
   big confident headings, no card chrome, generous whitespace, hairline
   rules instead of borders. See owc-practitioner-grid / owc-location-header
   / owc-team-directory for the established pattern.
   ========================================================================== */

/* --- intro (H1 + welcome paragraph, right under the hero) ------------- */

.owc-home-intro {
	max-width: 980px;
	margin: 0 auto;
	padding: 16px 24px 8px;
	text-align: center !important;
}

.owc-home-intro h1 {
	margin: 0 0 20px;
	font-size: 2.75rem !important;
	font-weight: 700 !important;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: #1a1a1a !important;
}

.owc-home-intro p {
	font-size: 1.1em;
	line-height: 1.65;
	color: #333333;
	margin: 0;
}

@media (max-width: 640px) {
	.owc-home-intro {
		padding: 48px 24px 40px;
	}

	.owc-home-intro h1 {
		font-size: 2rem !important;
	}
}

/* --- shared section heading, reused across every section below -------- */

.owc-home-section {
	max-width: 1200px;
	margin: 0 auto;
	padding: 32px 24px;
}

.owc-home-section h2 {
	margin: 0 0 32px;
	font-size: 2.25rem !important;
	font-weight: 700 !important;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: #1a1a1a !important;
	text-align: center;
}

@media (max-width: 640px) {
	.owc-home-section {
		padding: 40px 24px;
	}

	.owc-home-section h2 {
		font-size: 1.65rem !important;
	}
}

/* --- advantage list + CTA row ------------------------------------------ */

/* No heading here anymore and no tinted band either (both tried, both
   reverted) — this now reads as one continuous panel with the intro
   above it: same white background, just the checklist + buttons
   following the welcome paragraph directly. Padding here is what keeps
   the merged flow feeling like one panel with its own natural rhythm
   (see home-hero.css for the pattern this mirrors). */
.owc-home-advantage-section {
	padding: 24px 0;
}

/* Buttons now come first (right after the intro), checklist follows —
   order swapped per feedback. Buttons themselves are deliberately left
   at Divi's default styling — an earlier pass reskinned them to match
   the hero's pill buttons, but feedback was to keep these as they were. */
.owc-home-advantage-buttons {
	margin-top: 0 !important;
	margin-bottom: 28px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.owc-home-advantage {
	padding-bottom: 8px;
}

/* Plain checkmarked list — pill tags were tried and reverted per
   feedback ("liked them better before"). Back to flat text + a small
   maroon checkmark, no background/shape. */
.owc-home-advantage-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px 36px;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.owc-home-advantage-list li {
	position: relative;
	list-style: none;
	padding-left: 26px;
	font-size: 1em;
	font-weight: 500;
	color: #333333;
}

.owc-home-advantage-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background-color: #511439;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z'/%3E%3C/svg%3E") center / 10px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z'/%3E%3C/svg%3E") center / 10px no-repeat;
}

@media (max-width: 767px) {
	.owc-home-advantage-buttons {
		flex-wrap: wrap;
	}
}

/* --- FAQ accordion ------------------------------------------------------
   Divi hides the toggle icon entirely on the open item
   (.et_pb_accordion .et_pb_toggle_open .et_pb_toggle_title:before{
   display:none} in accordion.css) — makes sense given its own click
   handler no-ops on that item (see faq-accordion.js), but now that
   clicking it actually closes it, the icon needs to come back so there's
   something to signal that. Same glyph the plain (non-accordion) toggle
   module already uses for its open state (toggle.css), just no longer
   suppressed, and a darker shade so it reads as clickable rather than
   decorative. */
.et_pb_accordion .et_pb_toggle_open .et_pb_toggle_title:before {
	display: block;
	content: "\e04f";
	color: #999999;
}

/* --- Google reviews (Trustindex widget) --------------------------------
   Was a plugin-default grey box: 12px-rounded cards on their own #f4f4f4
   panel nested inside the burgundy section, Poppins font, a stray
   "More Stories" button (copy left over from elsewhere) floated bottom-
   right.

   Went through two reworks before landing here:
   - transparent cards straight on burgundy — text kept blending into the
     panel, hard to read.
   - individually white/shadowed "popped" cards on burgundy — each card
     read as its own white patch against the pink field, which looked
     patchy rather than deliberate, and the shadow + widened text metrics
     broke Trustindex's own read-more truncation math (it clamps height by
     measuring its default font metrics on init — overriding font-size/
     line-height after that leaves the clamp wrong), ballooning row height.
   - landed on the original structure's actual idea, just re-skinned: ONE
     continuous white panel (.owc-home-reviews-panel, its own column/row)
     holds just the widget, burgundy only frames it: This also fixed a
     layout bug from the "popped card" version — the CTA button used to
     share the widget's column, and Trustindex's absolutely-positioned
     next/prev arrows ended up misaligned over the button; heading and
     button are now each their own row outside the panel, on the burgundy
     field, so nothing shares stacking context with the widget.
   Text color is the only thing still overridden inside the widget — no
   font-size/line-height changes this time, so its own truncation math
   stays intact.

   Trustindex ships its own !important rules scoped to `.ti-widget.ti-goog
   .ti-review-item > .ti-inner` (4 class selectors) — a plain
   `.owc-home-reviews-section .ti-review-item .ti-inner` (3) loses that
   specificity fight even with !important on both sides, so every
   selector below repeats `.ti-widget.ti-goog` to out-specify it rather
   than relying on load order. */
/* .owc-home-section carries its own 32px/24px padding + max-width, sized
   for a standalone section — reused here only for the h2's type styling,
   so those are stripped back to a plain block that hugs the panel below
   it instead of stacking a second section's worth of whitespace on top. */
.owc-home-reviews-section .owc-home-reviews-heading.owc-home-section {
	max-width: none;
	margin: 0;
	padding: 0;
}

/* .owc-home-section's h2 defaults to centered (it's normally a standalone
   block); here it's paired with a button on the same row, so left-aligned
   reads as the deliberate pairing instead of two unrelated centered
   things. */
.owc-home-reviews-section .owc-home-section h2 {
	color: #ffffff !important;
	margin: 0 !important;
	text-align: left !important;
}

.owc-home-reviews-section .owc-home-reviews-heading p {
	margin: 10px 0 24px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.95em;
}

/* Heading (with its subtext) on the left, CTA on the right, on the same
   row — the row's own two 1_2 columns already sit side by side; this
   just centers them on each other's cross-axis so a single-line button
   doesn't look stranded next to a two-line heading block. */
.owc-home-reviews-header-row.et_pb_row {
	display: flex;
	align-items: center;
}

.owc-home-reviews-cta-column {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

@media (max-width: 767px) {
	.owc-home-reviews-header-row.et_pb_row {
		display: block;
	}

	.owc-home-reviews-section .owc-home-section h2,
	.owc-home-reviews-section .owc-home-reviews-heading p {
		text-align: center !important;
	}

	.owc-home-reviews-cta-column {
		justify-content: center;
		margin-top: 20px;
	}
}

/* Side padding here is what the prev/next controls push out into (see
   the .ti-next/.ti-prev rule below) — needs to be wide enough to hold a
   30px button clear of the card row at ANY viewport, mobile included,
   since there's no wide-screen-only "spare" space to rely on. */
.owc-home-reviews-panel {
	background-color: #ffffff;
	border: 1px solid rgba(20, 6, 16, 0.08);
	padding: 24px 40px 4px;
}

.owc-home-reviews-section .ti-widget-container {
	max-width: 1080px;
	margin: 0 auto;
}

.owc-home-reviews-section .ti-widget.ti-goog,
.owc-home-reviews-section .ti-widget.ti-goog * {
	font-family: "Open Sans", Helvetica, Arial, Lucida, sans-serif !important;
}

.owc-home-reviews-section .ti-widget.ti-goog .ti-review-item > .ti-inner {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 4px 12px 20px !important;
}

.owc-home-reviews-section .ti-widget.ti-goog .ti-name {
	color: #1a1a1a !important;
	font-weight: 700 !important;
}

.owc-home-reviews-section .ti-widget.ti-goog .ti-date,
.owc-home-reviews-section .ti-widget.ti-goog .ti-date * {
	color: #999999 !important;
	font-size: 12px !important;
}

.owc-home-reviews-section .ti-widget.ti-goog .ti-review-text-container {
	color: #3a3a3a !important;
}

.owc-home-reviews-section .ti-widget.ti-goog .ti-read-more,
.owc-home-reviews-section .ti-widget.ti-goog .ti-read-more * {
	color: #511439 !important;
	font-weight: 600 !important;
}

/* Trustindex pins these (right/left: 1px) to .ti-widget-container's own
   edge, but the actual visible/clipped card row is .ti-reviews-container-
   wrapper — a fixed 8px further inset on each side (overflow: hidden,
   not width-dependent) — so the 30px button always overlapped ~23px of
   real card content regardless of how wide the container itself was.
   Pushed out past that wrapper edge with a fixed offset, which works at
   any viewport since the 8px inset doesn't scale with container width;
   .owc-home-reviews-panel's side padding (above) is what gives this
   offset somewhere to land on narrow screens instead of running past the
   edge of the page. */
.owc-home-reviews-section .ti-widget.ti-goog .ti-next,
.owc-home-reviews-section .ti-widget.ti-goog .ti-prev {
	background: #ffffff !important;
	border: 1.5px solid rgba(81, 20, 57, 0.3) !important;
	border-radius: 2px !important;
}

.owc-home-reviews-section .ti-widget.ti-goog .ti-next {
	right: -36px !important;
}

.owc-home-reviews-section .ti-widget.ti-goog .ti-prev {
	left: -36px !important;
}

.owc-home-reviews-section .ti-widget.ti-goog .ti-next:hover,
.owc-home-reviews-section .ti-widget.ti-goog .ti-prev:hover {
	border-color: #511439 !important;
	background: rgba(81, 20, 57, 0.06) !important;
}

.owc-home-reviews-cta.et_pb_button {
	font-size: 15px !important;
	border: 2px solid #ffffff !important;
	border-radius: 3px !important;
	color: #ffffff !important;
	background-color: transparent !important;
}

.owc-home-reviews-cta.et_pb_button:hover {
	background-color: #ffffff !important;
	color: #511439 !important;
}

/* --- Editorial service showcase ---------------------------------------
   The Divi modules are moved into one consistent grid by home-sections.js.
   Their original headings, images and URLs remain the source of content. */

.owc-home-services-modern.et_pb_section {
	background: #fbf7f9 !important;
	padding: clamp(72px, 7vw, 104px) 0 !important;
}

.owc-home-services-modern > .et_pb_row,
.owc-home-services-modern .owc-services-layout {
	width: min(100% - 48px, 1240px) !important;
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.owc-home-services-modern > .et_pb_row:first-child {
	padding: 0 0 clamp(36px, 4vw, 60px) !important;
}

.owc-home-services-modern > .et_pb_row:first-child h2,
.owc-home-services-modern > .et_pb_row:first-child h3,
.owc-home-services-modern > .et_pb_row:first-child h4 {
	font-size: clamp(2.6rem, 5vw, 4.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.03 !important;
	letter-spacing: -0.045em !important;
	color: #24131d !important;
	text-align: left !important;
	max-width: 950px;
}

.owc-services-layout {
	position: relative;
}

.owc-services-featured {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(38px, 4vw, 56px) clamp(16px, 2vw, 28px);
}

.owc-home-services-modern .owc-service-tile.et_pb_column {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.owc-home-services-modern .owc-service-featured {
	min-width: 0;
}

.owc-home-services-modern .owc-service-featured .et_pb_image {
	display: block;
	width: 100% !important;
	max-width: 240px !important;
	margin: 0 auto 14px !important;
	overflow: hidden;
	background: #eee4e9;
	text-align: center !important;
}

.owc-home-services-modern .owc-service-featured .et_pb_image_wrap {
	display: block;
	width: 100% !important;
	max-width: none !important;
	margin: 0 auto !important;
	aspect-ratio: 1.55;
}

.owc-home-services-modern .owc-service-featured .et_pb_image img {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 auto !important;
	object-fit: cover;
	transition: transform 650ms cubic-bezier(.2,.7,.2,1);
}

.owc-home-services-modern .owc-service-featured:hover .et_pb_image img,
.owc-home-services-modern .owc-service-featured:focus-within .et_pb_image img {
	transform: scale(1.045);
}

.owc-home-services-modern .owc-service-featured .et_pb_module:not(.et_pb_image) {
	margin-bottom: 0 !important;
}

.owc-home-services-modern .owc-service-featured h3,
.owc-home-services-modern .owc-service-featured h4,
.owc-home-services-modern .owc-service-featured h5,
.owc-home-services-modern .owc-service-featured h6 {
	position: relative;
	margin: 0 !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid #d9cbd2;
	text-align: center !important;
	font-size: clamp(0.95rem, 1.15vw, 1.15rem) !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.005em;
	text-transform: none !important;
}

.owc-home-services-modern .owc-service-featured h3 a::after,
.owc-home-services-modern .owc-service-featured h4 a::after,
.owc-home-services-modern .owc-service-featured h5 a::after,
.owc-home-services-modern .owc-service-featured h6 a::after {
	content: '↗';
	content: '↗' / '';
	display: inline-block;
	margin-left: 0.4em;
	font-size: 0.85em;
	font-weight: 400;
	transition: transform 220ms ease;
}

.owc-home-services-modern .owc-service-tile:hover h3 a::after,
.owc-home-services-modern .owc-service-tile:hover h4 a::after,
.owc-home-services-modern .owc-service-tile:hover h5 a::after,
.owc-home-services-modern .owc-service-tile:hover h6 a::after {
	transform: translate(3px, -3px);
}

.owc-home-services-modern .owc-service-tile h3 a,
.owc-home-services-modern .owc-service-tile h4 a,
.owc-home-services-modern .owc-service-tile h5 a,
.owc-home-services-modern .owc-service-tile h6 a {
	color: #24131d !important;
	text-decoration: none !important;
}

.owc-home-services-modern .owc-service-tile a:focus-visible {
	outline: 2px solid #8d315e;
	outline-offset: 5px;
}

/* The rest of the page keeps its published content, with the same visual
   rhythm and quieter surfaces used by the service showcase. */
.owc-home-conditions-modern.et_pb_section,
.owc-home-directory-modern.et_pb_section,
.owc-home-journal-modern.et_pb_section {
	padding-top: clamp(72px, 7vw, 112px) !important;
	padding-bottom: clamp(72px, 7vw, 112px) !important;
}

.owc-home-conditions-modern.et_pb_section {
	background: #fff !important;
}

.owc-home-directory-modern.et_pb_section {
	background: #f3e2eb !important;
}

.owc-home-conditions-modern .owc-home-section h2,
.owc-home-directory-modern .owc-home-section h2,
.owc-home-journal-modern .owc-home-section h2 {
	font-size: clamp(2.2rem, 4vw, 4rem) !important;
	line-height: 1.08 !important;
	letter-spacing: -0.035em !important;
	color: #24131d !important;
}

/* One container aligns the title, accent and all six category groups. */
.owc-home-conditions-modern .owc-conditions-shell {
	width: min(100% - 96px, 1240px);
	margin: 0 auto;
}

.owc-home-conditions-modern .owc-conditions-header {
	margin: 0 0 64px;
}

.owc-home-conditions-modern .owc-conditions-title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: clamp(2.1rem, 3.8vw, 3.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.04em !important;
	text-align: left !important;
	color: #24131d !important;
}

.owc-home-conditions-modern .owc-conditions-title strong {
	font-weight: inherit;
}

.owc-home-conditions-modern .owc-conditions-accent.et_pb_divider {
	width: 48px !important;
	height: 2px !important;
	min-height: 0 !important;
	margin: 24px 0 0 !important;
	padding: 0 !important;
}

.owc-home-conditions-modern .owc-conditions-accent::before {
	border-top: 2px solid #8d315e !important;
}

.owc-home-heading-accent.et_pb_divider {
	text-align: left !important;
	align-self: flex-start !important;
}

.owc-home-conditions-modern .owc-home-condition-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 52px 40px;
	align-items: start;
}

.owc-home-conditions-modern .owc-condition {
	min-width: 0;
	padding-top: 22px;
	border-top: 1px solid #d8bdcb;
}

.owc-home-conditions-modern .owc-condition-header {
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 72px;
	margin-bottom: 22px;
}

.owc-home-conditions-modern .owc-condition-photo {
	display: block;
	flex: 0 0 72px;
	width: 72px !important;
	height: 72px !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover;
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: none !important;
}

.owc-home-conditions-modern .owc-condition-header h3 {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	letter-spacing: 0.02em;
	color: #392330 !important;
}

.owc-home-conditions-modern .owc-condition-items {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.owc-home-conditions-modern .owc-condition-items li {
	margin: 0;
	padding: 10px 0;
	border-top: 1px solid #eee5ea;
	list-style: none !important;
	font-size: 15px;
	line-height: 1.55;
	color: #50414b;
}

.owc-home-conditions-modern .owc-condition-items span {
	color: inherit !important;
}

.owc-home-conditions-modern .owc-condition-items a {
	color: #511439 !important;
	text-underline-offset: 4px;
}

.owc-home-conditions-modern .owc-condition-items a[href]::after {
	content: '↗';
	content: '↗' / '';
	display: inline-block;
	margin-left: 0.4em;
	font-size: 0.75em;
	line-height: 1;
	vertical-align: 0.08em;
}

.owc-home-conditions-modern .owc-condition-items a:hover {
	text-decoration: underline;
}

.owc-home-conditions-modern .owc-condition-items a:focus-visible {
	outline: 2px solid #8d315e;
	outline-offset: 4px;
}

/* Existing service-directory styling stays scoped to its own section. */
.owc-home-directory-modern .owc-home-directory-group.et_pb_column {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid #d7cbd1 !important;
	box-shadow: none !important;
	padding-top: 26px !important;
}

.owc-home-directory-modern .owc-home-directory-group .et_pb_image {
	display: none !important;
}

.owc-home-directory-modern .owc-home-directory-group .et_pb_text {
	background: transparent !important;
	box-shadow: none !important;
	color: #3c3037 !important;
}

.owc-home-directory-modern .owc-home-directory-group .et_pb_text p,
.owc-home-directory-modern .owc-home-directory-group .et_pb_text li {
	color: #3c3037 !important;
	line-height: 1.7 !important;
}

.owc-home-directory-modern .owc-home-directory-group h3,
.owc-home-directory-modern .owc-home-directory-group h4,
.owc-home-directory-modern .owc-home-directory-group h5 {
	font-size: clamp(1.25rem, 1.7vw, 1.7rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.02em !important;
	color: #24131d !important;
}

.owc-home-directory-modern .owc-home-directory-group .et_pb_text a {
	color: #511439 !important;
	text-decoration-color: #cbb1bf;
	text-underline-offset: 4px;
}

.owc-home-directory-modern .owc-home-directory-group a:hover {
	text-decoration-color: #511439;
}

/* Full service directory: OWC burgundy, compact navigation and one
   editorial image. Applied only after the original content is regrouped. */
.owc-home-directory-modern.owc-directory-ready {
	background: #511439 !important;
	color: #fff;
}

.owc-directory-shell {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.9fr);
	gap: clamp(40px, 5vw, 80px);
	width: min(100% - 96px, 1240px);
	margin: 0 auto;
}

.owc-directory-ready .owc-directory-title {
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: clamp(2rem, 2.7vw, 2.65rem) !important;
	font-weight: 500 !important;
	line-height: 1.16 !important;
	letter-spacing: -0.035em;
	text-align: left !important;
	text-wrap: balance;
}

.owc-directory-title strong {
	font-weight: inherit;
}

.owc-directory-ready .owc-directory-accent.et_pb_divider {
	width: 44px !important;
	height: 2px !important;
	min-height: 0 !important;
	margin: 28px 0 36px !important;
	padding: 0 !important;
}

.owc-directory-ready .owc-directory-accent::before {
	border-top: 2px solid #d8aec8 !important;
}

.owc-directory-photo {
	width: 100%;
	max-width: 320px;
	aspect-ratio: 1.5;
	overflow: hidden;
	border-radius: 3px;
}

.owc-directory-photo img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	object-fit: cover;
}

.owc-directory-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 36px;
}

.owc-directory-ready .owc-directory-group h3 {
	margin: 0 0 18px !important;
	padding: 0 0 22px !important;
	border-bottom: 1px solid rgb(255 255 255 / 40%);
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.5;
	letter-spacing: 0.075em;
}

.owc-directory-ready .owc-directory-links {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.owc-directory-links li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid rgb(255 255 255 / 14%);
	list-style: none !important;
}

.owc-directory-ready .owc-directory-links a {
	display: block;
	padding: 12px 0;
	color: #fff !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	text-decoration: none;
	text-underline-offset: 4px;
	transition: color 180ms ease, background-color 180ms ease;
}

.owc-directory-links a::after {
	content: '↗';
	content: '↗' / '';
	display: inline-block;
	margin-left: 0.45em;
	color: #d8aec8;
	font-size: 0.8em;
}

.owc-directory-ready .owc-directory-links a:hover {
	background-color: rgb(255 255 255 / 5%);
	color: #f2dce9 !important;
	text-decoration: underline;
}

.owc-directory-links a:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}

@media (max-width: 1100px) {
	.owc-directory-shell {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.owc-directory-intro {
		display: grid;
		grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
		column-gap: 40px;
		align-items: start;
	}

	.owc-directory-photo {
		grid-column: 2;
		grid-row: 1 / 3;
		justify-self: end;
	}

	.owc-directory-ready .owc-directory-accent.et_pb_divider {
		margin-bottom: 0 !important;
	}
}

@media (max-width: 600px) {
	.owc-directory-shell {
		width: calc(100% - 88px);
	}

	.owc-directory-intro {
		display: block;
	}

	.owc-directory-ready .owc-directory-accent.et_pb_divider {
		margin-bottom: 32px !important;
	}

	.owc-directory-groups {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.owc-directory-ready .owc-directory-links a {
		transition: none;
	}
}

.owc-home-journal-modern .et_pb_post {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.owc-home-journal-modern .et_pb_post .entry-title {
	font-size: clamp(1.25rem, 1.8vw, 1.75rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.025em;
}

.owc-home-journal-modern .et_pb_post .entry-title a {
	color: #24131d !important;
}

.owc-home-journal-modern .et_pb_post .post-meta {
	color: #7b6873 !important;
}

@media (max-width: 1000px) {
	.owc-services-featured {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.owc-home-conditions-modern .owc-home-condition-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.owc-home-services-modern.et_pb_section {
		padding: 72px 0 !important;
	}

	.owc-home-services-modern > .et_pb_row,
	.owc-home-services-modern .owc-services-layout {
		width: min(100% - 40px, 600px) !important;
	}

	.owc-services-featured {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.owc-home-conditions-modern .owc-home-condition-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.owc-home-conditions-modern .owc-conditions-shell {
		/* Leave clearance for the existing fixed appointment tab. */
		width: calc(100% - 88px);
	}

	.owc-home-conditions-modern .owc-conditions-header {
		margin-bottom: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.owc-home-services-modern .owc-service-featured .et_pb_image img,
	.owc-home-services-modern .owc-service-tile h3 a::after,
	.owc-home-services-modern .owc-service-tile h4 a::after,
	.owc-home-services-modern .owc-service-tile h5 a::after,
	.owc-home-services-modern .owc-service-tile h6 a::after {
		transition: none;
	}
}
