Contact Us
Main Office – Orange County
17541 17th Street, Suite 100
Tustin, CA 92780
Equitable Building
3435 Wilshire Blvd., Suite 1103
Los Angeles, CA 90010
San Francisco/San Jose: Please call for location information
All meetings are by Appointment Only.
Please call 949-975-1870
:root {
–navy: #1a2744;
–navy-light: #243357;
–gold: #c9a84c;
–gold-light: #e8d5a3;
–cream: #faf8f4;
–white: #ffffff;
–mid: #6b7280;
–light: #e5e7eb;
–lighter: #f3f4f6;
–green: #2d6a4f;
–warn: #fef3c7;
–warn-border: #f59e0b;
–shadow: 0 1px 8px rgba(26,39,68,0.08);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: ‘Source Sans 3’, sans-serif; background: var(–cream); color: var(–navy); min-height: 100vh; }
header { background: var(–navy); padding: 16px 32px; display: flex; align-items: center; justify-content: space-between; border-bottom: 3px solid var(–gold); }
.hdr-left { display: flex; align-items: center; gap: 14px; }
.hdr-title { font-family: ‘Playfair Display’, serif; font-size: 1.15rem; color: var(–white); }
.hdr-sub { font-size: 0.7rem; color: var(–gold-light); letter-spacing: 0.1em; text-transform: uppercase; margin-top: 2px; }
.hdr-badge { background: var(–gold); color: var(–navy); font-size: 0.7rem; font-weight: 600; padding: 3px 10px; border-radius: 20px; }
.main { max-width: 960px; margin: 0 auto; padding: 28px 20px 60px; }
.notice { background: #eff6ff; border-left: 3px solid var(–navy); padding: 12px 16px; border-radius: 0 6px 6px 0; font-size: 0.85rem; margin-bottom: 20px; }
.upload-zone { background: var(–white); border: 2px dashed var(–gold); border-radius: 12px; padding: 48px 32px; text-align: center; cursor: pointer; transition: all 0.2s; margin-bottom: 20px; }
.upload-zone:hover { background: #fffdf7; border-color: var(–navy); }
.upload-zone.drag { background: #fffdf7; border-color: var(–navy); }
.uz-icon { font-size: 2.5rem; margin-bottom: 12px; }
.uz-title { font-family: ‘Playfair Display’, serif; font-size: 1.3rem; margin-bottom: 6px; }
.uz-sub { color: var(–mid); font-size: 0.875rem; margin-bottom: 20px; }
.btn { padding: 8px 20px; border-radius: 6px; font-family: ‘Source Sans 3’, sans-serif; font-size: 0.85rem; font-weight: 600; cursor: pointer; border: none; transition: all 0.15s; white-space: nowrap; }
.btn-ghost { background: transparent; border: 1.5px solid var(–light); color: var(–mid); }
.btn-ghost:hover { border-color: var(–navy); color: var(–navy); }
.btn-navy { background: var(–navy); color: var(–white); }
.btn-navy:hover { background: var(–navy-light); }
.btn-gold { background: var(–gold); color: var(–navy); }
.btn-gold:hover { background: #b8942e; }
.btn-green { background: var(–green); color: var(–white); }
.btn-pp { background: #1a6b3a; color: #fff; font-size: 0.9rem; padding: 9px 22px; border: none; border-radius: 6px; cursor: pointer; font-weight: 600; font-family: ‘Source Sans 3’, sans-serif; }
.btn-pp:hover { background: #145530; }
.btn-pp:disabled { opacity: 0.6; cursor: not-allowed; }
.status-bar { background: #1a2744; color: #e8d5a3; padding: 13px 20px; border-radius: 8px; margin-bottom: 20px; font-size: 0.875rem; gap: 12px; }
.spinner { width: 18px; height: 18px; border: 2px solid rgba(201,168,76,0.3); border-top-color: var(–gold); border-radius: 50%; animation: spin 0.8s linear infinite; flex-shrink: 0; }
@keyframes spin { to { transform: rotate(360deg); } }
.results { display: none; }
.results-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 2px solid var(–gold); }
.results-title { font-family: ‘Playfair Display’, serif; font-size: 1.3rem; }
.results-sub { font-size: 0.8rem; color: var(–mid); margin-top: 3px; }
.action-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.card { background: var(–white); border-radius: 10px; margin-bottom: 14px; box-shadow: var(–shadow); overflow: hidden; }
.card-hdr { background: var(–navy); color: var(–white); padding: 11px 18px; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; }
.card-body { padding: 18px; }
.field-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.field-group { display: flex; flex-direction: column; gap: 4px; }
.field-label { font-size: 0.7rem; font-weight: 600; color: var(–mid); text-transform: uppercase; letter-spacing: 0.07em; }
.field-input { padding: 7px 10px; border: 1.5px solid var(–light); border-radius: 5px; font-family: ‘Source Sans 3’, sans-serif; font-size: 0.875rem; color: var(–navy); background: var(–cream); width: 100%; transition: border-color 0.15s; }
.field-input:focus { outline: none; border-color: var(–gold); background: var(–white); }
.field-input.empty { border-color: var(–warn-border); background: var(–warn); }
.badge { font-size: 0.7rem; padding: 2px 8px; border-radius: 20px; background: var(–gold-light); color: #7c5e10; font-weight: 600; }
.sub-item { border: 1px solid var(–light); border-radius: 8px; padding: 14px; margin-bottom: 10px; background: #eff6ff; }
.sub-item-title { font-size: 0.75rem; font-weight: 600; color: var(–navy); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid var(–light); }
.pp-status { display: none; padding: 14px 18px; border-radius: 8px; border: 1px solid; margin-top: 14px; font-size: 0.875rem; line-height: 1.5; }
.export-panel { display: none; background: var(–white); border-radius: 10px; padding: 20px; margin-top: 14px; box-shadow: var(–shadow); }
.export-title { font-family: ‘Playfair Display’, serif; font-size: 1.1rem; margin-bottom: 14px; }
.json-block { background: #0f1a33; color: #a5f3b4; padding: 14px; border-radius: 6px; font-family: ‘Courier New’, monospace; font-size: 0.75rem; white-space: pre-wrap; max-height: 300px; overflow-y: auto; margin-bottom: 12px; }
.pp-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; margin-bottom: 14px; }
.pp-table th { background: var(–lighter); padding: 8px 12px; text-align: left; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(–mid); border-bottom: 1px solid var(–light); }
.pp-table td { padding: 8px 12px; border-bottom: 1px solid var(–lighter); color: var(–navy); }
.pp-section-row td { background: var(–navy); color: var(–gold-light); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 6px 12px; }
footer { text-align: center; padding: 20px; font-size: 0.75rem; color: var(–mid); border-top: 1px solid var(–light); margin-top: 40px; }