/* Legal content is loaded only on policy routes. */
.legal-page {
    max-width:1120px;
    padding:54px 0 36px;
}
.legal-heading {
    position:relative;
    padding:36px 0 38px;
    max-width:960px;
}
.legal-heading h1 {
    font-size:clamp(32px,4.4vw,54px);
    line-height:1.12;
    letter-spacing:-1.6px;
    max-width:850px;
    margin:12px 0 20px;
}
.legal-heading .eyebrow {
    margin-top:30px;
}
.legal-intro {
    color:var(--text);
    max-width:730px;
    font-size:19px;
    line-height:1.6;
}
.legal-updated,.legal-back {
    font-size:13px;
    color:var(--text);
}
.legal-updated {
    margin-top:20px;
}
.legal-language {
    display:flex;
    gap:4px;
    position:absolute;
    top:28px;
    right:0;
    padding:5px;
    border:1px solid var(--line);
    border-radius:30px;
    background:#ffffff70;
}
.legal-language a {
    border-radius:24px;
    padding:6px 16px;
    font-size:14px;
}
.legal-language [aria-current] {
    color:white;
    background:var(--ink);
}
.legal-layout {
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:54px;
}
.legal-toc {
    align-self:start;
    position:sticky;
    top:24px;
    display:grid;
    gap:12px;
    padding:24px 20px 24px 0;
    border-top:1px solid var(--line);
    font-size:13px;
    line-height:1.5;
}
.legal-toc a {
    color:var(--text);
}
.legal-toc a:hover,.legal-copy a:hover {
    text-decoration:underline;
}
.legal-copy {
    min-width:0;
    max-width:790px;
}
.legal-copy section {
    margin-bottom:34px;
    scroll-margin-top:26px;
}
.legal-copy h2,.legal-contact h2 {
    font-size:24px;
    line-height:1.35;
    letter-spacing:-.4px;
    margin-bottom:16px;
}
.legal-copy p {
    color:var(--text);
    line-height:1.85;
    margin:0 0 16px;
    overflow-wrap:anywhere;
}
.legal-language-note {
    border-top:1px solid var(--line);
    padding-top:28px;
}
.legal-contact {
    border:1px solid var(--line);
    border-radius:24px;
    padding:28px;
    background:#ffffff70;
    margin-top:30px;
}
.legal-contact p {
    color:var(--text);
    font-size:15px;
    line-height:1.7;
    margin:12px 0;
}
.legal-contact dl {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin:24px 0;
}
.legal-contact dt {
    font-size:12px;
    color:var(--text);
    margin-bottom:4px;
}
.legal-contact dd {
    margin:0;
    font-size:15px;
    overflow-wrap:anywhere;
}
.legal-contact a {
    text-decoration:underline;
    text-underline-offset:3px;
}
.legal-addresses {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    border-top:1px solid var(--line);
    padding-top:22px;
}
.legal-addresses address {
    font-style:normal;
    font-size:13px;
    display:grid;
    gap:10px;
    color:var(--text);
}
.legal-contact .legal-small {
    font-size:12px;
}
.legal-cards {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}
.legal-card {
    padding:28px;
    border-radius:24px;
}
.legal-card h2 {
    font-size:23px;
    line-height:1.3;
    margin-bottom:12px;
}
.legal-card p {
    font-size:15px;
    color:var(--text);
}
.legal-card>span {
    display:block;
    font-size:24px;
    margin-top:16px;
}
.legal-page:lang(bn) {
    font-family:"Noto Sans Bengali","Kohinoor Bangla",sans-serif;
}
.legal-page:lang(bn) h1,.legal-page:lang(bn) h2 {
    font-family:inherit;
    letter-spacing:0;
    line-height:1.5;
}
@media(max-width:700px) {
    .legal-page { padding-top:24px; }
    .legal-heading { padding-top:14px; }
    .legal-language { position:static; width:max-content; margin:18px 0; }
    .legal-heading h1 { font-size:34px; letter-spacing:-1px; }
    .legal-intro { font-size:17px; }
    .legal-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
    .legal-toc { position:static; padding:20px; border:1px solid var(--line); border-radius:18px; gap:10px; }
    .legal-copy h2 { font-size:22px; }
    .legal-copy p { font-size:16px; }
    .legal-contact { padding:22px; }
    .legal-contact dl,.legal-addresses,.legal-cards { grid-template-columns:minmax(0,1fr); }
}
@media print {
    .header,.footer,.legal-language,.legal-toc,#site-loader,.legal-back { display:none!important; }
    .legal-layout { display:block; }
    .legal-page,.legal-copy { width:100%; max-width:none; }
    .legal-contact { break-inside:avoid; }
}
