/* =============================================================
   CONTACT US — css/contact-us.css
   -------------------------------------------------------------
   PORTING-MAP §E, E1. Decision: **restyle**.

   Rewriting was ruled out: the page content carries LocalBusiness
   JSON-LD with PostalAddress, GeoCoordinates, two
   OpeningHoursSpecifications, two ContactPoints and an
   OfferCatalog of five Products. That is the site's primary
   local-SEO signal — INSTRUCTIONS.md §6.

   Restyled rather than ported: v1's file is #0073aa / #00838f /
   #25d366 and Poppins throughout, and its first 30 lines undo
   GeneratePress container widths that this theme never applies.

   Three things worth knowing before touching this file:

   1. **The hero photo is set inline in the page content**
      (`Hero-contact-us-page-v1.webp` as a `background-image` on
      `.contact-hero`). An inline style beats any stylesheet, so
      the photo cannot be swapped or removed from CSS — **except
      with `!important`**, which does beat a plain (non-important)
      inline declaration. `.contact-hero` below overrides it to
      `assets/hero-contact-desktop.webp`, and the 680px block
      overrides it again to `assets/hero-contact-mobile.webp` — a
      520×724 portrait crop supplied pre-framed on the WOW Supplies
      signage. A first (358×480) version matched the phone hero box
      exactly but read as low-resolution once the box grew past 480px
      tall to clear the H1 under the signage; this one has enough
      native resolution to stay sharp at that height. Both ship with
      the theme (git-tracked), not the
      media library — same pattern as `assets/hero-home.webp`.
   2. **The hero scrim is now light, not dark.** v1 put white
      text over a navy scrim; `_mockup/WOW Supplies Contact` ramps
      white in from the left and keeps the copy in ink, which is
      also what the homepage hero does (style.css §9). One hero
      pattern across the site rather than two.
   3. **The Ninja Forms rules are now verified.** Ninja Forms
      3.15.0 was installed locally on 16 Aug 2026 and the
      production database already carried form 1 ("Contact Me"),
      so §5 was checked against real markup — it found one bug,
      see the <select> rule. Rendering only; **submission still
      needs a live test**, since that sends mail.

   0. Page container   1. Hero        2. Contact cards
   3. Help columns     4. Form + info (mockup two-column tail)
   5. Ninja Forms      6. Responsive
   ============================================================= */


/* ==============================================
   0. PAGE CONTAINER
   ============================================== */

/* The content supplies its own <h1> in .contact-hero-inner. */
.entry-header {
	display: none;
}

.entry-content > p:empty {
	display: none;
	margin: 0;
	padding: 0;
}

.contact-section-inner {
	max-width: var(--wows-container);
	margin: 0 auto;
	padding: 0 var(--wows-gutter);
}


/* ==============================================
   1. HERO
   ============================================== */
.contact-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: var(--wows-hero-min);
	overflow: hidden;
	/* Longhands, never the `background` shorthand: the inline style sets
	   background-image, which would win the image layer and leave a
	   shorthand's colour stranded behind it. */
	background-color: var(--wows-tint-1);
	background-size: cover;
	background-position: 70% 50%;
	background-repeat: no-repeat;
	/* Overrides the inline `background-image` in post_content — see §1
	   above. Path is relative to this file: assets/ sits one level up
	   from css/. */
	background-image: url('../assets/hero-contact-desktop.webp') !important;
}

/*
 * The scrim ramps in px, not %, exactly as the mockup specifies — the same
 * reasoning as style.css §9's hero: a percentage ramp slides under the
 * headline as the viewport narrows and the copy loses contrast at mid
 * widths.
 */
.contact-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg,
			var(--wows-white) 0px,
			rgba(255, 255, 255, 0.96) calc(var(--wows-scrim-x) + 420px),
			rgba(255, 255, 255, 0.65) calc(var(--wows-scrim-x) + 620px),
			rgba(255, 255, 255, 0.15) calc(var(--wows-scrim-x) + 800px),
			rgba(255, 255, 255, 0) calc(var(--wows-scrim-x) + 960px));
}

.contact-hero-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: var(--wows-container);
	margin: 0 auto;
	padding: var(--wows-section-xl) var(--wows-gutter);
	animation: wows-rise .6s ease both;
}

