/* PCN theme: tokens.css, theme.css, icons.css, chrome.css, sections/_wells.css, sections/about.css, sections/anchors.css, sections/band.css, sections/brand-card.css, sections/brand-row.css, sections/contact-line.css, sections/contact.css, sections/cta.css, sections/design-web.css, sections/features.css, sections/help.css, sections/hero.css, sections/legal.css, sections/listings.css, sections/map.css, sections/page-hero.css, sections/partner.css, sections/partners.css, sections/sector-card.css, sections/service-block.css, sections/software.css, sections/structure.css, sections/support.css, sections/values.css — generated, do not edit. */

/* ---- tokens.css ---- */
/*
 * Design tokens that theme.json cannot express.
 *
 * theme.json is the SSoT for colour, type, spacing, shadows and the custom
 * values (radii, veils, line heights) — it emits --wp--preset--* and
 * --wp--custom--* for all of them. @font-face is NOT here either: the fonts
 * are faced in theme.json.
 */

:root {
	--pcn-header-height: 68px;
	--pcn-support-height: 44px;
	--pcn-breakpoint-note: "desktop header from 1280px, phone layout under 782px";
}

@media ( min-width: 1280px ) {
	:root {
		--pcn-header-height: 88px;
	}
}

:target {
	scroll-margin-top: 24px;
}

/*
 * Motion, off for anyone who asked their system for less. In-page links
 * (the sticky section bar, #lojas and the like) scroll instead of jumping;
 * moving between pages cross-fades (cross-document view transitions:
 * Chrome, Edge and Safari 18.2+; other browsers just navigate).
 */
@media ( prefers-reduced-motion: no-preference ) {
	html {
		scroll-behavior: smooth;
	}

	@view-transition {
		navigation: auto;
	}

	::view-transition-old( root ),
	::view-transition-new( root ) {
		animation-duration: 0.2s;
	}
}

/* ---- theme.css ---- */
/*
 * Base design system: layout guards, buttons, eyebrow, veil, section shell.
 *
 * Style by the element's OWN class, never `parent > child`: the editor wraps
 * every block in its own div and a child selector silently stops matching
 * there.
 */

/* ---------------------------------------------------------------- layout */

/* Declaring blockGap swaps core's careful flow rule for one that exempts
   nothing: every full-bleed band would carry 24px of paper above it. The
   artboards butt their bands edge to edge. */
:root :where( .is-layout-flow ) > .alignfull,
:root :where( .wp-site-blocks ) > * {
	margin-block-start: 0;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

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

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

/* The e-mail @ drawn in CSS (pcn_email_link, email.js). */
.pcn-at::after {
	content: "@";
}

/* ---------------------------------------------------------------- buttons */

.pcn-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 26px;
	box-sizing: border-box;
	border: 1.5px solid var( --wp--preset--color--primary );
	border-radius: var( --wp--custom--radius--s );
	background: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--white );
	font-size: var( --wp--preset--font-size--body );
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pcn-button:hover,
.pcn-button:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	background: var( --wp--preset--color--primary-dark );
	border-color: var( --wp--preset--color--primary-dark );
	color: var( --wp--preset--color--white );
}

.pcn-button--secondary,
.is-style-secondary .wp-block-button__link {
	background: var( --wp--preset--color--white );
	border-color: var( --wp--preset--color--line-strong );
	color: var( --wp--preset--color--ink );
}

.pcn-button--secondary:hover,
.is-style-secondary .wp-block-button__link:hover {
	background: var( --wp--preset--color--surface );
	border-color: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--ink );
}

.pcn-button--white,
.is-style-white .wp-block-button__link {
	background: var( --wp--preset--color--white );
	border-color: var( --wp--preset--color--white );
	color: var( --wp--preset--color--primary-dark );
}

.pcn-button--white:hover,
.is-style-white .wp-block-button__link:hover {
	background: var( --wp--preset--color--soft );
	border-color: var( --wp--preset--color--soft );
	color: var( --wp--preset--color--primary-dark );
}

.pcn-button--ghost-dark,
.is-style-ghost-dark .wp-block-button__link {
	background: transparent;
	border-color: rgba( 255, 255, 255, 0.55 );
	color: var( --wp--preset--color--white );
}

.pcn-button--ghost-dark:hover,
.is-style-ghost-dark .wp-block-button__link:hover {
	background: rgba( 255, 255, 255, 0.08 );
	border-color: var( --wp--preset--color--white );
	color: var( --wp--preset--color--white );
}

/* The design's arrow after every button label, drawn in CSS so the client
   edits plain text in the editor. Buttons with class pcn-no-arrow opt out. */
.wp-block-button:not( .pcn-no-arrow ) .wp-block-button__link::after {
	content: "";
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E" ) center / contain no-repeat;
	mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E" ) center / contain no-repeat;
}

.wp-block-buttons {
	gap: 14px;
}

/* ---------------------------------------------------------------- type helpers */

.pcn-eyebrow {
	margin: 0;
	font-size: var( --wp--preset--font-size--eyebrow );
	font-weight: 700;
	letter-spacing: 0.22em;
	line-height: var( --wp--custom--line-height--small );
	text-transform: uppercase;
	color: var( --wp--preset--color--primary );
}

.pcn-script {
	font-family: var( --wp--preset--font-family--script );
	font-size: var( --wp--preset--font-size--script );
	font-weight: 600;
	line-height: 1.1;
	color: var( --wp--preset--color--primary-dark );
}

/* ---------------------------------------------------------------- section shell */

/* Every top-level band carries pcn-section (or pcn-hero / pcn-page-hero /
   pcn-cta): the phone rhythm is one rule here, not one per pattern. */
.pcn-section {
	padding-block: var( --wp--preset--spacing--section );
	padding-inline: var( --wp--preset--spacing--gutter );
}

.pcn-section--tint {
	background: var( --wp--preset--color--surface );
}

.pcn-inner {
	max-width: 1200px;
	margin-inline: auto;
}

/* The veil over photographs (pcn-veil, option 2, Elson 2026-09-25). */
.pcn-veil .wp-block-cover__background,
.pcn-veil > .wp-block-cover__background {
	background: var( --wp--custom--veil--desktop ) !important;
	opacity: 1 !important;
}

@media ( max-width: 781px ) {
	.pcn-veil .wp-block-cover__background,
	.pcn-veil > .wp-block-cover__background {
		background: var( --wp--custom--veil--phone ) !important;
	}
}

/* core/cover ships min-height: 430px, and removing the attribute does not
   remove it; heroes set their own height in sections.css. */
.pcn-hero.wp-block-cover,
.pcn-page-hero.wp-block-cover,
.pcn-cta.wp-block-cover {
	min-height: 0;
}

/* ---------------------------------------------------------------- the 20-year seal */

.pcn-seal {
	--pcn-seal-w: 240px;
	width: var( --pcn-seal-w );
	aspect-ratio: 300 / 110;
	border-radius: calc( var( --pcn-seal-w ) * 0.06 );
	background: var( --wp--preset--color--white );
	box-shadow: var( --wp--preset--shadow--raised );
	box-sizing: border-box;
	overflow: hidden;
	flex-shrink: 0;
}

.pcn-seal--flat {
	box-shadow: none;
	border: 1px solid var( --wp--preset--color--line );
}

.pcn-seal svg {
	display: block;
	width: 100%;
	height: 100%;
	font-family: var( --wp--preset--font-family--sans );
}

.pcn-seal__title {
	font-size: 23px;
	font-weight: 800;
	fill: var( --wp--preset--color--ink );
}

.pcn-seal__accent {
	fill: var( --wp--preset--color--primary );
}

.pcn-seal__line {
	stroke: var( --wp--preset--color--primary );
	stroke-width: 3;
	stroke-linecap: round;
}

.pcn-seal__dot {
	fill: var( --wp--preset--color--line-strong );
}

.pcn-seal__start {
	fill: var( --wp--preset--color--white );
	stroke: var( --wp--preset--color--primary );
	stroke-width: 3;
}

.pcn-seal__end {
	fill: var( --wp--preset--color--primary );
}

.pcn-seal__year {
	font-size: 13px;
	font-weight: 700;
	fill: var( --wp--preset--color--muted );
}

.pcn-seal__year--now {
	font-weight: 800;
	fill: var( --wp--preset--color--primary );
}

/* ---------------------------------------------------------------- utilities */

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

@media ( min-width: 782px ) {
	.pcn-hide-desktop {
		display: none !important;
	}
}

/* Groups used as flex or grid containers: core's flow margin must not leak
   into their cells (the "grid cells grow" trap). */
.pcn-section :where( .wp-block-group ) > * {
	margin-block-start: 0;
}

/* "Saber mais →" */
.pcn-more {
	margin: 0;
	font-size: var( --wp--preset--font-size--small );
	font-weight: 700;
}

.pcn-more a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var( --wp--preset--color--primary );
}

.pcn-more a::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E" ) center / contain no-repeat;
	mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E" ) center / contain no-repeat;
}

.pcn-more a:hover {
	color: var( --wp--preset--color--primary-dark );
}

.pcn-more--on-dark a,
.pcn-more--on-dark a:hover {
	color: var( --wp--preset--color--white );
}

/* The eyebrow on ink or over a photograph. */
.pcn-eyebrow--on-dark {
	color: var( --wp--preset--color--on-dark-accent );
}

/* A list with the design's check marks. */
.pcn-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pcn-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: var( --wp--preset--font-size--small );
	line-height: 1.45;
	color: var( --wp--preset--color--text );
}

.pcn-checklist li::before {
	content: "";
	flex-shrink: 0;
	width: 17px;
	height: 17px;
	margin-top: 1px;
	background: var( --wp--preset--color--primary );
	-webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E" ) center / contain no-repeat;
	mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E" ) center / contain no-repeat;
}

/* Section heading row: title left, a short paragraph (and link) right. */
.pcn-section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 64px;
}

.pcn-section-head__title {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.pcn-section-head__title > *,
.pcn-section-head__aside > * {
	margin: 0 !important;
}

.pcn-section-head__aside {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 440px;
	flex-shrink: 0;
}

.pcn-section-head__aside p:not( .pcn-more ) {
	font-size: var( --wp--preset--font-size--body );
	line-height: 1.65;
}

@media ( max-width: 781px ) {
	.pcn-section-head {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
	}

	.pcn-section-head__title {
		gap: 14px;
	}

	.pcn-section-head__aside {
		max-width: none;
	}

	.pcn-section-head__aside p:not( .pcn-more ) {
		line-height: 1.6;
	}
}

/* The inner width of every band. */
.pcn-section > *,
.pcn-partners > * {
	max-width: 1200px;
	margin-inline: auto !important;
}

/* ---- icons.css ---- */
/*
 * Icon classes: `pcn-ico-<name>` on any block draws that icon as its
 * ::before, masked in currentColor, so the client edits the text and never
 * an SVG. Components size and colour the pseudo-element (sections.css).
 * Generated from inc/icons.php (one icon set); regenerate with
 * tools/build-icons-css.py after adding an icon.
 */

[class*="pcn-ico-"]::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: var( --pcn-ico-size, 1em );
	height: var( --pcn-ico-size, 1em );
	background: var( --pcn-ico-color, currentColor );
	-webkit-mask: var( --pcn-ico ) center / contain no-repeat;
	mask: var( --pcn-ico ) center / contain no-repeat;
}

.pcn-ico-arrow {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E" );
}

.pcn-ico-chev {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E" );
}

.pcn-ico-search {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E" );
}

.pcn-ico-menu {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E" );
}

.pcn-ico-phone {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E" );
}

.pcn-ico-mail {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E" );
}

.pcn-ico-pin {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E" );
}

.pcn-ico-clock {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E" );
}

.pcn-ico-shield {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E" );
}

.pcn-ico-users {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E" );
}

.pcn-ico-award {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.48 12.89 17 22l-5-3-5 3 1.52-9.11'/%3E%3C/svg%3E" );
}

.pcn-ico-wrench {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E" );
}

.pcn-ico-bell {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 18h20'/%3E%3Cpath d='M4 18a8 8 0 0 1 16 0'/%3E%3Cpath d='M12 10V7'/%3E%3Cpath d='M10 7h4'/%3E%3C/svg%3E" );
}

.pcn-ico-cart {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E" );
}

.pcn-ico-chart {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M18 17V9'/%3E%3Cpath d='M13 17V5'/%3E%3Cpath d='M8 17v-3'/%3E%3C/svg%3E" );
}

.pcn-ico-network {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='16' y='16' width='6' height='6' rx='1'/%3E%3Crect x='2' y='16' width='6' height='6' rx='1'/%3E%3Crect x='9' y='2' width='6' height='6' rx='1'/%3E%3Cpath d='M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3'/%3E%3Cpath d='M12 12V8'/%3E%3C/svg%3E" );
}

.pcn-ico-monitor {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E" );
}

.pcn-ico-sliders {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6'/%3E%3C/svg%3E" );
}

.pcn-ico-refresh {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3Cpath d='M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16'/%3E%3Cpath d='M8 16H3v5'/%3E%3C/svg%3E" );
}

.pcn-ico-zap {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/%3E%3C/svg%3E" );
}

.pcn-ico-check {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E" );
}

.pcn-ico-headset {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E" );
}

.pcn-ico-bed {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4v16'/%3E%3Cpath d='M2 8h18a2 2 0 0 1 2 2v10'/%3E%3Cpath d='M2 17h20'/%3E%3Cpath d='M6 8v9'/%3E%3C/svg%3E" );
}

.pcn-ico-utensils {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2'/%3E%3Cpath d='M7 2v20'/%3E%3Cpath d='M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/%3E%3C/svg%3E" );
}

.pcn-ico-tablet {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E" );
}

.pcn-ico-lock {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E" );
}

.pcn-ico-calendar {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3Cpath d='m9 16 2 2 4-4'/%3E%3C/svg%3E" );
}

.pcn-ico-file {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E" );
}

.pcn-ico-phone2 {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E" );
}

.pcn-ico-box {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E" );
}

.pcn-ico-card {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E" );
}

.pcn-ico-building {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3Cpath d='M9 22v-4h6v4M8 6h.01M16 6h.01M12 6h.01M12 10h.01M12 14h.01M16 10h.01M16 14h.01M8 10h.01M8 14h.01'/%3E%3C/svg%3E" );
}

.pcn-ico-globe {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E" );
}

.pcn-ico-download {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E" );
}

.pcn-ico-close {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E" );
}

.pcn-ico-chat {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E" );
}

.pcn-ico-ticket {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z'/%3E%3Cpath d='M13 5v2M13 17v2M13 11v2'/%3E%3C/svg%3E" );
}

.pcn-ico-remote {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3Cpath d='m17 8 5-5M17 3h5v5'/%3E%3C/svg%3E" );
}

.pcn-ico-camera {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16.75 12h3.63a1 1 0 0 1 .95 1.3l-1.38 4.14a1 1 0 0 1-.95.68H13'/%3E%3Cpath d='M3 5.5 16.5 3l1.5 8-13.5 2.5z'/%3E%3Cpath d='m7.5 12.7 1 4.8H3'/%3E%3Cpath d='M3 21v-7'/%3E%3C/svg%3E" );
}

.pcn-ico-siren {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18v-6a5 5 0 1 1 10 0v6'/%3E%3Cpath d='M5 21a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1z'/%3E%3Cpath d='M21 12h1M18.5 4.5 18 5M2 12h1M12 2v1M4.93 4.93l.71.71'/%3E%3Cpath d='M12 12v6'/%3E%3C/svg%3E" );
}

.pcn-ico-wifi {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h.01'/%3E%3Cpath d='M2 8.82a15 15 0 0 1 20 0'/%3E%3Cpath d='M5 12.86a10 10 0 0 1 14 0'/%3E%3Cpath d='M8.5 16.43a5 5 0 0 1 7 0'/%3E%3C/svg%3E" );
}

.pcn-ico-printer {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6'/%3E%3Crect x='6' y='14' width='12' height='8' rx='1'/%3E%3C/svg%3E" );
}

.pcn-ico-server {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='8' rx='2'/%3E%3Crect x='2' y='14' width='20' height='8' rx='2'/%3E%3Cpath d='M6 6h.01M6 18h.01'/%3E%3C/svg%3E" );
}

