/* Normal website language controls and editorial multilingual section. */
.site-header:has(.hl-language) { grid-template-columns: auto minmax(0,1fr) auto auto; }
@font-face { font-family: "Manrope"; src: url('/assets/fonts/manrope-international.woff2') format('woff2'); font-style: normal; font-weight: 200 800; font-display: swap; unicode-range: U+0100-024F,U+0400-052F,U+1E00-1EFF; }
@font-face { font-family: "Bricolage Grotesque"; src: url('/assets/fonts/bricolage-international.woff2') format('woff2'); font-style: normal; font-weight: 200 800; font-display: swap; unicode-range: U+0100-024F,U+1E00-1EFF; }
@font-face { font-family: "Noto Sans Arabic"; src: url('/assets/fonts/noto-sans-arabic.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Manrope"; src: url('/assets/fonts/noto-sans-arabic.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; unicode-range: U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF; }
@font-face { font-family: "Bricolage Grotesque"; src: url('/assets/fonts/noto-sans-arabic.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; unicode-range: U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF; }
.hl-language { position: relative; flex: 0 0 auto; z-index: 120; color: #dceae7; font-family: "Manrope", sans-serif; }
.hl-language summary { list-style: none; display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 58px; min-height: 44px; padding: 6px 10px; border: 1px solid #acccc52e; border-radius: 999px; cursor: pointer; font-size: 12px; line-height: 1.3; font-weight: 650; background: #0b201c; }
.hl-language summary::-webkit-details-marker { display: none; }
.hl-language summary:focus-visible, .hl-language a:focus-visible { outline: 2px solid #a6ead6; outline-offset: 3px; }
.hl-language-panel { position: absolute; inset-inline-end: 0; top: calc(100% + 10px); min-width: 190px; max-height: min(430px, 70dvh); overflow-y: auto; padding: 9px; border: 1px solid #afd3cb40; border-radius: 15px; background: #0c211f; box-shadow: 0 18px 40px #0005; }
.hl-language-panel a { display: block; border-radius: 8px; padding: 10px 12px; font-size: 14px; line-height: 1.5; color: #dceae7; text-decoration: none; white-space: nowrap; }
.hl-language-panel a:hover, .hl-language-panel [aria-current="true"] { color: #fff; background: #7fcfb521; }
.hl-mobile-languages { display: none; margin-top: 18px; border-top: 1px solid #aec9c32e; padding-top: 15px; }
.hl-mobile-languages > span { display: block; margin-bottom: 9px; font-size: 12px; color: #a8c6bd; }
.hl-mobile-languages > div { display: flex; flex-wrap: wrap; gap: 5px 13px; }
.hl-mobile-languages a { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
.hl-multilingual { background: #e9eee7; color: #163a32; padding: clamp(65px, 9vw, 135px) 0; }
.hl-multilingual-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(30px, 6vw, 90px); align-items: center; }
.hl-multilingual .hl-eyebrow { color: #497366; font-size: 11px; font-weight: 650; letter-spacing: .11em; text-transform: uppercase; margin: 0 0 22px; }
.hl-multilingual h2 { color: #133b30; font-size: clamp(30px, 3.6vw, 54px); line-height: 1.08; letter-spacing: -.045em; margin: 0 0 25px; max-width: 680px; }
.hl-multilingual h2 span { display: block; color: #5b8070; }
.hl-multilingual .hl-copy { color: #406154; line-height: 1.85; font-size: 15px; max-width: 590px; }
.hl-usp-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 22px; min-height: 44px; border-bottom: 1px solid #325e4f; color: #214c3c; text-decoration: none; font-size: 14px; font-weight: 650; }
.hl-demo { border-block: 1px solid #59776946; padding: 28px 0 35px; }
.hl-demo-header { font-size: 11px; color: #527365; display: flex; justify-content: space-between; gap: 15px; }
.hl-demo-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin: 32px 0 25px; }
.hl-demo-tabs button { border: 1px solid #5277654d; padding: 9px 13px; min-height: 44px; border-radius: 999px; background: transparent; color: #37604f; font: inherit; font-size: 12px; cursor: pointer; }
.hl-demo-tabs button[aria-pressed="true"] { background: #183e30; color: #f2f7eb; border-color: #183e30; }
.hl-demo-output { color: #244e3e; font-size: clamp(26px, 2.5vw, 38px); line-height: 1.4; letter-spacing: -.025em; min-height: 4.4em; margin: 0; overflow-wrap: anywhere; }
.hl-demo-output h3 { font: inherit; margin: 0 0 16px; }
.hl-demo-output p, .hl-demo-explainer { font-size: 15px; line-height: 1.65; letter-spacing: normal; }
.hl-demo-output p { min-height: 3.3em; margin: 0 0 22px; color:#335947; }
.hl-demo-explainer { color:#335947; }
.hl-demo-output a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border-radius: 24px; background: #183e30; color: #fff; font-size: 14px; letter-spacing: normal; text-decoration: none; }
.hl-demo :is(a,button):focus-visible { outline: 3px solid #244e3e; outline-offset: 4px; }
.hl-legal-note { max-width: 1140px; margin: 24px auto; padding: 20px 24px; border-inline-start: 3px solid #8abfab; background: #8abfab14; font-size: 14px; line-height: 1.8; }
.hl-legal-note a { display: inline-block; margin-top: 8px; text-decoration: underline; text-underline-offset: 3px; }
html:not([lang="de"]) :is(.button,.button-secondary,.v3-button,.form-submit) { white-space: normal; overflow-wrap: anywhere; height: auto; min-height: 44px; text-align: center; }
html:not([lang="de"]) :is(h1,h2,h3,p,li,label,.teaser-panel) { overflow-wrap: break-word; }
html:not([lang="de"]) .v4-hero h1 > span { white-space: normal; width: auto; }
html:not([lang="de"]) .v4-hero h1 { font-size: clamp(40px,4.1vw,64px); }
html:not([lang="de"]) .v4-hero-grid > * { min-width: 0; }
html:not([lang="de"]) .v3-section-head-split > * { min-width: 0; }
html:not([lang="de"]) .v3-story-layout > * { min-width: 0; }
html:not([lang="de"]) .v3-story-step > a { display: inline-block; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
html:not([lang="de"]) .site-header { gap: clamp(9px, 1.5vw, 22px); }
html:not([lang="de"]) .desktop-nav { gap: clamp(10px, 1.3vw, 22px); min-width: 0; }
html:not([lang="de"]) .desktop-nav a { white-space: nowrap; }
html[lang="uk"], html[lang="ru"] { --hl-reading-font: "Manrope", "Segoe UI", Arial, sans-serif; }
html[lang="uk"] body, html[lang="ru"] body { font-family: var(--hl-reading-font); }
html[lang="ar"] body { font-family: "Noto Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif; }
html:is([lang="uk"],[lang="ru"]) :is(h1,h2,h3,h4) { font-family: "Manrope", "Segoe UI", Arial, sans-serif; letter-spacing: -.025em; line-height: 1.15; }
html[lang="ar"] :is(h1,h2,h3,h4) { line-height: 1.45; }
html[dir="rtl"] :is(h1,h2,h3,.v4-lead,.hl-demo-output) { letter-spacing: 0; }
html[dir="rtl"] :is(.page-hero-copy,.section-heading,.footer-column,.footer-brand,.contact-form,.form-consent,.faq-trigger,.v4-hero-copy,.service-card,.process-card,.package-card,.v3-contact-person,.hl-multilingual) { text-align: start; }
html[dir="rtl"] :is(input[type="email"],input[type="url"],input[type="tel"],.footer-address,.contact-channel strong) { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] :is(.v4-core,.v3-story-stage,.project-media,.project-phone,.page-hero-visual,.brand-logo) { direction: ltr; }
html[dir="rtl"] .hl-directional { display: inline-block; transform: scaleX(-1); }
html[dir="rtl"] .feature-list { padding-inline-start: 0; }
html[dir="rtl"] .feature-list li { padding-inline-start: 24px; padding-inline-end: 0; }
html[dir="rtl"] .feature-list li::before { left: auto; right: 0; }
html[dir="rtl"] .mobile-drawer-panel { right: auto; left: 0; }
html[dir="rtl"] .mega-menu { text-align: start; }
html[dir="rtl"] .form-consent { direction: rtl; }
html[dir="rtl"] #helfano-assistant { direction: ltr; text-align: left; }
html[dir="rtl"] #helfano-assistant :is(h2,p,button,label) { text-align: revert; }
@media(max-width:1200px) {
  html:not([lang="de"]) .desktop-nav { display: none; }
  html:not([lang="de"]) .menu-toggle { display: grid; }
  html:not([lang="de"]) .header-cta { display: none; }
  html:not([lang="de"]) .site-header:has(.hl-language) { grid-template-columns: minmax(0,1fr) auto auto; }
  html:not([lang="de"]) .hl-mobile-languages { display: block; }
}
@media(max-width:1040px) {
  .site-header:has(.hl-language) { grid-template-columns: minmax(0,1fr) auto auto; }
  .hl-mobile-languages { display: block; }
}
@media(max-width:760px) {
  .hl-language summary { min-width: 54px; padding-inline: 8px; }
  .site-header .hl-language { margin-inline-start: auto; }
  .hl-mobile-languages { display: block; }
  .hl-language-panel { max-height: min(420px, calc(100vh - 100px)); max-height: min(420px, calc(100dvh - 100px)); }
  .hl-multilingual-grid { grid-template-columns: minmax(0,1fr); gap: 35px; }
  html:not([lang="de"]) .v3-section-head-split { grid-template-columns: minmax(0,1fr); }
  html:not([lang="de"]) .v3-story-layout { grid-template-columns: minmax(0,1fr); }
  .hl-multilingual h2 { font-size: clamp(30px, 8vw, 43px); }
  .hl-demo-output { min-height: 5.6em; }
  .hl-legal-note { margin-inline: 18px; }
  html:not([lang="de"]) .header-cta { display: none; }
  html:not([lang="de"]) .mobile-drawer-panel { max-width: 100%; padding-inline: 22px; }
  html:not([lang="de"]) :is(.v4-hero-grid,.page-hero-grid,.contact-layout,.service-grid,.package-grid,.footer-main) > * { min-width: 0; }
  html:not([lang="de"]) .v4-hero h1 { font-size: clamp(38px, 10.2vw, 68px); }
}
@media(prefers-reduced-motion:reduce) { .hl-demo-output { transition: none; } }
