🌐 Language / Region
Vì sao chọn BRCN · BRCN Studio
BRCN StudioOn the Ground in Europe
Tại sao BRCN Studio tồn tại · Câu chuyện đằng sau mô hình

Sản phẩm tốt vẫn có thể bị đình trệ tại Châu Âu. Vấn đề không chỉ nằm ở chất lượng sản phẩm.

BRCN Studio được xây dựng vì một quan sát lặp đi lặp lại cụ thể: Doanh nghiệp Việt Nam có các sản phẩm công nghệ công nghiệp thực sự mạnh mẽ đến châu Âu – và vẫn không thể tạo được đà kinh doanh. Sản phẩm không phải là vấn đề. Lớp kinh doanh xung quanh cuộc trao đổi nghiêm túc đầu tiên mới là vấn đề.

Vấn đề thực tế dẫn đến sự hình thành của BRCN

Nhiều năm kinh nghiệm trong lĩnh vực bán hàng B2B kỹ thuật trên các lĩnh vực robot, CAD/CAM, mô phỏng CNC và phần mềm sản xuất – hoạt động trên cả hai mặt phân phối và mặt nhà sản xuất – đã tiết lộ một mô hình thất bại nhất quán không liên quan gì đến chất lượng sản phẩm.

Các doanh nghiệp có sản phẩm xuất sắc sẽ tiếp cận các nhà phân phối châu Âu, tham dự các hội chợ thương mại, thu thập danh thiếp – và sau đó bị gián đoạn. Không phải vì sản phẩm đã bị từ chối. Bởi vì việc theo sát địa phương đã chết. Bởi vì câu hỏi hỗ trợ không thể được trả lời. Bởi vì đề xuất giá trị chưa sẵn sàng cho trường hợp chuyển tiếp nội bộ. Bởi vì không ai ở địa phương sở hữu bước tiếp theo.

Đồng thời, các doanh nghiệp châu Âu đang cố gắng thâm nhập vào thị trường châu Á đã phải đối mặt với một phiên bản phản chiếu của cùng một vấn đề: giả định của một nhà phân phối duy nhất, trao đổi email chậm chạp, sáu tháng bị gián đoạn lịch sự – và không có thông tin rõ ràng về việc vấn đề là do sản phẩm, loại đối tác hay thời điểm thị trường.

“Hầu hết các doanh nghiệp không mất một thị trường mới vì sản phẩm yếu kém. Họ mất đà phát triển vì lộ trình, tài liệu chứng minh năng lực và năng lực phát triển thị trường tại chỗ địa phương chưa sẵn sàng khi một đối tác nghiêm túc yêu cầu.”

Vì sao các lựa chọn thông thường chưa giải quyết được vấn đề?

Dịch vụ tư vấn tiếp thị phổ biến cung cấp tài liệu và khuyến nghị — nhưng để lại cho công ty tự thực hiện tiếp cận khách hàng một mình, bằng ngôn ngữ mà họ có thể không nói được, với các liên hệ mà họ chưa có.

Các chiến dịch phân phối rộng rãi tiếp cận thị trường với một đề xuất giá trị chưa sẵn sàng và đốt cháy những mối quan hệ tốt nhất trước khi lộ trình thậm chí còn được hiểu.

Việc tuyển dụng một nhân viên bán hàng địa phương quá sớm sẽ mang lại chi phí và cam kết đầy đủ về việc làm trước khi sự phù hợp giữa sản phẩm và thị trường cũng như lộ trình đối tác được xác nhận. Nếu việc thuê không thành công — hoặc lộ trình hóa ra là sai — chi phí sẽ rất đáng kể và quá trình đặt lại sẽ chậm.

BRCN Studio được thiết kế để lấp đầy khoảng trống giữa những lựa chọn đó: đủ sự hiện diện thương mại địa phương để bắt đầu các cuộc trò chuyện thực sự và thu thập phản hồi thị trường thực tế – mà không tốn kém và cam kết thuê nhân viên vĩnh viễn hoặc không hiệu quả của báo cáo thị trường.

Vì sao mô hình người phụ trách trực tiếp quan trọng?

Giá trị của một mô hình do người phụ trách triển khai dẫn dắt là trách nhiệm giải trình. Khi BRCN Studio liên hệ với một đối tác châu Âu thay mặt quý doanh nghiệp, người trực tiếp liên hệ cũng là người đã tìm hiểu sản phẩm, nắm rõ lộ trình và tham dự cuộc gặp đầu tiên. Không có việc chuyển giao cho nhân viên cấp dưới. Không qua nhiều tầng đại lý. Không có việc dịch các ưu tiên của quý doanh nghiệp thông qua ba cấp độ của một nhóm được thuê ngoài.

