@import './tokens.css';
@import './base.css';
@import './layout.css';
@import './components.css';
@import './hero.css';

:root { --t-micro: .75rem; --t-mono: .8125rem; --t-sm: .9375rem; --line: #aec4d525; --line-strong: #aec4d546; --line-faint: #aec4d508; }
body { background: var(--ink-900); }
.grain { opacity: .16; }
.brand__word { font-family: var(--font-sans); font-size: 1.3rem; letter-spacing: -.035em; font-weight: 500; }
.brand__word b { font-weight: 600; }
.brand__word span { color: var(--accent-text); }
.brand__mark { width: 1.7rem; height: 1.7rem; }
.nav a { font-size: .8125rem; letter-spacing: .025em; text-transform: none; }
.header-cta { color: var(--bone-100); border-color: var(--line-strong); font-size: .8125rem; text-transform: none; letter-spacing: 0; }
.btn { font-size: .875rem; text-transform: none; letter-spacing: .015em; padding: .95rem 1.4rem; min-height: 48px; }
.btn--sm { padding: .55rem 1rem; min-height: 42px; }
.btn--primary { --btn-fg: var(--action-text); --btn-bg: var(--action-bg); --btn-line: var(--action-border); }
.btn--ghost { padding-inline: .25rem; }
.hero { min-height: max(780px, 100svh); padding-top: 8rem; }
.hero__inner { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 3rem; }
.hero__title { max-width: 10ch; font-size: clamp(4.5rem, 7.75vw, 7.6rem); line-height: .99; }
.hero__title [data-line] { display: block; }
.hero__title em { color: var(--bone-100); }
.hero__title .oxide { color: var(--accent-text); }
.hero .label { margin-bottom: 1.8rem; font-size: .75rem; letter-spacing: .13em; }
.hero__aside { align-self: end; padding-bottom: .9rem; margin-left: auto; max-width: 26rem; gap: 1.5rem; }
.hero__aside .lede { font-size: clamp(1.25rem, 1.7vw, 1.5rem); line-height: 1.45; }
.hero__notation { color: var(--bone-600); font-size: .75rem; letter-spacing: .1em; padding-top: .8rem; border-top: 1px solid var(--line-strong); }
.hero__detail { color: var(--bone-400); font-size: 1rem; line-height: 1.7; }
.hero__actions { gap: .8rem 1.25rem; }
.hero__rule { margin-top: 3.5rem; }
.hero__index { gap: 2rem; }
.hero__index a { font-size: .8125rem; }
.scrollcue { font-size: .75rem; }
.capability-strip { position: relative; z-index: 2; border-block: 1px solid var(--line); background: var(--ink-1000); }
.capability-strip__inner { display: flex; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; padding-block: 1.2rem; color: var(--bone-400); font: .8125rem var(--font-mono); }
.capability-strip__inner > :first-child { color: var(--accent-text); font-size: .75rem; letter-spacing: .1em; }
.section { padding-block: clamp(4.5rem, 8vw, 8rem); }
.section__head { grid-template-columns: 14rem minmax(0, 1fr); }
.section__head h2 { font-size: clamp(2.5rem, 4.3vw, 4rem); max-width: 25ch; line-height: 1.06; }
.section__head h2 em, .lab-grid h2 em, .contact-grid h2 em { color: var(--accent-text); }
.section__head .lede { max-width: 52ch; font-size: 1.125rem; }
.product-section, .process-section, .lab-section, .contact-section { background: color-mix(in srgb, var(--ink-900) 94%, transparent); }
.product-window { border: 1px solid var(--line-strong); background: var(--ink-850); overflow: hidden; border-radius: 4px; box-shadow: var(--shadow-far); }
.product-window__bar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.4rem; border-bottom: 1px solid var(--line); }
.product-window__bar .mono { font-size: .75rem; color: var(--accent-text); letter-spacing: .075em; }
.window-caption { font-size: .8125rem; color: var(--bone-500); }
.product-window img { width: 100%; height: auto; }
.product-capabilities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; margin-top: 2.5rem; }
.product-capabilities article { border-top: 1px solid var(--line); padding-top: 1.5rem; }
.feature-index { display: block; color: var(--accent-text); font-size: .75rem; margin-bottom: 1.15rem; }
.product-capabilities h3 { font-size: 1.85rem; line-height: 1.1; margin-bottom: 1rem; max-width: 18ch; }
.product-capabilities p { color: var(--bone-400); font-size: 1rem; }
.workflow { border: 1px solid var(--line-strong); background: var(--ink-850); }
.workflow__tabs { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.workflow__tabs button { border: 0; background: transparent; border-bottom: 2px solid transparent; padding: 1.5rem; cursor: pointer; text-align: left; font-size: 1rem; color: var(--bone-400); }
.workflow__tabs button + button { border-left: 1px solid var(--line); }
.workflow__tabs button span { margin-right: 1.3rem; font: .75rem var(--font-mono); color: var(--bone-600); }
.workflow__tabs button:hover { background: var(--ink-800); color: var(--bone-100); }
.workflow__tabs button[aria-selected='true'] { border-bottom-color: var(--accent-text); background: var(--accent-soft); color: var(--accent-text); }
.workflow__panel { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; padding: 3.5rem; align-items: center; }
.workflow__panel[hidden] { display: none; }
.workflow__copy h3 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.07; margin: 1.3rem 0; }
.workflow__copy > p { color: var(--bone-400); font-size: 1rem; max-width: 41ch; }
.workflow__example { padding: 2.25rem; background: var(--ink-900); border: 1px solid var(--line); min-height: 260px; display: flex; flex-direction: column; justify-content: space-between; gap: 1.75rem; }
.example-label { color: var(--bone-500); font-size: .75rem; letter-spacing: .07em; }
.workflow__example blockquote { font: italic 1.85rem/1.3 var(--font-display); color: var(--bone-100); }
.example-foot { font-size: .875rem; color: var(--bone-400); }
.example-build ul { list-style: none; padding: 0; font-size: 1rem; }
.example-build li { display: flex; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.example-build li span { color: var(--accent-text); font: .75rem var(--font-mono); margin-top: .3rem; }
.lab-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7rem; }
.lab-grid h2 { font-size: clamp(3rem, 5.8vw, 5.5rem); margin-top: 2.5rem; line-height: 1.05; }
.lab-copy { padding-top: 4rem; color: var(--bone-400); }
.lab-copy > p + p { margin-top: 1.5rem; font-size: 1rem; }
.lab-copy > .lede { color: var(--bone-100); font-size: 1.5rem; max-width: 28ch; }
.lab-note { border-top: 1px solid var(--line); margin-top: 2.5rem; padding-top: 1.5rem; }
.lab-note .mono { font-size: .75rem; color: var(--accent-text); letter-spacing: .08em; }
.lab-note p { font: 1.7rem/1.3 var(--font-display); color: var(--bone-200); margin-top: 1rem; max-width: 29ch; }
.contact-section { background: linear-gradient(115deg, var(--ink-850), var(--ink-900)); }
.contact-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; align-items: end; }
.contact-grid h2 { margin-top: 1.8rem; font-size: clamp(3rem, 5.7vw, 5.3rem); line-height: 1.03; }
.contact-aside .lede { font-size: 1.125rem; max-width: 40ch; margin-bottom: 2rem; }
.contact-address { display: block; color: var(--bone-400); margin-top: 1.2rem; font-size: 1rem; }
.contact-address:hover { color: var(--accent-text); }
.footer { position: relative; z-index: 2; padding-top: 3rem; background: var(--ink-1000); }
.home-footer { display: flex; justify-content: space-between; gap: 2rem; align-items: center; }
.home-footer nav { display: flex; gap: 1rem 2rem; flex-wrap: wrap; font-size: .875rem; color: var(--bone-400); }
.home-footer nav a:hover, .footer__base a:hover { color: var(--accent-text); }
.footer__base { font-size: .75rem; margin-top: 2.5rem; text-transform: none; letter-spacing: .02em; }
.footer__signature { font-size: clamp(3rem, 15.9vw, 14.5rem); padding-bottom: .05em; }

