:root{--ink:#0e2a4a;--paper:#f7fafd;--line:#d7e3f0;--accent:#c8a24a;--muted:#5b7186;--mono:'IBM Plex Mono',ui-monospace,monospace} *{box-sizing:border-box;margin:0;padding:0} body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:#1c2b3a;background:var(--paper);line-height:1.7} .wrap{max-width:1280px;margin:0 auto;padding:0 32px} a{color:var(--ink)} /* header */ .site-head{background:#0e2a4a;color:#fff;position:sticky;top:0;z-index:50} .head-in{display:flex;align-items:center;gap:36px;height:72px} .logo{font-weight:800;letter-spacing:.14em;font-size:20px;color:#fff;text-decoration:none} .logo small{display:block;font-size:10px;letter-spacing:.28em;color:#9fb6cc;font-weight:400} nav.main{display:flex;gap:28px;margin-left:auto} nav.main a{color:#dbe7f3;text-decoration:none;font-size:15px} nav.main a:hover{color:#fff} .cta-btn{background:var(--accent);color:#14202e!important;font-weight:700;padding:10px 22px;border-radius:3px;text-decoration:none;font-size:15px} /* hero */ .hero{background:linear-gradient(180deg,#0e2a4a 0%,#143a63 100%);color:#fff;padding:72px 0 56px;position:relative;overflow:hidden} .hero-grid{display:grid;grid-template-columns:46% 54%;gap:40px;align-items:center} .hero h1{font-size:44px;line-height:1.25;font-weight:800;letter-spacing:-.01em} .hero .sub{color:#b9cde2;font-size:18px;margin:18px 0 26px;max-width:520px} .evidence{display:flex;gap:36px;margin:26px 0} .evidence .ev b{display:block;font-size:26px;color:#fff} .evidence .ev span{font-size:13px;color:#9fb6cc;letter-spacing:.06em} .evidence-bar{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:18px;color:#cfe0f2;font-size:15px;letter-spacing:.04em} .hero-cta-row{display:flex;gap:16px;margin-top:8px} .btn{display:inline-block;padding:13px 30px;border-radius:3px;text-decoration:none;font-weight:700;font-size:16px} .btn-gold{background:var(--accent);color:#14202e} .btn-ghost{border:1px solid #7e97b3;color:#e6eff8} /* blueprint board */ .board{background:#0d2440;border:1px solid #2c4d75;border-radius:6px;padding:18px;position:relative} .board .btitle{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:#8fb4d8;margin-bottom:10px} .board svg{width:100%;height:auto;display:block} .board .bnote{font-family:var(--mono);font-size:10.5px;color:#7e97b3;margin-top:8px} /* sections */ section.block{padding:64px 0} .sec-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.24em;color:#4a6a8c;text-transform:uppercase;margin-bottom:10px} h2.sec{font-size:32px;color:var(--ink);margin-bottom:14px;letter-spacing:-.01em} .lead{font-size:18px;color:#33475c;max-width:860px} .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px} .grid2{display:grid;grid-template-columns:2fr 1fr;gap:40px;margin-top:32px} .card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px} .card h3{font-size:19px;color:var(--ink);margin-bottom:8px} .card h3 a{color:var(--ink);text-decoration:none} .card h3 a:hover{text-decoration:underline} .card p{font-size:15px;color:#43586e} .tag{font-family:var(--mono);font-size:11px;color:#4a6a8c;letter-spacing:.08em} /* process */ .steps{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:32px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff} .step{padding:22px 18px;border-right:1px solid var(--line)} .step:last-child{border-right:0} .step .n{font-family:var(--mono);font-size:12px;color:var(--accent);font-weight:700} .step h4{font-size:15px;color:var(--ink);margin:6px 0} .step p{font-size:13px;color:#5b7186} /* cases */ .case{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:20px} .case .cbody{padding:32px} .case .cbody h3{font-size:22px;color:var(--ink)} .case .cfig{background:#0e2a4a;color:#9fb6cc;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;letter-spacing:.18em;min-height:220px;padding:24px;text-align:center} /* form */ .inquiry{background:#0e2a4a;color:#fff} .inquiry h2.sec{color:#fff} .inquiry .lead{color:#b9cde2} form.q{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px} form.q .full{grid-column:1/-1} form.q label{display:block;font-size:13px;color:#9fb6cc;margin-bottom:6px;letter-spacing:.04em} form.q input,form.q textarea,form.q select{width:100%;padding:12px 14px;border:1px solid #2c4d75;border-radius:4px;background:#0d2440;color:#fff;font-size:15px} form.q button{background:var(--accent);color:#14202e;font-weight:700;border:0;padding:14px 34px;border-radius:4px;font-size:16px;cursor:pointer} /* footer */ footer{background:#0a1e36;color:#9fb6cc;padding:56px 0 32px;font-size:14px} .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px} footer h5{color:#fff;font-size:13px;letter-spacing:.14em;margin-bottom:14px} footer a{color:#9fb6cc;text-decoration:none;display:block;margin-bottom:8px} footer a:hover{color:#fff} .foot-base{border-top:1px solid #1d3a5c;margin-top:36px;padding-top:20px;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px} /* article */ .article{max-width:820px} .article h1{font-size:38px;color:var(--ink);line-height:1.3;margin:8px 0 16px} .article h2{font-size:25px;color:var(--ink);margin:38px 0 12px} .article h3{font-size:19px;color:var(--ink);margin:26px 0 8px} .article p{margin-bottom:16px;color:#2c3f54} .article table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px} .article th,.article td{border:1px solid var(--line);padding:10px 14px;text-align:left} .article th{background:#eaf1f8;color:var(--ink)} .article ul{margin:0 0 16px 22px;color:#2c3f54} .crumb{font-size:13px;color:var(--muted);margin:26px 0 6px} .crumb a{color:var(--muted)} .toc{background:#fff;border:1px solid var(--line);border-radius:6px;padding:20px 24px;margin:24px 0} .toc b{font-size:14px;letter-spacing:.1em;color:var(--ink)} .toc a{display:block;font-size:14px;color:#4a6a8c;text-decoration:none;margin-top:6px} /* product page */ .prod-hero{background:linear-gradient(180deg,#0e2a4a,#143a63);color:#fff;padding:56px 0} .prod-hero h1{font-size:38px} .prod-hero .sub{color:#b9cde2;margin-top:12px;max-width:720px;font-size:17px} .spec-note{background:#fff8e8;border:1px solid #e8d9a8;border-radius:6px;padding:18px 22px;margin:26px 0;font-size:14.5px;color:#5a4a1e} .checklist{background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px 30px;margin:26px 0} .checklist li{margin-bottom:10px;color:#2c3f54} @media(max-width:900px){.hero-grid,.grid2,.grid3,.case,.foot-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}nav.main{display:none}.hero h1{font-size:32px}form.q{grid-template-columns:1fr}}
Tactile room identification, Braille signs and office door signs — fabricated to your approved specifications and sign schedule.
Room and space identification signs with raised tactile characters and Grade 2 Braille, restroom signs with pictogram fields, and office door signs for workplaces. Metal, acrylic and photopolymer constructions with non-glare finishes and high-contrast layouts.
There is no such thing as an 'ADA certified' sign. Compliance depends on correct specification and correct installation — character design, contrast, mounting location and height all matter. Our ADA sign planning guide explains the requirements in plain English; always verify with your Authority Having Jurisdiction.
Provide your floor plans, door schedule and sign schedule with message text. We fabricate to the approved schedule and shop drawings — message accuracy (room names matching drawings exactly) is the most common failure point we help clients avoid.
Send your door and sign schedules for review.
Share your drawings, site photos, or just the idea — our team reviews every project inquiry and responds with next steps. Project-based quoting; no fixed MOQ.
Prefer email? sales@signagemanufacturer.com