/* Sico theme components. Tokens come from baseline.css (--sico-*). */

/* Layout -------------------------------------------------------------- */
.wp-site-blocks > * { margin-block: 0; }
.sico .sico-flush > * { margin-block: 0; }
.sico .sico-reading { max-inline-size: var(--sico-reading-width); }

/* Sticky header; anchor jumps (e.g. #contact-form) land below it. */
html { scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 8.5rem); }
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; }
}
.sico-mainbar {
	border-bottom: 1px solid var(--sico-border);
	transition: box-shadow 0.2s ease;
}
.sico-header.is-scrolled .sico-mainbar { box-shadow: 0 6px 20px rgba(18, 49, 58, 0.08); }

.sico .sico-topbar a { color: var(--sico-white); text-decoration: none; font-weight: var(--sico-weight-strong); }
.sico .sico-topbar a:hover { color: var(--sico-accent); }

@media (max-width: 781px) {
	.sico .sico-hide-mobile { display: none !important; }
}

/* Brand */
.sico-brand .wp-block-site-logo img { display: block; }
/* The firm name always sits on one line (owner request); it scales down on
   narrow screens instead of wrapping. */
.sico .sico-brand .wp-block-site-title {
	font-size: clamp(0.92rem, 0.8rem + 0.6vw, 1.05rem);
	line-height: 1.2;
	letter-spacing: 0.01em;
	white-space: nowrap;
}
@media (max-width: 400px) {
	.sico .sico-brand { gap: 0.5rem; }
	.sico .sico-brand .wp-block-site-logo img { width: 40px; height: auto; }
}
.sico .sico-brand .wp-block-site-title a { color: var(--sico-ink); text-decoration: none; }

/* Navigation */
.sico .sico-nav .wp-block-navigation-item__content { text-decoration: none; padding-block: 0.35rem; }
.sico .sico-nav .wp-block-navigation-item__content:hover { color: var(--sico-primary); }
.sico .sico-nav .current-menu-item > .wp-block-navigation-item__content { box-shadow: inset 0 -2px 0 var(--sico-primary); }
.sico .sico-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--sico-border) !important;
	box-shadow: 0 12px 32px rgba(18, 49, 58, 0.12);
	padding: 0.5rem 0;
	min-width: 16rem !important;
}
.sico .sico-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.55rem 1.1rem; }
.sico .sico-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem clamp(1rem, 4vw, 2.5rem);
}
.sico .sico-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: var(--sico-type-h3);
	padding-block: 0.4rem;
}

/* Core collapses the menu below 600px; the full menu needs ~1024px, so keep
   the hamburger up to there. */
@media (max-width: 1023px) {
	.sico .sico-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.sico .sico-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* Typography helpers mirrored as block styles ------------------------------ */
.sico .is-style-label {
	font-size: var(--sico-type-label);
	font-weight: var(--sico-weight-strong);
	line-height: 1.5;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.sico .is-style-label:not(.has-text-color) { color: var(--sico-primary); }
.sico :is(.sico-inverse, .is-style-inverse, .has-dark-background-color, .has-dark-deep-background-color) .is-style-label:not(.has-text-color) { color: var(--sico-accent); }
/* On the primary teal band the accent fails contrast (4.12:1); white passes (5.6:1). */
.sico .has-primary-background-color .is-style-label:not(.has-text-color) { color: var(--sico-white); }
.sico .sico-lead { font-size: var(--sico-type-lead); line-height: 1.55; }
.sico .sico-muted { color: var(--sico-muted); }
.sico :is(.sico-inverse, .is-style-inverse, .has-dark-background-color, .has-dark-deep-background-color, .has-primary-background-color) .sico-muted { color: var(--sico-accent); }
.sico .has-primary-background-color .sico-muted { color: rgba(255, 255, 255, 0.82); }

/* Links on dark surfaces */
.sico .is-style-inverse { color: var(--sico-white); background: var(--sico-dark); }
.sico :is(.sico-inverse, .is-style-inverse, .has-dark-background-color, .has-dark-deep-background-color) a:not(.wp-element-button) { color: var(--sico-accent); }
.sico :is(.sico-inverse, .is-style-inverse, .has-dark-background-color, .has-dark-deep-background-color) a:not(.wp-element-button):hover { color: var(--sico-white); }
.sico .has-primary-background-color a:not(.wp-element-button) { color: var(--sico-white); }

/* Buttons: the baseline colours every <a>; restore button colours. */
.sico .wp-element-button,
.sico .wp-block-button__link {
	color: var(--sico-white);
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.sico .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) { background: transparent; }
.sico .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { color: var(--sico-primary); }
.sico .wp-block-button.is-style-outline > .wp-block-button__link { border: 1px solid currentColor; }
.sico .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--sico-primary); border-color: var(--sico-primary); color: var(--sico-white) !important; }
.sico :is(.has-dark-background-color, .has-dark-deep-background-color, .has-primary-background-color, .is-style-inverse) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--sico-white);
	border-color: var(--sico-white);
	color: var(--sico-dark-deep) !important;
}
.sico .wp-block-button__link.has-white-background-color:hover { background: var(--sico-accent) !important; }