.pcn-ico-cloud {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E" );
}

.pcn-ico-laptop {
	--pcn-ico: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16'/%3E%3C/svg%3E" );
}

/* ---- chrome.css ---- */
/*
 * Chrome: support bar, header, navigation, footer, chat button.
 * Values lifted from Home.dc.html / HomeMobile.dc.html (support_bar, header,
 * footer and their _m twins in the canvas generator).
 *
 * Breakpoints: the desktop header needs 1280px for seven menu items (769px
 * on one line at a 30px gap, 721px at 22px), the logo, search and the
 * button; below that it is the phone panel. The tagline beside the logo
 * shows from 1520px only, and the item gap is 22px below 1440px: measured
 * with tools/qa/evaluate.mjs (2026-09-26), after "Notícias" joined the
 * menu and it wrapped onto two rows. The footer and the support bar go to
 * their phone layout at core's 782px.
 */

/* ---------------------------------------------------------------- support bar */

.pcn-support-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: var( --pcn-support-height );
	padding: 0 var( --wp--preset--spacing--gutter );
	box-sizing: border-box;
	background: var( --wp--preset--color--white );
	border-bottom: 1px solid var( --wp--preset--color--line );
	font-size: var( --wp--preset--font-size--eyebrow );
}

.pcn-support-bar__hours {
	margin: 0;
	color: var( --wp--preset--color--muted );
}

.pcn-support-bar__hours strong {
	color: var( --wp--preset--color--ink );
	font-weight: 700;
}

.pcn-support-bar__links {
	display: flex;
	align-items: center;
	gap: 28px;
}

.pcn-support-bar__links a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: var( --pcn-support-height );
	font-weight: 700;
	color: var( --wp--preset--color--ink );
}

.pcn-support-bar__links a:hover {
	color: var( --wp--preset--color--primary );
}

.pcn-support-bar__links .pcn-icon {
	color: var( --wp--preset--color--primary );
}

@media ( max-width: 781px ) {
	.pcn-support-bar {
		padding: 0 8px 0 20px;
	}

	.pcn-support-bar__hours span {
		display: none;
	}

	.pcn-support-bar__links {
		gap: 0;
	}

	.pcn-support-bar__links a {
		width: 44px;
		justify-content: center;
	}

	.pcn-support-bar__links .pcn-icon {
		width: 19px;
		height: 19px;
	}

	.pcn-support-bar__links span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect( 1px, 1px, 1px, 1px );
		white-space: nowrap;
	}
}

/* ---------------------------------------------------------------- header */

.pcn-site-header {
	position: relative;
	z-index: 20;
}

.pcn-header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	height: var( --pcn-header-height );
	padding: 0 var( --wp--preset--spacing--gutter );
	box-sizing: border-box;
	background: var( --wp--preset--color--white );
	border-bottom: 1px solid var( --wp--preset--color--line );
}

.pcn-header__brand {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-shrink: 0;
	line-height: 0;
}

.pcn-header__brand img {
	display: block;
	width: auto;
	height: 42px;
}

.pcn-header__tagline {
	padding-left: 16px;
	border-left: 1px solid var( --wp--preset--color--line );
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.24em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var( --wp--preset--color--muted );
}

.pcn-header__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-shrink: 0;
}

.pcn-header__cta.pcn-button {
	min-height: 46px;
	font-size: var( --wp--preset--font-size--small );
}

/* search: a <details>, opens without JS */
.pcn-search {
	position: relative;
}

.pcn-search summary {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	box-sizing: border-box;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--s );
	background: var( --wp--preset--color--white );
	color: var( --wp--preset--color--ink );
	cursor: pointer;
	list-style: none;
}

.pcn-search summary::-webkit-details-marker {
	display: none;
}

.pcn-search summary:hover,
.pcn-search[open] summary {
	border-color: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--primary );
}

.pcn-search__form {
	position: absolute;
	top: calc( 100% + 12px );
	right: 0;
	display: flex;
	gap: 8px;
	width: min( 420px, calc( 100vw - 40px ) );
	padding: 12px;
	box-sizing: border-box;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--m );
	background: var( --wp--preset--color--white );
	box-shadow: var( --wp--preset--shadow--card );
}

.pcn-search__form input {
	flex: 1;
	min-width: 0;
	height: 46px;
	padding: 0 14px;
	border: 1.5px solid var( --wp--preset--color--line-strong );
	border-radius: var( --wp--custom--radius--s );
	font: inherit;
	font-size: var( --wp--preset--font-size--small );
	color: var( --wp--preset--color--ink );
}

.pcn-search__form input:focus {
	outline: 2px solid var( --wp--preset--color--primary );
	outline-offset: 1px;
	border-color: var( --wp--preset--color--primary );
}

.pcn-search__form button {
	height: 46px;
	padding: 0 18px;
	border: 0;
	border-radius: var( --wp--custom--radius--s );
	background: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--white );
	font: inherit;
	font-size: var( --wp--preset--font-size--small );
	font-weight: 700;
	cursor: pointer;
}

/* ---------------------------------------------------------------- navigation (desktop) */

.pcn-header__menu {
	flex: 1;
	display: flex;
	justify-content: center;
}

.pcn-nav.wp-block-navigation,
.pcn-nav .wp-block-navigation__container {
	flex-wrap: nowrap;
	gap: 30px;
	white-space: nowrap;
	font-size: var( --wp--preset--font-size--small );
	font-weight: 600;
}

.pcn-nav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	color: var( --wp--preset--color--ink );
}

.pcn-nav > .wp-block-navigation__container > .wp-block-navigation-item,
.pcn-nav .wp-block-navigation__container > .wp-block-navigation-item {
	min-height: var( --pcn-header-height );
}

.pcn-nav .wp-block-navigation-item__content:hover,
.pcn-nav .current-menu-item > .wp-block-navigation-item__content,
.pcn-nav .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var( --wp--preset--color--primary );
}

@media ( min-width: 1280px ) {
	.pcn-nav .wp-block-navigation__container > .current-menu-item,
	.pcn-nav .wp-block-navigation__container > .current-menu-ancestor {
		box-shadow: inset 0 -2px 0 var( --wp--preset--color--primary );
	}
}

.pcn-nav .wp-block-navigation__submenu-icon {
	width: 16px;
	height: 16px;
	margin-left: 4px;
	color: currentColor;
}

.pcn-nav .wp-block-navigation__submenu-icon svg {
	width: 12px;
	height: 12px;
	stroke-width: 2px;
}

.pcn-nav .wp-block-navigation__submenu-container {
	min-width: 260px !important;
	padding: 8px !important;
	border: 1px solid var( --wp--preset--color--line ) !important;
	border-radius: var( --wp--custom--radius--m );
	background: var( --wp--preset--color--white ) !important;
	box-shadow: var( --wp--preset--shadow--card );
	font-weight: 600;
}

.pcn-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 10px 14px !important;
	border-radius: var( --wp--custom--radius--s );
	box-sizing: border-box;
}

.pcn-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var( --wp--preset--color--surface );
}

.pcn-menu-toggle {
	display: none;
}

/* ---------------------------------------------------------------- header (phone and tablet) */

@media ( max-width: 1279px ) {
	.pcn-header__brand img {
		height: 34px;
	}

	.pcn-header__tagline,
	.pcn-header__cta,
	.pcn-search {
		display: none;
	}

	.pcn-menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		border-radius: var( --wp--custom--radius--s );
		background: var( --wp--preset--color--ink );
		color: var( --wp--preset--color--white );
		cursor: pointer;
	}

	.pcn-menu-toggle__close,
	.is-menu-open .pcn-menu-toggle__open {
		display: none;
	}

	.is-menu-open .pcn-menu-toggle__close {
		display: block;
	}

	.pcn-header__menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc( 100vh - var( --pcn-header-height ) - var( --pcn-support-height ) );
		overflow-y: auto;
		padding: 8px var( --wp--preset--spacing--gutter ) 24px;
		box-sizing: border-box;
		background: var( --wp--preset--color--white );
		border-bottom: 1px solid var( --wp--preset--color--line );
		box-shadow: var( --wp--preset--shadow--card );
	}

	.admin-bar .pcn-header__menu {
		max-height: calc( 100vh - var( --pcn-header-height ) - var( --pcn-support-height ) - var( --wp-admin--admin-bar--height, 0px ) );
	}

	.is-menu-open .pcn-header__menu {
		display: block;
	}

	.pcn-nav.wp-block-navigation,
	.pcn-nav .wp-block-navigation__container {
		flex-direction: column;
		align-items: stretch !important;
		gap: 0;
		font-size: var( --wp--preset--font-size--body );
	}

	.pcn-nav .wp-block-navigation__container > .wp-block-navigation-item {
		min-height: 0;
		flex-wrap: wrap;
		border-bottom: 1px solid var( --wp--preset--color--line );
	}

	.pcn-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		padding: 14px 0;
	}

	/* On phones every submenu is open, indented: no hover to reveal it. */
	.pcn-nav .wp-block-navigation__submenu-container {
		position: static !important;
		width: 100% !important;
		height: auto !important;
		min-width: 0 !important;
		padding: 0 0 12px 12px !important;
		border: 0 !important;
		box-shadow: none;
		opacity: 1 !important;
		visibility: visible !important;
		overflow: visible !important;
		font-size: var( --wp--preset--font-size--small );
		font-weight: 500;
	}

	.pcn-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: 8px 0 !important;
		color: var( --wp--preset--color--text );
	}

	.pcn-nav .wp-block-navigation__submenu-icon {
		display: none;
	}
}

/* ---------------------------------------------------------------- footer */

.pcn-footer {
	display: flex;
	flex-direction: column;
	gap: 48px;
	padding: 80px var( --wp--preset--spacing--gutter ) 36px;
	background: var( --wp--preset--color--surface );
	border-top: 1px solid var( --wp--preset--color--line );
	color: var( --wp--preset--color--text );
}

.pcn-footer > * {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto !important;
}

.pcn-footer__grid {
	display: grid;
	grid-template-columns: 1.2fr 1.25fr 1fr 0.75fr 1.4fr;
	gap: 44px;
}

.pcn-footer__grid > * {
	margin-block-start: 0 !important;
}

.pcn-footer__about {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.pcn-footer__about img {
	display: block;
	width: auto;
	height: 44px;
	align-self: flex-start;
}

.pcn-footer__about p {
	margin: 0;
	max-width: 280px;
	font-size: var( --wp--preset--font-size--small );
	line-height: 1.7;
}

.pcn-footer__about .pcn-seal {
	margin-top: 6px;
}

.pcn-footer__col {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.pcn-footer__col > * {
	margin-block-start: 0 !important;
}

.pcn-footer__title {
	margin: 0 0 6px !important;
	font-size: var( --wp--preset--font-size--eyebrow );
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var( --wp--preset--color--ink );
}

.pcn-footer__menu.wp-block-navigation,
.pcn-footer__menu .wp-block-navigation__container {
	gap: 14px;
	font-size: var( --wp--preset--font-size--small );
}

.pcn-footer__menu .wp-block-navigation-item__content,
.pcn-footer a {
	color: var( --wp--preset--color--text );
}

.pcn-footer__menu .wp-block-navigation-item__content:hover,
.pcn-footer a:hover {
	color: var( --wp--preset--color--primary );
}

.pcn-footer__row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: var( --wp--preset--font-size--small );
	line-height: 1.55;
}

/* The icon never shrinks beside a long address (Elson, 2026-09-25). */
.pcn-footer__row .pcn-icon {
	flex-shrink: 0;
	margin-top: 2px;
	color: var( --wp--preset--color--primary );
}

.pcn-footer__row span {
	display: flex;
	flex-direction: column;
}

.pcn-footer a.pcn-footer__phone {
	font-weight: 700;
	color: var( --wp--preset--color--ink );
}

.pcn-footer__row small {
	font-size: var( --wp--preset--font-size--eyebrow );
}

.pcn-feder {
	padding: 4px 0;
}

.pcn-feder img {
	display: block;
	width: 520px;
	max-width: 100%;
	height: auto;
}

.pcn-footer__legal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px 28px;
	padding-top: 28px;
	border-top: 1px solid var( --wp--preset--color--line );
	font-size: var( --wp--preset--font-size--x-small );
	color: var( --wp--preset--color--muted );
}

.pcn-footer__legal nav {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
}

.pcn-footer__copy {
	margin: 0;
}

.pcn-footer .pcn-footer__copy a {
	font-weight: 800;
	color: var( --wp--preset--color--ink );
}

@media ( max-width: 1099px ) {
	.pcn-footer__grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 40px 28px;
	}
}

@media ( max-width: 781px ) {
	.pcn-footer {
		gap: 36px;
		padding: 56px 20px 32px;
	}

	.pcn-footer__grid {
		gap: 36px 28px;
	}

	.pcn-footer__about,
	.pcn-footer__contact {
		grid-column: 1 / -1;
	}

	.pcn-footer__about {
		gap: 16px;
	}

	.pcn-footer__about img {
		height: 38px;
	}

	.pcn-footer__about p {
		max-width: none;
		line-height: 1.65;
	}

	.pcn-feder img {
		width: 100%;
	}

	.pcn-footer__legal {
		flex-direction: column;
		align-items: flex-start;
		padding-top: 24px;
	}

	.pcn-footer__legal nav {
		gap: 12px 22px;
	}

	/* Two whole lines on a phone, no dangling separator (house rule). */
	.pcn-footer__copy {
		display: flex;
		flex-direction: column;
		gap: 4px;
	}

	.pcn-footer__sep {
		display: none;
	}
}

/* ---------------------------------------------------------------- floating chat */

.pcn-chat {
	position: fixed;
	right: 24px;
	bottom: calc( 24px + var( --pcn-chat-lift, 0px ) );
	z-index: 30;
	display: flex;
	align-items: center;
	gap: 10px;
	height: 60px;
	padding: 0 22px 0 18px;
	box-sizing: border-box;
	border-radius: 30px;
	background: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--white ) !important;
	font-size: var( --wp--preset--font-size--small );
	font-weight: 700;
	box-shadow: 0 14px 32px rgba( 40, 98, 255, 0.38 );
}

.pcn-chat:hover {
	background: var( --wp--preset--color--primary-dark );
}

@media ( max-width: 781px ) {
	.pcn-chat {
		right: 16px;
		bottom: calc( 16px + var( --pcn-chat-lift, 0px ) );
		width: 60px;
		padding: 0;
		justify-content: center;
	}

	.pcn-chat span {
		display: none;
	}
}

/* ---------------------------------------------------------------- flow-margin guards */

/* The chrome groups use the default (flow) layout, so core gives every child
   after the first a block-start margin; in these flex rows it pushes items
   off the centre line. */
.pcn-support-bar > *,
.pcn-header > *,
.pcn-header__menu > * {
	margin-block-start: 0 !important;
}

.pcn-footer > .pcn-chat {
	width: auto;
	max-width: none;
	margin: 0 !important;
}

@media ( max-width: 781px ) {
	.pcn-footer > .pcn-chat {
		width: 60px;
	}
}

/* ---------------------------------------------------------------- header fit (desktop widths) */

@media ( min-width: 1280px ) and ( max-width: 1519px ) {
	.pcn-header__tagline {
		display: none;
	}
}

@media ( min-width: 1280px ) and ( max-width: 1439px ) {
	.pcn-nav.wp-block-navigation,
	.pcn-nav .wp-block-navigation__container {
		gap: 22px;
	}
}

/* ---------------------------------------------------------------- chat consent notice */

/* Above the theme's chat button, before Marketing consent (assets/js/chat.js). */
.pcn-chat-consent {
	position: fixed;
	right: 24px;
	bottom: calc( 96px + var( --pcn-chat-lift, 0px ) );
	z-index: 31;
	width: min( 360px, calc( 100vw - 32px ) );
	padding: 22px 22px 20px;
	box-sizing: border-box;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
	box-shadow: var( --wp--preset--shadow--raised );
	font-size: var( --wp--preset--font-size--x-small );
	line-height: 1.55;
	color: var( --wp--preset--color--text );
}

.pcn-chat-consent[hidden] {
	display: none;
}

.pcn-chat-consent p {
	margin: 0 0 10px;
}

.pcn-chat-consent__title {
	padding-right: 28px;
	font-size: var( --wp--preset--font-size--body );
	font-weight: 700;
	color: var( --wp--preset--color--ink );
}

