:root{
  --navy:#0e2236; --navy2:#17324b; --steel:#3d5a73;
  --mist:#eef2f5; --mist2:#e4eaef; --paper:#ffffff;
  --ink:#12212e; --slate:#5b6f7f; --line:#d9e0e7;
  --ochre:#c0862b; --ochre-dk:#9c6b1e; --stamp:#b23b3b;
  --maxw:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--paper); color:var(--ink); font-family:"Inter",Arial,sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased;}
h1,h2,h3,.brandname,.eyebrow,.stat-num,.navlink,.btn{font-family:"Archivo",Arial,sans-serif}
a{color:inherit}
.container{max-width:var(--maxw); margin:0 auto; padding:0 24px}
.eyebrow{font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--ochre-dk); margin:0 0 12px}

/* header */
header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94); backdrop-filter:saturate(140%) blur(6px); border-bottom:1px solid var(--line)}
.bar{display:flex; align-items:center; justify-content:space-between; height:66px}
.brand{display:flex; align-items:center; gap:11px; text-decoration:none}
.mark{width:34px; height:34px; flex:0 0 auto}
.brandname{font-weight:800; font-size:16px; letter-spacing:.2px; color:var(--navy); line-height:1.15}
.brandname small{display:block; font-family:"Inter"; font-weight:500; font-size:10.5px; letter-spacing:1.5px; color:var(--slate); text-transform:uppercase}
nav{display:flex; align-items:center; gap:24px}
.navlink{font-size:13.5px; font-weight:600; letter-spacing:.3px; color:var(--steel); text-decoration:none}
.navlink:hover,.navlink.active{color:var(--navy)}
.btn{display:inline-block; font-weight:700; font-size:13.5px; letter-spacing:.3px; text-decoration:none; cursor:pointer; border-radius:3px; padding:10px 18px; border:1px solid transparent}
.btn-primary{background:var(--navy); color:#fff; border-color:var(--navy)}
.btn-primary:hover{background:#0a1a2b}
.btn-ghost{background:transparent; color:var(--navy); border-color:var(--line)}
.btn-ghost:hover{border-color:var(--steel)}
.nav-cta{padding:9px 16px}
@media(max-width:820px){ nav .navlink{display:none} }

/* homepage hero */
.hero{background:linear-gradient(180deg,rgba(14,34,54,.86),rgba(14,34,54,.92)),radial-gradient(1200px 400px at 80% -10%,rgba(192,134,43,.25),transparent 60%),var(--navy); color:#eaf1f7; padding:78px 0 66px}
.hero .eyebrow{color:#e0b978}
.hero h1{font-size:41px; line-height:1.1; font-weight:800; margin:0 0 18px; letter-spacing:-.3px; max-width:16ch; color:#fff}
.hero p.lead{font-size:17px; color:#c4d3e0; max-width:56ch; margin:0 0 28px}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap}
.hero .btn-ghost{color:#fff; border-color:rgba(255,255,255,.28)}
.hero .btn-ghost:hover{border-color:#fff}
.estab{margin-top:34px; font-size:12.5px; color:#8fa6b8; letter-spacing:.4px}
.estab b{color:#cddae5; font-weight:600}
@media(max-width:600px){ .hero h1{font-size:31px} }

/* interior page hero */
.page-hero{background:linear-gradient(180deg,rgba(14,34,54,.92),rgba(14,34,54,.96)),var(--navy); color:#eaf1f7; padding:52px 0 46px}
.page-hero .eyebrow{color:#e0b978}
.page-hero h1{font-size:32px; font-weight:800; margin:0; color:#fff; letter-spacing:-.2px}
.page-hero p{color:#b7c8d6; margin:12px 0 0; max-width:60ch; font-size:15.5px}

/* trust strip */
.trust{background:var(--mist); border-bottom:1px solid var(--line)}
.trust .container{display:flex; gap:14px; flex-wrap:wrap; justify-content:space-between; padding-top:26px; padding-bottom:26px}
.stat{flex:1 1 160px}
.stat-num{font-size:27px; font-weight:800; color:var(--navy); line-height:1}
.stat-lbl{font-size:12.5px; color:var(--slate); margin-top:5px}

/* section */
section.block{padding:60px 0}
.block h2{font-size:27px; font-weight:700; letter-spacing:-.2px; margin:0 0 14px; color:var(--navy)}
.block .intro{color:var(--steel); max-width:62ch; margin:0 0 38px; font-size:16px}
.mist-bg{background:var(--mist)}

/* cards grid */
.grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
@media(max-width:820px){ .grid{grid-template-columns:1fr} }
.card{border:1px solid var(--line); border-radius:5px; padding:24px 22px; background:#fff}
.card .ic{width:38px; height:38px; margin-bottom:14px; color:var(--ochre-dk)}
.card h3{font-size:16.5px; margin:0 0 8px; color:var(--navy)}
.card p{margin:0; font-size:14px; color:var(--slate)}

/* process steps */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
@media(max-width:820px){ .steps{grid-template-columns:1fr 1fr} }
@media(max-width:520px){ .steps{grid-template-columns:1fr} }
.step{position:relative; padding-top:14px}
.step .n{font-family:"Archivo"; font-size:13px; font-weight:800; color:var(--ochre-dk); letter-spacing:1px}
.step h3{font-size:15.5px; margin:8px 0 6px; color:var(--navy)}
.step p{margin:0; font-size:13.5px; color:var(--slate)}
.step:before{content:""; position:absolute; top:0; left:0; width:40px; height:3px; background:var(--ochre)}

/* homepage portal CTA band */
.portal-cta{background:var(--navy); color:#e8eff5}
.portal-cta .eyebrow{color:#e0b978}
.portal-cta h2{color:#fff}
.portal-cta .intro{color:#b7c8d6}
.portal-cta .btn-primary{background:var(--ochre); border-color:var(--ochre-dk); color:#20160a}
.portal-cta .btn-primary:hover{background:#b07c26}

/* forms / portal cards */
.portal-card{background:#fff; color:var(--ink); border-radius:6px; padding:26px 24px; max-width:560px; box-shadow:0 12px 40px rgba(0,0,0,.10); border:1px solid var(--line)}
.portal-card h3{font-family:"Archivo"; font-size:17px; margin:0 0 4px; color:var(--navy)}
.portal-card .sub{font-size:13.5px; color:var(--slate); margin:0 0 18px}
label{display:block; font-family:"Archivo"; font-size:12.5px; font-weight:700; letter-spacing:.4px; color:var(--navy); margin:0 0 6px; text-transform:uppercase}
input[type=text], input[type=email], textarea{width:100%; font-family:inherit; font-size:15px; color:var(--ink); border:1px solid var(--line); border-radius:3px; padding:11px 12px; background:#fff; margin-bottom:2px}
input:focus, textarea:focus{outline:2px solid var(--navy); border-color:var(--navy)}
.code-input{font-family:"Courier New",monospace; letter-spacing:4px; text-transform:uppercase}
textarea{min-height:120px; resize:vertical}
.field{margin-bottom:14px}
.hint{font-size:12px; color:var(--slate); margin:7px 0 0}
.submit{margin-top:8px; font-family:"Archivo"; font-weight:700; font-size:14px; letter-spacing:.3px; color:#fff; background:var(--navy); border:1px solid #0a1a2b; padding:12px 22px; border-radius:3px; cursor:pointer}
.submit:hover{background:#0a1a2b}
.err{color:#c33; font-size:13px; margin-top:10px; min-height:18px}
.hidden{display:none !important}

/* case record */
.stamp{display:inline-block; margin-bottom:14px; color:var(--stamp); border:2px solid var(--stamp); border-radius:3px; padding:3px 10px; font-family:"Archivo"; font-size:11.5px; font-weight:800; letter-spacing:1.5px; transform:rotate(-1.5deg)}
table.rec{width:100%; border-collapse:collapse; margin:4px 0 18px; font-size:13.5px}
table.rec th, table.rec td{border:1px solid var(--line); padding:9px 11px; text-align:left; vertical-align:top}
table.rec th{background:#f5f8fa; color:var(--slate); font-weight:700; width:44%; white-space:nowrap; font-family:"Inter"}
.mono{font-family:"Courier New",monospace}
.notice{border-left:4px solid var(--ochre); background:#fbf5ea; color:#5b4300; padding:12px 14px; font-size:13px; margin:0 0 18px}
.ok{border-left:4px solid var(--navy); background:#eef3f8; padding:14px; font-size:14px; color:var(--ink)}

/* two-column */
.two-col{display:grid; grid-template-columns:1.3fr 1fr; gap:44px; align-items:start}
@media(max-width:820px){ .two-col{grid-template-columns:1fr} }
.prose p{color:var(--steel); font-size:15.5px}
.factbox{border:1px solid var(--line); border-radius:5px; overflow:hidden}
.factbox .frow{display:flex; justify-content:space-between; gap:12px; padding:12px 16px; font-size:13.5px; border-bottom:1px solid var(--line)}
.factbox .frow:last-child{border-bottom:none}
.factbox .frow span:first-child{color:var(--slate)}
.factbox .frow span:last-child{font-weight:600; color:var(--navy); text-align:right}

/* footer */
footer{background:#0a1a2b; color:#9db2c4; padding:52px 0 30px; font-size:13.5px}
.foot-top{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:32px; margin-bottom:34px}
@media(max-width:760px){ .foot-top{grid-template-columns:1fr} }
footer .brandname{color:#fff}
footer .brandname small{color:#7f97ab}
footer h4{font-family:"Archivo"; color:#cddae5; font-size:12px; letter-spacing:1.2px; text-transform:uppercase; margin:0 0 12px}
footer a{display:block; color:#9db2c4; text-decoration:none; margin-bottom:8px}
footer a:hover{color:#fff}
.addr{color:#8199ad; line-height:1.7; margin-top:14px}
.legal{border-top:1px solid #163049; padding-top:20px; color:#6f88a0; font-size:11.5px; line-height:1.7}
