/* ==========================================================================
   home.css — Home page signature sections
   - .hero-v2         : intent-segmenter hero (replaces .hero)
   - .panel-band      : "why use a broker" lender-panel strip
   ========================================================================== */

/* ==========================================================================
   1. HERO V2 — intent segmenter
   ========================================================================== */
.hero-v2{
  position:relative;overflow:hidden;
  padding:110px 28px 90px;
  background:
    linear-gradient(180deg, #FCFBF7 0%, var(--cream) 55%, #F4F1E9 100%);
}
/* Layered mesh-gradient + dotted texture for modern depth */
.hero-v2-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 760px 420px at 92% 12%, rgba(46,196,212,.16), transparent 62%),
    radial-gradient(ellipse 620px 420px at 6% 92%, rgba(10,31,58,.07), transparent 60%),
    radial-gradient(ellipse 420px 320px at 70% 80%, rgba(200,168,120,.10), transparent 65%);
}
/* faint dot grid, masked so it fades out toward the centre */
.hero-v2-bg::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(10,31,58,.16) 1px, transparent 1px);
  background-size:26px 26px;
  opacity:.5;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 80% 15%, #000, transparent 70%);
  mask-image:radial-gradient(ellipse 80% 70% at 80% 15%, #000, transparent 70%);
}
/* soft floating orbit rings, top-right */
.hero-v2-bg::after{
  content:'';position:absolute;top:64px;right:-70px;
  width:380px;height:380px;border-radius:50%;
  border:1px solid rgba(46,196,212,.22);
  box-shadow:0 0 0 40px rgba(46,196,212,.05), inset 0 0 60px rgba(46,196,212,.06);
  animation:heroFloat 9s ease-in-out infinite;
}
@keyframes heroFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(18px) scale(1.03)}
}
@media (prefers-reduced-motion: reduce){
  .hero-v2-bg::after{animation:none}
}

.hero-v2-in{
  position:relative;z-index:2;
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  gap:72px;align-items:start;
}
.hero-v2-copy{ min-width:0; }

.hero-v2-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal-d);
  padding:7px 16px 7px 13px;border-radius:999px;
  background:linear-gradient(135deg, rgba(46,196,212,.14), rgba(46,196,212,.06));
  border:1px solid rgba(46,196,212,.28);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 6px 16px -10px rgba(46,196,212,.5);
  margin-bottom:22px;
}
.hero-v2-eyebrow::before{
  content:'';width:7px;height:7px;border-radius:50%;
  background:var(--teal);flex:none;position:relative;
  box-shadow:0 0 0 0 rgba(46,196,212,.6);
  animation:heroPulseDot 2.4s ease-out infinite;
}
@keyframes heroPulseDot{
  0%{box-shadow:0 0 0 0 rgba(46,196,212,.55)}
  70%{box-shadow:0 0 0 7px rgba(46,196,212,0)}
  100%{box-shadow:0 0 0 0 rgba(46,196,212,0)}
}
@media (prefers-reduced-motion: reduce){
  .hero-v2-eyebrow::before{animation:none}
}

.hero-v2-h{
  font-family:var(--f-display);font-weight:500;
  font-size:clamp(2.3rem,4.6vw,3.8rem);line-height:1.02;
  letter-spacing:-.02em;color:var(--ink);
  margin-bottom:22px;max-width:18ch;
  transition:opacity .35s ease;
}
.hero-v2-h em{color:var(--teal-d);font-style:italic;font-weight:400}

.hero-v2-sub{
  font-size:1.1rem;line-height:1.7;color:var(--ink-2);
  max-width:52ch;margin-bottom:34px;
  transition:opacity .35s ease;
}

