/* October 26 client corrections. Loaded after every other theme stylesheet. */
:root {
	--hp-space: 56px;
	--hp-green: #95a7a0;
	--hp-green-dark: #60786e;
	--hp-ink: #294243;
	--hp-faces: url("/wp-content/themes/happy-people/assets/redesign-20261020/image-8a008f4451efb66672e4.svg");
}
@media (max-width: 700px) {
	:root { --hp-space: 40px; }
}

/* ---------- Header: larger logo, centre name above the two memberships ---------- */
body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex: 0 0 230px; width: 230px; }
body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 230px; }
body.hp-redesign > header.hp-client-header .hp-header-brandline {
	display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-start; gap: 7px; margin: 0;
}
body.hp-redesign > header.hp-client-header .hp-header-tagline {
	display: block; color: #4f6860; font-size: 14.5px; font-weight: 600; line-height: 1.25; letter-spacing: .01em; white-space: nowrap;
}
body.hp-redesign > header.hp-client-header .hp-header-brandline .hp-header-associations {
	flex-direction: row; align-items: center; justify-content: flex-start; gap: 16px; margin: 0;
}
body.hp-redesign > header.hp-client-header .hp-header-brandline .hp-header-hac { width: 46px; height: 47px; }
body.hp-redesign > header.hp-client-header .hp-header-brandline .hp-header-hac > img { width: 101.7px; height: 72.3px; transform: translate(-30.5px, -13.8px); }
body.hp-redesign > header.hp-client-header .hp-header-brandline img.hp-header-somatic { width: 108px; height: 47px; }
@media (min-width: 1400px) and (max-width: 1720px) {
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex-basis: 210px; width: 210px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 210px; }
	body.hp-redesign > header.hp-client-header .hp-header-tagline { max-width: 210px; white-space: normal; }
}
@media (min-width: 1101px) and (max-width: 1399px) {
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex-basis: 190px; width: 190px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 190px; }
	body.hp-redesign > header.hp-client-header .hp-header-tagline { max-width: 170px; white-space: normal; font-size: 13px; }
}
@media (max-width: 1100px) {
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex-basis: 175px; width: 175px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 175px; }
	body.hp-redesign > header.hp-client-header .hp-header-brandline { grid-column: 1 / -1; grid-row: 2; gap: 6px; margin: 0 0 2px; }
	body.hp-redesign > header.hp-client-header .hp-header-tagline { font-size: 13px; }
}

/* ---------- Footer: compact four-column layout ---------- */
html body.hp-redesign > footer#footer { padding-top: 36px; }
html body.hp-redesign > footer#footer > .footer-main {
	grid-template-columns: 230px minmax(0, 1.55fr) minmax(0, .55fr) minmax(0, 1.15fr);
	gap: 40px; align-items: start; padding-top: 0; padding-bottom: 32px;
}
html body.hp-redesign > footer#footer .brand {
	grid-column: auto; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 0;
}
html body.hp-redesign > footer#footer .hp-footer-logo { display: block; line-height: 0; }
html body.hp-redesign > footer#footer .hp-footer-logo img { display: block; width: 230px; max-width: 100%; height: auto; margin: 0; }
html body.hp-redesign > footer#footer .brand .hp-footer-socials { margin: 0; }
html body.hp-redesign > footer#footer .hp-footer-phone { color: var(--hp-ink); font-size: 14.5px; line-height: 1.4; text-decoration: none; }
html body.hp-redesign > footer#footer .hp-footer-phone:hover { color: #684e45; }
html body.hp-redesign > footer#footer .footer-main h3 { margin: 0 0 10px; line-height: 1.2; }
html body.hp-redesign > footer#footer .service-links { display: grid; grid-template-columns: 1fr; gap: 5px; }
html body.hp-redesign > footer#footer .service-links a,
html body.hp-redesign > footer#footer .footer-nav a { margin: 0; padding: 0; font-size: 14.5px; line-height: 1.35; }
html body.hp-redesign > footer#footer .subfooter { padding-top: 13px; padding-bottom: 13px; }
html body.hp-redesign > footer#footer .footer-nav { display: grid; gap: 4px; align-content: start; }
html body.hp-redesign > footer#footer .footer-nav h3 { margin-bottom: 5px; }
html body.hp-redesign > footer#footer > .footer-main > .footer-nav::before { content: none; display: none; }
html body.hp-redesign > footer#footer .hp-footer-assoc h3 { font-size: 21px; }
html body.hp-redesign > footer#footer .hp-footer-assoc .hp-footer-memberships { display: flex; flex-direction: row; align-items: flex-start; gap: 20px; margin: 0; }
html body.hp-redesign > footer#footer .hp-footer-assoc .hp-footer-membership {
	display: flex; flex-direction: column; align-items: flex-start; gap: 8px; max-width: 150px; margin: 0; padding: 0;
	color: var(--hp-ink); font-size: 12.5px; line-height: 1.4; text-decoration: none;
}
html body.hp-redesign > footer#footer .hp-footer-assoc .hp-footer-membership:hover { color: #684e45; }
html body.hp-redesign > footer#footer .hp-footer-assoc .hp-footer-logo-box { display: flex; align-items: center; justify-content: flex-start; width: auto; height: 46px; }
html body.hp-redesign > footer#footer .hp-footer-assoc .hp-footer-hac { display: block; width: 45px; height: 46px; overflow: hidden; }
html body.hp-redesign > footer#footer .hp-footer-assoc .hp-footer-hac > img { display: block; width: 99.1px; max-width: none; height: 70.5px; margin: 0; transform: translate(-29.7px, -13.5px); }
html body.hp-redesign > footer#footer .hp-footer-assoc img.hp-footer-somatic { display: block; width: 105px; height: 42px; max-width: none; margin: 0; object-fit: contain; }
@media (max-width: 1100px) {
	html body.hp-redesign > footer#footer > .footer-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px 40px; }
}
@media (max-width: 640px) {
	html body.hp-redesign > footer#footer { padding-top: 32px; }
	html body.hp-redesign > footer#footer > .footer-main { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-bottom: 24px; }
	html body.hp-redesign > footer#footer .hp-footer-logo img { width: 200px; }
	html body.hp-redesign > footer#footer .footer-nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
	html body.hp-redesign > footer#footer .footer-nav h3 { flex: 0 0 100%; margin-bottom: 4px; }
}

/* ---------- Home: pink band emphasis line ---------- */
body.hp-redesign .hp-home-message .hp-home-message-emphasis { margin: 26px 0 0; font-weight: 700; }

/* ---------- Home: testimonials as a clearly framed, compact card ---------- */
body.hp-redesign section.review {
	width: min(1000px, calc(100% - 40px)); max-width: 1000px; margin: 0 auto; padding: 38px 48px 30px;
	background: #eef2f0 none; border: 1px solid rgba(149, 167, 160, .35); border-radius: 28px;
}
body.hp-redesign section.review > .eyebrow { margin: 0; padding: 0; font-size: inherit; letter-spacing: 0; text-transform: none; text-align: center; }
body.hp-redesign section.review .hp-review-title {
	margin: 0; color: var(--hp-green-dark); font-family: invaSporos, Arial, sans-serif; font-size: 44px; font-weight: 500; line-height: 1.25; letter-spacing: normal; text-align: center; text-transform: none;
}
body.hp-redesign section.review .hp-google-reviews-summary { margin-top: 14px; }
body.hp-redesign section.review .testimonial blockquote { max-width: 780px; margin: 22px auto 14px; font-size: 19px; line-height: 1.65; }
body.hp-redesign section.review .testimonial-controls { margin-top: 16px; }
@media (max-width: 700px) {
	body.hp-redesign section.review { padding: 28px 20px 24px; border-radius: 22px; }
	body.hp-redesign section.review .hp-review-title { font-size: 36px; }
	body.hp-redesign section.review .testimonial blockquote { margin: 18px auto 12px; font-size: 17px; }
}

/* ---------- Home: one vertical rhythm between sections ---------- */
body.hp-reference-home .cream { padding: 0 0 var(--hp-space); }
html body.hp-reference-home main .cream > section#services.services { margin: 0 auto; padding-top: var(--hp-space); padding-bottom: var(--hp-space); }
body.hp-reference-home .cream > section.hp-home-message { margin: 0; padding: var(--hp-space) 0; }
body.hp-reference-home .cream > section.contact { margin-top: var(--hp-space); margin-bottom: var(--hp-space); }
body.hp-reference-home .cream > section.bio { margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: var(--hp-space); }
body.hp-reference-home .hours-band > section.hours { padding-top: var(--hp-space); padding-bottom: var(--hp-space); }

/* ---------- About: same rhythm, plus a decorative touch in the Happy People section ---------- */
body.hp-reference-about .about-story { padding-top: var(--hp-space); padding-bottom: var(--hp-space); }
body.hp-reference-about section.clinical > .chapter { padding-top: var(--hp-space); padding-bottom: var(--hp-space); }
body.hp-reference-about section.foundation { position: relative; isolation: isolate; padding-top: var(--hp-space); padding-bottom: var(--hp-space); }
body.hp-reference-about section.membership { padding-top: var(--hp-space); padding-bottom: var(--hp-space); }
body.hp-reference-about .therapy-contact-band { padding-top: var(--hp-space); padding-bottom: var(--hp-space); }
html body.hp-redesign main .therapy-contact-band { padding-top: var(--hp-space); padding-bottom: var(--hp-space); }
html body.hp-redesign main .therapy-contact-band > section#contact.contact.wrap { padding-top: 0; padding-bottom: 0; }
html body.hp-reference-individual main .service-content.wrap { padding-top: var(--hp-space); padding-bottom: var(--hp-space); }
body.hp-reference-about section.foundation::before {
	content: ""; position: absolute; z-index: -1; top: calc(var(--hp-space) - 56px); right: 0; width: 250px; aspect-ratio: 266.46 / 167.24;
	background: var(--hp-faces) no-repeat center / contain; opacity: .8; pointer-events: none;
}
body.hp-reference-about section.foundation::after {
	content: ""; position: absolute; z-index: -1; left: -46px; top: calc(var(--hp-space) + 58px); width: 210px; height: 185px;
	border-radius: 58% 42% 55% 45% / 48% 58% 42% 52%; background: #f0dfd3; opacity: .6; pointer-events: none;
}
body.hp-reference-about section.foundation .founder-logo { position: relative; }
@media (max-width: 1240px) {
	body.hp-reference-about section.foundation::after { left: -12px; }
}
@media (max-width: 700px) {
	body.hp-reference-about section.foundation::before { top: -14px; right: 0; width: 150px; opacity: .7; }
	body.hp-reference-about section.foundation::after { display: none; }
}