/* The copy column, not the section: the scrim clears the left ~520px. */
.contact-hero-inner > * {
	max-width: 560px;
}

.contact-hero-inner h1 {
	font-family: var(--wows-font-display);
	font-size: var(--wows-fs-hero);
	font-weight: 700;
	line-height: var(--wows-lh-hero);
	letter-spacing: var(--wows-ls-hero);
	color: var(--wows-ink);
	margin: 0 0 var(--wows-sp-4);
	text-wrap: balance;
}

.contact-hero-inner p {
	font-size: var(--wows-fs-lede);
	line-height: var(--wows-lh-lede);
	color: var(--wows-text);
	margin: 0 0 var(--wows-sp-8);
}

/* WhatsApp keeps a green identity, on --wows-success rather than v1's raw
   #25d366 (no raw hex — INSTRUCTIONS.md §5). */
.contact-hero-cta {
	display: inline-flex;
	align-items: center;
	gap: var(--wows-sp-1);
	padding: var(--wows-sp-3) var(--wows-sp-8);
	background: var(--wows-success);
	border-radius: var(--wows-r-md);
	font-family: var(--wows-font-display);
	font-size: var(--wows-fs-md);
	font-weight: 600;
	color: var(--wows-white);
	text-decoration: none;
	transition: background var(--wows-t-base), transform var(--wows-t-fast);
}

.contact-hero-cta:hover {
	background: var(--wows-success-text);
	color: var(--wows-white);
	transform: translateY(-2px);
	text-decoration: none;
}


/* ==============================================
   2. CONTACT CARDS
   ============================================== */
.contact-info-section {
	padding: var(--wows-section-lg) 0;
	background: var(--wows-white);
}

.contact-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wows-sp-5);
}

/* Mockup quick-contact card: hairline border, 18px radius, no shadow at
   rest, no coloured top rule. */
.contact-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: var(--wows-white);
	border: 1px solid var(--wows-border);
	border-radius: var(--wows-r-lg);
	padding: var(--wows-sp-8);
	transition: transform var(--wows-t-base), box-shadow var(--wows-t-base),
		border-color var(--wows-t-base);
}

.contact-card:hover {
	transform: translateY(-4px);
	border-color: var(--wows-border-hover);
	box-shadow: var(--wows-shadow-card);
}

/* Was an emoji in the page content; swapped for an inline SVG at render time
   by wows_contact_card_icons(). The font-size stays for the fallback path,
   where an edited span fails to match and the emoji renders as before. */
.contact-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: var(--wows-sp-4);
	background: var(--wows-accent-tint);
	border-radius: var(--wows-r-md);
	color: var(--wows-accent);
	font-size: var(--wows-fs-xl);
	line-height: 1;
}

.contact-card-icon .wows-icon {
	width: 23px;
	height: 23px;
}

.contact-card h3 {
	font-family: var(--wows-font-display);
	font-size: var(--wows-fs-sm);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--wows-ls-eyebrow);
	color: var(--wows-text-muted);
	margin: 0 0 var(--wows-sp-2);
}

/* flex: 1 keeps the three action buttons on one baseline when the address
   card runs longer than the phone card. */
.contact-card p {
	flex: 1;
	font-size: var(--wows-fs-md);
	line-height: var(--wows-lh-body);
	color: var(--wows-text);
	margin: 0 0 var(--wows-sp-5);
}

.contact-card p a {
	display: block;
	color: var(--wows-accent);
	text-decoration: none;
	font-weight: 600;
}

.contact-card p a:hover {
	color: var(--wows-accent-dark);
	text-decoration: underline;
}

.contact-card-action {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: var(--wows-sp-2) var(--wows-sp-6);
	border-radius: var(--wows-r-md);
	font-family: var(--wows-font-display);
	font-size: var(--wows-fs-base);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background var(--wows-t-base), color var(--wows-t-base),
		transform var(--wows-t-fast);
}

.contact-card-action:hover {
	transform: translateY(-1px);
	text-decoration: none;
}

.contact-card-action.whatsapp {
	background: var(--wows-success);
	color: var(--wows-white);
}

