.overseas-page { --overseas-blue: #3e63f4; --overseas-cyan: #2ecbd7; --overseas-ink: #122127; --overseas-line: #dfeaec; --overseas-band: #f3f8f9; overflow-x: hidden; }
.overseas-page h1,.overseas-page h2,.overseas-page h3 { text-wrap: balance; }
.overseas-page .nav > a[aria-current="page"]::before { right: 0; }
.overseas-page .nav > a[aria-current="page"] { color: #168e9c; }
.overseas-page .overseas-arrow { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.overseas-hero { padding-top: 112px; }
.overseas-hero-grid { display: grid; grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr); gap: clamp(32px, 4vw, 60px); align-items: center; padding: 40px 0 44px; }
.overseas-hero-copy { padding: 30px 0 20px; }
.overseas-hero-copy .kicker { margin-bottom: 24px; }
.overseas-hero h1 { max-width: 9.6em; font-size: clamp(46px, 5.6vw, 78px); line-height: 1.12; font-weight: 300; letter-spacing: -.045em; }
.overseas-hero-copy > p { max-width: 530px; margin-top: 30px; font-size: 17px; line-height: 1.9; color: #61767c; }
.overseas-hero-copy .actions { margin-top: 36px; }
.overseas-globe { position: relative; aspect-ratio: 600 / 500; width: 100%; min-height: 440px; color: #55747b; }
.globe-label { position: absolute; top: 0; z-index: 2; color: #81969a; font-family: Manrope,sans-serif; font-size: 10px; letter-spacing: .16em; }
.globe-label-top { left: 3%; }
.globe-label-top span { display: inline-block; width: 5px; height: 5px; margin-left: 8px; border-radius: 50%; background: var(--overseas-cyan); box-shadow: 0 0 0 5px #2ecbd71b; animation: globe-pulse 2.8s ease-in-out infinite; }
.globe-lines { position: absolute; inset: 4% 0 3%; width: 100%; height: 93%; overflow: visible; }
.globe-ring { fill: none; stroke: #d5e8eb; stroke-width: 1; }
.ring-b { stroke-dasharray: 2 8; opacity: .8; }
.globe-route { fill: none; stroke: url(#ocean-line); stroke-width: 1.5; stroke-dasharray: 9 14; animation: route-drift 8s linear infinite; }
.route-two { animation-delay: -2.5s; }.route-three { animation-delay: -5.5s; }
.globe-node { fill: var(--overseas-cyan); filter: drop-shadow(0 0 5px #2ecbd788); animation: node-breathe 3s ease-in-out infinite; }
.node-b { animation-delay: -1s; }.node-c { animation-delay: -1.9s; }.node-d { animation-delay: -.5s; }
.globe-core { fill: #fff; stroke: #39c9d4; stroke-width: 1.5; }
.globe-center { position: absolute; top: 50%; left: 50%; display: flex; width: 148px; height: 148px; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border: 1px solid #a5dfe5; border-radius: 50%; background: #fff; box-shadow: 0 20px 50px #4baab51c; transform: translate(-50%,-50%); }
.globe-center span { color: #82a1a6; font: 10px Manrope,sans-serif; letter-spacing: .2em; }.globe-center strong { color: var(--overseas-ink); font-size: 20px; font-weight: 300; }.globe-center small { color: #99a9ac; font-size: 10px; }
.globe-card { position: absolute; z-index: 3; display: flex; min-width: 108px; flex-direction: column; gap: 5px; padding: 12px 15px; border: 1px solid #d7e7e9; border-radius: 8px; background: #fff; box-shadow: 0 12px 28px #4b8e9b12; transition: transform .3s ease, border-color .3s ease; }.globe-card:hover { border-color: #83ccd2; transform: translateY(-4px); }
.globe-card b { color: #2d4d53; font-size: 14px; font-weight: 400; }.globe-card small { color: #9caeb1; font: 9px Manrope,sans-serif; letter-spacing: .02em; }.globe-card-a { left: 0; top: 25%; }.globe-card-b { right: 0; top: 21%; }.globe-card-c { right: 2%; bottom: 22%; }.globe-card-d { left: 1%; bottom: 19%; }
.overseas-globe figcaption { position: absolute; right: 2%; bottom: 0; left: 2%; color: #93a4a7; font-size: 11px; text-align: center; }
.overseas-signal { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 52px; border-top: 1px solid var(--overseas-line); color: #799196; font: 10px Manrope,sans-serif; letter-spacing: .08em; }.overseas-signal i { width: 26px; height: 1px; background: #b5dfe3; }
.overseas-section { padding: 128px 0; }.overseas-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(290px, .78fr); align-items: end; gap: 100px; }.overseas-heading h2 { margin-top: 16px; font-size: clamp(34px, 4.3vw, 57px); font-weight: 300; line-height: 1.3; letter-spacing: -.035em; }.overseas-heading > p { max-width: 470px; font-size: 15px; line-height: 1.9; color: #6c7e82; }
.overseas-service-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-top: 66px; }.overseas-service-card { display: flex; min-height: 460px; flex-direction: column; padding: 28px 24px 24px; border-top: 1px solid #bcdfe4; border-bottom: 1px solid var(--overseas-line); transition: background .35s ease, transform .35s ease, border-color .35s ease; }.overseas-service-card:hover,.overseas-service-card.is-featured { background: #f2f9fa; border-color: #9ed5db; transform: translateY(-4px); }.overseas-card-icon { display: grid; place-items: center; width: 54px; height: 54px; margin-top: 12px; color: #299aa8; border: 1px solid #a9dce2; border-radius: 50%; }.overseas-card-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }.overseas-service-card h3 { margin-top: 25px; font-size: 27px; font-weight: 300; }.overseas-service-card p { margin-top: 16px; color: #687b80; font-size: 13px; line-height: 1.8; }.overseas-service-card ul { display: grid; gap: 9px; padding: 0; margin: 22px 0 0; color: #829296; font-size: 12px; list-style: none; }.overseas-service-card li { position: relative; padding-left: 14px; }.overseas-service-card li::before { position: absolute; left: 0; top: .55em; width: 4px; height: 4px; border-radius: 50%; background: #49bdc7; content: ''; }.overseas-service-card a { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 26px; color: #2d4d53; font-size: 13px; }.overseas-service-card a span { color: #25a5b1; font-size: 17px; transition: transform .3s ease; }.overseas-service-card a:hover span { transform: translateX(5px); }
.overseas-stack { padding: 110px 0; background: var(--overseas-band); }.overseas-stack-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0, .9fr); align-items: center; gap: 110px; }.overseas-stack-visual { position: relative; height: 450px; }.stack-caption { position: absolute; top: 0; left: 3%; color: #9badb0; font: 10px Manrope,sans-serif; letter-spacing: .14em; }.stack-layer { position: absolute; left: 10%; display: flex; width: 68%; height: 70px; align-items: center; justify-content: space-between; padding: 0 24px; border: 1px solid #acdce2; border-radius: 8px; color: #2d4d53; background: #fff; box-shadow: 0 12px 24px #568e9911; transition: transform .4s ease, background .4s ease; }.stack-layer:hover { transform: translateX(15px); background: #faffff; }.stack-layer b { font-size: 17px; font-weight: 300; }.stack-layer small { color: #98aeb1; font: 10px Manrope,sans-serif; }.layer-one { top: 15%; left: 14%; }.layer-two { top: 31%; left: 8%; }.layer-three { top: 47%; left: 2%; }.layer-four { top: 63%; left: 8%; border-color: #6ccbd2; background: #eafffc; }.stack-beam { position: absolute; top: 19%; right: 11%; width: 1px; height: 67%; background: linear-gradient(#b0e1e4,#3ac4d0,#b0e1e4); }.stack-beam::before,.stack-beam::after { position: absolute; left: -4px; width: 9px; height: 9px; border: 1px solid #4bc7d0; border-radius: 50%; background: #f3f8f9; content: ''; }.stack-beam::before { top: 15%; }.stack-beam::after { bottom: 13%; }.overseas-stack-copy h2 { max-width: 9em; margin-top: 17px; font-size: clamp(33px, 4vw, 52px); font-weight: 300; line-height: 1.3; }.overseas-stack-copy > p { max-width: 470px; margin-top: 28px; color: #6d7e82; font-size: 15px; line-height: 1.9; }.stack-points { display: grid; gap: 16px; margin-top: 32px; }.stack-points span { display: grid; grid-template-columns: 80px 1fr; gap: 15px; color: #7a8c90; font-size: 13px; line-height: 1.6; }.stack-points b { color: #2b5259; font-weight: 400; }
.overseas-search { background: #fff; }.overseas-search-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 62px; }.overseas-search-card { padding: 34px 38px 32px; border: 1px solid var(--overseas-line); border-radius: 10px; transition: border-color .3s ease, box-shadow .3s ease; }.overseas-search-card:hover { border-color: #8bcfd6; box-shadow: 0 18px 50px #498f9a12; }.search-card-top { display: flex; align-items: center; justify-content: flex-end; color: #9aabad; font: 11px Manrope,sans-serif; letter-spacing: .1em; }.search-card-top em { color: #4caab4; font-style: normal; font-size: 15px; }.overseas-search-card h3 { margin-top: 50px; font-size: 31px; font-weight: 300; }.overseas-search-card p { max-width: 440px; margin-top: 16px; color: #6e8084; font-size: 14px; line-height: 1.85; }.search-flow { display: flex; align-items: center; gap: 12px; margin-top: 40px; color: #3d6269; font-size: 13px; }.search-flow i { color: #46bfca; font-style: normal; }.overseas-search-card a { display: inline-flex; align-items: center; gap: 12px; margin-top: 40px; color: #304e54; font-size: 13px; }.overseas-search-card a span { color: #20a0ad; font-size: 17px; }
.overseas-process { padding: 118px 0 125px; background: var(--overseas-band); }.overseas-process-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 0; margin: 65px 0 0; list-style: none; }.overseas-process-list li { position: relative; min-height: 270px; padding: 28px 28px 0 0; border-top: 1px solid #bbdce1; }.overseas-process-list li::before { position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #43bbc5; content: ''; }.overseas-process-list li + li { padding-left: 20px; border-left: 1px solid #d6e8ea; }.overseas-process-list span { color: #6ca5ad; font: 12px Manrope,sans-serif; }.overseas-process-list h3 { margin-top: 28px; font-size: 22px; font-weight: 300; }.overseas-process-list p { margin-top: 16px; color: #718286; font-size: 13px; line-height: 1.8; }.overseas-process-list small { display: block; margin-top: 20px; color: #9badb0; font-size: 11px; }
.overseas-ads { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: center; gap: 100px; padding-top: 112px; padding-bottom: 112px; border-bottom: 1px solid var(--overseas-line); }.overseas-ads-mark { display: flex; align-items: center; justify-content: center; gap: 19px; color: #81a4aa; font: 38px Manrope,sans-serif; letter-spacing: -.06em; }.overseas-ads-mark i { width: 45px; height: 1px; background: #6ec7cf; }.overseas-ads h2 { margin-top: 16px; font-size: clamp(34px,4vw,52px); font-weight: 300; line-height: 1.3; }.overseas-ads p { max-width: 590px; margin-top: 24px; color: #6d7e82; font-size: 15px; line-height: 1.9; }.overseas-ads .geo-text-link { margin-top: 20px; }
.overseas-fit { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: end; gap: 100px; padding-top: 110px; padding-bottom: 125px; }.overseas-fit-head h2 { margin-top: 16px; font-size: clamp(35px,4.2vw,55px); font-weight: 300; line-height: 1.3; }.overseas-fit-head p { max-width: 430px; margin-top: 22px; color: #708185; font-size: 14px; line-height: 1.85; }.overseas-fit-tags { display: flex; flex-wrap: wrap; gap: 12px; align-content: flex-end; }.overseas-fit-tags span { padding: 13px 20px; border: 1px solid #d7e8ea; border-radius: 999px; color: #55767c; font-size: 13px; transition: color .25s ease, border-color .25s ease, background .25s ease; }.overseas-fit-tags span:hover { color: #168e9c; border-color: #8bcfd6; background: #f0fbfc; }
.overseas-faq { padding-top: 104px; }.overseas-faq .geo-faq-heading h2 { max-width: none; font-size: clamp(34px,4vw,52px); }.overseas-faq .geo-faq-item summary { font-size: 18px; }

@keyframes route-drift { to { stroke-dashoffset: -180; } } @keyframes node-breathe { 0%,100% { opacity: .55; transform: scale(.8); transform-origin: center; } 50% { opacity: 1; transform: scale(1.35); transform-origin: center; } } @keyframes globe-pulse { 50% { opacity: .35; box-shadow: 0 0 0 8px #2ecbd70d; } }
@media (max-width: 1100px) { .overseas-hero-grid { gap: 30px; }.overseas-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.overseas-service-card { min-height: 430px; }.overseas-stack-grid,.overseas-ads,.overseas-fit { gap: 55px; }.overseas-process-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 0; }.overseas-process-list li:nth-child(3) { border-left: 0; padding-left: 0; } }
@media (max-width: 760px) { .overseas-hero { padding-top: 32px; }.overseas-hero-grid { grid-template-columns: 1fr; padding-top: 30px; }.overseas-hero h1 { font-size: clamp(40px,10vw,58px); }.overseas-hero-copy > p { font-size: 15px; }.overseas-globe { min-height: 350px; }.globe-card { min-width: 90px; padding: 9px 11px; }.globe-card b { font-size: 12px; }.globe-card small { font-size: 8px; }.globe-center { width: 118px; height: 118px; }.globe-center strong { font-size: 17px; }.overseas-signal { gap: 8px; font-size: 8px; }.overseas-signal i { width: 12px; }.overseas-section { padding: 82px 0; }.overseas-heading { grid-template-columns: 1fr; gap: 24px; }.overseas-heading h2 { font-size: 36px; }.overseas-service-grid,.overseas-search-grid { grid-template-columns: 1fr; gap: 18px; margin-top: 40px; }.overseas-service-card { min-height: 0; padding: 24px 21px; }.overseas-card-icon { margin-top: 0; }.overseas-stack { padding: 80px 0; }.overseas-stack-grid { grid-template-columns: 1fr; gap: 45px; }.overseas-stack-visual { height: 350px; transform: scale(.92); transform-origin: left center; }.overseas-stack-copy h2 { font-size: 36px; }.overseas-process { padding: 80px 0; }.overseas-process-list { grid-template-columns: 1fr; margin-top: 42px; }.overseas-process-list li,.overseas-process-list li + li,.overseas-process-list li:nth-child(3) { min-height: 0; padding: 24px 0 30px; border-top: 1px solid #bbdce1; border-left: 0; }.overseas-process-list li:first-child { padding-top: 24px; }.overseas-ads,.overseas-fit { grid-template-columns: 1fr; gap: 34px; padding-top: 80px; padding-bottom: 80px; }.overseas-ads-mark { justify-content: flex-start; font-size: 30px; }.overseas-fit { align-items: start; }.overseas-fit-tags { gap: 8px; }.overseas-fit-tags span { padding: 11px 15px; font-size: 12px; }.overseas-faq { padding-top: 70px; } }
@media (prefers-reduced-motion: reduce) { .globe-route,.globe-node,.globe-label-top span { animation: none; }.overseas-service-card,.globe-card { transition: none; } }

/* The hero now uses a softly lit 3D globe as the visual anchor. The surrounding
   orbit lines keep the existing editorial language while the sphere supplies a
   clearer global cue. */
.virtual-earth { position: absolute; z-index: 1; inset: 10% 16% 12%; display: grid; place-items: center; pointer-events: none; }
.earth-sphere { position: relative; width: min(48vw, 236px); aspect-ratio: 1; overflow: hidden; border: 1px solid #8de2e7; border-radius: 50%; background: radial-gradient(circle at 34% 26%, #edffff 0%, #a9e7e8 17%, #3d9fc0 52%, #164d79 78%, #0c274f 100%); box-shadow: inset -25px -18px 45px #082d5a8a, inset 20px 13px 30px #ffffff80, 0 0 45px #4dcbd944; animation: earth-float 7s ease-in-out infinite; }
.earth-sphere::before { position: absolute; inset: -22%; border-radius: 50%; background: repeating-linear-gradient(90deg, transparent 0 23px, #c4f7f46b 24px 25px); content: ''; transform: rotate(17deg); animation: earth-grid-x 10s linear infinite; }
.earth-sphere::after { position: absolute; inset: -12%; border-radius: 50%; background: repeating-linear-gradient(0deg, transparent 0 30px, #d8ffff3e 31px 32px); content: ''; transform: rotate(-12deg); animation: earth-grid-y 12s linear infinite; }
.earth-land { position: absolute; z-index: 2; display: block; background: linear-gradient(145deg, #b7f4e9d9, #63c5c890 64%, #2279a280); filter: drop-shadow(0 0 5px #a3fff466); animation: land-drift 10s ease-in-out infinite; }
.land-one { top: 28%; left: 12%; width: 35%; height: 19%; clip-path: polygon(0 23%, 26% 0, 48% 18%, 72% 12%, 100% 45%, 75% 70%, 56% 63%, 36% 100%, 13% 75%); }
.land-two { top: 45%; right: 11%; width: 37%; height: 24%; clip-path: polygon(8% 20%, 40% 0, 71% 17%, 100% 14%, 83% 48%, 91% 77%, 51% 100%, 21% 76%, 0 52%); animation-delay: -3s; }
.land-three { bottom: 13%; left: 34%; width: 29%; height: 16%; clip-path: polygon(0 29%, 31% 0, 77% 17%, 100% 52%, 68% 100%, 29% 84%); animation-delay: -6s; }
.earth-shine { position: absolute; z-index: 4; top: 8%; left: 13%; width: 42%; height: 27%; border-radius: 50%; background: #fff8; filter: blur(8px); transform: rotate(-28deg); }
.globe-lines { z-index: 2; }
.globe-center { z-index: 4; border-color: #8de5e8; color: #efffff; background: #11476f9c; box-shadow: inset 0 0 22px #8beef433, 0 0 32px #48d8e633; backdrop-filter: blur(3px); }
.globe-center span,.globe-center small { color: #c1eef0; }
.globe-center strong { color: #fff; }
.globe-card { z-index: 5; }

/* Make the growth path read as a prominent interface element instead of a
   small caption under the hero. */
.overseas-signal { min-height: 82px; gap: 12px; border-top: 0; border-bottom: 1px solid var(--overseas-line); font-family: inherit; letter-spacing: 0; }
.signal-item { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; padding: 0 15px; border: 1px solid #c9e4e7; border-radius: 999px; color: #466c72; background: #fbffff; font-size: 13px; box-shadow: 0 7px 20px #4c9ea611; }
.signal-item b { color: #4abcc6; font: 10px Manrope, sans-serif; letter-spacing: .08em; }
.signal-link { width: auto; height: auto; color: #54c4cc; background: transparent; font-style: normal; font-size: 17px; }

/* Keep the two-line headline balanced so the final character never sits alone. */
.overseas-heading h2 { font-size: clamp(34px, 3.3vw, 44px); letter-spacing: -.055em; }
.overseas-heading h2 span { display: block; white-space: normal; }
@media (min-width: 1101px) { .overseas-heading h2 span { white-space: nowrap; } }

/* Service icons gently draw attention on their own, then respond more clearly
   when a user moves across a card. */
.overseas-card-icon svg { animation: service-icon-float 4.5s ease-in-out infinite; }
.overseas-service-card:nth-child(2) .overseas-card-icon svg { animation-delay: -1.1s; }
.overseas-service-card:nth-child(3) .overseas-card-icon svg { animation-delay: -2.2s; }
.overseas-service-card:nth-child(4) .overseas-card-icon svg { animation-delay: -3.4s; }
.overseas-service-card:hover .overseas-card-icon { box-shadow: 0 0 0 7px #35c1cc15, 0 0 24px #35c1cc33; }
.overseas-service-card:hover .overseas-card-icon svg { animation-play-state: paused; transform: scale(1.12) rotate(-4deg); }

/* Platform badges keep search and AI ecosystems visible without adding a
   second navigation pattern. */
.platform-logos { display: flex; flex-wrap: wrap; gap: 8px; min-height: 34px; margin-top: 25px; }
.platform-logo { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 4px 9px; border: 1px solid #dcebed; border-radius: 6px; color: #607e84; background: #f8fcfc; font-size: 11px; transition: border-color .25s ease, background .25s ease, transform .25s ease; }
.platform-logo:hover { border-color: #8bd1d7; background: #fff; transform: translateY(-2px); }
.platform-logo img { width: 20px; height: 20px; object-fit: contain; }
.platform-logo-text b { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 5px; color: #fff; font: 12px Manrope, sans-serif; }
.platform-logo-yahoo b { color: #fff; background: #5b3aa4; }.platform-logo-openai b { background: #111; }.platform-logo-gemini b { background: linear-gradient(135deg,#4b74ff,#9a53d8); }.platform-logo-claude b { color: #563a27; background: #eadac7; }.platform-logo-perplexity b { background: #1a97bd; }
.overseas-search-card h3 { margin-top: 31px; }

/* Consultant-led strategy is represented by a human working scene inside the
   content stack. The stacked system remains visible above the image. */
.stack-consult-photo { position: absolute; z-index: 1; right: 0; bottom: 3%; width: 44%; height: 44%; overflow: hidden; border: 1px solid #b7dfe3; border-radius: 10px; box-shadow: 0 18px 36px #4b858c1c; }
.stack-consult-photo::after { position: absolute; inset: 0; background: linear-gradient(145deg, #143f4d33, #0e697570); content: ''; }
.stack-consult-photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) hue-rotate(8deg); }
.stack-consult-photo span,.stack-consult-photo small { position: absolute; z-index: 2; left: 15px; color: #fff; }.stack-consult-photo span { bottom: 28px; font-size: 15px; }.stack-consult-photo small { bottom: 13px; color: #d0f2f1; font: 8px Manrope, sans-serif; letter-spacing: .08em; }
.stack-layer { z-index: 3; }

@keyframes earth-float { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-7px) rotate(2deg); } }
@keyframes earth-grid-x { to { transform: translateX(-38px) rotate(17deg); } }
@keyframes earth-grid-y { to { transform: translateY(28px) rotate(-12deg); } }
@keyframes land-drift { 0%,100% { transform: translateX(-4px); opacity: .75; } 50% { transform: translateX(8px); opacity: .98; } }
@keyframes service-icon-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }

@media (max-width: 760px) {
  .overseas-heading h2 span { white-space: normal; }
  .overseas-signal { min-height: 0; justify-content: flex-start; gap: 5px; padding: 18px 0; overflow-x: auto; }
  .signal-item { flex: 0 0 auto; min-height: 34px; padding: 0 10px; font-size: 11px; }
  .signal-link { flex: 0 0 auto; font-size: 13px; }
  .virtual-earth { inset: 12% 14% 17%; }
  .earth-sphere { width: min(52vw, 180px); }
  .platform-logos { margin-top: 20px; }
  .stack-consult-photo { right: 0; width: 53%; height: 40%; }
  .stack-consult-photo span { font-size: 12px; }
  .stack-consult-photo small { font-size: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .earth-sphere,.earth-sphere::before,.earth-sphere::after,.earth-land,.overseas-card-icon svg { animation: none; }
}

/* A larger, crisp dot map shares the hero with the headline. */
.global-growth-visual { min-height: 550px; aspect-ratio: auto; isolation: isolate; }
.global-map-title { position: absolute; top: 12px; left: 0; right: 0; color: #477a84; font-size: 30px; font-weight: 300; letter-spacing: .04em; text-align: center; }
.global-map-stage { position: absolute; top: 86px; left: 50%; width: 100%; aspect-ratio: 682 / 366; transform: translateX(-50%); }
.global-map-halo { position: absolute; inset: -8% -3%; background: radial-gradient(ellipse at 46% 52%, #78e4ee21, #b5e8fd0f 50%, transparent 72%); pointer-events: none; }
.global-map-grid { position: absolute; inset: -10% 0 -4%; background-image: linear-gradient(#60bec91a 1px, transparent 1px), linear-gradient(90deg, #60bec91a 1px, transparent 1px); background-size: 36px 36px; mask-image: radial-gradient(ellipse, #0008, transparent 68%); pointer-events: none; }
.global-map { position: relative; display: block; width: 100%; height: 100%; object-fit: contain; }
.global-card { position: absolute; z-index: 4; display: flex; align-items: center; gap: 10px; min-width: 112px; padding: 13px 18px; border: 1px solid #b9dfe6; border-radius: 10px; background: #ffffffdf; box-shadow: 0 8px 24px #3999b00d, inset 0 1px #fff; backdrop-filter: blur(8px); transition: border-color .3s ease, background .3s ease; }
.global-card::before { width: 5px; height: 5px; flex-shrink: 0; border-radius: 50%; background: #24bbce; box-shadow: 0 0 0 4px #24bbce12; content: ''; }
.global-card:hover { border-color: #55cbd5; background: #fff; }
.global-card b { color: #244f58; font-size: 16px; font-weight: 400; white-space: nowrap; }
.global-card-a { top: 57px; left: 0; }
.global-card-b { top: 60px; right: 0; }
.global-card-c { bottom: 10px; right: 1%; }
.global-card-d { bottom: 10px; left: 3%; }

/* Growth path: an oversized glass strip with a quiet, automatic focus state. */
.overseas-signal { position: relative; display: flex; align-items: stretch; justify-content: center; gap: 10px; min-height: 132px; padding: 23px clamp(14px, 4vw, 62px); overflow: hidden; border: 1px solid #c6e6ea; border-radius: 22px; background: linear-gradient(110deg, #f9ffffe8, #eefbfcba 54%, #f8ffffe8); box-shadow: 0 24px 60px #4c9ea914, inset 0 1px #fff; backdrop-filter: blur(14px); font-family: inherit; letter-spacing: 0; }
.overseas-signal::before { position: absolute; inset: 0; background: linear-gradient(110deg, transparent 18%, #ffffffa8 42%, transparent 65%); content: ''; transform: translateX(-100%); animation: signal-sheen 6s ease-in-out infinite; pointer-events: none; }
.signal-item { position: relative; z-index: 1; display: flex; flex: 1 1 0; min-width: 0; align-items: center; gap: 13px; min-height: 84px; padding: 15px 19px; border: 1px solid #c6e4e8; border-radius: 16px; color: #466c72; background: #ffffffa8; box-shadow: 0 12px 28px #4c9ea611, inset 0 1px #fff; transition: transform .55s cubic-bezier(.2,.7,.2,1), border-color .4s ease, background .4s ease, box-shadow .4s ease; }
.signal-item.is-active { border-color: #58cbd4; background: linear-gradient(145deg,#ffffffed,#e8fbfcdd); box-shadow: 0 14px 34px #37bfc72b, inset 0 1px #fff; transform: translateY(-7px); }
.signal-icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border: 1px solid #a9dfe5; border-radius: 13px; color: #2eabb8; background: linear-gradient(145deg,#ffffffcf,#cbf0f3a8); box-shadow: inset 0 1px #fff, 0 7px 18px #2faeba1b; backdrop-filter: blur(8px); transition: transform .55s ease, box-shadow .55s ease; }
.signal-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.2; }.signal-item.is-active .signal-icon { box-shadow: 0 0 0 7px #40c7d419, 0 0 28px #40c7d45c; transform: rotate(-6deg) scale(1.08); }
.signal-copy { display: grid; min-width: 0; gap: 4px; }.signal-copy b { color: #5db9c2; font: 10px Manrope,sans-serif; letter-spacing: .1em; }.signal-copy strong { overflow: hidden; color: #315b62; font-size: 15px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }.signal-copy small { color: #91a9ad; font: 9px Manrope,sans-serif; white-space: nowrap; }
.signal-link { position: relative; z-index: 1; display: grid; flex: 0 0 34px; width: 34px; place-items: center; background: transparent; }.signal-link::before { width: 100%; height: 1px; background: #95d6dd; content: ''; }.signal-link span { position: absolute; width: 7px; height: 7px; border: 1px solid #4cc3cd; border-radius: 50%; background: #fff; box-shadow: 0 0 0 5px #4cc3cd14; animation: signal-node-flow 2.4s ease-in-out infinite; }.signal-link:nth-of-type(2) span { animation-delay: -.8s; }.signal-link:nth-of-type(3) span { animation-delay: -1.6s; }
@keyframes signal-sheen { 0%,18% { transform: translateX(-100%); } 52%,100% { transform: translateX(100%); } } @keyframes signal-node-flow { 0%,100% { opacity: .3; transform: translateX(-11px); } 50% { opacity: 1; transform: translateX(11px); } }

/* Content stack: a larger, glass-like flow with a moving scan line. */
.glass-stack-visual { min-height: 520px; overflow: hidden; }.glass-stack-visual::before { position: absolute; inset: 7% 5% 2%; border: 1px solid #b8e0e5; border-radius: 30px; background: radial-gradient(circle at 30% 10%, #fff9, transparent 34%), linear-gradient(145deg,#ffffffb8,#e3f7f8a6); box-shadow: inset 0 1px #fff, 0 22px 48px #4d8a9514; content: ''; }.glass-stack-visual::after { position: absolute; inset: 10% 8% 8%; border: 1px solid #d1eaed; border-radius: 25px; content: ''; pointer-events: none; }
.glass-stack-visual .stack-caption { top: 0; left: 6%; z-index: 4; }.stack-flow-line { position: absolute; top: 20%; right: 10%; bottom: 16%; z-index: 2; width: 1px; background: linear-gradient(#96d9df, #40c0cb, #96d9df); }.stack-flow-line i { position: absolute; left: -5px; width: 11px; height: 11px; border: 1px solid #4ec7d0; border-radius: 50%; background: #fff; box-shadow: 0 0 0 6px #4ec7d016; animation: stack-node-pulse 3.4s ease-in-out infinite; }.stack-flow-line i:nth-child(1) { top: 12%; }.stack-flow-line i:nth-child(2) { top: 47%; animation-delay: -1.1s; }.stack-flow-line i:nth-child(3) { top: 80%; animation-delay: -2.2s; }
.stack-glass-card { position: absolute; z-index: 3; display: flex; width: 72%; height: 76px; align-items: center; gap: 16px; padding: 0 24px; border: 1px solid #9ed8df; border-radius: 17px; background: #ffffffe8; box-shadow: 0 17px 38px #477f891c, inset 0 1px #fff; backdrop-filter: blur(13px); transition: transform .55s cubic-bezier(.2,.7,.2,1), background .45s ease, border-color .45s ease; }.stack-glass-card b { color: #315b62; font-size: 19px; font-weight: 400; }.stack-glass-card small { margin-left: auto; color: #91a9ad; font: 10px Manrope,sans-serif; }.stack-card-dot { width: 9px; height: 9px; border-radius: 50%; background: #63d1d9; box-shadow: 0 0 0 7px #63d1d91c, 0 0 18px #63d1d9; }.stack-glass-one { top: 16%; left: 13%; }.stack-glass-two { top: 32%; left: 7%; }.stack-glass-three { top: 48%; left: 1%; }.stack-glass-four { top: 64%; left: 7%; border-color: #70cfd5; background: #eafffdef; }.stack-glass-card:hover { transform: translateX(17px); }.stack-scan-line { position: absolute; top: 15%; left: 0; z-index: 4; width: 84%; height: 1px; background: linear-gradient(90deg, transparent, #59ccd6, transparent); box-shadow: 0 0 18px #59ccd6; animation: stack-scan 5.6s ease-in-out infinite; pointer-events: none; }.stack-consult-photo { z-index: 1; right: 7%; bottom: 8%; width: 39%; height: 35%; opacity: .82; }.stack-consult-photo span { font-size: 13px; }.stack-consult-photo small { font-size: 7px; }
@keyframes stack-node-pulse { 0%,100% { opacity: .45; transform: scale(.75); } 50% { opacity: 1; transform: scale(1.2); } } @keyframes stack-scan { 0%,12% { transform: translateY(0); opacity: 0; } 25% { opacity: .85; } 82%,100% { transform: translateY(340px); opacity: 0; } }
@media (max-width: 1100px) { .signal-copy strong { font-size: 13px; }.signal-item { padding-inline: 12px; gap: 9px; }.signal-icon { flex-basis: 36px; width: 36px; height: 36px; }.signal-icon svg { width: 19px; height: 19px; } }
@media (max-width: 760px) { .overseas-signal { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; min-height: 0; padding: 13px; border-radius: 17px; }.signal-item { min-height: 65px; padding: 10px; }.signal-copy strong { font-size: 12px; }.signal-icon { flex-basis: 31px; width: 31px; height: 31px; border-radius: 10px; }.signal-link { display: none; }.glass-stack-visual { min-height: 420px; }.stack-glass-card { width: 78%; height: 63px; padding-inline: 15px; }.stack-glass-card b { font-size: 15px; }.stack-consult-photo { width: 47%; height: 32%; }.stack-flow-line { right: 7%; }.stack-scan-line { width: 88%; } }
@media (prefers-reduced-motion: reduce) { .overseas-signal::before,.signal-link span,.stack-flow-line i,.stack-scan-line { animation: none; }.signal-item.is-active { transform: none; } }

@media (min-width: 761px) and (max-width: 1100px) {
  .overseas-hero-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 32px; }
  .global-growth-visual { min-height: 470px; }
  .global-map-stage { top: 107px; }
  .global-card { min-width: 90px; padding: 11px 13px; }
  .global-card b { font-size: 14px; }
  .global-card-c,.global-card-d { bottom: 35px; }
}
@media (max-width: 760px) {
  .global-growth-visual { min-height: 0; height: auto; aspect-ratio: 1.2; max-width: 610px; margin-inline: auto; }
  .global-map-title { top: 0; font-size: 24px; }
  .global-map-stage { top: 24%; width: 100%; }
  .global-card { min-width: 0; padding: 8px 12px; gap: 8px; border-radius: 8px; }
  .global-card b { font-size: 13px; }
  .global-card-a,.global-card-b { top: 15%; }
  .global-card-c,.global-card-d { bottom: 0; }
}
@media (max-width: 380px) {
  .global-growth-visual { aspect-ratio: 1.05; }
  .global-map-stage { top: 29%; }
  .global-map-title { font-size: 22px; }
}
