/* Portrait framing approved feedback: keep the head inside each wide mobile card. */
@media (max-width: 767px) {
 html body #main .home-article-image img[src*="/portraits/A7409"],
 html body #main .blog-card-image img[src*="/portraits/A7409"],
 html body #main .article-photo img[src*="/portraits/A7409"] {
  object-position: 50% 20%;
 }
 html body #main.flow-about .video-frame .video-load img {
  object-position: 50% 8%;
 }
}
/* Labels must expose the same uninterrupted address as the actual mail link. */
.footer-email, .contact-email[href^="mailto:"] { overflow-wrap: anywhere; }
/* French has one original-language video; it should fill its media column. */
html body #main.flow-home .home-experiences .testimonial-video-grid:has(> article:only-child) {
 grid-template-columns: minmax(0, 1fr);
 grid-template-rows: minmax(0, 1fr);
}
html body #main.flow-home .home-experiences .testimonial-video-grid > article:only-child { min-height: 0; }
html body #main.flow-home .home-experiences .testimonial-video-grid > article:only-child img { object-fit: contain; }
/* Shared footer grid: paired English menus; spacious translated menu groups. */
html body #footer.site-footer.calm-footer .footer-main {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 grid-template-areas: 'brand brand' 'explore-title connect-title' 'explore-links connect-links' 'email email';
 gap: 16px 28px;
 align-items: start;
}
html body #footer.site-footer.calm-footer .footer-main > .footer-brand { margin-bottom: 12px; }
html body #footer.site-footer.calm-footer :is(.footer-explore, .footer-connect) { display: contents; }
html body #footer.site-footer.calm-footer .footer-explore > .eyebrow { grid-area: explore-title; }
html body #footer.site-footer.calm-footer .footer-explore > .footer-links { grid-area: explore-links; }
html body #footer.site-footer.calm-footer .footer-connect > .eyebrow { grid-area: connect-title; }
html body #footer.site-footer.calm-footer .footer-connect > .footer-links { grid-area: connect-links; }
html body #footer.site-footer.calm-footer :is(.footer-explore, .footer-connect) > :is(.eyebrow, .footer-links) {
 margin: 0;
 min-width: 0;
 align-self: start;
}
html body #footer.site-footer.calm-footer .footer-main .footer-links {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: 10px;
 padding: 0;
}
html body #footer.site-footer.calm-footer .footer-main .footer-links a {
 display: inline-block;
 text-align: left;
}
html body #footer.site-footer.calm-footer .footer-connect > .footer-email {
 grid-area: email;
 display: block;
 width: 100%;
 min-width: 0;
 margin: 12px 0 0;
 padding-top: 18px;
 letter-spacing: 0;
 white-space: nowrap;
 overflow-wrap: normal;
 word-break: normal;
 hyphens: none;
 user-select: text;
}
@media (max-width: 600px) {
html:is([lang="fr"], [lang="el"]) body #footer.site-footer.calm-footer .footer-main {
 grid-template-columns: minmax(0, 1fr);
 grid-template-areas: 'brand' 'explore-title' 'explore-links' 'connect-title' 'connect-links' 'email';
}
html:is([lang="fr"], [lang="el"]) body #footer.site-footer.calm-footer .footer-connect > .eyebrow {
 margin-top: 16px;
}

 html body #footer.site-footer.calm-footer .footer-main { column-gap: 24px; }
 html[lang="en"] body #footer.site-footer.calm-footer .footer-main .eyebrow {
  font-size: clamp(20px, 5.5vw, 23px);
  line-height: 1.3;
 }
 html body #footer.site-footer.calm-footer .footer-connect > .footer-email { font-size: 15px; }
}

/* Decorative envelope: the selectable email and accessible label stay unchanged. */
html body #footer .footer-email::before {
 content: "";
 display: inline-block;
 width: 16px;
 height: 16px;
 margin-right: 8px;
 vertical-align: -3px;
 background-color: currentColor;
 -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m3%206%209%207%209-7%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
 mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m3%206%209%207%209-7%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
