﻿:root {
  --ib-bg: #f3f8ff;
  --ib-surface: #ffffff;
  --ib-line: #d6e5ff;
  --ib-text: #0d1b35;
  --ib-muted: #5f7292;
  --ib-primary: #0a4ed4;
  --ib-primary-strong: #0737a6;
  --ib-accent: #00c1f3;
  --ib-radius: 14px;
}

body {
  background: radial-gradient(circle at 20% 0%, #eaf2ff 0, #f6f9ff 35%, #f2f7ff 100%);
  color: var(--ib-text);
}

.l-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--ib-line);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
}

.l-header__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 18px;
}

.l-header__navlist a {
  color: var(--ib-text);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.l-header__navlist .button,
.button,
a.button {
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ib-primary), var(--ib-primary-strong));
  color: #fff;
  border: none;
  box-shadow: none;
}

.button.button-ghost,
a.button.button-ghost {
  background: #fff;
  color: var(--ib-primary-strong);
  border: 1px solid var(--ib-line);
}

.home-main {
  border-radius: 0 0 24px 24px;
  overflow: hidden;
}

.home-main__inner {
  position: relative;
}

.home-main__inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(7, 55, 166, 0.78), rgba(10, 78, 212, 0.48));
  pointer-events: none;
}

.home-main__title,
.home-main__subtitle,
.home-main__price {
  position: relative;
  z-index: 1;
  color: #fff;
  text-shadow: none;
}

.home-main-form__inner,
.home-news__posts,
.ib-card,
.home-feature-list__item,
.home-voice-card__inner,
.flow-list__block,
.faq-box,
.ib-region-card,
.ib-country-detail {
  border: 1px solid var(--ib-line);
  border-radius: var(--ib-radius);
  background: var(--ib-surface);
  box-shadow: none;
}

.home-main-form {
  margin-top: -18px;
  position: relative;
  z-index: 2;
}

.home-main-form__inner {
  padding: 14px;
}

.home-main-form select,
.home-main-form input,
.home-main-form button {
  border-radius: 10px;
  border: 1px solid var(--ib-line);
}

.home-main-form button {
  background: linear-gradient(135deg, var(--ib-primary), var(--ib-primary-strong));
  color: #fff;
}

.home__section {
  padding: 78px 0;
}

.home__section.is-bg,
.home-flow,
.home-faq {
  background: linear-gradient(180deg, #eff5ff, #f8fbff);
}

.home-heading__title--ja {
  color: var(--ib-text);
  letter-spacing: 0.04em;
}

.home-heading__title--en {
  color: var(--ib-primary);
  letter-spacing: 0.16em;
}

.slick-sample__item,
.slick-voice .home-voice-card {
  padding: 8px;
}

.sample-card,
.home-voice-card__inner {
  border: 1px solid var(--ib-line);
  border-radius: var(--ib-radius);
  background: #fff;
}

.home-feature-list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 14px;
}

.home-feature-list__item {
  padding: 18px;
}

.home-feature-list__number img {
  filter: hue-rotate(185deg) saturate(1.4);
}

.cv-box {
  border-radius: var(--ib-radius);
  border: 1px solid #83dcff;
  background: linear-gradient(135deg, #1f8de2, #22c5f3);
}

.cv-box__title,
.cv-box__button a {
  color: #fff;
}

.flow-list__step {
  border-radius: 999px;
  background: var(--ib-primary-strong);
  color: #fff;
}

.flow-list__title,
.home-feature-list__title,
.ib-card__title,
.ib-region-card__name {
  color: var(--ib-text);
}

.ib-card__meta,
.ib-card__excerpt,
.home-voice-card__name,
.ib-country-detail__meta,
.ib-region-card__type {
  color: var(--ib-muted);
}

.ib-card,
.ib-region-card,
.ib-country-list__link {
  transition: transform 0.24s ease, border-color 0.24s ease;
}

.ib-card:hover,
.ib-region-card:hover,
.ib-country-list__link:hover {
  transform: translateY(-3px);
  border-color: #99bbff;
  background: #fff;
}

.ib-card__thumb img {
  border-bottom: 1px solid var(--ib-line);
}

.home-news__post {
  border-bottom: 1px solid var(--ib-line);
}

.home-news__post:last-child {
  border-bottom: none;
}

.home-news__post-title {
  color: var(--ib-text);
}

.home-news__post-title:hover {
  color: var(--ib-primary);
}

.ib-country-list__link {
  border: 1px solid var(--ib-line);
  border-radius: 12px;
  background: #fff;
}

.ib-country-list__name,
.registration-list__name-link {
  color: var(--ib-text);
}

.l-footer {
  background: linear-gradient(135deg, #08245d, #0c3b8b);
}

.l-footer,
.l-footer a,
.l-footer__description,
.l-footer-cv__title,
.l-footer__copy {
  color: #dce9ff;
}

.l-footer-cv__button .is-order {
  background: linear-gradient(135deg, #00b6e8, #11c8ef);
  color: #fff;
}

.l-footer-cv__button .is-contact {
  background: #fff;
  color: #083c8f;
}

@media (min-width: 768px) {
  .home-feature-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-main-form__inner {
    padding: 18px;
  }
}
