/*!
 * Hidrart · institucional.css — Sobre, Serviços e páginas de cada serviço.
 * Tradução dos estilos inline do protótipo para classes, usando os tokens de site.css.
 * Prefixos: inst- (comum), sb- (Sobre), sv- (Serviços), si- (serviço), jr- (jornada), stmt- (compromisso).
 */

/* 1. Comuns ---------------------------------------------------------------- */
.inst-eyebrow { display: block; font-size: var(--fs-xs); font-weight: 600; letter-spacing: .08em; margin: 0 0 10px; }
h2.inst-eyebrow { line-height: 1.55; } /* sobretítulo promovido a h2 (seção sem título aprovado) */
.inst-h2 { font-size: clamp(1.625rem, 3.4vw, 2.5rem); font-weight: 700; color: var(--c-blue); margin: 0 0 14px; letter-spacing: -.02em; line-height: 1.15; }
.inst-h2--sm { font-size: clamp(1.625rem, 3.4vw, 2.375rem); letter-spacing: -.015em; line-height: 1.18; }
.inst-h2--flush { margin: 0; }
.inst-h2--light { color: var(--c-white); }
.inst-p { color: #454545; font-size: var(--fs-md); line-height: 1.75; margin: 0 0 16px; }
.inst-p:last-child { margin-bottom: 0; }
.inst-lead { color: var(--c-text-muted); font-size: var(--fs-md); line-height: 1.65; max-width: 680px; }
.inst-headrow { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.inst-ulink { color: var(--c-blue); font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.inst-ulink:hover { color: var(--c-orange-ink); }
.inst-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.inst-chips li { padding: 6px 12px; background: var(--c-surface-alt); border-radius: var(--r-sm); font-size: var(--fs-sm); color: var(--c-blue); font-weight: 500; }
.inst-stars { display: flex; gap: 3px; color: var(--c-orange); font-size: 14px; }
.inst-ico-wa { font-size: 20px !important; }
.inst-btn-outline-blue { background: transparent; color: var(--c-blue); border-color: var(--c-blue); font-weight: 700; }
.inst-btn-outline-blue:hover { background: var(--c-blue); color: var(--c-white); }

/* Hero: botões + selos de confiança (Serviços e serviço) */
.inst-hero-cta { margin-top: 32px; display: flex; flex-direction: column; gap: 22px; }
.inst-hero-cta__btns { margin-top: 0; }
.inst-hero-cta .btn { font-weight: 700; }
.inst-trust { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; }
.inst-trust li { display: flex; align-items: center; gap: 8px; font-size: 15px; color: var(--c-white); }
.inst-trust .ico { color: var(--c-orange); } /* decorativo, ao lado do texto */

/* Caixa "Qual serviço você precisa?" / aside de orçamento */
.inst-quote { flex: 1 1 320px; min-width: 0; background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-card); box-shadow: 0 30px 60px -30px rgba(20, 56, 127, .28); overflow: hidden; }
.inst-quote--sticky { position: sticky; top: 100px; align-self: flex-start; }
.inst-quote__head { padding: 22px 24px; border-bottom: 1px solid #EFEFEF; }
.inst-quote__head--blue { background: var(--c-blue); color: var(--c-white); border-bottom: 0; }
.inst-quote__over { font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--c-orange-soft); margin: 0 0 6px; }
.inst-quote__h { margin: 0 0 4px; font-size: 19px; font-weight: 700; color: var(--c-blue); }
.inst-quote__head--blue .inst-quote__h { margin: 0; font-size: 20px; color: var(--c-white); }
.inst-quote__p { font-size: 14.5px; color: var(--c-text-muted); }
.inst-quote__list { list-style: none; padding: 10px; margin: 0; }
.inst-quote__item { display: flex; align-items: center; gap: 14px; padding: 12px 14px; min-height: 56px; border-radius: var(--r-btn); color: var(--c-blue); }
.inst-quote__item:hover { background: var(--c-orange-tint); color: var(--c-blue); }
.inst-quote__ico { width: 40px; height: 40px; border-radius: var(--r-btn); background: var(--c-surface-alt); color: var(--c-blue); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.inst-quote__label { flex: 1; font-weight: 600; font-size: var(--fs-base); }
.inst-quote__chev { color: var(--c-orange-ink); font-size: 13px; }
.inst-quote__foot { padding: 0 24px 22px; display: flex; flex-direction: column; gap: 10px; }
.inst-quote__wa { min-height: 50px; font-size: var(--fs-base); }
.inst-quote__tel { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--c-blue); font-weight: 600; font-size: 15px; }
.inst-quote__tel .ico { color: var(--c-orange-ink); font-size: 13px; }

/* Cards de categoria com foto e ícone sobreposto (Sobre e serviço) */
.inst-catgrid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 20px; }
.inst-catgrid--wide { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.inst-catgrid > li { display: flex; }
.inst-catcard { flex: 1; display: flex; flex-direction: column; background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-card); overflow: hidden; color: var(--c-text); transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease); }
.inst-catcard:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -22px rgba(20, 56, 127, .3); border-color: var(--c-orange); color: var(--c-text); }
.inst-catcard__media { position: relative; height: 170px; background: var(--c-surface-alt); }
.inst-catcard--static .inst-catcard__media { height: 160px; }
.inst-catcard__media .ph { min-height: 0; border-radius: 0; }
.inst-catcard__img { width: 100%; height: 170px; object-fit: cover; }
.inst-catcard__img--sm { height: 160px; }
.inst-catcard__icon { position: absolute; left: 18px; bottom: -22px; width: 46px; height: 46px; border-radius: var(--r-card); background: var(--c-orange); color: var(--c-white); display: inline-flex; align-items: center; justify-content: center; font-size: 18px; border: 3px solid var(--c-white); }
.inst-catcard__icon--blue { background: var(--c-blue); }
.inst-catcard__body { padding: 34px 20px 22px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.inst-catcard--static .inst-catcard__body { gap: 8px; }
.inst-catcard__h { font-size: 18px; font-weight: 700; color: var(--c-blue); }
.inst-catcard__p { font-size: 15px; color: var(--c-text-muted); line-height: 1.5; }
.inst-catcard__more { margin-top: auto; padding-top: 12px; color: var(--c-orange-ink); font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; gap: 8px; }
.inst-catcard__more .ico { font-size: 12px; }

/* Como funciona (4 etapas) */
.inst-steps { padding-block: 80px; }
.inst-steps__head { max-width: 640px; margin-bottom: 40px; }
.inst-steps__head .inst-h2 { line-height: 1.2; margin-bottom: 12px; }
.inst-steps__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 20px; }
.inst-step { background: var(--c-white); border-radius: var(--r-card); padding: 28px 24px; border-top: 3px solid var(--c-blue); }
.inst-step--first { border-top-color: var(--c-orange); }
.inst-step__n { display: block; font-size: 40px; font-weight: 800; color: var(--c-blue); line-height: 1; margin-bottom: 16px; letter-spacing: -.03em; }
.inst-step__h { font-size: 19px; font-weight: 700; color: var(--c-blue); margin: 0 0 8px; }
.inst-step__p { font-size: 15px; color: var(--c-text-muted); line-height: 1.6; }

