/**
 * The frame around every page: top bar, header and menus, footer grid, 404 page, search form
 * and Gravity Forms. Loaded after theme.css. Every value comes from tokens.css.
 *
 * Mobile first. GeneratePress's phone menu (the hamburger) shows below 1200 px
 * (inc/frame.php), so the header rules switch at 1200 px rather than 900 px.
 */

/* ------------------------------------------------------------------
 * Top bar. Desktop only: the rating line on the left, the office phone on the right.
 * ------------------------------------------------------------------ */

.seymour-top-bar {
	display: none;
}

@media (min-width: 1200px) {
	.seymour-top-bar {
		background: var(--cream);
		border-bottom: 1px solid var(--line);
		display: block;
		font-size: var(--fs-meta);
	}

	.seymour-top-bar__inner {
		align-items: center;
		display: flex;
		gap: var(--space-5);
		justify-content: space-between;
		min-height: 40px;
	}

	.seymour-top-bar p {
		margin: 0;
	}

	.seymour-top-bar a {
		color: var(--navy);
		text-decoration: none;
	}

	.seymour-top-bar a:hover {
		text-decoration: underline;
		text-decoration-color: var(--gold-800);
		text-underline-offset: 0.2em;
	}

	.seymour-top-bar .seymour-phone {
		font-weight: var(--weight-medium);
		min-height: 40px;
	}

	.seymour-top-bar__phone {
		margin-left: auto;
	}
}

/* ------------------------------------------------------------------
 * Header.
 * ------------------------------------------------------------------ */

/* Phones: the logo is at most 40 px tall. */
@media (max-width: 599px) {
	.site-header .site-logo img,
	.site-header .custom-logo {
		height: auto;
		max-height: 40px;
		max-width: none;
		width: auto;
	}

	.site-header .inside-header {
		padding-left: max(var(--gutter), 16px);
		padding-right: max(var(--gutter), 16px);
	}
}

/* The phone glyph and the hamburger: 44 px touch targets, side by side. */
.mobile-menu-control-wrapper {
	align-items: center;
	gap: var(--space-1);
}

.mobile-menu-control-wrapper .menu-bar-items {
	align-items: center;
	display: flex;
}

.mobile-menu-control-wrapper .seymour-header-phone {
	padding-left: 0;
	padding-right: 0;
}

.mobile-menu-control-wrapper .seymour-header-phone .seymour-phone {
	justify-content: center;
	min-width: var(--touch-target);
}

.main-navigation .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle {
	min-height: var(--touch-target);
	min-width: var(--touch-target);
}

.mobile-menu-control-wrapper .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle:hover,
.mobile-menu-control-wrapper .menu-toggle:focus {
	background: transparent;
	color: var(--navy);
}

.main-navigation .menu-toggle .gp-icon svg {
	height: 22px;
	width: 22px;
}

/*
 * The open phone menu: a white panel under the header, one item to a row with hairlines.
 * The arrow beside a parent item is its own button that opens the submenu.
 */
@media (max-width: 1199px) {
	.main-navigation.toggled .main-nav > ul {
		border-top: 1px solid var(--line);
	}

	.main-navigation.toggled .main-nav ul li {
		border-bottom: 1px solid var(--line);
	}

	.main-navigation.toggled .main-nav ul li:last-child {
		border-bottom: 0;
	}

	.main-navigation.toggled .main-nav ul li a {
		font-size: var(--fs-meta);
		line-height: 1.3;
		padding: var(--space-4) max(var(--gutter), 16px);
	}

	.main-navigation.toggled .main-nav ul.sub-menu {
		background: var(--cream);
		border-bottom: 0;
		border-top: 1px solid var(--line);
	}

	.main-navigation.toggled .main-nav ul.sub-menu li a {
		font-size: 16px;
		letter-spacing: 0;
		padding-left: calc(max(var(--gutter), 16px) + var(--space-5));
		text-transform: none;
	}

	.main-navigation.toggled .menu-item-has-children > a {
		padding-right: 0;
	}

	.main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle {
		align-items: center;
		border-left: 1px solid var(--line);
		box-sizing: border-box;
		display: inline-flex;
		justify-content: center;
		margin: calc(-1 * var(--space-4)) 0;
		min-height: 52px;
		padding: 0;
		width: 56px;
	}

	.main-navigation.toggled .main-nav ul li a {
		align-items: center;
		display: flex;
		justify-content: space-between;
	}

	.main-navigation.toggled .main-nav > ul > li[class*="current-menu-"] > a {
		box-shadow: inset 3px 0 0 var(--gold-500);
	}

	.has-inline-mobile-toggle #site-navigation.toggled {
		background: var(--white);
	}

	/* The phone link and the hamburger share one centre line. Below 900 px theme.css shows
	   the phone glyph only; from 900 px there is room for "Office 416-495-4088". */
	.has-inline-mobile-toggle .inside-header {
		align-items: center;
	}

	.mobile-menu-control-wrapper .menu-toggle {
		align-items: center;
		display: inline-flex;
		justify-content: center;
		line-height: 1;
	}
}

