/* =========================================================================
   Papercourt Wey — theme styles
   Brand: Kite Green #025956 · Light #037471 · Teal accent #7dd3c0
   Fonts: Calluna (headings) · Futura PT (body) via Adobe Fonts
   ========================================================================= */

:root {
	--pcw-green: #025956;
	--pcw-green-light: #037471;
	--pcw-teal: #7dd3c0;
	--pcw-dark: #1E1E1E;
	--pcw-cream: #F8F9F7;
	--pcw-gray: #6B7280;
	--pcw-gray-light: #E5E7EB;
}

html { scroll-behavior: smooth; }

/* Full-bleed: kill the default UA body margin so alignfull sections reach the
   viewport edges on every WordPress version (some don't reset it for us). */
html, body {
	margin: 0;
	padding: 0;
}

body {
	font-family: "futura-pt", system-ui, -apple-system, "Segoe UI", sans-serif;
	color: var(--pcw-dark);
}

/* Belt-and-braces: no stray root padding creating a side gutter around
   full-width blocks (every section already sets its own inner padding). */
.wp-site-blocks {
	padding-left: 0;
	padding-right: 0;
}

/* No white strip above the hero: the header is position:fixed, so its wrapper
   and <main> must sit flush against the top with no block-gap margin. */
.wp-site-blocks > .wp-block-template-part {
	margin-block: 0;
}
.pcw-main {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Keep the fixed header from hiding in-page anchor targets */
:target { scroll-margin-top: 6rem; }

/* -------------------------------------------------------------------------
   Header (fixed, transparent over hero, solid white once scrolled)
   ------------------------------------------------------------------------- */
.pcw-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	transition: background-color .4s ease, box-shadow .4s ease, backdrop-filter .4s ease;
}
.pcw-header .pcw-header__inner { width: 100%; }
.pcw-header.is-scrolled {
	background-color: rgba(255, 255, 255, .95);
	backdrop-filter: blur(8px);
	box-shadow: 0 1px 12px rgba(0, 0, 0, .06);
}

/* Logo: sized to match the original (~52px tall), white over the hero */
.pcw-logo img,
.pcw-header .wp-block-site-logo img,
.pcw-header .custom-logo {
	transition: filter .3s ease;
	height: 3.25rem !important;
	width: auto !important;
	max-width: none !important;
}
@media (min-width: 1024px) {
	.pcw-logo img,
	.pcw-header .wp-block-site-logo img,
	.pcw-header .custom-logo {
		height: 3.5rem !important;
	}
}
/* Footer logo: a touch smaller, always white */
.pcw-footer .wp-block-site-logo img,
.pcw-footer .custom-logo {
	height: 3rem !important;
	width: auto !important;
	max-width: none !important;
	filter: brightness(0) invert(1);
}
.pcw-header:not(.is-scrolled) .pcw-logo img,
.pcw-header:not(.is-scrolled) .wp-block-site-logo img {
	filter: brightness(0) invert(1);
}

/* Hamburger button — colour follows header state */
.pcw-burger {
	background: none;
	border: 0;
	padding: .25rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	color: #fff;
	z-index: 2;
}
.pcw-header.is-scrolled .pcw-burger { color: var(--pcw-dark); }

/* -------------------------------------------------------------------------
   Fullscreen overlay menu (matches the original)
   ------------------------------------------------------------------------- */
.pcw-menu {
	position: fixed;
	inset: 0;
	z-index: 200;
	background: var(--pcw-green);
	padding: 1.5rem clamp(1.5rem, 5vw, 3rem) 3rem !important;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	transition: opacity .35s ease, visibility .35s ease;
}
.pcw-menu.is-open { opacity: 1; visibility: visible; }
body.pcw-menu-open { overflow: hidden; }

