/* Agos Comunicação: complementos do site (só layout; cores e fontes vêm dos tokens) */
.ag-hero--in { padding-block: var(--space-16) var(--space-12); }
.ag-hero--in .ag-hero__copy { gap: var(--space-6); }
.ag-hero--text .ag-hero__copy { grid-column: 1 / span 9; }
.ag-hero--text .ag-hero__copy .ag-lead { max-width: 52ch; }
.ag-hero__meta--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ag-hero__meta dt { font-variant-numeric: tabular-nums; }
@media (max-width: 767px) { .ag-hero__meta--4 { grid-template-columns: 1fr 1fr; } .ag-hero--in { padding-block: var(--space-8) var(--space-8); } .ag-hero--text .ag-hero__copy { grid-column: 1 / -1; } }
@media (max-width: 1023px) { .ag-hero--text .ag-hero__copy { grid-column: 1 / -1; } }

.sx-prose { max-width: 72ch; display: grid; gap: var(--space-4); }
.sx-prose > p, .sx-prose > ul, .sx-prose > ol { margin: 0; }
.sx-prose + .sx-prose { margin-top: var(--space-6); }
.sx-a { color: inherit; text-decoration: underline; text-decoration-color: var(--agos-sand); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ag-section--teal .sx-a { text-decoration-color: var(--on-teal-accent); }
.sx-a:hover { text-decoration-color: currentColor; }
.sx-linkline { margin: 0; }
.sx-list { margin: 0; padding-left: 1.25em; display: grid; gap: var(--space-2); }
.sx-list li::marker { color: var(--ink-muted); }
.ag-section--teal .sx-list li::marker { color: var(--on-teal-accent); }
.sx-actions { margin-top: var(--space-8); }
.sx-lead2 { margin-top: var(--space-6); }

.sx-feats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-12) var(--space-8); margin-top: var(--space-8); }
.sx-feats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sx-feat { border-top: 1px solid var(--line); padding-top: var(--space-6); display: grid; gap: var(--space-3); align-content: start; min-width: 0; }
.sx-feat p, .sx-feat ul, .sx-feat ol { margin: 0; font-size: 17px; line-height: 1.6; color: var(--ink-muted); }
.sx-feat .sx-list { gap: var(--space-1); }
.ag-section--teal .sx-feat { border-color: var(--line-on-teal); }
.ag-section--teal .sx-feat p, .ag-section--teal .sx-feat ul, .ag-section--teal .sx-feat ol { color: var(--on-teal-muted); }
@media (max-width: 1023px) { .sx-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .sx-feats, .sx-feats--2 { grid-template-columns: 1fr; gap: var(--space-8); } }

.ag-steps[data-n="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ag-steps[data-n="5"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1023px) { .ag-steps[data-n] { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .ag-steps[data-n] { grid-template-columns: 1fr; } }
.ag-step h3 { margin-top: 0; }
.ag-step p { overflow-wrap: anywhere; }

.sx-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.sx-gallery--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sx-gallery--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767px) { .sx-gallery, .sx-gallery--4, .sx-gallery--6 { grid-template-columns: 1fr 1fr; } }
.sx-gallery .ag-media__ph { font-size: 14px; }

.sx-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-8); }
a.ag-chip { text-decoration: none; display: inline-flex; align-items: center; }
.sx-pad { margin-top: var(--space-8); }