.contact-card-action.whatsapp:hover {
	background: var(--wows-success-text);
	color: var(--wows-white);
}

/* v1 gave Directions the teal secondary and Email the blue primary. The
   mockup palette has one accent, so the two are separated by fill weight
   instead: Directions is the quiet outline, Email the solid accent. */
.contact-card-action.directions {
	background: var(--wows-white);
	border: 1px solid var(--wows-border-strong);
	color: var(--wows-ink);
}

.contact-card-action.directions:hover {
	background: var(--wows-surface-2);
	color: var(--wows-ink);
}

.contact-card-action.email-btn {
	background: var(--wows-accent);
	color: var(--wows-white);
}

.contact-card-action.email-btn:hover {
	background: var(--wows-accent-dark);
	color: var(--wows-white);
}


/* ==============================================
   3. HELP COLUMNS ("How Can We Help You?")
   ============================================== */
.contact-about-section {
	padding: 0 0 var(--wows-section-lg);
	background: var(--wows-white);
}

.contact-about-section h2.contact-section-title {
	font-family: var(--wows-font-display);
	font-size: var(--wows-fs-section);
	font-weight: 700;
	line-height: var(--wows-lh-heading);
	letter-spacing: var(--wows-ls-h2);
	color: var(--wows-ink);
	text-align: center;
	margin: 0 0 var(--wows-sp-9);
}

.contact-about-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wows-sp-9);
}

.contact-about-item h3 {
	font-family: var(--wows-font-display);
	font-size: var(--wows-fs-lg);
	font-weight: 600;
	letter-spacing: var(--wows-ls-tight);
	color: var(--wows-ink);
	margin: 0 0 var(--wows-sp-2);
	padding-bottom: var(--wows-sp-2);
	border-bottom: 2px solid var(--wows-accent);
}

.contact-about-item p {
	font-size: var(--wows-fs-base);
	line-height: var(--wows-lh-body);
	color: var(--wows-text);
	margin: 0;
}

.contact-about-item p a {
	color: var(--wows-accent);
	text-decoration: underline;
}

.contact-about-item p a:hover {
	color: var(--wows-accent-dark);
}


/* ==============================================
   4. FORM + INFO — the mockup's two-column tail
   ----------------------------------------------
   Eddy's call, 16 Aug 2026: from the map down,
   follow the mockup — form left, map and opening
   hours stacked right. page-contact-us.php cuts
   the page's content at `.contact-map-section`
   and renders this instead.

   `.contact-map-section` no longer exists in the
   output, so it has no rules here. The iframe
   inside it is re-homed in `.contact-map`.
   ============================================== */
.contact-tail {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: var(--wows-sp-8);
	align-items: start;
	padding-top: var(--wows-sp-9);
	padding-bottom: var(--wows-section-xl);
}

.contact-tail__title {
	font-family: var(--wows-font-display);
	font-size: var(--wows-fs-2xl);
	font-weight: 700;
	letter-spacing: var(--wows-ls-tight);
	color: var(--wows-ink);
	margin: 0 0 var(--wows-sp-1);
}

.contact-tail__sub {
	font-size: var(--wows-fs-base);
	color: var(--wows-text-muted);
	margin: 0 0 var(--wows-sp-7);
}

/* --- Info column ---------------------------------------- */

.contact-info {
	display: flex;
	flex-direction: column;
	gap: var(--wows-sp-5);
}

.contact-info__card {
	background: var(--wows-white);
	border: 1px solid var(--wows-border);
	border-radius: var(--wows-r-lg);
	overflow: hidden;
}

.contact-info__body {
	padding: var(--wows-sp-6);
}

.contact-info__title {
	font-family: var(--wows-font-display);
	font-size: var(--wows-fs-lg);
	font-weight: 700;
	letter-spacing: var(--wows-ls-tight);
	color: var(--wows-ink);
	margin: 0 0 var(--wows-sp-2);
}

.contact-info__address {
	font-style: normal;
	font-size: var(--wows-fs-base);
	line-height: var(--wows-lh-body);
	color: var(--wows-text);
}

