/* Status Portal — full-page template chrome (reference-style header, nav, footer) */
:root {
    --pt-navy: #1b2f4a;
    --pt-navy-dark: #14253c;
    --pt-blue: #4a90d9;
    --pt-blue-dark: #3576b8;
    --pt-red: #c6363c;
    --pt-text: #1a2332;
}
body.ptp { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; color: var(--pt-text); background: #fff; margin: 0; line-height: 1.6; }
body.ptp a { color: var(--pt-navy); }
.pt-container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

/* ---------- top utility bar ---------- */
.pt-topbar { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1.25fr; background: var(--pt-navy); position: relative; min-height: 108px; }
.pt-accent { position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--pt-red); z-index: 2; }
.pt-brand { display: flex; flex-direction: column; justify-content: center; padding: 14px 14px 14px 26px; color: #fff; text-decoration: none; border-right: 1px solid rgba(255,255,255,.12); }
.pt-brand:hover { color: #fff; text-decoration: none; }
.pt-brand img { height: 66px; width: auto; display: block; }
.pt-foot-brand img { height: 54px; width: auto; display: block; }
.pt-brand-sub { font-size: .72rem; color: #b9c8de; letter-spacing: .06em; text-transform: uppercase; margin-top: 4px; }
.pt-topbar-spacer { border-right: 1px solid rgba(255,255,255,.12); }
.pt-cta { display: flex; flex-direction: column; justify-content: center; padding: 14px 26px; text-decoration: none; line-height: 1.3; }
.pt-cta small { font-size: .82rem; font-weight: 400; }
.pt-cta strong { font-size: 1.18rem; font-weight: 700; }
.pt-cta:hover { text-decoration: none; }
.pt-cta-blue { background: var(--pt-blue); color: #fff; border-right: 1px solid rgba(255,255,255,.25); }
.pt-cta-blue small { color: rgba(255,255,255,.85); }
.pt-cta-blue:hover { background: var(--pt-blue-dark); color: #fff; }
.pt-cta-white { background: #fff; color: var(--pt-navy); }
.pt-cta-white small { color: #6b7a90; }
.pt-cta-white:hover { background: #eef3f9; color: var(--pt-navy); }

/* ---------- main nav ---------- */
.pt-navwrap { background: var(--pt-navy-dark); position: sticky; top: 0; z-index: 60; }
.pt-nav-inner { max-width: 1440px; margin: 0 auto; }
.pt-toggle { display: none; width: 100%; background: var(--pt-navy-dark); border: none; color: #fff; font-size: 1rem; padding: 14px 20px; cursor: pointer; text-align: left; }
.pt-nav { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.pt-nav-item { position: relative; border-left: 1px solid rgba(255,255,255,.14); }
.pt-nav-item:last-child { border-right: 1px solid rgba(255,255,255,.14); }
.pt-nav-item > a { display: flex; align-items: center; gap: 6px; color: #fff; text-decoration: none; font-size: .86rem; font-weight: 500; padding: 15px 16px; white-space: nowrap; }
.pt-nav-item > a:hover { background: rgba(255,255,255,.1); color: #fff; text-decoration: none; }
.pt-caret { color: var(--pt-blue); font-size: .8rem; }
.pt-dropmenu { display: none; position: absolute; top: 100%; left: 0; min-width: 250px; background: #fff; list-style: none; margin: 0; padding: 8px; border-radius: 0 0 10px 10px; box-shadow: 0 14px 30px rgba(10,25,45,.25); z-index: 70; }
.pt-dropmenu a { display: block; color: var(--pt-navy); text-decoration: none; font-size: .9rem; padding: 10px 14px; border-radius: 6px; }
.pt-dropmenu a:hover { background: #e8f0fa; text-decoration: none; }
.pt-has-drop:hover .pt-dropmenu { display: block; }

/* ---------- main + footer ---------- */
.pt-main { background: #fff; }
.pt-footer { background: var(--pt-navy-dark); color: #dbe6f5; padding: 44px 0 30px; font-size: .92rem; }
.pt-footer-grid { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.pt-foot-links { display: flex; flex-direction: column; gap: 12px; }
.pt-foot-links a { color: #fff; text-decoration: none; font-size: .95rem; }
.pt-foot-links a:hover { text-decoration: underline; color: #fff; }
.pt-foot-brand { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; text-align: right; }
.pt-foot-brand .pt-brand-name { font-size: 1.5rem; }
.pt-foot-brand span:last-child { font-size: .82rem; color: #9fb0c8; }
.pt-top { position: fixed; right: 26px; bottom: 26px; width: 52px; height: 52px; background: var(--pt-navy-dark); color: #fff; border: none; border-radius: 8px; font-size: 1.4rem; cursor: pointer; z-index: 80; box-shadow: 0 6px 18px rgba(10,25,45,.3); }
.pt-top:hover { background: var(--pt-navy); }

/* ---------- responsive ---------- */
@media (max-width: 1020px) {
    .pt-topbar { grid-template-columns: 1fr 1fr; min-height: 0; }
    .pt-brand { padding: 16px 16px 16px 24px; }
    .pt-topbar-spacer { display: none; }
    .pt-cta-blue { border-right: none; border-top: 1px solid rgba(255,255,255,.25); }
    .pt-cta-white { border-top: 1px solid #dfe6f0; }
}
@media (max-width: 860px) {
    .pt-toggle { display: block; }
    .pt-nav { display: none; flex-direction: column; }
    .pt-nav.open { display: flex; }
    .pt-nav-item { border-left: none; border-top: 1px solid rgba(255,255,255,.12); }
    .pt-nav-item:last-child { border-right: none; }
    .pt-nav-item > a { white-space: normal; }
    .pt-dropmenu { position: static; box-shadow: none; border-radius: 0; background: rgba(255,255,255,.06); }
    .pt-dropmenu a { color: #dbe6f5; }
    .pt-has-drop:hover .pt-dropmenu { display: none; }
    .pt-nav.open .pt-dropmenu { display: block; }
    .pt-footer-grid { flex-direction: column; }
    .pt-foot-brand { align-items: flex-start; text-align: left; }
}