.sico .sico-arrow-link,
.sico .wp-block-read-more { font-weight: var(--sico-weight-strong); text-decoration: none; }
.sico .sico-arrow-link::after,
.sico .wp-block-read-more::after { content: " \2192"; }

/* Hero ------------------------------------------------------------------ */
.sico-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.sico-hero::after {
	content: "";
	position: absolute;
	inset-block: -8%;
	inset-inline-end: -6%;
	inline-size: min(48vw, 640px);
	background: url("../images/logo-white.svg") no-repeat center / contain;
	opacity: 0.05;
	z-index: -1;
	pointer-events: none;
}
.sico .sico-hero h1 { max-inline-size: 16ch; }
.sico .sico-hero .sico-lead { max-inline-size: 60ch; }
.sico .sico-page-hero :is(.wp-block-post-title, h1) { max-inline-size: 22ch; }

/* Narrowed children of a constrained band would centre; pin them to the
   left edge of the 1240px content column instead. */
.sico :is(.sico-hero, .sico-page-hero) > :is(h1, .sico-lead, .wp-block-post-title) {
	margin-inline-start: calc((100% - min(100%, 1240px)) / 2) !important;
	margin-inline-end: auto !important;
}

/* Cards ----------------------------------------------------------------- */
.sico .is-style-card {
	background: var(--sico-white);
	border: 1px solid var(--sico-border);
	padding: clamp(1.25rem, 1rem + 1vw, 2rem);
}
.sico .is-style-card.has-background { border-color: transparent; }

.sico-practice-card {
	position: relative;
	height: 100%;
	border-top: 3px solid var(--sico-primary) !important;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.sico-practice-card:hover { box-shadow: 0 12px 32px rgba(18, 49, 58, 0.12); transform: translateY(-2px); }
.sico .sico-practice-card h3 a { color: var(--sico-ink); text-decoration: none; }
.sico .sico-practice-card h3 a::after { content: ""; position: absolute; inset: 0; }
.sico .sico-practice-card :focus-visible { outline-offset: 6px; }
.sico .sico-practice-card .sico-arrow-link { margin-top: auto; }
.sico-practice-grid > .wp-block-column { display: flex; flex-direction: column; }

/* Stats */
.sico-stats .wp-block-column { border-top: 1px solid var(--sico-border); padding-top: 1.25rem; }
.sico .sico-stat {
	font-size: var(--sico-type-h2);
	line-height: 1;
	letter-spacing: -0.035em;
	color: var(--sico-primary);
}

/* Lists */
.sico .is-style-plain { list-style: none; padding-inline-start: 0; }
.sico .is-style-plain li + li { margin-top: 0.45rem; }
.sico .is-style-checks { list-style: none; padding-inline-start: 0; }
.sico .is-style-checks li { position: relative; padding-inline-start: 1.75rem; }
.sico .is-style-checks li + li { margin-top: 0.6rem; }
.sico .is-style-checks li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0.15rem;
	top: 0.5em;
	inline-size: 0.7rem;
	block-size: 0.38rem;
	border-inline-start: 2px solid var(--sico-primary);
	border-bottom: 2px solid var(--sico-primary);
	transform: rotate(-45deg);
}
.sico :is(.has-dark-background-color, .has-dark-deep-background-color, .is-style-inverse) .is-style-checks li::before { border-color: var(--sico-accent); }