@media (max-width: 1080px) {
  .nav { gap: 1.25rem; }
  .hero__title { font-size: clamp(4.3rem, 8.7vw, 6rem); }
  .hero__aside { max-width: 22rem; }
  .hero__inner { gap: 2rem; }
  .hero__actions { flex-direction: column; align-items: start; }
  .section__head { grid-template-columns: 10rem 1fr; gap: 2rem; }
  .workflow__panel { padding: 2.5rem; gap: 2rem; }
  .lab-grid { gap: 3rem; }
}
@media (max-width: 900px) {
  .header-cta { display: none; }
  .menu-toggle { min-height: 44px; font-size: .8125rem; }
  .hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .hero { min-height: 100svh; padding-top: 8rem; }
  .hero__title { max-width: 15ch; font-size: clamp(4rem, 11vw, 6.5rem); }
  .hero__title [data-line] { display: inline; }
  .hero__title [data-line]::after { content: ' '; }
  .hero__aside { margin-left: 0; max-width: 38rem; }
  .hero__notation { display: none; }
  .hero__aside .lede { font-size: 1.25rem; }
  .hero__actions { flex-direction: row; }
  .hero__rule { margin-top: 2.5rem; }
  .section__head { grid-template-columns: 1fr; gap: 1.5rem; }
  .product-capabilities { gap: 1.5rem; }
  .product-capabilities h3 { font-size: 1.6rem; }
  .workflow__panel { grid-template-columns: 1fr; }
  .workflow__example { min-height: 240px; }
  .lab-grid, .contact-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .lab-copy { padding-top: 0; max-width: 52ch; }
  .home-footer { align-items: start; flex-direction: column; }
}
@media (max-width: 600px) {
  :root { --gutter: 1.25rem; }
  .brand__word { font-size: 1.15rem; }
  .masthead__inner { height: 4.3rem; gap: 1rem; }
  .hero { padding-top: 7rem; padding-bottom: 1.5rem; }
  .hero__title { font-size: clamp(3.6rem, 13.9vw, 5rem); line-height: 1.02; }
  .hero .label { font-size: .75rem; letter-spacing: .04em; margin-bottom: 1.5rem; }
  .hero__detail { font-size: 1rem; }
  .hero__actions { gap: .5rem 1rem; }
  .hero__index { gap: 1.3rem; }
  .hero__index a { font-size: .75rem; }
  .hero__index i { display: none; }
  .scrollcue { display: none; }
  .capability-strip__inner { gap: .8rem; font-size: .75rem; padding-block: 1.1rem; }
  .capability-strip__inner > :first-child { flex-basis: 100%; margin-bottom: .25rem; }
  .section { padding-block: 4rem; }
  .section__head h2 { font-size: 2.65rem; }
  .product-window__bar { padding: .8rem; }
  .window-caption { display: none; }
  .product-window img { width: 820px; max-width: none; height: auto; margin-left: -130px; }
  .product-window { height: 510px; }
  .product-capabilities { grid-template-columns: 1fr; gap: 2rem; margin-top: 2rem; }
  .product-capabilities h3 { font-size: 1.9rem; max-width: none; }
  .product-capabilities p { max-width: 42ch; }
  .workflow__tabs button { padding: 1.1rem .75rem; font-size: .875rem; }
  .workflow__tabs button span { display: block; margin: 0 0 .5rem; }
  .workflow__panel { padding: 1.5rem; gap: 2rem; }
  .workflow__example { padding: 1.4rem; min-height: 270px; }
  .workflow__example blockquote { font-size: 1.6rem; }
  .lab-grid h2 { font-size: 3.5rem; margin-top: 1.5rem; }
  .contact-grid h2 { font-size: 3.6rem; }
  .home-footer nav { gap: 1rem 1.5rem; }
  .footer__signature { margin-top: 2.5rem; }
  .grain { display: none; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }


/* Continuidade soberana: a direção institucional que acompanha o produto. */
.sovereignty-section { background: color-mix(in srgb, var(--ink-850) 96%, transparent); }
.sovereignty-label { display: grid; gap: 1.15rem; align-content: start; }
.sovereignty-status { font: .75rem var(--font-mono); color: var(--bone-400); border-left: 1px solid var(--accent-text); padding-left: .8rem; line-height: 1.6; }
.sovereignty-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(2rem, 6vw, 6rem); }
.sovereignty-question { padding: 2rem 0; border-block: 1px solid var(--line-strong); }
.sovereignty-question blockquote { font: 2.5rem/1.16 var(--font-display); letter-spacing: -.025em; text-wrap: balance; color: var(--bone-100); max-width: 23ch; }
.sovereignty-question blockquote em { color: var(--accent-text); }
.sovereignty-question figcaption { font: .75rem/1.6 var(--font-mono); color: var(--bone-600); letter-spacing: .045em; margin-top: 1.8rem; }
.sovereignty-question > p { margin-top: 1.8rem; font-size: 1rem; color: var(--bone-400); max-width: 47ch; }
.sovereignty-pillars article { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 1rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.sovereignty-pillars article:last-child { border-bottom: 1px solid var(--line); }
.sovereignty-number { font: .875rem var(--font-mono); color: var(--accent-text); padding-top: .2rem; }
.sovereignty-pillars h3 { font: 1.5rem/1.2 var(--font-display); color: var(--bone-100); margin-bottom: .7rem; }
.sovereignty-pillars p { color: var(--bone-400); font-size: 1rem; line-height: 1.65; }
.sovereignty-outlook { border-top: 1px solid var(--line-strong); margin-top: 3rem; padding-top: 1.5rem; display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); }
.sovereignty-outlook .mono { font-size: .75rem; line-height: 1.65; color: var(--accent-text); letter-spacing: .06em; }
.sovereignty-outlook p { color: var(--bone-400); font-size: 1rem; max-width: 69ch; }
@media (min-width: 901px) and (max-width: 1100px) { .masthead .nav { gap: .9rem; } .masthead .nav a { font-size: .75rem; } .masthead .header-cta { padding-inline: .8rem; font-size: .75rem; } .masthead__inner { gap: 1rem; } }
@media (max-width: 900px) { .sovereignty-grid { grid-template-columns: 1fr; gap: 2.5rem; } .sovereignty-question blockquote { max-width: 30ch; } .sovereignty-outlook { grid-template-columns: 1fr; gap: 1rem; } .hero__index { flex-wrap: wrap; gap: 1rem 1.5rem; } }
@media (max-width: 600px) { .sovereignty-question blockquote { font-size: 2rem; } .sovereignty-question figcaption { font-size: .75rem; } .sovereignty-pillars article { grid-template-columns: 1.5rem 1fr; gap: .8rem; } .hero__index { gap: 1rem; } .drawer__list a { padding-block: .85rem; } }
.freedom-home-cta { margin-top: 2rem; }
/* Shared PT / EN navigation. */
.language-switch { display: inline-flex; flex: none; border: 1px solid var(--line-strong); }
.language-switch a { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; font: .875rem var(--font-mono); color: var(--bone-400); }
.language-switch a + a { border-left: 1px solid var(--line-strong); }
.language-switch a:hover { color: var(--bone-100); background: var(--ink-800); }
.language-switch a[aria-current='page'] { color: var(--accent-text); background: var(--accent-soft); }
html[lang='en'] .hero__title { font-size: clamp(4rem, 7.4vw, 6.7rem); }
@media (min-width: 901px) and (max-width: 1200px) { .masthead .header-cta { display: none; } .masthead .nav { gap: 1rem; } }
@media (max-width: 600px) { .masthead__actions { gap: .5rem; } .language-switch a { min-width: 34px; min-height: 40px; font-size: .8125rem; } html[lang='en'] .hero__title { font-size: clamp(3.3rem, 12.5vw, 5rem); } }
@media (min-width: 901px) { html[lang='en'] .hero__title { max-width: 14ch; font-size: clamp(3.7rem, 6.4vw, 6rem); } }
.login-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding-inline: .7rem; font: .875rem var(--font-mono); color: var(--bone-100); border-bottom: 1px solid var(--accent-text); white-space: nowrap; }
.login-link:hover { color: var(--accent-text); }
@media (min-width: 901px) and (max-width: 1300px) { .masthead .header-cta { display: none; } }
@media (max-width: 600px) { .masthead__inner { gap: .5rem; } .masthead .brand__word { font-size: 1rem; } .masthead .brand { gap: .45rem; } .masthead .brand__mark { width: 1.4rem; height: 1.4rem; } .login-link { padding-inline: .3rem; font-size: .8125rem; } .menu-toggle { font-size: .75rem; padding-left: .3rem; } }
@media (max-width: 380px) { .masthead .brand__word { display: none; } }