/* Desktop: eight words, the logo and nothing else on the line. The office phone is in the top bar. */
@media (min-width: 1200px) {
	.main-navigation .main-nav > ul > li > a {
		padding-left: 10px;
		padding-right: 10px;
	}

	.main-navigation .main-nav > ul > li.menu-item-has-children > a {
		padding-right: 0;
	}

	.main-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle {
		padding-left: 4px;
		padding-right: 10px;
	}

	#site-navigation .seymour-header-phone {
		display: none;
	}

	/* Dropdowns: white, a hairline instead of a shadow, names in sentence case. */
	.main-navigation ul ul {
		border: 1px solid var(--line);
		border-top: 2px solid var(--gold-500);
		box-shadow: none;
		min-width: 230px;
	}

	.main-navigation .main-nav ul ul li a {
		font-size: 15px;
		letter-spacing: 0;
		line-height: 1.35;
		padding: var(--space-3) var(--space-5);
		text-transform: none;
	}

	.main-navigation .main-nav ul ul li:not([class*="current-menu-"]) > a:hover,
	.main-navigation .main-nav ul ul li[class*="current-menu-"] > a {
		background: var(--navy-100);
		color: var(--navy);
	}
}

/* ------------------------------------------------------------------
 * The header in navy and gold (Kaz, October 22, 2026): deep navy with the footer's gold bar
 * along the bottom, the logo turned white as in the footer, menu words in white with gold for
 * the page you're on and on hover. The open phone menu stays a white panel with navy words.
 * ------------------------------------------------------------------ */

.site-header,
.site-header .inside-header,
.site-header .main-navigation,
.site-header .main-navigation .inside-navigation {
	background: var(--footer-bg);
}

.site-header {
	border-bottom: var(--footer-accent-height) solid var(--footer-gold);
}

.site-header .site-logo img,
.site-header .custom-logo {
	filter: brightness(0) invert(1);
}

.mobile-menu-control-wrapper .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle:hover,
.mobile-menu-control-wrapper .menu-toggle:focus,
.mobile-menu-control-wrapper .seymour-header-phone a,
.mobile-menu-control-wrapper .seymour-header-phone .seymour-phone {
	color: var(--white);
}

@media (min-width: 1200px) {
	.main-navigation .main-nav > ul > li > a,
	.main-navigation .main-nav > ul > li > a .dropdown-menu-toggle {
		color: var(--white);
	}

	/* One line: each menu word stays whole, and the menu takes the room beside the logo. */
	.site-header #site-navigation {
		flex: 1 1 auto;
		min-width: 0;
	}

	.main-navigation .main-nav > ul > li > a {
		white-space: nowrap;
	}

	/* The header runs the full width of the screen: the logo at the far left, My account at the
	 * far right, the menu beside My account (Kaz, October 22, 2026). Between 1,200 and 1,400 px
	 * the gaps and the logo step down a little so everything stays on one line. */
	.site-header .inside-header {
		max-width: none;
		padding-left: var(--space-6);
		padding-right: var(--space-6);
	}

	.main-navigation .main-nav > ul > li > a {
		padding-left: 10px;
		padding-right: 10px;
	}

	.main-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle {
		padding-right: 10px;
	}

	.site-header #site-navigation {
		margin-left: var(--space-6);
	}

	.site-header .site-logo img,
	.site-header .custom-logo {
		max-width: 180px;
	}
}