/* Segmenter — pill row */
.hero-v2-seg{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:32px;
  padding:6px;
  background:#fff;border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 4px 14px rgba(10,31,58,.04);
  max-width:760px;
}
.hero-v2-seg-btn{
  flex:1 1 120px;min-width:0;
  display:flex;align-items:center;justify-content:center;gap:7px;
  padding:11px 10px;
  background:transparent;color:var(--ink-2);
  border:0;border-radius:11px;cursor:pointer;
  font-family:var(--f-body);font-size:.88rem;font-weight:600;
  letter-spacing:.005em;white-space:nowrap;
  transition:all .22s ease;
}
.hero-v2-seg-btn:hover{background:var(--cream);color:var(--ink)}
.hero-v2-seg-btn.is-active{
  background:var(--ink);color:#fff;
  box-shadow:0 6px 18px rgba(10,31,58,.22);
}
.hero-v2-seg-btn.is-active .hero-v2-seg-ico{color:var(--teal)}
.hero-v2-seg-ico{
  display:inline-flex;width:20px;height:20px;color:var(--teal-d);flex-shrink:0;
  transition:color .22s ease;
}
.hero-v2-seg-ico svg{width:100%;height:100%}

/* Answer panel */
.hero-v2-answer{
  margin-bottom:32px;
  animation:hero-answer-in .4s ease;
}
@keyframes hero-answer-in{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
.hero-v2-answer-inner{
  padding:24px 26px;
  background:#fff;border-left:3px solid var(--teal);
  border-top:1px solid var(--line-2);
  border-right:1px solid var(--line-2);
  border-bottom:1px solid var(--line-2);
  border-radius:0 14px 14px 0;
  max-width:560px;
}
.hero-v2-answer-t{
  font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--teal-d);margin-bottom:14px;
}
.hero-v2-answer-l{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;
}
.hero-v2-answer-l li{
  position:relative;padding-left:24px;
  font-size:.95rem;color:var(--ink-2);line-height:1.5;
}
.hero-v2-answer-l li::before{
  content:'';position:absolute;left:0;top:9px;
  width:14px;height:2px;background:var(--teal);
}

.hero-v2-cta{display:flex;flex-wrap:wrap;gap:12px}

/* Right sidebar card */
.hero-v2-side{
  position:sticky;top:110px;
}
.hero-v2-card{
  background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:24px;
  box-shadow:0 14px 44px rgba(10,31,58,.07);
}
.hero-v2-meet{display:flex;align-items:center;gap:13px}
.hero-v2-meet-photo{
  width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;
  border:2px solid rgba(46,196,212,.45);
  box-shadow:0 3px 12px rgba(10,31,58,.14);
}
.hero-v2-meet-txt{display:flex;flex-direction:column;gap:3px;line-height:1.35}
.hero-v2-meet-txt strong{font-family:var(--f-display);font-weight:600;color:var(--ink);font-size:1.06rem}
.hero-v2-meet-txt span{font-size:.83rem;color:var(--muted)}
.hero-v2-card-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.hero-v2-rating{display:flex;flex-direction:column;gap:4px}
.hero-v2-stars{display:flex;gap:2px;color:#F5B94A}
.hero-v2-stars svg{width:16px;height:16px;fill:currentColor}
.hero-v2-rating-n{font-size:.82rem;font-weight:600;color:var(--ink)}
.hero-v2-g{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;background:var(--cream);
  border:1px solid var(--line-2);border-radius:999px;
  font-size:.76rem;font-weight:600;color:var(--ink);
}

.hero-v2-card-div{height:1px;background:var(--line-2);margin:20px 0}

.hero-v2-card-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:18px 14px;
}
.hero-v2-card-grid > div{
  display:flex;flex-direction:column;gap:4px;
}
.hero-v2-stat-n{
  font-family:var(--f-display);font-weight:500;
  font-size:1.6rem;color:var(--ink);letter-spacing:-.015em;line-height:1;
}
.hero-v2-stat-n span{
  font-size:.82rem;font-weight:500;color:var(--teal-d);
  margin-left:4px;letter-spacing:0;
}
.hero-v2-stat-l{
  font-size:.72rem;font-weight:500;color:var(--muted);
  letter-spacing:.02em;
}

.hero-v2-accred{
  display:flex;flex-wrap:wrap;gap:8px;
}
.hero-v2-accred-chip{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 10px;
  background:var(--cream);border:1px solid var(--line-2);
  border-radius:8px;
  font-size:.72rem;font-weight:600;color:var(--ink);
  letter-spacing:.01em;
}

/* ==========================================================================
   2. PANEL BAND — "why use a broker" lender-panel strip
   ========================================================================== */
