@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800&display=swap');
/* ==========================================================================
   CONDOMÍNIO LA FONT — Design System (Front-end)
   Paleta inspirada em água/fonte: azuis profundos + dourado de destaque.
   (Base original, usada pelo /adm — mantida intacta para não afetar o painel.)
   ========================================================================== */

:root{
  --lf-blue-900: #0A2E45;
  --lf-blue-800: #0D3B59;
  --lf-blue-700: #114C73;
  --lf-blue-600: #16608F;
  --lf-blue-500: #1C7BB0;
  --lf-cyan-500: #22B8CF;
  --lf-cyan-400: #4FD1E3;
  --lf-gold-500: #F0A93B;
  --lf-gold-400: #F4BE63;

  --lf-ink: #16232C;
  --lf-gray-700: #45535B;
  --lf-gray-500: #71828B;
  --lf-gray-300: #C7D2D6;
  --lf-gray-100: #EEF3F5;
  --lf-white: #FFFFFF;

  --lf-success: #2FB380;
  --lf-warning: #E6A93B;
  --lf-danger: #E1573D;

  --lf-gradient-hero: linear-gradient(135deg, var(--lf-blue-900) 0%, var(--lf-blue-700) 45%, var(--lf-cyan-500) 100%);
  --lf-gradient-accent: linear-gradient(90deg, var(--lf-gold-500), var(--lf-gold-400));
  --lf-shadow-sm: 0 2px 8px rgba(10, 46, 69, 0.08);
  --lf-shadow-md: 0 8px 24px rgba(10, 46, 69, 0.12);
  --lf-shadow-lg: 0 20px 48px rgba(10, 46, 69, 0.18);
  --lf-radius-sm: 10px;
  --lf-radius-md: 16px;
  --lf-radius-lg: 24px;
  --lf-transition: all .25s cubic-bezier(.4,0,.2,1);

  --lf-font-heading: 'Poppins', 'Segoe UI', sans-serif;
  --lf-font-body: 'Inter', 'Segoe UI', sans-serif;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: var(--lf-font-body);
  color: var(--lf-ink);
  background: var(--lf-gray-100);
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family: var(--lf-font-heading); font-weight:600; margin:0 0 .5em; color: var(--lf-blue-900); }
p{ line-height:1.7; color: var(--lf-gray-700); }
.container{ width:100%; max-width:1180px; margin:0 auto; padding:0 20px; }
.section{ padding: 64px 0; }
.section-sm{ padding: 40px 0; }
.text-center{ text-align:center; }
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color: var(--lf-cyan-500); margin-bottom:10px;
}
.eyebrow::before{ content:''; width:22px; height:2px; background: var(--lf-gold-500); border-radius:2px; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding: 12px 24px; border-radius: 999px; font-weight:600; font-size:.95rem;
  border:2px solid transparent; cursor:pointer; transition: var(--lf-transition);
}
.btn-primary{ background: var(--lf-gradient-accent); color: var(--lf-blue-900); box-shadow: var(--lf-shadow-sm); }
.btn-primary:hover{ transform: translateY(-2px); box-shadow: var(--lf-shadow-md); }
.btn-outline{ border-color: rgba(255,255,255,.6); color: var(--lf-white); }
.btn-outline:hover{ background: rgba(255,255,255,.12); }
.btn-ghost{ border-color: var(--lf-blue-600); color: var(--lf-blue-700); background: transparent; }
.btn-ghost:hover{ background: var(--lf-blue-700); color:#fff; }
.btn-sm{ padding: 8px 16px; font-size:.85rem; }

.lf-topbar{
  background: var(--lf-blue-900); color: rgba(255,255,255,.85);
  font-size:.82rem; padding: 8px 0;
}
.lf-topbar .container{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; align-items:center; }
.lf-topbar-links{ display:flex; gap:18px; flex-wrap:wrap; }
.lf-topbar-links span{ display:inline-flex; align-items:center; gap:6px; }

.lf-header{
  position: sticky; top:0; z-index: 100;
  background: rgba(255,255,255,.92); backdrop-filter: blur(10px);
  box-shadow: var(--lf-shadow-sm);
}
.lf-header .container{ display:flex; align-items:center; justify-content:space-between; height:78px; }
.lf-logo{ display:flex; align-items:center; gap:10px; font-family: var(--lf-font-heading); font-weight:700; color: var(--lf-blue-900); font-size:1.15rem; }
.lf-logo img{ height:42px; width:auto; }
.lf-nav{ display:flex; align-items:center; gap:4px; }
.lf-nav > ul{ list-style:none; display:flex; gap:4px; margin:0; padding:0; }
.lf-nav > ul > li{ position:relative; }
.lf-nav > ul > li > a{
  display:flex; align-items:center; gap:6px; padding: 10px 14px; border-radius: 999px;
  font-weight:600; font-size:.92rem; color: var(--lf-blue-800); transition: var(--lf-transition);
}
.lf-nav > ul > li > a:hover, .lf-nav > ul > li.active > a{ background: var(--lf-gray-100); color: var(--lf-blue-600); }
.lf-nav .dropdown{
  position:absolute; top: calc(100% + 8px); left:0; min-width:230px;
  background:#fff; border-radius: var(--lf-radius-sm); box-shadow: var(--lf-shadow-lg);
  padding:8px; opacity:0; visibility:hidden; transform: translateY(6px);
  transition: var(--lf-transition); list-style:none; margin:0;
}
.lf-nav li:hover .dropdown{ opacity:1; visibility:visible; transform:none; }
.lf-nav .dropdown li a{ display:block; padding:10px 12px; border-radius:8px; font-size:.88rem; color: var(--lf-gray-700); font-weight:500; }
.lf-nav .dropdown li a:hover{ background: var(--lf-gray-100); color: var(--lf-blue-600); }
.lf-header-cta{ display:flex; align-items:center; gap:10px; }
.lf-burger{ display:none; background:none; border:none; font-size:1.5rem; color: var(--lf-blue-900); cursor:pointer; }

.lf-hero{
  position:relative; overflow:hidden; background: var(--lf-gradient-hero); color:#fff;
  padding: 96px 0 120px;
}
.lf-hero::after{
  content:''; position:absolute; inset:auto -10% -40% -10%; height:60%;
  background: radial-gradient(60% 60% at 50% 50%, rgba(255,255,255,.12), transparent 70%);
}
.lf-hero-grid{ position:relative; display:grid; grid-template-columns: 1.1fr .9fr; gap:48px; align-items:center; }
.lf-hero h1{ color:#fff; font-size: clamp(1.9rem, 3.4vw, 2.9rem); line-height:1.15; margin-bottom:18px; }
.lf-hero p{ color: rgba(255,255,255,.85); font-size:1.05rem; max-width:520px; }
.lf-hero-actions{ display:flex; gap:14px; margin-top:28px; flex-wrap:wrap; }
.lf-hero-card{
  background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  border-radius: var(--lf-radius-lg); padding: 28px; backdrop-filter: blur(6px);
}
.lf-hero-card h3{ color:#fff; }
.lf-hero-card ul{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.lf-hero-card li{ display:flex; align-items:center; gap:12px; color: rgba(255,255,255,.9); font-size:.92rem; }
.lf-hero-card .ico{
  width:38px; height:38px; border-radius:10px; background: var(--lf-gradient-accent);
  display:flex; align-items:center; justify-content:center; color: var(--lf-blue-900); flex:none;
}

.lf-cards{ display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; margin-top:-64px; position:relative; z-index:2; }
.lf-card{
  background:#fff; border-radius: var(--lf-radius-md); padding:28px;
  box-shadow: var(--lf-shadow-lg); transition: var(--lf-transition); border:1px solid var(--lf-gray-100);
}
.lf-card:hover{ transform: translateY(-6px); box-shadow: 0 28px 56px rgba(10,46,69,.2); }
a.lf-card{ display:block; }
.lf-card .ico{
  width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, var(--lf-blue-600), var(--lf-cyan-500)); color:#fff; font-size:1.3rem; margin-bottom:16px;
}
.lf-card h3{ font-size:1.05rem; }
.lf-card p{ font-size:.92rem; margin:0; }

.lf-content-grid{ display:grid; grid-template-columns: 1.4fr .9fr; gap:40px; align-items:start; }
.lf-panel{ background:#fff; border-radius: var(--lf-radius-md); padding:32px; box-shadow: var(--lf-shadow-sm); border:1px solid var(--lf-gray-100); }
.lf-panel + .lf-panel{ margin-top:24px; }
.lf-contact-list{ list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.lf-contact-list li{ display:flex; gap:14px; align-items:flex-start; }
.lf-contact-list .ico{ width:40px; height:40px; border-radius:10px; background: var(--lf-gray-100); color: var(--lf-blue-600); display:flex; align-items:center; justify-content:center; flex:none; }
.lf-contact-list strong{ display:block; font-size:.85rem; color: var(--lf-blue-900); }
.lf-contact-list span{ font-size:.88rem; color: var(--lf-gray-700); }

.lf-doc-toolbar{ display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; flex-wrap:wrap; }
.lf-doc-search{ display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--lf-gray-300); border-radius:999px; padding:10px 16px; min-width:260px; }
.lf-doc-search input{ border:none; outline:none; font-size:.9rem; width:100%; }
.lf-doc-list{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.lf-doc-item{
  display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--lf-gray-100);
  border-radius: var(--lf-radius-sm); padding:16px 18px; transition: var(--lf-transition); flex-wrap:wrap;
}
.lf-doc-item:hover{ box-shadow: var(--lf-shadow-md); border-color: var(--lf-cyan-400); transform: translateY(-2px); }
.lf-doc-icon{
  width:46px; height:46px; border-radius:12px; flex:none; display:flex; align-items:center; justify-content:center;
  background: var(--lf-gray-100); color: var(--lf-blue-700); font-weight:700; font-size:.75rem;
}
.lf-doc-icon.pdf{ background:#FDECEA; color:#D14A38; }
.lf-doc-icon.doc{ background:#E8F0FE; color:#2A5CDB; }
.lf-doc-info{ flex:1; min-width:0; }
.lf-doc-info h4{ margin:0 0 4px; font-size:.95rem; color: var(--lf-blue-900); }
.lf-doc-info span{ font-size:.78rem; color: var(--lf-gray-500); }
.lf-doc-actions{ display:flex; gap:8px; }
.lf-doc-actions .btn{ white-space:nowrap; }
.lf-empty{ text-align:center; padding:48px 20px; color: var(--lf-gray-500); }

.lf-form{ display:grid; gap:18px; }
.lf-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.lf-field label{ display:block; font-size:.85rem; font-weight:600; color: var(--lf-blue-900); margin-bottom:6px; }
.lf-field input, .lf-field select, .lf-field textarea{
  width:100%; padding:12px 14px; border-radius: var(--lf-radius-sm); border:1px solid var(--lf-gray-300);
  font-size:.92rem; font-family: var(--lf-font-body); transition: var(--lf-transition); background:#fbfdfe;
}
.lf-field input:focus, .lf-field select:focus, .lf-field textarea:focus{
  outline:none; border-color: var(--lf-cyan-500); box-shadow: 0 0 0 4px rgba(34,184,207,.15);
}
.lf-alert{ padding:14px 18px; border-radius: var(--lf-radius-sm); font-size:.88rem; display:flex; gap:10px; align-items:center; }
.lf-alert-success{ background:#E7F8F1; color:#1E7B54; border:1px solid #BFEBDA; }
.lf-alert-danger{ background:#FDECEA; color:#B23A28; border:1px solid #F6C7C0; }

.lf-cta{ background: var(--lf-gradient-hero); color:#fff; border-radius: var(--lf-radius-lg); padding:48px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.lf-cta h3{ color:#fff; margin-bottom:6px; }
.lf-cta p{ color: rgba(255,255,255,.85); margin:0; }

.lf-footer{ background: var(--lf-blue-900); color: rgba(255,255,255,.75); padding: 56px 0 24px; margin-top:64px; }
.lf-footer-grid{ display:grid; grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr; gap:32px; }
.lf-footer h4{ color:#fff; font-size:.95rem; margin-bottom:16px; }
.lf-footer p{ color: rgba(255,255,255,.65); font-size:.88rem; }
.lf-footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.lf-footer ul a{ font-size:.88rem; color: rgba(255,255,255,.7); transition: var(--lf-transition); }
.lf-footer ul a:hover{ color: var(--lf-gold-400); padding-left:4px; }
.lf-footer-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:36px; padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.8rem; }

.lf-page-header{ background: var(--lf-gradient-hero); color:#fff; padding: 52px 0; }
.lf-page-header h1{ color:#fff; margin-bottom:8px; font-size:1.9rem; }
.lf-breadcrumb{ display:flex; gap:8px; font-size:.85rem; color: rgba(255,255,255,.75); }
.lf-breadcrumb a{ color: rgba(255,255,255,.75); }
.lf-breadcrumb a:hover{ color:#fff; }

.lf-people-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:20px; }
.lf-person{ background:#fff; border-radius: var(--lf-radius-md); padding:24px; text-align:center; box-shadow: var(--lf-shadow-sm); border:1px solid var(--lf-gray-100); transition: var(--lf-transition); }
.lf-person:hover{ transform: translateY(-4px); box-shadow: var(--lf-shadow-md); }
.lf-person .avatar{ width:64px; height:64px; margin:0 auto 14px; border-radius:50%; background: linear-gradient(135deg, var(--lf-blue-600), var(--lf-cyan-500)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.4rem; overflow:hidden; }
.lf-person .avatar img{ width:100%; height:100%; object-fit:cover; }
.lf-person .cargo{ font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color: var(--lf-cyan-500); font-weight:700; margin-bottom:4px; }
.lf-person .nome{ font-weight:600; color: var(--lf-blue-900); font-size:.92rem; }

.lf-badge{ display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border-radius:999px; font-size:.75rem; font-weight:700; }
.lf-badge-success{ background:#E7F8F1; color:#1E7B54; }
.lf-badge-info{ background:#E8F0FE; color:#2A5CDB; }

.lf-timeline{ list-style:none; margin:0; padding:0; border-left:2px solid var(--lf-gray-300); }
.lf-timeline li{ position:relative; padding:0 0 28px 24px; }
.lf-timeline li::before{ content:''; position:absolute; left:-7px; top:2px; width:12px; height:12px; border-radius:50%; background: var(--lf-gradient-accent); box-shadow:0 0 0 4px #fff; }
.lf-timeline strong{ display:block; color: var(--lf-blue-900); font-size:.92rem; }
.lf-timeline span{ font-size:.82rem; color: var(--lf-gray-500); }

.lf-prose{ color: var(--lf-gray-700); line-height:1.8; }
.lf-prose p{ margin: 0 0 1em; }

@media (max-width: 992px){
  .lf-hero-grid{ grid-template-columns:1fr; }
  .lf-cards{ grid-template-columns:1fr 1fr; margin-top:32px; }
  .lf-content-grid{ grid-template-columns:1fr; }
  .lf-footer-grid{ grid-template-columns:1fr 1fr; }
  .lf-people-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 768px){
  .lf-nav{ position:fixed; inset:78px 0 0 0; background:#fff; flex-direction:column; align-items:flex-start;
    padding:20px; transform: translateX(-100%); transition: var(--lf-transition); overflow-y:auto; }
  .lf-nav.open{ transform:none; box-shadow: var(--lf-shadow-lg); }
  .lf-nav > ul{ flex-direction:column; width:100%; gap:0; }
  .lf-nav > ul > li{ width:100%; }
  .lf-nav .dropdown{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; display:none; padding-left:12px; }
  .lf-nav li.open .dropdown{ display:block; }
  .lf-burger{ display:block; }
  .lf-header-cta .btn-sm{ display:none; }
  .lf-cards{ grid-template-columns:1fr; margin-top:24px; }
  .lf-form-row{ grid-template-columns:1fr; }
  .lf-cta{ flex-direction:column; text-align:center; }
  .lf-footer-grid{ grid-template-columns:1fr 1fr; }
  .lf-people-grid{ grid-template-columns:1fr; }
}
@media (max-width: 480px){
  .lf-footer-grid{ grid-template-columns:1fr; }
  .section{ padding:44px 0; }
  .lf-hero{ padding:64px 0 88px; }
}

/* ==========================================================================
   MODERNIST — redesign do site público, a partir dos modelos em
   G:\LA_FONT\site-design (flat, red-on-white, Archivo, réguas fortes de 2px,
   zero raio de borda, fotos em preto e branco). Tudo aqui é escopado em
   body.lf-site para não alterar em nada o visual do /adm (body.lf-adm-body),
   que continua usando os tokens --lf-* originais acima.
   ========================================================================== */
body.lf-site{
  --lfd-bg: #f3f2f2;
  --lfd-surface: #ffffff;
  --lfd-text: #201e1d;
  --lfd-accent: #178a4c;
  --lfd-accent-100: #eaf7ee;
  --lfd-accent-200: #cdecd7;
  --lfd-accent-600: #147a42;
  --lfd-accent-700: #0e5c31;
  --lfd-accent-800: #0a4224;
  /* Vermelho reservado só para estados de erro/exclusão — independente
     da cor de destaque da marca (agora verde), para manter o
     significado universal de "perigo". */
  --lfd-danger: #c0392b;
  --lfd-danger-100: #fdecea;
  --lfd-divider: rgba(32,30,29,.14);
  --lfd-divider-strong: rgba(32,30,29,.4);
  --lfd-ink-900: #201e1d;
  --lfd-neutral-100: #f8f4f4;
  --lfd-neutral-200: #eae7e7;
  --lfd-neutral-300: #d7d3d3;
  --lfd-neutral-500: #9b9797;
  --lfd-neutral-600: #7d7979;
  --lfd-neutral-700: #605d5d;
  --lfd-font: 'Archivo', system-ui, sans-serif;
  --lfd-shadow-lg: 0 12px 32px rgba(32,30,29,.22);

  background: var(--lfd-bg);
  color: var(--lfd-text);
  font-family: var(--lfd-font);
}
body.lf-site h1, body.lf-site h2, body.lf-site h3, body.lf-site h4{
  font-family: var(--lfd-font); font-weight:800; letter-spacing:-0.015em; color: var(--lfd-text);
}
body.lf-site p{ color: var(--lfd-neutral-700); line-height:1.75; }
body.lf-site a{ color: var(--lfd-accent-700); text-decoration:none; }
body.lf-site a:hover{ color: var(--lfd-accent); }
body.lf-site .container{ max-width:1280px; }
body.lf-site .section{ padding:88px 0; }
body.lf-site .section-sm{ padding:48px 0; }

body.lf-site .eyebrow{ font-family:var(--lfd-font); font-weight:700; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color: var(--lfd-accent-700); }
body.lf-site .eyebrow::before{ background: var(--lfd-accent); border-radius:0; width:24px; }

/* — botões — */
body.lf-site .btn{ border-radius:0; font-family:var(--lfd-font); font-weight:800; letter-spacing:.01em; padding:13px 24px; transition:background .15s ease,color .15s ease,border-color .15s ease; }
body.lf-site .btn-primary{ background: var(--lfd-accent); color:#fff; box-shadow:none; }
body.lf-site .btn-primary:hover{ background: var(--lfd-accent-600); transform:none; box-shadow:none; }
body.lf-site .btn-primary:active{ background: var(--lfd-accent-700); }
body.lf-site .btn-outline{ border:2px solid #fff; color:#fff; border-radius:0; background:transparent; }
body.lf-site .btn-outline:hover{ background: rgba(255,255,255,.14); }
body.lf-site .btn-ghost{ border:2px solid var(--lfd-divider-strong); color: var(--lfd-text); background:transparent; }
body.lf-site .btn-ghost:hover{ background: var(--lfd-text); color:#fff; border-color: var(--lfd-text); }
body.lf-site .btn-sm{ padding:9px 16px; font-size:.82rem; }

/* — topo e cabeçalho — */
body.lf-site .lf-topbar{ background: var(--lfd-ink-900); color: rgba(255,255,255,.72); font-family:var(--lfd-font); font-size:.78rem; }
body.lf-site .lf-header{ position:sticky; top:0; z-index:100; background: var(--lfd-bg); backdrop-filter:none; box-shadow:none; border-bottom:2px solid var(--lfd-divider-strong); }
body.lf-site .lf-header .container{ height:84px; }
body.lf-site .lf-logo{ font-family:var(--lfd-font); font-weight:800; font-size:1.15rem; color: var(--lfd-text); letter-spacing:-0.01em; gap:10px; }
body.lf-site .lf-logo img{ height:36px; }
body.lf-site .lf-logo-dot{ width:9px; height:9px; background: var(--lfd-accent); display:inline-block; flex:none; }
body.lf-site .lf-nav > ul{ gap:2px; height:84px; }
body.lf-site .lf-nav > ul > li > a{ border-radius:0; padding:0 14px; height:84px; font-weight:700; font-size:13.5px; color: var(--lfd-text); border-bottom:3px solid transparent; }
body.lf-site .lf-nav > ul > li > a:hover, body.lf-site .lf-nav > ul > li.active > a{ background:transparent; color: var(--lfd-accent-700); border-bottom-color: var(--lfd-accent); }
body.lf-site .lf-nav .dropdown{ border-radius:0; border:2px solid var(--lfd-divider-strong); box-shadow: var(--lfd-shadow-lg); padding:0; background: var(--lfd-bg); }
body.lf-site .lf-nav .dropdown li a{ border-radius:0; border-bottom:1px solid var(--lfd-divider); font-weight:600; padding:13px 18px; color: var(--lfd-text); }
body.lf-site .lf-nav .dropdown li:last-child a{ border-bottom:none; }
body.lf-site .lf-nav .dropdown li a:hover{ background: var(--lfd-accent-100); color: var(--lfd-accent-700); }
body.lf-site .lf-header-cta .btn-ghost{ border:2px solid var(--lfd-text); border-radius:0; padding:10px 18px; }
body.lf-site .lf-burger{ width:44px; height:44px; border:2px solid var(--lfd-text); color: var(--lfd-text); border-radius:0; background:transparent; }

/* — hero — */
body.lf-site .lf-hero{
  position:relative; overflow:hidden; padding:0; min-height:78vh;
  display:flex; align-items:flex-end; background: var(--lfd-ink-900);
}
body.lf-site .lf-hero::after{ display:none; }
body.lf-site .lf-hero::before{ content:''; position:absolute; right:0; top:0; bottom:0; width:2px; background: var(--lfd-accent); z-index:2; }
body.lf-site .lf-hero-media{ position:absolute; inset:-8% 0; z-index:0; }
body.lf-site .lf-hero-media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.1); }
body.lf-site .lf-hero-overlay{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(32,30,29,.55) 0%, rgba(32,30,29,.35) 40%, rgba(32,30,29,.9) 100%);
}
body.lf-site .lf-hero .container{ position:relative; z-index:1; padding-top:140px; padding-bottom:72px; }
body.lf-site .lf-hero-grid{ grid-template-columns:1fr; gap:0; }
body.lf-site .lf-hero h1{ color:#fff; font-size:clamp(2.2rem,5vw,4.2rem); line-height:.98; letter-spacing:-0.02em; max-width:900px; margin-bottom:24px; }
body.lf-site .lf-hero p{ color: rgba(255,255,255,.82); font-size:1.05rem; max-width:560px; margin-bottom:8px; }
body.lf-site .lf-hero .eyebrow{ color: var(--lfd-accent); display:inline-flex; align-items:center; gap:10px; margin-bottom:20px; }
body.lf-site .lf-hero .eyebrow::before{ width:24px; height:2px; }
body.lf-site .lf-hero-actions{ margin-top:32px; }

/* — tira de canais — */
body.lf-site .lf-channels{ border-bottom:2px solid var(--lfd-divider-strong); }
body.lf-site .lf-channels-grid{ display:grid; grid-template-columns:repeat(5,1fr); }
body.lf-site .lf-channel{ padding:24px 20px; border-left:1px solid var(--lfd-divider); font-size:13px; color: var(--lfd-neutral-700); }
body.lf-site .lf-channel strong{ display:block; font-weight:700; color: var(--lfd-text); font-size:14px; margin-bottom:4px; }

/* — cartões de destaque (numerados, sem ícone) — */
body.lf-site .lf-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:0; counter-reset:lf-card; }
body.lf-site .lf-card{ background:transparent; border-radius:0; box-shadow:none; border:1px solid var(--lfd-divider-strong); padding:36px 32px; transition:background .15s ease; }
body.lf-site .lf-card + .lf-card{ border-left:none; }
body.lf-site .lf-card:hover{ transform:none; box-shadow:none; background: var(--lfd-surface); }
body.lf-site .lf-card .ico{ display:none; }
body.lf-site .lf-card h3{ font-size:22px; margin-bottom:10px; }
body.lf-site .lf-card p{ font-size:14px; margin:0; }
body.lf-site .lf-card::before{ counter-increment:lf-card; content: counter(lf-card, decimal-leading-zero); display:block; color: var(--lfd-accent); font-family:var(--lfd-font); font-weight:800; font-size:11px; letter-spacing:.1em; margin-bottom:14px; }

/* — conteúdo + painel lateral — */
body.lf-site .lf-content-grid{ grid-template-columns:1.4fr 1fr; gap:56px; }
body.lf-site .lf-panel{ background: var(--lfd-surface); border:2px solid var(--lfd-divider-strong); border-radius:0; padding:32px; box-shadow:none; }
body.lf-site .lf-panel + .lf-panel{ margin-top:24px; }
body.lf-site .lf-contact-list li{ padding:14px 0; border-bottom:1px solid var(--lfd-divider); align-items:center; }
body.lf-site .lf-contact-list li:last-child{ border-bottom:none; }
body.lf-site .lf-contact-list .ico{ width:36px; height:36px; border-radius:0; background: var(--lfd-accent-100); color: var(--lfd-accent-700); }
body.lf-site .lf-contact-list strong{ color: var(--lfd-text); }
body.lf-site .lf-contact-list span{ color: var(--lfd-neutral-700); }

/* — listas de documentos / chapas — */
body.lf-site .lf-doc-toolbar{ margin-bottom:28px; }
body.lf-site .lf-doc-search{ border-radius:0; border:2px solid var(--lfd-divider-strong); background: var(--lfd-surface); padding:10px 16px; }
body.lf-site .lf-doc-list{ gap:0; }
body.lf-site .lf-doc-item{ background:transparent; border:none; border-bottom:1px solid var(--lfd-divider); border-radius:0; padding:22px 0; }
body.lf-site .lf-doc-item:hover{ box-shadow:none; border-color: var(--lfd-divider); transform:none; background: var(--lfd-neutral-100); }
body.lf-site .lf-doc-icon{ width:48px; height:48px; border-radius:0; background: var(--lfd-accent); color:#fff; font-weight:800; }
body.lf-site .lf-doc-icon.pdf{ background: var(--lfd-accent-100); color: var(--lfd-accent-700); }
body.lf-site .lf-doc-icon.doc{ background: var(--lfd-neutral-200); color: var(--lfd-neutral-700); }
body.lf-site .lf-doc-info h4{ color: var(--lfd-text); font-weight:700; }
body.lf-site .lf-doc-info span{ color: var(--lfd-neutral-500); }
body.lf-site .lf-empty{ color: var(--lfd-neutral-500); }

/* — formulários — */
body.lf-site .lf-field label{ color: var(--lfd-text); font-weight:700; }
body.lf-site .lf-field input, body.lf-site .lf-field select, body.lf-site .lf-field textarea{
  border-radius:0; border:2px solid var(--lfd-divider-strong); background: var(--lfd-surface); font-family: var(--lfd-font);
}
body.lf-site .lf-field input:focus, body.lf-site .lf-field select:focus, body.lf-site .lf-field textarea:focus{
  border-color: var(--lfd-accent); box-shadow:none; outline:2px solid var(--lfd-accent); outline-offset:1px;
}
body.lf-site .lf-alert{ border-radius:0; border:2px solid transparent; }
body.lf-site .lf-alert-success{ background: var(--lfd-accent-100); color: var(--lfd-accent-700); border-color: var(--lfd-accent); }
body.lf-site .lf-alert-danger{ background: var(--lfd-danger-100); color: var(--lfd-danger); border-color: var(--lfd-danger); }

/* — chamada final — */
body.lf-site .lf-cta{ background: var(--lfd-accent); border-radius:0; padding:56px; }
body.lf-site .lf-cta h3{ color:#fff; }
body.lf-site .lf-cta p{ color: rgba(255,255,255,.9); }
body.lf-site .lf-cta .btn{ background:#fff; color: var(--lfd-accent-700); border-radius:0; }
body.lf-site .lf-cta .btn:hover{ background: var(--lfd-neutral-100); }

/* — rodapé — */
body.lf-site .lf-footer{ background: var(--lfd-ink-900); border-top:2px solid var(--lfd-accent); margin-top:0; }
body.lf-site .lf-footer h4{ font-family:var(--lfd-font); text-transform:uppercase; font-size:13px; letter-spacing:.04em; }
body.lf-site .lf-footer ul a:hover{ color: var(--lfd-accent); padding-left:0; }
body.lf-site .lf-footer-bottom{ font-family:var(--lfd-font); }

/* — faixa de título das páginas internas — */
body.lf-site .lf-page-header{ background: var(--lfd-ink-900); border-bottom:2px solid var(--lfd-accent); padding:56px 0; }
body.lf-site .lf-page-header h1{ font-size:clamp(2rem,4vw,3rem); }
body.lf-site .lf-breadcrumb{ font-family:var(--lfd-font); font-weight:600; }

/* — corpo diretivo — */
body.lf-site .lf-people-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background: var(--lfd-divider-strong); }
body.lf-site .lf-person{ background: var(--lfd-bg); border-radius:0; box-shadow:none; border:none; padding:28px 20px; text-align:left; }
body.lf-site .lf-person:hover{ transform:none; box-shadow:none; background: var(--lfd-surface); }
body.lf-site .lf-person .avatar{ width:100%; height:auto; aspect-ratio:1; margin:0 0 16px; border-radius:0; background: transparent; border:2px solid var(--lfd-divider-strong); color: var(--lfd-neutral-500); font-size:28px; }
body.lf-site .lf-person .avatar img{ filter:grayscale(1) contrast(1.05); }
body.lf-site .lf-person .cargo{ color: var(--lfd-accent-700); text-align:left; }
body.lf-site .lf-person .nome{ color: var(--lfd-text); text-align:left; }

body.lf-site .lf-badge{ border-radius:0; }
body.lf-site .lf-timeline{ border-left:2px solid var(--lfd-divider-strong); }
body.lf-site .lf-timeline li::before{ border-radius:0; background: var(--lfd-accent); box-shadow:0 0 0 4px var(--lfd-bg); }
body.lf-site .lf-prose{ color: var(--lfd-neutral-700); }

@media (max-width: 992px){
  body.lf-site .lf-content-grid{ grid-template-columns:1fr; }
  body.lf-site .lf-cards{ grid-template-columns:1fr 1fr; }
  body.lf-site .lf-channels-grid{ grid-template-columns:repeat(3,1fr); }
  body.lf-site .lf-people-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 768px){
  body.lf-site .lf-header .container{ height:70px; }
  body.lf-site .lf-nav{ top:70px; inset:70px 0 0 0; background: var(--lfd-bg); border-top:2px solid var(--lfd-divider-strong); }
  body.lf-site .lf-nav > ul > li > a{ height:auto; padding:16px 20px; border-bottom:1px solid var(--lfd-divider); border-left:3px solid transparent; }
  body.lf-site .lf-nav > ul > li.active > a{ border-bottom-color: var(--lfd-divider); border-left-color: var(--lfd-accent); }
  body.lf-site .lf-nav .dropdown{ border:none; border-top:1px solid var(--lfd-divider); box-shadow:none; }
  body.lf-site .lf-cards{ grid-template-columns:1fr; }
  body.lf-site .lf-card{ border-left:1px solid var(--lfd-divider-strong) !important; border-top:none; }
  body.lf-site .lf-channels-grid{ grid-template-columns:repeat(2,1fr); }
  body.lf-site .lf-people-grid{ grid-template-columns:1fr; }
  body.lf-site .lf-cta{ padding:36px 24px; }
}
@media (max-width: 480px){
  body.lf-site .lf-channels-grid{ grid-template-columns:1fr; }
  body.lf-site .section{ padding:56px 0; }
}

/* ==========================================================================
   COMUNICADOS (blog), ÁREA RESTRITA e LOGIN — reformulação do Administrativo
   ========================================================================== */
.lf-hidden{ display:none !important; }

/* — cadeado de área restrita no menu — */
.lf-menu-lock{ font-size:.72em; color: var(--lf-gold-500); margin-left:2px; }
.lf-dropdown-note{ padding:10px 12px; font-size:.78rem; color: var(--lf-gray-500); border-bottom:1px solid var(--lf-gray-100); }
.lf-dropdown-note i{ color: var(--lf-gold-500); margin-right:4px; }
.lf-dropdown-note a{ color: var(--lf-blue-600); font-weight:600; }

/* — chip do condômino logado no header — */
.lf-user-chip{ display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; background: var(--lf-gray-100); color: var(--lf-blue-900); font-size:.85rem; font-weight:600; }
.lf-user-chip i{ color: var(--lf-cyan-500); }

/* — tela de login do condômino — */
.lf-login-panel{ max-width:440px; margin:0 auto; }
.lf-login-note{ font-size:.8rem; color: var(--lf-gray-500); margin-top:18px; text-align:center; line-height:1.6; }

/* — grade de posts (Informativos/Avisos) — */
.lf-blog-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; }
.lf-blog-card{ display:flex; flex-direction:column; background:#fff; border-radius: var(--lf-radius-md); overflow:hidden; box-shadow: var(--lf-shadow-sm); border:1px solid var(--lf-gray-100); transition: var(--lf-transition); }
.lf-blog-card:hover{ transform: translateY(-6px); box-shadow: var(--lf-shadow-lg); }
.lf-blog-card-media{ position:relative; aspect-ratio: 16/10; background: var(--lf-gray-100); overflow:hidden; }
.lf-blog-card-media img{ width:100%; height:100%; object-fit:cover; transition: var(--lf-transition); }
.lf-blog-card:hover .lf-blog-card-media img{ transform: scale(1.05); }
.lf-blog-card-placeholder{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color: var(--lf-gray-300); font-size:2.2rem; }
.lf-blog-badges{ position:absolute; right:10px; bottom:10px; display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.lf-blog-video-badge{ background: rgba(10,46,69,.82); color:#fff; font-size:.72rem; font-weight:700; padding:5px 10px; border-radius:999px; display:inline-flex; align-items:center; gap:6px; }
.lf-blog-card-body{ padding:20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.lf-blog-date{ font-size:.75rem; color: var(--lf-gray-500); display:inline-flex; align-items:center; gap:6px; }
.lf-blog-card-body h3{ font-size:1.02rem; margin:0; }
.lf-blog-card-body p{ font-size:.86rem; margin:0; flex:1; }
.lf-blog-readmore{ font-size:.82rem; font-weight:700; color: var(--lf-blue-600); display:inline-flex; align-items:center; gap:6px; margin-top:4px; }

/* — post individual — */
.lf-post-meta{ display:flex; gap:18px; font-size:.82rem; color: var(--lf-gray-500); margin-bottom:10px; }
.lf-post-meta span{ display:inline-flex; align-items:center; gap:6px; }
.lf-post-cover{ width:100%; border-radius: var(--lf-radius-md); margin:20px 0; max-height:420px; object-fit:cover; }
.lf-video-embed{ position:relative; width:100%; aspect-ratio:16/9; margin:20px 0; border-radius: var(--lf-radius-md); overflow:hidden; background:#000; }
.lf-video-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.lf-video-embed-file video{ width:100%; height:100%; display:block; }
.lf-post-content{ margin-top:20px; }
.lf-post-content h3{ margin-top:1.2em; }

/* — PDF anexado (Informativos/Avisos), exibido incorporado, sem clique — */
.lf-pdf-block{ margin-top:28px; }
.lf-pdf-block-header{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.lf-pdf-block-header span{ font-weight:700; color: var(--lf-blue-900); font-size:.92rem; display:inline-flex; align-items:center; gap:8px; }
.lf-pdf-embed{ width:100%; height:80vh; min-height:420px; max-height:900px; border-radius: var(--lf-radius-md); overflow:hidden; border:1px solid var(--lf-gray-100); box-shadow: var(--lf-shadow-sm); }
.lf-pdf-embed iframe{ width:100%; height:100%; border:0; display:block; }

@media (max-width: 992px){
  .lf-blog-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .lf-blog-grid{ grid-template-columns: 1fr; }
  .lf-post-meta{ flex-wrap:wrap; gap:10px; }
  .lf-pdf-embed{ height:70vh; min-height:320px; }
}

/* — variante flat (body.lf-site) — */
body.lf-site .lf-menu-lock{ color: var(--lfd-accent); }
body.lf-site .lf-dropdown-note{ border-bottom:1px solid var(--lfd-divider); color: var(--lfd-neutral-600); }
body.lf-site .lf-dropdown-note a{ color: var(--lfd-accent-700); }
body.lf-site .lf-user-chip{ border-radius:0; background: var(--lfd-neutral-100); color: var(--lfd-text); border:2px solid var(--lfd-divider-strong); }
body.lf-site .lf-user-chip i{ color: var(--lfd-accent); }

body.lf-site .lf-blog-card{ border-radius:0; border:2px solid var(--lfd-divider-strong); box-shadow:none; }
body.lf-site .lf-blog-card:hover{ transform:none; box-shadow: var(--lfd-shadow-lg); border-color: var(--lfd-text); }
body.lf-site .lf-blog-card-media{ border-radius:0; }
body.lf-site .lf-blog-video-badge{ border-radius:0; background: var(--lfd-accent); }
body.lf-site .lf-blog-card-body h3{ font-weight:800; }
body.lf-site .lf-blog-readmore{ color: var(--lfd-accent-700); font-weight:800; text-transform:uppercase; font-size:.74rem; letter-spacing:.04em; }
body.lf-site .lf-blog-card-placeholder{ color: var(--lfd-neutral-300); }

body.lf-site .lf-post-cover{ border-radius:0; }
body.lf-site .lf-video-embed{ border-radius:0; }
body.lf-site .lf-login-panel{ background: var(--lfd-surface); border:2px solid var(--lfd-divider-strong); padding:36px; }
body.lf-site .lf-pdf-block-header span{ color: var(--lfd-text); font-weight:800; }
body.lf-site .lf-pdf-embed{ border-radius:0; border:2px solid var(--lfd-divider-strong); box-shadow:none; }