.pcw-menu__top { padding-top: .25rem; }
.pcw-menu__logo img { filter: brightness(0) invert(1); height: 3.25rem !important; width: auto !important; max-width: none !important; }
.pcw-menu__close { background: none; border: 0; color: #fff; cursor: pointer; padding: .25rem; display: flex; }

.pcw-menu__search { display: flex; align-items: center; gap: 1rem; margin-top: 2rem; color: rgba(255, 255, 255, .7); }
.pcw-menu__search input {
	flex: 1;
	background: transparent;
	border: 0;
	color: #fff;
	font-family: "futura-pt", system-ui, sans-serif;
	font-size: .8rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	outline: none;
	padding: .5rem 0;
}
.pcw-menu__search input::placeholder { color: rgba(255, 255, 255, .6); letter-spacing: .2em; }
.pcw-menu__divider { border: 0; border-top: 1px solid rgba(255, 255, 255, .3); margin: 1.25rem 0 2.5rem; }

.pcw-menu__label { color: rgba(255, 255, 255, .6); font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 1.75rem; }

.pcw-menu__nav { display: flex; flex-direction: column; }
.pcw-menu__item { display: flex; flex-direction: column; }
.pcw-menu__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	padding: .4rem 0;
	color: #fff;
	text-decoration: none;
	font-family: "calluna", Georgia, serif;
	font-weight: 300;
	font-size: clamp(2rem, 4.5vw, 3rem);
	line-height: 1.25;
	background: none;
	border: 0;
	cursor: pointer;
	text-align: left;
}
.pcw-menu__link:hover { color: rgba(255, 255, 255, .7); }
.pcw-menu__circle {
	width: 3rem;
	height: 3rem;
	flex: 0 0 auto;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	transition: background .2s ease, transform .3s ease;
}
.pcw-menu__link:hover .pcw-menu__circle { background: rgba(255, 255, 255, .1); }
.pcw-menu__toggle[aria-expanded="true"] .pcw-menu__circle { transform: rotate(180deg); }

.pcw-menu__sub {
	display: none;
	flex-direction: column;
	margin: .35rem 0 .6rem 1rem;
	padding-left: 1.5rem;
	border-left: 1px solid rgba(255, 255, 255, .2);
}
.pcw-menu__sub.is-open { display: flex; }
.pcw-menu__sub a { color: rgba(255, 255, 255, .8); text-decoration: none; padding: .45rem 0; font-size: 1.15rem; }
.pcw-menu__sub a:hover { color: #fff; }

/* -------------------------------------------------------------------------
   Sections & shared building blocks
   ------------------------------------------------------------------------- */
.pcw-main { overflow-x: clip; }

/* -------------------------------------------------------------------------
   Responsive safety — never let anything cause a horizontal scroll/overflow
   ------------------------------------------------------------------------- */
html, body { overflow-x: hidden; max-width: 100%; }
/* Button rows must wrap on narrow screens (two wide buttons otherwise
   overflow the hero on mobile). */
.wp-block-buttons.is-layout-flex { flex-wrap: wrap; }
/* Hero content is capped to the viewport so the heading wraps cleanly. */
.pcw-hero .wp-block-cover__inner-container,
.pcw-hero .wp-block-group {
	width: 100%;
	max-width: 100%;
}
.pcw-hero h1 { overflow-wrap: break-word; }

.pcw-eyebrow {
	color: var(--pcw-green);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .2em;
	font-size: .8rem;
	margin-bottom: 1rem;
}
.pcw-page-header .pcw-eyebrow,
[class*="has-green-background"] .pcw-eyebrow { color: var(--pcw-teal); }

/* The Team — logo + name + role, matching the original */
.pcw-team__member { text-align: center; }
.pcw-team__logo {
	height: 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: .85rem;
}
.pcw-team__logo img {
	max-height: 3rem;
	max-width: 100%;
	width: auto;
	object-fit: contain;
}
.pcw-team__logo.is-dark {
	background: var(--pcw-green);
	border-radius: 8px;
	padding: 0 .9rem;
}
.pcw-team__name {
	color: var(--pcw-green);
	font-weight: 500;
	margin: 0 0 .2rem;
	line-height: 1.3;
}
.pcw-team__role {
	color: var(--pcw-gray);
	font-size: .85rem;
	margin: 0;
	line-height: 1.3;
}

/* Cover badge / category chips */
.pcw-badge a,
.pcw-badge {
	display: inline-block;
	background: var(--pcw-green);
	color: #fff !important;
	padding: .4rem 1rem;
	border-radius: 4px;
	font-weight: 500;
}

/* Hero (home) */
.pcw-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
}
.pcw-hero .wp-block-cover__inner-container { width: 100%; }
.pcw-hero__eyebrow {
	color: var(--pcw-teal);
	text-transform: uppercase;
	letter-spacing: .2em;
	font-size: .85rem;
	font-weight: 500;
}

