/* VORYYA — camada de soluções para clínicas (2026-10-13)
   Carrega depois de styles.css e restyle.css. Reaproveita as variáveis e
   componentes existentes; só acrescenta o que as páginas de produto precisam. */

/* ===== Acessibilidade básica ===== */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:3px;
  border-radius:6px;
}
.site-nav a[aria-current="page"]{ color:#fff; }

/* ===== Primeira dobra: título mais longo, específico para clínicas ===== */
.hero h1{
  font-size:clamp(2.5rem,4.5vw,4.7rem);
  line-height:1.04;
  letter-spacing:-.04em;
  max-width:760px;
}
.hero-proof{ gap:10px 18px; }
.hero-proof span:not(.proof-line){ white-space:nowrap; }

/* Cartão flutuante inferior não pode cobrir o painel do hero */
.hero-float-bottom{ right:-6px; bottom:6px; }

/* Rótulos de conteúdo ilustrativo */
.demo-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border:1px solid rgba(255,118,23,.45);
  border-radius:999px;
  background:rgba(255,118,23,.08);
  color:#b55b1f;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.section-dark .demo-tag,
.hero .demo-tag{ color:#ffad67; background:rgba(255,118,23,.12); }
.demo-note{
  margin:16px 0 0;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.5;
}
.section-dark .demo-note,
.hero .demo-note{ color:rgba(248,244,238,.6); }
.hero-visual .demo-note{
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  text-align:center;
  z-index:6;
}

/* ===== Ecossistema: NERO Pro x NERO Premium ===== */
.nero-products{ padding:140px 0 150px; }
.pab-section{ padding:140px 0 110px; }
.security-section{ padding:140px 0 120px; }
.solutions-head{ max-width:860px; }
.solutions-head h2{
  margin:0;
  font-family:'Montserrat','Manrope',sans-serif;
  font-weight:400;
  font-size:clamp(2.6rem,5vw,5.2rem);
  letter-spacing:-.045em;
  line-height:1.02;
}
.solutions-head h2 em{ color:var(--orange); font-style:normal; }
.solutions-head>p:last-child{ max-width:600px; margin:28px 0 0; color:var(--muted-light); font-size:1.08rem; line-height:1.65; }

.product-compare{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:64px;
}
.product-card{
  position:relative;
  display:flex;
  flex-direction:column;
  padding:34px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,255,255,.09),rgba(255,255,255,.03));
  box-shadow:0 24px 50px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.1);
}
.product-card-premium{
  border-color:rgba(255,118,23,.5);
  background:
    radial-gradient(circle at 88% 8%,rgba(255,118,23,.16),transparent 34%),
    linear-gradient(150deg,rgba(255,255,255,.1),rgba(255,255,255,.03));
}
.product-tag{
  display:inline-block;
  align-self:flex-start;
  margin:0 0 22px;
  padding:6px 12px;
  border:1px solid rgba(255,118,23,.55);
  border-radius:999px;
  color:#ffad67;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.18em;
}
.product-card h3{
  margin:0;
  font-family:var(--display);
  font-size:clamp(1.5rem,2.2vw,2rem);
  line-height:1.1;
  letter-spacing:-.02em;
}
.product-card>p{
  margin:14px 0 0;
  color:var(--muted-light);
  line-height:1.6;
}
.check-list{
  list-style:none;
  margin:24px 0 28px;
  padding:0;
  display:grid;
  gap:11px;
}
.check-list li{
  position:relative;
  padding-left:26px;
  line-height:1.5;
  font-size:.96rem;
}
.check-list li:before{
  content:'';
  position:absolute;
  left:0;
  top:.5em;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 0 4px rgba(255,118,23,.18);
}
.product-card .check-list{ color:rgba(248,244,238,.86); }
.product-card .inline-link{ margin-top:auto; }
.compare-note{
  max-width:860px;
  margin:34px 0 0;
  color:var(--muted-light);
  font-size:1rem;
  line-height:1.65;
}
.compare-note strong{ color:#fff; }

/* ===== Presence / Ads / Brand ===== */
.solution-trio{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:64px;
}
.sol-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:300px;
  padding:28px;
  border:1px solid rgba(35,39,42,.12);
  border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,255,255,.78),rgba(239,233,226,.58));
  box-shadow:0 18px 38px rgba(41,43,44,.08),inset 0 1px 0 rgba(255,255,255,.84);
  transition:transform .25s,border-color .25s,box-shadow .25s;
}
.sol-card:hover{
  transform:translateY(-5px);
  border-color:rgba(185,89,26,.5);
  box-shadow:0 22px 40px rgba(43,56,65,.12);
}
.sol-card small{
  color:#9a4d19;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.18em;
}
.sol-card h3{
  margin:44px 0 10px;
  font-family:var(--display);
  font-size:1.5rem;
  line-height:1.1;
  letter-spacing:-.02em;
}
.sol-card p{ margin:0 0 22px; color:var(--muted); line-height:1.6; }
.sol-card .inline-link{ margin-top:auto; color:#b55b1f; }

/* ===== Experience + Immersion ===== */
.experience-panel{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:34px;
  margin-top:22px;
  padding:44px;
  border-radius:calc(var(--radius) + 6px);
  color:#fff;
  background:
    radial-gradient(circle at 86% 14%,rgba(255,118,23,.2),transparent 32%),
    linear-gradient(140deg,#181b1d 0%,#2b3236 55%,#202529 100%);
  box-shadow:0 30px 60px rgba(29,33,35,.25);
}
.experience-panel h3{
  margin:0;
  font-family:var(--display);
  font-size:clamp(1.9rem,3.2vw,3rem);
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:600;
}
.experience-panel .exp-copy>p{
  max-width:560px;
  margin:16px 0 0;
  color:var(--muted-light);
  line-height:1.65;
}
.exp-equation{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 10px;
  margin:26px 0 30px;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.16em;
}
.exp-equation b{
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  font-weight:700;
}
.exp-equation i{ color:var(--orange); font-style:normal; font-size:1rem; }
.exp-immersion{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  border:1px solid rgba(255,118,23,.5);
  border-radius:var(--radius);
  background:rgba(255,118,23,.07);
}
.exp-immersion small{
  color:var(--orange);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.2em;
}
.exp-immersion h4{
  margin:12px 0 10px;
  font-family:var(--display);
  font-size:1.6rem;
  line-height:1.1;
  letter-spacing:-.02em;
}
.exp-immersion p{ margin:0; color:var(--muted-light); line-height:1.6; }

/* ===== Segurança, privacidade e limites da IA ===== */
.security-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:64px;
}
.security-grid article{
  padding:28px;
  border:1px solid rgba(35,39,42,.12);
  border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,255,255,.78),rgba(239,233,226,.58));
  box-shadow:0 14px 30px rgba(41,43,44,.06);
}
.security-grid h3{
  margin:0 0 10px;
  font-family:var(--display);
  font-size:1.2rem;
  line-height:1.2;
}
.security-grid p{ margin:0; color:var(--muted); line-height:1.6; }
.security-foot{ margin-top:26px; }
.security-foot a{ color:#b55b1f; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* ===== Cartão de contato com dois botões ===== */
.contact-actions{ min-width:330px; }
.contact-actions .button{ width:100%; }
@media (max-width:980px){ .contact-actions{ min-width:0; width:100%; } }
.button-ghost-light{
  border:1px solid rgba(239,245,247,.3);
  color:#fff;
  background:rgba(255,255,255,.05);
}

/* ===== Vídeo com carregamento sob demanda ===== */
.video-facade{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  min-height:300px;
  padding:20px;
  border:0;
  border-radius:inherit;
  background:
    radial-gradient(circle at 70% 20%,rgba(255,118,23,.28),transparent 40%),
    linear-gradient(150deg,#171a1c,#343c41);
  color:#fff;
  text-align:center;
  cursor:pointer;
}
.video-facade .play{
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  margin:0 auto 14px;
  border-radius:50%;
  background:var(--orange);
  color:#17191b;
  font-size:1.4rem;
  box-shadow:0 0 36px rgba(255,118,23,.4);
}
.video-facade strong{ display:block; font-family:var(--display); font-size:1.05rem; }
.video-facade small{ display:block; margin-top:6px; color:rgba(248,244,238,.65); font-size:.75rem; }
.video-frame iframe{ width:100%; height:100%; border:0; border-radius:inherit; }

/* ===== Páginas de produto ===== */
.page-hero{
  position:relative;
  padding:170px 0 96px;
  overflow:hidden;
}
.page-hero:before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 30%,rgba(202,217,225,.16),transparent 28%),
    radial-gradient(circle at 12% 80%,rgba(255,122,22,.1),transparent 26%);
  pointer-events:none;
}
.page-hero-inner{ position:relative; max-width:880px; margin-left:max(24px,calc((100% - 1180px) / 2)); }
.page-hero h1{
  margin:0;
  font-family:var(--display);
  font-size:clamp(2.3rem,4.6vw,4.4rem);
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:400;
}
.page-hero h1 em{ color:var(--orange); font-style:normal; font-weight:300; text-shadow:0 0 24px rgba(255,118,23,.18); }
.page-hero .hero-lead{ max-width:660px; }
.crumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 30px;
  color:rgba(248,244,238,.6);
  font-size:.74rem;
  letter-spacing:.08em;
}
.crumbs a:hover{ color:#fff; }
.crumbs [aria-current="page"]{ color:rgba(248,244,238,.9); }

.info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:56px;
}
.info-card{
  padding:30px;
  border:1px solid rgba(35,39,42,.12);
  border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,255,255,.8),rgba(239,233,226,.58));
  box-shadow:0 14px 30px rgba(41,43,44,.06);
}
.info-card small{
  color:#9a4d19;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.18em;
}
.info-card h3{
  margin:12px 0 14px;
  font-family:var(--display);
  font-size:1.4rem;
  line-height:1.15;
}
.info-card p{ margin:0 0 12px; color:var(--muted); line-height:1.65; }
.info-card .check-list{ margin:16px 0 0; color:var(--ink-soft); }

