/* VSHARE fusion: retain the original cyber scene, brand gradient and glass cards.
   Stable messaging and generous type remain; all layout changes stay homepage-only. */
.home-brand { --brand-gutter: clamp(24px, 5.5vw, 104px); }
.home-brand .brand-shell { width: min(100% - var(--brand-gutter) * 2, 1360px); margin-inline: auto; }
.home-brand section[id] { scroll-margin-top: calc(var(--nav-height, 100px) + 24px); }
.home-brand .brand-intro { position: relative; isolation: isolate; overflow: hidden; padding: calc(var(--nav-height, 100px) + 60px) 0 0; background: #05080e; text-align: center; }
.home-brand .brand-scene, .home-brand .brand-network { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.home-brand .brand-scene { z-index: -2; }
.home-brand .brand-scene img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; opacity: .42; }
.home-brand .brand-scene::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #05080e77 0%, #05080eaa 43%, #05080ef5 100%), radial-gradient(ellipse at center, #05080e88 15%, transparent 75%); }
.home-brand .brand-network { z-index: -1; opacity: .65; }
.home-brand .brand-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .16em; line-height: 1.6; }
.home-brand .brand-intro .brand-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #c0d4ff; padding: 8px 18px; border: 1px solid #548bff40; background: #1250a51c; border-radius: 50px; }
.home-brand .brand-status { width: 6px; height: 6px; background: #59c9ff; border-radius: 50%; box-shadow: 0 0 12px #39a9ff; flex: none; }
.home-brand #brand-heading { font-size: clamp(52px, 6.3vw, 104px); font-weight: 750; line-height: 1.22; letter-spacing: -.045em; margin: 28px 0; color: #f5f7ff; }
.home-brand #brand-heading span { background: linear-gradient(100deg, #aacaff 5%, #719fff 36%, #b294f0 68%, #fa849f 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.home-brand .brand-intro-bottom { display: flex; flex-direction: column; align-items: center; gap: 28px; padding-bottom: 44px; }
.home-brand .brand-summary { color: #c0c9da; font-size: clamp(17px, 1.4vw, 21px); line-height: 1.85; max-width: 760px; }
.home-brand .brand-summary .brand-keep { white-space: nowrap; }
.home-brand .brand-actions { display: flex; justify-content: center; align-items: center; gap: 18px; }
.home-brand .brand-button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; padding: 18px 32px; background: var(--gradient, linear-gradient(135deg, #0066ff, #ff3333)); color: #fff; text-decoration: none; font-size: 16px; font-weight: 700; border-radius: 50px; box-shadow: 0 8px 32px #0066ff35; transition: box-shadow .2s, transform .2s; }
.home-brand .brand-button:hover { box-shadow: 0 10px 36px #7452e459; transform: translateY(-3px); }
.home-brand .brand-button span { font-size: 22px; line-height: 1; }
.home-brand .brand-text-link { display: inline-flex; align-items: center; justify-content: center; gap: 22px; color: #d9e2f5; border: 1px solid #ffffff30; border-radius: 50px; padding: 17px 28px; background: #ffffff04; text-decoration: none; font-size: 15px; transition: border-color .2s, background .2s; }
.home-brand .brand-text-link:hover { border-color: #83a6ff; background: #0066ff12; }
/* Original VSHARE CMS identity cards now sit below the brand proposition. */
.home-brand .brand-pillars { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 0 auto 36px; }
.home-brand .brand-pillar { flex: 0 0 88px; padding: 12px 8px; border: 1px solid #ffffff2e; border-radius: 16px; background: linear-gradient(145deg, #1752ba8f, #8245b38f 52%, #c7355d8f); box-shadow: 0 8px 24px #0003, inset 0 1px 0 #ffffff10; transition: transform .25s, border-color .25s; }
.home-brand .brand-pillar:hover { transform: translateY(-5px); border-color: #a5b9ff; }
.home-brand .brand-pillar i { display: block; color: #e0e9ff; font-size: 13px; margin-bottom: 8px; }
.home-brand .brand-pillar > span { display: block; color: #fff; font: 700 24px/1 'Outfit', sans-serif; }
.home-brand .brand-pillar p { color: #d9ddf2; font-size: 8px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; margin-top: 7px; overflow-wrap: anywhere; }
.home-brand .brand-baseline { border-top: 1px solid #ffffff18; padding: 20px 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 11px; letter-spacing: .04em; color: #9eaac1; }
.home-brand .brand-baseline a { color: #c6d4ee; text-decoration: none; }
.home-brand .brand-motion-toggle { appearance: none; color: #aebedb; font: inherit; background: transparent; border: 1px solid #ffffff24; padding: 9px 14px; border-radius: 30px; cursor: pointer; }
.home-brand .brand-motion-toggle:hover { border-color: #789eea; color: #e2ebff; }
.home-brand .brand-motion-toggle[hidden] { display: none; }
/* New service content expressed in the site's existing dark glass language. */
.home-brand .brand-services { position: relative; background: radial-gradient(ellipse at 50% 0%, #12214b3d, transparent 65%), #07090f; color: #f4f6ff; padding: 100px 0 104px; border-bottom: 1px solid #ffffff0b; }
.home-brand .brand-section-top { text-align: center; }
.home-brand .brand-section-top .brand-eyebrow { color: #8da7e1; margin-bottom: 24px; }
.home-brand .brand-section-top h2 { font-size: clamp(34px, 3.6vw, 58px); line-height: 1.35; letter-spacing: -.035em; font-weight: 700; }
.home-brand .brand-section-top > p:last-child { color: #a9b5cb; font-size: 17px; line-height: 1.85; margin-top: 24px; }
.home-brand .brand-service-grid { margin-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.home-brand .brand-service { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 32px; border: 1px solid #ffffff1c; border-radius: 24px; background: linear-gradient(150deg, #ffffff09, #ffffff02); color: #f4f6ff; text-decoration: none; box-shadow: inset 0 1px 0 #ffffff06; transition: border-color .25s, transform .25s, background .25s; }
.home-brand .brand-service::before { content: ''; position: absolute; top: -1px; left: 32px; right: 32px; height: 1px; background: linear-gradient(90deg, transparent, #648fff88, #c65dbb66, transparent); }
.home-brand .brand-service:hover { transform: translateY(-6px); border-color: #668fff66; background: linear-gradient(150deg, #1c3f7a33, #361b4626); }
.home-brand .brand-service-top { display: flex; align-items: center; gap: 14px; margin-bottom: 36px; }
.home-brand .brand-service-symbol { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid #557fff33; border-radius: 14px; color: #8bb6ff; background: #2860ca17; font-size: 21px; }
.home-brand .brand-service:nth-child(2) .brand-service-symbol { color: #c1a1ff; background: #7a43ca17; border-color: #a06dff33; }
.home-brand .brand-service:nth-child(3) .brand-service-symbol { color: #efa4cb; background: #c3438017; border-color: #da73ad33; }
.home-brand .brand-service-number { color: #7787a3; font-size: 12px; letter-spacing: .1em; }
.home-brand .brand-service-arrow { margin-left: auto; color: #a9b8d3; font-size: 26px; transition: transform .2s; }
.home-brand .brand-service:hover .brand-service-arrow { transform: translate(3px, -3px); color: #c1d2ff; }
.home-brand .brand-service h3 { font-size: clamp(24px, 2.1vw, 32px); line-height: 1.4; font-weight: 700; letter-spacing: -.025em; margin-bottom: 22px; }
.home-brand .brand-service-promise { color: #d4dcec; font-size: 17px; line-height: 1.8; min-height: 62px; }
.home-brand .brand-service-detail { color: #9eabc1; font-size: 15px; line-height: 1.9; margin: 16px 0 32px; }
.home-brand .brand-service-link { margin-top: auto; display: flex; gap: 20px; color: #9dbfff; font-size: 14px; font-weight: 600; }
/* Keep the original CMS feature scenery, with a quieter reading area. */
.home-brand #hero { min-height: 0; padding: 80px var(--brand-gutter) !important; background: #06080e; isolation: isolate; }
.home-brand #hero .core-reward-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; opacity: .55; mask-image: linear-gradient(90deg, #0005, #0008 45%, #000 80%); -webkit-mask-image: linear-gradient(90deg, #0005, #0008 45%, #000 80%); }
.home-brand #hero .core-reward-controls { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.home-brand #hero #core-reward-hint { flex-basis: 100%; color: #98a8c1; font-size: 12px; line-height: 1.8; }
.home-brand #hero #core-reward-hint[hidden] { display: none; }
.home-brand #hero .core-reward-controls button { padding: 9px 14px; border: 1px solid #ffffff26; border-radius: 30px; background: #ffffff06; color: #b8c7e1; font: inherit; font-size: 12px; cursor: pointer; }
.home-brand #hero .core-reward-controls button:hover { border-color: #bda266; color: #fae6b5; }
.home-brand #hero .core-reward-controls button:disabled { opacity: .45; cursor: default; }
.home-brand #hero .core-reward-controls button[hidden] { display: none; }
.home-brand #hero.core-reward-grabbable { cursor: grab; }
.home-brand #hero.core-reward-dragging, .home-brand #hero.core-reward-dragging * { cursor: grabbing !important; user-select: none; -webkit-user-select: none; }
.home-brand #hero .hero-content { width: 100%; max-width: 1360px; min-height: 0 !important; padding: 0 !important; align-items: flex-start; text-align: left; pointer-events: auto; }
.home-brand #hero .slides-wrapper { min-height: 300px !important; margin: 0 !important; }
.home-brand #hero .slide { align-items: flex-start; justify-content: flex-start; text-align: left; }
.home-brand #hero .slide-bg { display: block; inset: -80px -5vw -120px auto; width: 64%; height: auto; transform: none; opacity: .24; mask-image: linear-gradient(90deg, transparent, #000 45%, #0009); -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%, #0009); border-radius: 0; }
.home-brand #hero .slide.active .slide-bg { opacity: .24; transform: none; }
.home-brand #hero .h2h-badge { margin-bottom: 24px !important; }
.home-brand #hero .h2h-badge span { font-size: 11px !important; }
.home-brand #hero .slide h2 { max-width: 850px; color: #f5f5f2; font-size: clamp(30px, 3.4vw, 50px); line-height: 1.3; font-weight: 700; letter-spacing: -.035em; margin: 0 0 24px; }
.home-brand #hero .hero-desc { font-size: 17px !important; color: #b2bfd4; line-height: 1.85; max-width: 720px !important; margin: 0 !important; }
.home-brand #hero .hero-btns .cta-btn { padding: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; text-transform: none !important; letter-spacing: 0 !important; color: #a9c6ff !important; font-size: 15px; }
.home-brand #hero .slider-nav { margin-top: 26px; gap: 10px; }
.home-brand #hero .dot { width: 32px; height: 24px; border: 0; border-radius: 0; background: linear-gradient(#4d5d78, #4d5d78) center / 100% 2px no-repeat; box-shadow: none; transform: none; }
.home-brand #hero .dot.active { background-image: var(--gradient); }
/* Keep the original lower-page cards and modules; adjust hierarchy and spacing. */
.home-brand #trust-panel, .home-brand #enterprise-services, .home-brand #expertise, .home-brand #growth, .home-brand #faq { padding: 96px var(--brand-gutter) !important; }
.home-brand :is(.trust-container, .enterprise-container, .expertise-container, .growth-container, #faq > .container) { width: 100%; max-width: 1360px; margin-inline: auto; }
.home-brand :is(.enterprise-header, .section-header) { margin-bottom: 56px; }
.home-brand :is(.enterprise-header, .section-header) h2 { font-size: clamp(34px, 3.6vw, 56px); font-weight: 700; line-height: 1.35; letter-spacing: -.035em; }
.home-brand :is(.enterprise-header, .section-header) p { max-width: 700px; margin: 24px auto 0; font-size: 18px; line-height: 1.85; color: #aeb6c6; }
/* Reference layout: one wide booking/statistics card and two stacked side cards.
   Keep CMS values and form behavior intact; isolate these rules from other modules. */
.home-brand #trust-panel { padding: 96px clamp(20px, 2.5vw, 48px) !important; }
.home-brand #trust-panel .trust-container { width: 100%; max-width: 1450px; grid-template-columns: minmax(0, 1fr) 360px; gap: 30px; align-items: stretch; }
.home-brand #trust-panel .trust-main { min-width: 0; min-height: 528px; padding: 45px; border-radius: 30px; gap: 40px; }
.home-brand #trust-panel .booking-header { flex-direction: row; align-items: flex-end; gap: 24px; }
.home-brand #trust-panel .booking-header h3 { flex: 0 0 auto; font-size: 28px; line-height: 1.6; }
.home-brand #trust-panel .booking-header > span { min-width: 0; max-width: 430px; text-align: right; font-size: 14px; line-height: 1.6; }
.home-brand #trust-panel .booking-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.725fr) minmax(0, 1fr); gap: 20px; }
.home-brand #trust-panel .booking-form > *, .home-brand #trust-panel .phone-input-group input { min-width: 0; }
.home-brand #trust-panel .booking-form select { flex: 0 0 105px; }
.home-brand #trust-panel .btn-booking { white-space: nowrap; line-height: normal; padding-inline: 16px; }
.home-brand #trust-panel .stats-row { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.home-brand #trust-panel .stat-block .num { font-size: clamp(24px, 2vw, 30px); line-height: 1.6; white-space: nowrap; }
.home-brand #trust-panel .stat-block .lbl { display: block; font-size: 13px; line-height: 1.6; }
.home-brand #trust-panel .stat-block:not(:last-child)::after { display: block; right: -10px; }
.home-brand #trust-panel .news-marquee { min-width: 0; }
.home-brand #trust-panel .marquee-container { min-width: 0; }
.home-brand #trust-panel .trust-side { width: 100%; height: auto; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 1fr 1fr; gap: 30px; }
.home-brand #trust-panel .support-card { min-width: 0; padding: 30px; border-radius: 30px; }
.home-brand #trust-panel .promo-banner { min-width: 0; padding: 35px; border-radius: 30px; }
.home-brand #trust-panel .support-card h3, .home-brand #trust-panel .promo-banner h4 { font-size: 20px; }
@media (min-width: 768px) {
  .home-brand #trust-panel .booking-header { flex-direction: row !important; align-items: flex-end !important; gap: 24px !important; }
  .home-brand #trust-panel .booking-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.725fr) minmax(0, 1fr) !important; }
}
@media (max-width: 1199px) {
  .home-brand #trust-panel .trust-container { grid-template-columns: minmax(0, 1fr); }
  .home-brand #trust-panel .trust-main { min-height: 0; }
  .home-brand #trust-panel .trust-side { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .home-brand #trust-panel .support-card, .home-brand #trust-panel .promo-banner { min-height: 240px; }
}
.home-brand a:focus-visible, .home-brand button:focus-visible { outline: 2px solid #8badff; outline-offset: 6px; }
@media (max-width: 1100px) {
  .home-brand .brand-intro { padding-top: calc(var(--nav-height, 70px) + 56px) !important; }
  .home-brand .brand-service { padding: 26px; }
}
@media (max-width: 768px) {
  .home-brand .brand-intro { padding: calc(var(--nav-height, 70px) + 44px) 0 0 !important; }
  .home-brand .brand-eyebrow { font-size: 10px; letter-spacing: .1em; }
  .home-brand .brand-intro .brand-eyebrow { padding: 7px 12px; font-size: 9px; }
  .home-brand #brand-heading { font-size: clamp(30px, 8.8vw, 58px); line-height: 1.35; margin: 28px 0 24px; letter-spacing: -.04em; }
  .home-brand .brand-intro-bottom { gap: 24px; padding-bottom: 32px; }
  .home-brand .brand-summary { font-size: 15px; }
  .home-brand .brand-actions { gap: 12px; flex-wrap: wrap; }
  .home-brand .brand-button { padding: 16px 26px; font-size: 15px; }
  .home-brand .brand-text-link { padding: 15px 24px; font-size: 14px; }
  .home-brand .brand-pillars { max-width: 360px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 28px; }
  .home-brand .brand-pillar { padding: 12px 8px; border-radius: 12px; }
  .home-brand .brand-pillar i { font-size: 12px; }
  .home-brand .brand-pillar > span { font-size: 22px; }
  .home-brand .brand-pillar p { font-size: 8px; }
  .home-brand .brand-baseline { font-size: 10px; padding-block: 20px; gap: 16px; flex-wrap: wrap; justify-content: center; }
  .home-brand .brand-baseline > span { width: 100%; }
  .home-brand .brand-services { padding: 72px 0 !important; }
  .home-brand .brand-section-top h2 { font-size: clamp(24px, 6.8vw, 44px); }
  .home-brand .brand-section-top > p:last-child { font-size: 16px; margin-top: 20px; }
  .home-brand .brand-service-grid { grid-template-columns: 1fr; margin-top: 36px; gap: 18px; }
  .home-brand .brand-service { padding: 28px; border-radius: 20px; }
  .home-brand .brand-service-top { margin-bottom: 26px; }
  .home-brand .brand-service h3 { font-size: 28px; margin-bottom: 16px; }
  .home-brand .brand-service-promise { min-height: 0; font-size: 17px; }
  .home-brand .brand-service-detail { margin: 12px 0 24px; }
  .home-brand #hero { height: auto !important; min-height: 0 !important; padding: 36px var(--brand-gutter) 72px !important; }
  .home-brand #hero .core-reward-canvas { opacity: .35; }
  /* Stack slides in one grid cell: the longest CMS slide sizes the row naturally.
     Hidden slides still reserve space, so switching does not move the CTA or reset physics. */
  .home-brand #hero .slides-wrapper { display: grid; grid-template-columns: minmax(0, 1fr); min-height: 0 !important; height: auto; flex: none; overflow: visible; }
  .home-brand #hero .slide { position: relative; inset: auto; grid-area: 1 / 1; height: auto; min-width: 0; }
  .home-brand #hero .slide-bg { inset: -24px -20px -100px; width: auto !important; height: auto !important; opacity: .14 !important; mask-image: linear-gradient(180deg, transparent, #000); -webkit-mask-image: linear-gradient(180deg, transparent, #000); }
  .home-brand #hero .h2h-badge { margin-bottom: 18px !important; }
  .home-brand #hero .slide h2 { font-size: 30px; }
  .home-brand #hero .hero-desc { padding: 0; font-size: 16px !important; line-height: 1.8; }
  .home-brand #hero .hero-btns { width: auto; align-self: flex-start; margin-top: 22px !important; }
  .home-brand #hero .slider-nav { margin-top: 14px; }
  .home-brand #hero .core-reward-controls { margin-top: 16px; gap: 8px 12px; }
  .home-brand #hero .core-reward-controls button { background: #090d16cc; }
  .home-brand #hero #core-reward-hint { line-height: 1.5; }
  .home-brand #trust-panel, .home-brand #enterprise-services, .home-brand #expertise, .home-brand #growth, .home-brand #faq { padding: 72px var(--brand-gutter) !important; }
  .home-brand #trust-panel { padding: 64px 20px !important; }
  .home-brand #trust-panel .trust-container { gap: 24px !important; }
  .home-brand #trust-panel .trust-main { padding: 28px 24px !important; gap: 32px; border-radius: 24px; }
  .home-brand #trust-panel .booking-header { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .home-brand #trust-panel .booking-header h3 { font-size: 24px; }
  .home-brand #trust-panel .booking-header > span { text-align: left; font-size: 13px; }
  .home-brand #trust-panel .booking-form { grid-template-columns: minmax(0, 1fr) !important; gap: 14px; }
  .home-brand #trust-panel .stats-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .home-brand #trust-panel .stat-block .num { font-size: clamp(20px, 6.1vw, 28px); }
  .home-brand #trust-panel .stat-block:nth-child(even)::after { display: none; }
  .home-brand #trust-panel .stat-block .lbl { font-size: 12px; }
  .home-brand #trust-panel .trust-side { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .home-brand #trust-panel .news-marquee { padding-inline: 16px; gap: 12px; }
  .home-brand :is(.enterprise-header, .section-header) { margin-bottom: 40px; }
  .home-brand :is(.enterprise-header, .section-header) h2 { font-size: 32px; }
  .home-brand :is(.enterprise-header, .section-header) p { font-size: 16px; }
}
@media (max-width: 480px) {
  .home-brand .brand-actions { flex-direction: column; width: 100%; }
  .home-brand .brand-button, .home-brand .brand-text-link { width: min(100%, 320px); }
}
@media (max-width: 360px) {
  .home-brand #trust-panel { padding-inline: 16px !important; }
  .home-brand #trust-panel .trust-main { padding-inline: 20px !important; }
  .home-brand #trust-panel .stats-row { column-gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-brand *, .home-brand *::before, .home-brand *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
