/*
Theme Name: Haas Marketing
Theme URI: https://haasmarketing.com
Author: Haas Marketing
Description: Custom editorial block theme for Haas Marketing — black, white and blue, with serif display type, a Case Studies section, and ready-made Home, Services, About and Blog layouts.
Version: 1.9.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: haas-marketing
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--sky); color: var(--wp--preset--color--ink); }

/* Italic accent words inside headings: "Marketing with <em>a plan</em>" */
:where(h1, h2, h3, h4, .wp-block-post-title) em {
	font-style: italic;
	color: var(--wp--preset--color--blue);
}
:where(.has-ink-background-color, .has-navy-background-color, .has-blue-background-color) :where(h1, h2, h3, h4) em {
	color: var(--wp--preset--color--sky);
}

/* Small uppercase label */
.eyebrow,
.eyebrow a {
	font-size: var(--wp--preset--font-size--xs) !important;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
}
.eyebrow { margin-bottom: 0.25rem; }

.lede { font-size: var(--wp--preset--font-size--large); line-height: 1.55; max-width: 34rem; }
.muted { color: var(--wp--preset--color--slate); }

/* Section rhythm */
.haas-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.haas-section-tight { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.haas-section > .wp-block-group,
.haas-section-tight > .wp-block-group { margin-top: 0; }

/* Section heading row: title left, link right */
.haas-section-head {
	align-items: flex-end;
	gap: 1.5rem;
	margin-bottom: 2rem;
}
.haas-section-head h2 { margin: 0; }

/* ---------- Header ---------- */
.haas-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.admin-bar .haas-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .haas-header { top: 46px; } }
.haas-header-inner { padding-top: 1.1rem; padding-bottom: 1.1rem; }
.haas-brand { gap: 0.6rem; }
.haas-mark {
	display: inline-block;
	width: 22px; height: 22px;
	border: 2px solid var(--wp--preset--color--ink);
	border-radius: 50%;
	position: relative;
	flex: none;
}
.haas-mark::after {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background: var(--wp--preset--color--blue);
}
.haas-header .wp-block-navigation a:hover { color: var(--wp--preset--color--blue); }
.haas-header .wp-block-button__link { padding: 0.75rem 1.2rem; }
@media (max-width: 781px) {
	.haas-header .haas-header-cta { display: none; }
}

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.wp-block-button__link::after { content: "  →"; white-space: pre; }
.wp-block-button.no-arrow .wp-block-button__link::after { content: none; }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1.5px solid currentColor;
	color: inherit;
}
.wp-block-button.is-style-arrow-link .wp-block-button__link {
	background: transparent !important;
	color: inherit !important;
	padding: 0 0 0.35rem;
	border-bottom: 1.5px solid currentColor;
	font-weight: 600;
}
.wp-block-button.is-style-arrow-link .wp-block-button__link:hover { color: var(--wp--preset--color--blue) !important; }
.wp-block-button.is-style-sky .wp-block-button__link,
.btn-sky .wp-block-button__link {
	background: var(--wp--preset--color--sky);
	color: var(--wp--preset--color--ink);
}
.btn-sky .wp-block-button__link:hover { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); }

