/* V7.3.9.96 — additive language navigation; existing page composition is preserved. */
.site-header {grid-template-columns:minmax(0,1fr) auto auto!important;column-gap:clamp(9px,1.35vw,20px)!important;}
.site-header>.brand {grid-column:1;grid-row:1;}
.site-header>.main-nav {grid-column:2;grid-row:1;}
.site-header>.language-switcher {grid-column:3;grid-row:1;justify-self:end;position:relative;z-index:160;font-family:inherit;}
.language-switcher summary {list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;height:42px;min-width:60px;padding:4px 7px;border:1px solid #dce3f0;background:#fff;color:#17243d;font-size:10px;font-weight:800;letter-spacing:.05em;}
.language-switcher summary::-webkit-details-marker {display:none;}
.language-switcher summary span:first-child{font-size:14px;line-height:1;}
.language-switcher .language-arrow {color:#334cff;font-size:13px;}
.language-switcher[open] summary{border-color:#1d35ff;}
.language-options{position:absolute;top:48px;right:0;display:grid;min-width:110px;padding:4px;background:#fff;border:1px solid #dce3f0;box-shadow:0 12px 26px #111c331f;z-index:170;}
.language-options a{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:42px;font-size:11px;font-weight:750;color:#17243d;text-decoration:none;}
.language-options a[aria-current="page"],.language-options a:hover,.language-options a:focus-visible{background:#eff2ff;color:#183bff;}
.language-switcher summary:focus-visible,.language-options a:focus-visible{outline:2px solid #1d35ff;outline-offset:2px;}
@media(max-width:900px){.site-header{grid-template-columns:minmax(0,1fr) 44px 64px!important;column-gap:8px!important;}.site-header>.main-nav{display:none!important;}.site-header>.home-mobile-nav{grid-column:2;grid-row:1;}.site-header>.language-switcher{grid-column:3;grid-row:1;}.language-options{right:0;}}
@media(max-width:380px){.site-header{column-gap:5px!important;grid-template-columns:minmax(0,1fr) 44px 57px!important;}.site-header .brand-sub{font-size:7px;letter-spacing:.06em;}.language-switcher summary{min-width:56px;padding:4px;gap:3px;}}
/* Longer French and Spanish words should wrap instead of overflowing. */
.site .project-inquiry-section h2,.site .home-services-head h2,.site .services-group h2,.site .page-hero-content h1,.site .privacy-intro h1 {overflow-wrap:break-word;}
/* V7.3.9.97 — keep long FR/ES editorial headlines within narrow phone cards. */
@media (max-width: 500px) {
  html:lang(fr) .purpose-showcase .purpose-feature-title,
  html:lang(es) .purpose-showcase .purpose-feature-title {
    font-size: clamp(34px, 10vw, 50px);
    line-height: .91;
  }
  html:lang(fr) .purpose-showcase .purpose-feature-gradient,
  html:lang(es) .purpose-showcase .purpose-feature-gradient {
    width: auto;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}


/* V7.3.9.101: preserve editorial composition for longer FR/ES labels. */
html:lang(fr) .project-inquiry-eyebrow,
html:lang(es) .project-inquiry-eyebrow { white-space: normal; overflow-wrap: normal; }
.site .project-inquiry-content,
.site .project-inquiry-message,
.site .services-overview-card,
.site .portfolio-gallery-details { min-width: 0; }
.site .project-inquiry-content h2,
.site .services-overview h2,
.site .portfolio-gallery-details h2,
.site .purpose-feature-title,
.site .contact-v50 h2 { overflow-wrap: break-word; }
.site .project-inquiry-button,
.site .purpose-feature-actions a,
.site .contact-v50 .contact-direct-action { max-width: 100%; }
@media (max-width: 600px) {
  html:lang(fr) .project-inquiry-content h2,
  html:lang(es) .project-inquiry-content h2 { font-size: clamp(33px, 8.5vw, 55px); }
  html:lang(fr) .project-inquiry-button,
  html:lang(es) .project-inquiry-button { white-space: normal; overflow-wrap: break-word; text-align: center; }
}