.contact-info__link {
	display: inline-block;
	margin-top: var(--wows-sp-3);
	padding: var(--wows-sp-2) var(--wows-sp-4);
	background: var(--wows-accent-tint);
	border-radius: var(--wows-r-sm);
	font-family: var(--wows-font-display);
	font-size: var(--wows-fs-base);
	font-weight: 600;
	color: var(--wows-accent);
	text-decoration: none;
	transition: background var(--wows-t-base);
}

.contact-info__link:hover {
	background: var(--wows-accent-tint-2);
	color: var(--wows-accent-dark);
}

/* --- Map ------------------------------------------------- */

/*
 * Fixed height, not an aspect ratio: the card sits in a narrow column and a
 * ratio would make it tall enough to push the hours card below the fold.
 *
 * Enlarged from 200px on 16 Aug 2026 — at that size the embed was zoomed
 * tight enough that the surrounding streets gave no sense of where Bandar
 * Bukit Puchong actually is. The clamp lets it grow with the viewport while
 * staying inside the column: 360px is roughly where the hours card starts
 * being pushed out of view on a laptop.
 */
.contact-map {
	height: clamp(260px, 26vw, 360px);
	background: var(--wows-surface);
	border-bottom: 1px solid var(--wows-border-soft);
}

.contact-map iframe {
	width: 100%;
	height: 100%;
	border: none;
	display: block;
	/* Desaturated so the map sits behind the page rather than in front of
	   it — Google's default red pins clash with the accent. */
	filter: saturate(0.9);
}

/* --- Opening hours --------------------------------------- */

/* A <dl>, so each row is a term/definition pair rather than two spans —
   the days and times are genuinely a name/value list. */
.contact-hours {
	margin: 0;
}

.contact-hours__row {
	display: flex;
	justify-content: space-between;
	gap: var(--wows-sp-2);
	padding: var(--wows-sp-1) 0;
	border-bottom: 1px solid var(--wows-border-soft);
	font-size: var(--wows-fs-base);
}

.contact-hours__row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.contact-hours__day {
	color: var(--wows-text);
}

.contact-hours__time {
	margin: 0;
	font-weight: 600;
	color: var(--wows-ink);
	text-align: right;
}


/* ==============================================
   5. CONTACT FORM (NINJA FORMS)
   ----------------------------------------------
   Verified against real NF markup — see the header.
   Every selector below is v1's; only the values
   changed. If NF's markup has moved since, these
   silently do nothing, which is why the rules
   are worth re-checking on live rather than
   assuming they carried over.
   ============================================== */
/* The panel is now the left column of .contact-tail, not a centred card in
   a full-width section — hence no max-width and no auto margin. Its heading
   and sub-line are printed by the template (.contact-tail__title /
   __sub), so `.contact-form-section` and `.contact-form-sub` are gone with
   the rest of the discarded tail. */
.contact-form-wrap {
	background: var(--wows-white);
	border: 1px solid var(--wows-border);
	border-radius: var(--wows-r-xl);
	padding: var(--wows-gutter-panel);
}

/*
 * Ninja Forms ships its own stylesheet with high-specificity rules and a
 * lot of !important, which is why v1's overrides carry !important too.
 * They are kept for the same reason — dropping them silently loses the
 * styling on live, where NF is active. Scoped to .contact-form-wrap so
 * nothing leaks to any other form.
 */
.contact-form-wrap .nf-form-cont,
.contact-form-wrap .nf-form-cont * {
	font-family: var(--wows-font-body) !important;
	font-size: var(--wows-fs-base) !important;
}

.contact-form-wrap .nf-form-cont {
	max-width: 100%;
	margin: 0;
}

/* The section already has an <h2>; NF's own title would be a second one. */
.contact-form-wrap .nf-form-title h3 {
	display: none;
}

.contact-form-wrap .nf-field-label label {
	display: block;
	font-family: var(--wows-font-display) !important;
	font-size: var(--wows-fs-base) !important;
	font-weight: 600 !important;
	color: var(--wows-ink) !important;
	margin-bottom: var(--wows-sp-1);
}

