﻿/* =====================================================
   TYPOGRAPHY OVERRIDE – Playfair + DM Sans
   ===================================================== */
body { font-family:var(--font-heading); }
.hero-title, .section-title, .testi-featured-text,
.testi-card-text, .plan-name, .step-card h3,
.cta-section h2, .about-content h2 {
    font-family:var(--font-heading);
}

/* =====================================================
   GEO BANNER
   ===================================================== */
#geo-banner {
    background:linear-gradient(90deg,var(--primary),var(--primary-light));
    color:#fff; padding:.5rem 1rem; font-size:.8rem; font-weight:500;
    display:none; align-items:center; justify-content:center;
    gap:.6rem; position:relative; z-index:9998;
}
#geo-banner i { opacity:.7; }
#geo-banner a { color:#ffc107; font-weight:700; text-decoration:underline; margin-left:.25rem; }
.geo-close {
    position:absolute; right:1rem; top:50%; transform:translateY(-50%);
    background:none; border:none; color:rgba(255,255,255,.6);
    cursor:pointer; font-size:1.1rem; line-height:1; padding:0;
}
.geo-close:hover { color:#fff; }

/* =====================================================
   HERO OVERRIDES
   ===================================================== */
.hero {
    position:relative; z-index:0; min-height:100vh;
    display:flex; align-items:center; padding:120px 0 52px; overflow:hidden;
    margin-top: calc(-1 * var(--nav-height));
}
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg img { width:100%; height:100%; object-fit:cover; }
.hero-overlay {
    position:absolute; inset:0; z-index:1;
    background:
        linear-gradient(90deg,rgba(2,6,23,.86) 0%,rgba(2,6,23,.54) 48%,rgba(2,6,23,.62) 100%),
        linear-gradient(180deg,rgba(2,6,23,.44) 0%,rgba(2,6,23,.18) 48%,rgba(2,6,23,.72) 100%);
}
.hero-container {
    position:relative; z-index:2; width:100%;
    display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,500px);
    gap:2.5rem 4rem; align-items:start;
}
@media(max-width:1080px){ .hero-container{grid-template-columns:1fr;} .hero-search-panel{display:none;} }
.hero-content {
    color:#fff;
    text-align:left;
    justify-self:start;
}
.hero-eyebrow {
    display:inline-flex; align-items:center; gap:.6rem;
    font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
    color:#ffc107; font-weight:700; margin-bottom:1.25rem;
}
.hero-eyebrow::before { content:''; width:28px; height:2px; background:#ffc107; border-radius:2px; }
.hero-title {
    font-size:clamp(3.2rem,5.3vw,5.2rem); font-weight:800; line-height:1.02;
    color:#fff; margin-bottom:1.1rem;
}
.hero-title em { color:#ffc107; font-style:normal; }
.hero-subtitle {
    font-size:1.14rem; line-height:1.7; color:rgba(255,255,255,.76);
    max-width:650px; margin-bottom:2.2rem;
}
.hero-actions {
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
    margin-bottom:0;
    justify-content:flex-start;
}
.hero-stats-row {
    grid-column:1 / -1;
    display:grid; grid-template-columns:repeat(3,1fr); gap:0;
    background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.055));
    border:1px solid rgba(255,255,255,.22);
    border-radius:18px;
    padding:2.1rem 2.4rem;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 26px 70px rgba(2,6,23,.26);
    margin-top:.35rem;
}
.hero-stat-item {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1.35rem;
    min-height:96px;
    padding:0 2rem;
    border-right:1px solid rgba(255,255,255,.22);
}
.hero-stat-item:last-child { border-right:none; }
.hsr-icon {
    width:74px;
    height:74px;
    flex:0 0 74px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#ffc107;
    font-size:2.35rem;
    line-height:1;
}
.hsr-num {
    font-family:var(--font-heading);
    font-size:clamp(2rem,3vw,3rem); font-weight:800; color:#ffc107; line-height:1;
    white-space:nowrap;
}
.hsr-lbl {
    font-size:.84rem; color:rgba(255,255,255,.86);
    text-transform:uppercase; letter-spacing:.12em; margin-top:.55rem;
    font-weight:800;
    white-space:nowrap;
}

/* =====================================================
   HERO SEARCH PANEL (right card)
   ===================================================== */