@media (min-width: 1400px) {
	/* More air between the menu words (Kaz, October 22, 2026). */
	.main-navigation .main-nav > ul > li > a {
		padding-left: 14px;
		padding-right: 14px;
	}

	.main-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle {
		padding-right: 14px;
	}

	.site-header #site-navigation {
		margin-left: var(--space-8);
	}

	.site-header .site-logo img,
	.site-header .custom-logo {
		max-width: none;
	}

	.main-navigation .main-nav > ul > li:not(.seymour-nav-signin):hover > a,
	.main-navigation .main-nav > ul > li:not(.seymour-nav-signin) > a:focus-visible,
	.main-navigation .main-nav > ul > li:not(.seymour-nav-signin)[class*="current-menu-"] > a {
		background: transparent;
		color: var(--footer-gold);
	}
}

/* The menu spans the header, so My account reaches the right edge on wide screens. */
@media (min-width: 1200px) {
	.site-header .main-navigation .inside-navigation {
		max-width: none;
		padding: 0;
	}
}

/* A laptop just over the menu's breakpoint: tighter gaps and a smaller logo keep one line. */
@media (min-width: 1200px) and (max-width: 1279px) {
	.main-navigation .main-nav > ul > li > a {
		padding-left: 7px;
		padding-right: 7px;
	}

	.main-navigation .main-nav > ul > li.menu-item-has-children > a .dropdown-menu-toggle {
		padding-right: 7px;
	}

	.site-header .site-logo img,
	.site-header .custom-logo {
		max-width: 150px;
	}

	.site-header #site-navigation {
		margin-left: var(--space-4);
	}
}

/* The open phone menu on navy (Kaz, October 22, 2026): white words, faint white hairlines, a
 * slightly lighter navy for submenus, gold for the page you're on and for My account. */
@media (max-width: 1199px) {
	.main-navigation.toggled .main-nav ul li a,
	.main-navigation.toggled .main-nav ul li .dropdown-menu-toggle {
		color: var(--white);
	}

	.main-navigation.toggled .main-nav > ul,
	.main-navigation.toggled .main-nav ul li,
	.main-navigation.toggled .main-nav ul.sub-menu,
	.main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle {
		border-color: rgba(255, 255, 255, 0.14);
	}

	.has-inline-mobile-toggle #site-navigation.toggled,
	.main-navigation.toggled .main-nav ul ul {
		background: var(--footer-bg);
	}

	.main-navigation.toggled .main-nav ul.sub-menu {
		background: rgba(255, 255, 255, 0.05);
	}

	.main-navigation.toggled .main-nav ul li[class*="current-menu-"] > a,
	.main-navigation.toggled .main-nav ul li a:hover,
	.main-navigation.toggled .main-nav ul li.seymour-nav-signin > a {
		color: var(--footer-gold);
	}
}

/* Pages that open on a full-width photo meet the navy header with no white strip. Text pages
 * (the blog, the privacy policy) keep their space. */
.single-listing .site-content,
.single-neighbourhood .site-content,
.seymour-idx-page .site-content {
	padding-top: 0;
}

/* ------------------------------------------------------------------
 * Footer photo: the skyline photo at 15% behind the navy part of the footer (grid and bottom
 * bar, wrapped by inc/frame.php). The trees start 39% of the way down the image, so the layer
 * is pinned at 55% of the navy's height and pulled up by 39% of its own height: the trees fill
 * the bottom 45% of the footer, with the skyline just above them. It fades in from the top-left corner and along its
 * top edge. The URL
 * comes from inc/frame.php; with no photo the footer is plain navy.
 * ------------------------------------------------------------------ */

