/*
  GUIA DE ESTILOS
  - :root concentra cores e fonte reutilizadas no projeto.
  - Reset/base normaliza espaçamentos, tipografia e acessibilidade.
  - site-header/navbar controla a navegação sobre o vídeo inicial.
  - hero/hero-media deixa o vision1 ocupar a primeira tela; hero-utility contém marca e áudio.
  - trust-bar, intro, feature-showcase, detail-section, take-gallery, teams, image-break,
    about e faq estilizam cada capítulo da narrativa do produto.
  - photo-carousel define a galeria interativa; classes is-active e aria-selected são alteradas pelo JS.
  - final-cta/footer fecham a landing page.
  - contact-* estiliza exclusivamente contato.html.
  - Media queries adaptam layout, mídia, menu e formulário para telas menores.
*/
:root { --black:#05080c; --ink:#101a25; --muted:#667587; --blue:#89b8dc; --blue-deep:#31688f; --mist:#f3f8fc; --line:#dce8f1; --white:#fff; --font:'IBM Plex Sans',Arial,sans-serif; }
* { box-sizing:border-box; margin:0; } html { scroll-behavior:smooth; } body { font-family:var(--font); color:var(--ink); background:#fff; line-height:1.45; overflow-x:hidden; } a { color:inherit; text-decoration:none; } img,video { display:block; max-width:100%; } button { font:inherit; } .container { width:min(1160px,calc(100% - 48px)); margin:auto; } .section { padding:clamp(104px,12vw,176px) 0; } h1,h2,h3 { letter-spacing:-.065em; font-weight:600; line-height:.94; } h2 { font-size:clamp(3.1rem,6vw,6rem); } .eyebrow { color:var(--blue-deep); font-size:.68rem; letter-spacing:.16em; font-weight:700; } .skip-link { position:fixed; z-index:100; top:14px; left:14px; padding:10px 14px; background:#fff; transform:translateY(-180%); } .skip-link:focus { transform:translateY(0); } :focus-visible { outline:3px solid var(--blue); outline-offset:4px; }

/* Navegação discreta, como em uma página de produto. */
.site-header { position:absolute; inset:0 0 auto; z-index:20; } .navbar { height:62px; display:flex; align-items:center; justify-content:space-between; color:rgba(255,255,255,.9); } .brand { display:flex; align-items:center; } .brand-logo img { width:126px; height:46px; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); } .nav-panel { display:flex; align-items:center; gap:24px; font-size:.75rem; } .nav-panel>a:not(.nav-cta) { opacity:.8; } .nav-panel>a:not(.nav-cta):hover { opacity:1; } .nav-cta { padding:7px 13px; border:1px solid rgba(255,255,255,.36); border-radius:100px; } .menu-toggle { display:none; }

/* O vídeo abre sozinho, sem textos cobrindo o produto. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }.hero { min-height:100svh; position:relative; isolation:isolate; overflow:hidden; background:#05080c; }.hero::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(1,5,9,.18),transparent 32%,rgba(1,5,9,.35)); pointer-events:none; }.hero-media { position:absolute; z-index:0; inset:0; width:100%; height:100%; } .hero-media video { width:100%; height:100%; object-fit:cover; object-position:center; }.hero-utility { position:absolute; z-index:2; right:0; bottom:24px; left:0; display:flex; justify-content:space-between; align-items:center; color:rgba(255,255,255,.86); font-size:.67rem; font-weight:700; letter-spacing:.15em; }.audio-toggle { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border:1px solid rgba(255,255,255,.4); border-radius:99px; color:#fff; background:rgba(3,10,16,.25); backdrop-filter:blur(8px); font-size:.67rem; letter-spacing:0; cursor:pointer; }.audio-toggle:hover { background:rgba(255,255,255,.16); }.audio-toggle span { font-size:.7rem; }.button,.text-link { font-size:.8rem; font-weight:600; } .button { display:inline-flex; align-items:center; gap:22px; padding:13px 16px; border-radius:100px; transition:transform .25s,background .25s; } .button:hover { transform:scale(1.03); } .button-dark,.button-light { background:#fff; color:#172d3d; } .text-link { color:#fff; } .text-link span { margin-left:6px; }.intro-link { display:inline-block; margin-top:28px; color:var(--blue-deep); font-size:.84rem; font-weight:600; }.intro-link span { margin-left:7px; }

.trust-bar { border-bottom:1px solid var(--line); background:#fff; } .trust-bar .container { min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:24px; } .trust-bar p { color:#657789; font-size:.76rem; } .trust-bar div div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:22px; color:#94a9ba; font-size:.63rem; font-weight:700; letter-spacing:.08em; }
.intro { text-align:center; } .intro-grid { display:grid; grid-template-columns:1fr; justify-items:center; } .intro-grid>.eyebrow { margin-bottom:18px; } .intro-grid h2 { max-width:810px; } .intro h2 em { color:#9fc3df; font-style:normal; } .intro-grid>div>p { max-width:520px; margin:25px auto 0; color:var(--muted); font-size:1.05rem; }

.feature-showcase { display:grid; grid-template-columns:1fr 1fr; background:var(--black); } .showcase-card { min-height:720px; padding:clamp(34px,5vw,76px); position:relative; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; } .showcase-card h2 { max-width:470px; margin:11px 0 16px; font-size:clamp(2.8rem,4.5vw,5rem); } .showcase-copy { position:relative; z-index:2; max-width:390px; } .showcase-copy>p:not(.eyebrow) { max-width:330px; color:inherit; opacity:.72; font-size:.94rem; } .showcase-dark { color:#f6fbff; background:#0d202d; } .showcase-dark .eyebrow { color:#a7d5f6; } .showcase-light { color:#10273a; background:#eaf5fc; } .showcase-media { width:calc(100% + 152px); max-width:none; margin:30px -76px -76px; object-fit:cover; aspect-ratio:16/9; } .showcase-light .showcase-media { order:2; margin:30px -76px -76px; }

.detail-section { background:#fff; } .detail-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(44px,10vw,160px); } .detail-image { overflow:hidden; background:var(--mist); } .detail-image img { width:100%; aspect-ratio:1/1.04; object-fit:cover; transition:transform 1s cubic-bezier(.2,.7,.2,1); } .detail-image:hover img { transform:scale(1.04); } .detail-copy h2 { margin:14px 0 22px; font-size:clamp(2.9rem,4.5vw,4.9rem); } .detail-copy>p:not(.eyebrow) { max-width:410px; color:var(--muted); } .detail-copy ul { list-style:none; margin-top:33px; border-top:1px solid var(--line); } .detail-copy li { display:flex; gap:16px; padding:15px 0; border-bottom:1px solid var(--line); font-size:.84rem; } .detail-copy li span { color:var(--blue-deep); font-size:.68rem; font-weight:700; }

.take-gallery { background:#f5f9fc; } .take-gallery h2 { margin:12px 0 42px; } .take-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; } .take-grid figure { overflow:hidden; background:#e3edf5; } .take-grid .take-wide { grid-column:span 2; } .take-grid img { width:100%; aspect-ratio:1.35/1; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1); } .take-grid .take-wide img { aspect-ratio:2.1/1; } .take-grid figure:hover img { transform:scale(1.035); } figcaption { padding:11px 13px 13px; color:#5e768b; font-size:.73rem; }

.teams { background:#112432; color:#fff; } .teams .eyebrow { color:#a7d6f7; } .teams h2 { margin:12px 0 54px; } .team-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.22); } .team-grid article { min-height:280px; padding:23px 24px; border-right:1px solid rgba(255,255,255,.22); } .team-grid article:last-child { border:0; } .team-grid article>span { color:#a7d6f7; font-size:.68rem; font-weight:700; } .team-grid h3 { margin:86px 0 11px; font-size:1.55rem; } .team-grid p { max-width:265px; color:#b8cad6; font-size:.84rem; }
.image-break { min-height:680px; position:relative; overflow:hidden; background:#142a3c; } .image-break img { width:100%; height:680px; object-fit:cover; } .image-break::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,12,20,.66),transparent 72%); } .image-break>div { position:absolute; z-index:1; top:50%; left:max(24px,calc(50% - 580px)); transform:translateY(-50%); color:#fff; } .image-break .eyebrow { color:#bfe1f7; } .image-break>div p:last-child { margin-top:15px; font-size:clamp(2.5rem,5vw,5.2rem); font-weight:600; line-height:.95; letter-spacing:-.06em; }
.about-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:12vw; } .about-grid h2 { margin-top:12px; } .about-grid>div:last-child { padding-top:26px; color:var(--muted); font-size:1.04rem; } .about-grid .text-link { display:inline-block; margin-top:30px; color:var(--blue-deep); }
.faq { border-top:1px solid var(--line); } .faq-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:10vw; } .faq-grid h2 { margin:12px 0 16px; } .faq-grid>div>p:not(.eyebrow) { max-width:280px; color:var(--muted); } .accordion { border-top:1px solid var(--line); } .accordion details { border-bottom:1px solid var(--line); } .accordion summary { display:flex; justify-content:space-between; gap:20px; padding:20px 0; cursor:pointer; list-style:none; font-size:.92rem; font-weight:600; } .accordion summary::-webkit-details-marker { display:none; } .accordion summary span { color:var(--blue-deep); font-size:1.3rem; font-weight:400; transition:transform .2s; } .accordion details[open] summary span { transform:rotate(45deg); } .accordion details p { max-width:600px; padding:0 0 20px; color:var(--muted); font-size:.85rem; }

/* Carrossel separado: a galeria estática acima continua intacta. */
.photo-carousel { overflow:hidden; background:#eff6fb; } .carousel-heading { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:34px; } .carousel-heading h2 { margin-top:12px; font-size:clamp(2.8rem,5vw,5.2rem); } .carousel-heading>p { max-width:240px; color:var(--muted); font-size:.82rem; } .carousel { cursor:grab; user-select:none; outline:none; } .carousel:active { cursor:grabbing; } .carousel-track { display:flex; gap:18px; will-change:transform; transition:transform .8s cubic-bezier(.2,.75,.2,1); } .carousel-slide { flex:0 0 min(76vw,900px); overflow:hidden; background:#dceaf4; } .carousel-slide img { width:100%; height:clamp(340px,45vw,610px); object-fit:cover; pointer-events:none; transform:scale(1.02); transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s; } .carousel-slide:not(.is-active) img { filter:saturate(.7) brightness(.92); transform:scale(1); } .carousel-controls { display:flex; align-items:center; gap:18px; margin-top:18px; } .carousel-button { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; padding:0; border:1px solid #b7d0e1; border-radius:50%; color:#254c68; background:#fff; cursor:pointer; transition:.2s; } .carousel-button:hover { color:#fff; background:#31688f; transform:scale(1.05); } .carousel-dots { display:flex; flex:1; justify-content:center; gap:6px; } .carousel-dot { width:6px; height:6px; padding:0; border:0; border-radius:9px; background:#a9c0cf; cursor:pointer; transition:.3s; } .carousel-dot[aria-selected='true'] { width:28px; background:#31688f; } .carousel-progress { height:2px; margin-top:20px; background:#d4e4ee; overflow:hidden; } .carousel-progress span { display:block; height:100%; width:9.09%; background:#31688f; transition:width .8s cubic-bezier(.2,.75,.2,1); }
.final-cta { padding:clamp(110px,13vw,190px) 0; color:#fff; text-align:center; background:#09131d; } .final-cta .eyebrow { color:#a7d5f5; } .final-cta h2 { max-width:850px; margin:14px auto 34px; }.final-cta .button { margin:auto; } footer { padding:46px 0; color:#aac0d0; background:#05080c; } .footer-grid { display:grid; grid-template-columns:1.2fr 2fr .6fr 1fr; gap:24px; } .footer-grid .brand-logo img { width:142px; height:58px; filter:none; } .footer-grid>p { max-width:260px; font-size:.76rem; } .footer-grid>div { display:grid; gap:7px; font-size:.75rem; } .copyright { text-align:right; font-size:.68rem!important; }

/* Entrada discreta; nunca esconde conteúdo caso JS falhe. */
.js .reveal { opacity:0; transform:translateY(32px); transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1); }.js .reveal.is-visible { opacity:1; transform:none; }
@media (max-width:900px) { .feature-showcase { grid-template-columns:1fr; } .showcase-card { min-height:570px; } .detail-grid,.about-grid,.faq-grid { grid-template-columns:1fr; gap:44px; } .detail-copy { order:-1; } .about-grid>div:last-child { padding-top:0; } .team-grid { grid-template-columns:1fr; } .team-grid article { min-height:190px; border-right:0; border-bottom:1px solid rgba(255,255,255,.22); } .team-grid h3 { margin-top:30px; } .footer-grid { grid-template-columns:1fr 1fr; }.copyright { text-align:left; } }
@media (max-width:720px) { .container { width:calc(100% - 40px); } .navbar { height:58px; } .menu-toggle { display:flex; align-items:center; gap:8px; padding:0; border:0; color:#fff; background:none; font-size:.75rem; font-weight:600; cursor:pointer; }.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after { display:block; width:17px; height:1px; background:currentColor; position:relative; }.menu-toggle i::before,.menu-toggle i::after { content:''; position:absolute; left:0; }.menu-toggle i::before { top:-5px; }.menu-toggle i::after { top:5px; }.nav-panel { position:absolute; top:58px; left:0; width:100%; display:grid; gap:13px; padding:18px 20px 24px; color:#102030; background:#fff; border-bottom:1px solid var(--line); transform:translateY(-130%); opacity:0; pointer-events:none; transition:.25s; }.nav-panel.is-open { transform:translateY(0); opacity:1; pointer-events:auto; }.nav-cta { text-align:center; margin-top:4px; border-color:#a9c7dc; }.hero { min-height:720px; }.hero-media { inset:0; width:100%; height:100%; }.hero-utility { bottom:16px; font-size:.59rem; }.audio-toggle { padding:6px 9px; font-size:.62rem; }.trust-bar .container { display:block; padding:20px 0; }.trust-bar div div { justify-content:flex-start; gap:10px 16px; margin-top:11px; }.intro { text-align:left; }.take-grid { grid-template-columns:1fr; gap:10px; }.take-grid .take-wide { grid-column:auto; }.take-grid img,.take-grid .take-wide img { aspect-ratio:1.35/1; }.image-break,.image-break img { min-height:500px; height:500px; }.image-break>div { left:20px; }.carousel-heading { display:block; margin-bottom:24px; }.carousel-heading>p { margin-top:14px; }.carousel-slide { flex-basis:calc(100vw - 40px); }.carousel-slide img { height:63vw; min-height:280px; }.carousel-dots { justify-content:flex-start; overflow:hidden; }.carousel-dot[aria-selected='true'] { width:18px; } }
@media (max-width:420px) { .hero { min-height:660px; }.hero h1 { font-size:3.75rem; }.hero-media { width:176vw; }.button { min-width:220px; justify-content:space-between; }.section { padding:90px 0; }.footer-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } .js .reveal { opacity:1; transform:none; } }

/* Página estática de contato. */
.contact-page { min-height:100vh; background:#eef6fb; }.contact-layout { min-height:100vh; display:grid; grid-template-columns:minmax(360px,.88fr) minmax(520px,1.12fr); }.contact-intro { position:relative; display:flex; min-height:100%; flex-direction:column; justify-content:space-between; padding:44px clamp(34px,7vw,108px); color:#fff; background:linear-gradient(150deg,rgba(5,13,21,.84),rgba(19,54,79,.9)),url('Imagens/Medical_AR_glasses_displayed_20261019212315.jpg') center/cover; }.contact-logo img { width:155px; height:62px; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); }.contact-copy { max-width:530px; margin:auto 0; }.contact-copy .eyebrow { color:#b7dff9; }.contact-copy h1 { margin:14px 0 22px; font-size:clamp(3.5rem,6vw,6.8rem); }.contact-copy h1 em { color:#b7dff9; font-style:normal; }.contact-copy>p:last-child { max-width:420px; color:rgba(255,255,255,.76); font-size:1.02rem; }.back-link { color:rgba(255,255,255,.82); font-size:.78rem; }.back-link:hover { color:#fff; }.contact-form-panel { display:grid; place-items:center; padding:72px clamp(28px,7vw,120px); background:#fff; }.contact-form { width:min(100%,580px); display:grid; gap:21px; }.contact-form h2 { margin:10px 0 13px; font-size:clamp(2.6rem,4vw,4rem); }.form-intro { max-width:460px; color:var(--muted); font-size:.9rem; }.contact-form label { display:grid; gap:8px; color:#2e4c65; font-size:.74rem; font-weight:600; }.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:13px 0; border:0; border-bottom:1px solid #c9dae7; border-radius:0; color:var(--ink); background:transparent; outline:0; font:400 .92rem var(--font); transition:border-color .2s; }.contact-form textarea { resize:vertical; }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--blue-deep); }.contact-form input::placeholder,.contact-form textarea::placeholder { color:#a1b1bf; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:21px 28px; }.form-button { display:flex; justify-content:space-between; align-items:center; width:100%; padding:15px 18px; border:0; border-radius:100px; color:#fff; background:#183b56; font:600 .83rem var(--font); cursor:pointer; transition:transform .2s,background .2s; }.form-button:hover { background:#31688f; transform:translateY(-2px); }.form-note { color:#8398a9; font-size:.67rem; line-height:1.5; }@media(max-width:850px) { .contact-layout { grid-template-columns:1fr; }.contact-intro { min-height:430px; padding:34px 30px; }.contact-copy { margin:72px 0 35px; }.contact-copy h1 { font-size:clamp(3.2rem,12vw,5.4rem); }.contact-form-panel { padding:64px 30px; }}@media(max-width:480px) { .contact-intro { min-height:390px; padding:28px 20px; }.contact-form-panel { padding:52px 20px; }.form-grid { grid-template-columns:1fr; gap:20px; }.contact-logo img { width:132px; height:52px; }}
