/* 1.7.0 decision information: jurisdiction "before you instruct" block, home featured cards, pricing compare. */
.jd-section, .jd-featured, .jd-compare, .pricing-compare { --jd-line: rgba(14, 29, 58, .13); --jd-card: #fbf9f4; --jd-ok: #2f7d62; --jd-warn: #b0364c; }

/* ---------------------------------------------------------------- fit cards */
.jd-fit { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--rule); border-radius: .25rem; background: var(--rule); }
@media (min-width: 48rem) { .jd-fit { grid-template-columns: 1fr 1fr; } }
.jd-fit-card { background: var(--jd-card); padding: 1.75rem 1.5rem; }
@media (min-width: 64rem) { .jd-fit-card { padding: 2.25rem 2.5rem; } }
.jd-fit-card--assess { background: #f7f1e6; }
.jd-uses { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.jd-uses span { border: 1px solid rgba(36, 84, 156, .28); border-radius: 999px; background: var(--isle-soft); color: var(--isle); padding: .3rem .8rem; font-size: .85rem; line-height: 1.3; }

.jd-list { margin-top: 1rem; display: grid; gap: .65rem; }
.jd-list li { position: relative; padding-left: 1.6rem; color: var(--ink); font-size: .98rem; line-height: 1.75; }
.jd-list li::before { position: absolute; left: 0; top: .72em; width: .8rem; height: 1px; content: ""; background: var(--ink-soft); }
.jd-list--ok li::before { top: .45em; width: .5rem; height: .85rem; border: solid var(--jd-ok); border-width: 0 2px 2px 0; background: none; transform: rotate(40deg); }
.jd-list--warn li::before { top: .6em; width: .5rem; height: .5rem; border-radius: 50%; background: var(--jd-warn); }
.jd-list--num { counter-reset: jd; }
.jd-list--num li { counter-increment: jd; padding-left: 2.2rem; }
.jd-list--num li::before { content: counter(jd, decimal-leading-zero); top: .2em; width: auto; height: auto; background: none; color: var(--coral); font-family: var(--font-mono); font-size: .75rem; letter-spacing: .08em; }
.jd-small { margin-top: 1rem; color: var(--ink-soft); font-size: .85rem; line-height: 1.7; }
.jd-lead { color: var(--ink); line-height: 1.8; }

/* ---------------------------------------------------------------- blocks */
.jd-blocks { border-top: 1px solid rgba(14, 29, 58, .22); }
.jd-block { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; border-bottom: 1px solid var(--rule); padding: 2rem 0; }
@media (min-width: 48rem) { .jd-block { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2.5rem; padding: 2.5rem 0; } .jd-block-head { grid-column: span 3 / span 3; } .jd-block-body { grid-column: span 9 / span 9; min-width: 0; } }
.jd-block-title { margin-top: .5rem; font-family: var(--font-display); font-size: clamp(1.35rem, 2vw, 1.7rem); font-weight: 560; line-height: 1.25; color: var(--ink); }

.jd-pairs { display: grid; }
.jd-pair { display: grid; gap: .3rem; border-bottom: 1px dashed var(--jd-line); padding: .9rem 0; }
.jd-pair:first-child { padding-top: 0; }
.jd-pair:last-child { border-bottom: 0; padding-bottom: 0; }
@media (min-width: 40rem) { .jd-pair { grid-template-columns: 11rem minmax(0, 1fr); gap: 1.5rem; } }
.jd-pair dt { color: var(--ink); font-weight: 600; line-height: 1.7; }
.jd-pair dd { color: var(--ink-soft); line-height: 1.75; }

.jd-timeline-lead { border-left: 3px solid var(--isle); background: var(--jd-card); padding: 1rem 1.25rem; }
.jd-timeline-value { margin-top: .35rem; font-family: var(--font-display); font-size: 1.35rem; line-height: 1.35; color: var(--ink); }
.jd-steps { margin-top: 1.25rem; display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--rule); border-radius: .25rem; background: var(--rule); }
@media (min-width: 48rem) { .jd-steps { grid-template-columns: 1fr 1fr; } }
.jd-steps li { background: var(--paper); padding: 1.1rem 1.25rem; }
.jd-steps p { margin-top: .4rem; color: var(--ink); font-size: .95rem; line-height: 1.7; }
.jd-note { margin-top: 1rem; color: var(--ink-soft); font-size: .9rem; line-height: 1.75; }
.jd-note strong { color: var(--ink); font-weight: 600; }

.jd-fees { display: grid; gap: 1.25rem; }
@media (min-width: 64rem) { .jd-fees { grid-template-columns: 1fr 1fr; } }
.jd-fee-col { border: 1px solid var(--rule); border-radius: .25rem; background: var(--jd-card); padding: 1.25rem 1.25rem 1.4rem; }
.jd-fee-col h4 { font-family: var(--font-display); font-size: 1.2rem; font-weight: 560; color: var(--ink); }
.jd-fee-group { margin-top: 1rem; border-top: 1px solid var(--jd-line); padding-top: .9rem; }
.jd-fee-label { color: var(--isle); font-family: var(--font-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.jd-fee-group--optional .jd-fee-label { color: var(--coral); }
.jd-fee-group .jd-list { margin-top: .5rem; gap: .35rem; }
.jd-fee-group .jd-list li { font-size: .92rem; line-height: 1.65; }
.jd-amounts { margin-top: 1.25rem; display: grid; gap: 1.25rem; border: 1px solid var(--rule); border-radius: .25rem; padding: 1.1rem 1.25rem; }
@media (min-width: 48rem) { .jd-amounts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.jd-amounts ul { margin-top: .5rem; display: grid; gap: .35rem; }
.jd-amounts li { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px dashed var(--jd-line); padding-bottom: .35rem; font-size: .9rem; line-height: 1.5; color: var(--ink-soft); }
.jd-amounts li strong { color: var(--ink); font-weight: 600; white-space: nowrap; }
.jd-amount-from { margin-top: .5rem; font-family: var(--font-display); font-size: 1.5rem; color: var(--ink); }
.jd-amount-from span { font-family: var(--font-sans, inherit); font-size: .85rem; color: var(--ink-soft); }
.jd-actions { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .75rem; }

.jd-table-wrap { overflow-x: auto; border: 1px solid var(--rule); border-radius: .25rem; }
.jd-table { width: 100%; min-width: 34rem; border-collapse: collapse; font-size: .92rem; }
.jd-table th, .jd-table td { border-bottom: 1px solid var(--rule); padding: .8rem 1rem; text-align: left; vertical-align: top; line-height: 1.65; }
.jd-table thead th { background: var(--paper-2); color: var(--ink-soft); font-family: var(--font-mono); font-size: .72rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.jd-table tbody th { color: var(--ink); font-weight: 600; }
.jd-table tbody td { color: var(--ink-soft); }
.jd-table tbody tr:last-child th, .jd-table tbody tr:last-child td { border-bottom: 0; }
.jd-form { display: inline-block; white-space: nowrap; border-radius: 999px; padding: .1rem .6rem; font-size: .78rem; }
.jd-form--electronic { background: var(--isle-soft); color: var(--isle); }
.jd-form--original { background: #efe4cf; color: #7a5513; }
.jd-form--both { background: #e5ece6; color: var(--jd-ok); }

.jd-cases { display: grid; gap: 1rem; }
@media (min-width: 64rem) { .jd-cases { grid-template-columns: 1fr 1fr; } }
.jd-case { border: 1px solid var(--rule); border-radius: .25rem; background: var(--jd-card); padding: 1.25rem; }
.jd-case dl { display: grid; gap: .75rem; }
.jd-case dt { color: var(--coral); font-family: var(--font-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.jd-case dd { margin-top: .2rem; color: var(--ink); line-height: 1.7; }

.jd-foot { margin-top: 1.5rem; display: grid; gap: .75rem; }
.jd-sources { margin-top: .75rem; display: grid; gap: .45rem; font-size: .85rem; line-height: 1.6; }
.jd-sources li { display: flex; gap: .75rem; }
.jd-sources a { color: var(--ink-soft); text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 3px; word-break: break-word; }
.jd-sources a:hover { color: var(--isle); }

/* ---------------------------------------------------------------- home featured cards */
.jd-featured-grid { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--rule); border-radius: .25rem; background: var(--rule); }
@media (min-width: 48rem) { .jd-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 80rem) { .jd-featured-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.jd-card { display: flex; flex-direction: column; background: var(--jd-card); padding: 1.5rem 1.4rem 1.4rem; }
.jd-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.jd-card-name { font-family: var(--font-display); font-size: 1.55rem; font-weight: 560; line-height: 1.2; color: var(--ink); }
.jd-card-name a:hover { color: var(--isle); }
.jd-card-en { margin-top: .2rem; color: var(--ink-soft); font-family: var(--font-mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.jd-card-code { font-family: var(--font-display); font-size: 2.4rem; line-height: 1; color: rgba(36, 84, 156, .16); }
.jd-card .jd-uses { margin-top: .9rem; }
.jd-card .jd-uses span { font-size: .78rem; padding: .2rem .65rem; }
.jd-card-facts { margin-top: 1.1rem; display: grid; border-top: 1px solid var(--jd-line); }
.jd-card-facts > div { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); gap: .75rem; border-bottom: 1px solid var(--jd-line); padding: .7rem 0; }
.jd-card-facts dt { color: var(--ink-soft); font-size: .8rem; line-height: 1.6; }
.jd-card-facts dd { color: var(--ink); font-size: .9rem; line-height: 1.6; }
.jd-card-facts dd small { display: block; margin-top: .15rem; color: var(--ink-soft); font-size: .78rem; }
.jd-card-actions { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; padding-top: 1.1rem; }
.jd-card-actions a { display: inline-flex; align-items: center; gap: .35rem; font-size: .88rem; font-weight: 500; }
.jd-card-actions .jd-link { color: var(--ink); text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 4px; }
.jd-card-actions .jd-link:hover { color: var(--isle); text-decoration-color: currentColor; }
.jd-card-actions .jd-quote { margin-left: auto; border-radius: 999px; background: var(--isle); color: #fff; padding: .45rem .95rem; }
.jd-card-actions .jd-quote:hover { background: #1c447f; }
.jd-card-actions button.jd-link { cursor: pointer; background: none; border: 0; padding: 0; font: inherit; font-size: .88rem; font-weight: 500; }
.jd-card-actions button.jd-link[aria-pressed="true"] { color: var(--coral); }

/* ---------------------------------------------------------------- pricing compare */
.jd-compare-grid { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--rule); border-radius: .25rem; background: var(--rule); }
@media (min-width: 48rem) { .jd-compare-grid { grid-template-columns: repeat(var(--jd-cols, 3), minmax(0, 1fr)); } }
.jd-compare-col { background: var(--jd-card); padding: 1.4rem 1.25rem; }
.jd-compare-col h3 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 560; color: var(--ink); }
.jd-compare-col .jd-amounts { grid-template-columns: 1fr; border: 0; padding: 0; margin-top: 1rem; }
.jd-compare-col .jd-small { margin-top: .75rem; }

/* ---- 1.7.0 home: hero, quick entries, two paths, compare bar ---- */
.home-hero-title { font-family: var(--font-display); font-size: clamp(2.15rem, 4.5vw, 4.05rem); font-weight: 540; line-height: 1.1; letter-spacing: -.015em; text-wrap: balance; color: #fff; }
html[lang^="en"] .home-hero-title { font-size: clamp(2rem, 3.7vw, 3.4rem); line-height: 1.12; }
.home-hero-motto { font-family: var(--font-display); font-size: 1.2rem; line-height: 1.5; color: var(--tide); }
.btn-isle.home-hero-primary { padding-top: .95rem; padding-bottom: .95rem; box-shadow: 0 0 0 1px rgba(143, 176, 220, .35); }
.home-quick { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; border-top: 1px solid rgba(255, 255, 255, .14); padding-top: 1.25rem; }
.home-quick-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.home-quick-chip, .home-quick-all { display: inline-flex; align-items: center; gap: .45rem; border-radius: 999px; padding: .45rem .9rem; font-size: .92rem; line-height: 1.2; transition: background-color .2s, border-color .2s, color .2s; }
.home-quick-chip { border: 1px solid rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .06); color: #fff; }
.home-quick-chip:hover, .home-quick-chip:focus-visible { border-color: #fff; background: rgba(255, 255, 255, .14); }
.home-quick-chip img, .home-quick-chip svg { width: 18px; height: 13px; }
.home-quick-all { color: var(--tide); text-decoration: underline; text-decoration-color: rgba(143, 176, 220, .45); text-underline-offset: 4px; }
.home-quick-all:hover { color: #fff; }

.home-paths { border-bottom: 1px solid var(--rule); background: var(--paper-2, #f2eee5); padding: 3rem 0; }
.home-paths-grid { display: grid; gap: 1.25rem; }
@media (min-width: 48rem) { .home-paths { padding: 3.75rem 0; } .home-paths-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; } }
.home-path { display: flex; height: 100%; flex-direction: column; border: 1px solid var(--rule); border-top: 3px solid var(--isle); border-radius: .25rem; background: var(--card, #fbf9f4); padding: 1.6rem 1.5rem 1.5rem; }
.home-path--existing { border-top-color: var(--coral); }
.home-path-title { margin-top: .6rem; font-family: var(--font-display); font-size: 1.65rem; font-weight: 560; line-height: 1.25; color: var(--ink); }
.home-path-lede { margin-top: .6rem; color: var(--ink-soft); font-size: .95rem; line-height: 1.7; }
.home-path-links { margin-top: 1rem; display: grid; border-top: 1px solid var(--rule); }
.home-path-links a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--rule); padding: .7rem 0; color: var(--ink); font-size: .95rem; }
.home-path-links a:hover { color: var(--isle); }
.home-path-links svg { flex: none; color: var(--ink-soft); }
.home-path-cta { margin-top: auto; padding-top: 1.25rem; }
.home-path-cta .btn-isle, .home-path-cta .btn-ghost { width: 100%; justify-content: center; }
@media (min-width: 40rem) { .home-path-cta .btn-isle, .home-path-cta .btn-ghost { width: auto; } }

.jd-rest-title { font-family: var(--font-display); font-size: 1.25rem; line-height: 1.3; color: #fff; }
@media (min-width: 48rem) { .jd-rest-title { font-size: 1.5rem; } }
.jd-featured--home .jd-featured-grid { border-color: rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .14); }
.jd-card-actions a.jd-link[aria-pressed="true"] { color: var(--coral); text-decoration-color: currentColor; }
.jd-compare-bar { position: sticky; bottom: .75rem; z-index: 20; margin-top: 1rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.25rem; border: 1px solid rgba(143, 176, 220, .4); border-radius: .35rem; background: #0e2244; padding: .9rem 1.1rem; color: #fff; box-shadow: 0 12px 30px rgba(4, 12, 28, .35); }
.jd-compare-bar[hidden] { display: none; }
.jd-compare-bar-text { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .6rem; font-size: .95rem; }
.jd-compare-bar-text .mono-label { color: var(--tide); }
.jd-compare-bar-hint { color: rgba(255, 255, 255, .72); font-size: .82rem; }
.jd-compare-bar-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; }
.jd-compare-bar-actions .btn-isle { padding-top: .6rem; padding-bottom: .6rem; }
.jd-compare-fees { color: #fff; font-size: .9rem; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .4); text-underline-offset: 4px; }
.jd-compare-fees:hover { text-decoration-color: #fff; }
.jd-compare-clear { cursor: pointer; border: 0; background: none; padding: 0; color: rgba(255, 255, 255, .72); font: inherit; font-size: .85rem; }
.jd-compare-clear:hover { color: #fff; }
@media (max-width: 39.99rem) { .jd-compare-bar-actions { width: 100%; } .jd-compare-bar-actions .btn-isle { flex: 1 1 100%; justify-content: center; } }
.jd-compare-col .jd-compare-code { display: inline-flex; align-items: center; gap: .45rem; color: var(--ink-soft); }
.jd-compare-col .jd-compare-flag { width: 18px; height: 13px; border-radius: 1px; }
.jd-compare-col .jd-compare-code svg, .jd-compare-col .jd-compare-code img { width: 18px; height: 13px; }
/* 1.7.0: tier label instead of a bold percentage; the rule score sits small beside it. */
.finder-tier-box { display: inline-flex; flex-direction: column; align-items: flex-start; gap: .3rem; }
@media (min-width: 48rem) { .finder-tier-box { align-items: flex-end; } }
.finder-tier { display: inline-flex; align-items: center; border-radius: 999px; border: 1px solid rgba(14, 29, 58, .22); padding: .2rem .7rem; font-size: .8rem; font-weight: 600; letter-spacing: .02em; color: var(--ink); }
.finder-tier.is-lead { border-color: var(--isle); background: var(--isle); color: #fff; }
.finder-tier.is-dark { border-color: rgba(255, 255, 255, .55); background: transparent; color: #fff; }
.finder-tier.is-lead.is-dark { border-color: #fff; background: #fff; color: var(--isle); }
.finder-score { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .04em; color: var(--ink-soft); cursor: help; }
.finder-score.is-dark { color: rgba(255, 255, 255, .78); }
.finder-reason-watch { border: 1px solid rgba(176, 54, 76, .35); background: rgba(222, 72, 96, .07); color: #9c2f45; }
.finder-reason-watch.is-dark { border-color: rgba(255, 210, 218, .55); background: rgba(255, 255, 255, .06); color: #ffe3e8; }
.finder-fees { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1rem; }
.finder-fees-link { font-size: .95rem; font-weight: 600; color: var(--isle); text-decoration: underline; text-decoration-color: rgba(36, 84, 156, .35); text-underline-offset: 4px; }
.finder-fees-link:hover { text-decoration-color: currentColor; }
.finder-fees-note { font-size: .78rem; color: var(--ink-soft); }
