
/* RNS Solution — Privacy / Terms pages */
.page-policy .footer-cta{display:none}

.policy-hero{
    padding:150px 0 60px;
    background:linear-gradient(120deg,#FAFCFD 0%,#EEF2F6 100%);
    border-bottom:1px solid #D6E1EA;
}
.policy-hero__breadcrumb{
    display:flex;
    align-items:center;
    gap:9px;
    color:#788897;
    font-size:12px;
}
.policy-hero__breadcrumb strong{color:#456D8C}
.policy-hero__eyebrow{
    margin:30px 0 10px;
    color:#456D8C;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    text-align:center;
}
.policy-hero h1{
    margin:0;
    color:#102D45;
    font-size:clamp(40px,5vw,62px);
    line-height:1.12;
    letter-spacing:-.05em;
    text-align:center;
}
.policy-hero__desc{
    max-width:720px;
    margin:20px auto 0;
    color:#566878;
    font-size:16px;
    line-height:1.8;
    text-align:center;
}

.policy-wrap{
    padding:72px 0 110px;
    background:#fff;
}
.policy-layout{
    display:grid;
    grid-template-columns:240px minmax(0,1fr);
    gap:54px;
    align-items:start;
}
.policy-nav{
    position:sticky;
    top:110px;
    padding:22px;
    border:1px solid #D6E1EA;
    border-radius:14px;
    background:#F8FAFC;
}
.policy-nav strong{
    display:block;
    margin-bottom:14px;
    color:#102D45;
    font-size:14px;
}
.policy-nav a{
    display:block;
    padding:8px 0;
    color:#66788A;
    font-size:13px;
    line-height:1.5;
    text-decoration:none;
}
.policy-nav a:hover,
.policy-nav a:focus-visible{color:#456D8C}

.policy-document{
    min-width:0;
}
.policy-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    margin-bottom:30px;
    padding:16px 18px;
    border:1px solid #D6E1EA;
    border-radius:10px;
    background:#F8FAFC;
    color:#66788A;
    font-size:13px;
}
.policy-intro{
    margin:0 0 38px;
    color:#465A6C;
    font-size:16px;
    line-height:1.9;
}
.policy-section{
    scroll-margin-top:120px;
    padding:34px 0;
    border-top:1px solid #E4EBF1;
}
.policy-section:first-of-type{border-top:0;padding-top:0}
.policy-section h2{
    margin:0 0 16px;
    color:#102D45;
    font-size:24px;
    line-height:1.4;
    letter-spacing:-.035em;
}
.policy-section h3{
    margin:22px 0 10px;
    color:#173B59;
    font-size:17px;
}
.policy-section p,
.policy-section li{
    color:#566878;
    font-size:15px;
    line-height:1.9;
    word-break:keep-all;
}
.policy-section p{margin:0 0 12px}
.policy-section ul,
.policy-section ol{
    margin:10px 0 0;
    padding-left:22px;
}
.policy-section li+li{margin-top:6px}
.policy-box{
    margin-top:16px;
    padding:18px 20px;
    border-left:3px solid #FFBC60;
    border-radius:0 10px 10px 0;
    background:#FFF8EC;
}
.policy-box strong{
    color:#173B59;
}
.policy-table-wrap{
    overflow-x:auto;
    margin-top:16px;
}
.policy-table{
    width:100%;
    min-width:650px;
    border-collapse:collapse;
    border-top:2px solid #7897AE;
}
.policy-table th,
.policy-table td{
    padding:14px 16px;
    border-bottom:1px solid #D6E1EA;
    color:#566878;
    font-size:14px;
    line-height:1.7;
    text-align:left;
    vertical-align:top;
}
.policy-table th{
    width:22%;
    background:#F7FAFC;
    color:#173B59;
    font-weight:700;
}
.policy-link{
    color:#456D8C;
    text-decoration:underline;
    text-underline-offset:3px;
}
.policy-note{
    margin-top:28px;
    padding:18px 20px;
    border-radius:12px;
    background:#EEF2F6;
    color:#566878;
    font-size:13px;
    line-height:1.75;
}

@media(max-width:900px){
    .policy-layout{grid-template-columns:1fr;gap:28px}
    .policy-nav{position:static;display:none}
}

@media(max-width:760px){
    .policy-hero{padding:118px 0 44px}
    .policy-hero h1{font-size:38px}
    .policy-hero__desc{font-size:14px}
    .policy-wrap{padding:48px 0 80px}
    .policy-meta{display:block}
    .policy-meta span{display:block}
    .policy-meta span+span{margin-top:5px}
    .policy-intro{font-size:14px}
    .policy-section{padding:28px 0}
    .policy-section h2{font-size:21px}
    .policy-section p,
    .policy-section li{font-size:14px;line-height:1.85}
}
