/* Refinements to the established navy, gold and white design. */
html { scrollbar-gutter: stable; }
body { overflow-wrap: break-word; }
.wrap { min-width: 0; }
.site-header { padding-inline: env(safe-area-inset-right) env(safe-area-inset-left); }
.site-header .brand-logo { width: 68px; height: 36px; object-fit: contain; flex: 0 0 68px; filter: none; }
.brand-copy { word-break: normal; overflow-wrap: normal; }
.links a { padding-block: 10px; }
.links a[aria-current] { text-decoration-color: var(--gold); text-decoration-thickness: 2px; }
.brand-logo { visibility: visible; opacity: 1; object-fit: contain; }
.promise .brand-logo, .about-mark .brand-logo { flex-shrink: 0; }
.promise { padding-inline-start: 32px; padding-inline-end: 0; }
.footer-identity { display: flex; gap: 18px; align-items: flex-start; min-width: 0; }
.footer-identity > img { width: 68px; height: 36px; flex: 0 0 68px; margin-top: 4px; }
.footer-identity > div { min-width: 0; }
.footer-row .contact-list { min-width: 0; }
.contact-list { text-align: start; justify-items: start; max-width: 100%; }
.contact-list a { direction: ltr; unicode-bidi: isolate; text-align: start; width: fit-content; max-width: 100%; min-height: 44px; display: inline-flex; align-items: center; }
.field input[type="tel"], .field input[type="number"] { direction: ltr; text-align: right; unicode-bidi: isolate; }
.result dl > div { align-items: baseline; }
.result dd { text-align: end; max-width: 100%; }
.breadcrumbs { display: block; line-height: 1.8; overflow-wrap: anywhere; }
.detail-copy h1 { overflow-wrap: normal; }
.detail-copy li { padding-inline-start: 2px; }
.document-controls > * { min-width: 0; }
.document-controls .search-label, .document-controls .bank-selector > label { min-height: 3.2rem; display: flex; align-items: end; margin-bottom: 10px; }
.document-controls input, .document-controls select { font-size: 1rem; }
.documents-index .document-link { display: grid; grid-template-columns: 90px minmax(0,1fr); align-items: start; gap: 20px; padding: 24px; }
.document-mini { background: var(--mist); border: 1px solid var(--line); border-radius: 8px; padding: 7px; display: block; overflow: hidden; }
.document-mini img { width: 100%; height: auto; display: block; background: white; }
.document-summary { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; height: 100%; }
.document-summary h2 { font-size: 1.2rem; line-height: 1.45; margin: 0 0 8px; }
.document-summary p { font-size: .9375rem; line-height: 1.75; }
.document-summary .tag { margin-top: 14px; }
.document-summary .more { margin-top: auto; padding-top: 16px; text-decoration: underline; text-underline-offset: 4px; }
.document-link:hover, .document-link:focus-visible { border-color: var(--navy); }
.document-return { justify-content: space-between; }
.sample-preview { align-self: start; }
.sample-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 0 16px; }
.sample-actions .btn { padding: 10px 16px; font-size: .9375rem; border-radius: 10px; cursor: pointer; }
.document-pdf-link { text-decoration: underline; text-underline-offset: 4px; }
.document-page-image { overflow: hidden; border-radius: 8px; }
.sample-preview .sample-badge { line-height: 1.5; }
.sample-preview figcaption { margin-top: 12px; }
.document-check { min-height: 52px; }
.document-check input { margin: 0; }
.sample-dialog { padding: 0; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: var(--mist); width: min(1000px, calc(100% - 32px)); max-width: calc(100% - 32px); max-height: calc(100dvh - 32px); }
.sample-dialog::backdrop { background: rgba(6,31,59,.75); }
.sample-dialog[open] { display: flex; flex-direction: column; }
.sample-dialog-head { padding: 18px 22px; background: white; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sample-dialog-head h2 { font-size: 1.15rem; line-height: 1.5; margin: 0; color: var(--navy); }
.sample-dialog-head p { font-size: .875rem; margin: 4px 0 0; color: var(--muted); }
.sample-dialog-head button { min-height: 44px; flex-shrink: 0; }
.sample-dialog-toolbar { display: flex; gap: 12px; padding: 12px 22px; background: white; flex-wrap: wrap; }
.sample-dialog-toolbar button { font: inherit; padding: 8px 14px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--navy); min-height: 44px; cursor: pointer; }
.sample-dialog-toolbar button[aria-pressed="true"] { background: var(--navy); color: white; }
.sample-dialog-body { overflow: auto; padding: 20px; min-height: 0; direction: ltr; }
.sample-dialog-body img { width: min(880px, 100%); height: auto; margin-inline: auto; background: white; box-shadow: var(--shadow); }
.sample-dialog-body.zoomed img { width: 983px; min-width: 100%; max-width: none; }
.sample-dialog-status { padding: 8px 22px; margin: 0; color: var(--navy); font-size: .875rem; }
@media (max-width: 1000px) {
  .links.open { align-items: stretch; gap: 4px; padding: 20px max(20px, env(safe-area-inset-right)); }
  .links.open a { justify-content: flex-start; padding: 10px 16px; border-radius: 10px; }
  .links.open a[aria-current] { background: var(--mist); }
  .links.open .contact-pill { justify-content: center; margin-top: 8px; }
}
@media (max-width: 850px) {
  .promise { padding-inline: 0; }
  .document-controls .search-label, .document-controls .bank-selector > label { min-height: 0; }
  .document-progress { gap: 16px; }
  .document-return { justify-content: flex-start; }
  .sample-preview { max-width: 680px; width: 100%; }
}
@media (max-width: 520px) {
  .site-header .brand-logo { width: 56px; height: 30px; flex-basis: 56px; }
  .footer-identity { gap: 14px; }
  .footer-row .contact-list, .cta-box .contact-list { align-self: stretch; justify-items: start; }
  .footer-row .contact-list a, .cta-box .contact-list a { justify-content: flex-start; text-align: start; }
  .documents-index .document-link { grid-template-columns: 64px minmax(0,1fr); gap: 14px; padding: 20px; }
  .document-mini { padding: 4px; border-radius: 5px; }
  .document-summary h2 { font-size: 1.125rem; }
  .document-summary .tag { font-size: .8125rem; padding: 4px 8px; }
  .document-check { padding-inline: 20px; }
  .sample-actions { flex-direction: column; }
  .sample-actions .btn { width: 100%; }
  .sample-dialog { width: calc(100% - 16px); max-width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  .sample-dialog-head { padding: 14px; gap: 12px; align-items: flex-start; }
  .sample-dialog-head h2 { font-size: 1rem; }
  .sample-dialog-head button { padding-inline: 14px; }
  .sample-dialog-toolbar { padding: 10px 14px; }
  .sample-dialog-body { padding: 10px; }
}
@media (display-mode: standalone) {
  body { padding-bottom: env(safe-area-inset-bottom); }
}
@media print { .sample-dialog, .sample-actions { display: none !important; } }

/* Short optional document answers */
#document-quick-answers details{border-bottom:1px solid var(--line);padding:12px 0;max-width:850px}#document-quick-answers summary{cursor:pointer;min-height:44px;display:list-item;font-weight:700;color:var(--navy);padding-block:8px}#document-quick-answers details p{max-width:75ch;margin-block:8px 16px;line-height:1.8}#document-quick-answers a{overflow-wrap:anywhere}

/* Keep the expanded navigation readable on intermediate screens. */
@media(min-width:851px) and (max-width:1100px){.site-header .links{display:none}.site-header .menu{display:block}.site-header .links.open{display:flex;position:absolute;top:84px;inset-inline:0;background:#fff;padding:24px;flex-direction:column;border-bottom:1px solid var(--line)}}

/* Grouped, concise glossary within the existing BM palette. */
.glossary-groups{display:grid;gap:40px}.term-group{padding:0;scroll-margin-top:110px;min-width:0}.term-group-title{color:var(--navy);font-size:1.4rem;line-height:1.5;margin:0 0 18px;padding-inline-start:14px;border-inline-start:3px solid var(--gold)}.term-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.term-group .term{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0}.term-group .term h2{font-size:1.2rem;line-height:1.5;margin:0 0 10px;overflow-wrap:normal;word-break:normal}.term-group .term p{line-height:1.85;font-size:1rem;max-width:65ch}.term-topics{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.term-topics a{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:999px;padding:8px 16px;background:white;color:var(--navy);text-decoration:none;font-size:.9375rem}.term-topics a:hover,.term-topics a:focus-visible{border-color:var(--gold);background:var(--mist)}@media(max-width:700px){.term-group-grid{grid-template-columns:1fr}.term-group .term{padding:20px}.glossary-groups{gap:30px}.term-topics{gap:8px}.term-topics a{padding:8px 12px}}

/* Locally hosted Hebrew typography and mobile document access, 15 October 2026. */
@font-face{font-family:BMText;src:url('/assets/fonts/Assistant.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:BMHeading;src:url('/assets/fonts/Rubik.ttf') format('truetype');font-style:normal;font-weight:300 900;font-display:swap}
body{font-family:BMText,Arial,sans-serif;font-size:18px;line-height:1.75;-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,input,select,textarea{font:inherit}
h1,h2,h3,.brand-copy{font-family:BMHeading,Arial,sans-serif;letter-spacing:normal;word-break:normal;overflow-wrap:break-word}
h1,h2,h3{font-weight:600}
.site-header .brand{gap:14px;max-width:100%;min-width:0}
.site-header .brand-copy{font-size:18px;font-weight:600;line-height:1.45;white-space:nowrap;overflow-wrap:normal}
.site-header .brand-copy small{font-family:BMText,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.5}
.site-header .brand-logo{width:72px;flex-basis:72px;height:38px}
.hero h1{font-size:clamp(2.4rem,4.7vw,4rem);line-height:1.24;letter-spacing:normal;max-width:17ch}
.hero p{font-size:1.2rem;line-height:1.85;max-width:62ch}
.hero-grid{gap:60px;padding-block:76px}
.section-head h2,.documents-hero h1,.process-intro h2,.resource h2,.about-copy h2{letter-spacing:normal;line-height:1.32}
.card{border-radius:14px;padding:30px;min-height:245px;box-shadow:0 3px 14px rgba(8,48,92,.035)}
.card:after{display:none}.card h3{font-size:1.3rem;line-height:1.5;margin:22px 0 12px}.card p{font-size:1.0625rem;line-height:1.85}
.steps{border:0;display:grid;gap:16px}.step{border:1px solid var(--line);border-radius:14px;background:#fff;padding:24px;grid-template-columns:42px minmax(0,1fr);gap:18px}
.step strong{font-family:BMHeading,Arial,sans-serif;font-size:1rem;font-weight:500;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#f8f3e8;color:#76591e;font-variant-numeric:tabular-nums}
.step h3{font-size:1.18rem;line-height:1.5;margin:2px 0 8px}.step p{font-size:1.0625rem;line-height:1.85}
.documents-index .doc-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px}
.documents-index .document-link{grid-template-columns:82px minmax(0,1fr);padding:24px;min-height:235px;gap:20px;touch-action:manipulation}
.document-mini{pointer-events:none}.document-summary h2{font-size:1.12rem;font-weight:600;line-height:1.55}
.document-summary p{font-size:1rem;line-height:1.75}.document-summary .more{margin-top:16px;padding-top:0}
.document-item{min-width:0}.document-check{background:#f7f9fb;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px}
.detail-copy{font-size:1.0625rem;line-height:1.85}.detail-copy h1{font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.4}
.detail-copy h2{font-size:1.25rem;line-height:1.5}.detail-copy p,.reading p{max-width:72ch}
.document-guide{padding:22px 0;margin-block:22px;border-top:1px solid var(--line)}
.document-guide h2{margin-top:0}.document-guide .document-page-image{margin-top:18px}
.document-help{margin-top:16px;font-size:1rem;line-height:1.7}
.document-help a{text-decoration:underline;text-underline-offset:4px}
.inline-document-view{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;margin-block:18px}
.inline-document-view summary{cursor:pointer;font-weight:600;color:var(--navy);min-height:44px;padding-block:8px}
.inline-document-view img{width:100%;height:auto;margin-top:14px}
.inline-document-view p{font-size:1rem;line-height:1.7}
.noscript-nav{padding:12px 20px;border-bottom:1px solid var(--line);display:flex;gap:18px;flex-wrap:wrap;background:#fff}
@media(max-width:850px){.hero-grid{padding-block:52px;gap:32px}.documents-index .doc-grid{grid-template-columns:1fr}.step{padding:22px}.hero p{font-size:1.125rem}.detail-grid{gap:28px}}
@media(max-width:520px){
 .site-header{height:76px}.site-header .brand-logo{width:52px;flex-basis:52px;height:30px}.site-header .brand{gap:9px}
 .site-header .brand-copy{font-size:15px;line-height:1.4}.site-header .brand-copy small{display:block;font-size:12px}
 .site-header .menu{font-size:25px;min-width:44px;min-height:44px;padding:4px}.links.open{top:76px;max-height:calc(100dvh - 76px)}
 .hero h1{font-size:clamp(2rem,8.8vw,2.7rem);line-height:1.3}.hero p{font-size:1.1rem;line-height:1.8}
 .documents-index .document-link{grid-template-columns:60px minmax(0,1fr);padding:20px;gap:16px;min-height:205px}
 .document-summary h2{font-size:1.08rem}.document-check{padding:14px 20px}.step{grid-template-columns:34px minmax(0,1fr);padding:20px 16px;gap:14px}
 .step strong{width:32px;height:32px;font-size:.85rem}.step h3{font-size:1.12rem}.step p{font-size:1rem;line-height:1.8}
 .card{padding:24px;min-height:0}.document-link:hover{transform:none}.actions .btn{min-height:50px}
}
@media print{.inline-document-view,.document-help,.noscript-nav{display:none}}

/* Calm, warm process and service cards within the existing BM identity. */
#process{background:#fffdf9}
#process .steps{position:relative;isolation:isolate;gap:18px}
#process .steps::before{content:"";position:absolute;inset-inline-start:45px;top:46px;bottom:46px;width:1px;background:#d7c59f;z-index:-1}
#process .step{position:relative;grid-template-columns:42px minmax(0,1fr);gap:20px;padding:26px 24px;border:1px solid #e5dfd3;border-radius:16px;background:#faf7f0;box-shadow:0 4px 16px rgba(8,48,92,.025)}
#process .step:nth-child(even){background:#f1f5f9;border-color:#dce5ed}
#process .step strong{background:#fff;color:#76591e;border:1px solid #e2d5b9;width:42px;height:42px;font-size:.95rem;font-weight:500;box-shadow:0 2px 5px rgba(8,48,92,.025)}
#process .step:nth-child(even) strong{border-color:#cddce8;color:var(--navy)}
#process .step h3{font-size:1.2rem;font-weight:600;line-height:1.5;margin:3px 0 9px}
#process .step p{color:#455e73;font-size:1.0625rem;line-height:1.8;max-width:44ch;margin:0}
.services .cards{gap:22px}
.services .card{border:1px solid #dbe4ec;border-top:3px solid var(--navy);border-radius:16px;background:#fff;padding:30px;box-shadow:0 5px 20px rgba(8,48,92,.035)}
.services .card:nth-child(2){border-top-color:var(--gold);background:#fffdf8}
.services .card-number{font-family:BMHeading,Arial,sans-serif;font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#eef3f7;color:var(--navy)}
.services .card:nth-child(2) .card-number{background:#f5edda;color:#76591e}
.services .card h3{margin-top:22px;font-weight:600;line-height:1.5}
.services .card p{color:#455e73;line-height:1.85}
@media(max-width:520px){
 #process .steps{gap:16px}#process .steps::before{inset-inline-start:33px;top:38px;bottom:38px}
 #process .step{grid-template-columns:34px minmax(0,1fr);gap:14px;padding:22px 16px;border-radius:14px}
 #process .step strong{width:34px;height:34px;font-size:.8rem}
 #process .step h3{font-size:1.08rem;line-height:1.55;margin:2px 0 8px}
 #process .step p{font-size:1rem;line-height:1.8}
 .services .cards{gap:16px}.services .card{padding:24px;border-radius:14px}
}
@media print{#process .steps::before{display:none}#process .step,.services .card{background:#fff;box-shadow:none;break-inside:avoid}}

/* Stable logo painting and consistent inner-page hierarchy. */
.site-header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.brand-logo,.brand:hover .brand-logo,.brand:active .brand-logo,.brand:focus .brand-logo{opacity:1;visibility:visible;transform:none;transition:none;animation:none;mix-blend-mode:normal}
.site-header .brand-logo,.about-mark .brand-logo{filter:none;-webkit-filter:none}
.promise .brand-logo{filter:none;-webkit-filter:none}
.brand-logo{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.tool-hero{background:#f3f6f9;padding:64px 0 48px;border-bottom:1px solid #e1e8ef}
.tool-hero h1,.reading h1{font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.35;letter-spacing:normal;margin:12px 0 20px;font-weight:600}
.tool-hero p{max-width:65ch;color:#455e73;font-size:1.12rem;line-height:1.85}
.reading{max-width:900px;line-height:1.9}.reading h2{font-size:1.55rem;line-height:1.5;margin:36px 0 14px;font-weight:600}.reading h3{font-size:1.2rem;line-height:1.5}
.reading p,.reading li{font-size:1.0625rem;line-height:1.9}.reading li{margin-block:8px}
.page-services .cards{gap:22px;align-items:stretch}.page-services .card{border-top:3px solid var(--navy);background:#f8fafc;border-radius:16px;min-height:0;box-shadow:0 4px 18px #08305c08}
.page-services .card:nth-child(2){background:#fcf8ef;border-top-color:var(--gold)}
.page-services .card h2{font-size:1.35rem;line-height:1.5;font-weight:600;margin:20px 0 14px}.page-services .card p{font-size:1.0625rem;line-height:1.85}
.page-services .card-number{font-family:BMHeading,Arial,sans-serif;font-size:.9rem;background:#eef3f7;border-radius:10px;display:inline-grid;place-items:center;width:36px;height:36px}
.tool-layout{gap:32px;align-items:start;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.panel,.result{border-radius:16px;padding:32px}.panel{border:1px solid #dce5ed;box-shadow:0 5px 20px #08305c06;background:#fff}
.panel h2,.result h2{font-size:1.35rem;line-height:1.5;font-weight:600;margin-top:0}
.field label{font-weight:600;line-height:1.5;margin-bottom:9px}.field input,.field select,.field textarea{border-radius:10px;min-height:48px;font-size:1rem}
.notice{font-size:1rem;line-height:1.85}.notice h2{font-size:1.25rem;line-height:1.5;margin:0 0 12px}
.document-guide p{font-size:1rem;line-height:1.85}.document-guide small{display:block;line-height:1.75;font-size:.875rem}
.page-faq details{border:1px solid #dce5ed;border-radius:12px;background:#fff;margin-block:14px;padding:18px 22px}.page-faq summary{font-family:BMHeading,Arial,sans-serif;font-size:1.05rem;font-weight:500;line-height:1.6;cursor:pointer}.page-faq details[open]{background:#f6f9fb;border-color:#b8cbdc}
.page-personal-area .card,.page-budget .card{background:#f6f9fb;border-radius:16px;border-top:3px solid var(--navy)}
.page-personal-area .card h2,.page-budget .card h2{font-size:1.35rem;line-height:1.5}
.page-about .reading{max-width:850px}.page-about .reading h2{padding-inline-start:16px;border-inline-start:3px solid var(--gold)}
@media(max-width:900px){.tool-layout{grid-template-columns:1fr;gap:24px}.page-services .cards{grid-template-columns:1fr}.page-services .card{padding:28px}}
@media(max-width:520px){.tool-hero{padding:36px 0 30px}.tool-hero h1,.reading h1{font-size:1.9rem;line-height:1.4}.tool-hero p{font-size:1.0625rem;line-height:1.8}.panel,.result{padding:24px 20px}.reading h2{font-size:1.3rem;margin:28px 0 12px}.reading p,.reading li{font-size:1rem;line-height:1.85}.page-services .card{padding:24px}.page-faq details{padding:16px 18px}}

/* Embed the original mark as native vector geometry, independent of image loading. */
svg.brand-logo{display:block;overflow:visible;isolation:isolate;pointer-events:none;filter:none!important;-webkit-filter:none!important}
.footer-identity>svg.brand-logo{width:68px;height:36px;flex:0 0 68px;margin-top:4px}
.promise svg.brand-logo{width:200px;height:auto;aspect-ratio:1536/747}
.about-mark svg.brand-logo{width:52%;height:auto}
/* Keep actions next to the text they belong to rather than at a stretched card bottom. */
.account-grid{align-items:start;gap:28px}
.account-card{gap:18px;padding:32px;border-radius:16px;background:#f7f9fc;box-shadow:0 4px 18px #08305c05}
.account-card:nth-child(2){background:#fffcf6}
.account-card h2{margin:0;font-size:1.5rem;line-height:1.5}
.account-card p{margin:0;line-height:1.85}
.account-card .btn{margin:0;max-width:100%;min-height:50px;padding:12px 24px;line-height:1.5;white-space:normal;text-align:center}
.account-card .account-note{margin:4px 0 0;padding-top:18px;font-size:.9375rem;line-height:1.8}
@media(max-width:700px){.account-grid{grid-template-columns:1fr;gap:22px}.account-card{padding:26px 22px;gap:16px}.account-card h2{font-size:1.3rem}.account-card .btn{align-self:stretch;width:100%}}

/* Contact details follow the same right edge as their heading. */
.page-contact aside.panel{background:#f7f9fc;border-top:3px solid var(--gold)}
.page-contact aside.panel h2{margin:12px 0 8px}
.page-contact aside.panel>p{margin:0 0 20px}
.page-contact aside.panel .contact-list{direction:rtl;justify-items:start;gap:8px;margin:0;padding-top:16px;border-top:1px solid #dce5ed}
.page-contact aside.panel .contact-list a{overflow-wrap:anywhere;font-size:1.0625rem}

/* Search visibility must win over component display rules. */
[hidden]{display:none!important}
.term-search-feedback{color:var(--muted);font-size:.9375rem;margin:10px 0;line-height:1.7}
.term-search-clear{font:inherit;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 18px;min-height:44px;cursor:pointer}
.term-search-clear:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
@media(min-width:521px) and (max-width:1100px){.site-header .links.open{max-height:calc(100dvh - 84px);overflow-y:auto;overscroll-behavior:contain}}

/* Keep contact submission feedback legible and reachable by keyboard. */
.page-contact .form-status:not(:empty){padding:14px 16px;border-inline-start:3px solid var(--gold);background:var(--mist);border-radius:8px;overflow-wrap:anywhere}
.page-contact .form-status:focus-visible{outline:3px solid var(--navy);outline-offset:3px}

/* Reading hierarchy shared by every public content page. */
main{min-width:0}
main p,main li{text-align:start;word-break:normal}
main h1,main h2,main h3{text-wrap:balance;scroll-margin-top:110px}
.hero p{max-width:54ch;line-height:1.8;margin-block:0 18px;text-wrap:pretty}
.hero p:last-of-type{margin-block-end:28px}
.reading p,.detail-copy p,.tool-hero p,.documents-hero p,.about-copy p,.section-head p{line-height:1.85;text-wrap:pretty}
.reading p,.detail-copy p{margin-block:0 18px}
.reading :is(ul,ol),.detail-copy :is(ul,ol){padding-inline-start:1.4em;padding-inline-end:0}
.reading li,.detail-copy li{padding-inline-start:.2em;margin-block:8px}
.reading p a,.reading li a,.detail-copy p a,.detail-copy li a,.notice a{ text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.field small,.field .field-help{display:block;font-size:.9375rem;line-height:1.7;color:#455e73}
.field input[type=email]{direction:ltr;text-align:start;unicode-bidi:isolate}
:is(.card,.panel,.result,.client-tool,.account-card){min-width:0}
:is(.card,.panel,.client-tool,.account-card) h2{margin-block-end:14px}
@media(max-width:520px){.hero p{font-size:1.0625rem;line-height:1.8;margin-block-end:16px}main h1,main h2,main h3{scroll-margin-top:96px}.reading p,.detail-copy p{line-height:1.8}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Deliberate phrase breaks and aligned introductions. */
.title-line{display:block}
.section-head{align-items:center}
.section-head>div,.section-head>p{min-width:0}
.section-head h2{max-width:22ch;margin-block:12px 0}
.section-head>p{margin-block:0;max-width:60ch;line-height:1.85}
.resource h2,.about-copy h2,.process-intro h2{max-width:22ch}
.card h2,.card h3,.document-summary h2,.term h2{text-wrap:balance;overflow-wrap:normal}
.actions{row-gap:12px}
.btn{height:auto;white-space:normal;overflow-wrap:break-word}
@media(max-width:850px){.section-head{gap:20px;align-items:start}.section-head>p{max-width:62ch}}
@media(max-width:520px){.section-head h2{font-size:1.8rem;line-height:1.4}.title-line{max-width:100%}.section-head{gap:16px}}

/* Complete thoughts begin on a fresh line; natural wrapping remains responsive. */
.sentence-line{display:block;margin-block-start:.45em}
.reading p+p,.detail-copy p+p{margin-block-start:14px}
.notice p:last-child,.panel p:last-child{margin-block-end:0}
.section-head>p .sentence-line{margin-block-start:.5em}
@media(max-width:520px){.sentence-line{margin-block-start:.5em}}

/* Keep each text column within its grid at intermediate screen widths. */
.process-grid>*,.resource-grid>*,.about-grid>*,.detail-grid>*,.tool-layout>*{min-width:0}
.process-intro h2{margin-block:12px 22px;line-height:1.35}
.process-intro p{max-width:46ch;line-height:1.85;margin-block:0 18px;text-align:start}
.process-intro .sentence-line{margin-block-start:.55em}
.reading,.detail-copy,.tool-hero,.documents-hero{overflow-wrap:break-word}
@media(min-width:851px) and (max-width:1050px){.process-grid,.resource-grid,.about-grid,.detail-grid{gap:32px}.hero-grid{gap:32px}}
@media(max-width:520px){.process-intro h2{font-size:1.8rem;margin-block-end:18px}.process-intro p{font-size:1rem}}

/* Accessibility review 2026-10-18: visible focus, field boundaries and reflow. */
:root{scroll-padding-block-start:110px}
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #08305c!important;outline-offset:3px!important;box-shadow:0 0 0 3px #fff!important}
:is(.field input,.field select,.field textarea,.search-wrap input){border-color:#718096}
:is(input,textarea)::placeholder{color:#526478;opacity:1}
summary{min-height:44px;padding-block:6px}
:where(main,footer) a:not(.btn):not(.document-link):not(.client-tool){text-underline-offset:.2em}
main :is(p,li) a:not(.btn){text-decoration:underline}
:is(.field input,.field select,.field textarea)[aria-invalid="true"]{border-color:#a12622;border-width:2px}
.field-error{color:#a12622;font-size:.9375rem;line-height:1.6;margin:0}
.btn{white-space:normal;text-align:center;height:auto;padding-block:10px}
@media(max-width:520px){.site-header .brand-copy{white-space:normal}.site-header .links.open{max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain}.client-secondary .btn{flex-shrink:1}.client-home-paths .actions{min-width:0}}
@media(forced-colors:active){:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}.btn{border-color:ButtonText}}

/* Align reading pages with the hero's RTL container edge. */
.wrap.reading{margin-inline-start:max(20px,calc((100% - 1160px)/2));margin-inline-end:auto;text-align:start}
@media(max-width:520px){.wrap.reading{margin-inline-start:14px;margin-inline-end:14px}}

/* Compact, fully visible site footer. Document workspaces keep their own fit. */
body:not(.bm-document-workspace)>footer{padding:18px 0;margin-top:0}
body:not(.bm-document-workspace)>footer .footer-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}
body:not(.bm-document-workspace)>footer .footer-identity{align-items:center;gap:12px}
body:not(.bm-document-workspace)>footer .footer-identity>svg.brand-logo{width:58px;height:30px;flex:0 0 58px;margin:0}
body:not(.bm-document-workspace)>footer .footer-identity strong{font-size:16px;line-height:1.4}
body:not(.bm-document-workspace)>footer .footer-identity p{margin:3px 0 0;font-size:14px;line-height:1.4}
body:not(.bm-document-workspace)>footer .contact-list{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;margin:0}
body:not(.bm-document-workspace)>footer .contact-list a{font-size:14px;min-height:32px;padding:0;width:auto;line-height:1.4}
body:not(.bm-document-workspace)>footer .footer-links{gap:5px 20px;margin:12px 0 7px;padding-top:9px}
body:not(.bm-document-workspace)>footer .footer-links a{font-size:13px;line-height:1.5;padding:2px 0}
body:not(.bm-document-workspace)>footer .sample-key{display:block;font-size:12px;line-height:1.5;margin:4px 0 0}
@media(max-width:600px){body:not(.bm-document-workspace)>footer{padding:16px 0}body:not(.bm-document-workspace)>footer .footer-row{flex-direction:column;align-items:flex-start;gap:8px}body:not(.bm-document-workspace)>footer .contact-list{gap:4px 16px}body:not(.bm-document-workspace)>footer .contact-list a{min-height:36px}body:not(.bm-document-workspace)>footer .footer-links{gap:5px 16px}}

body:not(.bm-document-workspace)>footer .bm-rights{display:block;margin:6px 0 0;font-size:12px;line-height:1.5}body:not(.bm-document-workspace)>footer .footer-links a{min-height:28px;display:inline-flex;align-items:center}

.contact-list a:has(.contact-detail-label),footer a:has(.contact-detail-label){direction:rtl;display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 7px;max-width:100%}
.contact-detail-label{font-weight:400;font-size:.86em;white-space:nowrap;direction:rtl;color:inherit;opacity:.85}
a:has(.contact-detail-label) bdi{font-weight:700;overflow-wrap:anywhere;min-width:0}
body:not(.bm-document-workspace)>footer .contact-list{gap:4px 16px}
@media(min-width:1100px){body:not(.bm-document-workspace)>footer .footer-row{gap:8px 16px}body:not(.bm-document-workspace)>footer .contact-list a{font-size:13px}}

/* Keep the controls visible while fitting the whole document to the viewport. */
@media screen {
  dialog.sample-dialog {
    width: calc(100% - 24px);
    max-width: calc(100% - 24px);
    height: calc(100dvh - 24px);
    max-height: calc(100dvh - 24px);
    margin: auto;
  }
  .sample-dialog > :not(.sample-dialog-body) { flex: none; }
  .sample-dialog .sample-dialog-status:empty { display: none; }
  .sample-dialog .sample-dialog-body { flex: 1 1 0; min-height: 0; }
  .sample-dialog .sample-dialog-body img {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
    box-shadow: none;
    background: transparent;
  }
  .sample-dialog .sample-dialog-body.zoomed img { height: auto; }
}