/* ---------- Service pages: hero watermark fully visible, same rhythm ---------- */
html body.hp-redesign .service-hero, html body.hp-redesign .site-main .service-hero, html body.hp-reference-individual .service-hero { min-height: 230px; }
body.hp-redesign .service-hero::before,
body.hp-redesign.hp-reference-individual .service-hero::before {
	content: ""; position: absolute; z-index: -1; top: 50%; left: 64%; right: auto; bottom: auto;
	width: auto; height: 290%; max-width: none; aspect-ratio: 266.46 / 167.24;
	transform: translate(-50%, -53.6%);
	background-image: var(--hp-faces); background-repeat: no-repeat; background-position: center; background-size: contain;
	opacity: .22; pointer-events: none;
}
@media (max-width: 700px) {
	html body.hp-redesign .service-hero, html body.hp-redesign .site-main .service-hero, html body.hp-reference-individual .service-hero { min-height: 190px; }
	body.hp-redesign .service-hero::before,
	body.hp-redesign.hp-reference-individual .service-hero::before { left: 50%; width: 125%; height: auto; }
}
html body.hp-redesign .site-main .service-body.container { padding-top: var(--hp-space); padding-bottom: var(--hp-space); }
html body.hp-redesign .site-main .service-body .service-contact { margin-top: var(--hp-space); }
html body.hp-redesign .site-main .service-body .service-source-links { margin-top: 28px; }

/* Titles with a colon: each phrase stays whole and moves to the next line only if needed. */
.hp-split-a, .hp-split-b { display: inline-block; max-width: 100%; }
body.hp-redesign .service-related-card :is(h2, h3) .hp-split-b { display: block; }

/* Compact bullet lists on service pages. */
body.hp-redesign .service-body .service-literal-list li { margin-bottom: 5px; line-height: 1.55; }

/* ---------- Contact page: compact, balanced layout and a smaller map ---------- */
body.hp-redesign .contact-page-layout {
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	grid-template-areas: "form details" "hours details";
	gap: 20px 24px; align-items: start;
}
html body.hp-redesign .contact-page-content .contact-page-layout { margin-top: var(--hp-space); }
body.hp-redesign .contact-page-layout > .contact-page-form { grid-area: form; }
body.hp-redesign .contact-page-layout > .contact-page-sidebar { display: contents; }
body.hp-redesign .contact-page-sidebar > .contact-page-hours { grid-area: hours; }
body.hp-redesign .contact-page-sidebar > .contact-page-details { grid-area: details; align-self: stretch; }
body.hp-redesign .contact-page-sidebar > .contact-page-details { display: flex; flex-direction: column; }
body.hp-redesign .contact-page-details .contact-page-photo { position: relative; flex: 1 1 auto; min-height: 250px; margin-bottom: 14px; overflow: hidden; }
html body.hp-redesign .contact-page-entry .contact-page-details .contact-page-photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; object-fit: cover; border-radius: 24px 24px 0 0; }
body.hp-redesign .contact-page-details > p { margin-top: 0; margin-bottom: 6px; }
body.hp-redesign .contact-page-details .contact-page-socials { margin-top: 12px; }
body.hp-redesign .contact-page-details .contact-page-socials figure { margin: 0; }
body.hp-redesign .contact-page-map { margin: var(--hp-space) 0; padding: 20px 22px 22px; }
body.hp-redesign .contact-page-map .contact-page-map-heading { margin-bottom: 14px; }
body.hp-redesign .contact-page-map iframe { height: 260px; }
@media (max-width: 900px) {
	body.hp-redesign .contact-page-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "form" "details" "hours"; }
	body.hp-redesign .contact-page-details .contact-page-photo { flex: 0 0 auto; min-height: 220px; }
	body.hp-redesign .contact-page-map iframe { height: 230px; }
}

