:root {
  /* ---- Brand primary (Azul Brenn) ---- */
  --brenn-blue-500: #1dc3fc;   /* core brand cyan */
  --brenn-blue-600: #06a9e2;   /* hover / pressed */
  --brenn-blue-700: #047fac;   /* deep, for text-on-light contrast */
  --brenn-blue-100: #d6f3fe;   /* tint surface */
  --brenn-blue-50:  #ecfaff;   /* faint wash */

  /* ---- Ink / neutrals ---- */
  --black:      #000000;
  --ink-900:    #0a0a0a;   /* preto opaco — logo & strongest headings */
  --ink-800:    #262626;   /* primary heading ink */
  --ink-600:    #595959;   /* secondary text */
  --ink-400:    #8c8c8c;   /* muted / captions */
  --gray-300:   #c9cfd4;   /* strong border */
  --gray-200:   #e3e8eb;   /* default border / divider */
  --gray-100:   #eef2f4;   /* subtle fill */
  --gray-50:    #f5f7f9;   /* app/section background */
  --white:      #ffffff;

  /* ---- Secondary / alert (Laranja) ---- */
  --orange-500: #fd6900;
  --orange-600: #e25a00;
  --orange-100: #ffe4d1;

  /* ---- WhatsApp (exclusive use) ---- */
  --wa-green:   #25d366;
  --wa-green-600:#1ebe5a;

  /* ---- Feedback ---- */
  --success:    #1ebe5a;
  --warning:    #fd6900;
  --danger:     #e23838;
  --info:       #1dc3fc;

  /* ============================================================
     Semantic aliases — reference these in components
     ============================================================ */
  --color-accent:        var(--brenn-blue-500);
  --color-accent-hover:  var(--brenn-blue-600);
  --color-accent-press:  var(--brenn-blue-700);
  --color-accent-soft:   var(--brenn-blue-100);

  --text-heading:        var(--ink-800);
  --text-body:           var(--ink-600);
  --text-muted:          var(--ink-400);
  --text-on-accent:      var(--white);
  --text-link:           var(--brenn-blue-700);

  --surface-page:        var(--gray-50);
  --surface-card:        var(--white);
  --surface-subtle:      var(--gray-100);
  --surface-accent:      var(--brenn-blue-50);

  --border-default:      var(--gray-200);
  --border-strong:       var(--gray-300);
  --border-focus:        var(--brenn-blue-500);
}

/* ============================================================
   BRENN — Typography tokens
   Montserrat → titles, buttons, wordmark (strong, condensed feel via weight)
   Open Sans  → body copy
   Roboto     → technical data, spec tables, numeric
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-heading: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:    'Open Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-technical:'Roboto', system-ui, -apple-system, monospace;

  /* ---- Weights ---- */
  --fw-regular: 400; /* @kind font */
  --fw-medium:  500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:    700; /* @kind font */
  --fw-extrabold:800; /* @kind font */

  /* ---- Type scale (1.250 major-third, base 16px) ---- */
  --text-2xs:  0.6875rem; /* 11px — labels, legal */
  --text-xs:   0.75rem;   /* 12px — captions */
  --text-sm:   0.875rem;  /* 14px — small body, table */
  --text-base: 1rem;      /* 16px — body */
  --text-md:   1.125rem;  /* 18px — lead body */
  --text-lg:   1.375rem;  /* 22px — card titles */
  --text-xl:   1.75rem;   /* 28px — section sub-heads */
  --text-2xl:  2.25rem;   /* 36px — section headlines */
  --text-3xl:  3rem;      /* 48px — hero (desktop) */
  --text-4xl:  3.75rem;   /* 60px — display */

  /* ---- Line heights ---- */
  --lh-tight:   1.1;  /* @kind font */
  --lh-snug:    1.25; /* @kind font */
  --lh-normal:  1.5;  /* @kind font */
  --lh-relaxed: 1.65; /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-tight:  -0.02em; /* @kind font */
  --ls-normal: 0;       /* @kind font */
  --ls-wide:   0.04em;  /* @kind font */
  --ls-wider:  0.12em;  /* @kind font */
}

/* ============================================================
   BRENN — Spacing, radii, shadows, borders, layout
   Calm, technical, generous white space. Soft shadows, no heavy 3D.
   ============================================================ */
