/* Landing Kit: global foundation. Component layouts live in componentes/. */
@font-face {
  font-family: Geist;
  src: url('../assets/geist-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --lp-ink: #071A31;
  --lp-green: #11BB77;
  --lp-green-text: #007B58;
  --lp-paper: #FCFBF8;
  --lp-soft: #F5F3EE;
  --lp-muted: #536273;
  --lp-line: rgb(7 26 49 / 14%);
  --lp-gutter: 24px;
  --lp-inset: max(40px, calc((100vw - 1280px) / 2 - 24px));
  --lp-radius: 32px;
  --design-ink: var(--lp-ink);
  --design-gutter: var(--lp-gutter);
  --design-section-inset: var(--lp-inset);
}
* { box-sizing: border-box; }
html { background: var(--lp-paper); scroll-behavior: smooth; }
body.landing-page { margin: 0; color: var(--lp-ink); font-family: Geist, sans-serif; -webkit-font-smoothing: antialiased; }
.landing-page :is(h1,h2,h3,h4,p,figure) { margin: 0; }
.landing-page :is(h1,h2,h3,h4) { font-weight: 600; text-wrap: balance; }
.landing-page p { text-wrap: pretty; }
.landing-page h2 { font-size: clamp(32px, 3.3vw, 46px); line-height: 1.12; letter-spacing: -.05em; }
.landing-page h3 { font-size: 23px; line-height: 1.25; letter-spacing: -.035em; }
.landing-page p { color: var(--lp-muted); font-size: 17px; line-height: 1.65; }
.landing-page a { color: inherit; text-underline-offset: 4px; }
.landing-page button { font: inherit; }
.landing-page img { display: block; max-width: 100%; }
.landing-page :is(a,button,summary):focus-visible { outline: 3px solid var(--lp-green-text); outline-offset: 5px; }
.landing-page :is(section,article)[id] { scroll-margin-top: 108px; }
.landing-page ::selection { background: var(--lp-green); color: var(--lp-ink); }
.lp-skip { position: fixed; z-index: 100; top: 12px; left: 24px; padding: 12px 18px; transform: translateY(-160%); background: white; border-radius: 8px; }
.lp-skip:focus { transform: none; }
.lp-section { margin: 0 var(--lp-gutter) 24px; padding: 88px var(--lp-inset); border-radius: var(--lp-radius); }
.lp-section--soft { background: var(--lp-soft); }
.lp-section--ink { background: var(--lp-ink); color: white; }
.lp-section--ink p { color: #BFCDD9; }
.lp-section--ink :is(a,button,summary):focus-visible { outline-color: var(--lp-green); }
.lp-heading { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 64px; margin-bottom: 48px; }
.lp-heading > h2 { max-width: 620px; }
.lp-heading > p { max-width: 470px; }
.lp-heading--narrow { display: block; max-width: 650px; }
.lp-heading--narrow p { margin-top: 20px; }
.lp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 32px; }
.lp-button { display: inline-flex; min-height: 54px; justify-content: center; align-items: center; gap: 22px; padding: 15px 22px; border: 1px solid var(--lp-line); border-radius: 10px; font-size: 14px; font-weight: 550; line-height: 1.3; text-decoration: none; transition: background 160ms ease, transform 160ms ease; }
.lp-button--primary { background: var(--lp-ink); color: white !important; border-color: var(--lp-ink); }
.lp-button--primary:hover { background: #203B55; }
.lp-button--secondary { background: transparent; }
.lp-button--secondary:hover { background: white; }
.lp-button--green { background: var(--lp-green); border-color: var(--lp-green); color: var(--lp-ink) !important; }
.lp-button--green:hover { background: #5DD0A2; }
.lp-button svg, .lp-text-link svg { width: 20px; height: 20px; flex: 0 0 auto; }
.lp-text-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 20px; font-size: 15px; font-weight: 550; text-decoration-thickness: 1px; }
.lp-icon { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--lp-line); border-radius: 12px; }
.lp-icon svg { width: 24px; height: 24px; stroke-width: 1.5; }
.lp-icon img { width: 24px; height: 24px; }
.lp-connections { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 20px 32px; margin: 8px var(--lp-gutter) 24px; padding: 30px 20px; border-bottom: 1px solid var(--lp-line); font-size: 15px; }
.lp-connections p { font-size: 14px; }
.lp-connections a { text-decoration: none; font-weight: 550; }
.lp-connections a:hover { text-decoration: underline; }
.lp-connections span[aria-hidden] { color: #82909D; }
@media (min-width: 1600px) { .lp-section { padding-inline: max(64px, calc((100vw - 1280px) / 2 - 24px)); } }
@media (max-width: 900px) {
  :root { --lp-inset: 32px; }
  .lp-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 32px; }
  .lp-heading > p { max-width: 620px; }
  .lp-section { padding-block: 64px; }
}
@media (max-width: 600px) {
  :root { --lp-gutter: 12px; --lp-inset: 22px; --lp-radius: 24px; }
  .lp-section { margin-bottom: 12px; padding-block: 48px; }
  .landing-page p { font-size: 16px; }
  .landing-page h3 { font-size: 22px; }
  .lp-actions { align-items: stretch; gap: 10px; }
  .lp-button { min-height: 52px; padding-inline: 18px; }
  .lp-connections { gap: 14px 24px; }
  .lp-connections p { flex-basis: 100%; text-align: center; }
  .lp-connections span[aria-hidden] { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .landing-page *, .landing-page *::before, .landing-page *::after { animation: none !important; transition: none !important; }
}
