/*
Theme Name: The Subbie QS
Theme URI: https://thesubbieqs.co.uk/
Author: QS and Estimating Consultants Ltd
Author URI: https://www.qsconsultants.co.uk/
Description: A trade-first WordPress theme for The Subbie QS. Uses familiar job-sheet styling, plain-English subcontractor copy and a secure enquiry form for the separate setup plugin.
Version: 2.1.5
Requires at least: 6.6
Requires PHP: 7.4
Update URI: https://thesubbieqs.co.uk/
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: the-subbie-qs
Tags: custom-logo, custom-menu, featured-images, full-width-template, block-styles, wide-blocks, accessibility-ready
*/

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("assets/fonts/archivo-latin-500-normal.woff2") format("woff2");
}

/* Pricing visibility hardening · v2.1 */
@media screen {
	.sq-price-card--featured .sq-price-billing,
	.sq-price-card--featured .sq-scope-callout {
		border-color: var(--sq-line);
		background: var(--sq-white);
		color: var(--sq-ink);
	}

	.sq-price-card--featured .sq-price-billing *,
	.sq-price-card--featured .sq-scope-callout,
	.sq-price-card--featured .sq-scope-callout * {
		color: var(--sq-ink) !important;
		text-shadow: none;
	}

	.sq-price-card--featured .sq-price-billing .sq-save-badge {
		background: var(--sq-green-deep);
		color: var(--sq-white) !important;
	}
}

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/archivo-latin-600-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("assets/fonts/archivo-latin-700-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("assets/fonts/archivo-latin-800-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url("assets/fonts/archivo-latin-900-normal.woff2") format("woff2");
}

@font-face {
	font-family: "Archivo Black";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/archivo-black-latin-400-normal.woff2") format("woff2");
}

/* --------------------------------------------------------------------------
   Design system
   -------------------------------------------------------------------------- */

:root {
	--sq-ink: #232323;
	--sq-ink-2: #353535;
	--sq-navy: #343d42;
	--sq-green: #2f7652;
	--sq-green-deep: #205a3e;
	--sq-lime: #dfeae4;
	--sq-lime-soft: #edf4f0;
	--sq-orange: #c8952f;
	--sq-yellow: #dfeae4;
	--sq-blue: #315f70;
	--sq-cream: #eee9df;
	--sq-sand: #ded7ca;
	--sq-paper: #f8f6f0;
	--sq-white: #ffffff;
	--sq-text: #30302d;
	--sq-muted: #5e625d;
	--sq-line: #c9c1b4;
	--sq-success: #2f7652;
	--sq-danger: #ad3e35;
	--sq-shadow: 10px 10px 0 rgba( 35, 35, 35, 0.16 );
	--sq-shadow-small: 5px 5px 0 rgba( 35, 35, 35, 0.13 );
	--sq-radius: 6px;
	--sq-radius-small: 4px;
	--sq-container: 1240px;
	--sq-narrow: 780px;
	--sq-font: "Archivo", Aptos, "Segoe UI", Helvetica, Arial, sans-serif;
	--sq-display: "Archivo Black", "Arial Black", "Franklin Gothic Heavy", Arial, sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--sq-paper);
	color: var(--sq-text);
	font-family: var(--sq-font);
	font-size: 18px;
	line-height: 1.66;
	-webkit-font-smoothing: antialiased;
}

.sq-plan-hours {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	padding: 8px 11px;
	border: 2px solid var(--sq-ink);
	background: var(--sq-lime-soft);
	color: var(--sq-ink);
	font-family: var(--sq-display);
	font-size: 1rem;
	line-height: 1.2;
}

.sq-price-billing {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 18px 0;
	padding: 14px;
	border: 2px solid var(--sq-line);
	background: var(--sq-white);
}

.sq-price-billing strong,
.sq-price-billing span,
.sq-price-billing small {
	display: block;
}

.sq-price-billing strong {
	font-family: var(--sq-display);
	font-size: 1.7rem;
	line-height: 1.05;
}

.sq-price-billing__annual {
	padding-top: 10px;
	border-top: 1px solid var(--sq-line);
}

.sq-save-badge {
	display: inline-block !important;
	width: fit-content;
	margin-top: 6px;
	padding: 4px 8px;
	background: var(--sq-green-deep);
	color: var(--sq-white);
	font-size: 0.84rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.sq-scope-callout {
	margin-top: 24px;
	padding: 18px 20px;
	border-left: 7px solid var(--sq-orange);
	background: var(--sq-white);
	font-size: 1rem;
}

.sq-html-sitemap ul {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 12px 24px;
	padding: 0;
	list-style: none;
}

.sq-html-sitemap a {
	display: block;
	padding: 14px 16px;
	border: 2px solid var(--sq-line);
	background: var(--sq-white);
	color: var(--sq-ink);
	font-weight: 800;
}

@media ( max-width: 680px ) {
	.sq-html-sitemap ul {
		grid-template-columns: 1fr;
	}
}

body.nav-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--sq-green-deep);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--sq-green);
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

:focus-visible {
	outline: 3px solid var(--sq-orange);
	outline-offset: 4px;
}

::selection {
	background: var(--sq-lime);
	color: var(--sq-ink);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.55em;
	color: var(--sq-ink);
	font-family: var(--sq-display);
	font-weight: 780;
	letter-spacing: -0.035em;
	line-height: 1.07;
}

h1 {
	font-size: clamp( 3rem, 6vw, 6.35rem );
}

h2 {
	font-size: clamp( 2.15rem, 4vw, 4.15rem );
}

h3 {
	font-size: clamp( 1.25rem, 2vw, 1.65rem );
}

p {
	margin: 0 0 1.25em;
}

ul,
ol {
	margin: 0 0 1.4em;
}

.sq-container {
	width: min( calc( 100% - 40px ), var(--sq-container) );
	margin-inline: auto;
}

.sq-container--narrow {
	max-width: var(--sq-narrow);
}

.sq-main {
	overflow: clip;
}

.sq-main--home {
	background: var(--sq-paper);
}

.sq-entry-content > :first-child {
	margin-top: 0;
}

.sq-entry-content > :last-child {
	margin-bottom: 0;
}

.sq-lead {
	font-size: clamp( 1.12rem, 1.6vw, 1.35rem );
	line-height: 1.55;
}

.sq-rich-text p:last-child,
.sq-section-heading p:last-child,
.sq-callout p:last-child,
.sq-inline-cta p:last-child {
	margin-bottom: 0;
}

.sq-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 22px;
	color: var(--sq-green-deep);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.sq-eyebrow i {
	width: 8px;
	height: 8px;
	background: var(--sq-lime);
	border-radius: 50%;
	box-shadow: 0 0 0 5px rgba( 214, 255, 95, 0.16 );
}

.sq-eyebrow--light {
	color: var(--sq-lime);
}

.sq-space-top {
	margin-top: 52px;
}

.sq-section {
	position: relative;
	padding: clamp( 78px, 9vw, 132px ) 0;
}

.sq-section--cream {
	background: var(--sq-cream);
}

.sq-section--sand {
	background: var(--sq-sand);
}

.sq-section--ink {
	background: var(--sq-ink);
	color: rgba( 255, 255, 255, 0.76 );
}

.sq-section--ink h2,
.sq-section--ink h3,
.sq-section--ink strong {
	color: var(--sq-white);
}

.sq-section--angled::before {
	position: absolute;
	top: -28px;
	left: 0;
	width: 100%;
	height: 58px;
	background: var(--sq-ink);
	clip-path: polygon( 0 48%, 100% 0, 100% 100%, 0 100% );
	content: "";
}

.sq-split {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr );
	align-items: center;
	gap: clamp( 48px, 8vw, 108px );
}

.sq-split--top {
	align-items: start;
}

.sq-section-heading {
	display: grid;
	grid-template-columns: minmax( 0, 1.35fr ) minmax( 280px, 0.65fr );
	align-items: end;
	gap: 60px;
	margin-bottom: 52px;
}

.sq-section-heading h2,
.sq-split h2 {
	margin-bottom: 0;
}

.sq-section-heading > p {
	color: var(--sq-muted);
}

.sq-section-heading--light > p {
	color: rgba( 255, 255, 255, 0.68 );
}

.sq-card-grid {
	display: grid;
	gap: 22px;
}

.sq-card-grid--3 {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.sq-card-grid--4 {
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
}

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

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect( 0, 0, 0, 0 );
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 12px;
	left: 12px;
	z-index: 100000;
	display: block;
	width: auto;
	height: auto;
	padding: 12px 18px;
	clip: auto !important;
	background: var(--sq-white);
	color: var(--sq-ink);
	font-weight: 800;
	white-space: normal;
}

.sq-skip-link:focus {
	border-radius: 7px;
	box-shadow: var(--sq-shadow-small);
}

/* --------------------------------------------------------------------------
   Buttons and links
   -------------------------------------------------------------------------- */

.sq-button-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-top: 30px;
}

.sq-cta-reassurance {
	margin: 16px 0 0;
	color: var(--sq-muted);
	font-size: 0.76rem;
	font-weight: 720;
	letter-spacing: 0.025em;
}

.sq-home-hero .sq-cta-reassurance,
.sq-page-hero .sq-cta-reassurance {
	color: rgba( 255, 255, 255, 0.74 );
}

.sq-cta-reassurance strong {
	color: var(--sq-orange);
	font-weight: 850;
}

.sq-button {
	display: inline-flex;
	min-height: 54px;
	align-items: center;
	justify-content: center;
	padding: 14px 24px;
	border: 2px solid var(--sq-lime);
	border-radius: 999px;
	background: var(--sq-lime);
	box-shadow: none;
	color: var(--sq-ink);
	font-size: 0.94rem;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
}

.sq-button:hover {
	border-color: var(--sq-lime-soft);
	background: var(--sq-lime-soft);
	box-shadow: 0 12px 24px rgba( 0, 0, 0, 0.14 );
	color: var(--sq-ink);
	transform: translateY( -2px );
}

.sq-button--small {
	min-height: 44px;
	padding: 10px 18px;
	font-size: 0.84rem;
}

.sq-button--primary {
	border-color: var(--sq-orange);
	background: var(--sq-orange);
	color: var(--sq-ink);
}

.sq-button--primary:hover {
	border-color: var(--sq-lime-soft);
	background: var(--sq-lime-soft);
	color: var(--sq-ink);
}

.sq-button--outline {
	border-color: var(--sq-ink);
	background: transparent;
	color: var(--sq-ink);
}

.sq-button--outline:hover {
	border-color: var(--sq-ink);
	background: var(--sq-ink);
	color: var(--sq-white);
}

.sq-button--light {
	border-color: var(--sq-orange);
	background: var(--sq-orange);
	color: var(--sq-ink);
}

.sq-button--dark {
	border-color: rgba( 255, 255, 255, 0.42 );
	background: rgba( 6, 22, 25, 0.3 );
	color: var(--sq-white);
	backdrop-filter: blur( 10px );
}

.sq-button--dark:hover {
	border-color: var(--sq-white);
	background: var(--sq-white);
	color: var(--sq-ink);
}

.sq-text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--sq-green-deep);
	font-size: 0.96rem;
	font-weight: 800;
	text-decoration: none;
}

.sq-text-link span {
	font-size: 1.25em;
	transition: transform 180ms ease;
}

.sq-text-link:hover span {
	transform: translateX( 4px );
}

/* --------------------------------------------------------------------------
   Header and navigation
   -------------------------------------------------------------------------- */

.sq-topbar {
	position: relative;
	z-index: 80;
	background: var(--sq-ink);
	color: rgba( 255, 255, 255, 0.78 );
	font-size: 0.72rem;
	font-weight: 720;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sq-topbar__inner {
	display: flex;
	min-height: 36px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.sq-topbar__detail {
	color: var(--sq-orange);
}

.sq-site-header {
	position: sticky;
	top: 0;
	z-index: 70;
	border-bottom: 1px solid rgba( 11, 31, 34, 0.08 );
	background: rgba( 252, 251, 247, 0.95 );
	backdrop-filter: blur( 18px );
	transition: box-shadow 180ms ease;
}

.admin-bar .sq-site-header {
	top: 32px;
}

.sq-site-header.is-scrolled {
	box-shadow: 0 8px 30px rgba( 11, 31, 34, 0.09 );
}

.sq-header__inner {
	display: flex;
	min-height: 82px;
	align-items: center;
	gap: 24px;
}

.sq-brand {
	flex: 0 0 auto;
}

.sq-brand__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--sq-ink);
	text-decoration: none;
}

.sq-brand__link:hover {
	color: var(--sq-ink);
}

.sq-brand__mark {
	display: grid;
	width: 45px;
	height: 45px;
	place-items: center;
	border-radius: 8px 8px 17px 8px;
	background: var(--sq-ink);
	color: var(--sq-orange);
	font-size: 0.92rem;
	font-weight: 900;
	letter-spacing: -0.04em;
	transform: rotate( -2deg );
}

.sq-brand__words {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}

.sq-brand__words strong {
	color: var(--sq-ink);
	font-size: 1.08rem;
	font-weight: 850;
	letter-spacing: -0.035em;
}