.seymour-footer-navy {
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.seymour-footer-navy::before {
	background: var(--footer-photo, none) center top / cover no-repeat;
	content: "";
	height: max(56.25vw, 560px);
	left: 0;
	/* Two fades, both applied: from the top-left corner, and along the top edge so the sky never
	 * shows a hard line. */
	-webkit-mask-composite: source-in;
	-webkit-mask-image: linear-gradient(135deg, transparent 0%, #000 55%), linear-gradient(to bottom, transparent 0%, #000 30%);
	mask-composite: intersect;
	mask-image: linear-gradient(135deg, transparent 0%, #000 55%), linear-gradient(to bottom, transparent 0%, #000 30%);
	opacity: var(--footer-photo-opacity);
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 55%;
	transform: translateY(-39%);
	z-index: -1;
}

/* ------------------------------------------------------------------
 * Footer grid, above GeneratePress's footer bar. It sits on the footer's navy (theme.css),
 * with the gold accent bar along its top edge.
 * ------------------------------------------------------------------ */

.seymour-footer-main {
	background: transparent;
	color: var(--white);
	font-size: var(--fs-meta);
	padding-top: var(--space-8);
	position: relative;
}

.seymour-footer-main::before {
	background: var(--footer-accent);
	content: "";
	height: var(--footer-accent-height);
	inset: 0 0 auto;
	position: absolute;
}

.seymour-footer-main__grid {
	display: grid;
	gap: var(--space-6) var(--grid-gap);
	grid-template-columns: 1fr;
}

@media (min-width: 600px) {
	.seymour-footer-main__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.seymour-footer-main__grid {
		grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	}
}

.seymour-footer-main__col > :last-child {
	margin-bottom: 0;
}

.seymour-footer-main__wordmark {
	display: inline-block;
	margin-bottom: var(--space-4);
}

.site-footer .seymour-footer-main__wordmark {
	text-decoration: none;
}

/* The navy logo, drawn white for the navy footer. */
.seymour-footer-main__logo {
	display: block;
	filter: brightness(0) invert(1);
	height: auto;
	width: 200px;
}

.seymour-footer-main__name {
	color: var(--white);
	font-family: var(--font-serif);
	font-size: var(--fs-h3);
	font-variation-settings: var(--font-serif-settings);
	font-weight: var(--weight-medium);
}

.seymour-footer-main__tagline {
	color: var(--white);
	font-family: var(--font-serif);
	font-size: 19px;
	font-style: normal;
	text-align: center; /* the two lines centred on each other (Kaz, October 22, 2026) */
	width: fit-content;
	font-variation-settings: var(--font-serif-settings);
	line-height: var(--lh-heading);
	margin: 0;
	max-width: 30ch;
}

.seymour-footer-main__lead {
	white-space: nowrap;
}

.seymour-footer-main__accent {
	color: var(--footer-gold);
	display: block;
	font-style: italic;
}

.seymour-footer-main__heading {
	border-bottom: 1px solid rgba(201, 168, 76, 0.5);
	color: var(--footer-gold);
	font-family: var(--font-sans);
	font-size: var(--fs-eyebrow);
	font-variation-settings: normal;
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-eyebrow);
	line-height: 1.3;
	margin: 0 0 var(--space-4);
	padding-bottom: var(--space-2);
	text-transform: uppercase;
}

.seymour-footer-main__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.seymour-footer-main__list li {
	margin: 0;
}

.seymour-footer-main__list a,
.seymour-footer-main__contact a {
	display: inline-flex;
	min-height: 32px;
	align-items: center;
}

.site-footer .seymour-footer-main a {
	text-decoration: none;
}

.site-footer .seymour-footer-main a:hover {
	color: var(--footer-gold);
	text-decoration: underline;
	text-decoration-color: var(--footer-gold);
	text-underline-offset: 0.2em;
}

.seymour-footer-main__all {
	margin-top: var(--space-2);
}

.site-footer .seymour-footer-main__all a {
	color: var(--footer-gold);
}

.seymour-footer-main__contact {
	display: flex;
	flex-direction: column;
	font-style: normal;
	gap: var(--space-1);
}

.seymour-footer-main__address {
	margin-bottom: var(--space-2);
}

.seymour-footer-main .seymour-phone {
	color: var(--white);
	gap: var(--space-1);
}

.seymour-footer-main .seymour-phone__label {
	color: var(--navy-100);
}

.seymour-footer-main .seymour-phone__label::after {
	content: ":";
}

.seymour-footer-main__email {
	overflow-wrap: anywhere;
}

.seymour-footer-main__list--social {
	display: grid;
	gap: 0 var(--space-4);
	grid-template-columns: repeat(2, max-content);
}

.seymour-footer-main__reviews {
	margin: var(--space-4) 0 0;
}

.seymour-footer-main__bottom {
	margin-top: var(--space-7);
	padding-bottom: var(--space-2);
}

.seymour-footer-main__menu-nav {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding-top: var(--space-4);
}

.seymour-footer-main__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--space-5);
	list-style: none;
	margin: 0;
	padding: 0;
}