/* ---------- Mobile: one-tap call button ---------- */
.hp-call-fab { display: none; }
@media (max-width: 900px) {
	.hp-call-fab {
		position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 9990;
		display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 999px;
		background: var(--hp-green-dark); color: #fff; font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none;
		box-shadow: 0 6px 18px rgba(41, 66, 67, .28);
	}
	.hp-call-fab:hover, .hp-call-fab:focus { color: #fff; background: var(--hp-ink); }
	.hp-call-fab:focus-visible { outline: 2px solid var(--hp-ink); outline-offset: 3px; }
	.hp-call-fab svg { flex: 0 0 auto; }
}

/* Home contact block: social icons drawn as SVG. */
body.hp-redesign .social-icons span[aria-label] svg { display: block; }


/* ---------- October 27: header without membership logos ---------- */
@media (min-width: 1101px) {
	body.hp-redesign > header.hp-client-header .hp-header-brandline { justify-content: center; min-height: 46px; padding-left: 22px; border-left: 1px solid #dde5e0; }
}
@media (min-width: 1400px) {
	body.hp-redesign > header.hp-client-header .hp-header-tagline { font-size: 15.5px; }
}

/* ---------- October 27: memberships in a floating box (bottom right), closable ---------- */
html body .hp-assoc-float {
	position: fixed; right: 20px; bottom: 20px; z-index: 9980; box-sizing: border-box; width: 272px; margin: 0; padding: 14px 16px 16px;
	background: #ffffff; border: 1px solid #dfe6e2; border-radius: 18px; box-shadow: 0 14px 34px rgba(41, 66, 67, .18);
	color: #294243; font-size: 14px; line-height: 1.4; animation: hpAssocIn .45s ease .8s both;
}
html body .hp-assoc-float[hidden] { display: none; }
@keyframes hpAssocIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { html body .hp-assoc-float { animation: none; } }
html body .hp-assoc-float .hp-assoc-title { margin: 0 36px 12px; padding: 0; text-align: center; color: #60786e; font-size: 12.5px; font-weight: 700; letter-spacing: .02em; line-height: 1.3; }
html body .hp-assoc-float .hp-assoc-close {
	position: absolute; top: 6px; right: 6px; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; min-width: 0; margin: 0; padding: 0;
	border: 0; border-radius: 50%; background: transparent; color: #294243; cursor: pointer; box-shadow: none;
}
html body .hp-assoc-float .hp-assoc-close:hover { background: #eef2f0; color: #294243; }
html body .hp-assoc-float .hp-assoc-close:focus-visible { outline: 2px solid #60786e; outline-offset: 2px; }
html body .hp-assoc-float .hp-assoc-logos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
html body .hp-assoc-float .hp-assoc-item { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 7px; margin: 0; padding: 0; color: #294243; font-size: 11.5px; font-weight: 600; line-height: 1.35; text-decoration: none; }
html body .hp-assoc-float .hp-assoc-item:hover { color: #684e45; }
html body .hp-assoc-float .hp-assoc-item:focus-visible { outline: 2px solid #60786e; outline-offset: 3px; border-radius: 6px; }
html body .hp-assoc-float .hp-assoc-logo { display: flex; align-items: center; justify-content: center; height: 47px; }
html body .hp-assoc-float .hp-assoc-hac { display: block; width: 46px; height: 47px; overflow: hidden; }
html body .hp-assoc-float .hp-assoc-hac > img { display: block; width: 101.7px; max-width: none; height: 72.3px; margin: 0; transform: translate(-30.5px, -13.8px); }
html body .hp-assoc-float img.hp-assoc-se { display: block; width: 108px; height: 44px; max-width: none; margin: 0; object-fit: contain; object-position: center; }
@media (max-width: 900px) {
	html body .hp-assoc-float { right: 16px; bottom: calc(84px + env(safe-area-inset-bottom, 0px)); width: auto; padding: 8px 46px 8px 12px; border-radius: 16px; }
	html body .hp-assoc-float .hp-assoc-title,
	html body .hp-assoc-float .hp-assoc-cap { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	html body .hp-assoc-float .hp-assoc-logos { display: flex; align-items: center; justify-content: center; gap: 14px; }
	html body .hp-assoc-float .hp-assoc-logo { height: 38px; }
	html body .hp-assoc-float .hp-assoc-hac { width: 37px; height: 38px; }
	html body .hp-assoc-float .hp-assoc-hac > img { width: 81.4px; height: 57.8px; transform: translate(-24.4px, -11px); }
	html body .hp-assoc-float img.hp-assoc-se { width: 86px; height: 36px; }
	html body .hp-assoc-float .hp-assoc-close { top: 50%; right: 4px; transform: translateY(-50%); }
}

/* ---------- October 27: footer first column centred under the logo ---------- */
html body.hp-redesign > footer#footer .brand { align-items: center; text-align: center; justify-self: start; width: max-content; max-width: 100%; }
html body.hp-redesign > footer#footer .brand .hp-footer-socials { justify-content: center; }

/* ---------- October 27b: tagline as part of the logo lockup, slightly larger logo ---------- */
body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex: 0 0 255px; width: 255px; }
body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 255px; }
body.hp-redesign > header.hp-client-header .hp-header-tagline {
	font-family: invaSporos, Arial, sans-serif; font-weight: 500; font-size: 22px; line-height: 1.12; letter-spacing: 0; color: #60786e; white-space: nowrap; max-width: none;
}
@media (min-width: 1101px) {
	body.hp-redesign > header.hp-client-header .hp-header-brandline { min-height: 0; margin-left: -10px; padding-left: 0; border-left: 0; }
	body.hp-redesign > header.hp-client-header .hp-header-tagline > span { display: block; }
	body.hp-redesign > header.hp-client-header .hp-header-tagline > span + span { padding-left: 14px; }
}
@media (min-width: 1400px) and (max-width: 1720px) {
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex-basis: 235px; width: 235px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 235px; }
	body.hp-redesign > header.hp-client-header .hp-header-tagline { font-size: 20px; max-width: none; }
}
@media (min-width: 1101px) and (max-width: 1399px) {
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex-basis: 205px; width: 205px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 205px; }
	body.hp-redesign > header.hp-client-header .hp-header-tagline { font-size: 17px; max-width: none; }
}
@media (max-width: 1100px) {
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex-basis: 190px; width: 190px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 190px; }
	body.hp-redesign > header.hp-client-header .hp-header-tagline { font-size: 17px; white-space: normal; }
}

/* ---------- October 27c: menu centred between the logo lockup and the booking button ---------- */
@media (min-width: 1101px) {
	body.hp-redesign > header.hp-client-header nav.wrap > .links { flex: 1 1 auto; margin-left: 0; }
	body.hp-redesign > header.hp-client-header nav.wrap > .links > a:first-child { margin-left: auto; }
	body.hp-redesign > header.hp-client-header nav.wrap > .links > .button { margin-left: auto; }
}
@media (min-width: 1400px) {
	body.hp-redesign > header.hp-client-header nav.wrap > .links { gap: 26px; }
}
@media (min-width: 1101px) and (max-width: 1399px) {
	body.hp-redesign > header.hp-client-header nav.wrap > .links { gap: 18px; }
}
@media (min-width: 1101px) and (max-width: 1299px) {
	body.hp-redesign > header.hp-client-header nav.wrap { gap: 12px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex-basis: 180px; width: 180px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 180px; }
	body.hp-redesign > header.hp-client-header .hp-header-tagline { font-size: 15px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .links { gap: 12px; font-size: 14.5px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .links > .button { padding: 10px 14px; font-size: 14.5px; }
}

/* ---------- October 27d: contact page header watermark positioned like the service pages ---------- */
html body.hp-redesign .site-main .contact-page-header.contact-page-header::before {
	content: ""; position: absolute; z-index: -1; top: 50%; left: 64%; right: auto; bottom: auto;
	width: auto; height: 290%; max-width: none; aspect-ratio: 266.46 / 167.24;
	transform: translate(-50%, -53.6%);
	background-image: var(--hp-faces); background-repeat: no-repeat; background-position: center; background-size: contain;
	opacity: .22; pointer-events: none;
}
@media (max-width: 700px) {
	html body.hp-redesign .site-main .contact-page-header.contact-page-header::before { left: 50%; width: 125%; height: auto; }
}

/* ---------- October 27e: Instagram-style star pattern beside the Irvin Yalom quote (Group page EL/EN) ---------- */
:is(body.page-id-55, body.page-id-76).hp-redesign .service-intro .service-quote-attribution { display: flex; align-items: center; gap: 28px; }
/* Group: the decoration next to "Irvin Yalom" moved behind the photo (October 27k) */
@media (max-width: 700px) {
	:is(body.page-id-55, body.page-id-76).hp-redesign .service-intro .service-quote-attribution::after { content: none; display: none; }
}

/* ---------- October 27f: Instagram motifs in the empty space next to / under the intro quote (LGBTQ+, Alternative, Corporate) ---------- */
:is(body.page-id-57, body.page-id-78, body.page-id-49, body.page-id-70).hp-redesign .service-intro .service-quote-attribution { display: flex; align-items: center; gap: 28px; }
:is(body.page-id-57, body.page-id-78, body.page-id-49, body.page-id-70).hp-redesign .service-intro .service-quote-attribution::after {
	content: ""; flex: 1 1 0; align-self: center; min-width: 0; height: 210px; margin: -50px 0 -130px;
	background-repeat: repeat; background-position: center;
	-webkit-mask-image: radial-gradient(closest-side, #000 55%, transparent 100%); mask-image: radial-gradient(closest-side, #000 55%, transparent 100%);
	pointer-events: none;
}
/* LGBTQ+ (post DViePc8DOjU): sparkles and small hearts */
:is(body.page-id-57, body.page-id-78).hp-redesign .service-intro .service-quote-attribution::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cpath transform='translate(18 18) rotate(15) scale(0.9)' d='M0-10Q1.3-1.3 10 0Q1.3 1.3 0 10Q-1.3 1.3-10 0Q-1.3-1.3 0-10z' fill='%23b4c2bb' stroke='%23b4c2bb' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath transform='translate(54 54)' d='M0 5.2C-4.6 2-6.4-.4-6.4-2.8c0-1.9 1.4-3.3 3.2-3.3 1.3 0 2.5.7 3.2 1.9.7-1.2 1.9-1.9 3.2-1.9 1.8 0 3.2 1.4 3.2 3.3 0 2.4-1.8 4.8-6.4 8z' fill='%23dd8e78'/%3E%3C/svg%3E"); background-size: 72px 72px; }
/* Alternative: the wave next to the author moved behind the photo (October 27k) */
/* Corporate: sober divider under the text — one small four-petal flower and a thin line (replaced the flower pattern on 27/10) */
:is(body.page-id-53, body.page-id-75).hp-redesign .service-intro::before {
	content: ""; grid-column: 1; grid-row: 3; align-self: start; justify-self: start; width: min(300px, 72%); height: 20px; margin-top: 30px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cg transform='translate(9 9) scale(.88)' fill='%239fb0a8'%3E%3Cpath transform='rotate(45)' d='M0-1.4C-3.3-3.3-4.5-7.4-2.6-9.4c1.4-1.5 3.8-1.5 5.2 0 1.9 2 .7 6.1-2.6 8z'/%3E%3Cpath transform='rotate(135)' d='M0-1.4C-3.3-3.3-4.5-7.4-2.6-9.4c1.4-1.5 3.8-1.5 5.2 0 1.9 2 .7 6.1-2.6 8z'/%3E%3Cpath transform='rotate(225)' d='M0-1.4C-3.3-3.3-4.5-7.4-2.6-9.4c1.4-1.5 3.8-1.5 5.2 0 1.9 2 .7 6.1-2.6 8z'/%3E%3Cpath transform='rotate(315)' d='M0-1.4C-3.3-3.3-4.5-7.4-2.6-9.4c1.4-1.5 3.8-1.5 5.2 0 1.9 2 .7 6.1-2.6 8z'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#a7b7b0, #a7b7b0);
	background-repeat: no-repeat, no-repeat; background-position: left center, 32px center; background-size: 20px 20px, calc(100% - 32px) 1px;
	-webkit-mask-image: linear-gradient(90deg, #000 55%, transparent 100%); mask-image: linear-gradient(90deg, #000 55%, transparent 100%);
	pointer-events: none;
}
/* Hidden where the empty space gets too small (narrow two-column) or disappears (single column) */
@media (max-width: 860px) {
	:is(body.page-id-49, body.page-id-70).hp-redesign .service-intro .service-quote-attribution::after { content: none; display: none; }
}
@media (max-width: 700px) {
	:is(body.page-id-57, body.page-id-78).hp-redesign .service-intro .service-quote-attribution::after,
	:is(body.page-id-53, body.page-id-75).hp-redesign .service-intro::before { content: none; display: none; }
}

/* ---------- October 27g: Career title — "(Έφηβοι & Ενήλικες)" stays together; the first line may use the full hero width ---------- */
html body .hp-nowrap { white-space: nowrap; }
@media (min-width: 701px) {
	html body:is(.page-id-51, .page-id-72).hp-redesign .service-hero .service-hero-content h1 { width: 100%; max-width: none; }
}
/* Tablet: the Greek title shrinks slightly so its first line still fits on one line */
@media (min-width: 701px) and (max-width: 899px) {
	html body.page-id-51.hp-redesign .service-hero .service-hero-content h1 { font-size: min(34px, calc((100vw - 79px) / 22)); }
}

/* ---------- October 27h (1/2): intro text centred next to the photo (service pages) ---------- */
@media (min-width: 701px) {
	html body.hp-redesign.hp-adapted .site-main .service-intro { grid-template-rows: 1fr auto auto 1fr; row-gap: 0; }
	html body.hp-redesign.hp-adapted .site-main .service-intro > .service-inline-image { grid-column: 2; grid-row: 1 / -1; align-self: center; }
	html body.hp-redesign.hp-adapted .site-main .service-intro > p:not(.service-quote-attribution) { grid-column: 1; grid-row: 2; align-self: end; }
	html body.hp-redesign.hp-adapted .site-main .service-intro > .service-quote-attribution { grid-column: 1; grid-row: 3; align-self: start; margin-top: 28px; }
	html body.hp-redesign.hp-reference-individual .service-intro { align-items: center; }
	html body.hp-redesign .site-main .client-corporate-workshop { align-items: center; }
}

/* ---------- October 27h (2/2): service photos in Instagram shapes ----------
   Switch: body classes hp-photo-shape + hp-shape-NAME come from inc/client-corrections-20261026.php (October 27h).
   Remove a page from that list (or set HP_PHOTO_SHAPES_20261027 to false) and the normal rounded photo returns. */
html body.hp-photo-shape .service-intro::after { content: none; display: none; }
html body.hp-photo-shape .site-main .service-intro .service-inline-image { box-sizing: border-box; aspect-ratio: 1 / 1; height: auto; margin: 0; padding: 0; background: none; border-radius: 0; box-shadow: none; }
html body.hp-photo-shape .site-main .service-intro .service-inline-image img, html body.hp-photo-shape.hp-reference-individual .service-intro > img {
	display: block; width: 100%; height: 100%; max-width: none; aspect-ratio: auto; margin: 0; border-radius: 0; box-shadow: none; object-fit: cover; object-position: center;
	-webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center;
}
html body.hp-photo-shape.hp-reference-individual .service-intro > img { aspect-ratio: 1 / 1; height: auto; }
html body.hp-photo-shape.hp-shape-pill .site-main .service-intro .service-inline-image { aspect-ratio: 3 / 4; width: 78%; justify-self: center; }
html body.hp-shape-flower .site-main .service-intro .service-inline-image img,
html body.hp-shape-flower .service-intro > img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Ccircle cx='50' cy='28.5' r='28.5'/%3E%3Ccircle cx='50' cy='71.5' r='28.5'/%3E%3Ccircle cx='28.5' cy='50' r='28.5'/%3E%3Ccircle cx='71.5' cy='50' r='28.5'/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Ccircle cx='50' cy='28.5' r='28.5'/%3E%3Ccircle cx='50' cy='71.5' r='28.5'/%3E%3Ccircle cx='28.5' cy='50' r='28.5'/%3E%3Ccircle cx='71.5' cy='50' r='28.5'/%3E%3C/g%3E%3C/svg%3E"); }
html body.hp-shape-butterfly .site-main .service-intro .service-inline-image img,
html body.hp-shape-butterfly .service-intro > img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cellipse cx='30' cy='30' rx='32' ry='25' transform='rotate(45 30 30)'/%3E%3Cellipse cx='70' cy='30' rx='32' ry='25' transform='rotate(-45 70 30)'/%3E%3Cellipse cx='30' cy='70' rx='32' ry='25' transform='rotate(-45 30 70)'/%3E%3Cellipse cx='70' cy='70' rx='32' ry='25' transform='rotate(45 70 70)'/%3E%3Ccircle cx='50' cy='50' r='16'/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cellipse cx='30' cy='30' rx='32' ry='25' transform='rotate(45 30 30)'/%3E%3Cellipse cx='70' cy='30' rx='32' ry='25' transform='rotate(-45 70 30)'/%3E%3Cellipse cx='30' cy='70' rx='32' ry='25' transform='rotate(-45 30 70)'/%3E%3Cellipse cx='70' cy='70' rx='32' ry='25' transform='rotate(45 70 70)'/%3E%3Ccircle cx='50' cy='50' r='16'/%3E%3C/g%3E%3C/svg%3E"); }
html body.hp-shape-heart .site-main .service-intro .service-inline-image img,
html body.hp-shape-heart .service-intro > img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cpath d='M0 0H34C43 0 50 7 50 18C50 7 57 0 66 0H100V50A50 50 0 0 1 0 50Z'/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cpath d='M0 0H34C43 0 50 7 50 18C50 7 57 0 66 0H100V50A50 50 0 0 1 0 50Z'/%3E%3C/g%3E%3C/svg%3E"); }
html body.hp-shape-arch .site-main .service-intro .service-inline-image img,
html body.hp-shape-arch .service-intro > img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cpath d='M0 50A50 50 0 0 1 100 50V96Q100 100 96 100H4Q0 100 0 96Z'/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cpath d='M0 50A50 50 0 0 1 100 50V96Q100 100 96 100H4Q0 100 0 96Z'/%3E%3C/g%3E%3C/svg%3E"); }
html body.hp-shape-circle .site-main .service-intro .service-inline-image img,
html body.hp-shape-circle .service-intro > img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Ccircle cx='50' cy='50' r='50'/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Ccircle cx='50' cy='50' r='50'/%3E%3C/g%3E%3C/svg%3E"); }
html body.hp-shape-pill .site-main .service-intro .service-inline-image img,
html body.hp-shape-pill .service-intro > img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Crect x='0' y='0' width='100' height='100' rx='50' ry='37.5'/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Crect x='0' y='0' width='100' height='100' rx='50' ry='37.5'/%3E%3C/g%3E%3C/svg%3E"); }
html body.hp-shape-cup .site-main .service-intro .service-inline-image img,
html body.hp-shape-cup .service-intro > img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cpath d='M0 8Q0 0 8 0H92Q100 0 100 8V50A50 50 0 0 1 0 50Z'/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cpath d='M0 8Q0 0 8 0H92Q100 0 100 8V50A50 50 0 0 1 0 50Z'/%3E%3C/g%3E%3C/svg%3E"); }
html body.hp-shape-pillow .site-main .service-intro .service-inline-image img,
html body.hp-shape-pillow .service-intro > img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cpath d='M10 4Q50 -3 90 4Q100 6 100 16V84Q100 94 90 96Q50 103 10 96Q0 94 0 84V16Q0 6 10 4Z'/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cpath d='M10 4Q50 -3 90 4Q100 6 100 16V84Q100 94 90 96Q50 103 10 96Q0 94 0 84V16Q0 6 10 4Z'/%3E%3C/g%3E%3C/svg%3E"); }
/* Framing of each photo inside its shape */
html body.hp-shape-flower .site-main .service-intro .service-inline-image img { object-position: 66% center; }

/* ---------- October 27h (2/2) addition: Mind-Body-Soul (oval, post SelfCare) and Reiki (convex frame, post Trauma Therapy for Deep Healing) ---------- */
html body.hp-photo-shape:is(.hp-shape-oval, .hp-shape-tv) .site-main .service-intro .service-inline-image { aspect-ratio: 4 / 5; width: 82%; justify-self: center; }
html body.hp-shape-oval .site-main .service-intro .service-inline-image img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cellipse cx='50' cy='50' rx='50' ry='50'/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cellipse cx='50' cy='50' rx='50' ry='50'/%3E%3C/g%3E%3C/svg%3E"); }
html body.hp-shape-tv .site-main .service-intro .service-inline-image img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cpath d='M14 2Q50 -1 86 2Q98 3 99 15Q102 50 99 85Q98 97 86 98Q50 101 14 98Q2 97 1 85Q-2 50 1 15Q2 3 14 2Z'/%3E%3C/g%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cg fill='%23000'%3E%3Cpath d='M14 2Q50 -1 86 2Q98 3 99 15Q102 50 99 85Q98 97 86 98Q50 101 14 98Q2 97 1 85Q-2 50 1 15Q2 3 14 2Z'/%3E%3C/g%3E%3C/svg%3E"); }
html body.hp-shape-tv .site-main .service-intro .service-inline-image img { object-position: 8% center; }

/* ---------- October 27j: header — bigger logo, tagline further right; sizes scale smoothly with the screen so the menu never wraps (1101px and up) ---------- */
@media (min-width: 1101px) {
	body.hp-redesign > header.hp-client-header nav.wrap { gap: clamp(10px, calc(1.5vw - 6px), 24px); }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex: 0 0 clamp(184px, calc(10vw + 88px), 280px); flex-basis: clamp(184px, calc(10vw + 88px), 280px); width: clamp(184px, calc(10vw + 88px), 280px); }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: clamp(184px, calc(10vw + 88px), 280px); }
	body.hp-redesign > header.hp-client-header .hp-header-brandline { margin-left: 8px; }
	body.hp-redesign > header.hp-client-header .hp-header-tagline { font-size: clamp(14px, calc(0.83vw + 6px), 22px); }
	body.hp-redesign > header.hp-client-header nav.wrap > .links { gap: clamp(10px, calc(2vw - 12px), 26px); font-size: clamp(14px, calc(0.21vw + 12px), 16px); }
	body.hp-redesign > header.hp-client-header nav.wrap > .links > .button { font-size: clamp(14px, calc(0.21vw + 12px), 16px); padding: clamp(9px, calc(0.3vw + 6px), 12px) clamp(13px, calc(0.9vw + 4px), 22px); }
}

@media (min-width: 1101px) and (max-width: 1199px) {
	body.hp-redesign > header.hp-client-header nav.wrap { gap: 10px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex-basis: calc(38.38vw - 252.6px); width: calc(38.38vw - 252.6px); }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: calc(38.38vw - 252.6px); }
	body.hp-redesign > header.hp-client-header .hp-header-tagline { font-size: 15px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .links { gap: 9px; }
}
@media (max-width: 1100px) {
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { flex-basis: 204px; width: 204px; }
	body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 204px; }
}

/* ---------- October 27k: bold Instagram decorations behind the photo (Alternative, Online, Group) ---------- */
:is(body.page-id-49, body.page-id-70, body.page-id-59, body.page-id-80, body.page-id-55, body.page-id-76).hp-redesign .site-main { overflow-x: clip; }
:is(body.page-id-49, body.page-id-70, body.page-id-59, body.page-id-80, body.page-id-55, body.page-id-76).hp-redesign .site-main .service-intro .service-inline-image { position: relative; isolation: isolate; overflow: visible; }
:is(body.page-id-49, body.page-id-70, body.page-id-59, body.page-id-80, body.page-id-55, body.page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before {
	content: ""; position: absolute; z-index: -1; left: -9%; right: -30%; top: -12%; bottom: -12%; transform: none; aspect-ratio: auto;
	background-repeat: no-repeat; background-position: center; background-size: 100% 100%; -webkit-mask-image: none; mask-image: none; pointer-events: none;
}
/* the small decorations next to the quote author are replaced by these */
:is(body.page-id-49, body.page-id-70, body.page-id-55, body.page-id-76).hp-redesign .service-intro .service-quote-attribution::after { content: none; display: none; }
:is(body.page-id-49, body.page-id-70).hp-redesign .site-main .service-intro .service-inline-image::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1390' height='1240' viewBox='0 0 1390 1240' preserveAspectRatio='none'%3E%3Cpath d='M70 470C150 470 220 540 320 640S860 900 1150 860C1290 840 1300 610 1220 480C1160 380 1190 250 1310 190' fill='none' stroke='%23e8cfc9' stroke-width='120' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
:is(body.page-id-59, body.page-id-80).hp-redesign .site-main .service-intro .service-inline-image::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1390' height='1240' viewBox='0 0 1390 1240' preserveAspectRatio='none'%3E%3Cpath d='M75 420C120 330 200 210 340 210S600 400 760 330S960 120 1120 160C1240 190 1280 280 1310 300' fill='none' stroke='%23efd9d3' stroke-width='130' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
:is(body.page-id-55, body.page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1390' height='1240' viewBox='0 0 1390 1240' preserveAspectRatio='none'%3E%3Cpath d='M1335 200C1220 230 1010 200 1000 110C990 40 1150 30 1190 95C1240 180 1180 330 1120 480C1060 640 1010 800 1060 930C1110 1050 1250 1090 1330 1040' fill='none' stroke='%23b4c2bb' stroke-width='56' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
@media (max-width: 700px) {
	:is(body.page-id-49, body.page-id-70, body.page-id-59, body.page-id-80, body.page-id-55, body.page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { left: -6%; right: -6%; top: -8%; bottom: -8%; }
}

/* ---------- October 27l: Group — the looped line (post DVt5RupDLP7) sits under the text, large and bold (not behind the photo) ---------- */
:is(body.page-id-55, body.page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { content: none; display: none; }
:is(body.page-id-55, body.page-id-76).hp-redesign .site-main .service-intro .service-quote-attribution { display: block; }
:is(body.page-id-55, body.page-id-76).hp-redesign .site-main .service-intro .service-quote-attribution::after {
	content: ""; display: block; flex: none; width: min(460px, 100%); min-width: 0; max-width: none; height: auto; aspect-ratio: 400 / 160; margin: 26px 0 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='160' viewBox='0 0 400 160'%3E%3Cpath d='M12 122C72 122 112 100 142 72C172 44 178 14 152 12C126 10 120 52 146 82C178 118 238 134 292 108C332 88 352 54 388 52' fill='none' stroke='%239fb2a9' stroke-width='17' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") left center / contain no-repeat; -webkit-mask-image: none; mask-image: none; pointer-events: none;
}
@media (max-width: 700px) {
	:is(body.page-id-55, body.page-id-76).hp-redesign .site-main .service-intro .service-quote-attribution::after { width: min(300px, 86%); margin-top: 18px; }
}

/* Ομαδική: κύκλοι αντί για γραμμή (27 Οκτ 2026).
   Τρεις απαλοί κύκλοι που επικαλύπτονται (μέλη της ομάδας) σε sage, ροζ και
   ροδακινί, με αστεράκια και καρδούλα, στο ύφος του Instagram @happypeoplewbc. */
:is(body.page-id-55, body.page-id-76).hp-redesign .site-main .service-intro .service-quote-attribution::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='160' viewBox='0 0 400 160'%3E%3Cpath d='M118 34c25-6 52 6 58 32 7 28-10 58-40 62-29 4-55-14-58-41-3-25 14-47 40-53z' fill='%23e9c3b8' fill-opacity='.75'/%3E%3Cpath d='M196 26c29-4 55 16 56 45 1 30-23 56-54 55-29-1-50-24-49-52 1-25 21-45 47-48z' fill='%2395a7a0' fill-opacity='.55'/%3E%3Cpath d='M270 44c24-3 46 14 47 38 1 25-19 46-45 46-25 0-43-19-43-42 0-21 17-39 41-42z' fill='%23dd8e78' fill-opacity='.45'/%3E%3Cg fill='%2395a7a0'%3E%3Cpath transform='translate(352 40)' d='M0-11Q1.4-1.4 11 0Q1.4 1.4 0 11Q-1.4 1.4-11 0Q-1.4-1.4 0-11z'/%3E%3Cpath transform='translate(60 130) scale(.6)' d='M0-11Q1.4-1.4 11 0Q1.4 1.4 0 11Q-1.4 1.4-11 0Q-1.4-1.4 0-11z'/%3E%3Cpath transform='translate(334 128) scale(.45)' d='M0-11Q1.4-1.4 11 0Q1.4 1.4 0 11Q-1.4 1.4-11 0Q-1.4-1.4 0-11z'/%3E%3C/g%3E%3Cpath transform='translate(214 18) scale(.9)' d='M0 5.2C-4.6 2-6.4-.4-6.4-2.8c0-1.9 1.4-3.3 3.2-3.3 1.3 0 2.5.7 3.2 1.9.7-1.2 1.9-1.9 3.2-1.9 1.8 0 3.2 1.4 3.2 3.3 0 2.4-1.8 4.8-6.4 8z' fill='%23dd8e78'/%3E%3C/svg%3E");
}

/* ---------- October 29: mobile header — language flags next to the menu button (removed from the menu); faces in the mobile testimonials band ---------- */
html body.hp-redesign > header.hp-client-header nav.wrap > .hp-lang-bar { display: none; }
@media (max-width: 1100px) {
	html body.hp-redesign > header.hp-client-header nav.wrap { grid-template-columns: minmax(0, 1fr) auto 44px; column-gap: 10px; }
	html body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo { grid-column: 1; grid-row: 1; flex-basis: auto; width: min(204px, 100%); }
	html body.hp-redesign > header.hp-client-header nav.wrap > .hp-primary-logo > img { width: 100%; height: auto; }
	html body.hp-redesign > header.hp-client-header nav.wrap > .hp-lang-bar { display: flex; grid-column: 2; grid-row: 1; align-items: center; justify-self: end; gap: 6px; margin: 0; padding: 0; }
	html body.hp-redesign > header.hp-client-header nav.wrap > .hp-lang-bar > button { width: 40px; height: 40px; min-width: 0; padding: 6px; border-radius: 11px; }
	html body.hp-redesign > header.hp-client-header nav.wrap > .hp-lang-bar > button > img { width: 24px; height: auto; }
	html body.hp-redesign > header.hp-client-header nav.wrap > .hp-mobile-toggle { grid-column: 3; grid-row: 1; }
	html body.hp-redesign > header.hp-client-header #hp-main-navigation .language-switch:not(.hp-lang-bar) { display: none; }
}
@media (max-width: 700px) {
	html body.hp-redesign .review .hp-google-reviews-summary::after {
		content: ""; display: block; width: 180px; max-width: 62%; aspect-ratio: 266.46 / 167.24; margin: 20px auto 0; align-self: center; justify-self: center;
		background-color: #60786e; -webkit-mask: var(--hp-faces) center / contain no-repeat; mask: var(--hp-faces) center / contain no-repeat;
		pointer-events: none;
	}
}

/* ---------- October 29b: mobile testimonials — the box follows the length of the review shown (no fixed height, no big empty space) ---------- */
@media (max-width: 700px) {
	html body.hp-redesign .review .testimonial-stage { min-height: 0 !important; height: auto; }
	html body.hp-redesign .review .testimonial-stage > .testimonial { min-height: 0; justify-content: flex-start; }
	html body.hp-redesign .review .testimonial-stage > .testimonial > blockquote { margin-top: 22px; }
	html body.hp-redesign .review .testimonial-controls { margin-top: 22px; }
}

/* ---------- October 29c: home, mobile — the tree sits right after the first intro paragraph, then the text continues ---------- */
@media (max-width: 700px) {
	html body.hp-redesign section.hero.wrap { row-gap: 0; }
	html body.hp-redesign section.hero.wrap > div:first-child, html body.hp-redesign section.hero.wrap > div:first-child > .hp-home-intro { display: contents; }
	html body.hp-redesign section.hero.wrap > div:first-child > h1 { order: 1; }
	html body.hp-redesign section.hero.wrap > div:first-child > .hp-home-intro > p { order: 4; }
	html body.hp-redesign section.hero.wrap > div:first-child > .hp-home-intro > p:first-child { order: 2; }
	html body.hp-redesign section.hero.wrap > .hero-tree { order: 3; margin: 10px 0 28px; }
	html body.hp-redesign section.hero.wrap > div:first-child > .hp-home-signature { order: 5; }
	html body.hp-redesign section.hero.wrap > div:first-child > .actions { order: 6; }
}

/* ---------- October 29d: designer vectors on the service pages (replace our decorations), spinning in place while hovered ----------
   Online = light blue lobes, Alternative = peach star, Corporate = sage cross, Group = pink star-flower, Individual = leaf.
   They sit at the top right of the photo, half behind it; hovering the photo or the vector spins it (ease-in-out, pauses where it is). */
@keyframes hp-vector-spin { from { rotate: 0deg; } to { rotate: 360deg; } }
html body:is(.page-id-59, .page-id-80, .page-id-49, .page-id-70, .page-id-53, .page-id-75, .page-id-55, .page-id-76).hp-redesign main, html body:is(.page-id-56, .page-id-77).hp-redesign main { overflow-x: clip; }
html body:is(.page-id-59, .page-id-80, .page-id-49, .page-id-70, .page-id-53, .page-id-75, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image { position: relative; isolation: isolate; overflow: visible; }
html body:is(.page-id-59, .page-id-80, .page-id-49, .page-id-70, .page-id-53, .page-id-75, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before {
	content: ""; display: block; position: absolute; z-index: -1; top: -9%; right: -11%; bottom: auto; left: auto; width: 40%; height: auto; aspect-ratio: 1 / 1; transform: none;
	background-color: transparent; background-repeat: no-repeat; background-position: center; background-size: contain; -webkit-mask-image: none; mask-image: none;
	transform-origin: 50% 50%; animation: hp-vector-spin 6s ease-in-out infinite paused; pointer-events: auto;
}
html body:is(.page-id-59, .page-id-80, .page-id-49, .page-id-70, .page-id-53, .page-id-75, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image:hover::before { animation-play-state: running; }
html body:is(.page-id-59, .page-id-80).hp-redesign .site-main .service-intro .service-inline-image::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3E%3Cpath fill='%23f3e6df' d='M374.91,294.57c-8.75-8.75-34.39-32.83-62.12-44.42,27.73-11.59,53.37-35.67,62.12-44.42,38.64-38.64,69.11-90.75,38.74-121.11-8.74-8.74-28.89-20.68-65.64-2.67-17.79,8.72-37.49,23.43-55.47,41.41-8.75,8.75-32.83,34.38-44.42,62.12-11.59-27.73-35.67-53.37-44.42-62.12-38.64-38.64-90.75-69.1-121.11-38.74-8.73,8.74-20.7,28.88-2.67,65.64,8.72,17.79,23.43,37.49,41.41,55.47,8.75,8.75,34.4,32.84,62.13,44.42-27.54,11.48-52.95,35.23-62.13,44.41-17.98,17.98-32.69,37.68-41.41,55.47-18.02,36.76-6.06,56.9,2.67,65.64,8.74,8.74,28.88,20.7,65.64,2.67,17.79-8.72,37.49-23.43,55.47-41.41,9.19-9.18,32.94-34.59,44.41-62.13,11.59,27.74,35.67,53.38,44.42,62.13,17.98,17.98,37.68,32.69,55.48,41.41,14,6.87,25.59,9.38,35.06,9.38,15.39,0,25.17-6.65,30.58-12.06,30.35-30.37-.11-82.47-38.75-121.11,0,0,0,0,0,0Z'/%3E%3C/svg%3E"); }
html body:is(.page-id-49, .page-id-70).hp-redesign .site-main .service-intro .service-inline-image::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3E%3Cpath fill='%23f6e2d4' d='M293.98,198.3l149.98,40.88c11.02,3,11.02,18.63,0,21.63l-149.98,40.88-40.88,149.98c-3,11.02-18.63,11.02-21.63,0l-40.88-149.98-149.98-40.88c-11.02-3-11.02-18.63,0-21.63l149.98-40.88,40.88-149.98c3-11.02,18.63-11.02,21.63,0l40.88,149.98Z'/%3E%3C/svg%3E"); }
html body:is(.page-id-53, .page-id-75).hp-redesign .site-main .service-intro .service-inline-image::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3E%3Cpath fill='%23c6d0ce' d='M365.58,261.68c54.64-69.74,78.69-134.99,54.44-159.23-24.25-24.25-89.49-.2-159.24,54.44-69.74-54.64-134.99-78.69-159.23-54.44-24.24,24.25-.2,89.49,54.44,159.23-54.64,69.74-78.69,134.99-54.44,159.24,24.25,24.24,89.49.2,159.24-54.44,69.74,54.64,134.99,78.69,159.24,54.45,24.25-24.25.2-89.49-54.44-159.24Z'/%3E%3C/svg%3E"); }
html body:is(.page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3E%3Cpath fill='%23f3e5ef' d='M304.2,270.3c-18.28,1.03-32.87,15.62-33.9,33.9-.6,10.74-9.52,19.15-20.3,19.15s-19.7-8.41-20.3-19.14c-1.03-18.28-15.62-32.87-33.9-33.9-10.74-.6-19.14-9.52-19.14-20.3s8.41-19.69,19.15-20.3c18.28-1.03,32.86-15.62,33.89-33.9.61-10.74,9.52-19.15,20.3-19.15s19.69,8.41,20.3,19.15c1.03,18.28,15.62,32.86,33.9,33.9,10.74.6,19.15,9.52,19.15,20.3s-8.41,19.69-19.14,20.3ZM365.63,134.37c-15.26-49.63-61.5-85.34-115.63-85.34s-100.37,35.72-115.64,85.34c-49.62,15.26-85.34,61.5-85.34,115.63s35.72,100.37,85.34,115.63c15.27,49.62,61.51,85.34,115.64,85.34s100.36-35.72,115.63-85.34c49.62-15.26,85.34-61.5,85.34-115.63s-35.72-100.37-85.34-115.63Z'/%3E%3C/svg%3E"); }
/* Group: the looped line under the quote is replaced by the vector; Corporate: the divider under the text is removed */
html body:is(.page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-quote-attribution::after { content: none; display: none; }
html body:is(.page-id-53, .page-id-75).hp-redesign .site-main .service-intro::before { content: none; display: none; }
/* Individual (different layout: the photo is an <img> in the intro grid) */
html body:is(.page-id-56, .page-id-77).hp-redesign .service-intro { isolation: isolate; }
html body:is(.page-id-56, .page-id-77).hp-redesign .service-intro > div { grid-column: 1; grid-row: 1; }
html body:is(.page-id-56, .page-id-77).hp-redesign .service-intro > img { grid-column: 2; grid-row: 1; }
html body:is(.page-id-56, .page-id-77).hp-redesign .service-intro::after {
	content: ""; display: block; position: relative; z-index: -1; inset: auto; grid-column: 2; grid-row: 1; justify-self: end; align-self: center; width: 40%; height: auto; aspect-ratio: 1 / 1;
	margin: 0; border-radius: 0; opacity: 1; translate: 52% -96%; transform: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3E%3Cpath fill='%23d5d6c1' d='M228.47,217.89c1.97,2.59,3.25,6.68,4.5,10.64.28.88,3.45,8.22,4.23,9.66.6,4.35,1.44,8.69,2.46,12.9.4,1.65,1.13,3.19,1.85,4.73.81,1.71,1.61,3.41,1.95,5.25.22,1.16.55,2.56.95,3.93-.3-.29-.59-.57-.88-.83-6.6-5.87-11.06-15.79-16.29-22.68-3.05-4.01-6.11-8.03-8.94-12.21-1.78-2.62-3.9-5.22-6.06-7.85-5.37-6.55-10.95-13.36-11.96-21.52-.72-5.81-.95-11.72-.96-17.57-.01-5.88-.06-10.95-3.35-16.06-5.68-8.83-13.12-13.53-23.52-15.31-5.12-.88-10.33-1.47-15.51-2.06-1.62-.18-3.24-.37-4.85-.56-1.76-.21-2.63-.7-3.94-1.43,0,0-.15-.09-.25-.14-5.78-3.13-.21,10.49.93,16.8.58,3.23,1.16,6.45,1.41,9.37.15,1.81.28,3.63.41,5.44.21,2.98.42,5.97.74,8.94.58,5.37,3.18,9.37,6.16,13.75,2.1,3.09,4.49,5.85,7.8,7.7,1.48.83,3.04,1.46,4.6,2.08,1.7.68,3.41,1.37,5.03,2.32.56.33,1.12.65,1.67.98,5.4,3.15,10.42,6.08,14.21,11.39,2.36,3.3,3.21,7.24,4.06,11.16.49,2.27.98,4.54,1.77,6.68,1.07,2.92,2.18,5.9,3.67,8.63,6.3,11.5,25.88,16.41,36.89,17.91.14.02.4.06.72.12,1.93.34,6.58,1.15,8.32.34.1.83.1,1.75.09,2.59,0,.61,0,1.17.03,1.64l.99,12.57c.24,3.08.25,6.14.25,9.2,0,3.05,0,6.09.25,9.13.46,5.85,1.15,11.64,1.84,17.44.06.54.13,1.08.19,1.61-3.9-6.28-9.57-11.14-16.7-13.3-1.13-.34-2.28-.6-3.42-.86-3.87-.88-7.57-1.72-9.68-5.54-.43-.78-.87-1.57-1.3-2.37-2.93-5.33-5.93-10.8-9.45-15.69-5.12-7.12-20.47-10.02-27.31-14.12-2.5-1.5-4.96-3.16-7.42-4.81-3.98-2.68-7.97-5.36-12.18-7.44-.15-.07-.48-.26-.91-.5-1.89-1.06-5.83-3.27-6.52-2.85-1.74,1.05,1.13,15.69,1.28,17.64.62,7.9,1.22,15.64,6.22,22.18,4.24,5.54,9.19,6.1,15.67,5.65,6.56-.46,14.9-.8,19.42,4.94,2.13,2.71,2.88,6.25,3.62,9.74.46,2.15.91,4.28,1.67,6.19,2.05,5.12,5.71,9.62,9.22,13.95.62.76,1.23,1.51,1.83,2.26,4.4,5.52,9.62,10.1,15.77,13.62,3.74,2.14,20.36,5.83,25.57,4.01,1.18,3.38,2.09,6.78,3,10.21.37,1.39.74,2.78,1.13,4.18,1.4,5.01,3.15,9.87,4.91,14.71-.93-.79-2-1.53-3.25-2.22-2.45-1.35-4.81-2.84-7.17-4.34-3.87-2.46-7.74-4.91-11.97-6.7-7.94-3.35-18.57-6-27.19-6.18-2.37-.05-4.74-.1-7.15-.54-4.16-.75-7.05-4.36-9.67-7.62-.6-.75-1.19-1.49-1.78-2.16-4.71-5.43-10.65-7.3-17.47-9.03-8.81-2.24-17.99-3.5-26.58.47-2.2,1.02-7.99,2.24-6.38,5.74.81,1.75,9.01,1.03,13.77,3.06,5.66,2.41,10.16,6.88,14.46,11.14l.11.1c.38.37.77.75,1.16,1.13,1.97,1.92,4.03,3.93,5.59,6.13,1.2,1.69,2.22,3.5,3.25,5.32.99,1.75,1.98,3.51,3.13,5.16,5.43,7.76,12.01,13.78,21.17,16.59,4.82,1.48,9.52,1.32,14.32,1.16,1.88-.06,3.78-.13,5.7-.09,2.73.05,5.44-.18,8.16-.42,1.71-.14,3.42-.29,5.13-.37,9.29-.41,22.81,3.42,30.27,7.38.79,5.04,2.12,13.23,3.49,21.72,2.41,14.94,4.97,30.81,5.07,32.12.29,3.7,8.23,2.81,10.28.8,1.49-1.46-6.47-50.45-8.34-59.4,1.78-.67,3.6-1.29,5.42-1.9,4.04-1.37,8.12-2.75,11.93-4.81,3.58-1.94,5.24-4.04,7.04-7.62.86-1.72,1.29-3.56,1.71-5.4.38-1.66.77-3.32,1.47-4.89,2.08-4.65,5.17-8.11,8.4-11.73,1.02-1.14,2.05-2.3,3.07-3.51,4.61-5.49,7.53-11.96,9.02-18.96,1.17-5.52.04-11.62-1.02-17.34-.27-1.47-.54-2.91-.76-4.31-.53-3.36-1.22-6.68-1.91-10-.94-4.52-1.88-9.03-2.42-13.62l-.05-.43c-.84-7.18-1.73-14.85-3.57-21.83-.25-.96-.69-1.91-1.13-2.84-.25-.54-.5-1.07-.71-1.6-1.39-1-3.05,1.79-4.8,4.73-1.12,1.89-2.28,3.83-3.43,4.89-4.17,3.82-9.03,8.37-10.34,14.11-.67,2.94-.53,6.15-.4,9.37.17,3.94.34,7.88-.98,11.31-2.34,6.1-5.16,12.24-9.09,17.42-3.45,4.56-5.66,9.51-7.91,14.52-1,2.23-2,4.48-3.12,6.7-3.38,6.71-6.31,13.69-6.41,21.3-.44-1.14-.86-2.28-1.25-3.43-1.36-4.12-2.37-8.25-3.38-12.41-.52-2.16-1.05-4.32-1.63-6.49-3.35-12.56-5.92-24.67-6.94-37.66-.42-5.35-.9-10.63-1.6-15.92,1.1-.18,2.41-.3,3.53-.4,1.2-.11,2.18-.2,2.47-.32,2.56-1.01,5.3-4.29,7.29-6.13,5.01-4.63,9.76-9.02,13.24-15.24,3.05-5.46,3.94-11.44,4.84-17.45.22-1.47.44-2.95.69-4.42,1.34-7.84,6.25-15.45,12.48-20.32,7.87-6.15,14.24-12.5,17.77-22.09,1.29-3.49.79-7.67.33-11.48-.11-.89-.21-1.76-.29-2.6-.32-3.39-1.3-6.81-2.26-10.18-.44-1.52-.87-3.02-1.23-4.51-3.12-12.66-5.11-25.49-6.87-38.41-.49-6.22-4.13-6.17-3.8-1.89l-.12.31c-3.15,7.78-6.36,15.69-13.51,20.63-7.08,4.9-12.4,9.4-15.21,17.85-1.08,3.27-1.41,6.33-1.14,9.74.29,3.64-.58,7.03-1.55,10.52-.92,3.32-1.62,6.81-2.31,10.32-1.36,6.84-2.74,13.77-5.86,19.78-2.23,4.31-3.88,8.83-5.52,13.36-.88,2.41-1.75,4.82-2.72,7.2-1.98,4.88-3.49,9.74-4.97,14.78-.34,1.16-.59,2.3-.77,3.43-.14-.99-.31-1.98-.57-2.94-.17-.62-.36-1.23-.54-1.83-.51-1.68-1.01-3.33-1.16-5.15-.22-2.81-.92-5.48-1.62-8.17-.43-1.66-.87-3.33-1.19-5.04-.94-4.93-2.29-9.71-3.79-14.47-.46-1.45-.82-3.01-1.11-4.61.85-1.24,2.06-2.3,3.27-3.35.92-.81,1.84-1.61,2.59-2.49.46-.54.94-1.07,1.41-1.6,2.06-2.32,4.08-4.59,5.17-7.62.54-1.51,1.16-2.94,1.78-4.37,1.09-2.51,2.16-4.99,2.77-7.8.79-3.64.94-7.06,1.11-10.62.05-1.04.09-2.09.16-3.16.34-5.74-.07-11.37-.48-17-.3-4.04-.59-8.09-.61-12.19-.01-3.07.72-6.21,1.43-9.31.35-1.5.7-3,.95-4.46.75-4.29,2.28-8.33,3.99-12.3.54-1.26,1.27-2.43,2-3.59.57-.92,1.14-1.83,1.62-2.79.99-1.98,1.42-4.15,1.84-6.31.14-.69.27-1.38.42-2.06,1.27-5.65.65-11.97.06-17.95-.15-1.51-.3-2.99-.41-4.44-.62-7.96-4.03-16-7.26-23.35-.8-1.83-1.61-3.65-2.23-5.55-3.21-9.74-3.11-24.76-2.7-34.12.06-1.45.2-2.89.34-4.34-.37-4.75.23-8.42-1.48-10.14-3.6,1.36-10.41,13.13-13.76,19.29-2.89,5.31-5.42,11.04-6.38,17.03-.48,3.02-.06,6.27.35,9.47.24,1.86.48,3.71.54,5.48.17,5.34-1.68,10.78-3.41,15.85-.2.6-.4,1.19-.6,1.77-1.71,5.09-3.39,10.01-5.61,14.93-1.44,3.2-2.17,6.74-2.89,10.25-.41,2.01-.82,4.01-1.37,5.93-.25.9-.54,1.84-.83,2.8-1.22,4.01-2.56,8.43-2.3,12.41.16,2.46.39,4.93.63,7.39.36,3.74.71,7.49.81,11.24.08,2.96-.29,6.08-.65,9.13-.16,1.33-.31,2.65-.43,3.94-.85,9.39-1.12,18.32-.38,27.72.34,4.27,1.13,8.5,2.29,12.62.98,3.45,2.41,5.54,4.51,8.3Z'/%3E%3C/svg%3E") center / contain no-repeat;
	transform-origin: 50% 50%; animation: hp-vector-spin 6s ease-in-out infinite paused; pointer-events: none;
}
html body:is(.page-id-56, .page-id-77).hp-redesign .service-intro:has(> img:hover)::after { animation-play-state: running; }
/* Alternative and Group: the photo shape covers the corner, so the vector sits a little further out */
html body:is(.page-id-49, .page-id-70, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { top: -15%; right: -16%; }
@media (max-width: 700px) {
	html body:is(.page-id-56, .page-id-77).hp-redesign .service-intro > img { grid-column: 1; grid-row: 2; }
	html body:is(.page-id-56, .page-id-77).hp-redesign .service-intro::after { grid-column: 1; grid-row: 2; align-self: start; width: 40%; translate: 12% -62%; }
	html body:is(.page-id-49, .page-id-70, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { top: -9%; right: -8%; }
	html body:is(.page-id-59, .page-id-80, .page-id-49, .page-id-70, .page-id-53, .page-id-75, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { top: -6%; right: -5%; width: 34%; }
}
@media (prefers-reduced-motion: reduce) {
	html body:is(.page-id-59, .page-id-80, .page-id-49, .page-id-70, .page-id-53, .page-id-75, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before, html body:is(.page-id-56, .page-id-77).hp-redesign .service-intro::after { animation: none; }
}
/* Home: the leaf vector, large, as the background of the testimonials box (cropped a little at the edges) */
html body.hp-redesign .review { position: relative; isolation: isolate; overflow: hidden; }
html body.hp-redesign .review::before {
	content: ""; position: absolute; z-index: -1; top: -14%; bottom: -14%; left: 0; right: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3E%3Cpath fill='%23d5d6c1' d='M228.47,217.89c1.97,2.59,3.25,6.68,4.5,10.64.28.88,3.45,8.22,4.23,9.66.6,4.35,1.44,8.69,2.46,12.9.4,1.65,1.13,3.19,1.85,4.73.81,1.71,1.61,3.41,1.95,5.25.22,1.16.55,2.56.95,3.93-.3-.29-.59-.57-.88-.83-6.6-5.87-11.06-15.79-16.29-22.68-3.05-4.01-6.11-8.03-8.94-12.21-1.78-2.62-3.9-5.22-6.06-7.85-5.37-6.55-10.95-13.36-11.96-21.52-.72-5.81-.95-11.72-.96-17.57-.01-5.88-.06-10.95-3.35-16.06-5.68-8.83-13.12-13.53-23.52-15.31-5.12-.88-10.33-1.47-15.51-2.06-1.62-.18-3.24-.37-4.85-.56-1.76-.21-2.63-.7-3.94-1.43,0,0-.15-.09-.25-.14-5.78-3.13-.21,10.49.93,16.8.58,3.23,1.16,6.45,1.41,9.37.15,1.81.28,3.63.41,5.44.21,2.98.42,5.97.74,8.94.58,5.37,3.18,9.37,6.16,13.75,2.1,3.09,4.49,5.85,7.8,7.7,1.48.83,3.04,1.46,4.6,2.08,1.7.68,3.41,1.37,5.03,2.32.56.33,1.12.65,1.67.98,5.4,3.15,10.42,6.08,14.21,11.39,2.36,3.3,3.21,7.24,4.06,11.16.49,2.27.98,4.54,1.77,6.68,1.07,2.92,2.18,5.9,3.67,8.63,6.3,11.5,25.88,16.41,36.89,17.91.14.02.4.06.72.12,1.93.34,6.58,1.15,8.32.34.1.83.1,1.75.09,2.59,0,.61,0,1.17.03,1.64l.99,12.57c.24,3.08.25,6.14.25,9.2,0,3.05,0,6.09.25,9.13.46,5.85,1.15,11.64,1.84,17.44.06.54.13,1.08.19,1.61-3.9-6.28-9.57-11.14-16.7-13.3-1.13-.34-2.28-.6-3.42-.86-3.87-.88-7.57-1.72-9.68-5.54-.43-.78-.87-1.57-1.3-2.37-2.93-5.33-5.93-10.8-9.45-15.69-5.12-7.12-20.47-10.02-27.31-14.12-2.5-1.5-4.96-3.16-7.42-4.81-3.98-2.68-7.97-5.36-12.18-7.44-.15-.07-.48-.26-.91-.5-1.89-1.06-5.83-3.27-6.52-2.85-1.74,1.05,1.13,15.69,1.28,17.64.62,7.9,1.22,15.64,6.22,22.18,4.24,5.54,9.19,6.1,15.67,5.65,6.56-.46,14.9-.8,19.42,4.94,2.13,2.71,2.88,6.25,3.62,9.74.46,2.15.91,4.28,1.67,6.19,2.05,5.12,5.71,9.62,9.22,13.95.62.76,1.23,1.51,1.83,2.26,4.4,5.52,9.62,10.1,15.77,13.62,3.74,2.14,20.36,5.83,25.57,4.01,1.18,3.38,2.09,6.78,3,10.21.37,1.39.74,2.78,1.13,4.18,1.4,5.01,3.15,9.87,4.91,14.71-.93-.79-2-1.53-3.25-2.22-2.45-1.35-4.81-2.84-7.17-4.34-3.87-2.46-7.74-4.91-11.97-6.7-7.94-3.35-18.57-6-27.19-6.18-2.37-.05-4.74-.1-7.15-.54-4.16-.75-7.05-4.36-9.67-7.62-.6-.75-1.19-1.49-1.78-2.16-4.71-5.43-10.65-7.3-17.47-9.03-8.81-2.24-17.99-3.5-26.58.47-2.2,1.02-7.99,2.24-6.38,5.74.81,1.75,9.01,1.03,13.77,3.06,5.66,2.41,10.16,6.88,14.46,11.14l.11.1c.38.37.77.75,1.16,1.13,1.97,1.92,4.03,3.93,5.59,6.13,1.2,1.69,2.22,3.5,3.25,5.32.99,1.75,1.98,3.51,3.13,5.16,5.43,7.76,12.01,13.78,21.17,16.59,4.82,1.48,9.52,1.32,14.32,1.16,1.88-.06,3.78-.13,5.7-.09,2.73.05,5.44-.18,8.16-.42,1.71-.14,3.42-.29,5.13-.37,9.29-.41,22.81,3.42,30.27,7.38.79,5.04,2.12,13.23,3.49,21.72,2.41,14.94,4.97,30.81,5.07,32.12.29,3.7,8.23,2.81,10.28.8,1.49-1.46-6.47-50.45-8.34-59.4,1.78-.67,3.6-1.29,5.42-1.9,4.04-1.37,8.12-2.75,11.93-4.81,3.58-1.94,5.24-4.04,7.04-7.62.86-1.72,1.29-3.56,1.71-5.4.38-1.66.77-3.32,1.47-4.89,2.08-4.65,5.17-8.11,8.4-11.73,1.02-1.14,2.05-2.3,3.07-3.51,4.61-5.49,7.53-11.96,9.02-18.96,1.17-5.52.04-11.62-1.02-17.34-.27-1.47-.54-2.91-.76-4.31-.53-3.36-1.22-6.68-1.91-10-.94-4.52-1.88-9.03-2.42-13.62l-.05-.43c-.84-7.18-1.73-14.85-3.57-21.83-.25-.96-.69-1.91-1.13-2.84-.25-.54-.5-1.07-.71-1.6-1.39-1-3.05,1.79-4.8,4.73-1.12,1.89-2.28,3.83-3.43,4.89-4.17,3.82-9.03,8.37-10.34,14.11-.67,2.94-.53,6.15-.4,9.37.17,3.94.34,7.88-.98,11.31-2.34,6.1-5.16,12.24-9.09,17.42-3.45,4.56-5.66,9.51-7.91,14.52-1,2.23-2,4.48-3.12,6.7-3.38,6.71-6.31,13.69-6.41,21.3-.44-1.14-.86-2.28-1.25-3.43-1.36-4.12-2.37-8.25-3.38-12.41-.52-2.16-1.05-4.32-1.63-6.49-3.35-12.56-5.92-24.67-6.94-37.66-.42-5.35-.9-10.63-1.6-15.92,1.1-.18,2.41-.3,3.53-.4,1.2-.11,2.18-.2,2.47-.32,2.56-1.01,5.3-4.29,7.29-6.13,5.01-4.63,9.76-9.02,13.24-15.24,3.05-5.46,3.94-11.44,4.84-17.45.22-1.47.44-2.95.69-4.42,1.34-7.84,6.25-15.45,12.48-20.32,7.87-6.15,14.24-12.5,17.77-22.09,1.29-3.49.79-7.67.33-11.48-.11-.89-.21-1.76-.29-2.6-.32-3.39-1.3-6.81-2.26-10.18-.44-1.52-.87-3.02-1.23-4.51-3.12-12.66-5.11-25.49-6.87-38.41-.49-6.22-4.13-6.17-3.8-1.89l-.12.31c-3.15,7.78-6.36,15.69-13.51,20.63-7.08,4.9-12.4,9.4-15.21,17.85-1.08,3.27-1.41,6.33-1.14,9.74.29,3.64-.58,7.03-1.55,10.52-.92,3.32-1.62,6.81-2.31,10.32-1.36,6.84-2.74,13.77-5.86,19.78-2.23,4.31-3.88,8.83-5.52,13.36-.88,2.41-1.75,4.82-2.72,7.2-1.98,4.88-3.49,9.74-4.97,14.78-.34,1.16-.59,2.3-.77,3.43-.14-.99-.31-1.98-.57-2.94-.17-.62-.36-1.23-.54-1.83-.51-1.68-1.01-3.33-1.16-5.15-.22-2.81-.92-5.48-1.62-8.17-.43-1.66-.87-3.33-1.19-5.04-.94-4.93-2.29-9.71-3.79-14.47-.46-1.45-.82-3.01-1.11-4.61.85-1.24,2.06-2.3,3.27-3.35.92-.81,1.84-1.61,2.59-2.49.46-.54.94-1.07,1.41-1.6,2.06-2.32,4.08-4.59,5.17-7.62.54-1.51,1.16-2.94,1.78-4.37,1.09-2.51,2.16-4.99,2.77-7.8.79-3.64.94-7.06,1.11-10.62.05-1.04.09-2.09.16-3.16.34-5.74-.07-11.37-.48-17-.3-4.04-.59-8.09-.61-12.19-.01-3.07.72-6.21,1.43-9.31.35-1.5.7-3,.95-4.46.75-4.29,2.28-8.33,3.99-12.3.54-1.26,1.27-2.43,2-3.59.57-.92,1.14-1.83,1.62-2.79.99-1.98,1.42-4.15,1.84-6.31.14-.69.27-1.38.42-2.06,1.27-5.65.65-11.97.06-17.95-.15-1.51-.3-2.99-.41-4.44-.62-7.96-4.03-16-7.26-23.35-.8-1.83-1.61-3.65-2.23-5.55-3.21-9.74-3.11-24.76-2.7-34.12.06-1.45.2-2.89.34-4.34-.37-4.75.23-8.42-1.48-10.14-3.6,1.36-10.41,13.13-13.76,19.29-2.89,5.31-5.42,11.04-6.38,17.03-.48,3.02-.06,6.27.35,9.47.24,1.86.48,3.71.54,5.48.17,5.34-1.68,10.78-3.41,15.85-.2.6-.4,1.19-.6,1.77-1.71,5.09-3.39,10.01-5.61,14.93-1.44,3.2-2.17,6.74-2.89,10.25-.41,2.01-.82,4.01-1.37,5.93-.25.9-.54,1.84-.83,2.8-1.22,4.01-2.56,8.43-2.3,12.41.16,2.46.39,4.93.63,7.39.36,3.74.71,7.49.81,11.24.08,2.96-.29,6.08-.65,9.13-.16,1.33-.31,2.65-.43,3.94-.85,9.39-1.12,18.32-.38,27.72.34,4.27,1.13,8.5,2.29,12.62.98,3.45,2.41,5.54,4.51,8.3Z'/%3E%3C/svg%3E") center / auto 100% no-repeat; pointer-events: none;
}
@media (max-width: 700px) {
	html body.hp-redesign .review::before { top: 0; bottom: 0; left: -50%; right: -50%; background-size: 100% auto; background-position: center 42%; }
}

/* October 29d (cont.): between 701 and 1240px the photo sits close to the screen edge, so the vector moves a little closer to it and is not cut off. */
@media (min-width: 701px) and (max-width: 1240px) {
	html body:is(.page-id-59, .page-id-80, .page-id-49, .page-id-70, .page-id-53, .page-id-75, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { right: -4%; }
	html body:is(.page-id-49, .page-id-70, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { top: -12%; right: -7%; }
}

/* ---------- October 29e: no vector on Individual (56/77) — the client asked to remove the leaf behind the photo. Delete this block to bring it back. ---------- */
html body:is(.page-id-56, .page-id-77).hp-redesign .service-intro::after { content: none; display: none; animation: none; }

/* ---------- October 29f: Online (59/80) — the vector moves from top right to bottom left of the photo, per client. Delete this block to put it back top right. ---------- */
html body:is(.page-id-59, .page-id-80).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; bottom: -9%; left: -11%; }
@media (max-width: 700px) {
	html body:is(.page-id-59, .page-id-80).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; bottom: -6%; left: -5%; }
}

/* ---------- October 29g: Alternative (49/70), Group (55/76), Corporate (53/75) — the vector moves from top right to bottom left of the photo, per client. Corporate's photo has a full corner there, so its vector sits further out (and on mobile the photo gets a little space below). Delete this block to put them back top right. ---------- */
html body:is(.page-id-49, .page-id-70, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; bottom: -9%; left: -14%; }
html body:is(.page-id-53, .page-id-75).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; bottom: -5%; left: -30%; }
@media (min-width: 701px) and (max-width: 1240px) {
	html body:is(.page-id-49, .page-id-70, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { left: -9%; }
	html body:is(.page-id-53, .page-id-75).hp-redesign .site-main .service-intro .service-inline-image::before { left: -24%; }
}
@media (max-width: 700px) {
	html body:is(.page-id-49, .page-id-70, .page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; bottom: -6%; left: -5%; }
	html body:is(.page-id-53, .page-id-75).hp-redesign .site-main .service-intro .service-inline-image { margin-bottom: 32px; }
	html body:is(.page-id-53, .page-id-75).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; bottom: -19%; left: -5%; }
}

/* October 29g (cont.): Alternative — the photo's bottom-left corner is almost full, so the star sits further out to stay visible. */
html body:is(.page-id-49, .page-id-70).hp-redesign .site-main .service-intro .service-inline-image::before { bottom: -7%; left: -26%; }
@media (min-width: 701px) and (max-width: 1240px) {
	html body:is(.page-id-49, .page-id-70).hp-redesign .site-main .service-intro .service-inline-image::before { left: -20%; }
}
@media (max-width: 700px) {
	html body:is(.page-id-49, .page-id-70).hp-redesign .site-main .service-intro .service-inline-image::before { bottom: -6%; left: -5%; }
}

/* ---------- October 29h: on desktop (1101px+) the vector moves further left, into the empty space under the text (centred between the text and the photo), per client. 701-1100px and mobile keep the bottom-left placement next to the photo (29f/29g). Delete this block to go back to that placement on desktop too. ---------- */
@media (min-width: 1101px) {
	html body:is(.page-id-59, .page-id-80).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; width: 31%; left: -75%; bottom: -8%; }
	html body:is(.page-id-49, .page-id-70).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; width: 38%; left: -78.5%; bottom: -6%; }
	html body:is(.page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; width: 42%; left: -80.5%; bottom: -5.5%; }
	html body:is(.page-id-53, .page-id-75).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; width: 38%; left: -78.5%; bottom: -9.5%; }
}

/* ---------- October 29i (client feedback with red squares, 29/10 afternoon) ----------
   - No spinning any more on the vectors (client asked to remove the animation).
   - Desktop 1101px+: Alternative star left of the photo, next to it, lower part; Online at the circle's bottom-left corner, half behind the photo;
     Group: the quote moves up (space reserved under the signature) and the vector sits in that space; Corporate: vector a little further right.
   Delete this block to go back to 29h (and the hover spin). */
html body.hp-redesign .service-intro .service-inline-image::before,
html body.hp-redesign .service-intro .service-inline-image:hover::before,
html body.hp-redesign .service-intro::after { animation: none !important; rotate: none !important; }
html body.hp-redesign .site-main .service-intro .service-inline-image::before { pointer-events: none !important; }
@media (min-width: 1101px) {
	html body:is(.page-id-49, .page-id-70).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; width: 40%; left: -53%; bottom: 8%; }
	html body:is(.page-id-59, .page-id-80).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; width: 40%; left: -13.5%; bottom: -4%; }
	html body:is(.page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-quote-attribution { margin-bottom: 224px; }
	html body:is(.page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; width: 42%; left: -80.5%; bottom: 15%; }
	html body:is(.page-id-53, .page-id-75).hp-redesign .site-main .service-intro .service-inline-image::before { top: auto; right: auto; width: 38%; left: -60%; bottom: -9.5%; }
}

/* October 29j: Online — the vector a touch further left (client). Only from 1241px: at 1101-1240 the English text comes too close, so 29i's -13.5% stays there. */
@media (min-width: 1241px) {
	html body:is(.page-id-59, .page-id-80).hp-redesign .site-main .service-intro .service-inline-image::before { left: -17%; }
}

/* October 29k: Corporate — the cross a touch higher on desktop (client); its colour was also made lighter in 29d (#8da19e → #c6d0ce). */
@media (min-width: 1101px) {
	html body:is(.page-id-53, .page-id-75).hp-redesign .site-main .service-intro .service-inline-image::before { bottom: -6.5%; }
}

/* ---------- October 29l: Group (55/76) — client: no vector here, the quote vertically centred next to the photo again, on 2 balanced lines (new wording in the page content: «Η δυναμική της ομάδας…»). Delete this block to go back to 29i. ---------- */
html body:is(.page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-inline-image::before { content: none !important; display: none !important; }
@media (min-width: 701px) {
	html body:is(.page-id-55, .page-id-76).hp-redesign .site-main .service-intro > p { text-wrap: balance; }
}
@media (min-width: 1101px) {
	html body:is(.page-id-55, .page-id-76).hp-redesign .site-main .service-intro .service-quote-attribution { margin-bottom: 0; }
}

/* ---------- October 29m: Group (55/76), desktop 1101px+ — the photo is bigger (keeps its proportions, so the shape is not stretched) and takes the white space that was left between the quote and the photo. Text column 400px (the quote is 2 lines of ~389px). Delete this block to go back to the 1.1fr / 1fr columns. ---------- */
@media (min-width: 1101px) {
	html body:is(.page-id-55, .page-id-76).hp-redesign .site-main .service-intro { grid-template-columns: 400px minmax(0, 1fr); }
}

/* (mask corners redrawn 29/10 16:35 with smooth, tangent-continuous curves: no more notches at the corners) */
/* ---------- October 29n: Group (55/76) — same photo, new crop like the client's reference picture: a wide "pillow" (rounded corners, top and bottom edges curving outwards), landscape 1000:744, replacing the U/heart. With 29m the photo is 596px wide on desktop. Delete this block to go back to the U/heart. ---------- */
html body:is(.page-id-55, .page-id-76).hp-photo-shape .site-main .service-intro .service-inline-image { aspect-ratio: 1000 / 744; }
html body:is(.page-id-55, .page-id-76).hp-photo-shape .site-main .service-intro .service-inline-image img { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 744' preserveAspectRatio='none'%3E%3Cpath d='M130 34 C330 -10 670 -10 870 34 C930.6 47.3 983 93.2 988 155 C1000 305 1000 439 988 589 C983 650.8 930.4 694.1 870 708 C670 754 330 754 130 708 C69.6 694.1 17 650.8 12 589 C0 439 0 305 12 155 C17 93.2 69.4 47.3 130 34 Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 744' preserveAspectRatio='none'%3E%3Cpath d='M130 34 C330 -10 670 -10 870 34 C930.6 47.3 983 93.2 988 155 C1000 305 1000 439 988 589 C983 650.8 930.4 694.1 870 708 C670 754 330 754 130 708 C69.6 694.1 17 650.8 12 589 C0 439 0 305 12 155 C17 93.2 69.4 47.3 130 34 Z'/%3E%3C/svg%3E"); object-position: center; }
