/* AIESEP policy centre — source-preserving document UX. */
.aiesep-policy-centre .policy-centre{padding:28px 0 64px;background:
radial-gradient(circle at 10% 3%,#dfeffc 0,transparent 22rem),
linear-gradient(180deg,#edf3f9 0,#f4f7fb 34rem)}
.policy-centre-shell{display:grid;gap:18px}
.policy-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;min-height:310px;overflow:hidden;border-radius:24px;background:#10253e;color:#fff;box-shadow:0 16px 44px #15283f14}
.policy-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 16%,#1689815c 0,transparent 30%),linear-gradient(125deg,transparent 52%,#0875bf1a)}
.policy-hero-copy{position:relative;z-index:1;align-self:center;padding:48px 56px}
.policy-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 24px;font-size:.75rem;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:#bcd3e5}
.policy-eyebrow-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #8bbbd159;border-radius:10px;background:#ffffff0a;color:#78d7cf}
.policy-eyebrow-icon svg{width:18px;height:18px}
.policy-hero h1{max-width:16ch;margin:0;color:#fff;font-size:clamp(2.65rem,5vw,4.75rem);font-weight:590;line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.policy-hero-description{max-width:57ch;margin:24px 0 0;color:#d4e0eb;font-size:1.0625rem;line-height:1.65}
.policy-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:30px;color:#afc3d5;font-size:.75rem}
.policy-meta span{display:inline-flex;align-items:center;gap:8px}
.policy-status-dot{width:7px;height:7px;border-radius:50%;background:#4fd1c5;box-shadow:0 0 0 4px #4fd1c51c}
.policy-hero-mark{position:relative;z-index:1;display:grid;place-items:center;align-self:stretch;min-height:260px;color:#fff}
.policy-hero-mark>span{position:absolute;font-size:4rem;font-weight:500;letter-spacing:-.06em}
.policy-hero-mark svg{width:184px;height:184px;stroke:#ffffff1f;stroke-width:1}
.policy-switcher{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;border:1px solid #dbe5ef;border-radius:18px;background:#ffffffd9;box-shadow:0 4px 18px #15283f08;backdrop-filter:blur(14px)}
.policy-switcher a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:58px;padding:10px 14px;border:1px solid transparent;border-radius:12px;color:#52647a;text-decoration:none;font-size:.875rem;transition:background-color .18s,border-color .18s,color .18s,transform .18s}
.policy-switcher a>span{font-size:.6875rem;font-weight:650;color:#52647a}
.policy-switcher a strong{font-weight:570;color:#15283f}
.policy-switcher svg{width:18px;height:18px;color:#8ba0b4;transition:transform .18s}
.policy-switcher a:hover{background:#f4f8fc;color:#0868b5}.policy-switcher a:hover svg{transform:translateX(2px)}
.policy-switcher a[aria-current=page]{border-color:#b9d9ee;background:#eaf4fc;color:#0868b5;box-shadow:inset 3px 0 0 #0868b5}
.policy-switcher a[aria-current=page] :is(strong,span,svg){color:#0868b5}
.policy-layout{display:grid;grid-template-columns:272px minmax(0,1fr);gap:18px;align-items:start}
.policy-rail{position:sticky;top:98px;display:grid;gap:14px;min-width:0}
.policy-rail-card,.policy-toc{overflow:hidden;border:1px solid #dbe5ef;border-radius:18px;background:#fff;box-shadow:0 4px 18px #15283f05}
.policy-rail-label{margin:0;padding:18px 20px 12px;color:#52647a;font-size:.6875rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.policy-directory{list-style:none;margin:0;padding:0 8px 10px}
.policy-directory li{margin:0}
.policy-directory a{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:8px;min-height:44px;padding:8px 11px;border-radius:10px;color:#52647a;text-decoration:none;font-size:.8125rem;font-weight:520}
.policy-directory a span{font-size:.625rem;color:#52647a}
.policy-directory a:hover{background:#f4f7fb;color:#0868b5}
.policy-directory a[aria-current=page]{background:#eaf4fc;color:#0868b5;font-weight:620}
.policy-directory a[aria-current=page] span{color:#0868b5}
.policy-toc summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:12px 16px;cursor:pointer;color:#15283f;font-size:.8125rem;font-weight:600;list-style:none}
.policy-toc summary::-webkit-details-marker{display:none}
.policy-toc summary::after{content:"+";display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#eef4f9;color:#0868b5;font-size:1rem;line-height:1}
.policy-toc[open] summary::after{content:"−"}
.policy-toc summary span{margin-left:auto;padding:2px 7px;border-radius:999px;background:#eef4f9;color:#52647a;font-size:.625rem}
.policy-toc nav{max-height:min(50vh,430px);overflow:auto;border-top:1px solid #e5ecf2;padding:7px 8px 10px;scrollbar-width:thin}
.policy-toc ol{list-style:none;margin:0;padding:0}
.policy-toc li{margin:0}
.policy-toc a{display:block;padding:8px 11px;border-radius:8px;color:#607288;text-decoration:none;font-size:.75rem;line-height:1.4}
.policy-toc a:hover,.policy-toc a[aria-current=location]{background:#f1f6fa;color:#0868b5}
.policy-toc a[aria-current=location]{font-weight:620;box-shadow:inset 2px 0 0 #168981}
.policy-document{min-width:0;overflow:hidden;border:1px solid #dbe5ef;border-radius:20px;background:#fff;box-shadow:0 4px 18px #15283f08}
.policy-document-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 32px;border-bottom:1px solid #e2e9ef;background:linear-gradient(180deg,#fff,#fbfdff)}
.policy-document-kicker{margin:0 0 4px;color:#168981;font-size:.6875rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
.policy-document-header h2{margin:0;font-size:1.375rem;line-height:1.25;letter-spacing:-.025em}
.policy-document-header>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#52647a;text-decoration:none;font-size:.75rem;font-weight:560}
.policy-document-header>a:hover{color:#0868b5}
.policy-document-content{max-width:820px;padding:42px 48px 52px;color:#465d77;font-size:1.0625rem;line-height:1.78;overflow-wrap:anywhere}
.policy-document-content>*:first-child{margin-top:0}
.policy-document-content>*:last-child{margin-bottom:0}
.policy-document-content :is(p,ul,ol){margin:0 0 22px}
.policy-document-content :is(ul,ol){padding-left:1.4em}
.policy-document-content li{margin-bottom:9px}
.policy-document-content :is(h1,h2,h3,h4){max-width:31ch;margin:48px 0 16px;color:#15283f;line-height:1.22;letter-spacing:-.025em;text-wrap:balance;scroll-margin-top:112px}
.policy-document-content h1{font-size:clamp(1.85rem,3.1vw,2.75rem)}
.policy-document-content h2{font-size:clamp(1.45rem,2.4vw,2rem)}
.policy-document-content h3{font-size:1.25rem}.policy-document-content h4{font-size:1.0625rem}
.policy-document-content .policy-document-title{margin-top:0;padding-bottom:22px;border-bottom:1px solid #e2e9ef}
.policy-document-content .policy-inline-heading{display:block;max-width:36ch;margin:40px 0 14px;color:#15283f;font-size:1.125rem;font-weight:620;line-height:1.4;letter-spacing:-.015em;scroll-margin-top:112px}
.policy-document-content .policy-inline-heading:first-child{margin-top:0}
.policy-document-content .policy-inline-heading+br{display:none}
.policy-document-content a{color:#0868b5;text-decoration-thickness:1px;text-underline-offset:.2em}
.policy-document-content :is(a,button,summary):focus-visible{outline:3px solid #0868b5;outline-offset:4px}
.policy-document-content :is(table){display:block;max-width:100%;overflow:auto;border-collapse:collapse}
.policy-document-content :is(th,td){padding:10px 12px;border:1px solid #dbe5ef;text-align:left;vertical-align:top}
.policy-document-content .expand-click{cursor:inherit}
.policy-document-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 32px;border-top:1px solid #e2e9ef;background:#f8fbfd}
.policy-document-footer>div{display:flex;align-items:center;gap:14px}
.policy-document-footer>div>span{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:#e2f2ee;color:#176b64;font-weight:700}
.policy-document-footer p{max-width:48ch;margin:0;color:#607288;font-size:.8125rem;line-height:1.5}
.policy-document-footer p strong{display:block;color:#15283f;font-size:.875rem}
.policy-document-footer .button{flex:none;color:#0868b5;background:#fff;border-color:#b9cfdf;text-decoration:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.policy-switcher a:hover{transform:translateY(-1px)}}
@media(max-width:980px){.policy-hero{grid-template-columns:minmax(0,1fr) 160px}.policy-hero-copy{padding:40px}.policy-hero-mark svg{width:145px}.policy-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-layout{grid-template-columns:230px minmax(0,1fr)}.policy-document-content{padding-inline:36px}}
@media(max-width:760px){.aiesep-policy-centre .policy-centre{padding-top:18px}.policy-centre-shell{gap:14px}.policy-hero{grid-template-columns:1fr;min-height:0;border-radius:20px}.policy-hero-copy{padding:34px 28px 30px}.policy-hero h1{font-size:clamp(2.5rem,13vw,3.7rem)}.policy-hero-description{font-size:1rem}.policy-meta{margin-top:24px}.policy-hero-mark{position:absolute;right:-24px;top:-24px;min-height:0;width:154px;height:154px;opacity:.52}.policy-hero-mark>span{font-size:2.5rem}.policy-hero-mark svg{width:130px;height:130px}.policy-switcher{gap:6px;padding:6px;border-radius:15px}.policy-switcher a{min-height:52px;padding:8px 10px;gap:8px}.policy-layout{grid-template-columns:1fr}.policy-rail{position:static;grid-template-columns:1fr}.policy-rail-card{display:none}.policy-toc nav{max-height:none}.policy-document-header{padding:22px 24px}.policy-document-content{padding:32px 24px 40px;font-size:1rem;line-height:1.72}.policy-document-content :is(h1,h2,h3,h4),.policy-document-content .policy-inline-heading{scroll-margin-top:88px}.policy-document-footer{align-items:flex-start;flex-direction:column;padding:22px 24px}.policy-document-footer .button{width:100%;justify-content:space-between}}
@media(max-width:460px){.policy-hero-copy{padding:30px 22px 26px}.policy-eyebrow{margin-bottom:20px}.policy-hero-description{max-width:29ch}.policy-meta{display:grid;gap:8px}.policy-switcher a{grid-template-columns:22px 1fr;padding:9px}.policy-switcher a svg{display:none}.policy-switcher a strong{font-size:.8125rem}.policy-document-header{padding:20px}.policy-document-header>a{font-size:0;width:44px;justify-content:center}.policy-document-header>a span{font-size:1rem}.policy-document-content{padding:28px 20px 36px}.policy-document-footer{padding:20px}}
@media(prefers-reduced-motion:reduce){.policy-switcher a,.policy-switcher svg{transition:none}}
@media(forced-colors:active){.policy-hero,.policy-switcher,.policy-rail-card,.policy-toc,.policy-document{border:1px solid CanvasText;box-shadow:none}.policy-hero{background:Canvas;color:CanvasText}.policy-hero :is(h1,p,span){color:CanvasText}.policy-switcher a[aria-current=page],.policy-directory a[aria-current=page]{outline:2px solid Highlight}}
@media print{.site-header,.site-footer,.app-motion-preference,.policy-switcher,.policy-rail,.policy-document-header>a,.policy-document-footer,.app-imagery-note{display:none!important}.aiesep-policy-centre .policy-centre{padding:0;background:#fff}.policy-centre-shell{display:block}.policy-hero{display:block;min-height:0;border:0;border-radius:0;background:#fff;color:#000;box-shadow:none}.policy-hero::before,.policy-hero-mark{display:none}.policy-hero-copy{padding:0 0 24px}.policy-hero :is(h1,.policy-hero-description,.policy-meta){color:#000}.policy-hero h1{font-size:30pt}.policy-layout{display:block}.policy-document{border:0;border-radius:0;box-shadow:none}.policy-document-header{padding:16px 0}.policy-document-content{max-width:none;padding:24px 0;color:#000;font-size:10.5pt}.policy-document-content :is(h1,h2,h3,h4){break-after:avoid;color:#000}.policy-document-content p{orphans:3;widows:3}}

/* Keep the reading column usable on tablets and the contents compact after rotation. */
.policy-rail{top:calc(var(--site-header-height,136px) + 16px);max-height:calc(100dvh - var(--site-header-height,136px) - 32px);overflow:auto}
.policy-document-content :is(h1,h2,h3,h4),.policy-document-content .policy-inline-heading{scroll-margin-top:calc(var(--site-header-height,136px) + 16px)}
.policy-toc a{min-height:44px;display:flex;align-items:center}
@media(max-width:980px){.policy-layout{grid-template-columns:1fr}.policy-rail{position:static;max-height:none;overflow:visible}.policy-rail-card{display:none}.policy-document-content{padding-inline:28px}.policy-toc nav{max-height:min(55dvh,430px)}}
@media(max-width:620px){.policy-hero h1{font-size:34px;line-height:1.12}.policy-document-content{padding-inline:20px}}
