@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap');


#rp-landing *, #rp-landing *::before, #rp-landing *::after { margin:0; padding:0; box-sizing:border-box; }
#rp-landing { font-family:'Montserrat',sans-serif; color:#1E2A38; line-height:1.7; background:#fff; }
#rp-landing a { color:inherit; }
#rp-landing img { display:block; max-width:100%; }

/* VARIABLES via CSS props */
#rp-landing {
  --blue:#3B7DC8; --blue-dark:#2d6ab5; --navy:#1D3557;
  --footer-bg:#2e5f94; --white:#fff; --gray-bg:#F4F7FB;
  --gray-mid:#E8EDF3; --text:#1E2A38; --muted:#6B7A90;
  --border:#DDE4EE; --ease:0.25s ease; --r:6px; --max:1160px;
}

/* UTILITIES */
#rp-landing .rp-inner { max-width:var(--max); margin:0 auto; padding:0 2rem; }
#rp-landing .rp-label { font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--blue); margin-bottom:10px; }
#rp-landing .rp-h2 { font-size:clamp(1.6rem,3.2vw,2.4rem); font-weight:800; line-height:1.2; color:var(--text); }
#rp-landing .rp-rule { width:44px; height:3px; background:var(--blue); margin:14px 0 22px; border-radius:2px; }
#rp-landing .rp-rule.center { margin-left:auto; margin-right:auto; }
#rp-landing .btn-blue { display:inline-block; background:var(--blue); color:#fff; padding:13px 30px; border-radius:var(--r); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; border:2px solid var(--blue); transition:background var(--ease),border-color var(--ease); }
#rp-landing .btn-blue:hover { background:var(--blue-dark); border-color:var(--blue-dark); }
#rp-landing .btn-ghost { display:inline-block; color:#fff; padding:13px 30px; border-radius:var(--r); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; border:2px solid rgba(255,255,255,.65); transition:background var(--ease),border-color var(--ease); }
#rp-landing .btn-ghost:hover { background:rgba(255,255,255,.12); border-color:#fff; }

/* HEADER */
#rp-landing header { position:sticky; top:0; z-index:200; background:#fff; border-bottom:1px solid var(--border); height:70px; }
#rp-landing .rp-header-inner { max-width:var(--max); margin:0 auto; padding:0 2rem; display:flex; align-items:center; justify-content:space-between; height:100%; }
#rp-landing .rp-logo { display:flex; align-items:center; gap:11px; text-decoration:none; }
#rp-landing .rp-logo-words { display:flex; flex-direction:column; line-height:1.25; }
#rp-landing .rp-logo-words .brand { font-size:17px; font-weight:800; letter-spacing:.18em; color:var(--text); }
#rp-landing .rp-logo-words .agent { font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }

/* HERO */
#rp-landing .rp-hero { position:relative; min-height:92vh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
#rp-landing .rp-hero-bg { position:absolute; inset:0; background-image:url('https://images.unsplash.com/photo-1512917774080-9991f1c4c750?w=1800&auto=format&fit=crop&q=80'); background-size:cover; background-position:center; }
#rp-landing .rp-hero-overlay { position:absolute; inset:0; background:linear-gradient(160deg,rgba(29,53,87,.82) 0%,rgba(29,53,87,.68) 100%); }
#rp-landing .rp-hero-content { position:relative; z-index:2; max-width:760px; padding:2rem; }
#rp-landing .rp-eyebrow { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.25em; text-transform:uppercase; color:rgba(255,255,255,.75); margin-bottom:1.25rem; padding:6px 16px; border:1px solid rgba(255,255,255,.25); border-radius:20px; }
#rp-landing .rp-hero h1 { font-size:clamp(2.2rem,5.5vw,4rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:1.25rem; }
#rp-landing .rp-hero h1 span { color:#88BEF5; }
#rp-landing .rp-hero-sub { font-size:1.1rem; color:rgba(255,255,255,.85); max-width:540px; margin:0 auto 2.25rem; font-weight:400; }
#rp-landing .rp-hero-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
#rp-landing .rp-scroll-cue { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:2; color:rgba(255,255,255,.5); font-size:20px; animation:rp-bounce 2s infinite; }
@keyframes rp-bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }

