/* Shared policy presentation. Each policy owns its HTML content and revision date. */
.privacy-page{min-height:100vh;min-height:100dvh}
.privacy-page>.site-header,.privacy-page>.site-footer{flex:none}
.privacy-page main{flex:1 0 auto;padding-bottom:4rem}
.privacy-page .site-footer{margin-top:0;background:var(--background)}
.privacy-page .footer-nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}
.policy-heading .back-link{margin-bottom:1rem}
.policy-layout{display:grid;grid-template-columns:14rem minmax(0,1fr);align-items:start;gap:3rem}
.policy-toc{position:sticky;top:1.5rem;max-height:calc(100dvh - 3rem);padding-block:1rem;border-block:1px solid var(--border);overflow-y:auto}
.policy-toc h2{margin-bottom:.65rem;font-size:14px;letter-spacing:0}
.policy-toc-links{display:grid}
.policy-toc a{display:flex;align-items:center;min-width:0;min-height:44px;padding:.4rem .35rem;margin-inline:.15rem;color:var(--body);font-size:14px;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.policy-toc a:hover{color:var(--link);text-decoration:underline}
.policy-article{min-width:0;max-width:72ch;color:var(--body);font-size:17px;line-height:1.8;overflow-wrap:break-word}
.policy-article h2{margin:2.5rem 0 1rem;color:var(--text);font-size:1.375rem;line-height:1.4;letter-spacing:-.02em;scroll-margin-top:1.5rem}
.policy-article p+p,.policy-article ul{margin-top:1rem}
.policy-article ul{padding-left:1.5rem;margin-bottom:1rem}
.policy-article li+li{margin-top:.4rem}
.policy-article a{color:var(--link)}
.policy-article a:hover{color:var(--text)}
.policy-article strong{font-weight:600}
.policy-directory-links{display:grid;max-width:40rem;border-top:1px solid var(--border)}
.policy-directory-links a{display:flex;align-items:center;min-height:76px;padding:1rem .25rem;border-bottom:1px solid var(--border);color:var(--link);font-size:18px;font-weight:500}
.policy-directory-links a:hover{color:var(--text)}
@media(max-width:1000px){.policy-layout{grid-template-columns:12rem minmax(0,1fr);gap:2rem}}
@media(max-width:800px){
 .privacy-page main{padding-bottom:3rem}
 .policy-layout{grid-template-columns:minmax(0,1fr);gap:2rem}
 .policy-toc{position:static;max-height:none;overflow:visible}
 .policy-toc-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}
 .policy-article{font-size:16px}
}
@media(max-width:600px){.privacy-page .footer-nav{column-gap:1.25rem}.policy-toc-links{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.privacy-page .footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}
@media print{
 @page{margin:18mm}
 .privacy-page{display:block;min-height:0;background:#fff;color:#111;font-size:11pt;color-scheme:light}
 .privacy-page *{color:#111!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important}
 .privacy-page .site-header,.privacy-page .site-footer,.privacy-page .skip-link,.privacy-page .back-link,.privacy-page .policy-toc{display:none}
 .privacy-page main{display:block;padding:0}
 .privacy-page .wrap{width:100%;max-width:none;margin:0}
 .privacy-page .page-heading{padding:0 0 1.5rem}
 .privacy-page h1{font-size:24pt}
 .privacy-page .effective-date{font-size:10pt}
 .policy-layout{display:block}
 .policy-article{max-width:none;font-size:11pt;line-height:1.6}
 .policy-article h2{margin-top:1.5rem;font-size:14pt;break-after:avoid-page}
 .policy-article p,.policy-article li{orphans:3;widows:3}
 .policy-article a{text-decoration:underline;overflow-wrap:anywhere}
 .policy-article a[href^="/contact/"]::after{content:" (https://cloveranvil.com" attr(href) ")";font-size:9pt;font-weight:400}
 .policy-article .notice{padding:0;border:0}
}
