
  :root{
    --color-primary: #926D52;
    --color-primary-dark: #77543D;
    --color-primary-tint: #C9AF97;
    --color-bg: #E9DCC9;
    --color-bg-deep: #DED0B8;
    --color-white: #FFFFFF;
    --color-text: #221D18;
    --color-text-soft: #55493D;
    --radius-lg: 36px;
    --radius-md: 22px;
    --radius-full: 999px;
    --shadow-soft: 0 18px 40px rgba(63, 42, 22, 0.14);
    --shadow-card: 0 10px 28px rgba(63, 42, 22, 0.10);
    --container: 1140px;
    --font-serif: 'Fraunces', 'Georgia', serif;
    --font-sans: 'Work Sans', -apple-system, sans-serif;
  }

  *, *::before, *::after{ box-sizing: border-box; }
  html{ scroll-behavior: smooth; }
  body{
    margin: 0;
    font-family: var(--font-sans);
    color: var(--color-text);
    background: var(--color-bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }

  img{ max-width: 100%; display: block; }
  a{ color: inherit; }
  ul{ margin: 0; padding: 0; list-style: none; }
  h1, h2, h3{
    font-family: var(--font-serif);
    font-weight: 500;
    line-height: 1.15;
    margin: 0;
    color: var(--color-text);
  }
  p{ margin: 0; }

  /* Tipografia dos títulos: Playfair Display em itálico (apenas família/estilo, sem alterar cores). */
  h1, h2, h3, h4, h5, h6{
    font-family: 'Playfair Display', var(--font-serif), serif;
    font-style: italic;
  }

  :focus-visible{
    outline: 3px solid var(--color-primary-dark);
    outline-offset: 3px;
  }

  .container{
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 24px;
  }

  section{ padding: 72px 0; }

  /* ---------- Botões ---------- */
  .btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 17px 34px;
    border-radius: var(--radius-full);
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 1.02rem;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
    line-height: 1;
  }
  .btn-primary{
    background: #4F6B5E;
    color: var(--color-white);
    box-shadow: var(--shadow-soft);
  }
  .btn-primary:hover{
    background: #3E5548;
    transform: translateY(-2px);
  }
  .btn-outline{
    background: transparent;
    color: #4F6B5E;
    border: 1.5px solid #4F6B5E;
  }
  .btn-outline:hover{
    background: #4F6B5E;
    color: var(--color-white);
  }
  .btn svg{ width: 20px; height: 20px; flex-shrink: 0; }

  /* ---------- Header ---------- */
  .site-header{
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(233, 220, 201, 0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(146, 109, 82, 0.18);
  }
  .site-header .container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    padding-bottom: 16px;
  }
  .brand{
    font-family: var(--font-serif);
    font-size: 1.3rem;
    text-decoration: none;
    color: var(--color-text);
  }
  .brand span{ display: block; font-family: var(--font-sans); font-size: 0.68rem; color: var(--color-text-soft); font-weight: 500; }
  .main-nav{ display: none; }
  .main-nav ul{ display: flex; gap: 32px; }
  .main-nav a{
    text-decoration: none;
    font-weight: 500;
    font-size: 0.96rem;
    color: var(--color-text-soft);
  }
  .main-nav a:hover{ color: var(--color-primary-dark); }
  .header-cta{ display: none; }

  @media (min-width: 860px){
    .main-nav{ display: block; }
    .header-cta{ display: inline-flex; }
  }

  /* ---------- Hero ---------- */
  .hero{
    padding: 56px 0 80px;
  }
  .hero .container{
    display: grid;
    gap: 44px;
    align-items: center;
  }
  .hero-copy p.eyebrow-free-lead{
    font-size: 1.08rem;
    color: var(--color-text-soft);
    max-width: 46ch;
  }
  .hero h1{
    font-size: clamp(2.1rem, 5.2vw, 3.4rem);
    max-width: 15ch;
    margin-bottom: 22px;
  }
  .hero-copy{ display: flex; flex-direction: column; gap: 18px; }
  .hero-actions{ margin-top: 14px; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
  .hero-note{ font-size: 0.92rem; color: var(--color-text-soft); }

  .arch-frame{
    position: relative;
    border-radius: 230px 230px 28px 28px;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: linear-gradient(160deg, var(--color-primary-tint), var(--color-primary));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-soft);
  }
  .placeholder-label{
    color: rgba(255,255,255,0.92);
    font-family: var(--font-sans);
    font-size: 0.95rem;
    text-align: center;
    padding: 20px;
    border: 1.5px dashed rgba(255,255,255,0.65);
    border-radius: 18px;
  }

  @media (min-width: 860px){
    .hero .container{ grid-template-columns: 1.05fr 0.85fr; }
    .hero-media{ order: 2; }
    .hero-copy{ order: 1; }
  }

  .hero-photo{
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
    display: block;
    filter: drop-shadow(0 22px 30px rgba(63, 42, 22, 0.22));
  }

  /* ---------- Seções com fundo alternado ---------- */
  .section-white{ background: var(--color-white); }
  .section-deep{ background: var(--color-bg-deep); }

  .section-head{
    max-width: 60ch;
    margin: 0 auto 44px;
  }
  .section-head h2{
    font-size: clamp(1.6rem, 3.4vw, 2.2rem);
    margin-bottom: 14px;
  }
  .section-head p{
    color: var(--color-text-soft);
    font-size: 1.04rem;
  }
  .section-head.centered{ text-align: center; }

  /* ---------- Dores ---------- */
  .pain-grid{
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr;
    margin-bottom: 40px;
  }
  @media (min-width: 700px){
    .pain-grid{ grid-template-columns: 1fr 1fr; }
  }
  .pain-card{
    background: var(--color-white);
    border-radius: var(--radius-md);
    padding: 30px 28px;
    box-shadow: var(--shadow-card);
    display: flex;
    gap: 18px;
    align-items: flex-start;
  }
  .pain-card svg{
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    color: var(--color-primary);
  }
  .pain-card p{ font-size: 1.02rem; color: var(--color-text); }
  .block-cta{ text-align: center; }

  /* ---------- Abordagem ---------- */
  .approach{
    display: grid;
    gap: 40px;
    align-items: center;
  }
  @media (min-width: 900px){
    .approach{ grid-template-columns: 0.9fr 1.1fr; }
  }
  .approach-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0 22px;
  }
  .approach-tag{
    background: var(--color-bg-deep);
    color: var(--color-primary-dark);
    padding: 9px 18px;
    border-radius: var(--radius-full);
    font-size: 0.9rem;
    font-weight: 600;
  }
  .approach-copy p{ color: var(--color-text-soft); font-size: 1.04rem; margin-bottom: 16px; }
  .approach-copy p:last-child{ margin-bottom: 0; }
  .approach-quote{
    font-family: var(--font-serif);
    font-size: 1.35rem;
    color: var(--color-text);
    border-left: 3px solid var(--color-primary);
    padding-left: 22px;
    margin: 26px 0;
  }

  /* ---------- Transformação ---------- */
  .transform-list{
    display: grid;
    gap: 18px;
    max-width: 640px;
    margin: 0 auto;
  }
  .transform-item{
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 18px 0;
    border-bottom: 1px solid rgba(146, 109, 82, 0.2);
  }
  .transform-item:last-child{ border-bottom: none; }
  .transform-item svg{ width: 26px; height: 26px; color: var(--color-primary); flex-shrink: 0; margin-top: 2px; }
  .transform-item p{ font-size: 1.06rem; }

  /* ---------- Modalidades ---------- */
  .modalities-grid{
    display: grid;
    gap: 24px;
  }
  @media (min-width: 760px){
    .modalities-grid{ grid-template-columns: 1fr 1fr; }
  }
  .modality-card{
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: var(--radius-lg);
    padding: 40px 34px;
  }
  .modality-card.alt{ background: var(--color-text); }
  .modality-card svg{ width: 40px; height: 40px; margin-bottom: 18px; color: var(--color-bg); }
  .modality-card h3{ color: var(--color-white); font-size: 1.4rem; margin-bottom: 12px; }
  .modality-card p{ color: rgba(255,255,255,0.86); font-size: 1rem; }
  .modalities-cta{ text-align: center; margin-top: 40px; }

  /* ---------- Sobre resumo ---------- */
  .about-summary{
    display: grid;
    gap: 40px;
    align-items: center;
  }
  @media (min-width: 900px){
    .about-summary{ grid-template-columns: 0.7fr 1.3fr; }
  }
  .about-photo .arch-frame{ aspect-ratio: 4 / 5; border-radius: 180px 180px 20px 20px; }
  .crp-badge{
    display: inline-block;
    background: var(--color-bg-deep);
    color: var(--color-primary-dark);
    padding: 8px 16px;
    border-radius: var(--radius-full);
    font-size: 0.85rem;
    font-weight: 600;
    margin: 14px 0 18px;
  }
  .about-copy p{ color: var(--color-text-soft); font-size: 1.05rem; margin-bottom: 22px; }

  /* ---------- Depoimentos (prova social) ---------- */
  .testimonial-scroll{
    display: flex;
    gap: 24px;
    margin-top: 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    scrollbar-width: none;
  }
  .testimonial-scroll::-webkit-scrollbar{ display: none; }
  .testimonial-card{
    background: var(--color-white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
    padding: 32px 28px;
    flex: 0 0 82%;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .testimonial-stars{ color: var(--color-primary); font-size: 1.1rem; letter-spacing: 2px; }
  .testimonial-card p{ font-size: 1rem; line-height: 1.75; color: var(--color-text-soft); margin: 0; flex: 1; }
  .testimonial-author{ font-family: var(--font-serif); font-style: italic; font-weight: 600; color: var(--color-primary-dark); }
  @media (min-width: 620px){
    .testimonial-card{ flex-basis: 46%; }
  }
  @media (min-width: 900px){
    .testimonial-scroll{ overflow-x: visible; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .testimonial-card{ flex-basis: auto; }
  }

  /* ---------- Google Meu Negócio ---------- */
  .map-section{
    display: grid;
    gap: 32px;
    align-items: center;
  }
  @media (min-width: 900px){
    .map-section{ grid-template-columns: 0.85fr 1.15fr; }
  }
  .map-info h2{ font-size: clamp(1.5rem, 3.2vw, 2rem); margin-bottom: 14px; }
  .map-info p{ color: var(--color-text-soft); font-size: 1.02rem; margin-bottom: 22px; }
  .map-address{
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: var(--color-bg-deep);
    border-radius: var(--radius-md);
    padding: 20px 24px;
    margin-bottom: 24px;
  }
  .map-address strong{ font-size: 1.02rem; }
  .map-address span{ color: var(--color-text-soft); font-size: 0.96rem; }
  .map-embed{
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-soft);
    line-height: 0;
  }
  .map-embed iframe{
    width: 100%;
    height: 360px;
    border: 0;
    display: block;
  }

  /* ---------- Footer ---------- */
  footer{
    background: var(--color-text);
    color: rgba(255,255,255,0.86);
    padding: 64px 0 28px;
  }
  .footer-grid{
    display: grid;
    gap: 44px;
    margin-bottom: 48px;
  }
  @media (min-width: 760px){
    .footer-grid{ grid-template-columns: 1fr 1.2fr; gap: 64px; align-items: start; }
  }
  footer h3{ color: var(--color-white); font-size: 1.05rem; margin-bottom: 16px; }
  .footer-brand p{ color: rgba(255,255,255,0.7); font-size: 0.95rem; margin-top: 10px; }
  footer ul li{ margin-bottom: 10px; }
  footer a{ text-decoration: none; color: rgba(255,255,255,0.78); font-size: 0.95rem; }
  footer a:hover{ color: var(--color-white); }

  .faq-item{ border-bottom: 1px solid rgba(255,255,255,0.14); padding: 4px 0; }
  .faq-item summary{
    cursor: pointer;
    padding: 12px 0;
    font-weight: 600;
    font-size: 0.98rem;
    color: var(--color-white);
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
  }
  .faq-item summary::-webkit-details-marker{ display: none; }
  .faq-item summary::after{
    content: '+';
    font-size: 1.3rem;
    color: var(--color-bg);
    flex-shrink: 0;
  }
  .faq-item[open] summary::after{ content: '–'; }
  .faq-item p{ padding-bottom: 16px; color: rgba(255,255,255,0.72); font-size: 0.93rem; max-width: 46ch; }

  .footer-bottom{
    border-top: 1px solid rgba(255,255,255,0.14);
    padding-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.6);
  }
  .footer-bottom a{ color: rgba(255,255,255,0.6); }

  /* ---------- WhatsApp flutuante ---------- */
  .whatsapp-float{
    position: fixed;
    bottom: 22px;
    right: 22px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #25D366;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 26px rgba(0,0,0,0.25);
    z-index: 50;
    transition: transform 0.18s ease;
  }
  .whatsapp-float:hover{ transform: scale(1.06); }
  .whatsapp-float svg{ width: 30px; height: 30px; color: var(--color-white); }

  @media (prefers-reduced-motion: reduce){
    *{ animation: none !important; transition: none !important; }
    html{ scroll-behavior: auto; }
  }

/* Ajustes de navegação e leitura em telas menores. */
section[id] { scroll-margin-top: 110px; }
.brand span { font-size: .75rem; }
.btn { max-width:100%; line-height:1.35; text-align:center; }
.about-photo img { object-position:50% 30%; }
.approach { grid-template-columns:1fr; max-width:820px; }
@media(max-width:859px){
 .site-header .container{flex-wrap:wrap;gap:12px;}
 .main-nav{display:block;}
 .main-nav ul{gap:18px;}
 .main-nav a{font-size:.875rem;}
 .hero{padding-top:32px;}
 .hero-photo{max-width:380px;}
 .footer-bottom{padding-right:62px;}
}

.hero-photo{height:auto;}
#sobre-mim,#sobre-a-sessao{scroll-margin-top:130px;}

/* Redes sociais, página da sessão e adaptação entre dispositivos. */
.container > *, .footer-grid > *, .pain-card > *, .about-summary > * { min-width: 0; }
p, a, h1, h2, h3, .crp-badge { overflow-wrap: break-word; }
.main-nav ul { flex-wrap: wrap; gap: 8px 24px; }
.main-nav a { display: inline-flex; align-items:center; min-height:44px; }
.main-nav a[aria-current="page"] { color:var(--color-primary-dark); text-decoration:underline; text-underline-offset:6px; }
.site-header .container { gap:20px; flex-wrap:wrap; }
.social-links { display:flex; flex-direction:row; align-items:center; gap:14px; margin-top:22px; }
.social-links li { margin:0; }
.social-links a { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16); transition: background-color .18s ease, border-color .18s ease, transform .18s ease; }
.social-links a:hover { background:#4F6B5E; border-color:#4F6B5E; transform:translateY(-2px); }
.social-links svg { width:20px; height:20px; flex:0 0 20px; color:rgba(255,255,255,0.9); }
footer :focus-visible { outline-color:var(--color-bg); }
.session-lead { margin:20px 0 28px !important; max-width:60ch; }
.approach h2 { font-size:clamp(1.7rem,3.4vw,2.2rem); }
.reading-width { max-width:820px; }
.session-intro { padding-bottom:44px; }
.session-intro h1 { font-size:clamp(2.2rem,5vw,3.4rem); margin:24px 0 18px; }
.back-link { display:inline-flex; min-height:44px; align-items:center; text-underline-offset:4px; }
.about-photo { width:100%; max-width:420px; margin-inline:auto; }
@media(min-width:700px) and (max-width:1023px) {
 .header-cta { display:none; }
 .about-summary { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:28px; }
}
@media(max-width:699px) {
 section { padding:48px 0; }
 .container { padding-inline:20px; }
 .site-header .container { gap:8px 12px; padding-block:12px; align-items:flex-start; }
 .brand { order:1; flex:1 1 auto; min-width:0; font-size:1.08rem; }
 .brand span { font-size:.68rem; }
 .header-cta { order:2; flex:0 0 auto; display:inline-flex; padding:10px 16px; font-size:.82rem; white-space:nowrap; }
 .main-nav { order:3; width:100%; }
 .main-nav ul { justify-content:space-between; gap:4px 12px; }
 .main-nav a { font-size:.875rem; }
 .hero .container { gap:28px; }
 .hero h1 { max-width:100%; }
 .hero-photo { max-width:340px; }
 .pain-card { padding:24px 20px; gap:14px; }
 .modality-card { padding:30px 24px; }
 .btn { padding:16px 24px; }
 .map-embed iframe { height:300px; }
 footer { padding-top:48px; }
 .footer-grid { grid-template-columns:1fr; gap:32px; }
 .whatsapp-float { width:52px; height:52px; right:16px; bottom:16px; }
}
@media(max-width:380px) {
 .header-cta { padding:9px 13px; font-size:.76rem; }
 .brand { font-size:1rem; }
}

/* Aproxima as modalidades do resumo sobre Brenda na Home. */
.modalities-section { padding-bottom: 28px; }
.about-section { padding-top: 28px; }
@media (max-width:699px) {
 .modalities-section { padding-bottom:20px; }
 .about-section { padding-top:20px; }
 .testimonial-card { padding:26px 22px; flex-basis:88%; }
}

/* ---------- Redução proporcional de fontes no mobile (não afeta o desktop) ---------- */
/* Todos os font-size do site estão em rem/clamp com rem, então reduzir o font-size */
/* base do html diminui proporcionalmente títulos e textos apenas nesta faixa de tela. */
@media (max-width: 768px){
  html{ font-size: 87.5%; } /* ~14px (equivale a reduzir tudo em 12.5%) */
}
@media (max-width: 480px){
  html{ font-size: 81.25%; } /* ~13px em telas bem pequenas */
}

/* Títulos e introduções compartilham o mesmo eixo e largura de leitura. */
.section-head {
 width:100%; max-width:880px; margin:0 auto 36px; text-align:center;
}
.section-head h2, .approach h2 {
 font-size:clamp(1.65rem, 1.15rem + 1.5vw, 2.2rem);
 line-height:1.22; text-wrap:balance;
}
.section-head p {
 max-width:760px; margin-inline:auto; font-size:clamp(1rem,.96rem + .2vw,1.08rem);
 line-height:1.7; text-wrap:pretty;
}
#sobre-a-sessao.approach {
 max-width:var(--container); text-align:center;
}
#sobre-a-sessao .approach-copy { width:100%; max-width:880px; margin-inline:auto; }
#sobre-a-sessao .session-lead { max-width:760px; margin:20px auto 28px !important; text-wrap:pretty; }
.approach-tags { justify-content:center; }
.transform-list { max-width:880px; }
.footer-bottom { padding-right:0; }
.biography-back { padding-top:28px; background:var(--color-bg); }
.biography-section { padding-top:36px; }
.biography-section h1 { font-size:clamp(2rem, 1.4rem + 2vw, 3rem); text-wrap:balance; }
@media(max-width:699px) {
 .section-head { margin-bottom:28px; }
 .section-head h2 { margin-bottom:16px; }
 .section-head p, #sobre-a-sessao .session-lead { line-height:1.65; }
 #sobre-a-sessao .btn { min-width:180px; }
 .transform-item { padding-block:14px; }
}