Người phụ trách được dẫn dắt bởi BRCN Studio. Cá nhân được dẫn dắt bởi Bircan Öztürk. Đó không phải là ngôn ngữ tiếp thị – đó là một cam kết cấu trúc về cách mọi giao tiếp diễn ra.

Cách mô hình duy trì chất lượng khi mở rộng

BRCN Studio là một thương hiệu — không phải là một nhà tự do. Mô hình do người phụ trách triển khai dẫn dắt là cách mọi giao dịch diễn ra ngày nay. Khi doanh nghiệp phát triển, các người phụ trách triển khai bổ sung có thể được đưa vào mô hình BRCN Studio mà không thay đổi cam kết thương hiệu: một người chịu trách nhiệm, trực tiếp tại chỗ, điều hành việc phát triển thị trường trực tiếp trực tiếp.

Vị trí tiếp thị — năng lực phát triển thị trường tại chỗ đầu tiên của quý doanh nghiệp ở Châu Âu — được thiết kế để giữ vững dù BRCN Studio có một hay mười người phụ trách triển khai. Thương hiệu là sự đảm bảo cho mô hình. Bircan là tài liệu chứng minh năng lực hiện tại cho thương hiệu đó.

Trách nhiệm rõ ràng

Một đầu mối trực tiếp tại Châu Âu, cùng mạng lưới chuyên gia khi cần.

Người phụ trách trực tiếp

Bircan Öztürk trực tiếp phụ trách việc lựa chọn doanh nghiệp mục tiêu, tiếp cận, tham gia cuộc họp và theo sát sau cuộc họp. Dự án không được chuyển xuống nhóm nhân sự cấp dưới.

Đúng chuyên môn, đúng trách nhiệm

Các vấn đề pháp lý, thuế, chứng nhận, CE, ngân hàng và thành lập pháp nhân được chuyển cho chuyên gia có đủ năng lực. BRCN điều phối phần phát triển thị trường nhưng không nhận thực hiện công việc thuộc ngành nghề được quản lý.

Bảo mật và phạm vi bằng văn bản

Phạm vi, tiến độ, kết quả bàn giao, chi phí và trách nhiệm của hai bên được thống nhất trước khi dự án có tính phí bắt đầu. Thỏa thuận bảo mật có thể được ký khi cần.

So sánh cách triển khai

Vì sao chọn mô hình này thay vì các phương án thông thường?

Tư vấn thâm nhập thị trường thông thường

Tài liệu, khung và khuyến nghị — sau đó quý doanh nghiệp tự mình thực hiện.

  • Đưa ra các bộ tài liệu thuyết trình thuyết trình, chứ không phải các cuộc trò chuyện
  • Không chịu trách nhiệm về kết quả tiếp cận
  • Không có đầu mối phụ trách tại thị trường trong các cuộc gặp đầu tiên
  • Chi phí cao cho giá trị vận hành thấp

Tuyển nhân sự tại Châu Âu quá sớm

Chi phí và cam kết việc làm đầy đủ trước khi lộ trình và sự phù hợp giữa sản phẩm và thị trường được xác nhận.

  • Chi phí cố định cao ngay từ ngày đầu tiên
  • Việc tuyển dụng sai lầm = tốn kém và chậm sửa chữa
  • Đường đi vẫn chưa rõ ràng khi việc thuê bắt đầu
  • Sự phức tạp về quy định và nhân sự ngay lập tức

BRCN Studio

Khởi động thương mại do người phụ trách triển khai dẫn dắt — tiếp cận thực tế, cuộc trao đổi thực tế, phản hồi thực tế.

  • Tiếp cận tích cực và hỗ trợ cuộc gặp đầu tiên
  • Phản hồi thị trường trung thực, không phải các báo cáo được lọc
  • Không có cam kết việc làm hoặc sự phức tạp về nhân sự
  • Khung cảnh rõ ràng, thời gian biểu được xác định, sản phẩm thực tế

Nhận định hình thành mô hình BRCN

Những bài học từ bảy năm bán hàng B2B kỹ thuật liên quan đến thâm nhập thị trường Châu Âu.

🔍

Lộ trình trước, tiếp cận sau

Quyết định về loại đối tác — nhà phân phối, nhà tích hợp, OEM, khách hàng thử nghiệm — quan trọng hơn danh sách liên hệ. Loại sai, cuộc trò chuyện sai, lãng phí liên hệ.

📋

Tài liệu chứng minh trước thông điệp bán hàng

Các đối tác công nghiệp châu Âu đánh giá tài liệu chứng minh năng lực trước khi đánh giá sản phẩm. Cơ chế hỗ trợ, tài liệu và trách nhiệm tại Châu Âu được đánh giá trong cuộc trao đổi nghiêm túc đầu tiên.