/* Generic content cards */
.pcw-card {
	background: var(--pcw-cream);
	padding: 2rem;
	height: 100%;
}
.pcw-card--green { background: var(--pcw-green); color: #fff; }
.pcw-card--green :where(h1,h2,h3,h4,p,li,span) { color: #fff; }
.pcw-card--white { background: #fff; }

/* Stat block (big number + label) */
.pcw-stat { text-align: center; }
.pcw-stat .pcw-stat__num {
	display: block;
	font-family: "calluna", Georgia, serif;
	font-weight: 300;
	color: var(--pcw-green);
	line-height: 1;
	font-size: clamp(2.5rem, 6vw, 3.75rem);
}
.pcw-stat .pcw-stat__label { color: var(--pcw-gray); }

/* Bulleted feature lists on green panels */
.pcw-ticks { list-style: none; padding-left: 0; }
.pcw-ticks li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 1rem;
}
.pcw-ticks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .55em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--pcw-teal);
}

/* Key/value rows (amenities & transport) */
.pcw-kv { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.pcw-kv:last-child { border-bottom: 0; }
.pcw-kv .pcw-kv__v { color: var(--pcw-teal); font-weight: 500; white-space: nowrap; }

/* -------------------------------------------------------------------------
   News cards (front-page carousel + listing grid)
   ------------------------------------------------------------------------- */
.pcw-news-card { background: transparent; }
.pcw-news-card__img img { border-radius: 8px; width: 100%; object-fit: cover; }
.pcw-news-card__cat { color: var(--pcw-green); font-weight: 500; }
.pcw-news-card .wp-block-post-title { font-family: "calluna", Georgia, serif; line-height: 1.25; }
.pcw-news-card .wp-block-post-title a { color: var(--pcw-dark); text-decoration: none; }
.pcw-news-card .wp-block-post-title a:hover { color: var(--pcw-green); }

.pcw-news-cards.is-layout-grid { gap: 2rem; }

/* Horizontal scroll strip for the homepage news section */
.pcw-news-strip .pcw-news-cards {
	display: flex;
	gap: 1.5rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 1rem;
	-ms-overflow-style: none;
	scrollbar-width: none;
	grid-template-columns: none !important;
}
.pcw-news-strip .pcw-news-cards::-webkit-scrollbar { display: none; }
.pcw-news-strip .pcw-news-card { flex: 0 0 340px; scroll-snap-align: start; }

/* -------------------------------------------------------------------------
   Timeline
   ------------------------------------------------------------------------- */
.pcw-timeline { position: relative; }
.pcw-timeline::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: rgba(2, 89, 86, .2);
}
.pcw-timeline__item { position: relative; padding-left: 2.5rem; margin-bottom: 1.5rem; }
.pcw-timeline__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: .35rem;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid var(--pcw-green);
}
.pcw-timeline__item.is-done::before { background: var(--pcw-green); }
.pcw-timeline__card { background: #fff; padding: 1.5rem; border: 1px solid var(--pcw-gray-light); }
.pcw-timeline__item.is-current .pcw-timeline__card { border: 2px solid var(--pcw-green); }
.pcw-timeline__date { color: var(--pcw-green); font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }

/* -------------------------------------------------------------------------
   Documents list
   ------------------------------------------------------------------------- */
.pcw-doc {
	display: flex;
	align-items: center;
	gap: 1rem;
	background: var(--pcw-cream);
	padding: 1.5rem;
	border-radius: 8px;
	text-decoration: none;
	transition: background .2s ease;
}
.pcw-doc:hover { background: rgba(2, 89, 86, .06); }
.pcw-doc__icon {
	flex: 0 0 auto;
	width: 3rem;
	height: 3rem;
	border-radius: 8px;
	background: rgba(2, 89, 86, .1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pcw-green);
	font-size: 1.25rem;
}
.pcw-doc__body { flex: 1; }
.pcw-doc__title { display: block; color: var(--pcw-dark); font-weight: 600; font-size: 1.05rem; margin: 0; }
.pcw-doc__meta { display: block; color: var(--pcw-gray); font-size: .85rem; margin: .35rem 0 0; }

/* -------------------------------------------------------------------------
   Forms (enquiry / contact / feedback) — Formspree-backed
   ------------------------------------------------------------------------- */
.pcw-form { display: grid; gap: 1.25rem; }
.pcw-form__card { background: #fff; border-radius: 12px; padding: 2rem; box-shadow: 0 10px 40px rgba(0,0,0,.06); }
.pcw-form label { display: block; font-weight: 500; font-size: .9rem; margin-bottom: .4rem; color: var(--pcw-dark); }
.pcw-form input[type=text],
.pcw-form input[type=email],
.pcw-form input[type=tel],
.pcw-form select,
.pcw-form textarea {
	width: 100%;
	padding: .75rem 1rem;
	border: 1px solid var(--pcw-gray-light);
	border-radius: 8px;
	font: inherit;
	color: var(--pcw-dark);
	background: #fff;
}
.pcw-form textarea { resize: vertical; min-height: 120px; }
.pcw-form input:focus,
.pcw-form select:focus,
.pcw-form textarea:focus {
	outline: none;
	border-color: transparent;
	box-shadow: 0 0 0 2px var(--pcw-green);
}
.pcw-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.pcw-form__group { border: 0; padding: 0; margin: 0; }
.pcw-form__group legend { font-weight: 500; margin-bottom: .75rem; }
.pcw-form__choice { display: flex; align-items: flex-start; gap: .6rem; margin-bottom: .6rem; color: var(--pcw-gray); font-weight: 400; }
.pcw-form__choice input { margin-top: .25rem; }
.pcw-form__submit {
	background: var(--pcw-green);
	color: #fff;
	border: 0;
	padding: 1rem 2rem;
	font: inherit;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-size: .875rem;
	cursor: pointer;
	transition: background .2s ease;
}
.pcw-form__submit:hover { background: var(--pcw-green-light); }
.pcw-form__submit:disabled { opacity: .5; cursor: not-allowed; }
.pcw-form__note { font-size: .8rem; color: var(--pcw-gray); line-height: 1.6; }
.pcw-form__success { display: none; text-align: center; padding: 2rem 0; }
.pcw-form.is-submitted .pcw-form__success { display: block; }
.pcw-form.is-submitted .pcw-form__fields { display: none; }
.pcw-form__success-icon {
	width: 4rem; height: 4rem; border-radius: 50%;
	background: rgba(2,89,86,.1); color: var(--pcw-green);
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 1.25rem; font-size: 1.75rem;
}
.pcw-form__error { color: #b91c1c; font-size: .9rem; display: none; }
.pcw-form.is-error .pcw-form__error { display: block; }

@media (max-width: 640px) {
	.pcw-form__row { grid-template-columns: 1fr; }
}

/* -------------------------------------------------------------------------
   Lightbox (click any .pcw-zoom image to enlarge)
   ------------------------------------------------------------------------- */
.pcw-zoom img { cursor: zoom-in; transition: transform .4s ease; border-radius: 8px; }
.pcw-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, .9);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease;
	cursor: zoom-out;
}
.pcw-lightbox.is-open { opacity: 1; pointer-events: auto; }
.pcw-lightbox img { max-width: 95vw; max-height: 92vh; object-fit: contain; }
.pcw-lightbox__close {
	position: absolute; top: 1.25rem; right: 1.5rem;
	background: none; border: 0; color: #fff; font-size: 2.5rem; line-height: 1; cursor: pointer;
}

/* -------------------------------------------------------------------------
   Reveal-on-scroll (progressive enhancement)
   ------------------------------------------------------------------------- */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
}