.sico .sico-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; }
.sico .sico-tags li { border: 1px solid var(--sico-border); padding: 0.3rem 0.8rem; font-size: var(--sico-type-small); background: var(--sico-white); }
.sico .sico-tags.sico-tags--primary li { border-color: var(--sico-primary); color: var(--sico-primary); font-weight: var(--sico-weight-strong); padding: 0; }
.sico .sico-tags li a { display: block; padding: 0.3rem 0.8rem; text-decoration: none; color: inherit; }
.sico .sico-tags li a::after { content: " \2192"; }
.sico .sico-tags li:has(a):hover { background: var(--sico-primary); }
.sico .sico-tags li a:hover { color: var(--sico-white); }

/* Testimonials */
.sico .wp-block-quote.is-style-testimonial {
	border: 0;
	padding: 0;
	margin: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
.sico .wp-block-quote.is-style-testimonial::before {
	content: "\201C";
	font-size: 4rem;
	line-height: 0.6;
	color: var(--sico-accent);
}
.sico .wp-block-quote.is-style-testimonial cite {
	margin-top: auto;
	font-style: normal;
	font-size: var(--sico-type-label);
	font-weight: var(--sico-weight-strong);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Recognition logos */
.sico-logos { align-items: center; }
.sico .sico-logos .wp-block-image { margin: 0; }
.sico .sico-logos img { max-block-size: 88px; inline-size: auto !important; max-inline-size: 100%; object-fit: contain; }

/* Portrait */
.sico .sico-portrait img { aspect-ratio: 1; object-fit: cover; inline-size: 100%; }

/* FAQs (details) ---------------------------------------------------------- */
.sico .wp-block-details { border-bottom: 1px solid var(--sico-border); }
.sico .wp-block-details:first-of-type { border-top: 1px solid var(--sico-border); }
.sico .wp-block-details summary {
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-inline-end: 2.5rem;
	font-size: var(--sico-type-lead);
	line-height: 1.4;
}
.sico .wp-block-details summary::-webkit-details-marker { display: none; }
.sico .wp-block-details summary::after {
	content: "+";
	position: absolute;
	inset-inline-end: 0.25rem;
	top: -0.1em;
	font-size: 1.6em;
	line-height: 1;
	color: var(--sico-primary);
}
.sico .wp-block-details[open] summary::after { content: "\2212"; }
.sico .wp-block-details[open] summary { margin-bottom: 0.75rem; }
.sico .wp-block-details > :not(summary) { color: var(--sico-muted); max-inline-size: var(--sico-reading-width); }

/* Breadcrumbs */
.sico-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	font-size: var(--sico-type-small);
	color: var(--sico-muted);
}
.sico-breadcrumbs li + li::before { content: "/"; margin-inline-end: 0.35rem; color: var(--sico-border); }
.sico .sico-breadcrumbs a { color: var(--sico-muted); }
.sico .sico-breadcrumbs a:hover { color: var(--sico-primary); }
.sico .has-dark-deep-background-color .sico-breadcrumbs ol,
.sico .has-dark-background-color .sico-breadcrumbs ol { color: var(--sico-accent); }
.sico :is(.has-dark-background-color, .has-dark-deep-background-color) .sico-breadcrumbs a { color: var(--sico-white); }

/* Sidebar contact card */
.sico .sico-sticky { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 9rem); }

