/* The linked pages share the entry page's typography, navigation and visual language. */
.mi-subpage { --page-tint:#eaf3f9; --page-soft:#f4f8fb; }
.mi-subpage.theme-team { --page-tint:#efedf8; --page-soft:#f7f6fc; }
.mi-subpage.theme-company { --page-tint:#f8f1df; --page-soft:#fcf9f1; }
.subpage-shell { padding-bottom:30px; }
.mi-breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:11px; color:#8a9daa; padding:19px 7px; }
.mi-breadcrumbs a:hover { color:var(--blue); }
.mi-breadcrumbs [aria-current="page"] { color:#4e6d80; }
.subpage-nav { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.subpage-nav a { display:block; padding:9px 16px; border:1px solid #e0e9ef; border-radius:100px; color:#6d8595; font-size:11px; font-weight:550; transition:background .2s,border-color .2s,color .2s; }
.subpage-nav a:hover { color:var(--blue); background:#edf5fa; border-color:#c5dcec; }
.subpage-section { padding-block:54px; }
.subpage-section + .subpage-section { border-top:1px solid var(--line); }
.subpage-section > h2 { display:flex; align-items:center; gap:14px; font-size:clamp(28px,3vw,40px); font-weight:600; line-height:1.2; max-width:1000px; margin-bottom:22px; }
.subpage-section > h3 { font-size:24px; line-height:1.25; font-weight:600; margin:30px 0 14px; }
.subpage-section > p { max-width:920px; font-size:14px; line-height:1.9; margin-bottom:17px; }
.subpage-section p a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.mi-heading-icon { display:inline-grid; place-items:center; width:36px; height:36px; flex:0 0 36px; color:var(--blue); background:#edf5fa; border:1px solid #dfecf4; border-radius:11px; }
.mi-heading-icon svg { display:block; width:22px; height:22px; }
.mi-heading-text { min-width:0; }
.subpage-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:60px; border:0 !important; background:var(--page-tint); border-radius:28px; padding:54px 64px; margin-bottom:10px; }
.subpage-hero .mi-intro > p:first-child,.subpage-hero .mv-intro > p:first-child { color:#6c8b9d; font-size:10px; font-weight:650; letter-spacing:.12em; margin-bottom:20px; }
.subpage-title { font-size:clamp(40px,4.5vw,66px); font-weight:650; line-height:1.04; margin-bottom:24px; }
.subpage-title em { font-family:Georgia,serif; color:var(--blue); font-weight:400; }
.subpage-hero p { font-size:14px; line-height:1.85; max-width:460px; }
.subpage-hero > figure { position:relative; display:grid; place-items:center; min-height:300px; }
.subpage-hero > figure::before { content:""; position:absolute; width:285px; height:285px; border-radius:50%; background:#ffffff60; }
.subpage-hero > figure img { position:relative; max-width:310px; max-height:320px; width:100%; object-fit:contain; }
.subpage-hero > .subpage-platform-logo img { width:min(100%,270px); height:270px; object-fit:contain; filter:drop-shadow(0 14px 20px #1733450c); }
.block-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.element-button { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; border:1px solid var(--ink); border-radius:11px; background:var(--ink); color:#fff; font-size:12px; font-weight:600; text-decoration:none; transition:background .2s,border-color .2s,transform .2s; }
.element-button:hover { background:var(--blue); border-color:var(--blue); transform:translateY(-1px); }
.subpage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:27px; }
.subpage-card { min-width:0; padding:28px; border:1px solid #e3eaf0; background:#f8fafc; border-radius:20px; transition:border-color .2s,transform .2s,box-shadow .2s; }
.subpage-card:hover { border-color:#c6dce9; transform:translateY(-3px); box-shadow:0 10px 24px #17334506; }
.subpage-card > figure { height:160px; margin-bottom:24px; display:grid; place-items:center; }
.subpage-card > figure img { height:155px; width:185px; object-fit:contain; }
.subpage-card h3 { font-size:23px; font-weight:600; line-height:1.2; letter-spacing:-.035em; margin-bottom:15px; }
.subpage-card p { font-size:13px; line-height:1.85; }
.subpage-card .element-button { padding:10px 16px; font-size:11px; }
.subpage-section.mv-summary,.subpage-section.mv-contact,.subpage-section.mi-warm { background:var(--page-soft); padding:38px; border:1px solid #e6edf2; border-radius:22px; margin-block:20px; }
.subpage-section.mv-access > figure { float:right; width:100px; margin:20px 0 20px 25px; }
.subpage-section.mv-access::after { content:""; display:block; clear:both; }
.subpage-section .faq-list { margin-top:26px; }
.subpage-section .faq-answer p + p { margin-top:14px; }
.mi-video-label { font-size:12px; color:#6f8796; font-weight:600; margin-bottom:12px; }
.video-consent { border:1px solid #dce7ee; border-radius:14px; overflow:hidden; background:#fff; }
.video-preview-button { position:relative; display:block; width:100%; padding:0; border:0; background:var(--ink); color:#fff; }
.video-preview-button > img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.video-preview-play { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-70%); display:grid; place-items:center; height:48px; width:48px; background:#173345dd; border:1px solid #ffffff80; border-radius:50%; font-size:17px; }
.video-action-label { position:absolute; inset:auto 0 0; padding:10px; background:#173345e6; font-size:11px; }
.video-preview-note { padding:14px; }
.video-preview-note p { font-size:10px; line-height:1.7; margin-bottom:10px; }
.video-preview-note a,.video-fallback { font-size:10px; color:var(--blue); text-decoration:underline; }
.video-consent iframe { display:block; width:100%; border:0; aspect-ratio:16/9; }
.video-fallback { display:block; padding:12px; }
/* Legal texts keep their content, with comfortable line lengths and scrollable tables. */
.legal-heading { padding:42px 50px; border-radius:24px; background:#eaf3f9; }
.legal-heading .eyebrow { color:#7d96a6; margin-bottom:16px; }
.legal-heading h1 { font-size:clamp(35px,4vw,56px); line-height:1.1; font-weight:650; }
.legal-document { max-width:1000px; margin:35px auto 60px; padding:42px; border:1px solid var(--line); border-radius:20px; background:#fff; overflow-wrap:anywhere; }
.legal-document p,.legal-document li { font-size:14px; line-height:1.95; color:#657b88; }
.legal-document p + p { margin-top:18px; }
.legal-document h2 { font-size:27px; line-height:1.2; margin:42px 0 20px; font-weight:600; }
.legal-document h3 { font-size:21px; line-height:1.3; margin:28px 0 15px; font-weight:600; }
.legal-document h4 { font-size:16px; margin:25px 0 12px; }
.legal-document a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.legal-document > :first-child { margin-top:0; }
.legal-document ul,.legal-document ol { padding-left:23px; }
.legal-document li { padding-left:4px; margin-block:7px; }
.table-scroll { max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:10px; margin-block:24px; }
.table-scroll table { width:100%; border-collapse:collapse; font-size:12px; }
.table-scroll th,.table-scroll td { padding:12px; text-align:left; border-bottom:1px solid var(--line); }
.table-scroll th { background:#f0f6fa; }
.recovery-shell { display:grid; place-items:center; min-height:65vh; min-height:65svh; padding-block:45px; }
.recovery-card { width:100%; max-width:460px; padding:34px; border-color:#e2edf4; background:#fbfdff; }
.recovery-back { display:inline-flex; color:#839aaa; font-size:11px; margin-bottom:26px; }
.recovery-card h1 { font-size:43px; font-weight:600; line-height:1.08; margin-bottom:20px; }
.recovery-card h1 em { font-family:Georgia,serif; font-weight:400; color:var(--blue); }
.recovery-card > p { font-size:13px; line-height:1.85; margin-bottom:23px; }
.recovery-symbol { display:grid; place-items:center; width:42px; height:42px; background:#e8f3fa; color:var(--blue); border-radius:50%; margin-bottom:22px; font-size:24px; }
.recovery-card .validation-summary-errors { font-size:12px; color:#b4373f; }
@media(min-width:1400px) {
  .subpage-hero { padding:65px 80px; gap:90px; }
  .subpage-title { font-size:clamp(64px,4.5vw,80px); }
  .subpage-hero p { font-size:16px; max-width:560px; }
  .subpage-hero > figure img { max-width:360px; max-height:360px; }
  .subpage-section { padding-block:65px; }
  .subpage-grid { gap:26px; }
  .subpage-card { padding:34px; }
  .subpage-card p { font-size:14px; }
}
@media(max-width:1000px) {
  .subpage-hero { padding:40px; gap:30px; }
  .subpage-hero > figure { min-height:220px; }
  .subpage-hero > figure::before { width:200px; height:200px; }
  .subpage-hero > figure img { max-width:240px; max-height:250px; }
  .subpage-grid { gap:14px; }
  .subpage-card { padding:22px; }
  .subpage-card h3 { font-size:20px; }
  .subpage-card > figure { height:130px; }
  .subpage-card > figure img { height:125px; width:145px; }
}
@media(max-width:800px) {
  .mi-breadcrumbs { font-size:10px; padding:15px 5px; }
  .subpage-nav { gap:7px; margin-bottom:18px; }
  .subpage-nav a { font-size:10px; padding:8px 12px; }
  .subpage-hero { grid-template-columns:minmax(0,1fr); padding:30px 25px; gap:22px; border-radius:22px; }
  .subpage-title { font-size:clamp(35px,8vw,48px); margin-bottom:20px; }
  .subpage-hero p { font-size:13px; }
  .subpage-hero > figure { min-height:180px; }
  .subpage-hero > figure::before { width:190px; height:190px; }
  .subpage-hero > figure img { max-width:215px; max-height:200px; }
  .subpage-hero > .subpage-platform-logo img { width:190px; height:190px; }
  .subpage-section { padding-block:37px; }
  .subpage-section > h2 { font-size:28px; gap:10px; line-height:1.2; }
  .subpage-section > p { font-size:13px; }
  .mi-heading-icon { width:30px; height:30px; flex-basis:30px; border-radius:9px; }
  .mi-heading-icon svg { width:19px; height:19px; }
  .subpage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .subpage-card { padding:22px; border-radius:17px; }
  .subpage-card p { font-size:12px; }
  .subpage-section.mv-summary,.subpage-section.mv-contact,.subpage-section.mi-warm { padding:27px 23px; border-radius:20px; }
  .legal-heading { padding:30px 25px; border-radius:20px; }
  .legal-heading h1 { font-size:34px; overflow-wrap:anywhere; }
  .legal-document { padding:25px 22px; margin-block:24px 35px; border-radius:17px; }
  .legal-document h2 { font-size:24px; margin-top:32px; }
  .legal-document h3 { font-size:19px; }
  .legal-document p,.legal-document li { font-size:13px; }
  .recovery-card { padding:28px 24px; border-radius:20px; }
  .recovery-card h1 { font-size:38px; }
}
@media(max-width:520px) {
  .subpage-grid { grid-template-columns:minmax(0,1fr); }
  .subpage-card { padding:26px; }
  .subpage-card h3 { font-size:23px; }
  .subpage-card p { font-size:13px; }
  .subpage-card > figure { height:155px; }
  .subpage-card > figure img { height:150px; width:180px; }
  .subpage-section > h2 { font-size:26px; }
}
