/* Demo: Instagram answers "what is here"; Reviews answers "can I trust the visit". */
:is(.social-proof-flow-demo,.social-proof-flow) .instagram-section{
  padding-bottom:54px;
}

:is(.social-proof-flow-demo,.social-proof-flow) .instagram-grid img{
  filter:saturate(.68) contrast(1.01);
}

:is(.social-proof-flow-demo,.social-proof-flow) .reviews-section{
  padding-block:68px;
  grid-template-columns:minmax(300px,.78fr) minmax(520px,1.22fr);
  gap:6vw;
  background:#dedbd2;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-slider{
  border:0;
  background:transparent;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-track{
  min-height:330px;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-slide{
  grid-template-columns:1fr;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-portrait{
  display:none;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-card{
  min-height:330px;
  padding:34px 40px 30px;
  background:#2f2e29;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-card blockquote{
  max-width:26ch;
  font-size:clamp(23px,2.25vw,34px);
  line-height:1.24;
  text-transform:none;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-controls{
  min-height:56px;
  padding-inline:0;
  border-top:0;
}

@media(max-width:900px){
  :is(.social-proof-flow-demo,.social-proof-flow) .instagram-section{
    padding-bottom:46px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .instagram-grid a:nth-child(n+5){
    display:none;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-section{
    padding-block:54px;
    grid-template-columns:1fr;
    gap:22px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-track,
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card{
    min-height:310px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-card{
    padding:27px 24px 24px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-card blockquote{
    font-size:clamp(21px,6.2vw,27px);
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy>p:not(.section-label){
    display:none;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating,
  :is(.social-proof-flow-demo,.social-proof-flow) .review-actions{
    margin-top:18px;
  }
}

/* Desktop reviews: one compact editorial proof panel. */
@media(min-width:901px){
  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-section{
    width:calc(100% - 12vw);
    max-width:1320px;
    min-height:0;
    margin:92px auto;
    padding:0;
    display:grid;
    grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);
    gap:0;
    overflow:hidden;
    border:1px solid rgba(36,35,31,.2);
    background:#ece8df;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy{
    min-height:470px;
    padding:52px 4vw;
    justify-content:center;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy h2{
    max-width:11ch;
    margin:17px 0 20px;
    font-size:clamp(38px,3.5vw,54px);
    line-height:1.04;
    text-wrap:balance;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy>p:not(.section-label){
    max-width:36ch;
    font-size:14px;
    line-height:1.65;
    color:rgba(36,35,31,.66);
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating{
    margin-top:26px;
    display:block;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating span{font-size:12px;letter-spacing:.14em}
  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating small{display:block;margin-top:8px}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-actions{margin-top:26px}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-slider{
    min-height:470px;
    border:0;
    border-left:1px solid rgba(36,35,31,.2);
    background:#f7f5f0;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .review-track,
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card{min-height:404px}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card{
    padding:48px clamp(34px,4vw,64px) 34px;
    justify-content:center;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card blockquote{
    max-width:27ch;
    font-size:clamp(25px,2.25vw,35px);
    line-height:1.27;
    letter-spacing:-.025em;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card footer{margin-top:30px}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-controls{min-height:66px;padding:0 clamp(24px,3vw,46px)}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-controls>a{display:none}
}

/* Reviews read like one editorial proof block, not two stacked widgets. */
:is(.social-proof-flow-demo,.social-proof-flow) .reviews-section{
  align-items:stretch;
  gap:0;
  padding:0 6vw;
  background:#f2efe8;
  border-top:1px solid rgba(24,24,22,.22);
  border-bottom:1px solid rgba(24,24,22,.22);
}

:is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:70px 6vw 70px 0;
}

:is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy h2{
  max-width:10ch;
}

:is(.social-proof-flow-demo,.social-proof-flow) .google-rating{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:18px;
  align-items:end;
  width:max-content;
  margin-top:34px;
}

:is(.social-proof-flow-demo,.social-proof-flow) .google-rating strong{
  grid-row:1/3;
  font:400 clamp(48px,4.2vw,66px)/.88 var(--display);
  letter-spacing:-.055em;
}

:is(.social-proof-flow-demo,.social-proof-flow) .google-rating span{
  align-self:end;
  padding-bottom:3px;
  color:#8e887c;
  font-size:13px;
  letter-spacing:.16em;
}

:is(.social-proof-flow-demo,.social-proof-flow) .google-rating small{
  color:rgba(24,24,22,.56);
  font:600 9px/1.4 var(--sans);
  letter-spacing:.08em;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-actions .button{
  min-width:0;
  padding:13px 17px;
  border:1px solid rgba(24,24,22,.42);
  background:transparent;
  color:var(--ink);
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-slider{
  display:grid;
  grid-template-rows:1fr auto;
  border:0;
  border-left:1px solid rgba(24,24,22,.22);
  border-radius:0;
  box-shadow:none;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-card{
  justify-content:center;
  min-height:330px;
  padding:70px 4vw 44px;
  background:transparent;
  color:var(--ink);
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-demo{
  color:rgba(24,24,22,.52);
  opacity:1;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-stars{
  margin:22px 0 18px;
  color:#8e887c;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-card blockquote{
  max-width:24ch;
  color:var(--ink);
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-card footer{
  margin-top:34px;
  padding-top:18px;
  border-top:1px solid rgba(24,24,22,.22);
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-card footer span{
  color:rgba(24,24,22,.55);
  opacity:1;
}

:is(.social-proof-flow-demo,.social-proof-flow) .review-controls{
  min-height:62px;
  border-top:1px solid rgba(24,24,22,.18);
}

@media(max-width:900px){
  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-section{
    padding:0 20px;
    gap:0;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy{
    padding:40px 0 12px;
    border:0;
    background:transparent;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy h2{
    max-width:11ch;
    margin:12px 0 0;
    font-size:clamp(31px,8.5vw,36px);
    line-height:1.12;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating{
    margin-top:20px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating strong{
    font-size:50px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-actions{
    display:none;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-actions .button{
    width:auto;
    align-self:flex-start;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-track,
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card{
    min-height:338px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-slider{
    border-left:0;
    border-top:0;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-slide{
    grid-template-rows:1fr;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-card{
    justify-content:flex-start;
    padding:12px 4px 20px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-demo,
  :is(.social-proof-flow-demo,.social-proof-flow) .review-stars{
    display:none;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-card blockquote{
    max-width:none;
    font-size:clamp(23px,6.8vw,29px);
    line-height:1.28;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-card footer{
    margin-top:auto;
    padding-top:15px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-controls{
    min-height:64px;
    padding:0;
    border-top-color:rgba(24,24,22,.22);
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-controls>a{
    font-size:10px;
    text-decoration:none;
    border-bottom:1px solid currentColor;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-controls>a span{
    display:inline;
  }
}

/* Mobile reviews: readable evidence, not another oversized campaign headline. */
@media(max-width:900px){
  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy{
    padding:34px 0 10px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy h2{
    max-width:13ch;
    margin-top:10px;
    font-size:clamp(29px,7.6vw,34px);
    line-height:1.12;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating{
    grid-template-columns:auto auto;
    column-gap:14px;
    margin-top:17px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating strong{
    font-size:42px;
    line-height:.92;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating span{
    font-size:11px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating small{
    font-size:9px;
    letter-spacing:.065em;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-track,
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card{
    min-height:280px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-card{
    padding:22px 4px 18px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-card blockquote{
    max-width:29ch;
    font-size:clamp(19px,5vw,22px);
    line-height:1.42;
    letter-spacing:-.012em;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .review-card footer{
    margin-top:26px;
  }
}

/* Compact Instagram shelf: small post-shaped cards instead of another large gallery. */
:is(.social-proof-flow-demo,.social-proof-flow) .instagram-grid{
  width:min(100%,1280px);
  margin:0 auto;
  padding:0 6vw;
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:3px;
  border:0;
  background:transparent;
}

:is(.social-proof-flow-demo,.social-proof-flow) .instagram-grid a{
  aspect-ratio:1;
  padding:0;
  border:0;
  background:#d8d4ca;
}

:is(.social-proof-flow-demo,.social-proof-flow) .instagram-grid a:before{
  display:none;
}

:is(.social-proof-flow-demo,.social-proof-flow) .instagram-grid span{
  display:none;
}

@media(max-width:900px){
  :is(.social-proof-flow-demo,.social-proof-flow) .instagram-section{
    padding-bottom:38px;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .instagram-grid{
    width:100%;
    margin:0;
    padding:0 20px 8px;
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:132px;
    grid-template-columns:none;
    gap:3px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .instagram-grid::-webkit-scrollbar{
    display:none;
  }

  :is(.social-proof-flow-demo,.social-proof-flow) .instagram-grid a,
  :is(.social-proof-flow-demo,.social-proof-flow) .instagram-grid a:nth-child(n+5){
    display:block;
    width:auto;
    scroll-snap-align:start;
  }
}

/* Final desktop review composition: compact, editorial, and visually unified. */
@media(min-width:901px){
  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-section{
    width:calc(100% - 12vw);
    max-width:1320px;
    min-height:0;
    margin:92px auto;
    padding:0;
    grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);
    gap:0;
    overflow:hidden;
    border:1px solid rgba(36,35,31,.2);
    background:#ece8df;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy{
    min-height:470px;
    padding:52px 4vw;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy h2{
    max-width:11ch;
    margin:17px 0 20px;
    font-size:clamp(38px,3.5vw,54px);
    line-height:1.04;
    text-wrap:balance;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .reviews-copy>p:not(.section-label){
    display:block;
    max-width:36ch;
    font-size:14px;
    line-height:1.65;
    color:rgba(36,35,31,.66);
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating{display:block;width:auto;margin-top:26px}
  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating span{font-size:12px;letter-spacing:.14em}
  :is(.social-proof-flow-demo,.social-proof-flow) .google-rating small{display:block;margin-top:8px}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-actions{margin-top:26px}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-slider{
    min-height:470px;
    border:0;
    border-left:1px solid rgba(36,35,31,.2);
    background:#f7f5f0;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .review-track,
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card{min-height:404px}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card{padding:48px clamp(34px,4vw,64px) 34px;justify-content:center}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card blockquote{
    max-width:27ch;
    font-size:clamp(25px,2.25vw,35px);
    line-height:1.27;
    letter-spacing:-.025em;
  }
  :is(.social-proof-flow-demo,.social-proof-flow) .review-card footer{margin-top:30px}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-controls{min-height:66px;padding:0 clamp(24px,3vw,46px)}
  :is(.social-proof-flow-demo,.social-proof-flow) .review-controls>a{display:none}
}