/* ---------- Hero ---------- */
.haas-hero { gap: 0 !important; margin-top: var(--wp--preset--spacing--40); }
.haas-hero > .wp-block-column { margin: 0 !important; }
.haas-hero-copy {
	padding: clamp(2rem, 5vw, 4.5rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.haas-hero-copy h1 { margin-top: 0.75rem; margin-bottom: 1.5rem; }
.haas-hero-copy h1 em { display: inline; }
.haas-hero-art { position: relative; min-height: 420px; }
.haas-hero-art .wp-block-image { position: absolute !important; inset: 0; margin: 0 !important; height: 100%; width: 100%; max-width: none; }
.haas-hero-art .wp-block-image img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: center; display: block; }

/* Round rotating badge, like a sticker on the hero */
.haas-badge {
	position: absolute;
	left: -52px;
	top: 44px;
	width: 116px; height: 116px;
	margin: 0 !important;
	border-radius: 50%;
	background: var(--wp--preset--color--sky);
	color: var(--wp--preset--color--ink);
	display: flex; align-items: center; justify-content: center;
	text-align: center;
	font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
	font-size: 0.72rem !important;
	line-height: 1.25;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transform: rotate(-14deg);
	box-shadow: 0 10px 30px rgba(52, 70, 95, 0.16);
	z-index: 2;
}
@media (max-width: 781px) {
	.haas-hero-art { min-height: 320px; }
	.haas-badge { left: auto; right: 14px; top: 14px; width: 92px; height: 92px; font-size: 0.62rem !important; }
}

/* ---------- Industry tiles ---------- */
.haas-tiles { gap: 12px !important; }
.haas-tile {
	aspect-ratio: 3 / 4;
	padding: 1.25rem !important;
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
	transition: transform .25s ease;
	overflow: hidden;
	position: relative;
}
.haas-tile:hover { transform: translateY(-4px); }
.haas-tile > * { margin: 0 !important; }
.haas-tile .haas-tile-num { font-family: var(--wp--preset--font-family--serif); font-size: 1.1rem; opacity: 0.6; }
.haas-tile h3 { font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1; }
.haas-tile .eyebrow { opacity: 0.8; margin-top: 0.5rem !important; }
@media (max-width: 1000px) {
	.haas-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
	.haas-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.haas-tile { aspect-ratio: 1 / 1; }
}

/* ---------- Cards ---------- */
.is-style-card,
.haas-card {
	border: 1px solid var(--wp--preset--color--line);
	padding: clamp(1.5rem, 3vw, 2.25rem) !important;
	background: var(--wp--preset--color--paper);
	transition: border-color .2s ease, transform .2s ease;
}
.is-style-card:hover,
.haas-card:hover { border-color: var(--wp--preset--color--ink); transform: translateY(-3px); }
.haas-card h3 { font-size: 2rem; margin-top: 0.75rem; margin-bottom: 0.75rem; }
.haas-card .haas-card-icon {
	width: 44px; height: 44px; margin: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--sky);
	color: var(--wp--preset--color--blue);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.3rem;
}
.haas-grid { gap: 16px !important; }
@media (max-width: 900px) {
	.haas-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
	.haas-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Platform chips */
.haas-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 1rem 0 0; padding: 0; list-style: none; }
.haas-chips li {
	border: 1px solid currentColor;
	border-radius: 999px;
	padding: 0.3rem 0.8rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	margin: 0;
}
.has-ink-background-color .haas-chips li,
.has-navy-background-color .haas-chips li { border-color: rgba(255,255,255,0.35); }

/* ---------- Promo banner ---------- */
.haas-banner { gap: 0 !important; }
.haas-banner > .wp-block-column { margin: 0 !important; }
.haas-banner-copy { padding: clamp(2rem, 5vw, 4.5rem); display: flex; flex-direction: column; justify-content: center; }
.haas-banner-side {
	padding: clamp(2rem, 5vw, 4.5rem);
	display: flex; flex-direction: column; justify-content: center;
	background-image: radial-gradient(circle at 85% 20%, rgba(101, 131, 171, 0.45), transparent 55%);
}
.haas-banner-side .haas-channel {
	display: flex; justify-content: space-between; align-items: baseline;
	border-bottom: 1px solid rgba(255,255,255,0.18);
	padding: 0.9rem 0;
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	line-height: 1.1;
}
.haas-banner-side .haas-channel span {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.7;
}

/* ---------- Stats ---------- */
.haas-stat { border-top: 1.5px solid var(--wp--preset--color--ink); padding-top: 1rem; }
.haas-stat .haas-stat-num {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(3rem, 6vw, 4.5rem);
	line-height: 1;
	margin: 0;
}
.haas-stat .haas-stat-num em { color: var(--wp--preset--color--blue); }

/* ---------- Process steps ---------- */
.haas-step { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.25rem; }
.haas-step .haas-step-num, .haas-pillar .haas-step-num { font-family: var(--wp--preset--font-family--serif); font-style: italic; color: var(--wp--preset--color--blue); font-size: 2.5rem; line-height: 1; margin: 0; }
.haas-step h3 { font-size: 1.8rem; margin: 0.75rem 0 0.5rem; }