/* ABOUT */
#rp-landing .rp-about { background:#fff; padding:96px 2rem; }
#rp-landing .rp-about-grid { display:grid; grid-template-columns:5fr 7fr; gap:5rem; align-items:center; }
#rp-landing .rp-photo-wrap { position:relative; }
#rp-landing .rp-photo-frame { width:100%; aspect-ratio:3/4; border-radius:8px; overflow:hidden; background:var(--gray-bg); display:flex; align-items:center; justify-content:center; }
#rp-landing .rp-photo-ph { text-align:center; color:var(--muted); }
#rp-landing .rp-photo-ph i { font-size:5rem; color:#C5D5E8; margin-bottom:12px; display:block; }
#rp-landing .rp-photo-ph p { font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
#rp-landing .rp-photo-badge { position:absolute; bottom:-16px; right:-16px; background:var(--blue); color:#fff; border-radius:var(--r); padding:14px 18px; text-align:center; min-width:100px; }
#rp-landing .rp-photo-badge .big { font-size:1.8rem; font-weight:800; line-height:1; }
#rp-landing .rp-photo-badge .small { font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; opacity:.85; }
#rp-landing .rp-about-text > p { color:var(--muted); margin-bottom:1rem; font-size:.975rem; }
#rp-landing .rp-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gray-mid); border:1px solid var(--gray-mid); border-radius:var(--r); overflow:hidden; margin-top:2.5rem; }
#rp-landing .rp-stat-box { background:#fff; padding:1.25rem 1rem; text-align:center; }
#rp-landing .rp-stat-num { font-size:2rem; font-weight:800; color:var(--blue); line-height:1; }
#rp-landing .rp-stat-lbl { font-size:10px; font-weight:700; color:var(--muted); letter-spacing:.12em; text-transform:uppercase; margin-top:5px; }

/* SERVICES */
#rp-landing .rp-services { background:var(--gray-bg); padding:96px 2rem; }
#rp-landing .rp-services-head { text-align:center; margin-bottom:3.5rem; }
#rp-landing .rp-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; }
#rp-landing .rp-svc-card { background:#fff; border:1px solid var(--border); border-radius:8px; padding:2.25rem 1.75rem; transition:transform var(--ease),box-shadow var(--ease); }
#rp-landing .rp-svc-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(59,125,200,.13); }
#rp-landing .rp-svc-icon { width:54px; height:54px; background:#EAF2FB; border-radius:var(--r); display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem; }
#rp-landing .rp-svc-icon i { font-size:21px; color:var(--blue); }
#rp-landing .rp-svc-card h3 { font-size:1.1rem; font-weight:700; margin-bottom:.75rem; color:var(--text); }
#rp-landing .rp-svc-card p { font-size:.9rem; color:var(--muted); line-height:1.8; }
#rp-landing .rp-svc-link { display:inline-flex; align-items:center; gap:6px; margin-top:1.25rem; font-size:12px; font-weight:700; color:var(--blue); text-decoration:none; text-transform:uppercase; letter-spacing:.1em; }
#rp-landing .rp-svc-link i { font-size:10px; transition:transform var(--ease); }
#rp-landing .rp-svc-link:hover i { transform:translateX(4px); }