/* Blog grid */
.sico .sico-post-card { height: 100%; }
.sico .sico-post-card .wp-block-post-title a { color: var(--sico-ink); text-decoration: none; }
.sico .sico-post-card .wp-block-post-title a:hover { color: var(--sico-primary); }
.sico .sico-post-card .wp-block-read-more { margin-top: auto; }
.sico .wp-block-post-content > p,
.sico .wp-block-post-content > ul,
.sico .wp-block-post-content > ol { max-inline-size: var(--sico-reading-width); }

/* Footer ---------------------------------------------------------------- */
.sico .sico-footer a { color: var(--sico-white); text-decoration: none; }
.sico .sico-footer a:hover { color: var(--sico-accent); text-decoration: underline; }
.sico .sico-footer .is-style-label { margin-bottom: 0.25rem; }
.sico .sico-footer__rule { border-color: rgba(255, 255, 255, 0.16) !important; margin-block: 2.5rem 1.5rem !important; opacity: 1; }
.sico .sico-credit { font-size: var(--sico-type-label); margin-top: 1rem; }
.sico .sico-disclaimer-full { font-size: var(--sico-type-label); color: var(--sico-muted); max-inline-size: 1240px; margin-inline: auto; padding: 2.5rem 1.5rem; }
.sico .sico-disclaimer-full p { margin-block: 0 0.5rem; max-inline-size: 110ch; }
.sico .sico-disclaimer { font-size: var(--sico-type-label); max-inline-size: 110ch; }
.sico .sico-cta h2 { max-inline-size: 18ch; }