/* ---------- Service rows (Services page) ---------- */
.haas-service-row {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.haas-service-row .haas-service-num { font-family: var(--wp--preset--font-family--serif); font-style: italic; color: var(--wp--preset--color--blue); font-size: 1.4rem; margin: 0; }
.haas-service-row h2 { font-size: clamp(2.2rem, 4vw, 3.2rem); margin-top: 0.25rem; }
.haas-service-row ul:not(.haas-chips) { padding-left: 1.1rem; }
.haas-service-row ul:not(.haas-chips) li { margin-bottom: 0.4rem; }

/* ---------- Posts & case study grids ---------- */
.haas-posts .wp-block-post { display: flex; flex-direction: column; gap: 0.6rem; }
.haas-posts .wp-block-post > * { margin: 0; }
.haas-posts .wp-block-post-featured-image { overflow: hidden; margin-bottom: 0.6rem !important; background: var(--wp--preset--color--mist); }
.haas-posts .wp-block-post-featured-image img { transition: transform .5s ease; }
.haas-posts .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.haas-posts .wp-block-post-title { font-size: clamp(1.6rem, 2.4vw, 2rem); line-height: 1.08; }
.haas-posts .wp-block-post-title a:hover { color: var(--wp--preset--color--blue); }
.haas-posts .wp-block-post-excerpt__excerpt { color: var(--wp--preset--color--slate); font-size: var(--wp--preset--font-size--small); }
.haas-posts .wp-block-post-excerpt__more-text { margin-top: 0.5rem; }
.haas-posts .wp-block-post-date,
.haas-posts .wp-block-post-terms { color: var(--wp--preset--color--blue); }
.haas-posts .wp-block-post-terms a { color: inherit; }
@media (max-width: 900px) {
	.haas-posts .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.haas-posts .wp-block-post-template.is-layout-grid { grid-template-columns: minmax(0, 1fr); }
}
.haas-empty { border: 1px dashed var(--wp--preset--color--line); padding: 2rem; text-align: center; color: var(--wp--preset--color--slate); }

.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); font-weight: 600; }
.wp-block-query-pagination a { text-decoration: none; }
.wp-block-query-pagination .current { color: var(--wp--preset--color--blue); }

/* ---------- Single posts / case studies ---------- */
.haas-single-head { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--40); }
.haas-single-head .wp-block-post-title { font-size: var(--wp--preset--font-size--xx-large); }
.haas-single-image img { width: 100%; }
.haas-prose > * + h2 { margin-top: 2.5rem; }
.haas-prose h2 { font-size: clamp(2rem, 3.4vw, 2.8rem); }
.haas-prose h3 { font-size: 1.8rem; }
.haas-prose a { color: var(--wp--preset--color--blue); }
.haas-prose blockquote { border-left: 3px solid var(--wp--preset--color--blue); padding-left: 1.5rem; margin-left: 0; }

/* Case study results strip */
.haas-results { gap: 16px !important; }
.haas-result { background: var(--wp--preset--color--mist); padding: 1.5rem !important; }
.haas-result .haas-stat-num { font-family: var(--wp--preset--font-family--serif); font-size: 3rem; line-height: 1; margin: 0; color: var(--wp--preset--color--blue); }

/* ---------- About ---------- */
.haas-portrait img { width: 100%; height: auto; display: block; }
.haas-industry-list { columns: 2; column-gap: 2rem; padding: 0; list-style: none; }
.haas-industry-list li { break-inside: avoid; padding: 0.6rem 0; border-bottom: 1px solid var(--wp--preset--color--line); font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; line-height: 1.2; }
@media (max-width: 600px) { .haas-industry-list { columns: 1; } }

/* ---------- Footer ---------- */
.haas-footer a { color: inherit; text-decoration: none; }
.haas-footer a:hover { color: var(--wp--preset--color--sky); }
.haas-footer .haas-footer-cta h2 { font-size: clamp(2.8rem, 6vw, 5rem); margin: 0; }
.haas-footer .haas-footer-links p { margin: 0 0 0.45rem; }
.haas-footer .haas-footer-bottom { border-top: 1px solid rgba(255,255,255,0.15); padding-top: 1.5rem; margin-top: var(--wp--preset--spacing--50); font-size: var(--wp--preset--font-size--xs); opacity: 0.7; }
.haas-footer .wp-block-button__link { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); }
.haas-footer .wp-block-button__link:hover { background: var(--wp--preset--color--sky); color: var(--wp--preset--color--ink); }

/* ---------- 404 ---------- */
.haas-404 h1 { font-size: clamp(5rem, 16vw, 12rem); }

/* Stats wrap to 2x2 on phones */
@media (max-width: 600px) {
	.wp-block-columns.is-not-stacked-on-mobile.haas-stats { flex-wrap: wrap !important; row-gap: 1.5rem; }
	.wp-block-columns.is-not-stacked-on-mobile.haas-stats > .wp-block-column { flex-basis: calc(50% - 1rem) !important; flex-grow: 0; }
}

