/* ════════════════════════════════════════
   CONTACT US PAGE — Light Theme
════════════════════════════════════════ */

/* Hero */
.cu-hero{position:relative;overflow:hidden;padding:130px 0 90px;background:linear-gradient(135deg,#f0f4ff 0%,#e8f0fe 50%,#f5f0ff 100%)}
.cu-hero-bg{position:absolute;inset:0;pointer-events:none}
.cu-grid-overlay{display:none}
.cu-glow{position:absolute;border-radius:50%;filter:blur(120px);opacity:.18}
.cu-glow--a{width:700px;height:700px;background:radial-gradient(circle,#3b82f6,transparent 70%);top:-300px;left:-150px}
.cu-glow--b{width:500px;height:500px;background:radial-gradient(circle,#818cf8,transparent 70%);top:-100px;right:-100px}
/* Particles */
.cu-particles{position:absolute;inset:0}
.cu-particle{position:absolute;border-radius:50%;background:rgba(37,99,235,.25);animation:cuFloat linear infinite}
.cu-particle--1{width:3px;height:3px;left:10%;top:20%;animation-duration:18s;animation-delay:-2s}
.cu-particle--2{width:2px;height:2px;left:20%;top:60%;animation-duration:22s;animation-delay:-8s}
.cu-particle--3{width:4px;height:4px;left:35%;top:40%;animation-duration:16s;animation-delay:-5s}
.cu-particle--4{width:2px;height:2px;left:50%;top:15%;animation-duration:25s;animation-delay:-12s}
.cu-particle--5{width:3px;height:3px;left:65%;top:70%;animation-duration:20s;animation-delay:-3s}
.cu-particle--6{width:2px;height:2px;left:75%;top:30%;animation-duration:19s;animation-delay:-9s}
.cu-particle--7{width:4px;height:4px;left:85%;top:55%;animation-duration:23s;animation-delay:-1s}
.cu-particle--8{width:2px;height:2px;left:90%;top:20%;animation-duration:17s;animation-delay:-6s}
.cu-particle--9{width:3px;height:3px;left:5%;top:80%;animation-duration:21s;animation-delay:-4s}
.cu-particle--10{width:2px;height:2px;left:45%;top:85%;animation-duration:24s;animation-delay:-11s}
.cu-particle--11{width:3px;height:3px;left:28%;top:10%;animation-duration:15s;animation-delay:-7s}
.cu-particle--12{width:4px;height:4px;left:60%;top:45%;animation-duration:26s;animation-delay:-13s}
@keyframes cuFloat{0%{transform:translateY(0) translateX(0) scale(1);opacity:.4}25%{opacity:.8}50%{transform:translateY(-80px) translateX(20px) scale(1.2);opacity:.3}75%{opacity:.7}100%{transform:translateY(-160px) translateX(-10px) scale(0.8);opacity:0}}

.cu-hero-inner{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:0 24px;text-align:center}
.cu-hero-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(5,150,105,.08);border:1px solid rgba(5,150,105,.2);color:#059669;font-size:.75rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:6px 14px;border-radius:20px;margin-bottom:24px}
.cu-hero-badge svg{width:14px;height:14px}
.cu-hero-h1{font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:800;line-height:1.12;color:var(--ink);margin-bottom:20px}
.cu-hero-accent{background:linear-gradient(90deg,#2563eb,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cu-hero-sub{color:var(--body);font-size:1.05rem;line-height:1.75;margin-bottom:36px;max-width:580px;margin-left:auto;margin-right:auto}

/* Hero chips */
.cu-chips{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.cu-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;background:rgba(255,255,255,.8);border:1px solid rgba(37,71,208,.15);border-radius:30px;color:var(--ink2);font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;backdrop-filter:blur(4px)}
.cu-chip svg{width:16px;height:16px;flex-shrink:0}
.cu-chip:hover{background:#fff;border-color:rgba(37,99,235,.4);transform:translateY(-2px);box-shadow:0 4px 16px rgba(37,71,208,.12)}
.cu-chip--green{background:rgba(5,150,105,.06);border-color:rgba(5,150,105,.2);color:#059669}
.cu-chip--green:hover{background:rgba(5,150,105,.1);border-color:rgba(5,150,105,.4)}

/* Main layout */
.cu-main{padding:80px 0 100px;background:#ffffff}
.cu-main-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:380px 1fr;gap:48px;align-items:start}

/* Channel cards */
.cu-channels{display:flex;flex-direction:column;gap:16px}
.cu-channel-card{background:#fff;border:1.5px solid var(--divider);border-radius:16px;padding:24px;transition:border-color .2s,box-shadow .2s}
.cu-channel-card:hover{border-color:rgba(37,99,235,.2);box-shadow:0 4px 24px rgba(37,71,208,.07)}
.cu-channel-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.cu-channel-icon{width:48px;height:48px;border-radius:12px;background:rgba(37,71,208,.07);border:1px solid rgba(37,71,208,.15);display:flex;align-items:center;justify-content:center;color:#2547d0;flex-shrink:0}
.cu-channel-icon svg{width:22px;height:22px}
.cu-channel-head h3{font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:5px}
.cu-channel-badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:2px 8px;border-radius:20px}
.cu-channel-badge--blue{background:rgba(37,71,208,.08);color:#2547d0;border:1px solid rgba(37,71,208,.15)}
.cu-channel-badge--green{background:rgba(5,150,105,.08);color:#059669;border:1px solid rgba(5,150,105,.2)}
.cu-channel-badge--purple{background:rgba(79,70,229,.07);color:#4f46e5;border:1px solid rgba(79,70,229,.15)}
.cu-channel-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--divider)}
.cu-channel-row:last-child{border-bottom:none}
.cu-channel-lbl{font-size:.78rem;color:var(--faint)}
.cu-channel-val{font-size:.82rem;color:var(--ink2);text-decoration:none;transition:color .2s}
.cu-channel-val:hover{color:#2563eb}
.cu-channel-val--lg{font-size:1rem;font-weight:700;color:#2563eb}
.cu-mono{font-family:monospace;font-size:.78rem;color:var(--body);letter-spacing:.02em}
.cu-channel-note{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:.75rem;color:var(--faint)}
.cu-channel-note svg{width:13px;height:13px;flex-shrink:0}
address.cu-address{font-style:normal;font-size:.85rem;color:var(--body);line-height:1.9}

/* Business hours */
.cu-hours-grid{margin-top:12px;border-radius:8px;overflow:hidden;border:1px solid var(--divider)}
.cu-hours-row{display:flex;justify-content:space-between;padding:7px 10px;font-size:.78rem;background:var(--surf2);border-bottom:1px solid var(--divider)}
.cu-hours-row:last-child{border-bottom:none}
.cu-hours-row span:first-child{color:var(--faint)}
.cu-hours-row span:last-child{color:var(--ink2);font-weight:500}
.cu-hours-row--closed span{color:var(--faint) !important;opacity:.6}

/* Grievance nudge */
.cu-grievance-nudge{display:flex;align-items:center;gap:14px;padding:16px 18px;background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.2);border-radius:12px;text-decoration:none;transition:all .2s}
.cu-grievance-nudge:hover{background:rgba(245,158,11,.09);border-color:rgba(245,158,11,.4);transform:translateY(-1px)}
.cu-gn-icon{width:38px;height:38px;border-radius:9px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25);display:flex;align-items:center;justify-content:center;color:#d97706;flex-shrink:0}
.cu-gn-icon svg{width:18px;height:18px}
.cu-gn-text{flex:1}
.cu-gn-text strong{display:block;font-size:.85rem;color:var(--ink);margin-bottom:2px}
.cu-gn-text span{font-size:.75rem;color:var(--faint)}
.cu-gn-arr{width:16px;height:16px;color:var(--faint);flex-shrink:0;transition:transform .2s}
.cu-grievance-nudge:hover .cu-gn-arr{transform:translateX(4px);color:#d97706}

/* Form card */
.cu-form-wrap{display:flex;flex-direction:column;gap:20px}
.cu-form-card{background:#fff;border:1.5px solid var(--divider);border-radius:20px;padding:36px;box-shadow:0 2px 16px rgba(14,30,54,.05)}
.cu-form-header{margin-bottom:24px}
.cu-form-header h2{font-size:1.4rem;font-weight:700;color:var(--ink);margin-bottom:6px}
.cu-form-header p{color:var(--body);font-size:.9rem}

/* Topic tabs */
.cu-topics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.cu-topic{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;background:var(--surf2);border:1.5px solid var(--divider);border-radius:30px;color:var(--body);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}
.cu-topic svg{width:14px;height:14px}
.cu-topic:hover{background:rgba(37,99,235,.06);border-color:rgba(37,99,235,.25);color:var(--ink)}
.cu-topic--active{background:rgba(37,71,208,.08);border-color:#2563eb;color:#1e40af}

/* Form fields */
.cu-form-row{display:flex;gap:16px}
.cu-form-row--2>*{flex:1}
.cu-field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.cu-field--check{flex-direction:row;align-items:flex-start;gap:0}
.cu-label{font-size:.8rem;font-weight:600;color:var(--ink2);letter-spacing:.03em}
.cu-req{color:#ef4444}
.cu-input-wrap{position:relative;display:flex;align-items:center}
.cu-input-ico{position:absolute;left:14px;width:16px;height:16px;color:var(--faint);pointer-events:none;flex-shrink:0}
.cu-input-pre{position:absolute;left:14px;color:var(--body);font-size:.9rem;font-weight:600}
.cu-input{width:100%;background:#fff;border:1.5px solid rgba(14,30,54,.12);border-radius:10px;color:var(--ink);font-size:.9rem;padding:12px 14px 12px 42px;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}
.cu-input--pre{padding-left:28px}
.cu-input::placeholder{color:var(--faint)}
.cu-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.cu-select-wrap{position:relative}
.cu-select-wrap .cu-input{padding-left:14px;cursor:pointer}
.cu-select-chev{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--faint);pointer-events:none}
.cu-select option{background:#fff;color:var(--ink)}
.cu-textarea{width:100%;background:#fff;border:1.5px solid rgba(14,30,54,.12);border-radius:10px;color:var(--ink);font-size:.9rem;padding:12px 14px;outline:none;transition:border-color .2s;resize:vertical;min-height:120px;font-family:inherit}
.cu-textarea::placeholder{color:var(--faint)}
.cu-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.cu-char-count{text-align:right;font-size:.72rem;color:var(--faint);margin-top:4px}
.cu-err{font-size:.75rem;color:#ef4444;min-height:16px}
.cu-field--error .cu-input,.cu-field--error .cu-textarea{border-color:rgba(239,68,68,.4)}

/* Loan fields */
.cu-loan-fields{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

/* Checkbox */
.cu-check-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.82rem;color:var(--body);line-height:1.5;width:100%}
.cu-check{position:absolute;opacity:0;width:0;height:0}
.cu-check-custom{width:18px;height:18px;min-width:18px;border-radius:5px;border:1.5px solid rgba(14,30,54,.2);background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-top:1px}
.cu-check:checked + .cu-check-custom{background:#2563eb;border-color:#2563eb}
.cu-check:checked + .cu-check-custom::after{content:'';display:block;width:10px;height:6px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) translateY(-1px)}
.cu-check-label a{color:#2563eb;text-decoration:none}
.cu-check-label a:hover{text-decoration:underline}

/* Submit button */
.cu-submit{position:relative;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:white;font-size:1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .25s;overflow:hidden;margin-top:8px}
.cu-submit:hover:not(.cu-submit--loading){background:linear-gradient(135deg,#3358e0,#2040c0);transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,71,208,.3)}
.cu-submit-arr{width:18px;height:18px;transition:transform .2s}
.cu-submit:hover .cu-submit-arr{transform:translateX(4px)}
.cu-submit-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}
.cu-submit--loading .cu-submit-text,.cu-submit--loading .cu-submit-arr{opacity:0}
.cu-submit--loading .cu-submit-spinner{display:block;position:absolute}
@keyframes spin{to{transform:rotate(360deg)}}

/* Success state */
.cu-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;animation:fadeIn .4s ease}
.cu-success-icon{width:80px;height:80px;margin:0 auto 24px}
.cu-success h3{font-size:1.4rem;font-weight:700;color:var(--ink);margin-bottom:10px}
.cu-success p{color:var(--body);font-size:.9rem;line-height:1.7;margin-bottom:8px}
.cu-success p strong{color:var(--ink)}
.cu-success-ref{font-size:.8rem !important}
.cu-success-ref code{background:rgba(37,71,208,.07);padding:2px 8px;border-radius:4px;font-family:monospace;color:#2547d0}
.cu-success-reset{margin-top:20px;background:none;border:1.5px solid rgba(14,30,54,.15);color:var(--body);padding:10px 24px;border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .2s}
.cu-success-reset:hover{border-color:rgba(37,99,235,.4);color:var(--ink)}

/* Trust bar */
.cu-trust{display:flex;flex-wrap:wrap;gap:20px;padding:20px 24px;background:var(--surf2);border:1px solid var(--divider);border-radius:12px}
.cu-trust-item{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--body)}
.cu-trust-item svg{width:15px;height:15px;color:#059669}

/* Map strip */
.cu-map-strip{padding:80px 0;background:var(--surf2);border-top:1px solid var(--divider)}
.cu-map-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cu-map-info h2{font-size:1.8rem;font-weight:700;color:var(--ink);margin-bottom:12px}
.cu-map-info p{color:var(--body);font-size:.95rem;line-height:1.7;margin-bottom:28px}
.cu-map-detail{display:flex;flex-direction:column;gap:14px}
.cu-map-row{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;color:var(--body);line-height:1.6}
.cu-map-row svg{width:18px;height:18px;flex-shrink:0;color:#2563eb;margin-top:1px}
.cu-map-row a{color:#2563eb;text-decoration:none}
.cu-map-row a:hover{text-decoration:underline}
.cu-map-visual{border-radius:20px;overflow:hidden;border:1px solid var(--divider)}
.cu-office-svg{width:100%;height:auto;display:block}

/* Bottom strip */
.cu-bottom{padding:40px 0;background:#fff;border-top:1px solid var(--divider)}
.cu-bottom-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.cu-social-wrap{display:flex;align-items:center;gap:16px}
.cu-social-label{font-size:.75rem;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}
.cu-socials{display:flex;gap:10px}
.cu-social{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s;border:1px solid transparent}
.cu-social svg{width:16px;height:16px}
/* LinkedIn */
.cu-social[aria-label="LinkedIn"]{background:rgba(10,102,194,.08);border-color:rgba(10,102,194,.2);color:#0A66C2}
.cu-social[aria-label="LinkedIn"]:hover{background:#0A66C2;color:#fff;transform:translateY(-2px);box-shadow:0 4px 14px rgba(10,102,194,.35)}
/* Twitter / X */
.cu-social[aria-label="Twitter / X"]{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.12);color:#000}
.cu-social[aria-label="Twitter / X"]:hover{background:#000;color:#fff;transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.2)}
/* Facebook */
.cu-social[aria-label="Facebook"]{background:rgba(24,119,242,.08);border-color:rgba(24,119,242,.2);color:#1877F2}
.cu-social[aria-label="Facebook"]:hover{background:#1877F2;color:#fff;transform:translateY(-2px);box-shadow:0 4px 14px rgba(24,119,242,.35)}
/* Instagram */
.cu-social[aria-label="Instagram"]{background:rgba(225,48,108,.07);border-color:rgba(225,48,108,.18);color:#E1306C}
.cu-social[aria-label="Instagram"]:hover{background:linear-gradient(135deg,#F58529,#DD2A7B,#8134AF);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 4px 14px rgba(221,42,123,.35)}
.cu-quicklinks{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.cu-quicklinks span{width:1px;height:14px;background:var(--divider)}
.cu-ql{font-size:.8rem;color:var(--faint);text-decoration:none;transition:color .2s}
.cu-ql:hover{color:#2563eb}

/* Responsive */
@media(max-width:1024px){
  .cu-main-inner{grid-template-columns:1fr}
  .cu-map-inner{grid-template-columns:1fr}
  .cu-map-visual{max-width:480px}
}