/* Contact form ---------------------------------------------------------- */
.sico-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem 1.25rem;
}
.sico-form__field { margin: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.sico-form__field--full { grid-column: 1 / -1; }
@media (max-width: 640px) { .sico-form__grid { grid-template-columns: 1fr; } }
.sico .sico-form label { font-size: var(--sico-type-small); font-weight: var(--sico-weight-strong); }
.sico .sico-form :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
	inline-size: 100%;
	font: inherit;
	color: var(--sico-ink);
	background: var(--sico-white);
	border: 1px solid var(--sico-border);
	border-radius: 0;
	padding: 0.8rem 0.9rem;
}
.sico .sico-form :is(input, select, textarea):hover { border-color: var(--sico-muted); }
.sico .sico-form :is(input, select, textarea):focus-visible { border-color: var(--sico-primary); }
.sico .sico-form textarea { resize: vertical; min-block-size: 9rem; }
.sico .sico-form__consent { flex-direction: row; align-items: flex-start; gap: 0.7rem; }
.sico .sico-form__consent input { margin-top: 0.3rem; inline-size: 1.1rem; block-size: 1.1rem; accent-color: var(--sico-primary); flex: none; }
.sico .sico-form__consent label { font-weight: var(--sico-weight-body); color: var(--sico-muted); }
.sico-form__actions { margin: 1.5rem 0 0; }
.sico .sico-form__actions button { cursor: pointer; }
.sico .sico-form__actions button:disabled { opacity: 0.7; cursor: progress; }
.sico-form__hp { position: absolute !important; left: -9999px !important; inline-size: 1px; block-size: 1px; overflow: hidden; }
.sico-form__notice { padding: 1rem 1.25rem; margin-bottom: 1.5rem; border-inline-start: 4px solid; }
.sico-form__notice.is-success { background: #e8f6f4; border-color: var(--sico-primary); }
.sico-form__notice.is-error { background: #fdeeee; border-color: #b42318; }
.sico-form__notice p + p { margin-top: 0.35rem; }

/* Search */
.sico .wp-block-search__input { border: 1px solid var(--sico-border); border-radius: 0; padding: 0.75rem 0.9rem; font: inherit; }

@media (prefers-reduced-motion: reduce) {
	.sico *, .sico *::before, .sico *::after { transition: none !important; }
}

/* Video library --------------------------------------------------------------
   Cards are core Group + Image + Heading blocks; theme.js opens their YouTube
   links in the on-page player below. */
.sico .sico-video-card .sico-video-thumb { margin: 0; }
.sico .sico-video-card .sico-video-thumb a { display: block; position: relative; overflow: hidden; }
.sico .sico-video-card .sico-video-thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.sico .sico-video-card .sico-video-thumb a::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 4.25rem;
	height: 4.25rem;
	border-radius: 50%;
	background: rgba(0, 43, 54, 0.85) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") 56% 50% / 1.75rem no-repeat;
	transition: transform 0.2s ease, background-color 0.2s ease;
}
.sico .sico-video-card .sico-video-thumb a:hover img,
.sico .sico-video-card .sico-video-thumb a:focus-visible img { transform: scale(1.03); }
.sico .sico-video-card .sico-video-thumb a:hover::after,
.sico .sico-video-card .sico-video-thumb a:focus-visible::after { transform: scale(1.08); background-color: var(--sico-primary); }
.sico .sico-video-card h3 a { color: inherit; text-decoration: none; }
.sico .sico-video-card h3 a:hover { color: var(--sico-primary); }

.sico-video-dialog {
	width: min(92vw, 1100px);
	max-width: none;
	padding: 0;
	border: 0;
	background: #000;
	overflow: visible;
}
.sico-video-dialog::backdrop { background: rgba(0, 20, 26, 0.85); }
.sico-video-dialog__frame { aspect-ratio: 16 / 9; }
.sico-video-dialog__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.sico-video-dialog__close {
	position: absolute;
	top: -2.75rem;
	right: 0;
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	border-radius: 50%;
	background: var(--sico-white);
	color: var(--sico-ink);
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}
.sico-video-dialog__close:focus-visible { outline: 3px solid var(--sico-accent); outline-offset: 2px; }

/* Single featured videos (core Embed block) get the card frame. */
.sico .sico-featured-video .wp-block-embed { margin: 0; }
.sico .sico-featured-video .wp-block-embed__wrapper { box-shadow: 0 18px 40px rgba(18, 49, 58, 0.14); }

/* "Hello" tab (homepage only: the block lives in the homepage content). A fixed tab on the
   right edge; it sits inside a .sico-video-library group so theme.js plays its video on the page. */
.sico .sico-hello { margin: 0 !important; }
.sico .sico-hello-tab {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 40;
	margin: 0;
}
.sico .sico-hello-tab a {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	writing-mode: vertical-rl;
	padding: 1.1rem 0.7rem;
	border-radius: 0.6rem 0 0 0.6rem;
	background: var(--sico-primary);
	color: var(--sico-white);
	font-weight: var(--sico-weight-strong);
	font-size: 1.05rem;
	letter-spacing: 0.06em;
	text-decoration: none;
	box-shadow: -6px 8px 24px rgba(0, 43, 54, 0.25);
	transition: background-color 0.2s ease, padding 0.2s ease;
}
.sico .sico-hello-tab a::before {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	flex: none;
	border-radius: 50%;
	background: var(--sico-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23006e78' d='M8 5v14l11-7z'/%3E%3C/svg%3E") 58% 50% / 0.85rem no-repeat;
}
.sico .sico-hello-tab a:hover,
.sico .sico-hello-tab a:focus-visible { background: var(--sico-dark); padding-right: 0.95rem; }
.sico .sico-hello-tab a:focus-visible { outline: 3px solid var(--sico-accent); outline-offset: 2px; }
@media (max-width: 600px) {
	.sico .sico-hello-tab { top: auto; bottom: 6.5rem; transform: none; }
	.sico .sico-hello-tab a { padding: 0.8rem 0.5rem; font-size: 0.95rem; }
}
@media print { .sico .sico-hello-tab { display: none; } }

/* Know Your Rights search ----------------------------------------------------
   Magnifying glass in the header (core Paragraph link) and the floating window
   built by assets/js/kb.js. */
.sico .sico-kb-trigger { margin: 0; }
.sico .sico-kb-trigger a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	color: transparent;
	font-size: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312313a' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") center / 1.35rem no-repeat;
	transition: background-color 0.2s ease;
}
.sico .sico-kb-trigger a:hover,
.sico .sico-kb-trigger a:focus-visible { background-color: var(--sico-surface); }

.sico-kb {
	width: min(760px, 94vw);
	max-width: none;
	height: min(86vh, 860px);
	padding: 0;
	border: 0;
	border-radius: 0.75rem;
	background: var(--sico-white);
	color: var(--sico-ink);
	box-shadow: 0 30px 80px rgba(0, 43, 54, 0.35);
}
.sico-kb[open] { display: flex; }
.sico-kb::backdrop { background: rgba(0, 20, 26, 0.6); }
.sico-kb__panel { display: flex; flex-direction: column; width: 100%; min-height: 0; }
.sico-kb__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem 0.25rem;
}
.sico-kb__heading {
	margin: 0;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sico-primary);
}
.sico-kb__close {
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	border-radius: 50%;
	background: var(--sico-surface);
	color: var(--sico-ink);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}
