/* ProRoof privacy notice: readable on narrow screens without another primary page. */
.pr-privacy-section { padding:clamp(36px,6vw,80px) max(24px,calc((100vw - 1140px)/2)); background:#f3f6f7; color:#193643; scroll-margin-top:0; }
.pr-privacy-intro { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:36px; align-items:start; margin-bottom:30px; }
.pr-privacy-section h2 { font-size:clamp(32px,4vw,48px); line-height:1.15; margin:12px 0 18px; letter-spacing:-.025em; }
.pr-privacy-lead { font-size:18px; line-height:1.6; max-width:580px; }
.pr-privacy-date { color:#4e626b; font-size:14px; line-height:1.6; }
.pr-privacy-contact { padding:26px; border-top:4px solid #ff6b00; border-radius:12px; background:#fff; box-shadow:0 4px 18px #1936430a; }
.pr-privacy-contact h3 { font-size:19px; line-height:1.4; margin:10px 0; }
.pr-privacy-contact p { margin:8px 0; line-height:1.6; font-size:15px; }
.pr-privacy-contact > a { display:block; padding:5px 0; font-weight:700; overflow-wrap:anywhere; color:#8a3900; text-decoration:underline; text-underline-offset:3px; }
.pr-privacy-icon { display:inline-flex; width:32px; height:32px; align-items:center; justify-content:center; border-radius:50%; background:#fff0e3; color:#873800; font-weight:800; }
.pr-privacy-details { border:1px solid #d1dce0; border-radius:12px; background:#fff; overflow:hidden; }
.pr-privacy-details > summary { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:22px 26px; list-style:none; cursor:pointer; font-size:18px; font-weight:750; }
.pr-privacy-details > summary::-webkit-details-marker { display:none; }
.pr-privacy-details > summary span { font-size:26px; line-height:1; transition:transform .15s; }
.pr-privacy-details[open] > summary { border-bottom:1px solid #e3e9ec; }
.pr-privacy-details[open] > summary span { transform:rotate(45deg); }
.pr-privacy-copy { padding:8px clamp(20px,4vw,46px) 30px; max-width:960px; margin:auto; font-size:16px; line-height:1.75; }
.pr-privacy-copy h3 { font-size:21px; line-height:1.4; margin:30px 0 10px; }
.pr-privacy-copy p { margin:14px 0; }
.pr-privacy-copy address { font-style:normal; }
.pr-privacy-copy a,.pr-collection-notice a { color:#873800; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.pr-privacy-section a:focus-visible,.pr-privacy-details > summary:focus-visible,.pr-collection-notice a:focus-visible { outline:3px solid #093e64; outline-offset:4px; }
.pr-collection-notice { font-size:14px; line-height:1.6; color:#435862; padding:14px 16px; background:#f5f7f8; border-left:3px solid #ff6b00; margin:16px 0; }
.pr-footer-links .pr-privacy-link { font-weight:750; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:700px) { .pr-privacy-intro { grid-template-columns:1fr; gap:20px; } .pr-privacy-section { padding:36px 20px; } .pr-privacy-details > summary { padding:20px; font-size:17px; } .pr-privacy-copy { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .pr-privacy-details > summary span { transition:none; } }
/* Coordinated legal sections and links. */
.pr-terms-section { border-top:1px solid #d1dce0; background:#f7f8fa; }
.pr-legal-crosslink { color:#873800; font-weight:700; text-decoration:underline; text-underline-offset:4px; display:inline-block; padding:8px 0; }
.pr-terms-form-note { margin:10px 0 18px; color:#435862; font-size:14px; line-height:1.6; }
.pr-terms-form-note a { color:#873800; text-decoration:underline; text-underline-offset:3px; }
.pr-footer-links .pr-terms-link { font-weight:750; text-decoration:underline; text-underline-offset:4px; }
.pr-terms-form-note a:focus-visible,.pr-legal-crosslink:focus-visible { outline:3px solid #093e64; outline-offset:4px; }

/* Dedicated legal pages and always-visible links above the main navigation. */
.pr-legal-topnav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  padding:0 max(24px,calc((100% - 1240px)/2));
  background:#f2f5f6;
  border-bottom:1px solid #dce5e9;
}
.pr-legal-topnav a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px 16px;
  color:#193643;
  font-size:13px;
  font-weight:750;
  line-height:1.4;
  text-decoration:none;
  border-bottom:3px solid transparent;
}
.pr-legal-topnav a:hover,.pr-legal-topnav a[aria-current] {
  background:#fff;
  color:#873800;
  border-bottom-color:#ff6b00;
}
.pr-legal-topnav a:focus-visible {
  outline:3px solid #093e64;
  outline-offset:-3px;
}
.pr-legal-page .pr-privacy-section { border-top:0; }
.pr-legal-page .pr-privacy-section h1 {
  font-size:clamp(34px,5vw,56px);
  line-height:1.12;
  letter-spacing:-.035em;
  margin:12px 0 18px;
  color:#00263b;
}
.pr-legal-page .pr-privacy-copy h2 {
  font-size:clamp(20px,2.4vw,25px);
  line-height:1.35;
  letter-spacing:-.02em;
  margin:34px 0 12px;
}
.pr-legal-document { padding-block:18px; }
.pr-legal-page .pr-privacy-copy { max-width:900px; }
.pr-legal-breadcrumb {
  font-size:14px;
  margin:0 0 28px;
  color:#4e626b;
}
.pr-legal-breadcrumb a {
  color:#873800;
  text-decoration:underline;
  text-underline-offset:3px;
}
@media(max-width:700px) {
  .pr-legal-topnav { justify-content:center; padding:0 16px; gap:4px; }
  .pr-legal-topnav a { flex:1; max-width:220px; padding:10px 8px; }
  .pr-legal-page .pr-privacy-section { padding:30px 18px 42px; }
  .pr-legal-page .pr-privacy-copy { padding-inline:20px; }
  .pr-legal-document { padding-block:8px; }
}
