:root{
    --primary:#2563eb;
    --primary-dark:#1d4ed8;
    --teal:#14b8a6;
    --green:#8BE28B;
    --green-dark:#72cf72;
    --text:#0f172a;
    --muted:#667085;
    --bg:#f7f9fc;
    --card:#ffffff;
    --border:#e7edf5;
    --shadow:0 18px 60px rgba(15,23,42,.08);
    --soft-shadow:0 18px 55px rgba(37,99,235,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:'Inter',sans-serif;
    background:var(--bg);
    color:var(--text);
    -webkit-font-smoothing:antialiased;
    font-size:15px;
    line-height:1.6;
}
a{text-decoration:none;color:inherit}
.policy-hero{
    position:relative;
    overflow:hidden;
    padding:88px 24px 80px;
    color:#0f172a;
    background:
        radial-gradient(circle at 18% 18%,rgba(20,184,166,.22),transparent 29%),
        radial-gradient(circle at 82% 22%,rgba(37,99,235,.20),transparent 32%),
        linear-gradient(135deg,#ffffff 0%,#eff6ff 46%,#dbeafe 100%);
}
.policy-hero::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.50;
    background-image:url("data:image/svg+xml,%3Csvg width='980' height='560' viewBox='0 0 980 560' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%232563eb' stroke-opacity='.34' stroke-width='2'%3E%3Cpath d='M52 120C198 28 288 184 432 88c122-81 247-36 337 82 66 87 120 76 172 29'/%3E%3Cpath d='M0 430c102-96 219-118 352-58 142 64 220 44 310-62 88-103 188-112 322-28'/%3E%3Crect x='620' y='110' width='170' height='116' rx='28'/%3E%3Crect x='665' y='156' width='80' height='14' rx='7'/%3E%3Crect x='665' y='184' width='108' height='14' rx='7'/%3E%3Cpath d='M170 324h170M170 364h128M170 404h188'/%3E%3Crect x='128' y='278' width='260' height='166' rx='32'/%3E%3C/g%3E%3Cg fill='%2314b8a6' fill-opacity='.28'%3E%3Ccircle cx='316' cy='135' r='7'/%3E%3Ccircle cx='506' cy='226' r='5'/%3E%3Ccircle cx='766' cy='304' r='7'/%3E%3Ccircle cx='250' cy='458' r='5'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
}
.policy-hero::after{
    content:"";
    position:absolute;
    inset:auto 0 -1px;
    height:92px;
    background:linear-gradient(to bottom,rgba(247,249,252,0),var(--bg));
}
.hero-inner{max-width:1180px;margin:auto;position:relative;z-index:1}
.eyebrow{
    display:inline-flex;
    align-items:center;
    padding:9px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.68);
    border:1px solid rgba(37,99,235,.16);
    color:#1d4ed8;
    font-size:12px;
    font-weight:800;
    letter-spacing:.02em;
    box-shadow:0 10px 26px rgba(37,99,235,.08);
}
.policy-hero h1{
    max-width:820px;
    margin:24px 0 0;
    font-size:29px;
    line-height:.98;
    letter-spacing:-.065em;
    font-weight:800;
    color:#0f172a;
}
.policy-hero p{max-width:720px;margin:22px 0 0;color:#475467;font-size:17px;line-height:1.8}
.meta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.meta-pill{
    display:inline-flex;
    align-items:center;
    padding:12px 15px;
    border-radius:16px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(37,99,235,.13);
    color:#344054;
    font-size:13px;
    font-weight:700;
    box-shadow:0 10px 26px rgba(37,99,235,.07);
}
.page-wrap{max-width:1180px;margin:-24px auto 0;padding:0 24px 70px;position:relative;z-index:2}
.policy-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:26px;align-items:start}
.toc{
    position:sticky;
    top:104px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(226,232,240,.85);
    box-shadow:var(--shadow);
    border-radius:28px;
    padding:18px;
    max-height:calc(100vh - 126px);
    overflow:auto;
}
.toc-title{font-size:12px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}
.toc a{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:10px 10px;
    border-radius:14px;
    color:#475467;
    font-size:13px;
    font-weight:650;
    line-height:1.35;
}
.toc a:hover{background:#eff6ff;color:#1d4ed8}
.toc a span{color:#2563eb;font-weight:900;min-width:24px}
.policy-card{
    background:white;
    border:1px solid rgba(226,232,240,.88);
    border-radius:34px;
    box-shadow:var(--shadow);
    padding:44px 52px;
}
.policy-intro{
    margin-bottom:34px;
    padding:26px 28px;
    border:1px solid #dbeafe;
    border-radius:26px;
    background:linear-gradient(135deg,#f8fbff,#eff6ff);
}
.policy-intro h2{margin:0;font-size:28px;letter-spacing:-.045em;line-height:1.15}
.policy-intro p{margin:12px 0 0;color:var(--muted)}
.policy-section{scroll-margin-top:120px;padding:30px 0;border-top:1px solid #eef2f7}
.policy-section:first-of-type{border-top:0;padding-top:0}
.policy-section h2{
    margin:0 0 18px;
    display:flex;
    align-items:center;
    gap:12px;
    font-size:28px;
    line-height:1.16;
    letter-spacing:-.045em;
    font-weight:800;
}
.policy-section h2 span{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    color:#1d4ed8;
    background:#eff6ff;
    font-size:15px;
    letter-spacing:0;
}
.policy-section p{
    margin:0 0 13px;
    color:#344054;
    font-size:15.5px;
    line-height:1.82;
}
.policy-section p:last-child{margin-bottom:0}
.policy-section a{color:#1d4ed8;font-weight:700}
.info-bar{max-width:1180px;margin:0 auto 34px;padding:0 24px}
.info-bar-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    padding:18px 22px;
    border:1px solid rgba(226,232,240,.9);
    border-radius:22px;
    background:rgba(255,255,255,.72);
    color:#667085;
    font-size:13px;
}
.info-links{display:flex;gap:16px;flex-wrap:wrap}
.info-links a{color:#2563eb;font-weight:700}
@media(max-width:980px){
    .policy-layout{grid-template-columns:1fr}
    .toc{position:relative;top:auto;max-height:none}
}
@media(max-width:768px){
                    .policy-hero{padding:64px 18px 60px}
    .policy-hero h1{font-size:19px;letter-spacing:-.035em}
    .policy-hero p{font-size:15px}
    .page-wrap{padding:0 16px 48px}
    .policy-card{padding:28px 20px;border-radius:26px}
    .policy-intro{padding:22px 18px;border-radius:22px}
    .policy-section h2{font-size:22px;align-items:flex-start}
    .policy-section h2 span{width:36px;height:36px;flex-basis:36px}
    .policy-section p{font-size:14.5px;line-height:1.75}
    .toc{border-radius:24px}
    .info-bar{padding:0 16px}
    .info-bar-inner{align-items:flex-start;flex-direction:column}
}