.seymour-footer-main__menu li {
	margin: 0;
}

.seymour-footer-main__menu a {
	align-items: center;
	display: inline-flex;
	min-height: var(--touch-target);
}

/*
 * The footer bar under the grid keeps the brokerage line and the copyright. The grid already
 * shows the address, phones and email, so the bar's own contact line steps aside when the grid is there.
 */
.seymour-footer-main ~ .site-info .seymour-footer-info__contact {
	display: none;
}

/* The bar lines up with the grid's edges. */
.seymour-footer-main ~ .site-info .inside-site-info {
	justify-content: flex-start;
	max-width: var(--container);
	padding-left: max(var(--gutter), 16px);
	padding-right: max(var(--gutter), 16px);
	padding-top: var(--space-4);
}

/* ------------------------------------------------------------------
 * Footer newsletter: email beside the button from 600 px, the consent underneath.
 * ------------------------------------------------------------------ */

.seymour-footer-newsletter .gform_wrapper .gform_footer .gform_button {
	width: 100%;
}

@media (min-width: 600px) {
	.seymour-footer-newsletter .gform_wrapper form {
		align-items: end;
		column-gap: var(--space-3);
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.seymour-footer-newsletter .gform_wrapper form > .gform-body,
	.seymour-footer-newsletter .gform_wrapper form > .gform-body > .gform_fields {
		display: contents;
	}

	.seymour-footer-newsletter .gform_wrapper form > *,
	.seymour-footer-newsletter .gform_wrapper .gform_fields > .gfield {
		grid-column: 1 / -1;
	}

	.seymour-footer-newsletter .gform_wrapper .gform_fields > .gfield--type-email {
		grid-column: 1;
		grid-row: 1;
	}

	.seymour-footer-newsletter .gform_wrapper form > .gform_footer {
		grid-column: 2;
		grid-row: 1;
		margin: 0;
		padding: 0;
	}

	.seymour-footer-newsletter .gform_wrapper .gform_footer .gform_button {
		width: auto;
	}

	.seymour-footer-newsletter .gform_wrapper .gform_fields > .gfield--type-consent {
		margin-top: var(--space-4);
	}

	.seymour-footer-newsletter .gform_wrapper .gform_validation_errors {
		margin-bottom: var(--space-4);
	}
}

/* From 900 px the consent line runs wider, so it takes two lines, while the email box keeps its
 * size beside the button (Kaz, October 22, 2026). */
@media (min-width: 900px) {
	.seymour-footer-newsletter .gform_wrapper {
		max-width: 1000px;
	}

	.seymour-footer-newsletter .gform_wrapper form {
		grid-template-columns: minmax(0, 520px) auto 1fr;
	}
}

/* ------------------------------------------------------------------
 * Gravity Forms. Inputs 48 px tall with 1.5 px lines and 2 px corners, labels above,
 * the consent text in meta size with no scroll box. Colours come from inc/frame.php.
 * ------------------------------------------------------------------ */

.gform_wrapper.gform-theme--framework {
	--gf-font-family-base: var(--font-sans);
	--gf-font-size-primary: var(--fs-body);
	--gf-color-danger: var(--error);
	--gf-ctrl-size-lg: var(--input-height);
	--gf-ctrl-border-width: var(--border-button);
	--gf-ctrl-shadow: none;
	--gf-ctrl-padding-x: var(--space-3);
	--gf-ctrl-outline-color-focus: var(--gold-500);
	--gf-ctrl-outline-width-focus: 2px;
	--gf-ctrl-outline-offset: 2px;
	--gf-ctrl-btn-size-lg: var(--button-height);
	--gf-ctrl-btn-padding-x-lg: var(--space-5);
	--gf-ctrl-btn-font-size-lg: var(--fs-button);
	--gf-ctrl-btn-shadow: none;
	--gf-ctrl-btn-bg-color-hover-primary: var(--footer-gold); /* navy buttons turn gold on hover (Kaz, October 22, 2026) */
	--gf-ctrl-btn-border-color-hover-primary: var(--footer-gold);
	--gf-ctrl-btn-color-hover-primary: var(--footer-bg);
	--gf-ctrl-desc-max-height-consent: none;
	--gf-ctrl-desc-border-width-consent: 0;
	--gf-form-gap-x: var(--grid-gap);
	--gf-form-gap-y: var(--space-5);
}

.gform_wrapper.gform-theme--framework .gfield_label,
.gform_wrapper.gform-theme--framework .gform-field-label {
	font-family: var(--font-sans);
}

.gform_wrapper.gform-theme--framework .gfield input:focus,
.gform_wrapper.gform-theme--framework .gfield select:focus,
.gform_wrapper.gform-theme--framework .gfield textarea:focus {
	border-color: var(--navy);
}

.gform_wrapper.gform-theme--framework .gform_footer .gform_button {
	border: var(--border-button) solid var(--navy);
	border-bottom: var(--footer-accent-height) solid var(--footer-gold); /* the gold band, the standard (Kaz, October 22, 2026) */
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-button);
}

