/* ===========================================================
   GANGA OPEN PLOTS — site.css
   Palette drawn from the Krishna delta: river water, turmeric,
   paddy green, black-cotton soil.
   =========================================================== */

:root{
  --river:      #0E4A57;
  --river-ink:  #072C34;
  --river-mid:  #146271;
  --turmeric:   #E3A008;
  --turmeric-d: #B87F04;
  --paddy:      #5E8C4A;
  --clay:       #A4562F;
  --mist:       #EDF2F1;
  --paper:      #FFFFFF;
  --line:       #D2DEDC;
  --ink:        #13201F;
  --muted:      #556663;

  --wrap: 1180px;
  --r: 4px;
  --shadow: 0 1px 2px rgba(7,44,52,.06), 0 8px 24px rgba(7,44,52,.07);
  --shadow-lift: 0 2px 6px rgba(7,44,52,.10), 0 18px 40px rgba(7,44,52,.13);

  --f-display: "Anek Telugu", "Noto Sans Telugu", system-ui, sans-serif;
  --f-body: "Mulish", system-ui, -apple-system, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{
  margin:0; background:var(--mist); color:var(--ink);
  font-family:var(--f-body); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--river); text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--f-display); font-weight:700; line-height:1.12; letter-spacing:-.015em; margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5.2vw,3.5rem); font-weight:800}