.pcn-chat-consent__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-top: 14px;
}

.pcn-chat-consent .pcn-button {
	min-height: 44px;
	padding: 0 18px;
	font-size: var( --wp--preset--font-size--x-small );
	cursor: pointer;
}

.pcn-chat-consent.is-loading .pcn-button {
	opacity: 0.6;
	pointer-events: none;
}

.pcn-chat-consent__alt {
	font-weight: 700;
}

.pcn-chat-consent__close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var( --wp--preset--color--muted );
	cursor: pointer;
}

.pcn-chat-consent__close:hover {
	background: var( --wp--preset--color--surface );
	color: var( --wp--preset--color--ink );
}

@media ( max-width: 781px ) {
	.pcn-chat-consent {
		right: 16px;
		bottom: calc( 88px + var( --pcn-chat-lift, 0px ) );
	}
}

.pcn-footer > .pcn-chat-consent {
	max-width: none;
	margin: 0 !important;
}

/* ---- sections/_wells.css ---- */
/*
 * Loaded after icons.css (section sheets come after it), so these sizes win
 * over the generic pcn-ico-* rule of equal specificity.
 */

/* An item whose pcn-ico-* icon sits in a rounded well: the icon is the
   masked ::before (sized by --pcn-well-size, drawn at --pcn-well-icon), the
   well is ::after behind it. Components set the four variables. */
.pcn-trust__item,
.pcn-band__feature,
.pcn-feature {
	position: relative;
}

.pcn-trust__item::before,
.pcn-band__feature::before,
.pcn-feature::before {
	position: relative;
	z-index: 1;
	width: var( --pcn-well-size );
	height: var( --pcn-well-size );
	-webkit-mask-size: var( --pcn-well-icon );
	mask-size: var( --pcn-well-icon );
}

.pcn-trust__item::after,
.pcn-band__feature::after,
.pcn-feature::after {
	content: "";
	position: absolute;
	left: 0;
	top: var( --pcn-well-top, 50% );
	transform: translateY( var( --pcn-well-shift, -50% ) );
	width: var( --pcn-well-size );
	height: var( --pcn-well-size );
	border-radius: var( --pcn-well-radius );
	background: var( --pcn-well-bg );
}

/* ---- sections/about.css ---- */
/*
 * pcn-about — Home.dc.html: two columns, gap 88; text column gap 22,
 * paragraphs 17/1.7; fact tiles 2 × 2, gap 18, padding 26/28, radius 16,
 * the fourth tile primary. HomeMobile.dc.html: text, two tiles, then the
 * link; tiles padding 20, radius 14.
 */

.pcn-about {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	grid-template-areas:
		"text facts"
		"more facts";
	column-gap: 88px;
	row-gap: 22px;
	align-items: center;
}

@media ( min-width: 1440px ) {
	.pcn-about {
		padding-inline: calc( ( 100% - 1200px ) / 2 );
	}
}

.pcn-about > * {
	max-width: none;
	margin: 0 !important;
}

.pcn-about__text {
	grid-area: text;
	align-self: end;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.pcn-about__text > * {
	margin: 0 !important;
}

.pcn-about__text p {
	line-height: 1.7;
}

.pcn-about__more {
	grid-area: more;
	align-self: start;
}

.pcn-about__facts {
	grid-area: facts;
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 18px;
}

.pcn-about__facts > * {
	margin: 0 !important;
}

.pcn-fact {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 26px 28px;
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--surface );
}

.pcn-fact > * {
	margin: 0 !important;
}

.pcn-fact__value {
	font-size: var( --wp--preset--font-size--stat );
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var( --wp--preset--color--primary );
}

.pcn-fact__label {
	font-size: var( --wp--preset--font-size--x-small );
	font-weight: 600;
	color: var( --wp--preset--color--muted );
}

.pcn-fact--primary {
	justify-content: space-between;
	gap: 18px;
	background: var( --wp--preset--color--primary );
}

.pcn-fact__ask {
	font-size: var( --wp--preset--font-size--body );
	font-weight: 700;
	line-height: 1.4;
	color: var( --wp--preset--color--white );
}

@media ( max-width: 781px ) {
	.pcn-about {
		grid-template-columns: minmax( 0, 1fr );
		grid-template-areas:
			"text"
			"facts"
			"more";
		row-gap: 18px;
	}

	.pcn-about__text {
		gap: 18px;
	}

	.pcn-about__text p {
		line-height: 1.65;
	}

	.pcn-about__facts {
		gap: 12px;
		margin-top: 8px !important;
	}

	.pcn-fact {
		gap: 4px;
		padding: 20px;
		border-radius: var( --wp--custom--radius--m );
	}

	.pcn-fact__label {
		font-size: 13px;
	}
}

/* ---- sections/anchors.css ---- */
/*
 * pcn-anchors — the bar of in-page links under a service page's hero.
 * Service.dc.html: white, hairline below, inset 120; links 64 high, 15/600
 * in ink, gap 36; the first link current (700, primary, 2px underline
 * drawn inside). ServiceMobile.dc.html: inset 20, links 54 high, 14, gap 26;
 * a bar with more links than fit scrolls sideways rather than wrapping.
 *
 * Sticky on scroll (Elson, 2026-09-26): the bar stays at the top of the
 * window under the admin bar, gains a soft shadow once stuck, and
 * assets/js/anchors.js marks the link of the section being read. Without
 * JS the first link is the current one, as the artboard draws it.
 */

.pcn-anchors {
	position: sticky;
	top: 0;
	z-index: 15;
	padding-inline: var( --wp--preset--spacing--gutter );
	transition: box-shadow 0.2s ease;
	border-bottom: 1px solid var( --wp--preset--color--line );
	background: var( --wp--preset--color--white );
}

.pcn-anchors > * {
	max-width: 1200px;
	margin-inline: auto !important;
	margin-block: 0 !important;
}

.pcn-anchors__list {
	display: flex;
	gap: 36px;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}

.pcn-anchors__list li {
	flex-shrink: 0;
	margin: 0;
}

.pcn-anchors__list a {
	display: inline-flex;
	align-items: center;
	height: 64px;
	font-size: var( --wp--preset--font-size--small );
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
	color: var( --wp--preset--color--ink );
}

.pcn-anchors__list a:hover,
.pcn-anchors__list a:focus-visible {
	color: var( --wp--preset--color--primary );
}

.pcn-anchors:not( .is-live ) .pcn-anchors__list li:first-child a,
.pcn-anchors__list a.is-current {
	font-weight: 700;
	color: var( --wp--preset--color--primary );
	box-shadow: inset 0 -2px 0 var( --wp--preset--color--primary );
}

@media ( max-width: 781px ) {
	.pcn-anchors__list {
		gap: 26px;
	}

	.pcn-anchors__list a {
		height: 54px;
	}
}

/* Under the admin bar when it is fixed (from 601px; below, it scrolls away). */
@media ( min-width: 601px ) {
	.admin-bar .pcn-anchors {
		top: var( --wp-admin--admin-bar--height, 0px );
	}
}

.pcn-anchors.is-stuck {
	box-shadow: 0 8px 20px rgba( 11, 22, 51, 0.08 );
}

/* A section reached through the bar is not hidden under it. */
.pcn-anchors ~ [id] {
	scroll-margin-top: 88px;
}

@media ( max-width: 781px ) {
	.pcn-anchors ~ [id] {
		scroll-margin-top: 72px;
	}
}

/* ---- sections/band.css ---- */
/*
 * pcn-band — the dark Field Service band. Home.dc.html: ink, photo column
 * 560 wide at full height (min 560), body padding 96/120/96/88, gap 26;
 * five services in a row, icon well 52 (radius 14) on a pale blue wash.
 * HomeMobile.dc.html: photo 240 high on top, body 48/20/56, services in a
 * column with a 44 well beside the label.
 */

.pcn-band {
	display: grid;
	grid-template-columns: 560px minmax( 0, 1fr );
	background: var( --wp--preset--color--ink );
	color: var( --wp--preset--color--on-dark );
}

.pcn-band > * {
	margin: 0 !important;
}

.pcn-band__image,
.pcn-band__image img {
	width: 100%;
	height: 100%;
}

.pcn-band__image img {
	display: block;
	min-height: 560px;
	object-fit: cover;
}

.pcn-band__body {
	display: flex;
	flex-direction: column;
	gap: 26px;
	max-width: 792px;
	padding: 96px var( --wp--preset--spacing--gutter ) 96px 88px;
}

.pcn-band__body > * {
	margin: 0 !important;
}

.pcn-band__body h2 {
	color: var( --wp--preset--color--white );
}

.pcn-band__lead {
	max-width: 560px;
	line-height: 1.65;
	color: var( --wp--preset--color--on-dark );
}

.pcn-band__features {
	display: grid;
	grid-template-columns: repeat( 5, minmax( 0, 1fr ) );
	gap: 20px;
	margin: 10px 0 12px !important;
}

.pcn-band__feature {
	--pcn-well-size: 52px;
	--pcn-well-icon: 26px;
	--pcn-well-radius: 14px;
	--pcn-well-bg: rgba( 143, 176, 255, 0.14 );
	--pcn-well-top: 0;
	--pcn-well-shift: 0;
	--pcn-ico-color: var( --wp--preset--color--on-dark-accent );
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin: 0 !important;
	font-size: var( --wp--preset--font-size--small );
	font-weight: 600;
	line-height: 1.4;
	color: var( --wp--preset--color--white );
}

.pcn-band__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.pcn-band__actions > * {
	margin: 0 !important;
}

.pcn-band__remote {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 20px;
	font-size: var( --wp--preset--font-size--small );
	font-weight: 700;
	color: var( --wp--preset--color--white );
	--pcn-ico-size: 18px;
}

.pcn-band__remote a {
	color: var( --wp--preset--color--white );
}

.pcn-band__remote a:hover {
	color: var( --wp--preset--color--on-dark-accent );
}

@media ( max-width: 1279px ) {
	.pcn-band {
		grid-template-columns: 40% minmax( 0, 1fr );
	}

	.pcn-band__body {
		padding-left: 56px;
	}

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

@media ( max-width: 781px ) {
	.pcn-band {
		grid-template-columns: minmax( 0, 1fr );
	}

	.pcn-band__image img {
		height: 240px;
		min-height: 0;
	}

	.pcn-band__body {
		gap: 20px;
		padding: 48px 20px 56px;
	}

	.pcn-band__lead {
		line-height: 1.6;
	}

	.pcn-band__features {
		grid-template-columns: minmax( 0, 1fr );
		gap: 14px;
		margin: 6px 0 !important;
	}

	.pcn-band__feature {
		--pcn-well-size: 44px;
		--pcn-well-icon: 22px;
		--pcn-well-radius: 12px;
		--pcn-well-top: 50%;
		--pcn-well-shift: -50%;
		flex-direction: row;
		align-items: center;
	}

	.pcn-band__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.pcn-band__actions .wp-block-button,
	.pcn-band__actions .wp-block-button__link {
		width: 100%;
	}

	.pcn-band__remote {
		justify-content: center;
		min-height: 48px;
	}
}

/* ---- sections/brand-card.css ---- */
/*
 * pcn-brands and pcn-brand-card. Home.dc.html: tint band, padding 104/120,
 * gap 52; four columns, gap 24; card padding 30/28, gap 24; logo row 60 high;
 * the list under a hairline. HomeMobile.dc.html: one column, the list in two.
 */

.pcn-brands {
	display: flex;
	flex-direction: column;
	gap: 52px;
}

.pcn-brands > * {
	width: 100%;
	margin-block: 0 !important;
}

.pcn-brands .pcn-section-head__title h2 {
	max-width: 640px;
}

.pcn-brands .pcn-section-head__aside {
	max-width: 400px;
}

.pcn-brand-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 24px;
}

.pcn-brand-grid > * {
	margin: 0 !important;
}

.pcn-brand-card {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 30px 28px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
}

.pcn-brand-card > * {
	margin: 0 !important;
}

.pcn-brand-card__logo {
	display: flex;
	align-items: center;
	height: 60px;
}

.pcn-brand-card__logo img {
	display: block;
	max-width: 100%;
}

.pcn-brand-card .pcn-checklist {
	flex-grow: 1;
	padding-top: 22px;
	border-top: 1px solid var( --wp--preset--color--line );
}

.pcn-brand-card .pcn-more {
	font-size: var( --wp--preset--font-size--x-small );
}

@media ( max-width: 1099px ) {
	.pcn-brand-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 781px ) {
	.pcn-brands {
		gap: 28px;
	}

	.pcn-brand-grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 14px;
	}

	.pcn-brand-card {
		gap: 16px;
		padding: 22px 20px;
		border-radius: var( --wp--custom--radius--m );
	}

	.pcn-brand-card__logo {
		height: 48px;
	}

	.pcn-brand-card__logo img {
		zoom: 0.85;
	}

	.pcn-brand-card .pcn-checklist {
		display: grid;
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 10px 12px;
		padding-top: 16px;
	}

	.pcn-brand-card .pcn-checklist li {
		gap: 8px;
		font-size: var( --wp--preset--font-size--x-small );
	}

	.pcn-brand-card .pcn-checklist li::before {
		width: 16px;
		height: 16px;
	}

	.pcn-brand-card .pcn-more {
		display: none;
	}
}

/* ---- sections/brand-row.css ---- */
/*
 * pcn-brand-band and pcn-brand-row — "O software com que trabalhamos neste
 * setor" on a service page. Service.dc.html: padding 88/120, gap 36; the
 * heading row (eyebrow, h2 34, gap 14) with a paragraph right (max 440,
 * 16/1.65); the cards in a row, gap 20: white, hairline, radius 16,
 * padding 26/28, logo left at its drawn height, "Ver →" 14/700 right.
 * ServiceMobile.dc.html: padding 56/20, gap 18 throughout, the paragraph
 * dropped; cards stacked, gap 10, 76 high, padding 0/20, radius 14, the
 * logo at 0.85 of its height and the arrow alone.
 *
 * The cards share the row equally, so a sector with two or four programs
 * fills it as three do.
 */

.pcn-brand-band {
	display: flex;
	flex-direction: column;
	gap: 36px;
	padding-block: 88px;
}

.pcn-brand-band > * {
	width: 100%;
	margin-block: 0 !important;
}

.pcn-brand-band .pcn-section-head__title {
	gap: 14px;
}

.pcn-brand-band__title {
	font-size: var( --wp--preset--font-size--heading-small );
	line-height: var( --wp--custom--line-height--heading );
}

.pcn-brand-rows {
	display: flex;
	gap: 20px;
}

.pcn-brand-rows > * {
	margin: 0 !important;
}

.pcn-brand-row {
	display: flex;
	flex: 1 1 0;
	min-width: 0;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 26px 28px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
}

.pcn-brand-row > * {
	margin: 0 !important;
}

.pcn-brand-row__logo,
.pcn-brand-row__logo a {
	display: block;
	line-height: 0;
}

.pcn-brand-row__logo img {
	display: block;
	max-width: 100%;
}

.pcn-brand-row .pcn-more {
	flex-shrink: 0;
	font-size: var( --wp--preset--font-size--x-small );
}

@media ( max-width: 1099px ) {
	.pcn-brand-rows {
		flex-wrap: wrap;
	}

	.pcn-brand-row {
		flex-basis: calc( 50% - 10px );
	}
}

@media ( max-width: 781px ) {
	.pcn-brand-band {
		gap: 18px;
		padding-block: 56px;
	}

	.pcn-brand-band .pcn-section-head {
		gap: 18px;
	}

	.pcn-brand-band .pcn-section-head__title {
		gap: 18px;
	}

	.pcn-brand-rows {
		flex-direction: column;
		gap: 10px;
	}

	.pcn-brand-row {
		flex-basis: auto;
		height: 76px;
		padding: 0 20px;
		border-radius: var( --wp--custom--radius--m );
	}

	.pcn-brand-row__logo img {
		zoom: 0.85;
	}

	/* The arrow alone: the label stays for screen readers. */
	.pcn-brand-row .pcn-more a {
		font-size: 0;
	}

	.pcn-brand-row .pcn-more a::after {
		width: 18px;
		height: 18px;
	}
}

