/* Scoped to the review page: existing calculators and layouts are untouched. */
.terms-page .terms-hero{background:var(--pale);padding:56px 0 32px;border-bottom:1px solid var(--line)}
.terms-page h1{font-size:clamp(2.4rem,5vw,4.1rem);line-height:1.15;letter-spacing:-.035em;max-width:900px;margin:12px 0 24px}
.draft-badge{display:inline-block;padding:5px 14px;border:1px solid #afcdda;border-radius:24px;background:white;font-weight:700;color:var(--navy)}
.effective-date{max-width:720px;color:var(--muted);font-size:.95rem}
.terms-page .button{margin:12px 0;background:var(--blue);color:white;border:0;cursor:pointer}
.terms-page [hidden]{display:none!important}
.review-notice{border-left:3px solid var(--blue);padding:14px 20px;margin-top:24px;background:#fff;max-width:850px}
.review-notice p{margin:5px 0 0;font-size:.95rem}
.terms-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:64px;padding-top:48px;padding-bottom:72px;align-items:start}
.terms-contents{position:sticky;top:118px;max-height:calc(100vh - 140px);overflow:auto;padding:22px;background:var(--pale);border:1px solid var(--line);border-radius:12px}
.terms-contents h2{font-size:1.15rem;margin:0 0 14px}
.terms-contents ol{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.terms-contents a{font-size:.91rem;line-height:1.4;display:block;text-decoration:none;color:var(--navy)}
.terms-contents a:hover{text-decoration:underline;color:var(--blue)}
.terms-copy{min-width:0;max-width:800px}
.terms-section{padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.terms-section h2{font-size:clamp(1.35rem,2.3vw,1.8rem);line-height:1.3;letter-spacing:-.02em;margin:0 0 24px}
.terms-section p{margin:0 0 18px;line-height:1.8;overflow-wrap:anywhere}
.terms-section ul{padding-left:24px;margin:-6px 0 22px}
.terms-section li{margin:7px 0}
.clause-number{color:var(--blue);margin-right:5px}
.terms-copy a,.terms-back{text-decoration:underline;color:var(--blue);text-underline-offset:3px}
.terms-section,.terms-copy [id],#contents-title{scroll-margin-top:125px}
.terms-table{margin:18px 0 22px}
.terms-table table{width:100%;border-collapse:collapse;font-size:.92rem;table-layout:fixed}
.terms-table caption{text-align:left;font-weight:700;margin-bottom:10px}
.terms-table th,.terms-table td{padding:12px 10px;border:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;text-align:left}
.terms-table th{background:var(--pale);color:var(--navy)}
.terms-page a:focus-visible,.terms-page button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.terms-footer-link{padding-top:12px;padding-bottom:24px}
@media(max-width:900px){.terms-layout{grid-template-columns:1fr;gap:32px}.terms-contents{position:static;max-height:none}.terms-contents ol{grid-template-columns:1fr 1fr;gap:12px 24px}}
@media(max-width:540px){.terms-page .wrap{width:calc(100% - 32px)}.terms-hero{padding-top:32px!important}.terms-layout{padding-top:28px}.terms-contents ol{grid-template-columns:1fr}.terms-table th,.terms-table td{padding:8px 5px;font-size:.8rem}.terms-section p{font-size:1rem}.review-notice{padding:12px}.terms-section,.terms-copy [id],#contents-title{scroll-margin-top:110px}}
@media print{
 @page{size:A4;margin:16mm}
 .terms-page{background:white!important;color:#111!important;font:10pt/1.5 Arial,sans-serif}
 .terms-page header,.terms-page .topline,.terms-page .mobile-page-nav,.terms-page .skip,.terms-page footer,.terms-page #print-terms,.terms-page .terms-back,.terms-page [class*="cookie"],.terms-page [id*="cookie"]{display:none!important}
 .terms-page .wrap{width:100%;max-width:none;margin:0}
 .terms-page .terms-hero{background:none;padding:0 0 14pt}
 .terms-page h1{font-size:26pt;margin:6pt 0 12pt}
 .terms-page .terms-layout{display:block;padding:16pt 0}
 .terms-page .terms-contents{position:static;max-height:none;overflow:visible;background:none;border:0;padding:0;margin:0 0 24pt;break-after:page}
 .terms-page .terms-contents ol{display:block;columns:2;column-gap:24pt}
 .terms-page .terms-contents li{break-inside:avoid;margin-bottom:8pt}
 .terms-page .terms-copy{max-width:none}
 .terms-page .terms-section{padding:0 0 12pt;margin-bottom:14pt;break-inside:auto}
 .terms-page h2{font-size:15pt;break-after:avoid}
 .terms-page p,.terms-page li{orphans:3;widows:3}
 .terms-page .terms-section p{line-height:1.5;margin-bottom:10pt}
 .terms-page a,.terms-page .clause-number{color:#111!important}
 .terms-page .terms-table{overflow:visible}
 .terms-page table{font-size:9pt}.terms-page tr{break-inside:avoid}.terms-page thead{display:table-header-group}
 .terms-page .review-notice{background:none;border:1px solid #777;break-inside:avoid}
}