.panel-band{
  padding:100px 28px;
  background:linear-gradient(180deg,#fff 0%,var(--cream) 100%);
}
.panel-band-head{
  max-width:720px;margin:0 auto 48px;text-align:center;
}
.panel-band-head .eyebrow{margin-bottom:14px;display:inline-block}
.panel-band-head h2{
  font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.15;
  margin-bottom:16px;letter-spacing:-.015em;
}
.panel-band-head p{
  font-size:1rem;line-height:1.72;color:var(--muted);max-width:58ch;margin:0 auto;
}
.panel-band-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  max-width:1080px;margin:0 auto;
}
.panel-band-card{
  background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:32px 28px 28px;
  position:relative;transition:all .3s ease;
}
.panel-band-card::before{
  content:'';position:absolute;top:0;left:24px;right:24px;height:3px;
  background:linear-gradient(90deg,var(--teal),var(--teal-d));
  border-radius:3px;
}
.panel-band-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(10,31,58,.08);
  border-color:var(--teal);
}
.panel-band-ico{
  width:44px;height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(46,196,212,.12);color:var(--teal-d);
  border-radius:12px;margin-bottom:18px;
}
.panel-band-ico svg{width:22px;height:22px}
.panel-band-card h3{
  font-size:1.1rem;font-weight:500;line-height:1.3;
  margin-bottom:10px;color:var(--ink);letter-spacing:-.005em;
}
.panel-band-card p{
  font-size:.94rem;line-height:1.65;color:var(--muted);margin:0;
}
.panel-band-disclaim{
  font-size:.78rem;line-height:1.6;color:var(--muted);
  margin:32px auto 0;max-width:88ch;
  padding:14px 18px;background:#fff;
  border-left:2px solid var(--line);border-radius:0 6px 6px 0;
  text-align:left;
}
.panel-band-disclaim em{font-style:italic;color:var(--ink)}

/* ==========================================================================
   3. SPEED BAND — approval + settlement speed promise
   ========================================================================== */
.speed-band{
  padding:100px 28px;background:var(--ink);color:#fff;
  position:relative;overflow:hidden;
}
.speed-band::before{
  content:'';position:absolute;top:-40%;right:-10%;width:70%;height:140%;
  background:radial-gradient(ellipse at center, rgba(46,196,212,.18), transparent 60%);
  pointer-events:none;
}
.speed-band-head{
  max-width:780px;margin:0 auto 48px;text-align:center;position:relative;z-index:1;
}
.speed-band-head .eyebrow{
  color:var(--teal);background:rgba(46,196,212,.12);
  border:1px solid rgba(46,196,212,.25);
  padding:6px 14px;border-radius:30px;display:inline-block;
  margin-bottom:18px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
}
.speed-band-head h2{
  font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.15;
  margin-bottom:18px;letter-spacing:-.02em;color:#fff;
}
.speed-band-head h2 em{
  font-style:italic;color:var(--teal);font-weight:400;
}
.speed-band-head p{
  font-size:1rem;line-height:1.72;color:rgba(255,255,255,.75);
  max-width:62ch;margin:0 auto;
}
.speed-band-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  max-width:1080px;margin:0 auto;position:relative;z-index:1;
}
.speed-band-card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  border-radius:20px;padding:36px 32px 32px;
  transition:all .3s ease;
}
.speed-band-card:hover{
  background:rgba(255,255,255,.06);border-color:rgba(46,196,212,.4);
  transform:translateY(-4px);
}
.speed-band-featured{
  background:linear-gradient(180deg,rgba(46,196,212,.14),rgba(46,196,212,.04));
  border-color:rgba(46,196,212,.35);
}
.speed-band-n{
  font-family:var(--f-display);font-weight:500;line-height:1;
  font-size:clamp(3rem,5.5vw,4.2rem);color:var(--teal);
  letter-spacing:-.03em;margin-bottom:10px;
}
.speed-band-n span{
  font-size:1.2rem;font-weight:400;color:rgba(255,255,255,.55);
  margin-left:6px;letter-spacing:.02em;
}
.speed-band-lbl{
  font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;margin-bottom:16px;
}
.speed-band-card p{
  font-size:.94rem;line-height:1.68;color:rgba(255,255,255,.7);margin:0;
}
.speed-band-disclaim{
  font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.5);
  max-width:88ch;margin:32px auto 0;text-align:center;
  padding:14px 20px;position:relative;z-index:1;
}

