@import "cssvariables.css";

html{
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body{
	margin:0;
	padding:0;
	position: relative;
	font-family: 'Montserrat', sans-serif;
	overflow-x: hidden!important;
}
*{
	box-sizing: border-box;
}
a{
	text-decoration:none;
}
.main_logo{
	max-width: 16rem;
}
.flex{
	display: flex;
	align-items: center;
}

/* legacy header (.header/.header_left/.reviews_btn/.apply_btn) removed — replaced by Site Refresh v3 topbar + nav below */

/*hero_section start*/
.hero_section{
	background: var(--lightblue);
	font-family: 'Roboto', sans-serif;
}
.py_6{
	padding:6rem 0;
}
.hero_heading{
	font-size: 7rem;
	line-height: 7rem;
	color:var(--dark);
	font-weight: 700;
	font-family: 'Roboto', sans-serif;
}
.hero_p{
	font-size: 2.2rem;
	color:var(--dark);
	opacity: .8;
	margin:1.7rem 0;
}
.hero_btn{
	display:inline-block;
	padding:.4rem 4rem;
	color:var(--dark);
	font-weight: 600;
    background: var(--yellow);
    font-size: 16px;
    box-shadow: inset 0 0 0 2px rgb(255 255 255 / 20%);
    text-align: center;
    line-height: 3.8rem;
    border-radius: 1rem;
    border-style: solid;
    border-width: .1rem .1rem .4rem .1rem;
    border-color:rgba(0,0,0,0.13);
    text-transform: uppercase;
    letter-spacing: .1rem;
}

.tagline{
	font-size: 2.4rem;
	color:var(--blue);
}

.sub_heading{
	font-size: 3.4rem;
	color:var(--dark);
	font-weight: 700;
}
.gen_p{
	font-size: 1.9rem;
	color:#2f2f2f;
	font-family: 'Montserrat', sans-serif;
	font-weight: 300;
	margin:1rem 0;
}
.pb_6{
	padding-bottom: 6rem;
}
.review_area{
	padding:2rem;
	box-sizing: border-box;
	border:.1rem solid #DDDDDD;
}
.r_date{
	font-size: 1.7rem;
	color:gray;
	font-weight: normal;
	display: inline-block;
}

.stars_list{
	display: inline;
}
.stars_list li{
	list-style: none;
	display: inline;
	font-size:2.4rem;
	color:#ffc31e;
}
.r_feedback{
	font-size: 1.6rem;
	font-family: 'Montserrat', sans-serif;
	color:#2f2f2f;
}

.reviewer_details{
	padding:0;
	display: flex;
	align-items: center;
}
.reviewer_details li{
	display: inline-block;
	font-size: 1.6rem;

}
.reviewer_details li:first-child{
	margin-right: 1rem;
	font-size: 2.5rem;
}
.reviewer_details li:last-child{
	margin-left: 1rem;
}
.r_name{
	font-weight: 600;
}
.reviewer_details li a:hover{
	opacity: .7;
}


.cta_section{
	background:rgb(242, 250, 255);
background-image:url("../images/BG-gradient-faded.png")
}
.cta_btn{
	display: block;
	padding:1rem 4rem;
	color:var(--dark);
	font-weight: 600;
    background: var(--yellow);
    font-size: 1.8rem;
    box-shadow: inset 0 0 0 2px rgb(255 255 255 / 20%);
    text-align: center;
    line-height: 3.8rem;
    border-radius: 1rem;
    border-style: solid;
    border-width: .1rem .1rem .4rem .1rem;
    border-color:rgba(0,0,0,0.13);
    text-transform: uppercase;
    letter-spacing: .1rem;
    line-height: 2.4rem;
}
.cta_btn span{
	font-size:1.4rem!important;
	opacity: .6;
	font-weight: normal;
}
.cta_btn:hover{
	color:var(--dark);
	box-shadow:inset 0 2px 2px 0 rgb(255 255 255 / 22%), 0 233px 233px 0 rgb(255 255 255 / 12%) inset
}

.cta_heading{

	font-size:2.9rem;
	color:var(--dark);
	font-weight: 700;
}

.convers_text{
	color:#0075b2;
	font-size: 2.6rem;
	font-weight: 400;
}
.no_no{
	font-size: 1.8rem;
	color:var(--dark);
	margin-top: 3rem;
	font-weight:400;
}
.no_no span{
	font-weight:700;
	text-transform: uppercase;
	color:#42b99f;
}

.do_card{
	box-sizing: border-box;
	text-align: center;
}
.do_card_title_sec{
	height: 9rem;
	margin-top: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.do_title{
	font-size: 2rem;
	font-weight: 600;
}
.do_desc{
	font-weight: normal;
	font-size: 1.6rem;
	opacity: .7;
}
.online_apply_section{
	max-width:75%;
	margin:0 auto;
	padding:4rem 0;
	box-sizing: border-box;
	background: radial-gradient(#276994, #2c75a4);
	border-radius: 2.5rem;
	text-align: center;
}
.online_apply_heading{

	font-size: 4rem;
	color:white;
	font-weight: 700;
	font-family: 'Raleway', sans-serif;
	text-shadow: 1px 1px 3px rgb(0 0 0 / 50%);
}
.sec_heading{
	font-size: 5.4rem;
	color:var(--dark);
	font-weight: 700;
	font-family: 'Raleway', sans-serif;
}

.help_img{
	max-width:35rem;
}
.help_heading{
	font-size: 3.2rem;
	font-family: 'Raleway', sans-serif;
	color:var(--dark);
	font-weight: 700;
}
.help_desc{
	font-size: 2rem;
	font-family: 'Montserrat';
	color:var(--dark);


}
.bbtom{
	border-bottom: .2rem solid #f2f2f2;
}
.all_reviews{
	background: var(--lightblue);
}
.stars_mg{
	max-width: 18rem;
	display: block;
	margin:0 auto;
}

.reviews_box{
	padding:3rem;
	box-sizing: border-box;
	background: white;
}
.see_mor_link{
	font-size: 1.8rem;
}
.mrf_img{
	margin-top: 2rem;
	box-shadow: 0 2px 5px 2px rgb(0 0 0 / 30%);
}

.our_resources{
	background: var(--light);
}
.blue_bg{
	background: var(--blue);
	color:white;
}
.blue_bg:hover{
	color:white;
	opacity: .8
}

.outline_type{
	font-size: 1.8rem;
	color:var(--blue);
	font-weight: 600;
	padding:.5rem 2rem;
	border-radius: 2.5rem;
	border:.2rem dashed var(--blue);
	display: inline-block;
	margin:2rem auto;

}
.work_with_us{

	background:url(../images/gradient_map.png);
		background-attachment: fixed;
}
.cc_title{
	font-size: 2.5rem;
	font-weight: 700;
}

.c_card_link{
	font-size: 2rem;
	font-weight: 600;
	color:var(--blue);
	border:.2rem solid var(--blue);
	border-radius: .8rem;
	padding:1rem 3rem;
	margin-top: 2rem;
	display: inline-block;
}
.s_icon{
	max-width: 5rem;
}
.social_list li{
	list-style: none;
	margin-bottom:2rem;
}

footer{
	background-color:#66a4bf;
	background-image: url(www.bluefishhomeloans.com/hosted/images/88/1617347…/top-gradient.png);
	color:white;
}
footer p{
	font-size: 1.6rem;
}
.footer_icon li{
	list-style: none;
	display: inline;
	text-align: center;
}
.nmls_logo{
	margin:0 auto;
	max-width: 7rem;
}
.copy_right_text{
	font-size: 1.5rem;
	margin-top: 2rem;
	color:#d8d8d8;
}
.copy_right_text a{
	color:#d8d8d8;

}
.nmls_link{
	font-size: 1.2rem;
	color:white;
}
.copy_right_text a:hover{
	opacity: .7;

}
.copy_right_text p{
	font-size: 1.4rem;
	text-align: center;
	color:#666666;
	font-family: 'Montserrat'
}

/*01-05-2023 css start*/
.img_card{
	background-color: #fff;
    box-shadow: 0 0 10px #c3c3c3;
}
.img_card img{
	width: 100%;
}
.img_card h5 {
    font-size: 26px;
}
.img_card h6 {
    font-size: 18px;
}
.img_card p {
    font-size: 16px;
    color: #0a77ad;
}
.res_card .hero_btn {
    width: 100%;
    padding: 0.4rem 1rem;
}
/*01-05-2023 css end*/


/* Mortgage Calculator */

.btn:focus{
    outline: none;
    box-shadow: none;
}
.Calculator-wrapper {
    background-color: #e7f1f7;
    padding: 20px 15px;
}
.card-wrapper {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    height: 100%;
    box-shadow: 0 10px 10px #50687714;
}
.form-label {
    font-size: 14px;
    font-weight: 500;
    color: #000;
    margin-bottom: 3px;
}
.input-group-text {
    font-size: 16px;
    font-weight: 400;
    color: #222222;
        background-color: #e7f1f7;
    border-color: #d2dde3;
}
.form-control::placeholder{
    font-family: 'Poppins', sans-serif;
        color: #444444;
}
.form-control, .form-select, .form-control:focus, .form-select:focus {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #444444;
    border-color: #d2dde3;
    height: 36px;
    outline: none;
    box-shadow: none;
}
.form-select {
    background-image: url(../images/arrow.png);
    background-size: auto;
}

.circle-img img{
    width: 100%;
}
.circle-img {
    max-width: 310px;
    margin: 15px auto 5px auto;
    padding: 15px;
}
.colors-list {
    margin: 0px;
    list-style: none;
    padding: 15px;
}
.colors-list li {
    font-size: 14px;
    font-weight: 500;
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}
.colors-list li span {
    height: 13px;
    width: 40px;
    margin-right: 15px;
}
.colors-list li .red{
    background-color:#b91d47 ;
}
.colors-list li .turquoise{
    background-color:#00aba9 ;
}
.colors-list li .blue{
    background-color:#2b5797 ;
}
.colors-list li .pink{
    background-color:#e8c3b9 ;
}
.colors-list li .green{
    background-color:#1e7145 ;
}
.circle-img-title {
    padding: 20px;
    text-align: center;
}
.circle-img-title h2 {
    font-size: 30px;
    font-weight: 500;
    color: #000;
    margin-top: 35px;
    margin-bottom: 30px;
}

.green-btn {
    background-color: #21b458;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 18px;
    border-radius: 8px;
    padding: 17px 48px 14px 48px;
    transition: 0.3s;
}
.green-btn:hover{
    color: #fff;
}
.price p {
    font-size: 14px;
    font-weight: 500;
    margin: 0px;
    color: #000;
}
.price span {
    color: #1476d9;
    font-size: 18px;
    font-weight: 500;
}
.form-field {
    display: inline-block;
    width: 100%;
}
.form-field.mb-3 {
    margin-bottom: 12px!important;
}
.calculator-popup .modal-dialog {
    max-width: 1200px;
}

@media(max-width:767px){
    .Calculator-wrapper {
        padding: 40px 0;
    }
    .circle-img-title h2 {
        font-size: 22px;
        margin-top: 20px;
    }
    .green-btn {
        font-size: 16px;
        padding: 12px 30px;
    }
    .colors-list {
        padding: 0px;
    }
}

/* Mortgage Calculator */

#review-images {
  max-height: 300px;
  object-fit: contain; /* Ensures the aspect ratio is maintained */
	border-radius: 20px;
}

/* =====================================================================
   SITE REFRESH v3 — FOUNDATION
   All refreshed markup lives inside <div class="rr"> so these rules stay
   scoped and don't touch un-migrated (legacy) sections. The 4 builder
   colors (--dark/--blue/--lightblue/--yellow) still come from
   cssvariables.css and remain dynamic per contact. Neutrals below are fixed.
   Per-section styles are appended as each section is converted.
   ===================================================================== */
:root{
  --paper:#ffffff; --ink:#293742; --muted:#647581; --line:#e6edf1; --soft:#f5f8fa;
  --fam:'Plus Jakarta Sans',sans-serif;
}
.rr{margin:0;font-family:var(--fam);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;}
.rr *{box-sizing:border-box;}
.rr a{text-decoration:none;}
.rr a:not(.btn){color:var(--blue);}
.rr a:hover{opacity:.82;}
.rr .wrap{max-width:1360px;margin:0 auto;padding:0 40px;}
.rr .sec{padding:90px 0;}
.rr .center{text-align:center;}
.rr .eyebrow{font-weight:700;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:0 0 16px;}
.rr .h-sec{font-weight:800;font-size:42px;line-height:1.08;letter-spacing:-.025em;color:var(--dark);margin:0;}
.rr .lead{font-size:18px;color:var(--muted);margin:16px 0 0;max-width:620px;}
.rr .center .lead{margin-left:auto;margin-right:auto;}
.rr .btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15px;padding:15px 28px;border-radius:12px;border:none;cursor:pointer;transition:transform .15s ease,filter .18s ease;line-height:1.2;text-align:center;}
/* 4th builder color: CTA buttons use --buttonscolor (falls back to --yellow on
   older sites that don't define it); --yellow stays for stars/accents. */
.rr .btn-primary{background:var(--buttonscolor, var(--yellow));color:#fff;}
.rr .btn-primary:hover{transform:translateY(-2px);filter:brightness(1.05);opacity:1;}
.rr .btn-dark{background:var(--dark);color:#fff;}
.rr .btn-dark:hover{transform:translateY(-2px);opacity:1;}
.rr .btn-blue{background:var(--blue);color:#fff;}
.rr .btn-blue:hover{transform:translateY(-2px);opacity:1;}
.rr .btn-line{background:transparent;border:1.5px solid var(--blue);color:var(--blue);}
.rr .btn-line:hover{transform:translateY(-2px);opacity:1;}
.rr .txtlink{font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:6px;}
/* Refresh media breakpoints reused across sections */
@media(max-width:960px){
  .rr .h-sec{font-size:34px;}
}
/* END SITE REFRESH v3 — FOUNDATION */

/* --- Site Refresh v3 · HEADER (topbar + nav) --- */
.rr .topbar{background:var(--blue);color:rgba(255,255,255,.78);font-size:13px;}
.rr .topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:42px;}
.rr .topbar .loc{letter-spacing:.04em;text-transform:uppercase;font-size:11.5px;font-weight:600;color:rgba(255,255,255,.6);}
.rr .topbar .rt{display:flex;gap:22px;}
.rr .topbar a{color:rgba(255,255,255,.78);}
.rr .topbar a:hover{color:#fff;opacity:1;}
/* display:block guards against Bootstrap's .nav (display:flex) collision, which
   would otherwise shrink+center the inner .wrap instead of letting it fill. */
.rr .nav{display:block;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.rr .nav .wrap{display:flex;align-items:center;justify-content:flex-start;height:88px;gap:28px;}
.rr .brand-logo{display:inline-flex;align-items:center;flex:0 0 auto;}
.rr .nav-logo{max-height:56px;width:auto;display:block;}
.rr .nav-links{display:flex;align-items:center;gap:32px;margin-left:auto;}
.rr .nav-links a{font-weight:600;font-size:16px;color:var(--dark);}
.rr .nav-links a:hover{color:var(--blue);opacity:1;}
.rr .nav-links a.rev{display:flex;align-items:center;gap:6px;}
.rr .nav-links a.rev .st{color:var(--yellow);}
.rr .nav-actions{display:flex;align-items:center;gap:14px;}
.rr .nav-phone{font-weight:700;font-size:15.5px;color:var(--dark);white-space:nowrap;}
.rr .nav-call,.rr .nav-text{padding:12px 20px;font-size:15px;white-space:nowrap;}
/* keep the Call + Apply Now buttons the exact same height (border-box absorbs
   the Call button's border so it matches btn-primary) */
.rr .nav-actions .btn{height:48px;padding-top:0;padding-bottom:0;}
@media(max-width:960px){
  .rr .nav-links{display:none;}
}
@media(max-width:560px){
  .rr .topbar .loc{display:none;}
  .rr .nav-call span,.rr .nav-call,.rr .nav-text span,.rr .nav-text{gap:0;}
}
/* END Site Refresh v3 · HEADER */

/* --- Site Refresh v3 · HERO (howtotop.php) --- */
.rr .hero{background:var(--lightblue);overflow:hidden;}
.rr .hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding:84px 32px;}
.rr .hero-h{font-weight:800;font-size:76px;line-height:1.02;letter-spacing:-.03em;color:var(--dark);margin:0;}
/* title inline effects (markers in howtotop.php): **hl** __ul__ ==mk== !!lt!! */
.rr .hero-h{position:relative;z-index:0;}
.rr .hero-h .hl{color:var(--yellow);}
.rr .hero-h .ul{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:8px;text-decoration-thickness:5px;}
/* highlight background sits behind the text (pseudo) so it never covers the line above */
.rr .hero-h .mk{position:relative;color:#fff;padding:0 .12em;}
.rr .hero-h .mk::before{content:"";position:absolute;left:0;right:0;top:.05em;bottom:.05em;background:var(--yellow);border-radius:8px;z-index:-1;}
.rr .hero-h .lt{font-weight:400;}
.rr .hero-p{font-size:20px;color:var(--dark);opacity:.78;margin:22px 0 22px;max-width:480px;}
/* subheadline inline effects (custom_subheadline markers in howtotop.php): **hl** __ul__ ==mk== !!lt!! — sized down from the headline for 20px copy */
.rr .hero-p .hl{color:var(--yellow);}
.rr .hero-p .ul{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:3px;text-decoration-thickness:2px;}
.rr .hero-p .mk{position:relative;color:#fff;padding:0 .12em;}
.rr .hero-p .mk::before{content:"";position:absolute;left:0;right:0;top:.05em;bottom:.05em;background:var(--yellow);border-radius:5px;z-index:-1;}
.rr .hero-p .lt{font-weight:300;}
.rr .hero-rating{display:flex;align-items:center;gap:10px;margin:0 0 26px;font-size:15px;flex-wrap:wrap;}
.rr .hero-rating .stars{color:var(--yellow);font-size:16px;letter-spacing:1px;}
.rr .hero-rating b{color:var(--dark);font-weight:800;}
.rr .hero-rating span{color:var(--muted);}
.rr .hero-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.rr .hero-media{position:relative;}
.rr .hero-photo-img{width:100%;aspect-ratio:4/5;max-height:560px;background-size:cover;background-position:center;border-radius:22px;border:1px solid var(--line);box-shadow:0 26px 54px rgba(28,58,78,.16);display:block;}
.rr .hero-badge{position:absolute;left:-18px;bottom:64px;background:#fff;border-radius:16px;padding:16px 20px;box-shadow:0 14px 34px rgba(28,58,78,.16);display:flex;align-items:center;gap:14px;z-index:2;}
.rr .hero-badge .big{font-weight:800;font-size:30px;color:var(--dark);line-height:1;}
.rr .hero-badge .stars{color:var(--yellow);font-size:13px;letter-spacing:1px;}
.rr .hero-badge small{display:block;color:var(--muted);font-size:12px;margin-top:2px;}
.rr .hero-video{position:relative;padding-top:56.25%;border-radius:22px;overflow:hidden;box-shadow:0 26px 54px rgba(28,58,78,.16);}
.rr .hero-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.rr .hero-social{position:absolute;right:-8px;top:24px;background:var(--dark);border-radius:40px;padding:10px 8px;display:flex;flex-direction:column;gap:10px;}
.rr .hero-social a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;}
.rr .hero-social a:hover{background:var(--yellow);color:var(--dark);opacity:1;}
.rr .hero-social svg{display:block;fill:currentColor;}
@media(max-width:960px){
  .rr .hero .wrap{grid-template-columns:1fr;padding:56px 32px;}
  .rr .hero-h{font-size:44px;}
  .rr .hero-social{right:8px;}
}
/* END Site Refresh v3 · HERO */

/* --- Site Refresh v3 · ABOUT (aboutme.php) --- */
.rr .about .wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:58px;align-items:center;}
.rr .about-photo .about-photo-img{width:100%;aspect-ratio:1/1;max-height:460px;background-size:cover;background-position:center top;border-radius:20px;border:1px solid var(--line);display:block;box-shadow:0 20px 44px rgba(28,58,78,.12);}
/* bio paragraphs only — never the eyebrow or signature */
.rr .about-body p:not(.eyebrow):not(.sig){font-size:18px;color:#3a4650;margin:0 0 18px;line-height:1.7;}
.rr .sig{font-weight:800;color:var(--blue);font-size:19px;margin-top:4px;}
/* hero location line — SEO "Your local {City} expert — also serving {states}" */
.rr .hero-locale{font-weight:700;font-size:16.5px;color:var(--dark);margin:16px 0 22px;line-height:1.5;}
.rr .hero-locale svg{color:var(--yellow);width:16px;height:16px;vertical-align:-3px;margin-right:7px;}
@media(max-width:960px){
  .rr .about .wrap{grid-template-columns:1fr;gap:36px;}
}
/* END Site Refresh v3 · ABOUT */

/* --- Site Refresh v3 · TEAM (teamsection.php + headscript.js cards) --- */
.rr .team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;max-width:1272px;margin:50px auto 0;text-align:left;}
.rr .team-card{flex:0 1 300px;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .18s ease,box-shadow .2s ease;}
.rr .team-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(28,58,78,.1);}
.rr .team-photo{aspect-ratio:1/1;background:var(--lightblue);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;overflow:hidden;}
.rr .team-photo .team-photo-img{width:100%;height:100%;background-size:cover;background-position:center top;}
.rr .team-body{padding:22px 24px;flex:1;display:flex;flex-direction:column;}
.rr .team-name{font-weight:800;font-size:19px;color:var(--dark);margin:0;}
.rr .team-role{font-weight:700;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin:5px 0 0;}
.rr .team-nmls{font-size:13px;color:var(--muted);margin:10px 0 0;}
.rr .team-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:16px;}
.rr .team-btn{font-weight:700;font-size:12.5px;padding:7px 14px;border-radius:8px;border:1.5px solid var(--line);color:var(--dark);transition:border-color .16s ease,color .16s ease,background .16s ease,transform .16s ease;}
.rr .team-btn:hover{border-color:var(--blue);color:var(--blue);opacity:1;transform:translateY(-1px);}
.rr .team-btn-icon{padding:7px;display:inline-flex;align-items:center;justify-content:center;}
/* Apply = primary per-member action: variable-color (CTA) outline; text stays
   dark for readability, fills on hover. (Text color is left to inherit — the
   broad `.rr a:not(.btn)` rule keeps it dark/readable on any palette.) */
.rr .team-btn-apply{border-color:var(--buttonscolor,var(--yellow));}
.rr .team-btn-apply:hover{background:var(--buttonscolor,var(--yellow));border-color:var(--buttonscolor,var(--yellow));color:#fff;transform:translateY(-1px);}
@media(max-width:960px){ .rr .team-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .rr .team-grid{grid-template-columns:1fr;} }
/* END Site Refresh v3 · TEAM */

/* --- Site Refresh v3 · WHAT I DO (whatido.php) --- */
.rr .card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px;}
.rr .pcard{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:30px 26px;display:flex;flex-direction:column;gap:12px;transition:transform .18s ease,box-shadow .2s ease;}
.rr .pcard:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(28,58,78,.1);}
.rr .pcard .ic{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--blue);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.rr .pcard .ic svg{width:24px;height:24px;stroke:var(--blue);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.rr .pcard .ic img{width:26px;height:26px;object-fit:contain;}
.rr .pcard h3{font-weight:700;font-size:19px;margin:4px 0 0;color:var(--dark);}
.rr .pcard p{font-size:14.5px;color:var(--muted);margin:0;flex:1;}
@media(max-width:960px){ .rr .card-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .rr .card-grid{grid-template-columns:1fr;} }
/* END Site Refresh v3 · WHAT I DO */

/* --- Site Refresh v3 · WHO WE HELP (whowehelp.php) --- */
.rr .wwh-row{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;padding:46px 0;border-bottom:1px solid var(--line);}
.rr .wwh-rows .wwh-row:last-child{border-bottom:none;}
.rr .wwh-img{aspect-ratio:4/3;width:100%;max-width:380px;justify-self:center;border-radius:18px;background:var(--lightblue);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;overflow:hidden;}
.rr .wwh-img .wwh-photo{width:100%;height:100%;background-size:cover;background-position:center;}
.rr .wwh-row.flip .wwh-img{order:2;}
.rr .wwh-num{font-weight:800;font-size:14px;letter-spacing:.1em;color:var(--blue);margin:0 0 10px;}
.rr .wwh-row h3{font-weight:800;font-size:28px;color:var(--dark);margin:0 0 12px;letter-spacing:-.02em;}
.rr .wwh-row p{font-size:16px;color:var(--muted);margin:0;line-height:1.7;}
@media(max-width:960px){ .rr .wwh-row{grid-template-columns:1fr;gap:20px;} .rr .wwh-row.flip .wwh-img{order:0;} }
/* END Site Refresh v3 · WHO WE HELP */

/* --- Site Refresh v3 · RESOURCES (resourcessection.php) --- */
.rr .res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px;}
.rr .res-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .2s ease;}
.rr .res-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(28,58,78,.1);}
/* Guide thumbnails: show the full cover cleanly on white — one card, no nesting */
.rr .res-card .thumb{height:230px;background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;overflow:hidden;padding:22px 22px 6px;}
.rr .res-card .thumb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;}
.rr .res-card .body{padding:26px;display:flex;flex-direction:column;gap:12px;flex:1;}
.rr .res-card .body h3{font-weight:700;font-size:19px;margin:0;color:var(--dark);}
.rr .res-card .body p{font-size:14.5px;color:var(--muted);margin:0;flex:1;}
.rr .res-card .btn{align-self:flex-start;}
@media(max-width:960px){ .rr .res-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .rr .res-grid{grid-template-columns:1fr;} }
/* END Site Refresh v3 · RESOURCES */

