:root{
    --blue:#17375e;
    --blue2:#0f2744;
    --gold:#b8a15a;
    --gray:#e8e8e8;
    --line:#c7c7c7;
    --ink:#222;
}
*{box-sizing:border-box}
body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    color:var(--ink);
    background:#d8d8d8;
}
.topbar{
    display:flex;
    gap:16px;
    align-items:center;
    background:linear-gradient(180deg,var(--blue),var(--blue2));
    color:white;
    padding:14px 22px;
    border-bottom:4px solid var(--gold);
}
.seal{
    width:56px;
    height:56px;
    border:2px solid var(--gold);
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:32px;
    background:#09203a;
}
.topbar h1{margin:0;font-size:30px;letter-spacing:1px}
.topbar p{margin:3px 0 0;color:#d9e4f2}
.utility{
    background:#f7f7f7;
    border-bottom:1px solid #aaa;
    padding:8px 18px;
    display:flex;
    gap:10px;
    align-items:center;
}
.utility a,.utility button,.doc-header button,.searchbox button{
    background:#17375e;
    color:white;
    border:1px solid #0d2139;
    padding:8px 12px;
    text-decoration:none;
    cursor:pointer;
    font-size:14px;
}
.layout{display:flex;min-height:calc(100vh - 130px)}
.sidebar{
    width:360px;
    background:#f3f3f3;
    border-right:1px solid #aaa;
    padding:14px;
    overflow:auto;
}
.side-title{
    background:#303030;
    color:white;
    padding:10px;
    font-weight:bold;
    border-left:5px solid var(--gold);
    margin-bottom:10px;
}
details{
    border:1px solid #bbb;
    margin-bottom:8px;
    background:white;
}
summary{
    padding:10px;
    cursor:pointer;
    background:#dedede;
    font-weight:bold;
}
.policy-link{
    display:block;
    padding:9px 10px;
    color:#1a1a1a;
    text-decoration:none;
    border-top:1px solid #eee;
    font-size:14px;
}
.policy-link span{
    display:inline-block;
    min-width:62px;
    color:#555;
    font-weight:bold;
}
.policy-link:hover,.policy-link.active{
    background:#17375e;
    color:white;
}
.policy-link:hover span,.policy-link.active span{color:#f5d778}
.content{flex:1;padding:24px}
.single{max-width:1200px;margin:24px auto;padding:0 18px}
.doc-card{
    background:white;
    border:1px solid #aaa;
    box-shadow:0 2px 6px rgba(0,0,0,.12);
    padding:24px;
}
.doc-header{
    display:flex;
    justify-content:space-between;
    gap:15px;
    border-bottom:1px solid var(--line);
    margin-bottom:18px;
}
.doc-header h2{margin:0;color:#17375e}
.motto{font-style:italic;color:#555}
.notice{
    background:#fff8dc;
    border:1px solid #e1c45f;
    padding:12px;
    margin:14px 0;
}
.grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:12px;
}
.tile{
    display:block;
    background:#f8f8f8;
    border:1px solid #bbb;
    border-left:5px solid var(--blue);
    padding:14px;
    color:#222;
    text-decoration:none;
    min-height:120px;
}
.tile strong{display:block;color:#17375e;margin-bottom:6px}
.tile span{display:block;font-weight:bold;margin-bottom:8px}
.tile small{display:block;color:#555;line-height:1.35}
.policy-meta{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    border-bottom:1px solid #ccc;
    padding-bottom:10px;
    margin-bottom:16px;
}
.policy-meta span{
    background:#eee;
    border:1px solid #ccc;
    padding:6px 10px;
    font-size:13px;
}
.policy h1{
    color:#17375e;
    margin-top:0;
}
.divider{
    border-top:3px double #999;
    margin:14px 0 22px;
}
.policy-body{
    font-family:"Times New Roman", Times, serif;
    font-size:18px;
    line-height:1.55;
    white-space:normal;
}
.policy-body h2{
    font-family:Arial, Helvetica, sans-serif;
    color:#17375e;
    border-bottom:1px solid #bbb;
    padding-bottom:4px;
    margin-top:24px;
    font-size:22px;
}
.policy-body h3{
    font-family:Arial, Helvetica, sans-serif;
    color:#111;
    margin-top:20px;
    font-size:18px;
}
.searchbox{
    display:flex;
    gap:8px;
    margin:15px 0;
}
.searchbox input{
    flex:1;
    padding:11px;
    border:1px solid #aaa;
    font-size:16px;
}
.result{
    display:block;
    border:1px solid #bbb;
    background:#f9f9f9;
    margin:10px 0;
    padding:12px;
    color:#222;
    text-decoration:none;
}
.result strong{display:block;color:#17375e;margin-bottom:5px}
.result span{display:block;color:#555}
table{width:100%;border-collapse:collapse;margin-top:15px}
th,td{border:1px solid #bbb;padding:9px;text-align:left}
th{background:#17375e;color:white}
footer{
    text-align:center;
    padding:14px;
    background:#efefef;
    color:#555;
    border-top:1px solid #bbb;
}
@media print{
    .topbar,.utility,.sidebar,footer{display:none}
    body{background:white}
    .layout{display:block}
    .content,.single{padding:0;margin:0;max-width:none}
    .doc-card{box-shadow:none;border:none}
    .policy-body{font-size:12pt}
}
