/*
 * The Business Analysis Office™
 * Policy Centre Unification v1.0 | 13 November 2026
 * Purpose: one visual language for Privacy, Terms, Cookie, Accessibility & Disclaimer
 * Scoped to .bao-policy-unified to avoid affecting non-policy pages.
 */
.bao-policy-unified {
 --bao-policy-navy:#071d40;
 --bao-policy-blue:#0759b3;
 --bao-policy-mid:#103d75;
 --bao-policy-sky:#54c5e9;
 --bao-policy-text:#253d59;
 --bao-policy-line:#d6e5f3;
 --bao-policy-muted:#526982;
 --bao-policy-tint:#f1f7ff;
 color:var(--bao-policy-text);
 font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
 font-size:16px;
 line-height:1.75;
}
.bao-policy-unified *,
.bao-policy-unified *::before,
.bao-policy-unified *::after {box-sizing:border-box;}
/* Matched top design across every legal page. */
.bao-policy-unified .bao-privacy-hero,
.bao-policy-unified .bao-legal-hero {
 isolation:isolate;
 position:relative;
 overflow:hidden;
 left:50%;
 width:100vw;
 min-height:0;
 margin:0 0 clamp(34px,5vw,66px) -50vw;
 border:0;
 border-bottom:4px solid var(--bao-policy-sky);
 background:
   radial-gradient(circle at 88% 17%,rgba(32,140,221,.32),transparent 40%),
   radial-gradient(circle at 9% 90%,rgba(24,85,168,.24),transparent 45%),
   linear-gradient(125deg,#061731 0%,#092b58 62%,#0a416f 100%);
 color:#fff;
}
.bao-policy-unified .bao-privacy-hero::after,
.bao-policy-unified .bao-legal-hero::after {
 content:"";
 position:absolute;
 width:clamp(260px,45vw,650px);
 height:clamp(260px,45vw,650px);
 border:1px solid rgba(154,223,255,.22);
 border-radius:50%;
 right:-11vw;
 top:-16vw;
 box-shadow:0 0 0 65px rgba(133,208,251,.035),0 0 0 135px rgba(133,208,251,.023);
 pointer-events:none;
 z-index:-1;
}
.bao-policy-unified .bao-legal-hero::before {display:none;}
.bao-policy-unified .bao-privacy-hero-inner,
.bao-policy-unified .bao-legal-hero-inner {
 max-width:1090px;
 padding:clamp(58px,8vw,104px) 24px;
 margin:0 auto;
 position:relative;
}
.bao-policy-unified .bao-privacy-kicker,
.bao-policy-unified .bao-legal-eyebrow {
 display:block;
 color:#96defa!important;
 font-size:11px!important;
 font-weight:800!important;
 line-height:1.5!important;
 letter-spacing:.16em;
 text-transform:uppercase;
 margin:0 0 16px!important;
}
.bao-policy-unified .bao-privacy-hero h1,
.bao-policy-unified .bao-legal-hero h1 {
 color:#fff!important;
 font-size:clamp(38px,5.2vw,65px)!important;
 line-height:1.12!important;
 font-weight:800!important;
 letter-spacing:-.045em;
 margin:0 0 16px!important;
 text-wrap:balance;
}
.bao-policy-unified .bao-privacy-hero p:not(.bao-privacy-kicker),
.bao-policy-unified .bao-legal-hero p:not(.bao-legal-eyebrow) {
 color:#d6eafd!important;
 font-size:clamp(15px,1.5vw,18px)!important;
 line-height:1.72!important;
 max-width:730px;
 margin:0 0 14px!important;
}
.bao-policy-unified .bao-privacy-updated,
.bao-policy-unified .bao-legal-hero small {
 font-size:12px!important;
 font-weight:650!important;
 color:#a9d1eb!important;
 letter-spacing:.012em;
 margin-top:10px;
 display:inline-block;
}
/* Compact policy headers and eliminate blank theme spacing — all five policy pages.
   Scope intentionally restricted to the shared policy page IDs. */
body:is(.page-id-1973,.page-id-3698,.page-id-3699,.page-id-3700,.page-id-3701) main.site-main.page-spacing,
body:is(.page-id-1973,.page-id-3698,.page-id-3699,.page-id-3700,.page-id-3701) .site-main > .container.page {
 padding-top:0!important;
 margin-top:0!important;
}
/* Remove redundant Home > Policy breadcrumb strips on the five legal pages only. */
body:is(.page-id-1973,.page-id-3698,.page-id-3699,.page-id-3700,.page-id-3701) .site-main .page-breadcrumb {
 display:none!important;
 margin:0!important;
 padding:0!important;
}
body:is(.page-id-1973,.page-id-3698,.page-id-3699,.page-id-3700,.page-id-3701) .site-main .container.page,
body:is(.page-id-1973,.page-id-3698,.page-id-3699,.page-id-3700,.page-id-3701) .site-main .container.page > .row,
body:is(.page-id-1973,.page-id-3698,.page-id-3699,.page-id-3700,.page-id-3701) .site-main .content-area,
body:is(.page-id-1973,.page-id-3698,.page-id-3699,.page-id-3700,.page-id-3701) .site-main article.type-page,
body:is(.page-id-1973,.page-id-3698,.page-id-3699,.page-id-3700,.page-id-3701) .site-main .entry-content.entry-block {
 padding-top:0!important;
 margin-top:0!important;
}
body:is(.page-id-1973,.page-id-3698,.page-id-3699,.page-id-3700,.page-id-3701) .site-main .post-grid-image:empty {
 display:none!important;
 margin:0!important;
 padding:0!important;
}
/* Almost full-viewport policy banners, refined as floating premium cards. */
.bao-policy-unified .bao-privacy-hero,
.bao-policy-unified .bao-legal-hero {
 position:relative!important;
 left:50%!important;
 transform:translateX(-50%);
 width:min(1560px, calc(100vw - 40px))!important;
 max-width:none!important;
 margin:14px 0 12px!important;
 border:1px solid rgba(119,187,238,.22)!important;
 border-radius:22px!important;
 overflow:hidden!important;
 box-shadow:0 15px 38px rgba(12,44,83,.15)!important;
}
@media(max-width:700px) {
 .bao-policy-unified .bao-privacy-hero,
 .bao-policy-unified .bao-legal-hero {
  width:calc(100vw - 24px)!important;
  margin:10px 0 10px!important;
  border-radius:16px!important;
  box-shadow:0 10px 24px rgba(12,44,83,.13)!important;
 }
}
.bao-policy-unified .bao-privacy-hero-inner,
.bao-policy-unified .bao-legal-hero-inner {
 padding:clamp(16px,2.15vw,25px) 24px!important;
}
.bao-policy-unified .bao-privacy-kicker,
.bao-policy-unified .bao-legal-eyebrow {
 margin-bottom:7px!important;
 font-size:10px!important;
 line-height:1.35!important;
}
.bao-policy-unified .bao-privacy-hero h1,
.bao-policy-unified .bao-legal-hero h1 {
 font-size:clamp(30px,3.7vw,44px)!important;
 line-height:1.13!important;
 margin-bottom:7px!important;
}
.bao-policy-unified .bao-privacy-hero p:not(.bao-privacy-kicker):not(.bao-privacy-updated),
.bao-policy-unified .bao-legal-hero p:not(.bao-legal-eyebrow) {
 font-size:clamp(13px,1.25vw,15px)!important;
 line-height:1.5!important;
 margin-bottom:5px!important;
}
.bao-policy-unified .bao-privacy-hero p.bao-privacy-updated,
.bao-policy-unified .bao-legal-hero small {
 font-size:11px!important;
 line-height:1.45!important;
 margin-top:2px!important;
 margin-bottom:0!important;
}
.bao-policy-unified .bao-privacy-content,
.bao-policy-unified .bao-legal-body {padding-top:18px!important;}
@media(max-width:700px) {
 .bao-policy-unified .bao-privacy-hero-inner,
 .bao-policy-unified .bao-legal-hero-inner {padding:21px 18px 23px!important;}
 .bao-policy-unified .bao-privacy-hero h1,
 .bao-policy-unified .bao-legal-hero h1 {font-size:clamp(29px,7vw,37px)!important;}
 .bao-policy-unified .bao-privacy-content,
 .bao-policy-unified .bao-legal-body {padding-top:15px!important;}
}
/* Align content width and baseline spacing. */
.bao-policy-unified .bao-privacy-content,
.bao-policy-unified .bao-legal-body {
 width:100%;
 max-width:1030px;
 padding:0 16px 68px;
 margin:0 auto;
}
.bao-policy-unified .bao-legal-lead {
 background:#f8fbff;
 border:1px solid #d7e5f2;
 color:#506984!important;
 border-radius:12px;
 padding:15px 21px;
 margin:0 0 26px!important;
 font-size:13px!important;
 line-height:1.75!important;
}
/* One clear introduction/summary pattern, like the Privacy Policy. */
.bao-policy-unified .bao-privacy-summary,
.bao-policy-unified .bao-policy-summary {
 display:block;
 background:linear-gradient(135deg,#eef6ff 0%,#f7faff 100%)!important;
 border:1px solid #cbdff2!important;
 border-radius:18px!important;
 box-shadow:0 12px 35px rgba(17,67,125,.045);
 padding:clamp(22px,3.4vw,34px)!important;
 margin:0 0 22px!important;
 color:#214363!important;
}
.bao-policy-unified .bao-privacy-summary h2,
.bao-policy-unified .bao-policy-summary h2 {
 color:#0b315e!important;
 font-size:clamp(21px,2.4vw,28px)!important;
 line-height:1.25!important;
 font-weight:800!important;
 margin:0 0 15px!important;
}
.bao-policy-unified .bao-privacy-summary ul,
.bao-policy-unified .bao-policy-summary ul {
 padding-left:22px!important;
 margin:0 0 10px!important;
 list-style:disc!important;
}
.bao-policy-unified .bao-privacy-summary li,
.bao-policy-unified .bao-policy-summary li {
 color:#304d6d!important;
 font-size:14px!important;
 line-height:1.75!important;
 margin:0 0 8px!important;
}
.bao-policy-unified .bao-privacy-summary p,
.bao-policy-unified .bao-policy-summary p {color:#304d6d!important;font-size:13px!important;line-height:1.7!important;}
/* Fully clickable, keyboard-accessible table of contents on every legal page. */
.bao-policy-unified .bao-privacy-nav,
.bao-policy-unified .bao-policy-nav {
 display:flex!important;
 flex-wrap:wrap;
 align-items:center;
 gap:9px 10px;
 margin:0 0 30px!important;
 padding:12px 0 17px!important;
 background:transparent!important;
 border:0!important;
 font-size:13px;
}
.bao-policy-unified .bao-privacy-nav strong,
.bao-policy-unified .bao-policy-nav strong {
 font-size:13px!important;
 font-weight:800!important;
 color:#254669!important;
 margin-right:7px!important;
}
.bao-policy-unified .bao-privacy-nav a,
.bao-policy-unified .bao-policy-nav a {
 display:inline-flex!important;
 align-items:center!important;
 min-height:33px;
 border-radius:50px!important;
 padding:7px 13px!important;
 border:1px solid #cddff0!important;
 background:#f5faff!important;
 color:#0856a4!important;
 text-decoration:none!important;
 font-size:12px!important;
 line-height:1.25!important;
 font-weight:700!important;
 white-space:normal;
 transition:background-color .16s ease,border-color .16s ease;
}
.bao-policy-unified .bao-privacy-nav a:hover,
.bao-policy-unified .bao-policy-nav a:hover {
 background:#e0effc!important;
 border-color:#87c0ed!important;
}
.bao-policy-unified .bao-privacy-nav a:focus-visible,
.bao-policy-unified .bao-policy-nav a:focus-visible {
 outline:3px solid #45c2e9!important;
 outline-offset:3px;
}
.bao-policy-unified .bao-privacy-nav br,
.bao-policy-unified .bao-policy-nav br {display:none!important;}
.bao-policy-unified section[id] {scroll-margin-top:135px;}
/* Consistent readable section rhythm, including numbered headings. */
.bao-policy-unified section:not(.bao-privacy-summary):not(.bao-policy-summary) {
 padding:26px 3px 31px;
 margin:0;
 border-bottom:1px solid var(--bao-policy-line)!important;
}
.bao-policy-unified section h2 {
 color:#0d2f59!important;
 font-size:clamp(21px,2.4vw,27px)!important;
 font-weight:800!important;
 line-height:1.3!important;
 letter-spacing:-.02em;
 margin:0 0 16px!important;
 text-wrap:balance;
}
.bao-policy-unified section p,
.bao-policy-unified section li {
 color:#435a74!important;
 font-size:15px!important;
 line-height:1.88!important;
}
.bao-policy-unified section ul {padding-left:24px;}
.bao-policy-unified section a {
 color:#0754a4!important;
 text-decoration:underline!important;
 text-underline-offset:3px;
}
.bao-policy-unified .bao-consent-status {
 background:#f5f9fd;
 border:1px solid #d6e3f0;
 border-radius:10px;
 padding:13px 17px;
 color:#3b5976!important;
 font-size:13px!important;
}
.bao-policy-unified .bao-cookie-preferences {
 background:transparent;
 border:0;
 padding:0;
 margin:18px 0 0;
}
/* Identical closing brand card and legal information across all five policies. */
.bao-policy-unified .bao-legal-document-footer {
 margin:44px 0 0!important;
 padding:clamp(24px,4vw,40px)!important;
 background:linear-gradient(135deg,#f1f7ff 0%,#f8fbff 100%)!important;
 border:1px solid #cbdff2!important;
 border-radius:20px!important;
 box-shadow:0 14px 38px rgba(19,64,125,.055);
 text-align:center;
}
.bao-policy-unified .bao-legal-document-footer img {
 display:block;
 width:min(230px,80%);
 max-width:230px;
 height:auto;
 margin:0 auto 20px;
}
.bao-policy-unified .bao-legal-document-footer p {
 max-width:760px;
 margin:0 auto 15px!important;
 color:#4e6480!important;
 font-size:13px!important;
 line-height:1.85!important;
}
.bao-policy-unified .bao-legal-document-footer p a {
 display:inline-block;
 padding:4px 5px!important;
 color:#0754a4!important;
 font-weight:800!important;
 text-decoration:underline!important;
 text-underline-offset:3px;
}
.bao-policy-unified .bao-legal-document-footer .bao-legal-footnote {
 max-width:none;
 margin:23px 0 0!important;
 padding:18px 0 0!important;
 border-top:1px solid #d8e6f4;
 color:#667a92!important;
 font-size:12px!important;
 line-height:1.8!important;
}
@media(max-width:700px) {
 .bao-policy-unified .bao-privacy-hero-inner,
 .bao-policy-unified .bao-legal-hero-inner {padding:54px 18px 59px;}
 .bao-policy-unified .bao-privacy-content,
 .bao-policy-unified .bao-legal-body {padding:0 9px 48px;}
 .bao-policy-unified .bao-privacy-nav,
 .bao-policy-unified .bao-policy-nav {gap:8px;}
 .bao-policy-unified .bao-privacy-nav strong,
 .bao-policy-unified .bao-policy-nav strong {display:block;width:100%;margin-bottom:4px;}
 .bao-policy-unified .bao-legal-document-footer {border-radius:15px;}
}
@media(prefers-reduced-motion:reduce) {
 .bao-policy-unified .bao-privacy-nav a,
 .bao-policy-unified .bao-policy-nav a {transition:none!important;}
}