.hero-search-panel {
    background:rgba(255,255,255,.97); border-radius:var(--radius-xl);
    padding:2.35rem; box-shadow:var(--shadow-2xl);
    justify-self:end;
    width:100%;
}
.hero-search-panel h3 {
    font-family:var(--font-heading); font-size:1.4rem;
    color:var(--primary); margin-bottom:1.5rem;
}
.hsp-field { margin-bottom:1rem; }
.hsp-label {
    display:block; font-size:.7rem; font-weight:700; letter-spacing:.1em;
    text-transform:uppercase; color:var(--primary); margin-bottom:.35rem;
}
.hsp-input {
    width:100%; padding:.7rem 1rem;
    border:1.5px solid var(--border); border-radius:var(--radius-md);
    font-family:var(--font-heading); font-size:.9rem; color:var(--text-primary);
    background:#fff; transition:border-color var(--transition-fast),box-shadow var(--transition-fast); outline:none;
}
.hsp-input:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(30,59,90,.1); }
.hsp-row { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.hsp-btn {
    width:100%; padding:.9rem; margin-top:.5rem;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
    color:#fff; border:none; border-radius:var(--radius-md);
    font-family:var(--font-heading); font-size:.875rem; font-weight:700;
    letter-spacing:.05em; text-transform:uppercase; cursor:pointer;
    transition:all var(--transition-fast);
    display:flex; align-items:center; justify-content:center; gap:.5rem;
}
.hsp-btn:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.hsp-geo-btn {
    width:100%; margin-top:.65rem; background:none;
    border:1.5px solid var(--border); border-radius:var(--radius-md); padding:.65rem;
    font-family:var(--font-heading); font-size:.8rem; color:var(--text-secondary);
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    gap:.5rem; transition:all var(--transition-fast);
}
.hsp-geo-btn:hover { border-color:var(--primary); color:var(--primary); }
.hsp-geo-btn i { color:var(--primary); }
#location-indicator {
    background:rgba(30,59,90,.06); border:1px solid var(--border);
    border-radius:var(--radius-md); padding:.55rem 1rem;
    font-size:.8rem; color:var(--text-secondary);
    display:none; align-items:center; gap:.45rem; margin-bottom:.75rem;
}
#location-indicator i { color:var(--primary); }
#location-indicator strong { color:var(--text-primary); }

/* scroll hint */
.scroll-hint {
    position:absolute; bottom:2rem; left:50%; transform:translateX(-50%);
    z-index:3; display:flex; flex-direction:column; align-items:center;
    gap:.4rem; color:rgba(255,255,255,.35); font-size:.68rem;
    letter-spacing:.15em; text-transform:uppercase;
}
.scroll-dot { width:5px; height:5px; border-radius:50%; background:#ffc107; animation:sdot 1.8s ease-in-out infinite; }
@keyframes sdot{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(8px);opacity:.25}}

/* =====================================================
   SHARED HELPERS
   ===================================================== */
