/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.5.1
	Stable tag: 3.5.1
	Requires at least: 6.0
	Tested up to: 7.0
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/

html { scroll-behavior: smooth; }

/* sticky header (~86px) would otherwise cover the top of #consultation on anchor jump */
#consultation { scroll-margin-top: 110px; }

.elementor > .elementor-top-section:first-child > .elementor-container {
	align-items: center;
	display: flex;
	justify-content: space-between;
	max-width: none;
	width: 100%;
}

.elementor > .elementor-top-section:first-child .elementor-column {
	flex-basis: auto;
}

.elementor > .elementor-top-section:first-child .elementor-widget-wrap {
	display: flex;
	align-items: center;
}

.elementor > .elementor-top-section:first-child .elementor-widget {
	margin-bottom: 0;
}

.perry-site-header {
	position: sticky;
	top: 0;
	z-index: 999;
	transition: box-shadow 260ms ease, padding-top 260ms ease, padding-bottom 260ms ease;
}

.perry-site-header.is-scrolled {
	box-shadow: 0 6px 20px rgba(31, 42, 61, .12);
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}

.perry-nav { display: flex; align-items: center; justify-content: center; gap: 25px; }
.perry-nav a { color: #2B2B2B; text-decoration: none; transition: color 180ms ease; }
.perry-nav a::after { background: #B08D57; content: ''; display: block; height: 1px; transform: scaleX(0); transform-origin: left; transition: transform 220ms ease; }
.perry-nav a:hover { color: #B08D57; }
.perry-nav a:hover::after { transform: scaleX(1); }

.perry-logo { color: #2B2B2B; font: 600 21px "Playfair Display", serif; text-decoration: none; transition: color 180ms ease; }
.perry-logo:hover { color: #B08D57; }
.perry-site-header .elementor-widget-text-editor p { margin: 0; }

.perry-footer-top > .elementor-container { column-gap: 40px; }
.perry-footer-top .elementor-widget-wrap.elementor-element-populated { padding: 0; }
.perry-footer-links { display: flex; flex-direction: column; gap: 12px; }
.perry-footer-links a { color: #FAF8F4; text-decoration: none; transition: color 180ms ease; }
.perry-footer-links a:hover { color: #B08D57; }
.perry-footer-bottom { border-top: 1px solid rgba(250, 248, 244, .12); }
.perry-social-links { display: flex; flex-wrap: wrap; gap: 16px; }
.perry-social-links a { color: #B9B9B2; font: 500 12px/1 Inter, sans-serif; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; transition: color 180ms ease; }
.perry-social-links a:hover { color: #B08D57; }

.elementor-button { transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease !important; }
.elementor-button:hover { transform: translateY(-2px); }
.perry-framework-card { transition: border-color 180ms ease, transform 220ms ease, box-shadow 220ms ease; position: relative; cursor: pointer; }
.perry-framework-card:hover { box-shadow: 0 16px 32px rgba(10, 18, 34, .22); transform: translateY(-4px); }
.perry-card-cover-link { position: absolute; inset: 0; z-index: 3; }
.perry-framework-row > .elementor-container { column-gap: 30px; }
.perry-card-row > .elementor-container { column-gap: 30px; row-gap: 30px; }
.perry-hero-title .elementor-heading-title { white-space: nowrap; }
.perry-hero-cta .elementor-button { align-items: center; box-sizing: border-box; display: inline-flex; font-size: 18px; height: 72px; justify-content: center; margin: 0 12px; min-width: 0; padding: 20px 30px; width: calc(100% - 24px); }
.perry-hero-cta--outline .elementor-button { background: transparent !important; border: 2px solid #1F2A3D !important; color: #1F2A3D !important; }
.perry-hero-cta--outline .elementor-button:hover { background: #1F2A3D !important; color: #FFF !important; }

.perry-lead-form { border: 1px solid #B08D57; border-radius: 6px; margin: 0 auto; max-width: 640px; padding: 34px; }
.perry-lead-form__notice { border: 1px solid #B08D57; color: #FAF8F4; font: 500 14px/1.5 Inter, sans-serif; margin: 0 0 18px; padding: 12px 16px; text-align: center; }
.perry-lead-form__notice--error { border-color: #D79B91; color: #F4CBC6; }
.perry-lead-form input { background: #FFF; border: 1px solid transparent; border-radius: 3px; box-sizing: border-box; color: #1F2A3D; font: 400 15px Inter, sans-serif; margin: 0 0 16px; outline: none; padding: 15px 16px; transition: border-color 180ms ease, box-shadow 180ms ease; width: 100%; }
.perry-lead-form__names { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
.perry-lead-form input:focus { border-color: #B08D57; box-shadow: 0 0 0 3px rgba(176, 141, 87, .2); }
.perry-lead-form button { background: #B08D57; border: 1px solid #B08D57; border-radius: 3px; color: #1F2A3D; cursor: pointer; font: 600 14px Inter, sans-serif; padding: 16px 24px; transition: background-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease; width: 100%; }
.perry-lead-form button:hover { background: #D2B276; box-shadow: 0 10px 24px rgba(0, 0, 0, .18); transform: translateY(-2px); }
.perry-lead-form button span { display: inline-block; margin-left: 6px; transition: transform 180ms ease; }
.perry-lead-form button:hover span { transform: translateX(4px); }
.perry-lead-form p { color: #9AA0AC; font: 400 11px/1.6 Inter, sans-serif; margin: 16px 0 0; text-align: center; }

@media (max-width: 1024px) {
	.elementor-top-section { padding-left: 40px !important; padding-right: 40px !important; }
	.perry-hero-title .elementor-heading-title { white-space: normal !important; font-size: 42px !important; }
	.perry-hero-cta { width: 100% !important; }
	.perry-hero-cta .elementor-button { width: 100% !important; margin: 0 0 16px !important; }
	.perry-framework-row > .elementor-container,
	.perry-card-row > .elementor-container { flex-wrap: wrap !important; }
	.perry-framework-row .elementor-column,
	.perry-card-row .elementor-column { width: 50% !important; }
}

@media (max-width: 767px) {
	.elementor > .elementor-top-section:first-child > .elementor-container { min-height: 0; }
	.elementor-top-section { padding-left: 24px !important; padding-right: 24px !important; }
	.perry-nav { flex-wrap: wrap; gap: 10px 16px; }
	.perry-hero-title .elementor-heading-title { font-size: 32px !important; }
	.perry-hero-cta .elementor-button { margin: 0 0 16px; width: 100%; }
	.perry-lead-form__names { grid-template-columns: 1fr; }
	.perry-framework-row .elementor-column,
	.perry-card-row .elementor-column { width: 100% !important; }
	.perry-footer-top > .elementor-container { flex-wrap: wrap !important; }
	.perry-footer-top .elementor-column { width: 100% !important; margin-bottom: 24px; }
}
/* About page (page_id=12): native Image widget crop/size overrides, replacing raw <img> in text widgets */
.perry-logo-nav img { height: 52px; width: auto; display: block; }
.perry-logo-footer img { height: 56px; width: auto; display: block; }
.perry-photo-intro img { width: 100%; height: 585px; object-fit: cover; object-position: top center; border-radius: 8px; display: block; }
.perry-photo-agent img { width: 100%; height: 320px; object-fit: cover; object-position: center center; border-radius: 8px; display: block; }
.perry-photo-personal img { width: 100%; height: 412px; object-fit: cover; object-position: top center; border-radius: 8px; display: block; }
.perry-avatar-circle img { width: 150px; height: 150px; border-radius: 75px; object-fit: cover; object-position: center center; margin: 0 auto; display: block; }

/* vertical-center the photo/text columns in the 3 About-page story sections */
.elementor-element-d68217b > .elementor-widget-wrap,
.elementor-element-5e7972e > .elementor-widget-wrap,
.elementor-element-99d3c65 > .elementor-widget-wrap,
.elementor-element-2931583 > .elementor-widget-wrap,
.elementor-element-1edee3b > .elementor-widget-wrap,
.elementor-element-ec90a56 > .elementor-widget-wrap {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
}

/* Mobile: the 3-row sticky header took ~194px (23% of an iPhone screen), so it scrolls away and is compacted */
@media (max-width: 767px) {
	.perry-site-header { position: static; padding-top: 10px !important; padding-bottom: 10px !important; }
	.perry-site-header.is-scrolled { padding-top: 10px !important; padding-bottom: 10px !important; }
	.perry-site-header .elementor-column-wrap, .perry-site-header .elementor-widget-wrap { padding-top: 0 !important; padding-bottom: 0 !important; }
	.perry-site-header .elementor-widget { margin-bottom: 0 !important; }
	.perry-logo-nav img { height: 40px; }
	.perry-nav { gap: 0 4px; }
	.perry-nav a { display: inline-block; padding: 10px 6px; }
	.perry-site-header .elementor-button { padding: 12px 22px; font-size: 15px; }
	.perry-social-links { gap: 0 4px; }
	.perry-social-links a { display: inline-block; padding: 14px 8px; }
	.perry-lead-form p { font-size: 12px; }
}

/* About page mobile: every story block reads photo then text (block 2 is text-first in the markup) with an alternating band background */
@media (max-width: 767px) {
	.elementor-element-811a0e6 > .elementor-container { flex-direction: column-reverse; }
	.elementor-element-811a0e6 { background-color: #F1ECE2 !important; }
}
/* Insights/Guides auto listing and single post view */
.perry-post-list { background: #FAF8F4; padding: 40px 160px 80px; }
.perry-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; max-width: 1140px; margin: 0 auto; }
.perry-post-card { display: block; text-decoration: none; color: inherit; }
.perry-post-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px; display: block; margin-bottom: 14px; }
.perry-post-card__label { display: block; color: #B08D57; font: 600 11px/1 'Playfair Display', serif; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; }
.perry-post-card__title { display: block; color: #2B2B2B; font: 600 17px/1.35 'Playfair Display', serif; margin-bottom: 8px; transition: color 180ms ease; }
.perry-post-card:hover .perry-post-card__title { color: #B08D57; }
.perry-post-card__excerpt { display: block; color: #6B6B63; font: 400 13px/1.6 Inter, sans-serif; }

.perry-post-section { background: #FAF8F4; padding: 0 !important; }
.perry-post-section .elementor-widget-wrap, .perry-post-section .elementor-element-populated { padding: 0 !important; }
.perry-post { max-width: 760px; margin: 0 auto; padding: 64px 24px 80px; }
.perry-post__label { color: #B08D57; font: 600 11px/1 'Playfair Display', serif; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 14px; }
.perry-post__title { color: #2B2B2B; font: 600 40px/1.2 'Playfair Display', serif; margin: 0 0 12px; }
.perry-post__meta { color: #6B6B63; font: 400 14px/1 Inter, sans-serif; margin-bottom: 32px; }
.perry-post__img img { width: 100%; height: auto; border-radius: 8px; display: block; margin-bottom: 32px; }
.perry-post__content { color: #3B3B36; font: 400 17px/1.75 Inter, sans-serif; }
.perry-post__content h2, .perry-post__content h3 { color: #2B2B2B; font-family: 'Playfair Display', serif; font-weight: 600; line-height: 1.3; margin: 1.8em 0 .6em; }
.perry-post__content p, .perry-post__content ul, .perry-post__content ol { margin: 0 0 1.2em; }
.perry-post__content img { max-width: 100%; height: auto; border-radius: 8px; }
.perry-post__content a { color: #B08D57; }

@media (max-width: 1024px) {
	.perry-post-list { padding: 40px 40px 64px; }
	.perry-post-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	.perry-post-list { padding: 32px 24px 48px; }
	.perry-post-grid { grid-template-columns: 1fr; gap: 28px; }
	.perry-post { padding: 40px 24px 56px; }
	.perry-post__title { font-size: 30px; }
}

/* Header dropdown under the research-hub menu item */
.perry-nav__item { position: relative; display: inline-flex; align-items: center; }
.perry-nav__caret { background: none; border: 0; cursor: pointer; padding: 6px 4px 6px 2px; margin: 0; line-height: 1; }
.perry-nav__caret::before { content: ''; display: block; width: 6px; height: 6px; border-right: 1.5px solid #2B2B2B; border-bottom: 1.5px solid #2B2B2B; transform: rotate(45deg) translateY(-2px); transition: transform 180ms ease, border-color 180ms ease; }
.perry-nav__item:hover .perry-nav__caret::before, .perry-nav__item.is-open .perry-nav__caret::before { border-color: #B08D57; }
.perry-nav__item.is-open .perry-nav__caret::before { transform: rotate(-135deg) translateY(-2px); }
.perry-nav__sub { display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); min-width: 190px; padding: 8px 0; margin-top: 6px; background: #FAF8F4; border: 1px solid #E6E1D6; border-radius: 8px; box-shadow: 0 10px 24px rgba(31, 42, 61, .12); z-index: 1000; }
.perry-nav__sub::before { content: ''; position: absolute; left: 0; right: 0; top: -8px; height: 8px; }
.perry-nav__item.is-open .perry-nav__sub { display: block; }
@media (hover: hover) and (pointer: fine) {
	.perry-nav__item:hover .perry-nav__sub, .perry-nav__item:focus-within .perry-nav__sub { display: block; }
}
.perry-nav__sub a { display: block; padding: 10px 20px; white-space: nowrap; font-size: 14px; }
.perry-nav__sub a::after { display: none; }
@media (max-width: 767px) {
	.perry-nav__caret { padding: 12px 6px; }
	.perry-nav__sub { min-width: 200px; }
}

/* About: "As Featured In" logos stay on one row on desktop and wrap neatly on small screens */
.perry-featured-row > .elementor-container { align-items: center; }
.perry-featured-row .elementor-widget-wrap { align-items: center; }
.perry-featured-row .elementor-widget { margin-bottom: 0; }
.perry-featured-logo img { max-width: 100%; height: auto; }
@media (max-width: 1024px) {
	.perry-featured-row > .elementor-container { flex-wrap: wrap; justify-content: center; gap: 24px 0; }
}
@media (max-width: 767px) {
	.perry-featured-row .elementor-column { width: 50% !important; }
	.perry-featured-row .elementor-column:nth-child(3) { width: 100% !important; order: -1; }
}

/* Articles: figures, image credit, table and Let's Talk button */
.perry-post__content figure.perry-post-fig { margin: 1.6em 0; }
.perry-post__content figure.perry-post-fig img { width: 100%; }
.perry-post-credit { color: #6B6B63; font-size: 13px; margin: -20px 0 1.6em; }
.perry-post__content .perry-btn { background: #1F2A3D; border-radius: 4px; color: #FFF; display: inline-block; font: 600 14px/1 Inter, sans-serif; padding: 16px 30px; text-decoration: none; transition: background 180ms ease; }
.perry-post__content .perry-btn:hover { background: #B08D57; color: #FFF; }
.perry-post-cta { margin: 2em 0 0; text-align: center; }
.perry-table-wrap { margin: 1.6em 0; overflow-x: auto; }
.perry-table { border-collapse: collapse; font-size: 15px; min-width: 520px; width: 100%; }
.perry-table th, .perry-table td { border-bottom: 1px solid #E5E1D8; padding: 12px 14px; text-align: left; vertical-align: top; }
.perry-table th { border-bottom: 2px solid #B08D57; color: #2B2B2B; font-weight: 600; }
.perry-table td:first-child { color: #2B2B2B; font-weight: 600; }

/* Homepage "Hi, I'm Perry": crop the portrait the same way as on the About page */
.perry-home-photo img { border-radius: 8px; display: block; height: 520px; object-fit: cover; object-position: top center; width: 100%; }
@media (max-width: 767px) {
	.perry-home-photo img { height: 420px; }
}

/* About: "How I Analyse Before I Recommend" media blocks */
.perry-analyse .elementor-container { align-items: center; }
.perry-analyse-media img, .perry-analyse__video { border-radius: 8px; box-shadow: 0 6px 24px rgba(31, 42, 61, .08); display: block; height: auto; width: 100%; }
.perry-analyse .elementor-widget-text-editor p { margin: 0 0 1em; }
@media (max-width: 1024px) {
	.perry-analyse .elementor-column { width: 100% !important; }
	.perry-analyse .elementor-column + .elementor-column { margin-top: 24px; }
}

/* About: "Client Experience" testimonial videos (vertical 9:16) */
.perry-clientexp__grid { display: grid; gap: 28px; grid-template-columns: repeat(3, 1fr); }
.perry-clientexp__card { margin: 0; }
.perry-clientexp__video { aspect-ratio: 9 / 16; background: #000; border-radius: 8px; box-shadow: 0 6px 24px rgba(31, 42, 61, .08); display: block; width: 100%; }
.perry-clientexp__card figcaption { padding: 14px 4px 0; }
.perry-clientexp__client { color: #B08D57; display: block; font: 600 12px/1 Inter, sans-serif; letter-spacing: .08em; margin-bottom: 8px; text-transform: uppercase; }
.perry-clientexp__title { color: #2B2B2B; display: block; font: 600 17px/1.35 'Playfair Display', serif; }
@media (max-width: 1024px) {
	.perry-clientexp__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.perry-clientexp__grid { grid-template-columns: 1fr; }
}

/* Case Studies: story + vertical (9:16) videos */
.perry-casestudy .elementor-container { align-items: flex-start; }
.perry-cs-videos { display: grid; gap: 20px; grid-template-columns: repeat(2, 1fr); }
.perry-cs-videos--1 { grid-template-columns: minmax(0, 300px); justify-content: center; }
.perry-cs-video { margin: 0; }
.perry-cs-video video { aspect-ratio: 9 / 16; background: #000; border-radius: 8px; box-shadow: 0 6px 24px rgba(31, 42, 61, .08); display: block; width: 100%; }
.perry-cs-video figcaption { color: #2B2B2B; font: 600 14px/1.35 'Playfair Display', serif; padding: 10px 2px 0; }
.perry-casestudy .elementor-widget-text-editor h4 { color: #2B2B2B; font: 600 18px/1.3 'Playfair Display', serif; margin: 1.6em 0 .5em; }
.perry-casestudy .elementor-widget-text-editor p { margin: 0 0 1em; }
.perry-casestudy .elementor-widget-text-editor ul { margin: 0 0 1em 1.2em; padding: 0; }
.perry-casestudy .elementor-widget-text-editor li { margin-bottom: .4em; }
@media (max-width: 1024px) {
	.perry-casestudy .elementor-column { width: 100% !important; }
	.perry-casestudy .elementor-column + .elementor-column { margin-top: 24px; }
}
@media (max-width: 600px) {
	.perry-cs-videos { grid-template-columns: 1fr; }
	.perry-cs-videos--1 { grid-template-columns: 1fr; }
}

/* perry-casestudy-cols: video column 48% / story column 52% on desktop */
@media (min-width: 1025px) {
	.perry-casestudy .elementor-column:nth-child(1) { width: 48% !important; }
	.perry-casestudy .elementor-column:nth-child(2) { width: 52% !important; }
}

/* perry-casestudy-v2: wider rows, larger videos, video column stays in view while the story scrolls */
@media (min-width: 1025px) {
	.perry-casestudy > .elementor-container { align-items: stretch; max-width: 1240px; }
	.perry-casestudy .elementor-column:nth-child(1) { width: 52% !important; }
	.perry-casestudy .elementor-column:nth-child(2) { width: 48% !important; }
	.perry-casestudy .elementor-column:nth-child(1) .elementor-widget-html { position: sticky; top: 110px; }
	.perry-cs-videos { gap: 24px; }
	.perry-cs-videos--1 { grid-template-columns: minmax(0, 380px); }
}

/* perry-casestudy-v3: video column 56% / story column 44%, larger videos */
@media (min-width: 1025px) {
	.perry-casestudy .elementor-column:nth-child(1) { width: 56% !important; }
	.perry-casestudy .elementor-column:nth-child(2) { width: 44% !important; }
	.perry-cs-videos--1 { grid-template-columns: minmax(0, 400px); }
}

/* Floor plan request: buttons, dialog form and notices */
button.perry-btn { border: 0; cursor: pointer; }
.perry-post-cta--fp { margin: 2em 0; }
.perry-fp-notice { border-radius: 8px; font: 400 16px/1.6 Inter, sans-serif; margin: 2em 0; padding: 16px 20px; }
.perry-fp-notice--ok { background: #EEF4EA; border: 1px solid #B8D1AE; color: #2B2B2B; }
.perry-fp-notice--err { background: #FBEDEA; border: 1px solid #E3B3A8; color: #2B2B2B; }
.perry-fp-dialog { border: 0; border-radius: 10px; box-shadow: 0 12px 48px rgba(31, 42, 61, .25); max-width: 460px; padding: 0; width: calc(100% - 32px); }
.perry-fp-dialog::backdrop { background: rgba(31, 42, 61, .55); }
.perry-fp-form { color: #3B3B36; font: 400 15px/1.5 Inter, sans-serif; padding: 28px; }
.perry-fp-form h3 { color: #2B2B2B; font: 600 24px/1.25 'Playfair Display', serif; margin: 0 0 6px; }
.perry-fp-sub { color: #6B6B63; margin: 0 0 18px; }
.perry-fp-form label { display: block; font-weight: 600; margin-bottom: 14px; }
.perry-fp-form input[type="text"], .perry-fp-form input[type="tel"], .perry-fp-form input[type="email"] { border: 1px solid #CFCFC9; border-radius: 4px; box-sizing: border-box; display: block; font: 400 16px Inter, sans-serif; margin-top: 6px; padding: 11px 12px; width: 100%; }
.perry-fp-form .perry-fp-consent { align-items: flex-start; display: flex; font-size: 13px; font-weight: 400; gap: 10px; }
.perry-fp-form .perry-fp-consent input { flex: none; margin-top: 3px; }
.perry-fp-hp { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }
.perry-fp-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }
.perry-fp-cancel { background: none; border: 0; color: #6B6B63; cursor: pointer; font: 400 14px Inter, sans-serif; text-decoration: underline; }

/* perry-nav-unify: "Insights" and its caret behave as one element */
.perry-nav__item > a { padding-right: 2px; }
.perry-nav__item > a::after { display: none; }
.perry-nav__item:hover > a, .perry-nav__item.is-open > a { color: #B08D57; }
.perry-nav__item::after { background: #B08D57; bottom: 0; content: ''; height: 1px; left: 0; position: absolute; right: 0; transform: scaleX(0); transform-origin: left; transition: transform 220ms ease; }
.perry-nav__item:hover::after, .perry-nav__item.is-open::after { transform: scaleX(1); }
.perry-nav__caret, .perry-nav__caret:hover, .perry-nav__caret:focus, .perry-nav__caret:active { background: transparent; box-shadow: none; color: inherit; }
.perry-nav__caret:focus { outline: none; }
.perry-nav__caret:focus-visible { border-radius: 4px; outline: 2px solid #B08D57; outline-offset: 2px; }

/* perry-footer-legal: compliance lines under the copyright, transparent footer logo */
.perry-footer-bottom .elementor-widget-text-editor p { margin: 0 0 6px; }
.perry-footer-bottom .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.perry-footer-bottom a { color: inherit; text-decoration: underline; }
.perry-footer-top .perry-logo-footer img { height: 40px; width: auto; }