h2{font-size:clamp(1.55rem,3.2vw,2.35rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em; max-width:70ch}
.wrap{width:min(100% - 2.4rem, var(--wrap)); margin-inline:auto}
.skip{position:absolute; left:-9999px}
.skip:focus{left:1rem; top:1rem; z-index:99; background:var(--paper); padding:.6rem 1rem; border-radius:var(--r)}
:focus-visible{outline:3px solid var(--turmeric); outline-offset:2px}

/* ---------- river contour motif ---------- */
.contour{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='120' viewBox='0 0 420 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.10' stroke-width='1.2'%3E%3Cpath d='M-20 20c60 0 60 26 120 26s60-26 120-26 60 26 120 26 60-26 120-26'/%3E%3Cpath d='M-20 46c60 0 60 26 120 26s60-26 120-26 60 26 120 26 60-26 120-26'/%3E%3Cpath d='M-20 72c60 0 60 26 120 26s60-26 120-26 60 26 120 26 60-26 120-26'/%3E%3Cpath d='M-20 98c60 0 60 26 120 26s60-26 120-26 60 26 120 26 60-26 120-26'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--f-display); font-weight:600; font-size:1rem;
  padding:.78rem 1.35rem; border-radius:var(--r); border:1.5px solid transparent;
  text-decoration:none; cursor:pointer; transition:background .18s, color .18s, border-color .18s;
}
.btn--gold{background:var(--turmeric); color:#231703; border-color:var(--turmeric)}
.btn--gold:hover{background:var(--turmeric-d); border-color:var(--turmeric-d); color:#fff}
.btn--river{background:var(--river); color:#fff; border-color:var(--river)}
.btn--river:hover{background:var(--river-ink); border-color:var(--river-ink)}
.btn--ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.55)}
.btn--ghost:hover{background:rgba(255,255,255,.12); border-color:#fff}
.btn--line{background:transparent; color:var(--river); border-color:var(--line)}
.btn--line:hover{border-color:var(--river); background:var(--paper)}
.btn--call{background:transparent; color:var(--river-ink); border-color:var(--line); font-variant-numeric:tabular-nums}
.btn--call:hover{border-color:var(--river)}
.btn--wide{width:100%}

/* ---------- header ---------- */
.top{position:sticky; top:0; z-index:40}
.top__bar{background:var(--paper); border-bottom:1px solid var(--line)}
.top__inner{display:flex; align-items:center; gap:1.5rem; min-height:72px}
.brand{display:flex; align-items:center; text-decoration:none; flex:0 0 auto}
.brand__img{height:46px; width:auto}
.brand__text{font-family:var(--f-display); font-weight:800; font-size:1.3rem; color:var(--river-ink)}
.nav{display:flex; align-items:center; gap:1.35rem; margin-left:auto; flex-wrap:wrap}
.nav>a,.nav__toggle{
  font-family:var(--f-display); font-weight:500; font-size:1rem; color:var(--ink);
  text-decoration:none; background:none; border:0; padding:.35rem 0; cursor:pointer;
  border-bottom:2px solid transparent;
}
.nav>a:hover,.nav__toggle:hover{border-bottom-color:var(--turmeric)}
.nav>a[aria-current]{border-bottom-color:var(--river)}
.nav__group{position:relative}
.nav__toggle::after{content:""; display:inline-block; width:.42em; height:.42em; margin-left:.45em;
  border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor; transform:translateY(-.15em) rotate(45deg)}
.nav__menu{
  position:absolute; top:calc(100% + .7rem); left:-1rem; min-width:220px; background:var(--paper);
  border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow-lift);
  padding:.4rem; display:none;
}
.nav__group:hover .nav__menu,.nav__group:focus-within .nav__menu,.nav__menu.is-open{display:block}
.nav__menu a{display:block; padding:.55rem .8rem; text-decoration:none; color:var(--ink); border-radius:var(--r); font-size:.97rem}
.nav__menu a:hover{background:var(--mist); color:var(--river)}
.top__cta{display:flex; align-items:center; gap:.7rem; flex:0 0 auto}
.burger{display:none; width:44px; height:40px; background:none; border:1px solid var(--line); border-radius:var(--r); cursor:pointer; padding:10px 10px}
.burger span{display:block; height:2px; background:var(--river-ink); margin:3px 0; transition:transform .2s, opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

@media (max-width:1020px){
  .burger{display:block}
  .nav{
    position:fixed; inset:72px 0 auto 0; background:var(--paper); border-bottom:1px solid var(--line);
    flex-direction:column; align-items:stretch; gap:0; padding:.5rem 1.2rem 1.4rem; display:none;
    max-height:calc(100dvh - 72px); overflow:auto;
  }
  .nav.is-open{display:flex}
  .nav>a,.nav__toggle{padding:.85rem 0; border-bottom:1px solid var(--line); width:100%; text-align:left}
  .nav__menu{position:static; display:none; border:0; box-shadow:none; padding:0 0 .6rem 1rem}
  .nav__menu.is-open{display:block}
  .nav__group:hover .nav__menu{display:none}
  .nav__group:hover .nav__menu.is-open{display:block}
  .btn--call{display:none}
}

/* ---------- hero ---------- */
.hero{position:relative; background:var(--river-ink); color:#fff; overflow:hidden; isolation:isolate}
.hero__slides{position:absolute; inset:0; z-index:-2}
.hero__slide{position:absolute; inset:0; opacity:0; transition:opacity 1.1s ease}
.hero__slide.is-on{opacity:1}
.hero__slide img{width:100%; height:100%; object-fit:cover; animation:kb 14s ease-out both}
.hero__slide::after{content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(7,44,52,.94) 0%, rgba(7,44,52,.82) 45%, rgba(7,44,52,.50) 100%)}
@keyframes kb{from{transform:scale(1.0)}to{transform:scale(1.09)}}
.hero__contour{position:absolute; inset:0; z-index:-1; opacity:.8}
.hero__inner{padding:clamp(3.2rem,7vw,6rem) 0 clamp(2.6rem,5vw,4rem); max-width:44rem}
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:.55rem; font-family:var(--f-display);
  font-size:.96rem; font-weight:500; color:#BFE3E6; margin-bottom:1.1rem;
}
.hero__eyebrow::before{content:""; width:28px; height:2px; background:var(--turmeric)}
.hero h1{color:#fff; margin-bottom:.55rem}
.hero__sub{font-size:1.1rem; color:#D5E5E6; max-width:40rem}
.hero__acts{display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem}
.hero__trust{display:flex; flex-wrap:wrap; gap:.55rem; margin-top:2.2rem}
.hero__trust span{
  font-family:var(--f-display); font-size:.85rem; font-weight:500; letter-spacing:.02em;
  padding:.32rem .75rem; border:1px solid rgba(255,255,255,.28); border-radius:99px; color:#CFE6E7;
}

/* ---------- scrolling plot band ---------- */
.band{background:var(--river); color:#fff; padding:2.4rem 0 2.8rem; overflow:hidden}
.band__head{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 1rem; margin-bottom:1.4rem}
.band__head h2{color:#fff; margin:0; font-size:clamp(1.3rem,2.6vw,1.8rem)}
.band__head a{color:#FFD97A; font-family:var(--f-display); font-weight:500; text-decoration:none; white-space:nowrap}
.band__head a:hover{text-decoration:underline}
.rail{display:flex; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.rail__track{display:flex; gap:1rem; width:max-content; animation:slide 46s linear infinite}
.rail:hover .rail__track,.rail:focus-within .rail__track{animation-play-state:paused}
@keyframes slide{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.plot{
  flex:0 0 268px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r); padding:1.05rem 1.1rem; text-decoration:none; color:#fff;
  display:flex; flex-direction:column; gap:.3rem; transition:background .2s, border-color .2s;
}
.plot:hover{background:rgba(255,255,255,.12); border-color:var(--turmeric)}
.plot__name{font-family:var(--f-display); font-weight:600; font-size:1.06rem; line-height:1.25}
.plot__where{font-size:.88rem; color:#B9D7DA}
.plot__price{font-family:var(--f-display); font-weight:700; color:var(--turmeric); font-size:1.05rem; margin-top:auto; padding-top:.35rem}
.plot__meta{font-size:.82rem; color:#9FC5C9; border-top:1px solid rgba(255,255,255,.14); padding-top:.5rem; margin-top:.5rem}

/* ---------- sections ---------- */
.sec{padding:clamp(3rem,6vw,4.8rem) 0}
.sec--paper{background:var(--paper)}
.sec__head{max-width:46rem; margin-bottom:2.2rem}
.sec__head p{color:var(--muted)}

/* ---------- property cards ---------- */
.grid{display:grid; gap:1.4rem; grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden; display:flex; flex-direction:column; text-decoration:none; color:inherit;
  transition:box-shadow .22s, transform .22s, border-color .22s;
}
.card:hover{box-shadow:var(--shadow-lift); transform:translateY(-3px); border-color:#B8CCC9}
.card__media{position:relative; aspect-ratio:16/10; background:var(--mist); overflow:hidden}
.card__media img{width:100%; height:100%; object-fit:cover; object-position:center}
.card__none{
  display:flex; align-items:center; justify-content:center; height:100%;
  font-family:var(--f-display); color:#8AA5A2; font-size:.95rem; background:
    linear-gradient(135deg,#E3EBEA,#D7E3E1);
}
.card__status{
  position:absolute; left:0; top:.85rem; background:var(--paddy); color:#fff;
  font-family:var(--f-display); font-weight:600; font-size:.78rem; letter-spacing:.02em;
  padding:.26rem .7rem .26rem .8rem; border-radius:0 var(--r) var(--r) 0;
}
.card__status.is-few{background:var(--clay)}
.card__status.is-sold{background:#6B7A78}
.card__body{padding:1.1rem 1.15rem 1.25rem; display:flex; flex-direction:column; flex:1}
.card__cat{font-family:var(--f-display); font-size:.82rem; font-weight:500; color:var(--river-mid); margin-bottom:.25rem}
.card__title{font-family:var(--f-display); font-weight:700; font-size:1.18rem; line-height:1.25; margin:0 0 .3rem}
.card__where{font-size:.92rem; color:var(--muted); margin:0 0 .8rem}
.card__price{font-family:var(--f-display); font-weight:700; font-size:1.22rem; color:var(--river-ink); margin-top:auto}
.card__price small{display:block; font-size:.78rem; font-weight:500; color:var(--muted); letter-spacing:.01em}
.card__specs{display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.85rem; padding-top:.85rem; border-top:1px solid var(--line)}
.chip{
  font-family:var(--f-display); font-size:.79rem; font-weight:500; color:var(--river);
  background:var(--mist); border-radius:99px; padding:.22rem .65rem;
}

/* ---------- filters ---------- */
.filters{display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; margin-bottom:1.8rem}
.filters input,.filters select{
  font-family:var(--f-body); font-size:.95rem; padding:.6rem .8rem;
  border:1px solid var(--line); border-radius:var(--r); background:var(--paper); color:var(--ink);
}
.filters input{min-width:230px; flex:1 1 230px}

/* ---------- category tiles ---------- */
.tiles{display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.tile{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--r);
  padding:1.4rem 1.3rem 1.5rem; text-decoration:none; color:inherit; display:block;
  border-left:3px solid var(--turmeric); transition:border-color .2s, box-shadow .2s;
}
.tile:hover{box-shadow:var(--shadow); border-left-color:var(--river)}
.tile h3{margin:0 0 .3rem; font-size:1.18rem}
.tile p{margin:0; font-size:.93rem; color:var(--muted)}
.tile__n{font-family:var(--f-display); font-weight:700; color:var(--river-mid); font-size:.86rem; margin-top:.7rem; display:block}

/* ---------- property detail ---------- */
.crumbs{font-size:.88rem; color:var(--muted); padding:1.1rem 0 0}
.crumbs a{color:var(--muted); text-decoration:none}
.crumbs a:hover{color:var(--river); text-decoration:underline}
.crumbs span{margin:0 .4rem; opacity:.55}
.detail{display:grid; gap:2.4rem; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); padding:1.6rem 0 clamp(3rem,6vw,4.5rem); align-items:start}
@media (max-width:940px){.detail{grid-template-columns:1fr}}
.detail h1{font-size:clamp(1.8rem,4vw,2.7rem); margin-bottom:.25rem}
.detail__where{color:var(--muted); font-size:1.02rem; margin-bottom:1.2rem}
.gallery{display:grid; gap:.6rem; grid-template-columns:repeat(4,1fr); margin-bottom:1.8rem}
.gallery__main{grid-column:1 / -1; aspect-ratio:16/9; border-radius:var(--r); overflow:hidden; background:var(--mist)}
.gallery__main img{width:100%; height:100%; object-fit:cover}
.gallery__thumb{aspect-ratio:4/3; border-radius:var(--r); overflow:hidden; background:var(--mist); border:0; padding:0; cursor:pointer}
.gallery__thumb img{width:100%; height:100%; object-fit:cover; transition:opacity .2s}
.gallery__thumb:hover img{opacity:.8}
.specs{width:100%; border-collapse:collapse; margin:1.4rem 0 2rem; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); overflow:hidden}
.specs th,.specs td{text-align:left; padding:.78rem 1rem; border-bottom:1px solid var(--line); font-size:.97rem}
.specs tr:last-child th,.specs tr:last-child td{border-bottom:0}
.specs th{font-family:var(--f-display); font-weight:600; color:var(--muted); width:42%; background:#F7FAF9}
.points{list-style:none; padding:0; margin:0 0 2rem; display:grid; gap:.55rem; grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}
.points li{position:relative; padding-left:1.6rem; font-size:.98rem}
.points li::before{content:""; position:absolute; left:0; top:.62em; width:9px; height:9px; background:var(--turmeric); border-radius:2px; transform:rotate(45deg)}
.aside{position:sticky; top:96px; display:grid; gap:1.2rem}
@media (max-width:940px){.aside{position:static}}
.quote{background:var(--river-ink); color:#fff; border-radius:var(--r); padding:1.5rem 1.4rem 1.6rem}
.quote h3{color:#fff; margin-bottom:.2rem}
.quote p{color:#C6DEE0; font-size:.94rem; margin-bottom:1.1rem}
.quote__price{font-family:var(--f-display); font-weight:800; font-size:1.7rem; color:var(--turmeric); line-height:1.2}
.quote__price small{display:block; font-size:.8rem; font-weight:500; color:#A8C9CC; letter-spacing:.02em}

/* ---------- forms ---------- */
.form{display:grid; gap:.75rem}
.form label{font-family:var(--f-display); font-weight:500; font-size:.9rem; display:block; margin-bottom:.25rem}
.form input,.form select,.form textarea{
  width:100%; font-family:var(--f-body); font-size:1rem; padding:.72rem .85rem;
  border:1px solid var(--line); border-radius:var(--r); background:var(--paper); color:var(--ink);
}
.form textarea{min-height:96px; resize:vertical}
.form--dark label{color:#C6DEE0}
.form--dark input,.form--dark select,.form--dark textarea{
  background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.22); color:#fff;
}
.form--dark input::placeholder,.form--dark textarea::placeholder{color:#8FB4B8}
.hp{position:absolute; left:-9999px}
.note{font-size:.84rem; color:var(--muted)}
.form--dark .note{color:#9FC5C9}
.alert{background:#FCE9E6; border:1px solid #E3A99F; color:#8A2B18; padding:.8rem 1rem; border-radius:var(--r); margin-bottom:1rem}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line); max-width:52rem}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  cursor:pointer; padding:1.05rem 2rem 1.05rem 0; font-family:var(--f-display);
  font-weight:600; font-size:1.06rem; list-style:none; position:relative;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:.2rem; top:.9rem; font-size:1.45rem; color:var(--turmeric); line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{padding:0 0 1.1rem; color:var(--muted); margin:0}

/* ---------- CTA strip ---------- */
.strip{background:var(--river); color:#fff; padding:clamp(2.6rem,5vw,3.6rem) 0}
.strip__in{display:flex; flex-wrap:wrap; gap:1.5rem; align-items:center; justify-content:space-between}
.strip h2{color:#fff; margin:0 0 .3rem}
.strip p{color:#C6DEE0; margin:0}
.strip__acts{display:flex; gap:.8rem; flex-wrap:wrap}

/* ---------- footer ---------- */
.foot{background:var(--river-ink); color:#B9D4D7; padding:3rem 0 1.6rem; font-size:.95rem}
.foot__grid{display:grid; gap:2rem; grid-template-columns:1.5fr 1fr 1fr; margin-bottom:2.2rem}
@media (max-width:820px){.foot__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot__grid{grid-template-columns:1fr}}
.foot h4{color:#fff; font-size:1rem; margin:0 0 .8rem}
.foot a{color:#B9D4D7; text-decoration:none}
.foot a:hover{color:var(--turmeric)}
.foot ul{list-style:none; margin:0; padding:0; display:grid; gap:.45rem}
.foot__logo{height:44px; width:auto; margin-bottom:.9rem}
.foot p{max-width:34ch; color:#9FC5C9}
.socials{display:flex; gap:.55rem; flex-wrap:wrap; margin-top:1rem}
.socials a{
  width:38px; height:38px; border:1px solid rgba(255,255,255,.22); border-radius:var(--r);
  display:grid; place-items:center; transition:background .2s, border-color .2s;
}
.socials a:hover{background:rgba(255,255,255,.12); border-color:var(--turmeric)}
.socials svg{width:18px; height:18px; fill:currentColor}
.foot__end{border-top:1px solid rgba(255,255,255,.14); padding-top:1.2rem; display:flex; flex-wrap:wrap; gap:.8rem; justify-content:space-between; font-size:.86rem; color:#8FB4B8}

/* ---------- sticky mobile actions ---------- */
.sticky{
  position:fixed; left:0; right:0; bottom:0; z-index:50; display:none;
  background:var(--paper); border-top:1px solid var(--line); padding:.55rem .7rem;
  gap:.5rem; box-shadow:0 -6px 20px rgba(7,44,52,.10);
}
.sticky .btn{flex:1; padding:.72rem .6rem; font-size:.95rem}
@media (max-width:760px){
  .sticky{display:flex}
  body{padding-bottom:70px}
}

/* ---------- misc ---------- */
.empty{background:var(--paper); border:1px dashed var(--line); border-radius:var(--r); padding:2.4rem 1.6rem; text-align:center}
.empty h3{margin-bottom:.35rem}
.lead{font-size:1.1rem; color:var(--muted); max-width:60ch}
.center{text-align:center}
.mt2{margin-top:2rem}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important}
  html{scroll-behavior:auto}
  .rail__track{animation:none; flex-wrap:nowrap; overflow-x:auto}
  .hero__slide{transition:none}
}
/* Property posters and assistant */
[hidden]{display:none!important}.poster-carousel{position:relative;background:#0c3039;padding:24px 0 0}.poster-slide{display:block;max-width:1400px;margin:auto;color:white}.poster-slide img{display:block;width:100%;height:min(64vh,650px);object-fit:contain;background:#0c3039}.poster-caption{display:flex;justify-content:space-between;gap:1rem;padding:18px 28px;font-size:1.1rem}.poster-caption strong{color:#dfbd74}.poster-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px 0 24px;color:white}.poster-controls button{border:1px solid #829795;background:transparent;color:white;border-radius:6px;padding:8px 16px;cursor:pointer}.chat-launch,.floating-wa{position:fixed;right:22px;z-index:90;border:0;border-radius:40px;padding:14px 20px;box-shadow:0 5px 24px #0003;font:700 14px system-ui;cursor:pointer}.chat-launch{bottom:26px;background:#0c3039;color:white}.floating-wa{bottom:88px;background:#128c50;color:white;display:flex;align-items:center;gap:8px}.property-chat{position:fixed;right:22px;bottom:85px;width:380px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 110px);z-index:100;border:1px solid #b3c4bf;border-radius:16px;box-shadow:0 15px 65px #0004;background:#fff;overflow:hidden;color:#162f2c;font:14px/1.6 system-ui}.property-chat header{background:#0c3039;color:white;display:flex;justify-content:space-between;padding:16px;align-items:center}.property-chat header small{display:block;color:#d4dfda}.property-chat header button{background:none;border:0;color:white;font-size:26px;cursor:pointer}.chat-body{overflow:auto;max-height:calc(100dvh - 215px);padding:16px}.chat-body button,.chat-body a{display:inline-block;margin:5px 5px 5px 0;border:1px solid #b6c8bf;border-radius:6px;background:#f1f6f3;color:#123d35;padding:7px 10px;cursor:pointer}.chat-body input,.chat-body textarea{max-width:100%;box-sizing:border-box}.chat-body label{display:block}.chat-body #chat-output{white-space:pre-wrap;background:#f2f5f2;border-radius:8px;padding:12px;margin-bottom:12px}.chat-body details{border-top:1px solid #ddd;margin-top:12px;padding-top:12px}.consent{display:flex!important;gap:8px;align-items:flex-start;font-size:12px!important}.consent input{width:auto!important;flex:none;margin-top:4px}button:focus-visible,a:focus-visible{outline:3px solid #c99837;outline-offset:3px}
@media(max-width:700px){.poster-carousel{padding-top:8px}.poster-slide img{height:auto;max-height:65vh;min-height:170px}.poster-caption{font-size:14px;padding:12px 16px}.chat-launch{bottom:78px;right:12px}.floating-wa{bottom:138px;right:12px}.property-chat{right:12px;bottom:132px;max-height:calc(100dvh - 150px)}.chat-body{max-height:calc(100dvh - 242px)}}

/* Full-width property poster hero: show the complete artwork without shade/cropping. */
.poster-carousel{padding-top:0}
.poster-slide{width:100%;max-width:none;margin:0;background:#fff}
.poster-slide img{width:100%;height:auto;object-fit:contain;background:#fff}
@media(max-width:700px){.poster-slide img{width:100%;height:auto;min-height:0;object-fit:contain}}
