/* Shared reading layout for legal information and the page directory. */
.service-page { color:var(--ink); }
.service-page .feature-hero { padding-block:var(--space-8) var(--space-7); border-bottom:1px solid var(--line); background:var(--canvas); }
.service-page .feature-hero h1 { max-width:24ch; margin:0; font:600 clamp(2rem,4vw,3.5rem)/1.12 var(--font-display); letter-spacing:-.03em; overflow-wrap:anywhere; text-wrap:balance; }
.service-page .feature-hero p { max-width:65ch; margin:var(--space-5) 0 0; font-size:1rem; line-height:1.7; color:var(--muted); }
.legal-layout { display:grid; grid-template-columns:minmax(0,240px) minmax(0,1fr); gap:var(--space-8); padding-block:var(--space-7) var(--space-9); align-items:start; }
.legal-toc { position:sticky; top:calc(var(--header-h,88px) + var(--space-5)); max-height:calc(100dvh - var(--header-h,88px) - var(--space-7)); overflow-y:auto; padding-right:var(--space-4); scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.legal-toc p { margin:0 0 var(--space-4); font-size:.875rem; font-weight:600; color:var(--ink); }
.legal-toc a { display:block; min-height:26px; padding-block:var(--space-2); font-size:.875rem; line-height:1.45; color:var(--muted); text-decoration:none; }
.service-page .legal-copy { min-width:0; max-width:72ch; padding:0; }
.service-page .legal-copy h2 { margin:var(--space-7) 0 var(--space-4); font:600 clamp(1.25rem,2vw,1.5rem)/1.35 var(--font-display); letter-spacing:-.02em; color:var(--ink); scroll-margin-top:calc(var(--header-h,88px) + var(--space-5)); }
.service-page .legal-copy h2:first-child { margin-top:0; }
.service-page .legal-copy p,.service-page .legal-copy li { color:var(--ink); font-size:1rem; line-height:1.8; overflow-wrap:anywhere; }
.service-page .legal-copy p { margin:0 0 var(--space-4); }
.service-page .legal-copy ul { padding-left:var(--space-5); margin:var(--space-4) 0 var(--space-5); }
.service-page .legal-copy li+li { margin-top:var(--space-2); }
.service-page .legal-copy strong { font-weight:500; }
.service-page .legal-copy a { color:var(--accent-text); text-underline-offset:.2em; }
.service-page a:focus-visible { outline:2px solid var(--focus,var(--accent-text)); outline-offset:var(--space-1); }
.service-page .sitemap-links { padding-block:var(--space-7) var(--space-9); gap:0 var(--space-7); }
.service-page .sitemap-links a { align-items:center; min-height:var(--touch-target); padding:var(--space-5) 0; border:0; border-bottom:1px solid var(--line); border-radius:0; color:var(--ink); font-size:1rem; }
.service-page .sitemap-links a>span:last-child { color:var(--accent-text); }
@media(hover:hover) and (pointer:fine) { .service-page .sitemap-links a:hover { color:var(--accent-text); background:transparent; } .legal-toc a:hover { color:var(--accent-text); } }
@media(max-width:900px) { .legal-layout { grid-template-columns:minmax(0,1fr); gap:var(--space-7); } .legal-toc { position:static; max-height:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 var(--space-5); padding:0 0 var(--space-5); border-bottom:1px solid var(--line); } .legal-toc p { grid-column:1/-1; } .service-page .legal-copy { max-width:none; } }
@media(max-width:600px) { .service-page .feature-hero { padding-block:var(--space-7) var(--space-6); } .legal-layout { padding-block:var(--space-6) var(--space-8); } .legal-toc { grid-template-columns:minmax(0,1fr); } .service-page .sitemap-links { padding-bottom:var(--space-8); } }