.gform_wrapper.gform-theme--framework .gform_footer .gform_button:hover {
	border-color: var(--footer-gold);
}

/* "(Required)" in grey after the label, not red. */
.gform_wrapper.gform-theme--framework .gfield_required_text {
	color: var(--grey-600);
	font-size: var(--fs-meta);
	font-weight: var(--weight-regular);
}

/* First name and last name side by side from 600 px (inc/frame.php adds the class). */
@media (min-width: 600px) {
	.gform_wrapper.gform-theme--foundation .gform_fields > .gfield.seymour-field--half {
		grid-column: span 6;
	}
}

/* The CASL consent: the box and its sentence, then the supporting text and privacy link, readable. */
.gform_wrapper.gform-theme--framework .ginput_container_consent {
	align-items: flex-start;
	display: flex;
	gap: var(--space-3);
}

.gform_wrapper.gform-theme--framework .ginput_container_consent input[type="checkbox"] {
	flex: none;
	margin-top: 2px;
}

.gform_wrapper.gform-theme--framework .gfield_consent_label {
	color: var(--ink);
	font-size: 15px;
	font-weight: var(--weight-regular);
	line-height: 1.45;
}

.gform_wrapper.gform-theme--framework .gfield_consent_description {
	margin-top: var(--space-2);
}

.gform_wrapper.gform-theme--framework .gfield_consent_description_text {
	color: var(--grey-600);
	font-size: var(--fs-meta);
	line-height: 1.5;
	padding: 0 0 0 calc(22px + var(--space-3) * 2);
}

.gform_wrapper.gform-theme--framework .gfield_consent_description_text a {
	color: var(--navy);
	text-decoration: underline;
	text-decoration-color: var(--navy);
	text-underline-offset: 0.2em;
}

.gform_wrapper.gform-theme--framework .gfield_consent_description_text a:hover {
	text-decoration-color: var(--gold-800);
}

.gform_wrapper.gform-theme--framework .gfield_validation_message,
.gform_wrapper.gform-theme--framework .validation_message {
	font-size: var(--fs-meta);
}

