/* POL Pacific — supplementary styles (front end + editor) */

:root {
	--pol-line: rgba(159, 179, 195, .22);
	--pol-radius: 14px;
}

/* ---------- Type helpers ---------- */
.pol-eyebrow,
.is-style-pol-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--wp--preset--color--lagoon);
}
.pol-eyebrow::before,
.is-style-pol-eyebrow::before {
	content: "";
	display: inline-block;
	width: .55em; height: .55em;
	margin-right: .7em;
	border-radius: 50%;
	background: var(--wp--preset--color--signal);
	vertical-align: .05em;
}
.pol-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.5; }
.pol-mono { font-family: var(--wp--preset--font-family--mono); }
.pol-num {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--signal-dark);
	letter-spacing: .08em;
}

/* ---------- Header ---------- */
.pol-header { position: relative; z-index: 20; }
.pol-header .pol-logo img { display: block; height: 46px; width: auto; }
.pol-header .wp-block-navigation a { text-decoration: none; }
.pol-header .wp-block-navigation a:hover { color: var(--wp--preset--color--signal); }
.pol-header--dark { border-bottom: 1px solid var(--pol-line); }
.pol-header--light { border-bottom: 1px solid var(--wp--preset--color--coral-sand); }
@media (max-width: 600px) { .pol-header .pol-logo img { height: 36px; } .pol-header .pol-header-cta { display: none; } }

/* ---------- Hero ---------- */
.pol-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--wp--preset--color--abyss);
	background-image:
		radial-gradient(80% 60% at 75% 70%, rgba(25, 167, 168, .16) 0%, rgba(6, 24, 42, 0) 60%),
		url("../img/chart-lines.svg");
	background-size: cover;
	background-position: center;
}
.pol-hero:not(.pol-hero--home) {
	background-size: cover, 1200px auto;
	background-position: center, right -300px center;
	background-repeat: no-repeat;
}
@media (max-width: 781px) { .pol-hero:not(.pol-hero--home) { background-position: center, right -700px center; } }
.pol-hero h1 { color: var(--wp--preset--color--foam); max-width: 15ch; }
.pol-hero h1 em { font-style: normal; color: var(--wp--preset--color--signal); }
.pol-hero .pol-lead { color: var(--wp--preset--color--mist); max-width: 46ch; }

.pol-arriving {
	border: 1px solid var(--pol-line);
	border-radius: var(--pol-radius);
	background: rgba(6, 24, 42, .55);
	backdrop-filter: blur(6px);
}
.pol-arriving ul { list-style: none; margin: 0; padding: 0; }
.pol-arriving li {
	display: flex; justify-content: space-between; gap: 1rem;
	padding: .8rem 0;
	border-bottom: 1px dashed var(--pol-line);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--foam);
}
.pol-arriving li:last-child { border-bottom: 0; }
.pol-arriving li span { color: var(--wp--preset--color--lagoon); }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1.5px solid currentColor;
	background: transparent;
}
.pol-on-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--foam); }
.pol-on-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--foam); color: var(--wp--preset--color--abyss); }
.pol-on-light .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: var(--wp--preset--color--abyss); color: var(--wp--preset--color--foam); }

/* ---------- Strip ---------- */
.pol-strip p { margin: 0; }
.pol-strip { border-bottom: 1px solid var(--pol-line); }

/* ---------- Cards ---------- */
.pol-card,
.is-style-pol-card {
	background: var(--wp--preset--color--foam);
	border-radius: var(--pol-radius);
	box-shadow: var(--wp--preset--shadow--card);
	height: 100%;
	transition: transform .2s ease, box-shadow .2s ease;
	position: relative;
}
.pol-card:hover,
.is-style-pol-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(6,24,42,.08), 0 22px 40px -16px rgba(6,24,42,.28); }
.pol-card h3 a, .pol-card .wp-block-post-title a { text-decoration: none; color: inherit; }
.pol-card h3 a::after, .pol-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.pol-card .wp-block-post-excerpt__more-text { display: none; }
.pol-card--rule { border-top: 4px solid var(--wp--preset--color--lagoon); }
.pol-card--signal { border-top: 4px solid var(--wp--preset--color--signal); }