/* ---- sections/contact-line.css ---- */
/*
 * pcn/contact-line — the business's contacts as a row (CTA) or a column.
 * Items 16/600, icon 20; on dark the icons are on-dark-accent.
 */

.pcn-contact-line {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 36px;
}

.pcn-contact-line--column {
	flex-direction: column;
	gap: 14px;
}

.pcn-contact-line__item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: var( --wp--preset--font-size--body );
	font-weight: 600;
	line-height: 1.4;
}

.pcn-contact-line__item .pcn-icon {
	flex-shrink: 0;
}

.pcn-contact-line--dark .pcn-contact-line__item,
.pcn-contact-line--dark .pcn-contact-line__item a {
	color: var( --wp--preset--color--white );
}

.pcn-contact-line--dark .pcn-icon {
	color: var( --wp--preset--color--on-dark-accent );
}

.pcn-contact-line--light .pcn-contact-line__item,
.pcn-contact-line--light .pcn-contact-line__item a {
	color: var( --wp--preset--color--ink );
}

.pcn-contact-line--light .pcn-icon {
	color: var( --wp--preset--color--primary );
}

.pcn-contact-line a:hover {
	text-decoration: underline;
}

@media ( max-width: 781px ) {
	.pcn-contact-line {
		flex-direction: column;
		gap: 14px;
	}
}

/* ---- sections/contact.css ---- */
/*
 * pcn-contact — the form beside the details (Contactos).
 * Contact.dc.html: padding 40/104, columns 1.45fr / 1fr, gap 48, top-aligned.
 * ContactMobile.dc.html: padding 24/20, one column, gap 28, details first;
 * the map panel follows inside the same rhythm (sections/map.css).
 *
 * The details are pcn/contact-line in its `cards` layout
 * (pcn-contact-details): cards gap 14; each padding 22/24 (phone 18),
 * radius 16 on surface; icon well 46, radius 12, white, icon 22 primary;
 * label 13/700 uppercase muted, tracking 0.14em; value 18/700 ink; the
 * call-cost note 13 muted; hours and address 15/1.55 text.
 */

.pcn-contact.pcn-section {
	padding-top: 40px;
	padding-bottom: var( --wp--preset--spacing--section );
}

.pcn-contact__grid {
	display: grid;
	grid-template-columns: minmax( 0, 1.45fr ) minmax( 0, 1fr );
	gap: 48px;
	align-items: start;
}

.pcn-contact__grid > * {
	margin: 0 !important;
}

/* ---- the details cards (pcn/contact-line, layout cards) */

.pcn-contact-line--cards {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 14px;
}

.pcn-contact-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 22px 24px;
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--surface );
}

.pcn-contact-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: var( --wp--preset--color--white );
	color: var( --wp--preset--color--primary );
}

.pcn-contact-card__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.pcn-contact-card__label {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var( --wp--preset--color--muted );
}

.pcn-contact-card__value,
.pcn-contact-card__value:hover {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	color: var( --wp--preset--color--ink );
	overflow-wrap: anywhere;
}

.pcn-contact-card__value:hover {
	color: var( --wp--preset--color--primary );
}

.pcn-contact-card__note {
	font-size: 13px;
	line-height: 1.3;
	color: var( --wp--preset--color--muted );
}

.pcn-contact-card__text {
	font-size: 15px;
	line-height: 1.55;
	color: var( --wp--preset--color--text );
}

@media ( max-width: 781px ) {
	.pcn-contact.pcn-section {
		padding-top: 24px;
		padding-bottom: 0;
	}

	.pcn-contact__grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 28px;
	}

	/* The phone artboard puts the details above the form. */
	.pcn-contact__grid .pcn-contact-details {
		order: -1;
	}

	.pcn-contact-card {
		padding: 18px;
	}
}

/* ---- sections/cta.css ---- */
/*
 * pcn-cta — the closing band over the Câmara de Lobos photograph.
 * Home.dc.html: padding 112/120, copy column max 720, gap 22; heading 48,
 * lead 18; contacts under a faint rule, gap 36. HomeMobile.dc.html: padding
 * 72/20, heading 32, full-width button, contacts in a column.
 */

.pcn-cta.wp-block-cover {
	display: block;
	padding: 112px var( --wp--preset--spacing--gutter );
	background: var( --wp--preset--color--ink );
}

@media ( min-width: 1440px ) {
	.pcn-cta.wp-block-cover {
		padding-inline: calc( ( 100% - 1200px ) / 2 );
	}
}

.pcn-cta .wp-block-cover__inner-container {
	width: 100%;
	color: var( --wp--preset--color--white );
}

.pcn-cta__body {
	display: flex;
	flex-direction: column;
	gap: 22px;
	max-width: 720px;
}

.pcn-cta__body > * {
	margin: 0 !important;
}

.pcn-cta__title {
	font-size: var( --wp--preset--font-size--cta );
	line-height: 1.1;
	color: var( --wp--preset--color--white );
}

.pcn-cta__lead {
	font-size: var( --wp--preset--font-size--lead );
	line-height: 1.6;
	color: var( --wp--preset--color--on-dark );
}

.pcn-cta__buttons {
	margin-top: 8px !important;
}

.pcn-cta__contacts {
	margin-top: 18px !important;
	padding-top: 26px;
	border-top: 1px solid rgba( 170, 182, 211, 0.25 );
}

@media ( max-width: 781px ) {
	.pcn-cta.wp-block-cover {
		padding: 72px 20px;
	}

	.pcn-cta__buttons .wp-block-button,
	.pcn-cta__buttons .wp-block-button__link {
		width: 100%;
	}
}

/* ---- sections/design-web.css ---- */
/*
 * Design e Web — DesignWeb.dc.html / DesignWebMobile.dc.html (Elson,
 * 2026-09-26). The sections after the page hero and the anchor bar:
 * pcn-dw-offer (four pcn-do-cards, software.css, plus "Ideal para"),
 * pcn-dw-linked (the ink band), pcn-dw-process (numbered steps and the
 * after-launch note), pcn-dw-duo (PCN / SEVENSCOPE), pcn-dw-faq (core
 * details). The form band is partner.css; the hero's partner line is here.
 */

/* ---------------------------------------------------------------- shared */

.pcn-dw-offer,
.pcn-dw-process,
.pcn-dw-duo {
	display: flex;
	flex-direction: column;
	gap: 44px;
}

.pcn-dw-offer > *,
.pcn-dw-process > *,
.pcn-dw-duo > *,
.pcn-dw-faq > *,
.pcn-dw-linked > * {
	box-sizing: border-box;
	width: 100%;
	margin-block: 0 !important;
}

/* ---------------------------------------------------------------- hero partner line */

.pcn-page-hero__partner {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 14px !important;
	padding-top: 22px;
	border-top: 1px solid rgba( 170, 182, 211, 0.25 );
}

.pcn-page-hero__partner > * {
	margin: 0 !important;
}

.pcn-page-hero__partner-label {
	font-size: 13px;
	font-weight: 600;
	color: var( --wp--preset--color--on-dark );
}

.pcn-page-hero__partner-logo img {
	display: block;
	filter: brightness( 0 ) invert( 1 );
}

/* ---------------------------------------------------------------- what we do */

.pcn-dw-offer .pcn-do-card__text {
	flex-grow: 1;
}

.pcn-do-card__for {
	padding-top: 12px;
	border-top: 1px solid var( --wp--preset--color--line );
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	color: var( --wp--preset--color--text );
}

/* ---------------------------------------------------------------- linked to your software */

.pcn-dw-linked {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 88px;
	align-items: center;
	background: var( --wp--preset--color--ink );
	color: var( --wp--preset--color--on-dark );
}

/* Grid bands: the 1200 column comes from the padding, not from the children. */
@media ( min-width: 1440px ) {
	.pcn-dw-linked,
	.pcn-dw-faq {
		padding-inline: calc( ( 100% - 1200px ) / 2 );
	}
}

.pcn-dw-linked > *,
.pcn-dw-faq > * {
	max-width: none;
	margin-inline: 0 !important;
}

.pcn-dw-linked__intro {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.pcn-dw-linked__intro > * {
	margin: 0 !important;
}

.pcn-dw-linked__intro h2 {
	color: var( --wp--preset--color--white );
}

.pcn-dw-linked__intro p:not( .pcn-eyebrow ) {
	font-size: 17px;
	line-height: 1.65;
}

.pcn-dw-linked__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.pcn-dw-linked__chips a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 16px;
	border: 1px solid rgba( 255, 255, 255, 0.35 );
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	color: var( --wp--preset--color--white );
	text-decoration: none;
}

.pcn-dw-linked__chips a::after {
	content: "";
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E" ) center / contain no-repeat;
	mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E" ) center / contain no-repeat;
}

.pcn-dw-linked__chips a:hover {
	border-color: var( --wp--preset--color--white );
	background: rgba( 255, 255, 255, 0.08 );
}

.pcn-dw-linked__rows {
	display: flex;
	flex-direction: column;
	gap: 28px;
	padding: 36px;
	border: 1px solid rgba( 170, 182, 211, 0.2 );
	border-radius: 20px;
}

.pcn-dw-linked__rows > * {
	margin: 0 !important;
}

/* The icon well: ::after the 52 well, ::before the masked icon on it. */
.pcn-dw-linked__row {
	position: relative;
	min-height: 52px;
	padding-left: 68px;
	font-size: 15px;
	line-height: 1.55;
	color: var( --wp--preset--color--on-dark );
}

.pcn-dw-linked__row strong {
	display: inline-block;
	margin-bottom: 4px;
	font-size: 17px;
	color: var( --wp--preset--color--white );
}

.pcn-dw-linked__row::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: rgba( 143, 176, 255, 0.14 );
}

.pcn-dw-linked__row::before {
	position: absolute;
	z-index: 1;
	top: 13px;
	left: 13px;
	width: 26px;
	height: 26px;
	background: var( --wp--preset--color--on-dark-accent );
}

/* ---------------------------------------------------------------- how we work */

.pcn-steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 28px;
	counter-reset: pcn-step;
}

/* The line the numbers sit on. */
.pcn-steps::before {
	content: "";
	position: absolute;
	top: 21px;
	right: 22px;
	left: 22px;
	height: 2px;
	background: var( --wp--preset--color--soft );
}

.pcn-steps > * {
	margin: 0 !important;
}

.pcn-step {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-top: 58px;
	counter-increment: pcn-step;
}

.pcn-step::before {
	content: counter( pcn-step );
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var( --wp--preset--color--primary );
	box-shadow: 0 0 0 6px var( --wp--preset--color--soft );
	font-size: 17px;
	font-weight: 800;
	color: var( --wp--preset--color--white );
}

.pcn-step > * {
	margin: 0 !important;
}

.pcn-step__title {
	font-size: 19px;
	line-height: 1.3;
}

.pcn-step__text {
	font-size: 15px;
	line-height: 1.6;
	color: var( --wp--preset--color--muted );
}

.pcn-dw-after {
	--pcn-ico-size: 24px;
	--pcn-ico-color: var( --wp--preset--color--primary );
	position: relative;
	padding: 20px 24px 20px 62px;
	border-radius: 14px;
	background: var( --wp--preset--color--white );
	font-size: 16px;
	line-height: 1.55;
	color: var( --wp--preset--color--text );
}

.pcn-dw-after::before {
	position: absolute;
	top: 50%;
	left: 24px;
	margin-top: -12px;
}

.pcn-dw-after strong {
	color: var( --wp--preset--color--ink );
}

/* ---------------------------------------------------------------- who does what */

.pcn-dw-duo__grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 24px;
}

.pcn-dw-duo__grid > * {
	margin: 0 !important;
}

.pcn-dw-duo__card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 32px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--surface );
}

.pcn-dw-duo__card > * {
	margin: 0 !important;
}

.pcn-dw-duo__logo {
	display: flex;
	align-items: center;
	height: 44px;
}

.pcn-dw-duo__logo img {
	display: block;
}

.pcn-dw-duo__card .pcn-checklist {
	padding-top: 18px;
	border-top: 1px solid var( --wp--preset--color--line );
}

.pcn-dw-duo__card .pcn-checklist li {
	font-size: 15px;
}

/* ---------------------------------------------------------------- FAQ */

.pcn-dw-faq {
	display: grid;
	grid-template-columns: 380px minmax( 0, 1fr );
	gap: 88px;
	align-items: start;
}

.pcn-faqs {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var( --wp--preset--color--line );
}

.pcn-faqs > * {
	margin: 0 !important;
}

.pcn-faq {
	padding: 22px 0;
	border-bottom: 1px solid var( --wp--preset--color--line );
}

.pcn-faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: var( --wp--preset--color--ink );
	cursor: pointer;
	list-style: none;
}

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

.pcn-faq summary::after {
	content: "";
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var( --wp--preset--color--soft );
}

/* The chevron, masked, over the disc (::after). */
.pcn-faq summary {
	position: relative;
}

.pcn-faq summary::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 8px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background: var( --wp--preset--color--primary );
	-webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E" ) center / contain no-repeat;
	mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E" ) center / contain no-repeat;
	transition: transform 0.2s ease;
}

.pcn-faq[open] summary::after {
	background: var( --wp--preset--color--primary );
}

.pcn-faq[open] summary::before {
	background: var( --wp--preset--color--white );
	transform: rotate( 180deg );
}

.pcn-faq summary:focus-visible {
	outline: 2px solid var( --wp--preset--color--primary );
	outline-offset: 4px;
}

.pcn-faq > p {
	max-width: 760px;
	margin: 10px 0 0 !important;
	padding-right: 48px;
	font-size: 16px;
	line-height: 1.65;
	color: var( --wp--preset--color--text );
}

/* ---------------------------------------------------------------- tablet */

@media ( max-width: 1099px ) {
	.pcn-dw-offer .pcn-do-grid,
	.pcn-steps {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.pcn-steps::before {
		display: none;
	}

	.pcn-dw-linked,
	.pcn-dw-faq {
		grid-template-columns: minmax( 0, 1fr );
		gap: 40px;
	}
}

/* ---------------------------------------------------------------- phone */

@media ( max-width: 781px ) {
	.pcn-dw-offer,
	.pcn-dw-process,
	.pcn-dw-duo {
		gap: 28px;
	}

	.pcn-dw-offer .pcn-do-grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 12px;
	}

	.pcn-dw-offer .pcn-do-card {
		padding: 20px;
	}

	.pcn-dw-offer .pcn-do-card__title {
		font-size: 17px;
	}

	.pcn-dw-offer .pcn-do-card__text {
		font-size: 14px;
	}

	.pcn-page-hero__partner {
		margin-top: 10px !important;
		padding-top: 18px;
	}

	.pcn-page-hero__partner-logo img {
		height: 16px !important;
	}

	.pcn-dw-linked {
		gap: 32px;
	}

	.pcn-dw-linked__intro {
		gap: 18px;
	}

	.pcn-dw-linked__intro p:not( .pcn-eyebrow ) {
		font-size: 16px;
	}

	.pcn-dw-linked__rows {
		gap: 20px;
		padding: 0;
		border: 0;
		border-radius: 0;
	}

	.pcn-dw-linked__row {
		min-height: 44px;
		padding-left: 60px;
		font-size: 14px;
	}

	.pcn-dw-linked__row strong {
		font-size: 16px;
	}

	.pcn-dw-linked__row::after {
		width: 44px;
		height: 44px;
		border-radius: 12px;
	}

	.pcn-dw-linked__row::before {
		top: 11px;
		left: 11px;
		width: 22px;
		height: 22px;
	}

	.pcn-steps {
		grid-template-columns: minmax( 0, 1fr );
		gap: 20px;
	}

	.pcn-step {
		min-height: 44px;
		padding-top: 0;
		padding-left: 60px;
	}

	.pcn-step__title {
		font-size: 17px;
	}

	.pcn-step__text {
		font-size: 14px;
	}

	.pcn-dw-after {
		padding: 18px 18px 18px 54px;
		font-size: 14px;
	}

	.pcn-dw-after::before {
		top: 18px;
		left: 18px;
		margin-top: 0;
	}

	.pcn-dw-duo__grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 14px;
	}

	.pcn-dw-duo__card {
		padding: 22px 20px;
	}

	.pcn-dw-duo__card .pcn-checklist li {
		font-size: 14px;
	}

	.pcn-dw-faq {
		gap: 24px;
	}

	.pcn-faq {
		padding: 18px 0;
	}

	.pcn-faq summary {
		font-size: 16px;
	}

	.pcn-faq > p {
		padding-right: 0;
		font-size: 14px;
	}
}

