/* Loaded after legacy page styles: a consistent B.I.Y service brand on every route. */
body { font-family: var(--font-sans-ja); font-size: 16px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-sans-ja); }
.animate-on-scroll, .animate-on-scroll.is-visible { opacity: 1; transform: none; }
.section--navy::before, .section--navy-deep::before { display: none; }
.section-heading__title { letter-spacing: .01em; }
.section-heading__lead { font-size: 16px; }
.section-mark { display: flex; gap: 14px; align-items: center; margin-bottom: 24px; }
.section-mark__en, .section-mark__num { font-family: var(--font-sans-en); font-size: 12px; font-weight: 600; color: var(--color-teal); letter-spacing: .06em; }
.section--navy .section-mark__en, .section--navy .section-mark__num,
.section--navy-deep .section-mark__en, .section--navy-deep .section-mark__num { color: #bedacb; }
.section--navy .pillar-card__num, .section--navy .pillar-card__en,
.section--navy .program-callout__eyebrow, .section--navy .program-callout__title span,
.section--navy .program-callout__list li span,
.section--navy-deep .program-callout__eyebrow, .section--navy-deep .program-callout__title span,
.section--navy-deep .program-callout__list li span { color: #bedacb; }
.program-callout__list { border-radius: 12px; }

/* Contact page and its existing form. Behaviour and required fields are unchanged. */
.contact-hero { padding-bottom: 64px; }
.contact-form-card { padding: 40px; border-radius: 14px; box-shadow: none; }
.contact-form-card::before, .contact-form-card::after { display: none; }
.contact-form-card__header { text-align: left; margin-bottom: 32px; }
.contact-form-card__eyebrow { color: var(--color-teal); font-size: 12px; }
.contact-form-card__title { font-family: var(--font-sans-ja); letter-spacing: .01em; }
.contact-form-card__rule { margin: 0; height: 3px; }
.contact-form__privacy-link, .contact-form__fallback a { color: var(--color-teal); }
.contact-form__privacy-link:hover { color: var(--color-teal-deep); }
.cf7-field-row__badge { background: var(--color-teal); font-size: 12px; }
.cf7-field-row__label { font-size: 15px; letter-spacing: .01em; }
.wpcf7 form.contact-form--cf7 input[type="text"],
.wpcf7 form.contact-form--cf7 input[type="email"],
.wpcf7 form.contact-form--cf7 input[type="tel"],
.wpcf7 form.contact-form--cf7 input[type="url"],
.wpcf7 form.contact-form--cf7 select,
.wpcf7 form.contact-form--cf7 textarea { background: #fff; border-color: #bdcec4; box-shadow: none; font-size: 16px; border-radius: 8px; }
.wpcf7 form.contact-form--cf7 input[type="submit"] { background: var(--color-teal); border-color: var(--color-teal); border-radius: 8px; min-height: 56px; line-height: 1.5; padding: 16px 24px; font-weight: 700; box-shadow: none; }
.wpcf7 form.contact-form--cf7 input[type="submit"]:hover { background: var(--color-teal-deep); border-color: var(--color-teal-deep); box-shadow: none; }
.contact-other__card { border-radius: 12px; padding: 28px; }
.contact-other__label, .contact-other__value, .contact-other__icon { color: var(--color-teal); }
.contact-other__sub { font-size: 14px; color: var(--color-text-light); }

/* Legacy AI and PC pages use the same light service-header treatment. */
.ai-hero, .dx-hero { padding: 150px 0 64px; background: var(--color-bg); color: var(--color-navy); text-align: left; border-bottom: 1px solid var(--color-border-soft); }
.ai-hero::before, .dx-hero::before, .ai-hero__pattern, .dx-hero__pattern,
.ai-hero__tag::before, .ai-hero__tag::after, .dx-hero__tag::before, .dx-hero__tag::after,
.ai-hero__price::before, .ai-hero__price::after, .dx-hero__price::before, .dx-hero__price::after { display: none; }
.ai-hero__tag, .dx-hero__tag { padding: 0; margin-bottom: 16px; font-size: 13px; color: var(--color-teal); letter-spacing: .03em; }
.ai-hero__title-en, .dx-hero__en { margin-bottom: 16px; font-size: 12px; letter-spacing: .12em; color: var(--color-teal); }
.ai-hero__title, .dx-hero__title, .page-pc .dx-hero__title { color: var(--color-navy); font-size: clamp(30px,4.2vw,48px); line-height: 1.5; letter-spacing: .01em; margin-bottom: 18px; }
.ai-hero__subtitle, .dx-hero__subtitle { color: var(--color-navy); font-size: 20px; letter-spacing: .01em; margin-bottom: 24px; padding-bottom: 0; }
.ai-hero__subtitle::after { display: none; }
.ai-hero__lead, .dx-hero__lead { color: var(--color-text-light); font-size: 16px; letter-spacing: .01em; line-height: 1.95; margin-bottom: 28px; }
.ai-hero__lead strong, .dx-hero__lead strong { color: var(--color-teal); }
.ai-hero__price, .dx-hero__price { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 12px; max-width: 100%; background: #fff; border: 1px solid var(--color-border); padding: 22px 28px; border-radius: 12px; margin: 0 0 20px; }
.ai-hero__price-label, .dx-hero__price-label { color: var(--color-text-light); font-size: 13px; letter-spacing: .03em; margin-bottom: 4px; }
.ai-hero__price-value, .dx-hero__price-value { color: var(--color-navy); font-family: var(--font-sans-en); font-size: 44px; line-height: 1.2; }
.ai-hero__price-yen, .dx-hero__yen, .dx-hero__price-plus { color: var(--color-teal); }
.ai-hero__price-value small, .dx-hero__price-value small { color: var(--color-text-light); font-style: normal; letter-spacing: .02em; }
.ai-hero__price-period, .dx-hero__price-note { color: var(--color-text-light); font-size: 14px; letter-spacing: .02em; margin: 4px 0 24px; }
.ai-hero__price-period { margin-bottom: 0; }
.ai-hero__cta, .dx-hero__cta { align-items: flex-start; gap: 16px; }
.ai-hero .hero__text-link, .dx-hero .hero__text-link { color: var(--color-teal); }
.ai-hero .hero__text-link::before, .dx-hero .hero__text-link::before { background: var(--color-teal); }
.ai-hero .btn--outline-white, .dx-hero .btn--outline-white { color: var(--color-teal) !important; border-color: var(--color-teal); }
.ai-hero .btn--outline-white:hover, .dx-hero .btn--outline-white:hover { color: #fff !important; }
.worry-section__heading, .feature-headline__title,
.curriculum-section__heading, .deliverables-section__heading, .options-section__heading,
.experience-headline__title, .apply-headline__title,
.dx-section-heading, .dx-revolution__heading, .dx-cta__title { font-size: clamp(26px,3.2vw,36px); line-height: 1.55; letter-spacing: .01em; }
.worry-section__heading, .dx-section-heading, .dx-revolution__heading { margin-bottom: 36px; }
.curriculum-section__heading, .deliverables-section__heading, .options-section__heading,
.experience-headline, .apply-headline { margin-bottom: 40px; padding-bottom: 28px; }
.worry-list { margin-bottom: 40px; }
.worry-item { grid-template-columns: 54px minmax(0,1fr); gap: 20px; padding: 24px 0; }
.worry-item:hover { padding-left: 0; }
.worry-item p { font-size: 18px; line-height: 1.8; }
.worry-item__num, .feature-card__number, .program-summary__row dd strong,
.curriculum-week__num strong, .curriculum-week__type, .deliverable-card__num,
.experience-card__icon, .option-card__price, .option-card__label,
.curriculum-section__heading span, .deliverables-section__heading span, .options-section__heading span,
.experience-headline__title span, .dx-section-heading span, .dx-build-card__num,
.dx-flow__num, .dx-price-table__row dd strong { color: var(--color-teal); }
.feature-card, .program-summary, .deliverable-card, .experience-card, .option-card,
.dx-build-card, .dx-quality-card, .dx-compare__col, .dx-price-table { border-radius: 12px; }
.feature-card, .experience-card, .option-card, .dx-build-card, .dx-quality-card { padding: 28px; }
.feature-card__text, .experience-card__text, .dx-build-card p, .dx-quality-card p,
.dx-flow__step p, .dx-build-lead { font-size: 16px; line-height: 1.9; }
.feature-card:hover, .experience-card:hover, .option-card:hover,
.dx-build-card:hover { transform: translateY(-2px); border-color: #99bca9; }
.program-summary { padding: 8px 28px; }
.curriculum-week { grid-template-columns: 120px minmax(0,1fr); gap: 32px; }
.curriculum-timeline::before { left: 88px; }
.curriculum-week__dot { display: none; }
.curriculum-week__list { font-size: 16px; line-height: 1.9; }
.chat-card { border-radius: 14px; padding: 40px; background: var(--color-sage); border-color: var(--color-border); }
.chat-card::before { display: none; }
.chat-card__title, .chat-card__list, .chat-card__list span { color: var(--color-navy); }
.chat-card__list { font-size: 16px; }
.dx-compare__col--new { background: var(--color-sage); border-color: #99bca9; }
.dx-compare__col--new::before, .dx-compare__col--new::after { display: none; }
.dx-compare__col--new .dx-compare__label, .dx-compare__col--new .dx-compare__price { color: var(--color-teal); }
.dx-compare__col--new .dx-compare__price small, .dx-compare__col--new .dx-compare__sub { color: var(--color-text-light); }
.dx-quality-card__en, .apply-method__label, .apply-method__icon,
.section--navy-deep .apply-headline__title span, .dx-cta__title span { color: #bedacb; }
.dx-quality-card p, .apply-method__sub, .dx-cta__lead, .dx-cta__method-sub { color: #d6e5dd; }
.apply-method, .dx-cta__method { border-radius: 12px; }
.dx-cta__method--line { background: #087f3e; border-color: #087f3e; }
.dx-cta__method--line .dx-cta__method-label, .dx-cta__method--line .dx-cta__method-sub { color: #fff; }
.dx-cta__method--line:hover { background: #066b34; border-color: #066b34; }
.dx-cta__method--form { background: transparent; border-color: #a4bdb0; }
.dx-cta__method--form .dx-cta__method-label { color: #bedacb; }

@media (max-width: 992px) {
  .program-callout__grid { gap: 36px; }
  .experience-headline, .apply-headline { gap: 24px; }
}
@media (max-width: 768px) {
  .contact-hero { padding-bottom: 44px; }
  .contact-form-card { padding: 28px 20px; }
  .contact-other__card { padding: 24px; }
  .ai-hero, .dx-hero { padding: 118px 0 44px; }
  .ai-hero__title, .dx-hero__title, .page-pc .dx-hero__title { font-size: clamp(30px,7.5vw,34px); }
  .ai-hero__subtitle, .dx-hero__subtitle { font-size: 18px; }
  .ai-hero__price, .dx-hero__price { padding: 20px 24px; }
  .ai-hero__price-value, .dx-hero__price-value { font-size: 38px; }
  .feature-card, .experience-card, .option-card, .dx-build-card, .dx-quality-card { padding: 24px; }
  .curriculum-week { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .curriculum-timeline::before { display: none; }
  .curriculum-week__num { flex-direction: row; align-items: baseline; gap: 8px; }
  .curriculum-week__num strong { font-size: 28px; margin-top: 0; }
  .worry-item { grid-template-columns: 36px minmax(0,1fr); gap: 14px; }
  .worry-item p { font-size: 16px; }
  .worry-item__num { font-size: 24px; }
  .program-summary { padding: 4px 20px; }
  .program-summary__row { grid-template-columns: 1fr; gap: 10px; }
  .chat-card { padding: 28px 20px; }
  .ai-hero__cta .btn, .dx-hero__cta .btn { width: 100%; }
}

/* Premium service pages: continuous scenery, with decoration separated from reading order. */
:is(.page-about,.page-services,.page-service-detail,.page-works,.page-contact,.page-ai,.page-dx,.lp-page,.lp-main) {
  position: relative;
  isolation: isolate;
  background: #faf8f4;
  background-image: radial-gradient(ellipse 85% 520px at 96% 6%,#e7e8f3b3,transparent 78%),radial-gradient(ellipse 72% 560px at 0% 33%,#e2edefa6,transparent 78%),radial-gradient(ellipse 80% 640px at 92% 65%,#f4e6dd8c,transparent 78%);
}
:is(.page-about,.page-services,.page-service-detail,.page-works,.page-contact,.page-ai,.page-dx) > .section {
  position: relative;
  padding-block: clamp(70px,7.5vw,112px);
}
:is(.page-about,.page-services,.page-service-detail,.page-works,.page-contact,.page-ai,.page-dx) > :is(.section--white,.section--cream,.section--bg) { background: transparent; }
:is(.page-about,.page-services,.page-service-detail,.page-works,.page-contact,.page-ai,.page-dx) .section-heading__title,
.company-method h2,.program-callout__title,.chat-card__title { font-size: clamp(27px,3.1vw,36px); line-height: 1.6; letter-spacing: .01em; }
.page-hero { position: relative; overflow: clip; border-bottom: 0; background: transparent; padding: 160px 0 86px; }
.page-hero::before {
  content: ""; display: block; position: absolute; width: 68%; height: 90%; top: -25%; right: -12%;
  border-radius: 50%; background: radial-gradient(ellipse,#dbe8f3bb,transparent 70%); pointer-events: none;
}
.page-hero__title { font-size: clamp(32px,3.8vw,48px); line-height: 1.5; letter-spacing: .01em; }
.page-hero__rule { width: 54px; border-radius: 5px; background: linear-gradient(90deg,#146b61,#98bbcc); }
.page-hero__en { letter-spacing: .07em; font-size: 12px; }
.page-hero__content { min-width: 0; z-index: 2; }
.page-hero__lead { max-width: 660px; font-size: 16px; line-height: 1.95; }
.service-hero-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.8fr); align-items: center; gap: 40px; }
.service-hero-art { position: relative; min-width: 0; margin: 12px -8px -50px 0; z-index: 1; pointer-events: none; }
.service-hero-art img { position: relative; width: 100%; height: auto; object-fit: contain; transform: rotate(-5deg); filter: drop-shadow(0 24px 20px #172a3d0d); }
.service-hero-art__orbit { position: absolute; inset: 10% -5% 6%; border: 1px solid #7599b733; border-radius: 49% 51% 62% 38% / 54% 42% 58% 46%; transform: rotate(18deg); }
.service-hero-art__orbit::after { content: ""; position: absolute; width: 26px; height: 26px; border-radius: 50%; right: 2%; top: 24%; background: radial-gradient(circle at 25% 20%,#fff5ea,#e2bca8); box-shadow: 0 6px 14px #172a3d12; }
.service-hero-art--services { width: 112%; margin-left: -5%; }
.service-hero-art--works { width: 106%; margin-bottom: -72px; }
.service-hero-art--works img { transform: rotate(4deg); }
.service-hero-art--about { width: 84%; justify-self: end; }
.service-hero-art--advisor { align-self: end; margin-bottom: -18px; }
.service-hero-art--education { width: 90%; justify-self: end; margin-top: -16px; }
.service-hero-art--education img { transform: rotate(7deg); }
.service-hero-art--development { width: 105%; }
.service-hero-art--development img { transform: rotate(3deg); }
.service-hero-art--contact { width: 78%; justify-self: center; margin-top: -20px; margin-bottom: -34px; }
.page-contact .page-hero::before { background: radial-gradient(ellipse,#e3eeed,transparent 72%); }

/* Staggered explanations keep text horizontal while changing the visual rhythm. */
.service-intro__grid { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: clamp(40px,7vw,96px); align-items: start; }
.service-map { position: relative; margin-top: 68px; padding: 36px; border: 0; border-radius: 28px 72px 30px 28px; background: linear-gradient(140deg,#edf1f8e6,#e5efebe6 68%,#f5efe8); box-shadow: 18px 24px 64px #172a3d09; }
.service-map::before { content: ""; position: absolute; width: 60px; height: 60px; top: -27px; right: 30px; border-radius: 22px 25px 18px 26px; transform: rotate(24deg); background: linear-gradient(135deg,#f9ede2,#edc5b4); box-shadow: 5px 9px 16px #172a3d12; }
.service-map figcaption { position: relative; padding-right: 24px; font-size: 21px; }
.service-map li { border-color: #b8ccd075; }
.service-map li>span { background: #fff9; color: #146b61; box-shadow: 0 4px 14px #172a3d08; }
.service-map__note { border-color: #b8ccd075; }
.service-block-grid { align-items: start; gap: 28px; }
.service-block { border: 0; border-radius: 28px 28px 58px 28px; padding: 32px 28px; background: linear-gradient(145deg,#ffffffdb,#eaf1f4b8); box-shadow: 0 18px 44px #172a3d06; }
.service-block:nth-child(3n+2) { margin-top: 48px; background: linear-gradient(145deg,#f3eeF9c9,#ffffffb8); border-radius: 50px 28px 28px; }
.service-block:nth-child(3n) { margin-top: 16px; background: linear-gradient(145deg,#f8eee5cf,#ffffffb8); }
.service-block__num { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 50%; letter-spacing: .02em; box-shadow: 0 5px 18px #172a3d08; }
.service-block__title { font-size: 20px; border-bottom: 0; padding-bottom: 0; margin-bottom: 18px; }
.service-block__list { border-top: 1px solid #a9bac13d; padding-top: 20px; }
.service-choice { gap: clamp(24px,5vw,64px); align-items: start; padding-top: 68px; }
.service-choice__item { position: relative; background: linear-gradient(145deg,#e1eeeea6,#fff9); border: 0; border-radius: 34px 70px 30px 30px; box-shadow: 0 24px 65px #172a3d08; }
.service-choice__item::before { content: ""; position: absolute; width: 150px; height: 150px; top: -76px; right: 28px; background: url('../images/premium-support-20260908.webp') center/contain no-repeat; transform: rotate(-7deg); pointer-events: none; }
.service-choice__item--development::before { background-image: url('../images/premium-build-20260908.webp'); transform: rotate(7deg); }
.service-choice__index { padding-right: 100px; }
.service-choice__item--development { margin-top: 72px; border-radius: 70px 34px 30px 30px; background: linear-gradient(145deg,#eae8f3c9,#f6ece1a6); }
.service-choice__item h3 { font-size: 30px; }
.service-choice__note { padding-top: 10px; text-align: left; max-width: 850px; }
.service-support-links { gap: 34px; }
.service-support-links a { padding: 28px 0; border-width: 0 0 1px; border-radius: 0; background: transparent; }
.service-support-links a:nth-child(2) { margin-top: 28px; }
.service-related-strip { background: transparent; border-top: 1px solid #a6bdc34d; border-bottom: 1px solid #a6bdc34d; }
.company-method__grid { align-items: start; }
.company-method__body { padding-top: 60px; }
.service-principles { max-width: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.service-principles li { display: block; border: 0; padding: 16px 0 20px; }
.service-principles li:nth-child(2) { margin-top: 46px; }
.service-principles li:nth-child(3) { margin-top: 90px; }
.service-principles li:last-child { border: 0; }
.service-principles li>span { display: flex; width: 50px; height: 50px; align-items: center; justify-content: center; margin-bottom: 24px; padding: 0; font-size: 16px; background: linear-gradient(145deg,#f3e8f4,#e2eeed); border-radius: 50%; }
.service-principles h3 { font-size: 20px; }
.company-table,.service-spec { background: #ffffffa6; border: 1px solid #fff; border-radius: 22px; box-shadow: 0 20px 65px #172a3d05; }
.advisor-coverage-grid { gap: 28px; align-items: start; }
.advisor-coverage-card { background: #ffffffb3; border: 0; border-radius: 26px; box-shadow: 0 16px 36px #172a3d06; }
.advisor-coverage-card::before { display: none; }
.advisor-coverage-card:nth-child(even) { margin-top: 28px; background: #edf0f5b3; }
.advisor-coverage-card__num { border-radius: 50%; }
.advisor-consult-box,.advisor-case,.advisor-boundary { border-radius: 24px; background: #ffffffb8; border-color: #d9e3e2; box-shadow: 0 15px 48px #172a3d05; }
.clients-grid { gap: 28px; align-items: start; }
.client-card { border: 0; background: #ffffffb8; border-radius: 30px 30px 50px 30px; }
.client-card:nth-child(even) { margin-top: 30px; background: #e9edf3b3; }
.case-row { border: 0; background: #ffffffa6; padding: 40px; border-radius: 28px 60px 28px 28px; gap: 42px; box-shadow: 0 18px 48px #172a3d05; }
.case-row--alt { margin-left: 5%; background: linear-gradient(130deg,#ebf0f3b8,#f4eaf1a6); border-radius: 60px 28px 28px; }
.reasons-grid { gap: 32px; }
.reason-item:nth-child(even) { margin-top: 32px; }

/* Reading and form controls sit on quiet surfaces; the surrounding scenery carries the decoration. */
.contact-line-section { padding-top: 20px !important; }
.line-consultation { background: linear-gradient(135deg,#e4efecdd,#e6ebf5bd); border: 1px solid #fff; border-radius: 32px 68px 32px 32px; padding: 40px; box-shadow: 0 24px 65px #172a3d09; }
.line-consultation__qr { padding: 24px 0; }
.line-consultation__qr img { border: 12px solid #fff; box-sizing: content-box; max-width: calc(100% - 24px); border-radius: 18px; box-shadow: 0 10px 24px #172a3d12; }
.line-consultation__example { border-left: 0; border-radius: 18px 18px 18px 3px; background: #ffffffdb; }
.contact-form-card { border: 1px solid #fff; border-radius: 28px; background: #ffffffd9; box-shadow: 0 24px 75px #172a3d08; }
.contact-other__card { background: #ffffffa6; border-radius: 24px; border-color: #e0e6e6; }
.page-news .page-hero,.page-single .page-hero,.page-legal .page-hero { background: radial-gradient(ellipse at 95% 20%,#e4ecf6b3,transparent 65%),#faf8f4; }
.single-post__title { font-size: clamp(30px,3.6vw,44px); }

/* Dark sections fade through their upper/lower edge; text begins below the fade. */
:is(.page-about,.page-services,.page-service-detail,.page-works,.page-ai,.page-dx) > :is(.section--navy,.section--navy-deep),
:is(.lp-page,.lp-main) > .lp-section--navy {
  position: relative; background: radial-gradient(ellipse at 88% 15%,#3b5f76,transparent 64%),linear-gradient(130deg,#193743,#172a3d);
  padding-top: 116px; padding-bottom: 116px;
}
:is(.page-about,.page-services,.page-service-detail,.page-works,.page-ai,.page-dx) > :is(.section--navy,.section--navy-deep)::before,
:is(.lp-page,.lp-main) > .lp-section--navy::before {
  content: ""; display: block; position: absolute; inset: -1px 0 auto; height: 72px; background: linear-gradient(#faf8f4,transparent); pointer-events: none;
}
:is(.page-about,.page-services,.page-service-detail,.page-works,.page-ai,.page-dx) > :is(.section--navy,.section--navy-deep)::after,
:is(.lp-page,.lp-main) > .lp-section--navy::after {
  content: ""; position: absolute; inset: auto 0 -1px; height: 72px; background: linear-gradient(transparent,#faf8f4); pointer-events: none;
}
.program-callout__list { background: #ffffff08; border-radius: 28px 50px 28px 28px; transform: none; }

/* Legacy program pages and both system-development LPs keep their behaviour and original video. */
.ai-hero,.dx-hero { background: radial-gradient(ellipse at 80% 15%,#dce8f3b8,transparent 64%),transparent; border: 0; }
.ai-hero>.container,.dx-hero>.container { position: relative; z-index: 1; }
.ai-hero::after,.dx-hero::after { content: ""; position: absolute; width: min(32vw,410px); height: min(32vw,410px); right: max(2%,calc((100% - 1220px)/2)); top: 165px; background: url('../images/premium-support-20260908.webp') center/contain no-repeat; opacity: .9; pointer-events: none; }
.dx-hero::after { background-image: url('../images/premium-build-20260908.webp'); }
.ai-hero__inner,.dx-hero__inner { max-width: 700px; }
.feature-card,.experience-card,.option-card,.dx-build-card,.dx-quality-card { border-radius: 24px; }
:is(.lp-page,.lp-main) .lp-hero { position: relative; overflow: clip; background: radial-gradient(ellipse 72% 78% at 86% 20%,#e0e7f2cc,transparent 70%),radial-gradient(ellipse 65% 66% at 0% 55%,#e3eeedb3,transparent 70%),transparent; border: 0; padding-bottom: 90px; }
:is(.lp-page,.lp-main) .lp-hero__title,:is(.lp-page,.lp-main) .lp-hero__title--service { font-size: clamp(32px,3.8vw,48px); line-height: 1.55; letter-spacing: .01em; }
:is(.lp-page,.lp-main) .lp-h2 { font-size: clamp(27px,3vw,36px); line-height: 1.6; }
.lp-hero__grid { align-items: start; gap: 46px; }
.lp-offer { border: 1px solid #fff; border-radius: 26px 52px 26px 26px; background: #ffffffc9; box-shadow: 0 24px 55px #172a3d08; }
.lp-hero__col--video { position: relative; margin-top: 60px; }
.lp-hero__col--video::before { content: ""; position: absolute; width: 148px; height: 148px; right: -14px; top: -90px; background: url('../images/premium-build-20260908.webp') center/contain no-repeat; transform: rotate(8deg); pointer-events: none; }
.lp-hero .service-intro-video { position: relative; border: 1px solid #fff; background: #ffffffb8; border-radius: 26px; padding: 18px; box-shadow: 0 24px 60px #172a3d10; }
.lp-hero .service-intro-video video { border-radius: 15px; }
.lp-section-nav { background: #ffffff80; border-color: #a8bec247; }
:is(.lp-page,.lp-main) > .lp-section { position: relative; }
:is(.lp-page,.lp-main) > .lp-section--cream { background: transparent; }
:is(.lp-page,.lp-main) > .lp-quiz-section { background: radial-gradient(ellipse at 70% 45%,#dce8f0d9,transparent 70%),radial-gradient(ellipse at 20% 45%,#e8e1f0a6,transparent 75%); }
.lp-service-method { gap: 70px; }
.lp-method-flow { margin-top: 44px; }
.lp-guide__item:nth-child(2) { margin-top: 32px; }
.lp-guide__item:nth-child(3) { margin-top: 64px; }
.lp-plan__step,.lp-scope,.lp-price,.lp-quiz,.lp-timeline__sum,.lp-chef { border-radius: 26px; }
.lp-plan__step:nth-child(even) { background: #edf0f5b3; }
.lp-faq__item { border-radius: 14px; }
.lp-final .lp-h2 { font-size: clamp(27px,3vw,36px); }

@media (min-width: 1100px) {
  .ai-hero>.container,.dx-hero>.container { max-width: 1140px; }
  .ai-hero__inner,.dx-hero__inner { max-width: 64%; }
}
@media (max-width: 1100px) {
  .ai-hero::after,.dx-hero::after { display: none; }
  .service-hero-layout { grid-template-columns: minmax(0,1.4fr) minmax(0,.8fr); gap: 22px; }
  .service-intro__grid { gap: 38px; }
  .service-hero-art { margin-right: 0; }
  .service-block { padding: 28px 24px; }
}
@media (max-width: 768px) {
  :is(.page-about,.page-services,.page-service-detail,.page-works,.page-contact,.page-ai,.page-dx) > .section { padding-block: 64px; }
  .page-hero { padding: 120px 0 48px; }
  .page-hero__title,.single-post__title { font-size: clamp(30px,7.5vw,34px); }
  .page-hero__lead { font-size: 16px; }
  .service-hero-layout { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .service-hero-art { width: min(65%,255px); justify-self: end; margin: -8px 4% -34px 0; }
  .service-hero-art--services,.service-hero-art--works { width: min(76%,280px); }
  .service-hero-art--contact { width: min(58%,220px); margin-top: -15px; }
  .service-hero-art img { transform: rotate(-4deg); }
  .service-hero-art--education img,.service-hero-art--works img { transform: rotate(4deg); }
  :is(.page-about,.page-services,.page-service-detail,.page-works,.page-contact,.page-ai,.page-dx) .section-heading__title,
  .company-method h2,.program-callout__title,.chat-card__title,:is(.lp-page,.lp-main) .lp-h2,.lp-final .lp-h2 { font-size: 26px; }
  .service-intro__grid,.service-block-grid,.service-principles { grid-template-columns: minmax(0,1fr); }
  .service-map { margin-top: 20px; padding: 30px 24px; border-radius: 26px 54px 26px 26px; }
  .service-map::before { width: 42px; height: 42px; top: -20px; right: 24px; border-radius: 14px; }
  .service-map figcaption { font-size: 20px; }
  .service-block:nth-child(n),.service-choice__item--development,.service-principles li:nth-child(n),.advisor-coverage-card:nth-child(n),.client-card:nth-child(n),.reason-item:nth-child(n),.service-support-links a:nth-child(n),.company-method__body { margin-top: 0; }
  .service-block { padding: 28px 24px; }
  .service-choice { padding-top: 38px; gap: 72px; }
  .service-choice__item { border-radius: 26px 48px 26px 26px; padding-top: 74px; }
  .service-choice__item::before { width: 120px; height: 120px; top: -55px; right: 22px; }
  .service-choice__index { padding-right: 0; }
  .service-choice__item--development { border-radius: 48px 26px 26px; }
  .service-choice__item h3 { font-size: 27px; }
  .service-principles { gap: 22px; }
  .service-principles li { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 18px; padding: 18px 0; }
  .service-principles li>span { width: 42px; height: 42px; margin-bottom: 0; font-size: 14px; }
  .service-principles h3 { font-size: 19px; }
  .company-method__body { padding-top: 4px; }
  .case-row,.case-row--alt { margin-left: 0; padding: 28px 24px; border-radius: 24px 44px 24px 24px; gap: 24px; }
  .line-consultation { padding: 30px 22px; border-radius: 26px 46px 26px 26px; }
  .line-consultation__qr { padding: 4px 0; }
  .contact-form-card { padding: 30px 20px; border-radius: 22px; }
  :is(.page-about,.page-services,.page-service-detail,.page-works,.page-ai,.page-dx) > :is(.section--navy,.section--navy-deep),:is(.lp-page,.lp-main) > .lp-section--navy { padding-block: 100px; }
  :is(.lp-page,.lp-main) .lp-hero__title,:is(.lp-page,.lp-main) .lp-hero__title--service { font-size: clamp(30px,7.5vw,34px); }
  :is(.lp-page,.lp-main) .lp-hero { padding-bottom: 56px; }
  .lp-hero__grid { gap: 30px; }
  .lp-hero__col--video { margin-top: 42px; }
  .lp-hero__col--video::before { width: 115px; height: 115px; right: 3px; top: -70px; }
  .lp-hero .service-intro-video { padding: 14px; border-radius: 22px; }
  .lp-service-method { gap: 24px; }
  .lp-method-flow,.lp-guide__item:nth-child(n) { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .service-hero-art img,.service-hero-art__orbit { animation: none; }
}
