/* =========================================================================
   GUSTAVO DALCOL ADVOCACIA ESPECIALIZADA — Design Tokens
   ========================================================================= */
   :root{
    --gd-gold:#C9A96A;
    --gd-gold-light:#E8D5A7;
    --gd-gold-dark:#9A783E;
  
    --gd-black:#0B0B0A;
    --gd-charcoal:#171614;
    --gd-graphite:#292725;
    --gd-gray:#6F6A62;
    --gd-gray-light:#D8D3C9;
    --gd-gray-ultralight:#ECE9E3;
    --gd-off-white:#F7F5F0;
    --gd-ivory:#FBF9F5;
    --gd-white:#FFFFFF;
  
    --gd-success:#587A5C;
    --gd-warning:#B18A45;
    --gd-error:#9B4B4B;
    --gd-info:#5C7180;
  
    --gd-grad-gold:linear-gradient(135deg,#9A783E 0%,#E8D5A7 45%,#B38E52 100%);
    --gd-grad-dark:linear-gradient(135deg,#F7F5F0 0%,#ECE4D2 100%);
    --gd-grad-hero:linear-gradient(135deg,#F7F5F0 0%,#EFE7D4 55%,#F4EEDF 100%);
    --gd-grad-soft:linear-gradient(135deg,#F7F5F0 0%,#E8D5A7 100%);
  
    --gd-font-heading:'Cormorant Garamond', Georgia, serif;
    --gd-font-body:'Montserrat', Arial, sans-serif;
    --gd-font-accent:'DM Sans', Arial, sans-serif;
  
    --gd-ease:cubic-bezier(0.22,1,0.36,1);
    --gd-fast:150ms;
    --gd-normal:250ms;
    --gd-slow:500ms;
  
    --gd-radius-sm:4px;
    --gd-radius-md:8px;
    --gd-radius-lg:12px;
    --gd-radius-xl:20px;
    --gd-radius-pill:999px;
  
    --gd-shadow-soft:0 8px 30px rgba(11,11,10,.06);
    --gd-shadow-medium:0 12px 40px rgba(11,11,10,.10);
    --gd-shadow-strong:0 20px 60px rgba(11,11,10,.16);
  
    --gd-container-max:1240px;
    --gd-section-y:120px;
  
    /* Semantic "dark surface" tokens — header, hero, footer and dark sections
       read from these instead of raw colors. The site ships with a single,
       permanent light/gold theme, so these are pinned to the light values
       (the hero keeps its own dramatic dark-photo treatment — see .hero-gd). */
    --gd-surface-dark:#F3EEE1;
    --gd-on-dark:var(--gd-charcoal);
    --gd-on-dark-soft:var(--gd-graphite);
    --gd-on-dark-muted:var(--gd-gray);
    --gd-on-dark-faint:#8A8168;
    --gd-gold-on-dark:var(--gd-gold-dark);
    --gd-hero-photo-filter:brightness(1.05) contrast(1.02) saturate(.9);
    --gd-hero-scrim:linear-gradient(115deg, rgba(247,245,240,.93) 0%, rgba(247,245,240,.86) 45%, rgba(247,245,240,.62) 100%);
    --gd-dark-section-scrim:linear-gradient(180deg, rgba(247,245,240,.62) 0%, rgba(247,245,240,.82) 100%);
    --gd-header-scrolled-bg:rgba(243,238,225,.96);
    --gd-dark-border-soft:rgba(23,22,20,.08);
  
    /* Bridge into the existing bootstrap-based framework so shared
       components (buttons, forms, cards) inherit the brand automatically */
    --lev-primary:var(--gd-charcoal);
    --lev-secondary:var(--gd-gold);
    --lev-success:var(--gd-success);
    --lev-warning:var(--gd-warning);
    --lev-danger:var(--gd-error);
    --lev-info:var(--gd-info);
    --lev-dark:var(--gd-black);
    --lev-light:var(--gd-off-white);
    --lev-body-font-family:var(--gd-font-body);
    --lev-border-radius:var(--gd-radius-md);
  }
  
  /* =========================================================================
     Header / footer hairlines — permanent light/gold theme
     ========================================================================= */
  header.site-header{ border-bottom:1px solid rgba(23,22,20,.06) }
  footer.site-footer{ border-top:1px solid rgba(23,22,20,.06) }
  
  /* The hero keeps its own dramatic dark-photo treatment: it's a single
     full-bleed editorial moment, not part of the site's persistent chrome,
     so it re-pins the shared surface tokens back to dark right at the
     section boundary — everything below still reads the light theme. */
  .hero-gd{
    --gd-on-dark:#FFFFFF;
    --gd-on-dark-soft:#D8D3C9;
    --gd-on-dark-muted:#B9B4A9;
    --gd-gold-on-dark:var(--gd-gold);
    --gd-hero-photo-filter:brightness(.20) saturate(.85);
    --gd-hero-scrim:linear-gradient(115deg, rgba(11,11,10,.96) 0%, rgba(11,11,10,.92) 45%, rgba(11,11,10,.88) 100%);
    --gd-grad-hero:linear-gradient(135deg,#0B0B0A 0%,#171614 55%,#292725 100%);
  }
  
  @media (max-width:1023.98px){ :root{ --gd-section-y:88px } }
  @media (max-width:767.98px){ :root{ --gd-section-y:64px } }
  
  @media (prefers-reduced-motion: reduce){
    *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important }
  }
  
  html{ scroll-behavior:smooth }

  /* Trava o scroll do body enquanto o menu mobile está aberto (ver js/site.js) */
  body.menu-open{ overflow:hidden; height:100dvh }
  
  /* =========================================================================
     Base
     ========================================================================= */
  body{
    background-color:var(--gd-off-white);
    color:var(--gd-graphite);
    font-family:var(--gd-font-body);
    font-size:16px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  
  h1,h2,h3,h4,.h1,.h2,.h3,.h4,.font-heading{
    font-family:var(--gd-font-heading);
    color:var(--gd-charcoal);
    font-weight:500;
    line-height:1.15;
    letter-spacing:-.01em;
  }
  
  a{ color:var(--gd-gold-dark) }
  a:hover{ color:var(--gd-gold) }
  
  ::selection{ background:var(--gd-gold-light); color:var(--gd-black) }
  
  :focus-visible{
    outline:2px solid var(--gd-gold);
    outline-offset:3px;
  }
  
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    font-family:var(--gd-font-accent);
    font-size:12px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--gd-gold-dark);
  }
  .eyebrow::before{
    content:'';
    width:28px;
    height:1px;
    background:var(--gd-gold);
    display:inline-block;
  }
  .bg-dark .eyebrow,
  .eyebrow.on-dark{ color:var(--gd-gold-on-dark) }
  
  .section-title{ max-width:640px }
  .section-desc{
    color:var(--gd-gray);
    max-width:680px;
    font-size:17px;
    line-height:1.7;
  }
  .bg-dark .section-desc{ color:var(--gd-on-dark-muted) }
  
  .section-line{ width:48px; height:1px; background:var(--gd-gold); margin:1.5rem 0 }
  
  section[class*="section-"]{ padding:var(--gd-section-y) 0 }
  
  .container-gd{
    width:100%;
    max-width:var(--gd-container-max);
    margin:0 auto;
    padding:0 32px;
  }
  @media (max-width:1023.98px){ .container-gd{ padding:0 24px } }
  @media (max-width:767.98px){ .container-gd{ padding:0 20px } }
  
  /* =========================================================================
     Buttons
     ========================================================================= */
  .btn{
    font-family:var(--gd-font-accent);
    font-size:14px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    border-radius:var(--gd-radius-md);
    transition:background-color var(--gd-normal) var(--gd-ease), color var(--gd-normal) var(--gd-ease), border-color var(--gd-normal) var(--gd-ease), transform var(--gd-normal) var(--gd-ease);
  }
  
  .btn-gold,
  .btn-primary{
    background:var(--gd-gold);
    border-color:var(--gd-gold);
    color:var(--gd-black) !important;
    height:52px;
    padding:0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .btn-gold:hover,
  .btn-primary:hover{
    background:var(--gd-gold-light);
    border-color:var(--gd-gold-light);
    color:var(--gd-black) !important;
    transform:translateY(-2px);
  }
  
  .btn-gold-outline,
  .btn-outline-primary{
    background:transparent;
    border:1px solid var(--gd-gold);
    color:var(--gd-gold) !important;
    height:52px;
    padding:0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .btn-gold-outline:hover,
  .btn-outline-primary:hover{
    background:rgba(201,169,106,.10);
    border-color:var(--gd-gold);
    color:var(--gd-gold) !important;
    transform:translateY(-2px);
  }
  .bg-white .btn-gold-outline,
  .bg-white .btn-outline-primary,
  .section-offwhite .btn-gold-outline{
    border-color:var(--gd-gold-dark);
    color:var(--gd-gold-dark) !important;
  }
  
  .btn-outline-success{
    background:transparent;
    border:1px solid #25D366;
    color:#25D366 !important;
    height:52px;
    padding:0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .btn-outline-success:hover{
    background:rgba(37,211,102,.10);
    border-color:#25D366;
    color:#25D366 !important;
    transform:translateY(-2px);
  }
  
  .btn-charcoal{
    background:var(--gd-charcoal);
    border:none;
    color:var(--gd-white) !important;
    height:52px;
    padding:0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .btn-charcoal:hover{ background:var(--gd-graphite); color:var(--gd-white) !important; transform:translateY(-2px) }
  
  .btn-text{
    background:none;
    border:none;
    color:var(--gd-gold-dark) !important;
    padding:0;
    height:auto;
    text-transform:none;
    letter-spacing:normal;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
  }
  .btn-text:hover{ color:var(--gd-gold) !important }
  .btn-text .icon{ transition:transform var(--gd-normal) var(--gd-ease) }
  .btn-text:hover .icon{ transform:translateX(4px) }
  
  .btn-whatsapp{
    background:#25D366;
    border:1px solid #25D366;
    color:#fff !important;
    height:52px;
    padding:0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.6rem;
  }
  .btn-whatsapp:hover{ background:#1fb959; border-color:#1fb959; color:#fff !important; transform:translateY(-2px) }
  
  /* =========================================================================
     Header / Navigation
     ========================================================================= */
  header.site-header{
    background:var(--gd-surface-dark);
    min-height:88px;
    transition:box-shadow var(--gd-normal) var(--gd-ease), background-color var(--gd-normal) var(--gd-ease);
  }
  @media (max-width:767.98px){ header.site-header{ min-height:72px } }
  
  header.site-header.is-scrolled{
    box-shadow:var(--gd-shadow-strong);
    background:var(--gd-header-scrolled-bg);
    backdrop-filter:saturate(140%) blur(6px);
  }
  
  header.site-header .navbar-brand{ display:flex; align-items:center }
  header.site-header .navbar-brand .brand-logo{
    width:clamp(140px, 9vw + 100px, 200px);
    height:auto;
    display:block;
  }
  
  header.site-header .navbar-nav .nav-link{
    font-family:var(--gd-font-accent);
    font-size:13px;
    font-weight:500;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--gd-on-dark-soft);
    position:relative;
    padding:.5rem 0 !important;
  }
  header.site-header .navbar-nav .nav-link::after{
    content:'';
    position:absolute;
    left:0; right:0; bottom:-4px;
    height:1px;
    background:var(--gd-gold);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform var(--gd-normal) var(--gd-ease);
  }
  header.site-header .navbar-nav .nav-link:hover,
  header.site-header .navbar-nav .nav-link:focus,
  header.site-header .navbar-nav .nav-link.active{ color:var(--gd-on-dark) }
  header.site-header .navbar-nav .nav-link:hover::after,
  header.site-header .navbar-nav .nav-link.active::after{ transform:scaleX(1) }
  
  header.site-header .navbar-toggler{
    display:none;
    border:0;
    width:44px;
    height:44px;
    gap:.3rem;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:.75rem;
  }
  header.site-header .navbar-toggler .navbar-toggler-icon{
    width:22px;
    display:block;
    height:1.5px;
    border-radius:2px;
    background:var(--gd-gold-on-dark) !important;
    transition:transform var(--gd-normal) var(--gd-ease), opacity var(--gd-normal) var(--gd-ease);
  }
  
  @media (max-width:991.98px){
    header.site-header [class*="container"]{ padding:0 1.25rem !important }
  
    header.site-header .navbar-toggler{ display:flex }
  
    header.site-header .navbar-collapse{
      background:var(--gd-surface-dark);
      width:100%;
      height:100dvh;
      position:fixed;
      z-index:100000;
      inset:0;
      transform:translateY(-100%);
      transition:transform var(--gd-normal) var(--gd-ease);
      box-shadow:var(--gd-shadow-strong);
    }
    /* O Bootstrap anima a altura antes de exibir o painel (classe .collapsing);
       como aqui ele já ocupa a tela toda via position:fixed, essa animação de
       altura só atrasava o menu pra aparecer sem nenhum efeito visual. */
    header.site-header .navbar-collapse.collapsing{ transition:none; height:100dvh !important }
    header.site-header .navbar-collapse.show{ transform:translateY(0) }
  
    header.site-header .navbar-nav{
      justify-content:center;
      width:100%;
      height:100%;
    }
  
    header.site-header .navbar-nav .nav-link{
      text-align:center;
      color:var(--gd-on-dark);
      padding:.9rem 3rem !important;
      width:100%;
      font-size:16px;
    }
    header.site-header .navbar-nav .nav-link::after{ display:none }
    header.site-header .navbar-nav .nav-link.active,
    header.site-header .navbar-nav .nav-link:hover{ color:var(--gd-gold-on-dark) }
  
    header.site-header .nav-cta{ margin-top:1rem; width:auto; align-self:center; flex-grow:0 }
  }
  
  .nav-close-btn{
    color:var(--gd-on-dark);
    opacity:.6;
    transition:opacity var(--gd-fast) var(--gd-ease);
  }
  .nav-close-btn:hover{ opacity:1 }
  
  /* =========================================================================
     Hero
     ========================================================================= */
  .hero-gd{
    position:relative;
    background:var(--gd-grad-hero);
    color:var(--gd-on-dark);
    overflow:hidden;
    padding:calc(var(--gd-section-y) * 1.1) 0 var(--gd-section-y);
  }
  .hero-gd .hero-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    filter:var(--gd-hero-photo-filter);
  }
  .hero-gd::before{
    content:'';
    position:absolute;
    inset:0;
    background-image:
      var(--gd-hero-scrim),
      repeating-linear-gradient(135deg, rgba(201,169,106,.05) 0px, rgba(201,169,106,.05) 1px, transparent 1px, transparent 90px);
    pointer-events:none;
  }
  .hero-gd .hero-copy{ position:relative; z-index:2 }
  
  .hero-gd h1{
    color:var(--gd-on-dark);
    font-size:clamp(36px, 3vw + 20px, 56px);
    line-height:1.1;
    font-weight:500;
  }
  .hero-gd h1 em{ font-style:normal; color:var(--gd-gold-on-dark) }
  
  .hero-gd p{
    font-size:19px;
    line-height:1.7;
    color:var(--gd-on-dark-soft);
    max-width:520px;
  }
  
  .hero-stats{
    display:flex;
    gap:2.5rem;
    flex-wrap:wrap;
    margin-top:3rem;
    padding-top:2rem;
  }
  .hero-stats .stat-num{
    font-family:var(--gd-font-heading);
    font-size:32px;
    color:var(--gd-gold-on-dark);
    line-height:1;
    display:block;
  }
  .hero-stats .stat-label{
    font-family:var(--gd-font-accent);
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--gd-on-dark-muted);
    margin-top:.4rem;
    display:block;
  }
  
  @media (max-width:575.98px){
    .hero-stats{
      flex-direction:column;
      gap:1.5rem;
    }
    .hero-stats > div{ width:100% }
    .hero-stats .stat-num{ font-size:40px }
    .hero-stats .stat-label{ font-size:13px }
  }
  
  /* Hero portrait — cutout (fundo removido), sem moldura */
  .hero-portrait-cutout{
    margin:0 auto;
    max-width:320px;
  }
  .hero-portrait-cutout img{
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    width:auto;
    height:clamp(260px, 72vw, 400px);
    z-index:0;
    pointer-events:none;
    filter:drop-shadow(0 24px 32px rgba(0,0,0,.5));
  }
  
  @media (max-width:991.98px){
    /* No mobile mantém a foto de fundo do banner, mas remove a foto
       recortada da pessoa — sobra só o conteúdo (texto/botões/estatísticas). */
    .hero-gd{
      padding-bottom:var(--gd-section-y);
    }
    .hero-portrait-cutout{
      display:none;
    }
  }
  
  @media (min-width:992px){
    .hero-portrait-cutout{
      max-width:none;
      margin:0;
    }
    .hero-portrait-cutout img{
      /* Alinha a borda da foto com a borda do container principal
         (mesma largura usada pelo header/hero-copy), em vez de colar
         na borda da janela em telas largas. */
      right:max(16px, calc((100% - var(--gd-container-max)) / 2));
      bottom:0;
      left:auto;
      transform:none;
      width:auto;
      height:100%;
    }
  }
  
  @media (min-width:992px) and (max-width:1199.98px){
    .hero-gd{ padding-top:calc(var(--gd-section-y) * 0.7); padding-bottom:calc(var(--gd-section-y) * 0.6) }
  }
  
  /* Framed editorial photography */
  .photo-frame{
    position:relative;
    border:1px solid var(--gd-gold);
    border-radius:var(--gd-radius-md);
    padding:14px;
  }
  .photo-frame::before,
  .photo-frame::after{
    content:'';
    position:absolute;
    width:26px;
    height:26px;
    border:1px solid var(--gd-gold);
    z-index:1;
  }
  .photo-frame::before{ top:-9px; left:-9px; border-right:0; border-bottom:0 }
  .photo-frame::after{ bottom:-9px; right:-9px; border-left:0; border-top:0 }
  .photo-frame img{
    display:block;
    width:100%;
    height:100%;
    min-height:320px;
    object-fit:cover;
    border-radius:var(--gd-radius-md);
  }
  
  /* Dark section with background photography — keeps light text regardless
     of theme, since the darkened photo behind it needs strong contrast. */
  .section-dark.has-photo{
    position:relative;
    overflow:hidden;
    --gd-on-dark:#FFFFFF;
    --gd-on-dark-soft:#E8E5DE;
    --gd-on-dark-muted:#D8D3C9;
    --gd-gold-on-dark:var(--gd-gold);
  }
  .section-dark.has-photo .section-photo-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.5;
    filter:brightness(.45);
  }
  .section-dark.has-photo::before{
    content:'';
    position:absolute;
    inset:0;
    background:var(--gd-dark-section-scrim);
  }
  .section-dark.has-photo .container-gd{ position:relative; z-index:1 }
  
  /* Dark section with a plain solid-black background, no photo. */
  .section-dark.section-black{
    background:#000000;
    --gd-on-dark:#FFFFFF;
    --gd-on-dark-soft:#E8E5DE;
    --gd-on-dark-muted:#D8D3C9;
    --gd-gold-on-dark:var(--gd-gold);
  }
  
  /* =========================================================================
     Cards & Sections
     ========================================================================= */
  .section-offwhite{ background:var(--gd-off-white) }
  .section-white{ background:var(--gd-white) }
  .section-dark{ background:var(--gd-surface-dark); color:var(--gd-on-dark) }
  .section-dark h2,.section-dark h3,.section-dark h4{ color:var(--gd-on-dark) }
  .section-gold{ background:var(--gd-grad-gold); color:var(--gd-black) }
  .section-gold h2{ color:var(--gd-black) }
  .section-gold {
    padding: 2rem !important;
  }
  
  .card-gd{
    background:var(--gd-white);
    border:1px solid #E2DED6;
    border-radius:var(--gd-radius-md);
    padding:32px;
    height:100%;
    display:flex;
    flex-direction:column;
    transition:transform var(--gd-normal) var(--gd-ease), box-shadow var(--gd-normal) var(--gd-ease), border-color var(--gd-normal) var(--gd-ease);
  }
  .card-gd:hover{
    transform:translateY(-5px);
    box-shadow:var(--gd-shadow-medium);
    border-color:var(--gd-gold);
  }
  
  .area-card .icon-wrap{
    width:52px;
    height:52px;
    border-radius:var(--gd-radius-md);
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--gd-off-white);
    color:var(--gd-gold);
    margin-bottom:1.5rem;
    transition:background var(--gd-normal) var(--gd-ease);
  }
  .area-card:hover .icon-wrap{ background:var(--gd-grad-gold); color:var(--gd-black) }
  .area-card .icon-wrap svg{ width:26px; height:26px }
  
  .area-card h3{
    font-size:26px;
    margin-bottom:.6rem;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .area-card p{
    color:var(--gd-gray);
    font-size:15px;
    margin-bottom:1.5rem;
    flex:1;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .area-card .link-arrow{ margin-top:auto }
  
  .link-arrow{
    font-family:var(--gd-font-accent);
    font-size:13px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--gd-gold-dark);
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    text-decoration:none;
  }
  .link-arrow svg{ width:16px; height:16px; transition:transform var(--gd-normal) var(--gd-ease) }
  .area-card:hover .link-arrow{ color:var(--gd-gold) }
  .area-card:hover .link-arrow svg{ transform:translateX(4px) }
  
  /* Differentials */
  .diff-item{
    border-top:1px solid rgba(201,169,106,.25);
    padding-top:1.75rem;
  }
  .diff-item .diff-num{
    font-family:var(--gd-font-heading);
    font-size:15px;
    color:var(--gd-gold-on-dark);
    letter-spacing:.05em;
  }
  .diff-item h3{ color:var(--gd-on-dark); font-size:24px; margin:.75rem 0 .6rem }
  .diff-item p{ color:var(--gd-on-dark-muted); font-size:15px; margin:0 }
  
  /* Process / steps */
  .process-steps{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:2rem;
    position:relative;
  }
  @media (max-width:991.98px){ .process-steps{ grid-template-columns:1fr 1fr } }
  @media (max-width:575.98px){ .process-steps{ grid-template-columns:1fr } }
  
  .process-step{ position:relative; padding-top:2.5rem }
  .process-step .step-num{
    font-family:var(--gd-font-heading);
    font-size:44px;
    color:var(--gd-gold-light);
    line-height:1;
    -webkit-text-stroke:1px var(--gd-gold);
  }
  .process-step h3{ margin:.75rem 0 .5rem; font-size:19px }
  .process-step p{ color:var(--gd-gray); font-size:14px; margin:0 }
  .process-step::before{
    content:'';
    position:absolute;
    top:0; left:0;
    width:32px;
    height:1px;
    background:var(--gd-gold);
  }
  
  /* Testimonial / content cards */
  .content-card{
    background:var(--gd-ivory);
    border:1px solid #E2DED6;
    border-radius:var(--gd-radius-md);
    overflow:hidden;
    height:100%;
    display:flex;
    flex-direction:column;
    transition:transform var(--gd-normal) var(--gd-ease), box-shadow var(--gd-normal) var(--gd-ease);
  }
  .content-card:hover{ transform:translateY(-5px); box-shadow:var(--gd-shadow-medium) }
  .content-card:hover .content-card-cover img{ transform:scale(1.05) }
  .content-card .content-card-cover{
    height:190px;
    background:var(--gd-grad-dark);
    position:relative;
    overflow:hidden;
  }
  .content-card .content-card-cover svg{ width:48px; height:48px }
  .content-card:hover .link-arrow{ color:var(--gd-gold) }
  .content-card:hover .link-arrow svg{ transform:translateX(4px) }
  .content-card .content-card-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform var(--gd-slow) var(--gd-ease);
  }
  .content-card .content-card-body{ padding:28px; display:flex; flex-direction:column; flex:1 }
  .content-card .badge-gd{
    align-self:flex-start;
    background:#F1E9D8;
    color:#8A6937;
    border-radius:var(--gd-radius-pill);
    padding:6px 14px;
    font-family:var(--gd-font-accent);
    font-size:11px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    margin-bottom:1rem;
  }
  .content-card h3{
    font-size:20px;
    margin-bottom:.75rem;
    line-height:1.3;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .content-card p{
    color:var(--gd-gray);
    font-size:14px;
    flex:1;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  
  /* CTA banner */
  .cta-gold{
    text-align:center;
  }
  .cta-gold h2{ font-size:clamp(30px,2.2vw + 18px,44px) }
  .cta-gold p{ font-size:18px; max-width:560px; margin:1rem auto 2.25rem; color:rgba(11,11,10,.75) }
  .cta-gold .btn-charcoal:hover{ background:#000 }
  
  /* =========================================================================
     Footer
     ========================================================================= */
  footer.site-footer{
    background:var(--gd-surface-dark);
    color:var(--gd-on-dark);
    padding:var(--gd-section-y) 0 0;
  }
  footer.site-footer .footer-brand .brand-logo{ width:180px; height:auto; display:block }
  footer.site-footer p.footer-tagline{ color:var(--gd-on-dark-muted); font-size:14px; max-width:280px; margin-top:1.25rem }
  
  footer.site-footer h3{
    font-family:var(--gd-font-accent);
    font-size:12px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--gd-gold-on-dark);
    margin-bottom:1.5rem;
  }
  footer.site-footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.85rem }
  footer.site-footer a{
    color:var(--gd-on-dark-soft);
    text-decoration:none;
    font-size:14px;
    transition:color var(--gd-fast) var(--gd-ease), padding-left var(--gd-fast) var(--gd-ease);
  }
  footer.site-footer a:hover{ color:var(--gd-gold-on-dark); padding-left:4px }
  
  /* Imagens inseridas no corpo de uma publicação (via CKEditor) */
  .post-body img{ max-width:100%; height:auto; margin-top:1rem }
  
  .footer-bottom{
    border-top:1px solid var(--gd-dark-border-soft);
    margin-top:3.5rem;
    padding:1.75rem 0;
    color:var(--gd-on-dark-faint);
    font-size:13px;
  }
  .footer-bottom a{ color:var(--gd-on-dark-faint); text-decoration:none }
  .footer-bottom a:hover{ color:var(--gd-gold-on-dark) }
  
  /* WhatsApp floating button */
  .whatsapp-float{
    position:fixed;
    bottom:24px;
    right:24px;
    width:58px;
    height:58px;
    border-radius:50%;
    background:#25D366;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 30px rgba(0,0,0,.25);
    z-index:1100;
    transition:transform var(--gd-normal) var(--gd-ease);
  }
  .whatsapp-float:hover{ transform:scale(1.08); color:#fff }
  .whatsapp-float svg{ width:28px; height:28px }
  
  /* =========================================================================
     Legacy utilities (kept for other pages: sobre, servicos, contato, blog…)
     ========================================================================= */
  .bg-gradient-dark{
    background:rgb(14,34,39);
    background:linear-gradient(180deg,rgba(14,34,39,0) 10%,rgba(14,34,39,1) 100%);
  }
  .bg-gradient-secondary{
    background:rgb(153,213,213);
    background:linear-gradient(180deg,rgba(153,213,213,0) 10%,rgba(153,213,213,1) 100%);
  }
  @media (max-width:991.98px){ .hero.ratio-18x9{ min-height:100vh; --lev-aspect-ratio:100% } }
  .ratio-18x9{ --lev-aspect-ratio:calc(9 / 18 * 100%) }
  @media (min-width:992px){
    .w-lg-50{ width:60% !important }
    .w-lg-45{ width:45% !important }
  }
  .w-fit-content{ width:fit-content !important }
  .deposition-profile{ width:75px; height:75px; overflow:hidden; border-radius:50% }
  .deposition-profile img{ width:100%; height:100%; object-fit:cover }
  .case-img img{ filter:grayscale(1); opacity:.5; transition:all .2s ease-in-out }
  .case-img:hover img{ filter:grayscale(0); opacity:1; transition:all .2s ease-in-out }
  .full-content{ top:0 !important; left:0 !important; bottom:0 !important; right:0 !important }
  
  .form-control.rounded-5,
  .form-select.rounded-5,
  textarea{
    border:0 !important;
    padding-left:1.5rem;
    background-color:#e1e1e1;
    box-shadow:inset 1px 1px 2px rgba(0,0,0,.15);
  }
  .form-floating>label{ padding-left:1.5rem; color:#949494 }
  .no-image{
    background-image:url('../img/svg/no-image.svg'), linear-gradient(to bottom, rgba(255,0,0,0), var(--lev-primary));
    background-position:center;
    background-repeat:no-repeat;
    background-size:10%, cover;
  }
  .form-floating>.form-control-plaintext~label,
  .form-floating>.form-control:focus~label,
  .form-floating>.form-control:not(:placeholder-shown)~label,
  .form-floating>.form-select~label{
    color:#949494;
    transform:scale(.85) translateY(-.5rem) translateX(.15rem);
  }
  .form-floating>.form-control-plaintext~label::after,
  .form-floating>.form-control:focus~label::after,
  .form-floating>.form-control:not(:placeholder-shown)~label::after,
  .form-floating>.form-select~label::after{ background-color:transparent }
  .overflow-y-scroll{ overflow-y:auto }
  
  .icon{ display:inline-block; position:relative }
  .icon svg,.icon svg>*{ fill:currentColor }
  .icon-16 svg{ width:16px; height:16px }
  .icon-24 svg{ width:24px; height:24px }
  .icon-32 svg{ width:32px; height:32px }
  .icon-40 svg{ width:40px; height:40px }
  .icon-48 svg{ width:48px; height:48px }
  .icon-64 svg{ width:64px; height:64px }
  .icon.text-primary{ fill:var(--lev-primary); color:var(--lev-primary) }
  .icon.text-secondary{ fill:var(--lev-secondary); color:var(--lev-secondary) }
  .icon.text-dark{ fill:var(--lev-dark); color:var(--lev-dark) }
  .icon.text-white{ fill:#fff }
  
  ::-webkit-scrollbar{ padding:1px; background:transparent; height:.5rem; width:.5rem }
  ::-webkit-scrollbar-track,
  ::-webkit-scrollbar-thumb{ padding:3px }
  ::-webkit-scrollbar-thumb{ background:var(--gd-gold) }
  ::-webkit-scrollbar-thumb:hover{ background:var(--gd-gold-dark) }
  
  main + #about-2{ box-shadow:var(--lev-box-shadow) !important }
  