.pol-project-card { overflow: hidden; }
.pol-project-card .pol-project-art {
	height: 150px; margin: 0;
	background: var(--wp--preset--color--deep) url("../img/chart-tile.svg") center/220px no-repeat;
}
.pol-status {
	display: inline-block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
	padding: .25em .7em; border-radius: 999px;
	background: var(--wp--preset--color--lagoon-light); color: var(--wp--preset--color--deep);
}

.pol-project-card .pol-project-photo { display: block; width: 100%; height: 150px; object-fit: cover; object-position: 50% 45%; margin: 0; }

/* Project image gallery */
.pol-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--wp--preset--spacing--20); margin-block: var(--wp--preset--spacing--40); }
.pol-gallery figure { margin: 0; }
.pol-gallery img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--pol-radius); }
.pol-gallery figcaption { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--xs); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--slate); margin-top: .5rem; }
@media (max-width: 781px) { .pol-gallery { grid-template-columns: 1fr; } }

/* Equal-height columns of cards */
.pol-grid > .wp-block-column { display: flex; }
.pol-grid > .wp-block-column > * { flex: 1; }
.wp-block-post-template.is-layout-grid > li { display: flex; }
.wp-block-post-template.is-layout-grid > li > * { flex: 1; }

/* ---------- Constraints band ---------- */
.pol-constraints {
	background-color: var(--wp--preset--color--deep);
	background-image: linear-gradient(90deg, var(--pol-line) 1px, transparent 1px), linear-gradient(0deg, var(--pol-line) 1px, transparent 1px);
	background-size: 64px 64px;
}
.pol-constraint { border-top: 1px solid rgba(159,179,195,.35); padding-top: 1.1rem; }
.pol-constraint h3 { color: var(--wp--preset--color--foam); }
.pol-constraint p { color: var(--wp--preset--color--mist); }

/* ---------- Group companies ---------- */
.pol-company { border-left: 3px solid var(--wp--preset--color--lagoon); padding-left: 1.25rem; }
.pol-company--parent { border-left-color: var(--wp--preset--color--signal); }

/* ---------- Lists ---------- */
.is-style-pol-checklist { list-style: none; padding-left: 0; }
.is-style-pol-checklist li { position: relative; padding-left: 1.9em; margin-bottom: .6em; }
.is-style-pol-checklist li::before {
	content: ""; position: absolute; left: 0; top: .32em;
	width: 1.05em; height: 1.05em; border-radius: 50%;
	background: var(--wp--preset--color--lagoon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat;
}

/* ---------- Articles ---------- */
.pol-article .wp-block-post-content > h2 { margin-top: 2.1em; }
.pol-article .wp-block-post-content > h2::before {
	content: ""; display: block; width: 36px; height: 3px; margin-bottom: .8rem;
	background: var(--wp--preset--color--signal);
}
.pol-article .wp-block-post-content > ul li::marker { color: var(--wp--preset--color--lagoon); }
.pol-keyfact {
	border-radius: var(--pol-radius);
	background: var(--wp--preset--color--abyss);
	color: var(--wp--preset--color--foam);
}
.pol-keyfact p { margin: 0; }
.pol-facts { border-radius: var(--pol-radius); border: 1px solid var(--wp--preset--color--coral-sand); background: var(--wp--preset--color--foam); }
.pol-facts dl, .pol-facts p { margin: 0; }
.pol-facts strong { display:block; font-family: var(--wp--preset--font-family--mono); font-weight: 500; font-size: var(--wp--preset--font-size--xs); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--slate); }

/* ---------- Footer ---------- */
.pol-footer a { color: var(--wp--preset--color--mist); text-decoration: none; }
.pol-footer a:hover { color: var(--wp--preset--color--foam); }
.pol-footer .pol-logo img { height: 52px; width: auto; }
.pol-footer ul { list-style: none; padding: 0; margin: 0; }
.pol-footer li { margin-bottom: .5rem; }

/* Accessibility */
:where(a, button, .wp-block-button__link):focus-visible { outline: 2px solid var(--wp--preset--color--signal); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .pol-card, .is-style-pol-card { transition: none; } }
