/* Shared visual refinements; original structure and brand remain intact. */
:root { --text-muted: rgba(255,255,255,.7); --accent-purple: #c084fc; }
:is(a,button,input,textarea,summary):focus-visible { outline: 2px solid #c084fc !important; outline-offset: 5px; }
.skip-link { position: fixed; top: 12px; left: 12px; transform: translateY(-160%); z-index: 200; padding: 14px; background: #fff; color: #171024; border-radius: 8px; }
.skip-link:focus { transform: none; }
#main-header { will-change: auto; }
.hero-slide-content :is(h1,h2) { font-size: clamp(3rem,5vw,4.5rem); line-height: 1.08; letter-spacing: -.04em; margin-bottom: 1.25rem; color: #fff; }
.carousel-track { transition: transform .65s cubic-bezier(.22,1,.36,1); }
.hero-slide, .hero-slide-content { min-width: 0; }
.hero-slide-content .button { text-decoration: none; }
.oferta-card, .case-card { animation: none; }
.oferta-card:hover { transform: translateY(-5px); }
.subtitulo-secao, .case-summary, .case-apps { line-height: 1.75; }
.button, .carousel-arrow, .oferta-card { transition-property: transform, background, border-color, box-shadow; }
.form-success[hidden], .form-error[hidden] { display: none; }
@media (min-width:769px) and (max-width:1100px) {
  #main-header, #main-header.scrolled { padding-inline: 22px; }
  nav ul { gap: 13px; }
  nav ul li a { font-size: 12px; }
  .logo-area .nome-logo { font-size: 22px; }
  .hero-slide { padding-inline: 6rem; gap: 2rem; }
  .hero-slide-content :is(h1,h2) { font-size: clamp(2.7rem,5vw,4rem); }
}
@media (min-width:769px) and (max-width:950px) {
  nav ul li:nth-child(5) { display: none; }
  .nav-btn { padding-inline: 12px; }
}
@media (max-width:768px) {
  .logo-area img, #main-header.scrolled .logo-area img { height: 55px; }
  .logo-area .nome-logo { font-size: 23px; }
  body { padding-top: 74px; }
  .hero { padding-top: 32px; }
  .hero-slide { padding: 0 24px; gap: 20px; }
  .hero-slide-content :is(h1,h2) { font-size: clamp(2.1rem,7.8vw,3rem); line-height: 1.12; }
  .hero-slide-content p { font-size: 1rem; line-height: 1.7; }
  .hero-slide-content .button { padding-inline: 22px; max-width: 100%; }
  .hero-slider, .carousel-track, .carousel-track-wrapper, .hero-slide { min-height: 510px; }
  .hero-slider { padding-bottom: 78px; }
  .hero-slide-icon { margin: 12px 0 0; }
  .hero-slide-icon i { font-size: 4.5rem; }
  nav ul { height: 100dvh; overflow-y: auto; visibility: hidden; }
  nav ul.active { visibility: visible; }
  body.menu-open { overflow: hidden !important; }
  .oferta-clara, .cases-section { padding: 64px 24px; }
  .oferta-card { min-width: 0; }
  .cases-container { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .case-card { padding: 24px; }
  .flow-container .step { min-width: 0; }
  .contato-page-form { padding: 24px; }
}
@media (prefers-reduced-motion:reduce) {
  html, body { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  #octo-canvas-container { display: none; }
}

/* Precision, quiet surfaces and a purposeful purple accent. */
:root { --color-bg: #08070c; --color-surface: #111017; --color-muted: #b9b6c5; --text-muted: #b9b6c5; --border-subtle: #302b3d; }
body { background: var(--color-bg); line-height: 1.6; }
::selection { background: #6d28d9; color: #fff; }
#main-header, #main-header.scrolled { padding: 8px max(24px, calc((100vw - 1280px)/2)); background: rgba(8,7,12,.95); border-bottom-color: #25222e; }
.logo-area .nome-logo { text-transform: none; letter-spacing: -.045em; font-size: 28px; }
nav ul { gap: 22px; }
nav ul li a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
header nav ul li a.nav-btn { background: #7434d6 !important; box-shadow: none !important; border: 1px solid #9564e1; }
.lang-active { color: #d3afff; }
.hero { min-height: 680px; border-bottom: 1px solid #25222e; }
.hero::after { animation: none; filter: none; inset: 0; background: radial-gradient(ellipse at 85% 40%, rgba(124,58,237,.13), transparent 60%); }
.oferta-clara::before, .atendimento::before { animation: none; filter: none; background: none; }
.hero-slider { max-width: 1440px; margin-inline: auto; padding-block: 56px 88px; }
.hero-slide { padding-inline: clamp(72px,8vw,128px); gap: 48px; }
.hero-slide-content { flex: 1.35; }
.hero-slide-content :is(h1,h2) { font-size: clamp(3rem,5.1vw,4.8rem); font-weight: 600; letter-spacing: -.055em; line-height: 1.06; }
.hero-slide-content p { color: #beb9cd; font-size: 1.08rem; max-width: 34rem; }
.hero-slide-content::before { content: 'OctoNex / Tecnologia'; display: block; font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #d3afff; margin-bottom: 24px; }
html[lang^="en"] .hero-slide-content::before { content: 'OctoNex / Technology'; }
.hero-slide-icon { flex: .8; aspect-ratio: 1; min-height: 0; max-width: 360px; width: 100%; position: relative; border: 1px solid #40334f; border-radius: 50%; background: repeating-linear-gradient(0deg, transparent 0 39px, rgba(179,152,218,.06) 40px), repeating-linear-gradient(90deg, transparent 0 39px, rgba(179,152,218,.06) 40px); }
.hero-slide-icon::before { content: ''; position: absolute; inset: 13%; border: 1px solid #443256; border-radius: 50%; }
.hero-slide-icon::after { content: ''; position: absolute; inset: 28%; border: 1px solid #715092; border-radius: 24px; transform: rotate(45deg); background: #161020; }
.hero-slide-icon i { position: relative; z-index: 1; font-size: clamp(4rem,6vw,6rem); color: #c4a0f5; filter: none; }
.button, .hero-slide-content .button, .contato .button, .cta-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 24px; border-radius: 10px; border: 1px solid #9564e1; background: #7434d6; color: #fff; font: inherit; font-weight: 600; text-decoration: none; box-shadow: none; cursor: pointer; }
.button:hover, .hero-slide-content .button:hover, .contato .button:hover, .cta-button:hover { background: #6325bf; box-shadow: none; border-color: #bb91f0; transform: translateY(-2px); }
.dots_border { display: none; }
.carousel-arrow { top: auto; bottom: 28px; transform: none; border-radius: 10px; width: 48px; height: 48px; font-size: 1rem; background: #141119; border-color: #40334f; }
.carousel-prev { left: clamp(72px,8vw,128px); }
.carousel-next { left: calc(clamp(72px,8vw,128px) + 60px); right: auto; }
.carousel-arrow:hover { transform: translateY(-2px); background: #322042; }
.oferta-clara, .cases-section, .equipe, #sobre { padding-block: clamp(64px,8vw,112px); }
.oferta-clara .container { max-width: 1200px; margin-inline: auto; }
.tag-atendimento { color: #c4a0f5; letter-spacing: .16em; line-height: 1.6; }
.oferta-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-top: 36px; text-align: left; }
.oferta-card { width: auto; min-width: 0; padding: 30px 24px; border-radius: 14px; background: #111017 !important; border-color: #302b3d !important; backdrop-filter: none; }
.oferta-card i, .oferta-card:nth-child(n) i { color: #c4a0f5 !important; font-size: 1.7rem; }
.oferta-card h3 { font-size: 1.12rem; font-weight: 600; line-height: 1.4; }
.oferta-card p { font-size: .94rem; color: #b9b6c5; line-height: 1.75; }
.oferta-card:hover { transform: translateY(-4px); background: #17121f !important; border-color: #705090 !important; box-shadow: none; }
.oferta-card:hover i { transform: none; filter: none; }
.oferta-card::before { display: none; }
.cases-section { background: #08070c; }
.titulo-secao { color: #f5f2fa; font-weight: 600; letter-spacing: -.04em; font-size: clamp(2rem,3.4vw,3rem); line-height: 1.2; }
.subtitulo-secao { color: #b9b6c5; margin-bottom: 40px; }
.case-card.case-detailed { background: #111017; border-color: #302b3d; border-radius: 18px; padding: 32px; }
.case-headline { font-weight: 600; letter-spacing: -.025em; }
.case-client { font-size: .75rem; letter-spacing: .09em; }
.case-kicker { justify-content: space-between; }
.flow-container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.flow-container .arrow { display: none; }
.flow-container .step { min-width: 0; overflow-wrap: anywhere; line-height: 1.6; }
.portfolio-page .case-info, .home-cases .case-info { background: #15121d; border-color: #302b3d; }
.github-cta { border: 1px solid #302b3d; background: #111017; }
.equipe, #sobre { background: #100d16; border-color: #302b3d; }
.equipe-texto { padding: 0; border: 0; background: none; backdrop-filter: none; animation: none; }
.equipe-texto h2 { background: none; -webkit-text-fill-color: #f5f2fa; font-weight: 600; letter-spacing: -.04em; }
.card-equipe { background: #17121f; border-color: #40334f; animation: none; }
.contato-page-copy { text-align: left; }
.contato-page-copy h1 { font-weight: 600; }
.contato-page-form { border-radius: 18px; border-color: #40334f; background: #111017; box-shadow: none; text-align: left; }
.contato-page-form :is(input,textarea) { font-family: inherit; border-radius: 8px; background: #0b0910; border-color: #50465e; padding: 14px 16px; }
.contato-page-form :is(input,textarea)::placeholder { color: #aaa3b8; opacity: 1; }
.contato-page-form button:hover { box-shadow: none; }
.footer { border-top: 1px solid #302b3d; background: #08070c; }
.footer-menu a, .footer-social a, .card-social-icons a { min-height: 44px; }
.card-social-icons a { min-width: 44px; }
.footer-bottom { color: #b9b6c5; }
.portfolio-page main { padding-top: 80px !important; }
.institucional-page main { padding-top: 64px; }
.institucional-page main h2 { color: #c4a0f5; letter-spacing: -.02em; }
@media (min-width:769px) and (max-width:1100px) {
  nav ul { gap: 12px; }
  nav ul li a { font-size: 12px; }
  .logo-area .nome-logo { font-size: 22px; }
  header nav ul li a.nav-btn { padding-inline: 12px !important; }
  .oferta-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-slide { gap: 28px; }
}
@media (max-width:768px) {
  #main-header, #main-header.scrolled { padding: 8px 20px; }
  .hero { min-height: 0; padding: 32px 0 0; }
  .hero-slider { padding-block: 0 88px; }
  .hero-slide { padding-inline: 24px; gap: 28px; }
  .hero-slide-content { flex: none; width: 100%; }
  .hero-slide-content::before { margin-bottom: 18px; font-size: .68rem; }
  .hero-slide-content :is(h1,h2) { font-size: clamp(2.25rem,8vw,3.4rem); }
  .hero-slide-content .button { white-space: normal; }
  .hero-slide-icon { flex: none; width: 150px; height: 150px; margin: 0; }
  .hero-slide-icon i { font-size: 2.8rem; }
  .hero-slider, .carousel-track, .carousel-track-wrapper, .hero-slide { min-height: 0; }
  .carousel-prev { left: 24px; }
  .carousel-next { left: 84px; right: auto; }
  nav ul { width: min(320px,100vw); padding-top: 86px; gap: 12px; }
  nav ul li { width: 100%; }
  nav ul li a { font-size: 15px; }
  .oferta-grid { grid-template-columns: minmax(0,1fr); margin-top: 28px; }
  .oferta-card { padding: 26px; }
  .case-card.case-detailed { padding: 24px; }
  .cases-container, .portfolio-page .cases-container { grid-template-columns: minmax(0,1fr); }
  .case-kicker { justify-content: flex-start; }
  .equipe-container { gap: 36px; }
  .contato-page, #contato.contato-page { padding: 48px 0 64px; }
  .contato-page-form { padding: 24px; }
  .portfolio-page main { padding-top: 48px !important; }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-slide-content { animation: premium-enter .5s ease-out both; }
  @keyframes premium-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
}
.carousel-pause { position: absolute; left: calc(clamp(72px,8vw,128px) + 120px); bottom: 28px; min-height: 48px; padding: 10px 16px; border: 1px solid #40334f; border-radius: 10px; background: #141119; color: #c4a0f5; font: inherit; cursor: pointer; }
.carousel-pause:hover { background: #322042; }
.supplemental-contact { width: min(640px,calc(100% - 48px)); margin: 48px auto; }
.supplemental-contact button { font: inherit; color: #fff; background: #7434d6; border: 1px solid #9564e1; border-radius: 8px; }
@media (max-width:768px) { .carousel-pause { left: 144px; } }.button::before, .button::after { display: none; }
.button .text_button { letter-spacing: 0; }
.lang-switcher .lang-active { color: #d3afff; }
.institucional-page, .portfolio-page { background: #08070c; }
@media (min-width:769px) and (max-width:1100px) {
  .menu-toggle { display: flex; }
  nav ul li:nth-child(5) { display: block; }
  nav ul { position: fixed; top: 0; right: -100%; flex-direction: column; background: #100b19; width: 320px; height: 100dvh; padding: 90px 24px 24px; gap: 12px; align-items: flex-start; visibility: hidden; overflow-y: auto; z-index: 110; transition: right .25s ease; }
  nav ul.active { right: 0; visibility: visible; }
  nav ul li { width: 100%; }
  nav ul li a { font-size: 15px; }
  body.menu-open { overflow: hidden !important; }
}@media (max-width:1100px) { .menu-toggle { order: 2; margin-left: auto; flex-shrink: 0; } nav { margin-left: 0; } }
#contato.contato-page .contato-page-copy p, #contato.contato-page .form-observacao { color: #b9b6c5; }
.error-container + footer { color: #b9b6c5; }.institucional-page main { padding-top: 80px !important; }
.institucional-page main > .container > p { margin-bottom: 20px; }
@media (max-width:768px) { .institucional-page main { padding-top: 48px !important; } }
/* Keep one document scroller so keyboard focus cannot scroll a nested body. */
:root body { overflow-y: visible !important; }