/* ---- sections/features.css ---- */
/*
 * pcn-features / pcn-feature — the icon cards of the service pages
 * (feat_grid() in the canvas generator). Service.dc.html: one column,
 * gap 12; card padding 18/20, white, hairline, radius 14, gap 14; icon well
 * 40 (radius 10) on soft blue, icon 20 in primary; label 15/600/1.4 in ink,
 * 9px below the top of the well. ServiceMobile.dc.html: the same.
 *
 * The icon is the paragraph's own pcn-ico-* ::before and the well its
 * ::after (_wells.css). The label's 9px drop is the card's top padding
 * (18 + 9) with the icon pulled back up 9, so a label on two lines grows the
 * card exactly as the artboard's flex row does.
 */

.pcn-features {
	display: grid;
	grid-template-columns: minmax( 0, 1fr );
	gap: 12px;
}

.pcn-features > * {
	margin: 0 !important;
}

.pcn-feature {
	--pcn-well-size: 40px;
	--pcn-well-icon: 20px;
	--pcn-well-radius: 10px;
	--pcn-well-bg: var( --wp--preset--color--soft );
	--pcn-well-top: 18px;
	--pcn-well-shift: 0;
	--pcn-ico-color: var( --wp--preset--color--primary );
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	padding: 27px 20px 18px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--m );
	background: var( --wp--preset--color--white );
	font-size: var( --wp--preset--font-size--small );
	font-weight: 600;
	line-height: 1.4;
	color: var( --wp--preset--color--ink );
}

.pcn-feature::before {
	margin-top: -9px;
}

/* The well sits inside the card's padding, not at its border. */
.pcn-feature::after {
	left: 20px;
}

@media ( max-width: 781px ) {
	/* 15px on the phone artboard too: the small preset's phone end is 14. */
	.pcn-feature {
		font-size: 15px;
	}
}

/* ---- sections/help.css ---- */
/*
 * pcn-help — "A sua empresa precisa de assistência?", the band that closes
 * every service page (help_band() in the canvas generator).
 * Service.dc.html: primary ground, padding 64/120, copy left and actions
 * right, gap 48, centred; copy gap 10: h2 34/1.15 white, line 17/1.6
 * white; actions gap 14: the white button, then the phone 16/700 white
 * with an 18 icon, 52 high, padding 0/20.
 * ServiceMobile.dc.html: padding 48/20, stacked, gap 18; h2 26/1.2, line
 * 16; the button full width; the phone centred, 48 high.
 */

.pcn-help {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 48px;
	padding: 64px var( --wp--preset--spacing--gutter );
	background: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--white );
}

@media ( min-width: 1440px ) {
	.pcn-help {
		padding-inline: calc( ( 100% - 1200px ) / 2 );
	}
}

.pcn-help > *,
.pcn-help__text > *,
.pcn-help__actions > * {
	margin: 0 !important;
}

.pcn-help__text {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pcn-help__title {
	font-size: var( --wp--preset--font-size--heading-small );
	line-height: var( --wp--custom--line-height--heading );
	letter-spacing: 0;
	color: var( --wp--preset--color--white );
}

.pcn-help__lead {
	line-height: 1.6;
	color: var( --wp--preset--color--white );
}

.pcn-help__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-shrink: 0;
}

.pcn-help__phone {
	--pcn-ico-size: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 20px;
	font-size: var( --wp--preset--font-size--body );
	font-weight: 700;
	line-height: 1.2;
	color: var( --wp--preset--color--white );
}

.pcn-help__phone a {
	color: var( --wp--preset--color--white );
	text-decoration: none;
}

.pcn-help__phone a:hover,
.pcn-help__phone a:focus-visible {
	text-decoration: underline;
}

@media ( max-width: 781px ) {
	.pcn-help {
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
		padding: 48px 20px;
	}

	.pcn-help__text {
		gap: 18px;
	}

	.pcn-help__title {
		line-height: 1.2;
	}

	.pcn-help__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
	}

	.pcn-help__buttons .wp-block-button,
	.pcn-help__buttons .wp-block-button__link {
		width: 100%;
	}

	.pcn-help__phone {
		min-height: 48px;
	}
}

/* ---- sections/hero.css ---- */
/*
 * pcn-hero — the Home top. Home.dc.html: padding 72/120/88, two columns,
 * gap 64; HomeMobile.dc.html: padding 40/20/56, one column, the photo between
 * the buttons and the trust list.
 */

.pcn-hero {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	grid-template-areas:
		"intro media"
		"trust media";
	column-gap: 64px;
	align-items: center;
	padding: 72px var( --wp--preset--spacing--gutter ) 88px;
	background: linear-gradient( 180deg, var( --wp--preset--color--surface ) 0%, var( --wp--preset--color--white ) 100% );
}

@media ( min-width: 1440px ) {
	.pcn-hero {
		padding-inline: calc( ( 100% - 1200px ) / 2 );
	}
}

.pcn-hero > * {
	margin: 0 !important;
}

.pcn-hero__intro {
	grid-area: intro;
	align-self: end;
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.pcn-hero__intro > * {
	margin: 0 !important;
}

.pcn-hero__title {
	font-size: var( --wp--preset--font-size--display );
	line-height: var( --wp--custom--line-height--display );
	letter-spacing: -0.025em;
}

.pcn-hero__lead {
	max-width: 520px;
	font-size: var( --wp--preset--font-size--lead );
	line-height: 1.6;
}

.pcn-hero__buttons {
	margin-top: 6px !important;
}

.pcn-hero__trust {
	grid-area: trust;
	align-self: start;
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 18px 24px;
	margin-top: 48px !important;
	padding-top: 30px;
	border-top: 1px solid var( --wp--preset--color--line );
}

.pcn-trust__item {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	font-size: var( --wp--preset--font-size--x-small );
	font-weight: 600;
	line-height: 1.35;
	color: var( --wp--preset--color--ink );
}

/* The icon well: 44px, radius 12, soft; the icon 22px primary (theme.css, pcn-well). */
.pcn-trust__item {
	--pcn-well-size: 44px;
	--pcn-well-icon: 22px;
	--pcn-well-radius: 12px;
	--pcn-well-bg: var( --wp--preset--color--soft );
	--pcn-ico-color: var( --wp--preset--color--primary );
}

.pcn-hero__media {
	grid-area: media;
	position: relative;
	height: 560px;
}

.pcn-hero__media > * {
	margin: 0 !important;
}

.pcn-hero__image,
.pcn-hero__image img {
	width: 100%;
	height: 100%;
}

.pcn-hero__image img {
	display: block;
	object-fit: cover;
	border-radius: var( --wp--custom--radius--xl );
}

.pcn-hero__seal {
	--pcn-seal-w: 300px;
	position: absolute;
	left: -40px;
	bottom: -30px;
}

.pcn-hero__note {
	position: absolute;
	top: 26px;
	right: 28px;
	padding: 10px 18px;
	border-radius: 12px;
	background: rgba( 255, 255, 255, 0.94 );
	transform: rotate( -3deg );
}

.pcn-hero__note > * {
	margin: 0 !important;
}

@media ( max-width: 1099px ) {
	.pcn-hero {
		column-gap: 40px;
	}

	.pcn-hero__seal {
		--pcn-seal-w: 240px;
		left: -16px;
	}
}

@media ( max-width: 781px ) {
	.pcn-hero {
		grid-template-columns: minmax( 0, 1fr );
		grid-template-areas:
			"intro"
			"media"
			"trust";
		padding: 40px 20px 56px;
	}

	.pcn-hero__intro {
		gap: 22px;
	}

	.pcn-hero__title {
		line-height: 1.08;
	}

	.pcn-hero__lead {
		line-height: 1.6;
	}

	.pcn-hero__buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		margin-top: 0 !important;
	}

	.pcn-hero__buttons .wp-block-button,
	.pcn-hero__buttons .wp-block-button__link {
		width: 100%;
	}

	.pcn-hero__media {
		height: 260px;
		margin: 32px 0 30px !important;
	}

	.pcn-hero__image img {
		border-radius: var( --wp--custom--radius--l );
	}

	.pcn-hero__seal {
		--pcn-seal-w: 240px;
		left: 12px;
		bottom: -28px;
	}

	.pcn-hero__note {
		top: 12px;
		right: 12px;
		padding: 8px 12px;
		border-radius: 10px;
	}

	.pcn-hero__note .pcn-script {
		font-size: 21px;
	}

	.pcn-hero__trust {
		gap: 16px 14px;
		margin-top: 22px !important;
		padding-top: 22px;
	}

	.pcn-trust__item {
		gap: 10px;
		font-size: 13px;
		line-height: 1.3;
	}

	.pcn-trust__item {
		--pcn-well-size: 38px;
		--pcn-well-icon: 19px;
		--pcn-well-radius: 10px;
	}
}

/* ---- sections/legal.css ---- */
/*
 * pcn-legal — a readable text column for the policies (no artboard): 760
 * wide, body type, the headings a step down.
 */

.pcn-legal > * {
	max-width: 760px;
}

.pcn-legal h2,
.pcn-legal h3 {
	margin-top: 48px;
	font-size: var( --wp--preset--font-size--heading-small );
}

.pcn-legal h3 {
	font-size: var( --wp--preset--font-size--card-title );
}

.pcn-legal li {
	margin-bottom: 8px;
}

/* Complianz's generated document inside the column. */
.pcn-legal #cmplz-document {
	max-width: 760px;
	font-size: var( --wp--preset--font-size--body );
}

.pcn-legal #cmplz-document,
.pcn-legal #cmplz-document * {
	box-sizing: border-box;
}

/* ---- sections/listings.css ---- */
/*
 * News: the posts page, archives, search results and the single post.
 * No artboard: built from the design language when Elson asked for a
 * redesign (2026-09-26). Builders: inc/news.php, patterns/template-*.php.
 */

/* ---------------------------------------------------------------- plain page top (legal, 404) */

.pcn-page-hero--plain {
	padding: 72px var( --wp--preset--spacing--gutter ) 56px;
	background: var( --wp--preset--color--surface );
	border-bottom: 1px solid var( --wp--preset--color--line );
}

.pcn-page-hero--plain .pcn-inner {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.pcn-page-hero--plain .pcn-inner > * {
	margin: 0;
}

.pcn-page-hero--plain h1 {
	max-width: 900px;
}

.pcn-page-hero__meta,
.pcn-page-hero--plain .pcn-page-hero__lead {
	color: var( --wp--preset--color--muted );
	font-size: var( --wp--preset--font-size--lead );
	line-height: 1.6;
}

@media ( max-width: 781px ) {
	.pcn-page-hero--plain {
		padding: 48px 20px 40px;
	}
}

/* ---------------------------------------------------------------- listing top */

.pcn-blog-hero.pcn-page-hero--plain {
	padding: 64px var( --wp--preset--spacing--gutter ) 48px;
	border-bottom: 1px solid var( --wp--preset--color--line );
	background: linear-gradient( 180deg, var( --wp--preset--color--surface ) 0%, var( --wp--preset--color--white ) 100% );
}

.pcn-blog-hero__inner {
	gap: 16px !important;
}

.pcn-blog-hero h1 {
	font-size: var( --wp--preset--font-size--page-title );
	line-height: 1.06;
	letter-spacing: -0.025em;
}

.pcn-blog-hero__lead {
	max-width: 640px;
}

.pcn-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px !important;
}

.pcn-chip-row > * {
	margin: 0 !important;
}

.pcn-chips {
	display: contents;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcn-chips li {
	margin: 0;
}

.pcn-chip-all a,
.pcn-chips a {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 16px;
	box-sizing: border-box;
	border: 1px solid var( --wp--preset--color--line-strong );
	border-radius: 999px;
	background: var( --wp--preset--color--white );
	font-size: var( --wp--preset--font-size--x-small );
	font-weight: 600;
	white-space: nowrap;
	color: var( --wp--preset--color--ink );
}

.pcn-chip-all a:hover,
.pcn-chips a:hover {
	border-color: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--primary );
}

.pcn-chip-all.is-current a,
.pcn-chips .current-cat a {
	border-color: var( --wp--preset--color--ink );
	background: var( --wp--preset--color--ink );
	color: var( --wp--preset--color--white );
}

@media ( max-width: 781px ) {
	.pcn-blog-hero.pcn-page-hero--plain {
		padding: 40px 20px 32px;
	}

	.pcn-blog-hero h1 {
		line-height: 1.08;
	}

	/* The chips scroll sideways on a phone instead of stacking five rows. */
	.pcn-chip-row {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-inline: -20px !important;
		padding: 0 20px 4px;
		scrollbar-width: none;
	}

	.pcn-chip-row::-webkit-scrollbar {
		display: none;
	}
}

/* ---------------------------------------------------------------- the cards */

.pcn-news-section {
	padding-top: 56px;
}

.pcn-news-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcn-news-grid > li {
	margin: 0;
}

.pcn-news-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.pcn-news-card:hover {
	border-color: var( --wp--preset--color--line-strong );
	box-shadow: var( --wp--preset--shadow--card );
}

.pcn-news-card > * {
	margin: 0 !important;
}

.pcn-news-card__image {
	overflow: hidden;
	background: var( --wp--preset--color--soft );
}

.pcn-news-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.pcn-news-card:hover .pcn-news-card__image img {
	transform: scale( 1.03 );
}

.pcn-news-card__body {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 22px 24px 24px;
}

.pcn-news-card__body > * {
	margin: 0 !important;
}

.pcn-news-card__cat,
.pcn-post-hero__cat {
	position: relative;
	z-index: 2;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var( --wp--preset--color--primary );
}

/* One category on a card: the first. The post's page lists them all. */
.pcn-news-card__cat a:not( :first-of-type ),
.pcn-news-card__cat .wp-block-post-terms__separator {
	display: none;
}

.pcn-news-card__cat a,
.pcn-post-hero__cat a {
	color: var( --wp--preset--color--primary );
}

.pcn-news-card__cat a:hover,
.pcn-post-hero__cat a:hover {
	color: var( --wp--preset--color--primary-dark );
}

.pcn-news-card__title {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
}

.pcn-news-card__title a {
	color: var( --wp--preset--color--ink );
}

/* The whole card is the post's link. */
.pcn-news-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.pcn-news-card:hover .pcn-news-card__title a {
	color: var( --wp--preset--color--primary );
}

.pcn-news-card__excerpt {
	font-size: var( --wp--preset--font-size--small );
	line-height: 1.6;
	color: var( --wp--preset--color--muted );
}

.pcn-news-card__excerpt p {
	margin: 0;
}

.pcn-news-card__excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

.pcn-news-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: auto !important;
	padding-top: 6px;
	font-size: var( --wp--preset--font-size--x-small );
	color: var( --wp--preset--color--muted );
}

.pcn-news-card__meta > * {
	margin: 0 !important;
}

/* pt-PT writes month names in lower case ("3 de maio de 2020"). */
.pcn-news-card__date,
.pcn-post-hero__date {
	text-transform: lowercase;
}

.pcn-news-card__read::before,
.pcn-post-hero__read::before {
	content: "·";
	margin-right: 8px;
}

/* The latest post, first on the first page of a listing, is the feature. */
body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child {
	grid-column: 1 / -1;
}

body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card {
	flex-direction: row;
}

body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__image {
	flex: 0 0 58%;
	aspect-ratio: auto !important;
	min-height: 400px;
}

body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__image a {
	position: absolute;
	inset: 0;
}

body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__image img {
	width: 100%;
	height: 100%;
}

body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__body {
	justify-content: center;
	gap: 14px;
	padding: 44px 48px;
}

body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__title {
	font-size: var( --wp--preset--font-size--heading-small );
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__excerpt {
	font-size: var( --wp--preset--font-size--body );
	line-height: 1.65;
}

body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__meta {
	margin-top: 8px !important;
}

.pcn-news-empty {
	grid-column: 1 / -1;
	color: var( --wp--preset--color--muted );
}

/* ---------------------------------------------------------------- pagination */

.pcn-pagination {
	gap: 8px;
	margin-top: 56px !important;
	font-size: var( --wp--preset--font-size--small );
	font-weight: 700;
}

.pcn-pagination .page-numbers,
.pcn-pagination .wp-block-query-pagination-previous,
.pcn-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	box-sizing: border-box;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--s );
	background: var( --wp--preset--color--white );
	color: var( --wp--preset--color--ink );
}

