/*!
Theme Name: Wellington Estate Theme
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: Wellington Estate Theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.

Wellington Estate Theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

pre {font-family: monospace, monospace; font-size: 1em;}
a {background-color: transparent;}
abbr[title] {border-bottom: none; text-decoration: underline; text-decoration: underline dotted;}
b, strong {font-weight: bolder;}
code, kbd, samp {font-family: monospace, monospace; font-size: 1em;}
small {font-size: 80%;}
sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
img {border-style: none;}
button, input, optgroup, select, textarea {font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0;}
button, input {overflow: visible;}
button, select {text-transform: none;}
button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button;}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {border-style: none; padding: 0;}
fieldset {padding: 0.35em 0.75em 0.625em;}
progress {vertical-align: baseline;}
textarea {overflow: auto;}
[type="checkbox"], [type="radio"] {box-sizing: border-box; padding: 0;}
::-webkit-file-upload-button {-webkit-appearance: button; font: inherit;}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Forms
--------------------------------------------- */

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; clip-path: none; color: #21759b; display: block; font-size: 0.875rem; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000;}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {outline: 0;}

/* Root */
:root {
	--navy: #04294b;
	--dark-navy: #021a2f;
	--light-blue: #a0cced;
	--light: #f3faff;
	--white: #fdfefc;
	--font-logo: "decotech", serif;
	--font-title: "Georgia Pro", serif;
	--font-base: "Poppins", sans-serif;
	--smooth: all ease-in-out .3s;
	--btn-smooth: 
        background-color 0.65s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.65s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.65s cubic-bezier(0.4, 0, 0.2, 1);
	--btn-will-change: background-colour, colour, border-colour;
	--radius: 5px;
	--header-height: 100px;
  	--s-base: clamp(70px, 5vw + 40px, 160px);
  	--s-1: var(--s-base);
  	--s-2: calc(var(--s-base) * 0.75);
  	--s-3: calc(var(--s-base) * 0.5);
  	--s-4: calc(var(--s-base) * 0.33);
  	--s-5: calc(var(--s-base) * 0.25);
  	--s-6: calc(var(--s-base) * 0.125);
}

/* General */
html {font-size: 62.5%; overflow: auto; scroll-behavior: auto!important; box-sizing: border-box; line-height: 1.15; -webkit-text-size-adjust: 100%;}
body {overflow-x: clip; text-rendering: optimizeLegibility; margin: 0; background-color: var(--white);}
main {overflow-x: clip; display: block;}
::selection {background-color: var(--light-blue); color: var(--white);}
hr {box-sizing: content-box; height: 0; overflow: visible;}
th, td {font-family: var(--font-base);}
picture {width: 100%; height: 100%; object-fit: cover;}
.block-accent.accent-hide-mobile {display: none;}

/* Typography */
h1 {color: var(--white); font-weight: 400; font-family: var(--font-title); margin: 0; line-height: 1.2;}
.section-title {font-family: var(--font-title); color: inherit; font-weight: 400; font-size: 4.91rem; line-height: 1.3; margin: 0 0 20px; transition: var(--smooth);}
p, a {font-family: var(--font-base);}
p {margin: 0 0 20px; font-weight: 300; line-height: 1.8;}
h3 {font-family: var(--font-title); margin: 0; font-weight: 400; line-height: 1.4;}
h4, .accordion-question, h4.wp-block-heading {font-family: var(--font-base); font-weight: 400; line-height: 1.3;}
h4:not(.ticket-prices__item h4):not(.eyebrow):not(.footer-menu h4):not(.cards-wrapper .web-card h4):not(.card-title):not(.carousel-content h4:last-child):not(.pricing-row h4) {margin: 0 0 20px;}
h5 {font-family: var(--font-base);}
.eyebrow {font-family: var(--font-base); color: var(--light-blue); letter-spacing: 2px; font-weight: 300; margin: 0 0 10px; display: inline-block; line-height: 1.1; transition: var(--smooth); text-transform: uppercase;}
.eyebrow.white {color: var(--white);}
.eyebrow.sage {color: var(--light-blue);}
.tile-title {font-family: var(--font-title); color: var(--white); font-weight: 400;}
.intro-lead {color: inherit; font-weight: 400;}
.card-title {font-family: var(--font-title); margin: 0;}
.statement {text-transform: uppercase; letter-spacing: 2px; margin: 25px auto 40px;}
h3.wp-block-heading {margin: 0 0 20px;}
.card-tagline {color: var(--white); max-width: clamp(300px, 30vw, 450px); margin: 0;}

/* Containers */
.container {position: relative; max-width: 1500px; margin: 0 auto; padding-left: clamp(20px, 3vw, 50px); padding-right: clamp(20px, 3vw, 50px); width: 100%; height: 100%;}
.small-container, #post-259 .entry-content {max-width: 1100px; margin: 0 auto; padding-left: clamp(20px, 3vw, 50px); padding-right: clamp(20px, 3vw, 50px); width: 100%;}
.medium-container {max-width: 1300px; margin: 0 auto; padding-left: clamp(20px, 3vw, 50px); padding-right: clamp(20px, 3vw, 50px); width: 100%;}
#post-259 .entry-content {padding-top: clamp(50px, 5vw, 150px); padding-bottom: clamp(50px, 5vw, 150px);}
.title-wrapper {max-width: clamp(300px, 45vw, 700px);}
.small-container .title-wrapper {margin: 0 auto;}
.btn-container {display: flex; gap: 15px;}
.page-template-page-faqs {background-color: var(--light);}

/* Header Split - To be used for split text header sections */ 
.header-split__left {flex: 1.3;}
.header-split__right {flex: 0.7; flex-direction: column; justify-content: flex-end; gap: 20px;}

