/* ePortalHub v1.4.3 — Premium static/legal/public policy page UI */
.policy-page{background:#f7f9fc}
.policy-breadcrumb-bar{background:#fff;border-bottom:1px solid #e6ebf1}
.policy-breadcrumb-bar .breadcrumb{min-height:48px;color:#64748b;font-size:.82rem}
.policy-breadcrumb-bar .breadcrumb a{color:#475569;text-decoration:none}
.policy-breadcrumb-bar .breadcrumb a:hover{color:var(--navy)}

.policy-hero{position:relative;overflow:hidden;padding:50px 0 46px;background:linear-gradient(135deg,#f5f8fc 0%,#fff 54%,#fff9eb 100%);border-bottom:1px solid #e7ecf2}
.policy-hero:before{content:"";position:absolute;right:-90px;top:-150px;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.15),rgba(245,158,11,0) 70%)}
.policy-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:50px;align-items:center}
.policy-hero-copy{max-width:820px}
.policy-kicker{margin-bottom:10px;color:#b56c00;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.policy-hero h1{margin:0;color:var(--navy);font-size:clamp(2.45rem,5vw,4.2rem);letter-spacing:-.045em}
.policy-hero-copy>p{max-width:780px;margin:14px 0 0;color:#526174;font-size:1.07rem;line-height:1.65}
.policy-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:22px;color:#64748b;font-size:.78rem;font-weight:600}
.policy-status{display:inline-flex;align-items:center;gap:7px;color:#27684f}
.policy-status-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.1)}
.policy-hero-card{justify-self:end;width:250px;padding:22px;border:1px solid rgba(27,43,75,.08);border-radius:20px;background:rgba(255,255,255,.82);box-shadow:0 18px 50px rgba(27,43,75,.09);backdrop-filter:blur(12px)}
.policy-hero-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:17px;border-radius:14px;background:#fff4da;color:#9a5c00;font:800 .9rem Manrope,Inter,sans-serif;box-shadow:inset 0 0 0 1px rgba(245,158,11,.18)}
.policy-hero-card>span{display:block;color:#9a5c00;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.policy-hero-card>strong{display:block;margin-top:6px;color:var(--navy);font:800 1.12rem/1.35 Manrope,Inter,sans-serif}

.policy-section{padding:42px 0 70px}
.policy-layout{display:grid;grid-template-columns:minmax(0,820px) 300px;gap:32px;align-items:start;justify-content:center}
.policy-document{min-width:0;background:#fff;border:1px solid #e4eaf0;border-radius:20px;box-shadow:0 12px 38px rgba(27,43,75,.055);overflow:hidden}
.policy-document-topline{min-height:52px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #edf1f5;background:#fbfcfe;color:#7b8797;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.policy-document-topline a{color:#986000;text-decoration:none;text-transform:none;letter-spacing:0}
.policy-document-topline a:hover{text-decoration:underline}
.policy-content{padding:34px 38px 18px}
.policy-content>h2,.policy-content section>h2{position:relative;margin:38px 0 14px;padding-top:5px;color:var(--navy);font-size:1.62rem;scroll-margin-top:100px}
.policy-content>h2:first-child{margin-top:0}
.policy-content>h2:before,.policy-content section>h2:before{content:"";display:block;width:34px;height:3px;margin-bottom:12px;border-radius:99px;background:var(--amber)}
.policy-content h3{margin:28px 0 10px;color:var(--navy);font-size:1.15rem}
.policy-content p{max-width:75ch;margin:0 0 17px;color:#435268;font-size:.98rem;line-height:1.82}
.policy-content ul,.policy-content ol{max-width:74ch;margin:0 0 20px;padding-left:23px;color:#435268}
.policy-content li{margin:7px 0;line-height:1.7}
.policy-content strong{color:#26384f}
.policy-content a{color:#205ba8;text-decoration-thickness:1px;text-underline-offset:3px}
.policy-content blockquote{margin:24px 0;padding:17px 20px;border-left:4px solid var(--amber);border-radius:0 12px 12px 0;background:#fff9ed;color:#46566a}
.policy-content table{width:100%;margin:22px 0;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #e2e8ef;border-radius:12px;background:#fff}
.policy-content th,.policy-content td{padding:12px 14px;border-bottom:1px solid #e9eef3;text-align:left;vertical-align:top}
.policy-content th{background:#f7f9fc;color:var(--navy);font-size:.82rem}
.policy-content tr:last-child td{border-bottom:0}

.policy-inline-note{display:grid;grid-template-columns:48px 1fr;gap:17px;margin:36px 0 20px;padding:22px;border:1px solid #f0d99c;border-radius:16px;background:#fffaf0}
.policy-inline-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#fff0c9;color:#925800;font-size:1.2rem;font-weight:800}
.policy-inline-note h2{margin:0 0 9px!important;padding:0!important;font-size:1.3rem!important}
.policy-inline-note h2:before{display:none!important}
.policy-inline-note p:last-child{margin-bottom:0}

.policy-bottom-card{margin:20px 30px 30px;padding:25px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:16px;background:linear-gradient(135deg,#162a4a,#223b64);color:#dce6f3}
.policy-bottom-card h2{margin:4px 0 7px;color:#fff;font-size:1.3rem}
.policy-bottom-card p{margin:0;max-width:560px;color:#c8d5e5;font-size:.88rem}
.policy-bottom-kicker{color:#f8c45b;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.policy-bottom-card .btn-navy{flex:0 0 auto;background:#fff;color:var(--navy);white-space:nowrap}
.policy-bottom-card .btn-navy:hover{background:var(--amber)}

.policy-sidebar{position:sticky;top:92px;display:grid;gap:16px}
.policy-side-card{padding:18px;border:1px solid #e3e9ef;border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(27,43,75,.045)}
.policy-side-title{margin-bottom:11px;color:#718096;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.policy-toc a{display:block;padding:8px 9px;border-left:2px solid #e8edf2;color:#526174;text-decoration:none;font-size:.82rem;line-height:1.35}
.policy-toc a:hover{border-left-color:var(--amber);background:#fffaf0;color:var(--navy)}
.policy-center-links{padding:10px}
.policy-center-links .policy-side-title{padding:8px 8px 4px;margin:0}
.policy-center-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-radius:10px;color:#526174;text-decoration:none;font-size:.82rem;font-weight:650}
.policy-center-links a:hover{background:#f6f8fb;color:var(--navy)}
.policy-center-links a.is-active{background:#fff5dc;color:#8b5600;font-weight:800}
.policy-trust-card{background:linear-gradient(180deg,#fff,#f9fbfd)}
.policy-trust-mark{width:36px;height:36px;display:grid;place-items:center;margin-bottom:12px;border-radius:10px;background:#eaf8f1;color:#147a56;font-weight:900}
.policy-trust-card strong{color:var(--navy);font:800 .92rem Manrope,Inter,sans-serif}
.policy-trust-card p{margin:7px 0 0;color:#68778a;font-size:.77rem;line-height:1.55}

/* Contact page shares the same visual system. */
.contact-page-shell{padding:42px 0 70px}
.contact-layout{display:grid;grid-template-columns:minmax(0,720px) 340px;gap:30px;align-items:start;justify-content:center}
.contact-card{padding:30px;border:1px solid #e3e9ef;border-radius:20px;background:#fff;box-shadow:0 12px 38px rgba(27,43,75,.055)}
.contact-card h2{margin:0 0 8px;font-size:1.35rem}
.contact-card>p{margin-top:0;color:#64748b}
.contact-card .form-control label{display:block;margin-bottom:7px;color:#334155;font-size:.82rem;font-weight:750}
.contact-card input,.contact-card textarea{width:100%;border:1px solid #d7e0e8;border-radius:10px;background:#fff;outline:none}
.contact-card input{height:44px;padding:0 12px}
.contact-card textarea{padding:11px 12px;resize:vertical}
.contact-card input:focus,.contact-card textarea:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(245,158,11,.11)}
.contact-info-stack{display:grid;gap:14px}
.contact-info-card{padding:22px;border:1px solid #e3e9ef;border-radius:16px;background:#fff}
.contact-info-card .mini-label{color:#a56500;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.contact-info-card h3{margin:6px 0 7px;font-size:1rem}
.contact-info-card p{margin:0;color:#64748b;font-size:.84rem;line-height:1.6}
.contact-info-card a{word-break:break-word}

@media(max-width:1000px){
  .policy-hero-inner{grid-template-columns:1fr}.policy-hero-card{display:none}
  .policy-layout,.contact-layout{grid-template-columns:minmax(0,1fr)}
  .policy-sidebar{position:static;grid-template-columns:1fr 1fr}.policy-trust-card{display:none}
}
@media(max-width:700px){
  .policy-hero{padding:34px 0 30px}.policy-hero h1{font-size:2.35rem}.policy-hero-copy>p{font-size:.96rem}
  .policy-meta-row{gap:7px 12px}.policy-section,.contact-page-shell{padding:24px 0 46px}
  .policy-layout{gap:20px}.policy-document{border-radius:15px}.policy-document-topline{padding:0 20px;font-size:.65rem}.policy-document-topline>a{display:none}
  .policy-content{padding:26px 21px 12px}.policy-content>h2,.policy-content section>h2{font-size:1.42rem}.policy-content p{font-size:.94rem;line-height:1.75}
  .policy-bottom-card{margin:14px 18px 18px;padding:20px;display:block}.policy-bottom-card .btn-navy{width:100%;margin-top:17px}
  .policy-sidebar{grid-template-columns:1fr}.policy-toc{display:none}.policy-inline-note{grid-template-columns:1fr;padding:18px}.policy-inline-icon{width:40px;height:40px}
  .contact-card{padding:22px}.contact-info-stack{gap:12px}
}
