/* TISEC v1.6.29: Consolidated legacy styles. Order preserved to avoid regressions. */

/* ---- tisec-v158.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.5.8 — apenas afinações das secções previstas */
.hero-bottom .hero-bottom-extra { white-space: nowrap; text-align: right; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.core-section .core-all-cta { display: flex; justify-content: flex-start; align-items: center; text-align: left; border-top: 1px solid rgba(21,31,42,.16); padding-top: 1.3rem; margin-top: 1.5rem; }
.core-section .core-all-cta .text-link { margin: 0; }
.engagement-teaser .engagement-teaser-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 2rem; }
.engagement-teaser .engagement-teaser-inner > a { white-space: nowrap; align-self: center; justify-self: end; margin: 0; }
.cases-preview .case-photo { display: block; position: relative; overflow: hidden; padding: 0; background: #d9dee1; }
.cases-preview .case-photo img { display: block; width: 100%; height: 100%; min-height: 270px; max-height: 390px; object-fit: cover; object-position: center; filter: saturate(.65) contrast(1.06); }
@media (min-width:1200px) { .tisec-contact-one-line { width: max-content; max-width: calc(100vw - 6rem); white-space: nowrap; font-size: clamp(2.1rem,3vw,3.4rem); letter-spacing: -.04em; } }
@media (max-width:767px) { .engagement-teaser .engagement-teaser-inner { grid-template-columns: minmax(0,1fr); gap: 1.3rem; } .engagement-teaser .engagement-teaser-inner > a { justify-self: start; white-space: normal; } .hero-bottom .hero-bottom-extra { display: none; } .core-section .core-all-cta { justify-content: flex-start; } .cases-preview .case-photo img { min-height: 210px; max-height: 320px; } }

/* ---- tisec-v159.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.5.9 — título da secção de método ao centro. */
.method-section .tisec-method-heading-centered {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.method-section .tisec-method-heading-centered > div { width: 100%; }
.method-section .tisec-method-heading-centered h2 {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  text-align: center;
}

/* ---- tisec-v160.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.0 — evolução editorial, preservando identidade visual */
.tisec-work-section .tisec-work-intro{margin-bottom:clamp(2rem,4vw,3.5rem)}
.tisec-work-section .tisec-work-heading{max-width:100%;margin-top:0;font-size:clamp(2rem,3.2vw,3.5rem);line-height:1.15}
.tisec-work-section .tisec-work-lead{margin-block:1.25rem 1.8rem;max-width:57ch}
.tisec-work-section .editorial-photo--approach img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover;object-position:center;filter:saturate(.70) contrast(1.03)}
.tisec-work-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(80,98,116,.24);border:1px solid rgba(80,98,116,.18);margin-top:1.5rem}
.tisec-work-step{min-width:0;background:var(--paper,#f4f6f7);padding:clamp(1.25rem,2.4vw,2.25rem)}
.tisec-work-step-number{display:block;opacity:.6;font-size:.77rem;letter-spacing:.08em;margin-bottom:1.3rem}
.tisec-work-step h3{font-size:clamp(1.25rem,1.8vw,1.7rem);line-height:1.2;margin:0 0 .8rem}
.tisec-work-step p{font-size:clamp(.88rem,1.05vw,1rem);line-height:1.62;margin:0;max-width:32ch}
.tisec-modalities .tisec-modalities-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2rem}
.tisec-modalities .tisec-modalities-heading>div{min-width:0}
.tisec-modalities .tisec-modalities-intro{margin-top:1.1rem;max-width:68ch;line-height:1.65}
.tisec-modalities .engagement-teaser-cta{justify-self:end;align-self:center;margin:0;white-space:nowrap}
.tisec-modalities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(80,98,116,.24);margin-top:2.2rem}
.tisec-modalities-grid a{display:block;min-width:0;color:inherit;text-decoration:none;padding:1.55rem 1.6rem 0 0;margin-right:1.4rem;border-right:1px solid rgba(80,98,116,.20)}
.tisec-modalities-grid a:last-child{margin-right:0;border-right:0}
.tisec-modalities-grid span{display:block;font-size:.77rem;letter-spacing:.06em;opacity:.65;margin-bottom:.85rem}
.tisec-modalities-grid strong{display:block;font-size:clamp(1rem,1.5vw,1.3rem);font-weight:600;line-height:1.3}
.tisec-modalities-grid p{margin:.65rem 0 0;line-height:1.6;font-size:.94rem;opacity:.88}
.tisec-modalities-grid a:hover strong{text-decoration:underline;text-underline-offset:.2em}
.cases-preview .case-photo img{width:100%;height:100%;min-height:260px;max-height:390px;object-fit:cover;filter:saturate(.68) contrast(1.02)}
@media(max-width:1023px){.tisec-work-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.tisec-work-section .editorial-photo--approach img{min-height:240px}.tisec-work-steps{grid-template-columns:minmax(0,1fr)}.tisec-modalities .tisec-modalities-heading{grid-template-columns:minmax(0,1fr);gap:1.2rem}.tisec-modalities .engagement-teaser-cta{justify-self:start;white-space:normal}.tisec-modalities-grid{grid-template-columns:minmax(0,1fr);margin-top:1.45rem}.tisec-modalities-grid a{padding:1.15rem 0;margin:0;border-right:0;border-bottom:1px solid rgba(80,98,116,.20)}.tisec-modalities-grid a:last-child{border-bottom:0}.cases-preview .case-photo img{min-height:210px;max-height:300px}}

/* ---- tisec-v161.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.1 — ajustes de leitura da homepage (complementar à v1.6.0) */
/* Título principal da oferta: duas linhas equilibradas sem exceder a largura útil. */
@media (min-width: 768px) {
  .core-section .section-heading h2 {
    font-size: clamp(2.05rem, 2.8vw, 3.15rem) !important;
    line-height: 1.13 !important;
    letter-spacing: -.035em;
    max-width: 32ch !important;
    width: 100%;
    white-space: normal !important;
    text-wrap: balance;
    overflow-wrap: normal;
  }
}
@media (max-width: 767px) {
  .core-section .section-heading h2 {
    font-size: clamp(1.85rem, 7vw, 2.65rem) !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-wrap: balance;
  }
}
/* A ligação aparece logo abaixo dos três cartões, mas ANTES do separador. */
.core-section .core-all-cta {
  margin-top: 1.2rem !important;
  padding-top: 0 !important;
  padding-bottom: 1.35rem !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(80,98,116,.25) !important;
  display: flex;
  align-items: center;
}
.core-section .core-all-cta::before { content: none !important; display: none !important; }
.core-section .core-grid { border-bottom: 0 !important; }
/* Modalidades: título na mesma linha do número, texto em linha própria e contido no cartão. */
.tisec-modalities .tisec-modalities-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: stretch;
}
.tisec-modalities .tisec-modalities-grid > a {
  display: grid !important;
  grid-template-columns: 2.1rem minmax(0,1fr) !important;
  grid-template-rows: auto 1fr !important;
  column-gap: .8rem !important;
  row-gap: .9rem !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 1.5rem 1.25rem 1.6rem 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
  white-space: normal !important;
  align-content: start;
}
.tisec-modalities .tisec-modalities-grid > a + a { padding-left: 1.25rem !important; }
.tisec-modalities .tisec-modalities-grid > a > span {
  display: block !important;
  grid-column: 1; grid-row: 1;
  margin: .1rem 0 0 !important;
  align-self: start;
  white-space: nowrap !important;
}
.tisec-modalities .tisec-modalities-grid > a > strong {
  display: block !important;
  grid-column: 2; grid-row: 1;
  min-width: 0 !important;
  max-width: 100% !important;
  align-self: start;
  font-size: clamp(1rem, 1.35vw, 1.24rem) !important;
  line-height: 1.32 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}
.tisec-modalities .tisec-modalities-grid > a > p {
  display: block !important;
  grid-column: 1 / -1; grid-row: 2;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  line-height: 1.6 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  box-sizing: border-box;
}
/* Título de contacto: uma linha no desktop sem ocupar toda a largura útil. */
@media (min-width: 1180px) {
  body:has(.tisec-modalities-grid) :is(.contact-cta,.contact-banner,.closing-section,.closing-cta,.final-cta,.final-contact,.cta-section,.contact-panel,.contact-section,.contact-promo,.contact-band,.contact-invite,.contact-callout,.contact-final,.cta-banner,.final-section,.conversation-cta) h2 {
    font-size: clamp(1.9rem,2.25vw,2.65rem) !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    max-width: calc(100vw - 4rem) !important;
    width: max-content !important;
    letter-spacing: -.025em;
  }
}
@media (max-width: 1179px) {
  body:has(.tisec-modalities-grid) :is(.contact-cta,.contact-banner,.closing-section,.closing-cta,.final-cta,.final-contact,.cta-section,.contact-panel,.contact-section,.contact-promo,.contact-band,.contact-invite,.contact-callout,.contact-final,.cta-banner,.final-section,.conversation-cta) h2 {
    max-width: 100% !important;
    white-space: normal !important;
    text-wrap: balance;
  }
}
@media (max-width: 850px) {
  .tisec-modalities .tisec-modalities-grid { grid-template-columns: 1fr !important; }
  .tisec-modalities .tisec-modalities-grid > a,
  .tisec-modalities .tisec-modalities-grid > a + a {
    padding: 1.35rem 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(80,98,116,.2);
  }
  .tisec-modalities .tisec-modalities-grid > a:last-child { border-bottom: 0 !important; }
  .tisec-modalities .tisec-modalities-grid > a > p { max-width: 68ch !important; }
}

/* ---- tisec-v162.css (legacy layer, cascade preserved) ---- */
/* TISEC 1.6.2 | Exclusivamente homepage; hero preservado à esquerda */
@media (min-width: 768px) {
  /* Títulos e descrições: hierarquia centrada, sem ultrapassar a largura da página */
  body:has(.tisec-modalities-grid) .core-section .section-heading,
  body:has(.tisec-modalities-grid) .cases-preview .section-heading {
    display:flex !important;flex-direction:column !important;align-items:center !important;
    justify-content:center !important;text-align:center !important;gap:0 !important;
    width:100% !important;max-width:100% !important;
  }
  body:has(.tisec-modalities-grid) .core-section .section-heading > div,
  body:has(.tisec-modalities-grid) .cases-preview .section-heading > div {
    width:100% !important;max-width:100% !important;min-width:0 !important;
    display:flex;flex-direction:column;align-items:center;
  }
}
body:has(.tisec-modalities-grid) .core-section .section-heading h2,
body:has(.tisec-modalities-grid) .cases-preview .section-heading h2 {
  margin-inline:auto !important;text-align:center !important;
  max-width:28ch !important;width:100% !important;
  white-space:normal !important;text-wrap:balance !important;
  font-size:clamp(1.9rem,3vw,3rem) !important;line-height:1.15 !important;
}
body:has(.tisec-modalities-grid) .core-section .section-heading > p,
body:has(.tisec-modalities-grid) .cases-preview .section-heading > p {
  display:block !important;width:100% !important;max-width:760px !important;
  margin:1rem auto 0 !important;padding:0 !important;
  text-align:center !important;text-wrap:pretty !important;line-height:1.65 !important;
}
/* Modalidades: cabeçalho centrado no ecrã; CTA abaixo sem colidir com o título. */
body:has(.tisec-modalities-grid) .tisec-modalities .tisec-modalities-heading {
  display:flex !important;flex-direction:column !important;align-items:center !important;
  justify-content:center !important;gap:1.15rem !important;text-align:center !important;
}
body:has(.tisec-modalities-grid) .tisec-modalities .tisec-modalities-heading > div {
  width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;
}
body:has(.tisec-modalities-grid) .tisec-modalities .tisec-modalities-heading h2 {
  width:100% !important;max-width:29ch !important;margin:0 auto !important;
  font-size:clamp(1.8rem,2.7vw,2.7rem) !important;line-height:1.17 !important;
  text-align:center !important;text-wrap:balance !important;white-space:normal !important;
}
body:has(.tisec-modalities-grid) .tisec-modalities .tisec-modalities-intro {
  max-width:760px !important;width:100% !important;margin:1rem auto 0 !important;
  text-align:center !important;text-wrap:pretty !important;
}
body:has(.tisec-modalities-grid) .tisec-modalities .engagement-teaser-cta {
  align-self:center !important;justify-self:center !important;margin:0 auto !important;
}
/* Último convite da homepage: alinhamento editorial; hero NÃO abrangido. */
body:has(.tisec-modalities-grid) :is(.contact-cta,.contact-banner,.closing-section,.closing-cta,.final-cta,.final-contact,.cta-section,.contact-panel,.contact-promo,.contact-band,.contact-invite,.contact-callout,.contact-final,.cta-banner,.final-section,.conversation-cta) :is(h2,p) {
  text-align:center !important;margin-left:auto !important;margin-right:auto !important;
}
body:has(.tisec-modalities-grid) :is(.contact-cta,.contact-banner,.closing-section,.closing-cta,.final-cta,.final-contact,.cta-section,.contact-panel,.contact-promo,.contact-band,.contact-invite,.contact-callout,.contact-final,.cta-banner,.final-section,.conversation-cta) h2 {
  font-size:clamp(1.65rem,2.3vw,2.6rem) !important;
  width:100% !important;max-width:1040px !important;
  white-space:normal !important;text-wrap:balance !important;
}
body:has(.tisec-modalities-grid) :is(.contact-cta,.contact-banner,.closing-section,.closing-cta,.final-cta,.final-contact,.cta-section,.contact-panel,.contact-promo,.contact-band,.contact-invite,.contact-callout,.contact-final,.cta-banner,.final-section,.conversation-cta) p {max-width:760px !important;}
@media(max-width:767px){
  body:has(.tisec-modalities-grid) .core-section .section-heading,
  body:has(.tisec-modalities-grid) .cases-preview .section-heading {display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;}
  body:has(.tisec-modalities-grid) .core-section .section-heading h2,
  body:has(.tisec-modalities-grid) .cases-preview .section-heading h2 {font-size:clamp(1.7rem,7vw,2.35rem) !important;}
  body:has(.tisec-modalities-grid) .core-section .section-heading > p,
  body:has(.tisec-modalities-grid) .cases-preview .section-heading > p {width:100% !important;max-width:100% !important;margin:1rem auto 0 !important;text-align:center !important;}
  body:has(.tisec-modalities-grid) .tisec-modalities .tisec-modalities-heading h2 {font-size:clamp(1.6rem,6.4vw,2.2rem) !important;}
}
/* Não há regras para .hero, .hero-title ou .hero-lead: alinhamento original mantido. */