/* -------------------------------------------------------------------------
   Small helpers
   ------------------------------------------------------------------------- */
.pcw-section { position: relative; }
.has-green-background-color :where(h1,h2,h3,h4) { color: #fff; }
.pcw-measure { max-width: 52rem; }
.pcw-rounded img { border-radius: 8px; }

/* =========================================================================
   Design-audit fixes — align WordPress rendering with the original site
   ========================================================================= */

/* Header: dark (black) logo + hamburger on the white scrolled state so
   "GREEN KITE HOMES" is legible; white over the hero/green bands. */
.pcw-header.is-scrolled .pcw-logo img,
.pcw-header.is-scrolled .wp-block-site-logo img { filter: brightness(0) !important; }

/* Footer Quick Links: plain text, no bullets, no underline, muted grey. */
.pcw-footer__links { list-style: none !important; padding-left: 0 !important; margin: 0; }
.pcw-footer__links li { margin: 0; }
.pcw-footer__links a { text-decoration: none; color: rgba(255, 255, 255, .6); transition: color .2s ease; }
.pcw-footer__links a:hover { color: #fff; }

/* Footer divider: a full-width thin rule (WP defaults separators to ~100px). */
.pcw-footer__rule.wp-block-separator {
	width: 100% !important;
	max-width: none !important;
	border: 0 !important;
	border-top: 1px solid rgba(255, 255, 255, .12) !important;
	background: none !important;
	height: 0;
}

/* Footer email link: teal, no underline. */
.pcw-footer a[href^="mailto"] { color: var(--pcw-teal); text-decoration: none; }
.pcw-footer a[href^="mailto"]:hover { color: #fff; }

/* Wider desktop side gutters to match the original (px-6 → lg:px-12). */
@media (min-width: 1024px) {
	.pcw-section,
	.pcw-page-header,
	.pcw-cta { padding-left: 3rem !important; padding-right: 3rem !important; }
}

/* Green page-header band: match the original's taller top / tighter bottom. */
.pcw-page-header { padding-top: 9rem !important; padding-bottom: 4rem !important; }
@media (min-width: 768px) { .pcw-page-header { padding-top: 10rem !important; } }

/* Proposal header prev/next pager row. */
.pcw-ph-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-top: 2rem;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(255, 255, 255, .2);
}
.pcw-ph-nav a {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	color: rgba(255, 255, 255, .75);
	text-decoration: none;
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .05em;
}
.pcw-ph-nav a:hover { color: #fff; }
.pcw-ph-nav .pcw-ph-nav__spacer { flex: 1; }

/* News cards: teal date badge overlaid on the image, category label, radius. */
.pcw-news-card { position: relative; }
.pcw-news-card__img { position: relative; margin-bottom: 1rem; }
.pcw-news-card__img img { border-radius: 8px; width: 100%; object-fit: cover; }
.pcw-news-card__img .wp-block-post-date {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 2;
	margin: 0;
	background: var(--pcw-green);
	color: #fff;
	font-size: .7rem;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: .4rem 1rem;
	border-radius: 4px;
	pointer-events: none;
}
.pcw-news-card__img .wp-block-post-date time { color: #fff; }
.pcw-news-card__cat { color: var(--pcw-green); font-weight: 500; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }

/* Home news carousel: heading row + circular prev/next arrows */
.pcw-news-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 2.5rem; }
.pcw-news-arrows { display: flex; gap: .75rem; }
.pcw-news-arrow {
	width: 3rem; height: 3rem; border-radius: 50%;
	border: 1px solid var(--pcw-green); background: none; color: var(--pcw-green);
	display: flex; align-items: center; justify-content: center; cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
.pcw-news-arrow:hover { background: var(--pcw-green); color: #fff; }

/* Hero scroll-down chevron (bouncing) */
.pcw-hero__scroll {
	position: absolute;
	bottom: 2.25rem;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, .6);
	display: flex;
	animation: pcw-bounce 1.6s ease-in-out infinite;
}
.pcw-hero__scroll:hover { color: #fff; }
@keyframes pcw-bounce { 0%,100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 10px); } }
@media (prefers-reduced-motion: reduce) { .pcw-hero__scroll { animation: none; } }

/* Contact detail items with teal circular icons */
.pcw-contact { display: flex; flex-direction: column; gap: 1.5rem; margin-top: 1.75rem; }
.pcw-contact__item { display: flex; align-items: flex-start; gap: 1rem; text-decoration: none; }
.pcw-contact__icon {
	width: 3rem; height: 3rem; flex: 0 0 auto;
	border-radius: 50%; background: var(--pcw-green);
	display: flex; align-items: center; justify-content: center;
	transition: background .2s ease;
}
a.pcw-contact__item:hover .pcw-contact__icon { background: var(--pcw-green-light); }
.pcw-contact__body { display: flex; flex-direction: column; }
.pcw-contact__label { font-size: .85rem; color: var(--pcw-gray); margin-bottom: .15rem; }
.pcw-contact__value { color: var(--pcw-dark); font-weight: 500; }
a.pcw-contact__item:hover .pcw-contact__value { color: var(--pcw-green); }

/* Proposals landing — numbered cards (dark serif titles, LEARN MORE CTA) */
.pcw-card--link { display: block; background: var(--pcw-cream); padding: 2rem; text-decoration: none; height: 100%; transition: background .2s ease; }
.pcw-card--link:hover { background: #eef4f2; }
.pcw-card__num { display: block; color: var(--pcw-green); font-size: .875rem; font-weight: 500; margin-bottom: .75rem; }
.pcw-card__title { font-family: "calluna", Georgia, serif; color: var(--pcw-dark); font-size: 1.5rem; font-weight: 600; line-height: 1.25; margin: 0 0 .5rem; }
.pcw-card--link:hover .pcw-card__title { color: var(--pcw-green); }
.pcw-card__desc { color: var(--pcw-gray); font-size: .95rem; line-height: 1.6; margin: 0 0 1.25rem; }
.pcw-card__cta { display: inline-flex; align-items: center; gap: .5rem; color: var(--pcw-green); font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 500; }

/* Documents — download circle on the right */
.pcw-doc { align-items: center; }
.pcw-doc__dl {
	width: 2.5rem; height: 2.5rem; flex: 0 0 auto;
	border-radius: 50%; border: 1px solid var(--pcw-gray-light);
	color: var(--pcw-gray); display: flex; align-items: center; justify-content: center;
	transition: all .2s ease;
}
.pcw-doc:hover .pcw-doc__dl { border-color: var(--pcw-green); background: var(--pcw-green); color: #fff; }

/* Feedback — plain form (no card) with larger controls, matching the original */
.pcw-form--plain { box-shadow: none !important; background: transparent !important; padding: 0 !important; border-radius: 0 !important; }
.pcw-form__choice input[type="radio"],
.pcw-form__choice input[type="checkbox"] {
	width: 1.25rem; height: 1.25rem; margin-top: .15rem; flex: 0 0 auto;
	accent-color: var(--pcw-green);
}
.pcw-form__choice { font-size: 1rem; }
.pcw-form__group legend { font-size: .95rem; font-weight: 500; color: var(--pcw-dark); }

/* Timeline — alternating centre-line layout on desktop (matches the original) */
@media (min-width: 768px) {
	.pcw-timeline::before { left: 50%; transform: translateX(-50%); }
	.pcw-timeline__item { width: 50%; padding-left: 0; box-sizing: border-box; margin-bottom: 2rem; }
	.pcw-timeline__item:nth-child(odd) { margin-left: 0; padding-right: 2.75rem; text-align: right; }
	.pcw-timeline__item:nth-child(even) { margin-left: 50%; padding-left: 2.75rem; text-align: left; }
	.pcw-timeline__item::before { top: .5rem; }
	.pcw-timeline__item:nth-child(odd)::before { left: auto; right: -9px; }
	.pcw-timeline__item:nth-child(even)::before { left: -9px; right: auto; }
}