.sico-kb__search { padding: 0.5rem 1.25rem 0; }
.sico-kb__search input {
	width: 100%;
	box-sizing: border-box;
	padding: 0.9rem 1rem 0.9rem 2.75rem;
	border: 2px solid var(--sico-border);
	border-radius: 0.5rem;
	font: inherit;
	font-size: 1.1rem;
	background: var(--sico-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2353666d' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") 0.9rem 50% / 1.2rem no-repeat;
}
.sico-kb__search input:focus { outline: none; border-color: var(--sico-primary); }
.sico-kb__urgent { margin: 0.5rem 1.25rem 0; font-size: 0.85rem; color: var(--sico-muted); }
.sico-kb__urgent a { color: var(--sico-primary); font-weight: 700; }
.sico-kb__body { flex: 1; min-height: 0; overflow-y: auto; padding: 0.75rem 1.25rem 1rem; }
.sico-kb__status { margin: 0.25rem 0 0.5rem; font-size: 0.85rem; color: var(--sico-muted); }
.sico-kb__results { list-style: none; margin: 0; padding: 0; }
.sico-kb__results li {
	display: grid;
	gap: 0.2rem;
	padding: 0.8rem 0.9rem;
	border-radius: 0.5rem;
	cursor: pointer;
}
.sico-kb__results li + li { margin-top: 0.15rem; }
.sico-kb__results li[aria-selected="true"],
.sico-kb__results li:hover { background: var(--sico-surface); }
.sico-kb__result-title { font-weight: 700; font-size: 1.02rem; }
.sico-kb__result-meta { font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sico-primary); margin: 0; }
.sico-kb__result-excerpt {
	font-size: 0.9rem;
	color: var(--sico-muted);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.sico-kb mark { background: rgba(156, 227, 222, 0.55); color: inherit; border-radius: 2px; padding: 0 1px; }
.sico-kb__topics-label { margin: 0.5rem 0; font-size: 0.85rem; color: var(--sico-muted); }
.sico-kb__topic {
	margin: 0 0.4rem 0.5rem 0;
	padding: 0.45rem 0.8rem;
	border: 1px solid var(--sico-border);
	border-radius: 999px;
	background: var(--sico-white);
	color: var(--sico-ink);
	font: inherit;
	font-size: 0.9rem;
	cursor: pointer;
}
.sico-kb__topic:hover { border-color: var(--sico-primary); color: var(--sico-primary); }
.sico-kb__article:focus { outline: none; }
.sico-kb__back {
	margin: 0 0 0.75rem;
	padding: 0;
	border: 0;
	background: none;
	color: var(--sico-primary);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.sico-kb__title { margin: 0.25rem 0 0.75rem; font-size: 1.5rem; line-height: 1.25; }
.sico-kb__content > * { margin-block: 0 0.85rem; }
.sico-kb__content h2,
.sico-kb__content h3 {
	margin: 1.25rem 0 0.35rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sico-primary);
}
.sico-kb__content h2:first-child,
.sico-kb__content h3:first-child { margin-top: 0; }
.sico-kb__content table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.sico-kb__content th, .sico-kb__content td { border: 1px solid var(--sico-border); padding: 0.4rem 0.5rem; text-align: left; vertical-align: top; }
.sico-kb__permalink { font-size: 0.85rem; }
.sico-kb__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.9rem 1.25rem;
	border-top: 1px solid var(--sico-border);
	background: var(--sico-surface);
	border-radius: 0 0 0.75rem 0.75rem;
}
.sico-kb__foot p { margin: 0; font-size: 0.75rem; color: var(--sico-muted); max-height: 7rem; overflow-y: auto; }
.sico-kb__contact { white-space: nowrap; }
@media (max-width: 600px) {
	.sico-kb { width: 100vw; height: 100dvh; max-height: none; border-radius: 0; margin: 0; }
	.sico-kb__foot { border-radius: 0; }
}