:root {
  /* ---- Spacing scale (4px base) ---- */
  --space-0:  0;
  --space-1:  0.25rem;  /* 4 */
  --space-2:  0.5rem;   /* 8 */
  --space-3:  0.75rem;  /* 12 */
  --space-4:  1rem;     /* 16 */
  --space-5:  1.5rem;   /* 24 */
  --space-6:  2rem;     /* 32 */
  --space-7:  3rem;     /* 48 */
  --space-8:  4rem;     /* 64 */
  --space-9:  6rem;     /* 96 — section rhythm */

  /* ---- Radii (soft, rounded corners per brand) ---- */
  --radius-xs:  4px;
  --radius-sm:  8px;
  --radius-md:  12px;   /* default card / input */
  --radius-lg:  16px;   /* feature cards */
  --radius-xl:  24px;   /* large panels */
  --radius-pill: 999px; /* chips, badges, WA button */

  /* ---- Borders ---- */
  --border-width: 1px;
  --border-width-strong: 2px;

  /* ---- Shadows (soft, low-contrast — never harsh) ---- */
  --shadow-xs: 0 1px 2px rgba(16, 38, 50, 0.06);
  --shadow-sm: 0 2px 8px rgba(16, 38, 50, 0.07);
  --shadow-md: 0 8px 24px rgba(16, 38, 50, 0.09);
  --shadow-lg: 0 18px 48px rgba(16, 38, 50, 0.12);
  --shadow-accent: 0 10px 26px rgba(29, 195, 252, 0.30); /* blue CTA lift */
  --shadow-focus: 0 0 0 3px rgba(29, 195, 252, 0.35);    /* focus ring */

  /* ---- Layout ---- */
  --container-max: 1200px;     /* @kind spacing */
  --container-pad: var(--space-5);
  --header-height: 76px;       /* @kind spacing */

  /* ---- Motion (discrete, technical, no bounce) ---- */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);     /* @kind other */
  --dur-fast: 140ms; /* @kind other */
  --dur-base: 220ms; /* @kind other */
  --dur-slow: 360ms; /* @kind other */
}



/* ============================================================
   Brenn landing page — layout styles (consumes design-system tokens)
   Clean, technical, white-dominant. Cyan accent. Soft shadows.
   ============================================================ */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--font-body);color:var(--text-body);
  background:var(--white);-webkit-font-smoothing:antialiased;
}
img{max-width:100%}
/* Sitelink anchors — offset para não ficar sob o header fixo */
.lp-anchor{display:block;height:0;margin:0;padding:0;visibility:hidden}
#orcamento,#servicos,#materiais,#ferramentas,#fachadatec,#diferenciais,#produtos,#solucoes,#clientes,#topo,.lp-anchor{scroll-margin-top:96px}
@media (max-width:960px){#orcamento,#servicos,#materiais,#ferramentas,#fachadatec,#diferenciais,#produtos,#solucoes,#clientes,#topo,.lp-anchor{scroll-margin-top:76px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---- Shared section scaffolding ---- */
.lp-section__inner{max-width:var(--container-max);margin:0 auto;padding-inline:var(--space-5)}
.lp-section__head{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-7);max-width:760px}
.lp-section__head--center{align-items:center;text-align:center;margin-inline:auto}
.lp-eyebrow{
  font-family:var(--font-heading);font-weight:700;font-size:var(--text-xs);
  letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--color-accent-press);
}
.lp-h2{
  font-family:var(--font-heading);font-weight:800;color:var(--text-heading);
  font-size:clamp(1.75rem,1.1rem + 2.4vw,2.25rem);line-height:var(--lh-snug);
  letter-spacing:var(--ls-tight);margin:0;text-wrap:balance;
}
.lp-section__lead{font-size:var(--text-md);line-height:var(--lh-relaxed);color:var(--text-body);margin:0;text-wrap:pretty}
.lp-section__cta{display:flex;justify-content:center;margin-top:var(--space-7)}

/* ============================================================ HEADER */
.lp-header{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.86);
  backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid transparent;
  transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.lp-header.is-scrolled{border-color:var(--border-default);box-shadow:var(--shadow-xs)}
