/* Studio Anna Beauty — resultados e videos institucionais. 
   Escopo exclusivo .anna-*, mantendo blog e painel isolados. */
.anna-media-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-bottom:35px; }
.anna-media-heading > div { max-width:830px; }
.anna-media-heading .anna-script-heading { margin:12px 0 16px; font-size:clamp(68px,7.5vw,110px)!important; line-height:.95!important; }
.anna-media-heading p { font-size:17px; line-height:1.7; color:#76545e; margin:0; }
.anna-treatment-photo img { object-fit:contain!important; background:#f9e2e6; }

/* Filmes: miniaturas leves, apenas carregam o vídeo quando o usuário solicitar */
.anna-video-process { padding:95px 0 108px; background:#fff9fa; }
.anna-video-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.anna-video-card { min-width:0; overflow:hidden; background:#fff; border:1px solid #edd4dc; border-radius:15px; box-shadow:0 14px 32px #6b3f5410; }
.anna-video-frame { background:#e2aebc; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.anna-video-frame video { display:block; width:100%; aspect-ratio:9/16; max-height:450px; object-fit:cover; background:#c98d9b; cursor:pointer; }
.anna-video-body { padding:25px 22px 30px; }
.anna-video-body h3 { font:700 20px/1.32 'DM Sans',sans-serif; color:#453039; margin:0 0 12px; }
.anna-video-body p { font:400 15px/1.7 'DM Sans',sans-serif; color:#785e68; margin:0; }

/* Portfólio real: antes e depois preservados integralmente nas imagens */
.anna-portfolio { background:linear-gradient(180deg,#f6e7eb,#fff8f9); padding:90px 0 105px; }
.anna-portfolio-filters { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:30px; }
.anna-portfolio-filters button { border:1px solid #d4a8b4; color:#8c5061; background:#fffafb; border-radius:100px; font:700 14px/1.2 'DM Sans',sans-serif; min-height:45px; padding:12px 21px; transition:background .2s,color .2s,border .2s; }
.anna-portfolio-filters button:hover,.anna-portfolio-filters button.is-active { border-color:#a95f73; color:#fff; background:#a95f73; }
.anna-portfolio-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.anna-portfolio-card { min-width:0; margin:0; border-radius:13px; background:#fff; border:1px solid #ead0d7; overflow:hidden; box-shadow:0 7px 22px #81495b0d; }
.anna-portfolio-card[hidden] { display:none!important; }
.anna-portfolio-card > a { display:grid; place-items:center; position:relative; aspect-ratio:1.12; overflow:hidden; background:#f7e4e9; }
.anna-portfolio-card img { width:100%; height:100%; object-fit:contain; display:block; transition:transform .4s; }
.anna-portfolio-card a:hover img { transform:scale(1.035); }
.anna-portfolio-zoom { position:absolute; bottom:14px; right:14px; background:#ffffffed; color:#96556a; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; font-size:18px; }
.anna-portfolio-card figcaption { display:grid; gap:7px; padding:19px 20px 22px; }
.anna-portfolio-card figcaption span { font-size:11px; letter-spacing:.12em; font-weight:700; color:#a96275; }
.anna-portfolio-card figcaption strong { font:700 18px/1.35 'DM Sans',sans-serif; color:#423038; }

/* Apresentação institucional antes dos cursos */
.anna-studio-intro { background:#fff1f3; padding:90px 0; }
.anna-studio-intro-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:clamp(45px,8vw,130px); max-width:1160px; }
.anna-studio-intro-copy { max-width:600px; }
.anna-studio-intro-copy h2 { margin:18px 0 24px; font-size:clamp(80px,7vw,108px)!important; }
.anna-studio-intro-copy p { font-size:19px; line-height:1.8; color:#684852; max-width:550px; margin:0 0 32px; }
.anna-studio-intro-frame { width:min(100%,310px); justify-self:center; border:7px solid #fff; border-radius:17px; overflow:hidden; box-shadow:0 16px 44px #4d2a3a28; }
.anna-studio-intro-frame video { display:block; width:100%; aspect-ratio:9/16; height:auto; background:#c58e9a; object-fit:cover; }

@media (max-width:1100px) {
  .anna-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:850px; margin-inline:auto; }
  .anna-video-frame video { max-height:510px; }
  .anna-portfolio-grid { gap:18px; }
  .anna-portfolio-card figcaption strong { font-size:16px; }
  .anna-studio-intro-grid { gap:42px; }
}
@media (max-width:700px) {
  .anna-media-heading { margin-bottom:28px; }
  .anna-media-heading .anna-script-heading { font-size:clamp(61px,12.4vw,83px)!important; }
  .anna-media-heading p { font-size:16px; }
  .anna-video-process { padding:70px 0 80px; }
  .anna-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .anna-video-frame video { max-height:390px; }
  .anna-video-body { padding:17px 13px 22px; }
  .anna-video-body h3 { font-size:16px; }
  .anna-video-body p { font-size:13px; line-height:1.55; }
  .anna-portfolio { padding:65px 0 76px; }
  .anna-portfolio-filters { gap:8px; }
  .anna-portfolio-filters button { font-size:13px; padding:11px 14px; min-height:42px; }
  .anna-portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
  .anna-portfolio-card > a { aspect-ratio:1; }
  .anna-portfolio-card figcaption { padding:15px 12px; }
  .anna-portfolio-card figcaption span { font-size:10px; letter-spacing:.06em; }
  .anna-portfolio-card figcaption strong { font-size:14px; }
  .anna-studio-intro { padding:70px 0; }
  .anna-studio-intro-grid { grid-template-columns:1fr; gap:28px; }
  .anna-studio-intro-copy h2 { font-size:clamp(67px,13vw,91px)!important; }
  .anna-studio-intro-copy p { font-size:16px; }
  .anna-studio-intro-frame { width:min(100%,300px); }
}
@media (max-width:430px) {
  .anna-video-grid { grid-template-columns:1fr; max-width:350px; }
  .anna-video-frame video { max-height:520px; }
  .anna-video-body { padding:22px; }
  .anna-video-body h3 { font-size:21px; }
  .anna-video-body p { font-size:15px; }
  .anna-portfolio-grid { grid-template-columns:1fr; max-width:430px; }
  .anna-portfolio-card > a { aspect-ratio:1.1; }
  .anna-portfolio-card figcaption { padding:16px 20px 22px; }
  .anna-portfolio-card figcaption strong { font-size:18px; }
}
@media (prefers-reduced-motion: reduce) {
  .anna-portfolio-card img { transition:none; }
}


/* Resultados — full bleed responsivo (tela inteira).
   A montagem original é preservada inteira, sem cortes ou rolagem horizontal. */
.anna-home .anna-results {
  width: 100%;
  padding: clamp(48px, 5.5vw, 92px) 0 clamp(45px, 5vw, 85px);
  overflow: hidden;
}
.anna-home .anna-results .anna-results-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0 auto;
}
.anna-home .anna-results #anna-results-title {
  width: min(95%, 980px);
  max-width: 980px;
  margin: 0 auto clamp(24px, 3vw, 46px);
  text-align: center;
  font-size: clamp(62px, 6.6vw, 110px) !important;
  line-height: .97 !important;
}
.anna-home .anna-results .anna-results-collage {
  display: block;
  width: 100%;
  max-width: none;
  max-height: none;
  height: auto;
  margin: 0;
  padding: 0;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 700px) {
  .anna-home .anna-results {
    padding: 52px 0 48px;
  }
  .anna-home .anna-results #anna-results-title {
    width: calc(100% - 32px);
    font-size: clamp(48px, 10.5vw, 72px) !important;
    line-height: 1.02 !important;
    margin-bottom: 22px;
  }
  .anna-home .anna-results .anna-results-inner,
  .anna-home .anna-results .anna-results-collage {
    width: 100%;
    max-width: none;
  }
}
@media (max-width: 390px) {
  .anna-home .anna-results #anna-results-title {
    font-size: clamp(46px, 10vw, 56px) !important;
  }
}


/* Resultados reais: três comparativos distintos, sem montagem duplicada.
   Imagens inteiras e cards que ocupam a largura útil do viewport. */
.anna-home .anna-results .anna-results-inner {
  width: 100%;
  max-width: none;
}
.anna-home .anna-results .anna-results-description {
  width: min(800px, calc(100% - 36px));
  margin: -8px auto 38px;
  text-align: center;
  color: #795562;
  font: 400 clamp(15px, 1.1vw, 18px)/1.7 'DM Sans', sans-serif;
}
.anna-home .anna-results .anna-results-gallery {
  box-sizing: border-box;
  display: grid;
  width: 100%;
  max-width: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 25px);
  padding-inline: clamp(14px, 2.2vw, 40px);
  margin: 0 auto;
}
.anna-home .anna-results .anna-results-card {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #edd8dc;
  border-radius: clamp(10px, .95vw, 16px);
  box-shadow: 0 14px 38px #6a354d15;
}
.anna-home .anna-results .anna-results-card > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #f7eaed;
  overflow: hidden;
}
.anna-home .anna-results .anna-results-card img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
  transition: transform .3s ease;
}
.anna-home .anna-results .anna-results-card > a:hover img {
  transform: scale(1.025);
}
.anna-home .anna-results .anna-results-card figcaption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 6px 20px;
  padding: 21px clamp(15px, 1.5vw, 26px) 23px;
  color: #4e303d;
}
.anna-home .anna-results .anna-results-card figcaption span {
  color: #a56176;
  font: 700 12px/1.4 'DM Sans', sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.anna-home .anna-results .anna-results-card figcaption strong {
  font: 600 clamp(15px, 1.13vw, 18px)/1.4 'DM Sans', sans-serif;
}
@media (max-width: 950px) {
  .anna-home .anna-results .anna-results-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-inline: clamp(16px, 3vw, 28px);
  }
  .anna-home .anna-results .anna-results-card:last-child {
    grid-column: 1 / -1;
    width: min(100%, 560px);
    justify-self: center;
  }
}
@media (max-width: 600px) {
  .anna-home .anna-results .anna-results-description {
    margin-top: 0;
    margin-bottom: 25px;
    font-size: 15px;
  }
  .anna-home .anna-results .anna-results-gallery {
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 16px;
    gap: 19px;
  }
  .anna-home .anna-results .anna-results-card:last-child {
    grid-column: auto;
    width: 100%;
  }
  .anna-home .anna-results .anna-results-card figcaption {
    padding: 16px 17px 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .anna-home .anna-results .anna-results-card img { transition: none; }
}


/* Home / Blog: até três artigos publicados diretamente no banco MySQL. */
.anna-home .anna-home-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.1vw, 30px);
  width: 100%;
  margin: 0 auto;
}
.anna-home .anna-home-blog-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 13px;
  border: 1px solid #e8cbd3;
  background: #fffafb;
  box-shadow: 0 12px 30px #7946560d;
}
.anna-home .anna-home-blog-image {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eedfe4;
}
.anna-home .anna-home-blog-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
.anna-home .anna-home-blog-image:hover img { transform: scale(1.035); }
.anna-home .anna-home-blog-image-fallback { background: #f8f0f2; }
.anna-home .anna-home-blog-image-fallback img { object-fit: contain; padding: 36px; }
.anna-home .anna-home-blog-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(22px, 2vw, 29px);
}
.anna-home .anna-home-blog-category {
  color: #a55c72;
  font: 700 12px/1.4 'DM Sans', sans-serif;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.anna-home .anna-home-blog-body h3 {
  margin: 12px 0 14px;
  font-family: Georgia, serif;
  font-size: clamp(23px, 2vw, 30px);
  font-weight: 500;
  line-height: 1.2;
  color: #422a35;
}
.anna-home .anna-home-blog-body h3 a { color: inherit; text-decoration: none; }
.anna-home .anna-home-blog-body h3 a:hover,
.anna-home .anna-home-blog-body h3 a:focus-visible { color: #a05169; }
.anna-home .anna-home-blog-body p {
  margin: 0 0 22px;
  color: #6b4f5b;
  font: 400 16px/1.65 'DM Sans', sans-serif;
  overflow-wrap: anywhere;
}
.anna-home .anna-home-blog-read {
  margin-top: auto;
  padding-top: 2px;
  color: #98536a;
  font: 700 15px/1.45 'DM Sans', sans-serif;
  text-decoration: none;
}
.anna-home .anna-home-blog-read:hover,
.anna-home .anna-home-blog-read:focus-visible {
  color: #713849;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 980px) {
  .anna-home .anna-home-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .anna-home .anna-home-blog-body h3 { font-size: 26px; }
}
@media (max-width: 650px) {
  .anna-home .anna-home-blog-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .anna-home .anna-home-blog-body { padding: 22px; }
  .anna-home .anna-home-blog-body h3 { font-size: 26px; }
  .anna-home .anna-home-blog-body p { font-size: 15px; }
  .anna-home .anna-home-blog-image { aspect-ratio: 16 / 10; }
}
@media (prefers-reduced-motion: reduce) {
  .anna-home .anna-home-blog-image img { transition: none; }
}
