/*
 * Premier Container Storage design system (Onward, Oct 2026).
 * Loaded after Divi's own styles by the child theme (functions.php).
 * Colours follow the bookings site (bookings.premiercontainerstorage.co.uk) and the cube logo.
 * Page sections use the classes below via each module's CSS Class field.
 */

:root {
	--pcs-green: #32661a;        /* buttons and links, same as the bookings site */
	--pcs-green-dark: #24500f;
	--pcs-leaf: #3a9e48;         /* cube logo green */
	--pcs-sage: #79b987;         /* bookings site info bar */
	--pcs-mint: #e8f2e3;
	--pcs-bg: #f6f8f4;           /* bookings site page background */
	--pcs-forest: #10230a;
	--pcs-forest-2: #18330f;
	--pcs-ink: #18181b;
	--pcs-text: #3f3f46;
	--pcs-muted: #6b6b73;
	--pcs-line: #e4e4e7;
	--pcs-amber: #f5b301;
	--pcs-radius: 16px;
	--pcs-radius-sm: 10px;
	--pcs-shadow: 0 1px 2px rgba(16, 35, 10, .06), 0 8px 24px rgba(16, 35, 10, .08);
	--pcs-shadow-lg: 0 2px 4px rgba(16, 35, 10, .06), 0 18px 48px rgba(16, 35, 10, .14);
	--pcs-head: 'Archivo', 'Inter', system-ui, sans-serif;
	--pcs-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--pcs-wrap: 1200px;
}