/* WHY BLUEFIELD */
#rp-landing .rp-why { position:relative; padding:100px 2rem; overflow:hidden; }
#rp-landing .rp-why-bg { position:absolute; inset:0; background-image:url('https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1600&auto=format&fit=crop&q=60'); background-size:cover; background-position:center; }
#rp-landing .rp-why-overlay { position:absolute; inset:0; background:rgba(29,53,87,.91); }
#rp-landing .rp-why .rp-inner { position:relative; z-index:2; }
#rp-landing .rp-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
#rp-landing .rp-why-left .rp-label { color:rgba(255,255,255,.55); }
#rp-landing .rp-why-left .rp-h2 { color:#fff; }
#rp-landing .rp-why-left .rp-rule { background:rgba(255,255,255,.3); }
#rp-landing .rp-why-left p { color:rgba(255,255,255,.75); font-size:.975rem; margin-bottom:1rem; }
#rp-landing .rp-why-right { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); border-radius:8px; overflow:hidden; }
#rp-landing .rp-why-stat { background:rgba(255,255,255,.04); padding:2rem 1.5rem; text-align:center; }
#rp-landing .rp-why-stat-num { font-size:2.4rem; font-weight:800; color:#fff; line-height:1; }
#rp-landing .rp-why-stat-lbl { font-size:10px; font-weight:600; color:rgba(255,255,255,.55); letter-spacing:.15em; text-transform:uppercase; margin-top:7px; }

/* TESTIMONIALS */
#rp-landing .rp-testimonials { background:#fff; padding:96px 2rem; }
#rp-landing .rp-testi-head { text-align:center; margin-bottom:3.5rem; }
#rp-landing .rp-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; }
#rp-landing .rp-testi-card { background:var(--gray-bg); border:1px solid var(--border); border-radius:8px; padding:2rem 1.75rem; }
#rp-landing .rp-stars { color:#F59E0B; font-size:13px; letter-spacing:2px; margin-bottom:10px; }
#rp-landing .rp-quote-mark { font-family:Georgia,serif; font-size:3.5rem; line-height:.8; color:var(--blue); opacity:.45; margin-bottom:10px; }
#rp-landing .rp-testi-text { font-size:.9rem; color:var(--text); line-height:1.85; font-style:italic; margin-bottom:1.5rem; }
#rp-landing .rp-testi-author { display:flex; align-items:center; gap:12px; }
#rp-landing .rp-author-init { width:40px; height:40px; border-radius:50%; background:#D0E5F7; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:800; color:var(--blue); flex-shrink:0; }
#rp-landing .rp-author-name { font-size:13px; font-weight:700; color:var(--text); }
#rp-landing .rp-author-loc { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }

/* CONTACT */
#rp-landing .rp-contact { background:var(--gray-bg); padding:96px 2rem; }
#rp-landing .rp-contact-grid { display:grid; grid-template-columns:5fr 7fr; gap:4.5rem; align-items:start; }
#rp-landing .rp-contact-left > p { color:var(--muted); font-size:.975rem; margin-bottom:2.25rem; }
#rp-landing .rp-detail { display:flex; align-items:flex-start; gap:14px; margin-bottom:1.4rem; }
#rp-landing .rp-detail-icon { width:42px; height:42px; flex-shrink:0; border-radius:var(--r); background:#fff; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; }
#rp-landing .rp-detail-icon i { font-size:15px; color:var(--blue); }
#rp-landing .rp-detail-lbl { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); margin-bottom:2px; }
#rp-landing .rp-detail-val { font-size:15px; font-weight:700; color:var(--text); text-decoration:none; display:block; }
#rp-landing .rp-detail-val:hover { color:var(--blue); }
#rp-landing .rp-form-card { background:#fff; border:1px solid var(--border); border-radius:10px; padding:2.5rem; }
#rp-landing .rp-form-card h3 { font-size:1.2rem; font-weight:800; margin-bottom:1.5rem; color:var(--text); }
#rp-landing .rp-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
#rp-landing .rp-field { margin-bottom:1.1rem; }
#rp-landing .rp-field label { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--text); margin-bottom:6px; font-family:'Montserrat',sans-serif; }
#rp-landing .rp-field input, #rp-landing .rp-field select, #rp-landing .rp-field textarea { width:100%; padding:11px 14px; border:1.5px solid var(--border); border-radius:var(--r); font-family:'Montserrat',sans-serif; font-size:14px; color:var(--text); background:#fff; outline:none; transition:border-color var(--ease),box-shadow var(--ease); }
#rp-landing .rp-field input:focus, #rp-landing .rp-field select:focus, #rp-landing .rp-field textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(59,125,200,.12); }
#rp-landing .rp-field textarea { resize:vertical; min-height:110px; }
#rp-landing .rp-submit { width:100%; padding:14px; background:var(--blue); color:#fff; border:none; border-radius:var(--r); font-family:'Montserrat',sans-serif; font-size:12px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; transition:background var(--ease); margin-top:4px; }
#rp-landing .rp-submit:hover { background:var(--blue-dark); }
#rp-landing .rp-form-note { font-size:11px; color:var(--muted); text-align:center; margin-top:12px; }
#rp-landing .rp-success { display:none; text-align:center; padding:2.5rem 1rem; }
#rp-landing .rp-success i { font-size:2.5rem; color:#16A34A; margin-bottom:12px; display:block; }
#rp-landing .rp-success h4 { font-size:1.1rem; font-weight:700; margin-bottom:6px; color:var(--text); }
#rp-landing .rp-success p { font-size:.9rem; color:var(--muted); }

