/*
Theme Name: CyberGuardia
Theme URI: https://cyberguardia.io
Description: The independent, accessible CyberGuardia website theme for patient technology and media services.
Author: CyberGuardia
Version: 2.18.25
Requires at least: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cyberguardia
*/

/* A small WordPress foundation replaces the parent theme's reset and defaults. */
html { -webkit-text-size-adjust: 100%; }
body { min-width: 320px; }
img { max-width: 100%; height: auto; }
figure { margin: 0; }
button, input, select, textarea { font: inherit; }
button, [type="button"], [type="submit"] { cursor: pointer; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .75rem; border: 1px solid var(--cg-line); text-align: left; vertical-align: top; }
blockquote { margin: 1.5rem 0; padding-left: 1.25rem; border-left: 4px solid var(--cg-green); }
pre { overflow: auto; padding: 1rem; border-radius: 12px; background: #e9eee8; }
.screen-reader-text { position: absolute; 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 { position: fixed; z-index: 100000; top: .75rem; left: .75rem; width: auto; height: auto; margin: 0; padding: .75rem 1rem; clip: auto; background: var(--cg-paper); color: var(--cg-ink); box-shadow: 0 2px 12px rgb(21 45 59 / 25%); }

@font-face {
	font-family:"CyberGuardia Nunito";
	src:url("assets/brand-kit/Nunito-Variable.woff") format("woff");
	font-style:normal;
	font-weight:200 900;
	font-display:swap;
}
:root {
	--cg-bg:#f7f5ef;
	--cg-paper:#fffdf8;
	--cg-ink:#152d3b;
	--cg-muted:#46545c;
	--cg-sage:#dce6db;
	--cg-green:#254f40;
	--cg-line:#687870;
	--cg-accent:#cce480;
	--cg-font:112.5%;
	font-size:var(--cg-font);
}

/* Calm guide artwork: useful on screen and restrained on paper. */
.cg-guide-illustration { max-width:760px; margin:0 auto 1.75rem; }
.cg-guide-illustration svg { display:block; width:100%; height:auto; }
.cg-guide-illustration figcaption {
	margin-top:.55rem;
	color:var(--cg-muted);
	font-size:.9rem;
	text-align:center;
}
.cg-guide-illustration .cg-art-bg { fill:#edf3eb; stroke:#254f40; stroke-width:3; }
.cg-guide-illustration .cg-art-circle { fill:#cce480; stroke:#254f40; stroke-width:5; }
.cg-guide-illustration .cg-art-card { fill:#fffdf8; stroke:#254f40; stroke-width:5; }
.cg-guide-illustration .cg-art-lines { fill:none; stroke:#687870; stroke-width:12; stroke-linecap:round; }
.cg-guide-illustration .cg-art-badge { fill:#254f40; }
.cg-guide-illustration .cg-art-symbol { fill:#152d3b; font:700 62px system-ui,sans-serif; }
.cg-guide-illustration .cg-art-label { fill:#fff; font:700 17px system-ui,sans-serif; letter-spacing:.04em; }
.cg-site .cg-guide ol { counter-reset:cg-guide-step; list-style:none; padding-left:0; }
.cg-site .cg-guide ol li {
	counter-increment:cg-guide-step;
	position:relative;
	min-height:3.25rem;
	padding:.65rem .75rem .8rem 4.25rem;
	margin:.5rem 0;
	border-bottom:1px solid #c9d2cc;
}
.cg-site .cg-guide ol li::before {
	content:counter(cg-guide-step);
	position:absolute;
	left:.25rem;
	top:.35rem;
	display:grid;
	place-items:center;
	width:2.85rem;
	height:2.85rem;
	border:3px solid var(--cg-green);
	border-radius:50%;
	background:var(--cg-accent);
	color:var(--cg-ink);
	font-weight:800;
}
.cg-guide-download {
	margin:1.75rem 0 .5rem;
	padding:1.35rem;
	border:2px solid var(--cg-green);
	border-radius:18px;
	background:var(--cg-sage);
}
.cg-guide-download h2 { margin-top:0; }
.cg-guide-download .cg-button { margin:.25rem 0; }
@media print {
	.cg-guide-illustration { max-width:6.5in; break-inside:avoid; }
	.cg-guide-illustration .cg-art-bg { fill:#fff; }
	.cg-guide-illustration .cg-art-circle { fill:#eee; }
	.cg-guide-illustration .cg-art-badge { fill:#333; }
}
html {
	scroll-padding-top:2rem;
}
body.cg-site {
	margin:0;
	background:var(--cg-bg);
	color:var(--cg-ink);
	font:1rem/1.65 "CyberGuardia Nunito",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	overflow-wrap:anywhere;
}
body.cg-site * {
	box-sizing:border-box;
}
body.cg-site h1,body.cg-site h2,body.cg-site h3,body.cg-site h4 {
	color:var(--cg-ink);
	line-height:1.17;
	font-weight:650;
	letter-spacing:-.025em;
	margin:0 0 1rem;
}
body.cg-site h1 {
	font-size:clamp(2.25rem,5vw,4rem);
	max-width:17ch;
}
body.cg-site h2 {
	font-size:clamp(1.7rem,3vw,2.5rem);
}
body.cg-site h3 {
	font-size:1.35rem;
}
body.cg-site p {
	margin:0 0 1.2rem;
}
body.cg-site a {
	color:var(--cg-green);
	text-decoration:underline;
	text-underline-offset:.22em;
}
body.cg-site a:hover {
	text-decoration-thickness:3px;
}
body.cg-site button,body.cg-site input,body.cg-site select,body.cg-site textarea {
	font:inherit;
}
body.cg-site button,body.cg-site .cg-button {
	cursor:pointer;
	min-height:48px;
	border:2px solid var(--cg-ink);
	border-radius:8px;
	padding:.7rem 1.15rem;
	font-weight:650;
	line-height:1.4;
	background:var(--cg-ink);
	color:var(--cg-paper);
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	gap:.5rem;
	white-space:normal;
}
body.cg-site .cg-button.secondary,body.cg-site button.secondary {
	background:transparent;
	color:var(--cg-ink);
}
body.cg-site button:hover,body.cg-site .cg-button:hover {
	box-shadow:0 3px 0 var(--cg-line);
}
body.cg-site button:disabled {
	cursor:default;
	opacity:.6;
	box-shadow:none;
}
body.cg-site :focus-visible {
	outline:3px solid var(--cg-ink);
	outline-offset:4px;
	box-shadow:0 0 0 6px var(--cg-paper);
}
body.cg-site [tabindex="-1"]:focus {
	outline:3px solid var(--cg-green);
	outline-offset:5px;
}
body.cg-site [hidden] {
	display:none!important;
}
.cg-wrap {
	width:min(1180px,100% - 3rem);
	margin-inline:auto;
}
.cg-section {
	padding-block:4.5rem;
}
.cg-eyebrow {
	font-size:1rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--cg-green);
	margin-bottom:1rem;
}
.cg-lead {
	font-size:1.2rem;
	max-width:56ch;
}
.cg-small {
	font-size:1rem;
	color:var(--cg-muted);
}
.cg-ai-appointment-note {
	margin:1.75rem 0 0;
	padding-top:1.25rem;
	border-top:1px solid var(--cg-line);
}
.cg-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1.25rem;
}
.cg-service-grid {
	margin-bottom:2.5rem;
}
.cg-two {
	grid-template-columns:repeat(2,minmax(0,1fr));
}
.cg-card {
	background:var(--cg-paper);
	border:1px solid var(--cg-line);
	border-radius:16px;
	padding:1.6rem;
	min-width:0;
}
.cg-card p:last-child {
	margin-bottom:0;
}
.cg-actions {
	display:flex;
	gap:.8rem;
	flex-wrap:wrap;
	align-items:center;
}
.cg-header {
	border-bottom:1px solid var(--cg-line);
	background:var(--cg-paper);
}
.cg-header-top {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	padding-block:.65rem .45rem;
}
.cg-brand {
	text-decoration:none!important;
	color:var(--cg-ink)!important;
	display:inline-flex;
	align-items:center;
	max-width:min(100%,240px);
}
.cg-brand-wordmark {
	display:block;
	width:100%;
	height:auto;
}
.cg-header .cg-brand {
	max-width:min(100%,280px);
}
.cg-footer .cg-brand {
	max-width:min(100%,320px);
}
.cg-header-caption {
	display:block;
	color:var(--cg-muted);
	font-size:.92rem;
	line-height:1.25;
	margin-top:.15rem;
}
.cg-header-booking .cg-button { white-space:nowrap; }
@media(min-width:901px) {
	body.cg-site .cg-header-booking .cg-button {
		box-sizing:border-box;
		min-height:52px;
		height:52px;
		padding:.5rem 1.15rem;
		line-height:1.25;
	}
}
.cg-nav ul {
	list-style:none;
	display:flex;
	gap:.4rem 1.5rem;
	flex-wrap:wrap;
	padding:0;
	margin:0;
}
.cg-nav a {
	display:inline-flex;
	min-height:44px;
	align-items:center;
	font-weight:600;
	color:var(--cg-ink)!important;
	text-decoration:none!important;
}
.cg-nav a[aria-current="page"] {
	text-decoration:underline!important;
	text-decoration-thickness:3px!important;
}
.cg-hero {
	display:grid;
	grid-template-columns:1.25fr 1fr;
	gap:3.5rem;
	align-items:center;
	padding-block:4rem;
}
.cg-hero-panel {
	background:var(--cg-sage);
	border-radius:24px;
	padding:2rem;
	position:relative;
}
.cg-hero-panel h2 {
	font-size:1.8rem;
}
.cg-note {
	border-left:4px solid var(--cg-green);
	padding:1rem 1.2rem;
	background:var(--cg-sage);
	margin-block:1.5rem;
}
.cg-band {
	background:var(--cg-sage);
}
.cg-section-head {
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:1.5rem;
	margin-bottom:2rem;
}
.cg-section-head p {
	max-width:46ch;
}
.cg-price {
	font-size:2.1rem;
	font-weight:700;
	color:var(--cg-ink);
}
.cg-price span {
	font-size:1rem;
	font-weight:400;
}
.cg-list {
	padding-left:1.3rem;
	margin:1rem 0 1.5rem;
}
.cg-list li {
	margin-bottom:.6rem;
}
.cg-footer {
	padding-block:3rem 10rem;
	border-top:1px solid var(--cg-line);
}
.cg-footer .cg-grid {
	margin-bottom:2rem;
}
.cg-footer a {
	display:inline-block;
	min-height:44px;
	padding-block:.35rem;
}
.cg-tools {
	position:fixed;
	inset:auto 0 0;
	z-index:99;
	background:var(--cg-paper);
	border-top:2px solid var(--cg-ink);
	padding:.6rem max(.75rem,env(safe-area-inset-right)) max(.6rem,env(safe-area-inset-bottom));
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.6rem;
	flex-wrap:wrap;
}
.cg-tools details {
	position:relative;
}
.cg-tools summary {
	cursor:pointer;
	font-weight:650;
	min-height:48px;
	border:2px solid var(--cg-ink);
	border-radius:8px;
	padding:.6rem 1rem;
	list-style:revert;
}
.cg-tools-panel {
	position:absolute;
	bottom:calc(100% + 1rem);
	right:0;
	width:min(330px,calc(100vw - 2rem));
	max-height:60vh;
	overflow:auto;
	background:var(--cg-paper);
	border:2px solid var(--cg-ink);
	border-radius:12px;
	padding:1rem;
	box-shadow:0 8px 30px #152d3b30;
}
.cg-tools-panel .cg-actions {
	gap:.5rem;
}
.cg-tools-panel button {
	flex:1;
}
.cg-tools-panel p {
	margin:.5rem 0;
}
.cg-skip {
	position:fixed;
	top:-200px;
	left:1rem;
	z-index:10000;
	background:var(--cg-paper);
	padding:1rem;
	border:3px solid var(--cg-ink);
}
.cg-skip:focus {
	top:1rem;
}
.cg-page-title {
	padding-block:3rem 2rem;
}
.cg-content {
	max-width:850px;
	margin-inline:auto;
	padding-bottom:3rem;
}
.cg-content h2 {
	margin-top:2.5rem;
}
.cg-content h3 {
	margin-top:2rem;
}
.cg-content .cg-card h3 {
	margin-top:0;
}
.cg-content ul,.cg-content ol {
	margin-left:0;
	padding-left:1.4rem;
}
.cg-content li {
	margin-bottom:.6rem;
}
.cg-content img {
	max-width:100%;
	height:auto;
}
.cg-content .alignwide {
	max-width:100%;
}
.cg-form {
	max-width:720px;
}
.cg-form label,.cg-form legend {
	font-weight:650;
	display:block;
	margin-bottom:.4rem;
}
.cg-field {
	margin-bottom:1.3rem;
}
body.cg-site input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),body.cg-site select,body.cg-site textarea {
	width:100%;
	min-height:50px;
	padding:.75rem;
	border:2px solid var(--cg-line);
	border-radius:7px;
	background:var(--cg-paper);
	color:var(--cg-ink);
}
body.cg-site textarea {
	min-height:150px;
	resize:vertical;
}
body.cg-site input[type="checkbox"],body.cg-site input[type="radio"] {
	width:1.35rem;
	height:1.35rem;
	accent-color:var(--cg-green);
	flex-shrink:0;
}
.cg-check {
	display:flex!important;
	gap:.8rem;
	align-items:flex-start;
	min-height:48px;
}
.cg-check input {
	margin-top:.2rem;
}
.cg-error {
	border:2px solid #9c2f21;
	background:var(--cg-paper);
	color:var(--cg-ink);
	padding:1rem;
	margin:1rem 0;
}
.cg-honeypot {
	position:absolute;
	left:-10000px;
	width:1px;
	height:1px;
	overflow:hidden;
}
.cg-wizard {
	max-width:800px;
	margin:0 auto 4rem;
}
.cg-wizard fieldset {
	border:0;
	padding:0;
	margin:0;
	min-width:0;
}
.cg-wizard legend {
	font-size:1.7rem;
	font-weight:650;
	line-height:1.3;
	margin-bottom:1.2rem;
}
.cg-options {
	display:grid;
	gap:.8rem;
	margin:1.2rem 0;
}
.cg-choice {
	display:flex;
	gap:.9rem;
	align-items:center;
	border:2px solid var(--cg-line);
	padding:1.1rem;
	border-radius:10px;
	background:var(--cg-paper);
	cursor:pointer;
	min-height:64px;
}
.cg-choice:has(input:checked) {
	border:3px solid var(--cg-green);
	padding:calc(1.1rem - 1px);
	background:var(--cg-sage);
}
.cg-progress {
	display:block;
	width:100%;
	height:12px;
	margin-bottom:2rem;
	accent-color:var(--cg-green);
}
.cg-result {
	border-top:6px solid var(--cg-green);
}
.cg-tabs {
	display:flex;
	gap:.6rem;
	flex-wrap:wrap;
	margin-bottom:1.5rem;
}
.cg-tabs [aria-selected="true"] {
	background:var(--cg-green)!important;
	color:var(--cg-paper)!important;
}
.cg-panel {
	margin-bottom:2rem;
}
.cg-panel:focus {
	outline-offset:4px;
}
.cg-portal-head {
	display:flex;
	align-items:start;
	justify-content:space-between;
	gap:1rem;
}
.cg-ticket {
	margin-block:1rem;
}
.cg-status {
	display:inline-block;
	background:var(--cg-sage);
	border:1px solid var(--cg-line);
	padding:.2rem .7rem;
	border-radius:20px;
	font-weight:650;
}
.cg-site details:not(.cg-tools details) {
	border-bottom:1px solid var(--cg-line);
	padding:1rem 0;
}
.cg-site summary {
	cursor:pointer;
	font-weight:650;
	min-height:48px;
}
.cg-site summary+p {
	margin-top:1rem;
}
.cg-site table {
	border-collapse:collapse;
	width:100%;
}
.cg-site th,.cg-site td {
	padding:.8rem;
	border:1px solid var(--cg-line);
	text-align:left;
}
.cg-site .screen-reader-text {
	border:0;
	clip:rect(1px,1px,1px,1px);
	clip-path:inset(50%);
	height:1px;
	margin:-1px;
	overflow:hidden;
	padding:0;
	position:absolute!important;
	width:1px;
	word-wrap:normal!important;
}
.cg-preview {
	background:var(--cg-ink);
	color:var(--cg-paper);
	padding:.5rem 1rem;
	text-align:center;
	font-size:1rem;
}
.cg-site .cg-editor-extra {
	margin-bottom:2rem;
}
.cg-site .cg-editor-extra:empty {
	display:none;
}
.cg-site blockquote {
	border-left:4px solid var(--cg-green);
	margin:1.5rem 0;
	padding:1rem 1.5rem;
	font-size:1.2rem;
}
.cg-site .cg-reading {
	max-width:65ch;
}
.cg-site .cg-full {
	max-width:none;
}
.cg-site .cg-guide ol li {
	padding-bottom:1rem;
}
.cg-site .cg-guide h2 {
	font-size:1.5rem;
}
html.cg-contrast {
	--cg-bg:#101a20;
	--cg-paper:#101a20;
	--cg-ink:#fffef5;
	--cg-muted:#fffef5;
	--cg-sage:#263b33;
	--cg-green:#e1f7a6;
	--cg-line:#fffef5;
	--cg-accent:#fffef5;
}
html.cg-contrast .cg-preview {
	background:#fffef5;
	color:#101a20;
}
html.cg-contrast input {
	color-scheme:dark;
}
html.cg-contrast .cg-tools-panel {
	box-shadow:none;
}
html {
	scroll-padding-bottom:var(--cg-toolbar-space,160px);
}
.cg-site a,.cg-site button,.cg-site input,.cg-site textarea,.cg-site select {
	scroll-margin-bottom:var(--cg-toolbar-space,160px);
}
body.cg-site .cg-tools {
	font-size:18px;
	padding:10px;
	gap:8px;
}
body.cg-site .cg-tools .cg-button,body.cg-site .cg-tools button,body.cg-site .cg-tools summary,body.cg-site .cg-tools-panel p {
	font-size:18px;
	line-height:1.5;
}
body.cg-site .cg-tools .cg-button,body.cg-site .cg-tools button,body.cg-site .cg-tools summary {
	padding:10px 14px;
}
body.cg-site .cg-tools-panel {
	width:min(330px,calc(100vw - 32px));
	padding:18px;
	bottom:calc(100% + 16px);
	max-height:min(65vh,calc(100dvh - var(--cg-toolbar-space,160px) - 32px));
}
body.cg-site .cg-tools-panel p {
	margin:8px 0;
}
body.cg-site .cg-tools-panel .cg-actions {
	gap:8px;
}
body.cg-site #ast-scroll-top {
	display:none!important;
}
@media(min-width:1400px) {
	.cg-tools {
		left:auto;
		right:1rem;
		bottom:1rem;
		border:2px solid var(--cg-ink);
		border-radius:12px;
		max-width:650px;
	}
}
@media(max-width:900px) {
	.cg-hero {
		grid-template-columns:1fr;
		gap:2rem;
	}
	.cg-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.cg-section {
		padding-block:3rem;
	}
	.cg-header-caption {
		display:none;
	}
	.cg-section-head {
		display:block;
	}
	.cg-hero-panel {
		max-width:650px;
	}
}
@media(max-width:600px) {
	.cg-wrap {
		width:calc(100% - 2rem);
	}
	.cg-grid,.cg-two {
		grid-template-columns:1fr;
	}
	.cg-header-top {
		flex-wrap:wrap;
	}
	.cg-header-top .cg-button {
		width:100%;
	}
	.cg-nav ul {
		gap:.2rem 1rem;
	}
	.cg-hero {
		padding-block:2.5rem;
	}
	.cg-card,.cg-hero-panel {
		padding:1.25rem;
	}
	.cg-tools>.cg-button {
		flex:1;
		font-size:1rem;
		padding:.55rem;
	}
	.cg-tools summary {
		font-size:1rem;
		padding:.55rem;
	}
	.cg-tools {
		gap:.4rem;
	}
	.cg-tools-panel {
		position:fixed;
		right:1rem;
		bottom:8rem;
	}
	.cg-footer {
		padding-bottom:13rem;
	}
	.cg-portal-head {
		display:block;
	}
	.cg-actions>.cg-button {
		width:100%;
	}
	.cg-page-title {
		padding-top:2rem;
	}
	.cg-section-head {
		margin-bottom:1.5rem;
	}
}
@media(max-width:600px) {
	body.cg-site .cg-tools-panel {
		right:16px;
		bottom:var(--cg-toolbar-space,160px);
	}
	body.cg-site .cg-tools>.cg-button {
		flex:0 1 auto;
		width:100%;
	}
	body.cg-site .cg-tools>details {
		width:100%;
		text-align:center;
	}
	.cg-tools-panel {
		text-align:left;
	}
}
@media(prefers-reduced-motion:reduce) {
	*,*::before,*::after {
		scroll-behavior:auto!important;
		animation:none!important;
		transition:none!important;
	}
}
@media(forced-colors:active) {
	.cg-card,.cg-choice,.cg-button,button {
		border:2px solid ButtonText!important;
	}
	.cg-choice:has(input:checked) {
		outline:3px solid Highlight;
	}
	.cg-tabs [aria-selected="true"] {
		outline:3px solid Highlight;
	}
}
@media print {
	html {
		font-size:18pt!important;
		--cg-bg:#fff;
		--cg-paper:#fff;
		--cg-ink:#000;
		--cg-muted:#000;
		--cg-green:#000;
		--cg-line:#555;
	}
	.cg-header,.cg-footer,.cg-tools,.cg-preview,.cg-tabs,.cg-no-print,#wpadminbar {
		display:none!important;
	}
	.cg-wrap {
		width:100%;
	}
	.cg-section {
		padding:1rem 0;
	}
	.cg-card {
		break-inside:avoid;
		border:1px solid #555;
	}
	.cg-grid {
		display:block;
	}
	.cg-card {
		margin:1rem 0;
	}
	.cg-panel[hidden] {
		display:block!important;
	}
	.cg-form {
		display:none;
	}
	body.cg-site a {
		color:#000;
	}
	body.cg-site {
		background:#fff!important;
		color:#000!important;
	}
	.cg-page-title {
		padding-top:0;
	}
	.cg-hero {
		display:block;
	}
}
.cg-site .cg-logo-mark {
	width:48px;
	height:48px;
	background:#fffdf8;
	border-radius:8px;
	flex-shrink:0;
	object-fit:contain;
}
.cg-site .cg-brand-art {
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
	border-radius:14px;
}
.cg-site .cg-hero-panel .cg-brand-art {
	margin-bottom:1.4rem;
}
.cg-site .cg-page-art {
	margin:0 0 2rem;
}
.cg-site .cg-page-art figcaption {
	margin-top:.5rem;
}
.cg-site .cg-service-icon {
	display:block;
	width:56px;
	height:56px;
	margin-bottom:1rem;
	background:#dce6db;
	border-radius:12px;
	padding:6px;
}
@media print {
	.cg-brand-art {
		max-height:320px;
		width:auto!important;
	}
	.cg-page-art {
		break-inside:avoid;
	}
}
body.cg-site .cg-review {
	margin:0;
	display:flex;
	flex-direction:column;
	padding:1.28rem;
	align-self:start;
}
body.cg-site .cg-review blockquote {
	margin:0 0 .8rem;
	padding:0;
	border:0;
	font:inherit;
	color:inherit;
}
.cg-site .cg-review blockquote p {
	margin:0;
}
body.cg-site .cg-review figcaption {
	margin-top:0;
	font-size:1rem;
	color:inherit;
	line-height:1.5;
}
.cg-preview {
	overflow-wrap:anywhere;
}
body.cg-site .cg-preview {
	position:sticky;
	top:var(--cg-admin-offset,0px);
	z-index:98;
}
html {
	scroll-padding-top:calc(var(--cg-banner-height,0px) + var(--cg-admin-offset,0px) + 1rem);
}
body.cg-site .cg-back-top {
	position:fixed;
	right:max(1rem,env(safe-area-inset-right));
	bottom:calc(var(--cg-toolbar-space,180px) + .5rem);
	z-index:98;
	display:flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	background:var(--cg-ink);
	color:var(--cg-paper);
	border:2px solid var(--cg-paper);
	border-radius:50%;
	text-decoration:none;
	font-size:1.6rem;
	line-height:1;
	box-shadow:0 2px 8px #0003;
}
body.cg-site.admin-bar {
	--cg-admin-offset:32px;
}
@media(max-width:782px) {
	body.cg-site.admin-bar {
		--cg-admin-offset:46px;
	}
}
@media(max-width:600px) {
	body.cg-site.admin-bar {
		--cg-admin-offset:0px;
	}
}
@media print {
	body.cg-site .cg-back-top {
		display:none!important;
	}
}
.cg-mobile-label {
	display:none;
}
body.cg-site details.cg-mobile-navigation {
	border:0;
	padding:0;
}
.cg-mobile-navigation>summary {
	display:none;
}
@media(max-width:900px) {
	body.cg-site .cg-header-top {
		display:block;
		padding-block:1rem .65rem;
	}
	.cg-header-booking {
		display:none;
	}
	body.cg-site .cg-mobile-navigation {
		padding-bottom:.75rem;
	}
	.cg-mobile-navigation>summary {
		display:flex;
		align-items:center;
		justify-content:center;
		gap:.6rem;
		border:2px solid var(--cg-ink);
		border-radius:8px;
		padding:.5rem 1rem;
		min-height:48px;
		list-style:none;
		color:var(--cg-ink);
		background:var(--cg-paper);
	}
	.cg-mobile-navigation>summary::-webkit-details-marker {
		display:none;
	}
	.cg-mobile-navigation[open]>summary {
		background:var(--cg-sage);
	}
	.cg-mobile-navigation .cg-nav ul {
		display:grid;
		grid-template-columns:1fr;
		gap:0;
		margin-top:.75rem;
	}
	.cg-mobile-navigation .cg-nav li {
		border-bottom:1px solid var(--cg-line);
	}
	.cg-mobile-navigation .cg-nav a {
		display:flex;
		width:100%;
		padding:.65rem .75rem;
		min-height:52px;
	}
	.cg-mobile-navigation .cg-nav a[aria-current="page"] {
		background:var(--cg-sage);
	}
	.cg-grid,.cg-two {
		grid-template-columns:1fr;
	}
}
@media(max-width:600px) {
	.cg-wrap {
		width:calc(100% - 2rem);
	}
	body.cg-site .cg-brand {
		font-size:1.4rem;
		letter-spacing:-.03em;
	}
	body.cg-site .cg-logo-mark {
		width:40px;
		height:40px;
	}
	body.cg-site h1 {
		font-size:2rem;
		line-height:1.2;
		max-width:none;
	}
	body.cg-site h2 {
		font-size:1.55rem;
		line-height:1.25;
	}
	.cg-lead {
		font-size:1.1rem;
	}
	.cg-eyebrow {
		letter-spacing:.035em;
		text-transform:none;
	}
	.cg-hero {
		padding-block:1.75rem;
		gap:1.5rem;
	}
	.cg-section {
		padding-block:2.25rem;
	}
	.cg-card,.cg-hero-panel {
		padding:1.1rem;
		border-radius:12px;
	}
	.cg-page-title {
		padding-block:1.75rem 1rem;
	}
	body.cg-site .cg-preview {
		font-size:1rem;
		line-height:1.4;
		padding:.5rem 1rem;
		max-height:25dvh;
		overflow-y:auto;
	}
	body.cg-site .cg-tools {
		display:grid;
		grid-template-columns:minmax(0,1fr) minmax(0,1fr);
		gap:8px;
		padding:8px 12px max(8px,env(safe-area-inset-bottom));
	}
	body.cg-site .cg-tools>.cg-button,body.cg-site .cg-tools>details {
		width:100%;
		min-width:0;
		margin:0;
	}
	body.cg-site .cg-tools summary,body.cg-site .cg-tools>.cg-button {
		padding:8px;
		min-height:48px;
		text-align:center;
	}
	.cg-tools .cg-wide-label {
		display:none;
	}
	.cg-tools .cg-mobile-label {
		display:inline;
	}
	.cg-footer {
		padding-bottom:calc(var(--cg-toolbar-space,100px) + 4rem);
	}
	.cg-tabs {
		display:grid;
		grid-template-columns:1fr 1fr;
	}
}
body.cg-site .cg-preview {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:1rem;
	text-align:left;
}
.cg-preview>span {
	max-width:65ch;
}
body.cg-site .cg-preview .cg-dismiss {
	flex:0 0 44px;
	width:44px;
	min-height:44px;
	padding:0;
	border:1px solid currentColor;
	background:transparent;
	color:inherit;
	font-size:1.6rem;
}
body.cg-site .cg-tools #cg-reading-options {
	width:auto;
	flex:0 0 auto;
}
body.cg-site .cg-tools #cg-reading-options>summary {
	display:flex;
	align-items:center;
	justify-content:center;
	list-style:none;
	width:48px;
	height:48px;
	min-height:48px;
	padding:8px;
}
#cg-reading-options>summary::-webkit-details-marker {
	display:none;
}
@media(max-width:600px) {
	body.cg-site .cg-tools {
		grid-template-columns:minmax(0,1fr) 48px;
	}
	body.cg-site .cg-preview {
		gap:.5rem;
		padding:.35rem .75rem;
	}
}
body.cg-site .cg-founder-profile {
	margin:0 auto 2.5rem;
	text-align:center;
}
body.cg-site .cg-founder-profile img {
	display:block;
	width:280px;
	height:280px;
	max-width:100%;
	aspect-ratio:1;
	object-fit:cover;
	border-radius:50%;
	border:5px solid var(--cg-sage);
	margin:0 auto 1rem;
}

/* 2.17.0: persistent, senior-friendly orientation while scrolling. */
body.cg-site .cg-sticky-shell {
	position:sticky;
	top:var(--cg-admin-offset,0px);
	z-index:100;
	box-shadow:0 2px 9px rgba(21,45,59,.12);
}
body.cg-site .cg-sticky-shell .cg-preview {
	position:relative;
	top:auto;
}
body.cg-site .cg-sticky-shell .cg-header {
	background:var(--cg-paper);
}
html {
	scroll-padding-top:calc(var(--cg-sticky-height,0px) + var(--cg-admin-offset,0px) + 1rem);
}
@media(min-width:901px) {
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-preview {
		font-size:.88rem;
		line-height:1.3;
		padding:.25rem .75rem;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-preview .cg-dismiss {
		flex-basis:38px;
		width:38px;
		min-height:38px;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-header-top {
		padding-block:.35rem;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-header-caption {
		display:none;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-logo-mark {
		width:36px;
		height:36px;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-brand {
		font-size:1.3rem;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-nav ul {
		column-gap:clamp(.65rem,1.25vw,1.15rem);
		row-gap:0;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-nav a {
		min-height:40px;
		font-size:.9rem;
	}
}
@media(max-width:900px) {
	body.cg-site .cg-sticky-shell {
		max-height:calc(100dvh - var(--cg-admin-offset,0px));
		overflow-y:auto;
		overscroll-behavior:contain;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-header-top {
		display:flex;
		padding-block:.45rem;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-header-caption {
		display:none;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-logo-mark {
		width:36px;
		height:36px;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-mobile-navigation {
		padding-bottom:.45rem;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-mobile-navigation>summary {
		min-height:44px;
		padding:.3rem .8rem;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-preview {
		font-size:.88rem;
		line-height:1.25;
		padding:.2rem .65rem;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-preview>span {
		display:block;
		overflow:hidden;
		text-overflow:ellipsis;
		white-space:nowrap;
	}
	body.cg-site.cg-scrolled .cg-sticky-shell .cg-preview .cg-dismiss {
		flex-basis:36px;
		width:36px;
		min-height:36px;
	}
}
@media(prefers-reduced-motion:reduce) {
	body.cg-site .cg-sticky-shell * { transition:none!important; }
}
@media print {
	body.cg-site .cg-sticky-shell { position:static; box-shadow:none; }
}
.cg-founder-profile figcaption {
	font-size:1rem;
	color:var(--cg-ink);
	line-height:1.5;
}
@media(max-width:600px) {
	body.cg-site .cg-founder-profile img {
		width:220px;
		height:auto;
	}
	body.cg-site .cg-founder-profile {
		margin-bottom:2rem;
	}
}
body.cg-site .cg-portrait-frame {
	display:block;
	width:280px;
	height:280px;
	max-width:100%;
	border-radius:50%;
	overflow:hidden;
	border:5px solid var(--cg-sage);
	margin:0 auto 1rem;
}
body.cg-site .cg-founder-profile .cg-portrait-frame img {
	width:100%;
	height:100%;
	max-width:none;
	border:0;
	border-radius:0;
	margin:0;
	object-fit:cover;
	transform:scale(1.28);
	transform-origin:50% 30%;
}
@media(max-width:600px) {
	body.cg-site .cg-portrait-frame {
		width:220px;
		height:220px;
	}
}
body.cg-site .cg-privacy-dialog {
	width:min(760px,calc(100% - 32px));
	max-width:none;
	max-height:90vh;
	max-height:90dvh;
	padding:0;
	border:2px solid var(--cg-ink,#152d3b);
	border-radius:16px;
	background:var(--cg-bg,#fffdf8);
	color:var(--cg-ink,#152d3b);
	overflow:hidden;
}
body.cg-site .cg-privacy-dialog:not([open]) {
	display:none;
}
body.cg-site .cg-privacy-dialog[open] {
	display:flex;
	flex-direction:column;
}
.cg-privacy-dialog::backdrop {
	background:rgba(10,25,35,.75);
}
.cg-privacy-head,.cg-privacy-foot {
	padding:18px 24px;
	flex-shrink:0;
}
.cg-privacy-head {
	display:flex;
	align-items:center;
	gap:16px;
	justify-content:space-between;
	border-bottom:1px solid currentColor;
}
.cg-privacy-head h2 {
	margin:0;
}
.cg-privacy-body {
	padding:20px 24px;
	overflow:auto;
	min-height:0;
	overscroll-behavior:contain;
}
.cg-privacy-foot {
	border-top:1px solid currentColor;
}
.cg-privacy-foot p {
	margin:12px 0 0;
}
@media(max-width:600px) {
	body.cg-site .cg-privacy-dialog {
		width:calc(100% - 16px);
		max-height:95vh;
		max-height:95dvh;
	}
	.cg-privacy-head,.cg-privacy-foot,.cg-privacy-body {
		padding:16px;
	}
	.cg-privacy-head {
		align-items:flex-start;
	}
	.cg-privacy-foot button {
		width:100%;
	}
}
.cg-service-map {
	container-type:inline-size;
	margin:2rem 0;
	border:1px solid var(--cg-line);
	border-radius:16px;
	overflow:hidden;
	background:var(--cg-paper);
}
.cg-service-map iframe {
	display:block;
	width:100%;
	height:960px;
	border:0;
}
.cg-service-map figcaption {
	padding:20px;
}
.cg-service-map .cg-map-legend {
	display:inline-block;
	width:25px;
	height:18px;
	background:#8eaf8670;
	border:2px dashed #254f40;
	margin-right:8px;
	vertical-align:middle;
}
@media(max-width:600px) {
	.cg-service-map iframe {
		height:640px;
	}
	.cg-service-map figcaption {
		padding:16px;
	}
}
.cg-service-map img {
	display:block;
	width:100%;
	height:auto;
	border:0;
	margin:0;
}
@supports (height:1cqw) {
	.cg-service-map iframe { height:clamp(560px, calc(85.526cqw + 250px), 960px); }
}
.cg-service-map figcaption {
	font-size:.889rem;
	line-height:1.55;
	padding:16px 20px;
}
.cg-service-map figcaption p {
	font-size:inherit;
	line-height:inherit;
	margin:0 0 10px;
}
.cg-service-map figcaption p:last-child {
	font-size:.778rem;
	line-height:1.5;
	margin-bottom:0;
}
body.cg-site select {
	height:auto;
	min-height:3.25em;
	line-height:1.5;
	padding:.65em 2em .65em .75em;
	max-width:100%;
}
body.cg-site .cg-selected-value {
	font-size:1rem;
	line-height:1.5;
	margin:.5rem 0 0;
	overflow-wrap:anywhere;
}
body.cg-site .cg-tools-close-row {
	position:sticky;
	top:-1rem;
	background:var(--cg-paper);
	padding:.25rem 0 .6rem;
	z-index:1;
}
body.cg-site .cg-tools-close-row button {
	width:100%;
	min-height:48px;
}
body.cg-site .cg-error {
	border:3px solid #9c2f21;
	border-left-width:8px;
	background:#fff1ee;
	color:#801e14;
	border-radius:8px;
	padding:20px;
}
body.cg-site .cg-error h2,body.cg-site .cg-error a {
	color:inherit;
}
html.cg-contrast body.cg-site .cg-error {
	background:var(--cg-paper);
	color:var(--cg-ink);
	border-color:var(--cg-ink);
}
.cg-moment-photo {
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:3/2;
	object-fit:cover;
	border-radius:14px;
	margin-bottom:1.5rem;
}
.cg-unread-badge {
	display:inline-block;
	background:var(--cg-ink);
	color:var(--cg-paper);
	padding:.25rem .7rem;
	border-radius:6px;
	font-weight:700;
	margin:.4rem 0;
}
.cg-unread-notice {
	border:3px solid var(--cg-green);
	border-left-width:8px;
	background:var(--cg-sage);
	padding:1.2rem;
	border-radius:10px;
	margin:1.2rem 0;
}
.cg-unread-notice a {
	display:inline-flex;
	min-height:48px;
	align-items:center;
	font-weight:700;
}
@media(max-width:600px) {
	body.cg-site .cg-review {
		padding:1rem;
	}
}

/* Client portal: keep navigation and conversations easy to scan. */
.cg-portal-page{max-width:1180px}.cg-portal-page .cg-page-title{padding-block:2rem 1rem}
.cg-portal-page .cg-portal-head{padding:1.5rem;background:#edf3f6;border-radius:12px;gap:1rem}
.cg-portal-page .cg-tabs{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0;padding-bottom:1rem;border-bottom:2px solid #cbd8de}
.cg-portal-page .cg-tabs a{min-height:48px;padding:.75rem 1rem}
.cg-portal-page .cg-tabs [aria-selected="true"]{background:#164f61;color:#fff;border-color:#164f61}
.cg-portal-page .cg-ticket{padding:1.5rem;margin:1rem 0;border:1px solid #bbcbd2;border-left:5px solid #164f61;background:white}
.cg-portal-page .cg-ticket h3{font-size:1.25rem;line-height:1.45}
.cg-portal-page .cg-ticket .cg-status{display:inline-block;padding:.2rem .6rem;background:#edf3f6;border-radius:6px;color:#173343}
.cg-portal-page .cg-status-guide{margin:1rem 0 1.5rem;padding:0 1rem;border:1px solid #bbcbd2;border-radius:10px;background:#f7faf8}
.cg-portal-page .cg-status-guide summary{display:flex;align-items:center;min-height:52px;color:#173343;font-weight:750}
.cg-portal-page .cg-status-guide dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}
.cg-portal-page .cg-status-guide dl div{padding:.85rem;background:#fff;border:1px solid #d0dcdf;border-radius:8px}
.cg-portal-page .cg-status-guide dt{font-weight:800;color:#173343}.cg-portal-page .cg-status-guide dd{margin:.2rem 0 0;color:#435962}
.cg-portal-page .cg-ticket-next{margin:1rem 0;padding:1rem;border-left:5px solid #2f7864;border-radius:8px;background:#edf5f1}
.cg-portal-page .cg-ticket-next strong{display:block;color:#174f41}.cg-portal-page .cg-ticket-next p{margin:.25rem 0 0}
.cg-portal-page .cg-ticket--waiting-for-client .cg-ticket-next{border-color:#b26a00;background:#fff5df}.cg-portal-page .cg-ticket--waiting-for-client .cg-ticket-next strong{color:#774700}
.cg-portal-page .cg-ticket--resolved .cg-ticket-next{border-color:#687870;background:#f3f5f4}.cg-portal-page .cg-ticket--resolved .cg-ticket-next strong{color:#364740}
.cg-portal-page .cg-ticket-latest{margin:1rem 0;padding:1rem;border:1px solid #c7d5da;border-radius:10px;background:#f8fbfc}
.cg-portal-page .cg-ticket-latest p{margin:.35rem 0 0}.cg-portal-page .cg-ticket-latest-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin:0!important}.cg-portal-page .cg-ticket-latest time{color:#526970;font-size:.9rem}
.cg-portal-page .cg-support-empty{margin:1.25rem 0;padding:1.4rem;border:2px dashed #9bb0b8;border-radius:12px;background:#f8fbfc}.cg-portal-page .cg-support-empty h3{margin-top:0}.cg-portal-page .cg-support-empty p{max-width:650px}
.cg-portal-alert{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;background:#fff5df;border:1px solid #bd8c35;border-left:5px solid #946619;border-radius:8px;padding:1rem 1.5rem;margin-top:1rem;color:#382d18}
.cg-portal-page :target{scroll-margin-top:2rem}.cg-portal-page [hidden]{display:none!important}
@media(max-width:600px){.cg-portal-page .cg-tabs{display:grid;grid-template-columns:1fr 1fr}.cg-portal-page .cg-tabs a{text-align:center}.cg-portal-page .cg-ticket{padding:1rem}.cg-portal-page .cg-status-guide dl{grid-template-columns:1fr}.cg-portal-page .cg-ticket-latest-label{display:block}.cg-portal-page .cg-ticket-latest time{display:block;margin-top:.2rem}}

.cg-portal-page .cg-portal-alert,.cg-portal-page .cg-unread-notice{background:#fff1f0;border:1px solid #b42318;border-left:6px solid #b42318;color:#821b13}.cg-portal-page .cg-portal-alert a{color:#821b13;font-weight:700;text-decoration:underline}.cg-portal-page .cg-unread-badge{background:#b42318;color:#fff;padding:6px 12px;border-radius:7px;font-weight:700}

/* Portal 2.7.4: clearer orientation and a calmer help-request flow. */
.cg-portal-page .cg-portal-head{align-items:center;border-left:6px solid #2f7864}
.cg-portal-page .cg-portal-head h2{margin-bottom:.35rem}
.cg-portal-page .cg-portal-head p{margin-bottom:0}
.cg-portal-page .cg-help-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0}
.cg-portal-page .cg-help-step{margin:0;padding:1rem;background:#edf5f1;border:1px solid #b8d1c8;border-radius:10px;color:#173343}
.cg-portal-page .cg-help-step strong{display:block;color:#205c4d;margin-bottom:.2rem}
.cg-portal-page #cg-questions>.cg-note:first-of-type{border-left:5px solid #2f7864}
.cg-portal-page #cg-request-form>button[type="submit"]{width:auto;min-width:190px;font-size:1.05rem;padding:.85rem 1.4rem}
.cg-portal-page .cg-after-send{margin:.75rem 0 0;color:#435962}
.cg-portal-page [data-cg-receipt]{background:#e7f5ee;border:2px solid #28705d;border-left-width:7px;padding:1.25rem;border-radius:10px;margin:0 0 1.25rem}
.cg-portal-page [data-cg-receipt] h2{margin-top:0;color:#174f41}
.cg-portal-page [data-cg-receipt] a{font-weight:700}
@media(max-width:700px){.cg-portal-page .cg-help-intro{grid-template-columns:1fr}.cg-portal-page #cg-request-form>button[type="submit"]{width:100%}}


/* 2.18.2: keep the accessibility control distinct and remove the redundant floating call action. */
body.cg-site .cg-tools {
	left:auto;
	right:max(1rem,env(safe-area-inset-right));
	bottom:max(1rem,env(safe-area-inset-bottom));
	display:flex;
	width:auto;
	max-width:none;
	padding:8px;
	border:2px solid var(--cg-ink);
	border-radius:12px;
	background:var(--cg-paper);
	box-shadow:0 8px 24px #152d3b24;
}
body.cg-site .cg-tools>details {
	width:auto;
	min-width:0;
	margin:0;
}
body.cg-site .cg-tools-panel {
	position:absolute;
	right:0;
	bottom:calc(100% + 16px);
}
body.cg-site .cg-footer {
	padding-bottom:6rem;
}
@media(max-width:600px) {
	body.cg-site .cg-tools {
		display:flex;
		grid-template-columns:none;
		right:max(.375rem,env(safe-area-inset-right));
		bottom:max(.375rem,env(safe-area-inset-bottom));
		padding:3px;
		border-width:1px;
		border-radius:10px;
	}
	body.cg-site .cg-tools>details {
		width:auto;
		text-align:left;
	}
	body.cg-site .cg-tools #cg-reading-options>summary {
		width:44px;
		height:44px;
		min-height:44px;
		padding:6px;
	}
	body.cg-site .cg-tools-panel {
		position:absolute;
		right:0;
		bottom:calc(100% + 12px);
	}
}

@media (max-width:600px) {
	body.cg-site .cg-brand { max-width:230px; }
}
