:root{--navy:#142c3a;--blue:#24647a;--red:#8f2f27;--gold:#d9a441;--ink:#1b1b1b;--cream:#f7f5f0;--line:#d9d9d9;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"Source Sans 3",Arial,sans-serif;font-size:17px;line-height:1.55}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
a{color:inherit}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:10px;top:10px;z-index:99;background:#fff;padding:10px}
.demo-notice{background:#7d2022;color:#fff;text-align:center;padding:6px 15px;font-size:13px;font-weight:700;letter-spacing:.03em}
.gov-banner{background:#eee;color:#333;font-size:14px}
.gov-row{min-height:34px;display:flex;align-items:center;gap:9px}
.flag{font-size:16px}
.banner-toggle{border:0;background:none;color:#174a7e;text-decoration:underline;cursor:pointer;font:inherit}
.banner-info{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:18px 0}
.banner-info p{margin:3px 0}
.site-header{border-bottom:1px solid var(--line)}
.utility{display:flex;justify-content:flex-end;gap:25px;height:42px;align-items:center;font-size:14px}
.utility a{text-decoration:none;color:#3d4c5c}
.brand-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none}
.seal{width:76px;height:76px;border-radius:50%;object-fit:cover}
.brand strong{display:block;font-family:"Libre Franklin",sans-serif;color:var(--navy);font-size:24px;text-transform:uppercase;letter-spacing:.015em}
.brand small{display:block;color:#555}
.header-actions{display:flex;gap:10px}
.header-actions button{border:0;background:transparent;font:600 16px inherit;padding:12px;cursor:pointer;color:var(--navy)}
.menu-toggle{display:none!important}
.main-nav{background:var(--navy);color:#fff}
.nav-inner{display:flex}
.nav-inner a{text-decoration:none;padding:17px 22px;border-left:1px solid rgba(255,255,255,.15);font-weight:600}
.nav-inner a:hover{background:#26486f}
.search-panel{background:#f1f1f1;padding:22px 0}
.search-panel label{font-weight:700;display:block}
.search-panel input{width:min(600px,80%);padding:12px;border:1px solid #777;font:inherit}
.search-panel button,.button{border:0;background:var(--blue);color:#fff;padding:13px 20px;font-weight:700;text-decoration:none}
.breadcrumbs{display:flex;gap:10px;padding:20px 0;font-size:14px;color:#4d647a}
.title-band{padding:25px 0 32px;background:linear-gradient(115deg,#f5f1e8 55%,#e8e1d2)}
.title-band p,.eyebrow{font-weight:800;letter-spacing:.13em;font-size:13px;color:var(--red)}
h1,h2,h3{font-family:"Libre Franklin",sans-serif;line-height:1.15}
h1{font-size:clamp(38px,5vw,58px);margin:6px 0;color:var(--navy)}
.section-nav{border-bottom:4px solid var(--gold);box-shadow:0 2px 8px #0001}
.section-nav .container{display:flex;align-items:center}
.section-nav strong{margin-right:auto;color:var(--navy)}
.section-nav strong span{font-weight:400;margin-left:8px}
.section-nav a{padding:16px 24px;text-decoration:none;border-left:1px solid var(--line)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:510px;align-items:center;gap:70px;padding-top:55px;padding-bottom:55px}
.hero h2{font-size:clamp(34px,4vw,51px);color:var(--navy);margin:10px 0 20px}
.hero p{font-size:21px;color:#4b5560;margin-bottom:32px}
.button{display:inline-flex;gap:25px;align-items:center}
.hero-art{height:430px;background:linear-gradient(145deg,#eef2e8,#d7c99d);position:relative;display:grid;place-items:center;overflow:hidden;border-bottom:7px solid var(--gold)}
.hero-art img{width:min(88%,390px);aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 18px 45px #0005}
.footer-seal{width:82px;height:82px;border-radius:50%;object-fit:cover;display:block;margin-bottom:15px}
.justice-mark{font-family:serif;color:var(--gold);font-size:150px;z-index:1}
.hero-lines{position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 28px,rgba(255,255,255,.04) 29px 31px)}
.mission{background:var(--navy);color:#fff;padding:75px 0}
.mission-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}
.light{color:var(--gold)}
.mission h2{font-size:46px;margin:10px 0}
.mission h3{font-size:31px;margin:0 0 20px}
.lead{font-size:24px;line-height:1.45}
.mission li{margin-bottom:18px;padding-left:8px}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:75px;padding-bottom:75px}
.quick-links>div{border-top:5px solid var(--red);padding:28px;background:#f5f5f3}
.quick-links h3{font-size:24px;color:var(--navy)}
.quick-links a{color:var(--blue);font-weight:700}
.icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:25px}
.footer-main{background:#ece9e2;padding:60px 0}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}
.footer-grid h2{font-size:20px;color:var(--navy)}
.footer-grid a{display:block;margin:8px 0;color:#294e75}
.mini-seal{height:58px;width:58px;background:var(--navy);color:var(--gold);border:4px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:26px;margin-bottom:15px}
.footer-brand b{font-family:"Libre Franklin"}
.footer-bottom{background:var(--navy);color:#fff;padding:19px 0}
.footer-bottom .container{display:flex;justify-content:space-between}
.footer-bottom a{color:#fff}
@media(max-width:800px){.utility{display:none}
.brand-row{padding:12px 0}
.seal{width:55px}
.brand strong{font-size:16px}
.brand small{font-size:11px}
.search-toggle span{display:none}
.menu-toggle{display:block!important}
.main-nav{display:none}
.main-nav.open{display:block}
.nav-inner{display:block;width:100%}
.nav-inner a{display:block;border:0;border-top:1px solid #ffffff25}
.banner-info{grid-template-columns:1fr}
.gov-row{flex-wrap:wrap;padding:8px 0}
.title-band{padding:18px 0}
.section-nav .container{width:100%;display:grid}
.section-nav strong,.section-nav a{padding:13px 20px}
.hero{grid-template-columns:1fr;gap:35px;padding-top:40px}
.hero-art{height:280px}
.mission-grid,.footer-grid{grid-template-columns:1fr;gap:35px}
.quick-links{grid-template-columns:1fr}
.footer-bottom .container{gap:15px;flex-direction:column}
}
@media(max-width:480px){.container{width:min(100% - 28px,var(--max))}
.brand small{display:none}
.hero h2{font-size:34px}
.section-nav strong span{display:none}
}
.content-page{display:grid;grid-template-columns:260px 1fr;gap:60px;padding-top:55px;padding-bottom:80px;min-height:520px}
.side-nav{border-top:5px solid var(--gold);background:#f2f1ed;height:max-content}
.side-nav strong,.side-nav a{display:block;padding:14px 18px}
.side-nav a{border-top:1px solid var(--line);color:var(--blue);text-decoration:none}
.side-nav a:hover{background:#fff}
.content-page article h2{font-size:34px;color:var(--navy);margin-top:0}
.content-page article>p{font-size:19px;max-width:760px}
.result-card{border-top:1px solid var(--line);padding:20px 0}
.result-card a{font:700 21px "Libre Franklin";color:var(--blue)}
.service-form{max-width:680px;background:#f2f1ed;padding:28px;margin-top:30px}
.service-form label{display:block;font-weight:700;margin-bottom:18px}
.service-form input,.service-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #777;font:inherit}
.service-form textarea{min-height:130px}
.service-form button{background:var(--blue);color:#fff;border:0;padding:13px 22px;font-weight:700;font-size:16px}
.form-status{color:#286a3b;font-weight:700}
img[src*="san-andreas-seal-source.png"]{opacity:0;transition:opacity .15s ease}
img.seal-ready{opacity:1}
.content-page article h3{color:var(--navy);margin-top:30px}
.content-page article li{margin-bottom:9px}
.news-item{border-top:4px solid var(--red);background:#f4f3ef;padding:24px;margin:0 0 22px}
.news-item span{font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--red)}
.news-item h3{margin:8px 0!important}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.service-grid a{display:flex;flex-direction:column;gap:5px;background:#f2f1ed;border-left:5px solid var(--gold);padding:22px;text-decoration:none;color:var(--navy)}
.service-grid a:hover{background:#e8e6df}
.service-grid span{color:#444}
.alert-box{background:#f8e8e7;border-left:6px solid var(--red);padding:22px;margin-bottom:25px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.service-form select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #777;background:#fff;font:inherit}
.service-form .check{display:flex;align-items:flex-start;gap:10px;font-weight:400}
.service-form .check input{width:auto;margin:5px 0 0}
@media(max-width:800px){.content-page{grid-template-columns:1fr;gap:35px}.side-nav{display:none}}
@media(max-width:600px){.service-grid,.field-row{grid-template-columns:1fr}}
