: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}}
Wayfinding, directories and tenant sign programs for malls — guiding shoppers while protecting the center's visual standards.
Mall signage serves shoppers and tenants simultaneously. Shoppers need directories, parking guidance and anchor navigation. Tenants need sign criteria — a controlled framework for storefront signs that keeps the center cohesive while letting brands express themselves.
Parking and arrival signage, mall directories (static and digital), directional systems across levels, tenant sign criteria manuals, and feature identification for anchors and entertainment zones.
HAVEN SAMUI shopping mall in Thailand: commercial signage and digital wayfinding design and fabrication — a public project in our case portfolio.
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