:root{
  --brown:#5a2619;
  --brown-dark:#3d1715;
  --text:#1f1f1f;
  --muted:#6f6f6f;
  --line:#ece8e6;
  --shadow:0 8px 22px rgba(70,45,35,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Poppins',sans-serif;color:var(--text);background:#fff;font-size:14px}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.container{width:100%;margin:0 auto;padding-left:78px;padding-right:78px}

.site-header{height:78px;background:#fff;border-bottom:1px solid #f1f1f1;display:flex;align-items:center;position:relative;z-index:30}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand img{width:185px;height:auto}
.main-nav{display:flex;align-items:center;gap:32px;font-size:16px}
.main-nav a:not(.btn-call){transition:.2s;color:#222}
.main-nav a:not(.btn-call):hover{color:var(--brown)}
.btn-call{background:var(--brown);color:#fff!important;padding:12px 18px;border-radius:10px;box-shadow:0 2px 0 rgba(0,0,0,.05);font-size:16px}
.btn-call span{margin-right:6px}
.menu-btn{display:none;border:0;background:transparent;font-size:24px}

.hero{padding:42px 0 0}
.hero-grid{display:grid;grid-template-columns:58.5% 41.5%;min-height:595px;align-items:center;padding-right:0}
.hero-copy{padding:55px 90px 25px 38px}
.hero-copy h1{font-family:'Kamerik 105','Poppins',sans-serif;font-size:60px;line-height:1;margin:0 0 22px;font-weight:600;letter-spacing:-1.4px}
.hero-copy h1 span{color:var(--brown)}
.hero-copy p{max-width:760px;font-size:15px;line-height:1.65;margin:0 0 30px}
.btn-primary{display:inline-block;background:var(--brown);color:#fff;padding:15px 18px;border-radius:4px;font-size:16px}
.hero-image-wrap{height:555px;overflow:hidden;border-radius:78px 0 0 0}
.hero-image-wrap img{width:100%;height:100%;object-fit:cover}

.projects-section{padding:0 0 64px}
.projects-wrap{position:relative}
.search-panel{width:775px;max-width:calc(100% - 100px);margin:-10px auto 72px;display:grid;grid-template-columns:1fr 1fr 1fr;background:#fff;position:relative;z-index:5;border-radius:6px;box-shadow:0 8px 25px rgba(0,0,0,.13)}
.select-control{position:relative;border-right:1px solid #eee}
.select-trigger{width:100%;height:54px;background:#fff;border:0;display:flex;align-items:center;padding:0 15px;cursor:pointer;text-align:left}
.select-icon{font-size:17px;margin-right:12px;color:#523125}
.select-text{display:flex;flex-direction:column;line-height:1.2;flex:1}
.select-text small{font-size:10px;color:#777;margin-bottom:2px}
.select-text strong{font-size:11px;font-weight:500}
.chev{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex:0 0 18px}
.chev img{width:14px;height:14px;object-fit:contain;display:block;transition:transform .22s ease}
.select-control.open .chev img{transform:rotate(180deg)}
.select-menu{position:absolute;top:54px;left:0;right:0;background:#fff;box-shadow:0 12px 20px rgba(0,0,0,.1);padding:12px 0;display:none;z-index:10}
.select-control.open .select-menu{display:block}
.select-menu button{display:block;width:100%;text-align:left;padding:12px 26px;border:0;background:#fff;font-size:11px;cursor:pointer}
.select-menu button:hover{background:#f8f5f3}
.search-btn{border:8px solid #fff;border-radius:12px;background:var(--brown);color:#fff;font-size:16px;cursor:pointer;min-height:54px}

.cards-grid{max-width:985px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:48px 46px}
.property-card{background:#fff;border-radius:7px;overflow:hidden;border:1px solid #ebe7e4;box-shadow:var(--shadow)}
.property-image{width:100%;height:245px;object-fit:cover;border-radius:60px 60px 0 0}
.property-body{padding:12px 14px 17px}
.badges{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.badge{font-size:9px;padding:3px 9px;border-radius:10px;color:#fff;line-height:1.2}
.badge.green{background:#13bf63}.badge.gray{background:#78828a}.badge.beige{background:#c4a088}
.property-card h2{margin:4px 0 1px;font-size:14px;color:#5c2c20;line-height:1.25}
.address{font-size:10px;color:#666;margin:0 0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meta{display:flex;gap:9px;flex-wrap:wrap;font-size:9px;color:#666;padding-bottom:10px;border-bottom:1px solid #eee}
.price{font-size:12px;font-weight:600;margin:10px 0 0;color:#242424}

.quote-widget{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:60;display:flex;align-items:center;transition:transform .62s cubic-bezier(.22,.61,.36,1);will-change:transform}
.quote-panel{width:280px;background:#fff;border-radius:8px 0 0 8px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:28px 26px 26px;transition:opacity .42s ease,transform .62s cubic-bezier(.22,.61,.36,1);opacity:1;transform:translateX(0)}
.quote-panel h2{margin:0 0 18px;color:#5a2b20;font-size:19px;line-height:1.2}
.quote-panel form{display:grid;gap:14px}
.quote-panel label{display:grid;gap:7px;color:#606675;font-size:13px}
.quote-panel input,.quote-panel textarea{width:100%;border:1px solid #d8dde4;border-radius:4px;background:#fff;padding:11px 12px;font:inherit;outline:none}
.quote-panel input{height:44px}
.quote-panel textarea{resize:vertical;min-height:64px}
.quote-panel input:focus,.quote-panel textarea:focus{border-color:#8b5a4e;box-shadow:0 0 0 2px rgba(90,38,25,.08)}
.quote-submit{height:42px;border:0;border-radius:5px;background:var(--brown);color:#fff;font-size:16px;cursor:pointer}
.quote-toggle{border:0;color:#fff;cursor:pointer;font-size:10px;font-weight:600;line-height:1.1;letter-spacing:.15px;writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;justify-content:center;gap:4px;box-shadow:0 6px 13px rgba(0,0,0,.12);transition:background .25s ease,opacity .3s ease}
.quote-toggle-open{width:46px;height:170px;background:#7c828d;border-radius:6px 0 0 6px}
.quote-toggle-closed{position:absolute;left:0;width:42px;height:142px;background:var(--brown);border-radius:6px 0 0 6px;opacity:0;pointer-events:none}
.quote-widget.closed{transform:translate(calc(100% - 42px),-50%)}
.quote-widget.closed .quote-panel{opacity:0;transform:translateX(12px);pointer-events:none}
.quote-widget.closed .quote-toggle-open{opacity:0;pointer-events:none}
.quote-widget.closed .quote-toggle-closed{opacity:1;pointer-events:auto}


.site-footer{background:var(--brown-dark);color:#fff;padding:30px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:70px;align-items:start;padding-bottom:32px}
.footer-brand img{width:195px;filter:brightness(0) invert(1);opacity:.9}
.site-footer h3{margin:0 0 14px;font-size:13px;font-weight:500;color:#b98d7c}
.site-footer p{margin:8px 0;font-size:10px;font-weight:300}
.footer-bottom{border-top:1px solid rgba(255,255,255,.5);padding-top:18px;display:flex;align-items:center;justify-content:space-between}
.socials{display:flex;align-items:center;gap:18px}
.socials a{width:28px;height:28px;display:grid;place-items:center;color:#fff;opacity:.95;transition:transform .2s ease,opacity .2s ease}
.socials a:hover{transform:translateY(-2px) scale(1.08);opacity:1}
.socials svg{width:24px;height:24px;fill:currentColor;display:block}
.whatsapp{position:fixed;right:22px;bottom:16px;width:58px;height:58px;border-radius:50%;background:#00c966;color:white;z-index:40;display:grid;place-items:center;box-shadow:0 6px 15px rgba(0,0,0,.2);transition:transform .2s ease}
.whatsapp:hover{transform:scale(1.07)}
.whatsapp svg{width:36px;height:36px;fill:currentColor;display:block}

@media (max-width: 980px){
  .container{width:100%;padding-left:32px;padding-right:32px}
  .hero-grid{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:55px 10px 35px}
  .hero-image-wrap{height:460px;border-radius:55px 0 0 0}
  .search-panel{margin:30px auto 55px;width:100%;max-width:820px}
  .cards-grid{grid-template-columns:repeat(2,1fr);max-width:650px;gap:36px 30px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 720px){
  .site-header{height:70px}
  .brand img{width:145px}
  .main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 10px 20px rgba(0,0,0,.08);flex-direction:column;align-items:flex-start}
  .main-nav.open{display:flex}
  .menu-btn{display:block}
  .hero{padding-top:0}
  .hero-copy h1{font-size:38px}
  .hero-copy p{font-size:12px}
  .hero-image-wrap{height:360px;border-radius:42px 0 0 0}
  .search-panel{grid-template-columns:1fr;max-width:100%;box-shadow:0 5px 20px rgba(0,0,0,.10)}
  .select-control{border-right:0;border-bottom:1px solid #eee}
  .search-btn{height:58px}
  .select-menu{position:static;box-shadow:none;border-top:1px solid #eee}
  .cards-grid{grid-template-columns:1fr;max-width:360px}
  .property-image{height:270px}
  .quote-widget{display:none}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-bottom{align-items:flex-start;gap:20px;flex-direction:column}
}

@media (min-width: 1200px){
  .site-header .container{padding-left:80px;padding-right:80px}
  .hero-grid{padding-left:78px}
  .hero-image-wrap{margin-right:0}
}

/* Ajustes de fidelidad 07-09: logo, copy hero y tarjetas curvas/hover */
@media (min-width:1024px){
  .brand img{width:220px}
  .hero-copy p{font-size:18px;line-height:1.55;max-width:820px}
}
.property-card{
  border-radius:78px 78px 7px 7px;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.property-card:hover{
  transform:translateY(-4px);
  border-color:#c7aa9e;
  box-shadow:0 16px 34px rgba(70,45,35,.16);
}
.property-image{border-radius:72px 72px 0 0}

/* Ajuste fidelidad tarjetas - referencia original Segian */
@media (min-width: 981px){
  .cards-grid{
    max-width:1160px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:52px 50px;
  }
  .property-card{
    min-height:478px;
    border-radius:82px 82px 8px 8px;
    border:1px solid #ebe7e4;
    box-shadow:0 10px 28px rgba(45,34,29,.09);
    transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease;
  }
  .property-card:hover{
    transform:translateY(-2px);
    border-color:#9b7566;
    box-shadow:0 16px 34px rgba(70,45,35,.14);
  }
  .property-image{
    height:300px;
    border-radius:76px 76px 0 0;
  }
  .property-body{padding:13px 16px 19px}
  .property-card h2{font-size:17px}
  .address{font-size:12px}
  .meta{font-size:11px;gap:11px}
  .price{font-size:14px}
  .badge{font-size:10px;padding:3px 10px}
}

/* Segian v2 - ajustes comparados con la web original */
@media (min-width:981px){
  .search-panel{
    width:980px;
    max-width:calc(100% - 120px);
    min-height:74px;
    margin:-16px auto 76px;
    border-radius:9px;
  }
  .select-trigger{height:74px;padding:0 24px}
  .select-icon{font-size:21px;margin-right:15px}
  .select-text small{font-size:12px;margin-bottom:4px}
  .select-text strong{font-size:14px}
  .select-menu{top:74px}
  .select-menu button{font-size:13px;padding:13px 28px}
  .search-btn{min-height:74px;border:8px solid #fff;border-radius:14px;font-size:16px}
}

.property-card{
  position:relative;
  padding:2px;
  background:#fff;
  border:1px solid #ebe7e4;
  overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.property-card:hover{border-color:var(--brown)}
.property-image{
  width:100%;
  display:block;
}
.property-body{background:#fff}

@media (min-width:981px){
  .property-card{border-radius:84px 84px 9px 9px}
  .property-image{border-radius:80px 80px 0 0}
}

.site-footer h3{font-size:16px;line-height:1.45}
.site-footer p{font-size:16px;line-height:1.55}
.footer-bottom p{font-size:16px}

/* Segian v3 - marco amplio alrededor de la imagen como referencia original */
@media (min-width:981px){
  .property-card{
    padding:26px 26px 0;
    border-radius:86px 86px 9px 9px;
    overflow:hidden;
  }
  .property-image{
    height:300px;
    border-radius:72px 72px 0 0;
  }
  .property-body{
    margin:0 -26px;
    padding:13px 42px 19px;
  }
}

/* Segian v4 - textos de las fichas +2px */
@media (min-width:981px){
  .badge{font-size:12px;}
  .property-card h2{font-size:19px;}
  .address{font-size:14px;}
  .meta{font-size:13px;}
  .price{font-size:16px;}
}

/* Segian v5 - fichas +2px, cotizacion mas grande y footer alineado a la izquierda */
@media (min-width:981px){
  .badge{font-size:14px;}
  .property-card h2{font-size:21px;}
  .address{font-size:16px;}
  .meta{font-size:15px;}
  .price{font-size:18px;}

  .quote-panel{
    width:330px;
    padding:32px 30px 30px;
  }
  .quote-panel h2{font-size:22px;margin-bottom:20px;}
  .quote-panel label{font-size:15px;gap:8px;}
  .quote-panel input{height:50px;}
  .quote-panel textarea{min-height:82px;}
  .quote-submit{height:48px;font-size:17px;}
  .quote-toggle-open{width:50px;height:180px;font-size:11px;}
  .quote-toggle-closed{width:46px;height:152px;font-size:11px;}
  .quote-widget.closed{transform:translate(calc(100% - 46px),-50%);}
}

.site-footer,
.site-footer .footer-grid,
.site-footer .footer-brand,
.site-footer .footer-grid > div,
.site-footer h3,
.site-footer p,
.site-footer .footer-bottom{
  text-align:left;
}

/* Segian v6: copyright footer 2px smaller */
.footer-bottom p{font-size:14px;}


/* Segian v8 - tarjetas clicables, iconos de buscador y Libro de reclamaciones */
.property-card{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.property-card:focus-visible{
  outline:3px solid rgba(92,44,32,.25);
  outline-offset:4px;
}
.select-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.select-icon img{
  width:17px;
  height:17px;
  object-fit:contain;
  display:block;
}
.select-control:nth-child(2) .select-icon img{
  width:18px;
  height:18px;
}
.footer-legal{display:flex;flex-direction:column;gap:6px}
.footer-legal p{margin:0}
.complaints-link{
  color:#fff;
  font-size:14px;
  text-decoration:none;
  width:max-content;
  opacity:.95;
}
.complaints-link:hover{text-decoration:underline;opacity:1}
@media (max-width:720px){
  .footer-legal{gap:8px}
}


/* Segian v9 - iconos +2px y Libro de Reclamaciones en linea principal del footer */
.select-icon img{width:19px;height:19px;}
.select-control:nth-child(2) .select-icon img{width:20px;height:20px;}
.search-btn{display:flex;align-items:center;justify-content:center;gap:9px;}
.search-btn-icon{width:19px;height:19px;object-fit:contain;filter:brightness(0) invert(1);display:block;}
.footer-grid{grid-template-columns:1.45fr .9fr 1fr 1fr;gap:48px;}
.footer-complaints h3{margin-bottom:10px;}
.footer-complaints a{display:inline-block;line-height:0;}
.footer-complaints img{width:58px;height:auto;display:block;}
@media (max-width:1000px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px 50px;}
}
@media (max-width:720px){
  .footer-grid{grid-template-columns:1fr;gap:24px;}
}

/* Segian v10 - iconos buscador +2px y Libro de Reclamaciones como boton */
.select-icon img{width:21px;height:21px;}
.select-control:nth-child(2) .select-icon img{width:22px;height:22px;}
.footer-complaints{text-align:center;display:flex;flex-direction:column;align-items:center;}
.footer-complaints h3{text-align:center;width:100%;}
.footer-complaints a{
  width:92px;
  min-height:64px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:8px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background-color .3s ease,border-color .3s ease,transform .3s ease;
}
.footer-complaints a:hover{
  background:#ae7373;
  border-color:#ae7373;
  transform:translateY(-2px);
}
.footer-complaints img{width:58px;height:auto;display:block;}


/* Segian v12 - Libro de Reclamaciones limpio, sin caja */
.footer-complaints{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.footer-complaints h3{
  text-align:center;
  width:100%;
  margin-bottom:12px;
}
.footer-complaints .complaints-icon-link{
  width:auto;
  min-height:0;
  height:auto;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  line-height:1;
  transition:color .28s ease, transform .28s ease;
}
.footer-complaints .complaints-icon-link:hover{
  background:transparent;
  border:0;
  box-shadow:none;
  color:#ae7373;
  transform:translateY(-2px);
}
.footer-complaints .complaints-icon-link svg{
  width:64px;
  height:42px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Segian v13: flecha desplegable */
.select-trigger .chev{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex:0 0 18px;margin-left:8px}
.select-trigger .chev img{width:14px;height:14px;object-fit:contain;display:block;transition:transform .22s ease}
.select-control.open .select-trigger .chev img{transform:rotate(180deg)}

/* Segian v15 - pagina Nosotros */
.about-page{background:#fff;color:#263142}
.about-page h1,.about-page h2,.about-page h3{color:var(--brown,#5c2c20)}
.about-intro{padding:94px 0 76px}
.about-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:72px;align-items:center;max-width:1000px}
.about-copy{max-width:470px}
.about-copy h1{font-size:40px;line-height:1.08;margin:0 0 20px;font-weight:600;letter-spacing:-.7px}
.about-copy p{font-size:16px;line-height:1.72;margin:0 0 16px;color:#65707e}
.about-photo-stack{position:relative;height:360px;max-width:470px}
.about-photo{position:absolute;object-fit:cover;border-radius:5px;box-shadow:0 8px 18px rgba(37,26,22,.07)}
.about-photo.photo-one{width:235px;height:315px;left:0;top:0}
.about-photo.photo-two{width:235px;height:315px;right:0;bottom:0}

.about-history{padding:42px 0 92px}
.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}
.section-heading.narrow{max-width:830px}
.section-heading h2{font-size:28px;line-height:1.2;margin:0 0 24px;font-weight:600}
.section-heading p{font-size:14px;line-height:1.65;color:#6f7884;margin:0}
.history-stats{max-width:920px;margin:58px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.history-card{min-height:144px;border:1px solid #d8dde2;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 12px;background:#fff;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.history-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(49,34,27,.09);border-color:#b98e80}
.history-icon{width:40px;height:40px;color:var(--brown,#5c2c20);margin-bottom:6px}
.history-icon svg{width:100%;height:100%;fill:currentColor}
.history-card strong{font-size:26px;font-weight:500;line-height:1.05;color:#1f2937}
.history-card span{font-size:12px;color:#68717e;margin-top:5px}

.about-values{padding:34px 0 98px}
.values-heading{max-width:850px}
.values-grid{max-width:920px;margin:50px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:36px 40px}
.value-card{min-height:170px;border:1.5px solid #6c3327;border-radius:8px;padding:26px 34px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}
.value-icon{width:30px;height:30px;color:var(--brown,#5c2c20);margin-bottom:10px}
.value-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.value-card:nth-child(3) .value-icon svg,.value-card:nth-child(4) .value-icon svg{fill:currentColor;stroke:none}
.value-card h3{font-size:16px;margin:0 0 13px;font-weight:600}
.value-card p{font-size:12px;line-height:1.58;color:#76808d;margin:0;max-width:350px}

.about-clients{padding:44px 0 80px}
.client-heading h2{font-size:31px;margin-bottom:8px}
.client-heading p{font-size:13px}
.testimonials-wrap{max-width:930px;margin:60px auto 0;position:relative}
.testimonials-glow{position:absolute;inset:10% 7% 2%;background:radial-gradient(ellipse at center,rgba(211,117,249,.52),rgba(193,97,239,.28) 42%,rgba(255,255,255,0) 72%);filter:blur(22px);pointer-events:none}
.testimonials-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.testimonial-card{min-height:315px;background:#fff;border:1px solid #ccd2d8;padding:26px 26px 22px;box-shadow:0 12px 24px rgba(27,31,38,.09);display:flex;flex-direction:column}
.stars{color:#f3ad20;font-size:17px;letter-spacing:2px;margin-bottom:24px}
.testimonial-card>p{font-size:13px;line-height:1.6;color:#222d3a;margin:0 0 22px;flex:1}
.testimonial-author{display:flex;align-items:center;gap:12px}
.avatar{width:34px;height:34px;border-radius:50%;background:#2bb6c4;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;flex:0 0 34px;border-bottom:10px solid #f28c68;overflow:hidden}
.testimonial-author strong{display:block;font-size:11px;color:#1d2733}
.testimonial-author small{display:block;font-size:9px;color:#7e8894;margin-top:2px}

@media (max-width:1000px){
  .about-intro{padding:72px 0 60px}
  .about-intro-grid{grid-template-columns:1fr 390px;gap:45px}
  .about-photo-stack{height:315px}
  .about-photo.photo-one,.about-photo.photo-two{width:205px;height:275px}
  .history-stats,.values-grid,.testimonials-wrap{max-width:calc(100% - 36px)}
}
@media (max-width:780px){
  .about-intro-grid{grid-template-columns:1fr;gap:40px}
  .about-copy{max-width:none;text-align:center}
  .about-copy h1{font-size:34px}
  .about-photo-stack{width:min(470px,100%);margin:0 auto}
  .history-stats{grid-template-columns:repeat(2,1fr)}
  .values-grid{grid-template-columns:1fr;gap:22px}
  .testimonials-grid{grid-template-columns:1fr;gap:24px}
  .testimonial-card{min-height:0}
  .about-history,.about-values,.about-clients{padding-bottom:68px}
}
@media (max-width:520px){
  .about-intro{padding:52px 0 44px}
  .about-copy h1{font-size:30px}
  .about-copy p{font-size:14px}
  .about-photo-stack{height:265px}
  .about-photo.photo-one,.about-photo.photo-two{width:53%;height:235px}
  .section-heading h2,.client-heading h2{font-size:25px}
  .history-stats{grid-template-columns:1fr 1fr;gap:14px;margin-top:36px}
  .history-card{min-height:125px}
  .value-card{padding:24px 20px}
  .testimonials-wrap{margin-top:38px}
}

/* Segian v16 - Nosotros: primer bloque más ancho como referencia original */
@media (min-width: 1100px){
  .about-intro-grid{
    max-width: 1280px;
    grid-template-columns: minmax(560px, 650px) 520px;
    gap: 70px;
  }
  .about-copy{max-width:650px}
  .about-copy h1{white-space:nowrap}
  .about-photo-stack{max-width:520px}
}

/* Segian v17 - Nosotros: fotos originales grandes y alineación general */
@media (min-width:1100px){
  .about-intro{padding:104px 0 88px}
  .about-intro-grid{
    width:100%;
    max-width:1240px;
    grid-template-columns:minmax(520px,590px) 590px;
    gap:60px;
    align-items:center;
    margin-left:auto;
    margin-right:auto;
  }
  .about-copy{max-width:590px}
  .about-copy h1{font-size:40px;white-space:nowrap}
  .about-copy p{font-size:16px;line-height:1.7;max-width:570px}

  .about-photo-stack{
    width:590px;
    max-width:590px;
    height:430px;
    margin:0;
  }
  .about-photo.photo-one{
    width:285px;
    height:395px;
    left:0;
    top:0;
  }
  .about-photo.photo-two{
    width:285px;
    height:395px;
    right:0;
    bottom:0;
  }

  /* Todas las secciones comparten el mismo eje y ancho visual */
  .about-history>.container,
  .about-values>.container,
  .about-clients>.container{
    max-width:1240px;
    margin-left:auto;
    margin-right:auto;
  }
  .about-history .section-heading,
  .about-values .section-heading,
  .about-clients .section-heading{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .about-history .section-heading{max-width:980px}
  .about-values .section-heading{max-width:980px}
  .about-clients .section-heading{max-width:980px}

  .history-stats,
  .values-grid,
  .testimonials-wrap{
    width:100%;
    max-width:980px;
    margin-left:auto;
    margin-right:auto;
  }

  .about-history{padding:54px 0 94px}
  .about-values{padding:42px 0 98px}
  .about-clients{padding:50px 0 88px}
}

/* Segian v18 - ancho maestro uniforme en toda la pagina Nosotros */
@media (min-width:1100px){
  .about-page{
    --about-master-width: 1030px;
  }
  .about-intro-grid,
  .about-history > .container,
  .about-values > .container,
  .about-clients > .container{
    width:100%;
    max-width:var(--about-master-width);
    margin-left:auto;
    margin-right:auto;
    padding-left:0;
    padding-right:0;
  }
  .about-intro-grid{
    grid-template-columns:500px 470px;
    gap:60px;
  }
  .about-copy{max-width:500px}
  .about-copy p{max-width:500px}
  .about-photo-stack{width:470px;max-width:470px;height:365px}
  .about-photo.photo-one{width:235px;height:325px}
  .about-photo.photo-two{width:235px;height:325px}

  .about-history .section-heading,
  .about-values .section-heading,
  .about-clients .section-heading,
  .history-stats,
  .values-grid,
  .testimonials-wrap{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }
  .history-stats{grid-template-columns:repeat(4,1fr);gap:28px}
  .values-grid{grid-template-columns:repeat(2,1fr);gap:36px 40px}
  .testimonials-grid{width:100%}
}


/* Segian v19 - Nosotros: ancho real mayor, tipografia y separacion de fotos */
@media (min-width:1100px){
  .about-page{
    --about-master-width:1234px;
  }

  .about-intro-grid,
  .about-history > .container,
  .about-values > .container,
  .about-clients > .container{
    width:100%;
    max-width:var(--about-master-width);
    margin-left:auto;
    margin-right:auto;
    padding-left:0;
    padding-right:0;
  }

  .about-intro{padding:102px 0 92px}
  .about-intro-grid{
    grid-template-columns:530px 560px;
    column-gap:144px;
    align-items:center;
  }

  .about-copy{max-width:530px}
  .about-copy h1{
    font-size:46px;
    line-height:1.08;
    letter-spacing:-.8px;
    margin-bottom:20px;
    white-space:nowrap;
  }
  .about-copy p{
    max-width:530px;
    font-size:18px;
    line-height:1.55;
    margin-bottom:18px;
  }

  .about-photo-stack{
    width:560px;
    max-width:560px;
    height:380px;
    position:relative;
  }
  .about-photo.photo-one{
    width:235px;
    height:325px;
    left:0;
    top:0;
    right:auto;
    bottom:auto;
  }
  .about-photo.photo-two{
    width:235px;
    height:325px;
    right:0;
    top:36px;
    left:auto;
    bottom:auto;
  }

  .about-history .section-heading,
  .about-values .section-heading,
  .about-clients .section-heading{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .about-history .section-heading p,
  .about-values .section-heading p,
  .about-clients .section-heading p{
    max-width:100%;
  }

  .history-stats,
  .values-grid,
  .testimonials-wrap{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }
  .history-stats{grid-template-columns:repeat(4,1fr);gap:34px}
  .values-grid{grid-template-columns:repeat(2,1fr);gap:36px 42px}
  .testimonials-grid{width:100%;grid-template-columns:repeat(3,1fr);gap:34px}
}

/* Segian v20 - Nosotros: contenido 18px, fotos e iconos mas grandes */
@media (min-width:1100px){
  .about-page{--about-master-width:1234px;}

  .about-intro-grid{
    grid-template-columns:530px 600px;
    column-gap:104px;
    max-width:1234px;
  }
  .about-copy h1{
    font-size:48px;
    line-height:1.08;
    margin-bottom:22px;
  }
  .about-copy p{
    font-size:18px;
    line-height:1.62;
  }

  .about-photo-stack{
    width:600px;
    max-width:600px;
    height:410px;
  }
  .about-photo.photo-one{
    width:270px;
    height:370px;
    left:0;
    top:0;
  }
  .about-photo.photo-two{
    width:270px;
    height:370px;
    right:0;
    top:40px;
  }

  /* Texto general de las secciones inferiores */
  .section-heading p,
  .history-card span,
  .value-card p,
  .client-heading p,
  .testimonial-card > p{
    font-size:18px;
  }
  .section-heading p{line-height:1.6;}
  .history-card span{line-height:1.35;margin-top:8px;}
  .value-card p{line-height:1.55;max-width:500px;}
  .testimonial-card > p{line-height:1.6;}

  .section-heading h2{font-size:31px;}
  .client-heading h2{font-size:33px;}
  .value-card h3{font-size:18px;}
  .testimonial-author strong{font-size:16px;}
  .testimonial-author small{font-size:14px;}

  /* Iconos y cifras mas cercanos a la referencia original */
  .history-icon{width:52px;height:52px;margin-bottom:9px;}
  .history-card strong{font-size:31px;}
  .history-card{min-height:174px;padding:22px 16px;}

  .value-icon{width:40px;height:40px;margin-bottom:12px;}
  .value-card{min-height:205px;padding:30px 38px;}

  .stars{font-size:20px;}
  .avatar{width:42px;height:42px;flex-basis:42px;}
}

/* Segian v22 - ajuste final fotos e iconos de Nosotros */
@media (min-width:1100px){
  /* Separacion visual intermedia entre las dos fotografias */
  .about-intro-grid{grid-template-columns:530px 590px;column-gap:114px;}
  .about-photo-stack{width:590px;max-width:590px;height:410px;}
  .about-photo.photo-one{width:275px;height:370px;left:0;top:0;}
  .about-photo.photo-two{width:275px;height:370px;right:0;top:40px;}

  /* Los SVG no deben rellenarse: eso era lo que convertia los iconos en manchas */
  .value-icon{width:42px;height:42px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;}
  .value-icon svg{width:100%;height:100%;fill:none !important;stroke:currentColor !important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible;}
  .value-card:nth-child(4) .value-icon svg{fill:currentColor !important;stroke:none !important;}
}


/* ===== CONTACTO ===== */
.contact-section{padding:58px 0 34px;background:#fff}
.contact-container{max-width:1234px;width:calc(100% - 48px);margin:0 auto}
.contact-heading{text-align:center;margin-bottom:42px}
.contact-heading span{display:block;font-size:12px;font-weight:600;letter-spacing:.3px;color:#183946;margin-bottom:3px}
.contact-heading h1{margin:0;color:var(--brown);font-size:34px;line-height:1.15;font-weight:600}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;width:100%;max-width:none;margin:0 0 18px;align-items:start}
.contact-info,.contact-form-wrap{font-size:14px}
.contact-intro{margin:0 0 28px;color:#49606a;line-height:1.55}
.contact-item{display:grid;grid-template-columns:28px 1fr;gap:12px;margin:0 0 13px;align-items:start}
.contact-item-icon{width:26px;height:26px;border-radius:2px;background:var(--brown);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;line-height:1}
.contact-item h3{margin:0 0 2px;font-size:14px;color:#111;font-weight:600}
.contact-item p{margin:0;color:#49606a;line-height:1.45;font-size:13px}
.contact-form-wrap h2{font-size:18px;margin:0 0 15px;color:var(--brown);font-weight:600}
.contact-form{display:grid;gap:12px}
.contact-form label{display:grid;gap:4px;font-size:9px;color:#222;font-weight:500}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #aeb8be;border-radius:3px;background:#fff;padding:8px 10px;font:13px 'Poppins',sans-serif;color:#444;outline:none;box-shadow:0 2px 5px rgba(0,0,0,.08)}
.contact-form input{height:34px}.contact-form textarea{height:90px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--brown);box-shadow:0 0 0 2px rgba(90,38,25,.08)}
.contact-submit{height:36px;border:0;border-radius:3px;background:var(--brown-dark);color:#fff;font-size:12px;cursor:pointer;transition:.2s}
.contact-submit:hover{background:var(--brown)}
.contact-map{width:100%;max-width:none;height:445px;margin:0 auto;overflow:hidden}
.contact-map iframe{display:block;width:100%;height:100%;border:0}
.main-nav .active{color:#222;outline:none;border:0;box-shadow:none}
@media(max-width:800px){.contact-section{padding-top:38px}.contact-heading h1{font-size:28px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-map{height:380px}.contact-container{width:calc(100% - 32px)}}

/* =========================================================
   CONTACTO v25 — escala tipográfica alineada con Nosotros
   ========================================================= */
@media (min-width: 801px){
  .contact-heading span{font-size:16px;}
  .contact-heading h1{font-size:48px;line-height:1.12;}
  .contact-info,.contact-form-wrap{font-size:18px;}
  .contact-intro{font-size:18px;line-height:1.65;}
  .contact-item{grid-template-columns:36px 1fr;gap:14px;margin-bottom:18px;}
  .contact-item-icon{width:34px;height:34px;font-size:19px;}
  .contact-item h3{font-size:18px;margin-bottom:3px;}
  .contact-item p{font-size:18px;line-height:1.5;}
  .contact-form-wrap h2{font-size:26px;line-height:1.3;margin-bottom:20px;}
  .contact-form{gap:16px;}
  .contact-form label{font-size:14px;gap:6px;}
  .contact-form input,.contact-form textarea{font-size:18px;padding:11px 13px;}
  .contact-form input{height:48px;}
  .contact-form textarea{height:125px;}
  .contact-submit{height:48px;font-size:17px;}
}


/* ===== Formulario de contacto v27 ===== */
.contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.contact-form-status{min-height:24px;margin-top:12px;font-size:16px;line-height:1.4;text-align:center}
.contact-form-status.is-success{color:#2f7d32}
.contact-form-status.is-error{color:#b42318}
.contact-submit[disabled]{opacity:.65;cursor:not-allowed}

/* =========================================================
   DETALLE DE PROYECTO - RESIDENCIAL GIANNA v28
   ========================================================= */
.property-detail-page{background:#fff;padding:46px 0 64px;}
.property-detail-container{max-width:1234px;width:calc(100% - 48px);margin:0 auto;}
.property-detail-grid{display:grid;grid-template-columns:minmax(0,820px) 330px;gap:58px;align-items:start;}
.property-detail-heading{margin-bottom:18px;}
.property-detail-heading .badge{display:inline-flex;margin-bottom:8px;font-size:14px;padding:5px 13px;border-radius:999px;}
.property-detail-heading h1{margin:0;color:var(--brown);font-size:32px;line-height:1.1;font-weight:600;}
.property-detail-heading p{margin:4px 0 0;color:#4c616b;font-size:16px;}
.property-detail-hero{display:block;width:100%;aspect-ratio:1.34/1;object-fit:cover;border-radius:3px;}
.property-detail-meta{display:flex;gap:28px;align-items:center;padding:18px 0;font-size:15px;color:#52626a;}
.property-detail-section{margin:0 0 22px;}
.property-detail-section h2{margin:0 0 12px;background:var(--brown);color:#fff;font-size:15px;font-weight:500;line-height:1;padding:8px 14px;border-radius:4px;}
.property-detail-section p{font-size:15px;line-height:1.65;color:#27343a;margin:0;}
.property-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;}
.property-services-grid ul{list-style:none;margin:0;padding:0;}
.property-services-grid li{position:relative;padding:7px 0 7px 15px;font-size:15px;color:#41565f;line-height:1.35;}
.property-services-grid li:before{content:'•';position:absolute;left:0;color:var(--brown);}
.property-map{height:430px;overflow:hidden;border-radius:3px;}
.property-map iframe{width:100%;height:100%;border:0;display:block;}
.property-actions{display:flex;gap:14px;margin-top:18px;}
.property-action-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--brown-dark);color:#fff;text-decoration:none;border-radius:4px;padding:12px 17px;font-size:14px;transition:.2s ease;}
.property-action-btn:hover{background:var(--brown);transform:translateY(-1px);}
.property-sidebar{min-width:0;align-self:stretch;position:relative;}
.property-sidebar-sticky{position:sticky;top:105px;align-self:start;height:max-content;}
.property-price{font-size:30px;font-weight:600;color:#111;text-align:center;margin:42px 0 22px;}
.property-agent-card{border:1px solid #d7d7d7;background:#fff;padding:24px 20px 22px;box-shadow:0 8px 22px rgba(0,0,0,.04);}
.property-agent-head{display:flex;gap:15px;align-items:center;margin-bottom:24px;}
.property-agent-head img{width:88px;height:106px;object-fit:cover;object-position:center 22%;border-radius:8px;}
.property-agent-head strong{display:block;font-size:16px;line-height:1.25;color:#111;}
.property-agent-head span{display:block;font-size:13px;color:#777;margin-top:3px;}
.property-agent-form{display:grid;gap:14px;}
.property-agent-form input,.property-agent-form textarea{width:100%;border:1px solid #d5d5d5;border-radius:3px;padding:12px 13px;font:14px 'Poppins',sans-serif;color:#555;background:#fff;outline:none;}
.property-agent-form input{height:46px;}
.property-agent-form textarea{height:122px;resize:vertical;line-height:1.45;}
.property-agent-form input:focus,.property-agent-form textarea:focus{border-color:var(--brown);box-shadow:0 0 0 2px rgba(90,38,25,.06);}
.property-agent-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.property-agent-actions button,.property-agent-actions a{height:44px;border-radius:3px;font:14px 'Poppins',sans-serif;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;}
.property-agent-actions button{border:1px solid var(--brown-dark);background:var(--brown-dark);color:#fff;}
.property-agent-actions a{border:1px solid #8c7770;background:#fff;color:#4a2a22;}
.property-agent-actions button:hover{background:var(--brown);}
.property-agent-actions a:hover{border-color:var(--brown);color:var(--brown);}
@media(max-width:980px){
  .property-detail-grid{grid-template-columns:1fr;gap:28px;}
  .property-sidebar-sticky{position:static;}
  .property-price{text-align:left;margin:0 0 15px;}
  .property-agent-card{max-width:560px;}
}
@media(max-width:640px){
  .property-detail-page{padding-top:28px;}
  .property-detail-container{width:calc(100% - 30px);}
  .property-detail-heading h1{font-size:28px;}
  .property-detail-meta{gap:14px;flex-wrap:wrap;}
  .property-services-grid{grid-template-columns:1fr;gap:0;}
  .property-map{height:330px;}
  .property-actions{flex-wrap:wrap;}
  .property-agent-head img{width:74px;height:90px;}
}


/* Residencial Gianna: mensaje fijo no editable */
.property-agent-form textarea[readonly]{
  background:#fff;
  cursor:default;
  resize:none;
}
.property-agent-actions button.property-chat-btn{
  background:#fff;
  color:#5b2a1d;
  border:1px solid #5b2a1d;
}
.property-agent-actions button.property-chat-btn:hover{
  background:#5b2a1d;
  color:#fff;
}

/* =========================================================
   LIBRO DE RECLAMACIONES - Segian v37
   ========================================================= */
.claims-page{background:#fff;}
.claims-section{padding:58px 0 70px;}
.claims-container{max-width:1234px;width:calc(100% - 48px);margin:0 auto;}
.claims-heading{text-align:center;max-width:900px;margin:0 auto 36px;}
.claims-heading>span{display:block;color:#183946;font-size:14px;font-weight:600;letter-spacing:.45px;margin-bottom:7px;}
.claims-heading h1{margin:0 0 14px;color:var(--brown);font-size:46px;line-height:1.12;font-weight:600;}
.claims-heading p{margin:0;color:#546873;font-size:18px;line-height:1.65;}
.claims-company-card{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#faf7f6;border:1px solid #eadeda;border-radius:8px;padding:22px 26px;margin-bottom:28px;}
.claims-company-card h2{margin:0 0 4px;color:var(--brown);font-size:22px;}
.claims-company-card p{margin:0;color:#53656f;font-size:16px;}
.claims-company-contact{display:flex;flex-direction:column;align-items:flex-end;gap:5px;}
.claims-company-contact a{color:#5c2c20;text-decoration:none;font-size:16px;}
.claims-form{display:grid;gap:22px;}
.claims-block{margin:0;border:1px solid #d8c4bd;border-radius:8px;padding:28px 28px 30px;background:#fff;}
.claims-block legend{padding:0 12px;color:var(--brown);font-weight:600;font-size:21px;}
.claims-block legend span{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:var(--brown);color:#fff;margin-right:8px;font-size:16px;}
.claims-grid{display:grid;gap:18px 22px;}
.claims-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr));}
.claims-form label{display:grid;gap:7px;color:#27343a;font-size:16px;font-weight:500;}
.claims-form label small{font-size:12px;font-weight:400;color:#7b878d;}
.claims-form input[type="text"],.claims-form input[type="email"],.claims-form input[type="tel"],.claims-form select,.claims-form textarea{width:100%;border:1px solid #b9c2c7;border-radius:5px;background:#fff;color:#3f4f56;font:16px 'Poppins',sans-serif;padding:11px 13px;outline:none;transition:.2s ease;}
.claims-form input[type="text"],.claims-form input[type="email"],.claims-form input[type="tel"],.claims-form select{height:48px;}
.claims-form textarea{min-height:118px;resize:vertical;line-height:1.5;}
.claims-form input:focus,.claims-form select:focus,.claims-form textarea:focus{border-color:var(--brown);box-shadow:0 0 0 3px rgba(90,38,25,.08);}
.claims-choice-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.claims-choice-row.compact{margin-bottom:0;}
.choice-card{display:flex!important;align-items:center;gap:10px!important;border:1px solid #c9b2aa;border-radius:6px;padding:12px 18px;cursor:pointer;font-weight:500!important;min-width:140px;transition:.2s ease;}
.choice-card:hover{border-color:var(--brown);background:#fbf6f4;}
.choice-card input{accent-color:var(--brown);width:18px;height:18px;}
.claims-textareas textarea{min-height:160px;}
.claims-note{margin:0;color:#52646d;font-size:16px;line-height:1.65;}
.claims-consents{border-top:1px solid #e6dedb;padding-top:5px;}
.claims-consents p{margin:7px 0;color:#65747b;font-size:14px;line-height:1.55;}
.claims-check{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;margin-bottom:12px;font-weight:400!important;}
.claims-check input{margin-top:4px;width:18px;height:18px;accent-color:var(--brown);flex:0 0 18px;}
.claims-submit{width:100%;height:54px;border:0;border-radius:5px;background:var(--brown-dark);color:#fff;font:600 17px 'Poppins',sans-serif;cursor:pointer;transition:.2s ease;}
.claims-submit:hover{background:var(--brown);transform:translateY(-1px);}
.claims-submit[disabled]{opacity:.65;cursor:not-allowed;transform:none;}
.claims-form-status{min-height:24px;text-align:center;font-size:16px;}
.claims-form-status.is-success{color:#2f7d32;}.claims-form-status.is-error{color:#b42318;}
.claims-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
@media(max-width:800px){
  .claims-section{padding:38px 0 50px}.claims-container{width:calc(100% - 30px)}
  .claims-heading h1{font-size:34px}.claims-heading p{font-size:16px}.claims-company-card{align-items:flex-start;flex-direction:column}.claims-company-contact{align-items:flex-start}
  .claims-grid.two-cols{grid-template-columns:1fr}.claims-block{padding:22px 18px 24px}.claims-block legend{font-size:18px;line-height:1.3}.claims-form label{font-size:15px}.claims-choice-row{gap:10px}.choice-card{min-width:120px}
}