@media (min-width: 701px) {
  .section-header {gap: 40px;}
  .header-split__left {max-width: clamp(250px, 60vw, 675px);}
  .header-split__left .section-title {margin: 0;}
  .header-split__right {align-items: flex-end;}
}

@media (max-width: 700px) {
  .section-header {flex-direction: column; gap: 0;}
  .header-split__right {align-items: flex-start;}
}
/* End of Header Split */

/* Font Sizes */
h1 {font-size: clamp(2.8rem, 3.5vw + 1.8rem, 6.5rem);}
h2, .section-title, .page-404 .oops-title {font-size: clamp(2.75rem, 2.6vw + 1.3rem, 5rem);}
h3 {font-size: clamp(2.5rem, 1.8vw + 1.8rem, 4rem);}
h4, .accordion-question, h4.wp-block-heading {font-size: clamp(1.8rem, 0.5vw + 1.4rem, 2.3rem);}
h5 {font-size: clamp(1.6rem, 0.4vw + 1.3rem, 2.2rem);}
h6 {font-size: clamp(1.4rem, 0.3vw + 1.1rem, 1.8rem);}
.eyebrow {font-size: clamp(1.6rem, 0.5vw + 1.35rem, 2rem);}
.eyebrow.small {font-size: clamp(1rem, 1.5vw + 2.05rem, 1.3rem);}
.intro-lead, .impact-statement__inner p {font-size: clamp(14px, 2.5vw, 20px);}
.card-tagline {font-size: clamp(1.6rem, 0.5vw + 1.2rem, 1.9rem);}
p, li {font-size: clamp(1.4rem, 0.2vw + 1.32rem, 1.6rem);}
li.menu-item {font-size: 14px;}
.footer-top li a, .address-content p {font-size: 15px;}
.global-btn, .menu-cta-btn a, .contact-block .wpforms-form .wpforms-submit, .read-more {font-size: clamp(1.1rem, 0.2vw + 1rem, 1.2rem);}
.main-nav a:not(.menu-cta-btn a), .footer-menu-list ul li , #menu-footer-menu li a {font-size: 13px;}
.card-title {font-size: clamp(2.8rem, 1vw + 1.8rem, 3.4rem);}
h3.wp-block-heading {font-size: clamp(2.6rem, 2vw + 1.2rem, 3.0rem);}
.statement {font-size: clamp(1.2rem, 0.2vw + 1rem, 1.6rem);}

/* Links */
a {color: var(--light-blue); text-decoration: none; transition: var(--smooth);}
a:hover:not(.faq-nav-button):not(.global-btn):not(.community-card):not(.menu-cta-btn a):not(.contact-block__card .social-icon) {color: var(--light-blue); text-decoration: none; transition: var(--smooth);}
a:focus {outline: thin dotted;}
a:hover, a:active {outline: 0;}

/* Paddings */
.pt-1 {padding-top: var(--s-1);}
.pt-2 {padding-top: var(--s-2);}
.pt-3 {padding-top: var(--s-3);}
.pt-4 {padding-top: var(--s-4);}
.pt-5 {padding-top: var(--s-5);}
.pt-6 {padding-top: var(--s-6);}

.pb-1 {padding-bottom: var(--s-1);}
.pb-2 {padding-bottom: var(--s-2);}
.pb-3 {padding-bottom: var(--s-3);}
.pb-4 {padding-bottom: var(--s-4);}
.pb-5 {padding-bottom: var(--s-5);}
.pb-6 {padding-bottom: var(--s-6);}

/* Margins */
.mt-1 {margin-top: var(--s-1);}
.mt-2 {margin-top: var(--s-2);}
.mt-3 {margin-top: var(--s-3);}
.mt-4 {margin-top: var(--s-4);}
.mt-5 {margin-top: var(--s-5);}
.mt-6 {margin-top: var(--s-6);}

.mb-1 {margin-bottom: var(--s-1);}
.mb-2 {margin-bottom: var(--s-2);}
.mb-3 {margin-bottom: var(--s-3);}
.mb-4 {margin-bottom: var(--s-4);}
.mb-5 {margin-bottom: var(--s-5);}
.mb-6 {margin-bottom: var(--s-6);}

/* Gaps */
.gap-1 {gap: 10px;}
.gap-2 {gap: 20px;}
.gap-3 {gap: 30px;}
.gap-4 {gap: 40px;}
.gap-5 {gap: 50px;}
.gap-6 {gap: 60px;}

/* Background Colors */
.bg-navy {background-color: var(--navy); color: var(--white);}
.bg-light-blue {background-color: var(--light-blue); color: var(--navy);}
.bg-light {background-color: var(--light); color: var(--navy);}
.bg-light .intro-lead {color: var(--navy);}
.bg-white {background-color: var(--white); color: var(--navy);}

/* Universal Flex */
.u-flex {display: flex;}
.u-items-center {align-items: center;}
.u-items-stretch {align-items: stretch;}
.u-items-end {align-items: flex-end;}
.u-items-start {align-items: flex-start;}
.u-justify-center {justify-content: center;}
.u-justify-end {justify-content: flex-end;}
.u-justify-between {justify-content: space-between;}
.u-text-center {text-align: center;}	
.u-flex-wrap {flex-wrap: wrap;}
.u-flex-row-reverse {flex-direction: row-reverse;}
.u-flex-row {flex-direction: row;}
.u-flex-column {flex-direction: column;}
.u-flex-column-reverse {flex-direction: column-reverse;}