/* ---------- Differentiator ---------- */
.haas-diff-intro h2 { margin-top: 0.5rem; }
.haas-pillar {
	display: grid !important;
	grid-template-columns: 4.5rem 1fr;
	gap: 1rem;
	border-top: 1px solid var(--wp--preset--color--line);
	padding: 1.75rem 0;
	margin: 0 !important;
}
.haas-pillar:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
.haas-pillar > * { margin: 0 !important; }
.haas-pillar h3 { font-size: clamp(1.8rem, 2.8vw, 2.3rem); margin: 0 0 0.5rem; }
.haas-pillar p.muted { margin: 0; }
@media (max-width: 600px) { .haas-pillar { grid-template-columns: 3rem 1fr; } }

/* ---------- Photos ---------- */
.haas-photo { margin: 1.5rem 0 0; }
.haas-photo img { width: 100%; height: auto; display: block; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(0.85); }
.haas-hero-art .wp-block-image img { filter: saturate(0.85); }
.haas-hero-art { background: var(--wp--preset--color--sky); }

/* Industry tiles with photos */
.haas-tile .haas-tile-img { position: absolute !important; inset: 0; margin: 0 !important; z-index: 0; }
.haas-tile .haas-tile-img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(0.3); transition: transform .6s ease; }
.haas-tile:hover .haas-tile-img img { transform: scale(1.05); }
.haas-tile::after {
	content: "";
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(31, 36, 43, 0.25) 0%, rgba(31, 36, 43, 0.15) 35%, rgba(31, 36, 43, 0.85) 100%);
}
.haas-tile.has-blue-background-color::after { background: linear-gradient(180deg, rgba(79, 111, 153, 0.35) 0%, rgba(79, 111, 153, 0.2) 35%, rgba(52, 70, 95, 0.9) 100%); }
.haas-tile.has-navy-background-color::after { background: linear-gradient(180deg, rgba(52, 70, 95, 0.35) 0%, rgba(52, 70, 95, 0.2) 35%, rgba(31, 36, 43, 0.9) 100%); }
.haas-tile > :not(.haas-tile-img) { position: relative; z-index: 2; }
.haas-tile .haas-tile-num { opacity: 0.85; }

/* Banner channel list over a photo */
.haas-banner-side { position: relative; overflow: hidden; background-image: none; }
.haas-banner-side .haas-bg-img { position: absolute !important; inset: 0; margin: 0 !important; z-index: 0; }
.haas-banner-side .haas-bg-img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.4); }
.haas-banner-side::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(135deg, rgba(31, 36, 43, 0.92), rgba(52, 70, 95, 0.82)); }
.haas-banner-side > :not(.haas-bg-img) { position: relative; z-index: 2; }

/* Certification chips */
.haas-chips li.is-cert {
	background: var(--wp--preset--color--blue);
	border-color: var(--wp--preset--color--blue);
	color: var(--wp--preset--color--paper);
}
.haas-chips li.is-cert::before { content: "✓ "; }
.haas-diff-intro .haas-photo img { aspect-ratio: 16 / 10; }

/* ---------- Testimonials ---------- */
.haas-quotes { gap: 16px !important; align-items: stretch; }
.haas-quote-card {
	background: var(--wp--preset--color--paper);
	padding: clamp(1.75rem, 3vw, 2.5rem) !important;
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.75rem;
	position: relative;
}
.haas-quote-card > * { margin: 0 !important; }
.haas-quote-card::before {
	content: "\201C";
	font-family: var(--wp--preset--font-family--serif);
	font-size: 5rem;
	line-height: 0.6;
	color: var(--wp--preset--color--blue);
	height: 2rem;
}
.haas-quote { flex-grow: 1; font-size: 1rem; line-height: 1.7; color: var(--wp--preset--color--ink); }
.haas-quote-by { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1rem; }
.haas-quote-by > * { margin: 0 !important; }
.haas-quote-name { font-family: var(--wp--preset--font-family--serif); font-size: 1.6rem; line-height: 1.1; margin-bottom: 0.35rem !important; }
@media (max-width: 900px) { .haas-quotes { grid-template-columns: minmax(0, 1fr) !important; } }

/* ---------- About: strengths & credentials ---------- */
.haas-strengths .haas-card h3 { font-size: 1.9rem; margin-top: 0; }
.haas-credential { border-top: 1px solid rgba(255, 255, 255, 0.25); padding-top: 1.5rem; }
.haas-credential h3 { font-size: clamp(1.9rem, 3vw, 2.5rem); margin: 0.5rem 0 1rem; }
.haas-credential p:not(.eyebrow) { opacity: 0.88; line-height: 1.75; }
.haas-stat .haas-stat-num { white-space: nowrap; }