/* ---- tisec-v163.css (legacy layer, cascade preserved) ---- */
/* TISEC 1.6.3 | hierarquia editorial transversal. Sem alterar o hero. */
:root{--tisec-text-hero:clamp(2.75rem,5vw,4rem);--tisec-text-h1:clamp(2.2rem,3.5vw,3rem);--tisec-text-h2:clamp(1.9rem,3vw,2.5rem);--tisec-text-h3:clamp(1.25rem,1.8vw,1.5rem);--tisec-text-lead:1.125rem;--tisec-text-body:1rem;--tisec-text-small:.875rem;--tisec-text-label:.75rem}
/* Títulos de secção e descrições: centrados, largura de leitura controlada. */
.section-heading, .section-heading--stacked{display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important;text-align:center!important;width:100%!important;max-width:100%!important}
.section-heading>div,.section-heading--stacked>div{width:100%!important;max-width:100%!important;min-width:0!important;text-align:center!important}
.section-heading :is(h1,h2),.section-heading--stacked :is(h1,h2){font-size:var(--tisec-text-h2)!important;line-height:1.19!important;max-width:31ch!important;width:auto!important;margin-inline:auto!important;text-align:center!important;white-space:normal!important;text-wrap:balance!important}
.section-heading>p,.section-heading--stacked>p{max-width:740px!important;width:100%!important;margin:1rem auto 0!important;padding:0!important;text-align:center!important;line-height:1.65!important;text-wrap:pretty!important;font-size:var(--tisec-text-body)!important}
.section-heading .eyebrow{font-size:var(--tisec-text-label)!important;text-align:center!important}
.page-hero:not(.about-page-hero){display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}
.page-hero:not(.about-page-hero)>h1{font-size:var(--tisec-text-h1)!important;text-wrap:balance!important;text-align:center!important;max-width:26ch!important}
.page-hero:not(.about-page-hero)>p:not(.eyebrow){max-width:740px!important;text-align:center!important;margin-inline:auto!important;font-size:var(--tisec-text-body)!important}
.page-hero:not(.about-page-hero)>.eyebrow{text-align:center!important}
/* Apresentação institucional: título e lead junto à fotografia mantêm-se associados à composição. */
.tisec-work-intro .approach-copy .tisec-work-heading{font-size:var(--tisec-text-h2)!important;line-height:1.2!important}
/* Exceções aprovadas: contacto final e hero alinhados à esquerda. */
body :is(.contact-cta,.contact-banner,.closing-section,.closing-cta,.final-cta,.final-contact,.cta-section,.contact-panel,.contact-promo,.contact-band,.contact-invite,.contact-callout,.contact-final,.cta-banner,.final-section,.conversation-cta) :is(h1,h2,p,.eyebrow){text-align:left!important;margin-left:0!important;margin-right:0!important}
body :is(.contact-cta,.contact-banner,.closing-section,.closing-cta,.final-cta,.final-contact,.cta-section,.contact-panel,.contact-promo,.contact-band,.contact-invite,.contact-callout,.contact-final,.cta-banner,.final-section,.conversation-cta) h2{font-size:var(--tisec-text-h2)!important;max-width:32ch!important;text-wrap:balance!important}
.hero .hero-title,.hero .hero-lead,.hero .hero-actions{text-align:left!important;margin-left:0!important}
/* Quatro áreas comerciais; a numeração respeita 01 de 04 a 04 de 04. */
.tisec-categories-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(90,108,126,.23);border:1px solid rgba(90,108,126,.2);margin-top:2.2rem}
.tisec-category-card{display:flex;flex-direction:column;min-width:0;min-height:300px;padding:clamp(1.15rem,2vw,2rem);color:inherit;text-decoration:none;background:var(--paper,#f7f8f8);gap:1rem}
.tisec-category-card .tisec-card-count{font-size:var(--tisec-text-label);letter-spacing:.07em;opacity:.65}
.tisec-category-card h3{font-size:var(--tisec-text-h3)!important;line-height:1.3!important;margin:0!important;overflow-wrap:break-word}
.tisec-category-card p{font-size:var(--tisec-text-body)!important;line-height:1.6!important;margin:0!important;overflow-wrap:break-word;flex:1}
.tisec-category-card .tisec-category-cta{font-size:var(--tisec-text-small);font-weight:600}
.tisec-category-card:hover{background:#eef1f4}
.tisec-solutions-catalog{padding-block:clamp(3rem,7vw,6rem)}
.tisec-solutions-group{padding-block:clamp(2rem,4vw,3.5rem);border-top:1px solid rgba(90,108,126,.24)}
.tisec-solutions-group h2{font-size:var(--tisec-text-h2)!important;line-height:1.2;text-align:center;margin:0 auto 1rem}
.tisec-solutions-group>.tisec-group-lead{max-width:740px;margin:0 auto 1.65rem;text-align:center;font-size:var(--tisec-text-body);line-height:1.6}
.tisec-solution-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.tisec-solution-entry{min-width:0;border:1px solid rgba(90,108,126,.25);padding:1.5rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.6rem}
.tisec-solution-entry h3{font-size:var(--tisec-text-h3);margin:0;line-height:1.3}.tisec-solution-entry p{font-size:var(--tisec-text-body);line-height:1.6;margin:0}
/* Homepage: retirar «Conhecer todas as soluções» e o espaço reservado. */
.core-section .core-all-cta{display:none!important}.core-section .core-grid{margin-bottom:0!important}
/* Modalidades: descrição limitada e link alinhado com a descrição. */
.tisec-modalities .tisec-modalities-intro{max-width:740px!important;line-height:1.65!important}
.tisec-modalities-heading h2{font-size:var(--tisec-text-h2)!important}
/* Textos longos, formulários e páginas legais continuam alinhados à esquerda. */
.legal-content :is(p,li),.legal-document :is(p,li),.privacy-content :is(p,li),form :is(label,p),.service-intro-copy p{text-align:left!important}
@media(max-width:1100px){.tisec-categories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tisec-solution-entries{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.tisec-categories-grid,.tisec-solution-entries{grid-template-columns:1fr}.tisec-category-card{min-height:0}.section-heading :is(h1,h2),.section-heading--stacked :is(h1,h2){max-width:100%!important}.tisec-solutions-group h2{font-size:clamp(1.7rem,7vw,2.15rem)!important}}

/* ---- tisec-v164.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.4 — páginas institucionais */
.tisec-solutions-group .tisec-solution-entries{display:flex!important;justify-content:center!important;align-items:stretch!important;flex-wrap:wrap!important;gap:1rem!important}
.tisec-solutions-group .tisec-solution-entry{box-sizing:border-box;flex:0 0 calc((100% - 2rem)/3)!important;width:calc((100% - 2rem)/3)!important}
.tisec-v164-modalities-title{text-align:center;margin:0 auto 2rem;max-width:760px}
.tisec-v164-modalities-title h2{font-size:var(--tisec-text-h2,clamp(1.9rem,3vw,2.5rem));line-height:1.2;margin:0 auto;text-wrap:balance;max-width:30ch}
.tisec-modalities .tisec-modalities-grid{margin-top:0!important}
.tisec-v164-intro{padding-block:clamp(3.5rem,6vw,6rem);text-align:center!important;display:flex;flex-direction:column;align-items:center}
.tisec-v164-intro :is(h1,p){text-align:center!important;margin-inline:auto!important}
.tisec-v164-intro h1{max-width:30ch;font-size:var(--tisec-text-h1,clamp(2.25rem,4vw,3rem));line-height:1.18;text-wrap:balance}
.tisec-v164-intro>p:not(.eyebrow){max-width:740px!important;line-height:1.65;font-size:var(--tisec-text-body,1rem)}
.tisec-v164-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.tisec-v164-example{border:1px solid rgba(90,108,126,.24);min-width:0;background:#fff}
.tisec-v164-example-visual{aspect-ratio:16/8;display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem;background:linear-gradient(135deg,#152230,#0b1018);color:#bdcbd8}
.tisec-v164-example-visual span{font-size:.7rem;letter-spacing:.12em;font-weight:700}
.tisec-v164-example-visual b{font-size:3.3rem;line-height:1;font-weight:600;opacity:.3}
.tisec-v164-example-copy{padding:1.5rem}
.tisec-v164-example-copy h2{font-size:var(--tisec-text-h3,1.5rem)!important;line-height:1.3;margin:.6rem 0}
.tisec-v164-example-copy p{font-size:var(--tisec-text-body,1rem);line-height:1.65;margin:0}
.tisec-v164-about .wrap{display:grid;gap:clamp(2.5rem,5vw,4rem)}
.tisec-v164-prose{max-width:780px;margin-inline:auto;width:100%}
.tisec-v164-prose h2{text-align:center;font-size:var(--tisec-text-h2,2.5rem);line-height:1.2;margin:0 auto 1.4rem;max-width:30ch;text-wrap:balance}
.tisec-v164-prose p{line-height:1.75;font-size:var(--tisec-text-body,1rem);margin:0 0 1rem;text-align:left}
.tisec-v164-section-head{text-align:center;margin:0 auto 2.2rem}
.tisec-v164-section-head h2{font-size:var(--tisec-text-h2,2.5rem);line-height:1.2;margin:0 auto;max-width:30ch;text-wrap:balance}
.tisec-v164-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;border-top:1px solid rgba(90,108,126,.24);padding-top:2rem}
.tisec-v164-principles article{text-align:center}.tisec-v164-principles article span{font-size:.75rem;letter-spacing:.07em;opacity:.6}
.tisec-v164-principles h3{font-size:var(--tisec-text-h3,1.5rem);margin:1rem 0}.tisec-v164-principles p{font-size:var(--tisec-text-body,1rem);line-height:1.65;max-width:32ch;margin:auto}
@media(max-width:900px){.tisec-solutions-group .tisec-solution-entry{flex-basis:calc((100% - 1rem)/2)!important;width:calc((100% - 1rem)/2)!important}}
@media(max-width:680px){.tisec-v164-examples,.tisec-v164-principles{grid-template-columns:1fr}.tisec-solutions-group .tisec-solution-entry{flex-basis:100%!important;width:100%!important}.tisec-v164-example-visual{aspect-ratio:16/7}.tisec-v164-intro h1{max-width:100%}}

/* ---- tisec-v165.css (legacy layer, cascade preserved) ---- */
/* v1.6.5: fotografias e centralização dos cartões */
.tisec-v164-example-visual.tisec-v165-photo{position:relative;padding:0;overflow:hidden;background:#18212c;aspect-ratio:2/1;display:block}
.tisec-v165-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.tisec-v164-example-visual.tisec-v165-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.15));pointer-events:none}
.tisec-solutions-group .tisec-solution-entry{text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
.tisec-solutions-group .tisec-solution-entry :is(h2,h3,p,span){text-align:center!important}
/* Apenas o CTA final; igual em todas as páginas e idiomas. */
.closing-section .closing-inner{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important}
.closing-section .closing-inner :is(.eyebrow,h2,p){text-align:left!important;margin-left:0!important;margin-right:0!important}
.closing-section .closing-inner .button{align-self:flex-start!important;margin-left:0!important}
@media(max-width:680px){.tisec-v164-example-visual.tisec-v165-photo{aspect-ratio:2/1}}

/* ---- tisec-v166.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.6 — Ajustes localizados. */
/* Preservar o aspeto da esfera original; mover só o conjunto interior. */
.hero-orb--interactive{perspective:900px;pointer-events:none}
.hero-orb--interactive .orb-motion{position:absolute;inset:0;transform:rotateX(var(--orb-tilt-x,0deg)) rotateY(var(--orb-tilt-y,0deg));transform-style:preserve-3d;will-change:transform}
.hero-orb--interactive .orb-core{animation:tisec-orb-breathe 9s ease-in-out infinite}
.hero-orb--interactive .orb-ring.one{animation:tisec-ring-one 34s ease-in-out infinite alternate}
.hero-orb--interactive .orb-ring.two{animation:tisec-ring-two 42s ease-in-out infinite alternate}
.hero-orb--interactive .orb-ring.three{animation:tisec-ring-three 38s ease-in-out infinite alternate}
@keyframes tisec-orb-breathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.11)}}
@keyframes tisec-ring-one{from{transform:rotate(-28deg) scaleY(.61)}to{transform:rotate(-8deg) scaleY(.61)}}
@keyframes tisec-ring-two{from{transform:rotate(50deg) scaleY(.67)}to{transform:rotate(70deg) scaleY(.67)}}
@keyframes tisec-ring-three{from{transform:rotate(86deg) scaleY(.69)}to{transform:rotate(65deg) scaleY(.69)}}
@media(prefers-reduced-motion:reduce){.hero-orb--interactive .orb-core,.hero-orb--interactive .orb-ring{animation:none!important}.hero-orb--interactive .orb-motion{transform:none!important;will-change:auto}}
/* Soluções: eliminar o espaço inicial sem afetar as restantes secções. */
.tisec-solutions-catalog{padding-top:clamp(1.25rem,2.5vw,2.75rem)!important}
/* Alinhar pelo topo todos os títulos e iniciar as descrições na mesma linha. */
.tisec-solutions-group .tisec-solution-entry{justify-content:flex-start!important;gap:0!important}
.tisec-solutions-group .tisec-solution-entry h3{width:100%;min-height:calc(2 * 1.3em);display:flex;align-items:center;justify-content:center;margin:0 0 .6rem!important;text-wrap:balance}
.tisec-solutions-group .tisec-solution-entry p{width:100%;margin:0!important}
/* A zona final da homepage igual às restantes páginas. */
.closing-section .closing-inner{align-items:flex-start!important;text-align:left!important}
.closing-section .closing-inner :is(h2,p){text-align:left!important}
@media(max-width:680px){.tisec-solutions-catalog{padding-top:1.25rem!important}}

/* ---- tisec-v168.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.9 — interactive RJ45 cables behind existing homepage content */
.tisec-cable-section{position:relative;isolation:isolate;overflow:hidden}
.tisec-cable-section>.wrap{position:relative;z-index:2}
.tisec-ethernet-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.55}
.tisec-cable-section :is(.tisec-category-card,.tisec-work-step,.case-card,.tisec-modalities-grid>a){position:relative;z-index:2}
@media(max-width:760px){.tisec-ethernet-canvas{opacity:.32}}
@media(prefers-reduced-motion:reduce){.tisec-ethernet-canvas{opacity:.25}}

/* ---- tisec-v1610.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.10 — lightweight interactions layered over the existing visual identity */
.tisec-reading-progress{position:fixed;z-index:200;top:0;left:0;height:2px;width:100%;background:#718397;transform:scaleX(0);transform-origin:left;pointer-events:none}
.tisec-reveal-ready{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.tisec-reveal-ready.tisec-revealed{opacity:1;transform:none}
.tisec-category-card,.tisec-solution-entry,.case-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
@media(hover:hover){.tisec-category-card:hover,.tisec-solution-entry:hover,.case-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(11,15,20,.09)}}
.tisec-work-step{position:relative}.tisec-work-step::before{content:'';position:absolute;top:0;left:0;height:2px;width:0;background:#8496a9;transition:width .7s ease}.tisec-work-step.tisec-step-active::before{width:100%}
.editorial-photo img,.case-photo img,.tisec-v165-photo img{transition:transform .75s ease}
@media(hover:hover){.editorial-photo:hover img,.case-photo:hover img,.tisec-v165-photo:hover img{transform:scale(1.035)}}
main{position:relative}.tisec-section-links{position:absolute;inset:0 auto auto 0;width:100%;pointer-events:none;color:rgba(104,121,141,.28);z-index:0;overflow:visible}.tisec-section-links path{stroke-dasharray:1;stroke-dashoffset:1}main>section{position:relative;z-index:1}
.tisec-diagnostic{background:#f8f9f9;padding-block:clamp(65px,8vw,115px)}.tisec-diagnostic-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,100px);align-items:center}.tisec-diagnostic h2{font-size:clamp(2rem,3vw,2.5rem);line-height:1.18;max-width:600px;margin:15px 0 20px}.tisec-diagnostic-intro>p{max-width:590px;line-height:1.7;color:#52606d}.tisec-diagnostic-tool{background:#fff;border:1px solid #dce2e7;border-radius:3px;padding:clamp(24px,3vw,40px);min-height:320px}.tisec-diag-progress{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#657789;margin-bottom:24px}.tisec-diag-question{font-size:clamp(19px,2vw,24px);margin-bottom:20px;color:#141922}.tisec-diag-options{display:grid;gap:9px}.tisec-diag-choice{border:1px solid #ccd4dc;background:#fff;color:#151b22;text-align:left;padding:14px 16px;cursor:pointer;font:inherit;border-radius:3px}.tisec-diag-choice:hover,.tisec-diag-choice:focus-visible{border-color:#617a93;background:#f1f5f8}.tisec-diag-actions{display:flex;gap:20px;margin-top:17px}.tisec-diag-back,.tisec-diag-reset{border:0;background:none;color:#50637a;cursor:pointer;text-decoration:underline;padding:6px 0}.tisec-diag-desc{line-height:1.6;margin:16px 0 24px}.tisec-contextual-contact{position:fixed;right:20px;bottom:22px;z-index:50;background:#111820;color:white;text-decoration:none;border-radius:3px;padding:12px 18px;box-shadow:0 6px 18px rgba(0,0,0,.16);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .25s,transform .25s;font-size:13px;font-weight:600}.tisec-contextual-contact.is-eligible{opacity:1;pointer-events:auto;transform:translateY(0)}
@media(max-width:780px){.tisec-diagnostic-shell{grid-template-columns:1fr}.tisec-section-links,.tisec-contextual-contact{display:none}}
@media(prefers-reduced-motion:reduce){.tisec-reveal-ready{opacity:1!important;transform:none!important;transition:none!important}.tisec-work-step::before{transition:none!important}.editorial-photo img,.case-photo img,.tisec-v165-photo img,.tisec-category-card,.tisec-solution-entry,.case-card{transition:none!important;transform:none!important}.tisec-contextual-contact{transition:none!important}}

/* ---- tisec-v1612.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.12 | Interactive process sequence; designed over the unchanged v1.6.10 grid. */
.tisec-work-steps{position:relative;isolation:isolate;overflow:hidden}
/* A fine connecting line and moving signal echo the existing interactive hero. */
.tisec-work-steps::before,.tisec-work-steps::after{content:"";position:absolute;top:0;left:0;height:2px;pointer-events:none;z-index:5}
.tisec-work-steps::before{width:100%;background:linear-gradient(90deg,#667b8f,#b2c1cf 51%,#60768a);transform:scaleX(0);transform-origin:left center}
.tisec-work-steps.tisec-process-active::before{animation:tisec-process-draw 2.7s cubic-bezier(.2,.8,.2,1) .15s forwards}
.tisec-work-steps::after{width:72px;background:linear-gradient(90deg,transparent,rgba(222,237,249,.95),transparent);filter:drop-shadow(0 0 6px rgba(95,137,172,.55));opacity:0}
.tisec-work-steps.tisec-process-active::after{animation:tisec-process-signal 4.8s linear 3.1s infinite;animation-play-state:paused}
.tisec-work-steps.tisec-process-active.tisec-process-in-view::after{animation-play-state:running}
@keyframes tisec-process-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes tisec-process-signal{0%{left:0;transform:translateX(-100%);opacity:0}8%{opacity:1}90%{opacity:.75}100%{left:100%;transform:translateX(0);opacity:0}}
/* Each stage enters once, independently of the generic section-reveal observer. */
.tisec-work-steps .tisec-work-step{transition:opacity .85s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1),background .35s ease,box-shadow .35s ease;transform-origin:center bottom;min-width:0}
.tisec-work-steps.tisec-process-ready .tisec-work-step:not(.tisec-step-active){opacity:0;transform:translateY(26px)}
.tisec-work-steps.tisec-process-ready .tisec-work-step.tisec-step-active{opacity:1;transform:translateY(0)}
@media(min-width:1024px){
  .tisec-work-steps.tisec-process-ready .tisec-work-step:nth-child(2).tisec-step-active{transition-delay:.18s,.18s,0s,0s}
  .tisec-work-steps.tisec-process-ready .tisec-work-step:nth-child(3).tisec-step-active{transition-delay:.36s,.36s,0s,0s}
  .tisec-work-steps.tisec-process-ready .tisec-work-step:nth-child(4).tisec-step-active{transition-delay:.54s,.54s,0s,0s}
}
/* Preserve the corporate palette, typography and original card dimensions. */
.tisec-work-steps .tisec-work-step::before{height:2px;background:linear-gradient(90deg,#8197ae,#536d85);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.tisec-work-steps .tisec-work-step-number{position:relative;transition:color .35s ease,opacity .35s ease}
.tisec-work-steps .tisec-work-step-number::after{content:"";position:absolute;top:.35em;right:0;width:6px;height:6px;background:#b2c1ce;border-radius:50%;box-shadow:0 0 0 4px rgba(122,145,166,.10);transition:background .4s ease,box-shadow .4s ease}
.tisec-work-steps .tisec-work-step.tisec-step-active .tisec-work-step-number{opacity:1;color:#526f8b}
.tisec-work-steps .tisec-work-step.tisec-step-active .tisec-work-step-number::after{background:#697f96;box-shadow:0 0 0 5px rgba(122,145,166,.14)}
@media(hover:hover) and (pointer:fine){
 .tisec-work-steps .tisec-work-step:hover{background:radial-gradient(240px circle at var(--tisec-pointer-x,50%) var(--tisec-pointer-y,45%),rgba(141,166,187,.15),transparent 78%),var(--paper,#f4f6f7);box-shadow:inset 0 0 0 1px rgba(104,133,160,.14)}
 .tisec-work-steps .tisec-work-step:hover .tisec-work-step-number::after{background:#476d8d;box-shadow:0 0 0 6px rgba(122,145,166,.18),0 0 14px rgba(96,139,174,.25)}
}
/* On two-/one-column layouts the signal becomes a local line on each card. */
@media(max-width:1023px){
 .tisec-work-steps::before,.tisec-work-steps::after{display:none}
 .tisec-work-steps .tisec-work-step-number::after{right:2px}
}
@media(prefers-reduced-motion:reduce){
 .tisec-work-steps::before,.tisec-work-steps::after{animation:none!important;display:none!important}
 .tisec-work-steps .tisec-work-step,.tisec-work-steps .tisec-work-step::before,.tisec-work-steps .tisec-work-step-number,.tisec-work-steps .tisec-work-step-number::after{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}
}

/* ---- tisec-v1613.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.13 — User-approved photograph for the “Como trabalhamos” section. */
.tisec-work-section .tisec-work-photo{background:#e8ebed}
.tisec-work-section .tisec-work-photo::after{content:none}
.tisec-work-section .tisec-work-photo img{object-fit:cover;object-position:50% 50%;filter:none}

/* ---- tisec-v1616.css (legacy layer, cascade preserved) ---- */
/* TISEC 1.6.16 — Insights editorial publication, no externally sourced graphics. */
.insights-hero{background:#0f1822;color:#f3f6f9;padding:clamp(82px,9vw,144px) 0 clamp(66px,8vw,112px);position:relative;overflow:hidden}
.insights-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(130deg,transparent 58%,rgba(119,148,177,.09)),radial-gradient(circle at 90% 12%,rgba(79,117,156,.16),transparent 35%);pointer-events:none}
.insights-hero-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.7fr);gap:clamp(45px,8vw,130px);align-items:end;position:relative}
.insights-hero .eyebrow{color:#afc4d8}.insights-hero h1{font-size:clamp(3.1rem,5.75vw,5.5rem);line-height:1.065;max-width:16ch;letter-spacing:-.062em}
.insights-hero-aside{padding-bottom:8px}.insights-small-line{display:block;height:1px;width:65px;background:#a7bbcb;margin-bottom:32px}
.insights-hero-aside p{font-size:16px;line-height:1.75;color:#b6c5d2;max-width:33ch}
.insights-edition{display:block;font-size:10px;letter-spacing:.18em;color:#839db4;margin-top:35px;font-weight:750}
.insights-feed{background:#f8f9f9}.insights-feed-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:47px}
.insights-feed-heading>div{display:flex;align-items:center;gap:13px}.insights-feed-heading h2{font-size:clamp(2.1rem,3.2vw,3.15rem)}.insights-marker{display:inline-block;width:8px;height:8px;border-radius:50%;background:#536c85}
.insights-feed-heading>p{font-size:14px;color:#627184;max-width:43ch;line-height:1.7}
.insights-featured{display:grid;grid-template-columns:48% 52%;min-height:465px;border:1px solid #dbe2e8;background:white;color:#14212e;transition:box-shadow .2s,transform .2s}
.insights-featured:hover{box-shadow:0 18px 46px #0f1c2917;transform:translateY(-3px)}
.insights-featured-visual{position:relative;min-height:420px;overflow:hidden;background:radial-gradient(circle at 70% 65%,#263c52 0%,transparent 40%),linear-gradient(145deg,#0c1520,#1e3448);display:flex;align-items:center;justify-content:center}
.insights-visual-grid{position:absolute;inset:-60px;background:linear-gradient(transparent 23px,#fff1 24px),linear-gradient(90deg,transparent 23px,#fff1 24px);background-size:24px 24px;opacity:.42;mask-image:linear-gradient(145deg,transparent,#000)}
.insights-featured-number{position:absolute;top:27px;left:32px;color:#b7c8d7;font-weight:700;font-size:11px;letter-spacing:.12em}
.insights-featured-word{font-size:clamp(3.4rem,7vw,6.5rem);font-weight:750;color:#f0f3f7;letter-spacing:-.09em;z-index:1}.insights-featured-word span{color:#9bb2c9}
.insights-featured-vertical{position:absolute;bottom:28px;left:32px;letter-spacing:.21em;font-size:9px;color:#adc2d4}
.insights-featured-content{padding:clamp(30px,4vw,64px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}
.insights-kicker{font-size:10px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#5b7891}
.insights-kicker>span{margin:0 6px}.insights-featured-content h3{font-size:clamp(1.7rem,2.65vw,2.8rem);line-height:1.15;margin:23px 0 18px}
.insights-featured-content>p{font-size:14px;color:#627184;line-height:1.75;margin-bottom:25px}
.insights-article-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:11px;color:#6d7d8b;letter-spacing:.015em}
.insights-read-link{font-size:12px;font-weight:800;color:#253b51;border-bottom:1px solid #8797a6;display:inline-flex;gap:24px;padding-bottom:7px;margin-top:37px}
.insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}
.insights-card{border:1px solid #dce3e9;background:#fff;min-height:345px;padding:34px;display:flex;flex-direction:column;align-items:flex-start;transition:box-shadow .2s,transform .2s}
.insights-card:hover{box-shadow:0 18px 35px #12243912;transform:translateY(-3px)}
.insights-card-top{display:flex;justify-content:space-between;width:100%;margin-bottom:48px;color:#667b8d;font-size:11px;font-weight:700;letter-spacing:.1em}
.insights-card-top span:last-child{font-size:21px;line-height:1}
.insights-card h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.22;margin:16px 0 15px;letter-spacing:-.05em}
.insights-card>p{font-size:14px;line-height:1.7;color:#617183;margin-bottom:32px}
.insights-card .insights-article-meta{margin-top:auto}
.insights-principles{padding:clamp(75px,9vw,115px) 0;background:#e9edf1;border-top:1px solid #dce3e8}
.insights-principles-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:80px;align-items:end}
.insights-principles h2{font-size:clamp(2.2rem,3.5vw,3.6rem);max-width:18ch}
.insights-principles-grid>p{font-size:15px;color:#5a6b7c;line-height:1.8}
.insights-article-heading{background:#f0f3f5;border-bottom:1px solid #dce4eb;padding:clamp(60px,6vw,90px) 0 clamp(65px,7.5vw,110px)}
.insights-article-heading-wrap{max-width:1000px}.insights-breadcrumb{font-size:12px;font-weight:750;color:#486076;display:inline-block;margin-bottom:56px}
.insights-article-heading-meta{display:flex;align-items:center;gap:22px;justify-content:space-between;flex-wrap:wrap;margin-bottom:25px}
.insights-article-date{font-size:11px;color:#637385}
.insights-article-heading h1{font-size:clamp(2.5rem,5vw,5.1rem);line-height:1.13;max-width:21ch}
.insights-article-deck{font-size:clamp(1.02rem,1.55vw,1.25rem);line-height:1.75;color:#596b7b;margin-top:34px;max-width:65ch}
.insights-article-section{padding:clamp(70px,9vw,120px) 0;background:#fff}
.insights-article-grid{display:grid;grid-template-columns:230px minmax(0,750px);gap:clamp(50px,7vw,120px);align-items:start}
.insights-article-aside{padding-top:10px;position:sticky;top:115px}.insights-aside-line{display:block;height:2px;background:#4b657f;width:42px;margin-bottom:28px}
.insights-article-aside p{color:#68798a;font-size:13px;line-height:1.8;max-width:22ch}
.insights-prose{min-width:0}.insights-prose>h2{font-size:clamp(1.65rem,2.5vw,2.3rem);margin:45px 0 20px;letter-spacing:-.04em}.insights-prose>h2:first-child{margin-top:0}
.insights-prose>p,.insights-prose>ol,.insights-prose>ul{color:#465869;font-size:16px;line-height:1.85;max-width:70ch;margin:0 0 22px}
.insights-prose>ol,.insights-prose>ul{padding-left:23px}.insights-prose>ol li,.insights-prose>ul li{padding-left:9px;margin-bottom:11px}
.insights-prose strong{color:#1a2b3b;font-weight:750}
.insights-source{margin-top:65px;padding:29px 31px;background:#edf2f5;border-left:3px solid #6e87a0;display:flex;flex-direction:column;gap:8px}
.insights-source .eyebrow{margin:0 0 5px}.insights-source p{color:#273c4f;font-weight:700;font-size:15px}.insights-source small{color:#5d7080}
.insights-source a{align-self:flex-start;border-bottom:1px solid #57748c;font-weight:750;font-size:12px;margin-top:15px;padding-bottom:5px;color:#314d66}
.insights-editorial-note{margin-top:29px;padding-top:23px;border-top:1px solid #dae1e7}.insights-editorial-note strong{font-size:12px}.insights-editorial-note p{font-size:13px;color:#758390;line-height:1.7;margin-top:7px}
.insights-article-end{padding:0 0 85px;background:#fff}
@media(max-width:970px){.insights-hero-grid{grid-template-columns:1fr;gap:45px}.insights-hero h1{max-width:18ch}.insights-hero-aside p{max-width:56ch}.insights-featured{grid-template-columns:1fr}.insights-featured-visual{min-height:310px}.insights-featured-content{padding:45px}.insights-principles-grid{gap:30px}.insights-article-grid{grid-template-columns:1fr;gap:25px}.insights-article-aside{position:static;display:none}}
@media(max-width:670px){.insights-hero{padding:70px 0 64px}.insights-hero h1{font-size:clamp(2.6rem,11vw,4rem)}.insights-feed-heading{display:block}.insights-feed-heading>p{margin-top:18px}.insights-featured-visual{min-height:240px}.insights-featured-content{padding:28px}.insights-featured-content h3{font-size:1.8rem}.insights-grid{grid-template-columns:1fr}.insights-card{min-height:300px;padding:29px}.insights-card-top{margin-bottom:33px}.insights-principles-grid{grid-template-columns:1fr}.insights-article-heading h1{font-size:clamp(2.3rem,9vw,3.1rem)}.insights-article-heading-meta{align-items:flex-start}.insights-prose>p,.insights-prose>ol,.insights-prose>ul{font-size:15px}.insights-source{padding:26px 23px}}
@media(prefers-reduced-motion:reduce){.insights-featured,.insights-card{transition:none}.insights-featured:hover,.insights-card:hover{transform:none}}

.insights-article-end-links{display:flex;flex-wrap:wrap;gap:32px 60px;align-items:center}

/* ---- tisec-v1617.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.17 — Mobile-first refinement. Scoped to small screens;
   desktop structure, approved corporate identity, copy and imagery stay unchanged. */
@media (max-width: 970px) {
  .nav-shell { min-height: 68px; }
  .primary-nav { top: 68px; max-height: calc(100dvh - 68px); overflow-y: auto; overscroll-behavior: contain; }
  .primary-nav a { min-height: 49px; display: flex; align-items: center; font-size: 15px; }
  .primary-nav .mobile-nav-action { margin-top: 15px; padding: 13px 18px; background: #0B0F14; color: #fff; justify-content: space-between; border: 0; }
  .primary-nav .mobile-nav-action:hover { color: #fff; background: #253746; }
  .menu-button { width: 46px; height: 46px; margin-right: -7px; padding: 11px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
  .menu-button span { width: 24px; margin: 4px 0; transition: transform .2s ease, opacity .2s ease; transform-origin: center; }
  .menu-button[aria-expanded="true"] span:first-child { transform: translateY(5px) rotate(45deg); }
  .menu-button[aria-expanded="true"] span:last-child { transform: translateY(-5px) rotate(-45deg); }
  .site-header { backdrop-filter: blur(15px); }
}
@media (min-width: 971px) { .mobile-nav-action { display: none !important; } }

@media (max-width: 767px) {
  :root { --gutter: clamp(18px, 5.4vw, 26px); --tisec-text-body: .9375rem; --tisec-text-h2: clamp(1.7rem, 7.4vw, 2.2rem); --tisec-text-h3: 1.27rem; }
  html { scroll-padding-top: 76px; }
  body { font-size: 15px; line-height: 1.65; overflow-x: clip; }
  main, main > section { min-width: 0; }
  .section { padding-block: 59px; }
  .section-tight { padding-top: 34px; }
  .section-heading, .section-heading--stacked { margin-bottom: 26px; }
  .section-heading :is(h1,h2), .section-heading--stacked :is(h1,h2) { font-size: clamp(1.73rem, 7.25vw, 2.12rem) !important; line-height: 1.18 !important; letter-spacing: -.045em; }
  .section-heading > p,.section-heading--stacked > p { font-size: 14px !important; line-height: 1.65 !important; margin-top: 12px !important; max-width: 36ch !important; }
  .eyebrow { font-size: 10px; letter-spacing: .13em; margin-bottom: 14px; }
  .button { min-height: 46px; padding: 13px 18px; font-size: 13px; gap: 22px; }
  .text-link { min-height: 44px; align-items: center; gap: 17px; padding-bottom: 3px; font-size: 13px; }

  /* First fold: visible message, readable type and a useful primary action. */
  .hero { height: auto; min-height: 0; }
  .hero-content { min-height: clamp(435px, 77svh, 565px); height: auto; padding-top: 53px; padding-bottom: 60px; justify-content: center; }
  .hero-copy { width: 100%; max-width: 520px; }
  .hero h1.hero-title { font-size: clamp(2.03rem, 9.1vw, 2.95rem); letter-spacing: -.057em; line-height: 1.13; max-width: 16ch; }
  .hero-title .hero-line { white-space: normal; text-wrap: balance; }
  .hero-lead { max-width: 35ch; font-size: 15px; line-height: 1.65; margin-top: 22px; }
  .hero-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 24px; }
  .hero-actions .button { min-width: min(100%, 234px); }
  .hero-actions .text-link { padding: 5px 0; }
  .hero-orb.hero-network { width: 440px; height: 440px; right: -265px; top: 35px; opacity: .26; }
  .hero::after { background: linear-gradient(90deg,#0B0F14 14%,#0B0F14DC 79%,#0B0F1499); }
  .expertise-bar-inner { min-height: 0; padding-block: 17px; gap: 7px 13px; flex-direction: row; align-items: baseline; justify-content: flex-start; }
  .expertise-bar-inner .expertise-label { flex-basis: 100%; margin: 0 0 2px; font-size: 10px; }
  .expertise-bar-inner > span:not(.expertise-label) { font-size: 11px; line-height: 1.5; }
  .expertise-bar-inner > span:not(.expertise-label):not(:last-child)::after { content: '·'; color: #8399ae; margin-left: 12px; }

  /* The categories are scannable, rather than full-height desktop cards. */
  .core-section .tisec-categories-grid { grid-template-columns: minmax(0,1fr); margin-top: 24px; gap: 1px; }
  .core-section .tisec-category-card { min-height: 0; padding: 20px 21px 19px; gap: 7px; }
  .core-section .tisec-category-card .tisec-card-count { font-size: 10px; letter-spacing: .11em; }
  .core-section .tisec-category-card h3 { font-size: clamp(1.28rem,5.3vw,1.52rem) !important; line-height: 1.22 !important; }
  .core-section .tisec-category-card p { flex: 0 1 auto; font-size: 13.5px !important; line-height: 1.55 !important; max-width: 49ch; }
  .core-section .tisec-category-card .tisec-category-cta { margin-top: 5px; font-size: 12px; min-height: 30px; display: inline-flex; align-items: center; }

  /* Portrait photograph remains approved; crop is less dominant on a phone. */
  .tisec-work-section .tisec-work-intro { margin-bottom: 24px; gap: 23px; }
  .tisec-work-section .tisec-work-photo { width: 100%; min-height: 0; height: auto; max-height: none; aspect-ratio: 1.21 / 1; }
  .tisec-work-section .tisec-work-photo img { min-height: 0; object-position: 50% 46%; }
  .tisec-work-section .approach-copy .tisec-work-heading { font-size: clamp(1.85rem, 7.2vw, 2.3rem) !important; margin-bottom: 12px; }
  .tisec-work-section .tisec-work-lead { font-size: 14.5px; margin: 0 0 14px; line-height: 1.66; }

  /* Four-stage progress becomes a vertical reading timeline, not four tall cards. */
  .tisec-work-section .tisec-work-steps { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; margin-top: 23px; background: transparent; border: 0; position: relative; overflow: visible; isolation: isolate; }
  .tisec-work-section .tisec-work-steps::before { display: block !important; content: ''; position: absolute; left: 13px; top: 25px; bottom: 36px; width: 2px; height: auto; background: linear-gradient(#7590a9,#c3cfd9); transform: none !important; animation: none !important; z-index: 0; }
  .tisec-work-section .tisec-work-steps::after { display: none !important; }
  .tisec-work-section .tisec-work-step { padding: 14px 0 19px 44px; min-height: 0; position: relative; background: transparent; border-bottom: 1px solid #d5dde4; }
  .tisec-work-section .tisec-work-step:last-child { border-bottom: 0; }
  .tisec-work-section .tisec-work-step::before { display: none !important; }
  .tisec-work-section .tisec-work-step::after { content:''; position: absolute; left: 7px; top: 22px; width: 14px; height: 14px; border: 3px solid #869db2; background: #f0f2f3; border-radius: 50%; box-shadow: 0 0 0 4px #f0f2f3; z-index: 1; transition: background .3s, border-color .3s; }
  .tisec-work-section .tisec-work-step.tisec-step-active::after { background: #5d7892; border-color: #5d7892; }
  .tisec-work-section .tisec-work-step-number { margin: 0 0 5px; font-size: 10px; font-weight: 800; }
  .tisec-work-section .tisec-work-step-number::after { display: none; }
  .tisec-work-section .tisec-work-step h3 { margin: 0 0 6px; font-size: 1.34rem; line-height: 1.2; }
  .tisec-work-section .tisec-work-step p { font-size: 13.5px; line-height: 1.6; max-width: 43ch; }

  /* Offer modes and practical examples use matched, shorter editorial cards. */
  .tisec-modalities.engagement-teaser { padding: 47px 0; }
  .tisec-v164-modalities-title { margin-bottom: 19px; }
  .tisec-v164-modalities-title h2 { font-size: clamp(1.63rem, 6.9vw, 2.15rem); }
  .tisec-modalities .tisec-modalities-grid { margin: 0 !important; }
  .tisec-modalities .tisec-modalities-grid > a,
  .tisec-modalities .tisec-modalities-grid > a + a { padding: 15px 0 !important; gap: 7px 10px !important; }
  .tisec-modalities .tisec-modalities-grid > a > strong { font-size: 15px !important; line-height: 1.4 !important; }
  .tisec-modalities .tisec-modalities-grid > a > p { font-size: 13px; line-height: 1.55; }
  .cases-preview .case-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
  .cases-preview .case-card { min-height: 0; }
  .cases-preview .case-art,.cases-preview .case-photo { aspect-ratio: 1.7 / 1; min-height: 0; }
  .cases-preview .case-photo img { min-height: 0; max-height: unset; width: 100%; height: 100%; object-fit: cover; }
  .cases-preview .case-content { padding: 19px 20px 21px; }
  .cases-preview .case-content .eyebrow { font-size: 9.5px; margin-bottom: 9px; }
  .cases-preview .case-content h3 { font-size: 1.34rem; line-height: 1.23; margin-bottom: 9px; }
  .cases-preview .case-content p { font-size: 13.5px; line-height: 1.63; }
  .cases-preview .all-cases { margin-top: 19px; }

  /* Interactive guidance: thumb-friendly, but no oversized empty panel. */
  .tisec-diagnostic { padding-block: 57px; }
  .tisec-diagnostic-shell { gap: 22px; }
  .tisec-diagnostic h2 { font-size: clamp(1.78rem,7.4vw,2.1rem); margin: 7px 0 11px; }
  .tisec-diagnostic-intro > p { font-size: 14px; line-height: 1.65; }
  .tisec-diagnostic-tool { min-height: 0; padding: 21px 18px; }
  .tisec-diag-progress { margin-bottom: 14px; font-size: 10px; }
  .tisec-diag-question { font-size: clamp(1.17rem,5.1vw,1.35rem); margin-bottom: 14px; }
  .tisec-diag-options { gap: 8px; }
  .tisec-diag-choice { min-height: 48px; padding: 11px 13px; font-size: 14px; line-height: 1.4; touch-action: manipulation; }
  .tisec-diag-actions { margin-top: 11px; }
  .tisec-diag-back,.tisec-diag-reset { min-height: 44px; padding: 10px 0; }

  /* Contact: no iOS zoom on fields, comfortable touch surfaces, no overflow. */
  .page-hero { padding-block: 47px 43px; }
  .page-hero h1, .page-hero:not(.about-page-hero) > h1 { font-size: clamp(2.05rem, 8.1vw, 2.65rem) !important; }
  .page-hero > p:not(.eyebrow) { font-size: 15px !important; line-height: 1.65; margin-top: 15px; }
  .contact-layout { gap: 31px; }
  .contact-aside { padding-top: 0; }
  .contact-rule { margin: 19px 0; }
  .contact-form { gap: 18px; }
  .field-row { gap: 17px; }
  .contact-form label { font-size: 13px; }
  .contact-form :is(input:not([type=checkbox]), select, textarea) { min-height: 49px; font-size: 16px; padding: 12px 14px; }
  .contact-form textarea { min-height: 138px; }
  .contact-form .consent { font-size: 12.5px; }
  .contact-form .consent input { width: 20px; height: 20px; flex-shrink: 0; }
  .contact-form .submit { width: 100%; min-width: 0; min-height: 49px; justify-content: center; }
  .turnstile-container { max-width: 100%; overflow: hidden; }

  /* End-of-page CTA, legal pages, service pages, insights and footer. */
  .closing-section { padding-block: 61px; }
  .closing-inner h2 { font-size: clamp(1.84rem,7.45vw,2.3rem) !important; }
  .closing-inner > p:not(.eyebrow) { margin-top: 15px; margin-bottom: 19px; font-size: 14px; line-height: 1.65; }
  .site-footer { padding: 45px 0 23px; }
  .footer-top { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 26px 14px; padding-bottom: 33px; }
  .footer-intro { grid-column: 1 / -1; }
  .footer-intro p { margin-top: 12px; font-size: 13px; line-height: 1.6; max-width: 38ch; }
  .footer-col { gap: 7px; min-width: 0; }
  .footer-col a { line-height: 1.5; font-size: 13px; overflow-wrap: anywhere; padding: 4px 0; }
  .footer-bottom { gap: 5px; line-height: 1.5; }
  .tisec-solutions-catalog { padding-top: 28px; }
  .tisec-solutions-group { padding: 28px 0; }
  .tisec-solutions-group .tisec-solution-entry { padding: 19px 18px; }
  .tisec-solutions-group .tisec-group-lead { font-size: 14px; }
  .tisec-v164-intro { padding-block: 45px; }
  .tisec-v164-example-visual.tisec-v165-photo { aspect-ratio: 1.75 / 1; }
  .tisec-v164-example-copy { padding: 19px; }
  .tisec-v164-example-copy p { font-size: 14px; }
  .legal-page-intro,.legal-hero { padding: 48px 0 38px; }
  .legal-document,.legal-layout { padding-bottom: 57px; }
  .insights-hero { padding: 52px 0 47px; }
  .insights-hero-grid { gap: 23px; }
  .insights-hero h1 { font-size: clamp(2.08rem, 8.8vw, 2.82rem); line-height: 1.12; }
  .insights-hero-aside p { font-size: 14px; line-height: 1.65; }
  .insights-small-line { margin-bottom: 15px; }
  .insights-edition { margin-top: 16px; }
  .insights-feed-heading { margin-bottom: 23px; }
  .insights-feed-heading h2 { font-size: 1.85rem; }
  .insights-featured-visual { min-height: 200px; }
  .insights-featured-content { padding: 22px 20px; }
  .insights-featured-content h3 { font-size: 1.57rem; margin: 12px 0; }
  .insights-featured-content > p { font-size: 14px; margin-bottom: 14px; }
  .insights-read-link { margin-top: 20px; min-height: 42px; align-items: center; }
  .insights-grid { gap: 13px; margin-top: 13px; }
  .insights-card { min-height: 0; padding: 22px 20px; }
  .insights-card-top { margin-bottom: 18px; }
  .insights-card h3 { font-size: 1.42rem; }
  .insights-principles { padding-block: 55px; }
  .insights-principles h2 { font-size: 1.85rem; }
  .insights-article-heading { padding: 45px 0 46px; }
  .insights-breadcrumb { margin-bottom: 27px; }
  .insights-article-heading h1 { font-size: clamp(2rem, 8vw, 2.7rem); }
  .insights-article-deck { font-size: 15px; margin-top: 17px; }
  .insights-article-section { padding: 45px 0 55px; }
  .insights-article-grid { gap: 0; }
  .insights-prose > h2 { margin: 32px 0 14px; }
  .insights-prose > p,.insights-prose > ol,.insights-prose > ul { font-size: 15px; line-height: 1.72; }
  .insights-source { margin-top: 37px; padding: 21px 19px; }
  .insights-article-end { padding-bottom: 50px; }
}
@media (max-width: 380px) {
  :root { --gutter: 17px; }
  .hero h1.hero-title { font-size: clamp(2rem, 9.25vw, 2.28rem); }
  .hero-content { min-height: 455px; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .tisec-work-section .tisec-work-step { padding-left: 39px; }
  .core-section .tisec-category-card { padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .menu-button span, .tisec-work-section .tisec-work-step::after { transition: none !important; }
}

/* ---- tisec-v1618.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.18 — Alinhamento centrado para ecrãs móveis.
   Carregado depois de v1.6.17; não altera a apresentação desktop.
   Mantém campos de entrada e listas numeradas alinhados para leitura e preenchimento. */
@media (max-width: 767px) {
  /* Texto editorial: homepage, soluções, casos, Insights e páginas institucionais. */
  #main, .site-footer { text-align: center; }
  #main :is(h1,h2,h3,h4,p) { text-align: center !important; }
  #main :is(h1,h2,h3,h4,p) { margin-inline: auto; }
  #main .eyebrow { justify-content: center !important; text-align: center !important; }
  #main .wrap > .text-link { justify-content: center; }
  #main .section-heading, #main .section-heading--stacked { align-items: center !important; justify-items: center; text-align: center !important; }
  #main .section-heading > div, #main .section-heading--stacked > div { width: 100%; text-align: center; }
  #main .section-heading :is(h1,h2), #main .section-heading--stacked :is(h1,h2) { margin-inline: auto !important; }
  #main .section-heading > p, #main .section-heading--stacked > p { margin-inline: auto !important; }

  /* Hero: título, frase e as duas chamadas para ação alinhados pelo mesmo eixo. */
  .hero .hero-content { align-items: center; }
  .hero .hero-copy { width: 100%; margin-inline: auto; text-align: center; }
  .hero h1.hero-title, .hero .hero-lead { margin-inline: auto; text-align: center !important; }
  .hero .hero-actions { align-items: center !important; justify-content: center !important; }
  .hero .hero-actions :is(.button,.text-link) { align-self: center; text-align: center; }
  .hero .hero-actions .button { justify-content: center; gap: 22px; }
  .expertise-bar .expertise-bar-inner { justify-content: center !important; align-items: center !important; text-align: center; }
  .expertise-bar .expertise-bar-inner > span { text-align: center; }

  /* Serviços e ligações de exploração. */
  .core-section .tisec-category-card { align-items: center; text-align: center; }
  .core-section .tisec-category-card :is(h3,p,.tisec-card-count,.tisec-category-cta) { text-align: center !important; margin-inline: auto; }
  .core-section .tisec-category-card .tisec-category-cta { justify-content: center; }
  .core-section .core-all-cta { justify-content: center !important; }
  .tisec-solutions-group, .tisec-solutions-group .tisec-solution-entry { text-align: center !important; }
  .tisec-solutions-group .tisec-solution-entry { align-items: center !important; }
  .tisec-v164-example-copy, .service-intro-copy { text-align: center; }

  /* Fotografia e processo: mantemos a timeline vertical, centramos o conteúdo de cada etapa. */
  .tisec-work-section .approach-copy { text-align: center; }
  .tisec-work-section .approach-copy .text-link { justify-content: center; }
  .tisec-work-section .tisec-work-step { text-align: center; }
  .tisec-work-section .tisec-work-step :is(.tisec-work-step-number,h3,p) { text-align: center !important; margin-inline: auto; }
  .tisec-v164-modalities-title { text-align: center; }
  .tisec-modalities .tisec-modalities-grid > a,
  .tisec-modalities .tisec-modalities-grid > a + a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center;
    gap: 7px !important;
    text-align: center !important;
  }
  .tisec-modalities .tisec-modalities-grid > a > :is(span,strong,p) { text-align: center !important; margin-inline: auto !important; }

  /* Casos práticos e diagnóstico. */
  .cases-preview .case-content { text-align: center; }
  .cases-preview .case-content .eyebrow { justify-content: center; }
  .cases-preview .all-cases { display: flex; justify-content: center; }
  .tisec-diagnostic-intro { text-align: center; }
  .tisec-diagnostic-tool, .tisec-diag-content, .tisec-diag-progress { text-align: center; }
  .tisec-diag-options .tisec-diag-choice { text-align: center !important; }
  .tisec-diag-actions { justify-content: center; }

  /* Contacto: textos de apresentação centrados; formulários continuam práticos. */
  .page-hero { align-items: center !important; text-align: center !important; }
  .page-hero .back-link { align-self: center; }
  .contact-aside { text-align: center; }
  .contact-form, .contact-form :is(label,input,textarea,select,option) { text-align: left !important; }
  .contact-form :is(input,textarea,select) { direction: ltr; }
  .contact-form .consent, .contact-form .form-status { text-align: left !important; }
  .contact-form .submit { justify-content: center; text-align: center; }

  /* CTA final: sobrepor estilos antigos com !important sem interferir no desktop. */
  .closing-section .closing-inner { align-items: center !important; text-align: center !important; }
  .closing-section .closing-inner :is(.eyebrow,h2,p) { text-align: center !important; margin-inline: auto !important; }
  .closing-section .closing-inner .button { align-self: center !important; margin-inline: auto !important; justify-content: center; }

  /* Páginas editoriais, títulos, dados de publicação, fontes e partilha. */
  .insights-hero-grid, .insights-hero-aside, .insights-feed-heading, .insights-principles-grid { text-align: center; }
  .insights-feed-heading > div, .insights-article-heading-meta, .insights-article-meta { justify-content: center; text-align: center; }
  .insights-featured-content, .insights-card { align-items: center !important; text-align: center; }
  .insights-card-top { justify-content: space-between; }
  .insights-read-link { justify-content: center; }
  .insights-article-heading-wrap, .insights-article-end-links { text-align: center; }
  .insights-article-heading-meta, .insights-article-end-links { justify-content: center; }
  .insights-source { align-items: center; text-align: center; }
  .insights-source a { align-self: center; }
  .insights-prose :is(ul,ol), .legal-document :is(ul,ol) {
    text-align: left; /* Preserva alinhamento das listas e respetivos marcadores. */
  }
  .insights-prose :is(li), .legal-document :is(li) { text-align: left; }
  .legal-meta, .legal-hero-aside, .legal-toc, .legal-toc-more { text-align: center; justify-content: center; }
  .legal-toc nav a { text-align: center; }

  /* Rodapé: colunas preservadas mas texto, logótipo e links centrados. */
  .site-footer .footer-intro, .site-footer .footer-bottom { text-align: center; }
  .site-footer .footer-intro .brand { justify-content: center; }
  .site-footer .footer-intro p { margin-inline: auto; }
  .site-footer .footer-col { align-items: center !important; text-align: center; }
  .site-footer .footer-col :is(a,span) { text-align: center; }
  .site-footer .footer-bottom { align-items: center; }

  /* O menu é móvel: itens legíveis e centrados, sem mover o logo do cabeçalho. */
  .site-header .primary-nav a { justify-content: center; text-align: center; }
  .site-header .primary-nav .mobile-nav-action { justify-content: center; gap: 14px; }
}

/* ---- tisec-v1619-paper.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.19-preview — approved editorial paper architecture hero.
   Fully scoped; the rest of the site retains v1.6.18 styles.
   Building is a cropped piece of the user-approved artwork; detached paper is SVG/CSS.
   No runtime 3D dependency, canvas or animation loop. */
.tisec-paper-hero {
  background: radial-gradient(ellipse 110% 90% at 77% 42%,#f4f5f6 0%,#f0f1f2 65%,#edf0f2 100%);
  color:#0d202c;position:relative;isolation:isolate;overflow:hidden;
  border-bottom:1px solid #e1e5e8;
}
.tisec-paper-shell {min-height:clamp(660px,58vw,760px);display:flex;align-items:center;position:relative;}
.tisec-paper-copy {position:relative;z-index:4;max-width:575px;width:51%;padding:95px 0 120px;}
.tisec-paper-eyebrow {font-size:11px;letter-spacing:.145em;color:#647484;font-weight:600;line-height:1.55;margin:0 0 34px;max-width:50ch;}
.tisec-paper-title {font-weight:760;font-size:clamp(3.3rem,5.1vw,5.3rem);line-height:1.02;letter-spacing:-.07em;margin:0;color:#0a202d;text-wrap:nowrap;max-width:none;}
.tisec-paper-title span,.tisec-paper-title em {display:block;white-space:nowrap;font-style:normal;}
.tisec-paper-title em {color:#647381;}
.tisec-paper-lead {margin:29px 0 0;max-width:38ch;color:#4f6171;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.72;letter-spacing:-.009em;}
.tisec-paper-actions {display:flex;align-items:center;gap:31px;margin-top:30px;flex-wrap:wrap;}
.tisec-paper-primary {color:white;background:#102531;min-height:52px;min-width:192px;justify-content:space-between;font-size:13px;box-shadow:0 7px 18px #1e344109;}
.tisec-paper-primary:hover {background:#273d4a;}
.tisec-paper-secondary {color:#1b303e;border-bottom-color:#93a3b0;font-size:13px;white-space:nowrap;}
.tisec-paper-art {position:absolute;z-index:1;right:-4.9%;bottom:0;width:52%;max-width:720px;pointer-events:none;line-height:0;filter:drop-shadow(0 24px 23px rgba(51,65,77,.065));}
.tisec-paper-building {display:block;width:100%;height:auto;max-width:none;transform:translateZ(0);}
.tisec-paper-fragments {position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.tisec-paper-float {transform-box:fill-box;transform-origin:center;will-change:transform;}
.tisec-paper-float--one {animation:tisec-paper-drift-one 8.2s ease-in-out infinite alternate;}
.tisec-paper-float--two {animation:tisec-paper-drift-two 10.5s ease-in-out infinite alternate;}
.tisec-paper-float--three {animation:tisec-paper-drift-three 7.4s ease-in-out infinite alternate;}
.tisec-paper-float--four {animation:tisec-paper-drift-one 12s ease-in-out infinite alternate-reverse;}
@keyframes tisec-paper-drift-one {0%,13%{transform:translate(0,0) rotate(0deg)}70%{transform:translate(9px,-11px) rotate(7deg)}100%{transform:translate(0,-4px) rotate(-3deg)}}
@keyframes tisec-paper-drift-two {0%,18%{transform:translate(0,0) rotate(0deg)}64%{transform:translate(-7px,-14px) rotate(-6deg)}100%{transform:translate(2px,-3px) rotate(2deg)}}
@keyframes tisec-paper-drift-three {0%,13%{transform:translate(0,0) rotate(0deg)}76%{transform:translate(12px,-7px) rotate(9deg)}100%{transform:translate(-2px,3px) rotate(1deg)}}
@media (min-width:1440px) {
 .tisec-paper-art {right:-5.2%;width:53%;}
 .tisec-paper-copy{width:52%;}
}
@media (max-width:1180px) and (min-width:901px) {
 .tisec-paper-shell{min-height:640px}
 .tisec-paper-title{font-size:clamp(3.15rem,5.1vw,4.15rem)}
 .tisec-paper-copy{width:54%;}
 .tisec-paper-art{right:-6%;width:54%;}
 .tisec-paper-actions{gap:19px}
}
@media (max-width:900px) {
 .tisec-paper-shell{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:0;}
 .tisec-paper-copy{width:100%;max-width:660px;padding:70px 0 0;}
 .tisec-paper-title{font-size:clamp(2.9rem,7.5vw,4.45rem);}
 .tisec-paper-lead{max-width:46ch;}
 .tisec-paper-art{position:relative;align-self:center;right:auto;bottom:auto;margin:20px auto -2px;width:min(84vw,630px);max-width:none;}
}
@media (max-width:767px) {
 .tisec-paper-hero {overflow:clip;}
 .tisec-paper-shell {width:min(calc(100% - 2*var(--gutter)), 580px);}
 .tisec-paper-copy{padding:47px 0 0;position:relative;z-index:4;text-align:left!important;}
 #main .tisec-paper-copy :is(h1,p) {text-align:left!important;margin-inline:0!important;}
 .tisec-paper-eyebrow{font-size:10px;line-height:1.6;letter-spacing:.13em;max-width:34ch;margin-bottom:23px!important;}
 .tisec-paper-title {font-size:clamp(2.08rem,9vw,3.2rem);line-height:1.07;letter-spacing:-.065em;}
 .tisec-paper-title span,.tisec-paper-title em {white-space:normal;}
 .tisec-paper-title em{max-width:12ch;}
 #main .tisec-paper-lead {font-size:15px;max-width:36ch;line-height:1.62;margin-top:23px!important;}
 .tisec-paper-actions{justify-content:flex-start!important;align-items:flex-start!important;flex-direction:column;gap:8px;margin-top:23px;}
 .tisec-paper-actions .button {align-self:flex-start;min-width:186px;min-height:49px;text-align:left;}
 .tisec-paper-actions .text-link {align-self:flex-start;min-height:43px;color:#283e4c;text-align:left;}
 .tisec-paper-art {width:min(112%,490px);max-width:none;margin:18px auto -1px;left:0;right:0;transform:none;}
 .tisec-paper-fragments{overflow:hidden;}
}
@media(max-width:355px) {
 .tisec-paper-title{font-size:clamp(1.82rem,9.1vw,2.1rem)}
 .tisec-paper-copy{padding-top:37px;}
 .tisec-paper-eyebrow{font-size:9px;}
 .tisec-paper-art{width:110%;}
}
@media(prefers-reduced-motion:reduce) {
 .tisec-paper-float{animation:none!important;will-change:auto!important;}
}

/* ---- tisec-v1620.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.20 — ajustes aprovados para Preview.
   Isolado da v1.6.19: tipografia do hero, escala do edifício e faixa de especialidades.
   Cabos decorativos removidos da homepage no template, não usados nesta versão. */

/* O título e a descrição têm duas linhas editoriais no desktop. */
.tisec-paper-copy {
  width: 67%;
  max-width: 755px;
  padding: 82px 0 102px;
}
.tisec-paper-title {
  font-size: clamp(2.85rem, 3.8vw, 4.05rem);
  letter-spacing: -.062em;
  line-height: 1.045;
  max-width: 100%;
}
.tisec-paper-title > span,
.tisec-paper-title > em {display:block;white-space:nowrap;}
.tisec-paper-lead {
  max-width: none;
  font-size: clamp(.9rem, 1.12vw, 1rem);
  line-height: 1.62;
  margin-top: 31px;
}
.tisec-paper-lead > span {display:block;white-space:nowrap;}

/* Edifício 20% mais pequeno, ancorado ao mesmo canto inferior direito. */
.tisec-paper-art {
  width: 42.4%;
  max-width: 576px;
  right:-4.9%;
  bottom:0;
}

/* Os três focos são uma sequência única, centrada, sem quebras internas. */
.expertise-bar-inner,
.expertise-bar .expertise-bar-inner {
  display:flex;
  position:relative;
  flex-direction:row;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  min-height:89px;
  gap:clamp(16px,3.2vw,58px);
  padding-block:36px 13px;
  text-align:center;
}
.expertise-bar-inner .expertise-label {
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  flex:0 0 auto;
  margin:0;
  white-space:nowrap;
  font-size:9px;
}
.expertise-bar-inner > span:not(.expertise-label) {
  flex:0 0 auto;
  white-space:nowrap;
  font-size:clamp(11px,1.12vw,13px);
  line-height:1.3;
  text-align:center;
}
.expertise-bar-inner > span:not(.expertise-label):not(:last-child)::after {
  content:none !important;
  display:none !important;
}

@media (min-width:901px) and (max-width:1180px) {
 .tisec-paper-copy{width:69%;max-width:700px;}
 .tisec-paper-title{font-size:clamp(2.5rem,4vw,3.3rem)}
 .tisec-paper-art{right:-6%;width:43.2%;}
}
@media (max-width:900px) {
 .tisec-paper-copy{width:100%;max-width:660px;padding:58px 0 0;}
 .tisec-paper-title{font-size:clamp(2.45rem,6.2vw,3.6rem);}
 .tisec-paper-title > span,
 .tisec-paper-title > em,
 .tisec-paper-lead > span{white-space:normal;}
 .tisec-paper-art{position:relative;bottom:auto;right:auto;width:min(67.2vw,504px);max-width:none;}
 .tisec-paper-lead{max-width:58ch;}
}
@media (max-width:767px) {
 .tisec-paper-copy{padding:44px 0 0;text-align:left!important;}
 #main .tisec-paper-copy :is(h1,p){text-align:left!important;margin-inline:0!important;}
 .tisec-paper-title{font-size:clamp(2.06rem,8.3vw,3.05rem);line-height:1.075;}
 .tisec-paper-lead{font-size:15px;line-height:1.58;max-width:38ch;}
 .tisec-paper-actions{align-items:flex-start!important;justify-content:flex-start!important;}
 .tisec-paper-art{width:min(90%,392px);margin:19px auto 0;left:auto;right:auto;}
 .expertise-bar .expertise-bar-inner{
   flex-direction:row!important;
   flex-wrap:nowrap!important;
   justify-content:center!important;
   align-items:center!important;
   gap:clamp(7px,2.1vw,15px);
   padding-block:32px 13px;
   min-height:74px;
 }
 .expertise-bar-inner .expertise-label{
   top:11px;
   margin:0;
   flex-basis:auto;
   font-size:9px;
 }
 .expertise-bar-inner > span:not(.expertise-label){
   font-size:clamp(9px,2.55vw,11px);
   white-space:nowrap;
   letter-spacing:-.025em;
 }
}
@media (max-width:355px) {
 .tisec-paper-title{font-size:clamp(1.86rem,8.25vw,2.1rem)}
 .tisec-paper-art{width:91%;}
 .expertise-bar .expertise-bar-inner{gap:6px;}
 .expertise-bar-inner > span:not(.expertise-label){font-size:9px;letter-spacing:-.045em;}
}
@media (prefers-reduced-motion:reduce) {
 .tisec-paper-float {animation:none!important;}
}

/* ---- tisec-v1621.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.21 — UNICAMENTE PREVIEW
   Correções solicitadas: linha editorial do título, edifício mais alto e
   fundo único claro ao longo da homepage, exceto contacto final e footer. */

/* A mesma cor do hero continua em todas as secções da homepage.
   Os cartões, fotografias e campos mantêm contraste como elementos de conteúdo. */
:root { --tisec-home-paper: #f0f1f2; }
.tisec-home-main { background: var(--tisec-home-paper); }
.tisec-home-main > section:not(.closing-section) {
  background: var(--tisec-home-paper);
}
/* Barra de especialidades deixa de interromper a página com uma faixa escura. */
.tisec-home-main > .expertise-bar { color:#102531; border-block:1px solid #d9dfe4; }
.tisec-home-main .expertise-label { color:#60788c; }
/* Apenas a homepage: a navegação acompanha a mesma tonalidade clara. */
body:has(.tisec-home-main) .site-header { background:rgba(240,241,242,.96); }

/* Título editorial de duas linhas, com acento apenas em 'o que construiu.'. */
.tisec-home-main .tisec-paper-title > span { display:block; }
.tisec-home-main .tisec-paper-title > .tisec-paper-title-second {
  display:block; white-space:nowrap; color:#0a202d;
}
.tisec-home-main .tisec-paper-title .tisec-paper-title-second em {
  display:inline; font-style:normal; color:#647381;
}

/* Centro do edifício elevado: deixa de tocar a barra 'O nosso foco'. */
@media (min-width:901px) {
  .tisec-home-main .tisec-paper-art {
    top:43%; bottom:auto; transform:translateY(-50%);
  }
}
@media (min-width:901px) and (max-width:1180px) {
  .tisec-home-main .tisec-paper-title { font-size:clamp(2.45rem,3.65vw,3.3rem); }
}
@media (max-width:900px) {
  .tisec-home-main .tisec-paper-art {
    top:auto; bottom:auto; transform:none;
  }
}
@media (max-width:767px) {
  /* No telefone, respeitar a largura do ecrã sem forçar frases inteiras. */
  .tisec-home-main .tisec-paper-title > .tisec-paper-title-second { white-space:normal; }
  .tisec-home-main .tisec-paper-title .tisec-paper-title-second em { display:inline; }
  .tisec-home-main .tisec-paper-art { transform:none; }
}
/* O bloco de contacto final e o rodapé conservam os fundos escuros existentes. */
.tisec-home-main > .closing-section { background:#0B0F14; }
@media (prefers-reduced-motion:reduce) {
  .tisec-home-main .tisec-paper-float {animation:none!important;}
}

/* ---- tisec-v1623-type.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.23 — Roboto-only typography system (preview only)
   Roboto: headings, editorial body copy, navigation and controls
   Loaded last, preserving all previously approved layouts and mobile alignment. */
:root {
  --tisec-font-heading: 'Roboto',Arial,sans-serif;
  --tisec-font-body: 'Roboto',Arial,system-ui,sans-serif;
  --tisec-font-ui: 'Roboto',Arial,sans-serif;
  --tisec-type-hero: clamp(2.7rem,3.6vw,3.9rem);
  --tisec-type-page: clamp(2.55rem,3.35vw,3.25rem);
  --tisec-type-section: clamp(2rem,2.7vw,2.5rem);
  --tisec-type-card: 1.375rem;
  --tisec-type-subsection:clamp(1.625rem,2.1vw,2rem);
  --tisec-type-body: 1rem;
  --tisec-type-body-compact: .9375rem;
  --tisec-type-ui: .875rem;
  --tisec-type-eyebrow: .6875rem;
}
/* 1 — Brand typography; avoid three unrelated fonts within the same paragraph. */
body, main, .site-footer {font-family:var(--tisec-font-body);}
:where(main, .site-footer) p,
:where(main, .site-footer) li {font-family:var(--tisec-font-body);}
h1,h2,h3,h4,
.tisec-paper-title,
.section-heading h2,
.tisec-solutions-group h2,
.solutions-main-heading,
.tisec-modalities-title h2,
.tisec-category-card h3,
.tisec-modalities-grid strong,
.insights-card h3,
.insights-featured-content h3,
.insights-featured-word,
.offering-title,
.engagement-grid h3,
.tisec-work-step h3 {
  font-family:var(--tisec-font-heading);
  letter-spacing:-.035em;
}
/* Buttons, navigation, input labels and concise metadata also use Roboto. */
.site-header :is(nav a,.language,.header-cta,.menu-button),
.button,.text-link,.back-link,
.eyebrow,.footer-heading,.expertise-label,
.site-footer .footer-col a,
:is(.contact-form,.tisec-diagnostic) :is(label,button,input,textarea,select),
.insights-kicker,.insights-read-link,.insights-article-meta,
.insights-card-top,.insights-article-date,
.tisec-paper-primary,.tisec-paper-secondary,
.process-step .process-step-number,
.tisec-work-step-number,
.tisec-diagnostic .tisec-diag-choice {
  font-family:var(--tisec-font-ui);
}
/* 2 — Display level. Headings with the same role share one fluid scale.
   The paper-architecture hero has its own locked two-line composition. */
.tisec-paper-title {
  font-size:var(--tisec-type-hero) !important;
  letter-spacing:-.049em !important;
  line-height:1.095 !important;
  font-weight:700;
}
.page-hero h1,
.page-hero--stacked h1,
.legal-hero h1,
.legal-page-intro h1,
.insights-hero h1,
.insights-article-heading h1 {
  font-size:var(--tisec-type-page) !important;
  letter-spacing:-.04em !important;
  line-height:1.15 !important;
  font-weight:700;
}
/* 3 — Section headings: the single shared H2 size across all page families. */
.section-heading h2,
.section-heading--stacked h2,
.approach-copy h2,
.about-copy h2,
.about-experience-heading .experience-title,
.tisec-work-intro h2,
.tisec-v164-modalities-title h2,
.tisec-modalities-title h2,
.tisec-diagnostic-intro h2,
.insights-feed-heading h2,
.insights-principles h2,
.engagement-teaser h2,
.closing-inner h2,
.service-cta h2,
.tisec-solutions-group > h2,
.solutions-main-heading {
  font-size:var(--tisec-type-section) !important;
  line-height:1.18 !important;
  letter-spacing:-.035em !important;
  font-weight:700;
}
/* Document and long-form subheadings: distinct from major section headings. */
.insights-prose > h2,
.legal-document-section h2,
.legal-section-copy h2 {
  font-size:var(--tisec-type-subsection) !important;
  line-height:1.27 !important;
  letter-spacing:-.03em !important;
  font-weight:700;
}
/* 4 — Card headings: a standard size rather than version-specific values. */
.tisec-category-card h3,
.core-card h3,
.case-content h3,
.case-card h3,
.tisec-work-step h3,
.process-step h3,
.engagement-grid article h3,
.insights-card h3,
.insights-featured-content h3,
.tisec-solution-entry h3,
.tisec-modalities-grid strong {
  font-size:var(--tisec-type-card) !important;
  letter-spacing:-.032em !important;
  line-height:1.3 !important;
}
/* 5 — Reading scale: body remains Roboto; compact cards share the compact tier. */
.section-heading > p,
.section-heading--stacked > p,
.approach-copy > p:not(.eyebrow),
.tisec-diagnostic-intro > p,
.insights-hero-aside p,
.insights-feed-heading > p,
.page-hero > p:not(.eyebrow),
.insights-article-deck {
  font-family:var(--tisec-font-body);
  font-size:var(--tisec-type-body) !important;
  line-height:1.72 !important;
}
.tisec-category-card p,
.case-card .case-content > p:not(.eyebrow),
.tisec-work-step p,
.process-step p,
.engagement-grid article p,
.insights-card > p,
.insights-featured-content > p,
.tisec-modalities-grid p,
.legal-document-copy :is(p,ul,ol),
.legal-section-copy :is(p,ul,ol) {
  font-family:var(--tisec-font-body);
  font-size:var(--tisec-type-body-compact) !important;
  line-height:1.72 !important;
}
/* Special editorial article reading copy remains full-size. */
.insights-prose > :is(p,ul,ol){font-size:var(--tisec-type-body) !important;line-height:1.8 !important;}
/* UI hierarchy: labels and metadata are compact by design. */
.primary-nav a {font-size:var(--tisec-type-ui);}
.button,.text-link,.insights-read-link {font-size:var(--tisec-type-ui);}
.eyebrow,.insights-kicker,.footer-heading {font-size:var(--tisec-type-eyebrow);}
/* The two sentence lines in the homepage hero are deliberate editorial text,
   not tiny interface metadata. Retain previously approved desktop wrapping. */
.tisec-paper-lead{font-family:var(--tisec-font-body);font-size:var(--tisec-type-body) !important;line-height:1.7 !important;}
/* The three expertise labels must remain on one line (v1.6.20 requirement). */
.expertise-bar-inner > span:not(.expertise-label){font-family:var(--tisec-font-ui);}
/* Preserve the user's mobile-first typographic rhythm and centering exceptions. */
@media(max-width:900px){
  :root{
    --tisec-type-page:clamp(2rem,5vw,2.8rem);
    --tisec-type-section:clamp(1.7rem,4.2vw,2.1rem);
    --tisec-type-hero:clamp(2.12rem,6.15vw,3.4rem);
  }
}
@media(max-width:767px){
  :root{
    --tisec-type-page:clamp(1.875rem,8.5vw,2.25rem);
    --tisec-type-section:clamp(1.65rem,7vw,1.95rem);
    --tisec-type-hero:clamp(1.88rem,7.9vw,2.7rem);
    --tisec-type-card:1.25rem;
    --tisec-type-subsection:1.5rem;
    --tisec-type-body:.9375rem;
    --tisec-type-body-compact:.9375rem;
    --tisec-type-ui:.875rem;
    --tisec-type-eyebrow:.625rem;
  }
  /* Keep 2-line desktop headline, permit natural mobile wrapping. */
  .tisec-paper-title{line-height:1.13 !important;letter-spacing:-.044em !important;}
  .tisec-paper-lead{font-size:var(--tisec-type-body)!important;line-height:1.64!important;}
  .primary-nav a{font-size:.9375rem;}
  .button,.text-link{font-size:.875rem;}
  /* Form fields, consent and enumerated lists remain left-aligned. */
  .contact-form :is(label,input,textarea,select,option),
  .insights-prose :is(ul,ol,li),
  .legal-document :is(ul,ol,li){text-align:left !important;}
}
@media(max-width:355px){
  :root{--tisec-type-hero:clamp(1.75rem,7.75vw,1.9rem);}
}

/* ---- tisec-v1624-first-fold.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.24 — first-fold hero and direct progression to Services.
   Scope only the homepage hero. No global page-height/scroll hacks. */
:root { --tisec-nav-desktop: 87px; --tisec-nav-mobile: 69px; }
/* The sticky header occupies the top of the viewport. The hero fills the rest.
   A MIN-height, not fixed height, ensures short screens can still read everything. */
.tisec-home-main > .tisec-paper-hero {
  min-height: calc(100vh - var(--tisec-nav-desktop));
  min-height: calc(100svh - var(--tisec-nav-desktop));
}
.tisec-home-main .tisec-paper-shell {
  min-height: calc(100vh - var(--tisec-nav-desktop));
  min-height: calc(100svh - var(--tisec-nav-desktop));
}
/* Keep approved right-side architectural placement, but avoid cropping on
   short desktop displays while respecting the existing max-width. */
@media (min-width: 901px) {
  .tisec-home-main .tisec-paper-art {
    top: 50%;
    bottom: auto;
    width: min(42.4%, calc((100svh - 110px) * .87));
    transform: translateY(-50%);
  }
}
/* Header switches to 68px at 970px, per mobile-navigation styles. */
@media (max-width: 970px) {
  .tisec-home-main > .tisec-paper-hero {
    min-height: calc(100vh - var(--tisec-nav-mobile));
    min-height: calc(100svh - var(--tisec-nav-mobile));
  }
  .tisec-home-main .tisec-paper-shell {
    min-height: calc(100vh - var(--tisec-nav-mobile));
    min-height: calc(100svh - var(--tisec-nav-mobile));
  }
}
/* On smaller screens the building follows the CTAs and stays fully visible.
   Let the hero grow beyond one viewport if accessibility/text zoom needs it. */
@media (max-width: 900px) {
  .tisec-home-main .tisec-paper-shell {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
  }
  .tisec-home-main .tisec-paper-art {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    transform: none;
  }
}
@media (max-width: 767px) {
  .tisec-home-main .tisec-paper-shell { justify-content: space-between; }
  .tisec-home-main .tisec-paper-art { flex-shrink: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .tisec-home-main .tisec-paper-float { animation: none !important; }
}

/* Mid-size landscape tablets: retain the side-by-side composition so the
   building does not push the services section almost two screens down. */
@media (min-width: 768px) and (max-width: 900px) {
  .tisec-home-main .tisec-paper-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.13fr) minmax(0, .87fr);
    gap: 16px;
    align-items: center;
    justify-content: initial;
  }
  .tisec-home-main .tisec-paper-copy { padding: 35px 0; width: 100%; }
  .tisec-home-main .tisec-paper-title { font-size: clamp(2.25rem, 4.1vw, 2.7rem); }
  .tisec-home-main .tisec-paper-art {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    align-self: center;
  }
}
/* Short phones: fit the complete building and both calls to action into the
   initial fold where possible; never crop or hide informational content. */
@media (max-width: 767px) and (max-height: 720px) {
  .tisec-home-main .tisec-paper-copy { padding-top: 24px; }
  .tisec-home-main .tisec-paper-title { font-size: clamp(1.75rem, 7.5vw, 2.3rem) !important; }
  .tisec-home-main .tisec-paper-lead {
    margin-top: 14px !important;
    font-size: 14px !important;
    line-height: 1.48 !important;
  }
  .tisec-home-main .tisec-paper-actions { margin-top: 14px; gap: 4px; }
  .tisec-home-main .tisec-paper-actions .button { min-height: 45px; }
  .tisec-home-main .tisec-paper-actions .text-link { min-height: 38px; }
  .tisec-home-main .tisec-paper-art { width: min(68%, 300px); margin-top: 8px; }
}
@media (max-width: 355px) and (max-height: 620px) {
  .tisec-home-main .tisec-paper-copy { padding-top: 20px; }
  .tisec-home-main .tisec-paper-art { width: 60%; }
}

/* ---- tisec-v1625-editorial.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.25 — light editorial hero: the full second line is slate.
   The mobile headline may wrap naturally on narrow screens, without clipping. */
.tisec-home-main .tisec-paper-title > .tisec-paper-title-second {
  color: #647381;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .tisec-home-main .tisec-paper-title > .tisec-paper-title-second {
    white-space: normal;
    text-wrap: balance;
  }
}
/* Long-form editorial content: preserve natural rhythm and distinguish the lead. */
.insights-article-heading .insights-article-deck { font-style: italic; }
.insights-prose > hr { height:1px; border:0; background:#dce4e9; margin:45px 0 28px; }
.insights-prose > h2 { scroll-margin-top:100px; }
.insights-prose a { color:#294f70; text-decoration:underline; text-underline-offset:3px; }
.insights-prose a:hover { color:#0d2639; }

/* ---- tisec-v1627-editorial.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.27 — Editorial author identity and wider article openings.
   Based directly on v1.6.25; does not import v1.6.26's section or layout changes. */
@media (min-width: 971px) {
  .insights-article-heading .insights-article-heading-wrap {
    max-width: var(--wrap);
  }
  .insights-article-heading h1 {
    max-width: 100%;
    width: 100%;
    text-wrap: balance;
  }
  .insights-article-heading .insights-article-deck {
    max-width: 100%;
    width: 100%;
    text-wrap: pretty;
  }
}
/* On tablets and phones the text should fill available content width,
   but must never overflow or be artificially made smaller. */
.insights-article-heading-wrap,
.insights-article-heading h1,
.insights-article-heading .insights-article-deck { min-width: 0; }
@media (max-width: 970px) {
  .insights-article-heading h1,
  .insights-article-heading .insights-article-deck {
    max-width: 100%;
  }
}
/* Assinatura editorial sem fotografia (v1.6.30).
   Nome e função mantêm-se visíveis na coluna lateral e em mobile. */
.insights-article-aside .insights-author-profile {
  display: block;
  margin: 2px 0 18px;
}
.insights-article-aside .insights-author-name {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.025em;
  color: #0f2534;
  max-width: none;
  margin: 0 0 5px;
}
.insights-article-aside .insights-author-role {
  font-family: 'Roboto', Arial, sans-serif;
  color: #61778b;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  max-width: none;
  margin: 0;
}
.insights-article-aside > .insights-author-bio {
  color: #627588;
  font-size: 12px;
  line-height: 1.65;
  max-width: 29ch;
  border-top: 1px solid #d9e0e6;
  padding-top: 14px;
  margin: 0;
}
@media (max-width: 970px) {
  .insights-article-aside {
    display: block;
    position: static;
    top: auto;
    padding: 0 0 24px;
    border-bottom: 1px solid #e1e7ec;
  }
  .insights-article-aside .insights-aside-line { margin-bottom: 17px; }
  .insights-article-aside > .eyebrow { margin-bottom: 15px; }
  .insights-article-aside .insights-author-profile { margin: 0 0 10px; }
  .insights-article-aside > .insights-author-bio { max-width: 60ch; border-top: 0; padding-top: 0; }
}
@media (max-width: 670px) {
  .insights-article-aside .insights-author-name { font-size: 15px; }
  .insights-article-aside > .insights-author-bio { font-size: 12px; }
}

/* ---- tisec-v1628-layout.css (legacy layer, cascade preserved) ---- */
/* TISEC v1.6.28 — hero updated and one-line desktop case-study heading.
   Other section headings and mobile wrapping are unchanged. */
@media (min-width: 901px) {
  .tisec-home-main .tisec-paper-title {
    font-size: clamp(2.25rem, 3.4vw, 3.25rem) !important;
    line-height: 1.08 !important;
  }
  .tisec-home-main .tisec-paper-title > span {
    white-space: nowrap !important;
  }
}
@media (min-width: 768px) {
  .tisec-home-main .cases-preview .section-heading--stacked h2 {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
    overflow-wrap: normal !important;
    font-size: clamp(1.8rem, 2.8vw, 2.5rem) !important;
    letter-spacing: -.035em !important;
  }
}
@media (max-width: 767px) {
  .tisec-home-main .cases-preview .section-heading--stacked h2 {
    max-width: 100% !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }
  .tisec-home-main .tisec-paper-title > span {
    white-space: normal !important;
    text-wrap: balance;
  }
}


/* TISEC 1.6.33 — Broadcast editorial hero, drawn in HTML/CSS (no synthetic newsroom images).
   Animation shows a three-part editorial process, not live news or breaking events.
   Animations respect the user's reduced-motion preference. */
.insights-hero--broadcast {
  background:radial-gradient(ellipse 112% 100% at 75% 42%,#f7f8f9 0%,#f0f1f2 65%,#edf0f2 100%);
  color:#0b202d;border-bottom:1px solid #dfe5e9;padding:0;isolation:isolate;
}
.insights-hero--broadcast::before{display:none}
.insights-hero--broadcast .insights-hero-grid {
  display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,.9fr);
  gap:clamp(17px,2vw,35px);align-items:center;position:relative;
  min-height:calc(100vh - 86px);min-height:calc(100svh - 86px);
  text-align:left!important;
}
.insights-hero--broadcast .insights-hero-copy {
  position:relative;z-index:2;min-width:0;padding:clamp(65px,8vw,115px) 0;text-align:left;
}
.insights-hero--broadcast .eyebrow{color:#67798a;letter-spacing:.16em;margin-bottom:24px;font-size:11px}
.insights-broadcast-kicker {
  display:flex;align-items:center;gap:11px;margin:0 0 22px;
  font:800 10px/1.3 var(--tisec-font-body,Roboto,sans-serif);
  letter-spacing:.19em;color:#456579;
}
.insights-broadcast-kicker-line{width:24px;height:2px;background:#668398;display:block}
.insights-hero--broadcast h1 {
  max-width:none;margin:0;color:#0b202d;
  font-size:clamp(2.75rem,3.35vw,3.72rem)!important;
  font-weight:700;line-height:1.10!important;letter-spacing:-.047em!important;
  text-wrap:initial;
}
.insights-hero--broadcast h1 span{display:block}
.insights-hero--broadcast .insights-hero-highlight{color:#647381}
.insights-hero--broadcast .insights-hero-lead{
  margin:31px 0 0;max-width:54ch;color:#4e6172;font-family:var(--tisec-font-body);
  font-size:var(--tisec-type-body)!important;line-height:1.73!important;text-align:left;
}
.insights-hero--broadcast .insights-edition {
  display:block;color:#6a7f90;letter-spacing:.17em;font-size:10px;
  font-weight:750;margin-top:24px;text-align:left;
}
.insights-hero--broadcast .insights-hero-art {
  position:relative;width:100%;height:clamp(395px,38vw,520px);min-width:0;
  align-self:center;pointer-events:none;isolation:isolate;
}
/* Deck copy always stacks beneath its heading. */
.insights-feed-heading{display:block;text-align:left!important}
.insights-feed-heading>div{justify-content:flex-start!important;text-align:left!important}
.insights-feed-heading>p{max-width:88ch;margin:15px 0 0 21px;font-size:var(--tisec-type-body-compact)!important;line-height:1.7!important;text-align:left!important}
@media(min-width:1100px){.insights-hero--broadcast h1 span{white-space:nowrap}}
@media(max-width:1099px){
 .insights-hero--broadcast .insights-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);gap:20px}
 .insights-hero--broadcast h1{font-size:clamp(2.5rem,4.4vw,3.3rem)!important}
 .insights-broadcast-row strong{font-size:clamp(1.85rem,3vw,2.65rem)}
}
@media(max-width:720px){
 .insights-hero--broadcast .insights-hero-grid{grid-template-columns:minmax(0,1fr);gap:10px;min-height:0}
 .insights-hero--broadcast .insights-hero-copy{padding:54px 0 10px}
 .insights-hero--broadcast .eyebrow{margin-bottom:21px}
 .insights-hero--broadcast h1{font-size:clamp(2.15rem,8.1vw,3.6rem)!important;line-height:1.12!important}
 .insights-hero--broadcast h1 span{white-space:normal}
 .insights-hero--broadcast .insights-hero-lead{max-width:49ch;margin-top:23px;line-height:1.66!important}
 .insights-hero--broadcast .insights-edition{margin-top:18px}
 .insights-hero--broadcast .insights-hero-art{height:360px;width:min(100%,440px);margin:0 auto 28px}
 .insights-broadcast-row strong{font-size:clamp(2.1rem,8.2vw,3rem)}
 .insights-feed-heading>p{margin:12px 0 0}
}
@media(max-width:390px){
 .insights-hero--broadcast .insights-hero-art{height:332px}
 .insights-broadcast-head{padding:18px 17px 12px}
 .insights-broadcast-status{padding:13px 17px 8px}
 .insights-broadcast-rundown{padding:4px 12px 8px}
 .insights-broadcast-row strong{font-size:clamp(1.92rem,8.4vw,2.35rem)}
 .insights-broadcast-row>div>span{font-size:9px}
 .insights-broadcast-footer{margin:0 17px;padding:10px 0 8px}
 .insights-broadcast-ticker{padding:8px 0}
}
@media(prefers-reduced-motion:reduce){
 .insights-broadcast-row,.insights-broadcast-signal,.insights-broadcast-progress span,.insights-broadcast-ticker-inner{animation:none!important;transition:none!important}
 .insights-broadcast-progress span{transform:scaleX(1)!important}
 .insights-broadcast-row:first-child{background:#c7d7e915;color:#fff;box-shadow:inset 3px 0 0 #c1d6e4}
}


/* TISEC v1.6.34 — poster editorial PHP (imagem fornecida). Não cortar o original. */
.insights-featured-visual--cover {
  background: #0456ed;
  height: 465px;
  min-height: 465px;
  padding: 0;
  overflow: hidden;
}
.insights-featured-cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}
.insights-article-cover {
  width: min(100%, 560px);
  margin: 0 auto clamp(38px, 5vw, 64px);
}
.insights-article-cover img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
}
.insights-article-cover figcaption {
  color: #738290;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .02em;
  padding-top: 10px;
  text-align: right;
}
@media (max-width: 970px) {
  .insights-featured-visual--cover { height: 400px; min-height: 400px; }
}
@media (max-width: 670px) {
  .insights-featured-visual--cover { height: 350px; min-height: 350px; }
  .insights-article-cover { margin-bottom: 36px; }
}

/* TISEC 1.6.36 — Capas verticais de Notícias, com escala de poster (sem recortes). */
.insights-featured--poster {
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 65px);
  align-items: center;
  padding: clamp(22px, 3vw, 38px);
  min-height: 0;
}
.insights-featured--poster .insights-featured-visual--cover {
  background: transparent;
  width: 100%;
  min-height: 0;
  height: auto;
  aspect-ratio: 1086 / 1448;
  max-width: 300px;
  box-shadow: 0 10px 30px #0d213018;
}
.insights-featured--poster .insights-featured-cover {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.insights-featured--poster .insights-featured-content { padding: 0; }
.insights-card-body { width: 100%; flex: 1; }
.insights-card--poster .insights-card-top { margin-bottom: 22px; }
.insights-card--poster .insights-card-body {
  display: grid;
  grid-template-columns: minmax(0, 33%) minmax(0, 1fr);
  align-items: start;
  gap: clamp(16px, 2vw, 26px);
}
.insights-card-poster {
  display: block;
  width: 100%;
  max-width: 180px;
  height: auto;
  aspect-ratio: 1086 / 1448;
  object-fit: contain;
  box-shadow: 0 6px 16px #152d4117;
}
.insights-card-copy { display:flex; flex-direction:column; align-items:flex-start; min-width:0; height:100%; }
.insights-card-copy > p { font-size:14px; line-height:1.7; color:#617183; margin-bottom:24px; }
.insights-card-copy .insights-article-meta { margin-top:auto; }
.insights-card--poster h3 { margin-top:13px; }
@media (max-width: 970px) {
  .insights-featured--poster { grid-template-columns:minmax(0,1fr); gap:26px; }
  .insights-featured--poster .insights-featured-visual--cover { width:min(100%,280px); margin-inline:auto; }
  .insights-featured--poster .insights-featured-content { padding:0; }
}
@media (max-width: 670px) {
  .insights-featured--poster { padding:20px; }
  .insights-featured--poster .insights-featured-visual--cover { width:min(100%,240px); }
  .insights-card--poster .insights-card-body { grid-template-columns:minmax(0,1fr); gap:18px; }
  .insights-card--poster .insights-card-poster { max-width:132px; }
  .insights-card-copy > p { margin-bottom:18px; }
}


/* TISEC 1.6.38 — editorial improvements, no legacy broadcast panel. */
/* The landing hero introduces the headline directly; the editorial covers are real links. */
.insights-hero--broadcast .insights-hero-art {
  pointer-events: auto;
  height: clamp(425px, 40vw, 545px);
}
.insights-cover-slideshow { height:100%; min-width:0; display:flex; flex-direction:column; align-items:center; }
.insights-cover-frame { position:relative; width:100%; flex:1; min-height:0; }
.insights-cover-slide {
  position:absolute; inset:0; display:grid; place-items:center; padding:0;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .8s ease,visibility 0s linear .8s;
}
.insights-cover-slide.is-active {
  opacity:1; visibility:visible; pointer-events:auto;
  transition:opacity .8s ease,visibility 0s;
}
.insights-cover-slide:focus-visible { outline:2px solid #466580; outline-offset:4px; }
.insights-cover-slide img {
  display:block; width:auto; height:100%; max-width:min(100%,330px);
  object-fit:contain; aspect-ratio:1086/1448;
  box-shadow:10px 18px 36px #142a3c26;
}
.insights-cover-controls {
  width:min(100%,330px); min-height:48px; display:flex;
  align-items:center; justify-content:space-between; gap:14px;
  border-top:1px solid #cad3da; margin-top:15px; font-size:11px; color:#566d7e;
}
.insights-cover-count { font-size:10px; letter-spacing:.12em; font-weight:750; white-space:nowrap; }
.insights-cover-dots { display:flex; align-items:center; gap:5px; }
.insights-cover-dot {
  display:block; border:0; border-radius:0; background:transparent;
  width:28px; height:30px; cursor:pointer; position:relative; padding:0;
}
.insights-cover-dot::after {
  content:''; display:block; position:absolute; left:6px; right:6px; top:50%;
  height:2px; transform:translateY(-50%); background:#b6c3cc; transition:background .2s,transform .2s;
}
.insights-cover-dot.is-active::after { background:#304d61; transform:translateY(-50%) scaleY(1.5); }
.insights-cover-play {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  min-width:70px; min-height:34px; padding:5px 0; border:0; background:transparent;
  font:700 10px/1.2 var(--tisec-font-body); letter-spacing:.035em;
  color:#415b6e; cursor:pointer;
}
.insights-cover-play span { font-size:11px; }
.insights-cover-play:hover,.insights-cover-play:focus-visible { color:#0d2637; }
.insights-cover-dot:focus-visible,.insights-cover-play:focus-visible { outline:2px solid #466580; outline-offset:2px; }
/* Smaller cards: remove filler-height and keep the poster in its natural ratio. */
.insights-grid { align-items:start; }
.insights-card--poster { min-height:0; padding:clamp(20px,2.3vw,28px); }
.insights-card--poster .insights-card-top { margin-bottom:12px; }
.insights-card--poster .insights-card-body { flex:none; align-items:start; gap:clamp(14px,1.6vw,23px); }
.insights-card--poster .insights-card-poster { max-width:160px; }
.insights-card--poster .insights-card-copy { height:auto; }
.insights-card--poster .insights-card-copy > p { margin-bottom:16px; }
.insights-card--poster .insights-card-copy .insights-article-meta { margin-top:14px; }
/* Date and reading time follow the article standfirst, not the category. */
.insights-article-date--below { display:block; width:100%; margin:17px 0 0; font-size:12px; letter-spacing:.015em; color:#657789; }
/* Justify prose, not headings, sidebars, metadata, lists or CTAs. */
.insights-prose > p, .insights-prose > blockquote p, .insights-editorial-note p {
  text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto;
  overflow-wrap:break-word;
}
/* Wider headings without stretching body paragraphs into newspaper-width lines. */
@media (min-width:1100px) {
  .insights-article-grid { grid-template-columns:170px minmax(0,1fr); gap:clamp(27px,3.2vw,54px); }
  .insights-prose > h2 {
    width:100%; white-space:nowrap; text-wrap:nowrap;
    font-size:clamp(18px,1.53vw,22px); letter-spacing:-.025em;
    overflow-wrap:normal; line-height:1.35;
  }
}
@media (max-width:1099px) {
  .insights-prose > h2 { white-space:normal; text-wrap:balance; overflow-wrap:break-word; }
}
@media (max-width:720px) {
  .insights-hero--broadcast .insights-hero-art { height:clamp(350px,93vw,460px); width:min(100%,440px); margin:8px auto 25px; }
  .insights-cover-slide img { max-width:min(100%,290px); }
  .insights-cover-controls { max-width:290px; }
  .insights-card--poster { padding:23px; }
  .insights-card--poster .insights-card-top { margin-bottom:10px; }
  .insights-card--poster .insights-card-body { gap:17px; }
  .insights-card--poster .insights-card-poster { max-width:150px; }
  .insights-article-date--below { margin-top:16px; }
}
@media (max-width:390px) {
  .insights-hero--broadcast .insights-hero-art { height:338px; }
  .insights-cover-slide img { max-width:220px; }
  .insights-cover-controls { max-width:240px; }
  .insights-card--poster .insights-card-poster { max-width:125px; }
}
@media (prefers-reduced-motion:reduce) {
  .insights-cover-slide, .insights-cover-dot::after { transition:none!important; }
}


/* TISEC v1.6.39 — All PT/EN insight articles share one visual left edge.
   Previously the portrait cover was centred within the wider article grid
   while paragraphs, section headings and source blocks began at its left edge.
   Preserve the poster's physical size and proportion; remove only that offset. */
.insights-article-grid .insights-prose > .insights-article-cover {
  margin-left: 0;
  margin-right: 0;
}
.insights-article-grid .insights-prose > .insights-article-cover figcaption {
  text-align: left;
}


/* TISEC v1.6.40 — Single centered editorial column for all PT/EN articles.
   The poster and justified text begin at the same x-position, unlike v1.6.39. */
.insights-article-section .insights-article-grid {
  display:block; width:min(100% - 32px, 620px); max-width:620px; margin-inline:auto;
}
.insights-article-section .insights-prose { width:100%; max-width:none; margin-inline:0; }
.insights-article-section .insights-prose > .insights-article-cover {
  width:min(100%, 560px); margin:0 0 clamp(35px,4vw,52px);
}
.insights-article-section .insights-prose > p,
.insights-article-section .insights-prose > ul,
.insights-article-section .insights-prose > ol,
.insights-article-section .insights-source { max-width:none; width:100%; }
.insights-article-section .insights-prose > h2 { max-width:100%; }
@media(min-width:1100px) {
  .insights-article-section .insights-prose > h2 {
    font-size:clamp(17px,1.45vw,21px) !important;
  }
}
@media(max-width:670px){
  .insights-article-section .insights-article-grid {width:calc(100% - 40px);max-width:620px;margin-inline:auto;}
  .insights-article-section .insights-prose > h2 {white-space:normal;text-wrap:balance;}
}
/* Hero covers: natural poster aspect ratio; no blank band above or below. */
.insights-hero--broadcast .insights-hero-art { height:auto; min-height:0; }
.insights-cover-slideshow {height:auto;}
.insights-cover-frame {flex:0 0 auto; width:min(100%,330px); aspect-ratio:1086/1448;}
.insights-cover-slide img {display:block; width:100%; height:100%; max-width:100%; object-fit:contain;}
@media(max-width:720px){
  .insights-hero--broadcast .insights-hero-art {height:auto; min-height:0;}
  .insights-cover-frame {width:min(100%,290px);}
}
@media(max-width:390px){
  .insights-hero--broadcast .insights-hero-art {height:auto; min-height:0;}
  .insights-cover-frame {width:min(100%,220px);}
}
/* Homepage: the security-updates case heading stays on one line on roomy desktops. */
@media(min-width:1100px){
  .tisec-home-main .cases-preview .case-content h3.tisec-case-heading--security-updates {
    max-width:none; white-space:nowrap; text-wrap:nowrap;
    font-size:clamp(16px,1.47vw,20px) !important; letter-spacing:-.042em !important;
  }
}
@media(max-width:1099px){
  .tisec-home-main .cases-preview .case-content h3.tisec-case-heading--security-updates {
    white-space:normal; text-wrap:balance;
  }
}
