Created
April 21, 2026 15:41
-
-
Save annguyenwasd/8c33a6c55d348fec0a34143dd1167408 to your computer and use it in GitHub Desktop.
CTI Logo Concepts — 6 brands × 5 variations
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>CTI Logo Concepts</title> | |
| <style> | |
| *{box-sizing:border-box;margin:0;padding:0} | |
| body{font-family:-apple-system,'Helvetica Neue',Arial,sans-serif;background:#f1f5f9;padding:48px 24px;color:#0f172a} | |
| header{text-align:center;margin-bottom:56px} | |
| header h1{font-size:32px;font-weight:900;color:#0f172a;letter-spacing:-0.5px} | |
| header p{color:#64748b;font-size:14px;margin-top:6px} | |
| .founders{display:flex;justify-content:center;gap:24px;margin-top:12px;font-size:12px;color:#94a3b8} | |
| .founders span{background:#e2e8f0;padding:4px 12px;border-radius:20px} | |
| section{margin-bottom:52px} | |
| .brand-header{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;padding-left:14px;border-left:4px solid #38bdf8} | |
| .brand-header h2{font-size:22px;font-weight:800;color:#0f172a} | |
| .brand-header span{font-size:13px;color:#64748b} | |
| .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px} | |
| .card{background:white;border-radius:14px;padding:22px 20px 16px;box-shadow:0 1px 4px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;gap:14px} | |
| .card svg{display:block;max-width:100%} | |
| .card-label{font-size:10px;color:#cbd5e1;text-transform:uppercase;letter-spacing:.12em;font-weight:700} | |
| </style> | |
| </head> | |
| <body> | |
| <header> | |
| <h1>CTI — Logo Concepts</h1> | |
| <p>Smart Building Access Solutions · 6 brand names · 5 variations each</p> | |
| <div class="founders"> | |
| <span>Đoàn Hữu Trung</span> | |
| <span>Nguyễn Tuấn Anh</span> | |
| <span>Nguyễn Văn Chúc Ân</span> | |
| </div> | |
| </header> | |
| <!-- ═══════════════════════════ KEYO ═══════════════════════════ --> | |
| <section> | |
| <div class="brand-header"> | |
| <h2>KEYO</h2> | |
| <span>Key + Open · ngắn · quốc tế · dễ phát âm</span> | |
| </div> | |
| <div class="grid"> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" rx="10" fill="#0f172a"/> | |
| <circle cx="48" cy="44" r="30" fill="#1e40af"/> | |
| <rect x="36" y="24" width="5" height="40" rx="2" fill="white"/> | |
| <polygon points="41,44 60,24 66,24 47,44 66,64 60,64" fill="white"/> | |
| <text x="94" y="51" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="800" font-size="28" fill="white" letter-spacing="3">KEYO</text> | |
| <text x="95" y="67" font-family="Arial,sans-serif" font-size="9" fill="#38bdf8" letter-spacing="3">SMART ACCESS</text> | |
| </svg> | |
| <div class="card-label">Icon + Wordmark · Dark</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="white"/> | |
| <circle cx="42" cy="38" r="18" fill="none" stroke="#1e40af" stroke-width="4"/> | |
| <circle cx="42" cy="38" r="6" fill="#1e40af"/> | |
| <rect x="58" y="35" width="32" height="6" rx="3" fill="#1e40af"/> | |
| <rect x="80" y="41" width="5" height="9" rx="2" fill="#1e40af"/> | |
| <rect x="72" y="41" width="5" height="7" rx="2" fill="#1e40af"/> | |
| <line x1="42" y1="56" x2="42" y2="76" stroke="#e2e8f0" stroke-width="1"/> | |
| <text x="108" y="52" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="30" fill="#0f172a">KEY</text> | |
| <text x="180" y="52" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="30" fill="#1e40af">O</text> | |
| <text x="108" y="68" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="2">BUILDING ACCESS</text> | |
| </svg> | |
| <div class="card-label">Key Icon · Split Color</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="#f0f9ff"/> | |
| <!-- phone --> | |
| <rect x="18" y="10" width="38" height="68" rx="7" fill="#1e40af"/> | |
| <rect x="22" y="18" width="30" height="48" rx="3" fill="#bfdbfe"/> | |
| <circle cx="37" cy="72" r="3" fill="#93c5fd"/> | |
| <!-- K on screen --> | |
| <rect x="27" y="24" width="4" height="20" fill="#1e40af"/> | |
| <line x1="31" y1="34" x2="41" y2="24" stroke="#1e40af" stroke-width="3.5" stroke-linecap="round"/> | |
| <line x1="31" y1="34" x2="41" y2="44" stroke="#1e40af" stroke-width="3.5" stroke-linecap="round"/> | |
| <text x="70" y="48" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="26" fill="#1e40af">KEYO</text> | |
| <text x="70" y="64" font-family="Arial,sans-serif" font-size="9" fill="#64748b" letter-spacing="1">SMART BUILDING ACCESS</text> | |
| </svg> | |
| <div class="card-label">Smartphone + K</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 160 160" width="160" height="160"> | |
| <rect width="160" height="160" rx="36" fill="#1e40af"/> | |
| <!-- keyhole --> | |
| <circle cx="80" cy="62" r="26" fill="none" stroke="white" stroke-width="6"/> | |
| <circle cx="80" cy="62" r="10" fill="white" opacity="0.25"/> | |
| <polygon points="68,84 92,84 88,116 72,116" fill="white"/> | |
| <!-- K subtle in negative space — just the letter below keyhole --> | |
| <text x="80" y="148" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="18" fill="white" text-anchor="middle" letter-spacing="4">KEYO</text> | |
| </svg> | |
| <div class="card-label">App Icon · Keyhole</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="#0f172a"/> | |
| <rect x="0" y="0" width="10" height="88" rx="0" fill="#38bdf8"/> | |
| <rect x="10" y="0" width="2" height="88" fill="#0ea5e9" opacity="0.3"/> | |
| <text x="26" y="56" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="38" fill="white">KE</text> | |
| <text x="105" y="56" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="38" fill="#38bdf8">YO</text> | |
| <text x="26" y="72" font-family="Arial,sans-serif" font-size="9" fill="#475569" letter-spacing="3">SMART ACCESS SOLUTIONS</text> | |
| </svg> | |
| <div class="card-label">Split Color · Accent Bar</div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- ═══════════════════════════ NEXPASS ═══════════════════════════ --> | |
| <section> | |
| <div class="brand-header"> | |
| <h2>NexPass</h2> | |
| <span>Next + Pass · B2B · chuyên nghiệp</span> | |
| </div> | |
| <div class="grid"> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" rx="10" fill="#0f172a"/> | |
| <!-- chevron icon --> | |
| <polyline points="28,22 52,44 28,66" fill="none" stroke="#38bdf8" stroke-width="7" stroke-linecap="round" stroke-linejoin="round"/> | |
| <polyline points="44,22 68,44 44,66" fill="none" stroke="#38bdf8" stroke-width="7" stroke-linecap="round" stroke-linejoin="round" opacity="0.4"/> | |
| <text x="86" y="46" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="24" fill="white">NEX</text> | |
| <text x="148" y="46" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="24" fill="#38bdf8">PASS</text> | |
| <text x="86" y="63" font-family="Arial,sans-serif" font-size="9" fill="#475569" letter-spacing="2">NEXT GEN ACCESS</text> | |
| </svg> | |
| <div class="card-label">Chevron + Wordmark</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="white"/> | |
| <!-- shield --> | |
| <path d="M44,14 L66,14 L66,50 Q66,68 44,76 Q22,68 22,50 L22,14 Z" fill="#1e40af"/> | |
| <path d="M44,20 L62,20 L62,50 Q62,64 44,71 Q26,64 26,50 L26,20 Z" fill="#2563eb"/> | |
| <text x="44" y="54" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="22" fill="white" text-anchor="middle">N</text> | |
| <text x="86" y="50" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="800" font-size="24" fill="#0f172a">NEXPASS</text> | |
| <text x="86" y="66" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="2">ACCESS SOLUTIONS</text> | |
| </svg> | |
| <div class="card-label">Shield Monogram</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <defs> | |
| <linearGradient id="ng1" x1="0" y1="0" x2="1" y2="1"> | |
| <stop offset="0%" stop-color="#1e40af"/> | |
| <stop offset="100%" stop-color="#0ea5e9"/> | |
| </linearGradient> | |
| </defs> | |
| <rect width="280" height="88" rx="10" fill="url(#ng1)"/> | |
| <text x="22" y="38" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="16" fill="white" opacity="0.5" letter-spacing="6">NEXT GENERATION</text> | |
| <text x="22" y="68" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="34" fill="white" letter-spacing="2">NEXPASS</text> | |
| </svg> | |
| <div class="card-label">Gradient · Bold Wordmark</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="white"/> | |
| <!-- diagonal slice --> | |
| <polygon points="0,0 160,0 120,88 0,88" fill="#f0f9ff"/> | |
| <line x1="120" y1="0" x2="160" y2="88" stroke="#e2e8f0" stroke-width="1.5"/> | |
| <text x="22" y="52" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="28" fill="#1e40af">NEX</text> | |
| <text x="150" y="52" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="28" fill="#0f172a">PASS</text> | |
| <text x="22" y="68" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="2">SMART ENTRY</text> | |
| </svg> | |
| <div class="card-label">Diagonal Split</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 160 160" width="160" height="160"> | |
| <rect width="160" height="160" rx="36" fill="#0f172a"/> | |
| <circle cx="80" cy="80" r="54" fill="none" stroke="#1e40af" stroke-width="2" opacity="0.4"/> | |
| <circle cx="80" cy="80" r="40" fill="#1e40af"/> | |
| <text x="80" y="75" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="18" fill="white" text-anchor="middle" letter-spacing="1">NX</text> | |
| <text x="80" y="96" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="700" font-size="11" fill="#38bdf8" text-anchor="middle" letter-spacing="2">PASS</text> | |
| </svg> | |
| <div class="card-label">App Icon · NX Badge</div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- ═══════════════════════════ PORTKEY ═══════════════════════════ --> | |
| <section> | |
| <div class="brand-header"> | |
| <h2>PortKey</h2> | |
| <span>Portal + Key · mang bạn đến nơi cần đến</span> | |
| </div> | |
| <div class="grid"> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" rx="10" fill="#0c1445"/> | |
| <!-- portal rings --> | |
| <circle cx="46" cy="44" r="34" fill="none" stroke="#38bdf8" stroke-width="2" opacity="0.25"/> | |
| <circle cx="46" cy="44" r="26" fill="none" stroke="#38bdf8" stroke-width="2.5" opacity="0.5"/> | |
| <circle cx="46" cy="44" r="18" fill="none" stroke="#38bdf8" stroke-width="3"/> | |
| <!-- key in center --> | |
| <circle cx="46" cy="40" r="7" fill="#38bdf8"/> | |
| <circle cx="46" cy="40" r="3" fill="#0c1445"/> | |
| <rect x="44" y="47" width="4" height="12" rx="2" fill="#38bdf8"/> | |
| <rect x="48" y="54" width="5" height="3" rx="1" fill="#38bdf8"/> | |
| <rect x="48" y="58" width="4" height="3" rx="1" fill="#38bdf8"/> | |
| <text x="94" y="46" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="800" font-size="24" fill="white">PORT<tspan fill="#38bdf8">KEY</tspan></text> | |
| <text x="94" y="62" font-family="Arial,sans-serif" font-size="9" fill="#475569" letter-spacing="2">ACCESS ANYWHERE</text> | |
| </svg> | |
| <div class="card-label">Portal Rings + Key</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="white"/> | |
| <polygon points="46,8 70,22 70,66 46,80 22,66 22,22" fill="#1e40af"/> | |
| <polygon points="46,14 66,26 66,62 46,74 26,62 26,26" fill="#2563eb"/> | |
| <text x="46" y="52" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="20" fill="white" text-anchor="middle">PK</text> | |
| <text x="88" y="50" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="800" font-size="22" fill="#0f172a">PORTKEY</text> | |
| <text x="88" y="65" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="2">BUILDING ACCESS</text> | |
| </svg> | |
| <div class="card-label">PK Hexagon Badge</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="#f8fafc"/> | |
| <!-- door arch --> | |
| <rect x="18" y="12" width="48" height="64" rx="0" fill="#1e40af"/> | |
| <rect x="20" y="12" width="44" height="22" fill="#1e40af"/> | |
| <ellipse cx="42" cy="34" rx="22" ry="22" fill="#1e40af"/> | |
| <rect x="22" y="34" width="40" height="42" fill="#1e40af"/> | |
| <!-- door panel --> | |
| <rect x="24" y="38" width="36" height="34" rx="2" fill="#2563eb"/> | |
| <!-- keyhole --> | |
| <circle cx="50" cy="54" r="5" fill="#1e40af"/> | |
| <polygon points="47,58 53,58 52,66 48,66" fill="#1e40af"/> | |
| <!-- arch highlight --> | |
| <ellipse cx="42" cy="34" rx="18" ry="18" fill="#2563eb"/> | |
| <text x="80" y="46" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="22" fill="#0f172a">PORT<tspan fill="#1e40af">KEY</tspan></text> | |
| <text x="80" y="62" font-family="Arial,sans-serif" font-size="9" fill="#64748b" letter-spacing="1">SMART DOOR ACCESS</text> | |
| </svg> | |
| <div class="card-label">Door + Keyhole Icon</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" rx="44" fill="#0f172a"/> | |
| <!-- key horizontal --> | |
| <circle cx="40" cy="44" r="18" fill="none" stroke="#38bdf8" stroke-width="4"/> | |
| <circle cx="40" cy="44" r="7" fill="#38bdf8" opacity="0.3"/> | |
| <circle cx="40" cy="44" r="3" fill="#38bdf8"/> | |
| <rect x="56" y="41" width="40" height="6" rx="3" fill="#38bdf8"/> | |
| <rect x="86" y="47" width="6" height="10" rx="2" fill="#38bdf8"/> | |
| <rect x="77" y="47" width="5" height="8" rx="2" fill="#38bdf8"/> | |
| <text x="112" y="50" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="700" font-size="20" fill="white" letter-spacing="2">PORTKEY</text> | |
| </svg> | |
| <div class="card-label">Key Silhouette · Pill</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 160 160" width="160" height="160"> | |
| <rect width="160" height="160" rx="36" fill="#1e40af"/> | |
| <!-- large P --> | |
| <text x="20" y="120" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="110" fill="white" opacity="0.15">P</text> | |
| <text x="20" y="120" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="110" fill="white" clip-path="none">P</text> | |
| <!-- portal ring overlapping --> | |
| <circle cx="116" cy="54" r="28" fill="none" stroke="#38bdf8" stroke-width="4" opacity="0.7"/> | |
| <circle cx="116" cy="54" r="18" fill="none" stroke="#38bdf8" stroke-width="3"/> | |
| <!-- key in portal --> | |
| <circle cx="116" cy="50" r="7" fill="white" opacity="0.9"/> | |
| <circle cx="116" cy="50" r="3" fill="#1e40af"/> | |
| <rect x="114" y="57" width="4" height="10" rx="2" fill="white" opacity="0.9"/> | |
| <rect x="118" y="62" width="4" height="2.5" rx="1" fill="white" opacity="0.9"/> | |
| <rect x="118" y="65.5" width="3" height="2.5" rx="1" fill="white" opacity="0.9"/> | |
| </svg> | |
| <div class="card-label">App Icon · P + Portal</div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- ═══════════════════════════ KEYHIVE ═══════════════════════════ --> | |
| <section> | |
| <div class="brand-header"> | |
| <h2>KeyHive</h2> | |
| <span>Key + Hive · cộng đồng chung cư = tổ ong</span> | |
| </div> | |
| <div class="grid"> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="white"/> | |
| <!-- honeycomb 7 cells (compact hex cluster) --> | |
| <!-- center --> | |
| <polygon points="44,44 50,34 62,34 68,44 62,54 50,54" fill="#f59e0b" opacity="0.8"/> | |
| <!-- top-left --> | |
| <polygon points="20,32 26,22 38,22 44,32 38,42 26,42" fill="#fbbf24" opacity="0.5"/> | |
| <!-- top-right --> | |
| <polygon points="44,32 50,22 62,22 68,32 62,42 50,42" fill="#fbbf24" opacity="0.5"/> | |
| <!-- left --> | |
| <polygon points="8,44 14,34 26,34 32,44 26,54 14,54" fill="#fbbf24" opacity="0.4"/> | |
| <!-- right --> | |
| <polygon points="68,44 74,34 86,34 92,44 86,54 74,54" fill="#fbbf24" opacity="0.4"/> | |
| <!-- bottom-left --> | |
| <polygon points="20,56 26,46 38,46 44,56 38,66 26,66" fill="#fbbf24" opacity="0.3"/> | |
| <!-- bottom-right --> | |
| <polygon points="44,56 50,46 62,46 68,56 62,66 50,66" fill="#fbbf24" opacity="0.3"/> | |
| <!-- key on top of honeycomb --> | |
| <circle cx="56" cy="44" r="8" fill="#1e40af"/> | |
| <circle cx="56" cy="44" r="3" fill="white"/> | |
| <rect x="54" y="52" width="4" height="8" rx="2" fill="#1e40af"/> | |
| <text x="106" y="48" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="22" fill="#0f172a">KEY<tspan fill="#f59e0b">HIVE</tspan></text> | |
| <text x="106" y="64" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="2">SMART BUILDING ACCESS</text> | |
| </svg> | |
| <div class="card-label">Honeycomb + Key</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" rx="10" fill="#0f172a"/> | |
| <!-- single hexagon outline --> | |
| <polygon points="46,10 70,24 70,64 46,78 22,64 22,24" fill="none" stroke="#f59e0b" stroke-width="3"/> | |
| <polygon points="46,16 66,28 66,60 46,72 26,60 26,28" fill="none" stroke="#f59e0b" stroke-width="1.5" opacity="0.4"/> | |
| <text x="46" y="52" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="18" fill="#f59e0b" text-anchor="middle">KH</text> | |
| <text x="86" y="46" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="800" font-size="22" fill="white">KEY</text> | |
| <text x="137" y="46" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="800" font-size="22" fill="#f59e0b">HIVE</text> | |
| <text x="86" y="62" font-family="Arial,sans-serif" font-size="9" fill="#475569" letter-spacing="2">BUILDING ACCESS</text> | |
| </svg> | |
| <div class="card-label">KH Hex Monogram · Dark</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="#fffbeb"/> | |
| <!-- key where bow = hexagon --> | |
| <polygon points="44,14 60,24 60,44 44,54 28,44 28,24" fill="#f59e0b"/> | |
| <polygon points="44,20 56,28 56,40 44,48 32,40 32,28" fill="#fde68a"/> | |
| <!-- keyhole in hex --> | |
| <circle cx="44" cy="34" r="6" fill="#92400e"/> | |
| <polygon points="41,39 47,39 46,50 42,50" fill="#92400e"/> | |
| <!-- shaft --> | |
| <rect x="60" y="31" width="36" height="6" rx="3" fill="#f59e0b"/> | |
| <rect x="86" y="37" width="6" height="9" rx="2" fill="#f59e0b"/> | |
| <rect x="78" y="37" width="5" height="7" rx="2" fill="#f59e0b"/> | |
| <text x="108" y="48" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="22" fill="#92400e">KEYHIVE</text> | |
| <text x="108" y="64" font-family="Arial,sans-serif" font-size="9" fill="#b45309" letter-spacing="2">ACCESS SOLUTIONS</text> | |
| </svg> | |
| <div class="card-label">Key with Hex Bow</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="white"/> | |
| <!-- 3x3 hex mini grid --> | |
| <g transform="translate(10,10)"> | |
| <!-- row 1 --> | |
| <polygon points="18,0 27,5 27,17 18,22 9,17 9,5" fill="#fde68a" stroke="#f59e0b" stroke-width="1"/> | |
| <polygon points="42,0 51,5 51,17 42,22 33,17 33,5" fill="#fde68a" stroke="#f59e0b" stroke-width="1"/> | |
| <polygon points="66,0 75,5 75,17 66,22 57,17 57,5" fill="#fde68a" stroke="#f59e0b" stroke-width="1"/> | |
| <!-- row 2 (offset) --> | |
| <polygon points="6,20 15,25 15,37 6,42 -3,37 -3,25" fill="#fde68a" stroke="#f59e0b" stroke-width="1"/> | |
| <polygon points="30,20 39,25 39,37 30,42 21,37 21,25" fill="#f59e0b" stroke="#d97706" stroke-width="1"/> | |
| <polygon points="54,20 63,25 63,37 54,42 45,37 45,25" fill="#fde68a" stroke="#f59e0b" stroke-width="1"/> | |
| <polygon points="78,20 87,25 87,37 78,42 69,37 69,25" fill="#fde68a" stroke="#f59e0b" stroke-width="1"/> | |
| <!-- row 3 --> | |
| <polygon points="18,40 27,45 27,57 18,62 9,57 9,45" fill="#fde68a" stroke="#f59e0b" stroke-width="1"/> | |
| <polygon points="42,40 51,45 51,57 42,62 33,57 33,45" fill="#fde68a" stroke="#f59e0b" stroke-width="1"/> | |
| <polygon points="66,40 75,45 75,57 66,62 57,57 57,45" fill="#fde68a" stroke="#f59e0b" stroke-width="1"/> | |
| <!-- K in center hex --> | |
| <text x="30" y="36" font-family="Arial,sans-serif" font-weight="900" font-size="11" fill="white" text-anchor="middle">K</text> | |
| </g> | |
| <text x="112" y="44" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="20" fill="#0f172a">KEYHIVE</text> | |
| <text x="112" y="60" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="2">SMART COMMUNITY</text> | |
| </svg> | |
| <div class="card-label">Hive Grid · K Highlighted</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 160 160" width="160" height="160"> | |
| <rect width="160" height="160" rx="36" fill="#1c1917"/> | |
| <!-- hexagonal shape --> | |
| <polygon points="80,16 112,34 112,70 80,88 48,70 48,34" fill="#f59e0b"/> | |
| <polygon points="80,22 108,38 108,66 80,82 52,66 52,38" fill="#fbbf24" opacity="0.3"/> | |
| <!-- K in hex --> | |
| <rect x="66" y="30" width="5" height="40" fill="white"/> | |
| <line x1="71" y1="50" x2="88" y2="30" stroke="white" stroke-width="5" stroke-linecap="round"/> | |
| <line x1="71" y1="50" x2="88" y2="70" stroke="white" stroke-width="5" stroke-linecap="round"/> | |
| <!-- HIVE below --> | |
| <text x="80" y="118" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="14" fill="#f59e0b" text-anchor="middle" letter-spacing="4">HIVE</text> | |
| <text x="80" y="136" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="400" font-size="9" fill="#78716c" text-anchor="middle" letter-spacing="3">ACCESS</text> | |
| </svg> | |
| <div class="card-label">App Icon · K in Hex</div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- ═══════════════════════════ UNLOQ ═══════════════════════════ --> | |
| <section> | |
| <div class="brand-header"> | |
| <h2>Unloq</h2> | |
| <span>Unlock · sáng tạo chính tả · domain .io còn trống</span> | |
| </div> | |
| <div class="grid"> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="white"/> | |
| <!-- open padlock body --> | |
| <rect x="20" y="42" width="44" height="36" rx="6" fill="#1e40af"/> | |
| <rect x="26" y="46" width="32" height="28" rx="4" fill="#2563eb"/> | |
| <!-- shackle (open = rotated right) --> | |
| <path d="M32,42 L32,28 Q32,14 48,14 Q64,14 64,28 L64,38" fill="none" stroke="#1e40af" stroke-width="7" stroke-linecap="round"/> | |
| <!-- keyhole on lock --> | |
| <circle cx="42" cy="58" r="6" fill="#1e40af"/> | |
| <rect x="40" y="62" width="4" height="8" rx="2" fill="#1e40af"/> | |
| <text x="80" y="52" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="28" fill="#0f172a">UNLO<tspan fill="#1e40af">Q</tspan></text> | |
| <text x="80" y="68" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="2">SMART ACCESS</text> | |
| </svg> | |
| <div class="card-label">Open Padlock + Wordmark</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" rx="10" fill="#0f172a"/> | |
| <!-- U shape = open shackle --> | |
| <path d="M32,18 L32,50 Q32,70 52,70 Q72,70 72,50 L72,18" fill="none" stroke="#38bdf8" stroke-width="8" stroke-linecap="round"/> | |
| <!-- bar bottom (lock body suggestion) --> | |
| <rect x="24" y="14" width="16" height="8" rx="4" fill="#38bdf8"/> | |
| <text x="90" y="52" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="26" fill="white">UNLO<tspan fill="#38bdf8">Q</tspan></text> | |
| <text x="90" y="68" font-family="Arial,sans-serif" font-size="9" fill="#475569" letter-spacing="2">UNLOCK ANYTHING</text> | |
| </svg> | |
| <div class="card-label">U-Shackle · Dark</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="#f8fafc"/> | |
| <!-- UNLOQ where Q has lock notch --> | |
| <text x="22" y="58" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="40" fill="#0f172a">UNLO</text> | |
| <!-- Custom Q = circle + padlock body extending down --> | |
| <circle cx="220" cy="42" r="20" fill="none" stroke="#1e40af" stroke-width="8"/> | |
| <rect x="212" y="56" width="16" height="14" rx="3" fill="#1e40af"/> | |
| <circle cx="220" cy="60" r="4" fill="white"/> | |
| <rect x="218" y="63" width="4" height="6" rx="2" fill="white"/> | |
| <text x="22" y="76" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="3">SMART ENTRY PLATFORM</text> | |
| </svg> | |
| <div class="card-label">Q as Padlock · Wordplay</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 160 160" width="160" height="160"> | |
| <rect width="160" height="160" rx="36" fill="#1e40af"/> | |
| <circle cx="80" cy="80" r="52" fill="none" stroke="white" stroke-width="3" opacity="0.2"/> | |
| <circle cx="80" cy="80" r="40" fill="white" opacity="0.08"/> | |
| <!-- UL monogram --> | |
| <text x="80" y="76" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="36" fill="white" text-anchor="middle">UL</text> | |
| <text x="80" y="98" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="700" font-size="12" fill="#bfdbfe" text-anchor="middle" letter-spacing="3">UNLOQ</text> | |
| <text x="80" y="116" font-family="Arial,sans-serif" font-size="9" fill="#93c5fd" text-anchor="middle" letter-spacing="2">ACCESS</text> | |
| </svg> | |
| <div class="card-label">App Icon · UL Circle</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="white"/> | |
| <!-- minimal unlock arrow through U --> | |
| <path d="M30,60 L30,34 Q30,18 48,18 Q66,18 66,34 L66,44" fill="none" stroke="#e2e8f0" stroke-width="6" stroke-linecap="round"/> | |
| <path d="M30,60 L30,34 Q30,18 48,18 Q66,18 66,34 L66,44" fill="none" stroke="#1e40af" stroke-width="4" stroke-linecap="round" stroke-dasharray="8,3"/> | |
| <!-- arrow tip --> | |
| <polygon points="58,52 74,44 66,60" fill="#1e40af"/> | |
| <text x="88" y="46" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="300" font-size="28" fill="#0f172a" letter-spacing="6">UNLOQ</text> | |
| <line x1="88" y1="52" x2="252" y2="52" stroke="#e2e8f0" stroke-width="1"/> | |
| <text x="88" y="65" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="3">SMART ACCESS</text> | |
| </svg> | |
| <div class="card-label">Minimal · Unlock Arrow</div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- ═══════════════════════════ APTPASS ═══════════════════════════ --> | |
| <section> | |
| <div class="brand-header"> | |
| <h2>AptPass</h2> | |
| <span>Apartment + Pass · rõ nghĩa nhất cho building management</span> | |
| </div> | |
| <div class="grid"> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="white"/> | |
| <!-- building tower --> | |
| <rect x="18" y="20" width="36" height="58" fill="#1e40af"/> | |
| <rect x="22" y="26" width="8" height="8" rx="1" fill="#93c5fd"/> | |
| <rect x="34" y="26" width="8" height="8" rx="1" fill="#93c5fd"/> | |
| <rect x="22" y="38" width="8" height="8" rx="1" fill="#93c5fd"/> | |
| <rect x="34" y="38" width="8" height="8" rx="1" fill="#bfdbfe" opacity="0.5"/> | |
| <rect x="22" y="50" width="8" height="8" rx="1" fill="#93c5fd"/> | |
| <rect x="34" y="50" width="8" height="8" rx="1" fill="#93c5fd"/> | |
| <!-- door --> | |
| <rect x="28" y="62" width="12" height="16" rx="2" fill="#1d4ed8"/> | |
| <!-- checkmark --> | |
| <circle cx="54" cy="24" r="14" fill="#10b981"/> | |
| <polyline points="47,24 52,30 62,18" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/> | |
| <text x="80" y="48" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="24" fill="#0f172a">APT<tspan fill="#1e40af">PASS</tspan></text> | |
| <text x="80" y="64" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="2">APARTMENT ACCESS</text> | |
| </svg> | |
| <div class="card-label">Building + Checkmark</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" rx="10" fill="#0f172a"/> | |
| <!-- AP in architectural silhouette: A forms a tower with arch top --> | |
| <!-- A shape as building --> | |
| <polygon points="38,76 14,76 30,14 46,14 62,76" fill="#1e40af"/> | |
| <!-- crossbar = floor --> | |
| <rect x="19" y="50" width="38" height="5" fill="#0f172a"/> | |
| <!-- arch window at top of A --> | |
| <rect x="32" y="18" width="12" height="14" rx="6" fill="#38bdf8"/> | |
| <!-- P letterform --> | |
| <rect x="66" y="14" width="6" height="62" fill="#1e40af"/> | |
| <path d="M72,14 Q96,14 96,32 Q96,50 72,50" fill="none" stroke="#1e40af" stroke-width="10"/> | |
| <rect x="72" y="36" width="20" height="10" fill="#1e40af"/> | |
| <text x="112" y="50" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="700" font-size="18" fill="white">APTPASS</text> | |
| <text x="112" y="66" font-family="Arial,sans-serif" font-size="9" fill="#475569" letter-spacing="2">BUILDING SOLUTIONS</text> | |
| </svg> | |
| <div class="card-label">AP Architectural · Dark</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="#f0f9ff"/> | |
| <!-- 3x4 window grid (apartment façade) --> | |
| <rect x="14" y="8" width="58" height="72" rx="4" fill="#1e40af"/> | |
| <rect x="18" y="12" width="50" height="64" rx="3" fill="#2563eb"/> | |
| <!-- windows: 3 cols × 4 rows --> | |
| <rect x="22" y="17" width="12" height="9" rx="2" fill="#bfdbfe"/> | |
| <rect x="38" y="17" width="12" height="9" rx="2" fill="#93c5fd"/> | |
| <rect x="54" y="17" width="10" height="9" rx="2" fill="#bfdbfe"/> | |
| <rect x="22" y="30" width="12" height="9" rx="2" fill="#93c5fd"/> | |
| <rect x="38" y="30" width="12" height="9" rx="2" fill="#bfdbfe"/> | |
| <rect x="54" y="30" width="10" height="9" rx="2" fill="#38bdf8"/> | |
| <rect x="22" y="43" width="12" height="9" rx="2" fill="#bfdbfe"/> | |
| <rect x="38" y="43" width="12" height="9" rx="2" fill="#93c5fd"/> | |
| <rect x="54" y="43" width="10" height="9" rx="2" fill="#bfdbfe"/> | |
| <rect x="22" y="56" width="12" height="9" rx="2" fill="#93c5fd"/> | |
| <rect x="38" y="56" width="12" height="9" rx="2" fill="#bfdbfe"/> | |
| <rect x="54" y="56" width="10" height="9" rx="2" fill="#93c5fd"/> | |
| <!-- door --> | |
| <rect x="32" y="66" width="14" height="10" rx="2" fill="#1d4ed8"/> | |
| <text x="86" y="46" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="800" font-size="22" fill="#0f172a">APT<tspan fill="#1e40af">PASS</tspan></text> | |
| <text x="86" y="62" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="2">SMART BUILDING</text> | |
| </svg> | |
| <div class="card-label">Window Grid · Façade</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" fill="white"/> | |
| <!-- key card shape --> | |
| <rect x="14" y="18" width="76" height="52" rx="8" fill="#1e40af"/> | |
| <rect x="14" y="18" width="76" height="20" rx="8" fill="#1d4ed8"/> | |
| <rect x="14" y="26" width="76" height="12" fill="#1d4ed8"/> | |
| <!-- chip --> | |
| <rect x="24" y="34" width="18" height="14" rx="3" fill="#fbbf24"/> | |
| <line x1="27" y1="34" x2="27" y2="48" stroke="#f59e0b" stroke-width="1"/> | |
| <line x1="30" y1="34" x2="30" y2="48" stroke="#f59e0b" stroke-width="1"/> | |
| <line x1="33" y1="34" x2="33" y2="48" stroke="#f59e0b" stroke-width="1"/> | |
| <line x1="36" y1="34" x2="36" y2="48" stroke="#f59e0b" stroke-width="1"/> | |
| <line x1="39" y1="34" x2="39" y2="48" stroke="#f59e0b" stroke-width="1"/> | |
| <!-- AP text on card --> | |
| <text x="50" y="52" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="16" fill="white">AP</text> | |
| <!-- card number dots --> | |
| <circle cx="30" cy="62" r="2" fill="#93c5fd"/> | |
| <circle cx="38" cy="62" r="2" fill="#93c5fd"/> | |
| <circle cx="60" cy="62" r="2" fill="#93c5fd"/> | |
| <circle cx="68" cy="62" r="2" fill="#93c5fd"/> | |
| <text x="104" y="46" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="900" font-size="22" fill="#0f172a">APT<tspan fill="#1e40af">PASS</tspan></text> | |
| <text x="104" y="62" font-family="Arial,sans-serif" font-size="9" fill="#94a3b8" letter-spacing="2">YOUR ACCESS CARD</text> | |
| </svg> | |
| <div class="card-label">Key Card Design</div> | |
| </div> | |
| <div class="card"> | |
| <svg viewBox="0 0 280 88" width="280" height="88"> | |
| <rect width="280" height="88" rx="10" fill="#0c1445"/> | |
| <!-- city skyline silhouette --> | |
| <g fill="#1e40af" opacity="0.6"> | |
| <!-- buildings skyline --> | |
| <rect x="14" y="50" width="10" height="22"/> | |
| <rect x="12" y="42" width="6" height="30"/> | |
| <rect x="24" y="38" width="8" height="34"/> | |
| <rect x="32" y="46" width="6" height="26"/> | |
| <rect x="38" y="32" width="10" height="40"/> | |
| <rect x="36" y="28" width="4" height="44"/> | |
| <rect x="48" y="44" width="8" height="28"/> | |
| <rect x="56" y="36" width="12" height="36"/> | |
| <rect x="54" y="30" width="4" height="42"/> | |
| <rect x="68" y="48" width="8" height="24"/> | |
| <rect x="76" y="40" width="6" height="32"/> | |
| </g> | |
| <!-- horizon line --> | |
| <line x1="10" y1="72" x2="270" y2="72" stroke="#1e40af" stroke-width="1" opacity="0.4"/> | |
| <!-- wordmark below skyline --> | |
| <text x="14" y="64" font-family="'Helvetica Neue',Arial,sans-serif" font-weight="300" font-size="22" fill="white" letter-spacing="6">APTPASS</text> | |
| <text x="14" y="80" font-family="Arial,sans-serif" font-size="8" fill="#475569" letter-spacing="4">BUILDING ACCESS SOLUTIONS</text> | |
| </svg> | |
| <div class="card-label">Skyline + Wordmark</div> | |
| </div> | |
| </div> | |
| </section> | |
| <footer style="text-align:center;color:#94a3b8;font-size:12px;margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0"> | |
| CTI Logo Concepts · Đoàn Hữu Trung · Nguyễn Tuấn Anh · Nguyễn Văn Chúc Ân | |
| </footer> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment