/* Long-form pages: legal documents, articles, and hubs. Load after pages.css. */
.page-hero.compact{min-height:0;padding-bottom:56px}
.page-hero.compact h1{font-size:clamp(3.2rem,5.6vw,5.6rem);max-width:1000px}
.page-hero.compact .page-glass{max-width:320px;justify-self:end}
.doc-section{background:var(--white);padding-block:72px}
.doc-layout{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:8%;align-items:start}
.doc-aside{position:sticky;top:112px;max-height:calc(100vh - 136px);overflow-y:auto;min-width:0;font-size:14px;line-height:1.5}
.doc-aside>*+*{margin-top:32px}
.doc-toc ol{display:grid;gap:2px;margin-top:4px}
.doc-toc a{display:block;padding:6px 0;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .3s var(--ease)}
.doc-toc a:hover,.doc-toc a:focus-visible{text-decoration-color:currentColor}
.doc-toc>summary,.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none}
.doc-toc>summary{min-height:44px;margin:0}
.doc-toc>summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}
.doc-toc>summary::after,.faq-list summary::after{content:"";flex:none;width:10px;height:10px;margin-right:6px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-3px) rotate(45deg);transition:transform .3s var(--ease)}
.doc-toc[open]>summary::after,.faq-list details[open]>summary::after{transform:translateY(3px) rotate(-135deg)}
.meta-list{display:grid;gap:14px}
.meta-list dt{font-weight:700;letter-spacing:.06em}
.meta-list dd{margin:2px 0 0;color:#5b554e}
.meta-list a{text-decoration:underline;text-underline-offset:4px}
.prose{min-width:0;max-width:760px}
.prose>:where(p,ul,ol,dl,address,figure,.table-wrap){margin-top:20px}
.prose h2{font-size:clamp(2.2rem,3.2vw,3rem);line-height:1.02;letter-spacing:-.01em;margin-top:72px;text-wrap:balance}
.prose h3{font-family:Instrument Sans,sans-serif;font-size:20px;line-height:1.35;letter-spacing:0;text-transform:none;margin-top:40px}
.prose>:where(h2+*,h3+*){margin-top:16px}
.prose h2+h3{margin-top:24px}
.prose>:first-child,.prose>h2:first-child{margin-top:0}
.prose .review-panel{margin-block:32px}
.prose>.review-panel:first-child{margin-top:0}
.prose ul:not([class]){list-style:disc;padding-left:1.4em}
.prose ol:not([class]){list-style:decimal;padding-left:1.6em}
.prose :is(ul,ol):not([class])>li+li{margin-top:10px}
.prose li>:is(ul,ol):not([class]){margin-top:10px}
.prose :is(ul,ol):not([class])>li::marker{color:var(--accent)}
.prose a:not(.button){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.prose a:not(.button):hover{text-decoration-thickness:2px}
.prose address{font-style:normal}
.prose figure img{width:100%;border-radius:var(--r-media)}
.prose figcaption{margin-top:10px;font-size:14px;line-height:1.5;color:#5b554e}
.prose dl{display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,1fr);gap:12px 24px}
.prose dt{font-weight:700}
.prose dd{margin:0}
.clause-number{font-weight:700;font-variant-numeric:tabular-nums}
.table-wrap{max-width:100%;overflow-x:auto}
.table-wrap.wide table{min-width:640px}
.prose table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.55}
.prose caption{caption-side:top;text-align:left;font-weight:700;padding-bottom:12px}
.prose th,.prose td{padding:14px 20px 14px 0;text-align:left;vertical-align:top;border-bottom:1px solid #0a0a0a38}
.prose thead th{font-size:14px;letter-spacing:.06em;border-bottom:2px solid var(--ink)}
.item-meta{display:block;font-size:14px;font-weight:700;letter-spacing:.06em;color:#5b554e;margin-bottom:10px}
.dark .item-meta{color:#ccc8c4}
.faq-list{border-top:1px solid #0a0a0a38}
.faq-list details{border-bottom:1px solid #0a0a0a38}
.faq-list summary{min-height:64px;padding-block:16px;font-size:18px;font-weight:700;line-height:1.4}
.faq-list details>:not(summary){max-width:760px;padding-bottom:20px}
.dark .faq-list,.dark .faq-list details{border-color:#ffffff40}
@supports (corner-shape:squircle){.prose figure img{corner-shape:squircle}}
@media(max-width:900px){
 .doc-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .doc-aside{position:static;max-height:none;overflow:visible}
 .doc-toc a{padding:10px 0}
}
@media(max-width:699px){
 .page-hero.compact{padding-bottom:36px}
 .page-hero.compact h1{font-size:clamp(2.6rem,11vw,4rem)}
 .page-hero.compact>.page-glass{display:none}
 .doc-section{padding-block:40px}
 .prose h2{margin-top:56px}
 .prose dl{grid-template-columns:minmax(0,1fr);gap:4px}
 .prose dd+dt{margin-top:12px}
}
/* Specialty service pages: section labels, step lists, check lists on light, quotes, and the closing inquiry. */
.section-label{display:block;font-size:14px;font-weight:700;letter-spacing:.06em;color:#5b554e;margin-bottom:16px}
.dark .section-label{color:#ccc8c4}
.detail-content>*+:is(.detail-items,.check-list,.pull-quote,.review-panel,.prose){margin-top:32px}
.detail-content .check-list li{font-size:16px}
.detail-section:not(.dark) .check-list li+li{border-top-color:#0a0a0a1f}
.check-list.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
.check-list.split li:nth-child(2){border-top:0}
.check-list.split li:nth-child(-n+2){padding-top:0}
.detail-item .step-number{font-size:48px;margin-bottom:12px}
.review-panel p{font-size:18px;line-height:1.6}
.review-panel p+p{margin-top:16px}
.pull-quote{max-width:760px;padding-top:24px;border-top:1px solid #0a0a0a38}
.dark .pull-quote{border-color:#ffffff40}
.pull-quote blockquote{margin:0}
.pull-quote blockquote p{font-size:22px;line-height:1.5}
.pull-quote figcaption{margin-top:16px;font-size:14px;font-weight:700;letter-spacing:.06em;color:#5b554e}
.dark .pull-quote figcaption{color:#ccc8c4}
.dark .prose th,.dark .prose td{border-color:#ffffff40}
.page-closing .closing-lede{margin-top:20px;max-width:640px;color:#e3e0db}
.page-closing .closing-actions{flex:none;display:grid;gap:16px;justify-items:start}
.closing-alt{font-size:14px;line-height:1.5;color:#d6d2cd}
.closing-alt a{text-decoration:underline;text-underline-offset:4px}
.detail-content>.review-panel:first-child{margin-top:0}
.detail-content>.review-panel+p{margin-top:24px}
.faq-list a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:699px){
 .check-list.split{grid-template-columns:minmax(0,1fr)}
 .check-list.split li:nth-child(2){border-top:1px solid #ffffff1f;padding-top:10px}
 .detail-item .step-number{font-size:40px}
 .pull-quote blockquote p{font-size:19px}
 .page-closing>.closing-actions{margin-top:28px}
}