.lp-header__inner{max-width:var(--container-max);margin:0 auto;height:var(--header-height);
  padding-inline:var(--space-5);display:flex;align-items:center;gap:var(--space-5)}
.lp-header__logo{display:flex;align-items:center}
.lp-header__logo img{height:38px;width:auto;display:block}
.lp-header__nav{display:flex;gap:var(--space-5);margin-left:auto}
.lp-header__nav a{font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);
  color:var(--ink-800);text-decoration:none;position:relative;padding-block:4px}
.lp-header__nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--color-accent);transition:right var(--dur-base) var(--ease-out)}
.lp-header__nav a:hover{color:var(--color-accent-press)}
.lp-header__nav a:hover::after{right:0}
.lp-header__cta{margin-left:0}
.lp-header__burger{display:none;background:transparent;border:none;cursor:pointer;color:var(--ink-800);padding:6px}
.lp-header__burger svg{width:26px;height:26px}
.lp-header__mobile{display:none;flex-direction:column;gap:var(--space-3);padding:var(--space-5);
  background:var(--white);border-bottom:1px solid var(--border-default)}
.lp-header__mobile a{font-family:var(--font-heading);font-weight:600;color:var(--ink-800);text-decoration:none;padding:6px 0}

/* ============================================================ HERO */
.lp-hero{position:relative;overflow:hidden;background:var(--white)}
.lp-hero__photo{position:absolute;inset:0;pointer-events:none;z-index:0}
.lp-hero__photo picture,.lp-hero__photo img{position:absolute;inset:0;width:100%;height:100%}
.lp-hero__photo img{object-fit:cover;object-position:center right}
.lp-hero__veil{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(95deg, var(--white) 0%, rgba(255,255,255,.85) 26%, rgba(255,255,255,.35) 46%, rgba(255,255,255,0) 64%),
  linear-gradient(0deg, rgba(255,255,255,.75) 0%, transparent 26%)}
.lp-hero__inner{position:relative;z-index:1;max-width:var(--container-max);margin:0 auto;
  padding:var(--space-9) var(--space-5);display:grid;grid-template-columns:1.05fr .95fr;
  gap:var(--space-8);align-items:center}
.lp-hero__copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}
.lp-hero__title{font-family:var(--font-heading);font-weight:800;color:var(--text-heading);
  font-size:clamp(2rem,1.1rem + 3.6vw,3rem);line-height:var(--lh-tight);
  letter-spacing:var(--ls-tight);margin:0;text-wrap:balance}
.lp-hero__title span{color:var(--color-accent-press)}
.lp-hero__sub{font-size:var(--text-md);line-height:var(--lh-relaxed);color:var(--text-body);margin:0;max-width:54ch}
.lp-hero__lead{font-size:var(--text-base);color:var(--ink-800);font-weight:600;margin:0}
.lp-hero__actions{margin-top:var(--space-2)}
.lp-hero__benefits{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-4)}
.lp-hero__benefits li{display:flex;align-items:center;gap:.5em;font-size:var(--text-sm);
  font-weight:600;color:var(--ink-800)}
.lp-hero__bico{display:inline-flex;width:34px;height:34px;border-radius:var(--radius-sm);
  align-items:center;justify-content:center;background:var(--surface-accent);color:var(--color-accent)}
.lp-hero__bico svg{width:18px;height:18px}
.lp-hero__formcard{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.7);
  -webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);
  border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-6)}