.section-eyebrow {
    display:inline-flex; align-items:center; gap:.5rem;
    font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;
    color:var(--primary); font-weight:700; margin-bottom:.7rem;
}
.section-eyebrow::before { content:''; width:20px; height:2px; background:var(--primary); border-radius:2px; }
.section-divider {
    width:48px; height:3px;
    background:linear-gradient(90deg,var(--primary),var(--primary-light));
    border-radius:2px; margin:1rem 0;
}
.sec-center .section-divider { margin:1rem auto; }
.flex-header {
    display:flex; justify-content:space-between; align-items:flex-end;
    gap:2rem; margin-bottom:2.5rem; flex-wrap:wrap;
}
.btn-ghost-primary {
    display:inline-flex; align-items:center; gap:.45rem;
    padding:.65rem 1.5rem; border:2px solid var(--primary); color:var(--primary);
    border-radius:var(--radius-full); font-size:.78rem; font-weight:700;
    letter-spacing:.06em; text-transform:uppercase;
    transition:all var(--transition-fast); background:transparent;
}
.btn-ghost-primary:hover { background:var(--primary); color:#fff; }

/* nearby badge */
.nearby-badge {
    position:absolute; bottom:12px; right:12px; z-index:3;
    background:rgba(30,59,90,.92); color:#ffc107;
    font-size:.67rem; font-weight:700; letter-spacing:.04em;
    padding:.24rem .62rem; border-radius:var(--radius-full);
    display:none; align-items:center; gap:.28rem; backdrop-filter:blur(6px);
}
.nearby-badge.show { display:flex; }

/* reveal animation */
.reveal { opacity:0; transform:translateY(26px); transition:opacity .6s ease,transform .6s ease; }
.reveal.in { opacity:1; transform:translateY(0); }
.reveal-d1{transition-delay:.1s} .reveal-d2{transition-delay:.2s} .reveal-d3{transition-delay:.3s}

/* =====================================================
   PARTNER LOGOS (real assets)
   ===================================================== */
.partners-section {
    padding: 2.5rem 0 2rem;
    background: linear-gradient(180deg, #fff 0%, var(--secondary) 100%);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.partners-section__head { margin-bottom: 1.75rem; }
.partners-marquee {
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.partners-marquee__track {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    width: max-content;
    animation: partners-marquee 40s linear infinite;
}
.partners-marquee__item {
    flex: 0 0 auto;
    width: 140px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(4, 20, 39, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.partners-marquee__item:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: rgba(250, 204, 21, 0.35);
}
.partners-marquee__item img {
    width: 100%;
    height: 100%;
    max-width: 120px;
    max-height: 44px;
    object-fit: contain;
    object-position: center;
    filter: grayscale(1) opacity(0.72);
    transition: filter 0.3s ease, transform 0.3s ease;
}
.partners-marquee__item:hover img {
    filter: grayscale(0) opacity(1);
    transform: scale(1.04);
}
@keyframes partners-marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* =====================================================
   STATS BAND
   ===================================================== */
.stats-band {
    background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);
    position:relative; overflow:hidden;
}
.stats-band::after {
    content:''; position:absolute; top:-60%; right:-8%;
    width:500px; height:500px; border-radius:50%;
    background:radial-gradient(ellipse,rgba(255,255,255,.05),transparent 70%);
    pointer-events:none;
}
.stats-band-grid {
    display:grid; grid-template-columns:repeat(4,1fr);
    gap:0; position:relative; z-index:1;
}
@media(max-width:900px){.stats-band-grid{grid-template-columns:repeat(2,1fr)}}
.sband-item {
    text-align:center; padding:2.75rem 1.5rem;
    border-right:1px solid rgba(255,255,255,.1);
}
.sband-item:last-child { border-right:none; }
@media(max-width:900px){.sband-item:nth-child(2){border-right:none}.sband-item:nth-child(3){border-top:1px solid rgba(255,255,255,.1)}}
.sband-icon { font-size:1.6rem; color:rgba(255,255,255,.35); margin-bottom:.75rem; }
.sband-num {
    font-family:var(--font-heading);
    font-size:2.75rem; font-weight:700; color:#ffc107; line-height:1;
}
.sband-lbl { font-size:.75rem; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:.1em; margin-top:.4rem; }

/* =====================================================
   HOW IT WORKS – enhanced steps
   ===================================================== */
.steps-wrap {
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:2rem; margin-top:3.5rem; position:relative;
}
.steps-wrap::before {
    content:''; position:absolute; top:38px;
    left:calc(16.66% + 1rem); right:calc(16.66% + 1rem);
    height:1px; background:linear-gradient(90deg,transparent,var(--primary),transparent);
}
@media(max-width:768px){.steps-wrap{grid-template-columns:1fr}.steps-wrap::before{display:none}}
.step-card-enh {
    background:#fff; border-radius:var(--radius-lg);
    padding:2.5rem 2rem; text-align:center;
    box-shadow:var(--shadow-md); transition:all var(--transition-base); position:relative;
}
.step-card-enh:hover { transform:translateY(-6px); box-shadow:var(--shadow-xl); }
.step-num-circle {
    width:64px; height:64px; border-radius:50%; margin:0 auto 1.5rem;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
    color:#fff; display:flex; align-items:center; justify-content:center;
    font-family:var(--font-heading); font-size:1.5rem; font-weight:700;
    position:relative; z-index:1;
}
.step-num-circle::after {
    content:''; position:absolute; inset:-6px; border-radius:50%;
    border:1px solid rgba(30,59,90,.22);
    animation:pring 2s ease-in-out infinite;
}
@keyframes pring{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.12);opacity:0}}
.step-card-enh h3 { font-size:1.4rem; color:var(--text-primary); margin-bottom:.75rem; }
.step-card-enh p { color:var(--text-secondary); line-height:1.7; font-size:.91rem; }

/* =====================================================
   TESTIMONIALS & TRUST
   ===================================================== */
.trust-section { margin-top: 0; }
.trust-section__head { text-align: center; margin-bottom: 0; }
.trust-section__footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: 2.5rem;
}
.trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.35rem 0.75rem;
    border-radius: var(--radius-full);
    background: rgba(4, 20, 39, 0.08);
    color: var(--navy-700, var(--primary));
    margin-bottom: 1rem;
}
.trust-badge--gold {
    background: rgba(250, 204, 21, 0.2);
    color: #92400e;
}
.trust-badge--agent {
    background: rgba(4, 20, 39, 0.12);
    color: #fff;
}
.testi-featured--glass.trust-badge--agent { color: #041427; }
.trust-badge--inline {
    margin-bottom: 0.75rem;
    font-size: 0.62rem;
}
.trust-stars { display: flex; gap: 0.18rem; }
.trust-stars i { color: #facc15; font-size: 0.78rem; }
.trust-stars i.trust-stars__empty { color: #d1d5db; }

.testi-featured {
    background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);
    border-radius:var(--radius-xl); padding:3rem; color:#fff;
    position:relative; overflow:hidden; margin-top:3.5rem;
}
.testi-featured--glass {
    background: linear-gradient(135deg, rgba(4, 20, 39, 0.97) 0%, rgba(15, 39, 71, 0.94) 100%);
    border: 1px solid rgba(250, 204, 21, 0.22);
    box-shadow: 0 20px 50px rgba(4, 20, 39, 0.18);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.testi-featured--glass .trust-badge--agent {
    background: rgba(250, 204, 21, 0.18);
    color: #fde047;
}
.testi-featured__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1rem;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.75);
}
.testi-featured__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.tfa-specialty {
    font-size: 0.72rem;
    color: #fde047;
    margin-top: 0.2rem;
    font-weight: 600;
}
.testi-featured::before {
    content:'\201C'; position:absolute; top:-20px; left:1.5rem;
    font-family:var(--font-heading); font-size:12rem; line-height:1;
    color:rgba(255,255,255,.07); pointer-events:none;
}
.testi-featured-text {
    font-size:clamp(1.2rem,2vw,1.7rem); font-style:italic; line-height:1.6;
    max-width:680px; position:relative; z-index:1; margin-bottom:2rem;
}
.testi-author-row { display:flex; align-items:center; gap:1rem; position:relative; z-index:1; }
.tfa-img { width:58px; height:58px; border-radius:50%; object-fit:cover; border:3px solid rgba(255,255,255,.4); }
.tfa-name { font-size:1rem; font-weight:700; color:#ffc107; }
.tfa-role { font-size:.78rem; color:rgba(255,255,255,.7); margin-top:.12rem; }
.tfa-stars { display:flex; gap:.2rem; margin-top:.35rem; }
.tfa-stars i { color:#ffc107; font-size:.8rem; }

.testi-grid-3 {
    display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2rem;
}
@media(max-width:1024px){.testi-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.testi-grid-3{grid-template-columns:1fr}}
.tcard {
    background:#fff; border-radius:var(--radius-lg); padding:1.75rem;
    box-shadow:var(--shadow-md); transition:all var(--transition-base);
    position:relative; overflow:hidden;
    display: flex;
    flex-direction: column;
}
.tcard--glass {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(4, 20, 39, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.tcard-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid rgba(250, 204, 21, 0.35);
}
.tcard-location {
    font-size: 0.7rem;
    color: var(--text-muted);
    margin-top: 0.15rem;
}
.tcard-link {
    margin-top: auto;
    padding-top: 0.85rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--navy-700, var(--primary));
}
.tcard-link:hover { color: #ca8a04; }
.tcard::before {
    content:'\201C'; position:absolute; top:-12px; right:1rem;
    font-family:var(--font-heading); font-size:7rem; line-height:1;
    color:rgba(30,59,90,.05); pointer-events:none;
}
.tcard:hover { transform:translateY(-4px); box-shadow:var(--shadow-xl); }
.tcard-stars { display:flex; gap:.18rem; margin-bottom:.9rem; }
.tcard-stars i { color:#ffc107; font-size:.78rem; }
.tcard-text {
    font-style:italic; font-size:.95rem; line-height:1.65;
    color:var(--text-primary); margin-bottom:1.4rem;
}
.tcard-author { display:flex; align-items:center; gap:.7rem; }
.tcard-initials {
    width:42px; height:42px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
    color:#fff; display:flex; align-items:center; justify-content:center;
    font-family:var(--font-heading); font-size:.95rem; font-weight:700;
}
.tcard-name { font-weight:700; font-size:.88rem; color:var(--text-primary); }
.tcard-role { font-size:.74rem; color:var(--text-secondary); margin-top:.1rem; }
.tcard-tag {
    position:absolute; top:1.2rem; right:1.2rem;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
    color:#fff; font-size:.64rem; font-weight:700; letter-spacing:.07em;
    text-transform:uppercase; padding:.2rem .6rem; border-radius:var(--radius-full);
}

/* =====================================================
   REVIEWS
   ===================================================== */
.reviews-layout {
    display:grid; grid-template-columns:360px 1fr; gap:4rem; align-items:start;
}
@media(max-width:1024px){.reviews-layout{grid-template-columns:1fr}}
.reviews-summary {
    background:#fff; border-radius:var(--radius-xl); padding:2.5rem;
    box-shadow:var(--shadow-lg); text-align:center; position:sticky; top:110px;
}
.rscore {
    font-size:5.5rem; line-height:1; font-weight:700;
    color:var(--primary);
}
.rscore-denom { font-size:2rem; color:var(--text-muted); }
.rstar-row { display:flex; justify-content:center; gap:.3rem; margin:.7rem 0; }
.rstar-row i { color:#ffc107; font-size:1.15rem; }
.rtotal { font-size:.8rem; color:var(--text-secondary); margin-bottom:1.75rem; }
.rbar-row { display:flex; align-items:center; gap:.6rem; margin-bottom:.5rem; }
.rbar-lbl { font-size:.76rem; color:var(--text-secondary); width:11px; text-align:right; }
.rbar-bg { flex:1; height:6px; background:var(--secondary); border-radius:6px; overflow:hidden; }
.rbar-fill { height:100%; background:linear-gradient(90deg,var(--primary),var(--primary-light)); border-radius:6px; }
.rbar-pct { font-size:.7rem; color:var(--text-secondary); width:24px; }
.rcat-row {
    display:flex; justify-content:space-between;
    font-size:.8rem; padding:.4rem 0; border-bottom:1px solid var(--secondary);
}
.rcat-row:last-child { border:none; }
.rcat-row span:first-child { color:var(--text-secondary); }
.rcat-row span:last-child { color:#ffc107; font-weight:700; }

.rcard {
    background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
    padding:1.75rem; box-shadow:var(--shadow-sm);
    transition:all var(--transition-fast); margin-bottom:1.1rem;
}
.rcard--glass {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(4, 20, 39, 0.1);
    box-shadow: var(--shadow-md);
}
.rcard:hover { border-color:var(--primary); box-shadow:var(--shadow-md); }
.rcard-top {
    display:flex; justify-content:space-between; align-items:flex-start;
    gap:1rem; margin-bottom:.7rem;
}
.rcard-author {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}
.rcard-author img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid rgba(250, 204, 21, 0.3);
}
.rcard-specialty {
    font-size: 0.8rem;
    color: var(--navy-600, var(--primary));
    margin: 0.5rem 0;
    font-weight: 600;
}
.rcard-text {
    color: var(--text-secondary);
    line-height: 1.7;
    font-style: italic;
    margin: 0;
}
.rcard-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 1rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--navy-700, var(--primary));
}
.reviews-list { min-width: 0; }

/* Featured agents */
.featured-agents-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 2rem;
}
@media (max-width: 1100px) { .featured-agents-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .featured-agents-grid { grid-template-columns: 1fr; } }
.featured-agent-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 1.35rem;
    box-shadow: var(--shadow-md);
    position: relative;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.featured-agent-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-xl);
    border-color: rgba(250, 204, 21, 0.35);
}
.featured-agent-card__badge {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #92400e;
    background: rgba(250, 204, 21, 0.2);
    padding: 0.2rem 0.5rem;
    border-radius: var(--radius-full);
}
.featured-agent-card__top {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding-right: 4rem;
}
.featured-agent-card__top img {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(250, 204, 21, 0.35);
    flex-shrink: 0;
}
.featured-agent-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}
.featured-agent-card__specialty {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--navy-700, var(--primary));
    margin: 0.2rem 0 0;
}
.featured-agent-card__location {
    font-size: 0.74rem;
    color: var(--text-secondary);
    margin: 0.15rem 0 0;
}
.featured-agent-card__bio {
    font-size: 0.82rem;
    color: var(--text-secondary);
    line-height: 1.55;
    margin: 0;
    flex: 1;
}
.featured-agent-card__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    font-size: 0.75rem;
    color: var(--text-secondary);
}
.featured-agent-card__stats strong { color: var(--text-primary); }
.featured-agent-card__stars i { font-size: 0.65rem; }
.featured-agent-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.featured-agent-card__actions .btn { flex: 1 1 auto; min-width: 0; }
.rcard-name { font-weight:700; font-size:.9rem; color:var(--text-primary); }
.rcard-meta { font-size:.75rem; color:var(--text-secondary); margin-top:.15rem; }
.rcard-stars { display:flex; gap:.18rem; margin-top:.35rem; }
.rcard-stars i { color:#ffc107; font-size:.76rem; }
.rcard-prop {
    font-size:.68rem; color:var(--primary); background:rgba(30,59,90,.07);
    padding:.2rem .65rem; border-radius:var(--radius-full); white-space:nowrap; font-weight:600;
}
.rcard-text { font-size:.87rem; color:var(--text-secondary); line-height:1.68; }
.rcard-verified {
    display:inline-flex; align-items:center; gap:.28rem;
    font-size:.7rem; color:var(--success); margin-top:.65rem; font-weight:600;
}

/* =====================================================
   PROTECTED PARTNER PLAN ACCESS
   ===================================================== */
.pricing-formula-banner {
    max-width: 720px;
    margin: 1.75rem auto 2.5rem;
    padding: 1.35rem 1.5rem;
    text-align: center;
    border-radius: var(--radius-xl);
    border: 1px solid rgba(250, 204, 21, 0.28);
    background: linear-gradient(135deg, rgba(4, 20, 39, 0.97), rgba(15, 39, 71, 0.92));
    color: #fff;
    box-shadow: var(--shadow-lg);
}
.pricing-formula-banner__label {
    display: block;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(250, 204, 21, 0.9);
    margin-bottom: 0.35rem;
}
.pricing-formula-banner__price {
    display: block;
    font-family: var(--font-heading);
    font-size: clamp(1.65rem, 4vw, 2.1rem);
    font-weight: 800;
    color: #facc15;
    line-height: 1.15;
}
.pricing-formula-banner__text {
    margin: 0.65rem 0 1rem;
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.78);
}
.pricing-formula-banner__link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 1.15rem;
    border-radius: var(--radius-full);
    background: linear-gradient(135deg, #facc15, #ca8a04);
    color: #041427;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.pricing-formula-banner__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(202, 138, 4, 0.35);
    color: #041427;
}
.plans-grid {
    display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}