.contact-form-wrap .ninja-forms-field,
.contact-form-wrap input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
.contact-form-wrap select,
.contact-form-wrap textarea {
	width: 100%;
	box-sizing: border-box;
	padding: var(--wows-sp-2) var(--wows-sp-4) !important;
	font-family: var(--wows-font-body) !important;
	font-size: var(--wows-fs-md) !important;
	color: var(--wows-ink) !important;
	background: var(--wows-white);
	border: 1px solid var(--wows-border-strong) !important;
	border-radius: var(--wows-r-md) !important;
	transition: border-color var(--wows-t-base), box-shadow var(--wows-t-base);
}

.contact-form-wrap .ninja-forms-field:focus,
.contact-form-wrap input:focus,
.contact-form-wrap select:focus,
.contact-form-wrap textarea:focus {
	border-color: var(--wows-accent) !important;
	box-shadow: var(--wows-focus-ring) !important;
	outline: none !important;
}

.contact-form-wrap textarea.ninja-forms-field {
	min-height: 150px;
	resize: vertical;
}

.contact-form-wrap input[type="button"],
.contact-form-wrap input[type="submit"] {
	background: var(--wows-accent) !important;
	color: var(--wows-white) !important;
	font-family: var(--wows-font-display) !important;
	font-size: var(--wows-fs-md) !important;
	font-weight: 600 !important;
	letter-spacing: var(--wows-ls-wide);
	padding: var(--wows-sp-3) var(--wows-sp-9) !important;
	border: none !important;
	border-radius: var(--wows-r-md) !important;
	cursor: pointer;
	transition: background var(--wows-t-base), transform var(--wows-t-fast);
}

.contact-form-wrap input[type="button"]:hover,
.contact-form-wrap input[type="submit"]:hover {
	background: var(--wows-accent-dark) !important;
	transform: translateY(-1px);
}

.contact-form-wrap .nf-field-container {
	margin-bottom: var(--wows-sp-5);
}

.contact-form-wrap .nf-form-cont .submit-container {
	text-align: center;
}

/*
 * v1 centred the submit button with a `body.page-contact-us` rule. That
 * class is GeneratePress's, not core's — WordPress's own body_class()
 * emits page-id-N and page-template-*, never page-<slug> — so on this
 * theme the rule would match nothing and the button would silently sit
 * left. Re-scoped to the wrapper, which is in the page content and so
 * exists on both themes.
 */
.contact-form-wrap .nf-form-cont .submit-container .nf-field-element {
	display: flex;
	justify-content: center;
}

.contact-form-wrap .nf-error-msg {
	color: var(--wows-error);
	font-size: var(--wows-fs-sm);
	margin-top: 4px;
}

.contact-form-wrap .nf-pass .ninja-forms-field {
	border-color: var(--wows-success) !important;
}

/*
 * Ninja Forms' <select> needed its own rule, found once NF was installed
 * locally (16 Aug 2026) — until then these rules had never been seen against
 * real markup.
 *
 * Two NF defaults win over the shared input rule above: a fixed height that
 * clipped the option text to about two thirds of a line, and a grey fill that
 * made the State dropdown look disabled next to the white text inputs. Height
 * is released to auto and the fill forced, both !important because NF's own
 * stylesheet is equally specific and loads later.
 *
 * appearance is left alone deliberately — stripping it would take the native
 * dropdown arrow with it, and NF does not supply a replacement.
 */
.contact-form-wrap select,
.contact-form-wrap select.ninja-forms-field {
	height: auto !important;
	min-height: 0 !important;
	line-height: var(--wows-lh-body) !important;
	background-color: var(--wows-white) !important;
	color: var(--wows-ink) !important;
}


/* NF's tooltip icon is a Font Awesome glyph; without FA it renders as an
   empty rectangle. v1 hid it, and nothing in v2 loads FA either. */
.contact-form-wrap span.nf-help,
.contact-form-wrap .fa-info-circle {
	display: none !important;
}


/* ==============================================
   6. RESPONSIVE
   ----------------------------------------------
   Theme breakpoints 1040 / 900 / 680.
   ============================================== */
@media (max-width: 1040px) {
	/* The px-ramped scrim is tuned to a 1240px container; below that the
	   copy would sit on the photo. */
	.contact-hero::before {
		background: linear-gradient(90deg,
				var(--wows-white) 0px,
				rgba(255, 255, 255, 0.95) 420px,
				rgba(255, 255, 255, 0.55) 600px,
				rgba(255, 255, 255, 0) 820px);
	}
}

