/* Lev Histórico-Cultural — webfonts
   Display/headline: Argent CF (Connary Fagen) — licensed files supplied by the brand, self-hosted.
   Body/UI: Mulish (Google Fonts).
   Script "Lev" wordmark: proprietary handwriting logotype — use the logo assets, never a font. */
@import url("https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,300..900;1,300..900&display=swap");
@font-face{font-family:"Argent CF";src:url("fonts/ArgentCF-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Argent CF";src:url("fonts/ArgentCF-RegularItalic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Argent CF";src:url("fonts/ArgentCF-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Argent CF";src:url("fonts/ArgentCF-BoldItalic.ttf") format("truetype");font-weight:700;font-style:italic;font-display:swap}

:root{
  /* ---- Brand palette (from the 2024 identity by Márcia Porto) ---- */
  /* Each colour carries a brand attribute name in the identity deck. */
  --lev-terracotta:#c68477;   /* ACOLHEDORA — welcoming */
  --lev-cream:#f9e9dc;        /* SIMPLES — simple */
  --lev-blush:#e0aea9;        /* ACESSÍVEL — accessible */
  --lev-navy:#08456b;         /* ÉTICA — ethical */
  --lev-teal:#5bb3b5;         /* CRIATIVA — creative */

  /* ---- Tints & shades (derived; use for hover/press/fills only) ---- */
  --lev-navy-900:#052e48;
  --lev-navy-800:#063a5b;
  --lev-navy-700:#08456b;
  --lev-navy-500:#1a638f;
  --lev-navy-400:#3d7fa4;
  --lev-navy-200:#a7c4d5;
  --lev-navy-050:#e7eff4;

  --lev-teal-700:#3d8e90;
  --lev-teal-600:#4aa2a4;
  --lev-teal-500:#5bb3b5;
  --lev-teal-200:#bde0e1;
  --lev-teal-050:#eaf5f5;

  --lev-terracotta-700:#a4655a;
  --lev-terracotta-600:#b77366;
  --lev-terracotta-500:#c68477;
  --lev-terracotta-200:#e8c9c2;
  --lev-terracotta-050:#f8ece9;

  --lev-blush-600:#c9908b;
  --lev-blush-500:#e0aea9;
  --lev-blush-200:#f1d8d5;
  --lev-blush-050:#fbf0ef;

  --lev-cream-500:#f9e9dc;
  --lev-cream-300:#fbf1e8;
  --lev-cream-100:#fdf8f3;

  /* ---- Neutrals: warm, never grey-blue ---- */
  --lev-ink:#1c2b33;
  --lev-ink-soft:#42565f;
  --lev-ink-mute:#6f8189;
  --lev-line:#e4d6c9;
  --lev-line-strong:#cdbaa9;
  --lev-white:#ffffff;

  /* ---- Semantic aliases: surfaces ---- */
  --surface-page:var(--lev-cream-100);
  --surface-page-alt:var(--lev-cream-500);
  --surface-card:var(--lev-white);
  --surface-card-soft:var(--lev-cream-300);
  --surface-inverse:var(--lev-navy-700);
  --surface-accent:var(--lev-teal-500);
  --surface-accent-soft:var(--lev-teal-050);
  --surface-warm:var(--lev-terracotta-500);
  --surface-warm-soft:var(--lev-terracotta-050);
  --surface-blush:var(--lev-blush-500);
  --surface-blush-soft:var(--lev-blush-050);

  /* ---- Semantic aliases: text ---- */
  --text-heading:var(--lev-navy-700);
  --text-body:var(--lev-ink);
  --text-soft:var(--lev-ink-soft);
  --text-mute:var(--lev-ink-mute);
  --text-on-inverse:var(--lev-white);
  --text-on-accent:var(--lev-navy-900);
  --text-on-warm:var(--lev-white);
  --text-link:var(--lev-navy-700);
  --text-link-hover:var(--lev-terracotta-700);

  /* ---- Semantic aliases: borders ---- */
  --border-subtle:var(--lev-line);
  --border-strong:var(--lev-line-strong);
  --border-accent:var(--lev-teal-500);
  --border-focus:var(--lev-navy-700);

  /* ---- Interactive ---- */
  --action-primary:var(--lev-navy-700);
  --action-primary-hover:var(--lev-navy-800);
  --action-primary-press:var(--lev-navy-900);
  --action-secondary:var(--lev-terracotta-500);
  --action-secondary-hover:var(--lev-terracotta-700);
  --action-ghost-hover:var(--lev-cream-500);

  /* ---- Status (derived from the brand palette, no new hues) ---- */
  --status-success:var(--lev-teal-700);
  --status-success-soft:var(--lev-teal-050);
  --status-warn:var(--lev-terracotta-600);
  --status-warn-soft:var(--lev-terracotta-050);
  --status-info:var(--lev-navy-700);
  --status-info-soft:var(--lev-navy-050);
}

:root{
  /* families */
  --font-display:"Argent CF",Georgia,serif;   /* self-hosted, supplied by the brand */
  --font-body:"Mulish","Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;

  /* weights */
  --weight-display:400;
  --weight-display-strong:500;
  --weight-body:400;
  --weight-body-medium:500;
  --weight-body-bold:700;
  --weight-body-black:800;

  /* type scale — display (Argent CF) */
  --text-display-xl:clamp(2.75rem,5.5vw,4.5rem);
  --text-display-l:clamp(2.25rem,4vw,3.25rem);
  --text-display-m:clamp(1.875rem,3vw,2.5rem);
  --text-display-s:1.5rem;

  /* type scale — body (Mulish) */
  --text-lead:1.25rem;
  --text-body-l:1.0625rem;
  --text-body-m:1rem;
  --text-body-s:0.9375rem;
  --text-caption:0.8125rem;

  /* eyebrow / letterspaced label — a core Lev motif */
  --text-eyebrow:0.75rem;
  --tracking-eyebrow:0.22em;
  --tracking-label:0.08em;
  --tracking-display:-0.01em;

  /* line heights */
  --leading-display:1.08;
  --leading-heading:1.2;
  --leading-body:1.6;
  --leading-loose:1.75;

  /* measure */
  --measure-narrow:34ch;
  --measure-body:62ch;
  --measure-wide:78ch;
}

:root{
  --space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:40px;
  --space-8:56px;
  --space-9:72px;
  --space-10:96px;
  --space-11:128px;

  --gutter:var(--space-5);
  --section-y:var(--space-10);
  --container-max:1180px;
  --container-narrow:760px;
  --container-pad:clamp(20px,5vw,48px);
}

:root{
  /* Rounded, never sharp — the logotype's rounded strokes set the tone. */
  --radius-xs:6px;
  --radius-s:10px;
  --radius-m:16px;
  --radius-l:24px;
  --radius-xl:32px;
  --radius-pill:999px;
  --radius-blob:48px 48px 48px 8px; /* soft "petal" corner used on feature cards */
}

:root{
  /* Shadows are warm-tinted and soft. Never neutral black.  */
  --shadow-xs:0 1px 2px rgba(28,43,51,.06);
  --shadow-s:0 2px 8px rgba(28,43,51,.07);
  --shadow-m:0 8px 24px -8px rgba(28,43,51,.14);
  --shadow-l:0 20px 48px -16px rgba(28,43,51,.18);
  --shadow-focus:0 0 0 3px rgba(91,179,181,.45);
  --shadow-inset-line:inset 0 -1px 0 var(--border-subtle);
}

:root{
  --ease-standard:cubic-bezier(.32,.72,.28,1); /* @kind other */
  --ease-out-soft:cubic-bezier(.22,1,.36,1); /* @kind other */
  --ease-in-out:cubic-bezier(.6,0,.4,1); /* @kind other */
  --duration-fast:120ms; /* @kind other */
  --duration-base:200ms; /* @kind other */
  --duration-slow:340ms; /* @kind other */
  --duration-reveal:520ms; /* @kind other */
  --lift-hover:-2px;
  --press-scale:.985; /* @kind other */
}
@media (prefers-reduced-motion:reduce){:root{--duration-fast:0ms; /* @kind other */--duration-base:0ms; /* @kind other */--duration-slow:0ms; /* @kind other */--duration-reveal:0ms /* @kind other */}}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);font-size:var(--text-body-m);line-height:var(--leading-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-display);color:var(--text-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-display);margin:0 0 var(--space-4)}
h1{font-size:var(--text-display-l);line-height:var(--leading-display)}
h2{font-size:var(--text-display-m)}
h3{font-size:var(--text-display-s)}
p{margin:0 0 var(--space-4);max-width:var(--measure-body);text-wrap:pretty}
a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover)}
strong{font-weight:var(--weight-body-bold)}
::selection{background:var(--lev-teal-200);color:var(--lev-navy-900)}
:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}
.lev-eyebrow{font-family:var(--font-body);font-size:var(--text-eyebrow);font-weight:var(--weight-body-bold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-soft)}
.lev-container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}


html { scroll-behavior: smooth; }
body { min-height: 100%; }
img { max-width: 100%; }
.skip-link {
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 9999;
  transform: translateY(-160%);
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--lev-navy-700);
  color: #fff;
}
.skip-link:focus { transform: translateY(0); }
.faq-item { border-bottom: 1px solid var(--border-subtle); }
.faq-item:first-child { border-top: 1px solid var(--border-subtle); }
.faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: var(--space-5) 44px var(--space-5) 0;
  position: relative;
  font-family: var(--font-display);
  font-size: var(--text-display-s);
  color: var(--text-heading);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--lev-cream-500);
  font-family: var(--font-body);
  font-weight: 700;
}
.faq-item[open] summary::after { content: '−'; background: var(--lev-teal-500); color: #fff; }
.faq-answer {
  max-width: var(--measure-body);
  padding: 0 0 var(--space-5);
  color: var(--text-soft);
  font-size: var(--text-body-s);
}
@media (max-width: 760px) {
  header nav { display: none !important; }
  header > div { flex-wrap: wrap !important; gap: 12px !important; }
  header > div > a:last-child:not(:first-child) { margin-left: auto; }
}