@media(max-width:900px){.plans-grid{grid-template-columns:1fr}}
.plan {
    background:#fff; border-radius:var(--radius-xl); padding:2.5rem;
    box-shadow:var(--shadow-md); display:flex; flex-direction:column;
    transition:all var(--transition-base); position:relative;
    border:1px solid var(--border);
}
.plan:hover { transform:translateY(-4px); box-shadow:var(--shadow-xl); }
.plan.pop {
    border:2px solid #facc15;
    background:linear-gradient(160deg,#fff 0%,rgba(250,204,21,.06) 100%);
    box-shadow:0 16px 40px rgba(4,20,39,.12);
}
.pop-badge {
    position:absolute; top:-13px; left:50%; transform:translateX(-50%);
    background:linear-gradient(135deg,#fde047,#eab308);
    color:#041427; font-size:.66rem; font-weight:800; letter-spacing:.1em;
    text-transform:uppercase; padding:.28rem 1.1rem; border-radius:var(--radius-full);
    white-space:nowrap;
    box-shadow:0 4px 14px rgba(202,138,4,.25);
}
.plan-icon-wrap {
    width:56px; height:56px; border-radius:50%; margin-bottom:1.2rem;
    background:rgba(4,20,39,.06); border:1px solid rgba(4,20,39,.08);
    display:flex; align-items:center; justify-content:center;
    font-size:1.25rem; color:var(--navy-700, var(--primary));
}
.plan-icon-wrap--featured {
    background:var(--navy-900, var(--primary-dark));
    border-color:transparent;
    color:#facc15;
}
.plan-name { font-size:1.35rem; font-weight:700; color:var(--text-primary); font-family:var(--font-heading); }
.plan-desc { font-size:.83rem; color:var(--text-secondary); margin-top:.3rem; line-height:1.6; }
.plan-price-wrap { margin:1.65rem 0; }
.plan-range {
    font-family:var(--font-heading);
    font-size:2.15rem; font-weight:800; color:var(--navy-900, var(--primary));
    line-height:1.1;
}
.plan-per { font-size:.8rem; color:var(--text-secondary); margin-top:.45rem; line-height:1.5; }
.plan-per strong { color:var(--navy-700, var(--primary)); font-weight:700; }
.plan-price-n {
    font-family:var(--font-heading);
    font-size:2.9rem; font-weight:700; color:var(--primary); line-height:1;
}
.plan-price-n .cur { font-size:1.3rem; vertical-align:top; margin-top:.4rem; display:inline-block; }
.plan-annual-line { font-size:.74rem; color:var(--success); margin-top:.2rem; display:none; font-weight:600; }
.plan-feats { margin:1.5rem 0; flex:1; }
.plan-feats li {
    display:flex; align-items:center; gap:.52rem;
    font-size:.85rem; color:var(--text-secondary);
    padding:.42rem 0; border-bottom:1px solid var(--secondary);
}
.plan-feats li:last-child { border:none; }
.plan-feats li i.fa-check { color:var(--success); font-size:.76rem; flex-shrink:0; }
.plan-feats li.na { opacity:.35; }
.plan-feats li.na i { color:var(--text-muted); }
.plan-btn {
    width:100%; padding:.9rem; border-radius:var(--radius-md);
    font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    cursor:pointer; border:none; font-family:var(--font-heading);
    transition:all var(--transition-fast);
    display:flex; align-items:center; justify-content:center; gap:.45rem; margin-top:auto;
}
.plan-btn-pri { background:linear-gradient(135deg,#041427,#0f2747); color:#fff; }
.plan-btn-pri:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); background:linear-gradient(135deg,#0a1c36,#16345c); color:#fff; }
.plan-btn-out { background:transparent; color:var(--navy-700, var(--primary)); border:2px solid var(--navy-700, var(--primary)); }
.plan-btn-out:hover { background:var(--navy-700, var(--primary)); color:#fff; }
.pricing-page-cta {
    text-align:center;
    margin-top:2rem;
}
.pricing-page-cta a {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    font-size:.9rem;
    font-weight:700;
    color:var(--navy-700, var(--primary));
    font-family:var(--font-heading);
}
.pricing-page-cta a:hover { color:#ca8a04; }

/* =====================================================
   ABOUT SECTION ENHANCED
   ===================================================== */
.about-grid-enh { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
@media(max-width:900px){.about-grid-enh{grid-template-columns:1fr}}
.about-img-wrap { position:relative; }
.about-img-main { border-radius:var(--radius-xl); width:100%; height:480px; object-fit:cover; }
.about-img-accent {
    position:absolute; bottom:-1.5rem; right:-1.5rem;
    width:176px; height:176px; border-radius:var(--radius-lg); object-fit:cover;
    border:4px solid #fff; box-shadow:var(--shadow-xl);
}
.about-frame-deco {
    position:absolute; top:1.5rem; left:-1.5rem; right:1.5rem; bottom:-1.5rem;
    border:2px solid rgba(30,59,90,.16); border-radius:var(--radius-xl); z-index:-1;
}
@media(max-width:900px){.about-img-accent,.about-frame-deco{display:none}}
.about-check { margin:1.5rem 0 2rem; }
.about-check li {
    display:flex; align-items:flex-start; gap:.85rem;
    padding:.5rem 0; border-bottom:1px solid var(--secondary);
    font-size:.91rem; color:var(--text-secondary);
}
.about-check li i { color:var(--success); margin-top:.18rem; flex-shrink:0; }
.about-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }
.amg { background:var(--secondary); border-radius:var(--radius-md); padding:1.25rem; text-align:center; }
.amg-n { font-family:var(--font-heading); font-size:1.9rem; font-weight:700; color:var(--primary); }
.amg-l { font-size:.7rem; color:var(--text-secondary); text-transform:uppercase; letter-spacing:.08em; margin-top:.25rem; }

/* =====================================================
   CTA BANNER
   ===================================================== */
.cta-banner {
    background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);
    border-radius:var(--radius-xl); padding:4rem;
    display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center;
    position:relative; overflow:hidden;
}
.cta-banner::before {
    content:''; position:absolute; top:-80px; right:-80px;
    width:360px; height:360px; border-radius:50%;
    background:radial-gradient(ellipse,rgba(255,255,255,.06),transparent 70%);
    pointer-events:none;
}
@media(max-width:768px){.cta-banner{grid-template-columns:1fr;text-align:center}.cta-btns{justify-content:center}}
.cta-banner h2 {
    font-size:clamp(1.7rem,3vw,2.4rem); color:#fff; margin-bottom:.75rem;
}
.cta-banner p { color:rgba(255,255,255,.78); font-size:1rem; line-height:1.7; }
.cta-btns { display:flex; gap:1rem; flex-wrap:wrap; }
.btn-cta-w {
    background:#fff; color:var(--primary); padding:.9rem 2rem;
    border-radius:var(--radius-full); font-weight:700; font-size:.83rem;
    letter-spacing:.05em; text-transform:uppercase;
    transition:all var(--transition-fast);
    display:inline-flex; align-items:center; gap:.45rem;
}
.btn-cta-w:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.2); }
.btn-cta-g {
    background:rgba(255,255,255,.12); color:#fff;
    border:1.5px solid rgba(255,255,255,.4); padding:.9rem 2rem;
    border-radius:var(--radius-full); font-weight:600; font-size:.83rem;
    letter-spacing:.05em; text-transform:uppercase;
    transition:all var(--transition-fast);
    display:inline-flex; align-items:center; gap:.45rem;
}
.btn-cta-g:hover { background:rgba(255,255,255,.22); border-color:rgba(255,255,255,.7); }

/* =====================================================
   BACK TO TOP
   ===================================================== */
#btt {
    position:fixed; bottom:1.75rem; right:1.75rem;
    width:48px; height:48px; border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--primary-light));
    color:#fff; display:flex; align-items:center; justify-content:center;
    font-size:1rem; opacity:0; visibility:hidden;
    transition:all var(--transition-base); z-index:999;
    box-shadow:var(--shadow-lg); border:none; cursor:pointer;
}
#btt.visible { opacity:1; visibility:visible; }
#btt:hover { transform:translateY(-3px); }