🌐

Đầu mối tại thị trường quan trọng hơn độ phủ thương hiệu

Một người địa phương có thể trả lời các câu hỏi bằng tiếng Đức, theo sát đúng tốc độ và nắm người chịu trách nhiệm cho bước tiếp theo trong kinh doanh là đáng giá hơn bất kỳ lượng tài liệu tiếp thị nào.

🔁

Phản hồi thực tế trước khi đầu tư lớn

Dấu hiệu thị trường thực tế từ các cuộc trao đổi thực tế của đối tác là có giá trị hơn bất kỳ báo cáo nghiên cứu thị trường nào. Xây dựng vòng phản hồi trước khi thực hiện cam kết của pháp nhân, nhà tuyển dụng hoặc nhà phân phối.

Ấn tượng ban đầu có ảnh hưởng dài hạn

Trong các thị trường công nghiệp tập trung, ấn tượng đầu tiên với những mối quan hệ tốt nhất khó sửa chữa. Việc xác định đúng lộ trình ngay trước lần tiếp cận đầu tiên không phải là sự thận trọng – đó là chiến lược.

🧭

Làm rõ cách tiếp cận trước khi mở rộng

Biết loại đối tác nào, thị trường và góc độ thương mại nào hoạt động – trước khi mở rộng tiếp cận – là sự khác biệt giữa việc tạo đà và đốt cháy các mối quan hệ.

Mô hình đã rõ. Bước tiếp theo là đánh giá mức độ phù hợp với quý doanh nghiệp.

Một buổi tư vấn ban đầu ngắn gọn là đủ để biết liệu BRCN Studio có phải là năng lực phát triển thị trường tại chỗ đầu tiên phù hợp cho việc tham gia vào Châu Âu hoặc Châu Á của quý doanh nghiệp hay không. Buổi tư vấn ban đầu là miễn phí.

