/* HR law preview: the original country maps and a dedicated consultant. */
body.law-portal-open { overflow: hidden; }

/* A compact, readable service note at the foot of the page and country guide. */
.law-page-notice { margin: 32px 0 0; padding: 18px 0 0; border-top: 1px solid #cbd6d7; color: #526269; }
.law-page-notice h2 { margin: 0 0 6px; color: #3f535a; font-size: 14px; font-weight: 600; line-height: 1.5; }
.law-page-notice p { max-width: 1120px; margin: 4px 0 0; color: #526269; font-size: 13px; font-weight: 400; line-height: 1.55; }
.law-page-notice .law-page-preview { margin-top: 8px; }
.law-service-notice { padding: 16px 28px; border-top: 1px solid #cbd6d7; background: #f6f8f9; color: #526269; }
.law-service-notice strong { display: block; color: #3f535a; font-size: 14px; font-weight: 600; line-height: 1.5; }
.law-service-notice p { margin: 4px 0 0; font-size: 13px; font-weight: 400; line-height: 1.55; }
@media (max-width: 580px) {
  .law-service-notice { padding: 16px 18px; }
}

.law-portal {
  width: min(1560px, calc(100vw - 48px));
  max-width: none;
  max-height: 90vh;
  max-height: 90dvh;
  margin: auto;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #47545c;
  border-radius: 10px;
  background: #f6f8f9;
  color: #06131b;
  font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-shadow: 0 30px 110px #06131b66;
}

.law-portal::backdrop { background: #06131bd9; backdrop-filter: blur(5px); }
.law-portal, .law-portal * { box-sizing: border-box; }
.law-portal [hidden] { display: none !important; }
.law-portal :is(button, select, textarea) { font: inherit; }
.law-portal :is(button, a, select, textarea):focus-visible { outline: 3px solid #2ec4b6; outline-offset: 4px; }
.law-portal button { cursor: pointer; }
.law-portal :is(h2, h3, h4) { font-family: "Montserrat", "Source Sans 3", sans-serif; }

.law-portal-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 92px;
  padding: 18px 28px;
  border-bottom: 1px solid #47545c;
  background: #06131b;
  color: #fff;
}

.law-brand-logo { display: block; width: 142px; height: 43px; object-fit: contain; flex: 0 0 auto; }
.law-portal-heading { min-width: 0; padding-inline-start: 24px; border-inline-start: 1px solid #47545c; }
.law-portal-heading small { display: block; margin-bottom: 3px; color: #2ec4b6; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.law-portal-heading h2 { margin: 0; color: #fff; font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.law-portal-tools { display: flex; align-items: center; gap: 22px; margin-inline-start: auto; flex: 0 0 auto; }
.law-country-label { display: flex; align-items: center; gap: 11px; color: #d4dee3; font-size: 12px; }
.law-country-label select { max-width: 210px; min-height: 42px; padding: 9px 12px; border: 1px solid #47545c; border-radius: 5px; background: #112d36; color: #fff; font-size: 13px; }
.law-close { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; flex: 0 0 auto; border: 1px solid #47545c; border-radius: 50%; background: transparent; color: #fff; font-size: 28px !important; font-weight: 400; line-height: 1; }
.law-close:hover { background: #112d36; border-color: #2ec4b6; }

.law-stage { display: grid; grid-template-columns: minmax(0, 2fr) minmax(360px, 1fr); direction: ltr; min-height: 680px; border-bottom: 4px solid #2ec4b6; }
.law-visual { position: relative; isolation: isolate; min-width: 0; min-height: 680px; overflow: hidden; background: #dff1ed; }
.law-visual::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, #edf7f4 0%, #dff1ed 55%, #bdddd7 100%); pointer-events: none; }
.law-visual::after { content: ""; position: absolute; inset: auto 0 0; height: 6px; background: #159a91; pointer-events: none; }
.law-visual-copy { position: absolute; z-index: 2; left: 6%; top: 46px; width: 57%; max-width: 470px; margin: 0; text-align: left; }
.law-eyebrow { margin: 0 0 17px; color: #159a91; font-size: 11px; font-weight: 700; line-height: 1.5; letter-spacing: .13em; }
.law-visual-copy h3 { margin: 0 0 19px; color: #06131b; font-size: clamp(32px, 3.35vw, 54px); font-weight: 700; line-height: 1.12; letter-spacing: -.045em; text-wrap: balance; }
.law-visual-description { max-width: 350px; margin: 0; color: #304b50; font-size: 17px; line-height: 1.65; }
.law-map { position: absolute; z-index: 0; left: 4%; bottom: 55px; width: 75%; max-width: 700px; height: auto; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; filter: brightness(1.15) contrast(1.1); opacity: .48; }
.law-character { position: absolute; z-index: 1; right: -2%; bottom: 0; width: auto; height: 80%; max-width: 55%; object-fit: contain; object-position: bottom; filter: drop-shadow(-12px 12px 18px #06131b18); }
.law-visual-note { position: absolute; z-index: 2; left: 6%; bottom: 29px; max-width: 46%; padding-inline-start: 12px; border-inline-start: 2px solid #159a91; color: #06131b; }
.law-visual-note span { display: block; font-size: 13px; font-weight: 700; line-height: 1.5; }
.law-visual-note p { margin: 3px 0 0; color: #47545c; font-size: 11px; line-height: 1.5; }

.law-panel { display: flex; flex-direction: column; min-width: 0; background: #f6f8f9; color: #06131b; }
.law-panel-content { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.law-call-invitation { padding: 18px 24px 0; }
.law-call-start { display: flex; align-items: center; gap: 13px; width: 100%; padding: 14px 15px; border: 1px solid #2ec4b6; border-radius: 12px; background: #2ec4b6; color: #06131b; text-align: start; box-shadow: 0 5px 16px #159a911a; }
.law-call-start:hover { background: #64d8cc; border-color: #159a91; }
.law-call-start-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 50%; background: #06131b; color: #fff; }
.law-call-start svg { width: 21px; height: 21px; }
.law-call-start strong { display: block; color: inherit; font-size: 14px; line-height: 1.4; }
.law-call-start small { display: block; margin-top: 3px; color: #112d36; font-size: 11px; line-height: 1.4; }
.law-call-arrow { margin-inline-start: auto; font-size: 20px; }
.law-call-invitation > p { margin: 8px 2px 0; color: #47545c; font-size: 10px; line-height: 1.5; }
.law-call-screen { display: flex; align-items: center; flex-direction: column; justify-content: center; flex: 1; min-height: 740px; padding: 35px 28px; overflow: hidden; background: radial-gradient(ellipse at 50% 25%, #184c50 0%, #112d36 38%, #06131b 83%); color: #fff; text-align: center; }
.law-call-badge { margin: 0 0 36px; padding: 6px 12px; border: 1px solid #5dbfb4; border-radius: 30px; color: #c5eee8; font-size: 10px; letter-spacing: .12em; font-weight: 600; line-height: 1.5; }
.law-call-portrait { position: relative; width: 138px; height: 138px; margin: 0 0 29px; border: 3px solid #2ec4b6; border-radius: 50%; background: #dff1ed; box-shadow: 0 0 0 10px #2ec4b610; }
.law-call-portrait-crop { position: absolute; inset: 0; overflow: hidden; border-radius: 50%; }
.law-call-avatar { display: block; width: 100%; height: 100%; object-fit: cover; }
.law-call-portrait-phone { position: absolute; inset-inline-end: -6px; bottom: 0; display: grid; place-items: center; width: 39px; height: 39px; border: 3px solid #112d36; border-radius: 50%; background: #2ec4b6; color: #06131b; }
.law-call-portrait-phone svg { width: 20px; height: 20px; }
.law-call-overline { margin: 0 0 7px; color: #8eddd2; font-size: 10px; font-weight: 600; letter-spacing: .11em; }
.law-call-screen h3 { margin: 0; color: #fff; font-size: 28px; line-height: 1.3; letter-spacing: -.025em; text-wrap: balance; }
.law-call-status { margin: 16px 0 5px; color: #8eddd2; font-size: 18px; font-weight: 600; line-height: 1.4; }
.law-call-copy { max-width: 310px; margin: 0 auto; color: #d4dee3; font-size: 13px; line-height: 1.6; }
.law-call-wave { display: flex; align-items: center; justify-content: center; gap: 5px; height: 40px; margin: 19px 0; }
.law-call-wave i { width: 4px; height: 9px; border-radius: 3px; background: #2ec4b6; }
.law-call-wave i:nth-child(2), .law-call-wave i:nth-child(4) { height: 18px; }
.law-call-wave i:nth-child(3) { height: 29px; }
.law-call-screen.is-ringing .law-call-wave i { animation: law-call-wave 1.2s ease-in-out infinite alternate; }
.law-call-screen.is-ringing .law-call-wave i:nth-child(even) { animation-delay: -.65s; }
.law-call-screen.is-ringing .law-call-portrait { animation: law-call-pulse 2.1s ease-out infinite; }
.law-call-screen.is-connected .law-call-wave { display: none; }
.law-call-greeting { width: 100%; max-width: 345px; margin-top: 25px; padding: 18px; border: 1px solid #527175; border-radius: 14px; background: #ffffff08; }
.law-call-greeting strong { display: block; color: #fff; font-size: 15px; }
.law-call-greeting p { margin: 8px 0 0; color: #d4dee3; font-size: 13px; line-height: 1.7; }
.law-call-controls { display: flex; justify-content: center; gap: 34px; margin-top: 26px; }
.law-call-controls button { display: flex; align-items: center; flex-direction: column; gap: 9px; min-width: 86px; max-width: 140px; padding: 0; border: 0; background: transparent; color: #fff; font-size: 12px; line-height: 1.4; }
.law-call-control-icon { display: grid; place-items: center; width: 57px; height: 57px; border: 1px solid #789899; border-radius: 50%; background: #ffffff0c; }
.law-call-controls svg { width: 24px; height: 24px; }
.law-call-end .law-call-control-icon { border-color: #2ec4b6; background: #2ec4b6; color: #06131b; }
.law-call-end svg { transform: rotate(135deg); }
.law-call-controls button:hover .law-call-control-icon { box-shadow: 0 0 0 4px #2ec4b62b; }
.law-call-sound .law-sound-slash, .law-call-sound[aria-pressed="true"] .law-sound-waves { display: none; }
.law-call-sound[aria-pressed="true"] .law-sound-slash { display: block; }
.law-call-sound[aria-pressed="true"] .law-call-control-icon { background: #fff; color: #06131b; }
.law-call-disclosure { margin: 25px 0 0; color: #b5cccf; font-size: 10px; line-height: 1.6; }
.law-call-audio-note { max-width: 290px; margin: 12px 0 0; color: #d4dee3; font-size: 11px; line-height: 1.5; }
@keyframes law-call-wave { to { transform: scaleY(.4); opacity: .55; } }
@keyframes law-call-pulse { 0% { box-shadow: 0 0 0 10px #2ec4b622; } 100% { box-shadow: 0 0 0 26px #2ec4b600; } }
.law-chat-head { display: flex; align-items: center; gap: 12px; padding: 22px 24px; border-bottom: 1px solid #d4dee3; background: #fff; }
.law-avatar-frame { position: relative; flex: 0 0 auto; display: block; width: 48px; height: 48px; overflow: hidden; border: 1px solid #bdddd7; border-radius: 50%; background: #dff1ed; }
.law-avatar { display: block; width: 100%; height: 100%; object-fit: cover; }
.law-chat-head > div { min-width: 0; }
.law-chat-head h3 { margin: 0 0 4px; color: #06131b; font-size: 17px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.law-status { display: flex; align-items: center; gap: 6px; color: #47545c; font-size: 11px; line-height: 1.4; }
.law-status::before { content: ""; width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: #159a91; }
.law-reset { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto; margin-inline-start: auto; padding: 0; border: 1px solid #d4dee3; border-radius: 50%; background: #fff; color: #06131b; font-size: 22px !important; line-height: 1; }
.law-reset:hover { border-color: #159a91; background: #edf7f4; }
.law-chat-body { flex: 1; padding: 22px 24px; }
.law-chat-label { margin: 0 0 17px; color: #47545c; font-size: 9px; font-weight: 600; line-height: 1.5; text-align: center; letter-spacing: .15em; }
.law-welcome { padding: 18px; border: 1px solid #d4dee3; border-radius: 2px 17px 17px; background: #fff; box-shadow: 0 3px 12px #06131b08; }
.law-message-label { color: #159a91; font-size: 9px; font-weight: 700; line-height: 1.4; letter-spacing: .13em; }
.law-welcome h4 { margin: 8px 0 11px; color: #06131b; font-size: 23px; font-weight: 600; line-height: 1.25; letter-spacing: -.035em; }
.law-welcome p { margin: 0; color: #47545c; font-size: 13px; line-height: 1.65; }
.law-welcome .law-preview-note { margin-top: 12px; padding-top: 11px; border-top: 1px solid #d4dee3; font-size: 11px; line-height: 1.6; }
.law-prompts { margin-top: 17px; }
.law-prompts > p { margin: 0 0 8px; color: #47545c; font-size: 11px; line-height: 1.5; }
.law-prompts button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 42px; margin-top: 7px; padding: 10px 12px; border: 1px solid #d4dee3; border-radius: 8px; background: transparent; color: #06131b; font-size: 12px; line-height: 1.5; text-align: start; transition: background .15s, border-color .15s; }
.law-prompts button:hover { border-color: #159a91; background: #e7f3ef; }
.law-prompts button span { min-width: 0; color: inherit; font-size: inherit; }
.law-prompts button b { flex: 0 0 auto; color: #159a91; font-size: 17px; font-weight: 400; }
.law-user-message { margin: 18px 0 12px; padding: 13px 16px; border-radius: 14px 2px 14px 14px; background: #112d36; color: #fff; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; white-space: pre-wrap; }
.law-response { padding: 15px; border: 1px solid #d4dee3; border-inline-start: 3px solid #2ec4b6; border-radius: 2px 12px 12px; background: #fff; color: #47545c; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.law-response strong { color: #06131b; }
.law-response p { margin: 6px 0 0; }
.law-composer-area { padding: 20px 24px 23px; border-top: 1px solid #d4dee3; background: #fff; }
.law-form { margin: 0; }
.law-form label { display: block; margin-bottom: 9px; color: #06131b; font-size: 12px; font-weight: 600; }
.law-compose { padding: 10px; border: 1px solid #aebbc2; border-radius: 11px; background: #fff; }
.law-compose:focus-within { border-color: #159a91; box-shadow: 0 0 0 3px #2ec4b622; }
.law-compose textarea { display: block; width: 100%; min-height: 57px; max-height: 150px; margin: 0 0 7px; padding: 0; resize: vertical; border: 0; border-radius: 0; outline: 0; box-shadow: none; background: transparent; color: #06131b; font-size: 14px; line-height: 1.5; }
.law-compose textarea::placeholder { color: #64727a; opacity: 1; }
.law-compose textarea:focus-visible { outline: none; }
.law-compose button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 42px; padding: 10px 13px; border: 0; border-radius: 6px; background: #2ec4b6; color: #06131b; font-size: 13px; font-weight: 700; line-height: 1.4; text-align: start; }
.law-compose button:hover { background: #5ee3d8; }
.law-privacy { margin: 9px 0 13px; color: #47545c; font-size: 10px; line-height: 1.5; }
.law-guide-link { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 42px; margin-bottom: 12px; padding: 10px 14px; border: 1px solid #06131b; border-radius: 6px; background: #06131b; color: #fff; font-size: 12px; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; }
.law-guide-link:hover { background: #112d36; border-color: #159a91; }
.law-team-link { display: block; color: #47545c; font-size: 11px; line-height: 1.5; text-align: center; text-decoration: underline; text-underline-offset: 4px; }
.law-team-link:hover { color: #06131b; }
.law-feedback { margin: 14px 0 0; color: #47545c; font-size: 12px; line-height: 1.6; }

.law-portal[dir="rtl"], .law-portal[dir="rtl"] :is(h2, h3, h4, button, textarea, select) { font-family: "Adelle Sans ARA", Tahoma, sans-serif; letter-spacing: 0; }
.law-portal[dir="rtl"] :is(.law-eyebrow, .law-message-label, .law-chat-label, .law-portal-heading small) { letter-spacing: 0; }
.law-portal[dir="rtl"] :is(.law-visual-copy, .law-visual-note) { direction: rtl; text-align: right; }
.law-portal[dir="rtl"] .law-visual-copy h3 { line-height: 1.3; }
.law-panel[dir="rtl"] .law-welcome { border-radius: 17px 2px 17px 17px; }
.law-panel[dir="rtl"] .law-user-message { border-radius: 2px 14px 14px 14px; }
.law-panel[dir="rtl"] .law-response { border-radius: 12px 2px 12px 12px; }

@media (min-width: 1600px) {
  .law-visual-copy { top: 54px; }
  .law-chat-head, .law-chat-body { padding: 24px 28px; }
  .law-composer-area { padding: 22px 28px 25px; }
}

@media (min-width: 861px) {
  .law-visual { position: sticky; top: 104px; align-self: start; height: 680px; }
}

@media (min-width: 861px) and (max-width: 1150px) {
  .law-portal { width: calc(100vw - 32px); }
  .law-portal-header { gap: 17px; padding: 17px 22px; }
  .law-brand-logo { width: 118px; }
  .law-portal-heading { padding-inline-start: 17px; }
  .law-portal-heading h2 { font-size: 17px; }
  .law-portal-tools { gap: 15px; }
  .law-country-label { gap: 7px; font-size: 11px; }
  .law-country-label select { max-width: 165px; font-size: 12px; }
  .law-stage { grid-template-columns: minmax(0, 1.7fr) minmax(330px, 1fr); }
  .law-visual-copy { width: 73%; top: 37px; }
  .law-visual-copy h3 { font-size: 37px; }
  .law-visual-description { max-width: 310px; font-size: 15px; }
  .law-map { left: -5%; bottom: 90px; width: 90%; }
  .law-character { right: -7%; height: 65%; max-width: 66%; }
  .law-visual-note { max-width: 44%; }
  .law-chat-head, .law-chat-body, .law-composer-area { padding-inline: 20px; }
  .law-chat-head h3 { font-size: 16px; }
}

@media (max-width: 860px) {
  .law-call-active .law-visual { display: none; }
  .law-portal { width: calc(100vw - 24px); border-radius: 8px; }
  .law-portal-header { gap: 13px; min-height: 84px; padding: 15px 18px; flex-wrap: wrap; }
  .law-brand-logo { width: 106px; height: 34px; }
  .law-portal-heading { flex: 1; padding-inline-start: 13px; }
  .law-portal-heading h2 { font-size: 17px; }
  .law-portal-heading small { font-size: 9px; }
  .law-portal-tools { gap: 12px; }
  .law-country-label { font-size: 0; }
  .law-country-label select { max-width: 165px; padding: 8px 10px; font-size: 12px; }
  .law-close { width: 38px; height: 38px; }
  .law-stage { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .law-visual { min-height: 410px; }
  .law-visual-copy { width: 60%; max-width: 370px; top: 29px; }
  .law-eyebrow { margin-bottom: 12px; font-size: 10px; letter-spacing: .09em; }
  .law-visual-copy h3 { margin-bottom: 13px; font-size: clamp(29px, 5.4vw, 39px); }
  .law-visual-description { max-width: 290px; font-size: 14px; line-height: 1.55; }
  .law-map { left: 5%; bottom: 38px; width: 55%; max-width: 360px; }
  .law-character { right: 2%; height: 90%; max-width: 46%; }
  .law-visual-note { bottom: 20px; max-width: 49%; }
  .law-visual-note span { font-size: 11px; }
  .law-visual-note p { font-size: 10px; }
  .law-chat-head, .law-chat-body { padding: 22px 24px; }
  .law-chat-head h3 { font-size: 18px; }
  .law-chat-body { flex: 0 1 auto; }
  .law-welcome h4 { font-size: 24px; }
  .law-welcome p { font-size: 14px; }
  .law-prompts button { font-size: 13px; }
  .law-compose textarea { font-size: 16px; }
  .law-composer-area { padding: 22px 24px 26px; }
}

@media (max-width: 580px) {
  .law-portal { width: calc(100vw - 16px); }
  .law-portal-header { gap: 10px; padding: 13px 15px; }
  .law-brand-logo { width: 96px; }
  .law-portal-heading { padding-inline-start: 10px; }
  .law-portal-heading h2 { font-size: 15px; }
  .law-portal-tools { width: 100%; justify-content: space-between; margin-inline-start: 0; }
  .law-country-label { flex: 1; gap: 10px; font-size: 11px; }
  .law-country-label select { flex: 1; max-width: 225px; }
  .law-close { width: 36px; height: 36px; }
  .law-visual { min-height: 455px; }
  .law-visual-copy { width: 66%; top: 25px; }
  .law-eyebrow { max-width: 215px; font-size: 9px; }
  .law-visual-copy h3 { max-width: 225px; font-size: 29px; }
  .law-visual-description { max-width: 214px; font-size: 13px; line-height: 1.55; }
  .law-map { left: -9%; bottom: 28px; width: 85%; max-width: 300px; opacity: .34; }
  .law-character { right: -6%; height: 59%; max-width: 56%; }
  .law-visual-note { bottom: 18px; max-width: 48%; padding-inline-start: 8px; }
  .law-visual-note span { font-size: 10px; line-height: 1.4; }
  .law-visual-note p { font-size: 9px; line-height: 1.4; }
  .law-chat-head, .law-chat-body, .law-composer-area { padding-inline: 19px; }
  .law-call-invitation { padding-inline: 19px; }
  .law-call-screen { min-height: 650px; padding: 30px 22px; }
  .law-call-screen h3 { font-size: 25px; }
  .law-call-badge { margin-bottom: 28px; }
  .law-portal[dir="rtl"] .law-visual-copy h3 { font-size: 28px; }
}

@media (max-height: 900px) {
  .law-call-screen { min-height: 0; padding: 20px; }
  .law-call-badge { margin-bottom: 14px; padding: 4px 10px; font-size: 9px; }
  .law-call-portrait { width: 78px; height: 78px; margin-bottom: 18px; }
  .law-call-portrait-phone { width: 28px; height: 28px; }
  .law-call-portrait-phone svg { width: 15px; height: 15px; }
  .law-call-overline, .law-call-wave, .law-call-copy { display: none; }
  .law-call-screen h3 { font-size: 21px; }
  .law-call-status { margin-top: 12px; font-size: 16px; }
  .law-call-controls { margin-top: 22px; }
  .law-call-control-icon { width: 48px; height: 48px; }
  .law-call-disclosure { margin-top: 18px; font-size: 9px; }
  .law-call-greeting { margin-top: 17px; padding: 14px; }
  .law-call-greeting p { font-size: 12px; }
  .law-call-screen.is-connected .law-call-portrait { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .law-portal, .law-portal * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
