/* ===========================
   SOBRE - CSS (PADRÃO DO SITE)
   Escopo total: .sobre-page
   =========================== */

   .sobre-page{
    /* Tokens APENAS da página (NÃO mexe em botões globais) */
    --white: #E5E7EB;
    --primario: #0C1524;
    --secundario: #1a2840;
    --destaque: #D09B4D;
    --texto: #4a5568;
  
    --degrade-primario: linear-gradient(135deg, #0C1524 0%, #1a2840 100%);
    --degrade-destaque: linear-gradient(135deg, #D09B4D 0%, #e8b162 100%);
  
    --transicao: all 0.35s ease;
    --sombra: 0 10px 40px rgba(12, 21, 36, 0.08);
    --sombra-hover: 0 20px 60px rgba(12, 21, 36, 0.12);
    --radius-md: 16px;
  }

  .sobre-page {
    margin-top: 80px;
    overflow-x: hidden;
    background: var(--white) !important;
  }
  
  /* highlight padrão */
  .sobre-page .highlight{
    color: var(--destaque);
    position: relative;
    display: inline-block;
  }
  .sobre-page .highlight::after{
    content:'';
    position:absolute;
    bottom: 6px;
    left:0;
    width:100%;
    height:10px;
    background: rgba(208,155,77,0.18);
    z-index:-1;
    border-radius: 6px;
  }
  
  /* ===========================
     HERO
     =========================== */
  .sobre-page .sobre-hero{
    background: var(--degrade-primario);
    color: var(--white);
    padding: 120px 0 80px;
    text-align:center;
    position: relative;
    overflow:hidden;
  }
  
  .sobre-page .sobre-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 30% 45%, rgba(208,155,77,0.18) 0%, transparent 50%),
      radial-gradient(circle at 80% 20%, rgba(255,255,255,0.08) 0%, transparent 55%);
    pointer-events:none;
  }
  
  .sobre-page .sobre-hero::after{
    content:"";
    position:absolute;
    right:-140px;
    top:-140px;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(208,155,77,0.22) 0%, transparent 68%);
    pointer-events:none;
  }
  
  .sobre-page .sobre-hero-content{
    position: relative;
    z-index: 1;
    max-width: 920px;
    margin: 0 auto;
  }
  
  .sobre-page .badge{
    display:inline-flex;
    align-items:center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.14);
    margin-bottom: var(--space-md);
    color: rgba(255,255,255,0.92);
  }
  
  .sobre-page .sobre-hero h1{
    font-family: "Playfair Display", serif;
    font-size: clamp(2.4rem, 5vw, 3.4rem);
    margin-bottom: var(--space-md);
  }
  
  .sobre-page .hero-subtitle{
    font-size: 1.15rem;
    color: rgba(255,255,255,0.92);
    max-width: 760px;
    margin: 0 auto var(--space-lg);
    line-height: 1.6;
  }
  
  /* Cards do hero */
  .sobre-page .hero-cards{
    display:flex;
    justify-content:center;
    gap: var(--space-lg);
    flex-wrap: wrap;
    max-width: 920px;
    margin: 0 auto;
  }
  
  .sobre-page .hero-card{
    display:flex;
    align-items:center;
    gap: 14px;
    text-align:left;
    padding: 18px 22px;
    border-radius: 14px;
    min-width: 280px;
  
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.14);
    backdrop-filter: blur(10px);
    transition: var(--transicao);
  }
  
  .sobre-page .hero-card:hover{
    background: rgba(255,255,255,0.14);
    transform: translateY(-4px);
    border-color: rgba(208,155,77,0.35);
  }
  
  .sobre-page .hero-card-icon{
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background: rgba(208,155,77,0.14);
    color: var(--destaque);
    flex-shrink: 0;
  }
  
  .sobre-page .hero-card-label{
    font-size: 0.9rem;
    opacity: 0.85;
    display:block;
    margin-bottom: 3px;
    color: rgba(255,255,255,0.85);
  }
  .sobre-page .hero-card-value{
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--white);
  }
  
  /* ===========================
     SECTION / GRID
     =========================== */
  .sobre-page .sobre-section{
    padding: var(--space-xl) 0;
    /* background: #fafbfc; */
  }
  
  .sobre-page .sobre-grid{
    display:grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: var(--space-xl);
    align-items: start;
  }
  
  .sobre-page .card{
    background: #fff;
    border-radius: var(--radius-md);
    padding: 28px;
    box-shadow: var(--sombra);
    border: 1px solid rgba(12, 21, 36, 0.06);
  }
  
  .sobre-page .card-header h2{
    display:flex;
    align-items:center;
    gap: 10px;
    color: var(--primario);
    margin-bottom: 8px;
    font-size: 1.75rem;
  }
  
  .sobre-page .card-header p{
    color: var(--texto);
    opacity: .92;
    margin-bottom: var(--space-sm);
  }
  
  /* Profile */
  .sobre-page .profile{
    display:flex;
    align-items:center;
    gap: 14px;
    /* margin-top: var(--space-md); */
    padding: 14px;
    border-radius: 14px;
    background: var(--white);
    border: 1px solid rgba(12,21,36,0.06);
  }
  
  .sobre-page .profile-photo{
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background: rgba(208,155,77,0.12);
    color: var(--destaque);
    flex-shrink:0;
    font-size: 1.2rem;
  }
  
  .sobre-page .profile-info strong{
    display:block;
    color: var(--primario);
    font-weight: 900;
    background: var(--white);
  }
  .sobre-page .profile-info span{
    color: var(--texto);
  }
  
  /* Quick list */
  .sobre-page .quick-list{
    display:grid;
    gap: 12px;
    margin-top: 12px;
  }
  
  .sobre-page .quick-item{
    display:flex;
    align-items:center;
    gap: 12px;
    padding: 14px;
    border-radius: 14px;
    background: var(--white);
    border: 1px solid rgba(12,21,36,0.06);
  }
  
  .sobre-page .quick-ico{
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background: rgba(208,155,77,0.12);
    color: var(--destaque);
    flex-shrink:0;
  }
  
  .sobre-page .quick-item strong{
    display:block;
    color: var(--primario);
    font-weight: 900;
    margin-bottom: 2px;
  }
  .sobre-page .quick-item span{
    color: var(--texto);
  }
  
  /* Timeline */
  .sobre-page .timeline{
    margin-top: var(--space-lg);
    display:grid;
    gap: 14px;
  }
  .sobre-page .timeline-item{
    position: relative;
    padding-left: 18px;
  }
  .sobre-page .timeline-dot{
    position:absolute;
    left: 0;
    top: 8px;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--destaque);
    box-shadow: 0 0 0 5px rgba(208,155,77,0.14);
  }
  .sobre-page .timeline-body strong{
    display:block;
    color: var(--primario);
    font-weight: 900;
    margin-bottom: 6px;
  }
  .sobre-page .timeline-body p{
    margin: 0;
    color: var(--texto);
    line-height: 1.65;
  }
  
  /* Valores */
  .sobre-page .values{
    margin-top: var(--space-xl);
  }
  .sobre-page .values-title{
    display:flex;
    align-items:center;
    gap: 10px;
    color: var(--primario);
    font-size: 1.35rem;
    margin-bottom: var(--space-md);
  }
  .sobre-page .values-grid{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
  }
  .sobre-page .value-card{
    padding: 16px;
    border-radius: 14px;
    background: rgba(12,21,36,0.03);
    border: 1px solid rgba(12,21,36,0.06);
    transition: var(--transicao);
  }
  .sobre-page .value-card:hover{
    transform: translateY(-3px);
    box-shadow: var(--sombra-hover);
  }
  .sobre-page .value-card i{
    color: var(--destaque);
    font-size: 1.2rem;
  }
  .sobre-page .value-card strong{
    display:block;
    color: var(--primario);
    font-weight: 900;
    margin: 8px 0 6px;
  }
  .sobre-page .value-card span{
    color: var(--texto);
    line-height: 1.6;
  }
  
  /* ===========================
     CTA (PADRONIZADO)
     - NÃO redefinimos .btn / .btn-secondary / .btn-whatsapp aqui
     - Só garantimos layout/responsivo do bloco
     =========================== */
  .sobre-page .cta-section{
    background: var(--degrade-primario);
    color: white;
    padding: 80px 0;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  
  .sobre-page .cta-section::before{
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 50%, rgba(208, 155, 77, 0.15) 0%, transparent 50%);
    pointer-events: none;
  }
  
  .sobre-page .cta-section .container{
    position: relative;
    z-index: 2;
  }
  
  .sobre-page .cta-section h2{
    font-family: 'Playfair Display', serif;
    font-size: 2.5rem;
    margin-bottom: 15px;
    color: var(--destaque);
  }
  
  .sobre-page .cta-section p{
    font-size: 1.2rem;
    opacity: 0.9;
    margin: 0 auto 40px;
    max-width: 600px;
  }
  
  .sobre-page .cta-buttons{
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
  }
  
  /* ===========================
     Responsivo
     =========================== */
  @media (max-width: 992px){
    .sobre-page .sobre-grid{ grid-template-columns: 1fr; }
  }
  
  @media (max-width: 768px){
    .sobre-page .sobre-hero{ padding: clamp(130px, 18vh, 170px) 0 65px; }
  
    .sobre-page .hero-cards{ flex-direction: column; align-items:center; }
    .sobre-page .hero-card{ width: 100%; max-width: 420px; min-width: unset; }
    .sobre-page .values-grid{ grid-template-columns: 1fr; }
  
    .sobre-page .cta-buttons{
      flex-direction: column;
      align-items: center;
      gap: 15px;
    }
  
    /* Só controla largura no mobile, sem alterar visual */
    .sobre-page .cta-buttons .btn{
      width: 100%;
      max-width: 300px;
      justify-content: center;
    }
  
    .sobre-page .cta-section h2{ font-size: 2rem; }
    .sobre-page .cta-section p{ font-size: 1.1rem; }
  }
  
  @media (max-width: 480px){
    .sobre-page .cta-section h2{ font-size: 1.8rem; }
    .sobre-page .cta-section p{ font-size: 1rem; }
  }
  
  /* Focus acessível (deixa consistente no site) */
  .sobre-page button:focus-visible,
  .sobre-page a:focus-visible,
  .sobre-page input:focus-visible,
  .sobre-page textarea:focus-visible,
  .sobre-page select:focus-visible{
    outline: 3px solid rgba(208,155,77,0.30);
    outline-offset: 3px;
  }

  @media (min-width: 992px){
    .sobre-page .sobre-hero h1{
      white-space: nowrap;
    }
  }
  