/* Professional landing page: additive styles over the shared eBlasa theme. */
.future-professional-page section[id] { scroll-margin-top: 92px; }
.future-professional-page .future-professional-hero {
  min-height: 670px;
  background-position: center;
  background-image: linear-gradient(90deg, rgba(3, 17, 39, .97), rgba(4, 22, 50, .81) 57%, rgba(4, 27, 59, .42)), url('../image/future/parking-electric-blue-hour-2030.webp');
}
.future-professional-page .future-professional-hero .future-hero__content { max-width: 765px; }
.future-professional-page .future-professional-hero .future-hero__inner { padding-top: 170px; padding-bottom: 115px; }

.future-professional-intro { background: #fff; }
.future-professional-intro__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 7vw, 116px); }
.future-professional-intro h2, .future-professional-steps h2, .future-professional-contact h2 { margin: 18px 0 0; color: var(--future-ink); font-size: clamp(35px, 4.2vw, 63px); font-weight: 800; line-height: 1.13; }
.future-professional-intro__copy p { margin: 0 0 19px; color: #4e6985; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.75; }

.future-professional-benefits { background: #f2f8ff; }
.future-professional-benefits__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.future-professional-benefit { min-width: 0; min-height: 305px; padding: clamp(26px, 3vw, 40px); border: 1px solid #d9e8f8; border-radius: 23px; background: #fff; box-shadow: 0 18px 50px rgba(8, 48, 99, .06); }
.future-professional-benefit__number { display: inline-flex; margin-bottom: 52px; color: #2871c8; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.future-professional-benefit h3 { margin: 0 0 13px; color: var(--future-ink); font-size: clamp(22px, 2vw, 29px); font-weight: 800; }
.future-professional-benefit p { margin: 0; color: #536e89; font-size: 16px; }
.future-professional-benefits__note { max-width: 850px; margin: 27px auto 0; color: #5e7791; font-size: 14px; text-align: center; }

.future-professional-steps { background: #fff; }
.future-professional-steps__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(35px, 8vw, 122px); }
.future-professional-steps__heading p { max-width: 440px; margin: 22px 0; color: #526f8b; font-size: 17px; }
.future-professional-steps__heading > a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: #1b62bf; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.future-professional-steps__heading > a:hover { color: #0c438c; }
.future-professional-steps__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #d9e8f6; }
.future-professional-steps__list li { display: grid; grid-template-columns: 55px minmax(0, 1fr); gap: 23px; padding: 30px 0; border-bottom: 1px solid #d9e8f6; }
.future-professional-steps__list li > span { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 15px; color: #1c65c2; background: #e8f3ff; font-size: 15px; font-weight: 800; }
.future-professional-steps__list h3 { margin: 4px 0 8px; color: var(--future-ink); font-size: 22px; font-weight: 800; }
.future-professional-steps__list p { margin: 0; color: #55718d; font-size: 16px; }

.future-professional-vision { color: white; background: radial-gradient(circle at 8% 12%, #123d72 0%, #071f3d 45%, #04162d 100%); }
.future-professional-vision__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(35px, 6vw, 90px); }
.future-professional-vision__visual { position: relative; min-width: 0; }
.future-professional-vision__visual img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 25px; }
.future-professional-vision__visual > span { position: absolute; left: 22px; bottom: 19px; padding: 8px 13px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 100px; color: #fff; background: rgba(3, 24, 55, .72); font-size: 12px; font-weight: 700; }
.future-professional-vision h2 { margin: 18px 0 21px; color: #fff; font-size: clamp(35px, 4vw, 60px); font-weight: 800; line-height: 1.13; }
.future-professional-vision p { color: #cfdeef; font-size: 17px; }

.future-professional-faq { background: #f2f8ff; }
.future-professional-faq__inner { max-width: 960px; }
.future-professional-faq__items { overflow: hidden; border: 1px solid #d9e7f5; border-radius: 23px; background: #fff; box-shadow: 0 18px 52px rgba(8, 48, 99, .06); }
.future-professional-faq details + details { border-top: 1px solid #dfebf7; }
.future-professional-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 70px; padding: 21px 27px; color: var(--future-ink); font-size: 17px; font-weight: 800; line-height: 1.45; cursor: pointer; list-style: none; }
.future-professional-faq summary::-webkit-details-marker { display: none; }
.future-professional-faq summary::after { content: '+'; display: grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; color: #1c63c1; background: #e8f3ff; font-size: 21px; line-height: 1; }
.future-professional-faq details[open] summary::after { content: '−'; }
.future-professional-faq details p { margin: 0; padding: 0 27px 23px; color: #526e8a; font-size: 16px; }

.future-professional-contact { background: linear-gradient(135deg, #e8f4ff, #fff 75%); }
.future-professional-contact__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.future-professional-contact__inner > div { max-width: 790px; }
.future-professional-contact p { max-width: 690px; margin: 19px 0 0; color: #526e8a; font-size: 17px; }
.future-professional-contact .future-button--primary { flex: 0 0 auto; color: #fff; background: #256dff; }
.future-professional-contact .future-button--primary:hover { color: #fff; background: #1755d7; }

.future-professional-access { padding: 46px 0; color: #fff; background: #071d3b; }
.future-professional-access__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.future-professional-access span { color: #8ae8ff; font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.future-professional-access h2 { margin: 8px 0 5px; color: #fff; font-size: clamp(24px, 2.6vw, 35px); font-weight: 800; }
.future-professional-access p { margin: 0; color: #c9dcf1; font-size: 15px; }
.future-professional-access__link { display: inline-flex; align-items: center; justify-content: center; gap: 13px; flex: 0 0 auto; min-height: 52px; padding: 12px 21px; border: 1px solid #76dff7; border-radius: 100px; color: #071d3b; background: #8beaff; font-size: 14px; font-weight: 800; text-decoration: none; }
.future-professional-access__link:hover { color: #071d3b; background: #c4f6ff; }
.future-professional-access__link span { color: inherit; font-size: 18px; line-height: 1; }

@media (max-width: 991px) {
  .future-professional-intro__grid, .future-professional-steps__grid, .future-professional-vision__grid { grid-template-columns: 1fr; }
  .future-professional-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .future-professional-benefit:last-child { grid-column: 1 / -1; min-height: 240px; }
  .future-professional-contact__inner, .future-professional-access__inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575px) {
  .future-professional-page .future-professional-hero { min-height: 0; background-position: 58% center; }
  .future-professional-page .future-professional-hero .future-hero__inner { padding-top: 146px; padding-bottom: 70px; }
  .future-professional-page .future-professional-hero h1 { font-size: clamp(39px, 10.4vw, 52px); }
  .future-professional-intro__grid, .future-professional-steps__grid, .future-professional-vision__grid { gap: 24px; }
  .future-professional-intro h2, .future-professional-steps h2, .future-professional-vision h2, .future-professional-contact h2 { font-size: clamp(32px, 9vw, 42px); }
  .future-professional-intro__copy p, .future-professional-vision p, .future-professional-contact p { font-size: 16px; }
  .future-professional-benefits__grid { grid-template-columns: 1fr; gap: 12px; }
  .future-professional-benefit, .future-professional-benefit:last-child { grid-column: auto; min-height: 0; padding: 26px; border-radius: 18px; }
  .future-professional-benefit__number { margin-bottom: 27px; }
  .future-professional-benefits__note { text-align: left; }
  .future-professional-steps__list li { grid-template-columns: 44px minmax(0, 1fr); gap: 17px; padding: 25px 0; }
  .future-professional-steps__list li > span { width: 44px; height: 44px; }
  .future-professional-steps__list h3 { font-size: 20px; }
  .future-professional-vision__visual img { aspect-ratio: 4 / 3; border-radius: 18px; }
  .future-professional-faq__items { border-radius: 18px; }
  .future-professional-faq summary { min-height: 70px; padding: 19px; font-size: 16px; }
  .future-professional-faq details p { padding: 0 19px 21px; font-size: 15px; }
  .future-professional-contact .future-button, .future-professional-access__link { width: 100%; }
  .future-professional-access { padding: 38px 0; }
}
