:root{--or:#f5a623;--cy:#00b4f0;--bk:#111;--bg:#f7f7f5;--ln:#c9c9c4;--tx:#1a1a1a;--lk:#00678d;
--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-padding-top:5rem}
body{margin:0;padding-top:34px;background:var(--bg);color:var(--tx);font:1rem/1.6 var(--sans)}
.banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:#111;color:#f1f1f1;font:12px/1.3 var(--sans);text-align:center;padding:9px 10px;min-height:34px}
.wm{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.06;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='700'%3E%3Ctext x='450' y='350' text-anchor='middle' transform='rotate(-30 450 350)' font-family='Arial Black,Arial,sans-serif' font-weight='900' font-size='110' fill='%23555'%3EPREVIEW%3C/text%3E%3C/svg%3E") 0 0/900px 700px repeat}
a{color:var(--lk)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header.site{background:#fff;border-bottom:1px solid var(--bk);position:sticky;top:34px;z-index:100}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 0}
.logo{font:700 .85rem var(--mono);letter-spacing:.04em;color:var(--bk);text-decoration:none;display:flex;align-items:center;gap:8px}
.logo i{width:14px;height:14px;background:var(--or);border:2px solid var(--bk);display:inline-block}
.tel{font:700 .95rem var(--mono);background:var(--or);color:var(--bk);padding:8px 12px;text-decoration:none;border:1px solid var(--bk)}
nav{width:100%}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;width:100%;border-top:1px solid var(--ln)}
nav a{display:block;padding:9px 14px;font:.8rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--bk);text-decoration:none;border-right:1px solid var(--ln)}
nav a:hover,nav a[aria-current]{background:var(--bk);color:#fff}
.lbl{font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#444}
h1,h2,h3{line-height:1.2;margin:.3em 0}
h1{font-size:clamp(1.9rem,5vw,3.2rem)}h2{font-size:1.5rem}
.hero{background-color:var(--bk);color:#fff;position:relative;border-bottom:4px solid var(--or);overflow:hidden;
background-image:linear-gradient(rgba(0,180,240,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(0,180,240,.22) 1px,transparent 1px);background-size:40px 40px}
.hero .wrap{padding-top:64px;min-height:420px;display:flex;flex-direction:column;justify-content:space-between}
.hero h1{max-width:12em}
.hero svg{position:absolute;right:4%;top:30px;width:min(300px,38%)}
.cap{background:#fff;color:var(--tx);border:1px solid var(--bk);border-bottom:0;max-width:640px;padding:20px 22px;margin-top:40px;position:relative}
.cap p{margin:.4em 0}
.tag{display:inline-block;background:var(--or);color:var(--bk);font:700 .75rem var(--mono);padding:2px 8px;border:1px solid var(--bk)}
section{padding:48px 0;border-bottom:1px solid var(--ln)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border:1px solid var(--bk);background:#fff}
.cell{padding:20px;border-right:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.cell .n{font:700 2rem var(--mono);color:var(--bk);border-bottom:3px solid var(--cy);display:inline-block;margin-bottom:8px}
dl.sheet{display:grid;grid-template-columns:minmax(120px,200px) 1fr;border:1px solid var(--bk);background:#fff;margin:0}
dl.sheet dt,dl.sheet dd{margin:0;padding:12px 16px;border-bottom:1px solid var(--ln)}
dl.sheet dt{font:.8rem var(--mono);text-transform:uppercase;background:#efefec;border-right:1px solid var(--ln)}
.btn{display:inline-block;background:var(--or);color:var(--bk);border:1px solid var(--bk);padding:11px 18px;font:700 .9rem var(--mono);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--bk);color:#fff}
form{background:#fff;border:1px solid var(--bk);padding:22px;max-width:640px}
label{display:block;font:.8rem var(--mono);text-transform:uppercase;margin-top:14px}
input,textarea{width:100%;font:1rem var(--sans);padding:10px;border:1px solid #555;margin-top:4px;background:#fff;color:var(--tx)}
input:focus,textarea:focus,a:focus,button:focus{outline:3px solid var(--cy);outline-offset:1px}
.err{color:#a00000;font-size:.9rem;min-height:1.2em;margin:2px 0 0}
.ok{background:#eaf7fd;border:1px solid var(--cy);padding:12px;margin-top:14px}
footer{background:var(--bk);color:#eee;padding:32px 0 40px;font-size:.9rem}
footer a{color:#7fd8ff}
footer .lbl{color:#cfcfcf}
@media(max-width:600px){dl.sheet{grid-template-columns:1fr}.hero svg{display:none}nav a{padding:9px 10px}}
