/* ==========================================================================
   CanTech — Estilos das páginas internas de serviço
   Complementa assets/css/style.css
   ========================================================================== */

.page-hero{
  position:relative;
  overflow:hidden;
  padding:160px 0 90px;
  background:
    radial-gradient(circle at 82% 30%, rgba(0,118,255,.27), transparent 26%),
    linear-gradient(120deg,#07111e,#0a2038);
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.3;
  background-image:
    linear-gradient(rgba(75,183,255,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(75,183,255,.16) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to right, #000, transparent 78%);
  pointer-events:none;
}
.page-hero .shell{position:relative;z-index:2;}
.page-hero h1{
  max-width:780px;
  margin:20px 0 18px;
  font-size:clamp(36px,5.4vw,68px);
  line-height:1.05;
  letter-spacing:-3px;
}
.page-hero h1 span{color:var(--blue);}
.page-hero .lead{
  max-width:640px;
  color:var(--muted);
  font-size:18px;
  line-height:1.65;
  margin:0;
}
.page-hero .actions{display:flex;gap:13px;margin-top:30px;flex-wrap:wrap;}
.crumbs{
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--soft);
  font:500 11px var(--font-mono);
  letter-spacing:1.2px;
  text-transform:uppercase;
  margin-bottom:26px;
}
.crumbs a:hover{color:var(--cyan);}
.crumbs span{color:var(--cyan);}

.section{padding:86px 0;}
.section.alt{background:#0a1727;}


/* Grid de serviços detalhados ------------------------------------------ */
.grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:17px;
}
.grid.two{grid-template-columns:repeat(2,1fr);}
.item{
  min-height:225px;
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(150deg,#102943,#081522);
  transition:transform .25s ease, border-color .25s ease;
}
.item:hover{transform:translateY(-4px);border-color:rgba(41,228,228,.45);}
.item b{display:block;margin-bottom:11px;font-size:19px;letter-spacing:-.6px;}
.item p{margin:0;color:var(--muted);font-size:14px;line-height:1.65;}
.item ul{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:9px;}
.item li{
  position:relative;
  padding-left:22px;
  font-size:13.5px;
  color:#dbe6f3;
}
.item li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--cyan);
  font-weight:800;
}

/* Passo a passo -------------------------------------------------------- */
.how{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.step{
  padding:26px 0 0;
  border-top:1px solid var(--cyan);
}
.step strong{
  display:block;
  font-size:17px;
  margin-bottom:10px;
  letter-spacing:-.4px;
}
.step strong i{
  display:block;
  font:500 11px var(--font-mono);
  font-style:normal;
  color:var(--cyan);
  letter-spacing:1.4px;
  margin-bottom:8px;
}
.step p{margin:0;color:var(--muted);font-size:14px;line-height:1.65;}

/* Diferenciais --------------------------------------------------------- */
.flags{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:17px;
}
.flag{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:22px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.033);
}
.flag .ico{
  width:38px;
  height:38px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:9px;
  border:1px solid rgba(41,228,228,.35);
  color:var(--cyan);
  font-size:17px;
}
.flag b{display:block;font-size:15px;margin-bottom:6px;}
.flag p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.6;}

/* Perguntas frequentes ------------------------------------------------- */
.faq{display:grid;gap:12px;max-width:860px;}
.faq details{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.03);
  padding:18px 22px;
  transition:border-color .25s ease;
}
.faq details[open]{border-color:rgba(41,228,228,.45);}
.faq summary{
  cursor:pointer;
  font-weight:700;
  font-size:15px;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";
  color:var(--cyan);
  font-size:20px;
  font-weight:800;
  line-height:1;
}
.faq details[open] summary::after{content:"–";}
.faq p{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.65;}

/* Faixa de CTA --------------------------------------------------------- */
.strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  flex-wrap:wrap;
  padding:34px 36px;
  border:1px solid rgba(41,228,228,.3);
  border-radius:var(--radius-lg);
  background:linear-gradient(120deg,#062038,#07131f);
}
.strip h3{font-size:clamp(22px,2.6vw,30px);letter-spacing:-1px;margin:12px 0 0;}
.strip p{margin:8px 0 0;color:var(--muted);font-size:14px;}

/* Outros serviços ------------------------------------------------------ */
.others{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:17px;
}
.other{
  display:block;
  padding:24px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(150deg,#0d2138,#071321);
  transition:transform .25s ease, border-color .25s ease;
}
.other:hover{transform:translateY(-4px);border-color:rgba(41,228,228,.45);}
.other small{
  font:500 11px var(--font-mono);
  color:var(--cyan);
  letter-spacing:1.4px;
  text-transform:uppercase;
}
.other b{display:block;font-size:19px;margin:12px 0 8px;letter-spacing:-.6px;}
.other span{color:var(--soft);font-size:13px;}

/* Responsivo ----------------------------------------------------------- */
@media (max-width:1024px){
  .grid,
  .flags{grid-template-columns:repeat(2,1fr);}
  .how{grid-template-columns:1fr;gap:20px;}
}
@media (max-width:760px){
  .page-hero{padding:136px 0 72px;}
  .page-hero h1{letter-spacing:-2px;}
  /* No celular o page-hero e mais baixo: desce a faixa de luz para nao cruzar o texto */
  .page-hero .beam{top:74%;}
  .grid,
  .grid.two,
  .flags,
  .others{grid-template-columns:1fr;}
  .strip{padding:26px;}
}

