/* ==========================================================================
   Subpáginas: serviços, artigos, privacidade, 404
   (usa também os componentes de base.css e components.css)
   ========================================================================== */
fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.accent-l { color: var(--orange-700); }
.container.narrow { max-width: calc(820px + var(--gutter) * 2); }

/* Migalhas */
.crumbs { margin-bottom: 26px; }
.crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: .84rem; color: var(--ink-3); }
.crumbs li { display: inline-flex; align-items: center; gap: 10px; }
.crumbs li:not(:last-child)::after { content: "›"; color: var(--line-strong); font-size: 1.1em; }
.crumbs a { color: var(--ink-2); font-weight: 600; text-decoration: none; }
.crumbs a:hover { color: var(--blue-600); text-decoration: underline; }
.crumbs [aria-current] { color: var(--navy-900); font-weight: 700; }

/* Cabeçalho da página */
.page-hero { padding-block: clamp(28px, 4vw, 56px) clamp(44px, 6vw, 80px); background: linear-gradient(180deg, #fff 0%, var(--blue-50) 100%); }
.page-hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.page-hero-copy > * + * { margin-top: 18px; }
.page-hero-copy .bar { margin-block: 14px 4px; }
.page-hero .title { font-size: clamp(1.7rem, 1.1rem + 2.6vw, 2.9rem); }
.icon-tile-lg { width: 64px; height: 64px; border-radius: 18px; background: var(--navy-900); color: #ffa561; }
.icon-tile-lg .i { width: 32px; height: 32px; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 14px; padding-top: 6px; }
.page-hero-side { display: grid; gap: 16px; align-content: start; padding: clamp(22px, 3vw, 32px); border-left: 6px solid var(--orange-500); }
.page-hero-side h2 { font-size: 1.1rem; text-transform: uppercase; }
.tick-list { display: grid; gap: 12px; }
.tick-list li { display: flex; gap: 10px; align-items: flex-start; font-weight: 700; }
.tick-list .i { flex: none; margin-top: 3px; width: 18px; height: 18px; stroke-width: 3; color: var(--orange-500); }
.tick-list.dark li { color: var(--navy-900); }
.prose-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.prose-grid .section-head { margin-bottom: 0; }
.h-sub { font-size: 1.1rem; text-transform: uppercase; margin-bottom: 16px; }
.incl-grid { display: grid; gap: 10px; }
.incl-grid li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-weight: 600; color: var(--ink); }
.incl-grid .i { flex: none; width: 22px; height: 22px; padding: 3px; border-radius: 7px; background: var(--orange-50); color: var(--orange-700); stroke-width: 3; box-sizing: content-box; margin-top: 0; }
.steps-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.steps-cards li { display: grid; gap: 8px; align-content: start; }
.steps-cards h3 { font-size: 1.1rem; }
.steps-cards p { color: var(--ink-2); font-size: .93rem; }
.steps-n { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--navy-900); color: #fff; font-weight: 800; }
.faq-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.seg-links { display: grid; gap: 10px; }
.seg-links a { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; background: #fff; transition: all .2s; }
.seg-links a > span { flex: 1; display: grid; }
.seg-links b { color: var(--navy-900); } .seg-links small { color: var(--ink-3); font-weight: 600; font-size: .78rem; }
.seg-links .i:first-child { color: var(--blue-600); }
.seg-links .i:last-child { color: var(--orange-500); }
.seg-links a:hover { border-color: var(--orange-500); transform: translateX(3px); }
.faq { display: grid; gap: 10px; }
.faq details { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; font-weight: 800; color: var(--navy-900); cursor: pointer; list-style: none; border-radius: 12px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .i { flex: none; transition: transform .25s; color: var(--orange-500); }
.faq details[open] summary .i { transform: rotate(180deg); }
.faq details p { padding: 0 18px 18px; color: var(--ink-2); }

/* Cartões (partilhados com a homepage) */
.services-grid, .know-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.know-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.svc-card, .know-card { padding: 0; overflow: hidden; }
.svc-link, .know-card > a { display: grid; gap: 12px; align-content: start; height: 100%; padding: 26px; text-decoration: none; color: inherit; }
.svc-link h3 { font-size: 1.2rem; } .svc-link p, .know-card p { color: var(--ink-2); font-size: .94rem; }
.svc-card:hover, .know-card:hover { transform: translateY(-4px); border-color: var(--orange-500); box-shadow: var(--shadow); }
.svc-card:hover .icon-tile { background: var(--navy-900); color: #fff; }
.know-cat { justify-self: start; display: inline-block; padding: .25em .75em; border-radius: 999px; background: var(--orange-50); color: #8a2f05; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.know-card h3 { font-size: 1.18rem; line-height: 1.25; }
.know-meta { display: flex; align-items: center; justify-content: space-between; margin-top: 6px; font-size: .8rem; color: var(--ink-3); font-weight: 600; }
.know-meta .i { display: inline-block; width: 15px; height: 15px; vertical-align: -3px; margin-right: 4px; }

/* Artigos e texto corrido */
.page-hero-art .know-cat { margin-bottom: 14px; }
.art-title { font-size: clamp(1.7rem, 1.1rem + 2.4vw, 2.7rem) !important; text-transform: none; letter-spacing: -0.025em; margin-bottom: 14px; }
.art-meta { display: flex; align-items: center; gap: 8px; margin-top: 16px; font-size: .86rem; color: var(--ink-3); font-weight: 600; }
.prose > * + * { margin-top: 18px; }
.prose h2 { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.7rem); margin-top: 40px; }
.prose h2:first-child { margin-top: 0; }
.prose p, .prose li { font-size: 1.05rem; color: var(--ink-2); line-height: 1.75; }
.prose a { font-weight: 700; }
.prose-list { display: grid; gap: 10px; }
.prose-list li { display: flex; gap: 12px; align-items: flex-start; }
.prose-list .i { flex: none; margin-top: 5px; width: 18px; height: 18px; stroke-width: 3; color: var(--orange-500); }
.art-cta { margin-top: 44px !important; display: grid; gap: 12px; justify-items: start; background: var(--navy-900); border-color: var(--navy-900); color: #dbe5f6; border-left: 6px solid var(--orange-500); }
.art-cta h2 { color: #fff; margin: 0 !important; font-size: 1.35rem; }
.art-cta p { color: #c3d1ea; font-size: 1rem; }
.art-cta a:not(.btn) { color: #ffb27a; }
.notice { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; border-radius: 12px; background: var(--warn-bg); color: var(--warn) !important; font-weight: 600; font-size: .92rem !important; }
.notice .i { flex: none; margin-top: 3px; }
.notfound { text-align: left; padding-block: 40px; }
.notfound > * + * { margin-top: 18px; }

/* CTA final (repetido aqui porque as subpáginas não carregam sections.css) */
.cta-final { background: var(--navy-900); color: #dbe5f6; padding-block: clamp(48px, 6vw, 80px); position: relative; }
.cta-final::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 10px; background: var(--orange-500); }
.cta-in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.cta-final .title { color: #fff; font-size: clamp(1.6rem, 1.1rem + 2vw, 2.4rem); }
.cta-final .lead { color: #c3d1ea; margin-top: 16px; max-width: 58ch; }
.cta-btns { display: grid; gap: 14px; }
.btn-xl { min-height: 62px; padding: 1em 1.8em; font-size: 1rem; border-radius: 14px; }

@media (max-width: 980px) {
  .page-hero-grid, .prose-grid, .faq-grid, .cta-in { grid-template-columns: minmax(0, 1fr); }
  .steps-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services-grid, .know-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cta-btns { max-width: 460px; }
}
@media (max-width: 640px) {
  .steps-cards, .services-grid, .know-grid, .know-grid-2 { grid-template-columns: minmax(0, 1fr); }
  .hero-cta .btn { width: 100%; }
  .cta-final::before { width: 6px; }
}