.sq-brand__words small {
	margin-top: 5px;
	color: var(--sq-muted);
	font-size: 0.61rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.custom-logo {
	width: auto;
	max-width: 240px;
	height: 54px;
}

.sq-primary-nav {
	margin-left: auto;
}

.sq-primary-nav ul {
	display: flex;
	align-items: center;
	gap: 3px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.sq-primary-nav li {
	position: relative;
}

.sq-primary-nav a {
	display: flex;
	min-height: 44px;
	align-items: center;
	padding: 10px 13px;
	border-radius: 9px;
	color: var(--sq-ink);
	font-size: 0.86rem;
	font-weight: 750;
	text-decoration: none;
}

.sq-primary-nav a:hover,
.sq-primary-nav .current-menu-item > a,
.sq-primary-nav .current-menu-ancestor > a {
	background: var(--sq-cream);
	color: var(--sq-green-deep);
}

.sq-primary-nav .menu-item-has-children > a::after {
	width: 7px;
	height: 7px;
	margin: -4px 0 0 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	content: "";
	transform: rotate( 45deg );
}

.sq-primary-nav .sub-menu {
	position: absolute;
	top: calc( 100% + 8px );
	left: 0;
	display: grid;
	width: 310px;
	padding: 12px;
	border: 1px solid rgba( 11, 31, 34, 0.09 );
	border-radius: 14px;
	background: var(--sq-white);
	box-shadow: var(--sq-shadow-small);
	opacity: 0;
	transform: translateY( -6px );
	visibility: hidden;
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.sq-primary-nav .sub-menu a {
	min-height: 42px;
	padding: 10px 12px;
	font-weight: 680;
}

.sq-primary-nav li:hover > .sub-menu,
.sq-primary-nav li:focus-within > .sub-menu {
	opacity: 1;
	transform: translateY( 0 );
	visibility: visible;
}

.sq-header__cta {
	flex: 0 0 auto;
}

.sq-nav-toggle {
	display: none;
	width: 46px;
	height: 46px;
	padding: 11px;
	border: 0;
	border-radius: 10px;
	background: var(--sq-ink);
}

.sq-nav-toggle span:not(.screen-reader-text) {
	display: block;
	width: 100%;
	height: 2px;
	margin: 4px 0;
	background: var(--sq-orange);
	transition: transform 180ms ease, opacity 180ms ease;
}

/* --------------------------------------------------------------------------
   Home hero and dashboard
   -------------------------------------------------------------------------- */

.sq-home-hero {
	position: relative;
	padding: clamp( 72px, 8.5vw, 128px ) 0 clamp( 86px, 10vw, 148px );
	overflow: hidden;
	background:
		radial-gradient( circle at 86% 20%, rgba( 255, 138, 31, 0.2 ), transparent 28% ),
		linear-gradient( 128deg, var(--sq-navy) 0%, var(--sq-ink) 68% );
	color: rgba( 255, 255, 255, 0.78 );
}

.sq-home-hero::before {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient( rgba( 255, 255, 255, 0.035 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 255, 255, 255, 0.035 ) 1px, transparent 1px );
	background-size: 52px 52px;
	content: "";
	mask-image: linear-gradient( to bottom, rgba( 0, 0, 0, 0.7 ), transparent );
}

.sq-home-hero::after {
	position: absolute;
	right: -80px;
	bottom: -170px;
	width: 480px;
	height: 480px;
	border: 80px solid rgba( 255, 138, 31, 0.06 );
	border-radius: 50%;
	content: "";
}

.sq-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax( 0, 1.05fr ) minmax( 430px, 0.95fr );
	align-items: center;
	gap: clamp( 50px, 7vw, 94px );
}

.sq-hero-copy h1 {
	max-width: 760px;
	margin-bottom: 27px;
	color: var(--sq-white);
	font-size: clamp( 3.65rem, 6.4vw, 6.75rem );
	letter-spacing: -0.065em;
}

.sq-hero-copy h1 span {
	color: var(--sq-orange);
}

.sq-hero-copy .sq-lead {
	max-width: 680px;
	color: rgba( 255, 255, 255, 0.76 );
}

.sq-hero-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 9px 22px;
	padding: 0;
	margin: 26px 0 0;
	list-style: none;
	color: rgba( 255, 255, 255, 0.68 );
	font-size: 0.8rem;
	font-weight: 720;
}

.sq-hero-checks li::before {
	margin-right: 8px;
	color: var(--sq-lime);
	content: "✓";
}

.sq-hero-visual {
	perspective: 1400px;
}

.sq-dashboard {
	position: relative;
	padding: 22px;
	border: 1px solid rgba( 255, 255, 255, 0.15 );
	border-radius: 24px;
	background: rgba( 255, 255, 255, 0.96 );
	box-shadow: 0 42px 90px rgba( 0, 0, 0, 0.35 );
	color: var(--sq-text);
	transform: rotateY( -5deg ) rotateX( 2deg );
}

.sq-dashboard::before {
	position: absolute;
	top: -14px;
	right: -14px;
	z-index: -1;
	width: 100%;
	height: 100%;
	border: 1px solid rgba( 214, 255, 95, 0.5 );
	border-radius: inherit;
	content: "";
}

.sq-dashboard__top,
.sq-dashboard__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.sq-dashboard__top {
	padding: 4px 3px 18px;
	border-bottom: 1px solid var(--sq-line);
}

.sq-dashboard__top > div {
	display: flex;
	flex-direction: column;
}

.sq-dashboard__top strong {
	color: var(--sq-ink);
	font-size: 0.93rem;
}

.sq-dashboard__label {
	color: var(--sq-muted);
	font-size: 0.61rem;
	font-weight: 780;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.sq-status {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 10px;
	border-radius: 999px;
	background: #e5f5e8;
	color: #236142;
	font-size: 0.66rem;
	font-weight: 800;
}

.sq-status i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #42a66d;
}

.sq-dashboard__grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 11px;
	padding: 16px 0;
}

.sq-metric {
	min-height: 122px;
	padding: 15px;
	border: 1px solid #e3e8e5;
	border-radius: 14px;
	background: #f8faf8;
}

.sq-metric > span {
	display: block;
	margin-bottom: 8px;
	color: var(--sq-muted);
	font-size: 0.63rem;
	font-weight: 740;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.sq-metric > strong {
	display: block;
	color: var(--sq-ink);
	font-size: 1.12rem;
	letter-spacing: -0.04em;
}

.sq-metric > small {
	color: var(--sq-muted);
	font-size: 0.67rem;
}

.sq-metric--wide {
	grid-column: 1 / -1;
	min-height: 112px;
	background: var(--sq-ink);
}

.sq-metric--wide > span,
.sq-metric--wide > small {
	color: rgba( 255, 255, 255, 0.55 );
}

.sq-metric--wide > strong {
	color: var(--sq-white);
}

.sq-deadline {
	display: flex;
	align-items: baseline;
	gap: 7px;
	margin-top: 7px;
}

.sq-deadline b {
	color: var(--sq-lime);
	font-size: 2rem;
	line-height: 1;
}

.sq-deadline small {
	color: rgba( 255, 255, 255, 0.62 );
	font-size: 0.66rem;
	text-transform: uppercase;
}

.sq-deadline em {
	margin-left: auto;
	color: rgba( 255, 255, 255, 0.55 );
	font-size: 0.65rem;
	font-style: normal;
}

.sq-metric--chart {
	grid-column: 1 / -1;
	min-height: 128px;
}

.sq-bars {
	display: flex;
	height: 56px;
	align-items: end;
	gap: 8px;
	margin: 10px 0 7px;
}

.sq-bars i {
	width: 100%;
	height: var(--bar);
	border-radius: 4px 4px 2px 2px;
	background: linear-gradient( to top, var(--sq-green), var(--sq-lime) );
}

.sq-dashboard__bottom {
	padding: 2px 3px 0;
	color: var(--sq-muted);
	font-size: 0.62rem;
	font-weight: 700;
}

.sq-dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 5px;
	border-radius: 50%;
}

.sq-dot--lime {
	background: #58a870;
}

.sq-dot--orange {
	background: var(--sq-orange);
}

/* --------------------------------------------------------------------------
   Service strip and proof band
   -------------------------------------------------------------------------- */

.sq-service-strip {
	position: relative;
	z-index: 4;
	border-bottom: 1px solid var(--sq-line);
	background: var(--sq-paper);
}

.sq-service-strip .sq-container {
	display: grid;
	grid-template-columns: repeat( 5, minmax( 0, 1fr ) );
}

.sq-service-strip a {
	display: flex;
	min-height: 64px;
	align-items: center;
	justify-content: center;
	padding: 12px 14px;
	border-right: 1px solid var(--sq-line);
	color: var(--sq-ink);
	font-size: 0.77rem;
	font-weight: 760;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	transition: background 150ms ease, color 150ms ease;
}

.sq-service-strip a:first-child {
	border-left: 1px solid var(--sq-line);
}

.sq-service-strip a:hover {
	background: var(--sq-lime-soft);
	color: var(--sq-ink);
}

.sq-proof-band {
	padding: 30px 0;
	background: var(--sq-orange);
}

.sq-proof-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
}

.sq-proof-grid > div {
	display: flex;
	min-height: 64px;
	flex-direction: column;
	justify-content: center;
	padding: 0 28px;
	border-right: 1px solid rgba( 11, 31, 34, 0.2 );
}

.sq-proof-grid > div:first-child {
	padding-left: 0;
}

.sq-proof-grid > div:last-child {
	border-right: 0;
}

.sq-proof-grid strong {
	color: var(--sq-ink);
	font-size: 1.4rem;
	font-weight: 860;
	letter-spacing: -0.04em;
}

.sq-proof-grid span {
	color: rgba( 11, 31, 34, 0.7 );
	font-size: 0.68rem;
	font-weight: 720;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Cards and service blocks
   -------------------------------------------------------------------------- */

.sq-icon-card,
.sq-compact-card,
.sq-dark-card {
	position: relative;
	padding: 30px;
	border: 1px solid rgba( 11, 31, 34, 0.09 );
	border-radius: var(--sq-radius-small);
	background: rgba( 255, 255, 255, 0.68 );
}

.sq-icon-card {
	min-height: 265px;
}

.sq-card-number {
	display: grid;
	width: 43px;
	height: 43px;
	place-items: center;
	margin-bottom: 46px;
	border-radius: 50%;
	background: var(--sq-ink);
	color: var(--sq-lime);
	font-size: 0.7rem;
	font-weight: 850;
}

.sq-icon-card h3 {
	margin-bottom: 12px;
}

.sq-icon-card p,
.sq-compact-card p,
.sq-dark-card p {
	margin-bottom: 0;
	color: var(--sq-muted);
	font-size: 0.92rem;
}

.sq-compact-card {
	padding: 24px;
	background: var(--sq-white);
}

.sq-compact-card strong {
	display: block;
	margin-bottom: 8px;
	color: var(--sq-ink);
}

.sq-service-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 22px;
}

.sq-service-card {
	display: flex;
	min-height: 360px;
	flex-direction: column;
	padding: 31px;
	border: 1px solid var(--sq-line);
	border-radius: var(--sq-radius);
	background: var(--sq-white);
	box-shadow: 0 1px 0 rgba( 11, 31, 34, 0.02 );
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.sq-service-card:hover {
	border-color: rgba( 23, 107, 87, 0.35 );
	box-shadow: var(--sq-shadow-small);
	transform: translateY( -4px );
}

.sq-service-card--featured {
	background: var(--sq-ink);
	color: rgba( 255, 255, 255, 0.72 );
}

.sq-service-card--featured h3,
.sq-service-card--featured .sq-text-link {
	color: var(--sq-white);
}

.sq-service-card--featured .sq-tick-list li::before {
	color: var(--sq-lime);
}

.sq-service-card__tag {
	display: inline-flex;
	align-self: flex-start;
	padding: 7px 10px;
	margin-bottom: 30px;
	border-radius: 999px;
	background: var(--sq-cream);
	color: var(--sq-green-deep);
	font-size: 0.66rem;
	font-weight: 820;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sq-service-card--featured .sq-service-card__tag {
	background: rgba( 214, 255, 95, 0.12 );
	color: var(--sq-lime);
}

.sq-service-card h3 {
	margin-bottom: 14px;
}

.sq-service-card p {
	color: var(--sq-muted);
	font-size: 0.91rem;
}

.sq-service-card--featured p {
	color: rgba( 255, 255, 255, 0.67 );
}

.sq-service-card .sq-text-link {
	margin-top: auto;
}

.sq-tick-list {
	padding: 0;
	margin: 20px 0 28px;
	list-style: none;
}

.sq-tick-list li {
	position: relative;
	padding-left: 26px;
	margin-bottom: 10px;
	font-size: 0.88rem;
}

.sq-tick-list li::before {
	position: absolute;
	top: 0;
	left: 0;
	color: var(--sq-green);
	font-weight: 900;
	content: "✓";
}

.sq-tick-list--large li {
	padding-left: 34px;
	margin-bottom: 18px;
	font-size: 1rem;
}

/* --------------------------------------------------------------------------
   Process, pricing and case feature
   -------------------------------------------------------------------------- */

.sq-step-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 1px;
	overflow: hidden;
	border: 1px solid rgba( 255, 255, 255, 0.13 );
	border-radius: var(--sq-radius);
	background: rgba( 255, 255, 255, 0.12 );
}

.sq-step-grid article {
	min-height: 285px;
	padding: 30px;
	background: var(--sq-ink);
}

.sq-step-grid article > span {
	display: block;
	margin-bottom: 70px;
	color: var(--sq-lime);
	font-size: 0.72rem;
	font-weight: 850;
}

.sq-step-grid h3 {
	margin-bottom: 12px;
}

.sq-step-grid p {
	margin-bottom: 0;
	color: rgba( 255, 255, 255, 0.62 );
	font-size: 0.9rem;
}

.sq-pricing-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	align-items: stretch;
	gap: 20px;
}

.sq-price-card {
	position: relative;
	display: flex;
	min-height: 570px;
	flex-direction: column;
	padding: 34px;
	border: 1px solid rgba( 11, 31, 34, 0.11 );
	border-radius: var(--sq-radius);
	background: var(--sq-white);
}

.sq-price-card--featured {
	border: 2px solid var(--sq-green-deep);
	box-shadow: var(--sq-shadow-small);
	transform: translateY( -10px );
}

