:root{--navy:#163a5f;--blue:#1a6cc9;--ink:#14202e;--line:#c5d0dc;--bg:#f6f8fa;--white:#fff;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-padding-top:7rem}
body{margin:0;padding-top:32px;font:1rem/1.6 var(--sans);color:var(--ink);background:var(--bg)}
.mono{font-family:var(--mono)}
.label{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin:0 0 .5rem}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.25rem}
a{color:var(--blue)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.banner{position:fixed;top:0;left:0;right:0;z-index:10000;height:32px;background:#111;color:#f1f1f1;font:.75rem/32px var(--mono);text-align:center;padding:0 .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.watermark{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='520'%3E%3Ctext x='350' y='260' text-anchor='middle' dominant-baseline='middle' transform='rotate(-30 350 260)' font-family='Arial Black,Arial,sans-serif' font-weight='900' font-size='96' fill='%23444'%3EPREVIEW%3C/text%3E%3C/svg%3E");background-repeat:repeat}
.site-header{background:var(--white);border-bottom:1px solid var(--navy);position:sticky;top:32px;z-index:100}
.hdr{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding-top:.6rem;padding-bottom:.6rem}
.brand{font-weight:700;color:var(--navy);text-decoration:none;margin-right:auto}
.tel{font-family:var(--mono);font-weight:700;color:var(--white);background:var(--navy);padding:.4rem .75rem;text-decoration:none;white-space:nowrap}
.tel .label{color:#9cc4f2;margin:0;display:inline}
nav{display:flex;flex-wrap:wrap;width:100%;border-top:1px solid var(--line);margin-top:.25rem}
nav a{font-family:var(--mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);text-decoration:none;padding:.55rem 0;margin-right:1.25rem;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--blue)}
@media(min-width:760px){nav{width:auto;border:0;margin:0;order:2;margin-left:auto}.hdr{flex-wrap:nowrap}.brand{margin-right:1rem}.tel{order:3}nav a{padding:.3rem 0;margin:0 0 0 1.25rem}}
.hero{background:var(--white);border-bottom:1px solid var(--navy)}
.herogrid{display:grid;gap:0;padding:0}
.heroart{min-height:260px}
.heroart svg{display:block;width:100%;height:100%;min-height:260px}
.caption{padding:1.75rem 1.25rem;border-top:1px solid var(--navy)}
.caption h1{font-size:2rem;line-height:1.15;margin:.2rem 0 .75rem;color:var(--navy)}
@media(min-width:860px){.herogrid{grid-template-columns:1.6fr 1fr}.caption{border-top:0;border-left:1px solid var(--navy);padding:2.5rem 1.75rem;display:flex;flex-direction:column;justify-content:center}.heroart{min-height:420px}}
.btn{display:inline-block;font-family:var(--mono);font-size:.9rem;font-weight:700;background:var(--navy);color:#fff;border:2px solid var(--navy);padding:.65rem 1.1rem;text-decoration:none;cursor:pointer;margin:.25rem .25rem .25rem 0}
.btn:hover{background:var(--blue);border-color:var(--blue)}
.btn.ghost{background:transparent;color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.sheet{padding:2rem 0}
.spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;border-top:1px solid var(--navy);border-left:1px solid var(--line)}
.spec.one{grid-template-columns:1fr}
.spec>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:.8rem 1rem;background:var(--white)}
.spec dt{font-size:.72rem;letter-spacing:.08em;color:var(--navy);margin:0 0 .2rem}
.spec dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:3rem;margin-top:1rem}
.card{display:block;background:var(--white);border:1px solid var(--line);margin:0 -1px -1px 0;padding:1.25rem;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--blue)}
.card h2{margin:.2rem 0 .4rem;color:var(--navy);font-size:1.3rem}
.card p{margin:0}
.pagehead{background:var(--white);border-bottom:1px solid var(--navy);padding:2rem 0}
.pagehead h1{margin:.1rem 0 .5rem;font-size:2.2rem;color:var(--navy)}
.lead{margin:0;font-size:1.1rem;max-width:60ch}
.spec-block{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--navy);padding:1.25rem;margin:1.5rem 0}
.spec-block h2{margin:.1rem 0 .6rem;color:var(--navy)}
.cgrid{display:grid;gap:0 1.5rem}
@media(min-width:860px){.cgrid{grid-template-columns:1fr 1.3fr;align-items:start}}
.field{margin-bottom:1rem}
label{display:block;font-weight:600;margin-bottom:.25rem}
input,textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #5b6b7c;padding:.6rem;border-radius:0}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border:2px solid #b00020}
.err{display:block;color:#b00020;font-size:.9rem;min-height:1.1em;margin-top:.2rem}
.status{font-weight:700;color:var(--navy)}
.small{font-size:.875rem;color:#3a4856}
.site-footer{background:var(--navy);color:#fff;margin-top:3rem;padding:2rem 0 1.5rem}
.site-footer a{color:#fff}
.site-footer .label{color:#9cc4f2}
.site-footer p{margin:.2rem 0}
.fgrid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.proposal{margin-top:1.5rem!important;padding-top:1rem;border-top:1px solid rgba(255,255,255,.35);font-family:var(--mono);font-size:.85rem}