/* Buttons */
.button-row {margin-top: clamp(10px, 2vw, 25px);}
.menu-cta-btn a, .mobile-menu-cta > a ,.global-btn, .contact-block .wpforms-form .wpforms-submit {box-sizing: border-box; padding: 20px 25px; display: inline-block; font-family: var(--font-base); letter-spacing: 2px; font-weight: 400; text-decoration: none; color: var(--white); text-align: center; text-transform: uppercase; transition: var(--btn-smooth); will-change: var(--btn-will-change); transition-delay: 0.05s; border-radius: 5px; z-index: 2;}
.read-more {display: flex; text-transform: uppercase; color: var(--white); opacity: 1; font-weight: 400; letter-spacing: 2px; align-items: center; gap: 10px; transition: var(--smooth);}
.read-more .circle {width: 30px; height: 30px; background-color: var(--light-blue); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: var(--smooth); position: relative; top: unset; right: unset; transform: unset;}
.read-more .circle .arrow {width: 17px; height: 17px; transition: var(--smooth); transform: unset;}
.read-more .circle .arrow path {color: var(--navy);}
.menu-cta-btn a {background-color: var(--navy); color: var(--white);}

/* Button Hover Effects */
.menu-cta-btn a:hover, .mobile-menu-cta > a:hover, .contact-block .wpforms-form .wpforms-submit:hover {cursor: pointer; transition: var(--btn-smooth); will-change: var(--btn-will-change); background-color: var(--light-blue); transition-delay: 0.05s; color: var(--navy);}
.global-btn.dark-green:hover {background-color: var(--light-blue); color: var(--navy);}
.global-btn.light-blue:hover {background-color: var(--navy); color: var(--white);}
.global-btn.navy:hover {background-color: var(--light-blue); color: var(--navy);}

/* Button Colour Variants */
.global-btn.navy {background-color: var(--navy); color: var(--white);}
.global-btn.light-blue, .mobile-menu-cta > a {background-color: var(--light-blue); color: var(--navy);}
.global-btn.dark-green {background-color: var(--dark-navy); color: var(--white);}
.global-btn.light {background-color: var(--light); color: var(--light-blue);}
.global-btn.white {background-color: var(--white); color: var(--light-blue);}
.global-btn.transparent {background-color: transparent; color: var(--white); border: 2px solid var(--white);}

/* Universal Form Styles */
legend, .contact-block .wpforms-form .wpforms-field label {font-family: var(--font-base); font-size: 16px; font-weight: 300; margin-bottom: 10px; display: inline-block;}

/* List Styles */
main ul:not(.slick-dots):not(.icon-cards__grid) {list-style: none; margin: 0; padding: 0 0 clamp(10px, 2vw, 15px);}
main li:not(.slick-dots li):not(.icon-cards__grid li):not(.tpc-card__details li):not(.wpforms-form li) {display: flex; align-items: flex-start; gap: 8px; padding-left: 0; margin-bottom: 1.4rem; font-family: var(--font-base); font-weight: 300;}
main li:not(.slick-dots li):not(.icon-cards__grid li):not(.tpc-card__details li):not(.wpforms-form li):before {content: ""; width: 10px; height: 1px; background-color: var(--light-blue); position: relative; top: 12px;}
main li:not(.slick-dots li):not(.icon-cards__grid li):last-child {margin-bottom: 0;}
main .accordion-content ul:not(.slick-dots) {padding: 0;}