/* ============================================================ SOLUTIONS (sec 2) */
.lp-solutions{padding:var(--space-9) 0;background:var(--white)}
.lp-solutions__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
.lp-solution{display:grid;grid-template-columns:128px 1fr;background:var(--surface-card);
  border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.lp-solution:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.lp-solution__media{position:relative;background:
  linear-gradient(150deg,var(--brenn-blue-700),var(--brenn-blue-500));display:flex;align-items:center;justify-content:center}
.lp-solution__media::before{content:"";position:absolute;inset:0;opacity:.3;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='48' viewBox='0 0 84 48'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.6'%3E%3Cpath d='M0 4H84M0 44H84'/%3E%3Cpath d='M0 4L21 44L42 4L63 44L84 4'/%3E%3Cpath d='M0 44L21 4L42 44L63 4L84 44'/%3E%3C/g%3E%3C/svg%3E");background-size:110px}
.lp-solution__icon{position:relative;display:inline-flex;color:#fff}
.lp-solution__icon svg{width:42px;height:42px;stroke-width:1.6}
.lp-solution__body{padding:var(--space-5)}
.lp-solution__title{font-family:var(--font-heading);font-weight:700;text-transform:uppercase;
  letter-spacing:.02em;font-size:var(--text-base);color:var(--text-heading);margin:0 0 6px}
.lp-solution__desc{font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:0}

/* ============================================================ PRODUCTS (sec 3) */
.lp-products{padding:var(--space-9) 0;background:var(--surface-page);
  border-block:1px solid var(--border-default)}
.lp-feature-prod{display:grid;grid-template-columns:1fr 1.1fr;gap:0;background:var(--surface-card);
  border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;
  box-shadow:var(--shadow-md);margin-bottom:var(--space-7)}
.lp-feature-prod__media{position:relative;min-height:340px;background:var(--gray-100)}
.lp-feature-prod__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.lp-feature-prod__seal{position:absolute;top:var(--space-4);left:var(--space-4)}
.lp-feature-prod__body{padding:var(--space-7)}
.lp-feature-prod__title{font-family:var(--font-heading);font-weight:800;font-size:var(--text-2xl);
  color:var(--text-heading);margin:0;letter-spacing:var(--ls-tight)}
.lp-feature-prod__kicker{font-weight:600;color:var(--color-accent-press);font-size:var(--text-md);margin:6px 0 var(--space-3)}
.lp-feature-prod__desc{font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:0 0 var(--space-4)}
.lp-feature-prod__chips{list-style:none;margin:0 0 var(--space-5);padding:0;
  display:flex;flex-wrap:wrap;gap:var(--space-2)}
.lp-feature-prod__chips li{display:inline-flex;align-items:center;gap:.4em;
  font-family:var(--font-heading);font-weight:600;font-size:var(--text-xs);
  background:var(--surface-accent);color:var(--brenn-blue-700);padding:.5em .9em;border-radius:var(--radius-pill)}
.lp-chip-ico{display:inline-flex;width:14px;height:14px;color:var(--color-accent)}
.lp-chip-ico svg{width:14px;height:14px;stroke-width:2.4}
.lp-products__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}

/* ============================================================ DIFFERENTIALS (sec 4) */
.lp-diff{padding:var(--space-9) 0;background:var(--white)}
.lp-diff__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}

/* ============================================================ PARTNERS (sec 5) */
.lp-partners{padding:var(--space-9) 0;background:var(--surface-page);border-block:1px solid var(--border-default);overflow:hidden}
.lp-marquee{margin-block:var(--space-6);position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lp-marquee__track{display:flex;width:max-content;gap:var(--space-6);
  animation:lp-marquee 38s linear infinite}
.lp-marquee:hover .lp-marquee__track{animation-play-state:paused}
@keyframes lp-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.lp-marquee__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}
.lp-marquee__item{flex:none;width:150px;height:74px;background:var(--surface-card);
  border:1px solid var(--border-default);border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center;padding:14px}
.lp-marquee__item img{max-height:100%;max-width:100%;object-fit:contain;
  filter:grayscale(1);opacity:.62;transition:filter var(--dur-base) var(--ease-standard),opacity var(--dur-base) var(--ease-standard)}
.lp-marquee__item:hover img{filter:grayscale(0);opacity:1}
.lp-partners__foot{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}
.lp-partners__foot p{font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);color:var(--text-heading);margin:0}