.sq-price-card__badge {
	position: absolute;
	top: 0;
	right: 30px;
	padding: 8px 13px;
	border-radius: 0 0 10px 10px;
	background: var(--sq-green-deep);
	color: var(--sq-white);
	font-size: 0.63rem;
	font-weight: 820;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.sq-price-card__label {
	display: block;
	margin-bottom: 16px;
	color: var(--sq-green-deep);
	font-size: 0.69rem;
	font-weight: 820;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.sq-price-card h3 {
	font-size: 1.8rem;
}

.sq-price {
	display: flex;
	min-height: 105px;
	flex-wrap: wrap;
	align-content: center;
	align-items: baseline;
	gap: 5px 9px;
	padding: 20px 0;
	margin: 12px 0 22px;
	border-top: 1px solid var(--sq-line);
	border-bottom: 1px solid var(--sq-line);
}

.sq-price small {
	width: 100%;
	color: var(--sq-muted);
	font-size: 0.65rem;
	font-weight: 760;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sq-price strong {
	color: var(--sq-ink);
	font-size: clamp( 2rem, 3vw, 2.65rem );
	letter-spacing: -0.06em;
	line-height: 1;
}

.sq-price span {
	color: var(--sq-muted);
	font-size: 0.72rem;
}

.sq-price-card > p {
	color: var(--sq-muted);
	font-size: 0.9rem;
}

.sq-price-card .sq-tick-list {
	margin-bottom: 30px;
}

.sq-price-card .sq-button {
	width: 100%;
	margin-top: auto;
}

.sq-pricing-note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 24px;
	margin-top: 28px;
	border: 1px solid rgba( 11, 31, 34, 0.1 );
	border-radius: 12px;
	background: rgba( 255, 255, 255, 0.45 );
	font-size: 0.85rem;
}

.sq-pricing-note strong {
	color: var(--sq-ink);
}

.sq-case-feature {
	display: grid;
	grid-template-columns: minmax( 0, 1.15fr ) minmax( 340px, 0.85fr );
	overflow: hidden;
	border-radius: calc( var(--sq-radius) + 4px );
	background: var(--sq-green-deep);
	box-shadow: var(--sq-shadow);
}

.sq-case-feature__content {
	padding: clamp( 42px, 7vw, 78px );
	color: rgba( 255, 255, 255, 0.72 );
}

.sq-case-feature__content h2 {
	color: var(--sq-white);
}

.sq-case-feature__content .sq-text-link {
	color: var(--sq-lime);
}

.sq-case-feature__panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp( 38px, 6vw, 64px );
	background: var(--sq-lime);
}

.sq-case-feature__panel > span {
	margin-bottom: 28px;
	color: var(--sq-green-deep);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.sq-case-feature__panel ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.sq-case-feature__panel li {
	display: grid;
	grid-template-columns: 40px 1fr;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid rgba( 11, 31, 34, 0.18 );
	color: var(--sq-ink);
	font-weight: 720;
}

.sq-case-feature__panel b {
	font-size: 0.68rem;
}

/* --------------------------------------------------------------------------
   Founder and FAQs
   -------------------------------------------------------------------------- */

.sq-founder-panel,
.sq-founder-story {
	display: grid;
	grid-template-columns: 230px 1fr;
	align-items: center;
	gap: clamp( 42px, 8vw, 100px );
}

.sq-founder-panel > div:last-child {
	max-width: 760px;
}

.sq-founder-mark {
	position: relative;
	display: grid;
	width: 200px;
	height: 240px;
	place-items: center;
	border-radius: 16px 16px 70px 16px;
	background: var(--sq-ink);
	box-shadow: 18px 18px 0 var(--sq-lime);
	color: var(--sq-lime);
}

.sq-founder-mark span {
	font-size: 3.5rem;
	font-weight: 900;
	letter-spacing: -0.08em;
}

.sq-founder-mark small {
	position: absolute;
	right: 22px;
	bottom: 20px;
	color: rgba( 255, 255, 255, 0.55 );
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.sq-founder-mark--large {
	width: 240px;
	height: 300px;
}

.sq-faq-layout {
	display: grid;
	grid-template-columns: minmax( 280px, 0.7fr ) minmax( 0, 1.3fr );
	align-items: start;
	gap: clamp( 50px, 9vw, 120px );
}

.sq-faq-layout > div:first-child {
	position: sticky;
	top: 140px;
}

.sq-faq-list {
	border-top: 1px solid var(--sq-line);
}

.sq-faq-list details {
	border-bottom: 1px solid var(--sq-line);
}

.sq-faq-list summary {
	position: relative;
	padding: 24px 50px 24px 0;
	color: var(--sq-ink);
	font-size: 1.05rem;
	font-weight: 780;
	line-height: 1.35;
	cursor: pointer;
	list-style: none;
}

.sq-faq-list summary::-webkit-details-marker {
	display: none;
}

.sq-faq-list summary::before,
.sq-faq-list summary::after {
	position: absolute;
	top: 50%;
	right: 7px;
	width: 16px;
	height: 2px;
	background: var(--sq-green-deep);
	content: "";
	transition: transform 180ms ease;
}

.sq-faq-list summary::after {
	transform: rotate( 90deg );
}

.sq-faq-list details[open] summary::after {
	transform: rotate( 0 );
}

.sq-faq-list details p {
	max-width: 650px;
	padding: 0 50px 24px 0;
	margin: 0;
	color: var(--sq-muted);
	font-size: 0.94rem;
}

.sq-inline-cta {
	padding: 60px 0;
	background: var(--sq-navy);
	color: rgba( 255, 255, 255, 0.7 );
}

.sq-inline-cta .sq-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.sq-inline-cta h2 {
	max-width: 760px;
	margin-bottom: 0;
	color: var(--sq-white);
	font-size: clamp( 2rem, 3.8vw, 3.7rem );
}

/* --------------------------------------------------------------------------
   Internal page heroes
   -------------------------------------------------------------------------- */

.sq-page-hero {
	position: relative;
	padding: clamp( 70px, 8vw, 118px ) 0;
	overflow: hidden;
	background:
		radial-gradient( circle at 88% 20%, rgba( 255, 138, 31, 0.18 ), transparent 24% ),
		linear-gradient( 125deg, var(--sq-navy), var(--sq-ink) );
	color: rgba( 255, 255, 255, 0.74 );
}

.sq-page-hero::before {
	position: absolute;
	inset: 0;
	background-image: linear-gradient( rgba( 255, 255, 255, 0.035 ) 1px, transparent 1px ), linear-gradient( 90deg, rgba( 255, 255, 255, 0.035 ) 1px, transparent 1px );
	background-size: 48px 48px;
	content: "";
	mask-image: linear-gradient( 90deg, rgba( 0, 0, 0, 0.6 ), transparent );
}

.sq-page-hero--green {
	background: linear-gradient( 125deg, var(--sq-green-deep), var(--sq-ink) 76% );
}

.sq-page-hero--orange {
	background: linear-gradient( 125deg, #7a3716, var(--sq-ink) 76% );
}

.sq-page-hero--blue {
	background: linear-gradient( 125deg, #1b4f78, var(--sq-ink) 76% );
}

.sq-page-hero--charcoal {
	background: linear-gradient( 125deg, #263746, var(--sq-ink) 76% );
}

.sq-page-hero--yellow {
	background: linear-gradient( 125deg, #5b4212, var(--sq-ink) 76% );
	color: rgba( 255, 255, 255, 0.76 );
}

.sq-page-hero--yellow h1,
.sq-page-hero--yellow .sq-eyebrow {
	color: var(--sq-white);
}

.sq-page-hero--yellow .sq-button--dark {
	border-color: rgba( 255, 255, 255, 0.42 );
	background: rgba( 6, 22, 25, 0.3 );
	color: var(--sq-white);
}

.sq-page-hero--case {
	background: linear-gradient( 125deg, #24523f, var(--sq-ink) 76% );
}

.sq-page-hero--about {
	background: linear-gradient( 125deg, #1d4964, var(--sq-ink) 76% );
}

.sq-page-hero--contact {
	background: linear-gradient( 125deg, var(--sq-green-deep), var(--sq-ink) 76% );
}

.sq-page-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax( 0, 1.15fr ) minmax( 320px, 0.55fr );
	align-items: center;
	gap: clamp( 50px, 9vw, 118px );
}

.sq-page-hero h1 {
	max-width: 880px;
	color: var(--sq-white);
	font-size: clamp( 3.25rem, 6.2vw, 6.15rem );
	letter-spacing: -0.06em;
}

.sq-page-hero .sq-lead {
	max-width: 760px;
	color: inherit;
}

.sq-page-hero__stat,
.sq-page-hero__mini,
.sq-risk-card,
.sq-account-card,
.sq-tender-card,
.sq-confidential-card,
.sq-contact-promise {
	padding: 30px;
	border: 1px solid rgba( 255, 255, 255, 0.17 );
	border-radius: var(--sq-radius);
	background: rgba( 255, 255, 255, 0.08 );
	box-shadow: 0 28px 60px rgba( 0, 0, 0, 0.2 );
	backdrop-filter: blur( 14px );
}

.sq-page-hero__stat > span,
.sq-page-hero__mini > span,
.sq-risk-card > span,
.sq-account-card > span,
.sq-tender-card > span,
.sq-confidential-card > span,
.sq-contact-promise > span {
	display: block;
	margin-bottom: 24px;
	color: var(--sq-lime);
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.sq-page-hero__stat strong {
	display: block;
	color: var(--sq-white);
	font-size: 2.35rem;
	letter-spacing: -0.06em;
}

.sq-page-hero__stat small {
	color: rgba( 255, 255, 255, 0.6 );
	font-size: 0.68rem;
}

.sq-page-hero__stat ul,
.sq-page-hero__mini ul,
.sq-account-card ul {
	padding: 20px 0 0;
	margin: 20px 0 0;
	border-top: 1px solid rgba( 255, 255, 255, 0.14 );
	list-style: none;
}

.sq-page-hero__stat li,
.sq-page-hero__mini li {
	position: relative;
	padding: 8px 0 8px 24px;
	color: rgba( 255, 255, 255, 0.76 );
	font-size: 0.82rem;
}

.sq-page-hero__stat li::before,
.sq-page-hero__mini li::before {
	position: absolute;
	left: 0;
	color: var(--sq-lime);
	content: "✓";
}

.sq-change-stack {
	position: relative;
	display: grid;
	gap: 8px;
}

.sq-change-stack > span {
	position: absolute;
	top: -30px;
	right: 18px;
	padding: 9px 13px;
	border-radius: 999px;
	background: var(--sq-orange);
	color: var(--sq-white);
	font-size: 0.68rem;
	font-weight: 850;
	transform: rotate( 3deg );
}

.sq-change-stack article {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 20px;
	border: 1px solid rgba( 255, 255, 255, 0.14 );
	border-radius: 11px;
	background: rgba( 255, 255, 255, 0.08 );
	backdrop-filter: blur( 10px );
}

.sq-change-stack small {
	color: rgba( 255, 255, 255, 0.58 );
}

.sq-change-stack strong {
	color: var(--sq-white);
	font-size: 0.83rem;
}

.sq-simple-hero,
.sq-article__header,
.sq-error-page {
	padding: clamp( 76px, 10vw, 145px ) 0;
	background: var(--sq-cream);
}

.sq-simple-hero h1,
.sq-article__header h1,
.sq-error-page h1 {
	max-width: 930px;
}

/* --------------------------------------------------------------------------
   Service-page components
   -------------------------------------------------------------------------- */

.sq-feature-list {
	border-top: 1px solid rgba( 11, 31, 34, 0.13 );
}

.sq-feature-list article {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 20px;
	padding: 30px 0;
	border-bottom: 1px solid rgba( 11, 31, 34, 0.13 );
}

.sq-feature-list article > span {
	color: var(--sq-green);
	font-size: 0.72rem;
	font-weight: 850;
}

.sq-feature-list h3,
.sq-feature-list p {
	margin-bottom: 7px;
}

.sq-feature-list p {
	max-width: 760px;
	color: var(--sq-muted);
}

.sq-cycle {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
	align-items: center;
	gap: 15px;
}

.sq-cycle article {
	display: flex;
	min-height: 170px;
	flex-direction: column;
	justify-content: center;
	padding: 25px;
	border: 1px solid rgba( 255, 255, 255, 0.14 );
	border-radius: var(--sq-radius-small);
}

.sq-cycle b {
	margin-bottom: 10px;
	color: var(--sq-lime);
	font-size: 1.25rem;
}

.sq-cycle span {
	font-size: 0.85rem;
	line-height: 1.45;
}

.sq-cycle > i,
.sq-handover-flow > i {
	color: var(--sq-lime);
	font-size: 1.4rem;
	font-style: normal;
}

.sq-timeline-list {
	border-left: 1px solid rgba( 11, 31, 34, 0.18 );
}

.sq-timeline-list article {
	position: relative;
	padding: 0 0 34px 44px;
}

.sq-timeline-list article::before {
	position: absolute;
	top: 3px;
	left: -7px;
	width: 13px;
	height: 13px;
	border: 3px solid var(--sq-sand);
	border-radius: 50%;
	background: var(--sq-green-deep);
	box-shadow: 0 0 0 1px var(--sq-green-deep);
	content: "";
}

.sq-timeline-list span {
	display: block;
	margin-bottom: 8px;
	color: var(--sq-green-deep);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.sq-timeline-list h3,
.sq-timeline-list p {
	margin-bottom: 7px;
}

.sq-timeline-list p {
	color: var(--sq-muted);
	font-size: 0.93rem;
}

.sq-payment-flow {
	display: grid;
	grid-template-columns: repeat( 5, minmax( 0, 1fr ) );
	gap: 14px;
}

.sq-payment-flow article {
	position: relative;
	min-height: 250px;
	padding: 25px;
	border: 1px solid rgba( 11, 31, 34, 0.1 );
	border-radius: 14px;
	background: var(--sq-white);
}

.sq-payment-flow article::after {
	position: absolute;
	top: 48px;
	right: -12px;
	z-index: 2;
	color: var(--sq-green-deep);
	font-size: 1.1rem;
	content: "→";
}

.sq-payment-flow article:last-child::after {
	display: none;
}

.sq-payment-flow article > span {
	display: grid;
	width: 35px;
	height: 35px;
	place-items: center;
	margin-bottom: 45px;
	border-radius: 50%;
	background: var(--sq-lime);
	color: var(--sq-ink);
	font-size: 0.68rem;
	font-weight: 850;
}

.sq-payment-flow p {
	margin-bottom: 0;
	color: var(--sq-muted);
	font-size: 0.84rem;
}

.sq-check-columns {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 50px;
}

.sq-check-columns .sq-tick-list {
	padding: 34px;
	margin: 0;
	border: 1px solid var(--sq-line);
	border-radius: var(--sq-radius);
	background: var(--sq-white);
}

.sq-data-panel {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 10px;
}

.sq-data-panel div {
	min-height: 132px;
	padding: 23px;
	border: 1px solid rgba( 255, 255, 255, 0.14 );
	border-radius: 12px;
}

.sq-data-panel span {
	display: block;
	margin-bottom: 24px;
	color: var(--sq-lime);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.sq-data-panel strong {
	font-size: 0.92rem;
}

.sq-quadrant {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 1px;
	overflow: hidden;
	border: 1px solid rgba( 11, 31, 34, 0.12 );
	border-radius: var(--sq-radius);
	background: rgba( 11, 31, 34, 0.12 );
}

.sq-quadrant article {
	min-height: 260px;
	padding: 34px;
	background: var(--sq-white);
}

.sq-quadrant article > span {
	display: block;
	margin-bottom: 50px;
	color: var(--sq-orange);
	font-size: 0.7rem;
	font-weight: 850;
}

.sq-quadrant p {
	margin-bottom: 0;
	color: var(--sq-muted);
}

.sq-comparison {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 20px;
}

.sq-comparison article {
	padding: clamp( 32px, 5vw, 52px );
	border: 1px solid var(--sq-line);
	border-radius: var(--sq-radius);
	background: var(--sq-white);
}

.sq-comparison__label {
	display: inline-flex;
	padding: 7px 11px;
	margin-bottom: 28px;
	border-radius: 999px;
	background: var(--sq-lime-soft);
	color: var(--sq-green-deep);
	font-size: 0.68rem;
	font-weight: 820;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.sq-record-grid,
.sq-review-list {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 10px;
}

.sq-record-grid span,
.sq-review-list span {
	display: flex;
	min-height: 80px;
	align-items: center;
	justify-content: center;
	padding: 14px;
	border: 1px solid rgba( 255, 255, 255, 0.14 );
	border-radius: 9px;
	color: rgba( 255, 255, 255, 0.78 );
	font-size: 0.78rem;
	font-weight: 740;
	text-align: center;
}

.sq-risk-card > div {
	display: grid;
	grid-template-columns: 14px 45px 1fr;
	align-items: center;
	gap: 10px;
	padding: 14px 0;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.13 );
}

.sq-risk-card > div:last-child {
	border-bottom: 0;
}

.sq-risk {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.sq-risk--red { background: #ff746b; }
.sq-risk--amber { background: #ffca55; }
.sq-risk--green { background: #76d590; }

.sq-risk-card b {
	color: var(--sq-white);
	font-size: 1.3rem;
}

.sq-risk-card small {
	color: rgba( 255, 255, 255, 0.58 );
}

.sq-topic-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 18px;
}

.sq-topic-grid article {
	min-height: 220px;
	padding: 28px;
	border: 1px solid rgba( 11, 31, 34, 0.1 );
	border-radius: 13px;
	background: var(--sq-white);
}

.sq-topic-grid h3 {
	margin-bottom: 14px;
	font-size: 1.25rem;
}

.sq-topic-grid p {
	margin-bottom: 0;
	color: var(--sq-muted);
	font-size: 0.9rem;
}

.sq-notice-list {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 10px;
}

.sq-notice-list article {
	display: flex;
	min-height: 110px;
	flex-direction: column;
	justify-content: center;
	padding: 22px;
	border: 1px solid rgba( 255, 255, 255, 0.14 );
	border-radius: 12px;
}

.sq-notice-list span {
	color: var(--sq-white);
	font-weight: 760;
}

.sq-notice-list small {
	color: rgba( 255, 255, 255, 0.55 );
}

.sq-account-card ul {
	padding-left: 0;
}

.sq-account-card li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 11px 0;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.1 );
}

.sq-account-card b {
	color: var(--sq-white);
	font-size: 0.84rem;
}

.sq-account-card em {
	color: var(--sq-lime);
	font-size: 0.68rem;
	font-style: normal;
}

.sq-account-flow {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 16px;
}

.sq-account-flow article {
	min-height: 250px;
	padding: 28px;
	border: 1px solid rgba( 11, 31, 34, 0.1 );
	border-radius: 14px;
	background: var(--sq-white);
}

.sq-account-flow span,
.sq-dispute-grid span,
.sq-values-grid span {
	display: block;
	margin-bottom: 45px;
	color: var(--sq-green);
	font-size: 0.68rem;
	font-weight: 850;
}

.sq-account-flow p {
	margin-bottom: 0;
	color: var(--sq-muted);
	font-size: 0.88rem;
}

.sq-dispute-grid,
.sq-values-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 1px;
	overflow: hidden;
	border: 1px solid rgba( 255, 255, 255, 0.13 );
	border-radius: var(--sq-radius);
	background: rgba( 255, 255, 255, 0.13 );
}

.sq-dispute-grid article,
.sq-values-grid article {
	min-height: 270px;
	padding: 28px;
	background: var(--sq-ink);
}

.sq-dispute-grid span,
.sq-values-grid span {
	color: var(--sq-lime);
}

.sq-dispute-grid p,
.sq-values-grid p {
	margin-bottom: 0;
	color: rgba( 255, 255, 255, 0.6 );
	font-size: 0.86rem;
}

.sq-callout {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1fr );
	align-items: center;
	gap: 60px;
	padding: clamp( 34px, 6vw, 64px );
	border: 1px solid var(--sq-line);
	border-left: 8px solid var(--sq-lime);
	border-radius: var(--sq-radius);
	background: var(--sq-white);
}

.sq-callout h2 {
	margin-bottom: 0;
	font-size: clamp( 1.9rem, 3.2vw, 3.2rem );
}

.sq-tender-card > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 0;
	border-bottom: 1px solid rgba( 11, 31, 34, 0.14 );
}

.sq-page-hero--yellow .sq-tender-card {
	border-color: rgba( 11, 31, 34, 0.15 );
	background: rgba( 255, 255, 255, 0.35 );
	box-shadow: 0 28px 60px rgba( 95, 61, 13, 0.15 );
}

.sq-page-hero--yellow .sq-tender-card > span {
	color: var(--sq-green-deep);
}

.sq-tender-card small {
	color: rgba( 11, 31, 34, 0.64 );
}

.sq-tender-card b {
	color: var(--sq-ink);
	font-size: 0.8rem;
}

.sq-handover-flow {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
	align-items: center;
	gap: 15px;
}

.sq-handover-flow article {
	display: flex;
	min-height: 200px;
	flex-direction: column;
	justify-content: center;
	padding: 25px;
	border: 1px solid var(--sq-line);
	border-radius: 13px;
	background: var(--sq-white);
}

.sq-handover-flow span {
	margin-bottom: 30px;
	color: var(--sq-green);
	font-size: 0.67rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sq-handover-flow strong {
	margin-bottom: 7px;
	color: var(--sq-ink);
}

.sq-handover-flow small {
	color: var(--sq-muted);
	font-size: 0.75rem;
}

/* --------------------------------------------------------------------------
   Case studies and About
   -------------------------------------------------------------------------- */

.sq-confidential-card p {
	margin-bottom: 0;
	color: rgba( 255, 255, 255, 0.7 );
	font-size: 0.9rem;
}

.sq-case-study {
	display: grid;
	grid-template-columns: 220px minmax( 0, 1fr );
	gap: clamp( 50px, 9vw, 120px );
}

.sq-case-study aside {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: 5px;
}

.sq-case-study aside > span {
	display: grid;
	width: 78px;
	height: 78px;
	place-items: center;
	margin-bottom: 20px;
	border-radius: 50%;
	background: var(--sq-ink);
	color: var(--sq-lime);
	font-size: 1.2rem;
	font-weight: 850;
}

.sq-case-study aside small {
	color: var(--sq-muted);
	font-size: 0.7rem;
	font-weight: 760;
	letter-spacing: 0.07em;
	line-height: 1.5;
	text-transform: uppercase;
}

.sq-case-study > div > p {
	max-width: 780px;
}

.sq-case-study h2 {
	max-width: 870px;
}

.sq-case-study h3 {
	margin-top: 40px;
}

.sq-case-outcome {
	padding: 26px;
	margin-top: 34px;
	border-left: 6px solid var(--sq-lime);
	border-radius: 0 12px 12px 0;
	background: var(--sq-ink);
	color: rgba( 255, 255, 255, 0.7 );
}

.sq-case-outcome strong {
	display: block;
	margin-bottom: 8px;
	color: var(--sq-lime);
	font-size: 0.7rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.sq-case-outcome p {
	margin-bottom: 0;
}

.sq-dark-card {
	min-height: 190px;
	border-color: rgba( 255, 255, 255, 0.14 );
	background: rgba( 255, 255, 255, 0.035 );
}

.sq-dark-card strong {
	display: block;
	margin-bottom: 25px;
	color: var(--sq-lime);
	font-size: 1.25rem;
}

.sq-dark-card p {
	color: rgba( 255, 255, 255, 0.58 );
}

.sq-founder-identity {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 34px;
	text-align: center;
}

.sq-founder-identity > div {
	display: grid;
	width: 180px;
	height: 210px;
	place-items: center;
	margin-bottom: 25px;
	border-radius: 14px 14px 55px 14px;
	background: var(--sq-lime);
	box-shadow: 17px 17px 0 rgba( 255, 255, 255, 0.1 );
	color: var(--sq-ink);
	font-size: 3rem;
	font-weight: 900;
	letter-spacing: -0.08em;
}

.sq-founder-identity > span {
	color: var(--sq-white);
	font-size: 1.1rem;
	font-weight: 800;
}

.sq-founder-identity > small {
	color: rgba( 255, 255, 255, 0.55 );
}

.sq-founder-story {
	grid-template-columns: 260px 1fr;
}

.sq-founder-story h2 {
	margin-bottom: 8px;
}

.sq-tag-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 28px;
}

.sq-tag-row span {
	padding: 8px 12px;
	border: 1px solid rgba( 11, 31, 34, 0.13 );
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.4 );
	color: var(--sq-ink);
	font-size: 0.72rem;
	font-weight: 730;
}

.sq-region-panel {
	padding: 34px;
	border-radius: var(--sq-radius);
	background: var(--sq-ink);
	box-shadow: var(--sq-shadow-small);
}

.sq-region-panel > span {
	display: block;
	margin-bottom: 20px;
	color: var(--sq-lime);
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.sq-region-panel ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.sq-region-panel li {
	padding: 13px 0;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.12 );
	color: rgba( 255, 255, 255, 0.76 );
}

/* --------------------------------------------------------------------------
   Contact form
   -------------------------------------------------------------------------- */

.sq-contact-promise ol {
	padding: 0;
	margin: 0;
	list-style: none;
}

.sq-contact-promise li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.12 );
	color: rgba( 255, 255, 255, 0.76 );
}

.sq-contact-promise b {
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 50%;
	background: var(--sq-lime);
	color: var(--sq-ink);
	font-size: 0.66rem;
}

.sq-contact-layout {
	display: grid;
	grid-template-columns: minmax( 300px, 0.72fr ) minmax( 0, 1.28fr );
	align-items: start;
	gap: clamp( 45px, 8vw, 100px );
}

.sq-contact-sidebar {
	position: sticky;
	top: 140px;
}

.sq-contact-card {
	padding: 27px;
	margin-top: 24px;
	border: 1px solid var(--sq-line);
	border-radius: 13px;
	background: var(--sq-cream);
}

.sq-contact-card--accent {
	border-color: var(--sq-lime);
	background: var(--sq-lime-soft);
}

.sq-contact-card p:last-child,
.sq-contact-card .sq-tick-list {
	margin-bottom: 0;
}

.sq-form-wrap {
	padding: clamp( 28px, 5vw, 48px );
	border: 1px solid var(--sq-line);
	border-radius: var(--sq-radius);
	background: var(--sq-white);
	box-shadow: var(--sq-shadow-small);
}

.sq-contact-form p {
	margin: 0 0 22px;
}

.sq-form-grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0 18px;
}

.sq-contact-form label:not(.sq-checkbox) {
	display: block;
	margin-bottom: 8px;
	color: var(--sq-ink);
	font-size: 0.79rem;
	font-weight: 780;
}

.sq-contact-form input[type="text"],
.sq-contact-form input[type="email"],
.sq-contact-form input[type="tel"],
.sq-contact-form select,
.sq-contact-form textarea {
	width: 100%;
	padding: 13px 15px;
	border: 1px solid #cbd5d1;
	border-radius: 9px;
	background: var(--sq-paper);
	color: var(--sq-ink);
	font-size: 0.94rem;
	transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.sq-contact-form input[type="text"],
.sq-contact-form input[type="email"],
.sq-contact-form input[type="tel"],
.sq-contact-form select {
	height: 52px;
}

.sq-contact-form input:focus,
.sq-contact-form select:focus,
.sq-contact-form textarea:focus {
	border-color: var(--sq-green);
	background: var(--sq-white);
	box-shadow: 0 0 0 4px rgba( 23, 107, 87, 0.11 );
	outline: 0;
}

.sq-contact-form textarea {
	resize: vertical;
}

.sq-checkbox {
	display: grid;
	grid-template-columns: 20px 1fr;
	align-items: start;
	gap: 10px;
	margin: 6px 0 25px;
	color: var(--sq-muted);
	font-size: 0.78rem;
	line-height: 1.5;
}

.sq-checkbox input {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--sq-green-deep);
}

.sq-honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.sq-form-note {
	margin: 15px 0 0 !important;
	color: var(--sq-muted);
	font-size: 0.7rem;
}

.sq-form-message {
	padding: 17px;
	margin-bottom: 24px;
	border-radius: 10px;
	font-size: 0.85rem;
}

.sq-form-message strong,
.sq-form-message span {
	display: block;
}

.sq-form-message--success {
	border: 1px solid #b9dfc7;
	background: #eaf7ee;
	color: #1f603f;
}

.sq-form-message--error {
	border: 1px solid #e8c0bc;
	background: #fff0ee;
	color: #8e322b;
}

/* --------------------------------------------------------------------------
   Posts and generic WordPress content
   -------------------------------------------------------------------------- */

.sq-post-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 25px;
	padding-top: 80px;
	padding-bottom: 110px;
}

.sq-post-card {
	overflow: hidden;
	border: 1px solid var(--sq-line);
	border-radius: var(--sq-radius);
	background: var(--sq-white);
}

.sq-post-card__image {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.sq-post-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.sq-post-card:hover .sq-post-card__image img {
	transform: scale( 1.04 );
}

.sq-post-card__body {
	padding: 28px;
}

.sq-post-card__meta {
	display: block;
	margin-bottom: 20px;
	color: var(--sq-green);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sq-post-card h2 {
	font-size: 1.55rem;
}

.sq-post-card h2 a {
	color: inherit;
	text-decoration: none;
}

.sq-post-card p {
	color: var(--sq-muted);
	font-size: 0.9rem;
}

.sq-pagination {
	grid-column: 1 / -1;
	margin-top: 35px;
}

.sq-pagination .nav-links {
	display: flex;
	gap: 8px;
}

.sq-pagination .page-numbers {
	display: grid;
	min-width: 42px;
	height: 42px;
	place-items: center;
	padding: 0 12px;
	border: 1px solid var(--sq-line);
	border-radius: 8px;
	text-decoration: none;
}

.sq-pagination .current {
	border-color: var(--sq-ink);
	background: var(--sq-ink);
	color: var(--sq-white);
}

.sq-article__header {
	text-align: center;
}

.sq-article__image {
	margin-top: -55px;
	margin-bottom: 65px;
}

.sq-article__image img {
	width: 100%;
	max-height: 650px;
	border-radius: var(--sq-radius);
	object-fit: cover;
}

.sq-article__content {
	padding-bottom: 110px;
}

.sq-article__content h2,
.sq-article__content h3 {
	margin-top: 1.6em;
}

.sq-article__content blockquote {
	padding: 25px 30px;
	margin: 35px 0;
	border-left: 6px solid var(--sq-lime);
	background: var(--sq-cream);
	font-size: 1.15rem;
}

.sq-article__content table,
.sq-entry-content table {
	width: 100%;
	border-collapse: collapse;
}

.sq-article__content th,
.sq-article__content td,
.sq-entry-content th,
.sq-entry-content td {
	padding: 12px;
	border: 1px solid var(--sq-line);
	text-align: left;
}

.alignwide {
	width: min( calc( 100vw - 40px ), var(--sq-container) );
	max-width: none;
	margin-right: calc( 50% - 50vw + 20px );
	margin-left: calc( 50% - 50vw + 20px );
}

.alignfull {
	width: 100vw;
	max-width: none;
	margin-right: calc( 50% - 50vw );
	margin-left: calc( 50% - 50vw );
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.sq-footer-cta {
	padding: 72px 0;
	background: var(--sq-orange);
}

.sq-footer-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
}

.sq-footer-cta h2 {
	max-width: 850px;
	margin-bottom: 12px;
}

.sq-footer-cta p {
	max-width: 760px;
	margin-bottom: 0;
	color: rgba( 11, 31, 34, 0.7 );
}

.sq-footer-cta .sq-button {
	flex: 0 0 auto;
	border-color: var(--sq-ink);
	background: var(--sq-ink);
	color: var(--sq-white);
}

.sq-site-footer {
	padding: 78px 0 25px;
	background: #071827;
	color: rgba( 255, 255, 255, 0.62 );
}

.sq-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 0.85fr 0.7fr 1fr;
	gap: clamp( 35px, 6vw, 80px );
}

.sq-brand__link--footer .sq-brand__mark {
	background: var(--sq-lime);
	color: var(--sq-ink);
}

.sq-brand__link--footer .sq-brand__words strong {
	color: var(--sq-white);
}

.sq-brand__link--footer .sq-brand__words small {
	color: rgba( 255, 255, 255, 0.45 );
}

.sq-footer-brand p {
	max-width: 390px;
	margin-top: 25px;
	font-size: 0.85rem;
}

.sq-footer-heading {
	margin: 10px 0 24px;
	color: var(--sq-white);
	font-size: 0.77rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.sq-footer-links {
	padding: 0;
	margin: 0;
	list-style: none;
}

.sq-footer-links li {
	margin-bottom: 11px;
}

.sq-footer-links a {
	color: rgba( 255, 255, 255, 0.62 );
	font-size: 0.82rem;
	text-decoration: none;
}

.sq-footer-links a:hover {
	color: var(--sq-lime);
}

.sq-footer-contact li {
	font-size: 0.82rem;
}

.sq-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding-top: 28px;
	margin-top: 65px;
	border-top: 1px solid rgba( 255, 255, 255, 0.1 );
	font-size: 0.68rem;
}

.sq-footer-bottom p {
	margin: 0;
}

/* Mobile conversion bar keeps the lowest-friction actions within reach. */
.sq-mobile-action-bar {
	display: none;
}

/* --------------------------------------------------------------------------
   Trade-first visual layer · v1.4

   Familiar job-sheet, workwear and site-sign cues replace the previous
   consultancy-style gradients and glass panels.
   -------------------------------------------------------------------------- */

body {
	background-color: var(--sq-paper);
	background-image: linear-gradient( rgba( 35, 35, 35, 0.018 ) 1px, transparent 1px );
	background-size: 100% 28px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	letter-spacing: -0.025em;
}

h1 {
	font-size: clamp( 3rem, 5.6vw, 5.25rem );
}

h2 {
	font-size: clamp( 2.05rem, 3.5vw, 3.45rem );
}

.sq-section {
	padding: clamp( 66px, 8vw, 108px ) 0;
}

.sq-eyebrow {
	padding: 7px 10px 6px;
	margin-bottom: 18px;
	background: var(--sq-yellow);
	color: var(--sq-ink);
	font-size: 0.74rem;
	letter-spacing: 0.075em;
	transform: rotate( -1deg );
}

.sq-eyebrow--light {
	color: var(--sq-ink);
}

.sq-eyebrow i {
	display: none;
}

.sq-button {
	min-height: 52px;
	padding: 13px 21px;
	border: 2px solid var(--sq-ink);
	border-radius: 4px;
	background: var(--sq-yellow);
	box-shadow: 4px 4px 0 var(--sq-ink);
	color: var(--sq-ink);
	font-size: 0.93rem;
	font-weight: 850;
}

.sq-button:hover {
	border-color: var(--sq-ink);
	background: var(--sq-white);
	box-shadow: 2px 2px 0 var(--sq-ink);
	color: var(--sq-ink);
	transform: translate( 2px, 2px );
}

.sq-button--outline,
.sq-button--dark {
	border-color: var(--sq-ink);
	background: transparent;
	box-shadow: none;
	color: var(--sq-ink);
	backdrop-filter: none;
}

.sq-button--outline:hover,
.sq-button--dark:hover {
	border-color: var(--sq-ink);
	background: var(--sq-ink);
	color: var(--sq-white);
}

.sq-text-link {
	color: var(--sq-ink);
	text-decoration: underline;
	text-decoration-color: var(--sq-yellow);
	text-decoration-thickness: 4px;
}

.sq-cta-reassurance,
.sq-home-hero .sq-cta-reassurance,
.sq-page-hero .sq-cta-reassurance {
	color: var(--sq-muted);
	font-size: 0.8rem;
}

.sq-cta-reassurance strong {
	color: var(--sq-ink);
}

.sq-topbar {
	border-bottom: 2px solid var(--sq-ink);
	background: var(--sq-yellow);
	color: var(--sq-ink);
	font-size: 0.73rem;
	letter-spacing: 0.055em;
}

.sq-topbar__detail {
	color: var(--sq-ink);
}

.sq-site-header {
	border-bottom: 2px solid var(--sq-ink);
	background: rgba( 248, 245, 238, 0.97 );
	backdrop-filter: none;
}

.sq-brand__mark {
	border: 2px solid var(--sq-ink);
	border-radius: 3px;
	background: var(--sq-yellow);
	color: var(--sq-ink);
	box-shadow: 3px 3px 0 var(--sq-ink);
	transform: rotate( -2deg );
}

.sq-brand__words strong {
	font-size: 1.13rem;
	font-weight: 900;
}

.sq-brand__words small {
	letter-spacing: 0.025em;
	text-transform: none;
}

.sq-primary-nav a {
	border-radius: 3px;
}

.sq-primary-nav a:hover,
.sq-primary-nav .current-menu-item > a,
.sq-primary-nav .current-menu-ancestor > a {
	background: var(--sq-yellow);
	color: var(--sq-ink);
}

.sq-primary-nav .sub-menu {
	border: 2px solid var(--sq-ink);
	border-radius: 4px;
	box-shadow: 6px 6px 0 var(--sq-ink);
}

.sq-nav-toggle {
	border: 2px solid var(--sq-ink);
	border-radius: 3px;
	background: var(--sq-yellow);
}

.sq-nav-toggle span:not(.screen-reader-text) {
	background: var(--sq-ink);
}

.sq-home-hero {
	padding: clamp( 62px, 7.5vw, 105px ) 0 clamp( 72px, 8vw, 116px );
	border-bottom: 8px solid var(--sq-yellow);
	background: var(--sq-cream);
	color: var(--sq-text);
}

.sq-home-hero::before,
.sq-page-hero::before {
	inset: auto -40px 0 auto;
	width: 32%;
	height: 100%;
	background: repeating-linear-gradient( -45deg, rgba( 35, 35, 35, 0.05 ) 0 12px, transparent 12px 26px );
	content: "";
	mask-image: linear-gradient( 90deg, transparent, #000 );
}

.sq-home-hero::after {
	display: none;
}

.sq-hero-copy h1 {
	max-width: 720px;
	margin-bottom: 24px;
	color: var(--sq-ink);
	font-size: clamp( 3.45rem, 6vw, 5.7rem );
	letter-spacing: -0.045em;
}

.sq-hero-copy h1 span {
	padding: 0 0.08em;
	background: linear-gradient( transparent 58%, var(--sq-yellow) 58% );
	color: var(--sq-ink);
	box-decoration-break: clone;
}

.sq-hero-copy .sq-lead {
	color: var(--sq-text);
}

.sq-hero-checks {
	color: var(--sq-muted);
	font-size: 0.84rem;
}

.sq-hero-checks li::before {
	color: var(--sq-green-deep);
}

.sq-dashboard {
	padding: 0;
	border: 3px solid var(--sq-ink);
	border-radius: 4px;
	background: var(--sq-white);
	box-shadow: 12px 12px 0 var(--sq-yellow);
	color: var(--sq-text);
	transform: rotate( 1.25deg );
}

.sq-dashboard::before {
	display: none;
}

.sq-dashboard__top {
	padding: 19px 21px 17px;
	border-bottom: 3px solid var(--sq-ink);
	background: #fffdf7;
}

.sq-dashboard__top strong {
	font-size: 1.05rem;
}

.sq-dashboard__label {
	color: var(--sq-ink);
	font-size: 0.67rem;
	letter-spacing: 0.08em;
}

.sq-status {
	border: 2px solid var(--sq-ink);
	border-radius: 3px;
	background: var(--sq-yellow);
	color: var(--sq-ink);
}

.sq-status i {
	background: var(--sq-ink);
}

.sq-job-list {
	display: grid;
	padding: 8px 21px;
}

.sq-job-row {
	display: grid;
	grid-template-columns: 38px minmax( 0, 1fr ) auto;
	align-items: center;
	gap: 13px;
	padding: 15px 0;
	border-bottom: 1px dashed var(--sq-line);
}

.sq-job-row:last-child {
	border-bottom: 0;
}

.sq-job-row > b {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 2px solid var(--sq-ink);
	background: var(--sq-cream);
	color: var(--sq-ink);
	font-size: 0.72rem;
}

.sq-job-row > div {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.sq-job-row span {
	color: var(--sq-muted);
	font-size: 0.68rem;
	font-weight: 750;
	text-transform: uppercase;
}

.sq-job-row strong {
	color: var(--sq-ink);
	font-size: 0.9rem;
}

.sq-job-row em {
	padding: 5px 7px;
	background: var(--sq-lime-soft);
	color: var(--sq-ink);
	font-size: 0.62rem;
	font-style: normal;
	font-weight: 820;
	text-transform: uppercase;
}

.sq-dashboard__bottom {
	padding: 13px 21px;
	border-top: 3px solid var(--sq-ink);
	background: var(--sq-ink);
	color: var(--sq-white);
}

.sq-service-strip {
	border-bottom: 2px solid var(--sq-ink);
}

.sq-service-strip a {
	border-color: var(--sq-line);
	font-size: 0.8rem;
}

.sq-service-strip a:hover {
	background: var(--sq-yellow);
}

.sq-proof-band {
	padding: 24px 0;
	border-bottom: 3px solid var(--sq-ink);
	background: var(--sq-yellow);
}

.sq-icon-card,
.sq-compact-card,
.sq-service-card,
.sq-price-card,
.sq-dark-card {
	border: 2px solid var(--sq-ink);
	border-radius: 4px;
	background: var(--sq-white);
	box-shadow: none;
}

.sq-icon-card {
	border-top: 7px solid var(--sq-yellow);
}

.sq-card-number {
	border-radius: 3px;
	background: var(--sq-yellow);
	color: var(--sq-ink);
}

.sq-service-card:hover {
	border-color: var(--sq-ink);
	box-shadow: 6px 6px 0 var(--sq-ink);
	transform: translate( -2px, -2px );
}

.sq-service-card--featured {
	background: var(--sq-yellow);
	color: var(--sq-text);
}

.sq-service-card--featured h3,
.sq-service-card--featured .sq-text-link,
.sq-service-card--featured p {
	color: var(--sq-ink);
}

.sq-service-card__tag,
.sq-service-card--featured .sq-service-card__tag {
	border-radius: 2px;
	background: var(--sq-ink);
	color: var(--sq-white);
}

.sq-section--ink {
	background: var(--sq-ink);
}

.sq-section--angled::before {
	display: none;
}

.sq-step-grid article,
.sq-values-grid article,
.sq-dispute-grid article {
	border-radius: 4px;
}

.sq-step-grid article > span,
.sq-values-grid article > span {
	border-radius: 2px;
	background: var(--sq-yellow);
	color: var(--sq-ink);
}

.sq-price-card--featured {
	border-color: var(--sq-ink);
	background: var(--sq-yellow);
	box-shadow: 8px 8px 0 var(--sq-ink);
}

.sq-price-card__badge,
.sq-price-card__label {
	border-radius: 2px;
}

.sq-inline-cta {
	border-top: 8px solid var(--sq-yellow);
	background: var(--sq-ink);
}

.sq-page-hero,
.sq-page-hero--green,
.sq-page-hero--orange,
.sq-page-hero--blue,
.sq-page-hero--charcoal,
.sq-page-hero--yellow,
.sq-page-hero--case,
.sq-page-hero--about,
.sq-page-hero--contact {
	padding: clamp( 58px, 7vw, 94px ) 0;
	border-bottom: 8px solid var(--sq-yellow);
	background: var(--sq-cream);
	color: var(--sq-text);
}

.sq-page-hero h1,
.sq-page-hero--yellow h1,
.sq-page-hero--yellow .sq-eyebrow {
	color: var(--sq-ink);
	font-size: clamp( 3.05rem, 5.5vw, 5.1rem );
	letter-spacing: -0.04em;
}

.sq-page-hero .sq-lead {
	color: var(--sq-text);
}

.sq-page-hero__stat,
.sq-page-hero__mini,
.sq-risk-card,
.sq-account-card,
.sq-tender-card,
.sq-confidential-card,
.sq-contact-promise,
.sq-change-stack,
.sq-founder-identity {
	border: 3px solid var(--sq-ink);
	border-radius: 4px;
	background: var(--sq-white);
	box-shadow: 9px 9px 0 var(--sq-yellow);
	color: var(--sq-text);
	backdrop-filter: none;
}

.sq-page-hero__stat > span,
.sq-page-hero__mini > span,
.sq-risk-card > span,
.sq-account-card > span,
.sq-tender-card > span,
.sq-confidential-card > span,
.sq-contact-promise > span,
.sq-change-stack > span {
	color: var(--sq-ink);
}

.sq-page-hero__stat strong,
.sq-page-hero__stat small,
.sq-page-hero__stat li,
.sq-page-hero__mini li,
.sq-risk-card b,
.sq-risk-card small,
.sq-account-card b,
.sq-account-card em,
.sq-tender-card b,
.sq-tender-card small,
.sq-confidential-card p,
.sq-contact-promise li,
.sq-change-stack strong,
.sq-change-stack small {
	color: var(--sq-text);
}

.sq-footer-cta {
	border-top: 3px solid var(--sq-ink);
	border-bottom: 3px solid var(--sq-ink);
	background: var(--sq-yellow);
}

.sq-site-footer {
	background: var(--sq-ink);
}

.sq-brand__link--footer .sq-brand__mark {
	background: var(--sq-yellow);
	color: var(--sq-ink);
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media ( max-width: 1120px ) {
	.sq-header__cta {
		display: none;
	}

	.sq-primary-nav a {
		padding-right: 10px;
		padding-left: 10px;
		font-size: 0.82rem;
	}

	.sq-hero-grid {
		grid-template-columns: minmax( 0, 1fr ) minmax( 390px, 0.8fr );
	}

	.sq-card-grid--4,
	.sq-dispute-grid,
	.sq-values-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sq-payment-flow {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}

	.sq-payment-flow article::after {
		display: none;
	}

	.sq-topic-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sq-footer-grid {
		grid-template-columns: 1.35fr 1fr 1fr;
	}

	.sq-footer-grid > div:last-child {
		grid-column: 2 / -1;
	}
}

@media ( max-width: 960px ) {
	.admin-bar .sq-site-header {
		top: 46px;
	}

	.sq-nav-toggle {
		display: block;
		margin-left: auto;
	}

	.sq-nav-toggle[aria-expanded="true"] span:nth-of-type( 2 ) {
		transform: translateY( 6px ) rotate( 45deg );
	}

	.sq-nav-toggle[aria-expanded="true"] span:nth-of-type( 3 ) {
		opacity: 0;
	}

	.sq-nav-toggle[aria-expanded="true"] span:nth-of-type( 4 ) {
		transform: translateY( -6px ) rotate( -45deg );
	}

	.sq-primary-nav {
		position: fixed;
		top: calc( 36px + 82px );
		right: 0;
		bottom: 0;
		left: 0;
		display: none;
		overflow-y: auto;
		padding: 22px 20px 60px;
		background: var(--sq-paper);
	}

	.admin-bar .sq-primary-nav {
		top: calc( 36px + 82px + 46px );
	}

	.sq-primary-nav.is-open {
		display: block;
	}

	.sq-primary-nav ul {
		display: grid;
		align-items: stretch;
		gap: 4px;
	}

	.sq-primary-nav a {
		min-height: 50px;
		padding: 12px 14px;
		font-size: 1rem;
	}

	.sq-primary-nav .menu-item-has-children > a::after {
		display: none;
	}

	.sq-primary-nav .sub-menu {
		position: static;
		width: auto;
		padding: 4px 0 8px 18px;
		border: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		transform: none;
		visibility: visible;
	}

	.sq-primary-nav .sub-menu a {
		min-height: 44px;
		font-size: 0.88rem;
	}

	.sq-hero-grid,
	.sq-page-hero__grid {
		grid-template-columns: 1fr;
	}

	.sq-hero-visual {
		width: min( 100%, 620px );
		margin-inline: auto;
	}

	.sq-dashboard {
		transform: none;
	}

	.sq-section-heading,
	.sq-split,
	.sq-faq-layout,
	.sq-contact-layout,
	.sq-callout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.sq-section-heading {
		align-items: start;
	}

	.sq-faq-layout > div:first-child,
	.sq-contact-sidebar {
		position: static;
	}

	.sq-service-grid,
	.sq-pricing-grid,
	.sq-post-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sq-price-card--featured {
		transform: none;
	}

	.sq-price-card:last-child {
		grid-column: 1 / -1;
	}

	.sq-step-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sq-case-feature {
		grid-template-columns: 1fr;
	}

	.sq-founder-panel,
	.sq-founder-story {
		grid-template-columns: 210px 1fr;
		gap: 52px;
	}

	.sq-cycle,
	.sq-handover-flow {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sq-cycle > i,
	.sq-handover-flow > i {
		display: none;
	}

	.sq-record-grid,
	.sq-review-list {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}

	.sq-case-study {
		grid-template-columns: 150px minmax( 0, 1fr );
		gap: 45px;
	}

	.sq-footer-cta__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media ( max-width: 720px ) {
	body {
		padding-bottom: 76px;
		font-size: 16px;
	}

	.sq-mobile-action-bar {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 100;
		display: grid;
		grid-template-columns: minmax( 105px, 0.42fr ) minmax( 0, 1fr );
		gap: 8px;
		padding: 9px max( 12px, env( safe-area-inset-right ) ) calc( 9px + env( safe-area-inset-bottom ) ) max( 12px, env( safe-area-inset-left ) );
		border-top: 1px solid rgba( 255, 255, 255, 0.12 );
		background: rgba( 35, 35, 35, 0.98 );
		box-shadow: 0 -10px 30px rgba( 35, 35, 35, 0.2 );
		backdrop-filter: blur( 14px );
	}

	.sq-mobile-action-bar--single {
		grid-template-columns: 1fr;
	}

	.sq-mobile-action-bar a {
		display: flex;
		min-height: 48px;
		align-items: center;
		justify-content: center;
		padding: 10px 13px;
		border: 1px solid rgba( 255, 255, 255, 0.32 );
		border-radius: 9px;
		color: var(--sq-white);
		font-size: 0.79rem;
		font-weight: 820;
		line-height: 1.15;
		text-align: center;
		text-decoration: none;
	}

	.sq-mobile-action-bar a:last-child {
		border-color: var(--sq-orange);
		background: var(--sq-orange);
		color: var(--sq-ink);
	}

	.sq-container {
		width: min( calc( 100% - 30px ), var(--sq-container) );
	}

	.sq-topbar__detail {
		display: none;
	}

	.sq-topbar__inner {
		justify-content: center;
		text-align: center;
	}

	.sq-header__inner {
		min-height: 72px;
	}

	.sq-brand__words small {
		display: none;
	}

	.sq-brand__mark {
		width: 42px;
		height: 42px;
	}

	.sq-primary-nav {
		top: calc( 36px + 72px );
	}

	.admin-bar .sq-primary-nav {
		top: calc( 36px + 72px + 46px );
	}

	.sq-home-hero {
		padding-top: 64px;
	}

	.sq-hero-copy h1,
	.sq-page-hero h1 {
		font-size: clamp( 3rem, 15vw, 4.55rem );
	}

	.sq-button-row {
		align-items: stretch;
		flex-direction: column;
	}

	.sq-button-row .sq-button {
		width: 100%;
	}

	.sq-dashboard {
		padding: 0;
	}

	.sq-dashboard__bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.sq-service-strip {
		overflow-x: auto;
	}

	.sq-service-strip .sq-container {
		width: max-content;
		min-width: 100%;
		grid-template-columns: repeat( 5, 170px );
	}

	.sq-service-strip a {
		min-height: 55px;
	}

	.sq-proof-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 24px 0;
	}

	.sq-proof-grid > div,
	.sq-proof-grid > div:first-child {
		padding: 0 18px;
		border-right: 1px solid rgba( 11, 31, 34, 0.2 );
	}

	.sq-proof-grid > div:nth-child( 2n ) {
		border-right: 0;
	}

	.sq-card-grid--3,
	.sq-card-grid--4,
	.sq-service-grid,
	.sq-pricing-grid,
	.sq-step-grid,
	.sq-payment-flow,
	.sq-check-columns,
	.sq-quadrant,
	.sq-comparison,
	.sq-topic-grid,
	.sq-account-flow,
	.sq-dispute-grid,
	.sq-values-grid,
	.sq-post-grid {
		grid-template-columns: 1fr;
	}

	.sq-price-card:last-child {
		grid-column: auto;
	}

	.sq-price-card {
		min-height: auto;
	}

	.sq-step-grid article,
	.sq-dispute-grid article,
	.sq-values-grid article {
		min-height: 230px;
	}

	.sq-pricing-note {
		align-items: flex-start;
		flex-direction: column;
	}

	.sq-founder-panel,
	.sq-founder-story {
		grid-template-columns: 1fr;
	}

	.sq-founder-mark,
	.sq-founder-mark--large {
		width: 170px;
		height: 205px;
	}

	.sq-inline-cta .sq-container {
		align-items: flex-start;
		flex-direction: column;
	}

	.sq-inline-cta .sq-button {
		width: 100%;
	}

	.sq-page-hero__stat,
	.sq-page-hero__mini,
	.sq-risk-card,
	.sq-account-card,
	.sq-tender-card,
	.sq-confidential-card,
	.sq-contact-promise {
		padding: 24px;
	}

	.sq-feature-list article {
		grid-template-columns: 45px 1fr;
	}

	.sq-cycle,
	.sq-handover-flow,
	.sq-data-panel,
	.sq-notice-list {
		grid-template-columns: 1fr;
	}

	.sq-record-grid,
	.sq-review-list {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sq-case-study {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.sq-case-study aside {
		flex-direction: row;
		align-items: center;
		gap: 18px;
	}

	.sq-case-study aside > span {
		width: 55px;
		height: 55px;
		margin-bottom: 0;
	}

	.sq-form-grid {
		grid-template-columns: 1fr;
	}

	.sq-footer-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sq-footer-brand {
		grid-column: 1 / -1;
	}

	.sq-footer-grid > div:last-child {
		grid-column: auto;
	}

	.sq-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.alignwide {
		width: calc( 100vw - 30px );
		margin-right: calc( 50% - 50vw + 15px );
		margin-left: calc( 50% - 50vw + 15px );
	}
}

@media ( max-width: 480px ) {
	.sq-brand__words strong {
		font-size: 0.98rem;
	}

	.sq-dashboard__grid {
		grid-template-columns: 1fr;
	}

	.sq-metric--wide,
	.sq-metric--chart {
		grid-column: auto;
	}

	.sq-proof-grid,
	.sq-record-grid,
	.sq-review-list,
	.sq-footer-grid {
		grid-template-columns: 1fr;
	}

	.sq-proof-grid > div,
	.sq-proof-grid > div:first-child {
		padding: 10px 0;
		border-right: 0;
		border-bottom: 1px solid rgba( 11, 31, 34, 0.2 );
	}

	.sq-footer-brand {
		grid-column: auto;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media print {
	.sq-topbar,
	.sq-site-header,
	.sq-service-strip,
	.sq-footer-cta,
	.sq-site-footer,
	.sq-mobile-action-bar,
	.sq-button,
	.sq-inline-cta {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
		font-size: 11pt;
	}

	.sq-section,
	.sq-page-hero,
	.sq-home-hero {
		padding: 25px 0;
		background: #fff !important;
		color: #000 !important;
	}

	.sq-section--ink h2,
	.sq-section--ink h3,
	.sq-page-hero h1,
	.sq-home-hero h1 {
		color: #000 !important;
	}
}

/* --------------------------------------------------------------------------
   Retainer-led visual layer · v1.5

   Payment green and trust blue now carry the hierarchy. Warm amber is kept
   for small prompts only, while pale sage replaces large yellow surfaces.
   -------------------------------------------------------------------------- */

@media screen {
	:root {
		--sq-green: #2f7652;
		--sq-green-deep: #205a3e;
		--sq-blue: #315f70;
		--sq-lime: #dfeae4;
		--sq-lime-soft: #edf4f0;
		--sq-orange: #c8952f;
		--sq-yellow: #dfeae4;
		--sq-cream: #eee9df;
		--sq-sand: #ded7ca;
		--sq-paper: #f8f6f0;
		--sq-muted: #5e625d;
	}

	body {
		font-size: 18px;
		line-height: 1.68;
	}

	.sq-topbar {
		border-bottom-color: var(--sq-green-deep);
		background: var(--sq-green-deep);
		color: var(--sq-white);
		font-size: 0.88rem;
	}

	.sq-topbar__detail,
	.sq-topbar a {
		color: var(--sq-white);
	}

	.sq-brand__mark,
	.sq-brand__link--footer .sq-brand__mark {
		background: var(--sq-green-deep);
		color: var(--sq-white);
		box-shadow: 3px 3px 0 #173f2d;
	}

	.sq-brand__words strong {
		font-size: 1.2rem;
	}

	.sq-brand__words small {
		font-size: 0.84rem;
	}

	.sq-primary-nav a {
		font-size: 0.94rem;
	}

	.sq-primary-nav a:hover,
	.sq-primary-nav .current-menu-item > a,
	.sq-primary-nav .current-menu-ancestor > a,
	.sq-service-strip a:hover {
		background: #dfeae4;
	}

	.sq-nav-toggle {
		background: var(--sq-white);
	}

	.sq-eyebrow {
		background: #dce8e3;
		font-size: 0.86rem;
		letter-spacing: 0.055em;
		transform: none;
	}

	.sq-section--ink .sq-eyebrow,
	.sq-inline-cta .sq-eyebrow {
		background: rgba( 255, 255, 255, 0.13 );
		color: var(--sq-white);
	}

	.sq-button,
	.sq-button--primary {
		border-color: #173f2d;
		background: var(--sq-green-deep);
		box-shadow: 4px 4px 0 #173f2d;
		color: var(--sq-white);
		font-size: 1rem;
	}

	.sq-button:hover,
	.sq-button--primary:hover {
		border-color: var(--sq-ink);
		background: var(--sq-white);
		color: var(--sq-green-deep);
	}

	.sq-button--light {
		border-color: var(--sq-white);
		background: var(--sq-white);
		box-shadow: 4px 4px 0 rgba( 0, 0, 0, 0.28 );
		color: var(--sq-green-deep);
	}

	.sq-button--dark,
	.sq-button--outline {
		border-color: var(--sq-green-deep);
		background: transparent;
		box-shadow: none;
		color: var(--sq-green-deep);
	}

	.sq-home-hero,
	.sq-page-hero,
	.sq-page-hero--green,
	.sq-page-hero--orange,
	.sq-page-hero--blue,
	.sq-page-hero--charcoal,
	.sq-page-hero--yellow,
	.sq-page-hero--case,
	.sq-page-hero--about,
	.sq-page-hero--contact {
		border-bottom-color: var(--sq-green-deep);
		background: var(--sq-cream);
	}

	.sq-hero-copy h1 span {
		background: linear-gradient( transparent 64%, #bfd5c8 64% );
	}

	.sq-dashboard,
	.sq-page-hero__stat,
	.sq-page-hero__mini,
	.sq-risk-card,
	.sq-account-card,
	.sq-tender-card,
	.sq-confidential-card,
	.sq-contact-promise,
	.sq-change-stack,
	.sq-founder-identity {
		box-shadow: 9px 9px 0 #b8cec0;
	}

	.sq-status,
	.sq-job-row > b,
	.sq-card-number {
		background: #dfeae4;
	}

	.sq-proof-band {
		border-bottom-color: #173f2d;
		background: var(--sq-green-deep);
		color: var(--sq-white);
	}

	.sq-proof-grid strong,
	.sq-proof-grid span {
		color: var(--sq-white);
	}

	.sq-icon-card {
		border-top-color: var(--sq-green);
	}

	.sq-service-card--featured {
		background: #e3ede7;
	}

	.sq-step-grid article > span,
	.sq-values-grid article > span {
		background: var(--sq-green);
		color: var(--sq-white);
	}

	.sq-price-card--featured {
		border-color: #173f2d;
		background: var(--sq-green-deep);
		box-shadow: 8px 8px 0 #a9c6b4;
		color: var(--sq-white);
	}

	.sq-price-card--featured h3,
	.sq-price-card--featured p,
	.sq-price-card--featured strong,
	.sq-price-card--featured small,
	.sq-price-card--featured .sq-price span,
	.sq-price-card--featured li,
	.sq-price-card--featured .sq-price-card__label {
		color: var(--sq-white);
	}

	.sq-price-card--featured .sq-tick-list li::before {
		color: #bfe0ca;
	}

	.sq-price-card--featured .sq-price-card__badge {
		background: var(--sq-white);
		color: var(--sq-green-deep);
	}

	.sq-price-card--featured .sq-price-billing,
	.sq-price-card--featured .sq-price-billing strong,
	.sq-price-card--featured .sq-price-billing span,
	.sq-price-card--featured .sq-price-billing small {
		color: var(--sq-ink);
	}

	.sq-price-card--featured .sq-price-billing .sq-save-badge {
		color: var(--sq-white);
	}

	.sq-price-card--featured .sq-button {
		border-color: var(--sq-white);
		background: var(--sq-white);
		box-shadow: none;
		color: var(--sq-green-deep);
	}

	.sq-inline-cta {
		border-top-color: #a9c6b4;
	}

	.sq-footer-cta {
		border-color: #173f2d;
		background: var(--sq-green-deep);
		color: var(--sq-white);
	}

	.sq-footer-cta h2,
	.sq-footer-cta p {
		color: var(--sq-white);
	}

	.sq-cta-reassurance,
	.sq-home-hero .sq-cta-reassurance,
	.sq-page-hero .sq-cta-reassurance,
	.sq-hero-checks,
	.sq-service-strip a,
	.sq-service-card p,
	.sq-compact-card p,
	.sq-icon-card p,
	.sq-price-card p,
	.sq-dark-card p,
	.sq-faq-list p,
	.sq-contact-form label,
	.sq-contact-form input,
	.sq-contact-form select,
	.sq-contact-form textarea {
		font-size: 0.98rem;
	}

	.sq-dashboard__label,
	.sq-job-row span,
	.sq-job-row em,
	.sq-job-row > b,
	.sq-status,
	.sq-card-number,
	.sq-metric > span,
	.sq-metric > small,
	.sq-deadline small,
	.sq-deadline em,
	.sq-page-hero__stat small,
	.sq-page-hero__mini small,
	.sq-risk-card small,
	.sq-account-card em,
	.sq-tender-card small,
	.sq-change-stack small,
	.sq-price-card__badge,
	.sq-page-hero__stat > span,
	.sq-page-hero__mini > span,
	.sq-risk-card > span,
	.sq-account-card > span,
	.sq-tender-card > span,
	.sq-confidential-card > span,
	.sq-contact-promise > span,
	.sq-timeline-list span,
	.sq-data-panel span,
	.sq-quadrant article > span,
	.sq-comparison__label,
	.sq-notice-list small,
	.sq-founder-identity > small,
	.sq-contact-promise b {
		font-size: 0.9rem;
	}

	.sq-job-row strong,
	.sq-dashboard__bottom,
	.sq-page-hero__stat li,
	.sq-page-hero__mini li,
	.sq-footer-links a,
	.sq-footer-contact li {
		font-size: 0.98rem;
	}

	.sq-footer-bottom {
		font-size: 0.9rem;
	}

	.sq-proof-grid span,
	.sq-service-card__tag,
	.sq-step-grid article > span,
	.sq-price-card__label,
	.sq-price small,
	.sq-price span,
	.sq-case-feature__panel > span,
	.sq-case-feature__panel b,
	.sq-change-stack > span,
	.sq-feature-list article > span,
	.sq-payment-flow article > span,
	.sq-account-flow span,
	.sq-dispute-grid span,
	.sq-values-grid span,
	.sq-account-flow article > span,
	.sq-handover-flow span,
	.sq-handover-flow small,
	.sq-case-study aside small,
	.sq-review-list span,
	.sq-region-panel > span,
	.sq-contact-form label > span,
	.sq-form-note,
	.sq-form-message,
	.sq-footer-heading,
	.sq-footer-brand p {
		font-size: 0.9rem;
	}

	.sq-dashboard__top strong,
	.sq-change-stack strong,
	.sq-cycle span,
	.sq-payment-flow p,
	.sq-data-panel strong,
	.sq-record-grid span,
	.sq-review-list span,
	.sq-account-card b,
	.sq-account-flow p,
	.sq-dispute-grid p,
	.sq-values-grid p,
	.sq-tender-card b,
	.sq-step-grid p,
	.sq-pricing-note,
	.sq-checkbox {
		font-size: 0.98rem;
	}

	.sq-topbar,
	.sq-brand__words small,
	.sq-primary-nav a,
	.sq-service-strip a,
	.sq-tag-row span,
	.sq-contact-card,
	.sq-contact-form .sq-form-consent,
	.sq-contact-form .sq-form-consent span {
		line-height: 1.5;
	}

	.sq-text-link {
		text-decoration-color: #8db49d;
	}

	::selection {
		background: #bfd5c8;
	}
}

@media screen and ( max-width: 760px ) {
	body {
		font-size: 17px;
	}

	.sq-primary-nav a {
		font-size: 1rem;
	}

	.sq-topbar {
		font-size: 0.9rem;
	}
}

/* --------------------------------------------------------------------------
   Logo-led subcontractor brand layer · v1.6

   The hard-hat yellow is a recognition and action cue, not a large surface.
   Charcoal, working green, soft sage and warm paper carry the main layout.
   -------------------------------------------------------------------------- */

@media screen {
	:root {
		--sq-ink: #20262a;
		--sq-ink-2: #333b3f;
		--sq-green: #2d6f50;
		--sq-green-deep: #20563e;
		--sq-brand-yellow: #f4c430;
		--sq-lime: #e6eee9;
		--sq-lime-soft: #f0f5f2;
		--sq-yellow: #e6eee9;
		--sq-cream: #f0ece3;
		--sq-sand: #ded8cc;
		--sq-paper: #f8f6ef;
		--sq-text: #303537;
		--sq-muted: #59615e;
	}

	.sq-topbar {
		border-bottom: 4px solid var(--sq-brand-yellow);
		background: var(--sq-ink);
		color: var(--sq-white);
		letter-spacing: 0.045em;
		text-transform: none;
	}

	.sq-topbar__detail,
	.sq-topbar a {
		color: var(--sq-white);
	}

	.sq-topbar a,
	.sq-parent-company-link,
	.sq-parent-company-note a,
	.sq-footer-bottom a {
		font-weight: 800;
		text-decoration-color: var(--sq-brand-yellow);
		text-decoration-thickness: 2px;
	}

	.sq-header__inner {
		min-height: 94px;
		gap: 20px;
	}

	.sq-brand__link {
		line-height: 0;
	}

	.sq-brand__logo {
		width: 270px;
		max-width: 34vw;
		height: auto;
	}

	.sq-primary-nav a {
		font-size: 0.95rem;
	}

	.sq-primary-nav a:hover,
	.sq-primary-nav .current-menu-item > a,
	.sq-primary-nav .current-menu-ancestor > a,
	.sq-service-strip a:hover {
		background: var(--sq-lime);
		box-shadow: inset 0 -3px 0 var(--sq-brand-yellow);
	}

	.sq-button,
	.sq-button--primary {
		border-color: #173f2f;
		background: var(--sq-green-deep);
		box-shadow: 4px 4px 0 var(--sq-ink);
		color: var(--sq-white);
	}

	.sq-header__cta,
	.sq-button--small {
		border-color: var(--sq-ink);
		background: var(--sq-brand-yellow);
		color: var(--sq-ink);
	}

	.sq-header__cta:hover,
	.sq-button--small:hover {
		border-color: var(--sq-ink);
		background: var(--sq-white);
		color: var(--sq-ink);
	}

	.sq-eyebrow {
		border-left: 5px solid var(--sq-brand-yellow);
		background: var(--sq-lime);
		color: var(--sq-ink);
	}

	.sq-eyebrow--light,
	.sq-section--ink .sq-eyebrow,
	.sq-inline-cta .sq-eyebrow {
		border-left-color: var(--sq-brand-yellow);
	}

	.sq-home-hero,
	.sq-page-hero,
	.sq-page-hero--green,
	.sq-page-hero--orange,
	.sq-page-hero--blue,
	.sq-page-hero--charcoal,
	.sq-page-hero--yellow,
	.sq-page-hero--case,
	.sq-page-hero--about,
	.sq-page-hero--contact {
		border-bottom-color: var(--sq-brand-yellow);
		background: var(--sq-cream);
	}

	.sq-hero-copy h1 span {
		background: linear-gradient( transparent 70%, rgba( 244, 196, 48, 0.58 ) 70% );
	}

	.sq-dashboard,
	.sq-page-hero__stat,
	.sq-page-hero__mini,
	.sq-risk-card,
	.sq-account-card,
	.sq-tender-card,
	.sq-confidential-card,
	.sq-contact-promise,
	.sq-change-stack,
	.sq-founder-identity {
		box-shadow: 9px 9px 0 rgba( 244, 196, 48, 0.72 );
	}

	.sq-status,
	.sq-job-row > b,
	.sq-card-number {
		background: var(--sq-brand-yellow);
		color: var(--sq-ink);
	}

	.sq-proof-band,
	.sq-footer-cta {
		border-color: var(--sq-ink);
		background: var(--sq-green-deep);
		color: var(--sq-white);
	}

	.sq-service-card--featured {
		border-top: 7px solid var(--sq-brand-yellow);
		background: var(--sq-lime);
	}

	.sq-price-card--featured {
		border-top: 7px solid var(--sq-brand-yellow);
		box-shadow: 8px 8px 0 #a9c6b4;
	}

	.sq-price-card--featured .sq-price-card__badge {
		background: var(--sq-brand-yellow);
		color: var(--sq-ink);
	}

	.sq-site-footer {
		border-top: 5px solid var(--sq-brand-yellow);
		background: var(--sq-ink);
	}

	.sq-brand__logo--footer {
		width: 285px;
		max-width: 100%;
	}

	.sq-footer-brand p,
	.sq-footer-links a,
	.sq-footer-contact li,
	.sq-footer-bottom {
		font-size: 0.96rem;
	}

	.sq-parent-company-note {
		padding-left: 13px;
		border-left: 4px solid var(--sq-brand-yellow);
	}

	.sq-parent-company-note a,
	.sq-footer-bottom a {
		color: var(--sq-white);
	}

	.sq-footer-heading {
		font-size: 0.92rem;
	}

	.sq-mobile-action-bar a:last-child {
		border-color: var(--sq-brand-yellow);
		background: var(--sq-brand-yellow);
		color: var(--sq-ink);
	}

	::selection {
		background: #f9df82;
		color: var(--sq-ink);
	}
}

@media ( max-width: 1120px ) and ( min-width: 961px ) {
	.sq-brand__logo {
		width: 225px;
	}
}

@media ( max-width: 960px ) {
	.sq-brand__logo {
		width: 255px;
		max-width: min( 58vw, 255px );
	}

	.sq-primary-nav {
		top: calc( 40px + 94px );
	}

	.admin-bar .sq-primary-nav {
		top: calc( 40px + 94px + 46px );
	}
}

@media ( max-width: 520px ) {
	.sq-header__inner {
		min-height: 78px;
	}

	.sq-brand__logo {
		width: 210px;
		max-width: calc( 100vw - 105px );
	}

	.sq-primary-nav {
		top: calc( 40px + 78px );
	}

	.admin-bar .sq-primary-nav {
		top: calc( 40px + 78px + 46px );
	}
}

/* --------------------------------------------------------------------------
   Stronger type and tighter page rhythm · v1.7

   Self-hosted Barlow gives body copy more weight and clarity. Barlow
   Condensed keeps headings direct without forcing them across extra lines.
   -------------------------------------------------------------------------- */

@media screen {
	body {
		font-family: var(--sq-font);
		font-size: 19px;
		font-weight: 500;
		line-height: 1.62;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-family: var(--sq-display);
		font-weight: 800;
		letter-spacing: -0.018em;
		line-height: 1.01;
	}

	h1 {
		font-size: clamp( 3rem, 5.2vw, 5.25rem );
	}

	h2 {
		font-size: clamp( 2.25rem, 3.6vw, 3.7rem );
	}

	h3 {
		font-size: clamp( 1.45rem, 2.1vw, 1.9rem );
	}

	.sq-container {
		width: min( calc( 100% - 48px ), var(--sq-container) );
	}

	.sq-section {
		padding: clamp( 54px, 6.5vw, 86px ) 0;
	}

	.sq-section-heading {
		grid-template-columns: minmax( 0, 1.25fr ) minmax( 280px, 0.75fr );
		gap: 42px;
		margin-bottom: 36px;
	}

	.sq-space-top {
		margin-top: 34px;
	}

	.sq-lead {
		font-size: clamp( 1.2rem, 1.65vw, 1.45rem );
		font-weight: 500;
		line-height: 1.48;
	}

	.sq-eyebrow {
		margin-bottom: 15px;
		font-size: 0.92rem;
		font-weight: 800;
	}

	.sq-button,
	.sq-text-link,
	.sq-primary-nav a {
		font-weight: 700;
	}

	.sq-button {
		font-size: 1.05rem;
	}

	.sq-home-hero {
		padding: clamp( 52px, 6.5vw, 82px ) 0 clamp( 58px, 7vw, 92px );
	}

	.sq-hero-grid {
		grid-template-columns: minmax( 0, 0.95fr ) minmax( 420px, 0.8fr );
		gap: clamp( 42px, 5vw, 66px );
	}

	.sq-hero-copy h1 {
		max-width: 680px;
		margin-bottom: 20px;
		font-size: clamp( 3.45rem, 5.6vw, 5.45rem );
		font-weight: 900;
		letter-spacing: -0.022em;
		line-height: 0.92;
	}

	.sq-hero-copy .sq-lead {
		max-width: 630px;
	}

	.sq-button-row {
		margin-top: 24px;
	}

	.sq-hero-checks {
		gap: 8px 20px;
		margin-top: 20px;
		font-size: 1rem;
	}

	.sq-dashboard__label,
	.sq-job-row span,
	.sq-job-row em,
	.sq-job-row > b,
	.sq-status,
	.sq-dashboard__bottom {
		font-family: var(--sq-font);
		font-size: 0.9rem;
	}

	.sq-dashboard__top strong,
	.sq-job-row strong {
		font-size: 1.02rem;
	}

	.sq-service-strip a {
		min-height: 58px;
		font-size: 0.96rem;
	}

	.sq-proof-band {
		padding: 18px 0;
	}

	.sq-proof-grid > div {
		min-height: 56px;
		padding-inline: 22px;
	}

	.sq-proof-grid strong {
		font-family: var(--sq-display);
		font-size: 1.7rem;
		font-weight: 800;
	}

	.sq-proof-grid span {
		font-size: 0.9rem;
		letter-spacing: 0.025em;
	}

	.sq-icon-card,
	.sq-compact-card,
	.sq-service-card,
	.sq-price-card,
	.sq-dark-card {
		padding: 27px;
	}

	.sq-icon-card,
	.sq-service-card,
	.sq-dark-card {
		min-height: 0;
	}

	.sq-card-number,
	.sq-service-card__tag {
		margin-bottom: 20px;
	}

	.sq-icon-card p,
	.sq-compact-card p,
	.sq-service-card p,
	.sq-price-card > p,
	.sq-dark-card p,
	.sq-tick-list li {
		font-size: 1rem;
	}

	.sq-service-card {
		min-height: 320px;
	}

	.sq-step-grid article {
		min-height: 210px;
		padding: 27px;
	}

	.sq-step-grid--3 {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}

	.sq-step-grid article > span {
		margin-bottom: 30px;
		font-size: 0.92rem;
	}

	.sq-step-grid p,
	.sq-cycle span {
		font-size: 1rem;
	}

	.sq-price-card {
		min-height: 0;
		padding: 30px;
	}

	.sq-price-card h3 {
		font-size: 2.45rem;
	}

	.sq-price-card__label,
	.sq-price-card__badge,
	.sq-price small,
	.sq-price span {
		font-size: 0.92rem;
	}

	.sq-price {
		min-height: 92px;
		padding: 16px 0;
		margin: 8px 0 18px;
	}

	.sq-price strong {
		font-family: var(--sq-display);
		font-size: clamp( 2.5rem, 3.4vw, 3.25rem );
		font-weight: 900;
	}

	.sq-price-card--preview .sq-tick-list {
		margin: 14px 0 22px;
	}

	.sq-price-card--preview .sq-button {
		margin-top: 10px;
	}

	.sq-pricing-note {
		font-size: 1rem;
	}

	.sq-page-hero,
	.sq-page-hero--green,
	.sq-page-hero--orange,
	.sq-page-hero--blue,
	.sq-page-hero--charcoal,
	.sq-page-hero--yellow,
	.sq-page-hero--case,
	.sq-page-hero--about,
	.sq-page-hero--contact {
		padding: clamp( 52px, 6.5vw, 82px ) 0;
	}

	.sq-page-hero h1 {
		font-size: clamp( 3.35rem, 5.4vw, 5.25rem );
		font-weight: 900;
		letter-spacing: -0.022em;
		line-height: 0.94;
	}

	.sq-page-hero__stat strong {
		font-family: var(--sq-display);
		font-size: 2.8rem;
		font-weight: 900;
	}

	.sq-page-hero__stat small,
	.sq-page-hero__stat li {
		font-size: 1rem;
	}

	.sq-feature-list article {
		padding: 24px 0;
	}

	.sq-cycle article {
		min-height: 145px;
	}

	.sq-faq-list summary {
		font-family: var(--sq-font);
		font-size: 1.16rem;
		font-weight: 700;
	}

	.sq-faq-list details p {
		font-size: 1.02rem;
	}

	.sq-plan-table-wrap {
		overflow-x: auto;
		border: 2px solid var(--sq-ink);
		background: var(--sq-white);
		box-shadow: 7px 7px 0 #b8cec0;
	}

	.sq-plan-table {
		width: 100%;
		min-width: 760px;
		border-collapse: collapse;
	}

	.sq-plan-table th,
	.sq-plan-table td {
		padding: 17px 20px;
		border: 0;
		border-right: 1px solid var(--sq-line);
		border-bottom: 1px solid var(--sq-line);
		font-size: 1rem;
		vertical-align: top;
	}

	.sq-plan-table thead th {
		background: var(--sq-ink);
		color: var(--sq-white);
		font-family: var(--sq-display);
		font-size: 1.55rem;
		font-weight: 800;
		text-align: left;
	}

	.sq-plan-table thead th:nth-child( 3 ) {
		background: var(--sq-green-deep);
	}

	.sq-plan-table tbody th {
		width: 23%;
		background: var(--sq-lime-soft);
		color: var(--sq-ink);
		font-weight: 700;
	}

	.sq-plan-table tr:last-child th,
	.sq-plan-table tr:last-child td {
		border-bottom: 0;
	}

	.sq-plan-table th:last-child,
	.sq-plan-table td:last-child {
		border-right: 0;
	}
}

@media screen and ( max-width: 960px ) {
	.sq-hero-grid {
		grid-template-columns: 1fr;
	}

	.sq-section-heading {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.sq-service-card {
		min-height: 0;
	}
}

@media screen and ( max-width: 720px ) {
	body {
		font-size: 18px;
	}

	.sq-container {
		width: min( calc( 100% - 30px ), var(--sq-container) );
	}

	.sq-section {
		padding: 46px 0;
	}

	.sq-step-grid--3 {
		grid-template-columns: 1fr;
	}

	.sq-home-hero,
	.sq-page-hero {
		padding: 46px 0 54px;
	}

	.sq-hero-copy h1,
	.sq-page-hero h1 {
		font-size: clamp( 3rem, 13vw, 4.25rem );
	}

	.sq-icon-card,
	.sq-compact-card,
	.sq-service-card,
	.sq-price-card,
	.sq-dark-card {
		padding: 24px;
	}

	.sq-proof-grid strong {
		font-size: 1.5rem;
	}

	.sq-price-card--featured {
		box-shadow: 5px 5px 0 #a9c6b4;
	}
}

/* --------------------------------------------------------------------------
   Consent-first cookie notice · v2.1.5
   -------------------------------------------------------------------------- */

.sq-footer-cookie-button {
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 700;
	text-align: left;
	text-decoration: underline;
	text-decoration-color: var(--sq-yellow);
	text-decoration-thickness: 2px;
	cursor: pointer;
}

.sq-footer-cookie-button:hover,
.sq-footer-cookie-button:focus-visible {
	color: var(--sq-yellow);
}

.sq-cookie-notice {
	position: fixed;
	right: 22px;
	bottom: 22px;
	left: 22px;
	z-index: 100000;
	display: grid;
	width: min( calc( 100% - 44px ), 1040px );
	grid-template-columns: minmax( 0, 1fr ) minmax( 250px, 0.36fr );
	align-items: end;
	gap: clamp( 22px, 4vw, 48px );
	padding: clamp( 22px, 3vw, 34px );
	margin-inline: auto;
	border: 3px solid var(--sq-ink);
	background: var(--sq-paper);
	box-shadow: 10px 10px 0 rgba( 32, 86, 62, 0.92 );
	color: var(--sq-ink);
}

.sq-cookie-notice[hidden] {
	display: none !important;
}

.sq-cookie-notice__label {
	display: inline-block;
	padding: 5px 9px;
	margin-bottom: 10px;
	border-left: 5px solid var(--sq-yellow);
	background: #e6eee9;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.07em;
	line-height: 1.2;
	text-transform: uppercase;
}

.sq-cookie-notice h2 {
	margin: 0 0 9px;
	font-size: clamp( 1.45rem, 2.2vw, 2rem );
	line-height: 1.05;
}

.sq-cookie-notice p {
	max-width: 74ch;
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.55;
}

.sq-cookie-notice a {
	color: var(--sq-green-deep);
	font-weight: 800;
	text-decoration-thickness: 2px;
}

.sq-cookie-notice__status {
	min-height: 1.2em;
	margin-top: 8px !important;
	color: #4f5652;
	font-size: 0.82rem !important;
	font-weight: 700;
}

.sq-cookie-notice__actions {
	display: grid;
	gap: 11px;
}

.sq-cookie-choice {
	min-height: 48px;
	padding: 11px 15px;
	border: 2px solid var(--sq-ink);
	background: var(--sq-white);
	color: var(--sq-ink);
	font: 800 0.93rem/1.2 var(--sq-font);
	cursor: pointer;
}

.sq-cookie-choice--accept {
	background: var(--sq-yellow);
}

.sq-cookie-choice--reject {
	background: var(--sq-white);
}

.sq-cookie-choice:hover,
.sq-cookie-choice:focus-visible {
	outline: 3px solid rgba( 32, 86, 62, 0.26 );
	outline-offset: 2px;
	transform: translateY( -1px );
}

@media screen and ( max-width: 760px ) {
	.sq-cookie-notice {
		right: 12px;
		bottom: 12px;
		left: 12px;
		width: calc( 100% - 24px );
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 20px;
		box-shadow: 6px 6px 0 rgba( 32, 86, 62, 0.92 );
	}

	.sq-cookie-notice__actions {
		grid-template-columns: 1fr;
	}
}

/* Four-plan commerce and replaceable people/location imagery · v1.10 */
@media screen {
	.sq-pricing-grid--4 {
		grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
		gap: 16px;
	}

	.sq-pricing-grid--4 .sq-price-card {
		min-width: 0;
		padding: 25px;
	}

	.sq-pricing-grid--4 .sq-price-card h3 {
		font-size: 1.9rem;
	}

	.sq-pricing-grid--4 .sq-price-billing strong {
		font-size: 1.5rem;
	}

	.sq-plan-cta-row {
		display: grid;
		gap: 10px;
		margin-top: auto;
		padding-top: 20px;
	}

	.sq-plan-cta-row .sq-button {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.sq-editable-image {
		position: relative;
		align-self: stretch;
		min-width: 0;
		margin: 0;
		overflow: hidden;
		border: 3px solid var(--sq-ink);
		background: var(--sq-white);
		box-shadow: 8px 8px 0 #b8cec0;
	}

	.sq-editable-image img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.sq-founder-photo {
		aspect-ratio: 1 / 1;
		max-width: 430px;
	}

	.sq-page-hero__grid > .sq-founder-photo {
		justify-self: end;
	}

	.sq-location-panel {
		display: grid;
		grid-template-columns: minmax( 0, 1.25fr ) minmax( 320px, .75fr );
		gap: clamp( 30px, 5vw, 70px );
		align-items: center;
	}

	.sq-location-photo {
		aspect-ratio: 16 / 9;
		max-width: none;
	}
}

@media screen and ( max-width: 1180px ) {
	.sq-pricing-grid--4 {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.sq-pricing-grid--4 .sq-price-card:last-child {
		grid-column: auto;
	}
}

@media screen and ( max-width: 720px ) {
	.sq-pricing-grid--4,
	.sq-location-panel {
		grid-template-columns: 1fr;
	}

	.sq-pricing-grid--4 .sq-price-card {
		padding: 24px;
	}

	.sq-page-hero__grid > .sq-founder-photo,
	.sq-founder-photo {
		justify-self: stretch;
		max-width: none;
	}
}

/* --------------------------------------------------------------------------
   Worksite typography · v1.9

   Archivo Black gives headings the weight of site signage and the logo.
   Archivo SemiBold keeps everyday copy substantial and easy to scan.
   -------------------------------------------------------------------------- */

@media screen {
	body {
		font-family: var(--sq-font);
		font-size: 20px;
		font-weight: 600;
		letter-spacing: -0.006em;
		line-height: 1.58;
	}

	p,
	li,
	dd,
	input,
	select,
	textarea,
	button {
		font-weight: 600;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-family: var(--sq-display);
		font-weight: 400;
		letter-spacing: -0.038em;
		line-height: 0.99;
	}

	h1 {
		font-size: clamp( 3rem, 4.8vw, 4.9rem );
	}

	h2 {
		font-size: clamp( 2.2rem, 3.25vw, 3.4rem );
	}

	h3 {
		font-size: clamp( 1.5rem, 1.9vw, 1.85rem );
	}

	.sq-hero-copy h1 {
		max-width: 720px;
		font-size: clamp( 3.2rem, 5.05vw, 5.05rem );
		font-weight: 400;
		letter-spacing: -0.042em;
		line-height: 0.94;
	}

	.sq-page-hero h1 {
		font-size: clamp( 3.1rem, 4.8vw, 4.8rem );
		font-weight: 400;
		letter-spacing: -0.042em;
		line-height: 0.95;
	}

	.sq-lead {
		font-size: clamp( 1.2rem, 1.55vw, 1.4rem );
		font-weight: 600;
		line-height: 1.48;
	}

	.sq-button,
	.sq-text-link,
	.sq-primary-nav a,
	.sq-service-strip a,
	.sq-mobile-action-bar a,
	.sq-download-form button,
	.sq-download-retainer > a {
		font-family: var(--sq-font);
		font-weight: 800;
		letter-spacing: -0.01em;
	}

	.sq-button {
		font-size: 1.06rem;
	}

	.sq-topbar,
	.sq-topbar__detail,
	.sq-topbar a,
	.sq-primary-nav a,
	.sq-brand__words small,
	.sq-footer-heading,
	.sq-footer-bottom,
	.sq-form-note,
	.sq-form-message {
		font-size: 0.95rem;
		font-weight: 700;
	}

	.sq-primary-nav a,
	.sq-service-strip a {
		font-size: 1rem;
	}

	.sq-eyebrow,
	.sq-card-number,
	.sq-service-card__tag,
	.sq-step-grid article > span,
	.sq-price-card__label,
	.sq-price-card__badge,
	.sq-price small,
	.sq-price span,
	.sq-proof-grid span,
	.sq-case-feature__panel > span,
	.sq-case-feature__panel b,
	.sq-change-stack > span,
	.sq-feature-list article > span,
	.sq-payment-flow article > span,
	.sq-account-flow span,
	.sq-dispute-grid span,
	.sq-values-grid span,
	.sq-handover-flow span,
	.sq-handover-flow small,
	.sq-case-study aside small,
	.sq-review-list span,
	.sq-region-panel > span,
	.sq-contact-form label > span {
		font-family: var(--sq-font);
		font-size: 0.95rem;
		font-weight: 800;
		line-height: 1.32;
	}

	.sq-dashboard__label,
	.sq-job-row span,
	.sq-job-row em,
	.sq-job-row > b,
	.sq-status,
	.sq-metric > span,
	.sq-metric > small,
	.sq-deadline small,
	.sq-deadline em,
	.sq-page-hero__stat small,
	.sq-page-hero__mini small,
	.sq-risk-card small,
	.sq-account-card em,
	.sq-tender-card small,
	.sq-change-stack small,
	.sq-page-hero__stat > span,
	.sq-page-hero__mini > span,
	.sq-risk-card > span,
	.sq-account-card > span,
	.sq-tender-card > span,
	.sq-confidential-card > span,
	.sq-contact-promise > span,
	.sq-timeline-list span,
	.sq-data-panel span,
	.sq-quadrant article > span,
	.sq-comparison__label,
	.sq-notice-list small,
	.sq-founder-identity > small,
	.sq-contact-promise b {
		font-size: 0.95rem;
		font-weight: 700;
	}

	.sq-cta-reassurance,
	.sq-home-hero .sq-cta-reassurance,
	.sq-page-hero .sq-cta-reassurance,
	.sq-hero-checks,
	.sq-service-card p,
	.sq-compact-card p,
	.sq-icon-card p,
	.sq-price-card > p,
	.sq-dark-card p,
	.sq-faq-list details p,
	.sq-step-grid p,
	.sq-cycle span,
	.sq-pricing-note,
	.sq-checkbox,
	.sq-job-row strong,
	.sq-dashboard__bottom,
	.sq-page-hero__stat li,
	.sq-page-hero__mini li,
	.sq-contact-form label,
	.sq-contact-form input,
	.sq-contact-form select,
	.sq-contact-form textarea,
	.sq-footer-brand p,
	.sq-footer-links a,
	.sq-footer-contact li {
		font-size: 1.02rem;
		font-weight: 600;
	}

	.sq-proof-grid strong,
	.sq-price strong,
	.sq-page-hero__stat strong,
	.sq-plan-table thead th {
		font-family: var(--sq-display);
		font-weight: 400;
	}

	.sq-price-card h3 {
		font-size: 2.15rem;
	}

	.sq-faq-list summary {
		font-size: 1.16rem;
		font-weight: 800;
	}

	.sq-download-library {
		font-family: var(--sq-font);
		font-size: 1.04rem;
		font-weight: 600;
	}

	.sq-download-library h2,
	.sq-download-library h3 {
		font-family: var(--sq-display);
		font-weight: 400;
	}

	.sq-download-eyebrow,
	.sq-download-card__type,
	.sq-download-form label > span:first-child,
	.sq-download-retainer span {
		font-family: var(--sq-font);
		font-size: 0.95rem;
		font-weight: 800;
	}

	.sq-download-card__body > p,
	.sq-download-card li,
	.sq-download-consent > span:last-child,
	.sq-download-form small,
	.sq-download-disclaimer,
	.sq-download-retainer p {
		font-family: var(--sq-font);
		font-size: 1rem;
		font-weight: 600;
	}

	/* Keep secondary UI copy readable for people scanning quickly on site. */
	.sq-tick-list li,
	.sq-payment-flow p,
	.sq-account-flow p,
	.sq-dispute-grid p,
	.sq-values-grid p {
		font-size: 1rem;
		font-weight: 600;
	}

	.sq-change-stack strong,
	.sq-record-grid span,
	.sq-review-list span,
	.sq-account-card b,
	.sq-tender-card b,
	.sq-case-outcome strong {
		font-size: 1rem;
		font-weight: 700;
	}

	.sq-founder-mark small,
	.sq-tag-row span,
	.sq-post-card__meta,
	.sq-primary-nav .sub-menu a,
	.sq-mobile-action-bar a,
	.sq-site-main small,
	.sq-site-header small,
	.sq-site-footer small {
		font-size: 0.95rem;
		font-weight: 700;
	}
}

@media screen and ( max-width: 720px ) {
	body {
		font-size: 19px;
	}

	.sq-hero-copy h1,
	.sq-page-hero h1 {
		font-size: clamp( 2.7rem, 11.8vw, 3.75rem );
		line-height: 0.96;
	}

	h2 {
		font-size: clamp( 2.05rem, 9.2vw, 2.8rem );
	}

	h3 {
		font-size: clamp( 1.48rem, 6.5vw, 1.8rem );
	}

	.sq-topbar,
	.sq-primary-nav a,
	.sq-service-strip a,
	.sq-mobile-action-bar a {
		font-size: 1rem;
	}
}

/* --------------------------------------------------------------------------
   Compact laptop rhythm, reliable imagery and contained legal copy · v2.1.4
   -------------------------------------------------------------------------- */

@media screen {
	.sq-simple-hero,
	.sq-article__header,
	.sq-error-page {
		padding: clamp( 34px, 4vw, 54px ) 0;
	}

	.sq-entry-content--contained {
		width: min( calc( 100% - 48px ), 980px );
		padding: clamp( 34px, 4.5vw, 58px ) 0 clamp( 58px, 6vw, 84px );
		margin-inline: auto;
	}

	.sq-entry-content--contained > :first-child {
		margin-top: 0;
	}

	.sq-entry-content--contained h2 {
		margin: 1.35em 0 0.45em;
		font-size: clamp( 1.9rem, 2.55vw, 2.65rem );
		line-height: 1.05;
	}

	.sq-entry-content--contained h3 {
		margin: 1.25em 0 0.4em;
		font-size: clamp( 1.4rem, 1.8vw, 1.8rem );
	}

	.sq-entry-content--contained p,
	.sq-entry-content--contained li {
		max-width: 78ch;
		line-height: 1.68;
	}

	.sq-entry-content--contained ul,
	.sq-entry-content--contained ol {
		padding-left: 1.35em;
	}

	.sq-entry-content--contained .sq-section {
		padding: 26px 0;
	}

	.sq-entry-content--contained .sq-container {
		width: 100%;
		max-width: none;
	}

	.sq-section {
		padding: clamp( 46px, 5vw, 68px ) 0;
	}

	.sq-section-heading {
		gap: clamp( 28px, 4vw, 46px );
		margin-bottom: 28px;
	}

	.sq-space-top {
		margin-top: 28px;
	}

	.sq-page-hero,
	.sq-page-hero--green,
	.sq-page-hero--orange,
	.sq-page-hero--blue,
	.sq-page-hero--charcoal,
	.sq-page-hero--yellow,
	.sq-page-hero--case,
	.sq-page-hero--about,
	.sq-page-hero--contact {
		padding: clamp( 40px, 5vw, 64px ) 0;
	}

	.sq-page-hero__grid {
		gap: clamp( 36px, 5vw, 66px );
	}

	.sq-page-hero h1 {
		margin-bottom: 18px;
		font-size: clamp( 2.8rem, 4.25vw, 4.25rem );
		line-height: 0.98;
	}

	.sq-pricing-grid--4 .sq-price-card--featured {
		padding-top: 62px;
	}

	.sq-price-card__badge {
		top: 0;
		right: 22px;
		z-index: 2;
		padding: 10px 14px;
		line-height: 1.2;
		white-space: nowrap;
	}

	.sq-case-study__image {
		width: 100%;
		aspect-ratio: 16 / 8.4;
		margin: 0 0 30px;
		box-shadow: 8px 8px 0 rgba( 244, 196, 48, 0.72 );
	}

	.sq-case-study__image img {
		object-position: center;
	}

	.sq-about-profile {
		display: grid;
		grid-template-columns: minmax( 0, 1.35fr ) minmax( 300px, 0.65fr );
		align-items: start;
		gap: clamp( 34px, 5vw, 70px );
	}

	.sq-about-profile__copy {
		max-width: 790px;
	}

	.sq-about-profile__copy h2 {
		margin-bottom: 8px;
	}

	.sq-about-summary {
		padding: 26px;
		border: 2px solid var(--sq-ink);
		background: var(--sq-white);
		box-shadow: 7px 7px 0 #b8cec0;
	}

	.sq-about-summary > strong {
		display: block;
		margin-bottom: 14px;
		font-family: var(--sq-display);
		font-size: 1.55rem;
		font-weight: 400;
	}

	.sq-about-summary ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.sq-about-summary li {
		padding: 11px 0 11px 28px;
		border-bottom: 1px solid var(--sq-line);
	}

	.sq-about-summary li:last-child {
		border-bottom: 0;
	}

	.sq-about-summary li::before {
		float: left;
		margin-left: -28px;
		color: var(--sq-green-deep);
		content: "✓";
	}
}

@media screen and ( min-width: 961px ) and ( max-height: 820px ) {
	.sq-page-hero,
	.sq-page-hero--green,
	.sq-page-hero--orange,
	.sq-page-hero--blue,
	.sq-page-hero--charcoal,
	.sq-page-hero--yellow,
	.sq-page-hero--case,
	.sq-page-hero--about,
	.sq-page-hero--contact {
		padding: 32px 0 38px;
	}

	.sq-page-hero h1 {
		font-size: clamp( 2.65rem, 3.8vw, 3.85rem );
	}

	.sq-page-hero .sq-button-row {
		margin-top: 18px;
	}

	.sq-section {
		padding: 42px 0;
	}
}

@media screen and ( max-width: 960px ) {
	.sq-about-profile {
		grid-template-columns: 1fr;
	}
}

@media screen and ( max-width: 720px ) {
	.sq-entry-content--contained {
		width: min( calc( 100% - 30px ), 980px );
		padding: 30px 0 64px;
	}

	.sq-entry-content--contained h2 {
		font-size: clamp( 1.85rem, 8vw, 2.35rem );
	}

	.sq-section {
		padding: 42px 0;
	}

	.sq-pricing-grid--4 .sq-price-card--featured {
		padding-top: 60px;
	}

	.sq-case-study__image {
		aspect-ratio: 4 / 3;
		box-shadow: 5px 5px 0 rgba( 244, 196, 48, 0.72 );
	}
}
