/* Public service portal: deliberately scoped so the officer workspace is unchanged. */
.public-landing{--accent:#1565c0;background:#f5f8fd;color:#173457}
.public-nav{max-width:none;height:86px;padding:0 max(24px,calc((100vw - 1180px)/2 + 24px));background:#fff;border-top:4px solid #1565c0;border-bottom:1px solid #dbe5f2;gap:24px}
.public-brand b{color:#12365e}.public-brand small{color:#60758f}.public-brand>span,.public-brand img{background:#edf5ff;border-radius:10px}.public-brand>span{color:#1565c0}
.public-nav-right{display:flex;align-items:center;gap:32px}.public-links{display:flex;align-items:center;gap:26px}.public-links a{color:#415e7e;text-decoration:none;font-size:12px;font-weight:600}.public-links a:hover{color:#1565c0}.public-menu summary{border-color:#d9e5f3;border-radius:10px}.public-menu summary i{background:#185c9e}.public-menu nav{border-color:#d9e5f3}.public-menu nav a:hover{background:#edf5ff;color:#1565c0}
.public-main{padding-top:44px}.public-hero{min-height:490px;gap:46px}.public-kicker{color:#1565c0;font-size:10px;letter-spacing:.13em}.hero-copy>.public-kicker{display:inline-block;background:#e7f1ff;border:1px solid #d1e4ff;border-radius:6px;padding:9px 12px}.hero-copy h1{font-size:clamp(40px,4.4vw,62px);line-height:1.12;letter-spacing:-.035em;margin:24px 0}.hero-copy h1 em{color:#1565c0}.hero-copy>p{color:#526b87;font-size:16px;line-height:1.8}.privacy-note{color:#5c718a!important}.contact-button{border-radius:8px}.contact-button.whatsapp{background:#1565c0;box-shadow:0 8px 20px #1565c026}.contact-button.whatsapp:hover{background:#0d4f9a}.contact-button.email{color:#155aab;border-color:#cbdcf0}.contact-button.email>span{background:#eaf3ff;color:#1565c0}
.hero-visual{height:435px;border-radius:20px;background:radial-gradient(circle at 85% 5%,#4ca9f977,transparent 50%),linear-gradient(135deg,#1262b5,#0c3d80);box-shadow:0 20px 50px #145bab20;border:1px solid #387fbc}
.visual-heading{position:absolute;inset:30px 30px auto;display:flex;flex-direction:column;gap:12px;color:#fff;z-index:2}.visual-heading span{font-size:9px;letter-spacing:.13em;color:#c1e1ff}.visual-heading b{font-size:23px;line-height:1.35;max-width:280px;letter-spacing:-.025em}.visual-orbit{border-color:#ffffff26;width:310px;height:310px;top:65%;left:69%}.visual-card{border-radius:11px;padding:16px;background:#fff;box-shadow:0 12px 28px #03295833;width:285px;max-width:calc(100% - 42px)}.visual-card>span{background:#e9f3ff;color:#1565c0}.visual-card small{color:#526b87}.visual-card b{color:#153859}.visual-card>i{color:#1565c0}.card-inbox{top:145px;left:26px}.card-route{top:240px;right:24px}.card-done{bottom:25px;left:38px}
.public-about{margin-top:58px;padding:38px 0;border-color:#dbe5f2;gap:65px}.public-about h2{font-size:30px;color:#173f6a}.public-about>p{color:#526b87;font-size:15px;margin-top:12px}.public-steps{padding-top:32px}.public-steps article{border:1px solid #dbe5f2;border-top:3px solid #2c7fd2;border-radius:10px;box-shadow:0 4px 16px #17487c05}.public-steps article>span{display:grid;place-items:center;width:38px;height:38px;background:#edf5ff;color:#1565c0;border-radius:9px;font-size:13px}.public-steps h3{color:#174776;margin-top:20px}.public-steps p{color:#526b87}.public-footer{border-color:#dbe5f2;color:#5d718b}.public-footer b{color:#174776}a:focus-visible,summary:focus-visible{outline:3px solid #f0b429;outline-offset:4px}
@media(max-width:850px){.public-links{display:none}.public-main{padding-top:28px}.public-hero{gap:30px}.hero-copy h1{font-size:48px}.hero-visual{height:425px;max-width:560px;width:100%;margin:auto}.public-about{gap:16px}.public-about>p{margin-top:0}}
@media(max-width:520px){.public-nav{height:76px;padding-inline:17px}.public-brand b{font-size:16px}.public-main{padding-top:24px}.hero-copy>.public-kicker{font-size:8px;letter-spacing:.08em}.hero-copy h1{font-size:41px}.hero-copy>p{font-size:15px}.hero-visual{height:410px}.visual-heading{inset:24px 23px auto}.visual-heading b{font-size:22px}.card-inbox{top:135px;left:18px}.card-route{top:227px;right:18px}.card-done{bottom:20px;left:24px}.public-about h2{font-size:27px}.public-nav-right{gap:0}}