/* Header Nav */
.nav-left {justify-content: flex-end;}
.nav-left ul, .nav-right ul {list-style: none; align-items: center; display: flex; padding: 0; margin: 0; width: 100%; flex-direction: row-reverse;}
.nav-left ul:not(.sub-menu), .nav-right ul:not(.sub-menu) {gap: 25px;}
.search-trigger.icon {width: 24px; height: 24px; display: block; background-color: var(--white); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E"); mask-repeat: no-repeat; mask-position: center; mask-size: contain; cursor: pointer; transition: var(--smooth);}
.search-trigger.icon:hover {background-color: var(--light-blue);}
.search-trigger.icon a {visibility: hidden;}
#right-menu .icon-wellington-estate img {display: block; width: clamp(20px, 4vw, 43px); height: auto; padding: 10px 11px; border: 1.5px solid var(--white); box-sizing: border-box; transition: var(--smooth);}
#right-menu .icon-wellington-estate img:hover {border-color: var(--light-blue); transition: var(--smooth); background-color: var(--light-blue);}
.current_page_item a {font-style: italic;}

/* Header Nav — logo left, menu right */
.site-header {height: 100px; width: 100%; display: flex; align-items: center; position: fixed; top: 0; z-index: 1000; background-color: var(--white);}
.nav-outer {width: 100%; margin-left: 50px; margin-right: 50px;}
.nav-wrapper {display: flex; width: 100%; align-items: center; justify-content: space-between; gap: clamp(30px, 4vw, 60px); height: 100%;}
.site-logo {flex-shrink: 0; line-height: 1;}
.site-logo a {display: inline-block; text-decoration: none;}
.site-title .logo-name {display: block; font-family: 'decotech', var(--font-title), Georgia, serif; color: var(--navy); font-size: clamp(30px, 2.5vw, 40px); letter-spacing: 1px; line-height: 1; white-space: nowrap;}
.site-title .logo-sub {display: block; font-family: 'decotech', var(--font-title), Georgia, serif; color: var(--navy); font-size: clamp(18px, 2.5vw, 21px); letter-spacing: 2px; line-height: 1; margin-top: 5px; white-space: nowrap; opacity: .7;}
.nav-primary {align-items: center; gap: 25px;}
.nav-primary ul:not(.sub-menu) {list-style: none; display: flex; flex-direction: row-reverse; align-items: center; gap: 25px; padding: 0; margin: 0;}

/* Mobile Menu */
.mobile-toggle {display: none; background: none; border: 0; cursor: pointer; width: 32px; height: 24px; position: relative;}
.mobile-toggle span {position: absolute; left: 0; width: 100%; height: 2px; background: var(--navy); transition: transform 0.35s ease, opacity 0.25s ease;}
.mobile-toggle span:nth-child(1) {top: 0;}
.mobile-toggle span:nth-child(2) {top: 50%; transform: translateY(-50%);}
.mobile-toggle span:nth-child(3) {bottom: 0;}
.mobile-toggle.is-active span:nth-child(1) {transform: translateY(11px) rotate(45deg);}
.mobile-toggle.is-active span:nth-child(2) {opacity: 0;}
.mobile-toggle.is-active span:nth-child(3) {transform: translateY(-11px) rotate(-45deg);}
.mobile-nav {position: fixed; left: 0; right: 0; bottom: 0; background: var(--navy); transform: translateY(-20px); opacity: 0; pointer-events: none; transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease, visibility 0s linear 0.45s;  z-index: 999; overflow-y: auto; visibility: hidden; -webkit-overflow-scrolling: touch; padding-top: 100px;}
body.menu-open {overflow: hidden;}
.mobile-nav ul {list-style: none; margin: 0;}
.mobile-nav a:not(.mobile-menu-cta > a) {display: block; color: var(--white); text-decoration: none; padding: 15px 0; font-size: 31px; letter-spacing: 1px; font-family: var(--font-title); font-weight: 400;}
.mobile-nav.is-open {transform: translateY(0); opacity: 1; pointer-events: auto; visibility: visible; transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease, visibility 0s linear 0s;}
.mobile-nav li {opacity: 0; transform: translateY(-6px); transition: opacity 0.3s ease, transform 0.3s ease; transition-delay: calc(var(--i) * 0.06s);}
.mobile-nav.is-open li {opacity: 1; transform: translateY(0);}
.mobile-nav .menu-item-has-children > a {position: relative; display: block; width: 100%; text-align: center;}
.mobile-nav .menu-item-has-children > a::after {content: ''; position: absolute; right: 16px; top: 50%; width: 10px; height: 10px; border-right: 2px solid var(--white); border-bottom: 2px solid var(--white); transform: translateY(-50%) rotate(45deg); transition: transform 0.35s ease;}
.mobile-nav .menu-item-has-children.is-open > a::after {transform: translateY(-50%) rotate(-135deg);}
.mobile-nav .sub-menu {overflow: hidden; height: 0; opacity: 0; transform: translateY(-6px); transition: opacity 0.35s ease, transform 0.35s ease, height 0.35s ease; padding: 0;}
.mobile-nav .menu-item-has-children.is-open > .sub-menu { height: auto; opacity: 1; transform: translateY(0); padding: 0;}
.mobile-nav .sub-menu li a {font-size: 16px;}
#mobile-menu-list {padding: 0; display: flex; flex-direction: column;}
.mobile-menu-cta {margin-top: 20px;}

/* Menu links */
.nav-primary ul li:not(.menu-cta-btn) a:not(.sub-menu a) {text-decoration: none; color: var(--navy); font-weight: 400; transition: var(--smooth); letter-spacing: 2px; text-transform: uppercase;}

/* Inner Header */
.inner-header {position: relative; background-repeat: no-repeat; background-size: cover; background-position: center center; margin-left: clamp(20px, 3vw, 50px); margin-right: clamp(20px, 3vw, 50px); background-color: var(--navy); border-radius: var(--radius);}
.inner-header__content {position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; box-sizing: border-box; padding: clamp(50px, 30vw, 175px) clamp(20px, 1vw, 50px); max-width: clamp(375px, 80vw, 880px); margin-top: 100px;}

/* Price Listing Section */
.ticket-prices.container {height: 100%; position: relative;}
.price-listing-container {background: var(--navy); box-sizing: border-box; padding: 125px; border-radius: 20px; display: flex; flex-direction: column; position: relative;}
.price-listing-container .section-title {color: var(--white);}
.ticket-prices__item {background: var(--dark-navy); padding: 35px; border-radius: 20px; width: 100%; display: flex; flex-direction: column; z-index: 4;}
.ticket-prices__item p:last-child {margin-bottom: 0;}
.ticket-prices__list {gap: 20px; max-width: 900px; margin: 0 auto;}
.price-listing-title {display: inline-block; max-width: clamp(300px, 50vw, 650px); margin: 35px auto 0;}
.ticket-prices__item h4 {color: var(--white); margin: 0 0 5px; font-weight: 400;}
.ticket-prices__item p {opacity: 0.65; color: var(--light);}
.footnote {gap: 25px; position: relative; z-index: 4;}
.footnote p {color: var(--white); text-align: center; opacity: .8; font-weight: 400; max-width: clamp(300px, 80vw, 750px);}
.cloud-accent {position: absolute; top: -2%; left: 50%; max-width: 650px; transform: translate(-50%, 0%) rotate(20deg);z-index: 1;}
.snowfall-container {pointer-events: none; overflow: hidden; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1;}
.snowflake {position: absolute; width: 10px; height: 10px; background: radial-gradient(circle, rgba(255,255,255,0.95) 40%, rgba(255,255,255,0) 80%); border-radius: 50%; filter: blur(1px); opacity: 0; mix-blend-mode: screen; will-change: transform, opacity;}
.cloud-container {position: absolute; left: 50%; top: -2%; z-index: 1;}
.price-listing-title .section-title {margin-bottom: 0;}

/* Accordion General */
.accordion-item {margin: 0 0 15px;}
.accordion-question {width: 100%; position: relative; display: flex; align-items: center; justify-content: space-between; padding: clamp(15px, 2vw, 25px); font-family: var(--font-base); font-weight: 300; background: none; border: none; cursor: pointer; box-sizing: border-box; transition: transform .8s cubic-bezier(0.20, 1, 0.40, 1);}
.accordion-icon {height: clamp(30px, 7vw, 38px); width: clamp(30px, 7vw, 38px); background-color: var(--light-blue); border-radius: 50%; padding: clamp(7px, 2vw, 9px); display: flex; align-items: center; justify-content: center;}
.accordion-icon line {stroke: var(--white); stroke-width: 1.5; transform-origin: center;}
.accordion-question:hover {transition: transform .8s cubic-bezier(0.20, 1, 0.40, 1); transform: translateX(6px);}

/* Accordion FAQs */
.faq-accordion-wrapper .accordion-item {background-color: var(--light);}
.faq-accordion-wrapper .accordion-question {color: var(--navy);}
.faq-accordion-wrapper .accordion-item.accordion-cta {background: var(--navy);}
.faq-accordion-wrapper .accordion-item.accordion-cta h3 {color: var(--light-blue); line-height: 1; font-size: clamp(2.8rem, 0.8vw + 2.5rem, 3.8rem);}
.faq-accordion-wrapper .accordion-item.accordion-cta p {color: var(--white); margin: 0;}
.faq-accordion-wrapper .accordion-item.accordion-cta .accordion-content {display: flex; align-items: center; box-sizing: border-box; padding: clamp(25px, 4vw, 50px); gap: clamp(20px, 5vw, 40px); justify-content: space-between;}
.accordion-content div:last-child {display: flex; justify-content: flex-end; flex: 1;}
.accordion-content div:last-child .global-btn {white-space: nowrap;}

/* User Journey CTA */
.user-journey-container {position: relative; }
.user-journey-cta-inner {box-sizing: border-box; gap: 100px; overflow: hidden; position: relative; border-radius: var(--radius); z-index: 1;}
.user-journey-image {width: 100%; height: 100%; position: absolute;}
.user-journey-image img {width: 100%; height: 100%; object-fit: cover; position: absolute;}
.user-journey-text {width: 100%; box-sizing: border-box; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: clamp(50px, 5vw, 125px) clamp(30px, 5vw, 100px); max-width: 800px; margin: 0 auto;}
.user-journey-image::after {background: linear-gradient(to right,rgba(0, 0, 0, 0.70) 0%, rgba(0, 0, 0, 0.50) 35%, rgba(0, 0, 0, 0.25) 65%, rgba(0, 0, 0, 0) 100%); position: absolute; top: 0; left: 0; height: 100%; width: 70%; z-index: 1; content: "";}
.user-journey-buttons {display: flex; gap: 10px;}

/* Custom Cursor */
.custom-cursor {position: fixed; top: 0; left: 0; width: 100px; height: 100px; border-radius: 50%; display: flex; align-items: center; justify-content: center; pointer-events: none; opacity: 0; z-index: 1; background-color: var(--dark-navy); box-sizing: border-box; padding: 30px; transform: translate(-50%, -50%);}
.custom-cursor p {font-size: 10px; text-transform: uppercase; letter-spacing: 2px; color: var(--white); font-weight: 300; margin: 0; font-family: var(--font-base);}
.custom-cursor.active {transform: scale(0.75);}

/* Footer */
.site-footer {background: var(--navy); position: relative;}
.site-footer:not(.page-id-216 .site-footer):not(.error404 .site-footer)::before {position: absolute; top: -50%; left: 0; width: 100%; height: 100%; background-color: var(--navy); content: ""; z-index: 0;}
.footer-top {display: flex; justify-content: space-between;}
.social-icons {margin: 0; padding: 0; display: flex; gap: 15px;}
.find-us {width: 25%; display: flex; flex-direction: column; gap: 20px; box-sizing: border-box; margin-right: 75px;}
.social-icons li a i {color: var(--white); font-size: 16px; background: var(--dark-navy); height: 50px; width: 50px; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: var(--smooth);}
.social-icons li a i:hover {background-color: var(--light-blue); color: var(--navy); transition: var(--smooth);}
.social-icons li {list-style: none;}
.address-content p, .contact-list li a, .footer-menu-list ul li , #menu-footer-menu li a {color: var(--white); font-weight: 300;}
.footer-logo {width: 40%;}
.contact-list {padding: 0; margin: 0; display: flex; flex-direction: column; list-style: none; gap: 8px;}
.contact-email {list-style: none;}
.footer-menu-list ul {margin: 0; padding: 0; list-style: none;}
.footer-logo img {height: 100%; width: 100%; object-fit: contain; max-width: 130px; max-height: 130px;}
#menu-footer-menu {padding: 0; margin: 0; display: flex; flex-direction: column; gap: 5px;}
#menu-footer-menu li {list-style: none;}
.site-info {background: var(--dark-navy); color: var(--light); box-sizing: border-box; padding: 20px; text-align: center; font-size: 1.4rem; font-weight: 300; display: flex; justify-content: center; align-items: center; font-family: var(--font-base);}
.footer-menu {width: 50%;}
.footer-menu h4 {color: var(--white); margin: 0 0 15px; font-family: var(--font-title);}
.footer-mobile-container {display: flex; justify-content: space-between; width: 90%;}
.contact-list li a:hover, .footer-menu-list ul li:hover, #menu-footer-menu li a:hover {color: var(--light-blue); transition: var(--smooth);}
.footer-menu-list ul li a {color: var(--white); transition: var(--smooth);}
.footer-menu-list ul li a:hover {color: var(--light-blue); transition: var(--smooth);}
.menu-useful-links-container ul, .menu-the-estate-container ul {list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 5px;}
.menu-useful-links-container ul li a, .menu-the-estate-container ul li a {color: var(--white); font-weight: 300; transition: var(--smooth);}
.menu-useful-links-container ul li a:hover, .menu-the-estate-container ul li a:hover {color: var(--light-blue); transition: var(--smooth);}
.footer-widget-container .footer-widget {flex: 1;}
.address-content p {margin: 0;}
.footer-social .social-icons {margin: 0;}
.footer-logo .site-title .logo-name {color: var(--white);}
.footer-logo .site-title .logo-sub {color: var(--light-blue);}

/* Mobile menu */
.menu-toggle {display: none; background: none; border: none; font-size: 1.5rem;}

/* Default (mobile) */
.main-nav ul { display: none; flex-direction: column; background: var(--white); position: absolute; top: 80px; right: 0; width: 200px; border: 1px solid #eee; }
.main-nav.active ul { display: flex; }
.menu-toggle { display: block; }
.mobile-nav-cta { display: block; }

/* 404 Page */
.page-404 {position: relative; width: 100%; height: 100vh; display: flex; justify-content: center; align-items: center; text-align: center;  overflow: hidden; font-family: var(--base-font); color: var(--white);}
.inner-404 {position: relative; z-index: 2;}
.page-404 .splooge-404 {max-width: clamp(200px, 16vw, 300px); height: auto; margin: 0 auto 2rem auto; display: block;}
.page-404 p {max-width: clamp(300px, 25vw, 400px); margin: 0 auto 35px;}
.splooge-wrapper {position: relative; display: inline-block; margin: 0 auto 2rem auto; background: var(--light-blue); border-radius: 100%; height: 190px; width: 190px; font-size: 40px;}
.splooge-text {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-family: var(--font-base); color: var(--white); pointer-events: none; text-align: center;}

#cookie-law-info-bar .cli-powered-by {display: none !important;}

#wpforms-form-1344-submit-btn-disabled {visibility: hidden !important; opacity: 0 !important;}

@media (max-width: 500px) {
	.page-numbers {padding: 10px 15px;}
}


/* Properties archive — pagination */
.gallery-pagination {display: flex; justify-content: center; gap: 10px;}


/* Responsive */

@media (min-width: 1025px) {
    .home-header__image {
        animation: none;
    }
}

@media (min-width: 1000px) {
    nav.nav-left #left-menu > li.menu-item-has-children {position: relative;}
    nav.nav-left #left-menu > li.menu-item-has-children > .sub-menu {position: absolute; top: calc(100% + 10px); left: 0; background: var(--light); min-width: 240px; display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: var(--smooth); z-index: 1000; pointer-events: none; box-shadow: 0 3px 6px rgba(0,0,0,0.1);}
    nav.nav-left #left-menu > li.menu-item-has-children.submenu-open > .sub-menu {opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;}
    nav.nav-left #left-menu .sub-menu li {width: 100%;}
    nav.nav-left #left-menu .sub-menu li a {display: block; padding: 14px 22px; color: var(--navy); text-decoration: none; transition: var(--smooth); font-size: 14px; font-weight: 300;}
    nav.nav-left #left-menu .sub-menu li a:hover {background: var(--navy); color: var(--white);}
    nav.nav-left #left-menu > li.menu-item-has-children {position: relative;}
    nav.nav-left #left-menu > li.menu-item-has-children::after {content: ''; position: absolute; left: 0; top: 100%; width: 100%; height: 12px; background: transparent;}
}

@media (max-width: 1450px) {
	.footer-logo {width: calc(10% + 230px);}
}

@media (max-width: 1400px) {
	.price-listing-title {max-width: clamp(300px, 50vw, 600px);}
}

@media (min-width: 1201px) {
	.nav-left, .nav-right {display: flex; width: 100%;}
	.nav-left {justify-content: flex-start;}
	.nav-right {justify-content: flex-end;}
	.nav-primary {display: flex;}
}

@media (max-width: 1200px) {
	.nav-left, .nav-right {display: none;}
	.user-journey-cta-inner {gap: 40px;}
	.nav-wrapper {justify-content: space-between;}
	.site-logo {margin: 0; display: flex; justify-content: space-between; align-items: center;}
	.mobile-toggle {display: flex; z-index: 99999;}
	.mobile-toggle.is-active span {background: var(--white);}
	.nav-primary {display: none;}
}

@media (max-width: 1100px) {
	.accordion-answer p {width: 100%;}
}

@media (max-width: 1024px) {
	.nav-outer {margin-left: 30px; margin-right: 30px;}
}

@media (max-width: 1000px) {
	.split-section {flex-direction: column;}
	.scroll-hint::after {height: 85px; width: 85px;}
	.scroll-hint::before {height: 40px; font-size: 20px;}
	.price-listing-container {padding: 110px 80px 80px;}
	.split-section {gap: 0;}
	.user-journey-cta-inner {flex-direction: column-reverse; gap: 0; justify-content: center;}
	.user-journey-image {padding: 0; width: 100%;}
	.user-journey-image img {max-height: 550px;}
	.footer-top {flex-direction: column; justify-content: center; align-items: center; max-width: 800px;}
	.footer-mobile-container {width: 100%; gap: 20px;}
	.footer-logo {width: 100%; display: flex; justify-content: center; margin-bottom: clamp(20px, 10vw, 60px);}
	.footer-contact {padding-right: unset; margin-left: unset;}
	.find-us, .footer-contact, .footer-menu {box-sizing: border-box;  background: var(--dark-navy); display: flex; justify-content: center; align-items: center; text-align: center; width: 100%;}
	.find-us, .footer-menu {padding: clamp(35px, 5vw, 50px);}
	.find-us {margin: 0 auto 20px;}
	.footer-widget-container {flex-direction: column; gap: 35px;}
	.footer-contact, .footer-menu {flex-direction: column;}
	.footer-menu {max-width: unset;}
	.social-icons {justify-content: center;}
	.contact-email a, .contact-phone a {display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 10px;}
	.contact-list li a i::before {margin-right: 0; background-color: var(--navy);}
	.eyebrow.footer-heading {margin-bottom: 25px;}
	.contact-list {gap: 20px;}
	.faq-layout {grid-template-columns: auto;}
	.side-panel.faq-nav h2 {max-width: 600px;}
	.site-footer:not(.page-id-216 .site-footer):not(.error404 .site-footer)::before {top: -15%;}
	.footer-logo .site-title .logo-name, .footer-logo .site-title .logo-sub {text-align: center;}
	.social-icons li a i {background: var(--navy);}
}

@media (max-width: 900px) {
  .footer-mobile-container {flex-direction: column; max-width: clamp(350px, 60vw, 800px);}
  .find-us, .footer-contact, .footer-menu {width: 100%;}
}

@media (min-width: 900px) {
  .main-nav ul { display: flex; position: static; flex-direction: row; width: auto; border: none; background: none; }
  .menu-toggle { display: none; }
  .mobile-nav-cta { display: none;}
}

@media (max-width: 800px) {
	.price-listing-container {padding: 75px 60px 60px;}
	.footnote {gap: 0;}
	.cards-wrapper .web-card.bg-dark-green {display: none;}
	 .web-cards-inner .text-split__right .global-btn {display: block;}
}

@media (max-width: 768px) {
	.slick-dots {display: none !important;}
}

@media (max-width: 700px) {
	.featured-tiles-title {max-width: clamp(300px, 70vw, 700px);}
	.price-listing-container {padding: 80px 60px 60px;}
	.user-journey-image img {max-height: 450px;}
}

@media (max-width: 650px) {
	.price-listing-title {max-width: clamp(300px, 60vw, 500px);}
}

@media (max-width: 600px) {
  .text-split__item {flex: 1 1 100%;}
  .menu-cta-btn a, .global-btn {padding: 18px 23px;}
  .price-listing-container {padding: 60px 50px 50px;}
  .accordion-question {text-align: left; line-height: 1.6;}
  .accordion-icon {margin-left: 25px; flex-shrink: 0;}
}

@media (max-width: 500px) {
	.featured-tiles-title {max-width: clamp(300px, 95vw, 700px);}
	.price-listing-container {padding: 50px 30px 30px;}
	.faq-accordion-wrapper .accordion-item.accordion-cta .accordion-content {flex-direction: column; align-items: center; text-align: center;}
	.site-info {display: block; font-size: 1.15rem;}
	.footer-top li a, .address-content p {font-size: 13px;}
	.mobile-nav a:not(.mobile-menu-cta > a) {font-size: 23px; padding: 12px 0;}
	.faq-nav-button {padding: 13px 16px; font-size: 10px;}
	.nav-outer {margin-left: 15px; margin-right: 15px;}
	.is-filtered .gallery-filters {padding-top: 100px;}
	.ps-snapshot__inner {grid-template-columns: repeat(1, 1fr)!important;}
}

@media (max-width: 450px) {
	 :root {
    --header-height: 70px;
  }
  .home-header__title-image img {margin-top: 0;}
  .scroll-hint::after {height: 70px; width: 70px; bottom: -55px;}
  .scroll-hint::before {height: 20px; font-size: 17px;}
  .text-split__icon-circle {width: 40px; height: 40px;}
  .text-split__icon-circle i {font-size: 1.35rem;}
  .site-header {height: 70px;}
  .price-listing-container {padding: 40px 20px;}
  .ticket-prices__list {gap: 10px;}
  .ticket-prices__item {padding: 25px;}
  .accordion-answer p {width: 100%;}
  #menu-footer-menu {gap: 10px;}
  .split-text {padding: 20px 0;}
  .accordion-answer .accordion-content {padding: 0 20px 20px;}
  .custom-cursor {display: none;}
  .user-journey-container {padding-left: 0; padding-right: 0; padding-bottom: 0;}
  .footer-logo img {max-width: 100px; max-height: 100px;}
  .read-more {font-size: 11px;}
  .read-more .circle {width: 25px; height: 25px;}
  .read-more .circle .arrow {width: 15px; height: 15px;}
}

/* Property Single Page */
.property-single {font-family: 'Poppins', sans-serif;}
.property-single img {display: block; max-width: 100%; height: auto;}
.ps-actions .read-more {color: var(--navy);}
.ps-container {max-width: 1450px; margin: 0 auto; padding: 0 32px;}
.ps-not-available {font-style: italic; font-weight: 500;}

/* Intro */
.ps-intro {padding-top: 150px;}
.ps-intro__grid {display: grid; grid-template-columns: 1fr 1.05fr; gap: 80px; align-items: start;}
.ps-intro__content {animation: psFadeUp 0.7s ease-out both;}
.ps-status-wrap {margin-bottom: 22px;}
.ps-status {display: inline-flex; align-items: center; gap: 9px; background: var(--light-blue); color: var(--navy); padding: 8px 16px; border-radius: 5px; font-size: 1.15rem; font-weight: 400; letter-spacing: 2px; text-transform: uppercase; white-space: nowrap;}
.ps-status--available {background: #a0cced; color: #04294b;}
.ps-title {font-family: var(--font-title); font-weight: 400; font-size: clamp(3.6rem, 5.2vw, 5.6rem); line-height: 1.05; color: var(--navy); letter-spacing: -0.015em; margin-bottom: 28px;}
.ps-title em {font-style: italic;}
.ps-lede {max-width: 580px;}
.ps-lede p:not(.ps-not-available):last-child {margin-bottom: 0;}
.ps-actions {display: flex; align-items: center; gap: 24px; flex-wrap: wrap;}
.ps-link {color: #04294b; font-size: 1.35rem; font-weight: 500; transition: opacity 0.3s ease-in-out;}
.ps-link:hover {opacity: 0.6;}
.ps-intro__image {animation: psFadeUp 0.9s ease-out 0.15s both;}
.ps-intro__image img {width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 5px;}

@keyframes psFadeUp {from {opacity: 0; transform: translateY(20px);} to {opacity: 1; transform: translateY(0);}}

@media (max-width: 1024px) {
  .ps-intro__grid {grid-template-columns: 1fr; gap: 48px;}
}
@media (max-width: 640px) {
  .ps-container {padding: 0 20px;}
  .ps-intro {padding: 100px 0;}
  .ps-title {font-size: 3.5rem;}
  .ps-lede {font-size: 1.5rem;}
}


/* Snapshot banner */
.ps-snapshot {background: var(--light); padding: 75px 0;}
.ps-snapshot__inner {display: flex; justify-content: space-around; align-items: flex-start; flex-wrap: wrap; gap: 32px 40px;}
.ps-snapshot__item {text-align: center; min-width: 0;}
.ps-snapshot__label {font-size: 1.3rem; letter-spacing: 2px; text-transform: uppercase; color: var(--light-blue); font-weight: 400; margin-bottom: 5px;}
.ps-snapshot__value h3 {font-family: var(--font-title); font-size: clamp(20px, 3vw, 35px); letter-spacing: -0.005em; color: var(--navy); margin: 0; line-height: 1.1;}

@media (max-width: 640px) {
  .ps-snapshot {padding: 36px 0;}
  .ps-snapshot__inner {display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 20px;}
}


/* Property gallery */
.ps-prop-gallery-section__head {margin-bottom: 36px;}

.ps-prop-gallery {display: grid; gap: 25px;}
.ps-prop-gallery--1 {grid-template-columns: minmax(0, 880px); justify-content: center;}
.ps-prop-gallery--2 {grid-template-columns: repeat(2, 1fr);}
.ps-prop-gallery--3 {grid-template-columns: repeat(3, 1fr);}
.ps-prop-gallery--4 {grid-template-columns: repeat(2, 1fr);}
.ps-prop-gallery--5 {grid-template-columns: repeat(6, 1fr);}
.ps-prop-gallery--5 .ps-prop-gallery__item:nth-child(-n+3) {grid-column: span 2;}
.ps-prop-gallery--5 .ps-prop-gallery__item:nth-child(n+4) {grid-column: span 3;}
.ps-prop-gallery--many {grid-template-columns: repeat(3, 1fr);}

.ps-prop-gallery__item {aspect-ratio: 4 / 3; overflow: hidden; border-radius: 5px;}
.ps-prop-gallery__item img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease-out;}
.ps-prop-gallery__item:hover img {transform: scale(1.04);}
.ps-prop-gallery--1 .ps-prop-gallery__item {aspect-ratio: 16 / 10;}

@media (max-width: 1024px) {
  .ps-prop-gallery--3, .ps-prop-gallery--5, .ps-prop-gallery--many {grid-template-columns: repeat(2, 1fr);}
  .ps-prop-gallery--5 .ps-prop-gallery__item:nth-child(-n+3),
  .ps-prop-gallery--5 .ps-prop-gallery__item:nth-child(n+4) {grid-column: auto;}
}
@media (max-width: 640px) {
  .ps-prop-gallery-section {padding: 56px 0;}
  .ps-prop-gallery--1, .ps-prop-gallery--2, .ps-prop-gallery--3, .ps-prop-gallery--4, .ps-prop-gallery--5, .ps-prop-gallery--many {grid-template-columns: 1fr; justify-content: stretch;}
  .ps-prop-gallery--5 .ps-prop-gallery__item:nth-child(-n+3),
  .ps-prop-gallery--5 .ps-prop-gallery__item:nth-child(n+4) {grid-column: auto;}
  .ps-prop-gallery--1 .ps-prop-gallery__item {aspect-ratio: 4 / 3;}
}


/* Other properties */
.ps-other__head {display: flex; justify-content: space-between; align-items: end; margin-bottom: 36px; flex-wrap: wrap; gap: 16px;}
.ps-other__head h2 {color: var(--navy);}
.ps-other__grid {display: grid; gap: 50px;}
.ps-other__grid--1 {grid-template-columns: minmax(0, 380px); justify-content: center;}
.ps-other__grid--2 {grid-template-columns: repeat(2, minmax(0, 380px)); justify-content: center;}
.ps-other__grid--3 {grid-template-columns: repeat(3, 1fr);}

.ps-prop-card {display: block;}
.ps-prop-card__img {aspect-ratio: 4 / 3; border-radius: 5px; overflow: hidden; margin-bottom: 25px; position: relative;}
.ps-prop-card__img img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease-out;}
.ps-prop-card:hover .ps-prop-card__img img {transform: scale(1.04);}
.ps-prop-card__chip {position: absolute; top: 12px; left: 12px; background: var(--light-blue); color: var(--navy); padding: 6px 12px; border-radius: 5px; font-size: 1.05rem; font-weight: 500; letter-spacing: 2px; text-transform: uppercase;}
.ps-prop-card__name {font-family: Georgia, serif; font-weight: 400; font-size: 2rem; color: #04294b; margin: 0 0 6px; letter-spacing: -0.005em;}
.ps-prop-card__name em {font-style: italic;}
.ps-prop-card .card-title, .ps-prop-card p {color: var(--navy);}
.ps-prop-card .card-title {margin-bottom: 10px;}

@media (max-width: 1024px) {
  .ps-other__grid--3 {grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 640px) {
  .ps-other__grid--1, .ps-other__grid--2, .ps-other__grid--3 {grid-template-columns: 1fr;}
}