/* FOOTER */
#rp-landing footer { background:var(--footer-bg); padding:3.5rem 2rem; text-align:center; }
#rp-landing .rp-footer-logo { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:1rem; }
#rp-landing .rp-footer-logo .brand { font-size:18px; font-weight:800; letter-spacing:.2em; color:#fff; }
#rp-landing .rp-footer-agent { font-size:13px; color:rgba(255,255,255,.7); margin-bottom:4px; }
#rp-landing .rp-footer-addr { font-size:12px; color:rgba(255,255,255,.45); margin-bottom:1.5rem; }
#rp-landing .rp-footer-links { display:flex; justify-content:center; gap:2rem; margin-bottom:1.5rem; flex-wrap:wrap; }
#rp-landing .rp-footer-links a { font-size:13px; font-weight:600; color:rgba(255,255,255,.8); text-decoration:none; display:flex; align-items:center; gap:6px; }
#rp-landing .rp-footer-links a:hover { color:#fff; }
#rp-landing .rp-footer-links i { font-size:12px; }
#rp-landing .rp-footer-social { display:flex; justify-content:center; gap:10px; margin-bottom:1.5rem; }
#rp-landing .rp-footer-social a { width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.8); text-decoration:none; font-size:13px; transition:background var(--ease),border-color var(--ease); }
#rp-landing .rp-footer-social a:hover { background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.5); }
#rp-landing .rp-footer-divider { border:none; border-top:1px solid rgba(255,255,255,.12); margin:0 auto 1.5rem; max-width:200px; }
#rp-landing .rp-footer-legal { font-size:11px; color:rgba(255,255,255,.35); line-height:1.8; }

/* RESPONSIVE */
@media (max-width:960px) {
  #rp-landing .rp-about-grid, #rp-landing .rp-why-grid, #rp-landing .rp-contact-grid { grid-template-columns:1fr; gap:3rem; }
  #rp-landing .rp-services-grid, #rp-landing .rp-testi-grid { grid-template-columns:1fr 1fr; }
  #rp-landing .rp-photo-wrap { max-width:380px; margin:0 auto; }
}
@media (max-width:640px) {
  #rp-landing .rp-services-grid, #rp-landing .rp-testi-grid { grid-template-columns:1fr; }
  #rp-landing .rp-form-row { grid-template-columns:1fr; }
  #rp-landing .rp-why-right { grid-template-columns:1fr 1fr; }
  #rp-landing .rp-hero h1 { font-size:2rem; }
  #rp-landing .rp-about, #rp-landing .rp-services, #rp-landing .rp-why, #rp-landing .rp-testimonials, #rp-landing .rp-contact { padding:64px 1.25rem; }
}