/* FAQ (lateral + lista) */
.inst-faq { padding-block: 80px; }
.inst-faq__wrap { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.inst-faq__side { flex: 1 1 280px; min-width: 0; }
.inst-faq__side .inst-h2 { line-height: 1.2; margin-bottom: 12px; }
.inst-faq__list { flex: 2 1 480px; min-width: 0; }
.inst-faq .faq__q { font-size: var(--fs-md); min-height: 44px; }
.inst-faq .faq__a { font-size: var(--fs-base); }

/* 2. Sobre ----------------------------------------------------------------- */
.sb-story { padding: 32px 0 96px; }
.sb-story__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: clamp(40px, 6vw, 80px); align-items: center; }
.sb-story__media { position: relative; min-width: 0; padding-bottom: 120px; padding-right: clamp(0px, 6vw, 64px); }
.sb-story__main { border-radius: var(--r-card); overflow: hidden; background: var(--c-surface-alt); }
.sb-story__main-img { width: 100%; height: 420px; object-fit: cover; object-position: 50% 40%; }
.sb-story__small { position: absolute; right: 0; bottom: 0; width: min(52%, 260px); border-radius: var(--r-card); overflow: hidden; border: 6px solid var(--c-white); box-shadow: 0 24px 48px -20px rgba(20, 56, 127, .35); background: var(--c-surface-alt); }
.sb-story__small-img { width: 100%; height: 190px; object-fit: cover; object-position: 52% 30%; }
.sb-story__badge { position: absolute; left: 20px; bottom: 96px; max-width: 62%; background: var(--c-blue); color: var(--c-white); border-radius: var(--r-card); padding: 16px 18px; display: flex; align-items: center; gap: 12px; box-shadow: 0 20px 40px -18px rgba(25, 25, 25, .5); font-size: 14.5px; line-height: 1.35; font-weight: 500; }
.sb-story__badge-icon { width: 40px; height: 40px; border-radius: var(--r-btn); background: var(--c-orange); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.sb-story__text { min-width: 0; }
.sb-story__text .inst-p:last-child { margin-bottom: 28px; }

.sb-aud { grid-column: 1 / -1; padding: clamp(24px, 3vw, 36px); background: var(--c-surface-alt); border-radius: var(--r-card); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: clamp(20px, 3vw, 40px); align-items: start; }
.sb-aud__head { display: flex; flex-direction: column; gap: 16px; align-self: center; }
.sb-aud__icon { width: 60px; height: 60px; border-radius: 10px; background: var(--c-orange); color: var(--c-white); display: inline-flex; align-items: center; justify-content: center; font-size: 26px; }
.sb-aud__title { font-size: clamp(1.875rem, 3.2vw, 2.625rem); line-height: 1.08; letter-spacing: -.025em; color: var(--c-blue); font-weight: 800; }
.sb-aud__sub { font-size: 18px; color: #3D3D3D; line-height: 1.55; }
.sb-aud__group { display: flex; flex-direction: column; gap: 12px; }
.sb-aud__gtitle { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--c-orange-ink); display: flex; align-items: center; gap: 8px; min-height: 20px; }
.sb-aud__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sb-aud__list li { display: flex; gap: 12px; align-items: center; min-height: 76px; background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-card); padding: 12px 14px; font-size: 15px; font-weight: 500; color: var(--c-text); line-height: 1.4; }
.sb-aud__list .ico { color: var(--c-blue); font-size: 15px; width: 18px; }