/* Know Your Rights pages (hub, topics, articles) */
.sico .sico-kb-open { margin-top: 1.5rem; }
.sico .sico-kb-open a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.9rem 1.4rem 0.9rem 1.1rem;
	border-radius: 0.4rem;
	background: var(--sico-white);
	color: var(--sico-dark-deep);
	font-weight: var(--sico-weight-strong);
	text-decoration: none;
}
.sico .sico-kb-open a::before {
	content: "";
	width: 1.2rem;
	height: 1.2rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23002b36' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sico .sico-kb-topics { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; list-style: none; }
.sico .sico-kb-topics li a {
	display: inline-block;
	padding: 0.45rem 0.9rem;
	border: 1px solid var(--sico-border);
	border-radius: 999px;
	text-decoration: none;
	color: var(--sico-ink);
}
.sico .sico-kb-topics li a:hover { border-color: var(--sico-primary); color: var(--sico-primary); }
.sico .sico-kb-list .wp-block-post-title a { text-decoration: none; color: var(--sico-ink); }
.sico .sico-kb-list .wp-block-post-title a:hover { color: var(--sico-primary); }
.sico .sico-kb-article > h2:not(.wp-block-post-title),
.sico .sico-kb-article h3 {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sico-primary);
}
.sico .sico-kb-related {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--sico-border);
}
.sico .sico-kb-related h2 { font-size: var(--wp--preset--font-size--x-large); }
.sico .sico-kb-related ul { padding-left: 1.1rem; }
.sico .sico-kb-related li { margin-bottom: 0.6rem; }
.sico .sico-kb-related__answer { display: block; color: var(--sico-muted); font-size: 0.92rem; }


/* YouTube click-to-play (inc/media.php): thumbnail + play button until the visitor clicks. */
.sico .sico-yt {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	padding: 0;
	border: 0;
	background: #000;
	cursor: pointer;
	overflow: hidden;
}
.sico .sico-yt img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0.92; transition: opacity 0.2s ease; }
.sico .sico-yt:hover img, .sico .sico-yt:focus-visible img { opacity: 1; }
.sico .sico-yt::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 4.5rem;
	height: 3.15rem;
	border-radius: 0.8rem;
	background: #f00 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5v14l11-7z'/%3E%3C/svg%3E") 55% 50% / 1.6rem no-repeat;
}
.sico .sico-yt:focus-visible { outline: 3px solid var(--sico-accent); outline-offset: 3px; }
/* Core adds a 56.25% spacer to 16:9 embeds; our button and iframe already carry the ratio, so the spacer left an empty box above the video. */
.sico .wp-embed-aspect-16-9 .wp-block-embed__wrapper::before { content: none; }
.sico .sico-yt iframe, .sico .wp-block-embed__wrapper > iframe.sico-yt-frame { position: static; display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }

/* Google Reviews badge: transparent on the dark "Client experiences" band (owner, 2026-10-10). */
.sico .sico-google-reviews { margin-inline: auto; text-align: center; }
.sico .sico-google-reviews > * { margin-block: 0; }
.sico .sico-google-reviews__stars { color: #fbbc04; font-size: 28px; letter-spacing: 2px; line-height: 1.2; }
.sico .sico-google-reviews__title { margin-top: 10px !important; font-size: 18px; font-weight: 700; color: var(--sico-white); }
.sico .sico-google-reviews__actions { justify-content: center; margin-top: 18px !important; }