/* ---------- Service options ---------- */
.haas-options-intro { max-width: 30rem; margin: 0; }
.haas-options { gap: 16px !important; }
.haas-option {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	padding: clamp(1.75rem, 3.5vw, 2.75rem) !important;
	display: flex !important;
	flex-direction: column;
	gap: 0.9rem;
}
.haas-option > * { margin: 0 !important; }
.haas-option h3 { font-size: clamp(1.9rem, 3vw, 2.4rem); }
.haas-option .wp-block-buttons { margin-top: auto !important; padding-top: 0.5rem; }
.haas-option.is-feature { border-color: transparent; }
.haas-option.is-feature h3 em, .haas-option.is-feature h3 { color: var(--wp--preset--color--paper); }
.haas-checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.55rem; }
.haas-checks li { position: relative; padding-left: 1.6rem; line-height: 1.5; }
.haas-checks li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--wp--preset--color--blue); font-weight: 700; }
.haas-option.is-feature .haas-checks li::before { color: var(--wp--preset--color--sky); }
@media (max-width: 781px) { .haas-options { grid-template-columns: minmax(0, 1fr) !important; } }
.haas-rows-head { margin-bottom: 1rem !important; }

/* ---------- About: portrait & book ---------- */
.haas-portrait img { aspect-ratio: 1 / 1; object-fit: cover; box-shadow: 18px 18px 0 var(--wp--preset--color--sky); }
.haas-portrait { margin-right: 18px; margin-bottom: 18px; }
.haas-book { border-bottom: 1px solid var(--wp--preset--color--line); }
.haas-book-title { font-size: clamp(2.8rem, 6vw, 5rem); line-height: 1; margin: 0.5rem 0 1rem; }
.haas-prose > .lede { max-width: var(--wp--style--global--content-size) !important; }

/* ---------- Contact ---------- */
.haas-contact-details { margin-top: 2rem !important; border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.5rem; }
.haas-contact-details > * { margin: 0 !important; }
.haas-contact-details .eyebrow { margin-top: 1rem !important; }
.haas-contact-details .eyebrow:first-child { margin-top: 0 !important; }
.haas-contact-line { font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; line-height: 1.3; }
.haas-contact-line a { text-decoration: none; color: var(--wp--preset--color--blue); }
.haas-form-card { padding: clamp(1.5rem, 4vw, 3rem) !important; scroll-margin-top: 100px; }
.haas-form-title { font-size: 2rem; margin-top: 0; }
.haas-form { display: grid; gap: 1.1rem; }
.haas-field { display: grid; gap: 0.4rem; }
.haas-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
@media (max-width: 600px) { .haas-field-row { grid-template-columns: 1fr; } }
.haas-field label { font-size: var(--wp--preset--font-size--xs); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--slate); }
.haas-field input, .haas-field textarea {
	width: 100%; box-sizing: border-box;
	font: inherit; font-size: 1rem; color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 0; padding: 0.85rem 1rem;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.haas-field textarea { resize: vertical; min-height: 9rem; }
.haas-field input:focus, .haas-field textarea:focus { outline: none; border-color: var(--wp--preset--color--blue); box-shadow: 0 0 0 3px var(--wp--preset--color--sky); }
.haas-form .wp-block-button__link { border: 0; cursor: pointer; }
.haas-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.haas-form-note { padding: 1rem 1.25rem; margin-bottom: 1.25rem; line-height: 1.5; border-left: 3px solid; }
.haas-form-note.is-success { background: var(--wp--preset--color--paper); border-color: var(--wp--preset--color--blue); }
.haas-form-note.is-error { background: #FBEDEC; border-color: #B3261E; color: #5C1712; }

/* Blog post extras */
.haas-quick-answer { padding: clamp(1.25rem, 3vw, 2rem) !important; border-left: 3px solid var(--wp--preset--color--blue); }
.haas-quick-answer > *:first-child { margin-top: 0; }
.haas-table { overflow-x: auto; }
.haas-table table { border-collapse: collapse; width: 100%; font-size: 0.95rem; }
.haas-table th { text-align: left; background: var(--wp--preset--color--navy); color: var(--wp--preset--color--paper); font-weight: 600; }
.haas-table th, .haas-table td { border: 1px solid var(--wp--preset--color--line); padding: 0.75rem 0.9rem; vertical-align: top; }
.haas-table tbody tr:nth-child(even) td { background: var(--wp--preset--color--mist); }
.haas-prose .haas-checks { margin-left: 0; }

/* Full-service option spans the full row */
.haas-option.is-feature { grid-column: 1 / -1; }

/* Page content made of full-width sections: no gaps between them */
.haas-canvas > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.haas-canvas { margin-top: 0 !important; }