.steps-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:56px;
  padding:0;
  list-style:none;
  counter-reset:step;
}
.steps-grid li{
  position:relative;
  padding:26px 24px 28px;
  border:1px solid rgba(35,39,42,.12);
  border-radius:var(--radius);
  background:linear-gradient(150deg,rgba(255,255,255,.8),rgba(239,233,226,.58));
  box-shadow:0 14px 30px rgba(41,43,44,.06);
}
.steps-grid li:before{
  counter-increment:step;
  content:'0' counter(step);
  display:block;
  margin-bottom:34px;
  color:#bb5c1e;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.14em;
}
.steps-grid h3{ margin:0 0 8px; font-family:var(--display); font-size:1.15rem; line-height:1.2; }
.steps-grid p{ margin:0; color:var(--muted); font-size:.93rem; line-height:1.6; }

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:56px;
}
.feature-grid .cap-card{ min-height:230px; }
.feature-grid .cap-card small{ margin-top:0; color:#9a4d19; }
.feature-grid .cap-featured small{ color:var(--orange); }
.feature-grid .cap-card h3{ margin-top:14px; }
.feature-grid .cap-card p{ max-width:none; }
.scope-note{
  max-width:760px;
  margin:26px 0 0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.6;
}

.dual-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:60px;
}
.dual-grid h2{
  margin:0 0 26px;
  font-family:var(--display);
  font-size:clamp(1.9rem,3.2vw,3rem);
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:400;
}
.dual-grid h2 em{ color:var(--orange); font-style:normal; }
.dual-grid .implant-list{ margin:0; }
.limits-list{ list-style:none; margin:0; padding:0; display:grid; gap:0; }
.limits-list li{
  padding:18px 0 18px 30px;
  position:relative;
  border-top:1px solid var(--line-light);
  color:var(--muted-light);
  line-height:1.6;
}
.limits-list li:last-child{ border-bottom:1px solid var(--line-light); }
.limits-list li:before{
  content:'';
  position:absolute;
  left:2px;
  top:1.45em;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--orange);
}
.limits-list strong{ color:#fff; font-weight:700; }

.choose-box{
  margin-top:40px;
  padding:26px 30px;
  border:1px solid rgba(255,118,23,.4);
  border-radius:var(--radius);
  background:rgba(255,118,23,.06);
  color:var(--ink-soft);
  line-height:1.65;
}
.choose-box strong{ color:var(--ink); }
.choose-box a{ color:#b55b1f; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

.module-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:56px;
}
.module-grid a.sol-card{ min-height:260px; }
.module-grid .sol-card h3{ margin-top:30px; font-size:1.3rem; }

.related{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin-top:44px;
  padding-top:28px;
  border-top:1px solid var(--line-light);
  font-size:.85rem;
  color:rgba(248,244,238,.6);
}
.related strong{
  font-size:.65rem;
  letter-spacing:.18em;
  color:var(--orange);
  flex-basis:100%;
}
.related a{ color:rgba(248,244,238,.85); }
.related a:hover{ color:#fff; }

/* ===== Texto corrido (privacidade) ===== */
.prose{ max-width:760px; }
.prose h2{
  margin:48px 0 12px;
  font-family:var(--display);
  font-size:1.5rem;
  line-height:1.2;
}
.prose h2:first-child{ margin-top:0; }
.prose p,.prose li{ color:var(--ink-soft); line-height:1.75; }
.prose ul{ padding-left:20px; }
.prose a{ color:#b55b1f; text-decoration:underline; text-underline-offset:3px; }

/* ===== Rodapé em quatro colunas ===== */
.footer-grid{ grid-template-columns:1.3fr .9fr .8fr .7fr; }
.footer-bottom a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }

/* ===== Páginas de erro ===== */
.notfound{ min-height:70vh; display:grid; align-items:center; padding:170px 0 90px; }

/* ===== Responsivo ===== */
@media (max-width:1100px){
  .steps-grid,.module-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feature-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .site-nav{ gap:18px; }
}
@media (max-width:980px){
  .product-compare,.dual-grid,.info-grid,.security-grid,.experience-panel{ grid-template-columns:1fr; }
  .solution-trio{ grid-template-columns:1fr; }
  .dual-grid{ gap:48px; }
  .experience-panel{ padding:30px 24px; }
  .page-hero{ padding:140px 0 70px; }
  .page-hero-inner{ margin-left:auto; margin-right:auto; width:var(--shell); }
  .hero-float-bottom{ display:none; }
}
@media (max-width:680px){
  .hero h1{ font-size:clamp(2.1rem,9.2vw,2.8rem); }
  .steps-grid,.module-grid,.feature-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .product-card{ padding:26px 22px; }
  .sol-card{ min-height:0; }
  .sol-card h3{ margin-top:28px; }
  .security-grid{ margin-top:40px; }
  .product-compare,.solution-trio{ margin-top:40px; }
  .hero-proof span:not(.proof-line){ white-space:normal; }
}

/* ===== Espaçamento padrão das seções das páginas de produto ===== */
.page-sec{ padding:120px 0 110px; }
.feature-grid.cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.page-hero .eyebrow{ margin-bottom:22px; }
.faq-grid .choose-box{ margin-top:34px; max-width:440px; font-size:.95rem; }
@media (max-width:980px){
  .page-sec{ padding:84px 0 76px; }
  .feature-grid.cols-2{ grid-template-columns:1fr; }
}

/* Tablet: a demonstração do NERO passa para uma coluna (antes só mudava abaixo de 680px) */
@media (max-width:980px){
  .nero-layout{ grid-template-columns:1fr; margin-top:50px; }
  .nero-points .inline-link{ margin-left:0; }
}

/* Títulos das seções das páginas de produto em telas pequenas (palavras longas como "acompanhamento") */
@media (max-width:680px){
  .page-sec .split-heading h2{ font-size:clamp(2rem,9.4vw,3.4rem); }
  .page-hero h1{ font-size:clamp(2rem,9vw,2.7rem); }
  .dual-grid h2{ font-size:clamp(1.7rem,7.4vw,2.2rem); }
}
