/* Consultation tools and story features share the site's readable, quiet palette. */
.repayment-teaser { display:flex; align-items:center; gap:35px; justify-content:space-between; padding:30px; margin-top:28px; border:1px solid #c5d7e2; border-radius:12px; background:#edf3f7; }
.repayment-teaser .support-kicker { margin-bottom:10px; }
.repayment-teaser h3 { font-size:25px; line-height:1.6; margin-bottom:13px; color:#2a4254; }
.repayment-teaser p { max-width:760px; font-size:17px; line-height:1.85; color:#4b6477; }
.repayment-teaser > a { display:flex; align-items:center; gap:24px; padding:17px 21px; border:1px solid #abc5d8; border-radius:7px; color:#2c506c; background:#fff; font-size:17px; font-weight:600; flex-shrink:0; }
.repayment-teaser > a span { font-size:23px; }
.repayment-policy { background:#edf2f5; }
.repayment-policy .section-heading p { font-size:18px; line-height:1.9; }
.incentive-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:25px; align-items:stretch; }
.incentive-period, .page-services .incentive-table-wrap { padding:30px; background:#fff; border:1px solid #cbd9e2; border-radius:13px; min-width:0; }
.incentive-period h3 { font-size:29px; line-height:1.6; margin-bottom:20px; }
.incentive-period p { font-size:17px; color:#4d6577; line-height:1.9; }
.incentive-period p > strong { color:#2c4b61; }
.incentive-timing { display:grid; grid-template-columns:1fr 18px 1fr; gap:10px; align-items:center; margin-top:25px; }
.incentive-timing > span { padding:16px 13px; background:#eaf1f6; border:1px solid #c6d8e5; border-radius:7px; font-size:16px; line-height:1.8; text-align:center; color:#2f536c; }
.incentive-timing > i { color:#416984; font-size:20px; font-style:normal; text-align:center; }
.incentive-period .incentive-confirm { font-size:15px; margin-top:23px; }
.page-services .incentive-table { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; margin:0; }
.page-services .incentive-table caption { text-align:left; color:#2d4a60; font-size:21px; line-height:1.7; font-weight:600; padding-bottom:20px; }
.page-services .incentive-table th, .page-services .incentive-table td { padding:22px 19px; border-bottom:1px solid #d5e0e8; text-align:left; background:#fff; color:#304d62; }
.page-services .incentive-table thead th { background:#e8f0f5; font-size:16px; line-height:1.8; font-weight:600; }
.page-services .incentive-table thead th:first-child { width:46%; }
.page-services .incentive-table tbody th { font-size:20px; line-height:1.7; font-weight:600; }
.page-services .incentive-table td strong { display:block; font-size:25px; font-weight:600; line-height:1.7; color:#2c526d; }
.page-services .incentive-table td span { display:block; margin-top:6px; font-size:15px; line-height:1.8; color:#516c80; }
.page-services .incentive-table .incentive-tier-0 th, .page-services .incentive-table .incentive-tier-0 td { background:#f2f7fa; }
.page-services .incentive-table .incentive-tier-2 td strong { color:#82434e; }
.incentive-exceptions { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-top:25px; }
.incentive-exceptions > div { padding:28px 30px; background:#fff; border:1px solid #cbd9e2; border-radius:12px; min-width:0; }
.incentive-exceptions h3 { font-size:22px; line-height:1.7; margin-bottom:17px; }
.incentive-exceptions ul { margin:0; padding-left:20px; color:#4b6477; font-size:17px; line-height:1.9; }
.incentive-exceptions li + li { margin-top:5px; }
.incentive-exceptions p { font-size:16px; color:#4b6477; line-height:1.9; margin-top:17px; }
.incentive-bottom { padding-top:28px; }
.incentive-bottom p { font-size:16px; color:#4b6274; line-height:1.9; }
.product-rate-incentive { margin-top:15px; font-size:16px; line-height:1.85; color:#4d6577; }
.product-rate-incentive a { display:block; font-size:16px; color:#315d7b; text-decoration:underline; text-underline-offset:5px; margin-top:6px; }
.faq-incentive-link { display:block; margin-top:16px; font-size:17px; color:#315d7b; text-decoration:underline; text-underline-offset:5px; }
.planning-incentive-note { margin-top:16px; font-size:15px; line-height:1.9; color:#4d6476; border-top:1px solid #d5e0e8; padding-top:16px; }
.planning-incentive-note a { display:block; font-size:15px; color:#315d7b; margin-top:8px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1100px) {
 .repayment-teaser { align-items:flex-start; flex-direction:column; gap:22px; }
 .incentive-period, .page-services .incentive-table-wrap { padding:25px; }
 .page-services .incentive-table th, .page-services .incentive-table td { padding:21px 15px; }
 .page-services .incentive-table td strong { font-size:22px; }
 .incentive-period h3 { font-size:26px; }
}
@media(max-width:760px) {
 .repayment-teaser { padding:25px; gap:20px; }
 .repayment-teaser h3 { font-size:24px; }
 .repayment-teaser > a { font-size:16px; padding:15px 18px; gap:18px; }
 .incentive-grid, .incentive-exceptions { grid-template-columns:1fr; gap:20px; }
 .incentive-period, .page-services .incentive-table-wrap, .incentive-exceptions > div { padding:25px 22px; }
 .incentive-period h3 { font-size:27px; }
 .page-services .incentive-table caption { font-size:21px; }
 .page-services .incentive-table thead th { font-size:15px; }
 .page-services .incentive-table th, .page-services .incentive-table td { padding:19px 13px; }
 .page-services .incentive-table tbody th { font-size:19px; }
 .page-services .incentive-table td strong { font-size:21px; }
 .page-services .incentive-table td span { font-size:14px; }
 .incentive-exceptions h3 { font-size:22px; }
 .incentive-exceptions ul { font-size:16px; }
 .incentive-bottom p { font-size:15px; }
}
@media print {
 .repayment-policy { background:#fff; }
 .repayment-teaser > a, .planning-incentive-note a { display:none; }
 .printing-plan .planning-incentive-note { font-size:9pt; color:#000; }
 .incentive-grid, .incentive-exceptions { grid-template-columns:1fr; }
 .page-services .incentive-table-wrap, .incentive-exceptions > div { break-inside:avoid; }
}
.support-kicker { display:block; color:#40637a; font-size:15px; font-weight:600; line-height:1.7; margin-bottom:17px; }
.support-finder { display:grid; grid-template-columns:.78fr 1.22fr; border:1px solid #ccd8df; border-radius:18px; overflow:hidden; margin:0 0 44px; background:#fff; box-shadow:0 18px 45px #273b4810; }
.finder-introduction { background:#293d4d; padding:42px 36px; display:flex; flex-direction:column; }
.finder-introduction .support-kicker { color:#c2dae5; }
.immersive-home .support-finder .finder-introduction h3,
.interior-page .support-finder .finder-introduction h3 { color:#fff; font-size:clamp(26px,2.35vw,32px); line-height:1.5; letter-spacing:-.05em; }
.finder-introduction p { color:#e0e9ef; font-size:17px; line-height:1.9; margin-top:20px; }
.finder-assurance { display:block; color:#c2d2dc; font-size:14px; line-height:1.8; margin-top:auto; padding-top:34px; }
.finder-interaction { min-width:0; padding:32px 36px; }
.finder-progress { list-style:none; padding:0 0 22px; margin:0 0 24px; border-bottom:1px solid #e0e7eb; display:flex; justify-content:space-between; gap:15px; font-size:15px; color:#586772; }
.finder-progress li { display:flex; gap:8px; align-items:center; }
.finder-progress li > span { font-size:13px; background:#edf2f5; border:1px solid #d6e0e6; padding:4px 7px; border-radius:5px; }
.finder-progress li[aria-current], .finder-progress li.is-complete { color:#274c65; font-weight:600; }
.finder-progress li[aria-current] > span { color:#fff; background:#31556b; border-color:#31556b; }
.finder-screen h4, .finder-result h4 { font-size:24px; line-height:1.55; color:#293a46; letter-spacing:-.045em; }
.finder-question-note, .finder-result-note { font-size:16px; line-height:1.85; color:#52616c; margin:10px 0 22px; }
.finder-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.finder-choice { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; text-align:left; padding:16px 18px; min-height:77px; background:#f6f8fa; border:1px solid #cbd8e0; border-radius:9px; transition:background .2s, border-color .2s; }
.finder-choice:hover { background:#eaf1f5; border-color:#527e98; }
.finder-choice strong { font-size:17px; line-height:1.7; font-weight:600; color:#293e4b; }
.finder-choice > span { font-size:14px; color:#52616c; line-height:1.7; margin-top:3px; }
.finder-actions { display:flex; align-items:center; justify-content:space-between; min-height:44px; margin-top:16px; }
.finder-back, .finder-reset { background:none; border:0; color:#355c75; padding:8px 0; font-size:15px; text-decoration:underline; text-underline-offset:5px; }
.finder-step-count { margin-left:auto; font-size:14px; color:#536772; }
.finder-result-cards { display:grid; gap:12px; }
.finder-product { border:1px solid #cbd8e0; background:#f7f9fa; border-radius:10px; padding:22px; }
.finder-product > span { font-size:14px; color:#4c6475; }
.finder-product h5 { margin:8px 0 12px; font-size:25px; font-weight:600; letter-spacing:-.045em; line-height:1.45; color:#293e4b; }
.finder-product p { font-size:16px; line-height:1.85; color:#52616c; }
.finder-product .finder-product-terms { color:#284c63; font-weight:600; margin-bottom:12px; }
.finder-prepare { display:inline-flex; font-size:16px; line-height:1.7; font-weight:600; color:#2b526c; margin-top:18px; padding:9px 0; }
.finder-reset { margin-top:10px; }
.finder-fallback { display:flex; flex-wrap:wrap; gap:12px 20px; }
.finder-fallback a { font-size:17px; color:#315a73; text-decoration:underline; }
.page-prepare .page-intro { background:#edf2f5; padding:34px 0 58px; }
.page-prepare .page-intro h1 { font-size:clamp(32px,3.65vw,50px); max-width:750px; line-height:1.5; }
.page-prepare #finder { padding:60px 0; }
.page-prepare #finder .support-finder { margin:0; }
.plan-section { background:#f0f3f5; }
.consultation-plan { --heading:#293b48; color:#293b48; }
.plan-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:32px; }
.plan-heading h2 { font-size:clamp(28px,3vw,40px); }
.plan-heading p { font-size:18px; color:#52616c; margin-top:17px; }
.planning-product-label { width:335px; flex-shrink:0; display:block; font-size:16px; font-weight:600; }
.consultation-plan select { display:block; width:100%; min-height:54px; border:1px solid #bbcbd6; border-radius:7px; background:#fff; color:#273f50; font-size:17px; padding:12px 34px 12px 14px; margin-top:10px; }
.planning-summary { padding:25px 28px; background:#e2eaf0; border:1px solid #c4d3df; border-left:4px solid #315976; border-radius:8px; }
.planning-name { font-size:23px; font-weight:600; display:block; }
.planning-terms { display:block; font-size:17px; font-weight:600; color:#345a74; margin-top:8px; line-height:1.8; }
.planning-target { color:#465c6c; font-size:16px; line-height:1.85; margin-top:12px; }
.planning-detail { display:inline-block; color:#315976; font-size:15px; font-weight:600; margin-top:13px; text-decoration:underline; text-underline-offset:4px; }
.plan-section-links { display:none; }
.planning-columns { display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:start; margin-top:26px; }
.planning-calculation, .planning-documents { min-width:0; background:#fff; border:1px solid #d1dce3; border-radius:14px; padding:30px; }
.planning-panel-heading { display:flex; gap:13px; align-items:center; margin-bottom:26px; }
.planning-panel-heading > span { display:grid; place-items:center; width:33px; height:33px; border-radius:6px; background:#e9f0f4; color:#426a82; font-size:14px; flex-shrink:0; }
.planning-panel-heading h3 { font-size:22px; line-height:1.6; color:#293b48; }
.planning-amount-label { display:block; color:#354d5f; font-weight:600; font-size:16px; position:relative; }
.planning-amount-label > span { float:right; font-weight:400; }
.planning-amount { display:block; width:100%; margin-top:12px; padding:14px 18px; font-size:31px; line-height:1.5; font-weight:600; color:#253e50; border:1px solid #bacbd6; border-radius:8px; text-align:right; background:#fbfcfd; }
.planning-range { display:block; width:100%; margin:22px 0 12px; accent-color:#315d7a; cursor:pointer; }
.range-labels { display:flex; justify-content:space-between; font-size:14px; color:#526774; }
.planning-periods { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:26px; }
.planning-periods label, .planning-rate-label { font-size:16px; color:#354d5f; }
.planning-rate-label { display:block; margin-top:19px; }
.planning-error { color:#9b2935; background:#fff1f2; border:1px solid #e3bfc5; padding:14px; border-radius:8px; font-size:16px; margin-top:17px; }
.planning-results { margin-top:26px; }
.payment-highlight { border-radius:10px; padding:26px; background:#293e50; color:#fff; }
.payment-highlight > span { font-size:16px; color:#d4e5ee; }
.payment-highlight > strong { display:block; font-size:clamp(31px,3.2vw,43px); line-height:1.55; letter-spacing:-.03em; color:#fff; }
.payment-highlight p { font-size:15px; color:#d4e5ee; margin-top:8px; line-height:1.85; }
.planning-totals { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; padding:22px 0; border-bottom:1px solid #d8e2e8; }
.planning-totals > div { min-width:0; }
.planning-totals span { display:block; font-size:14px; color:#556a78; }
.planning-totals strong { display:block; font-size:17px; font-weight:600; color:#2d4557; margin-top:6px; overflow-wrap:anywhere; }
.planning-charts { margin-top:20px; }
.interest-chart { display:flex; gap:20px; align-items:center; }
.planning-donut { width:118px; height:118px; flex-shrink:0; }
.interest-ring { transition:stroke-dasharray .35s; }
.interest-percent { font:600 20px var(--font); fill:#294b63; }
.donut-caption { font:400 10px var(--font); fill:#526774; }
.planning-charts h4 { font-size:17px; font-weight:600; color:#355265; }
.interest-chart p { display:flex; gap:8px; align-items:center; font-size:15px; color:#506574; margin-top:6px; }
.interest-chart i { display:block; width:10px; height:10px; border-radius:50%; }
.principal-dot { background:#dce5ea; border:1px solid #839cac; }
.interest-dot { background:#387e94; }
.balance-chart { margin-top:20px; padding-top:20px; border-top:1px solid #dfe7ec; }
.planning-balance { display:block; width:100%; height:auto; margin-top:12px; }
.balance-axis { display:flex; justify-content:space-between; font-size:13px; color:#536b7c; }
.planning-assumption { font-size:14px; line-height:1.9; color:#566977; margin-top:23px; }
.document-progress { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:21px; border-bottom:1px solid #dce5eb; }
.document-count { font-size:16px; color:#35566c; font-weight:600; }
.document-progress-track { display:block; width:110px; height:6px; border-radius:10px; overflow:hidden; background:#e1e9ee; }
.document-progress-track i { display:block; background:#427a91; height:100%; width:0; transition:width .25s; }
.victim-option { display:flex; align-items:flex-start; gap:10px; font-size:15px; color:#315770; border:1px solid #ccdbe4; padding:14px; background:#eff5f8; border-radius:8px; margin-top:23px; }
.victim-option input { width:18px; height:18px; flex-shrink:0; accent-color:#315d7a; margin-top:5px; }
.planning-document-group { padding-top:26px; }
.planning-document-group h4 { font-size:18px; font-weight:600; line-height:1.7; margin-bottom:13px; color:#315068; }
.document-check { display:flex; align-items:flex-start; gap:12px; font-size:16px; line-height:1.85; padding:10px 0; color:#465969; cursor:pointer; }
.document-check input { appearance:auto; width:20px; height:20px; flex-shrink:0; margin:5px 0 0; accent-color:#315d7a; }
.document-check input:checked + span { color:#315670; text-decoration:line-through; text-decoration-color:#8ba7b8; }
.document-group-note { font-size:14px; line-height:1.85; color:#546a7b; margin-top:12px; padding:12px 14px; border-radius:7px; background:#f1f5f8; }
.planning-document-note { font-size:15px; line-height:1.9; color:#526774; margin-top:26px; padding-top:20px; border-top:1px solid #dce5eb; }
.planning-storage-note { font-size:14px; color:#526774; margin-top:12px; line-height:1.8; }
.planning-document-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.planning-print { padding:13px 17px; background:#2e4d64; color:#fff; border:1px solid #2e4d64; border-radius:7px; min-height:48px; font-size:16px; font-weight:600; }
.planning-print:hover { background:#3d657e; }
.planning-reset-checks { padding:10px 14px; border:1px solid #c3d1da; background:#fff; color:#446174; border-radius:7px; font-size:15px; }
.planning-all-docs { display:inline-block; font-size:15px; color:#355c77; font-weight:600; padding:8px 0; margin-top:15px; }
.plan-contact { display:flex; gap:28px; justify-content:space-between; align-items:center; margin-top:28px; padding:30px; border:1px solid #b7cbd8; border-radius:12px; background:#e3ecf2; }
.plan-contact > div > span { display:block; color:#3d617b; font-size:15px; }
.plan-contact strong { display:block; font-size:23px; color:#2b475d; font-weight:600; margin-top:7px; }
.plan-contact p { font-size:15px; line-height:1.9; color:#456177; margin-top:8px; }
.plan-contact-actions { display:flex; flex-direction:column; gap:13px; align-items:flex-start; }
.planning-call { white-space:nowrap; display:block; background:#2e4d64; color:#fff; padding:15px 20px; border-radius:7px; font-size:16px; font-weight:600; }
.planning-reservation { color:#355770; font-size:15px; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.plan-date { margin-top:19px; color:#536774; font-size:14px; line-height:1.85; }

/* Full photographs and the original words lead each individual story. */
.case-photo { display:block; }
.case-read { display:flex; align-items:center; justify-content:space-between; font-size:16px; color:#355b71; font-weight:600; border-top:1px solid #dce5e9; margin-top:22px; padding-top:18px; gap:15px; }
.case-read .icon { width:19px; }
.story-feature { padding:25px 0 80px; }
.page-stories > main > .breadcrumb { margin-top:25px; margin-bottom:10px; font-size:15px; flex-wrap:wrap; }
.story-feature-grid { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:70px; }
.story-feature-heading { font-size:clamp(37px,4.6vw,62px); line-height:1.35; letter-spacing:-.055em; margin:20px 0 28px; }
.story-feature-copy blockquote { margin:0; font-size:clamp(22px,1.95vw,27px); line-height:1.9; color:#344b5b; letter-spacing:-.025em; }
.story-feature-author { font-size:18px; font-weight:600; color:#334e60; margin-top:23px; }
.story-feature-note { font-size:15px; line-height:1.9; color:#5a6b77; margin-top:25px; max-width:440px; }
.story-feature-prepare { display:inline-flex; align-items:center; gap:30px; padding:16px 22px; margin-top:28px; border-radius:7px; background:#2b4558; color:#fff; font-size:16px; font-weight:600; }
.story-feature-visual { margin:0; min-width:0; }
.story-zoom { display:block; position:relative; border:0; padding:0; width:100%; border-radius:15px; overflow:hidden; background:#e0e6e9; cursor:zoom-in; }
.story-feature-image { width:100%; height:auto; object-fit:cover; aspect-ratio:1; }
.story-zoom > span { display:flex; align-items:center; gap:20px; position:absolute; right:20px; bottom:20px; padding:11px 15px; font-size:15px; border:1px solid #ffffff70; border-radius:6px; background:#18303ede; color:#fff; }
.story-zoom .icon { width:19px; }
.story-feature-visual figcaption { padding:17px 2px 0; color:#576c7a; font-size:15px; }
.story-support { background:#eaf0f3; }
.story-support-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:center; }
.story-support-grid h2 { margin-bottom:20px; }
.story-support-grid p { color:#516878; font-size:18px; line-height:1.9; }
.story-related-product { background:#fff; border:1px solid #cbd9e1; border-radius:12px; padding:35px; }
.story-related-product > span { color:#456b83; font-size:15px; }
.story-related-product h3 { font-size:28px; margin:10px 0 24px; }
.story-related-product > div { display:flex; gap:40px; margin-bottom:23px; }
.story-related-product small { font-size:14px; display:block; color:#536b7c; }
.story-related-product strong { display:block; font-size:28px; color:#31526a; }
.story-related-product > p { font-size:16px; }
.story-related-product > a { display:flex; justify-content:space-between; align-items:center; gap:14px; color:#355b75; font-size:16px; font-weight:600; margin-top:20px; padding:10px 0; }
.story-related-product > .story-phone { border-top:1px solid #d8e2e9; padding-top:22px; }
.story-return { padding-top:35px; padding-bottom:60px; }
.story-image-dialog { padding:0; border:0; border-radius:10px; background:#132633; width:min(1000px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); }
.story-image-dialog::backdrop { background:#08131ce8; backdrop-filter:blur(7px); }
.story-image-dialog img { width:100%; max-height:calc(100dvh - 105px); object-fit:contain; }
.story-image-close { display:block; margin:12px 16px 12px auto; min-height:38px; padding:7px 16px; background:#eaf1f5; color:#254357; border:0; border-radius:6px; font-size:16px; }
.story-documentary > a { display:block; }
.story-hero-title { color:inherit; }

/* The reservation guide is an explanation, not a simulated app screen. */
.reservation-hero { padding:32px 0 70px; background:#eaf0f4; }
.reservation-hero .breadcrumb { font-size:15px; color:#50697b; }
.reservation-hero-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:90px; align-items:center; padding-top:10px; }
.reservation-hero h1 { font-size:clamp(38px,4.6vw,62px); line-height:1.4; letter-spacing:-.055em; color:#263d4e; margin:18px 0 25px; }
.reservation-hero-copy > p { font-size:20px; line-height:1.85; color:#526a7c; }
.reservation-hero-action { display:flex; align-items:center; justify-content:space-between; width:265px; padding:17px 23px; margin-top:33px; background:#2c485d; color:#fff; border-radius:7px; font-size:17px; font-weight:600; }
.reservation-web-link { display:inline-flex; align-items:center; gap:13px; padding:10px 0; margin-top:14px; color:#3c627c; font-size:15px; }
.reservation-web-link .icon { width:18px; }
.reservation-visual { padding:32px; background:#fff; border:1px solid #cbd9e2; border-radius:20px; box-shadow:0 25px 60px #28465e14; }
.reservation-visual-heading { padding-bottom:23px; border-bottom:1px solid #dce5eb; }
.reservation-visual-heading > span { color:#536c7e; font-size:15px; }
.reservation-visual-heading > strong { display:block; color:#26485f; font-size:35px; font-weight:600; letter-spacing:-.05em; margin:4px 0 5px; }
.reservation-visual-heading > p { font-size:18px; color:#50738b; }
.reservation-visual ol { margin:10px 0 0; padding:0; list-style:none; }
.reservation-visual li { display:flex; gap:18px; align-items:center; padding:23px 0; border-bottom:1px solid #e0e8ed; }
.reservation-visual li > span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#edf3f7; color:#3e6d8b; font-size:15px; flex-shrink:0; }
.reservation-visual li strong { display:block; font-size:20px; font-weight:600; color:#345368; }
.reservation-visual li small { display:block; font-size:15px; color:#587084; margin-top:3px; }
.reservation-visual li > .icon { width:26px; height:26px; margin-left:auto; color:#497b99; }
.reservation-visual-footer { font-size:15px; color:#597184; padding-top:23px; }
.app-store-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.app-store-link { display:flex; align-items:center; gap:25px; padding:30px 35px; border:1px solid #b9cddc; border-radius:12px; background:#f2f6f9; color:#2b4b62; }
.app-store-link:hover { background:#e7f0f6; border-color:#5684a2; }
.store-symbol { display:grid; place-items:center; width:64px; height:64px; border-radius:13px; background:#2d516b; color:#fff; font-size:23px; font-weight:600; flex-shrink:0; }
.app-store-link small { display:block; font-size:15px; color:#506c81; }
.app-store-link strong { display:block; font-size:23px; font-weight:600; margin:5px 0; letter-spacing:-.035em; line-height:1.5; }
.app-store-link div > span { font-size:15px; color:#547186; }
.app-store-link > .icon { margin-left:auto; }
.install-note { font-size:16px; color:#536b7b; margin-top:22px; }
.reservation-steps-section { background:#f0f4f7; }
.reservation-steps { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.reservation-steps li { display:flex; align-items:flex-start; gap:25px; background:#fff; border:1px solid #d1dee7; border-radius:12px; padding:32px; }
.reservation-step-number { font-size:28px; line-height:1.2; font-weight:400; color:#567d98; flex-shrink:0; padding-top:3px; }
.reservation-steps h3 { font-size:23px; color:#304f65; line-height:1.6; margin-bottom:14px; }
.reservation-steps p { font-size:17px; line-height:1.9; color:#536a7b; }
.reservation-step-note { font-size:15px; line-height:1.9; color:#516b7c; margin-top:30px; max-width:1000px; }
.reservation-help-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.reservation-help h2 { margin:15px 0 23px; }
.reservation-help-grid > div > p { font-size:18px; line-height:1.9; color:#506c80; }
.reservation-prepare { display:inline-flex; gap:18px; align-items:center; font-size:17px; font-weight:600; color:#355c78; padding:15px 0; margin-top:20px; }
.reservation-contact-card { border:1px solid #cad9e3; border-radius:13px; padding:12px 32px; background:#f4f7f9; }
.reservation-contact-card > div { padding:24px 0; }
.reservation-contact-card > div + div { border-top:1px solid #d2e0e9; }
.reservation-contact-card span { font-size:15px; color:#506f86; }
.reservation-contact-card a { display:flex; align-items:center; justify-content:space-between; font-size:29px; line-height:1.6; font-weight:600; color:#2c4e66; margin-top:5px; letter-spacing:-.025em; }
.reservation-contact-card p { font-size:15px; line-height:1.9; color:#546f81; margin-top:9px; }
.reservation-sources { display:flex; flex-wrap:wrap; gap:15px 25px; font-size:14px; line-height:1.8; color:#507088; padding-bottom:55px; }
.reservation-sources > span { color:#4c6171; }
.reservation-banner { padding:70px 0; background:#e7eef3; border-top:1px solid #d1dce4; border-bottom:1px solid #d1dce4; }
.reservation-banner > .container { display:flex; justify-content:space-between; gap:50px; align-items:center; }
.reservation-banner h2 { font-size:clamp(27px,2.85vw,38px); margin:12px 0 21px; }
.reservation-banner p { font-size:18px; line-height:1.85; color:#4e687b; }
.reservation-banner a { display:flex; gap:40px; align-items:center; padding:24px 28px; border:1px solid #b8cedd; border-radius:10px; background:#fff; color:#345f7c; font-size:18px; font-weight:600; flex-shrink:0; }
.reservation-banner a span { font-size:30px; line-height:1; }
.about-values { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; margin-top:45px; }
.about-values article { padding:28px; border:1px solid #d3dfe5; border-radius:11px; background:#f5f8fa; }
.about-values article > span { font-size:14px; color:#4d6f85; }
.about-values h3 { margin:12px 0 17px; font-size:23px; }
.about-values p { font-size:17px; line-height:1.85; color:#50697c; }

@view-transition { navigation:auto; }
.header .brand { view-transition-name:site-brand; }
.story-feature-image { view-transition-name:story-picture; }
.story-feature-heading { view-transition-name:story-heading; }
::view-transition-group(story-picture) { animation-duration:.55s; animation-timing-function:cubic-bezier(.22,.68,.12,1); }
::view-transition-group(story-heading) { animation-duration:.5s; }
::view-transition-old(root) { animation:soft-page-out .22s ease-out both; }
::view-transition-new(root) { animation:soft-page-in .38s ease-out both; }
@keyframes soft-page-out { to { opacity:0; } }
@keyframes soft-page-in { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }

@media(min-width:761px) and (max-width:1180px) {
 .immersive-home .header-inner, .interior-page .header-inner { height:auto; min-height:100px; padding-block:14px; flex-wrap:wrap; gap:9px 20px; }
 .immersive-home .navigation, .interior-page .navigation { order:3; width:100%; justify-content:center; gap:28px; font-size:17px; }
 .header-actions { margin-left:auto; }
 .finder-interaction { padding:28px; }
 .finder-introduction { padding:32px 28px; }
 .plan-heading { align-items:flex-start; }
 .planning-product-label { width:295px; }
 .planning-calculation, .planning-documents { padding:25px; }
 .planning-totals { grid-template-columns:1fr; gap:10px; }
 .planning-totals > div { display:flex; justify-content:space-between; gap:12px; }
 .planning-totals strong { margin:0; }
 .story-feature-grid, .story-support-grid { gap:40px; }
 .reservation-hero-grid, .reservation-help-grid { gap:45px; }
 .app-store-link { gap:18px; padding:27px; }
 .app-store-link strong { font-size:20px; }
 .reservation-steps li { padding:27px; gap:18px; }
}
@media(max-width:1000px) {
 .support-finder { grid-template-columns:1fr; }
 .finder-introduction { display:block; }
 .finder-introduction h3 br, .finder-introduction p br { display:none; }
 .finder-assurance { margin-top:13px; padding:0; }
 .finder-introduction p { margin-top:12px; }
 .planning-columns { grid-template-columns:1fr; }
 .planning-calculation, .planning-documents { padding:30px; }
 .planning-totals { grid-template-columns:1fr 1fr 1fr; }
 .planning-totals > div { display:block; }
 .planning-totals strong { margin-top:6px; }
 .plan-contact { align-items:flex-start; }
 .plan-contact strong { font-size:20px; }
 .reservation-banner > .container { align-items:flex-start; flex-direction:column; gap:30px; }
 .reservation-help-grid { gap:35px; }
 .about-values { gap:16px; }
 .about-values article { padding:22px; }
}
@media(max-width:760px) {
 .support-kicker { font-size:14px; margin-bottom:13px; }
 .support-finder { border-radius:12px; margin-bottom:32px; }
 .finder-introduction { padding:27px 24px; }
 .immersive-home .support-finder .finder-introduction h3, .interior-page .support-finder .finder-introduction h3 { font-size:27px; }
 .finder-introduction p { font-size:17px; line-height:1.85; }
 .finder-assurance { font-size:14px; }
 .finder-interaction { padding:25px 22px; }
 .finder-progress { font-size:14px; gap:9px; }
 .finder-progress li { gap:5px; }
 .finder-progress li > span { font-size:12px; padding:3px 5px; }
 .finder-screen h4, .finder-result h4 { font-size:23px; }
 .finder-choices { grid-template-columns:1fr; }
 .finder-choice { min-height:62px; }
 .finder-choice strong { font-size:17px; }
 .finder-product { padding:22px 18px; }
 .finder-product h5 { font-size:24px; }
 .page-prepare .page-intro { padding:25px 0 40px; }
 .page-prepare #finder { padding:38px 0; }
 .plan-heading { flex-direction:column; align-items:stretch; gap:24px; }
 .plan-heading p { font-size:17px; }
 .planning-product-label { width:100%; }
 .planning-summary { padding:22px; }
 .planning-name { font-size:23px; }
 .planning-terms { font-size:16px; }
 .plan-section-links { display:flex; gap:12px; margin-top:22px; }
 .plan-section-links a { padding:10px 15px; font-size:16px; color:#365c77; background:#fff; border:1px solid #bfced9; border-radius:6px; }
 .planning-columns { gap:23px; margin-top:22px; }
 .planning-calculation, .planning-documents { padding:24px 21px; border-radius:11px; }
 .planning-panel-heading { align-items:flex-start; gap:10px; }
 .planning-panel-heading h3 { font-size:21px; }
 .consultation-plan select { font-size:16px; min-height:52px; padding-left:11px; }
 .planning-periods { gap:12px; }
 .payment-highlight { padding:23px 20px; }
 .payment-highlight > strong { font-size:36px; }
 .planning-totals { grid-template-columns:1fr; gap:12px; }
 .planning-totals > div { display:flex; justify-content:space-between; gap:15px; }
 .planning-totals strong { margin:0; font-size:17px; }
 .interest-chart { gap:15px; }
 .planning-charts h4 { font-size:16px; line-height:1.6; }
 .interest-chart p { font-size:15px; }
 .planning-donut { width:102px; height:102px; }
 .document-count { font-size:16px; }
 .document-progress-track { width:90px; }
 .document-check { font-size:16px; }
 .plan-contact { flex-direction:column; padding:25px 22px; gap:22px; }
 .planning-call { font-size:16px; padding:14px 17px; white-space:normal; }
 .plan-date { font-size:14px; }
 .story-feature { padding:20px 0 48px; }
 .page-stories > main > .breadcrumb { font-size:14px; margin-top:25px; margin-bottom:10px; }
 .story-feature-grid { display:flex; flex-direction:column; gap:32px; align-items:stretch; }
 .story-feature-visual { order:-1; }
 .story-feature-heading { font-size:38px; margin:13px 0 23px; }
 .story-feature-copy blockquote { font-size:23px; line-height:1.85; }
 .story-feature-note { font-size:15px; }
 .story-feature-prepare { font-size:16px; gap:25px; }
 .story-zoom > span { font-size:14px; right:14px; bottom:14px; gap:13px; }
 .story-feature-visual figcaption { font-size:14px; }
 .story-support-grid { grid-template-columns:1fr; gap:28px; }
 .story-support-grid p { font-size:17px; }
 .story-related-product { padding:27px 23px; }
 .story-related-product h3 { font-size:25px; }
 .story-related-product > div { gap:30px; flex-wrap:wrap; }
 .story-related-product strong { font-size:27px; }
 .story-related-product > a { font-size:16px; }
 .story-related-product .story-phone { align-items:flex-start; }
 .story-image-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
 .story-image-dialog img { max-height:calc(100dvh - 90px); }
 .reservation-hero { padding:25px 0 42px; }
 .reservation-hero .breadcrumb { font-size:14px; }
 .reservation-hero-grid { grid-template-columns:1fr; gap:35px; }
 .reservation-hero h1 { font-size:42px; margin:14px 0 22px; }
 .reservation-hero-copy > p { font-size:18px; }
 .reservation-hero-action { margin-top:27px; font-size:17px; width:100%; max-width:335px; }
 .reservation-visual { padding:26px; border-radius:14px; }
 .reservation-visual-heading > strong { font-size:31px; }
 .reservation-visual li { padding:20px 0; }
 .app-store-grid { grid-template-columns:1fr; gap:17px; }
 .app-store-link { gap:17px; padding:24px 21px; }
 .store-symbol { width:48px; height:48px; font-size:20px; }
 .app-store-link strong { font-size:21px; }
 .app-store-link > .icon { width:21px; }
 .install-note { font-size:16px; }
 .reservation-steps { grid-template-columns:1fr; gap:18px; }
 .reservation-steps li { gap:19px; padding:26px 23px; }
 .reservation-step-number { font-size:26px; }
 .reservation-steps h3 { font-size:22px; }
 .reservation-steps p { font-size:17px; }
 .reservation-step-note { font-size:15px; }
 .reservation-help-grid { grid-template-columns:1fr; gap:30px; }
 .reservation-help-grid > div > p { font-size:17px; }
 .reservation-contact-card { padding:6px 24px; }
 .reservation-contact-card a { font-size:28px; }
 .reservation-prepare { font-size:16px; }
 .reservation-sources { font-size:14px; padding-bottom:35px; gap:15px; }
 .reservation-banner { padding:45px 0; }
 .reservation-banner > .container { gap:25px; }
 .reservation-banner p { font-size:17px; }
 .reservation-banner a { width:100%; padding:20px 22px; justify-content:space-between; font-size:17px; }
 .about-values { grid-template-columns:1fr; margin-top:32px; }
 .about-values article { padding:25px; }
}
@media(max-width:350px) {
 .finder-progress { flex-wrap:wrap; gap:10px; }
 .finder-interaction { padding:23px 18px; }
 .planning-periods { grid-template-columns:1fr; }
 .payment-highlight > strong { font-size:32px; }
 .planning-calculation, .planning-documents { padding:23px 18px; }
 .app-store-link { gap:13px; padding:22px 18px; }
 .app-store-link strong { font-size:19px; }
 .store-symbol { width:40px; height:40px; }
 .reservation-hero h1 { font-size:37px; }
}
@media(prefers-reduced-motion:reduce) {
 @view-transition { navigation:none; }
 .interest-ring, .document-progress-track i, .finder-choice { transition:none; }
 ::view-transition-group(*) { animation:none; }
}
@media print {
 @page { margin:14mm; }
 .printing-plan main > :not(.plan-section), .printing-plan .skip-link, .printing-plan .interior-reading-progress { display:none!important; }
 .printing-plan .plan-section { padding:0; background:#fff; }
 .printing-plan .plan-section .container { width:100%; }
 .printing-plan .consultation-plan { font-size:11pt; }
 .printing-plan .plan-heading { gap:20px; margin-bottom:18px; }
 .printing-plan .plan-heading h2 { font-size:20pt; }
 .printing-plan .plan-heading p { font-size:10pt; margin-top:8px; }
 .printing-plan .planning-product-label { width:240px; font-size:10pt; }
 .printing-plan .consultation-plan select { font-size:11pt; padding:6px 10px; min-height:35px; }
 .printing-plan .support-kicker, .printing-plan .planning-target, .printing-plan .planning-terms { font-size:10pt; }
 .printing-plan .planning-summary { padding:14px 18px; background:#fff; border-color:#95a7b3; }
 .printing-plan .planning-name { font-size:15pt; }
 .printing-plan .planning-columns { display:block; margin-top:18px; }
 .printing-plan .planning-calculation, .printing-plan .planning-documents { padding:20px; border-color:#95a7b3; margin-top:18px; }
 .printing-plan .planning-panel-heading h3 { font-size:13pt; }
 .printing-plan .planning-panel-heading { margin-bottom:16px; }
 .printing-plan .planning-form { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
 .printing-plan .planning-amount-label, .printing-plan .planning-rate-label { margin:0; font-size:10pt; }
 .printing-plan .planning-amount { font-size:16pt; padding:6px 12px; margin-top:10px; }
 .printing-plan .planning-periods { margin-top:0; gap:10px; grid-column:1/-1; grid-row:2; }
 .printing-plan .planning-periods label { font-size:10pt; }
 .printing-plan .planning-range, .printing-plan .range-labels, .printing-plan .planning-document-actions, .printing-plan .planning-all-docs, .printing-plan .planning-detail, .printing-plan .plan-section-links, .printing-plan .planning-storage-note { display:none; }
 .printing-plan .payment-highlight { background:#fff; color:#000; border:1px solid #95a7b3; padding:15px 20px; }
 .printing-plan .payment-highlight > span, .printing-plan .payment-highlight p { color:#293b48; font-size:10pt; }
 .printing-plan .payment-highlight > strong { color:#000; font-size:23pt; }
 .printing-plan .planning-totals { grid-template-columns:1fr 1fr 1fr; padding:16px 0; }
 .printing-plan .planning-totals > div { display:block; }
 .printing-plan .planning-totals strong { font-size:11pt; }
 .printing-plan .planning-charts { display:flex; align-items:center; gap:30px; }
 .printing-plan .interest-chart { width:45%; gap:10px; }
 .printing-plan .planning-donut { width:85px; height:85px; }
 .printing-plan .balance-chart { width:55%; border:0; margin:0; padding:0; }
 .printing-plan .planning-charts h4 { font-size:10pt; }
 .printing-plan .planning-assumption, .printing-plan .planning-document-note, .printing-plan .document-group-note, .printing-plan .plan-date { font-size:9pt; }
 .printing-plan .planning-documents { break-before:page; }
 .printing-plan .planning-document-group { padding-top:20px; }
 .printing-plan .planning-document-group h4 { font-size:12pt; }
 .printing-plan .document-check { font-size:11pt; padding:7px 0; break-inside:avoid; }
 .printing-plan .document-check input { width:16px; height:16px; margin-top:4px; }
 .printing-plan .document-check input:checked + span { text-decoration:none; }
 .printing-plan .plan-contact { background:#fff; border-color:#95a7b3; padding:20px; margin-top:20px; break-inside:avoid; }
 .printing-plan .plan-contact strong { font-size:13pt; }
 .printing-plan .plan-contact p { font-size:9pt; }
 .printing-plan .planning-call { background:#fff; color:#000; padding:0; font-size:11pt; }
 .printing-plan .planning-reservation { display:none; }
 .printing-plan .planning-calculation, .printing-plan .planning-results, .printing-plan .planning-summary { break-inside:avoid; }
}
