/* CASA VIVERE · integration polish v1 · 2026-09-30 */
.vi-casa-page{
  --green:#1C3028;
  --ivory:#F2EDE4;
  --gold:#B8943F;
  --stone:#8C8275;
  background:#F2EDE4;
  color:#1C3028;
}
.vi-casa-page h1,
.vi-casa-page h2,
.vi-casa-page h3{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:300;
}
.vi-casa-page h1{
  font-family:"Cinzel",Georgia,serif;
  font-weight:400;
  letter-spacing:.08em;
}
.vi-casa-page p{color:#5f665f}
.vi-casa-page .eyebrow{
  font-family:"Cinzel",Georgia,serif;
  font-size:10px;
  letter-spacing:.22em;
  color:#B8943F;
}
body.vi-casa-page.vi-nav-ready>header.vi-casa-local{
  position:sticky!important;
  top:98px;
  z-index:99980;
  box-shadow:0 8px 24px rgba(28,48,40,.05);
}
.vi-casa-page .hero{
  min-height:680px;
  background:#EEE7DC;
}
.vi-casa-page .hero .copy{
  padding:clamp(60px,8vw,110px) clamp(32px,7vw,96px);
}
.vi-casa-page .hero h1{
  color:#1C3028;
  font-size:clamp(46px,6.5vw,96px);
  line-height:1.02;
}
.vi-casa-page .hero .lead{
  color:#1C3028;
  font-size:clamp(22px,2vw,29px);
  line-height:1.45;
}
.vi-casa-page .section{
  max-width:1260px;
  padding:clamp(68px,9vw,112px) clamp(24px,5vw,64px);
}
.vi-casa-page .section h2{
  color:#1C3028;
  font-size:clamp(34px,4.1vw,58px);
  line-height:1.08;
}
.vi-casa-page .principles{
  max-width:1260px;
  margin:0 auto;
  padding:48px clamp(24px,5vw,64px);
  gap:1px;
  border:0;
}
.vi-casa-page .principles>div{
  padding:26px 28px;
  border:1px solid rgba(28,48,40,.11);
  background:rgba(255,255,255,.22);
}
.vi-casa-page .principles h3{
  font-family:"Cinzel",Georgia,serif;
  color:#B8943F;
  font-size:11px;
  letter-spacing:.16em;
}
.vi-casa-page .button{
  border-radius:0;
  padding:14px 22px;
  font-family:"Cinzel",Georgia,serif;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  background:#1C3028;
  color:#F2EDE4;
  border-color:#1C3028;
}
.vi-casa-page .button:hover{
  background:#243D31;
  border-color:#243D31;
}
.vi-casa-page .button.outline{
  background:transparent;
  color:#1C3028;
  border-color:rgba(28,48,40,.38);
}
.vi-casa-page .button.outline:hover{
  background:rgba(28,48,40,.05);
  border-color:#1C3028;
}
.vi-casa-page .cards{gap:18px}
.vi-casa-page .card{
  border-radius:0;
  border:1px solid rgba(28,48,40,.12);
  background:rgba(255,255,255,.22);
  padding:30px;
}
.vi-casa-page .callout{
  background:#EAE3D8;
  border-left:2px solid #B8943F;
  padding:28px 30px;
}
.vi-casa-page .dark{
  background:#1C3028;
}
.vi-casa-page .dark p,
.vi-casa-page .dark figcaption{color:rgba(242,237,228,.68)}
.vi-casa-page .dark h2{color:#F2EDE4}
.vi-casa-page footer{
  background:#1C3028;
  color:rgba(242,237,228,.62);
  border:0;
  padding:34px clamp(24px,5vw,64px);
  font-family:"Cinzel",Georgia,serif;
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media(max-width:900px){
  body.vi-casa-page.vi-nav-ready>header.vi-casa-local{top:90px}
}
@media(max-width:760px){
  body.vi-casa-page.vi-nav-ready>header.vi-casa-local{top:90px}
  .vi-casa-page .hero{min-height:0}
  .vi-casa-page .hero img{height:420px}
}
/* Mobile end acceptance · Step 14 */
.vi-casa-page{
  overflow-x:hidden;
}
@media(max-width:760px){
  .vi-casa-page .section h1{
    font-size:clamp(34px,10.5vw,44px);
    line-height:1.08;
    letter-spacing:.045em;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .vi-casa-page .section,
  .vi-casa-page .callout{
    min-width:0;
    max-width:100%;
  }
  .vi-casa-page .section p,
  .vi-casa-page .callout p{
    overflow-wrap:anywhere;
  }
}
@media(max-width:420px){
  .stage-flag{
    font-size:9px;
    letter-spacing:.08em;
    padding-left:6px;
    padding-right:6px;
  }
}

/* Accessibility contrast polish · 2026-10-01 */
.vi-casa-page .eyebrow,
.vi-casa-page .principles h3{color:#73551E}
.vi-casa-page .phase small{color:#625B50}