/* --- Site Refresh v3 · SCHEDULE band (schedulemeeting.php) --- */
.rr .band{background:var(--blue);border-radius:26px;color:#fff;padding:60px 52px;display:grid;grid-template-columns:1.3fr .7fr;gap:36px;align-items:center;}
.rr .band .eyebrow{color:var(--yellow);}
.rr .band h2{font-weight:800;font-size:36px;line-height:1.14;margin:0;letter-spacing:-.02em;}
.rr .band p{color:rgba(255,255,255,.74);margin:12px 0 0;font-size:16.5px;}
.rr .band .col{display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.rr .band small{color:rgba(255,255,255,.55);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;}
@media(max-width:960px){ .rr .band{grid-template-columns:1fr;padding:44px 32px;} }
/* END Site Refresh v3 · SCHEDULE band */

/* --- Site Refresh v3 · REVIEWS frame (ratingandreviews.php) ---
   The review cards themselves are server-rendered by gradeus_reviews.php,
   which ships its own scoped styles; we only style the section wrapper. */
.rr .reviews{background:var(--lightblue);}
.rr .reviews-embed{margin-top:44px;text-align:left;}
/* single rotating testimonial (singlereviewsection.php) — framed as a soft
   testimonial band so it doesn't float in empty whitespace */
.rr .singlereview{padding:40px 0;}
.rr .sr-band{position:relative;max-width:920px;margin:0 auto;background:var(--lightblue);border:1px solid var(--line);border-radius:24px;padding:46px 40px 40px;text-align:center;overflow:hidden;}
.rr .sr-band .eyebrow{position:relative;z-index:1;margin-bottom:10px;}
.rr .sr-band .gradeus-q{position:relative;z-index:1;}
.rr .sr-qmark{position:absolute;top:2px;left:50%;transform:translateX(-50%);font-family:Georgia,'Times New Roman',serif;font-size:150px;line-height:1;color:var(--blue);opacity:.1;z-index:0;pointer-events:none;user-select:none;}
@media(max-width:560px){ .rr .sr-band{padding:36px 22px 30px;} }
/* END Site Refresh v3 · REVIEWS frame */

/* --- Site Refresh v3 · APPLY band (applynow.php) --- */
.rr .apply{background:var(--blue);border-radius:26px;color:#fff;padding:64px 40px;text-align:center;}
.rr .apply h2{font-weight:800;font-size:42px;margin:0;letter-spacing:-.025em;color:#fff;}
.rr .apply p{font-size:18px;opacity:.92;margin:10px 0 28px;}
@media(max-width:960px){ .rr .apply h2{font-size:32px;} }
/* END Site Refresh v3 · APPLY band */

/* --- Site Refresh v3 · SIGNUP (signupsection.php) --- */
.rr .signup{background:var(--blue);border-radius:26px;color:#fff;padding:56px 48px;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;}
.rr .signup .eyebrow{color:var(--yellow);}
.rr .signup h2{font-weight:800;font-size:34px;margin:0;letter-spacing:-.02em;color:#fff;}
.rr .signup p{color:rgba(255,255,255,.74);margin:12px 0 0;font-size:16px;max-width:520px;}
.rr .forecast{display:flex;flex-direction:column;gap:12px;}
.rr .forecast-img{border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.28);}
.rr .forecast-img img{width:100%;display:block;}
.rr .forecast-note{font-size:12.5px;color:rgba(255,255,255,.55);font-style:italic;margin:0;text-align:center;}
/* inline Keap WRF opt-in form (right column — replaces the example image) */
.rr .signup-formwrap{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:30px 28px;}
.rr .signup-form{display:flex;flex-direction:column;gap:12px;}
.rr .signup-form input[type=text],.rr .signup-form input[type=email]{width:100%;padding:15px 16px;border-radius:10px;border:1px solid transparent;background:#fff;color:var(--ink);font-size:15px;font-family:var(--fam);}
.rr .signup-form input::placeholder{color:var(--muted);}
.rr .signup-form input:focus{outline:none;border-color:var(--buttonscolor,var(--yellow));}
.rr .signup-form button[type=submit]{width:100%;justify-content:center;margin-top:4px;cursor:pointer;}
.rr .signup-fineprint{margin:14px 0 0;text-align:center;color:rgba(255,255,255,.55);font-size:12.5px;}
/* ghost-pill secondary link — extra selector weight so it beats
   `.rr a:not(.btn){color:var(--blue)}` (which otherwise renders it near-black
   on the dark band). Inherits the band's white, so readable on any dark. */
.rr .signup .signup-learn{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:#fff;font-weight:700;font-size:13px;text-decoration:none;border:1.5px solid rgba(255,255,255,.45);border-radius:999px;padding:10px 18px;transition:background .18s ease,border-color .18s ease;}
.rr .signup .signup-learn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);color:#fff;opacity:1;}
@media(max-width:960px){ .rr .signup{grid-template-columns:1fr;padding:40px 28px;} }
/* END Site Refresh v3 · SIGNUP */

/* --- Site Refresh v3 · HOMEBOT (homebot.php) --- */
.rr .homebot{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.rr .homebot .wrap{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.rr .homebot h2{font-weight:800;font-size:34px;margin:0;color:var(--dark);letter-spacing:-.02em;}
.rr .homebot p{color:var(--muted);font-size:16.5px;margin:14px 0 0;}
.rr .homebot .widget{border-radius:18px;background:#fff;border:1px solid var(--line);min-height:320px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;text-align:center;overflow:hidden;padding:10px;}
.rr .homebot .widget > div{width:100%;}
@media(max-width:960px){ .rr .homebot .wrap{grid-template-columns:1fr;} }
/* END Site Refresh v3 · HOMEBOT */

/* --- Site Refresh v3 · CONTACT + MAP (workwithus.php) --- */
.rr .contact{background:var(--soft);}
.rr .contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch;}
.rr .cc-list{display:flex;flex-direction:column;gap:16px;}
.rr .cc{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;transition:border-color .18s ease,transform .18s ease;}
.rr .cc:hover{border-color:var(--blue);transform:translateY(-2px);}
.rr .cc .ic{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--blue);color:var(--blue);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.rr .cc .ic svg{width:21px;height:21px;stroke:var(--blue);stroke-width:1.8;fill:none;}
.rr .cc .lbl{font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;}
.rr .cc .val{font-weight:700;font-size:18px;color:var(--dark);margin:0;line-height:1.25;word-break:break-word;}
.rr .cc .val a{color:var(--dark);}
.rr .cc .val a:hover{color:var(--blue);opacity:1;}
.rr .cc-social{list-style:none;padding:0;margin:22px 0 0;display:flex;gap:12px;flex-wrap:wrap;}
.rr .cc-social img{width:38px;height:38px;display:block;}
.rr .map{border-radius:16px;background:var(--lightblue);border:1px solid var(--line);min-height:340px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;overflow:hidden;}
.rr .map iframe{width:100%;height:100%;min-height:340px;border:0;display:block;}
@media(max-width:960px){ .rr .contact .wrap{grid-template-columns:1fr;} }
/* END Site Refresh v3 · CONTACT + MAP */

/* --- Site Refresh v3 · FOOTER (footerview.php) --- */
.rr .ft{background:var(--blue);color:rgba(255,255,255,.72);padding:60px 0 34px;}
.rr .ft .wrap{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:40px;}
.rr .ft .brand{margin-bottom:14px;font-weight:800;font-size:21px;letter-spacing:-.02em;}
.rr .ft address{font-style:normal;font-size:14px;line-height:1.75;color:rgba(255,255,255,.6);}
.rr .ft h5{font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 16px;}
.rr .ft ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.rr .ft ul a{color:rgba(255,255,255,.78);font-size:14.5px;}
.rr .ft ul a:hover{color:#fff;opacity:1;}
.rr .ft-badges{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
/* dark/opaque logos (NMLS) get a white chip; white-on-transparent logos
   (Equal Housing) sit directly on the dark footer */
.rr .ft-badges .ft-chip{background:#fff;border-radius:6px;padding:6px;display:inline-flex;max-width:96px;}
.rr .ft-badges .ft-chip img{max-width:100%;height:auto;display:block;}
.rr .ft-badges .ft-plain{max-width:72px;height:auto;display:block;}
.rr .ft-legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:24px;margin-top:8px;display:flex;flex-direction:column;gap:16px;font-size:12.5px;color:rgba(255,255,255,.5);}
.rr .ft-fineprint p{margin:0 0 10px;line-height:1.6;font-size:11.5px;color:rgba(255,255,255,.42);}
.rr .ft-legal-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.rr .ft-legal a{color:rgba(255,255,255,.6);}
.rr .ft-legal a:hover{color:#fff;opacity:1;}
.rr .ft-credit{color:rgba(255,255,255,.4);font-size:12px;}
.rr .ft-credit a{color:rgba(255,255,255,.55);}
@media(max-width:960px){ .rr .ft .wrap{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .rr .ft .wrap{grid-template-columns:1fr;} .rr .ft-legal-row{flex-direction:column;} }
/* END Site Refresh v3 · FOOTER */