.pcn-pagination .page-numbers.dots {
	border-color: transparent;
	background: none;
}

.pcn-pagination a:hover {
	border-color: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--primary );
}

.pcn-pagination .page-numbers.current {
	border-color: var( --wp--preset--color--primary );
	background: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--white );
}

@media ( max-width: 1099px ) {
	.pcn-news-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 781px ) {
	.pcn-news-section {
		padding-top: 32px;
	}

	.pcn-news-grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 16px;
	}

	.pcn-news-card {
		border-radius: var( --wp--custom--radius--m );
	}

	.pcn-news-card__body {
		padding: 18px 20px 20px;
	}

	.pcn-news-card__title {
		font-size: 17px;
	}

	body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card {
		flex-direction: column;
	}

	body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__image {
		flex: none;
		aspect-ratio: 16 / 10 !important;
		min-height: 0;
	}

	body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__image a,
	body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__image img {
		position: static;
		width: 100%;
	}

	body:not( .paged ) .pcn-news:not( .pcn-news--related ):not( .pcn-news--search ) .pcn-news-grid > li:first-child .pcn-news-card__body {
		padding: 20px 20px 22px;
	}

	.pcn-pagination {
		margin-top: 36px !important;
	}

	.pcn-pagination .wp-block-query-pagination-previous,
	.pcn-pagination .wp-block-query-pagination-next {
		font-size: 0;
		padding: 0;
	}

	.pcn-pagination .wp-block-query-pagination-previous-arrow,
	.pcn-pagination .wp-block-query-pagination-next-arrow {
		margin: 0;
		font-size: var( --wp--preset--font-size--small );
	}
}

/* ---------------------------------------------------------------- the post */

.pcn-post-hero.pcn-page-hero--plain {
	padding: 56px var( --wp--preset--spacing--gutter ) 152px;
	border-bottom: 0;
	background: linear-gradient( 180deg, var( --wp--preset--color--surface ) 0%, var( --wp--preset--color--soft ) 100% );
}

.pcn-post-hero__inner {
	gap: 18px !important;
	max-width: 1040px !important;
}

.pcn-post-hero__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.pcn-post-hero__crumbs > * {
	margin: 0 !important;
}

.pcn-post-hero__cat {
	letter-spacing: 0.12em;
}

.pcn-post-hero__title {
	max-width: 900px;
	font-size: var( --wp--preset--font-size--heading );
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.pcn-post-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: var( --wp--preset--font-size--small );
	color: var( --wp--preset--color--muted );
}

.pcn-post-hero__meta > * {
	margin: 0 !important;
}

.pcn-article {
	padding: 0 var( --wp--preset--spacing--gutter ) 88px;
}

.pcn-article > * {
	max-width: 720px;
	margin-inline: auto !important;
}

.pcn-article .pcn-article__image {
	max-width: 1040px;
	margin: -112px auto 56px !important;
	overflow: hidden;
	border-radius: var( --wp--custom--radius--xl );
	box-shadow: var( --wp--preset--shadow--raised );
}

.pcn-article .pcn-article__image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 560px;
	object-fit: cover;
}

/* The post's own text, whatever its age: a reading column. */
.pcn-prose {
	font-size: 18px;
	line-height: 1.75;
	color: var( --wp--preset--color--text );
}

.pcn-prose > * {
	max-width: 720px;
	margin-inline: auto;
	margin-block: 0 22px;
}

.pcn-prose h2,
.pcn-prose h3,
.pcn-prose h4 {
	margin-top: 48px;
	margin-bottom: 14px;
	color: var( --wp--preset--color--ink );
	text-transform: none;
}

.pcn-prose h2 {
	font-size: var( --wp--preset--font-size--heading-small );
	line-height: 1.2;
}

.pcn-prose h3 {
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.pcn-prose h4 {
	font-size: var( --wp--preset--font-size--lead );
}

.pcn-prose a {
	color: var( --wp--preset--color--primary );
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.pcn-prose a:hover {
	color: var( --wp--preset--color--primary-dark );
}

.pcn-prose ul,
.pcn-prose ol {
	padding-left: 24px;
}

.pcn-prose li {
	margin-bottom: 8px;
}

.pcn-prose li::marker {
	color: var( --wp--preset--color--primary );
}

.pcn-prose strong {
	color: var( --wp--preset--color--ink );
}

.pcn-prose img {
	max-width: 100%;
	height: auto;
	border-radius: var( --wp--custom--radius--m );
}

.pcn-prose figure,
.pcn-prose .wp-block-image {
	margin-block: 32px;
}

.pcn-prose figcaption {
	margin-top: 10px;
	font-size: var( --wp--preset--font-size--x-small );
	color: var( --wp--preset--color--muted );
	text-align: center;
}

.pcn-prose blockquote {
	margin-block: 32px;
	padding: 24px 28px;
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--surface );
	font-size: var( --wp--preset--font-size--lead );
	color: var( --wp--preset--color--ink );
}

.pcn-prose blockquote > :last-child {
	margin-bottom: 0;
}

.pcn-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: var( --wp--preset--font-size--small );
}

.pcn-prose th,
.pcn-prose td {
	padding: 10px 12px;
	border-bottom: 1px solid var( --wp--preset--color--line );
	text-align: left;
}

/* Tags as chips. */
.pcn-article__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 48px !important;
	padding-top: 32px;
	border-top: 1px solid var( --wp--preset--color--line );
}

.pcn-article__tags a {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 14px;
	border-radius: 999px;
	background: var( --wp--preset--color--surface );
	font-size: var( --wp--preset--font-size--x-small );
	font-weight: 600;
	color: var( --wp--preset--color--text );
}

.pcn-article__tags a::before {
	content: "#";
	margin-right: 2px;
	color: var( --wp--preset--color--primary );
}

.pcn-article__tags a:hover {
	background: var( --wp--preset--color--soft );
	color: var( --wp--preset--color--primary );
}

/* Previous / next as two cards. */
.pcn-post-nav {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 16px;
	margin-top: 40px !important;
}

.pcn-post-nav > * {
	margin: 0 !important;
}

.pcn-post-nav a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	padding: 20px 22px;
	box-sizing: border-box;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--m );
	font-size: var( --wp--preset--font-size--body );
	font-weight: 700;
	line-height: 1.4;
	color: var( --wp--preset--color--ink );
}

.pcn-post-nav a:hover {
	border-color: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--primary );
}

.pcn-post-nav .post-navigation-link__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var( --wp--preset--color--muted );
}

.pcn-post-nav__next {
	grid-column: 2;
	text-align: right;
}

/* More news. */
.pcn-related {
	display: flex;
	flex-direction: column;
	gap: 36px;
	padding-top: 88px;
}

.pcn-related > * {
	width: 100%;
	margin-block: 0 !important;
}

@media ( max-width: 781px ) {
	.pcn-post-hero.pcn-page-hero--plain {
		padding: 36px 20px 88px;
	}

	.pcn-post-hero__title {
		line-height: 1.18;
	}

	.pcn-article {
		padding: 0 20px 56px;
	}

	.pcn-article .pcn-article__image {
		margin: -64px auto 36px !important;
		border-radius: var( --wp--custom--radius--l );
	}

	.pcn-prose {
		font-size: 17px;
		line-height: 1.7;
	}

	.pcn-prose h2,
	.pcn-prose h3,
	.pcn-prose h4 {
		margin-top: 36px;
	}

	.pcn-post-nav {
		grid-template-columns: minmax( 0, 1fr );
	}

	.pcn-post-nav__next {
		grid-column: auto;
		text-align: left;
	}

	.pcn-related {
		gap: 24px;
		padding-top: 56px;
	}
}

/* ---------------------------------------------------------------- core search block */

.pcn-search-block {
	max-width: 640px;
}

.pcn-search-block .wp-block-search__input {
	height: 52px;
	padding: 0 16px;
	border: 1.5px solid var( --wp--preset--color--line-strong );
	border-radius: var( --wp--custom--radius--s );
	font: inherit;
}

.pcn-search-block .wp-block-search__button {
	margin-left: 8px;
	padding: 0 22px;
	border: 0;
	border-radius: var( --wp--custom--radius--s );
	background: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--white );
	font-weight: 700;
}

/* ---- sections/map.css ---- */
/*
 * pcn-map — the location panel, consent-free (no Google iframe).
 * Contact.dc.html: full width, 440 high, the drawn placeholder: #E8EEF7
 * ground, 1px #D6DEEC streets at 18/42/67/88% and 14/37/58/81%, the sea
 * (#CFE0F5) on the lowest 34%; the "PCN Informática" chip over a 52 primary
 * pin, its foot at 44%; the card bottom-left (at the 1200 column, 32 up),
 * white, radius 14, padding 16/18, gap 20, text 14/1.5 muted (max 360),
 * button secondary 46 high, 15. ContactMobile.dc.html: inside the gutter,
 * 380 high, radius 16, 28 below the form; the card spans the panel 16 in,
 * stacked, gap 12, button full width.
 *
 * The drawn placeholder became a real map (2026-09-26): a static
 * OpenStreetMap render, centred on the address, behind the same chip, pin
 * and card.
 */

.pcn-map {
	margin: 0;
}

.pcn-map__canvas {
	position: relative;
	overflow: hidden;
	height: 440px;
	/* The address is the image's centre (tools/build-map.py); cover keeps it there. */
	background: #E9EBEE url( "/wp-content/themes/pcn/assets/images/map-pcn.webp" ) 50% 50% / cover no-repeat;
}

.pcn-map__canvas > * {
	margin: 0 !important;
}

/* The chip; the pin is drawn below it: ::after the disc, ::before the icon. */
.pcn-map__pin {
	--pcn-ico-color: var( --wp--preset--color--white );
	position: absolute;
	/* The pin's disc centre (chip bottom + 8 + 26) sits on the map's centre. */
	top: 50%;
	left: 50%;
	transform: translate( -50%, calc( -100% - 34px ) );
	padding: 8px 14px;
	border-radius: var( --wp--custom--radius--s );
	background: var( --wp--preset--color--white );
	box-shadow: 0 8px 20px rgba( 11, 22, 51, 0.14 );
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
	color: var( --wp--preset--color--ink );
}

.pcn-map__pin::after {
	content: "";
	position: absolute;
	top: calc( 100% + 8px );
	left: 50%;
	width: 52px;
	height: 52px;
	margin-left: -26px;
	border-radius: 50%;
	background: var( --wp--preset--color--primary );
	box-shadow: 0 10px 24px rgba( 40, 98, 255, 0.4 );
}

.pcn-map__pin::before {
	position: absolute;
	z-index: 1;
	top: calc( 100% + 21px );
	left: 50%;
	width: 26px;
	height: 26px;
	margin-left: -13px;
}

.pcn-map__card {
	position: absolute;
	bottom: 32px;
	left: max( var( --wp--preset--spacing--gutter ), calc( ( 100% - 1200px ) / 2 ) );
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 16px 18px;
	border-radius: var( --wp--custom--radius--m );
	background: var( --wp--preset--color--white );
	box-shadow: 0 16px 36px rgba( 11, 22, 51, 0.14 );
}

.pcn-map__card > * {
	margin: 0 !important;
}

.pcn-map__address {
	max-width: 360px;
	font-size: 14px;
	line-height: 1.5;
	color: var( --wp--preset--color--muted );
}

.pcn-map__buttons .wp-block-button__link {
	min-height: 46px;
	font-size: 15px;
	white-space: nowrap;
}

.pcn-map__credit {
	position: absolute;
	right: 10px;
	bottom: 8px;
	padding: 2px 8px;
	border-radius: 6px;
	background: rgba( 255, 255, 255, 0.85 );
	font-size: 12px;
	line-height: 1.5;
	color: var( --wp--preset--color--muted );
}

.pcn-map__credit a {
	color: var( --wp--preset--color--muted );
	text-decoration: underline;
}

@media ( max-width: 781px ) {
	.pcn-map__credit {
		top: 8px;
		bottom: auto;
	}

	.pcn-map {
		padding: 28px 20px 56px;
	}

	.pcn-map__canvas {
		height: 380px;
		border-radius: var( --wp--custom--radius--l );
	}

	.pcn-map__card {
		right: 16px;
		bottom: 16px;
		left: 16px;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.pcn-map__address {
		max-width: none;
	}

	.pcn-map__buttons .wp-block-button,
	.pcn-map__buttons .wp-block-button__link {
		width: 100%;
	}
}

/* ---- sections/page-hero.css ---- */
/*
 * pcn-page-hero — inner-page top over the featured image. Service.dc.html:
 * padding 88/120/96, copy max 700, gap 24; crumb 14 on-dark; h1 56; lead 19
 * on-dark; buttons primary + ghost-dark. ServiceMobile.dc.html: padding
 * 48/20/52, gap 18, h1 36, lead 16, one full-width button.
 */

.pcn-page-hero.wp-block-cover {
	display: block;
	padding: 88px var( --wp--preset--spacing--gutter ) 96px;
	background: var( --wp--preset--color--ink );
}

@media ( min-width: 1440px ) {
	.pcn-page-hero.wp-block-cover {
		padding-inline: calc( ( 100% - 1200px ) / 2 );
	}
}

.pcn-page-hero .wp-block-cover__inner-container {
	width: 100%;
	color: var( --wp--preset--color--white );
}

.pcn-page-hero__body {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 700px;
}

.pcn-page-hero__body > * {
	margin: 0 !important;
}

.pcn-crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-size: var( --wp--preset--font-size--x-small );
	color: var( --wp--preset--color--on-dark );
}

.pcn-crumbs a {
	color: var( --wp--preset--color--on-dark );
}

.pcn-crumbs a:hover {
	color: var( --wp--preset--color--white );
}

.pcn-crumbs strong {
	font-weight: 600;
	color: var( --wp--preset--color--white );
}

.pcn-page-hero__title {
	font-size: var( --wp--preset--font-size--page-title );
	line-height: 1.06;
	letter-spacing: -0.025em;
	color: var( --wp--preset--color--white );
}

.pcn-page-hero__lead {
	font-size: var( --wp--preset--font-size--lead );
	line-height: 1.6;
	color: var( --wp--preset--color--on-dark );
}

.pcn-page-hero__buttons {
	margin-top: 8px !important;
}

@media ( max-width: 781px ) {
	.pcn-page-hero.wp-block-cover {
		padding: 48px 20px 52px;
	}

	.pcn-page-hero__body {
		gap: 18px;
	}

	.pcn-crumbs {
		gap: 8px;
		font-size: 13px;
	}

	/* The phone artboard stops the trail at the parent. */
	.pcn-page-hero.wp-block-cover .pcn-crumbs strong,
	.pcn-page-hero.wp-block-cover .pcn-crumbs span:last-of-type {
		display: none;
	}

	.pcn-page-hero__title {
		line-height: 1.08;
	}

	.pcn-page-hero__buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.pcn-page-hero__buttons .wp-block-button,
	.pcn-page-hero__buttons .wp-block-button__link {
		width: 100%;
	}

	/* One button on a phone: the second (a phone call) is in the support bar. */
	.pcn-page-hero__buttons .wp-block-button + .wp-block-button {
		display: none;
	}
}

/* ---- sections/partner.css ---- */
/*
 * pcn-partner — Design e Web's "Fale connosco" band (DesignWeb.dc.html, the
 * last section): text left with the "Em parceria com" line, the form right.
 */

.pcn-partner {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) minmax( 0, 1.1fr );
	gap: 64px;
	align-items: start;
}

@media ( min-width: 1440px ) {
	.pcn-partner {
		padding-inline: calc( ( 100% - 1200px ) / 2 );
	}
}

.pcn-partner > * {
	max-width: none;
	margin: 0 !important;
}

.pcn-partner__text {
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: sticky;
	top: 96px;
}

.pcn-partner__text > * {
	margin: 0 !important;
}

.pcn-partner__logo {
	margin: 4px 0 !important;
}