/* ==========================================================================
   4. FLAGSHIP BAND (Land & Construction hero service)
   ========================================================================== */
.flagship-band{
  padding:104px 32px;background:var(--cream);
  position:relative;overflow:hidden;
}
.flagship-band::before{
  content:"";position:absolute;top:-120px;right:-120px;
  width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle, rgba(46,196,212,.14), transparent 70%);
}
.flagship-grid{
  max-width:1200px;margin:0 auto;position:relative;z-index:1;
  display:grid;grid-template-columns:1.15fr 0.85fr;gap:72px;align-items:start;
}
.flagship-copy .eyebrow{
  display:inline-block;font-size:.78rem;letter-spacing:.15em;
  text-transform:uppercase;font-weight:600;margin-bottom:14px;
}
.flagship-copy h2{
  font-family:var(--f-display);font-size:clamp(2rem,4vw,3rem);
  line-height:1.1;font-weight:400;color:var(--ink);margin-bottom:18px;
}
.flagship-copy h2 em{color:var(--teal);font-style:italic}
.flagship-copy .lead{
  font-size:1.08rem;line-height:1.7;color:var(--ink-2);margin-bottom:26px;
}
.flagship-list{
  list-style:none;padding:0;margin:0 0 32px;display:grid;gap:12px;
  font-size:.98rem;line-height:1.7;color:var(--ink);
}
.flagship-list li{
  padding-left:28px;position:relative;
}
.flagship-list li::before{
  content:"✓";position:absolute;left:0;top:0;color:var(--teal);font-weight:700;
}
.flagship-list strong{color:var(--ink);font-weight:600}
.flagship-ctas{
  display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px;
}
.flagship-disclaim{
  font-size:.78rem;line-height:1.6;color:var(--muted);
  background:#FFF8E7;border:1px solid #F0D89A;border-radius:10px;
  padding:14px 18px;color:#5B4418;
}
.flagship-stages-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:32px;box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.flagship-stages-head{
  font-family:var(--f-display);font-size:1.2rem;color:var(--ink);
  margin-bottom:18px;font-weight:500;
}
.flagship-stages-list{
  list-style:none;padding:0;margin:0;display:grid;gap:14px;
  counter-reset:none;
}
.flagship-stages-list li{
  display:grid;grid-template-columns:36px 1fr;gap:14px;
  font-size:.92rem;line-height:1.5;
}
.flagship-stages-list li span{
  width:30px;height:30px;border-radius:50%;
  background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:600;font-size:.85rem;
}
.flagship-stages-list li strong{
  display:block;color:var(--ink);font-size:.95rem;font-weight:600;
}
.flagship-stages-list li em{
  display:block;font-style:normal;color:var(--muted);font-size:.85rem;margin-top:2px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:980px){
  .hero-v2{padding:80px 24px 64px}
  .hero-v2-in{grid-template-columns:1fr;gap:48px}
  .hero-v2-side{position:static}
  .hero-v2-answer-l{grid-template-columns:1fr}

  .panel-band{padding:72px 24px}
  .panel-band-grid{grid-template-columns:1fr;gap:16px}

  .speed-band{padding:72px 24px}
  .speed-band-grid{grid-template-columns:1fr;gap:16px}

  .flagship-band{padding:72px 24px}
  .flagship-grid{grid-template-columns:1fr;gap:40px}
  .flagship-stages-card{padding:26px 22px}
}

@media (max-width:560px){
  .hero-v2-h{font-size:2rem}
  .hero-v2-sub{font-size:1rem}
  .hero-v2-seg{padding:4px;gap:4px}
  .hero-v2-seg-btn{padding:10px 8px;font-size:.85rem;flex-basis:calc(50% - 4px)}
  .hero-v2-seg-lab{font-size:.85rem}
  .hero-v2-answer-inner{padding:20px 22px}
  .hero-v2-cta .btn{width:100%;justify-content:center}
  .hero-v2-card{padding:20px}
  .hero-v2-card-grid{grid-template-columns:1fr 1fr;gap:14px 12px}

  .panel-band-card{padding:26px 22px 22px}
}