/* ------------------------------------------------------------------
 * Search form: label above, field and button on one line.
 * ------------------------------------------------------------------ */

.seymour-search-form {
	display: block;
	max-width: 560px;
}

.seymour-search-form__row {
	display: flex;
	gap: var(--space-2);
}

.seymour-search-form__field {
	flex: 1 1 auto;
	min-width: 0;
}

.seymour-search-form__button {
	flex: none;
}

/* ------------------------------------------------------------------
 * 404 page.
 * ------------------------------------------------------------------ */

.seymour-404 {
	padding-bottom: var(--space-section);
	padding-top: var(--space-block);
}

.seymour-404__title {
	color: var(--navy);
	font-size: var(--fs-h1);
	font-weight: var(--weight-medium);
	line-height: var(--lh-tight);
	margin: 0 0 var(--space-4);
	max-width: 18ch;
}

.seymour-404__lead {
	color: var(--ink);
	font-size: var(--fs-lead);
	max-width: var(--measure);
}

.seymour-404__search {
	margin: var(--space-6) 0;
}

.seymour-404__links ul {
	border-top: 1px solid var(--line);
	list-style: none;
	margin: 0 0 var(--space-6);
	max-width: 560px;
	padding: 0;
}

.seymour-404__links li {
	border-bottom: 1px solid var(--line);
	margin: 0;
}

.seymour-404__links .seymour-link-arrow {
	justify-content: space-between;
	min-height: 52px;
	width: 100%;
}

.seymour-404__call {
	font-size: var(--fs-body);
	margin: 0;
}

.seymour-404__call .seymour-phone {
	font-weight: var(--weight-medium);
}

/* The Google badge and rating in the footer (Kaz, October 22, 2026): the badge
 * on the navy with no tile behind it, the rating in white beside it. */
.seymour-footer-main .seymour-review-line.seymour-footer-main__google {
	font-size: var(--fs-meta);
	margin: var(--space-5) 0 0;
}


.seymour-footer-main__google .seymour-review-line__link,
.seymour-footer-main__google .seymour-review-line__text {
	color: var(--white);
	white-space: nowrap;
}

.seymour-footer-main__google .seymour-review-line__link:hover .seymour-review-line__text,
.seymour-footer-main__google .seymour-review-line__link:focus-visible .seymour-review-line__text {
	color: var(--footer-gold);
}

/* The gold band on form buttons (the standard, Kaz, October 22, 2026). */
body .gform_wrapper.gform-theme--framework .gform_footer .gform_button {
	/* Gravity Forms' own button rule is more specific than any theme rule can be, so the band
	 * needs !important here. */
	border-bottom: var(--footer-accent-height) solid var(--footer-gold) !important;
}

/* Form buttons in the deep navy of every other button on the site (Kaz, October 23, 2026), not
 * the lighter brand navy Gravity Forms is given by default. */
.gform_wrapper.gform-theme--framework {
	--gf-ctrl-btn-bg-color-primary: var(--footer-bg);
	--gf-ctrl-btn-border-color-primary: var(--footer-bg);
}

body .gform_wrapper.gform-theme--framework .gform_footer .gform_button {
	background-color: var(--footer-bg);
}

body .gform_wrapper.gform-theme--framework .gform_footer .gform_button:hover {
	background-color: var(--footer-gold);
	color: var(--footer-bg);
}

/* The gold buttons on navy keep their gold. */
body .seymour-l3-contact .gform_wrapper.gform-theme--framework .gform_footer .gform_button {
	background-color: var(--footer-gold);
}

body .seymour-l3-contact .gform_wrapper.gform-theme--framework .gform_footer .gform_button:hover {
	background-color: var(--gold-hover);
}

/* The tagline centred under the logo (Kaz, October 23, 2026): the brand column is as wide as the
 * logo, and both sit on its centre line. */
.seymour-footer-main__col--brand {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-self: start;
	width: fit-content;
}

.seymour-footer-main__col--brand .seymour-footer-main__tagline {
	margin-left: auto;
	margin-right: auto;
}