/* ---------- Base ---------- */
body {
	font-family: var(--pcs-body);
	font-size: 17px;
	line-height: 1.65;
	color: var(--pcs-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body #page-container { overflow-x: clip; }
#main-content .container:before { display: none; }
body h1, body h2, body h3, body h4, body h5, body h6,
body .et_pb_module h1, body .et_pb_module h2, body .et_pb_module h3, body .et_pb_module h4 {
	font-family: var(--pcs-head);
	color: var(--pcs-ink);
	font-weight: 800;
	letter-spacing: -0.015em;
	line-height: 1.12;
	padding-bottom: 0;
}
body h1, body .et_pb_module h1 { font-size: clamp(2.25rem, 1.6rem + 2.8vw, 3.75rem); }
body h2, body .et_pb_module h2 { font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.6rem); margin-bottom: .45em; }
body h3, body .et_pb_module h3 { font-size: clamp(1.2rem, 1.1rem + .4vw, 1.4rem); font-weight: 700; margin-bottom: .4em; }
body h4, body .et_pb_module h4 { font-size: 1.05rem; font-weight: 700; }
p { padding-bottom: 0; }
.et_pb_text_inner > * + *, .pcs-prose > * + * { margin-top: 1em; }
.et_pb_text_inner > h2 + *, .et_pb_text_inner > h3 + * { margin-top: .5em; }
a { color: var(--pcs-green); }
a:hover { color: var(--pcs-green-dark); }
strong, b { color: var(--pcs-ink); font-weight: 650; }
.et_pb_text ul, .et_pb_text ol { padding-left: 1.2em; padding-bottom: 0; }
.et_pb_text li + li { margin-top: .35em; }
::selection { background: var(--pcs-sage); color: #fff; }
:focus-visible { outline: 3px solid var(--pcs-amber); outline-offset: 2px; }

/* ---------- Layout ---------- */
.et_pb_section.pcs-sec { padding: clamp(56px, 7vw, 104px) 0; background-color: #fff; }
.et_pb_section.pcs-sec--tint { background-color: var(--pcs-bg); }
.et_pb_section.pcs-sec--mint { background-color: var(--pcs-mint); }
.et_pb_section.pcs-sec--dark { background-color: var(--pcs-forest); color: rgba(255, 255, 255, .82); }
.et_pb_section.pcs-sec--tight { padding: clamp(36px, 4vw, 56px) 0; }
body .pcs-sec--dark h1, body .pcs-sec--dark h2, body .pcs-sec--dark h3, body .pcs-sec--dark h4, body .pcs-sec--dark .et_pb_module h2, body .pcs-sec--dark .et_pb_module h3, .pcs-sec--dark strong { color: #fff; }
.pcs-sec--dark a:not(.pcs-btn) { color: #b9e2bf; }
.et_pb_section .et_pb_row.pcs-row { width: 90%; max-width: var(--pcs-wrap); padding: 0; }
.et_pb_section .et_pb_row.pcs-row + .et_pb_row.pcs-row { margin-top: clamp(32px, 4vw, 56px); }
.et_pb_row.pcs-row--narrow { max-width: 820px; }
.et_pb_row.pcs-row--mid { max-width: 1000px; }
.pcs-row .et_pb_column .et_pb_module { margin-bottom: 0; }
.pcs-row .et_pb_column .et_pb_module + .et_pb_module { margin-top: 24px; }
@media (min-width: 981px) {
	.et_pb_row.pcs-row--split { display: flex; align-items: center; gap: clamp(32px, 5vw, 72px); }
	.et_pb_row.pcs-row--split > .et_pb_column { margin-right: 0 !important; width: auto; flex: 1 1 0; }
	.et_pb_row.pcs-row--split.pcs-row--flip > .et_pb_column:first-child { order: 2; }
}
@media (max-width: 980px) {
	.et_pb_row.pcs-row--split > .et_pb_column + .et_pb_column { margin-top: 32px; }
}
.pcs-center { text-align: center; }
.pcs-center .pcs-lead { margin-left: auto; margin-right: auto; }

/* ---------- Type helpers ---------- */
.pcs-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font: 700 .78rem/1.2 var(--pcs-body); letter-spacing: .12em; text-transform: uppercase;
	color: var(--pcs-green);
}
.pcs-eyebrow::before { content: ""; width: 22px; height: 3px; border-radius: 3px; background: var(--pcs-sage); }
.pcs-sec--dark .pcs-eyebrow, .pcs-hero .pcs-eyebrow { color: #b9e2bf; }
.pcs-lead { font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); color: var(--pcs-muted); max-width: 64ch; }
.pcs-sec--dark .pcs-lead { color: rgba(255, 255, 255, .75); }
.pcs-small { font-size: .9rem; color: var(--pcs-muted); }
.pcs-head { margin-bottom: clamp(28px, 3.5vw, 48px); }
.pcs-head h2 { margin-top: .35em; }

/* ---------- Buttons ---------- */
.pcs-btn, a.pcs-btn,
body #page-container .et_pb_button.pcs-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	padding: 15px 26px; border-radius: 999px; border: 2px solid var(--pcs-green);
	background: var(--pcs-green); color: #fff !important;
	font: 700 1rem/1.1 var(--pcs-body); letter-spacing: .01em; text-decoration: none;
	transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
	box-shadow: 0 6px 18px rgba(50, 102, 26, .28);
}
.pcs-btn:hover { background: var(--pcs-green-dark); border-color: var(--pcs-green-dark); transform: translateY(-1px); color: #fff; }
.pcs-btn::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat; }
a.pcs-btn.pcs-btn--ghost { background: transparent; color: var(--pcs-green) !important; box-shadow: none; }
a.pcs-btn.pcs-btn--ghost:hover { background: var(--pcs-green); color: #fff !important; }
a.pcs-btn.pcs-btn--light { background: #fff; border-color: #fff; color: var(--pcs-forest) !important; box-shadow: none; }
a.pcs-btn.pcs-btn--light:hover { background: var(--pcs-mint); border-color: var(--pcs-mint); color: var(--pcs-forest) !important; }
a.pcs-btn.pcs-btn--outline-light { background: transparent; border-color: rgba(255, 255, 255, .7); color: #fff !important; box-shadow: none; }
a.pcs-btn.pcs-btn--outline-light:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.pcs-btn--phone::after { -webkit-mask-image: var(--i-phone); mask-image: var(--i-phone); }
a.pcs-btn.pcs-btn--sm { padding: 11px 18px; font-size: .92rem; }
.pcs-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.pcs-center .pcs-btns { justify-content: center; }
/* Divi's own button module, so editors adding one get the same look */
body #page-container .et_pb_button {
	border-radius: 999px; border: 2px solid var(--pcs-green); background: var(--pcs-green); color: #fff;
	font-family: var(--pcs-body); font-weight: 700; font-size: 1rem; padding: 14px 26px !important;
}
body #page-container .et_pb_button:hover { background: var(--pcs-green-dark); border-color: var(--pcs-green-dark); padding: 14px 26px !important; }
body #page-container .et_pb_button::after { display: none; }

/* ---------- Header ---------- */
#top-header, #top-header .container {
	background: var(--pcs-forest) !important;
	font: 500 13px/1 var(--pcs-body);
}
.et_secondary_nav_enabled #page-container #top-header { background-color: var(--pcs-forest) !important; }
#top-header .container { width: 90%; max-width: var(--pcs-wrap); padding-top: 10px; }
#top-header #et-info { padding-bottom: 10px; }
#top-header, #top-header a, #et-info-phone, #et-info-email { color: rgba(255, 255, 255, .88) !important; }
#et-info-phone::before, #et-info-email::before { color: var(--pcs-sage); }
#top-header a:hover { color: #fff !important; }
#et-secondary-menu .pcs-top-note { color: #b9e2bf; font-weight: 600; }
#main-header {
	box-shadow: 0 1px 0 var(--pcs-line);
	background: rgba(255, 255, 255, .97);
	-webkit-backdrop-filter: saturate(160%) blur(8px); backdrop-filter: saturate(160%) blur(8px);
}
#main-header.et-fixed-header { box-shadow: 0 1px 0 var(--pcs-line), 0 8px 24px rgba(16, 35, 10, .06) !important; }
#main-header .container { width: 90%; max-width: var(--pcs-wrap); }
#logo { max-height: 46px !important; width: auto; }
.et-fixed-header #logo { max-height: 40px !important; }
#top-menu li { padding-right: 26px; }
#top-menu > li:last-child { padding-right: 0; }
#top-menu a, .et_header_style_left #et-top-navigation nav > ul > li > a {
	font: 600 15px/1 var(--pcs-body); color: var(--pcs-ink) !important; letter-spacing: 0;
}
#top-menu li.current-menu-item > a, #top-menu li.current-menu-ancestor > a, #top-menu a:hover { color: var(--pcs-green) !important; opacity: 1 !important; }
#top-menu .menu-item-has-children > a::after { color: var(--pcs-muted); }
#top-menu li ul {
	border-top: 0; border-radius: var(--pcs-radius-sm); box-shadow: var(--pcs-shadow-lg);
	padding: 10px 0; width: 260px;
}
#top-menu li ul a { width: 220px; padding: 9px 20px; font-size: 14px; font-weight: 500; }
#top-menu li li { padding: 0 10px; }
#top-menu li ul a:hover { background: var(--pcs-bg); border-radius: 8px; }
#top-menu li.pcs-nav-cta > a, .et_header_style_left #et-top-navigation nav > ul > li.pcs-nav-cta > a {
	background: var(--pcs-green); color: #fff !important; border-radius: 999px;
	padding: 13px 20px !important; margin-top: -13px; box-shadow: 0 6px 18px rgba(50, 102, 26, .25);
}
#top-menu li.pcs-nav-cta > a:hover, .et_header_style_left #et-top-navigation nav > ul > li.pcs-nav-cta > a:hover { background: var(--pcs-green-dark); color: #fff !important; }
#et_top_search, #et_search_icon { display: none !important; }
@media (min-width: 981px) and (max-width: 1180px) { #top-menu li { padding-right: 16px; } #top-menu a { font-size: 14px !important; } }
.et-fixed-header #top-menu li.pcs-nav-cta > a { color: #fff !important; }
/* mobile menu */
.mobile_menu_bar::before { color: var(--pcs-ink) !important; }
.et_mobile_menu { border-top: 3px solid var(--pcs-green); border-radius: 0 0 var(--pcs-radius-sm) var(--pcs-radius-sm); box-shadow: var(--pcs-shadow-lg); padding: 10px 6%; }
.et_mobile_menu li a { font: 600 16px/1.3 var(--pcs-body); color: var(--pcs-ink) !important; border-bottom: 1px solid var(--pcs-line); padding: 13px 4%; }
.et_mobile_menu li li a { font-weight: 500; font-size: 15px; padding-left: 8%; }
.et_mobile_menu li.pcs-nav-cta a { background: var(--pcs-green); color: #fff !important; border-radius: 999px; text-align: center; margin: 12px 0 6px; border: 0; }

/* ---------- Hero ---------- */
.et_pb_section.pcs-hero {
	position: relative; isolation: isolate; color: rgba(255, 255, 255, .88);
	padding: clamp(72px, 9vw, 140px) 0 clamp(64px, 8vw, 120px);
	background-color: var(--pcs-forest); background-size: cover; background-position: center;
}
.et_pb_section.pcs-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background:
		linear-gradient(100deg, rgba(10, 24, 6, .92) 0%, rgba(12, 28, 8, .78) 42%, rgba(12, 28, 8, .28) 100%),
		linear-gradient(0deg, rgba(10, 24, 6, .45), rgba(10, 24, 6, 0) 40%);
}
.et_pb_section.pcs-hero > * { position: relative; z-index: 1; }
body .pcs-hero h1, body .pcs-hero .et_pb_module h1 { color: #fff; max-width: 16ch; margin: .3em 0 .35em; }
.pcs-hero .pcs-lead { color: rgba(255, 255, 255, .82); max-width: 52ch; }
.pcs-hero--page { padding: clamp(56px, 7vw, 104px) 0 clamp(48px, 6vw, 88px) !important; }
body .pcs-hero--page .et_pb_module h1 { max-width: 20ch; font-size: clamp(2.1rem, 1.6rem + 2.2vw, 3.3rem); }
.pcs-chips { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 30px; padding: 0; list-style: none; }
.pcs-chips li { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: .95rem; color: #fff; margin: 0 !important; }
.pcs-chips li::before { content: ""; width: 18px; height: 18px; flex: none; background: var(--pcs-sage); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; }
.pcs-price-tag {
	display: inline-flex; align-items: baseline; gap: 8px; margin-top: 6px;
	background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px; padding: 8px 16px; color: #fff; font-size: .95rem;
}
.pcs-price-tag strong { color: #fff; font: 800 1.25rem/1 var(--pcs-head); }
.pcs-crumbs { font-size: .85rem; color: rgba(255, 255, 255, .7); }
.pcs-crumbs a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.pcs-crumbs a:hover { color: #fff; text-decoration: underline; }

/* Hero offer card */
.pcs-offer {
	background: #fff; color: var(--pcs-text); border-radius: var(--pcs-radius); padding: 28px;
	box-shadow: var(--pcs-shadow-lg); max-width: 400px; margin-left: auto; position: relative;
}
.pcs-offer h3 { margin: 10px 0 6px; font-size: 1.45rem; }
.pcs-offer .pcs-price { margin: 14px 0 4px; }
.pcs-offer .pcs-btn { width: 100%; margin-top: 18px; }
@media (max-width: 980px) { .pcs-offer { margin: 36px 0 0; max-width: none; } }

/* ---------- Badges and prices ---------- */
.pcs-badge {
	display: inline-block; font: 700 .72rem/1 var(--pcs-body); letter-spacing: .08em; text-transform: uppercase;
	padding: 7px 10px; border-radius: 999px; background: var(--pcs-mint); color: var(--pcs-green);
}
.pcs-badge--amber { background: #fff4cc; color: #7a5600; }
.pcs-badge--grey { background: #f0f0f2; color: var(--pcs-muted); }
.pcs-price { display: flex; align-items: baseline; gap: 6px; color: var(--pcs-ink); }
.pcs-price strong { font: 800 2.4rem/1 var(--pcs-head); letter-spacing: -0.02em; }
.pcs-price span { color: var(--pcs-muted); font-size: .95rem; }
.pcs-price-ex { font-size: .88rem; color: var(--pcs-muted); }

/* ---------- Feature strip (USPs) ---------- */
.pcs-usps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; list-style: none; padding: 0 !important; margin: 0; }
.pcs-usps li {
	margin: 0 !important; background: #fff; border: 1px solid var(--pcs-line); border-radius: var(--pcs-radius);
	padding: 22px; display: flex; flex-direction: column; gap: 6px;
}
.pcs-usps li strong { font: 700 1.05rem/1.3 var(--pcs-head); color: var(--pcs-ink); }
.pcs-usps li span { font-size: .93rem; color: var(--pcs-muted); line-height: 1.5; }
.pcs-sec--tight .pcs-usps { margin-top: 0; }
@media (max-width: 980px) { .pcs-usps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pcs-usps { grid-template-columns: 1fr; } }

/* Icon tiles: add pcs-i-<name> to any element to get an icon before it */
/* The tile is ::before, the icon sits on top of it as ::after. --pcs-pad must match the element's padding. */
[class*="pcs-i-"] { position: relative; --pcs-pad: 22px; }
[class*="pcs-i-"]::before {
	content: ""; display: block; flex: none; width: 46px; height: 46px; border-radius: 12px;
	background: var(--pcs-mint); margin-bottom: 8px;
}
[class*="pcs-i-"]::after {
	content: ""; position: absolute; width: 24px; height: 24px; background: var(--pcs-green);
	-webkit-mask: var(--pcs-icon) center / contain no-repeat; mask: var(--pcs-icon) center / contain no-repeat;
	top: calc(var(--pcs-pad) + 11px); left: calc(var(--pcs-pad) + 11px);
}
.pcs-card[class*="pcs-i-"] { --pcs-pad: 24px; }
.pcs-sec--dark [class*="pcs-i-"]::before { background: rgba(185, 226, 191, .14); }
.pcs-sec--dark [class*="pcs-i-"]::after { background: #b9e2bf; }
.pcs-i-lock { --pcs-icon: var(--i-lock); }
.pcs-i-clock { --pcs-icon: var(--i-clock); }
.pcs-i-bell { --pcs-icon: var(--i-bell); }
.pcs-i-cctv { --pcs-icon: var(--i-cctv); }
.pcs-i-drop { --pcs-icon: var(--i-drop); }
.pcs-i-phone { --pcs-icon: var(--i-mobile); }
.pcs-i-calendar { --pcs-icon: var(--i-calendar); }
.pcs-i-truck { --pcs-icon: var(--i-truck); }
.pcs-i-home { --pcs-icon: var(--i-home); }
.pcs-i-briefcase { --pcs-icon: var(--i-briefcase); }
.pcs-i-cap { --pcs-icon: var(--i-cap); }
.pcs-i-car { --pcs-icon: var(--i-car); }
.pcs-i-pin { --pcs-icon: var(--i-pin); }
.pcs-i-shield { --pcs-icon: var(--i-shield); }
.pcs-i-box { --pcs-icon: var(--i-box); }
.pcs-i-stairs { --pcs-icon: var(--i-stairs); }
.pcs-i-swap { --pcs-icon: var(--i-swap); }
.pcs-i-tick { --pcs-icon: var(--i-check); }

/* ---------- Unit cards ---------- */
.pcs-units { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.pcs-unit {
	position: relative; background: #fff; border: 1px solid var(--pcs-line); border-radius: var(--pcs-radius);
	padding: 28px; display: flex; flex-direction: column; box-shadow: var(--pcs-shadow);
	transition: transform .2s ease, box-shadow .2s ease;
}
.pcs-unit:hover { transform: translateY(-3px); box-shadow: var(--pcs-shadow-lg); }
.pcs-unit--feature { border: 2px solid var(--pcs-green); }
.pcs-unit h3 { margin: 14px 0 4px; font-size: 1.5rem; }
.pcs-unit .pcs-unit-sub { color: var(--pcs-muted); font-size: .95rem; margin: 0; }
.pcs-unit .pcs-price { margin-top: 18px; }
.pcs-unit ul { list-style: none; padding: 18px 0 0 !important; margin: 18px 0 0; border-top: 1px solid var(--pcs-line); flex: 1; }
.pcs-unit li { position: relative; padding-left: 28px; font-size: .95rem; margin: 0 0 9px !important; }
.pcs-unit li::before {
	content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; background: var(--pcs-leaf);
	-webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat;
}
.pcs-unit .pcs-btn { margin-top: 22px; width: 100%; }
.pcs-unit--soldout .pcs-price strong { color: var(--pcs-muted); }
.pcs-dims { display: flex; gap: 8px; margin-top: 16px; }
.pcs-dims span { flex: 1; text-align: center; background: var(--pcs-bg); border-radius: 10px; padding: 9px 6px; font-size: .78rem; color: var(--pcs-muted); line-height: 1.25; }
.pcs-dims b { display: block; color: var(--pcs-ink); font: 800 1.05rem/1.2 var(--pcs-head); }
@media (max-width: 980px) { .pcs-units { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; } }
.pcs-note { margin-top: 22px; font-size: .9rem; color: var(--pcs-muted); text-align: center; }

/* ---------- Steps ---------- */
.pcs-steps { counter-reset: step; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; list-style: none; padding: 0 !important; margin: 0; }
.pcs-steps li { counter-increment: step; margin: 0 !important; background: #fff; border-radius: var(--pcs-radius); padding: 28px; border: 1px solid var(--pcs-line); }
.pcs-steps li::before {
	content: counter(step); display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
	background: var(--pcs-green); color: #fff; font: 800 1.15rem/1 var(--pcs-head); margin-bottom: 16px;
}
.pcs-steps strong { display: block; font: 700 1.15rem/1.3 var(--pcs-head); margin-bottom: 6px; }
.pcs-steps span { color: var(--pcs-muted); font-size: .95rem; }
@media (max-width: 980px) { .pcs-steps { grid-template-columns: 1fr; } }

/* ---------- Check list ---------- */
.pcs-checks { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: 12px; }
.pcs-checks li { position: relative; padding-left: 34px; margin: 0 !important; }
.pcs-checks li::before {
	content: ""; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%;
	background: var(--pcs-mint);
}
.pcs-checks li::after {
	content: ""; position: absolute; left: 5px; top: 7px; width: 12px; height: 12px; background: var(--pcs-green);
	-webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat;
}
.pcs-sec--dark .pcs-checks li::before { background: rgba(185, 226, 191, .16); }
.pcs-sec--dark .pcs-checks li::after { background: #b9e2bf; }
.pcs-checks--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; }
@media (max-width: 640px) { .pcs-checks--2 { grid-template-columns: 1fr; } }

/* ---------- Photos ---------- */
.et_pb_image.pcs-photo .et_pb_image_wrap, .pcs-photo img { border-radius: var(--pcs-radius); overflow: hidden; box-shadow: var(--pcs-shadow-lg); }
.et_pb_image.pcs-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.et_pb_image.pcs-photo--tall img { aspect-ratio: 4 / 5; }
.et_pb_image.pcs-photo--wide img { aspect-ratio: 16 / 9; }

/* ---------- Cards (uses, areas) ---------- */
.pcs-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pcs-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pcs-card {
	display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--pcs-line);
	border-radius: var(--pcs-radius); padding: 24px; text-decoration: none; color: var(--pcs-text);
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
a.pcs-card:hover { border-color: var(--pcs-sage); transform: translateY(-3px); box-shadow: var(--pcs-shadow); color: var(--pcs-text); }
.pcs-card strong { font: 700 1.15rem/1.3 var(--pcs-head); color: var(--pcs-ink); }
.pcs-card span { font-size: .94rem; color: var(--pcs-muted); line-height: 1.55; }
.pcs-card em { margin-top: auto; padding-top: 10px; font-style: normal; font-weight: 700; color: var(--pcs-green); font-size: .92rem; }
.pcs-card em::after { content: " \2192"; }
@media (max-width: 980px) { .pcs-cards, .pcs-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pcs-cards, .pcs-cards--3 { grid-template-columns: 1fr; } }

.pcs-areas { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0 !important; margin: 0; }
.pcs-areas li { margin: 0 !important; }
.pcs-areas a, .pcs-areas span {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px;
	background: #fff; border: 1px solid var(--pcs-line); color: var(--pcs-ink); font-weight: 600; font-size: .95rem; text-decoration: none;
}
.pcs-areas a::before { content: ""; width: 14px; height: 14px; background: var(--pcs-leaf); -webkit-mask: var(--i-pin) center / contain no-repeat; mask: var(--i-pin) center / contain no-repeat; }
.pcs-areas a:hover { border-color: var(--pcs-green); color: var(--pcs-green); }
.pcs-areas span { color: var(--pcs-muted); font-weight: 500; }
.pcs-sec--dark .pcs-areas a { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .16); color: #fff; }
.pcs-center .pcs-areas { justify-content: center; }

/* ---------- Reviews ---------- */
.pcs-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pcs-review {
	margin: 0; background: #fff; border-radius: var(--pcs-radius); padding: 28px; border: 1px solid var(--pcs-line);
	display: flex; flex-direction: column; gap: 16px; position: relative;
}
.pcs-review::before { content: "\201C"; font: 800 4rem/0.6 Georgia, serif; color: var(--pcs-sage); height: 26px; }
.pcs-review p { font-size: 1rem; color: var(--pcs-ink); }
.pcs-review cite { margin-top: auto; font-style: normal; font-weight: 700; color: var(--pcs-green); }
@media (max-width: 980px) { .pcs-reviews { grid-template-columns: 1fr; } }

/* ---------- Facts panel (local pages, contact) ---------- */
.pcs-facts { background: #fff; border: 1px solid var(--pcs-line); border-radius: var(--pcs-radius); padding: 8px 24px; box-shadow: var(--pcs-shadow); }
.pcs-facts dl { margin: 0; }
.pcs-facts div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--pcs-line); }
.pcs-facts div:last-child { border-bottom: 0; }
.pcs-facts dt { color: var(--pcs-muted); font-size: .92rem; }
.pcs-facts dd { margin: 0; color: var(--pcs-ink); font-weight: 650; text-align: right; }

/* ---------- FAQ (Divi accordion and toggle) ---------- */
.pcs-faq .et_pb_toggle {
	border: 1px solid var(--pcs-line) !important; border-radius: var(--pcs-radius-sm); background: #fff !important;
	padding: 0 !important; margin-bottom: 12px !important; overflow: hidden;
}
.pcs-faq .et_pb_toggle_title, .pcs-faq h5.et_pb_toggle_title, .pcs-faq h3.et_pb_toggle_title {
	font: 700 1.05rem/1.4 var(--pcs-head) !important; color: var(--pcs-ink) !important; padding: 20px 56px 20px 22px !important; cursor: pointer;
}
.pcs-faq .et_pb_toggle_title::before { right: 22px !important; color: var(--pcs-green) !important; font-size: 18px !important; }
.pcs-faq .et_pb_toggle_open { border-color: var(--pcs-sage) !important; }
.pcs-faq .et_pb_toggle_content { padding: 0 22px 22px !important; color: var(--pcs-text); font-size: 1rem; }

/* ---------- CTA band ---------- */
.et_pb_section.pcs-cta { padding: clamp(48px, 6vw, 80px) 0; background: var(--pcs-green); position: relative; overflow: hidden; }
.et_pb_section.pcs-cta::before {
	content: ""; position: absolute; right: -80px; top: -60px; width: 420px; height: 420px; opacity: .12;
	background: #fff; -webkit-mask: var(--i-cube) center / contain no-repeat; mask: var(--i-cube) center / contain no-repeat;
}
body .pcs-cta h2, body .pcs-cta .et_pb_module h2 { color: #fff; margin: 0; }
.pcs-cta p { color: rgba(255, 255, 255, .85); }
.pcs-cta .pcs-btns { margin-top: 24px; }
@media (min-width: 981px) {
	.pcs-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
	.pcs-cta-inner .pcs-btns { margin-top: 0; flex: none; }
}

/* ---------- Map ---------- */
.pcs-map iframe { width: 100%; height: 380px; border: 0; border-radius: var(--pcs-radius); box-shadow: var(--pcs-shadow); display: block; }

/* ---------- Table ---------- */
.pcs-table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--pcs-line); border-radius: var(--pcs-radius-sm); overflow: hidden; font-size: .97rem; background: #fff; }
.pcs-table th, .pcs-table td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--pcs-line); vertical-align: top; }
.pcs-table th { background: var(--pcs-bg); color: var(--pcs-ink); font-weight: 700; }
.pcs-table tr:last-child td { border-bottom: 0; }

/* ---------- Footer ---------- */
#main-footer { background: var(--pcs-forest) !important; }
#main-footer .container { width: 90%; max-width: var(--pcs-wrap); }
#footer-widgets { padding: 72px 0 36px; }
#footer-widgets .footer-widget { color: rgba(255, 255, 255, .72); font-size: 15px; }
#footer-widgets .footer-widget h4, #footer-widgets .footer-widget .title {
	font: 700 .8rem/1.2 var(--pcs-body) !important; letter-spacing: .12em; text-transform: uppercase; color: #b9e2bf !important; margin-bottom: 18px;
}
#footer-widgets .footer-widget li { padding-left: 0 !important; margin-bottom: 9px; }
#footer-widgets .footer-widget li::before { display: none !important; }
#footer-widgets .footer-widget a { color: rgba(255, 255, 255, .85) !important; text-decoration: none; }
#footer-widgets .footer-widget a:hover { color: #fff !important; text-decoration: underline; }
.pcs-foot-logo { width: 220px; height: auto; margin-bottom: 18px; display: block; }
.pcs-foot-contact { list-style: none; padding: 0 !important; margin: 18px 0 0; }
.pcs-foot-contact li { margin-bottom: 8px; }
#footer-bottom { background: #0b1907 !important; padding: 18px 0; }
#footer-bottom .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
#footer-info, #footer-info a { color: rgba(255, 255, 255, .6) !important; font-size: 13px; float: none; padding: 0; }
#footer-info a:hover { color: #fff !important; }
#footer-bottom .et-social-icons { display: none; }

/* ---------- Mobile action bar ---------- */
.pcs-mbar { display: none; }
@media (max-width: 767px) {
	.pcs-mbar {
		display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96);
		box-shadow: 0 -6px 24px rgba(16, 35, 10, .12); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	}
	.pcs-mbar a { display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; padding: 13px 10px; font: 700 15px/1 var(--pcs-body); text-decoration: none; }
	.pcs-mbar .pcs-mbar-call { border: 2px solid var(--pcs-green); color: var(--pcs-green); }
	.pcs-mbar .pcs-mbar-book { background: var(--pcs-green); color: #fff; }
	body { padding-bottom: 76px; }
	#top-header { display: none !important; }
	.et_pb_section.pcs-hero { padding: 64px 0 56px; }
	.pcs-hero h1 { max-width: none; }
	.pcs-btns .pcs-btn { flex: 1 1 100%; }
	.et_pb_section .et_pb_row.pcs-row { width: 88%; }
}

/* ---------- Icons (paths after Lucide, ISC licence) ---------- */
:root {
	--i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
	--i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' 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.72c.13.96.36 1.9.7 2.81a2 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-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	--i-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' 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");
	--i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
	--i-bell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E");
	--i-cctv: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16.75 12h3.63a1 1 0 0 1 .9 1.45l-2.04 4.07a1 1 0 0 1-1.7.13l-2.13-2.97'/%3E%3Cpath d='M17.1 9.05a1 1 0 0 1 .45 1.34l-3.1 6.21a1 1 0 0 1-1.35.45L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z'/%3E%3Cpath d='M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15'/%3E%3Cpath d='M2 21v-4'/%3E%3C/svg%3E");
	--i-drop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z'/%3E%3C/svg%3E");
	--i-mobile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' 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");
	--i-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' 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%3C/svg%3E");
	--i-truck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E");
	--i-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10l9-7 9 7v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3C/svg%3E");
	--i-briefcase: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E");
	--i-cap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5 10-5z'/%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'/%3E%3C/svg%3E");
	--i-car: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Cpath d='M9 17h6'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E");
	--i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' 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");
	--i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' 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");
	--i-box: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%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 12 12l8.7-5M12 22V12'/%3E%3C/svg%3E");
	--i-stairs: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h5v-5h5v-5h5V6h3'/%3E%3C/svg%3E");
	--i-swap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 3 4 4-4 4'/%3E%3Cpath d='M20 7H4'/%3E%3Cpath d='m8 21-4-4 4-4'/%3E%3Cpath d='M4 17h16'/%3E%3C/svg%3E");
	--i-cube: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 6 86.5 27 50 48 13.5 27z M13.5 32 47 51v42L13.5 74z M53 51 86.5 32v42L53 93z'/%3E%3C/svg%3E");
}

/* ---------- Fixes after the first staging review ---------- */
.et_pb_text ul.pcs-checks, .et_pb_text ul.pcs-areas, .et_pb_text ul.pcs-usps, .et_pb_text ul.pcs-chips, .et_pb_text .pcs-unit ul, .et_pb_text ol.pcs-steps,
ul.pcs-checks li, ul.pcs-areas li, ul.pcs-usps li, ul.pcs-chips li, .pcs-unit li, ol.pcs-steps li { list-style: none !important; }
.et_pb_text ol.pcs-steps, .et_pb_text ul.pcs-checks, .et_pb_text ul.pcs-areas, .et_pb_text ul.pcs-usps, .et_pb_text ul.pcs-chips { padding-left: 0 !important; }
.et_pb_module.pcs-center, .et_pb_module.pcs-center .et_pb_text_inner, .et_pb_module.pcs-center h2, .et_pb_module.pcs-center p { text-align: center !important; }
.pcs-unit .pcs-badge, .pcs-offer .pcs-badge { align-self: flex-start; }
.pcs-foot-contact a { overflow-wrap: anywhere; }
.grecaptcha-badge { visibility: hidden; }
@media (min-width: 981px) {
	#footer-widgets .footer-widget { width: 17.5% !important; margin-right: 5.5% !important; }
	#footer-widgets .footer-widget:first-child { width: 31% !important; }
	#footer-widgets .footer-widget:last-child { margin-right: 0 !important; }
}
.pcs-cta p { margin-top: 10px; }
@media (max-width: 560px) {
	.pcs-usps li { display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; row-gap: 2px; padding: 16px; --pcs-pad: 16px; }
	.pcs-usps li::before { grid-row: span 2; margin: 0; }
	.pcs-usps li[class*="pcs-i-"]::after { top: 27px; left: 27px; }
	.pcs-card[class*="pcs-i-"] { padding: 20px; --pcs-pad: 20px; }
}
@media (max-width: 980px) {
	#main-header .et_mobile_menu .menu-item-has-children > .sub-menu { display: none !important; }
	#main-header .et_mobile_menu .menu-item-has-children.pcs-open > .sub-menu { display: block !important; }
	.et_mobile_menu .menu-item-has-children > a { position: relative; padding-right: 52px !important; background: none !important; }
	.pcs-sub-toggle { position: absolute; right: 0; top: 0; bottom: 0; width: 52px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
	.pcs-sub-toggle::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--pcs-green); border-bottom: 2px solid var(--pcs-green); transform: translateY(-3px) rotate(45deg); transition: transform .2s ease; }
	.pcs-open > a .pcs-sub-toggle::after { transform: translateY(2px) rotate(-135deg); }
	.et_mobile_menu { max-height: calc(100vh - 160px); overflow-y: auto; }
}

/* ---------- Layout baseline (20 Oct 2026). Divi 5's per-page CSS sometimes leaves out its row and container centring, so it is set here for every page. ---------- */
:root { --pcs-gutter: clamp(20px, 4.5vw, 56px); }
body .et_pb_section .et_pb_row { margin-left: auto !important; margin-right: auto !important; }
body .et_pb_section .et_pb_row:not(.pcs-row) { width: calc(100% - 2 * var(--pcs-gutter)); max-width: 1080px; }
body .et_pb_section .et_pb_row.pcs-row { width: calc(100% - 2 * var(--pcs-gutter)) !important; max-width: var(--pcs-wrap) !important; }
body .et_pb_section .et_pb_row.pcs-row--narrow { max-width: 820px !important; }
body .et_pb_section .et_pb_row.pcs-row--mid { max-width: 1000px !important; }
#top-header .container, #main-header .container, #main-footer .container, #footer-bottom .container, #main-content > .container {
	width: calc(100% - 2 * var(--pcs-gutter)) !important; max-width: var(--pcs-wrap) !important; margin-left: auto !important; margin-right: auto !important;
}

/* =====================================================================
 * Polish pass (20 Oct 2026): fonts, motion, mobile and tablet layouts.
 * ===================================================================== */

/* Self-hosted fonts (Latin subsets, variable weight). Preloaded in functions.php. */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('fonts/inter-latin-var.woff2') format('woff2'); }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 700 800; font-display: swap; src: url('fonts/archivo-latin-var.woff2') format('woff2'); }

:root {
	--art-8: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 60'%3E%3Cpolygon points='25.6,2.0 49.1,15.6 25.6,29.2 2.0,15.6' fill='%23c2deb8'/%3E%3Cpolygon points='2.0,15.6 25.6,29.2 25.6,58.4 2.0,44.8' fill='%233a9e48'/%3E%3Cpolygon points='25.6,29.2 49.1,15.6 49.1,44.8 25.6,58.4' fill='%232a7a36'/%3E%3Cline x1='4.0' y1='18.2' x2='4.0' y2='44.5' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='5.9' y1='19.4' x2='5.9' y2='45.6' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='7.9' y1='20.5' x2='7.9' y2='46.7' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='9.9' y1='21.6' x2='9.9' y2='47.9' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='11.8' y1='22.8' x2='11.8' y2='49.0' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='13.8' y1='23.9' x2='13.8' y2='50.1' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='15.7' y1='25.0' x2='15.7' y2='51.3' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='17.7' y1='26.2' x2='17.7' y2='52.4' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='19.7' y1='27.3' x2='19.7' y2='53.5' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='21.6' y1='28.4' x2='21.6' y2='54.7' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='23.6' y1='29.6' x2='23.6' y2='55.8' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='34.0' y1='27.3' x2='34.0' y2='50.5' stroke='%23e8f2e3' stroke-opacity='.8' stroke-width='1.6' stroke-linecap='round'/%3E%3Cline x1='40.6' y1='23.5' x2='40.6' y2='46.7' stroke='%23e8f2e3' stroke-opacity='.8' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
	--art-20: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86 81'%3E%3Cpolygon points='25.6,2.0 84.4,36.0 60.9,49.6 2.0,15.6' fill='%23c2deb8'/%3E%3Cpolygon points='2.0,15.6 60.9,49.6 60.9,78.8 2.0,44.8' fill='%233a9e48'/%3E%3Cpolygon points='60.9,49.6 84.4,36.0 84.4,65.2 60.9,78.8' fill='%232a7a36'/%3E%3Cline x1='3.8' y1='18.2' x2='3.8' y2='44.4' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='5.7' y1='19.2' x2='5.7' y2='45.5' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='7.5' y1='20.3' x2='7.5' y2='46.5' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='9.4' y1='21.3' x2='9.4' y2='47.6' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='11.2' y1='22.4' x2='11.2' y2='48.7' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='13.0' y1='23.5' x2='13.0' y2='49.7' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='14.9' y1='24.5' x2='14.9' y2='50.8' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='16.7' y1='25.6' x2='16.7' y2='51.8' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='18.6' y1='26.7' x2='18.6' y2='52.9' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='20.4' y1='27.7' x2='20.4' y2='54.0' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='22.2' y1='28.8' x2='22.2' y2='55.0' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='24.1' y1='29.8' x2='24.1' y2='56.1' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='25.9' y1='30.9' x2='25.9' y2='57.2' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='27.8' y1='32.0' x2='27.8' y2='58.2' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='29.6' y1='33.0' x2='29.6' y2='59.3' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='31.4' y1='34.1' x2='31.4' y2='60.3' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='33.3' y1='35.2' x2='33.3' y2='61.4' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='35.1' y1='36.2' x2='35.1' y2='62.5' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='37.0' y1='37.3' x2='37.0' y2='63.5' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='38.8' y1='38.3' x2='38.8' y2='64.6' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='40.6' y1='39.4' x2='40.6' y2='65.7' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='42.5' y1='40.5' x2='42.5' y2='66.7' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='44.3' y1='41.5' x2='44.3' y2='67.8' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='46.2' y1='42.6' x2='46.2' y2='68.8' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='48.0' y1='43.7' x2='48.0' y2='69.9' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='49.8' y1='44.7' x2='49.8' y2='71.0' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='51.7' y1='45.8' x2='51.7' y2='72.0' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='53.5' y1='46.8' x2='53.5' y2='73.1' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='55.4' y1='47.9' x2='55.4' y2='74.2' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='57.2' y1='49.0' x2='57.2' y2='75.2' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='59.0' y1='50.0' x2='59.0' y2='76.3' stroke='%23fff' stroke-opacity='.2' stroke-width='1'/%3E%3Cline x1='69.4' y1='47.7' x2='69.4' y2='70.9' stroke='%23e8f2e3' stroke-opacity='.8' stroke-width='1.6' stroke-linecap='round'/%3E%3Cline x1='76.0' y1='43.9' x2='76.0' y2='67.1' stroke='%23e8f2e3' stroke-opacity='.8' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Type finishing */
body h1, body h2, body h3, .pcs-card strong, .pcs-steps strong { text-wrap: balance; }
.et_pb_text p, .pcs-lead { text-wrap: pretty; }
.pcs-price strong, .pcs-dims b, .pcs-facts dd { font-variant-numeric: tabular-nums; }

/* Eyebrow uses the brand cube instead of a line */
.pcs-eyebrow::before { width: 13px; height: 13px; border-radius: 0; background: var(--pcs-leaf); -webkit-mask: var(--i-cube) center / contain no-repeat; mask: var(--i-cube) center / contain no-repeat; }
.pcs-hero .pcs-eyebrow::before, .pcs-sec--dark .pcs-eyebrow::before { background: var(--pcs-sage); }

/* Textured tint sections */
.et_pb_section.pcs-sec--tint { background-image: radial-gradient(rgba(50, 102, 26, .075) 1.2px, transparent 1.2px); background-size: 22px 22px; }

/* Buttons: arrow nudges on hover, press feedback */
.pcs-btn::after { transition: transform .2s ease; }
.pcs-btn:hover::after { transform: translateX(3px); }
.pcs-btn:active { transform: translateY(1px) scale(.99); }
#top-menu li.pcs-nav-cta > a { transition: background .18s ease, transform .18s ease; }
#top-menu li.pcs-nav-cta > a:hover { transform: translateY(-1px); }

/* Hero: glass chips, offer card and a gentle entrance */
.pcs-hero .pcs-chips { gap: 10px; }
.pcs-hero .pcs-chips li {
	padding: 8px 14px 8px 11px; border-radius: 999px; font-size: .9rem;
	background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.pcs-hero .pcs-chips li::before { width: 16px; height: 16px; }
.pcs-offer { border: 1px solid rgba(255, 255, 255, .6); }
.pcs-offer .pcs-badge--amber { position: relative; padding-left: 22px; }
.pcs-offer .pcs-badge--amber::before { content: ""; position: absolute; left: 10px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: #d48a00; box-shadow: 0 0 0 0 rgba(212, 138, 0, .5); animation: pcs-pulse 2s infinite; }
@keyframes pcs-pulse { 70% { box-shadow: 0 0 0 8px rgba(212, 138, 0, 0); } 100% { box-shadow: 0 0 0 0 rgba(212, 138, 0, 0); } }
@keyframes pcs-rise { from { transform: translateY(16px); } to { transform: none; } }
@keyframes pcs-fade-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.pcs-hero .pcs-hero-text .et_pb_text_inner > * { animation: pcs-fade-rise .7s cubic-bezier(.2, .7, .2, 1) both; }
.pcs-hero .pcs-hero-text .et_pb_text_inner > h1 { animation-name: pcs-rise; }
.pcs-hero .pcs-hero-text .et_pb_text_inner > :nth-child(2) { animation-delay: .05s; }
.pcs-hero .pcs-hero-text .et_pb_text_inner > :nth-child(3) { animation-delay: .1s; }
.pcs-hero .pcs-hero-text .et_pb_text_inner > :nth-child(4) { animation-delay: .16s; }
.pcs-hero .pcs-hero-text .et_pb_text_inner > :nth-child(5) { animation-delay: .22s; }
.pcs-hero .pcs-hero-text .et_pb_text_inner > :nth-child(6) { animation-delay: .28s; }
.pcs-hero .pcs-offer { animation: pcs-fade-rise .8s .25s cubic-bezier(.2, .7, .2, 1) both; }

/* Unit cards: product-style header with a container drawn to scale */
.pcs-unit { padding-top: 0; overflow: hidden; }
.pcs-unit::before {
	content: ""; display: block; height: 128px; margin: 0 -28px 18px;
	background: var(--pcs-bg) var(--art-8) center 58% / auto 78px no-repeat;
	border-bottom: 1px solid var(--pcs-line);
	background-image: var(--art-8), radial-gradient(rgba(50, 102, 26, .08) 1.2px, transparent 1.2px);
	background-size: auto 78px, 18px 18px; background-position: center 58%, 0 0; background-repeat: no-repeat, repeat;
}
.pcs-unit--20::before { background-image: var(--art-20), radial-gradient(rgba(50, 102, 26, .08) 1.2px, transparent 1.2px); background-size: auto 92px, 18px 18px; background-position: center 60%, 0 0; }
.pcs-unit--feature::before { background-color: var(--pcs-mint); }
.pcs-unit .pcs-badge { position: absolute; top: 14px; left: 16px; }
.pcs-unit h3 { margin-top: 0; }

/* Photos: offset colour block behind */
.et_pb_image.pcs-photo { position: relative; isolation: isolate; overflow: visible !important; }
.et_pb_image.pcs-photo::before {
	content: ""; position: absolute; z-index: -1; inset: 22px -22px -22px 22px; border-radius: var(--pcs-radius);
	background: linear-gradient(135deg, var(--pcs-sage), var(--pcs-mint)); opacity: .55;
}
.pcs-row--flip .et_pb_image.pcs-photo::before { inset: 22px 22px -22px -22px; }

/* CTA band and footer depth */
.et_pb_section.pcs-cta { background: radial-gradient(120% 140% at 0% 0%, #3f7d22 0%, var(--pcs-green) 45%, #24500f 100%); }
#main-footer { position: relative; overflow: hidden; }
#main-footer::before {
	content: ""; position: absolute; right: -120px; bottom: -140px; width: 520px; height: 520px; opacity: .05; pointer-events: none;
	background: #fff; -webkit-mask: var(--i-cube) center / contain no-repeat; mask: var(--i-cube) center / contain no-repeat;
}

/* Back to top: brand styled on desktop, hidden on touch screens (the action bar covers it) */
.et_pb_scroll_top.et-pb-icon { background: var(--pcs-green); border-radius: 12px 0 0 12px; }
@media (max-width: 980px) { .et_pb_scroll_top { display: none !important; } }

/* Scroll reveal (only when JS is running and motion is allowed) */
@media (prefers-reduced-motion: no-preference) {
	.pcs-js .pcs-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease var(--d, 0ms), transform .6s cubic-bezier(.2, .7, .2, 1) var(--d, 0ms); }
	.pcs-js .pcs-reveal.pcs-in { opacity: 1; transform: none; }
	.pcs-js .pcs-unit.pcs-reveal.pcs-in:hover, .pcs-js a.pcs-card.pcs-reveal.pcs-in:hover { transform: translateY(-3px); transition-delay: 0ms; }
}
@media (prefers-reduced-motion: reduce) {
	.pcs-hero .pcs-hero-text .et_pb_text_inner > *, .pcs-hero .pcs-offer, .pcs-offer .pcs-badge--amber::before { animation: none !important; }
}

/* ---------- Tablet (768 to 980): two columns where they fit ---------- */
@media (min-width: 768px) and (max-width: 980px) {
	.pcs-sec .et_pb_row.pcs-row--split { display: flex; align-items: center; gap: 36px; }
	.pcs-sec .et_pb_row.pcs-row--split > .et_pb_column { width: auto !important; flex: 1 1 0; margin: 0 !important; }
	.pcs-sec .et_pb_row.pcs-row--split.pcs-row--flip > .et_pb_column:first-child { order: 2; }
	.pcs-offer { max-width: 520px; }
	.pcs-usps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pcs-cta-inner .pcs-btns .pcs-btn { flex: 0 0 auto; }
}

/* ---------- Touch screens up to 980: swipeable rails ---------- */
@media (max-width: 980px) {
	.pcs-units, .pcs-reviews {
		display: flex !important; gap: 16px; max-width: none !important; overflow-x: auto; overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory; scroll-padding-inline: var(--pcs-gutter); scrollbar-width: none;
		margin: 0 calc(-1 * var(--pcs-gutter)) !important; padding: 6px var(--pcs-gutter) 22px;
	}
	.pcs-units::-webkit-scrollbar, .pcs-reviews::-webkit-scrollbar { display: none; }
	.pcs-units > *, .pcs-reviews > * { flex: 0 0 min(340px, 84%); scroll-snap-align: start; }
	.pcs-unit:hover { transform: none; }
	.pcs-note { margin-top: 6px; }
	/* steps become a timeline */
	.pcs-steps { gap: 0; }
	.pcs-steps li { display: grid; grid-template-columns: 44px 1fr; column-gap: 16px; border: 0; background: none; padding: 0 0 24px; position: relative; }
	.pcs-steps li::before { grid-row: span 2; margin: 0; }
	.pcs-steps li:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 50px; bottom: 6px; width: 2px; background: var(--pcs-sage); opacity: .55; }
	/* footer lists side by side */
	#footer-widgets { padding: 52px 0 18px; }
	#footer-widgets .footer-widget { width: 47% !important; margin-right: 6% !important; float: left; }
	#footer-widgets .footer-widget:nth-child(odd):not(:first-child) { margin-right: 0 !important; }
	#footer-widgets .footer-widget:first-child { width: 100% !important; margin-right: 0 !important; }
	#footer-bottom .container { justify-content: center; text-align: center; }
	.et_pb_image.pcs-photo::before { inset: 12px -10px -12px 10px; }
	.pcs-row--flip .et_pb_image.pcs-photo::before { inset: 12px 10px -12px -10px; }
}

/* ---------- Phones ---------- */
@media (max-width: 767px) {
	body { font-size: 16px; }
	.et_pb_section.pcs-sec { padding: 52px 0; }
	.et_pb_section.pcs-sec--tight { padding: 28px 0; }
	.pcs-head { margin-bottom: 24px; }
	.et_pb_section.pcs-hero { padding: 44px 0 40px; background-position: 62% center; }
	.pcs-hero .pcs-lead { font-size: 1.02rem; }
	.pcs-hero .pcs-chips { margin-top: 20px; }
	.pcs-hero .pcs-chips li { font-size: .82rem; padding: 6px 11px 6px 9px; }
	.pcs-offer { padding: 22px; }
	.pcs-offer h3 { font-size: 1.25rem; }
	.pcs-btns { margin-top: 22px; }
	.pcs-unit { padding: 0 22px 22px; }
	.pcs-unit::before { margin: 0 -22px 16px; height: 112px; }
	.pcs-unit h3 { font-size: 1.3rem; }
	.pcs-price strong { font-size: 2.1rem; }
	.pcs-review { padding: 22px; }
	.pcs-cards .pcs-card[class*="pcs-i-"] { display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; row-gap: 2px; padding: 16px; --pcs-pad: 16px; }
	.pcs-cards .pcs-card[class*="pcs-i-"]::before { grid-row: span 3; margin: 0; }
	.pcs-cards .pcs-card em { padding-top: 4px; }
	.pcs-faq .et_pb_toggle_title, .pcs-faq h5.et_pb_toggle_title { padding: 16px 48px 16px 16px !important; font-size: 1rem !important; }
	.pcs-faq .et_pb_toggle_content { padding: 0 16px 16px !important; }
	.pcs-facts { padding: 4px 18px; }
	.pcs-table { font-size: .9rem; }
	.pcs-table th, .pcs-table td { padding: 11px 10px; }
	.pcs-cta h2 { font-size: 1.6rem; }
	.pcs-mbar a { min-height: 48px; }
	#main-header .container { min-height: 64px; }
	#logo { max-height: 38px !important; }
	.et_pb_image.pcs-photo::before { display: none; }
}
@media (max-width: 980px) {
	#footer-widgets .footer-widget:last-child { width: 100% !important; margin-right: 0 !important; }
}