/* ============================================================ FINAL FORM (sec 6) */
.lp-final{position:relative;padding:var(--space-9) 0;background:var(--ink-900);color:#fff;overflow:hidden}
.lp-final__texture{position:absolute;inset:0;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='48' viewBox='0 0 84 48'%3E%3Cg fill='none' stroke='%23223038' stroke-width='1.4'%3E%3Cpath d='M0 4H84M0 44H84'/%3E%3Cpath d='M0 4L21 44L42 4L63 44L84 4'/%3E%3Cpath d='M0 44L21 4L42 44L63 4L84 44'/%3E%3C/g%3E%3C/svg%3E");background-size:180px}
.lp-final__inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center}
.lp-final__title{font-family:var(--font-heading);font-weight:800;font-size:clamp(1.75rem,1.1rem + 2.4vw,2.25rem);
  line-height:var(--lh-snug);letter-spacing:var(--ls-tight);margin:0;color:#fff;text-wrap:balance}
.lp-final__lead{font-size:var(--text-md);line-height:var(--lh-relaxed);color:#d9dee2;margin:var(--space-4) 0 var(--space-5);max-width:48ch}
.lp-final__list{list-style:none;margin:0 0 var(--space-6);padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.lp-final__list li{display:flex;align-items:center;gap:.7em;font-size:var(--text-base);font-weight:600;color:#fff}
.lp-final__ico{display:inline-flex;width:26px;height:26px;flex:none;border-radius:50%;
  align-items:center;justify-content:center;background:var(--color-accent);color:var(--ink-900)}
.lp-final__ico svg{width:15px;height:15px;stroke-width:3}
.lp-final__seals{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}
.lp-final__seals a{display:inline-flex;transition:opacity .15s}
.lp-final__seals a:hover{opacity:.82}
.lp-final__seals img{height:46px;width:auto;background:#fff;border-radius:var(--radius-sm);padding:6px 10px}
.lp-final__card{background:var(--surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-6);color:var(--text-body)}

/* ============================================================ FOOTER */
.lp-footer{background:#070707;color:#c9cfd4}
.lp-footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--space-7);padding-block:var(--space-8)}
.lp-footer__brand img{height:40px;margin-bottom:var(--space-4)}
.lp-footer__brand p{font-size:var(--text-sm);line-height:var(--lh-relaxed);max-width:42ch;margin:0}
.lp-footer h4{font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);
  text-transform:uppercase;letter-spacing:var(--ls-wide);color:#fff;margin:0 0 var(--space-3)}
.lp-footer__nav{display:flex;flex-direction:column;gap:10px}
.lp-footer__nav a{color:#c9cfd4;text-decoration:none;font-size:var(--text-sm)}
.lp-footer__nav a:hover{color:var(--color-accent)}
.lp-footer__contact p{font-size:var(--text-sm);margin:0 0 8px}
.lp-footer__contact a{color:#c9cfd4;text-decoration:none}
.lp-footer__contact a:hover{color:var(--color-accent)}
.lp-footer__pending{color:#8c8c8c;font-style:italic}
.lp-footer__bar{border-top:1px solid rgba(255,255,255,.08)}
.lp-footer__barinner{display:flex;justify-content:space-between;gap:var(--space-4);
  padding-block:var(--space-4);font-size:var(--text-xs);color:#8c8c8c}

/* ============================================================ RESPONSIVE */
@media (max-width:960px){
  .lp-hero__photo img{object-position:right bottom}
  .lp-hero__veil{background:linear-gradient(180deg, rgba(255,255,255,.93) 0%, rgba(255,255,255,.82) 45%, rgba(255,255,255,.5) 80%, rgba(255,255,255,.7) 100%)}
  .lp-header__nav{display:none}
  .lp-header__cta{display:none}
  .lp-header__burger{display:flex;margin-left:auto}
  .lp-header__mobile{display:flex}
  .lp-hero__inner{grid-template-columns:1fr;gap:var(--space-7)}
  .lp-solutions__grid{grid-template-columns:1fr}
  .lp-feature-prod{grid-template-columns:1fr}
  .lp-feature-prod__media{min-height:220px}
  .lp-products__grid{grid-template-columns:repeat(2,1fr)}
  .lp-diff__grid{grid-template-columns:1fr 1fr}
  .lp-final__inner{grid-template-columns:1fr}
  .lp-footer__inner{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .lp-products__grid,.lp-diff__grid,.lp-footer__inner{grid-template-columns:1fr}
  .lp-solution{grid-template-columns:84px 1fr}
  .lp-footer__barinner{flex-direction:column;gap:6px}
}

/* Ensure the [hidden] attribute wins over class-based display rules. */
.lp-header__mobile[hidden],.brenn-wa__panel[hidden],.brenn-quote__success[hidden]{display:none!important}
[hidden]{display:none!important}