/* artigo */
.sx-post { display: grid; grid-template-columns: 240px minmax(0, 72ch); gap: var(--space-16); align-items: start; }
.sx-toc { position: sticky; top: calc(var(--header-h) + var(--space-6)); display: grid; gap: var(--space-3); }
.sx-toc h2 { margin: 0; font-family: var(--font-body); font-weight: 400; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-muted); }
.sx-toc ol { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--space-2); counter-reset: t; }
.sx-toc li { counter-increment: t; font-size: 16px; line-height: 1.4; display: grid; grid-template-columns: 28px 1fr; }
.sx-toc li::before { content: counter(t, decimal-leading-zero); color: var(--ink-muted); font-size: 13px; padding-top: 2px; font-variant-numeric: tabular-nums; }
.sx-toc a { text-decoration: none; }
.sx-toc a:hover { text-decoration: underline; text-decoration-color: var(--agos-sand); text-underline-offset: 4px; }
.sx-article > * + * { margin-top: var(--space-4); }
.sx-article .sx-h2 { margin-top: var(--space-16); scroll-margin-top: calc(var(--header-h) + 16px); }
.sx-article .sx-h2:first-child { margin-top: 0; }
.sx-article .sx-h3 { margin-top: var(--space-8); }
.sx-article .sx-prose { max-width: none; }
.sx-meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); font-size: 15px; color: var(--ink-muted); letter-spacing: .04em; }
@media (max-width: 1023px) { .sx-post { grid-template-columns: 1fr; gap: var(--space-8); } .sx-toc { position: static; } }

/* formulário de orçamento */
.sx-form-note { font-size: 15px; color: var(--ink-muted); margin: 0; }
.sx-form-ok a { margin-left: var(--space-2); }

/* texto legal */
.sx-legal .sx-h2 { margin-top: var(--space-12); }

/* campos ainda sem dado real */
.ph { border-bottom: 1px dashed currentColor; }
.pend { display: none; font-family: var(--font-body); font-size: 13px; letter-spacing: .02em; line-height: 1.4; background: var(--agos-sand); color: var(--agos-teal); padding: 2px 8px; }
.sx-pendline { margin: 0; }
body.show-pend .pend { display: inline-block; }
.sx-pendbtn { position: fixed; left: max(16px, env(safe-area-inset-left, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 120; background: var(--agos-teal); color: var(--on-teal); border: 1px solid var(--agos-sand); padding: 12px 18px; font: inherit; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; border-radius: var(--radius-none); }
.sx-pendbtn[aria-pressed="true"] { background: var(--agos-sand); color: var(--agos-teal); }
@media (max-width: 767px) { .sx-pendbtn { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); } }
@media print { .sx-pendbtn { display: none; } }

/* imagens e lightbox */
.sx-lb { display: block; color: inherit; text-decoration: none; cursor: zoom-in; }
.sx-lb .ag-media > img, .ag-card .ag-media > img { transition: transform 1.2s var(--ease-agos), filter .4s; }
.sx-lb:hover .ag-media > img, .ag-card:hover .ag-media > img { transform: scale(1.06); }
.sx-gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ag-work[data-lightbox] { cursor: zoom-in; }
.sx-lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(0, 31, 38, .94); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 56px 16px 24px; opacity: 0; transition: opacity .3s; }
.sx-lightbox.is-on { opacity: 1; }
.sx-lightbox img { max-width: min(1200px, 100%); max-height: calc(100vh - 140px); object-fit: contain; box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.sx-lightbox p { color: var(--agos-sand, #D4CA9F); margin: 16px 0 0; font-size: 15px; letter-spacing: .06em; text-align: center; }
.sx-lightbox button { position: absolute; background: none; border: 1px solid rgba(212,202,159,.5); color: #D4CA9F; width: 48px; height: 48px; border-radius: 50%; cursor: pointer; display: grid; place-items: center; font: inherit; font-size: 22px; line-height: 1; }
.sx-lightbox button:hover { background: rgba(212,202,159,.12); }
.sx-lightbox .sx-lb-x { top: 16px; right: 16px; }
.sx-lightbox .sx-lb-p { left: 16px; top: 50%; transform: translateY(-50%); }
.sx-lightbox .sx-lb-n { right: 16px; top: 50%; transform: translateY(-50%); }
@media (max-width: 640px) { .sx-lightbox .sx-lb-p, .sx-lightbox .sx-lb-n { top: auto; bottom: 16px; transform: none; } .sx-lightbox img { max-height: calc(100vh - 200px); } }
