/* Public header: consistent alignment and a distinct accessible accent per service. */
.public-nav{max-width:1440px;min-height:118px;padding:24px 32px;gap:32px;border-bottom:1px solid #edf1ef}
.public-brand{flex:0 0 210px;min-width:0}
.public-brand .ministry-brand img{width:210px;max-width:100%;height:auto}
.public-nav nav{flex:1;min-width:0;display:grid;grid-template-columns:.95fr 1.2fr 1.3fr 1.35fr 1fr .8fr 1.4fr;align-items:stretch;gap:8px}
.public-nav nav button,.public-nav nav button:first-child,.public-nav nav .primary{
 --nav-color:#316f69;--nav-tint:#eef7f3;--nav-border:#d7e9e0;
 position:relative;display:flex;align-items:center;justify-content:center;gap:8px;
 height:56px;min-height:56px;width:100%;max-width:none;margin:0;padding:9px 11px;
 border:1px solid var(--nav-border);border-radius:9px;background:var(--nav-tint);
 color:var(--nav-color);font-size:11px;font-weight:600;line-height:1.4;text-align:left;
 transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.public-nav nav button .icon{width:19px;height:19px;stroke-width:1.75;flex:0 0 19px}
.public-nav nav button>span{min-width:0;max-width:102px}
.public-nav nav .nav-home{--nav-color:#216f63;--nav-tint:#eaf6f0;--nav-border:#cfe7da}
.public-nav nav .nav-partners{--nav-color:#2c6388;--nav-tint:#eef5fb;--nav-border:#dae7f3}
.public-nav nav .nav-tracking{--nav-color:#675293;--nav-tint:#f3effa;--nav-border:#e5dcf2}
.public-nav nav .nav-register{--nav-color:#8a641e;--nav-tint:#fcf6e8;--nav-border:#f0e4c5}
.public-nav nav .nav-steps{--nav-color:#407147;--nav-tint:#f0f6eb;--nav-border:#dde9d1}
.public-nav nav .nav-faq{--nav-color:#935467;--nav-tint:#fbf0f3;--nav-border:#efdde4}
.public-nav nav .nav-portal{--nav-color:#fff;--nav-tint:#386f73;--nav-border:#386f73;white-space:normal;box-shadow:0 3px 8px #234a5014}
.public-nav nav .nav-outward{font-size:15px;line-height:1;margin-left:0}
.public-nav nav button:hover{color:var(--nav-color);border-color:var(--nav-color);box-shadow:0 4px 12px #2249410c;transform:translateY(-1px)}
.public-nav nav button:focus-visible{outline:2px solid var(--nav-color);outline-offset:3px}
.public-menu{border:1px solid #d7e6df;background:#eff6f2;color:#386f73;width:44px;height:44px;border-radius:8px;font-size:22px}
@media(max-width:1250px){.public-nav{gap:22px;padding:22px 24px}.public-brand{flex-basis:185px}.public-brand .ministry-brand img{width:185px}.public-nav nav{gap:6px}.public-nav nav button,.public-nav nav button:first-child,.public-nav nav .primary{padding:8px;font-size:10px;gap:6px}.public-nav nav button .icon{width:17px;height:17px;flex-basis:17px}}
@media(max-width:1080px){.public-nav{flex-wrap:wrap;min-height:102px;padding:18px 24px;gap:18px}.public-brand{flex-basis:210px}.public-brand .ministry-brand img{width:210px}.public-menu{display:grid;place-items:center;margin-left:auto}.public-nav nav{display:none;flex:0 0 100%;width:100%;padding:18px 0 0;border-top:1px solid #e8efeb;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.public-nav nav.expanded{display:grid}.public-nav nav button,.public-nav nav button:first-child,.public-nav nav .primary{height:56px;max-width:none!important;padding:10px 15px;font-size:12px;gap:10px}.public-nav nav button>span{max-width:none}.public-nav nav button .icon{width:21px;height:21px;flex-basis:21px}.public-nav nav .nav-portal{grid-column:span 3}}
@media(max-width:580px){.public-nav{padding:16px 23px;min-height:98px}.public-brand{flex-basis:190px}.public-brand .ministry-brand img{width:190px}.public-nav nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:15px}.public-nav nav button,.public-nav nav button:first-child,.public-nav nav .primary{height:58px;padding:10px 12px;font-size:11px;justify-content:flex-start}.public-nav nav .nav-portal{grid-column:span 2;justify-content:center}.public-nav nav .nav-outward{margin-left:4px}}
@media(prefers-reduced-motion:reduce){.public-nav nav button{transition:none}.public-nav nav button:hover{transform:none}}
.public-nav nav button>span{width:auto;font-size:inherit;letter-spacing:0;flex:0 1 auto}
.public-nav nav .nav-outward{flex:0 0 auto;font-size:15px}
/* Compact navigation with one shared accent. */
.public-nav{gap:24px;min-height:106px;padding-top:18px;padding-bottom:18px}
.public-nav nav{flex:0 1 auto;display:flex;justify-content:flex-end;gap:5px;margin-left:auto}
.public-nav nav button,.public-nav nav button:first-child,.public-nav nav .primary{
 --nav-color:#566b68;--nav-tint:transparent;--nav-border:transparent;
 width:auto;height:44px;min-height:44px;padding:8px 10px;border-radius:6px;
 font-size:11px;gap:6px;white-space:nowrap;box-shadow:none;
}
.public-nav nav button>span{max-width:none;white-space:nowrap}
.public-nav nav button .icon{width:16px;height:16px;flex-basis:16px}
.public-nav nav .nav-home{--nav-color:#316e69;--nav-tint:#eef5f2;--nav-border:transparent}
.public-nav nav .nav-partners,.public-nav nav .nav-tracking,.public-nav nav .nav-register,.public-nav nav .nav-steps,.public-nav nav .nav-faq{--nav-color:#566b68;--nav-tint:transparent;--nav-border:transparent}
.public-nav nav .nav-portal{--nav-color:#fff;--nav-tint:#386f73;--nav-border:#386f73;padding-left:13px;padding-right:13px;margin-left:5px}
.public-nav nav button:hover{background:#eef5f2;border-color:transparent;box-shadow:none;transform:none;color:#316e69}
.public-nav nav .nav-portal:hover{background:#2f6265;color:#fff}
.public-nav nav .nav-outward{font-size:13px}
@media(min-width:1081px) and (max-width:1250px){.public-nav{gap:18px}.public-nav nav{gap:3px}.public-nav nav button,.public-nav nav button:first-child,.public-nav nav .primary{font-size:10px;padding:8px 7px;gap:5px}.public-nav nav button .icon{width:15px;height:15px;flex-basis:15px}}
@media(max-width:1080px){.public-nav{min-height:94px}.public-nav nav{display:none;flex:0 0 100%;margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;justify-content:stretch}.public-nav nav.expanded{display:grid}.public-nav nav button,.public-nav nav button:first-child,.public-nav nav .primary{width:100%;height:44px;min-height:44px;padding:8px 10px;font-size:11px;justify-content:flex-start;white-space:normal}.public-nav nav button>span{white-space:normal}.public-nav nav .nav-portal{margin-left:0;grid-column:span 3;justify-content:center}.public-nav nav button .icon{width:17px;height:17px;flex-basis:17px}}
@media(max-width:580px){.public-nav nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.public-nav nav .nav-portal{grid-column:span 2}.public-nav nav button,.public-nav nav button:first-child,.public-nav nav .primary{height:46px;min-height:46px;font-size:10px;padding:8px;gap:7px}}