.pcn-partner__logo img {
	display: block;
}

.pcn-partner__logo a {
	display: inline-block;
	line-height: 0;
}

.pcn-partner__line {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-top: 20px;
	border-top: 1px solid var( --wp--preset--color--line );
}

.pcn-partner__line > * {
	margin: 0 !important;
}

.pcn-partner__label {
	font-size: 13px;
	font-weight: 600;
	color: var( --wp--preset--color--muted );
}

.pcn-partner__note {
	padding-top: 20px;
	border-top: 1px solid var( --wp--preset--color--line );
	font-size: var( --wp--preset--font-size--small );
	color: var( --wp--preset--color--muted );
}

.pcn-partner__form > * {
	margin: 0 !important;
}

@media ( max-width: 1099px ) {
	.pcn-partner {
		grid-template-columns: minmax( 0, 1fr );
		gap: 40px;
	}

	.pcn-partner__text {
		position: static;
	}
}

/* ---- sections/partners.css ---- */
/*
 * pcn-partners. Home.dc.html: padding 44/120, a hairline below, the label
 * then the logos spread across. HomeMobile.dc.html: the logos in white tiles,
 * two per row, at 0.8 of their desktop height.
 */

.pcn-partners {
	display: flex;
	align-items: center;
	gap: 56px;
	padding: 44px var( --wp--preset--spacing--gutter );
	border-bottom: 1px solid var( --wp--preset--color--line );
}

@media ( min-width: 1440px ) {
	.pcn-partners {
		padding-inline: calc( ( 100% - 1200px ) / 2 );
	}
}

.pcn-partners > * {
	margin: 0 !important;
}

.pcn-partners__label {
	flex-shrink: 0;
	font-size: var( --wp--preset--font-size--eyebrow );
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1.6;
	text-transform: uppercase;
	color: var( --wp--preset--color--muted );
}

.pcn-partners__logos {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.pcn-partners__logos > * {
	margin: 0 !important;
}

.pcn-partners__logo img {
	display: block;
}

@media ( max-width: 1099px ) {
	.pcn-partners__logos {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 24px 40px;
	}
}

@media ( max-width: 781px ) {
	.pcn-partners {
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
		padding: 44px 20px;
		border-bottom: 0;
	}

	.pcn-partners__label br {
		display: none;
	}

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

	.pcn-partners__logo {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 64px;
		border: 1px solid var( --wp--preset--color--line );
		border-radius: 12px;
		background: var( --wp--preset--color--white );
	}

	.pcn-partners__logo img {
		max-width: 80%;
		zoom: 0.8;
	}
}

/* ---- sections/sector-card.css ---- */
/*
 * pcn-sectors and pcn-sector-card. Home.dc.html: section padding 104/120,
 * gap 56; three columns, gap 28; card image 210, icon disc 56 at left 24,
 * half over the photo; body 42/28/28, gap 10.
 * HomeMobile.dc.html: a horizontal card, photo 104 wide, icon inline.
 */

.pcn-sectors {
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.pcn-sectors > * {
	width: 100%;
	margin-block: 0 !important;
}

.pcn-sector-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 28px;
}

.pcn-sector-grid > * {
	margin: 0 !important;
}

.pcn-sector-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-bottom: 28px;
	overflow: hidden;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.pcn-sector-card:hover {
	border-color: var( --wp--preset--color--line-strong );
	box-shadow: var( --wp--preset--shadow--card );
}

.pcn-sector-card > * {
	margin: 0 !important;
	padding-inline: 28px;
}

.pcn-sector-card__image {
	padding: 0 !important;
	margin-bottom: 32px !important;
}

.pcn-sector-card__image img {
	display: block;
	width: 100%;
	height: 210px;
	object-fit: cover;
}

/* The icon disc: ::after is the white disc, ::before the icon on it; both
   placed from the card's top edge, half over the photograph. */
.pcn-sector-card__title {
	font-size: var( --wp--preset--font-size--card-title );
	line-height: 1.3;
}

.pcn-sector-card__title::after {
	content: "";
	position: absolute;
	top: 184px;
	left: 24px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var( --wp--preset--color--white );
	box-shadow: var( --wp--preset--shadow--card );
}

.pcn-sector-card__title::before {
	position: absolute;
	z-index: 1;
	top: 199px;
	left: 39px;
	width: 26px;
	height: 26px;
	color: var( --wp--preset--color--primary );
}

.pcn-sector-card__text {
	flex-grow: 1;
	font-size: var( --wp--preset--font-size--small );
	line-height: 1.6;
	color: var( --wp--preset--color--muted );
}

.pcn-sector-card .pcn-more {
	margin-top: 8px !important;
}

/* The whole card is the link. */
.pcn-sector-card .pcn-more a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

@media ( max-width: 1099px ) {
	.pcn-sector-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 781px ) {
	.pcn-sectors {
		gap: 28px;
	}

	.pcn-sector-grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 14px;
	}

	.pcn-sector-card {
		display: grid;
		grid-template-columns: 104px minmax( 0, 1fr );
		grid-template-rows: auto 1fr auto;
		column-gap: 18px;
		row-gap: 6px;
		padding: 0;
		border-radius: var( --wp--custom--radius--m );
	}

	.pcn-sector-card > * {
		grid-column: 2;
		padding: 0 16px 0 0;
	}

	.pcn-sector-card__image {
		grid-column: 1;
		grid-row: 1 / span 3;
		margin: 0 !important;
	}

	.pcn-sector-card__image img {
		height: 100%;
		min-height: 124px;
	}

	.pcn-sector-card__title {
		display: flex;
		align-items: center;
		gap: 8px;
		padding-top: 16px;
		font-size: 17px;
	}

	.pcn-sector-card__title::after {
		display: none;
	}

	.pcn-sector-card__title::before {
		position: static;
		width: 20px;
		height: 20px;
	}

	.pcn-sector-card__text {
		font-size: var( --wp--preset--font-size--x-small );
		line-height: 1.5;
	}

	.pcn-sector-card .pcn-more {
		margin: 0 !important;
		padding-bottom: 16px;
		font-size: var( --wp--preset--font-size--x-small );
	}
}

/* ---- sections/service-block.css ---- */
/*
 * pcn-split — the text + image + features block of the service pages.
 * Service.dc.html: padding 96/120; two equal columns, gap 80, top-aligned.
 * Text column gap 20: eyebrow, h2, paragraphs 17/1.7, the photograph 300
 * high, radius 16, 10 further down. Features column gap 18: h3 20/700, the
 * icon cards (features.css). The second block puts the features on the
 * left, on the tint ground (pcn-split--flip; the markup keeps the text
 * first, so a phone reads the text first).
 *
 * ServiceMobile.dc.html: padding 56/20, one column, gap 18 throughout;
 * the photograph 200 high, radius 14, straight after the copy; the h3 10
 * further down (28 from the photograph).
 */

.pcn-split {
	padding-block: 96px;
}

.pcn-split__inner {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 80px;
	align-items: start;
}

.pcn-split__inner > *,
.pcn-split__text > *,
.pcn-split__features > * {
	margin: 0 !important;
}

.pcn-split__text {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.pcn-split__text p:not( .pcn-eyebrow ):not( .pcn-more ) {
	line-height: 1.7;
}

.pcn-split__image {
	margin-top: 10px !important;
}

.pcn-split__image img {
	display: block;
	width: 100%;
	height: 300px;
	object-fit: cover;
	border-radius: var( --wp--custom--radius--l );
}

.pcn-split__buttons {
	margin-top: 4px !important;
}

.pcn-split__features {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.pcn-split__features-title {
	font-size: var( --wp--preset--font-size--card-title );
	line-height: var( --wp--custom--line-height--heading );
}

@media ( min-width: 782px ) {
	.pcn-split--flip .pcn-split__features {
		order: -1;
	}
}

@media ( max-width: 1099px ) {
	.pcn-split__inner {
		gap: 48px;
	}
}

@media ( max-width: 781px ) {
	.pcn-split {
		padding-block: 56px;
	}

	.pcn-split__inner {
		grid-template-columns: minmax( 0, 1fr );
		gap: 28px;
	}

	.pcn-split__text,
	.pcn-split__features {
		gap: 18px;
	}

	.pcn-split__text p:not( .pcn-eyebrow ):not( .pcn-more ) {
		line-height: 1.65;
	}

	.pcn-split__image {
		margin-top: 0 !important;
	}

	.pcn-split__image img {
		height: 200px;
		border-radius: var( --wp--custom--radius--m );
	}

	.pcn-split__buttons .wp-block-button,
	.pcn-split__buttons .wp-block-button__link {
		width: 100%;
	}
}

/* ---- sections/software.css ---- */
/*
 * The software page kind — SoftwareIcg.dc.html / SoftwareIcgMobile.dc.html
 * (software_icg() in the canvas generator). Builders: inc/software.php.
 */

/* ---------------------------------------------------------------- the top */

.pcn-sw-hero.pcn-page-hero--plain {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 72px;
	align-items: center;
	padding: 64px var( --wp--preset--spacing--gutter ) 88px;
	border-bottom: 0;
	background: linear-gradient( 180deg, var( --wp--preset--color--surface ) 0%, var( --wp--preset--color--white ) 100% );
}

@media ( min-width: 1440px ) {
	.pcn-sw-hero.pcn-page-hero--plain {
		padding-inline: calc( ( 100% - 1200px ) / 2 );
	}
}

.pcn-sw-hero > *,
.pcn-sw-hero__intro > *,
.pcn-sw-hero__media > * {
	margin: 0 !important;
}

.pcn-sw-hero__intro {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.pcn-crumbs--light,
.pcn-crumbs--light a {
	color: var( --wp--preset--color--muted );
}

.pcn-crumbs--light a:hover {
	color: var( --wp--preset--color--primary );
}

.pcn-crumbs--light strong {
	color: var( --wp--preset--color--ink );
}

.pcn-sw-hero__title {
	font-size: var( --wp--preset--font-size--page-title );
	line-height: 1.06;
	letter-spacing: -0.025em;
}

.pcn-sw-hero__lead {
	max-width: 540px;
	font-size: var( --wp--preset--font-size--lead );
	line-height: 1.6;
	color: var( --wp--preset--color--text );
}

.pcn-sw-hero__buttons {
	margin-top: 6px !important;
}

.pcn-sw-hero__media {
	position: relative;
	height: 440px;
}

.pcn-sw-hero__image,
.pcn-sw-hero__image img {
	width: 100%;
	height: 100%;
}

.pcn-sw-hero__image img {
	display: block;
	object-fit: cover;
	border-radius: var( --wp--custom--radius--xl );
}

.pcn-sw-brand {
	position: absolute;
	left: -36px;
	bottom: 32px;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 24px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
	box-shadow: 0 16px 36px rgba( 11, 22, 51, 0.1 );
}

.pcn-sw-brand > *,
.pcn-sw-brand__text > * {
	margin: 0 !important;
}

.pcn-sw-brand__logo img {
	display: block;
}

.pcn-sw-brand__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.pcn-sw-brand__name {
	font-size: var( --wp--preset--font-size--body );
	font-weight: 700;
	color: var( --wp--preset--color--ink );
}

.pcn-sw-brand__note {
	font-size: 13px;
	color: var( --wp--preset--color--muted );
}

@media ( max-width: 1099px ) {
	.pcn-sw-hero.pcn-page-hero--plain {
		gap: 48px;
	}

	.pcn-sw-brand {
		left: -16px;
	}
}

@media ( max-width: 781px ) {
	.pcn-sw-hero.pcn-page-hero--plain {
		grid-template-columns: minmax( 0, 1fr );
		gap: 18px;
		padding: 40px 20px 48px;
	}

	.pcn-sw-hero__intro {
		gap: 18px;
	}

	.pcn-sw-hero__title {
		line-height: 1.08;
	}

	.pcn-sw-hero__buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		margin-top: 0 !important;
	}

	.pcn-sw-hero__buttons .wp-block-button,
	.pcn-sw-hero__buttons .wp-block-button__link {
		width: 100%;
	}

	.pcn-sw-hero__media {
		height: 220px;
		margin: 8px 0 28px !important;
	}

	.pcn-sw-hero__image img {
		border-radius: var( --wp--custom--radius--l );
	}

	.pcn-sw-brand {
		left: 12px;
		right: 12px;
		bottom: -28px;
		padding: 14px 18px;
	}

	.pcn-sw-brand__logo img {
		zoom: 0.78;
	}

	.pcn-sw-brand__name {
		font-size: var( --wp--preset--font-size--small );
	}
}

/* ---------------------------------------------------------------- what we do */

.pcn-sw-do {
	display: flex;
	flex-direction: column;
	gap: 44px;
	padding-top: 72px;
	padding-bottom: 96px;
}

.pcn-sw-do > * {
	width: 100%;
	margin-block: 0 !important;
}

.pcn-sw-do__head {
	gap: 14px;
}

.pcn-sw-do__head h2 {
	max-width: 720px;
}

.pcn-do-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 20px;
}

.pcn-do-grid > * {
	margin: 0 !important;
}

.pcn-do-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px 26px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
}

.pcn-do-card > * {
	margin: 0 !important;
}

.pcn-do-card__title {
	position: relative;
	padding-top: 60px;
	font-size: 19px;
	line-height: 1.3;
}

.pcn-do-card__title::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: var( --wp--preset--color--soft );
}

.pcn-do-card__title::before {
	position: absolute;
	z-index: 1;
	top: 12px;
	left: 12px;
	width: 24px;
	height: 24px;
	color: var( --wp--preset--color--primary );
}

.pcn-do-card__text {
	font-size: var( --wp--preset--font-size--small );
	line-height: 1.6;
	color: var( --wp--preset--color--muted );
}

/* ---------------------------------------------------------------- products */

.pcn-sw-products {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding-block: 96px;
}

.pcn-sw-products > * {
	width: 100%;
	margin-block: 0 !important;
}

.pcn-product-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 20px;
	align-items: start;
}

.pcn-product-grid > * {
	margin: 0 !important;
}

.pcn-product-group {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 26px 26px 12px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
}

.pcn-product-group > * {
	margin: 0 !important;
}

.pcn-product-group__title {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 0 0 16px 52px;
	font-size: 19px;
	line-height: 1.3;
}

.pcn-product-group__title::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var( --wp--preset--color--soft );
}

.pcn-product-group__title::before {
	position: absolute;
	z-index: 1;
	top: 10px;
	left: 10px;
	width: 20px;
	height: 20px;
	color: var( --wp--preset--color--primary );
}

.pcn-product {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 0;
	border-top: 1px solid var( --wp--preset--color--line );
}

.pcn-product > * {
	margin: 0 !important;
}

.pcn-product__name {
	font-size: var( --wp--preset--font-size--body );
	font-weight: 700;
	line-height: 1.4;
	color: var( --wp--preset--color--ink );
}

.pcn-product__text {
	font-size: var( --wp--preset--font-size--x-small );
	line-height: 1.55;
	color: var( --wp--preset--color--muted );
}

/* ---------------------------------------------------------------- sectors */

.pcn-sw-sectors {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-top: 96px;
	padding-bottom: 40px;
}

.pcn-sw-sectors > * {
	width: 100%;
	margin-block: 0 !important;
}

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

.pcn-sw-sector-grid:has( > :nth-child( 3 ) ) {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.pcn-sw-sector-grid > * {
	margin: 0 !important;
}

.pcn-sw-sector {
	position: relative;
	display: flex;
	align-items: center;
	gap: 22px;
	overflow: hidden;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
}

.pcn-sw-sector:hover {
	box-shadow: var( --wp--preset--shadow--card );
}

.pcn-sw-sector > * {
	margin: 0 !important;
}

.pcn-sw-sector__image img {
	display: block;
	width: 200px;
	height: 140px;
	object-fit: cover;
}

.pcn-sw-sector__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-right: 18px;
}

.pcn-sw-sector__body > * {
	margin: 0 !important;
}

.pcn-sw-sector__title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	--pcn-ico-size: 22px;
}

.pcn-sw-sector__title::before {
	color: var( --wp--preset--color--primary );
}

.pcn-sw-sector .pcn-more {
	font-size: var( --wp--preset--font-size--x-small );
}

.pcn-sw-sector .pcn-more a::before {
	content: "";
	position: absolute;
	inset: 0;
}

