/* ============================================================
   HarishProperties.ca — main.css (consolidated design system)
   Release 1 · Generated from 9 legacy files in load order:
   styles > final-visual-fix > alignment-final > hero-clean-final
   > premium-v2 > view-favicon-fix > hero-refinement
   > orange-brand-polish > brand-system
   Later sections intentionally override earlier ones.
   ============================================================ */

/* ---------- from styles.css ---------- */

:root{
  --cream:#F0E9E0;
  --blue:#0E2885;
  --purple:#883C97;
  --navy:#07142E;
  --navy2:#0D1A3B;
  --gold:#C8A35A;
  --paper:#FBF8F3;
  --white:#FFFFFF;
  --ink:#11182A;
  --muted:#667084;
  --line:rgba(14,40,133,.14);
  --shadow:0 22px 65px rgba(7,20,46,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}
img,video{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(1340px,calc(100% - 40px));margin:auto}
h1,h2{font-family:Georgia,'Times New Roman',serif;line-height:1.04;margin:0 0 18px;font-weight:500}
h1{font-size:clamp(3.4rem,5.6vw,6.2rem)}
h2{font-size:clamp(2.15rem,3.7vw,3.8rem)}
h3{margin:0 0 12px}
p{margin:0 0 18px}
.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:var(--gold);margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:8px;font-weight:900;border:1px solid transparent;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-purple{background:linear-gradient(135deg,var(--purple),#632675);color:#fff}
.btn-blue{background:linear-gradient(135deg,var(--blue),#071b68);color:#fff}
.btn-outline{border-color:rgba(255,255,255,.42);color:#fff}

/* Header */
.site-header{position:absolute;inset:0 0 auto;z-index:50;color:#fff}
.nav{height:92px;display:flex;align-items:center;gap:22px}
.brand img{width:170px;max-height:66px;object-fit:contain}
.navlinks{display:flex;gap:22px;align-items:center;margin-left:auto;font-size:.8rem;font-weight:900;text-transform:uppercase}
.remax{width:145px;background:#fff;border-radius:6px;padding:7px}
.menu{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.8rem}

/* Hero */
.hero{
  min-height:780px;
  color:#fff;
  position:relative;
  overflow:hidden;
  background:url('../images/luxury-house-full.jpg') center/cover no-repeat;
}
.hero::before{
  content:"";
  position:absolute;inset:0;z-index:0;
  background:linear-gradient(90deg,
    rgba(7,20,46,.98) 0%,
    rgba(7,20,46,.92) 32%,
    rgba(7,20,46,.58) 49%,
    rgba(7,20,46,.18) 70%,
    rgba(7,20,46,.10) 100%);
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,rgba(7,20,46,.14),rgba(7,20,46,.22));
}
.hero-line{position:absolute;left:0;top:115px;width:390px;height:2px;background:linear-gradient(90deg,var(--purple),var(--gold),transparent);z-index:2}
.hero-grid{min-height:780px;display:grid;grid-template-columns:1.02fr .98fr;align-items:end;position:relative;z-index:3}
.hero-copy{padding:145px 0 115px;max-width:700px;position:relative;z-index:4}
.hero-copy .gold{color:var(--gold);font-style:italic}
.hero-copy p{max-width:590px;color:#EEF2F8;font-size:1.08rem}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:27px 0}
.review{display:flex;gap:12px;align-items:center}
.review-stars{color:#F3B43B;font-size:1.25rem}
.hero-person{align-self:end;justify-self:end;width:min(720px,112%);margin-right:-55px;position:relative;z-index:3;filter:drop-shadow(0 30px 70px rgba(0,0,0,.46))}
.hero-person img{width:100%;height:auto;max-height:735px;object-fit:contain;object-position:center bottom;background:transparent}

/* Trust bar */
.trust-strip{position:relative;z-index:10;margin-top:-46px}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.trust-item{padding:23px 25px;border-right:1px solid var(--line)}
.trust-item:last-child{border:0}
.trust-item small{display:block;color:var(--muted);text-transform:uppercase;font-size:.68rem;letter-spacing:.08em}
.trust-item strong{display:block;font-family:Georgia,serif;color:var(--blue);font-size:1.55rem}
.trust-rating{display:inline-flex;gap:7px;align-items:center}.trust-rating span{color:#F3B43B}

/* Sections */
.section{padding:86px 0}
.section-cream{background:var(--cream)}
.section-navy{background:var(--navy);color:#fff}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:34px}
.section-head p{max-width:620px;color:var(--muted)}
.section-navy .section-head p{color:#B8C1D2}

/* Market */
.market-grid{display:grid;grid-template-columns:repeat(5,1fr);border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#09142D,#16132F);box-shadow:var(--shadow);color:#fff}
.market-card{padding:24px;border-right:1px solid rgba(255,255,255,.1)}
.market-card:last-child{border:0}
.market-card small{display:block;color:#B8C1D2;text-transform:uppercase;font-size:.66rem;letter-spacing:.07em}
.market-card strong{font-family:Georgia,serif;font-size:1.55rem}
.market-card .change{color:#80DA93;font-size:.78rem;margin-left:7px}
.market-card em{display:block;color:#AEB8CA;font-style:normal;font-size:.72rem}
.data-note{text-align:right;color:#8A92A1;font-size:.7rem;margin-top:10px}

/* Communities */
.community-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.community-card{position:relative;height:435px;border-radius:18px;overflow:hidden;color:#fff;box-shadow:var(--shadow)}
.community-card img{width:100%;height:100%;object-fit:cover;transition:.35s}
.community-card:hover img{transform:scale(1.04)}
.community-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,46,.05) 15%,rgba(7,20,46,.96) 100%)}
.rating-badge{position:absolute;top:16px;right:16px;z-index:2;background:rgba(255,255,255,.94);color:var(--navy);border-radius:999px;padding:8px 11px;font-weight:900;font-size:.76rem;box-shadow:0 8px 25px rgba(0,0,0,.16)}
.rating-badge b{color:var(--purple)}
.community-content{position:absolute;left:22px;right:22px;bottom:20px;z-index:2}
.community-content h3{font-family:Georgia,serif;font-size:1.9rem;margin-bottom:4px}
.community-tag{color:#D9DFEA;font-size:.78rem;margin-bottom:10px}
.community-price{font-family:Georgia,serif;font-size:1.45rem}
.community-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px;font-size:.72rem}
.community-meta span{padding-top:7px;border-top:1px solid rgba(255,255,255,.18)}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:29px;box-shadow:0 10px 34px rgba(7,20,46,.06)}
.service-card p{color:var(--muted)}
.service-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;font-size:1.2rem;margin-bottom:18px}
.service-card:nth-child(2) .service-icon{background:var(--blue)}

/* Listings */
.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.listing-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 10px 34px rgba(7,20,46,.07)}
.listing-visual{height:230px;background:linear-gradient(135deg,var(--blue),var(--purple));display:grid;place-items:center;color:#fff;font-family:Georgia,serif;font-size:1.6rem}
.listing-body{padding:22px}
.listing-price{font-family:Georgia,serif;color:var(--blue);font-size:1.5rem}
.listing-meta{color:var(--muted);font-size:.86rem}

/* Selling */
.selling-panel{display:grid;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#0D1432,#291146);color:#fff;box-shadow:var(--shadow)}
.selling-copy{padding:48px}
.checks{display:grid;gap:10px;margin:22px 0}
.checks span::before{content:"✓";color:var(--gold);font-weight:900;margin-right:10px}
.selling-media{position:relative;min-height:410px}
.selling-media video,.selling-media img{width:100%;height:100%;object-fit:cover}
.selling-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,46,.22),transparent)}
.play-pill{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--purple);font-size:1.45rem}

/* Instagram */
.instagram-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.reel-card{position:relative;aspect-ratio:9/12;border-radius:17px;overflow:hidden;box-shadow:var(--shadow);background:var(--navy)}
.reel-card img{width:100%;height:100%;object-fit:cover}
.reel-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(7,20,46,.90) 100%)}
.reel-play{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:2;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--purple);font-size:1.25rem}
.reel-info{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff}
.reel-info small{color:#D8DEEA}

/* Testimonials */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quote{background:#fff;border:1px solid var(--line);border-radius:17px;padding:28px;box-shadow:0 10px 34px rgba(7,20,46,.06)}
.quote .stars{color:#F3B43B}
.quote p{color:var(--muted)}

/* CTA */
.cta{border-radius:22px;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;padding:50px;display:flex;justify-content:space-between;align-items:center;gap:30px;box-shadow:var(--shadow)}

/* Footer */
.footer{background:#050B1E;color:#fff;padding:55px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:45px}
.footer-logo{width:230px;margin-bottom:20px}
.footer .remax{width:300px}
.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;color:#9DA7BA;font-size:.76rem}

/* Internal */
.page-hero{padding:140px 0 80px;background:linear-gradient(135deg,var(--navy),#25103D);color:#fff}

@media(max-width:1080px){
  .navlinks,.remax{display:none}
  .menu{display:block}
  .navlinks.open{display:flex;position:absolute;top:88px;left:20px;right:20px;flex-direction:column;align-items:flex-start;background:var(--navy);padding:24px}
  .hero-grid{grid-template-columns:1fr}
  .hero-person{position:absolute;right:-2%;bottom:0;width:58%;opacity:.58;margin:0}
  .hero-copy{position:relative;z-index:4}
  .trust-grid,.community-grid,.services-grid,.instagram-grid{grid-template-columns:repeat(2,1fr)}
  .market-grid{grid-template-columns:repeat(2,1fr)}
  .market-card:last-child{grid-column:1/-1}
  .listing-grid,.testimonial-grid{grid-template-columns:1fr}
  .selling-panel{grid-template-columns:1fr}
}
@media(max-width:680px){
  .container{width:min(100% - 24px,1340px)}
  .hero{min-height:820px;background-position:62% center}
  .hero-grid{min-height:820px}
  .hero-copy{padding:130px 0 90px}
  .hero-person{width:96%;right:-28%;opacity:.38}
  .trust-grid,.community-grid,.services-grid,.instagram-grid,.footer-grid,.market-grid{grid-template-columns:1fr}
  .market-card:last-child{grid-column:auto}
  .section{padding:66px 0}
  .section-head{display:block}
  .selling-copy{padding:34px 23px}
  .cta{padding:34px 24px;display:block}
  .cta .btn{margin-top:15px}
}


/* ===== JULY 2026 OVERLAP + INSTAGRAM FIX ===== */
.hero{background-image:none!important;isolation:isolate;min-height:760px}
.hero::before{
  background:
    linear-gradient(90deg,rgba(7,20,46,.99) 0%,rgba(7,20,46,.94) 34%,rgba(7,20,46,.66) 51%,rgba(7,20,46,.22) 75%,rgba(7,20,46,.12) 100%),
    url('../images/luxury-house-full.jpg') left center/118% auto no-repeat!important;
  transform:scale(1.08);
  transform-origin:center;
  inset:-5%!important;
}
.hero::after{background:linear-gradient(180deg,rgba(7,20,46,.08),rgba(7,20,46,.20))!important}
.hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);overflow:visible}
.hero-copy{max-width:680px;padding-right:28px}
.hero-person{width:min(650px,100%);margin-right:-20px;overflow:hidden;z-index:5}
.hero-person img{max-height:700px;object-fit:contain;object-position:center bottom}

.community-card{height:420px;background:#07142e}
.community-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.9) contrast(1.05)}
.community-card::before{content:"";position:absolute;inset:36% 0 0;z-index:1;background:linear-gradient(180deg,rgba(7,20,46,.35),rgba(7,20,46,.99) 32%,#07142e 100%)}
.community-card::after{background:linear-gradient(180deg,rgba(7,20,46,.08) 0%,rgba(7,20,46,.25) 38%,rgba(7,20,46,.98) 74%,#07142e 100%)!important;z-index:1}
.community-content{z-index:3;background:transparent;bottom:18px}
.rating-badge{z-index:4}
.community-content h3,.community-content .community-price,.community-content .community-tag,.community-content .community-meta,.community-content>div{position:relative;z-index:4;text-shadow:none}

.selling-panel{align-items:stretch}
.selling-media{min-height:430px;overflow:hidden;background:
  radial-gradient(circle at 74% 30%,rgba(240,233,224,.24),transparent 22%),
  linear-gradient(135deg,rgba(136,60,151,.88),rgba(14,40,133,.96));
}
.selling-media video,.selling-media img{display:none!important}
.selling-media::before{content:"";position:absolute;inset:8%;border:1px solid rgba(255,255,255,.22);border-radius:24px;background:
  linear-gradient(120deg,rgba(255,255,255,.14),rgba(255,255,255,.025));box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.selling-media::after{content:"PREMIUM HOME MARKETING";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:75%;text-align:center;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,3.5rem);letter-spacing:.06em;color:#fff;background:none}
.play-pill{display:none!important}

.instagram-grid{align-items:stretch}
.reel-card{aspect-ratio:4/5;min-height:0;background:#07142e;border:1px solid rgba(14,40,133,.12)}
.reel-card img{object-fit:cover;object-position:center top;transform:none!important}
.reel-card::before{content:"Instagram Reel";position:absolute;top:14px;left:14px;z-index:3;background:rgba(255,255,255,.94);color:#0e2885;border-radius:999px;padding:7px 10px;font-size:.68rem;font-weight:900}
.reel-card::after{background:linear-gradient(180deg,rgba(7,20,46,.03) 20%,rgba(7,20,46,.28) 58%,rgba(7,20,46,.98) 100%)!important}
.reel-play{top:47%;width:58px;height:58px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.reel-info{bottom:18px}
.reel-info b{display:block;font-size:1.02rem;line-height:1.25;margin-bottom:5px}

@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr!important}
  .hero-person{width:58%;right:-1%;margin:0;opacity:.52}
}
@media(max-width:680px){
  .hero{min-height:850px}
  .hero::before{background-position:25% center!important;background-size:auto 110%!important}
  .hero-copy{padding-right:0}
  .hero-person{width:96%;right:-30%;opacity:.34}
  .community-card{height:410px}
  .selling-media{min-height:280px}
}

/* ---------- from final-visual-fix.css ---------- */

/* HARISH PROPERTIES — SHARP HERO + OFFICIAL INSTAGRAM EMBEDS
   Loaded after styles.css so these rules take priority. */

/* ----- Crisp hero background ----- */
.hero{
  min-height:780px !important;
  background:
    linear-gradient(90deg,
      #07142e 0%,
      #07142e 34%,
      rgba(7,20,46,.96) 44%,
      rgba(7,20,46,.54) 61%,
      rgba(7,20,46,.14) 100%) !important;
  isolation:isolate;
  overflow:hidden !important;
}

/* Use the original 1800 × 1000 image at a reduced size.
   It is not enlarged or blurred. The crop excludes the person baked into
   the far-right side of the source image. */
.hero::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:auto !important;
  width:66% !important;
  background-image:url("../images/luxury-house-full.jpg") !important;
  background-repeat:no-repeat !important;
  background-size:auto 100% !important;
  background-position:42% center !important;
  filter:none !important;
  transform:none !important;
  opacity:1 !important;
  z-index:0 !important;
}

/* Clean left-to-right shading over the sharp image, without blur. */
.hero::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,
      rgba(7,20,46,1) 0%,
      rgba(7,20,46,.98) 35%,
      rgba(7,20,46,.76) 50%,
      rgba(7,20,46,.23) 70%,
      rgba(7,20,46,.08) 100%) !important;
  transform:none !important;
  filter:none !important;
  z-index:1 !important;
}

.hero-grid{
  min-height:780px !important;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr) !important;
  position:relative !important;
  z-index:3 !important;
  overflow:hidden !important;
}

.hero-copy{
  position:relative !important;
  z-index:5 !important;
  padding:150px 0 112px !important;
  max-width:690px !important;
}

.hero-person{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  align-self:end !important;
  justify-self:end !important;
  width:min(650px,100%) !important;
  max-width:650px !important;
  margin:0 -8px 0 0 !important;
  overflow:visible !important;
  opacity:1 !important;
  z-index:6 !important;
}

.hero-person img{
  width:100% !important;
  height:auto !important;
  max-height:700px !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  filter:drop-shadow(0 24px 42px rgba(0,0,0,.38)) !important;
}

.hero-line{
  z-index:4 !important;
}

/* ----- Official Instagram embeds ----- */
.instagram-embeds{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  align-items:start;
}

.instagram-embed-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(14,40,133,.14);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 44px rgba(7,20,46,.12);
}

.instagram-embed-card iframe{
  display:block;
  width:100%;
  height:610px;
  border:0;
  background:#fff;
}

.instagram-fallback{
  display:block;
  padding:12px 16px 15px;
  color:#0e2885;
  font-size:.78rem;
  font-weight:800;
  text-align:center;
  border-top:1px solid rgba(14,40,133,.10);
}

.instagram-fallback:hover{
  color:#883c97;
}

/* Do not show the older generated thumbnail grid, even if stale JS runs. */
.instagram-grid,
[data-instagram]{
  display:none !important;
}

@media(max-width:1200px){
  .instagram-embeds{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .instagram-embed-card iframe{
    height:690px;
  }
}

@media(max-width:1080px){
  .hero-grid{
    grid-template-columns:1fr !important;
  }

  .hero::before{
    width:82% !important;
    background-position:40% center !important;
  }

  .hero-person{
    position:absolute !important;
    right:-2% !important;
    bottom:0 !important;
    width:58% !important;
    opacity:.52 !important;
    margin:0 !important;
  }
}

@media(max-width:680px){
  .hero{
    min-height:850px !important;
  }

  .hero-grid{
    min-height:850px !important;
  }

  .hero::before{
    width:100% !important;
    background-size:auto 100% !important;
    background-position:43% center !important;
    opacity:.72 !important;
  }

  .hero-copy{
    padding:130px 0 95px !important;
  }

  .hero-person{
    width:96% !important;
    right:-28% !important;
    opacity:.28 !important;
  }

  .instagram-embeds{
    grid-template-columns:1fr;
  }

  .instagram-embed-card iframe{
    height:690px;
  }
}

/* ---------- from alignment-final.css ---------- */

/* HARISH PROPERTIES — FINAL ALIGNMENT AND HERO CORRECTIONS */

/* 1. HERO: sharp clean image with no person baked into the right side */
.hero{
  min-height:790px !important;
  background:#07142e !important;
}

.hero::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 0 0 auto !important;
  width:68% !important;
  background-image:url("../images/luxury-house-sharp-clean.jpg") !important;
  background-repeat:no-repeat !important;
  background-size:auto 100% !important;
  background-position:right center !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  z-index:0 !important;
}

.hero::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,
      rgba(7,20,46,1) 0%,
      rgba(7,20,46,.99) 34%,
      rgba(7,20,46,.89) 45%,
      rgba(7,20,46,.48) 62%,
      rgba(7,20,46,.10) 100%) !important;
  z-index:1 !important;
}

.hero-grid{
  min-height:790px !important;
  overflow:hidden !important;
}

.hero-person{
  width:min(625px,100%) !important;
  max-width:625px !important;
  margin-right:18px !important;
}

.hero-person img{
  max-height:695px !important;
}

/* 2. TRUST BAR: move the content into the visual centre */
.trust-strip{
  margin-top:-24px !important;
}

.trust-grid{
  min-height:148px !important;
  align-items:stretch !important;
}

.trust-item{
  min-height:148px !important;
  padding:30px 27px 25px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
}

.trust-item small{
  margin:0 0 11px !important;
  line-height:1.2 !important;
}

.trust-item strong{
  margin:0 !important;
  line-height:1.08 !important;
  display:flex !important;
  align-items:center !important;
  min-height:42px !important;
}

.trust-rating{
  flex-wrap:wrap !important;
}

/* 3. FINAL CTA: centre the heading and button vertically and prevent awkward wrapping */
.cta{
  min-height:320px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:60px !important;
  padding:56px 64px !important;
}

.cta > div{
  align-self:center !important;
  max-width:1050px !important;
}

.cta h2{
  margin:0 !important;
  max-width:1040px !important;
  font-size:clamp(2.4rem,4vw,4.2rem) !important;
  line-height:1.08 !important;
}

.cta .eyebrow{
  margin-bottom:20px !important;
}

.cta .btn{
  min-width:270px !important;
  min-height:66px !important;
  padding:14px 30px !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.22 !important;
  align-self:center !important;
  justify-self:end !important;
}

/* Tablet */
@media(max-width:1080px){
  .hero::before{
    width:82% !important;
    background-position:70% center !important;
  }

  .trust-strip{
    margin-top:-18px !important;
  }

  .cta{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    gap:28px !important;
    padding:48px 38px !important;
  }

  .cta .btn{
    justify-self:start !important;
  }
}

/* Mobile */
@media(max-width:680px){
  .hero{
    min-height:850px !important;
  }

  .hero::before{
    width:100% !important;
    background-position:62% center !important;
    opacity:.75 !important;
  }

  .trust-strip{
    margin-top:0 !important;
  }

  .trust-grid,
  .trust-item{
    min-height:auto !important;
  }

  .trust-item{
    padding:24px !important;
  }

  .cta{
    padding:38px 24px !important;
    text-align:left !important;
  }

  .cta .btn{
    width:100% !important;
    min-width:0 !important;
    justify-self:stretch !important;
  }
}

/* ---------- from hero-clean-final.css ---------- */

/* FINAL CLEAN HERO BACKGROUND
   This file removes the AI-generated person baked into the old background. */

.hero{
  min-height:790px !important;
  background:#07142e !important;
  overflow:hidden !important;
}

.hero::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 0 0 auto !important;
  width:66% !important;
  background-image:url("../images/hero-house-clean-final.jpg") !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  z-index:0 !important;
}

.hero::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(90deg,
      rgba(7,20,46,1) 0%,
      rgba(7,20,46,.99) 35%,
      rgba(7,20,46,.90) 46%,
      rgba(7,20,46,.48) 63%,
      rgba(7,20,46,.08) 100%) !important;
  z-index:1 !important;
}

.hero-grid{
  position:relative !important;
  z-index:3 !important;
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr) !important;
  min-height:790px !important;
  overflow:hidden !important;
}

.hero-person{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  width:min(620px,100%) !important;
  max-width:620px !important;
  margin:0 12px 0 0 !important;
  opacity:1 !important;
  z-index:5 !important;
}

.hero-person img{
  width:100% !important;
  max-height:690px !important;
  object-fit:contain !important;
  object-position:center bottom !important;
}

@media(max-width:1080px){
  .hero::before{
    width:82% !important;
    background-position:center center !important;
  }
  .hero-grid{
    grid-template-columns:1fr !important;
  }
  .hero-person{
    position:absolute !important;
    right:-2% !important;
    bottom:0 !important;
    width:58% !important;
    opacity:.48 !important;
    margin:0 !important;
  }
}

@media(max-width:680px){
  .hero{
    min-height:850px !important;
  }
  .hero::before{
    width:100% !important;
    background-position:58% center !important;
    opacity:.72 !important;
  }
  .hero-person{
    width:96% !important;
    right:-28% !important;
    opacity:.28 !important;
  }
}

/* ---------- from premium-v2.css ---------- */

/* HARISH PROPERTIES — PREMIUM V2 UPGRADE */
:root{
  --hp-navy:#07142e;
  --hp-blue:#0e2885;
  --hp-purple:#883c97;
  --hp-cream:#f0e9e0;
  --hp-gold:#d9ae54;
  --hp-ink:#10182d;
}

html{scroll-behavior:smooth}
body{overflow-x:hidden}
.section{position:relative}
.section-head h2{max-width:850px}
.section-head p{max-width:520px}

/* Header refinement */
.site-header{
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  background:rgba(5,11,30,.90)!important;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.navlinks a:not(.btn){position:relative}
.navlinks a:not(.btn)::after{
  content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;
  background:linear-gradient(90deg,var(--hp-gold),var(--hp-purple));
  transition:right .25s ease;
}
.navlinks a:not(.btn):hover::after{right:0}

/* Hero polish */
.hero-copy h1{letter-spacing:-.035em}
.hero-copy>p{max-width:620px;font-size:1.06rem}
.hero-actions .btn{min-height:52px}
.review{display:inline-flex!important;padding:10px 14px;border-radius:999px;background:rgba(5,11,30,.32);border:1px solid rgba(255,255,255,.12)}
.hero-person img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.hero:hover .hero-person img{transform:translateY(-4px)}

/* Trust bar */
.trust-grid{box-shadow:0 24px 70px rgba(7,20,46,.13)!important}
.trust-item{position:relative}
.trust-item::after{
  content:"";position:absolute;left:26px;bottom:18px;width:34px;height:2px;
  background:linear-gradient(90deg,var(--hp-gold),var(--hp-purple));
}

/* Market Lens */
.market-lens-section{
  background:
    radial-gradient(circle at 90% 5%,rgba(136,60,151,.08),transparent 28%),
    #fff;
}
.lens-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lens-card{
  position:relative;min-height:270px;padding:32px 28px;border:1px solid #e5e7ee;
  border-radius:20px;background:rgba(255,255,255,.92);
  box-shadow:0 12px 40px rgba(7,20,46,.07);
  overflow:hidden;transition:.3s ease;
}
.lens-card::before{
  content:"";position:absolute;inset:0 0 auto;height:4px;
  background:linear-gradient(90deg,var(--hp-blue),var(--hp-purple));
}
.lens-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(7,20,46,.13)}
.lens-number{display:block;font-family:Georgia,serif;font-size:2.1rem;color:rgba(14,40,133,.22);margin-bottom:24px}
.lens-card h3{font-family:Georgia,serif;font-size:1.45rem;color:var(--hp-blue)}
.lens-card p{color:#667085;line-height:1.65}
.lens-callout{
  margin-top:24px;padding:32px 36px;border-radius:20px;color:#fff;
  background:linear-gradient(120deg,var(--hp-navy),var(--hp-blue) 58%,var(--hp-purple));
  display:flex;justify-content:space-between;align-items:center;gap:30px;
}
.lens-callout h3{font-family:Georgia,serif;font-size:2rem;margin:5px 0 8px}
.lens-callout p{margin:0;color:rgba(255,255,255,.78)}

/* Strategy cards */
.strategy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.strategy-card{
  position:relative;min-height:500px;border-radius:22px;overflow:hidden;color:#fff;
  background-size:cover;background-position:center;text-decoration:none;
  box-shadow:0 18px 50px rgba(7,20,46,.14);
}
.strategy-luxury{background-image:url("../images/oakville.jpg")}
.strategy-invest{background-image:url("../images/mississauga.jpg")}
.strategy-first{background-image:url("../images/milton.jpg")}
.strategy-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,20,46,.05),rgba(7,20,46,.95) 78%);
  transition:.3s;
}
.strategy-card:hover .strategy-overlay{background:linear-gradient(180deg,rgba(14,40,133,.10),rgba(7,20,46,.98) 72%)}
.strategy-card::before{
  content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.22);
  border-radius:16px;z-index:2;pointer-events:none;
}
.strategy-content{position:absolute;z-index:3;left:34px;right:34px;bottom:34px}
.strategy-content>span{color:var(--hp-gold);font-weight:900;letter-spacing:.12em}
.strategy-content h3{font-family:Georgia,serif;font-size:2rem;line-height:1.08;margin:12px 0}
.strategy-content p{color:rgba(255,255,255,.77);line-height:1.55}
.strategy-content b{display:inline-block;margin-top:12px}
.strategy-card:hover{transform:translateY(-6px)}
.strategy-card{transition:transform .3s ease}

/* Process */
.process-section{background:var(--hp-navy);color:#fff}
.process-section .section-head p{color:#b9c2d2}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12);border-radius:20px;overflow:hidden}
.process-grid article{background:var(--hp-navy);padding:34px 28px;min-height:245px}
.process-grid span{font-family:Georgia,serif;color:var(--hp-gold);font-size:2rem}
.process-grid h3{font-family:Georgia,serif;font-size:1.55rem;margin:30px 0 10px}
.process-grid p{color:#aeb8ca;line-height:1.6}

/* Testimonials */
.quote{position:relative;overflow:hidden}
.quote::before{
  content:"“";position:absolute;right:16px;top:-8px;font-family:Georgia,serif;
  font-size:7rem;color:rgba(136,60,151,.08);line-height:1;
}

/* CTA */
.cta{position:relative;overflow:hidden}
.cta::before{
  content:"";position:absolute;width:360px;height:360px;border-radius:50%;
  right:-140px;top:-190px;border:1px solid rgba(255,255,255,.18);
}
.cta .btn{position:relative;z-index:2}

/* Scroll reveal */
.reveal-section{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal-section.is-visible{opacity:1;transform:none}

/* Mobile quick actions */
.mobile-contact-bar{display:none}

@media(max-width:1100px){
  .lens-grid,.process-grid{grid-template-columns:repeat(2,1fr)}
  .strategy-grid{grid-template-columns:1fr}
  .strategy-card{min-height:390px}
}

@media(max-width:680px){
  body{padding-bottom:66px}
  .lens-grid,.process-grid{grid-template-columns:1fr}
  .lens-callout{display:block;padding:28px 24px}
  .lens-callout .btn{margin-top:20px;width:100%}
  .strategy-card{min-height:420px}
  .strategy-content{left:26px;right:26px;bottom:28px}
  .process-grid article{min-height:auto}
  .review{display:flex!important;max-width:100%;font-size:.78rem}
  .mobile-contact-bar{
    position:fixed;left:10px;right:10px;bottom:10px;z-index:9999;
    display:grid;grid-template-columns:1fr 1.25fr;gap:8px;padding:8px;
    background:rgba(5,11,30,.94);border:1px solid rgba(255,255,255,.12);
    border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.28);
    backdrop-filter:blur(14px);
  }
  .mobile-contact-bar a{
    min-height:48px;display:grid;place-items:center;border-radius:11px;
    font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em;
    color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.18);
  }
  .mobile-contact-bar a:last-child{
    border:0;background:linear-gradient(90deg,var(--hp-blue),var(--hp-purple));
  }
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
  .reveal-section{opacity:1;transform:none}
}

/* ---------- from view-favicon-fix.css ---------- */

/* VIEW + STRATEGY CARDS + FAVICON RELEASE */
.strategy-luxury{
  background-image:url("../images/strategy-luxury-clean.jpg") !important;
}
.strategy-invest{
  background-image:url("../images/strategy-investment-clean.jpg") !important;
}
.strategy-first{
  background-image:url("../images/strategy-first-home-clean.jpg") !important;
}

.section-cream .section-head{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr) !important;
  gap:56px !important;
  align-items:end !important;
  margin-bottom:42px !important;
}

.section-cream .section-head h2{
  margin-bottom:0 !important;
  max-width:760px !important;
}

.section-cream .section-head > p{
  margin:0 0 8px !important;
  max-width:520px !important;
}

.strategy-card{
  min-height:520px !important;
  background-size:cover !important;
  background-position:center !important;
}

.strategy-overlay{
  background:
    linear-gradient(180deg,rgba(7,20,46,.04) 0%,rgba(7,20,46,.20) 38%,rgba(7,20,46,.98) 82%) !important;
}

.strategy-content{
  bottom:38px !important;
}

.strategy-content h3{
  max-width:350px;
}

@media(max-width:1100px){
  .section-cream .section-head{
    grid-template-columns:1fr !important;
    gap:16px !important;
    align-items:start !important;
  }
  .section-cream .section-head > p{
    margin:0 !important;
  }
}

@media(max-width:680px){
  .section-cream .section-head{
    margin-bottom:28px !important;
  }
  .section-cream .section-head h2{
    font-size:clamp(2.3rem,12vw,3.5rem) !important;
    line-height:1.03 !important;
  }
  .strategy-card{
    min-height:430px !important;
  }
}

/* ---------- from hero-refinement.css ---------- */

/* Hero Refinement Pack - subtle improvements only */

.hero::before{
  filter: contrast(1.08) saturate(1.08) brightness(1.03) !important;
}

.hero::after{
  background:
  radial-gradient(circle at 73% 48%, rgba(245,208,110,.10), transparent 20%),
  linear-gradient(90deg,
    rgba(7,20,46,1) 0%,
    rgba(7,20,46,.98) 36%,
    rgba(7,20,46,.84) 52%,
    rgba(7,20,46,.38) 70%,
    rgba(7,20,46,.12) 100%) !important;
}

.hero-person{
  filter:
    drop-shadow(0 12px 28px rgba(0,0,0,.30))
    drop-shadow(0 0 18px rgba(217,174,84,.08));
}

.hero-person::before{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  right:95px;
  top:110px;
  border-radius:50%;
  background:radial-gradient(circle,
      rgba(255,220,140,.12) 0%,
      rgba(255,220,140,.05) 35%,
      transparent 72%);
  filter:blur(26px);
  z-index:-1;
}

.hero-copy h1{
  text-shadow:0 2px 12px rgba(0,0,0,.18);
}

.hero-copy p{
  color:#eef1f8 !important;
}

.review{
  background:rgba(8,18,42,.46) !important;
  backdrop-filter:blur(8px);
}

@media(max-width:768px){
  .hero-person::before{
    width:220px;
    height:220px;
    right:40px;
    top:80px;
  }
}

/* ---------- from orange-brand-polish.css ---------- */

/* HARISH PROPERTIES — ORANGE BRAND POLISH
   Adds Harish brand orange as a controlled accent without reducing the luxury look. */

:root{
  --hp-orange:#F95E28;
  --hp-orange-deep:#E94A14;
}

/* Navigation */
.navlinks a:not(.btn)::after{
  background:linear-gradient(90deg,var(--hp-orange),var(--hp-purple)) !important;
}

/* Eyebrows and small labels */
.eyebrow{
  color:var(--hp-orange) !important;
}

/* Hero refinements */
.hero-copy .eyebrow{
  color:var(--hp-orange) !important;
}

.hero-copy h1 em,
.hero-copy .accent,
.hero-copy .gold{
  color:var(--hp-gold) !important;
}

.hero-copy::after{
  content:"";
  display:block;
  width:72px;
  height:3px;
  margin-top:22px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--hp-orange),var(--hp-gold));
}

/* Buttons */
.btn-purple,
.btn-primary{
  background:linear-gradient(90deg,var(--hp-purple),#6f2b83) !important;
  border-color:transparent !important;
}

.btn-purple:hover,
.btn-primary:hover{
  box-shadow:0 12px 30px rgba(249,94,40,.24) !important;
  transform:translateY(-2px);
}

.btn-blue:hover,
.btn-outline:hover{
  border-color:var(--hp-orange) !important;
}

/* Trust strip accents */
.trust-item::after{
  background:linear-gradient(90deg,var(--hp-orange),var(--hp-gold)) !important;
}

/* Market Lens cards */
.lens-card::before{
  background:linear-gradient(90deg,var(--hp-orange),var(--hp-purple)) !important;
}

.lens-number{
  color:rgba(249,94,40,.28) !important;
}

/* Strategy cards */
.strategy-content > span{
  color:var(--hp-orange) !important;
}

.strategy-card:hover{
  box-shadow:0 24px 60px rgba(249,94,40,.13) !important;
}

/* Process */
.process-grid span{
  color:var(--hp-orange) !important;
}

/* Links and arrows */
.strategy-content b,
.card-link,
.text-link,
.footer a:hover{
  color:var(--hp-orange) !important;
}

/* Icons and badges */
.icon,
.badge,
.tag,
.pill{
  border-color:rgba(249,94,40,.28);
}

.badge-accent,
.tag-accent{
  background:rgba(249,94,40,.10) !important;
  color:var(--hp-orange-deep) !important;
}

/* Forms */
input:focus,
textarea:focus,
select:focus{
  border-color:var(--hp-orange) !important;
  box-shadow:0 0 0 3px rgba(249,94,40,.12) !important;
}

/* Mobile CTA */
.mobile-contact-bar a:last-child{
  background:linear-gradient(90deg,var(--hp-purple),var(--hp-orange)) !important;
}

/* CTA section */
.cta .eyebrow{
  color:#ff9a72 !important;
}

/* Keep orange controlled on small screens */
@media(max-width:680px){
  .hero-copy::after{
    width:58px;
    margin-top:18px;
  }
}

/* ---------- from brand-system.css ---------- */
/* Harish Properties Design System v1.0 — 2026-07-20 */
:root{
  --hp-blue:#0e2885;
  --hp-purple:#883c97;
  --hp-cream:#f0e9e0;
  --hp-navy:#08133c;
  --hp-orange:#f95e28;
  --hp-white:#ffffff;
  --hp-ink:#10172f;
  --hp-muted:#667085;
  --hp-line:rgba(8,19,60,.12);
  --hp-gradient-primary:linear-gradient(125deg,#0e2885 0%,#883c97 58%,#f95e28 118%);
  --hp-gradient-dark:linear-gradient(135deg,#08133c 0%,#0e2885 62%,#883c97 125%);
  --hp-gradient-warm:linear-gradient(135deg,#f0e9e0 0%,#fff 56%,rgba(249,94,40,.10) 100%);
  --hp-shadow-sm:0 10px 30px rgba(8,19,60,.08);
  --hp-shadow-md:0 24px 70px rgba(8,19,60,.15);
  --hp-radius-sm:14px;
  --hp-radius-md:22px;
  --hp-radius-lg:34px;
  --hp-font-display:"Rigton",Georgia,"Times New Roman",serif;
  --hp-font-body:Inter,Manrope,"Segoe UI",Arial,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--hp-font-body);color:var(--hp-ink);background:#fff}
h1,h2,h3,.listing-price,.community-price{font-family:var(--hp-font-display);font-weight:500;letter-spacing:-.025em}
::selection{background:rgba(249,94,40,.22);color:var(--hp-navy)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(249,94,40,.45);outline-offset:3px}
.site-header{background:rgba(8,19,60,.90)!important;backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.10)}
.brand img{height:54px;width:auto;object-fit:contain}
.navlinks a{position:relative}
.navlinks a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--hp-orange);transition:right .25s ease}
.navlinks a:not(.btn):hover::after{right:0}
.btn{border-radius:999px!important;letter-spacing:.01em;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(8,19,60,.18)}
.btn-purple{background:var(--hp-gradient-primary)!important;border-color:transparent!important}
.btn-blue{background:var(--hp-blue)!important}
.btn-outline{border-color:rgba(255,255,255,.52)!important;background:rgba(255,255,255,.04)!important}
.eyebrow{color:var(--hp-orange)!important;letter-spacing:.15em;text-transform:uppercase;font-weight:800}
.hero{background:var(--hp-navy)!important;overflow:hidden}
.hero::before{background:linear-gradient(90deg,rgba(8,19,60,.99) 0%,rgba(8,19,60,.94) 33%,rgba(14,40,133,.65) 58%,rgba(136,60,151,.18) 100%),url('../images/hero-house-clean-final.jpg') center/cover no-repeat!important;transform:none!important;inset:0!important}
.hero::after{background:radial-gradient(circle at 82% 16%,rgba(249,94,40,.18),transparent 24%),linear-gradient(180deg,transparent 65%,rgba(8,19,60,.58))!important}
.hero-copy h1{font-size:clamp(3rem,6vw,6.35rem);line-height:.93;max-width:860px;text-wrap:balance}
.hero-copy p{font-size:clamp(1.03rem,1.4vw,1.28rem);max-width:660px;color:#dfe5f4}
.hero-copy .gold{background:linear-gradient(90deg,var(--hp-cream),#fff 44%,#ffc4aa);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.hero-line{background:var(--hp-orange)!important;width:78px!important}
.hero-person img{filter:drop-shadow(0 28px 50px rgba(0,0,0,.32))}
.review{background:rgba(8,19,60,.54);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 16px;width:max-content;backdrop-filter:blur(12px)}
.review-stars{color:#ffbd3e!important}
.trust-strip{background:var(--hp-cream)!important;color:var(--hp-navy)!important;border-bottom:1px solid rgba(8,19,60,.08)}
.trust-item:not(:last-child){border-right:1px solid rgba(8,19,60,.10)}
.trust-item small{color:rgba(8,19,60,.65)!important}
.section-cream{background:var(--hp-gradient-warm)!important}
.section-head h2{font-size:clamp(2.25rem,4.2vw,4.6rem);line-height:1}
.lens-card,.service-card,.quote,.listing-card{border:1px solid var(--hp-line)!important;border-radius:var(--hp-radius-md)!important;box-shadow:var(--hp-shadow-sm)!important;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.lens-card:hover,.service-card:hover,.quote:hover,.listing-card:hover{transform:translateY(-6px);box-shadow:var(--hp-shadow-md)!important;border-color:rgba(136,60,151,.25)!important}
.lens-number{color:var(--hp-orange)!important}
.lens-callout,.cta,.selling-panel{background:var(--hp-gradient-dark)!important;border-radius:var(--hp-radius-lg)!important;position:relative;overflow:hidden}
.lens-callout::after,.cta::after,.selling-panel::after{content:"";position:absolute;right:-120px;top:-140px;width:380px;height:380px;background:url('../brand/HN-Graphic Asset - Concentric.svg') center/contain no-repeat;opacity:.12;pointer-events:none}
.community-card,.strategy-card,.reel-card{border-radius:var(--hp-radius-md)!important}
.community-card{box-shadow:var(--hp-shadow-md)!important}
.community-card::before{background:linear-gradient(180deg,transparent 26%,rgba(8,19,60,.96) 100%)!important}
.rating-badge{color:var(--hp-navy)!important}
.rating-badge b{color:var(--hp-purple)!important}
.service-icon{font-size:0!important;background:var(--hp-gradient-primary)!important;position:relative}
.service-icon::before{content:"";width:24px;height:24px;background:url('../brand/HN-Graphic Asset - Astrisk.svg') center/contain no-repeat;filter:brightness(0) invert(1)}
.strategy-card::after{content:"";position:absolute;right:22px;top:22px;width:44px;height:44px;background:url('../brand/HN-Graphic Asset - Astrisk.svg') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.75;z-index:3}
.footer{background:var(--hp-navy)!important}
.footer::before{content:"";display:block;height:4px;background:var(--hp-gradient-primary);margin-top:-55px;margin-bottom:50px}
.page-hero{background:var(--hp-gradient-dark)!important;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:4%;bottom:-55%;width:min(520px,55vw);aspect-ratio:1;background:url('../brand/HN-Graphic Asset - Concentric.svg') center/contain no-repeat;opacity:.12}
input,select,textarea{border:1px solid var(--hp-line);border-radius:14px;padding:14px 16px;font:inherit}
@media(max-width:680px){
  .hero-copy h1{font-size:clamp(2.75rem,13vw,4.6rem)}
  .review{width:auto}
  .trust-item:not(:last-child){border-right:0;border-bottom:1px solid rgba(8,19,60,.10)}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* ============================================================
   Release 1 additions — forms, wizard, cookie notice, layouts
   ============================================================ */

.page-hero { padding: 90px 0 50px; background: var(--navy, #08133C); color: #F0E9E0; }
.page-hero h1 { margin: 10px 0 12px; }
.page-hero p { max-width: 640px; opacity: .85; }

.contact-layout, .valuation-layout {
  display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 42px; align-items: start;
}
@media (max-width: 860px) { .contact-layout, .valuation-layout { grid-template-columns: 1fr; } }

.contact-aside { background: #F0E9E0; border-radius: 14px; padding: 26px; }
.contact-aside h3 { margin-top: 0; }

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
@media (max-width: 640px) { .form-grid { grid-template-columns: 1fr; } }

.hp-field { margin: 0 0 16px; }
.hp-field label { display: block; font-weight: 600; margin-bottom: 6px; font-size: .92rem; }
.hp-field .optional { font-weight: 400; opacity: .6; }
.hp-field input[type="text"], .hp-field input[type="email"], .hp-field input[type="tel"],
.hp-field select, .hp-field textarea {
  width: 100%; padding: 12px 14px; border: 1px solid #c9c2b6; border-radius: 10px;
  font: inherit; background: #fff; color: #08133C;
}
.hp-field input:focus-visible, .hp-field select:focus-visible, .hp-field textarea:focus-visible {
  outline: 3px solid #883C97; outline-offset: 1px; border-color: #883C97;
}
.hp-field [aria-invalid="true"] { border-color: #b3261e; }
.field-error { color: #b3261e; font-size: .85rem; margin: 6px 0 0; }

/* Honeypot: visually removed, still in DOM for bots */
form .hp-field[aria-hidden="true"] { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.consent-row { margin: 14px 0 18px; }
.consent-label { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; line-height: 1.45; }
.consent-label input { margin-top: 3px; flex-shrink: 0; }

.form-status { min-height: 1.2em; font-size: .92rem; }
.form-status.is-error { color: #b3261e; font-weight: 600; }

.form-success { background: #F0E9E0; border-left: 5px solid #883C97; border-radius: 12px; padding: 26px; }
.form-success h3 { margin-top: 0; }

fieldset[data-step] { border: 0; padding: 0; margin: 0; }
fieldset[data-step] legend { font-weight: 700; font-size: 1.05rem; margin-bottom: 16px; color: #0E2885; }
.wizard-dots { display: flex; gap: 8px; margin-bottom: 22px; }
.wizard-dots .dot {
  width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  background: #d9d2c6; color: #08133C; font-weight: 700; font-size: .85rem;
}
.wizard-dots .dot.is-active { background: #883C97; color: #fff; }
.wizard-nav { display: flex; gap: 12px; margin-top: 8px; }

.data-note { font-size: .85rem; opacity: .75; margin-top: 22px; }

.legal-copy h2 { margin-top: 34px; }
.legal-copy { max-width: 760px; }

.cookie-notice {
  position: fixed; bottom: 16px; left: 16px; right: 16px; z-index: 90;
  max-width: 560px; margin: 0 auto; background: #08133C; color: #F0E9E0;
  border-radius: 14px; padding: 16px 20px; display: flex; gap: 16px; align-items: center;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
.cookie-notice p { margin: 0; font-size: .85rem; }
.cookie-notice a { color: #F95E28; }
.cookie-notice .btn { flex-shrink: 0; }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ============================================================
   Release 1.1 hotfixes — live-site review 2026-07-20
   ============================================================ */

/* Interior page heroes: clear the sticky header so the eyebrow
   label is never clipped underneath the navigation. */
.page-hero { padding-top: 150px; padding-bottom: 62px; }

/* Process cards live on navy backgrounds everywhere; force light
   headings so they stay readable inside white sections too
   (Buy and Sell pages). */
.section .process-grid article h3,
.process-grid article h3 { color: var(--cream, #F0E9E0); }

/* Footer now has four columns (Explore / Contact / Legal). */
.footer .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 0.8fr; gap: 34px; }
@media (max-width: 900px) { .footer .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer .footer-grid { grid-template-columns: 1fr; } }

/* Community pages: breathing room between the intro paragraph
   and the stat cards, and soften the inset strip. */
.section .trust-strip { margin-top: 30px; border-radius: 14px; overflow: hidden; }

/* ============================================================
   Release 2 — accounts, auth pages, records
   ============================================================ */

.auth-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 42px; align-items: start; }
@media (max-width: 860px) { .auth-layout { grid-template-columns: 1fr; } }

.auth-links { margin-top: 16px; font-size: .9rem; }
.auth-links-light a, .auth-links-light { color: #F0E9E0; opacity: .85; }

.nav-account { white-space: nowrap; }

.panel-form { background: #fff; border: 1px solid #e4ddd1; border-radius: 14px; padding: 24px; margin-bottom: 26px; }

.account-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 38px; align-items: center; }
.inline-form { display: inline; }

.record-list { margin: 20px 0 44px; }
.record-item {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  background: #fff; border: 1px solid #e4ddd1; border-radius: 12px;
  padding: 14px 18px; margin-bottom: 10px;
}
.record-item small { display: block; opacity: .7; margin-top: 3px; }

.status-pill {
  flex-shrink: 0; font-size: .78rem; font-weight: 700; padding: 6px 12px;
  border-radius: 999px; background: #ece6da; color: #08133C;
}
.status-pill.status-approved  { background: #d9efe0; color: #14532d; }
.status-pill.status-declined,
.status-pill.status-cancelled { background: #f6dedc; color: #7f1d1d; }
.status-pill.status-proposed  { background: #fdeed9; color: #7c3a00; }

.btn-small { padding: 8px 14px; font-size: .82rem; }

.section h2 { margin-top: 46px; }

/* ============================================================
   Release 3 — cookie-notice fix, password toggle, admin CRM
   ============================================================ */

/* BUGFIX: display:flex was overriding the hidden attribute, so the
   OK button never dismissed the notice. [hidden] must always win. */
.cookie-notice[hidden] { display: none !important; }

@media (max-width: 560px) {
  .cookie-notice { flex-direction: column; align-items: stretch; text-align: center; padding: 14px 16px; left: 10px; right: 10px; bottom: 10px; }
  .cookie-notice .btn { width: 100%; }

  /* ── The consent sheet outranks the contact bar ──────────────────
     Found while testing the Hawthorne showcase, and it was worse than
     a cosmetic overlap. On a 390px screen the sticky quick-contact bar
     (z-index 9999) landed exactly on the sheet's "Essential only"
     button (z-index 90) — same strip of screen, 768–818px. A visitor
     reaching for "Essential only" hit the Call link underneath and
     phoned Harish instead of answering the question. The sheet could
     not be dismissed at all on a phone, which in turn is why the
     showcase panel never opened there: it deliberately waits for the
     cookie sheet, and the sheet never went away.

     hp-mobile.css already carried this rule, but that file is loaded
     only by the homepage. Every other page — including this one — had
     the bug. It belongs in main.css, which every page loads.

     The sheet wins because it is the one asking a question, and the
     bar comes straight back when the question is answered: the notice
     is removed from the DOM on a choice, so :has() stops matching. */
  body:has(.cookie-notice) .mobile-contact-bar {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate3d(0, 140%, 0) !important;
  }
  /* Safety net for anything without :has() — the sheet is a consent
     decision and nothing on the site may sit on top of it. */
  .cookie-notice { z-index: 10050; }
}

/* Show/hide password toggle */
.pw-wrap { position: relative; }
.pw-wrap input { padding-right: 64px; }
.pw-toggle {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  border: 0; background: transparent; cursor: pointer;
  font-size: .78rem; font-weight: 700; color: #883C97; padding: 6px 8px;
}
.pw-toggle:focus-visible { outline: 3px solid #883C97; border-radius: 6px; }

/* ---------------- Admin CRM ---------------- */
.admin-body { background: #f4f0e9; }
.admin-shell { max-width: 1240px; margin: 0 auto; padding: 24px 20px 60px; }
.admin-top {
  display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center;
  padding: 14px 0 18px; border-bottom: 2px solid #08133C; margin-bottom: 26px;
}
.admin-top .brandmark { font-weight: 800; color: #0E2885; margin-right: auto; font-size: 1.05rem; }
.admin-top a { font-size: .9rem; font-weight: 600; }
.admin-top a.active { color: #F95E28; }
.admin-shell h1 { font-size: 1.6rem; margin: 0 0 20px; }
.admin-shell h2 { font-size: 1.15rem; margin: 30px 0 12px; }

.stat-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin-bottom: 30px; }
.stat-card { background: #fff; border: 1px solid #e4ddd1; border-radius: 12px; padding: 16px 18px; }
.stat-card small { display: block; text-transform: uppercase; letter-spacing: .04em; font-size: .7rem; opacity: .65; margin-bottom: 6px; }
.stat-card strong { font-size: 1.5rem; color: #0E2885; }

.admin-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e4ddd1; border-radius: 12px; overflow: hidden; font-size: .9rem; }
.admin-table th { text-align: left; background: #08133C; color: #F0E9E0; padding: 10px 12px; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.admin-table td { padding: 10px 12px; border-top: 1px solid #eee7da; vertical-align: top; }
.admin-table tr:hover td { background: #faf7f1; }

.admin-form { background: #fff; border: 1px solid #e4ddd1; border-radius: 12px; padding: 20px; margin-bottom: 24px; }
.admin-form .form-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); display: grid; gap: 0 18px; }

.filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.filter-bar a { padding: 7px 13px; border-radius: 999px; background: #ece6da; font-size: .82rem; font-weight: 600; color: #08133C; }
.filter-bar a.active { background: #0E2885; color: #fff; }

.flash-ok { background: #d9efe0; color: #14532d; border-radius: 10px; padding: 12px 16px; margin-bottom: 18px; font-weight: 600; }
.flash-err { background: #f6dedc; color: #7f1d1d; border-radius: 10px; padding: 12px 16px; margin-bottom: 18px; font-weight: 600; }

.stage-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.stage-col { background: #fff; border: 1px solid #e4ddd1; border-radius: 12px; padding: 12px; }
.stage-col h3 { font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 10px; color: #0E2885; }
.deal-card { background: #f7f4ee; border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; font-size: .85rem; }
.deal-card strong { display: block; }
.deal-card small { opacity: .7; }

/* ============================================================
   Release 4 — listings
   ============================================================ */

.listing-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.listing-filters input, .listing-filters select {
  padding: 10px 12px; border: 1px solid #c9c2b6; border-radius: 10px; font: inherit; background: #fff;
}
.listing-filters input[type="search"] { flex: 1 1 220px; }
.listing-filters input[name="min"], .listing-filters input[name="max"] { width: 96px; }

.results-count { font-weight: 600; opacity: .75; margin-bottom: 16px; }

.listing-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 22px; }
.listing-card {
  background: #fff; border: 1px solid #e4ddd1; border-radius: 14px; overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease; color: inherit;
}
.listing-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(8,19,60,.12); }
.listing-media { position: relative; aspect-ratio: 4/3; background: #ece6da; }
.listing-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.listing-noimg { display: grid; place-items: center; height: 100%; color: #8a8375; font-size: .85rem; }
.listing-badges { position: absolute; top: 10px; left: 10px; display: flex; gap: 6px; flex-wrap: wrap; }
.lbadge { font-size: .7rem; font-weight: 800; letter-spacing: .03em; padding: 5px 9px; border-radius: 999px; background: #08133C; color: #F0E9E0; }
.lbadge.badge-pos { background: #F95E28; }
/* Release 17 — one badge per sale type, each distinguishable from the
   others at thumbnail size. Estate is the muted one on purpose: it is a
   bereavement, not an opportunity headline. */
.lbadge.badge-estate { background: #5B5546; }
.lbadge.badge-receiver { background: #8A3E10; }
.lbadge.badge-court { background: #6B2233; }
.lbadge.badge-distress { background: #B4531C; }
.lbadge.badge-reduced { background: #883C97; }
.lbadge.badge-sold { background: #14532d; }
.lbadge.badge-cond { background: #7c3a00; }
/* r58 — rentals. Teal rather than another warm tone, because the warm
   family already carries the distress and sale-type badges and a rental
   is not a signal about the seller. */
.lbadge.badge-lease { background: #0F5257; }
.lbadge.badge-leased { background: #0B3D40; }
/* The "/month" that stops a rent reading as a purchase price. Smaller
   and lighter than the figure, but never hidden: at this size it must
   survive a card at 320px, so no absolute positioning and no nowrap
   trickery — it simply follows the number. */
.price-term { font-size: .72em; font-weight: 600; opacity: .72; letter-spacing: .01em; }
.listing-body { padding: 14px 16px 16px; }
.listing-price { font-weight: 800; color: #0E2885; font-size: 1.15rem; }
.listing-price s { font-weight: 400; opacity: .55; font-size: .9rem; margin-left: 6px; }
.listing-body strong { display: block; margin-top: 4px; }
.listing-body small { opacity: .7; }
.listing-meta { display: flex; gap: 12px; margin-top: 8px; font-size: .82rem; opacity: .8; }

.listing-hero-price { font-size: 1.4rem; font-weight: 800; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.listing-hero-price s { font-weight: 400; opacity: .6; font-size: 1rem; }

.gallery img#galleryMain { width: 100%; max-height: 560px; object-fit: cover; border-radius: 16px; }
.gallery-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; padding-bottom: 4px; }
.gallery-thumbs img { width: 110px; height: 78px; object-fit: cover; border-radius: 8px; cursor: pointer; flex-shrink: 0; }
.gallery-thumbs img:hover { outline: 3px solid #883C97; }

/* ============================================================
   Release 4.5 — OFFICIAL BRAND TYPOGRAPHY & VISUAL SYSTEM
   Rigton (voice) + Etna Italic (signature accent) + HN gradients
   ============================================================ */

@font-face {
  font-family: 'Rigton'; src: url('/assets/fonts/Rigton-Regular.woff') format('woff');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Rigton'; src: url('/assets/fonts/Rigton-RegularItalic.woff') format('woff');
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Rigton'; src: url('/assets/fonts/Rigton-Medium.woff') format('woff');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Rigton'; src: url('/assets/fonts/Rigton-MediumItalic.woff') format('woff');
  font-weight: 500; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Etna'; src: url('/assets/fonts/Etna-Italic.woff') format('woff');
  font-weight: 400; font-style: italic; font-display: swap;
}

:root {
  --font-body: 'Rigton', 'Segoe UI', Arial, sans-serif;
  --font-display: 'Rigton', 'Segoe UI', Arial, sans-serif;
  --font-accent: 'Etna', Georgia, serif;
}

/* Voice: Rigton everywhere */
body, button, input, select, textarea { font-family: var(--font-body); }

/* Display: Rigton Medium, confident and tight */
h1, h2, h3, h4,
.trust-item strong, .market-card strong, .community-content h3, .community-price,
.listing-price, .listing-hero-price, .lens-number, .lens-card h3, .lens-callout h3,
.selling-media::after, .stat-card strong {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.015em;
}
h1 { letter-spacing: -0.02em; }

/* Signature: every italic display moment speaks in Etna */
h1 em, h1 .gold, h2 em, .hero-copy .gold,
.page-hero h1 em, .lens-callout em, .accent-italic {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
}

/* Eyebrows & labels: Rigton Medium, wide tracked */
.eyebrow, .admin-table th, .stat-card small, .trust-item small, .market-card small {
  font-family: var(--font-body); font-weight: 500; letter-spacing: .14em;
}

/* Buttons & nav: Medium weight */
.btn, .navlinks a, .filter-bar a, .status-pill { font-weight: 500; }

/* Official HN gradients as environments */
.page-hero {
  background-image:
    linear-gradient(rgba(8,19,60,.72), rgba(8,19,60,.55)),
    url('/assets/brand/kit/HN-Gradient-01.jpg');
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}
.page-hero::after {
  content: ""; position: absolute; right: -140px; top: -140px;
  width: 460px; height: 460px; opacity: .16; pointer-events: none;
  background: url('/assets/brand/kit/concentric.svg') no-repeat center / contain;
}
.page-hero .container { position: relative; z-index: 1; }

.cta {
  background-image:
    linear-gradient(100deg, rgba(14,40,133,.88), rgba(136,60,151,.82)),
    url('/assets/brand/kit/HN-Gradient-02.jpg');
  background-size: cover; background-position: center;
  border-radius: 20px; color: #F0E9E0; padding: 44px 46px;
  position: relative; overflow: hidden;
}
.cta::before {
  content: ""; position: absolute; left: -60px; bottom: -80px;
  width: 260px; height: 260px; opacity: .18;
  background: url('/assets/brand/kit/asterisk.svg') no-repeat center / contain;
}
.cta > * { position: relative; }
.cta h2 { color: #F0E9E0; }

/* Micro-polish riding on the new type */
.hero-copy h1 { line-height: 1.02; }
.listing-price { letter-spacing: 0; }
.form-success h3 { font-weight: 500; }
::selection { background: #883C97; color: #F0E9E0; }

/* ============================================================
   Release 4.6 — type roles per Harish
   Rigton = headings. Etna Italic = subheadings + editorial text.
   Functional UI (forms, buttons, tables, fine print) stays Rigton
   for legibility (Etna exists only in italic).
   ============================================================ */

/* Headings: all Rigton — including the hero accent line */
h1, h2, h1 em, h2 em, h1 .gold, .hero-copy .gold, .page-hero h1 em, .accent-italic {
  font-family: var(--font-display);
  font-weight: 500;
}
h1 .gold, .hero-copy .gold, h1 em, .accent-italic { font-style: italic; }

/* Subheadings: Etna Italic */
h3, h4,
.service-card h3, .lens-card h3, .community-content h3,
.contact-aside h3, .form-success h3, .footer h3,
.selling-copy h2 + p b, .stage-col h3 {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
}

/* Editorial / descriptive text: Etna Italic */
.page-hero p, .hero-copy > p,
.section-head p, .section-head + p,
.service-card p, .lens-card p, .process-grid article p,
.testimonial-card p, .quote, blockquote,
.contact-aside p, .cta p,
.community-tag {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 400;
  line-height: 1.6;
}

/* Deliberately Rigton (functional/legibility): forms, buttons, nav,
   tables, prices, stats, badges, legal, notes, admin */
.hp-field label, .hp-field input, .hp-field select, .hp-field textarea,
.btn, .navlinks a, .consent-label, .form-status, .field-error,
.admin-table, .admin-table th, .admin-table td, .record-item,
.listing-price, .listing-hero-price, .trust-item strong, .market-card strong,
.community-price, .stat-card strong, .lbadge, .status-pill,
.data-note, .legal, .legal-copy p, .auth-links {
  font-family: var(--font-body);
  font-style: normal;
}
.legal-copy h2 { font-family: var(--font-display); }

/* ============================================================
   Release 4.6.1 — hero accent exception per Harish:
   "Make the Right Move." stays in Etna Italic.
   ============================================================ */
h1 .gold, .hero-copy .gold, h1 em, .page-hero h1 em, .accent-italic {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
}

/* ============================================================
   Release 5 — market trend chart
   ============================================================ */
.trend-chart { display: flex; align-items: flex-end; gap: 6px; height: 220px; padding: 16px 0; overflow-x: auto; }
.trend-bar-wrap { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 42px; }
.trend-bar { width: 30px; background: linear-gradient(180deg, #883C97, #0E2885); border-radius: 6px 6px 0 0; transition: opacity .15s; }
.trend-bar-wrap:hover .trend-bar { opacity: .8; }
.trend-bar-wrap small { font-size: .68rem; opacity: .6; }

/* ── /harish-listings/ — Release 17 ────────────────────────────────
   The achievements page. Two sections, same card system as the search
   grid so nothing has to be relearned; the only new pieces are the
   summary figures and the consent note. */
.hp-own-hero { padding-bottom: 8px; }
.hp-own-hero h1 { margin: 6px 0 10px; }
.hp-own-hero .lede { max-width: 62ch; opacity: .82; }

.hp-achieved-summary {
  display: flex; flex-wrap: wrap; gap: 32px;
  margin: 4px 0 26px; padding: 18px 22px;
  background: #F5F1EA; border-radius: 14px;
}
.hp-achieved-summary div { display: flex; flex-direction: column; }
.hp-achieved-summary strong {
  font-size: 1.9rem; line-height: 1; color: #0E2885;
  font-variant-numeric: tabular-nums;
}
.hp-achieved-summary span { font-size: .82rem; opacity: .7; margin-top: 4px; }

/* Sold cards do not link anywhere — the listing is closed and there is
   nothing to view. Kill the hover lift so they do not invite a click. */
.listing-card.is-static { cursor: default; }
.listing-card.is-static:hover { transform: none; box-shadow: 0 8px 20px rgba(8,19,60,.07); }

.listing-body .hp-side { display: block; margin-top: 6px; opacity: .62; font-style: italic; }

.hp-consent-note { margin-top: 22px; font-size: .8rem; opacity: .62; max-width: 66ch; }

.hp-achieved-empty {
  max-width: 60ch; padding: 26px 28px;
  background: #F5F1EA; border-radius: 14px;
}
.hp-achieved-empty p { margin: 0 0 12px; }
.hp-achieved-empty .btn { margin-top: 4px; }

@media (max-width: 640px) {
  .hp-achieved-summary { gap: 22px; padding: 16px 18px; }
  .hp-achieved-summary strong { font-size: 1.5rem; }
}

/* Admin — RECO 5.4 consent block (Release 17). Set apart from the rest of
   the form because it is the one group of fields with a regulator behind
   it, not just a display preference. */
.hp-consent-block {
  border: 1px solid #D9D2C6; border-radius: 12px;
  padding: 14px 18px 18px; margin: 18px 0;
  background: #FBF9F5;
}
.hp-consent-block legend { font-weight: 700; padding: 0 6px; font-size: .9rem; }
.hp-consent-block .optional { font-weight: 400; opacity: .65; }