--bs-lang-radius:30px; } .bs-lang-backdrop{ position:fixed; inset:0; background: radial-gradient(circle at 16% 0%, rgba(56,189,248,.26), transparent 34%), radial-gradient(circle at 86% 14%, rgba(37,99,235,.22), transparent 36%), radial-gradient(circle at 50% 95%, rgba(22,199,161,.14), transparent 36%), rgba(7,17,31,.58); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .24s ease, visibility .24s ease; z-index:2147483000; } .bs-lang-backdrop.is-active{ opacity:1; visibility:visible; pointer-events:auto; } .bs-lang-modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:2147483001; padding:20px; } .bs-lang-modal.is-open{ display:flex; } .bs-lang-card{ position:relative; width:min(94vw, 620px); max-height:min(88vh, 760px); overflow:auto; overscroll-behavior:contain; border-radius:var(--bs-lang-radius); padding:28px; color:var(--bs-lang-ink); background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,245,249,.90)); border:1px solid rgba(255,255,255,.78); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:var(--bs-lang-shadow); isolation:isolate; animation:bsLangFade .26s ease-out; font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; } .bs-lang-card::before{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background: radial-gradient(circle at 8% 0%, rgba(56,189,248,.18), transparent 34%), radial-gradient(circle at 92% 4%, rgba(37,99,235,.16), transparent 32%), linear-gradient(135deg, rgba(255,255,255,.52), rgba(255,255,255,0)); pointer-events:none; } .bs-lang-card::after{ content:""; position:absolute; left:22px; right:22px; top:0; height:1px; background:linear-gradient(90deg, transparent, rgba(37,99,235,.34), rgba(56,189,248,.44), transparent); pointer-events:none; } @keyframes bsLangFade{ 0%{opacity:0;transform:translateY(-10px) scale(.982);} 100%{opacity:1;transform:translateY(0) scale(1);} } .bs-lang-close{ position:absolute; top:14px; right:16px; width:40px; height:40px; display:grid; place-items:center; border:none; border-radius:999px; background:rgba(255,255,255,.42); color:#64748b; font-size:30px; line-height:1; cursor:pointer; opacity:.92; transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; } .bs-lang-close:hover{ opacity:1; color:var(--bs-lang-ink); background:rgba(255,255,255,.78); transform:translateY(-1px); box-shadow:0 10px 24px rgba(15,23,42,.08); } .bs-lang-header{ text-align:center; margin:0 42px 24px; } .bs-lang-globe{ width:52px; height:52px; margin:0 auto 13px; display:grid; place-items:center; border-radius:18px; background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.88), transparent 30%), linear-gradient(135deg, rgba(37,99,235,.14), rgba(56,189,248,.20)); color:var(--bs-lang-blue-2); box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 16px 34px rgba(37,99,235,.14); } .bs-lang-globe svg{ width:26px; height:26px; display:block; } .bs-lang-kicker{ display:inline-flex; align-items:center; justify-content:center; gap:7px; margin:0 0 10px; padding:7px 11px; border-radius:999px; border:1px solid rgba(37,99,235,.13); background:rgba(255,255,255,.62); color:var(--bs-lang-blue-2); font-size:12px; line-height:1; font-weight:850; letter-spacing:.08em; text-transform:uppercase; } .bs-lang-header h3{ margin:0; color:var(--bs-lang-ink); font-size:clamp(28px, 4vw, 42px); line-height:.98; letter-spacing:-.06em; font-weight:950; } .bs-lang-sub{ max-width:460px; margin:13px auto 0; color:var(--bs-lang-muted); font-size:15.5px; line-height:1.5; font-weight:540; } .bs-lang-body{ display:block; } .bs-lang-label{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 10px; color:var(--bs-lang-ink); font-size:clamp(17px, 1.7vw, 21px); line-height:1.15; font-weight:880; letter-spacing:-.025em; } .bs-lang-label small{ color:var(--bs-lang-soft); font-size:12px; line-height:1; font-weight:750; letter-spacing:.02em; } .bs-lang-region-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 21px; } .bs-lang-region-card{ position:relative; min-height:118px; padding:17px 17px 16px; border-radius:22px; border:1px solid rgba(15,23,42,.09); background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(248,250,252,.76)); color:var(--bs-lang-ink); text-align:left; cursor:pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 12px 26px rgba(15,23,42,.06); overflow:hidden; isolation:isolate; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease; } .bs-lang-region-card::before{ content:""; position:absolute; inset:-1px; z-index:-1; background: radial-gradient(circle at 18% 0%, rgba(56,189,248,.14), transparent 32%), radial-gradient(circle at 100% 0%, rgba(37,99,235,.10), transparent 36%); opacity:.75; pointer-events:none; } .bs-lang-region-card:hover{ transform:translateY(-2px); border-color:rgba(37,99,235,.20); box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 18px 34px rgba(15,23,42,.10); } .bs-lang-region-card.is-active{ border-color:rgba(37,99,235,.34); background:linear-gradient(180deg, rgba(239,246,255,.98), rgba(255,255,255,.88)); box-shadow: inset 0 1px 0 rgba(255,255,255,.90), 0 18px 38px rgba(37,99,235,.14); } .bs-lang-region-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; } .bs-lang-region-flag{ font-size:28px; line-height:1; } .bs-lang-region-dot{ width:10px; height:10px; border-radius:999px; background:rgba(100,116,139,.28); box-shadow:0 0 0 5px rgba(100,116,139,.08); transition:background .18s ease, box-shadow .18s ease; } .bs-lang-region-card.is-active .bs-lang-region-dot{ background:var(--bs-lang-green); box-shadow:0 0 0 5px rgba(22,199,161,.14); } .bs-lang-region-title{ display:block; margin:0 0 5px; color:var(--bs-lang-ink); font-size:19px; line-height:1.08; font-weight:920; letter-spacing:-.035em; } .bs-lang-region-meta{ display:block; color:var(--bs-lang-muted); font-size:13px; line-height:1.35; font-weight:620; } .bs-lang-region-codes{ display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 0; } .bs-lang-region-codes .bs-lang-mini-flag{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:999px; background:rgba(255,255,255,.78); border:1px solid rgba(15,23,42,.06); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 4px 10px rgba(15,23,42,.05); font-size:16px; line-height:1; } .bs-lang-select-wrap{ position:relative; margin-bottom:18px; } .bs-lang-select{ width:100%; min-height:66px; padding:0 56px 0 20px; border-radius:20px; border:1.5px solid rgba(15,23,42,.11); background:rgba(255,255,255,.90); color:#2f3640; font-size:clamp(17px, 1.7vw, 22px); font-weight:620; line-height:1.2; appearance:none; -webkit-appearance:none; box-shadow: inset 0 1px 2px rgba(15,23,42,.03), 0 1px 0 rgba(255,255,255,.85); font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; cursor:pointer; } .bs-lang-select:hover{ border-color:rgba(37,99,235,.22); } .bs-lang-choice{ display:flex; align-items:center; text-align:left; } .bs-lang-choice-current{ display:block; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; pointer-events:none; } .bs-lang-caret{ position:absolute; top:33px; right:22px; width:18px; height:18px; transform:translateY(-50%); pointer-events:none; } .bs-lang-caret::before{ content:""; display:block; width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-top:9px solid #3f4650; transition:transform .18s ease; } .bs-lang-select-wrap.is-open .bs-lang-caret::before{ transform:rotate(180deg); } .bs-lang-menu{ display:none; margin-top:8px; max-height:278px; overflow:auto; overscroll-behavior:contain; padding:8px; border-radius:20px; border:1px solid rgba(15,23,42,.10); background:rgba(255,255,255,.98); box-shadow:0 18px 42px rgba(15,23,42,.16); } .bs-lang-select-wrap.is-open .bs-lang-menu{ display:grid; gap:6px; } .bs-lang-option{ width:100%; min-height:48px; padding:10px 12px; border:none; border-radius:14px; background:transparent; color:#111827; font-size:16px; font-weight:660; line-height:1.2; text-align:left; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; transition:background .16s ease, transform .16s ease; } .bs-lang-option:hover{ background:rgba(37,99,235,.08); transform:translateY(-1px); } .bs-lang-option.is-selected{ background:linear-gradient(135deg, rgba(37,99,235,.11), rgba(56,189,248,.13)); color:#0f172a; font-weight:780; } .bs-lang-option-label{ display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .bs-lang-option-mark{ opacity:0; color:var(--bs-lang-blue-2); font-size:12px; font-weight:900; white-space:nowrap; } .bs-lang-option.is-selected .bs-lang-option-mark{ opacity:1; } .bs-lang-hint{ margin:2px 2px 22px; color:var(--bs-lang-muted); font-size:15px; line-height:1.45; font-weight:520; } .bs-lang-actions{ display:grid; gap:10px; } .bs-lang-primary{ width:100%; min-height:60px; border:none; border-radius:18px; cursor:pointer; background:linear-gradient(90deg, #147fe8 0%, #16b8d7 56%, #16c7a1 100%); color:#fff; font-size:clamp(18px, 1.7vw, 22px); font-weight:900; line-height:1; box-shadow:0 16px 34px rgba(37,99,235,.25); transition:transform .18s ease, box-shadow .18s ease, filter .18s ease; } .bs-lang-primary:hover{ transform:translateY(-1px); box-shadow:0 20px 40px rgba(37,99,235,.32); filter:saturate(1.05); } .bs-lang-secondary{ width:100%; min-height:44px; border:none; border-radius:15px; cursor:pointer; background:transparent; color:var(--bs-lang-muted); font-size:14px; font-weight:780; line-height:1; transition:background .18s ease, color .18s ease; } .bs-lang-secondary:hover{ background:rgba(255,255,255,.62); color:var(--bs-lang-ink); } .bs-lang-close:focus-visible, .bs-lang-primary:focus-visible, .bs-lang-secondary:focus-visible, .bs-lang-region-card:focus-visible, .bs-lang-select:focus-visible, .bs-lang-option:focus-visible{ outline:3px solid rgba(37,99,235,.28); outline-offset:3px; } .bs-lang-card.is-shaking{ animation:bsLangShake .24s ease; } @keyframes bsLangShake{ 0%, 100%{ transform:translateX(0); } 25%{ transform:translateX(-5px); } 75%{ transform:translateX(5px); } } @media (max-width:767px){ .bs-lang-modal{ padding:14px; align-items:center; } .bs-lang-card{ width:min(94vw, 520px); max-height:88vh; border-radius:24px; padding:20px 16px 20px; } .bs-lang-close{ top:10px; right:10px; width:34px; height:34px; font-size:27px; } .bs-lang-header{ margin:0 36px 18px; } .bs-lang-globe{ width:44px; height:44px; border-radius:15px; margin-bottom:11px; } .bs-lang-globe svg{ width:22px; height:22px; } .bs-lang-kicker{ font-size:10.5px; padding:6px 9px; } .bs-lang-header h3{ font-size:29px; letter-spacing:-.055em; } .bs-lang-sub{ margin-top:10px; font-size:14px; } .bs-lang-label{ margin-bottom:8px; font-size:17px; } .bs-lang-label small{ display:none; } .bs-lang-region-grid{ grid-template-columns:1fr; gap:9px; margin-bottom:18px; } .bs-lang-region-card{ min-height:auto; padding:14px; border-radius:18px; } .bs-lang-region-top{ margin-bottom:8px; } .bs-lang-region-flag{ font-size:25px; } .bs-lang-region-title{ font-size:18px; } .bs-lang-region-meta{ font-size:12.5px; } .bs-lang-region-codes{ gap:6px; margin-top:10px; } .bs-lang-region-codes .bs-lang-mini-flag{ width:28px; height:28px; font-size:15px; } .bs-lang-select-wrap{ margin-bottom:16px; } .bs-lang-select{ min-height:58px; padding-left:16px; padding-right:48px; border-radius:17px; font-size:16px; } .bs-lang-caret{ top:29px; right:17px; } .bs-lang-caret::before{ border-left:7px solid transparent; border-right:7px solid transparent; border-top:8px solid #3f4650; } .bs-lang-menu{ max-height:238px; border-radius:17px; } .bs-lang-option{ min-height:45px; font-size:15px; } .bs-lang-hint{ margin-top:0; margin-bottom:18px; font-size:14px; } .bs-lang-primary{ min-height:54px; border-radius:17px; font-size:17px; } .bs-lang-secondary{ min-height:40px; font-size:13px; } } @supports (padding:env(safe-area-inset-left)){ @media (max-width:767px){ .bs-lang-modal{ padding-left:max(14px, env(safe-area-inset-left)); padding-right:max(14px, env(safe-area-inset-right)); padding-bottom:max(14px, env(safe-area-inset-bottom)); } } } @media (prefers-reduced-motion:reduce){ .bs-lang-backdrop, .bs-lang-card, .bs-lang-primary, .bs-lang-secondary, .bs-lang-close, .bs-lang-region-card, .bs-lang-option{ transition:none; animation:none; } } background: radial-gradient(circle at 16% 0%, rgba(56,189,248,.26), transparent 34%), radial-gradient(circle at 86% 14%, rgba(37,99,235,.22), transparent 36%), radial-gradient(circle at 50% 95%, rgba(22,199,161,.14), transparent 36%), rgba(7,17,31,.58); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .24s ease, visibility .24s ease; z-index:2147483000; } .bs-lang-backdrop.is-active{ opacity:1; visibility:visible; pointer-events:auto; } .bs-lang-modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:2147483001; padding:20px; } .bs-lang-modal.is-open{ display:flex; } .bs-lang-card{ position:relative; width:min(94vw, 620px); max-height:min(88vh, 760px); overflow:auto; overscroll-behavior:contain; border-radius:var(--bs-lang-radius); padding:28px; color:var(--bs-lang-ink); background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,245,249,.90)); border:1px solid rgba(255,255,255,.78); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:var(--bs-lang-shadow); isolation:isolate; animation:bsLangFade .26s ease-out; font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; } .bs-lang-card::before{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background: radial-gradient(circle at 8% 0%, rgba(56,189,248,.18), transparent 34%), radial-gradient(circle at 92% 4%, rgba(37,99,235,.16), transparent 32%), linear-gradient(135deg, rgba(255,255,255,.52), rgba(255,255,255,0)); pointer-events:none; } .bs-lang-card::after{ content:""; position:absolute; left:22px; right:22px; top:0; height:1px; background:linear-gradient(90deg, transparent, rgba(37,99,235,.34), rgba(56,189,248,.44), transparent); pointer-events:none; } @keyframes bsLangFade{ 0%{opacity:0;transform:translateY(-10px) scale(.982);} 100%{opacity:1;transform:translateY(0) scale(1);} } .bs-lang-close{ position:absolute; top:14px; right:16px; width:40px; height:40px; display:grid; place-items:center; border:none; border-radius:999px; background:rgba(255,255,255,.42); color:#64748b; font-size:30px; line-height:1; cursor:pointer; opacity:.92; transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; } .bs-lang-close:hover{ opacity:1; color:var(--bs-lang-ink); background:rgba(255,255,255,.78); transform:translateY(-1px); box-shadow:0 10px 24px rgba(15,23,42,.08); } .bs-lang-header{ text-align:center; margin:0 42px 24px; } .bs-lang-globe{ width:52px; height:52px; margin:0 auto 13px; display:grid; place-items:center; border-radius:18px; background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.88), transparent 30%), linear-gradient(135deg, rgba(37,99,235,.14), rgba(56,189,248,.20)); color:var(--bs-lang-blue-2); box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 16px 34px rgba(37,99,235,.14); } .bs-lang-globe svg{ width:26px; height:26px; display:block; } .bs-lang-kicker{ display:inline-flex; align-items:center; justify-content:center; gap:7px; margin:0 0 10px; padding:7px 11px; border-radius:999px; border:1px solid rgba(37,99,235,.13); background:rgba(255,255,255,.62); color:var(--bs-lang-blue-2); font-size:12px; line-height:1; font-weight:850; letter-spacing:.08em; text-transform:uppercase; } .bs-lang-header h3{ margin:0; color:var(--bs-lang-ink); font-size:clamp(28px, 4vw, 42px); line-height:.98; letter-spacing:-.06em; font-weight:950; } .bs-lang-sub{ max-width:460px; margin:13px auto 0; color:var(--bs-lang-muted); font-size:15.5px; line-height:1.5; font-weight:540; } .bs-lang-body{ display:block; } .bs-lang-label{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 10px; color:var(--bs-lang-ink); font-size:clamp(17px, 1.7vw, 21px); line-height:1.15; font-weight:880; letter-spacing:-.025em; } .bs-lang-label small{ color:var(--bs-lang-soft); font-size:12px; line-height:1; font-weight:750; letter-spacing:.02em; } .bs-lang-region-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 21px; } .bs-lang-region-card{ position:relative; min-height:118px; padding:17px 17px 16px; border-radius:22px; border:1px solid rgba(15,23,42,.09); background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(248,250,252,.76)); color:var(--bs-lang-ink); text-align:left; cursor:pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 12px 26px rgba(15,23,42,.06); overflow:hidden; isolation:isolate; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease; } .bs-lang-region-card::before{ content:""; position:absolute; inset:-1px; z-index:-1; background: radial-gradient(circle at 18% 0%, rgba(56,189,248,.14), transparent 32%), radial-gradient(circle at 100% 0%, rgba(37,99,235,.10), transparent 36%); opacity:.75; pointer-events:none; } .bs-lang-region-card:hover{ transform:translateY(-2px); border-color:rgba(37,99,235,.20); box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 18px 34px rgba(15,23,42,.10); } .bs-lang-region-card.is-active{ border-color:rgba(37,99,235,.34); background:linear-gradient(180deg, rgba(239,246,255,.98), rgba(255,255,255,.88)); box-shadow: inset 0 1px 0 rgba(255,255,255,.90), 0 18px 38px rgba(37,99,235,.14); } .bs-lang-region-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; } .bs-lang-region-flag{ font-size:28px; line-height:1; } .bs-lang-region-dot{ width:10px; height:10px; border-radius:999px; background:rgba(100,116,139,.28); box-shadow:0 0 0 5px rgba(100,116,139,.08); transition:background .18s ease, box-shadow .18s ease; } .bs-lang-region-card.is-active .bs-lang-region-dot{ background:var(--bs-lang-green); box-shadow:0 0 0 5px rgba(22,199,161,.14); } .bs-lang-region-title{ display:block; margin:0 0 5px; color:var(--bs-lang-ink); font-size:19px; line-height:1.08; font-weight:920; letter-spacing:-.035em; } .bs-lang-region-meta{ display:block; color:var(--bs-lang-muted); font-size:13px; line-height:1.35; font-weight:620; } .bs-lang-region-codes{ display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 0; } .bs-lang-region-codes .bs-lang-mini-flag{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:999px; background:rgba(255,255,255,.78); border:1px solid rgba(15,23,42,.06); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 4px 10px rgba(15,23,42,.05); font-size:16px; line-height:1; } .bs-lang-select-wrap{ position:relative; margin-bottom:18px; } .bs-lang-select{ width:100%; min-height:66px; padding:0 56px 0 20px; border-radius:20px; border:1.5px solid rgba(15,23,42,.11); background:rgba(255,255,255,.90); color:#2f3640; font-size:clamp(17px, 1.7vw, 22px); font-weight:620; line-height:1.2; appearance:none; -webkit-appearance:none; box-shadow: inset 0 1px 2px rgba(15,23,42,.03), 0 1px 0 rgba(255,255,255,.85); font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; cursor:pointer; } .bs-lang-select:hover{ border-color:rgba(37,99,235,.22); } .bs-lang-choice{ display:flex; align-items:center; text-align:left; } .bs-lang-choice-current{ display:block; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; pointer-events:none; } .bs-lang-caret{ position:absolute; top:33px; right:22px; width:18px; height:18px; transform:translateY(-50%); pointer-events:none; } .bs-lang-caret::before{ content:""; display:block; width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-top:9px solid #3f4650; transition:transform .18s ease; } .bs-lang-select-wrap.is-open .bs-lang-caret::before{ transform:rotate(180deg); } .bs-lang-menu{ display:none; margin-top:8px; max-height:278px; overflow:auto; overscroll-behavior:contain; padding:8px; border-radius:20px; border:1px solid rgba(15,23,42,.10); background:rgba(255,255,255,.98); box-shadow:0 18px 42px rgba(15,23,42,.16); } .bs-lang-select-wrap.is-open .bs-lang-menu{ display:grid; gap:6px; } .bs-lang-option{ width:100%; min-height:48px; padding:10px 12px; border:none; border-radius:14px; background:transparent; color:#111827; font-size:16px; font-weight:660; line-height:1.2; text-align:left; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; transition:background .16s ease, transform .16s ease; } .bs-lang-option:hover{ background:rgba(37,99,235,.08); transform:translateY(-1px); } .bs-lang-option.is-selected{ background:linear-gradient(135deg, rgba(37,99,235,.11), rgba(56,189,248,.13)); color:#0f172a; font-weight:780; } .bs-lang-option-label{ display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .bs-lang-option-mark{ opacity:0; color:var(--bs-lang-blue-2); font-size:12px; font-weight:900; white-space:nowrap; } .bs-lang-option.is-selected .bs-lang-option-mark{ opacity:1; } .bs-lang-hint{ margin:2px 2px 22px; color:var(--bs-lang-muted); font-size:15px; line-height:1.45; font-weight:520; } .bs-lang-actions{ display:grid; gap:10px; } .bs-lang-primary{ width:100%; min-height:60px; border:none; border-radius:18px; cursor:pointer; background:linear-gradient(90deg, #147fe8 0%, #16b8d7 56%, #16c7a1 100%); color:#fff; font-size:clamp(18px, 1.7vw, 22px); font-weight:900; line-height:1; box-shadow:0 16px 34px rgba(37,99,235,.25); transition:transform .18s ease, box-shadow .18s ease, filter .18s ease; } .bs-lang-primary:hover{ transform:translateY(-1px); box-shadow:0 20px 40px rgba(37,99,235,.32); filter:saturate(1.05); } .bs-lang-secondary{ width:100%; min-height:44px; border:none; border-radius:15px; cursor:pointer; background:transparent; color:var(--bs-lang-muted); font-size:14px; font-weight:780; line-height:1; transition:background .18s ease, color .18s ease; } .bs-lang-secondary:hover{ background:rgba(255,255,255,.62); color:var(--bs-lang-ink); } .bs-lang-close:focus-visible, .bs-lang-primary:focus-visible, .bs-lang-secondary:focus-visible, .bs-lang-region-card:focus-visible, .bs-lang-select:focus-visible, .bs-lang-option:focus-visible{ outline:3px solid rgba(37,99,235,.28); outline-offset:3px; } .bs-lang-card.is-shaking{ animation:bsLangShake .24s ease; } @keyframes bsLangShake{ 0%, 100%{ transform:translateX(0); } 25%{ transform:translateX(-5px); } 75%{ transform:translateX(5px); } } @media (max-width:767px){ .bs-lang-modal{ padding:14px; align-items:center; } .bs-lang-card{ width:min(94vw, 520px); max-height:88vh; border-radius:24px; padding:20px 16px 20px; } .bs-lang-close{ top:10px; right:10px; width:34px; height:34px; font-size:27px; } .bs-lang-header{ margin:0 36px 18px; } .bs-lang-globe{ width:44px; height:44px; border-radius:15px; margin-bottom:11px; } .bs-lang-globe svg{ width:22px; height:22px; } .bs-lang-kicker{ font-size:10.5px; padding:6px 9px; } .bs-lang-header h3{ font-size:29px; letter-spacing:-.055em; } .bs-lang-sub{ margin-top:10px; font-size:14px; } .bs-lang-label{ margin-bottom:8px; font-size:17px; } .bs-lang-label small{ display:none; } .bs-lang-region-grid{ grid-template-columns:1fr; gap:9px; margin-bottom:18px; } .bs-lang-region-card{ min-height:auto; padding:14px; border-radius:18px; } .bs-lang-region-top{ margin-bottom:8px; } .bs-lang-region-flag{ font-size:25px; } .bs-lang-region-title{ font-size:18px; } .bs-lang-region-meta{ font-size:12.5px; } .bs-lang-region-codes{ gap:6px; margin-top:10px; } .bs-lang-region-codes .bs-lang-mini-flag{ width:28px; height:28px; font-size:15px; } .bs-lang-select-wrap{ margin-bottom:16px; } .bs-lang-select{ min-height:58px; padding-left:16px; padding-right:48px; border-radius:17px; font-size:16px; } .bs-lang-caret{ top:29px; right:17px; } .bs-lang-caret::before{ border-left:7px solid transparent; border-right:7px solid transparent; border-top:8px solid #3f4650; } .bs-lang-menu{ max-height:238px; border-radius:17px; } .bs-lang-option{ min-height:45px; font-size:15px; } .bs-lang-hint{ margin-top:0; margin-bottom:18px; font-size:14px; } .bs-lang-primary{ min-height:54px; border-radius:17px; font-size:17px; } .bs-lang-secondary{ min-height:40px; font-size:13px; } } @supports (padding:env(safe-area-inset-left)){ @media (max-width:767px){ .bs-lang-modal{ padding-left:max(14px, env(safe-area-inset-left)); padding-right:max(14px, env(safe-area-inset-right)); padding-bottom:max(14px, env(safe-area-inset-bottom)); } } } @media (prefers-reduced-motion:reduce){ .bs-lang-backdrop, .bs-lang-card, .bs-lang-primary, .bs-lang-secondary, .bs-lang-close, .bs-lang-region-card, .bs-lang-option{ transition:none; animation:none; } }