/* ---------------------------------------------------------------- other software */

.pcn-sw-others {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 40px;
	padding-bottom: 104px;
}

.pcn-sw-others > * {
	width: 100%;
	margin-block: 0 !important;
}

.pcn-sw-others__label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var( --wp--preset--color--muted );
}

.pcn-sw-others__grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 20px;
}

.pcn-sw-others__grid > * {
	margin: 0 !important;
}

.pcn-sw-other a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	height: 84px;
	padding: 0 24px;
	box-sizing: border-box;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--m );
	background: var( --wp--preset--color--white );
	color: var( --wp--preset--color--primary );
}

.pcn-sw-other a:hover {
	border-color: var( --wp--preset--color--primary );
}

.pcn-sw-other a::after {
	content: "";
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E" ) center / contain no-repeat;
	mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E" ) center / contain no-repeat;
}

.pcn-sw-other img {
	display: block;
}

/* ---------------------------------------------------------------- phone */

@media ( max-width: 1099px ) {
	.pcn-do-grid,
	.pcn-product-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 781px ) {
	.pcn-sw-do {
		gap: 28px;
		padding-top: 72px;
		padding-bottom: 56px;
	}

	.pcn-do-grid,
	.pcn-product-grid,
	.pcn-sw-sector-grid,
	.pcn-sw-others__grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 12px;
	}

	.pcn-do-card {
		padding: 20px;
	}

	.pcn-do-card__title {
		font-size: 17px;
	}

	.pcn-do-card__text {
		font-size: var( --wp--preset--font-size--x-small );
	}

	.pcn-sw-products {
		gap: 24px;
		padding-block: 56px;
	}

	.pcn-product-group {
		padding: 20px;
	}

	.pcn-sw-sectors {
		gap: 20px;
		padding-top: 56px;
		padding-bottom: 32px;
	}

	.pcn-sw-sector {
		gap: 14px;
	}

	.pcn-sw-sector__image img {
		width: 110px;
		height: 96px;
	}

	.pcn-sw-sector__title {
		font-size: 17px;
	}

	.pcn-sw-others {
		gap: 16px;
		padding-top: 32px;
		padding-bottom: 56px;
	}

	.pcn-sw-other a {
		height: 64px;
		padding: 0 18px;
	}

	.pcn-sw-other img {
		zoom: 0.85;
	}
}

/* The support cards on a software page: SoftwareIcg.dc.html pads the band
   96/120/16 (phone 56/20/8); the cards themselves are support.css. */
.pcn-support.pcn-support--software {
	padding-top: 96px;
	padding-bottom: 16px;
}

@media ( max-width: 781px ) {
	.pcn-support.pcn-support--software {
		padding-top: 56px;
		padding-bottom: 8px;
	}
}

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

@media ( max-width: 781px ) {
	.pcn-do-grid.pcn-do-grid--3 {
		grid-template-columns: minmax( 0, 1fr );
	}
}

/* ---- sections/structure.css ---- */
/*
 * The 2026-10-15 structure: service and sector pages (Svc*.dc.html,
 * Set*.dc.html), the Serviços and Setores hubs, the new Home bands.
 * Builders: inc/services.php (pcn_svc_*), inc/site/structure.php.
 * Reused from elsewhere: pcn-do-card (software.css), pcn-steps and pcn-faq
 * (design-web.css), pcn-features (features.css), pcn-sector-card.
 */

/* ---- grids of do-cards ---- */
.pcn-svc-cards {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.pcn-svc-cards > *,
.pcn-supply > *,
.pcn-solution > *,
.pcn-svc-intro > * {
	width: 100%;
	margin-block: 0 !important;
}

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

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

.pcn-do-card .pcn-more {
	margin-top: auto !important;
	padding-top: 6px;
}

/* A card that is a link as a whole: the "Saber mais" link stretches over it. */
.pcn-do-card--link {
	position: relative;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

/* ::before, not ::after: .pcn-more a::after is the arrow (theme.css). */
.pcn-do-card--link .pcn-more a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
}

.pcn-do-card--link:hover {
	border-color: var( --wp--preset--color--line-strong );
	box-shadow: var( --wp--preset--shadow--card, 0 12px 28px rgba( 11, 22, 51, 0.08 ) );
}

.pcn-do-card--ink {
	border-color: var( --wp--preset--color--ink );
	background: var( --wp--preset--color--ink );
}

.pcn-do-card--ink .pcn-do-card__title {
	padding-top: 0;
	color: var( --wp--preset--color--white );
}

.pcn-do-card--ink .pcn-do-card__title::before,
.pcn-do-card--ink .pcn-do-card__title::after {
	display: none;
}

.pcn-do-card--ink .pcn-do-card__text {
	color: var( --wp--preset--color--on-dark );
}

.pcn-do-card--ink .pcn-more a {
	color: var( --wp--preset--color--white );
}

/* ---- four sector cards ---- */
.pcn-sector-grid--4 {
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 24px;
}

/* ---- intro ("O dia a dia", "O que é") ---- */
.pcn-svc-intro {
	padding-bottom: 40px !important;
}

.pcn-svc-intro__inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: var( --wp--style--global--content-size ) !important;
}

.pcn-svc-intro__inner > * {
	max-width: 980px;
	margin: 0 !important;
}

.pcn-svc-intro__text {
	font-size: var( --wp--preset--font-size--lead );
	line-height: 1.65;
}

/* ---- the sector's solution and the implementation chain ---- */
.pcn-solution {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.pcn-solution__top {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 80px;
	align-items: start;
}

.pcn-solution__text {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.pcn-solution__text > *,
.pcn-solution__features > * {
	margin: 0 !important;
}

.pcn-solution__features .pcn-features {
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
}

.pcn-chain__heading {
	font-size: 22px;
	font-weight: 800;
	margin-bottom: -28px !important;
}

.pcn-chain {
	display: grid;
	grid-template-columns: repeat( 5, minmax( 0, 1fr ) );
	gap: 16px;
	counter-reset: pcn-chain;
}

.pcn-chain__step {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
	counter-increment: pcn-chain;
}

.pcn-chain__step > * {
	margin: 0 !important;
}

.pcn-chain__step::before {
	content: counter( pcn-chain, decimal-leading-zero );
	font-size: 13px;
	font-weight: 800;
	color: var( --wp--preset--color--primary );
}

.pcn-chain__title {
	font-size: 18px;
}

.pcn-chain__text {
	font-size: 15px;
	line-height: 1.6;
	color: var( --wp--preset--color--muted );
}

.pcn-chain__step .pcn-more {
	margin-top: auto !important;
	padding-top: 6px;
}

/* ---- "O que fornecemos" ---- */
.pcn-supply {
	display: flex;
	flex-direction: column;
	gap: 44px;
}

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

.pcn-supply__grid > * {
	margin: 0 !important;
}

.pcn-supply__col {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 28px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
}

.pcn-supply__col > * {
	margin: 0 !important;
}

.pcn-supply__title {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 20px;
	font-weight: 800;
}

.pcn-supply__title::before {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	background-color: var( --wp--preset--color--primary );
}

.pcn-supply .pcn-checklist {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcn-supply .pcn-checklist li {
	position: relative;
	padding-left: 28px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.45;
	color: var( --wp--preset--color--ink );
}

.pcn-supply .pcn-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 18px;
	height: 18px;
	background: var( --wp--preset--color--primary );
	-webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E" ) center / contain no-repeat;
	mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E" ) center / contain no-repeat;
}

.pcn-supply .pcn-checklist a {
	color: var( --wp--preset--color--ink );
	text-decoration: underline;
	text-decoration-color: var( --wp--preset--color--line-strong );
	text-underline-offset: 3px;
}

.pcn-supply .pcn-checklist a:hover {
	color: var( --wp--preset--color--primary );
}

/* ---- steps: five across when there are five ---- */
.pcn-steps--5 {
	grid-template-columns: repeat( 5, minmax( 0, 1fr ) );
}

/* ---- "Também tratamos de" ---- */
.pcn-also {
	display: flex;
	align-items: center;
	gap: 32px;
	padding-block: 48px !important;
	padding-inline: max( var( --wp--preset--spacing--gutter ), calc( ( 100% - var( --wp--style--global--content-size ) ) / 2 ) ) !important;
	border-top: 1px solid var( --wp--preset--color--line );
}

.pcn-also > * {
	margin: 0 !important;
}

.pcn-also__label {
	flex-shrink: 0;
	font-size: var( --wp--preset--font-size--eyebrow );
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var( --wp--preset--color--muted );
}

.pcn-also__list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcn-also__list a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 20px;
	box-sizing: border-box;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: 12px;
	background: var( --wp--preset--color--white );
	font-size: 15px;
	font-weight: 700;
	color: var( --wp--preset--color--ink );
	text-decoration: none;
}

.pcn-also__list a::before {
	width: 20px;
	height: 20px;
	background-color: var( --wp--preset--color--primary );
}

.pcn-also__list a:hover {
	border-color: var( --wp--preset--color--primary );
	color: var( --wp--preset--color--primary );
}

/* ---- the ink band pointing to Software à Medida ---- */
.pcn-pointer {
	padding-block: 72px !important;
}

.pcn-pointer__box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 48px;
	padding: 48px 56px;
	border-radius: var( --wp--custom--radius--xl );
	background: var( --wp--preset--color--ink );
}

.pcn-pointer__box > * {
	margin: 0 !important;
}

.pcn-pointer__text {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 760px;
}

.pcn-pointer__text > * {
	margin: 0 !important;
}

.pcn-pointer__text h2 {
	color: var( --wp--preset--color--white );
	font-size: 34px;
}

.pcn-pointer__text p:not( .pcn-eyebrow ) {
	color: var( --wp--preset--color--on-dark );
}

.pcn-pointer__buttons {
	flex-shrink: 0;
}

/* ---- note (heading left, checked points right) ---- */
.pcn-note__inner {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 80px;
	align-items: start;
}

.pcn-note__inner > *,
.pcn-note__text > * {
	margin: 0 !important;
}

.pcn-note__text {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.pcn-note__footnote {
	font-size: 14px;
	color: var( --wp--preset--color--muted );
}

.pcn-note__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcn-note__list li {
	position: relative;
	padding: 20px 0 20px 36px;
	border-top: 1px solid var( --wp--preset--color--line );
	font-size: 15px;
	line-height: 1.6;
}

.pcn-note__list li strong {
	display: block;
	margin-bottom: 4px;
	font-size: 16px;
	color: var( --wp--preset--color--ink );
}

.pcn-note__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 22px;
	width: 20px;
	height: 20px;
	background: var( --wp--preset--color--primary );
	-webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E" ) center / contain no-repeat;
	mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E" ) center / contain no-repeat;
}

/* ---- tablet ---- */
@media ( max-width: 1279px ) {
	.pcn-do-grid--4,
	.pcn-sector-grid--4 {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.pcn-chain,
	.pcn-steps--5 {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}

	.pcn-solution__top,
	.pcn-note__inner {
		gap: 48px;
	}
}

/* ---- phone ---- */
@media ( max-width: 781px ) {
	.pcn-do-grid--3,
	.pcn-do-grid--4,
	.pcn-sector-grid--4,
	.pcn-solution__top,
	.pcn-solution__features .pcn-features,
	.pcn-chain,
	.pcn-steps--5,
	.pcn-supply__grid,
	.pcn-note__inner {
		grid-template-columns: minmax( 0, 1fr );
	}

	.pcn-solution__top,
	.pcn-note__inner {
		gap: 32px;
	}

	.pcn-chain__heading {
		margin-bottom: -16px !important;
	}

	.pcn-also {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		padding-block: 36px !important;
	}

	.pcn-pointer {
		padding-block: 48px !important;
	}

	.pcn-pointer__box {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		padding: 32px 24px;
	}

	.pcn-pointer__text h2 {
		font-size: 28px;
	}
}

/* ---- sections/support.css ---- */
/*
 * pcn-support — "Já é cliente?": three support channels (pcn/section-support,
 * reused by the Software pages).
 * Contact.dc.html: padding 72/16, head gap 8 (eyebrow, heading 30), 20 to
 * the grid; three columns (four in the design, before the ticket card went), gap 18; card padding 26/24, border 1 line, radius
 * 16, gap 12; icon well 46 radius 12 on soft, icon 22 primary; title 17/700;
 * text 14/1.55 muted (grows, so the links line up); link 15/700 primary,
 * 4 more above it. ContactMobile.dc.html: padding 40/8, heading 24, one
 * column, gap 10, card padding 20, text 13/1.5.
 */

.pcn-support.pcn-section {
	padding-top: 72px;
	padding-bottom: 16px;
}

.pcn-support__head {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pcn-support__head > * {
	margin: 0 !important;
}

.pcn-support__head .pcn-eyebrow {
	line-height: 1.25;
}

.pcn-support__title {
	font-size: clamp( 24px, 21.77px + 0.571vw, 30px );
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.pcn-support .pcn-support__grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 18px;
	margin-top: 20px;
}

.pcn-support-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	padding: 26px 24px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
}

.pcn-support-card > * {
	margin: 0 !important;
}

/* The title's pcn-ico-* ::before is the icon, its ::after the well behind. */
.pcn-support-card__title {
	--pcn-ico-color: var( --wp--preset--color--primary );
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
	color: var( --wp--preset--color--ink );
}

.pcn-support-card__title::before {
	position: relative;
	z-index: 1;
	width: 46px;
	height: 46px;
	-webkit-mask-size: 22px;
	mask-size: 22px;
}

.pcn-support-card__title::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: var( --wp--preset--color--soft );
}

.pcn-support-card__text {
	flex-grow: 1;
	font-size: 14px;
	line-height: 1.55;
	color: var( --wp--preset--color--muted );
}

.pcn-support-card__link {
	margin-top: 4px !important;
	font-size: 15px;
	line-height: 1.3;
}

/*
 * Standing alone (the Suporte page, Elson 2026-09-26: "precisa de melhor
 * espaçamento"): followed by a band with its own ground rather than by the
 * Contactos form, the section takes the site's section rhythm (the section
 * padding, 44 to the grid) and a full-size h2. Contactos keeps its artboard.
 */
.pcn-support.pcn-section:has( + .pcn-section--tint ) {
	padding-block: var( --wp--preset--spacing--section );
}

.pcn-support:has( + .pcn-section--tint ) .pcn-support__head {
	gap: 16px;
}

.pcn-support:has( + .pcn-section--tint ) .pcn-support__title {
	font-size: var( --wp--preset--font-size--heading );
	line-height: 1.12;
	letter-spacing: -0.025em;
}

.pcn-support:has( + .pcn-section--tint ) .pcn-support__grid {
	margin-top: 44px;
}

@media ( max-width: 781px ) {
	.pcn-support.pcn-section {
		padding-top: 40px;
		padding-bottom: 8px;
	}

	.pcn-support:has( + .pcn-section--tint ) .pcn-support__grid {
		margin-top: 28px;
	}

	.pcn-support .pcn-support__grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 10px;
	}

	.pcn-support-card {
		padding: 20px;
	}

	.pcn-support-card__text {
		font-size: 13px;
		line-height: 1.5;
	}
}

/* ---- sections/values.css ---- */
/*
 * pcn-values — three principle cards (Sobre nós; no artboard). Built from
 * the design language: card radius 16, padding 30/28, white on the tint band.
 */

.pcn-values-section {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.pcn-values-section > * {
	width: 100%;
	margin-block: 0 !important;
}

.pcn-values {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 24px;
}

.pcn-values > * {
	margin: 0 !important;
}

.pcn-value {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 30px 28px;
	border: 1px solid var( --wp--preset--color--line );
	border-radius: var( --wp--custom--radius--l );
	background: var( --wp--preset--color--white );
}

.pcn-value > * {
	margin: 0 !important;
}

.pcn-value__text {
	font-size: var( --wp--preset--font-size--small );
	line-height: 1.6;
	color: var( --wp--preset--color--muted );
}

@media ( max-width: 781px ) {
	.pcn-values-section {
		gap: 28px;
	}

	.pcn-values {
		grid-template-columns: minmax( 0, 1fr );
		gap: 14px;
	}

	.pcn-value {
		padding: 22px 20px;
		border-radius: var( --wp--custom--radius--m );
	}
}