/* Jornada com trilho de progresso (o JS só anima o trilho) */
.sb-jr { background: var(--c-surface-alt); padding: 96px 0; }
.sb-jr__wrap { display: flex; flex-wrap: wrap; gap: clamp(40px, 6vw, 80px); }
.sb-jr__side { flex: 1 1 340px; min-width: 0; align-self: flex-start; }
.sb-jr__lead { margin: 0 0 28px; }
.sb-jr__side .btn { font-weight: 700; }
.sb-jr__tl { flex: 1.4 1 460px; min-width: 0; position: relative; }
.sb-jr__list { list-style: none; padding: 0; margin: 0; }
.sb-jr__item { position: relative; display: flex; gap: 20px; padding-bottom: 20px; }
.sb-jr__item:last-child { padding-bottom: 0; }
.jr-rail { position: absolute; left: 27px; top: 28px; bottom: 28px; width: 2px; background: #D3DAE8; border-radius: 2px; }
.jr-fill { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: var(--c-orange); border-radius: 2px; transform: scaleY(0); transform-origin: top; transition: transform .15s linear; }
.jr-dot { position: relative; z-index: 1; flex: 0 0 auto; width: 56px; height: 56px; border-radius: 50%; background: var(--c-blue); color: var(--c-white); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; border: 4px solid var(--c-surface-alt); transition: background-color .4s ease; }
.jr-dot.is-on { background: var(--c-orange); }
.jr-card { flex: 1; min-width: 0; background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-card); padding: 20px 22px; transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease; }
.jr-card:hover { box-shadow: 0 20px 40px -18px rgba(20, 56, 127, .28); border-color: #F6C9B4; transform: translateY(-2px); }
.jr-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.jr-card__n { font-size: var(--fs-xs); font-weight: 700; color: var(--c-orange-ink); letter-spacing: .06em; }
.jr-card__time { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; background: #F0F0F0; color: var(--c-blue); border-radius: 5px; font-size: var(--fs-xs); font-weight: 600; }
.jr-card__h { margin: 0 0 6px; font-size: 19px; font-weight: 700; color: var(--c-blue); }
.jr-card__p { font-size: 15.5px; color: var(--c-text-muted); line-height: 1.6; }
@media (prefers-reduced-motion: reduce) {
  .jr-card, .jr-dot, .jr-fill { transition: none; }
  .jr-card:hover { transform: none; }
}

/* Nosso compromisso (etiqueta de preço decorativa) */
.sb-stmt { background: var(--c-blue); color: var(--c-white); padding: clamp(72px, 9vw, 112px) 0; position: relative; overflow: hidden; }
.sb-stmt__wrap { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: clamp(32px, 5vw, 72px); }
.sb-stmt__txt { flex: 1 1 480px; min-width: 0; }
.sb-stmt__q { font-size: clamp(1.625rem, 3.6vw, 2.875rem); font-weight: 600; line-height: 1.25; letter-spacing: -.02em; max-width: 1000px; text-wrap: balance; }
.sb-stmt__hl { color: var(--c-orange-soft); }
.stmt-art { flex: 0 0 auto; width: 340px; height: 300px; position: relative; }
.stmt-art__glow { position: absolute; inset: 10% 6%; border-radius: 50%; background: radial-gradient(closest-side, rgba(232, 78, 15, .28), rgba(232, 78, 15, 0)); }
.stmt-art__back { position: absolute; left: 58px; top: 58px; width: 260px; height: 150px; transform: rotate(10deg); clip-path: polygon(24% 0, 100% 0, 100% 100%, 24% 100%, 0 50%); background: rgba(255, 255, 255, .10); }
.stmt-tag { position: absolute; left: 30px; top: 84px; width: 280px; height: 160px; transform-origin: 20% 50%; filter: drop-shadow(0 26px 28px rgba(5, 20, 60, .45)); transform: rotate(-9deg); animation: tagFloat 6s ease-in-out infinite; }
.stmt-tag__shape { position: absolute; inset: 0; clip-path: polygon(24% 0, 100% 0, 100% 100%, 24% 100%, 0 50%); background: linear-gradient(150deg, #FF7B3F 0%, var(--c-orange) 45%, #D94A0E 100%); }
.stmt-tag__shine { position: absolute; left: 26%; right: 6%; top: 10px; height: 2px; border-radius: 2px; background: rgba(255, 255, 255, .35); }
.stmt-tag__hole { position: absolute; left: 28px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; background: var(--c-blue); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .35); }
.stmt-tag__txt { position: absolute; left: 30%; right: 8%; top: 0; bottom: 0; display: flex; flex-direction: column; justify-content: center; color: var(--c-white); }
.stmt-tag__r { font-size: 76px; font-weight: 800; line-height: .95; letter-spacing: -.04em; text-shadow: 0 3px 0 rgba(160, 50, 5, .35); }
.stmt-tag__l { margin-top: 10px; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .95; }
.stmt-art__str { position: absolute; left: 0; top: 0; overflow: visible; }
.stmt-art__chk { position: absolute; right: 10px; top: 46px; width: 72px; height: 72px; border-radius: 50%; background: var(--c-white); color: var(--c-wa); display: flex; align-items: center; justify-content: center; font-size: 32px; box-shadow: 0 18px 30px -10px rgba(5, 20, 60, .5); border: 5px solid var(--c-success-soft); }
@keyframes tagFloat { 0%, 100% { transform: translateY(0) rotate(-9deg); } 50% { transform: translateY(-12px) rotate(-7deg); } }
@media (max-width: 760px) { .stmt-art { display: none; } }
@media (prefers-reduced-motion: reduce) { .stmt-tag { animation: none; transform: rotate(-9deg); } }

/* Missão, visão e valores */
.sb-mvv { padding: 96px 0; }
.sb-mvv__head { text-align: center; max-width: 720px; margin: 0 auto 48px; }
.sb-mvv__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 20px; }
.sb-mvv__card { position: relative; overflow: hidden; padding: 32px 28px; border-radius: var(--r-card); background: var(--c-white); border: 1px solid var(--c-border); color: var(--c-text); display: flex; flex-direction: column; gap: 16px; }
.sb-mvv__card--blue { background: var(--c-blue); border: 0; color: var(--c-white); }
.sb-mvv__n { position: absolute; right: 20px; top: 12px; font-size: 72px; font-weight: 800; line-height: 1; color: #F2F2F2; }
.sb-mvv__card--blue .sb-mvv__n { color: rgba(255, 255, 255, .07); }
.sb-mvv__icon { position: relative; width: 52px; height: 52px; border-radius: var(--r-card); background: var(--c-orange); color: var(--c-white); display: inline-flex; align-items: center; justify-content: center; font-size: 21px; }
.sb-mvv__h { position: relative; font-size: var(--fs-lg); font-weight: 700; color: var(--c-blue); }
.sb-mvv__card--blue .sb-mvv__h { color: var(--c-white); }
.sb-mvv__p { position: relative; font-size: var(--fs-base); line-height: 1.65; color: var(--c-text-muted); }
.sb-mvv__card--blue .sb-mvv__p { color: var(--c-on-blue); }
.sb-mvv__chips { position: relative; list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sb-mvv__chips li { padding: 7px 12px; background: var(--c-surface-alt); border-radius: var(--r-sm); font-size: 14.5px; font-weight: 500; color: var(--c-blue); }

/* Diferenciais */
.sb-dif { background: var(--c-surface-alt); padding: 96px 0; }
.sb-dif__head { max-width: 720px; margin-bottom: 40px; }
.sb-dif__wrap { display: flex; flex-wrap: wrap; gap: 16px; }
.sb-dif__big { flex: 1.2 1 420px; min-width: 0; background: var(--c-white); border-radius: var(--r-card); overflow: hidden; border: 1px solid var(--c-border); display: flex; flex-direction: column; }
.sb-dif__media { flex: 1 1 auto; min-height: 220px; display: flex; }
.sb-dif__img { flex: 1; width: 100%; height: 100%; min-height: 220px; object-fit: cover; object-position: 62% 30%; }
.sb-dif__body { padding: 26px 28px; }
.sb-dif__bh { margin: 0 0 8px; font-size: var(--fs-lg); font-weight: 700; color: var(--c-blue); }
.sb-dif__bp { font-size: var(--fs-base); color: var(--c-text-muted); line-height: 1.6; }
.sb-dif__grid { flex: 1 1 420px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px; }
.sb-dif__card { min-width: 0; background: var(--c-white); color: var(--c-text); border-radius: var(--r-card); border: 1px solid var(--c-border); padding: 26px; display: flex; flex-direction: column; gap: 12px; }
/* Destaque: laranja de texto (AA com branco) no lugar do #F15A1A do protótipo */
.sb-dif__card--accent { background: var(--c-orange-ink); color: var(--c-white); border: 0; }
.sb-dif__icon { font-size: 26px; color: var(--c-orange); }
.sb-dif__card--accent .sb-dif__icon { color: var(--c-white); }
.sb-dif__h { font-size: 18px; font-weight: 700; color: var(--c-blue); }
.sb-dif__card--accent .sb-dif__h { color: var(--c-white); }
.sb-dif__p { font-size: 15px; line-height: 1.55; color: var(--c-text-muted); }
.sb-dif__card--accent .sb-dif__p { color: var(--c-white); }

.sb-cats { padding: 96px 0 24px; }

/* 3. Serviços -------------------------------------------------------------- */
.sv-intro { padding: 24px 0 80px; }
.sv-intro__wrap { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.sv-intro__text { flex: 1.4 1 460px; min-width: 0; }

.sv-lines { padding: 80px 0; }
.sv-lines__head { margin-bottom: 40px; }
.sv-lines__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 20px; }
.sv-line { background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-card); overflow: hidden; display: flex; flex-direction: column; transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease); }
.sv-line:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -24px rgba(20, 56, 127, .3); border-color: var(--c-orange); }
.sv-line__media { position: relative; background: var(--c-surface-alt); }
.sv-line__img { width: 100%; height: 240px; object-fit: cover; }
.sv-line__body { padding: 24px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.sv-line__head { display: flex; align-items: center; gap: 12px; }
.sv-line__ico { width: 42px; height: 42px; border-radius: var(--r-btn); background: var(--c-orange-tint); color: var(--c-orange-ink); display: inline-flex; align-items: center; justify-content: center; font-size: 17px; flex: 0 0 auto; }
.sv-line__h { font-size: 21px; font-weight: 700; color: var(--c-blue); }
.sv-line__p { color: var(--c-text-muted); font-size: 15.5px; line-height: 1.6; }
.sv-line__inc { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.sv-line__inc li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--c-text); }
.sv-line__inc .ico { color: var(--c-wa); }
.sv-line__actions { margin-top: auto; padding-top: 8px; display: flex; gap: 10px; flex-wrap: wrap; }
.sv-line__quote { flex: 1 1 160px; font-weight: 700; }
.sv-line__more { flex: 0 1 auto; padding-inline: 16px; }
.sv-line__more .ico { font-size: 12px; }

.sv-cats { padding: 80px 0; }
.sv-cats__head { margin-bottom: 36px; }
.sv-cats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 20px; }
.sv-cat { display: flex; gap: 20px; padding: 26px; border: 1px solid var(--c-border); border-radius: var(--r-card); background: var(--c-white); align-items: flex-start; }
.sv-cat__ico { flex: 0 0 auto; width: 56px; height: 56px; border-radius: var(--r-card); background: var(--c-blue); color: var(--c-white); display: inline-flex; align-items: center; justify-content: center; font-size: 22px; }
.sv-cat__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.sv-cat__h { font-size: 20px; font-weight: 700; color: var(--c-blue); }
.sv-cat__p { color: var(--c-text-muted); font-size: 15.5px; line-height: 1.6; }
.sv-cat__links, .si-cats__links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.si-cats__links { margin-top: auto; padding-top: 12px; gap: 4px 18px; }
.sv-cat__quote { color: var(--c-orange-ink); font-weight: 700; font-size: 15px; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.sv-cat__quote .ico { font-size: 12px; }

.sv-split { background: var(--c-blue); color: var(--c-white); padding: 80px 0; }
.sv-split__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 48px; align-items: center; }
.sv-split__media { border-radius: var(--r-card); overflow: hidden; min-width: 0; }
.sv-split__img { width: 100%; height: 400px; object-fit: cover; object-position: 52% 30%; }
.sv-split__p { color: var(--c-on-blue); font-size: var(--fs-md); margin: 0 0 24px; line-height: 1.65; }
.sv-split__list { list-style: none; padding: 0; margin: 0 0 32px; display: grid; gap: 12px; }
.sv-split__list li { display: flex; align-items: flex-start; gap: 12px; font-size: var(--fs-base); color: var(--c-white); }
.sv-split__list .ico { color: var(--c-orange); margin-top: 4px; } /* decorativo */

