/*
Theme Name: Credere Ridge Advisors
Theme URI: https://www.credereridge.com/
Author: Credere Ridge Advisors
Description: Custom real estate, investment, capital, property services, and advisory theme for Credere Ridge Advisors.
Version: 1.2.0
Text Domain: credere-ridge
*/

:root {
  --cr-navy: #0b1f33;
  --cr-slate: #274156;
  --cr-gold: #c89b3c;
  --cr-sand: #f4f0e8;
  --cr-white: #ffffff;
  --cr-ink: #13202b;
  --cr-muted: #647381;
  --cr-border: #d9e0e5;
  --cr-success: #246b4b;
  --cr-radius: 14px;
  --cr-shadow: 0 12px 34px rgba(11,31,51,.10);
  --cr-width: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--cr-ink);
  background: var(--cr-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.container { width: min(calc(100% - 32px), var(--cr-width)); margin: 0 auto; }
.section { padding: 68px 0; }
.section.alt { background: #f8fafb; }
.eyebrow { color: var(--cr-gold); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; }
h1,h2,h3,h4 { line-height: 1.12; color: var(--cr-navy); margin-top: 0; }
h1 { font-size: clamp(2.7rem, 6vw, 5.8rem); letter-spacing: -.04em; }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.03em; }
h3 { font-size: 1.35rem; }
p.lead { font-size: clamp(1.1rem, 2vw, 1.35rem); color: #d8e2eb; max-width: 760px; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.98); border-bottom: 1px solid var(--cr-border);
  backdrop-filter: blur(14px);
}
.nav-wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:78px; }
.brand { flex:0 0 auto; font-weight:900; letter-spacing:.08em; color:var(--cr-navy); font-size:1rem; line-height:1.05; }
.brand span { display:block; white-space:nowrap; }
.brand small { display:block; color:var(--cr-gold); font-size:.62rem; letter-spacing:.24em; text-transform:uppercase; margin-top:6px; }
.main-nav>ul { display:flex; gap:22px; list-style:none; padding:0; margin:0; align-items:center; }
.main-nav li { position:relative; }
.main-nav a,.submenu-toggle { font-size:.9rem; font-weight:750; color:var(--cr-slate); white-space:nowrap; }
.main-nav a:hover,.submenu-toggle:hover { color:var(--cr-gold); }
.submenu-toggle { border:0; background:transparent; padding:10px 0; cursor:pointer; font-family:inherit; }
.has-submenu { position:relative; }
.submenu { position:absolute; right:0; top:100%; min-width:245px; background:white; border:1px solid var(--cr-border); border-radius:14px; box-shadow:var(--cr-shadow); padding:10px !important; display:none !important; z-index:9999; }
.submenu::before { content:""; position:absolute; left:0; right:0; top:-8px; height:8px; }
.submenu li { list-style:none; }
.submenu a { display:block; padding:11px 12px; border-radius:9px; }
.submenu a:hover { background:#f6f8fa; }
.has-submenu:hover .submenu,.has-submenu.open .submenu { display:block !important; }
.nav-cta { background:var(--cr-navy); color:white !important; padding:10px 15px; border-radius:9px; }
.nav-cta:hover { background:var(--cr-gold); color:var(--cr-navy) !important; }
.menu-toggle { display:none; width:42px; height:40px; border:1px solid var(--cr-border); background:white; border-radius:10px; padding:9px; }
.menu-toggle span { display:block; height:2px; background:var(--cr-navy); margin:4px 0; transition:.2s; }

.hero {
  min-height: 610px;
  display:flex;
  align-items:center;
  color:white;
  background:
    linear-gradient(90deg, rgba(5,20,35,.94) 0%, rgba(5,20,35,.79) 48%, rgba(5,20,35,.34) 100%),
    radial-gradient(circle at 80% 20%, rgba(200,155,60,.24), transparent 32%),
    linear-gradient(135deg, #0b1f33 0%, #173a58 100%);
}
.hero h1 { color:white; max-width:930px; margin-bottom:20px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.btn {
  display:inline-flex; align-items:center; justify-content:center;
  padding:13px 20px; border-radius:10px; font-weight:800; border:1px solid transparent;
  transition:.2s ease; cursor:pointer;
}
.btn.primary { background:var(--cr-gold); color:#102235; }
.btn.primary:hover { transform:translateY(-1px); filter:brightness(1.04); }
.btn.secondary { color:white; border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.06); }
.btn.dark { background:var(--cr-navy); color:white; }
.btn.outline { border-color:var(--cr-border); color:var(--cr-navy); background:white; }

.stats { margin-top:-34px; position:relative; z-index:5; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); background:white; border-radius:var(--cr-radius); box-shadow:var(--cr-shadow); overflow:hidden; }
.stat { padding:24px; border-right:1px solid var(--cr-border); }
.stat:last-child { border-right:0; }
.stat strong { display:block; font-size:1.45rem; color:var(--cr-navy); }
.stat span { color:var(--cr-muted); font-size:.92rem; }

.section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.section-head p { max-width:650px; color:var(--cr-muted); margin-bottom:0; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.card { background:white; border:1px solid var(--cr-border); border-radius:var(--cr-radius); overflow:hidden; box-shadow:0 8px 20px rgba(11,31,51,.05); }
.card-body { padding:22px; }
.card p { color:var(--cr-muted); }
.icon-card { padding:28px; }
.icon-card .icon { font-size:1.6rem; margin-bottom:14px; }

.property-card .property-thumb { aspect-ratio: 16/10; background:#dfe7ed; object-fit:cover; width:100%; }
.property-meta { display:flex; gap:12px; flex-wrap:wrap; color:var(--cr-muted); font-size:.88rem; margin:10px 0 16px; }
.property-price { color:var(--cr-navy); font-weight:900; font-size:1.25rem; }
.badge { display:inline-flex; padding:5px 9px; border-radius:999px; font-size:.76rem; font-weight:800; background:#eef4f6; color:var(--cr-slate); }
.badge.gold { background:#f7edd3; color:#755516; }

.split { display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.panel { background:var(--cr-navy); color:white; border-radius:22px; padding:38px; }
.panel h2,.panel h3 { color:white; }
.panel p { color:#d4e0e8; }

.process { counter-reset:steps; display:grid; gap:14px; }
.process-item { display:grid; grid-template-columns:48px 1fr; gap:16px; align-items:start; }
.process-item:before { counter-increment:steps; content:counter(steps); display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--cr-gold); color:var(--cr-navy); font-weight:900; }

.cta-band { background:linear-gradient(135deg,var(--cr-navy),#173a58); color:white; padding:54px 0; }
.cta-band h2 { color:white; }
.cta-row { display:flex; justify-content:space-between; align-items:center; gap:30px; }

.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
label { font-weight:800; color:var(--cr-slate); font-size:.9rem; }
input,select,textarea { width:100%; padding:13px 14px; border:1px solid var(--cr-border); border-radius:10px; font:inherit; background:white; }
textarea { min-height:135px; resize:vertical; }
.notice { padding:12px 14px; border-radius:10px; margin-bottom:18px; background:#eef8f2; color:var(--cr-success); font-weight:700; }

.page-hero { background:var(--cr-navy); color:white; padding:78px 0 62px; }
.page-hero h1 { color:white; font-size:clamp(2.5rem,5vw,4.6rem); margin-bottom:10px; }
.page-hero p { color:#d2dee7; max-width:760px; }
.property-detail { display:grid; grid-template-columns:1.15fr .85fr; gap:36px; }
.property-detail .summary { position:sticky; top:100px; align-self:start; }
.meta-table { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.meta-box { background:#f7f9fa; border:1px solid var(--cr-border); padding:14px; border-radius:10px; }
.meta-box small { display:block; color:var(--cr-muted); }

.site-footer { background:#071726; color:#b9c7d2; padding:56px 0 28px; }
.site-footer h4 { color:white; margin-bottom:12px; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:34px; }
.site-footer ul { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:38px; padding-top:22px; font-size:.85rem; }
.disclaimer { font-size:.78rem; color:#8fa2b1; margin-top:18px; max-width:900px; }

@media (max-width: 980px) {
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .grid-3 { grid-template-columns:repeat(2,1fr); }
  .split,.property-detail { grid-template-columns:1fr; }
  .property-detail .summary { position:static; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(2) { border-right:0; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 620px) {
  .section { padding:56px 0; }
  .hero { min-height:620px; }
  .grid-3,.grid-4,.stats-grid,.form-grid,.footer-grid { grid-template-columns:1fr; }
  .stat { border-right:0; border-bottom:1px solid var(--cr-border); }
  .stat:last-child { border-bottom:0; }
  .section-head,.cta-row { align-items:flex-start; flex-direction:column; }
  .field.full { grid-column:auto; }
  .meta-table { grid-template-columns:1fr; }
}

.empty-state { grid-column:1/-1; padding:34px; border:1px dashed #bcc9d2; border-radius:18px; background:linear-gradient(135deg,#f8fafb,#fff); }
.empty-state h3 { font-size:1.75rem; margin:8px 0; }
.empty-state p { color:var(--cr-muted); max-width:700px; }
.footer-bottom { display:flex; justify-content:space-between; gap:22px; flex-wrap:wrap; }
.page-hero { background:linear-gradient(135deg,#0b1f33,#173a58); }
.card,.panel,.stats-grid { transition:transform .2s ease, box-shadow .2s ease; }
.card:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(11,31,51,.08); }
@media (max-width: 1120px) {
  .menu-toggle { display:block; }
  .main-nav { display:none; position:absolute; top:78px; left:0; right:0; background:white; border-bottom:1px solid var(--cr-border); padding:16px 24px 22px; box-shadow:0 18px 30px rgba(11,31,51,.08); }
  .main-nav.open { display:block; }
  .main-nav>ul { flex-direction:column; align-items:stretch; gap:2px; }
  .main-nav a,.submenu-toggle { display:block; width:100%; text-align:left; padding:11px 0; }
  .nav-cta { display:inline-block !important; width:auto !important; padding:10px 15px !important; margin-top:6px; }
  .submenu { position:static; box-shadow:none; border:0; border-left:2px solid var(--cr-border); border-radius:0; padding:0 0 0 14px !important; margin:0 0 4px 4px !important; }
  .has-submenu:hover .submenu { display:none !important; }
  .has-submenu.open .submenu { display:block !important; }
}
