<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Low Bono Legal Services — Regal Law LLC</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--navy: #0B1F3A;
--navy-mid: #152E52;
--gold: #C9A84C;
--gold-light: #E8D5A3;
--cream: #F7F4EF;
--white: #FFFFFF;
--slate: #4A5568;
--slate-light: #718096;
--blue-tint: #EBF4FB;
--border: #DDD8CE;
--green: #1D7A5F;
--green-bg: #EAF5F0;
}
html { scroll-behavior: smooth; }
body {
font-family: 'Inter', sans-serif;
background: var(--white);
color: var(--navy);
line-height: 1.6;
font-size: 16px;
}
/* NAV */
nav {
position: fixed; top: 0; left: 0; right: 0; z-index: 100;
background: rgba(11, 31, 58, 0.97);
backdrop-filter: blur(8px);
padding: 0 5%;
display: flex; align-items: center; justify-content: space-between;
height: 64px;
border-bottom: 1px solid rgba(201,168,76,0.2);
}
.nav-logo {
font-family: 'Playfair Display', serif;
color: var(--white);
font-size: 18px;
font-weight: 600;
letter-spacing: 0.01em;
text-decoration: none;
}
.nav-logo span { color: var(--gold); }
.nav-links {
display: flex; gap: 2rem; list-style: none;
}
.nav-links a {
color: rgba(255,255,255,0.75);
text-decoration: none;
font-size: 14px;
font-weight: 400;
transition: color 0.2s;
letter-spacing: 0.02em;
}
.nav-links a:hover { color: var(--gold); }
.nav-cta {
background: var(--gold);
color: var(--navy) !important;
font-weight: 600 !important;
padding: 8px 18px;
border-radius: 4px;
transition: background 0.2s !important;
}
.nav-cta:hover { background: #b8963e !important; color: var(--navy) !important; }
/* HERO */
.hero {
background: var(--navy);
padding: 130px 5% 90px;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: repeating-linear-gradient(
90deg,
rgba(201,168,76,0.03) 0px,
rgba(201,168,76,0.03) 1px,
transparent 1px,
transparent 80px
);
pointer-events: none;
}
.hero-inner {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 420px;
gap: 60px;
align-items: center;
}
.hero-eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 11px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--gold);
border: 1px solid rgba(201,168,76,0.35);
padding: 5px 12px;
border-radius: 2px;
margin-bottom: 24px;
}
.hero h1 {
font-family: 'Playfair Display', serif;
font-size: clamp(36px, 5vw, 58px);
font-weight: 700;
color: var(--white);
line-height: 1.12;
margin-bottom: 24px;
letter-spacing: -0.01em;
}
.hero h1 em {
font-style: normal;
color: var(--gold);
}
.hero-body {
font-size: 17px;
color: rgba(255,255,255,0.7);
line-height: 1.75;
margin-bottom: 36px;
max-width: 520px;
font-weight: 300;
}
.hero-actions {
display: flex; gap: 14px; flex-wrap: wrap;
}
.btn-primary {
background: var(--gold);
color: var(--navy);
font-weight: 600;
font-size: 15px;
padding: 13px 28px;
border-radius: 4px;
text-decoration: none;
border: none;
cursor: pointer;
transition: background 0.2s, transform 0.1s;
display: inline-flex; align-items: center; gap: 8px;
font-family: 'Inter', sans-serif;
}
.btn-primary:hover { background: #b8963e; transform: translateY(-1px); }
.btn-ghost {
background: transparent;
color: rgba(255,255,255,0.85);
font-weight: 500;
font-size: 15px;
padding: 13px 28px;
border-radius: 4px;
text-decoration: none;
border: 1px solid rgba(255,255,255,0.25);
cursor: pointer;
transition: border-color 0.2s, color 0.2s;
display: inline-flex; align-items: center; gap: 8px;
font-family: 'Inter', sans-serif;
}
.btn-ghost:hover { border-color: rgba(255,255,255,0.5); color: var(--white); }
.hero-card {
background: rgba(255,255,255,0.05);
border: 1px solid rgba(201,168,76,0.2);
border-radius: 8px;
padding: 28px;
}
.hero-card-label {
font-size: 11px;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--gold);
margin-bottom: 20px;
}
.cost-tier {
display: flex;
align-items: center;
justify-content: space-between;
padding: 14px 16px;
border-radius: 4px;
margin-bottom: 4px;
}
.cost-tier.tier-high {
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.08);
}
.cost-tier.tier-low {
background: rgba(201,168,76,0.12);
border: 1px solid rgba(201,168,76,0.35);
}
.cost-tier.tier-free {
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.08);
}
.tier-left { display: flex; flex-direction: column; gap: 3px; }
.tier-name { font-size: 13px; font-weight: 600; color: var(--white); }
.tier-desc { font-size: 11px; color: rgba(255,255,255,0.45); }
.tier-price {
font-family: 'Playfair Display', serif;
font-size: 15px;
font-weight: 600;
color: rgba(255,255,255,0.5);
text-align: right;
}
.cost-tier.tier-low .tier-price { color: var(--gold); }
.cost-tier.tier-low .tier-name { color: var(--gold-light); }
.cost-tier.tier-low .tier-desc { color: rgba(201,168,76,0.7); }
.tier-badge {
font-size: 10px; font-weight: 600; letter-spacing: 0.06em;
text-transform: uppercase; background: var(--gold); color: var(--navy);
padding: 2px 8px; border-radius: 2px; margin-top: 4px; display: inline-block;
}
.hero-stats {
display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px;
}
.hero-stat {
text-align: center; padding: 12px;
background: rgba(255,255,255,0.04); border-radius: 4px;
border: 1px solid rgba(255,255,255,0.07);
}
.hero-stat .num {
font-family: 'Playfair Display', serif; font-size: 24px;
font-weight: 700; color: var(--gold); display: block;
}
.hero-stat .lbl { font-size: 11px; color: rgba(255,255,255,0.45); margin-top: 2px; display: block; }
/* BAND */
.band { background: var(--gold); padding: 18px 5%; }
.band-inner {
max-width: 1100px; margin: 0 auto;
display: flex; align-items: center; justify-content: space-between;
gap: 20px; flex-wrap: wrap;
}
.band p { font-size: 14px; font-weight: 500; color: var(--navy); }
.band p strong { font-weight: 700; }
.band-items { display: flex; gap: 24px; flex-wrap: wrap; }
.band-item {
display: flex; align-items: center; gap: 7px;
font-size: 13px; font-weight: 500; color: var(--navy);
}
.band-dot {
width: 6px; height: 6px; border-radius: 50%;
background: var(--navy); opacity: 0.4; flex-shrink: 0;
}
/* SECTIONS */
section { padding: 80px 5%; }
.section-inner { max-width: 1100px; margin: 0 auto; }
.section-eyebrow {
font-size: 11px; font-weight: 600; letter-spacing: 0.12em;
text-transform: uppercase; color: var(--gold); margin-bottom: 12px;
}
.section-title {
font-family: 'Playfair Display', serif;
font-size: clamp(26px, 3.5vw, 40px);
font-weight: 700; color: var(--navy); line-height: 1.2; margin-bottom: 16px;
}
.section-sub {
font-size: 17px; color: var(--slate);
line-height: 1.75; max-width: 600px; font-weight: 300;
}
/* WHO QUALIFIES */
.qualify-section { background: var(--cream); }
.qualify-grid {
display: grid; grid-template-columns: repeat(3, 1fr);
gap: 20px; margin-top: 48px;
}
.qualify-card {
background: var(--white); border: 1px solid var(--border);
border-radius: 6px; padding: 28px;
}
.qualify-icon {
width: 44px; height: 44px; border-radius: 4px;
display: flex; align-items: center; justify-content: center;
margin-bottom: 18px; font-size: 22px;
}
.qualify-card h3 {
font-family: 'Playfair Display', serif; font-size: 18px;
font-weight: 600; color: var(--navy); margin-bottom: 10px;
}
.qualify-card p { font-size: 14px; color: var(--slate); line-height: 1.7; }
.qualify-card .threshold {
margin-top: 16px; padding: 10px 14px; background: var(--blue-tint);
border-radius: 4px; font-size: 13px; font-weight: 500;
color: var(--navy); border-left: 3px solid var(--gold);
}
/* HOW IT WORKS */
.steps-wrap {
display: grid; grid-template-columns: repeat(4, 1fr);
gap: 0; margin-top: 48px; position: relative;
}
.steps-wrap::before {
content: ''; position: absolute; top: 28px;
left: calc(12.5% + 20px); right: calc(12.5% + 20px);
height: 1px; background: var(--gold); opacity: 0.3;
}
.step {
display: flex; flex-direction: column; align-items: center;
text-align: center; padding: 0 20px; position: relative;
}
.step-num {
width: 56px; height: 56px; border-radius: 50%;
background: var(--navy); color: var(--gold);
font-family: 'Playfair Display', serif; font-size: 20px;
font-weight: 700; display: flex; align-items: center; justify-content: center;
margin-bottom: 20px; border: 2px solid var(--gold);
position: relative; z-index: 1; flex-shrink: 0;
}
.step h3 { font-size: 15px; font-weight: 600; color: var(--navy); margin-bottom: 8px; }
.step p { font-size: 13px; color: var(--slate); line-height: 1.65; }
/* FEES */
.fee-section { background: var(--navy); }
.fee-section .section-title { color: var(--white); }
.fee-section .section-sub { color: rgba(255,255,255,0.6); }
.fee-section .section-eyebrow { color: var(--gold); }
.fee-grid {
display: grid; grid-template-columns: repeat(3, 1fr);
gap: 16px; margin-top: 48px;
}
.fee-card {
background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
border-radius: 6px; padding: 28px; position: relative;
}
.fee-card.featured {
border: 2px solid var(--gold); background: rgba(201,168,76,0.07);
}
.fee-card.featured::before {
content: 'Most common'; position: absolute; top: -13px;
left: 50%; transform: translateX(-50%);
background: var(--gold); color: var(--navy);
font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
text-transform: uppercase; padding: 3px 14px; border-radius: 2px; white-space: nowrap;
}
.fee-tier-name {
font-size: 12px; font-weight: 600; letter-spacing: 0.08em;
text-transform: uppercase; color: rgba(255,255,255,0.5); margin-bottom: 10px;
}
.fee-card.featured .fee-tier-name { color: var(--gold); }
.fee-pchi {
font-family: 'Playfair Display', serif; font-size: 22px;
font-weight: 700; color: var(--white); margin-bottom: 6px;
}
.fee-card.featured .fee-pchi { color: var(--gold-light); }
.fee-discount { font-size: 13px; color: rgba(255,255,255,0.5); margin-bottom: 20px; }
.fee-card.featured .fee-discount { color: rgba(201,168,76,0.7); }
.fee-divider { height: 1px; background: rgba(255,255,255,0.08); margin-bottom: 18px; }
.fee-card.featured .fee-divider { background: rgba(201,168,76,0.2); }
.fee-items { list-style: none; }
.fee-items li {
font-size: 13px; color: rgba(255,255,255,0.65);
padding: 5px 0; display: flex; align-items: flex-start; gap: 8px; line-height: 1.5;
}
.fee-items li::before { content: '—'; color: var(--gold); opacity: 0.5; flex-shrink: 0; margin-top: 1px; }
.fee-card.featured .fee-items li { color: rgba(255,255,255,0.8); }
.fee-note {
margin-top: 32px; padding: 16px 20px;
background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
border-radius: 4px; font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.6;
}
/* PRACTICE AREAS */
.areas-grid {
display: grid; grid-template-columns: repeat(4, 1fr);
gap: 14px; margin-top: 48px;
}
.area-item {
padding: 20px; border: 1px solid var(--border); border-radius: 6px;
background: var(--white); transition: border-color 0.2s, box-shadow 0.2s;
}
.area-item:hover { border-color: var(--gold); box-shadow: 0 4px 16px rgba(201,168,76,0.08); }
.area-icon { font-size: 24px; margin-bottom: 10px; }
.area-name { font-size: 14px; font-weight: 600; color: var(--navy); margin-bottom: 4px; }
.area-desc { font-size: 12px; color: var(--slate-light); line-height: 1.5; }
/* FAQ */
.faq-section { background: var(--cream); }
.faq-list { margin-top: 48px; max-width: 760px; }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-q {
width: 100%; background: none; border: none; padding: 20px 0;
display: flex; justify-content: space-between; align-items: center; gap: 16px;
cursor: pointer; text-align: left; font-family: 'Inter', sans-serif;
font-size: 15px; font-weight: 600; color: var(--navy); transition: color 0.2s;
}
.faq-q:hover { color: var(--gold); }
.faq-chevron {
width: 20px; height: 20px; flex-shrink: 0;
color: var(--gold); transition: transform 0.25s;
}
.faq-item.open .faq-chevron { transform: rotate(180deg); }
.faq-a {
font-size: 14px; color: var(--slate); line-height: 1.75;
max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding-bottom 0.3s;
}
.faq-item.open .faq-a { max-height: 300px; padding-bottom: 20px; }
/* CTA */
.cta-section {
background: var(--navy); text-align: center;
padding: 100px 5%; position: relative; overflow: hidden;
}
.cta-section::before {
content: 'REGAL'; position: absolute;
font-family: 'Playfair Display', serif; font-size: 200px; font-weight: 700;
color: rgba(255,255,255,0.02); top: 50%; left: 50%;
transform: translate(-50%,-50%); white-space: nowrap; pointer-events: none;
}
.cta-section .section-title { color: var(--white); margin-bottom: 16px; }
.cta-sub {
font-size: 17px; color: rgba(255,255,255,0.55); max-width: 500px;
margin: 0 auto 40px; font-weight: 300; line-height: 1.75;
}
.cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.cta-contact { margin-top: 40px; font-size: 14px; color: rgba(255,255,255,0.4); }
.cta-contact a { color: var(--gold); text-decoration: none; }
/* FOOTER */
footer {
background: #060F1D; padding: 36px 5%;
border-top: 1px solid rgba(201,168,76,0.12);
}
.footer-inner {
max-width: 1100px; margin: 0 auto;
display: flex; justify-content: space-between; align-items: center;
flex-wrap: wrap; gap: 20px;
}
.footer-logo { font-family: 'Playfair Display', serif; color: rgba(255,255,255,0.5); font-size: 15px; font-weight: 600; }
.footer-logo span { color: var(--gold); }
footer p { font-size: 12px; color: rgba(255,255,255,0.3); line-height: 1.6; max-width: 500px; }
/* ELIGIBILITY FORM */
.ef-wrap { max-width: 780px; }
.ef-card { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 28px 32px; margin-bottom: 16px; }
.ef-sec-title { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; display: flex; align-items: center; gap: 8px; }
.ef-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.ef-row.full { grid-template-columns: 1fr; }
.ef-row.three { grid-template-columns: 1fr 1fr 1fr; }
.ef-field { display: flex; flex-direction: column; gap: 5px; }
.ef-field label { font-size: 12px; font-weight: 600; color: var(--slate); letter-spacing: 0.02em; }
.ef-field input, .ef-field select, .ef-field textarea { width: 100%; font-size: 14px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 5px; background: #fafafa; color: var(--navy); font-family: 'Inter', sans-serif; transition: border-color 0.15s; outline: none; }
.ef-field input:focus, .ef-field select:focus, .ef-field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,168,76,0.12); }
.ef-field textarea { resize: vertical; min-height: 80px; line-height: 1.5; }
.ef-req { color: #A32D2D; }
.ef-hint { font-size: 11px; color: var(--slate-light); margin-top: 2px; }
.ef-radio-group, .ef-check-group { display: flex; flex-direction: column; gap: 6px; }
.ef-radio-item, .ef-check-item { display: flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 5px; cursor: pointer; font-size: 13px; color: var(--navy); transition: background 0.1s; line-height: 1.4; }
.ef-radio-item:hover, .ef-check-item:hover { background: #f5f2ec; }
.ef-radio-item input, .ef-check-item input { width: auto; padding: 0; border: none; box-shadow: none; background: transparent; accent-color: var(--gold); }
.ef-radio-item.selected, .ef-check-item.selected { background: rgba(201,168,76,0.09); border-color: rgba(201,168,76,0.45); }
.ef-income-summary { background: #f5f2ec; border-radius: 6px; padding: 14px 16px; margin-top: 10px; border: 1px solid var(--border); }
.ef-income-row { display: flex; justify-content: space-between; font-size: 13px; padding: 3px 0; color: var(--slate); }
.ef-income-total { font-weight: 600; color: var(--navy); border-top: 1px solid var(--border); margin-top: 8px; padding-top: 8px; display: flex; justify-content: space-between; font-size: 13px; }
.ef-bar-wrap { margin-top: 10px; }
.ef-bar-labels { display: flex; justify-content: space-between; font-size: 11px; color: var(--slate-light); margin-bottom: 4px; }
.ef-bar-track { height: 8px; background: #e2ddd6; border-radius: 4px; overflow: hidden; }
.ef-bar-fill { height: 100%; border-radius: 4px; transition: width 0.4s, background 0.4s; }
.ef-result { border-radius: 8px; padding: 20px 24px; margin-bottom: 16px; display: none; }
.ef-result.eligible { background: rgba(15,110,86,0.07); border: 1px solid rgba(15,110,86,0.25); }
.ef-result.ineligible { background: rgba(163,45,45,0.07); border: 1px solid rgba(163,45,45,0.22); }
.ef-result.review { background: rgba(133,79,11,0.07); border: 1px solid rgba(133,79,11,0.22); }
.ef-result-title { font-size: 15px; font-weight: 600; margin-bottom: 6px; display: flex; align-items: center; gap: 8px; }
.ef-result.eligible .ef-result-title { color: #085041; }
.ef-result.ineligible .ef-result-title { color: #791F1F; }
.ef-result.review .ef-result-title { color: #633806; }
.ef-result p { font-size: 13px; line-height: 1.6; color: var(--slate); }
.ef-result ul { font-size: 13px; color: var(--slate); padding-left: 1.2rem; margin-top: 6px; line-height: 1.8; }
.ef-btn-row { display: flex; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
.ef-btn-assess { background: var(--gold); color: var(--navy); font-weight: 700; font-size: 15px; padding: 13px 28px; border-radius: 5px; border: none; cursor: pointer; font-family: 'Inter', sans-serif; transition: background 0.2s, transform 0.1s; display: inline-flex; align-items: center; gap: 8px; }
.ef-btn-assess:hover { background: #b8963e; transform: translateY(-1px); }
.ef-btn-reset { background: transparent; color: var(--slate); font-size: 14px; padding: 13px 20px; border-radius: 5px; border: 1px solid var(--border); cursor: pointer; font-family: 'Inter', sans-serif; transition: background 0.15s; }
.ef-btn-reset:hover { background: #f0ece4; }
.ef-disclaimer { font-size: 11px; color: var(--slate-light); line-height: 1.6; margin-top: 14px; padding: 10px 14px; background: #fff; border-radius: 5px; border-left: 3px solid var(--gold); }
/* RESPONSIVE */
@media (max-width: 900px) {
.hero-inner { grid-template-columns: 1fr; }
.hero-card { display: none; }
.qualify-grid { grid-template-columns: 1fr; }
.steps-wrap { grid-template-columns: 1fr 1fr; }
.steps-wrap::before { display: none; }
.fee-grid { grid-template-columns: 1fr; }
.areas-grid { grid-template-columns: 1fr 1fr; }
.nav-links { display: none; }
}
@media (max-width: 640px) {
.ef-row, .ef-row.three { grid-template-columns: 1fr; }
.areas-grid { grid-template-columns: 1fr; }
.steps-wrap { grid-template-columns: 1fr; }
section { padding: 60px 5%; }
}
</style>
</head>
<body>
<!-- NAV -->
<nav>
<a href="#" class="nav-logo">Regal Law <span>LLC</span></a>
<ul class="nav-links">
<li><a href="#qualify">Who qualifies</a></li>
<li><a href="#how">How it works</a></li>
<li><a href="#fees">Fees</a></li>
<li><a href="#areas">Practice areas</a></li>
<li><a href="#faq">FAQ</a></li>
<li><a href="#eligibility-form" class="nav-cta">Apply now</a></li>
</ul>
</nav>
<!-- HERO -->
<section class="hero">
<div class="hero-inner">
<div class="hero-text">
<div class="hero-eyebrow">Low Bono Legal Services · Singapore</div>
<h1>Legal representation<br>you can <em>actually</em><br>afford.</h1>
<p class="hero-body">Regal Law LLC's low bono programme offers qualified clients a 50–80% reduction on standard legal fees — because the inability to pay full rates should never mean the inability to access justice.</p>
<div class="hero-actions">
<a href="#eligibility-form" class="btn-primary">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M9 11l3 3L22 4"/><path d="M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"/></svg>
Check your eligibility
</a>
<a href="#how" class="btn-ghost">
How it works
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
</div>
</div>
<div class="hero-card">
<div class="hero-card-label">Where low bono sits</div>
<div class="cost-tier tier-high">
<div class="tier-left">
<div class="tier-name">Full-rate private firm</div>
<div class="tier-desc">Standard market rates</div>
</div>
<div class="tier-price">SGD 350–700+<br><span style="font-size:11px;opacity:0.5">per hour</span></div>
</div>
<div class="cost-tier tier-low">
<div class="tier-left">
<div class="tier-name">Regal Law — low bono</div>
<div class="tier-desc">Means-tested, full representation</div>
<span class="tier-badge">You are here</span>
</div>
<div class="tier-price">50–80%<br><span style="font-size:11px">fee reduction</span></div>
</div>
<div class="cost-tier tier-free">
<div class="tier-left">
<div class="tier-name">Legal Aid Bureau / PBSG</div>
<div class="tier-desc">Free — strict income ceiling</div>
</div>
<div class="tier-price">Free<br><span style="font-size:11px;opacity:0.5">limited scope</span></div>
</div>
<div class="hero-stats">
<div class="hero-stat">
<span class="num">SGD 3,000</span>
<span class="lbl">Max PCHI threshold</span>
</div>
<div class="hero-stat">
<span class="num">50–80%</span>
<span class="lbl">Fee reduction range</span>
</div>
</div>
</div>
</div>
</section>
<!-- BAND -->
<div class="band">
<div class="band-inner">
<p><strong>Singapore PDPA-compliant</strong> · All intake information is handled under strict data protection obligations.</p>
<div class="band-items">
<div class="band-item"><div class="band-dot"></div>Citizens & PRs</div>
<div class="band-item"><div class="band-dot"></div>Work Pass holders</div>
<div class="band-item"><div class="band-dot"></div>Migrant workers</div>
<div class="band-item"><div class="band-dot"></div>Elderly & vulnerable</div>
</div>
</div>
</div>
<!-- WHO QUALIFIES -->
<section class="qualify-section" id="qualify">
<div class="section-inner">
<div class="section-eyebrow">Eligibility</div>
<h2 class="section-title">Who qualifies for low bono services?</h2>
<p class="section-sub">We assess eligibility across three dimensions — income, household need, and access-to-justice factors. Meeting two of three is usually sufficient for a discretionary review.</p>
<div class="qualify-grid">
<div class="qualify-card">
<div class="qualify-icon" style="background:#EBF4FB">💰</div>
<h3>Financial means</h3>
<p>Per capita household income (PCHI) is the primary metric. We look at total gross income across all household members divided by household size, including government transfers.</p>
<div class="threshold">PCHI at or below SGD 3,000/month — full assessment; up to SGD 4,500 — discretionary review.</div>
</div>
<div class="qualify-card">
<div class="qualify-icon" style="background:#EAF5F0">🏠</div>
<h3>Household circumstances</h3>
<p>Number of dependants (children under 21, elderly parents, persons with disabilities), housing type, and significant financial obligations all bear on the assessment.</p>
<div class="threshold">Rental housing, four or more dependants, or a household member with a disability are weighted positively.</div>
</div>
<div class="qualify-card">
<div class="qualify-icon" style="background:#FDF4E7">⚖️</div>
<h3>Vulnerability factors</h3>
<p>Access to justice is about more than money. Language barriers, disability, domestic violence, risk of homelessness, and matters directly affecting minor children are all recognised.</p>
<div class="threshold">Two or more vulnerability factors identified may qualify you even where income exceeds the primary threshold.</div>
</div>
</div>
</div>
</section>
<!-- HOW IT WORKS -->
<section id="how">
<div class="section-inner">
<div class="section-eyebrow">Process</div>
<h2 class="section-title">Four steps from inquiry to representation</h2>
<p class="section-sub">We have kept the intake process straightforward — because a complicated application process is itself a barrier to access.</p>
<div class="steps-wrap">
<div class="step">
<div class="step-num">1</div>
<h3>Submit the eligibility form</h3>
<p>Complete the online intake form with your personal, household, and financial details. Takes approximately 10–15 minutes.</p>
</div>
<div class="step">
<div class="step-num">2</div>
<h3>Initial means assessment</h3>
<p>Our team reviews your PCHI, household circumstances, and vulnerability factors. You will receive an indicative outcome within 3 working days.</p>
</div>
<div class="step">
<div class="step-num">3</div>
<h3>Conflict check & lawyer assignment</h3>
<p>A supervising solicitor conducts a conflict-of-interest check and, where clear, assigns the matter to an appropriate lawyer.</p>
</div>
<div class="step">
<div class="step-num">4</div>
<h3>Engagement & retainer</h3>
<p>A warrant to act is issued confirming the reduced fee, scope of work, and disbursement obligations before work commences.</p>
</div>
</div>
</div>
</section>
<!-- FEES -->
<section class="fee-section" id="fees">
<div class="section-inner">
<div class="section-eyebrow">Fee structure</div>
<h2 class="section-title">Transparent, means-tested fees</h2>
<p class="section-sub">Your fee tier is determined by per capita household income. All tiers cover full legal representation — not just advice.</p>
<div class="fee-grid">
<div class="fee-card">
<div class="fee-tier-name">Tier 1 — Deepest subsidy</div>
<div class="fee-pchi">PCHI ≤ SGD 1,500</div>
<div class="fee-discount">80% reduction on professional fees</div>
<div class="fee-divider"></div>
<ul class="fee-items">
<li>Full court representation included</li>
<li>Document drafting and review</li>
<li>Legal advice and strategy</li>
<li>Standard disbursements charged at cost</li>
<li>Payment plan available on request</li>
</ul>
</div>
<div class="fee-card featured">
<div class="fee-tier-name">Tier 2 — Standard subsidy</div>
<div class="fee-pchi">PCHI SGD 1,501–3,000</div>
<div class="fee-discount">50–70% reduction on professional fees</div>
<div class="fee-divider"></div>
<ul class="fee-items">
<li>Full court representation included</li>
<li>Document drafting and review</li>
<li>Legal advice and strategy</li>
<li>Standard disbursements charged at cost</li>
<li>Instalment arrangements available</li>
</ul>
</div>
<div class="fee-card">
<div class="fee-tier-name">Tier 3 — Discretionary</div>
<div class="fee-pchi">PCHI SGD 3,001–4,500</div>
<div class="fee-discount">30–50% reduction — subject to review</div>
<div class="fee-divider"></div>
<ul class="fee-items">
<li>Assessed on vulnerability factors</li>
<li>Supervising solicitor sign-off required</li>
<li>Full scope available if approved</li>
<li>Standard disbursements charged at cost</li>
<li>Senior associate review within 5 days</li>
</ul>
</div>
</div>
<div class="fee-note">
<strong style="color:rgba(255,255,255,0.7)">Disbursements are not subsidised.</strong> Court filing fees, stamp duties, process server fees, and other out-of-pocket costs are charged at actual cost regardless of tier. These are typically SGD 200–800 for most civil matters. Clients are informed of estimated disbursements before work begins.
</div>
</div>
</section>
<!-- PRACTICE AREAS -->
<section id="areas">
<div class="section-inner">
<div class="section-eyebrow">Practice areas</div>
<h2 class="section-title">Matters we handle under the low bono programme</h2>
<p class="section-sub">Our team covers the areas where moderate-income individuals are most exposed to legal risk and least likely to have access to representation.</p>
<div class="areas-grid">
<div class="area-item">
<div class="area-icon">👨👩👧</div>
<div class="area-name">Family law</div>
<div class="area-desc">Divorce, custody, maintenance, division of matrimonial assets</div>
</div>
<div class="area-item">
<div class="area-icon">💼</div>
<div class="area-name">Employment disputes</div>
<div class="area-desc">Wrongful dismissal, unpaid salary, workplace harassment</div>
</div>
<div class="area-item">
<div class="area-icon">🏘️</div>
<div class="area-name">Tenancy & housing</div>
<div class="area-desc">Landlord disputes, unlawful eviction, lease disagreements</div>
</div>
<div class="area-item">
<div class="area-icon">💳</div>
<div class="area-name">Debt & insolvency</div>
<div class="area-desc">Debt recovery, creditor actions, bankruptcy proceedings</div>
</div>
<div class="area-item">
<div class="area-icon">⚖️</div>
<div class="area-name">Criminal defence</div>
<div class="area-desc">Non-capital offences, CLAS-complementary representation</div>
</div>
<div class="area-item">
<div class="area-icon">🛂</div>
<div class="area-name">Immigration matters</div>
<div class="area-desc">Pass renewals, appeals, employment-related immigration issues</div>
</div>
<div class="area-item">
<div class="area-icon">🤕</div>
<div class="area-name">Personal injury</div>
<div class="area-desc">Workplace accidents, traffic incidents, negligence claims</div>
</div>
<div class="area-item">
<div class="area-icon">📜</div>
<div class="area-name">Probate & estates</div>
<div class="area-desc">Wills, estate administration, letters of administration</div>
</div>
</div>
</div>
</section>
<!-- FAQ -->
<section class="faq-section" id="faq">
<div class="section-inner">
<div class="section-eyebrow">Frequently asked questions</div>
<h2 class="section-title">Common questions about the programme</h2>
<div class="faq-list">
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
Is low bono the same as pro bono?
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>
</button>
<div class="faq-a">No. Pro bono means entirely free legal representation, typically reserved for clients at the very lowest income levels. Low bono means reduced-fee representation — you pay a fraction of the standard market rate, but the lawyer is compensated. This makes the programme financially sustainable and allows for full, ongoing representation rather than one-off advice.</div>
</div>
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
What if I already applied to the Legal Aid Bureau and was rejected?
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>
</button>
<div class="faq-a">A Legal Aid Bureau (LAB) rejection is actually a common reason clients come to us. LAB applies strict means and merits thresholds. We assess eligibility independently and our income thresholds are higher than LAB's. A prior LAB application — whether successful or not — does not affect your eligibility for our programme.</div>
</div>
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
Will I get a fully qualified solicitor, or a trainee?
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>
</button>
<div class="faq-a">All low bono matters are handled by admitted advocates and solicitors of the Supreme Court of Singapore. Junior lawyers may assist, but every matter is supervised by a senior solicitor. You will be told who is handling your matter and who is supervising it before you sign the warrant to act.</div>
</div>
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
Is my financial information kept confidential?
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>
</button>
<div class="faq-a">Yes. All information submitted in the eligibility assessment is protected by solicitor-client privilege and handled in accordance with our PDPA-compliant data protection policy. We do not share your personal or financial information with any third party without your consent, except where required by law.</div>
</div>
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
What happens if my financial situation improves mid-matter?
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>
</button>
<div class="faq-a">You are obliged to notify us if your financial circumstances change materially during the course of your matter. A significant improvement in income may result in a reassessment of your fee tier. We take a practical approach — a modest change in circumstances will not typically result in disruption to your representation.</div>
</div>
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
How long does the eligibility assessment take?
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>
</button>
<div class="faq-a">For straightforward applications, you will receive an indicative outcome within 3 working days of submitting the completed form. Discretionary tier applications (PCHI SGD 3,001–4,500) may take up to 5 working days as they require a senior associate review. Urgent matters — where a court date is within 14 days — are flagged and assessed on an expedited basis.</div>
</div>
</div>
</div>
</section>
<!-- CTA -->
<section class="cta-section" id="apply">
<div class="section-inner" style="position:relative;z-index:1">
<div class="section-eyebrow" style="color:var(--gold)">Start here</div>
<h2 class="section-title">Find out if you qualify — in 15 minutes.</h2>
<p class="cta-sub">Complete the eligibility assessment online. No fees, no obligation. Our team reviews every application personally.</p>
<div class="cta-actions">
<a href="#eligibility-form" class="btn-primary" style="font-size:16px;padding:15px 32px">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M9 11l3 3L22 4"/><path d="M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"/></svg>
Start eligibility assessment
</a>
<a href="mailto:support@regallaw.com.sg" class="btn-ghost" style="font-size:16px;padding:15px 32px">
Email us directly
</a>
</div>
<p class="cta-contact">Or call <a href="tel:+6598931893">+65 9893 1893</a> · Mon–Fri, 9 am–5:30 pm · <a href="mailto:support@regallaw.com.sg">support@regallaw.com.sg</a></p>
</div>
</section>
<!-- ELIGIBILITY FORM -->
<section id="eligibility-form" style="background:var(--cream);padding:80px 5%">
<div class="section-inner">
<div class="section-eyebrow">Eligibility assessment</div>
<h2 class="section-title">Apply for low bono services</h2>
<p class="section-sub" style="margin-bottom:40px">Complete all sections below. Your information is protected by solicitor-client privilege and handled in accordance with our PDPA-compliant data protection policy.</p>
<div class="ef-wrap">
<!-- Personal -->
<div class="ef-card">
<div class="ef-sec-title">👤 Personal information</div>
<div class="ef-row">
<div class="ef-field"><label>Full name <span class="ef-req">*</span></label><input type="text" id="ef-fullname" placeholder="As per NRIC / FIN"></div>
<div class="ef-field"><label>Date of birth <span class="ef-req">*</span></label><input type="date" id="ef-dob"></div>
</div>
<div class="ef-row three">
<div class="ef-field"><label>NRIC / FIN <span class="ef-req">*</span></label><input type="text" id="ef-nric" placeholder="S1234567A"></div>
<div class="ef-field"><label>Nationality</label>
<select id="ef-nationality">
<option value="">Select</option>
<option>Singapore Citizen</option><option>Permanent Resident</option>
<option>Employment Pass Holder</option><option>S Pass Holder</option>
<option>Work Permit Holder</option><option>Student Pass</option>
<option>Dependant Pass</option><option>LTVP / LTVP+</option>
<option>Visitor</option><option>Other</option>
</select>
</div>
<div class="ef-field"><label>Contact number</label><input type="tel" id="ef-phone" placeholder="+65 XXXX XXXX"></div>
</div>
<div class="ef-row">
<div class="ef-field"><label>Email address</label><input type="email" id="ef-email" placeholder="you@email.com"></div>
<div class="ef-field"><label>Residential address</label><input type="text" id="ef-address" placeholder="Block / Street / Unit, Singapore XXXXXX"></div>
</div>
</div>
<!-- Household -->
<div class="ef-card">
<div class="ef-sec-title">🏠 Household composition</div>
<div class="ef-row">
<div class="ef-field"><label>Total household members <span class="ef-req">*</span></label>
<select id="ef-hhsize" onchange="efCalc()">
<option value="">Select</option>
<option value="1">1 (self only)</option><option value="2">2</option>
<option value="3">3</option><option value="4">4</option>
<option value="5">5</option><option value="6">6</option><option value="7">7+</option>
</select>
</div>
<div class="ef-field"><label>Household type</label>
<select id="ef-hhtype">
<option value="">Select</option>
<option>1-room / 2-room HDB flat</option><option>3-room HDB flat</option>
<option>4-room HDB flat</option><option>5-room / Executive HDB flat</option>
<option>Private apartment / condo</option><option>Landed property</option>
<option>Rental flat (HDB)</option><option>Renting (private)</option>
</select>
</div>
</div>
<div class="ef-row full">
<div class="ef-field"><label>Dependants (children under 21, elderly parents, persons with disabilities)</label>
<select id="ef-dep">
<option value="0">None</option><option value="1">1 dependant</option>
<option value="2">2 dependants</option><option value="3">3 dependants</option>
<option value="4">4+ dependants</option>
</select>
</div>
</div>
</div>
<!-- Financial -->
<div class="ef-card">
<div class="ef-sec-title">💰 Financial information</div>
<p style="font-size:12px;color:var(--slate);margin-bottom:14px">Monthly figures in SGD. Include all sources across all household members.</p>
<div class="ef-row">
<div class="ef-field"><label>Employment income (gross) <span class="ef-req">*</span></label><input type="number" id="ef-emp" min="0" placeholder="0" oninput="efCalc()"></div>
<div class="ef-field"><label>Business / self-employment income</label><input type="number" id="ef-biz" min="0" placeholder="0" oninput="efCalc()"></div>
</div>
<div class="ef-row">
<div class="ef-field"><label>Rental income</label><input type="number" id="ef-rent" min="0" placeholder="0" oninput="efCalc()"></div>
<div class="ef-field"><label>Government transfers / benefits</label><input type="number" id="ef-govt" min="0" placeholder="0" oninput="efCalc()"></div>
</div>
<div class="ef-row">
<div class="ef-field"><label>Other income</label><input type="number" id="ef-other" min="0" placeholder="0" oninput="efCalc()"></div>
<div class="ef-field"><label>Employment status</label>
<select id="ef-empstatus">
<option value="">Select</option>
<option>Employed (full-time)</option><option>Employed (part-time)</option>
<option>Self-employed</option><option>Unemployed — actively seeking</option>
<option>Unemployed — not seeking</option><option>Student</option>
<option>Retiree</option><option>Unable to work (medical)</option>
</select>
</div>
</div>
<div class="ef-income-summary">
<div class="ef-income-row"><span>Total gross household income</span><span id="ef-total">SGD 0</span></div>
<div class="ef-income-row"><span>Household size</span><span id="ef-hhdisp">—</span></div>
<div class="ef-income-total"><span>Per capita household income (PCHI)</span><span id="ef-pchi">—</span></div>
<div class="ef-bar-wrap" id="ef-barwrap" style="display:none">
<div class="ef-bar-labels"><span>SGD 0</span><span>SGD 3,000/month threshold</span></div>
<div class="ef-bar-track"><div class="ef-bar-fill" id="ef-bar" style="width:0%"></div></div>
</div>
</div>
<div class="ef-row full" style="margin-top:14px">
<div class="ef-field"><label>Significant assets? (property beyond primary home, investments > SGD 50,000, vehicles)</label>
<div class="ef-radio-group" id="ef-assets">
<label class="ef-radio-item" onclick="efRadio(this,'ef-assets')"><input type="radio" name="ef-assets" value="no"> No significant assets</label>
<label class="ef-radio-item" onclick="efRadio(this,'ef-assets')"><input type="radio" name="ef-assets" value="minor"> Minor assets (savings under SGD 50,000)</label>
<label class="ef-radio-item" onclick="efRadio(this,'ef-assets')"><input type="radio" name="ef-assets" value="yes"> Yes — significant assets</label>
</div>
</div>
</div>
</div>
<!-- Legal Matter -->
<div class="ef-card">
<div class="ef-sec-title">⚖️ Nature of legal matter</div>
<div class="ef-row">
<div class="ef-field"><label>Area of law <span class="ef-req">*</span></label>
<select id="ef-lawarea">
<option value="">Select</option>
<option>Family law (divorce, custody, maintenance)</option>
<option>Employment / wrongful dismissal</option>
<option>Tenancy / housing disputes</option>
<option>Debt recovery / insolvency</option>
<option>Criminal defence</option>
<option>Immigration matters</option>
<option>Personal injury</option>
<option>Probate / estate matters</option>
<option>Consumer / contract disputes</option>
<option>Other civil matters</option>
</select>
</div>
<div class="ef-field"><label>Matter urgency</label>
<select id="ef-urgency">
<option value="">Select</option>
<option value="critical">Critical — court date within 14 days</option>
<option value="high">High — deadline within 30 days</option>
<option value="medium">Medium — within 3 months</option>
<option value="low">Low — no immediate deadline</option>
</select>
</div>
</div>
<div class="ef-row full">
<div class="ef-field"><label>Brief description of the legal matter</label>
<textarea id="ef-desc" placeholder="Describe the situation, relevant dates, parties involved, and the outcome you are seeking..."></textarea>
</div>
</div>
<div class="ef-row full">
<div class="ef-field"><label>Have you previously consulted another lawyer about this matter?</label>
<div class="ef-radio-group" id="ef-prevlaw">
<label class="ef-radio-item" onclick="efRadio(this,'ef-prevlaw')"><input type="radio" name="ef-prevlaw" value="no"> No — first inquiry</label>
<label class="ef-radio-item" onclick="efRadio(this,'ef-prevlaw')"><input type="radio" name="ef-prevlaw" value="declined"> Yes — could not afford fees quoted</label>
<label class="ef-radio-item" onclick="efRadio(this,'ef-prevlaw')"><input type="radio" name="ef-prevlaw" value="lab"> Yes — applied to Legal Aid Bureau (outcome: <input type="text" placeholder="e.g. rejected" style="display:inline;width:130px;padding:2px 6px;font-size:12px;margin-left:4px" onclick="event.stopPropagation()">)</label>
</div>
</div>
</div>
</div>
<!-- Access Factors -->
<div class="ef-card">
<div class="ef-sec-title">✍️ Access to justice factors</div>
<p style="font-size:12px;color:var(--slate);margin-bottom:14px">These factors help us assess vulnerability beyond income. Select all that apply.</p>
<div class="ef-field">
<div class="ef-check-group" id="ef-access">
<label class="ef-check-item" onclick="efCheck(this)"><input type="checkbox" value="language"> Language barrier — primary language is not English</label>
<label class="ef-check-item" onclick="efCheck(this)"><input type="checkbox" value="disability"> Physical or mental disability affecting ability to navigate legal proceedings</label>
<label class="ef-check-item" onclick="efCheck(this)"><input type="checkbox" value="victim"> Victim of domestic violence, abuse, or exploitation</label>
<label class="ef-check-item" onclick="efCheck(this)"><input type="checkbox" value="elderly"> Elderly (65 and above) with limited digital literacy</label>
<label class="ef-check-item" onclick="efCheck(this)"><input type="checkbox" value="children"> Matter directly affects welfare of minor children</label>
<label class="ef-check-item" onclick="efCheck(this)"><input type="checkbox" value="homeless"> At risk of homelessness or housing instability</label>
<label class="ef-check-item" onclick="efCheck(this)"><input type="checkbox" value="none"> None of the above</label>
</div>
</div>
</div>
<!-- Declaration -->
<div class="ef-card">
<div class="ef-sec-title">📝 Declaration</div>
<div class="ef-check-group">
<label class="ef-check-item" onclick="efCheck(this)"><input type="checkbox" id="ef-chk1"> I declare that the information provided is true and accurate to the best of my knowledge.</label>
<label class="ef-check-item" onclick="efCheck(this)"><input type="checkbox" id="ef-chk2"> I consent to Regal Law LLC processing this information for eligibility assessment purposes in accordance with the PDPA.</label>
<label class="ef-check-item" onclick="efCheck(this)"><input type="checkbox" id="ef-chk3"> I understand that I must notify the firm if my financial circumstances change materially.</label>
</div>
<p class="ef-hint" style="margin-top:10px">Providing false information may result in immediate withdrawal of services and may constitute an offence.</p>
</div>
<!-- Result -->
<div class="ef-result" id="ef-result">
<div class="ef-result-title" id="ef-result-title"></div>
<p id="ef-result-body"></p>
<ul id="ef-result-list"></ul>
</div>
<div class="ef-btn-row">
<button class="ef-btn-assess" onclick="efAssess()">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M9 11l3 3L22 4"/><path d="M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"/></svg>
Assess my eligibility
</button>
<button class="ef-btn-reset" onclick="efReset()">Reset form</button>
</div>
<div class="ef-disclaimer">
<strong>Confidentiality notice:</strong> Information submitted in this form is protected by solicitor-client privilege and will be used solely to determine eligibility for low bono services. Low bono services at Regal Law LLC are offered at a fee reduction of 50–80% of standard rates. Eligibility does not guarantee representation and is subject to conflict checks and lawyer availability.
</div>
</div>
</div>
</section>
<!-- FOOTER -->
<footer>
<div class="footer-inner">
<div class="footer-logo">Regal Law <span>LLC</span></div>
<p>Regal Law LLC is a Singapore law corporation. Low bono eligibility does not guarantee representation and is subject to conflict checks and lawyer availability. All fees are exclusive of GST and disbursements. This page does not constitute legal advice.</p>
</div>
</footer>
<script>
function toggleFaq(btn) {
const item = btn.closest('.faq-item');
const isOpen = item.classList.contains('open');
document.querySelectorAll('.faq-item.open').forEach(i => i.classList.remove('open'));
if (!isOpen) item.classList.add('open');
}
function efRadio(el, groupId) {
document.querySelectorAll('#'+groupId+' .ef-radio-item').forEach(i => i.classList.remove('selected'));
el.classList.add('selected');
}
function efCheck(el) {
el.classList.toggle('selected', el.querySelector('input').checked);
}
function efCalc() {
const ids = ['ef-emp','ef-biz','ef-rent','ef-govt','ef-other'];
let total = 0;
ids.forEach(id => { total += parseFloat(document.getElementById(id).value)||0; });
document.getElementById('ef-total').textContent = 'SGD ' + total.toLocaleString('en-SG',{maximumFractionDigits:0});
const hhVal = document.getElementById('ef-hhsize').value;
const hh = hhVal ? (hhVal==='7+' ? 7 : parseInt(hhVal)) : null;
document.getElementById('ef-hhdisp').textContent = hh ? hh+(hh>1?' members':' member') : '—';
if(hh && hh > 0) {
const pchi = total / hh;
document.getElementById('ef-pchi').textContent = 'SGD '+pchi.toLocaleString('en-SG',{maximumFractionDigits:0})+' / month';
const pct = Math.min((pchi/3000)*100,100);
const bar = document.getElementById('ef-bar');
bar.style.width = pct+'%';
bar.style.background = pchi<=1500 ? '#1D9E75' : pchi<=3000 ? '#BA7517' : '#A32D2D';
document.getElementById('ef-barwrap').style.display='block';
} else {
document.getElementById('ef-pchi').textContent = '—';
document.getElementById('ef-barwrap').style.display='none';
}
}
function efAssess() {
const name = document.getElementById('ef-fullname').value.trim();
const nric = document.getElementById('ef-nric').value.trim();
if(!name||!nric){ alert('Please complete the required fields (name and NRIC/FIN) before assessing.'); return; }
if(!document.getElementById('ef-chk1').checked||!document.getElementById('ef-chk2').checked){
alert('Please tick the declaration checkboxes before proceeding.'); return;
}
const ids = ['ef-emp','ef-biz','ef-rent','ef-govt','ef-other'];
let total = 0;
ids.forEach(id => { total += parseFloat(document.getElementById(id).value)||0; });
const hhVal = document.getElementById('ef-hhsize').value;
const hh = hhVal ? (hhVal==='7+' ? 7 : parseInt(hhVal)) : 1;
const pchi = total / hh;
const assets = document.querySelector('input[name="ef-assets"]:checked');
const vuln = Array.from(document.querySelectorAll('#ef-access .ef-check-item input:checked')).filter(i=>i.value!=='none').length;
const urgency = document.getElementById('ef-urgency').value;
const hhtype = document.getElementById('ef-hhtype').value;
let score = 0; let reasons = []; let flags = [];
if(pchi<=1500){score+=3;reasons.push('PCHI of SGD '+Math.round(pchi)+' is well within the low bono threshold');}
else if(pchi<=3000){score+=2;reasons.push('PCHI of SGD '+Math.round(pchi)+' falls within the standard low bono range');}
else if(pchi<=4500){score+=1;flags.push('PCHI of SGD '+Math.round(pchi)+' exceeds standard threshold — discretionary review required');}
else{flags.push('PCHI of SGD '+Math.round(pchi)+' exceeds the eligibility threshold of SGD 3,000');}
if(assets){
if(assets.value==='no') score+=1;
else if(assets.value==='yes'){flags.push('Significant assets declared — comprehensive means test required');score-=1;}
}
if(vuln>=2){score+=2;reasons.push(vuln+' vulnerability factors identified');}
else if(vuln===1){score+=1;reasons.push('1 vulnerability factor noted');}
if(urgency==='critical'){score+=1;reasons.push('Critical urgency — expedited review warranted');}
if(hhtype&&hhtype.includes('Rental')){score+=1;reasons.push('Rental housing indicates financial need');}
const panel = document.getElementById('ef-result');
const title = document.getElementById('ef-result-title');
const body = document.getElementById('ef-result-body');
const list = document.getElementById('ef-result-list');
panel.className='ef-result'; list.innerHTML='';
panel.style.display='block';
if(score>=5&&flags.length===0){
panel.classList.add('eligible');
title.innerHTML='✅ Likely eligible for low bono services';
body.textContent='Based on the information provided, you appear to meet the eligibility criteria for low bono representation at Regal Law LLC. A supervising solicitor will conduct a final conflict check before confirming the engagement.';
reasons.forEach(r=>{const li=document.createElement('li');li.textContent=r;list.appendChild(li);});
} else if(score>=3||(score>=2&&flags.length<=1)){
panel.classList.add('review');
title.innerHTML='⚠️ Requires further review';
body.textContent='Your application does not clearly meet all criteria. A supervising solicitor will conduct a discretionary assessment. We will be in touch within 5 working days.';
[...reasons,...flags].forEach(r=>{const li=document.createElement('li');li.textContent=r;list.appendChild(li);});
} else {
panel.classList.add('ineligible');
title.innerHTML='❌ Does not meet low bono criteria';
body.textContent='Based on the information provided, you do not currently qualify for low bono services. Please consider the Legal Aid Bureau or Pro Bono Singapore Community Legal Clinics.';
flags.forEach(r=>{const li=document.createElement('li');li.textContent=r;list.appendChild(li);});
}
panel.scrollIntoView({behavior:'smooth',block:'nearest'});
}
function efReset() {
if(confirm('Reset all fields?')){
document.querySelectorAll('#eligibility-form input,#eligibility-form select,#eligibility-form textarea').forEach(el=>{
if(el.type==='checkbox'||el.type==='radio') el.checked=false; else el.value='';
});
document.querySelectorAll('.ef-radio-item,.ef-check-item').forEach(el=>el.classList.remove('selected'));
document.getElementById('ef-result').style.display='none';
document.getElementById('ef-total').textContent='SGD 0';
document.getElementById('ef-hhdisp').textContent='—';
document.getElementById('ef-pchi').textContent='—';
document.getElementById('ef-barwrap').style.display='none';
}
}
const sections = document.querySelectorAll('section[id]');
const navLinks = document.querySelectorAll('.nav-links a');
window.addEventListener('scroll', () => {
let current = '';
sections.forEach(s => { if(window.scrollY >= s.offsetTop - 100) current = s.getAttribute('id'); });
navLinks.forEach(a => { a.style.color = a.getAttribute('href')==='#'+current ? 'var(--gold)' : ''; });
});
</script>
</body>
</html>