.sv-reg { padding: 80px 0; }
.sv-reg__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 48px; align-items: center; }
.sv-reg__txt { min-width: 0; }
.sv-reg__p { line-height: 1.7; margin-bottom: 24px; }
.sv-reg__list { list-style: none; padding: 0; margin: 0 0 28px; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; }
.sv-reg__list li { display: flex; align-items: center; gap: 8px; padding: 11px 14px; border: 1px solid var(--c-border); border-radius: var(--r-btn); font-size: 15px; color: var(--c-blue); font-weight: 500; }
.sv-reg__list .ico { color: var(--c-orange); font-size: 13px; }
.sv-reg__map { border-radius: var(--r-card); overflow: hidden; min-width: 0; }
.sv-reg__img { width: 100%; height: auto; }

.sv-dep { padding: 80px 0; }
.sv-dep__head { margin-bottom: 32px; }
.sv-dep__grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.sv-dep__card { background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-card); padding: 26px; display: flex; flex-direction: column; gap: 16px; }
.sv-dep__q { margin: 0; font-size: 16.5px; color: var(--c-text); line-height: 1.6; flex: 1; }
.sv-dep__by { padding-top: 14px; border-top: 1px solid #EFEFEF; }
.sv-dep__n { font-weight: 600; color: var(--c-blue); font-size: 15px; }
.sv-dep__b { font-size: var(--fs-sm); color: var(--c-text-muted); }

/* 4. Página de serviço ----------------------------------------------------- */
.si-intro { padding: 24px 0 88px; }
.si-intro__wrap { display: flex; flex-wrap: wrap; gap: 48px; }
.si-intro__text { flex: 1.4 1 460px; min-width: 0; }
.si-intro__text .inst-p:last-of-type { margin-bottom: 28px; }
.si-intro__media { position: relative; border-radius: var(--r-card); overflow: hidden; background: var(--c-surface-alt); }
.si-intro__media .ph { min-height: 340px; }
.si-intro__img { width: 100%; height: 340px; object-fit: cover; }
.si-intro__badge { position: absolute; left: 16px; bottom: 16px; background: var(--c-white); border-radius: var(--r-card); padding: 12px 14px; display: flex; align-items: center; gap: 10px; box-shadow: 0 18px 36px -18px rgba(25, 25, 25, .45); }
.si-intro__badge-ico { width: 38px; height: 38px; border-radius: var(--r-btn); background: var(--c-orange-tint); color: var(--c-orange-ink); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.si-intro__badge-t { font-size: var(--fs-sm); font-weight: 600; color: var(--c-blue); line-height: 1.3; }
.si-intro__badge-s { font-weight: 400; color: var(--c-text-muted); }

.si-signs { background: var(--c-blue); color: var(--c-white); padding: 88px 0; position: relative; overflow: hidden; }
.si-signs__deco { position: absolute; right: -3vw; bottom: -4vw; width: clamp(200px, 26vw, 380px); height: clamp(200px, 26vw, 380px); color: rgba(255, 255, 255, .035); pointer-events: none; }
.si-signs__wrap { position: relative; }
.si-signs__head { max-width: 680px; margin-bottom: 40px; }
.si-signs__grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 16px; }
.si-sign { padding: 24px; border-radius: var(--r-card); background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); display: flex; flex-direction: column; gap: 14px; }
.si-sign__n { font-size: 34px; font-weight: 800; color: var(--c-orange-soft); line-height: 1; letter-spacing: -.03em; }
.si-sign__t { font-size: var(--fs-md); font-weight: 600; line-height: 1.4; }
.si-signs__cta { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.si-signs__cta .btn { font-weight: 700; }
.si-signs__note { color: var(--c-on-blue); font-size: 15px; }

.si-inc { padding: 88px 0; }
.si-inc__head { text-align: center; max-width: 700px; margin: 0 auto 44px; }
.si-inc__lead { margin-inline: auto; }
.si-inc__grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.si-inc__item { display: flex; gap: 16px; padding: 22px; border: 1px solid var(--c-border); border-radius: var(--r-card); background: var(--c-white); transition: border-color .2s ease, transform .2s ease; }
.si-inc__item:hover { border-color: var(--c-orange); transform: translateY(-3px); }
.si-inc__ico { flex: 0 0 auto; width: 48px; height: 48px; border-radius: var(--r-card); background: var(--c-orange-tint); color: var(--c-orange-ink); display: inline-flex; align-items: center; justify-content: center; font-size: 19px; }
.si-inc__ico--accent { background: var(--c-orange); color: var(--c-white); }
.si-inc__h { margin: 0 0 4px; font-size: 17.5px; font-weight: 700; color: var(--c-blue); }
.si-inc__p { font-size: 15px; color: var(--c-text-muted); line-height: 1.55; }

.si-cats { padding: 88px 0; }
.si-cats__head { margin-bottom: 36px; }

.si-dep { padding: 88px 0; }
.si-dep__fig { margin: 0; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; background: var(--c-orange-tint); border-radius: var(--r-card); padding: clamp(28px, 4vw, 48px); }
.si-dep__text { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.si-dep__q { margin: 0; font-size: clamp(1.25rem, 2.2vw, 1.625rem); line-height: 1.45; font-weight: 500; color: var(--c-blue); letter-spacing: -.01em; }
.si-dep__cap { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.si-dep__n { font-weight: 700; color: var(--c-blue); }
.si-dep__b { color: var(--c-text-muted); font-size: 15px; }

.si-more { padding: 72px 0; }
.si-more__h { font-size: clamp(1.375rem, 2.6vw, 1.75rem); font-weight: 700; color: var(--c-blue); margin: 0 0 24px; }
.si-more__grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; }
.si-more__grid > li { display: flex; }
.si-more__card { flex: 1; display: flex; align-items: center; gap: 18px; padding: 22px 24px; background: var(--c-white); border: 1px solid var(--c-border); border-radius: var(--r-card); color: var(--c-text); transition: border-color .2s ease, transform .2s ease; }
.si-more__card:hover { border-color: var(--c-orange); transform: translateY(-2px); color: var(--c-text); }
.si-more__ico { flex: 0 0 auto; width: 52px; height: 52px; border-radius: var(--r-card); background: var(--c-blue); color: var(--c-white); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; }
.si-more__t { flex: 1; min-width: 0; }
.si-more__th { margin: 0 0 4px; font-size: 19px; font-weight: 700; color: var(--c-blue); }
.si-more__tp { font-size: 15px; color: var(--c-text-muted); }
.si-more__arrow { color: var(--c-orange-ink); }

/* 5. Movimento ------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .inst-catcard:hover, .sv-line:hover, .si-inc__item:hover, .si-more__card:hover { transform: none; }
}
@media (max-width: 560px) {
  .inst-quote--sticky { position: static; }
}