@media (max-width: 900px) {
	/*
	 * Same reasoning as style.css §17's home hero: at this width there is
	 * no horizontal room left for a side-by-side ramp, so it flips
	 * vertical and the copy drops onto the lower part of the photo.
	 * Contact differs from Home in one way — the hero is a background
	 * image on the section, not an <img>, so the height comes from
	 * min-height and padding rather than object-position.
	 */
	.contact-hero {
		align-items: flex-end;
		min-height: 560px;
	}

	.contact-hero::before {
		background: linear-gradient(180deg,
				rgba(255, 255, 255, 0) 0%,
				rgba(255, 255, 255, 0.06) 20%,
				rgba(255, 255, 255, 0.72) 32%,
				rgba(255, 255, 255, 0.97) 42%,
				var(--wows-white) 50%);
	}

	.contact-hero-inner > * {
		max-width: none;
	}

	.contact-cards-grid,
	.contact-about-grid {
		grid-template-columns: 1fr;
		max-width: 480px;
		margin: 0 auto;
	}

	/* Form over info, rather than a 0.75fr column too narrow for a map. */
	.contact-tail {
		grid-template-columns: 1fr;
		max-width: 720px;
	}

	/* Stacked, the card gets the full 720px, so the clamp's vw term stops
	   tracking anything useful — give it a flat height with a bit more
	   room than the sidebar version had. */
	.contact-map {
		height: 320px;
	}
}

@media (max-width: 680px) {
	.contact-hero {
		min-height: 780px;
		/* v3 is a 520×724 portrait crop, already framed on the signage — the
		   v2 358×480 crop was upscaled 1.5x+ into this box and visibly blurred
		   at the height the H1 clearance needs (see min-height history below).
		   At 780px this scales to ~1.08x, near enough to native that it stays
		   sharp. */
		background-image: url('../assets/hero-contact-mobile.webp') !important;
		background-position: 50% 0%;
	}

	/* Px stops, not %, tuned to this fixed 780px height. The v3 crop puts
	   "WOW SUPPLIES SDN. BHD." at ~310-390px natively; at this box's ~1.08x
	   cover scale that lands at ~334-420px. The ramp holds clear past that
	   band and only reaches near-opaque at the H1's actual top (measured:
	   430px), so the signage reads before the fade instead of disappearing
	   under it. */
	.contact-hero::before {
		background: linear-gradient(180deg,
				rgba(255, 255, 255, 0) 0px,
				rgba(255, 255, 255, 0.06) 340px,
				rgba(255, 255, 255, 0.75) 390px,
				rgba(255, 255, 255, 0.94) 430px,
				var(--wows-white) 460px);
	}

	.contact-info-section {
		padding: var(--wows-section) 0;
	}

	.contact-about-section {
		padding-bottom: var(--wows-section);
	}

	.contact-tail {
		padding-bottom: var(--wows-section);
	}

	.contact-form-wrap {
		padding: var(--wows-sp-7) var(--wows-sp-6);
	}
}

/*
 * `cover` (set on `.contact-hero` above, inherited from the base rule)
 * scales by whichever axis is tighter. The 680px block above spans
 * 0-680px; below ~560px that's height (~1.08x, what every px stop in it is
 * calibrated against) and `cover` fills edge to edge with no crop artefact.
 * Above 560px `cover` switches to width and zooms up to 1.31x at 680px,
 * pushing the signage down into the scrim's opaque band — caught by Codex
 * review, confirmed in-browser at 661px (real viewport for a 680px iframe
 * once the scrollbar is subtracted). Pinning the height only in this
 * narrower range keeps the scale correct there; it does mean a visible
 * band of --wows-tint-1 either side once the image (560px wide at this
 * height) is narrower than the container, but that reads as a soft edge
 * against the photo's sky and is a smaller defect than hiding the
 * signage. A separate rule, not nested inside the 680px block above:
 * nested @media isn't supported everywhere.
 */
@media (min-width: 561px) and (max-width: 680px) {
	.contact-hero {
		background-size: auto 780px;
	}
}