/* Responsive polish */
.hero-container,
.reviews-layout,
.about-grid-enh,
.cta-banner,
.plans-grid,
.testi-grid-3,
.steps-wrap,
.stats-band-grid,
.about-mini-grid {
    min-width: 0;
}

@media (max-width: 900px) {
    .hero {
        min-height: auto;
        padding: 112px 0 56px;
    }

    .hero-content {
        max-width: 680px;
    }

    .hero-actions .btn {
        flex: 1 1 220px;
    }

    .hero-stats-row {
        margin-top: 0;
    }

    .hero-stat-item {
        padding: 0 1rem;
        gap: 1rem;
    }

    .hsr-icon {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
        font-size: 1.8rem;
    }

    .reviews-summary {
        position: relative;
        top: auto;
    }

    .about-img-main {
        height: min(58vw, 420px);
        min-height: 260px;
    }
}

@media (max-width: 640px) {
    #geo-banner {
        justify-content: flex-start;
        padding-right: 3rem;
        text-align: left;
    }

    .hero {
        padding: 96px 0 44px;
    }

    .hero-title {
        font-size: clamp(2rem, 11vw, 2.75rem);
    }

    .hero-subtitle {
        font-size: 0.98rem;
        margin-bottom: 1.75rem;
    }

    .hero-actions {
        margin-bottom: 2rem;
    }

    .hero-actions .btn,
    .btn-ghost-primary,
    .btn-cta-w,
    .btn-cta-g {
        width: 100%;
        justify-content: center;
    }

    .hero-stats-row,
    .stats-band-grid,
    .about-mini-grid {
        grid-template-columns: 1fr;
    }

    .hero-stats-row {
        padding: 1.1rem;
        gap: 1rem;
    }

    .hero-stat-item {
        justify-content: flex-start;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.18);
        padding: 1rem;
    }

    .hero-stat-item:last-child {
        border-bottom: 0;
    }

    .hsr-num {
        font-size: 2rem;
    }

    .hsr-lbl {
        white-space: normal;
    }

    .sband-item {
        border-right: 0;
        border-top: 1px solid rgba(255,255,255,.1);
        padding: 2rem 1rem;
    }

    .sband-item:first-child {
        border-top: 0;
    }

    .flex-header,
    .rcard-top,
    .testi-author-row,
    .cta-btns,
    .pricing-formula-banner {
        align-items: stretch;
    }

    .rcard-top,
    .testi-author-row {
        flex-wrap: wrap;
    }

    .testi-featured,
    .reviews-summary,
    .plan,
    .cta-banner {
        padding: 1.5rem;
        border-radius: var(--radius-lg);
    }

    .cta-banner {
        gap: 1.5rem;
    }

    .plan-range {
        font-size: 1.85rem;
    }

    .plan-price-n {
        font-size: 2.35rem;
    }
}
