/* ==========================================================================
   Moreira Suzuki — CSS do tema
   Fonte da verdade das cores e fontes: theme.json. Aqui ficam só os
   componentes que o theme.json não expressa. Classes com prefixo "ms-" ou
   estilos de bloco "is-style-*" registrados em functions.php.
   ========================================================================== */

:root {
	--ms-pad: clamp(20px, 4.5vw, 52px);
	--ms-navy-grad: linear-gradient(160deg, #1a2b4b 0%, #131f37 100%);
	--ms-monogram: url("../img/monogram-navy.webp");
	--ms-mono: var(--wp--preset--font-family--mono);
	--ms-sans: var(--wp--preset--font-family--sans);
	--ms-serif: var(--wp--preset--font-family--serif);
	--ms-lime: var(--wp--preset--color--lime);
}

/* Modo escuro (opção do visitante). Redefine os tokens do theme.json. */
html[data-paper="escuro"] {
	--wp--preset--color--paper: #131f37;
	--wp--preset--color--paper-2: #1a2843;
	--wp--preset--color--ink: #f4f2ea;
	--wp--preset--color--ink-body: #cbd2e0;
	--wp--preset--color--muted: #8b96ae;
	--wp--preset--color--rule: #2c3d61;
	--wp--preset--color--rule-soft: #22314f;
	--wp--preset--color--navy-soft: #d9e87a;
	--ms-navy-grad: linear-gradient(160deg, #22334f 0%, #1b2946 100%);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(p, li) { text-wrap: pretty; }
:where(h1, h2) { text-wrap: balance; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--ms-lime); outline-offset: 3px; }
.screen-reader-text:not(:focus) { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* ---------- cabeçalho ---------- */
.ms-header { padding-top: 22px; padding-bottom: 20px; border-bottom: 1px solid var(--wp--preset--color--rule-soft); }
.ms-header .ms-logo { display: block; width: 92px; line-height: 0; margin: 0; }
.ms-header .ms-logo img { width: 100%; height: auto; }
html[data-paper="escuro"] .ms-header .ms-logo img { content: url("../img/logo-horizontal-branco.svg"); }
html[data-paper="escuro"] .ms-header .ms-logo { width: 150px; }
.ms-header .wp-block-navigation { font-family: var(--ms-sans); font-size: 13.5px; font-weight: 600; letter-spacing: .01em; gap: 26px; }
.ms-header .wp-block-navigation a { color: var(--wp--preset--color--ink-body); }
.ms-header .wp-block-navigation a:hover,
.ms-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--ink); }
.ms-header .wp-block-navigation .current-menu-item > a { border-bottom: 1.5px solid var(--ms-lime); padding-bottom: 3px; }
.ms-paper-toggle { display: none; background: none; border: 1px solid var(--wp--preset--color--rule); color: var(--wp--preset--color--muted); font: 500 9.5px/1 var(--ms-mono); letter-spacing: .16em; text-transform: uppercase; padding: 7px 9px; cursor: pointer; }
.ms-paper-toggle:hover { border-color: var(--ms-lime); color: var(--wp--preset--color--ink); }

/* ---------- tipografia de sistema ---------- */
.ms-eyebrow, .is-style-eyebrow {
	font-family: var(--ms-mono) !important; font-size: 9.5px !important; letter-spacing: .26em; text-transform: uppercase;
	color: var(--wp--preset--color--muted); display: flex; align-items: center; gap: 11px; line-height: 1.6;
}
.ms-eyebrow::before, .is-style-eyebrow::before { content: ""; width: 30px; height: 1px; background: var(--ms-lime); flex: none; }

.ms-hero { position: relative; padding-top: clamp(40px, 7vw, 84px); padding-bottom: clamp(34px, 5vw, 58px); overflow: visible; }
.ms-hero h1 { font-size: var(--wp--preset--font-size--display); line-height: 1.04; letter-spacing: -.015em; max-width: 19ch; margin-top: 22px; position: relative; }
.ms-hero h1 em { color: var(--wp--preset--color--navy-soft); }
.ms-numeral { position: absolute; right: -14px; top: -6px; margin: 0 !important; pointer-events: none; user-select: none;
	font-family: var(--ms-serif); font-style: italic; font-weight: 300; font-size: clamp(180px, 30vw, 330px); line-height: .8; color: var(--ms-lime); opacity: .07; }
.ms-lede, .is-style-lede { font-size: 16.5px; line-height: 1.5; color: var(--wp--preset--color--ink); opacity: .86; max-width: 52ch; position: relative; }

.ms-cadence { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font-family: var(--ms-mono); font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--wp--preset--color--ink); margin-top: 34px; }
.ms-cadence i { width: 5px; height: 5px; background: var(--ms-lime); transform: rotate(45deg); flex: none; }
.ms-cadence--divider { justify-content: center; margin: 0; padding: 26px 0; border-top: 1px solid var(--wp--preset--color--rule-soft); border-bottom: 1px solid var(--wp--preset--color--rule-soft); }

.wp-block-separator.is-style-filete { border: 0; height: 1px; width: 100%; max-width: none; opacity: 1;
	background: linear-gradient(90deg, var(--ms-lime) 0, var(--ms-lime) 64px, var(--wp--preset--color--rule) 64px, var(--wp--preset--color--rule) 180px, transparent 100%); }

/* ---------- seções ---------- */
.ms-section { padding-top: clamp(34px, 5vw, 58px); padding-bottom: clamp(34px, 5vw, 58px); }
.ms-section + .ms-section { border-top: 1px solid var(--wp--preset--color--rule-soft); }
.ms-sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; }
.ms-sec-head h2 { margin: 0; }
.ms-sec-more { font-family: var(--ms-mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.ms-sec-more a { color: var(--wp--preset--color--muted); border-bottom: 1px solid var(--wp--preset--color--rule); }
.is-style-banda { background: var(--wp--preset--color--paper-2); border-top: 1px solid var(--wp--preset--color--rule-soft); border-bottom: 1px solid var(--wp--preset--color--rule-soft); }
.is-style-banda + .ms-section { border-top: 0; }

/* sangria navy */
.is-style-navy { background: var(--ms-navy-grad) !important; color: #e9ecf3; position: relative; overflow: hidden; }
.is-style-navy::after { content: ""; position: absolute; right: -70px; bottom: -90px; width: 300px; height: 300px; background: var(--ms-monogram) no-repeat center / contain; opacity: .05; filter: brightness(0) invert(1); pointer-events: none; }
html[data-paper="escuro"] .is-style-navy { border-top: 1px solid rgba(184, 205, 15, .22); }
.is-style-navy :where(h1, h2, h3, h4) { color: #fff; }
.is-style-navy p { color: rgba(233, 236, 243, .78); }
.is-style-navy .ms-eyebrow, .is-style-navy .is-style-eyebrow { color: rgba(233, 236, 243, .62); }
.is-style-navy a { color: #fff; }

/* lista editorial de situações */
.ms-sit-list { display: flex; flex-direction: column; }
.ms-sit { display: grid; gap: 8px; padding: 22px 0; border-top: 1px solid var(--wp--preset--color--rule-soft); color: inherit; }
.ms-sit:first-child { border-top: 0; padding-top: 0; }
.ms-sit-v { font-family: var(--ms-mono); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ms-sit h3 { font-weight: 500; font-size: clamp(17px, 2.2vw, 20.5px); line-height: 1.28; margin: 0; max-width: 34ch; }
.ms-sit p { font-family: var(--ms-sans); font-size: 13.5px; line-height: 1.62; margin: 0; max-width: 62ch; opacity: .9; }
.ms-sit:hover h3 { color: var(--wp--preset--color--navy-soft); }

/* números */
.ms-figures { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: clamp(20px, 4vw, 44px); margin-top: 38px; padding-top: 26px; border-top: 1px solid var(--wp--preset--color--rule-soft); }
.ms-figures > p { margin: 0; font-family: var(--ms-mono); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--muted); line-height: 1.7; }
.ms-figures > p strong { display: block; margin-bottom: 9px; font-family: var(--ms-serif); font-weight: 400; font-size: clamp(28px, 4vw, 38px); line-height: 1; color: var(--wp--preset--color--ink); letter-spacing: -.02em; text-transform: none; font-variant-numeric: tabular-nums; }

/* bifurcação */
.ms-fork { border-top: 1px solid var(--wp--preset--color--rule-soft); gap: 0 !important; margin-bottom: 0; }
.ms-fork > .wp-block-column { padding: 30px 0; }
@media (min-width: 782px) {
	.ms-fork > .wp-block-column:first-child { padding-right: clamp(24px, 4vw, 44px); }
	.ms-fork > .wp-block-column + .wp-block-column { padding-left: clamp(24px, 4vw, 44px); border-left: 1px solid var(--wp--preset--color--rule-soft); }
}
.ms-fork h3 { font-weight: 500; margin-top: 12px; line-height: 1.24; }
.ms-fork > .wp-block-column:first-child h3 { font-size: clamp(20px, 2.8vw, 26px); max-width: 20ch; }
.ms-fork > .wp-block-column + .wp-block-column h3 { font-size: 17px; max-width: 22ch; }
.ms-fork p:not(.ms-eyebrow):not(.is-style-eyebrow) { font-family: var(--ms-sans); font-size: 13.5px; line-height: 1.62; opacity: .9; max-width: 44ch; }

/* chamada com seta (estilo de botão "Seta") */
.wp-block-button.is-style-seta .wp-block-button__link {
	background: none; padding: 0 0 4px; border-radius: 0; border-bottom: 2px solid var(--ms-lime);
	font-family: var(--ms-sans); font-weight: 700; font-size: 12.5px; letter-spacing: .02em; color: var(--wp--preset--color--ink);
	display: inline-flex; gap: 9px; align-items: center;
}
.wp-block-button.is-style-seta .wp-block-button__link::after { content: "→"; font-family: var(--ms-mono); font-size: 12px; }
.wp-block-button.is-style-seta .wp-block-button__link:hover { color: var(--wp--preset--color--navy-soft); }
.is-style-navy .wp-block-button.is-style-seta .wp-block-button__link { color: #fff; }
.is-style-navy .wp-block-button.is-style-seta .wp-block-button__link:hover { color: var(--wp--preset--color--lime-soft); }

/* corrente de conteúdo (Query Loop) */
.ms-stream .wp-block-post-template { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: clamp(20px, 3vw, 34px); }
.ms-stream .wp-block-post-terms, .ms-stream .wp-block-post-date { font-family: var(--ms-mono); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ms-stream .wp-block-post-title { font-size: 15.5px; font-weight: 500; line-height: 1.32; margin: 6px 0; }
.ms-stream .wp-block-post-author-name { font-family: var(--ms-sans); font-size: 12px; color: var(--wp--preset--color--muted); }
.ms-meta { display: flex; gap: 9px; align-items: center; }
.ms-meta::before { content: ""; width: 5px; height: 5px; background: var(--ms-lime); transform: rotate(45deg); flex: none; }

/* ---------- página de situação ---------- */
.ms-breadcrumb { font-family: var(--ms-mono); font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin-top: 24px; }
.ms-breadcrumb a { color: inherit; }
.ms-breadcrumb .sep { color: var(--ms-lime); padding: 0 .4em; }
.ms-sit-title { margin-top: 16px; }

.is-style-resposta { font-size: 17px; line-height: 1.48; color: var(--wp--preset--color--ink); max-width: 54ch; border-left: 2px solid var(--ms-lime); padding-left: 20px; margin-top: 24px; }

/* corpo editorial */
.ms-body { counter-reset: secao; }
.ms-body p, .ms-body li { font-size: 14.5px; line-height: 1.68; }
.ms-body h2.is-style-secao { counter-increment: secao; display: flex; align-items: baseline; gap: 12px; font-size: 17px; font-weight: 600; line-height: 1.3; margin: 38px 0 14px; }
.ms-body h2.is-style-secao::before { content: "§ " counter(secao, decimal-leading-zero); font-family: var(--ms-mono); font-size: 11px; font-weight: 400; color: var(--ms-lime); letter-spacing: .06em; flex: none; }
.ms-body h2.is-style-secao.ms-sign-faq { counter-increment: none; }
.ms-body h2.is-style-secao.ms-sign-faq::before { content: "FAQ"; }
.is-style-subtitulo { font-family: var(--ms-sans) !important; font-weight: 700 !important; font-size: 10.5px !important; letter-spacing: .16em; text-transform: uppercase; margin: 34px 0 14px; display: flex; align-items: center; gap: 11px; }
.is-style-subtitulo::before { content: ""; width: 6px; height: 6px; background: var(--ms-lime); transform: rotate(45deg); flex: none; }

ul.is-style-losango { list-style: none; padding: 0; }
ul.is-style-losango li { position: relative; padding-left: 20px; margin-bottom: 11px; }
ul.is-style-losango li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; background: var(--ms-lime); transform: rotate(45deg); }
.ms-body ul.is-style-losango li strong { color: var(--wp--preset--color--ink); }

.is-style-trade-off { background: var(--ms-navy-grad); border-left: 3px solid var(--ms-lime); padding: 28px 30px; margin: 26px 0; position: relative; overflow: hidden; }
.is-style-trade-off::after { content: ""; position: absolute; right: -46px; bottom: -58px; width: 190px; height: 190px; background: var(--ms-monogram) no-repeat center / contain; opacity: .06; filter: brightness(0) invert(1); pointer-events: none; }
.is-style-trade-off > * { position: relative; z-index: 1; }
.is-style-trade-off .ms-lab, .is-style-trade-off > p:first-child { font-family: var(--ms-mono); font-size: 9px !important; letter-spacing: .22em; text-transform: uppercase; color: var(--ms-lime) !important; margin-bottom: 12px; }
.is-style-trade-off p { color: rgba(233, 236, 243, .82); margin: 14px 0 0; }
.is-style-trade-off p strong { color: #fff; }
.is-style-trade-off p em { color: var(--wp--preset--color--lime-soft); }

.is-style-autoteste { border-top: 2px solid var(--ms-lime); border-bottom: 1px solid var(--wp--preset--color--rule); background: var(--wp--preset--color--paper-2); padding: 30px clamp(22px, 3vw, 32px); margin: 34px 0; }
.is-style-autoteste h3 { font-size: 17px; font-weight: 600; margin: 0 0 20px; max-width: 32ch; }
.is-style-autoteste ol { list-style: none; counter-reset: st; padding: 0; margin: 0; }
.is-style-autoteste ol li { counter-increment: st; position: relative; padding-left: 38px; margin-bottom: 15px; }
.is-style-autoteste ol li::before { content: counter(st); position: absolute; left: 0; top: -2px; font-family: var(--ms-serif); font-style: italic; font-size: 22px; color: var(--ms-lime); line-height: 1; }
.is-style-autoteste > p:last-child { font-style: italic; color: var(--wp--preset--color--ink); margin-top: 20px; }

/* FAQ (bloco Detalhes) */
.ms-faq { border-top: 1px solid var(--wp--preset--color--rule-soft); }
.ms-faq .wp-block-details { border-bottom: 1px solid var(--wp--preset--color--rule-soft); margin: 0; }
.ms-faq summary { cursor: pointer; list-style: none; padding: 16px 0; font-size: 15px; font-weight: 500; color: var(--wp--preset--color--ink); display: flex; justify-content: space-between; gap: 18px; align-items: baseline; }
.ms-faq summary::-webkit-details-marker { display: none; }
.ms-faq summary::after { content: "+"; font-family: var(--ms-mono); color: var(--ms-lime); font-size: 14px; flex: none; }
.ms-faq details[open] summary::after { content: "–"; }
.ms-faq .wp-block-details p { margin: 0 0 18px; font-size: 14px; max-width: 62ch; }

/* quem conduz */
.ms-conduz { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 24px; }
.ms-pers { display: flex; gap: 14px; align-items: flex-start; color: inherit; }
.ms-avatar { width: 56px; height: 70px; flex: none; background: var(--wp--preset--color--paper-2); border: 1px solid var(--wp--preset--color--rule-soft); position: relative; overflow: hidden; }
.ms-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; display: block; }
.ms-avatar::after { content: ""; position: absolute; inset: auto 0 0 0; height: 3px; background: var(--ms-lime); opacity: .5; }
.ms-pers b { font-family: var(--ms-serif); font-weight: 600; font-size: 15px; color: var(--wp--preset--color--ink); display: block; }
.ms-pers span span { font-family: var(--ms-sans); font-size: 11.5px; color: var(--wp--preset--color--muted); display: block; margin-top: 4px; line-height: 1.5; }
a.ms-pers:hover b { color: var(--wp--preset--color--navy-soft); }

/* fecho */
.ms-closer { padding-top: 52px; padding-bottom: 52px; margin-top: 48px; }
.ms-closer h3 { font-size: 20px; font-weight: 500; max-width: 26ch; line-height: 1.26; margin-top: 14px; }
.ms-closer p { font-family: var(--ms-sans); font-size: 13.5px; line-height: 1.62; max-width: 52ch; }

/* ---------- time ---------- */
.ms-time-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 34px 26px; }
.ms-card { color: inherit; display: block; }
.ms-card .ms-foto { aspect-ratio: 4 / 5; background: var(--wp--preset--color--paper-2); border: 1px solid var(--wp--preset--color--rule-soft); position: relative; overflow: hidden; }
.ms-card .ms-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; display: block; filter: saturate(.92); transition: filter .2s; }
.ms-card .ms-foto::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--ms-lime); }
.ms-card b { display: block; font-family: var(--ms-serif); font-weight: 600; font-size: 16px; color: var(--wp--preset--color--ink); margin-top: 12px; }
.ms-card span { display: block; font-family: var(--ms-mono); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin-top: 6px; line-height: 1.6; }
a.ms-card:hover .ms-foto img { filter: saturate(1); }
.ms-time-lista { columns: 3 220px; column-gap: 34px; list-style: none; padding: 0; margin: 0; }
.ms-time-lista li { break-inside: avoid; padding: 10px 0; border-top: 1px solid var(--wp--preset--color--rule-soft); }
.ms-time-lista b { font-family: var(--ms-serif); font-weight: 500; font-size: 15px; color: var(--wp--preset--color--ink); display: block; }
.ms-time-lista span { font-family: var(--ms-sans); font-size: 12px; color: var(--wp--preset--color--muted); }

/* ---------- perfil ---------- */
.ms-prof-top { padding-top: 34px; }
.ms-prof-top .ms-portrait img { aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 18%; border-bottom: 4px solid var(--ms-lime); }
.ms-role { font-family: var(--ms-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--muted); }

/* ---------- rodapé ---------- */
.ms-footer { padding-top: 46px; padding-bottom: 46px; font-family: var(--ms-sans); font-size: 12.5px; line-height: 1.7; }
.ms-footer .ms-foot-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 34px 26px; }
.ms-footer h5, .ms-footer .ms-h5 { font-family: var(--ms-mono); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--ms-lime) !important; margin: 0 0 12px; font-weight: 400; }
.ms-footer p, .ms-footer a { color: rgba(233, 236, 243, .78); margin: 0; }
.ms-footer a:hover { color: #fff; }
.ms-footer .ms-logo-foot { display: block; width: 190px; max-width: 100%; margin: 0 0 22px; line-height: 0; }
.ms-footer .ms-logo-foot img { width: 100%; height: auto; }
.ms-footer .ms-oab { font-family: var(--ms-mono); font-size: 10.5px; color: rgba(233, 236, 243, .55); display: block; margin-top: 8px; }
.ms-footer .ms-selos { display: flex; gap: 12px; margin-top: 18px; }
.ms-footer .ms-selos img { width: 74px; height: 74px; }
.ms-footer .ms-legal { grid-column: 1 / -1; border-top: 1px solid rgba(233, 236, 243, .12); padding-top: 18px; margin-top: 8px; display: flex; flex-wrap: wrap; gap: 8px 22px; font-family: var(--ms-mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: rgba(233, 236, 243, .5); }
.ms-footer .ms-legal a { color: rgba(233, 236, 243, .6); }

/* ---------- WhatsApp discreto ---------- */
.ms-wa {
	position: fixed; right: 18px; bottom: 18px; z-index: 50;
	display: inline-flex; align-items: center; gap: 0; overflow: hidden;
	height: 44px; padding: 0 12px; border-radius: 22px;
	background: var(--wp--preset--color--navy); color: #fff !important;
	border: 1px solid rgba(184, 205, 15, .55);
	box-shadow: 0 8px 24px -12px rgba(19, 31, 55, .55);
	font: 600 12px/1 var(--ms-sans); letter-spacing: .02em;
	opacity: 0; transform: translateY(8px); pointer-events: none;
	transition: opacity .25s, transform .25s, gap .25s;
}
.ms-wa.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.ms-wa svg { width: 18px; height: 18px; flex: none; fill: currentColor; }
.ms-wa .ms-wa-label { max-width: 0; white-space: nowrap; transition: max-width .3s ease; }
.ms-wa:hover, .ms-wa:focus-visible { gap: 9px; }
.ms-wa:hover .ms-wa-label, .ms-wa:focus-visible .ms-wa-label { max-width: 140px; }
html[data-paper="escuro"] .ms-wa { background: #f4f2ea; color: #131f37 !important; }
@media print { .ms-wa, .ms-paper-toggle { display: none !important; } }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* ---------- utilitários de edição ---------- */
.ms-rascunho { display: inline-block; font-family: var(--ms-mono); font-size: 9px !important; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); border: 1px dashed var(--wp--preset--color--rule); padding: 4px 8px; }
.ms-conduz-titulo { border-top: 1px solid var(--wp--preset--color--rule-soft); padding-top: 36px; margin-top: 36px !important; }
.ms-body > .ms-cadence--divider { max-width: none !important; margin-top: 40px !important; }
.ms-body > .ms-closer { margin-top: 48px !important; padding-left: var(--ms-pad); padding-right: var(--ms-pad); }

/* ---------- ajustes de encaixe com o núcleo do WordPress ---------- */
.wp-block-separator.is-style-filete:not(.is-style-wide):not(.is-style-dots) { width: 100%; max-width: none; margin-top: 0; margin-bottom: 0; }
.wp-site-blocks > footer.wp-block-template-part, .wp-site-blocks > main + footer { margin-block-start: 0; }
.wp-site-blocks > header.wp-block-template-part + * { margin-block-start: 0; }
.ms-wa .ms-wa-label { overflow: hidden; }
.ms-cadence + p:empty, .ms-sit-list + p:empty { display: none; }
.ms-sit-title { max-width: 1080px !important; padding-right: max(0px, calc(100% - 22ch)); box-sizing: border-box; }
.ms-breadcrumb { margin-top: 34px !important; }
main > .wp-block-separator.is-style-filete { max-width: var(--wp--style--global--content-size) !important; margin-left: auto !important; margin-right: auto !important; }
.ms-body > .ms-time-grid, .ms-body > .ms-time-lista { max-width: 1080px !important; }
.ms-avatar img { object-position: 50% 12%; }
.ms-manifesto { gap: clamp(28px, 5vw, 64px) !important; align-items: flex-start; }
.ms-manifesto img { aspect-ratio: 4 / 5; object-fit: cover; border-bottom: 4px solid var(--ms-lime); }
.ms-body .wp-block-image.alignwide img { width: 100%; height: auto; }
.ms-dados { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 26px 34px; border-top: 1px solid var(--wp--preset--color--rule-soft); padding-top: 26px; margin-top: 30px; }
.ms-dados > p { margin: 0; font-size: 16px; line-height: 1.5; color: var(--wp--preset--color--ink); }
.ms-dados > p strong { display: block; margin-bottom: 8px; font-family: var(--ms-mono); font-weight: 400; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ms-dados a { border-bottom: 1px solid var(--ms-lime); }

/* faixa de foto em sangria */
.ms-faixa-foto { margin-top: clamp(40px, 6vw, 72px) !important; margin-bottom: 0 !important; }
.ms-faixa-foto figure { margin: 0; position: relative; }
.ms-faixa-foto img { display: block; width: 100%; height: clamp(280px, 42vw, 560px); object-fit: cover; }
.ms-faixa-foto figcaption { position: absolute; left: 0; bottom: 0; max-width: 520px; background: var(--ms-navy-grad); color: #fff; padding: 22px 26px 24px; border-top: 3px solid var(--ms-lime); font-family: var(--ms-serif); font-size: 17px; line-height: 1.4; }
.ms-faixa-foto figcaption .ms-eyebrow { color: rgba(233, 236, 243, .62); margin-bottom: 10px; }
.ms-faixa-foto + .is-style-banda { margin-top: 0 !important; }


/* ---------- home: variantes do herói em papel ---------- */
.ms-hero--monograma { overflow: hidden; min-height: clamp(360px, 46vw, 560px); display: flex; flex-direction: column; justify-content: center; }
.ms-monograma { position: absolute; right: 4%; top: 50%; transform: translateY(-50%); height: 72%; color: var(--ms-lime); pointer-events: none; z-index: 0; }
.ms-monograma svg { height: 100%; width: auto; display: block; }
.ms-hero--monograma > *:not(.ms-monograma) { position: relative; z-index: 1; }
@media (max-width: 781px) { .ms-monograma { height: 70%; right: -18%; opacity: .25; } }

.ms-hero--sede { gap: clamp(28px, 5vw, 64px) !important; margin-bottom: 0; padding-bottom: clamp(34px, 5vw, 58px) !important; }
.ms-hero--sede + .ms-section, .ms-hero--sede + * { margin-top: 0 !important; }
.ms-hero--sede h1 { max-width: 15ch; }
.ms-hero-foto { margin: 0; }
.ms-hero-foto img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 62% 50%; border-bottom: 4px solid var(--ms-lime); }

/* números em faixa azul-marinho */
.ms-numeros { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(36px, 5vw, 60px); margin-top: 0 !important; }
.ms-numeros .ms-figures { border-top: 0; margin-top: 0; padding-top: 0; position: relative; z-index: 1; }
.ms-numeros .ms-figures > p { color: rgba(233, 236, 243, .62); }
.ms-numeros .ms-figures > p strong { color: var(--ms-lime); font-size: clamp(36px, 5vw, 54px); }
.ms-numeros .ms-cadence { color: #fff; margin-top: 40px; position: relative; z-index: 1; }
.ms-footer .ms-selos { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 20px; }
.ms-footer .ms-selos-row { grid-column: 1 / -1; border-top: 1px solid rgba(233, 236, 243, .12); padding-top: 22px; }
.ms-footer .ms-selos { gap: 22px; margin-top: 4px; }
.ms-footer .ms-selos img { width: auto !important; height: 58px !important; filter: grayscale(1); opacity: .85; transition: opacity .2s, filter .2s; }
.ms-footer .ms-selos img:hover { filter: none; opacity: 1; }
main > .wp-block-separator.is-style-filete { max-width: 1080px !important; }
.ms-footer .ms-selos img[alt^="Leaders"] { filter: grayscale(1) brightness(2.4) contrast(1.1); }

/* ---------- formulário de situação ---------- */
.ms-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; margin-top: 28px; max-width: 680px; font-family: var(--ms-sans); }
.ms-campo { display: flex; flex-direction: column; gap: 7px; }
.ms-campo > span { font-family: var(--ms-mono); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ms-campo--largo { grid-column: 1 / -1; }
.ms-form input[type=text], .ms-form input[type=tel], .ms-form input[type=email], .ms-form select, .ms-form textarea {
	font: 15px/1.5 var(--ms-serif); color: var(--wp--preset--color--ink); background: transparent;
	border: 0; border-bottom: 1px solid var(--wp--preset--color--rule); border-radius: 0; padding: 8px 0;
}
.ms-form textarea { border: 1px solid var(--wp--preset--color--rule); padding: 12px 14px; background: var(--wp--preset--color--paper-2); resize: vertical; }
.ms-form :is(input, select, textarea):focus { outline: none; border-color: var(--ms-lime); box-shadow: 0 1px 0 var(--ms-lime); }
.ms-form small { font-size: 11.5px; color: var(--wp--preset--color--muted); }
.ms-aceite { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; color: var(--wp--preset--color--ink-body); }
.ms-aceite input { accent-color: #1a2b4b; margin-top: 3px; }
.ms-aceite a { border-bottom: 1px solid var(--ms-lime); }
.ms-form button.wp-block-button__link { background: none; border: 0; border-bottom: 2px solid var(--ms-lime); padding: 0 0 4px; cursor: pointer; font-family: var(--ms-sans); font-weight: 700; font-size: 13px; color: var(--wp--preset--color--ink); display: inline-flex; gap: 9px; }
.ms-form button.wp-block-button__link::after { content: "→"; font-family: var(--ms-mono); }
.ms-form-isca { position: absolute !important; left: -9999px; }
.ms-form-erro { grid-column: 1 / -1; border-left: 3px solid #7a2e2a; padding: 8px 12px; background: var(--wp--preset--color--paper-2); font-size: 13px; }
.ms-form-ok { border-top: 2px solid var(--ms-lime); background: var(--wp--preset--color--paper-2); padding: 22px 24px; margin-top: 28px; max-width: 680px; }
@media (max-width: 600px) { .ms-form { grid-template-columns: 1fr; } }

/* herói com emblema (monograma pequeno + numeral) */
.ms-hero--selo { display: grid; grid-template-columns: 1fr auto; column-gap: clamp(28px, 6vw, 90px); align-items: center; }
.ms-hero--selo > :not(.wp-block-html):not(.ms-emblema) { grid-column: 1; }
.ms-emblema { grid-column: 2; grid-row: 1 / span 4; display: grid; justify-items: center; gap: 10px; padding: 28px 30px 22px; border: 1px solid var(--wp--preset--color--rule); position: relative; }
.ms-emblema::before { content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 3px; background: var(--ms-lime); }
.ms-emblema-mono { color: var(--ms-lime); width: 64px; }
.ms-emblema-mono svg { width: 100%; height: auto; display: block; }
.ms-emblema-num { font-family: var(--ms-serif); font-style: italic; font-weight: 300; font-size: 96px; line-height: .9; color: var(--wp--preset--color--ink); letter-spacing: -.03em; }
.ms-emblema-leg { font-family: var(--ms-mono); font-size: 9px; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
@media (max-width: 781px) { .ms-hero--selo { grid-template-columns: 1fr; } .ms-emblema { display: none; } }

/* herói com marca d'água */
.ms-hero--marca { overflow: hidden; }
.ms-marca { position: absolute; right: -4%; top: 50%; transform: translateY(-50%); height: 150%; color: var(--wp--preset--color--navy); opacity: .045; pointer-events: none; }
.ms-marca svg { height: 100%; width: auto; display: block; }
html[data-paper="escuro"] .ms-marca { color: #fff; opacity: .05; }

/* herói com obra */
.ms-hero--obra { gap: clamp(28px, 5vw, 64px) !important; margin-bottom: 0; }
.ms-obra { margin: 0; max-width: 340px; margin-left: auto; }
.ms-obra img { display: block; width: 100%; height: auto; box-shadow: 0 30px 60px -36px rgba(19, 31, 55, .55); }
.ms-obra figcaption { font-family: var(--ms-mono); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin-top: 12px; }

/* formulário compacto (home) e pergunta pós-envio */
.ms-form--compacto { margin-top: 18px; max-width: none; }
.ms-form-origem { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; }
.ms-form-origem span { width: 100%; font-family: var(--ms-mono); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ms-form-origem button { font: 600 12px var(--ms-sans); color: var(--wp--preset--color--ink); background: transparent; border: 1px solid var(--wp--preset--color--rule); padding: 7px 11px; cursor: pointer; }
.ms-form-origem button:hover { border-color: var(--ms-lime); }
.ms-form-nota { font-size: 13px; color: var(--wp--preset--color--muted); }
.ms-fork .ms-form-ok { margin-top: 18px; }

/* reconhecimentos (página do escritório) */
.ms-reconhecimentos { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 28px; align-items: center; justify-items: center; padding: 28px 0; border-top: 1px solid var(--wp--preset--color--rule-soft); border-bottom: 1px solid var(--wp--preset--color--rule-soft); }
.ms-reconhecimentos figure { margin: 0; text-align: center; }
.ms-reconhecimentos img { height: 92px; width: auto; }
.ms-reconhecimentos figcaption { font-family: var(--ms-mono); font-size: 8.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin-top: 10px; line-height: 1.6; }
.ms-footer .ms-h5 a { color: inherit; border-bottom: 1px solid rgba(184, 205, 15, .5); }

/* marca d'água colorida e esmaecida (fade em direção ao texto) */
.ms-hero--marca-limao .ms-marca, .ms-hero--marca-azul .ms-marca {
	-webkit-mask-image: linear-gradient(to left, #000 15%, rgba(0,0,0,.35) 55%, transparent 90%);
	mask-image: linear-gradient(to left, #000 15%, rgba(0,0,0,.35) 55%, transparent 90%);
}
.ms-hero--marca-limao .ms-marca { color: var(--ms-lime); opacity: .28; }
.ms-hero--marca-azul .ms-marca { color: var(--wp--preset--color--navy); opacity: .12; }
.ms-hero--marca { overflow-x: visible; overflow-y: clip; }
.ms-hero--marca .ms-marca { right: min(-4%, calc((1080px - 100vw) / 2)); }
body { overflow-x: clip; }
.ms-form-rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
.ms-form-alcance { font-family: var(--ms-mono); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); display: inline-flex; align-items: center; gap: 9px; }
.ms-form-alcance::before { content: ""; width: 5px; height: 5px; background: var(--ms-lime); transform: rotate(45deg); flex: none; }
@media (max-width: 781px) {
	.ms-hero--marca .ms-marca { height: 95%; right: -28%; }
	.ms-hero--marca-limao .ms-marca { opacity: .16; }
	.ms-form-rodape { flex-direction: column; align-items: flex-start; }
}
.ms-fatos { margin: 0; max-width: 70ch; }
.ms-fatos > div { display: flex; gap: 14px; padding: 13px 0; border-top: 1px solid var(--wp--preset--color--rule-soft); }
.ms-fatos dt { font-family: var(--ms-mono); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); width: 112px; flex: none; padding-top: 4px; }
.ms-fatos dd { margin: 0; font-size: 14px; line-height: 1.6; }
.ms-prof-top .is-style-lede, .ms-prof-top .wp-block-post-excerpt { max-width: 52ch; }

/* ---------- rodada de ajustes do piloto ---------- */
.ms-hero--pagina { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(28px, 4vw, 44px); min-height: 0; }
.ms-hero--pagina h1 { font-size: var(--wp--preset--font-size--xx-large); margin-top: 0; }
.ms-hero--pagina .ms-marca { height: 190%; }

/* botão principal (carreiras) */
.ms-btn-primario { box-sizing: border-box; max-width: 100%; display: inline-flex; align-items: center; gap: 10px; background: var(--wp--preset--color--navy); color: #fff !important; font: 700 14px/1 var(--ms-sans); letter-spacing: .02em; padding: 16px 22px; border-bottom: 3px solid var(--ms-lime); }
.ms-btn-primario::after { content: "→"; font-family: var(--ms-mono); }
.ms-btn-primario:hover { background: var(--wp--preset--color--navy-soft); }
.ms-btn-primario--pequeno { padding: 11px 16px; font-size: 12.5px; margin-top: 14px; }
.ms-vagas { display: grid; gap: 0; border-top: 1px solid var(--wp--preset--color--rule-soft); }
.ms-vaga { padding: 24px 0; border-bottom: 1px solid var(--wp--preset--color--rule-soft); }
.ms-vaga h3 { margin: 6px 0 0; font-size: 19px; font-weight: 500; }
.ms-vaga-resumo { font-family: var(--ms-sans); font-size: 13.5px; color: var(--wp--preset--color--ink-body); margin: 8px 0 0; }
.ms-vaga-corpo p, .ms-vaga-corpo li { font-size: 14px; }
.ms-vagas-vazio { font-family: var(--ms-sans); font-size: 14px; }
.ms-foto-larga img { width: 100%; height: clamp(240px, 32vw, 420px); object-fit: cover; }

@media (max-width: 781px) {
	/* rodapé: logo menor */
	.ms-footer .ms-logo-foot { width: 140px; margin-bottom: 16px; }
	/* lista de situações mais compacta */
	.ms-sit { padding: 16px 0; gap: 6px; }
	.ms-sit h3 { font-size: 17px; }
	.ms-sit p { font-size: 13px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.ms-section { padding-top: 30px; padding-bottom: 30px; }
	/* pessoas: duas por linha */
	.ms-time-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
	.ms-card b { font-size: 14px; margin-top: 8px; }
	.ms-card span { font-size: 8px; letter-spacing: .12em; }
	.ms-hero--marca { overflow: clip; }
	.ms-btn-primario { width: 100%; justify-content: center; }
}

/* ---------- v0.5.2 ---------- */
/* Fecho: tudo numa mesma coluna, alinhado à esquerda; WhatsApp como botão (chamada principal da página) */
.ms-closer > * { box-sizing: border-box; width: 100%; max-width: 620px !important; margin-left: auto !important; margin-right: auto !important; }
.ms-closer h3 { max-width: 620px !important; text-wrap: balance; }
.ms-closer p { max-width: 620px !important; }
.ms-closer .wp-block-buttons { margin-top: 26px !important; justify-content: flex-start; }
.ms-closer .wp-block-button.is-style-seta .wp-block-button__link { background: var(--ms-lime); color: var(--wp--preset--color--navy) !important; padding: 15px 22px; border: 0; font-size: 14px; }
.ms-closer .wp-block-button.is-style-seta .wp-block-button__link:hover { background: var(--wp--preset--color--lime-soft); color: var(--wp--preset--color--navy) !important; }
/* Faixa da sede: manter o monograma da recepção no quadro */
.ms-faixa-foto img { object-position: center 38%; }
.ms-faixa-foto picture { display: block; }
/* Contato: formulário + foto da sala de reunião (só no computador) */
.ms-contato-cols { gap: clamp(28px, 4vw, 56px); align-items: flex-start; }
.ms-foto-coluna { margin: 6px 0 0; }
.ms-foto-coluna img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
@media (max-width: 781px) {
	.ms-so-desktop { display: none !important; }
	.ms-closer .wp-block-button, .ms-closer .wp-block-button__link { width: 100%; text-align: center; justify-content: center; }
}

/* ---------- v0.6.0 — e-book como página ---------- */
.ms-progresso { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 1000; pointer-events: none; }
.ms-progresso span { display: block; height: 100%; width: 0; background: var(--ms-lime); transition: width .15s linear; }
.ms-ebook-capa { padding-top: clamp(48px, 8vw, 104px); padding-bottom: clamp(44px, 7vw, 88px); margin-top: 0 !important; }
.ms-ebook-capa > *, .ms-ebook-fecho > * { position: relative; z-index: 1; margin-left: max(0px, calc((100% - 1080px) / 2)) !important; margin-right: auto !important; }
.ms-ebook-capa::after { display: none; }
.ms-ebook-fecho { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; width: 100vw; max-width: 100vw !important; box-sizing: border-box; padding-left: var(--ms-pad); padding-right: var(--ms-pad); }
.ms-ebook-capa > .ms-ebook-num { position: absolute !important; margin: 0 !important; right: max(0px, calc((100% - 1080px) / 2)); bottom: -.18em; z-index: 0 !important; font-family: var(--ms-serif); font-style: italic; font-weight: 300; font-size: clamp(160px, 26vw, 320px); line-height: 1; color: #fff; opacity: .05; pointer-events: none; }
.ms-ebook-serie { font-family: var(--ms-mono); font-size: 9.5px !important; letter-spacing: .24em; text-transform: uppercase; color: rgba(233, 236, 243, .55) !important; margin: 0 0 30px; }
.ms-ebook-titulo { font-size: var(--wp--preset--font-size--display); font-weight: 400; line-height: 1.04; letter-spacing: -.015em; max-width: 14ch; margin: 18px 0 0; color: #fff; }
.ms-ebook-titulo em { color: var(--ms-lime); font-style: italic; }
.ms-ebook-sub { font-style: italic; font-size: clamp(16px, 1.9vw, 19px); line-height: 1.5; max-width: 46ch; margin: 22px 0 0; color: rgba(233, 236, 243, .82) !important; }
.ms-ebook-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 26px; margin: 34px 0 0; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .14); max-width: 560px; font-family: var(--ms-mono); font-size: 10px !important; letter-spacing: .18em; text-transform: uppercase; }
.ms-ebook-meta a { color: var(--ms-lime) !important; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.ms-ebook-meta a::after { content: " ↓"; }

.ms-ebook-corpo { padding-top: clamp(36px, 6vw, 72px); font-size: 16px; line-height: 1.72; }
.ms-ebook-corpo p { max-width: 64ch; }
.ms-ebook-corpo .ms-cap { display: flex; align-items: center; gap: 14px; margin: clamp(56px, 8vw, 96px) 0 0; font-family: var(--ms-mono); font-size: 9.5px; letter-spacing: .24em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ms-ebook-corpo .ms-cap:first-child { margin-top: 0; }
.ms-ebook-corpo .ms-cap strong { background: var(--ms-lime); color: var(--wp--preset--color--navy); font-weight: 500; letter-spacing: .06em; padding: 4px 7px; }
.ms-ebook-corpo .ms-cap::after { content: ""; flex: 1; height: 1px; background: var(--wp--preset--color--rule); }
.ms-ebook-corpo h2.ms-cap-h { counter-set: secao 0; font-size: clamp(27px, 3.6vw, 38px); font-weight: 400; line-height: 1.12; letter-spacing: -.01em; margin: 18px 0 16px; max-width: 18ch; scroll-margin-top: 24px; }
.ms-ebook-corpo h2.ms-cap-h em { font-style: italic; color: var(--wp--preset--color--navy-soft); }
.ms-ebook-corpo h3.is-style-secao { counter-increment: secao; display: flex; align-items: baseline; gap: 12px; font-size: 18px; font-weight: 600; line-height: 1.3; margin: 40px 0 12px; }
.ms-ebook-corpo h3.is-style-secao::before { content: "§ " counter(secao, decimal-leading-zero); font-family: var(--ms-mono); font-size: 11px; font-weight: 400; color: var(--ms-lime); letter-spacing: .06em; flex: none; }
.ms-pull { border-left: 2px solid var(--ms-lime); padding: 2px 0 2px 20px; margin: 30px 0 !important; font-style: italic; font-size: 18.5px; line-height: 1.5; color: var(--wp--preset--color--ink); }
.ms-callout { background: var(--wp--preset--color--paper-2); border-left: 3px solid var(--ms-lime); padding: 20px 24px; margin: 28px 0 !important; max-width: 680px; }
.ms-callout > p { margin: 0; font-size: 15px; line-height: 1.6; }
.ms-callout > p + p { margin-top: 8px; }
.ms-callout .ms-callout-rotulo { font-family: var(--ms-mono); font-size: 9.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin-bottom: 10px; }
ol.ms-decisoes { list-style: none; counter-reset: dec; padding: 0; margin: 0 0 8px; border-top: 1px solid var(--wp--preset--color--rule); max-width: 680px; }
ol.ms-decisoes li { counter-increment: dec; display: flex; align-items: baseline; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--wp--preset--color--rule-soft); font-size: 15px; line-height: 1.4; }
ol.ms-decisoes li::before { content: counter(dec, decimal-leading-zero); font-family: var(--ms-mono); font-size: 10.5px; color: var(--ms-lime); flex: none; width: 22px; }
ol.ms-decisoes li a { flex: 1; color: var(--wp--preset--color--ink); }
ol.ms-decisoes li a:hover { color: var(--wp--preset--color--navy-soft); }
ol.ms-decisoes li code { font-family: var(--ms-mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--muted); background: none; padding: 0; white-space: nowrap; }
.ms-portas table { border-collapse: collapse; width: 100%; font-size: 14.5px; line-height: 1.5; }
.ms-portas td { border: 0; border-top: 1px solid var(--wp--preset--color--rule-soft); padding: 13px 18px 13px 0; vertical-align: top; }
.ms-portas tr:first-child td { border-top-color: var(--wp--preset--color--rule); }
.ms-portas td:first-child { width: 36%; }
.ms-portas td:first-child em { display: block; font-style: normal; font-family: var(--ms-mono); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--lime); filter: brightness(.82); margin-bottom: 4px; }
.ms-portas td:first-child strong { color: var(--wp--preset--color--ink); font-family: var(--ms-sans); font-size: 14px; }
.ms-cta-suave { margin: 44px 0 !important; padding: 18px 0; border-top: 1px solid var(--wp--preset--color--rule); border-bottom: 1px solid var(--wp--preset--color--rule); font-style: italic; font-size: 16.5px; color: var(--wp--preset--color--ink); }
.ms-cta-suave a { font-style: normal; font-family: var(--ms-sans); font-weight: 700; font-size: 13px; white-space: nowrap; border-bottom: 1.5px solid var(--ms-lime); margin-left: 6px; }
.ms-cta-suave a::after { content: " →"; font-family: var(--ms-mono); }
.ms-ebook-fecho { margin-top: clamp(64px, 9vw, 110px) !important; padding-top: clamp(52px, 7vw, 88px); padding-bottom: clamp(44px, 6vw, 72px); }
.ms-ebook-fecho h2 { font-size: clamp(28px, 3.8vw, 40px); font-weight: 400; line-height: 1.12; max-width: 18ch; }
.ms-ebook-fecho h2 em { color: var(--ms-lime); }
.ms-ebook-fecho p { max-width: 64ch; font-size: 15px; }
.ms-ebook-fecho .ms-figures { border-top-color: rgba(255, 255, 255, .14); margin: 30px 0 26px; }
.ms-ebook-fecho .ms-figures > p { color: rgba(233, 236, 243, .6); }
.ms-ebook-fecho .ms-figures > p strong { color: #fff; }
.ms-ebook-fecho .ms-convite { font-style: italic; font-size: 18px; color: #fff !important; margin-top: 26px; }
.ms-ebook-fecho .wp-block-button.is-style-seta .wp-block-button__link { background: var(--ms-lime); color: var(--wp--preset--color--navy) !important; padding: 15px 22px; border: 0; font-size: 14px; }
.ms-ebook-fecho .ms-conduz { margin-top: 34px; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .14); }
.ms-ebook-fecho .ms-pers b { color: #fff; }
.ms-ebook-fecho .ms-pers span span { color: rgba(233, 236, 243, .6); }
.ms-ebook-fecho .ms-aviso { font-family: var(--ms-mono); font-size: 9px !important; letter-spacing: .18em; text-transform: uppercase; color: rgba(233, 236, 243, .45) !important; margin-top: 34px; }
@media (max-width: 781px) {
	.ms-ebook-corpo { font-size: 15.5px; }
	.ms-portas table, .ms-portas tbody, .ms-portas tr, .ms-portas td { display: block; width: 100% !important; }
	.ms-portas td:first-child { padding-bottom: 2px; }
	.ms-portas td + td { border-top: 0; padding-top: 0; }
	.ms-ebook-fecho .wp-block-button, .ms-ebook-fecho .wp-block-button__link { width: 100%; text-align: center; }
	.ms-ebook-fecho .ms-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 18px; }
	.ms-ebook-fecho .ms-figures > p { letter-spacing: .1em; font-size: 8.5px; overflow-wrap: anywhere; }
}
@media print {
	.ms-header, .ms-footer, .ms-wa, .ms-progresso, .ms-cta-suave, .ms-ebook-meta a { display: none !important; }
}

/* Contatos do e-book: botão de WhatsApp por pessoa */
.ms-contatos .ms-pers b a { color: inherit; }
.ms-contato-wa { display: inline-block; margin-top: 8px; font-family: var(--ms-sans); font-size: 11.5px; font-weight: 700; color: var(--ms-lime) !important; border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.ms-contato-wa::after { content: " →"; font-family: var(--ms-mono); }

/* Painel "Enviar este material" (só para o time logado) */
.ms-envio { position: fixed; left: 18px; bottom: 18px; z-index: 900; font-family: var(--ms-sans); max-width: min(340px, calc(100vw - 36px)); }
.ms-envio-abrir { background: var(--wp--preset--color--navy); color: #fff; border: 0; border-bottom: 3px solid var(--ms-lime); padding: 12px 16px; font: 700 13px/1 var(--ms-sans); cursor: pointer; box-shadow: 0 6px 18px rgba(19, 31, 55, .25); }
.ms-envio-abrir::before { content: "↗ "; color: var(--ms-lime); }
.ms-envio-form { margin-top: 10px; background: #fff; border: 1px solid var(--wp--preset--color--rule); border-top: 3px solid var(--ms-lime); padding: 16px; box-shadow: 0 10px 30px rgba(19, 31, 55, .18); }
.ms-envio-form[hidden] { display: none; }
.ms-envio-tit { margin: 0 0 10px; font: 500 9.5px/1 var(--ms-mono); letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ms-envio-form label { display: block; font-size: 11px; font-weight: 700; color: var(--wp--preset--color--ink); margin-bottom: 9px; }
.ms-envio-form input, .ms-envio-form textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 4px; padding: 9px 10px; border: 1px solid var(--wp--preset--color--rule); font: 400 14px/1.3 var(--ms-sans); background: var(--wp--preset--color--paper); }
.ms-envio-wa { width: 100%; margin-top: 4px; padding: 12px; border: 0; background: var(--ms-lime); color: var(--wp--preset--color--navy); font: 700 13px/1 var(--ms-sans); cursor: pointer; }
.ms-envio-link { width: 100%; margin-top: 6px; padding: 9px; border: 1px solid var(--wp--preset--color--rule); background: none; font: 600 12px/1 var(--ms-sans); color: var(--wp--preset--color--ink); cursor: pointer; }
.ms-envio-res { font-size: 12px; margin: 10px 0 0; display: grid; gap: 6px; }
.ms-envio-res button { padding: 7px; border: 1px solid var(--wp--preset--color--navy); background: #fff; font: 700 12px/1 var(--ms-sans); cursor: pointer; }
.ms-envio-nota { font-size: 10.5px; line-height: 1.45; color: var(--wp--preset--color--muted); margin: 10px 0 0; }

/* ---------- v0.7.1 — medida tipográfica (decisão geral) ----------
 * Grade alinhada à esquerda (como os A4 do escritório), com três medidas:
 * títulos longos até ~28 caracteres por linha; aberturas (lede) até ~62; texto corrido em coluna de 720 px, corpo 16 px. */
.ms-sit-title, main > .wp-block-post-title { max-width: 32ch !important; padding-right: 0 !important; text-wrap: balance; margin-left: max(0px, calc((100% - 1080px) / 2)) !important; margin-right: auto !important; }
.ms-lede, .is-style-lede, .ms-prof-top .is-style-lede, .ms-prof-top .wp-block-post-excerpt { max-width: 62ch; }
.is-style-resposta { max-width: 62ch; }
.ms-ebook-corpo h2.ms-cap-h { max-width: 24ch; text-wrap: balance; }
.ms-closer h3 { text-wrap: balance; }
@media (min-width: 782px) {
	.ms-body p, .ms-body li { font-size: 16px; line-height: 1.72; }
	.ms-body .is-style-lede { font-size: 18px; }
	.ms-body .is-style-resposta { font-size: 18px; }
	.ms-fatos dd { font-size: 15px; }
}

/* Pessoas: sócios em cartões largos (foto + resumo), ocupando a linha inteira da grade */
.ms-body > .ms-time-destaque { max-width: 1080px !important; }
.ms-time-destaque { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; margin-bottom: 8px; }
.ms-card--destaque { display: grid; grid-template-columns: minmax(150px, 42%) 1fr; gap: 22px; align-items: start; }
.ms-card--destaque .ms-card-txt { padding-top: 4px; }
.ms-card--destaque b { margin-top: 0; font-size: 20px; font-weight: 500; }
.ms-card--destaque .ms-card-txt span { margin-top: 8px; }
.ms-card--destaque p { font-family: var(--ms-serif); font-size: 14.5px !important; line-height: 1.6; color: var(--wp--preset--color--ink-body); margin: 14px 0 0; }
.ms-card--destaque em { display: inline-block; margin-top: 14px; font-style: normal; font-family: var(--ms-sans); font-weight: 700; font-size: 12px; color: var(--wp--preset--color--ink); border-bottom: 1.5px solid var(--ms-lime); }
.ms-card--destaque em::after { content: " →"; font-family: var(--ms-mono); }
@media (max-width: 781px) {
	.ms-time-destaque { grid-template-columns: 1fr; gap: 26px; }
	.ms-card--destaque { grid-template-columns: 38% 1fr; gap: 16px; }
	.ms-card--destaque b { font-size: 17px; }
	.ms-card--destaque p { display: none; }
}

/* Iniciais no lugar do retrato (quem ainda não tem foto) */
.ms-iniciais, .ms-pers .ms-avatar .ms-iniciais { display: grid; margin: 0; line-height: 1; letter-spacing: .02em; place-items: center; width: 100%; height: 100%; font-family: var(--ms-serif); font-size: 20px; color: var(--wp--preset--color--navy); background: var(--wp--preset--color--paper-2); }
.is-style-navy .ms-iniciais, .ms-ebook-fecho .ms-iniciais { background: rgba(255, 255, 255, .08); color: #fff; }

/* Hub de situações: filtro por área + cartões em duas colunas */
.ms-hub-filtro { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 30px; }
.ms-hub-filtro button { font: 600 12.5px/1 var(--ms-sans); color: var(--wp--preset--color--ink); background: transparent; border: 1px solid var(--wp--preset--color--rule); padding: 9px 13px; cursor: pointer; }
.ms-hub-filtro button span { font: 400 10px/1 var(--ms-mono); color: var(--wp--preset--color--muted); margin-left: 4px; }
.ms-hub-filtro button:hover { border-color: var(--wp--preset--color--navy); }
.ms-hub-filtro button.is-on { background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); color: #fff; }
.ms-hub-filtro button.is-on span { color: var(--ms-lime); }
.ms-hub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; }
.ms-sit--card { padding: 22px 0 !important; border-top: 1px solid var(--wp--preset--color--rule-soft) !important; }
.ms-sit--card[hidden] { display: none; }
.ms-sit--card p { max-height: calc(1.62em * 3); display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 781px) {
	.ms-hub-filtro { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--ms-pad)) 22px; padding: 0 var(--ms-pad) 4px; scrollbar-width: none; }
	.ms-hub-filtro button { flex: none; }
	.ms-hub-grid { grid-template-columns: 1fr; }
}

/* ===== v0.9.0 — sinais, autoteste, diagnóstico, material, inscrição, PDF ===== */
.ms-card-cta { display: inline-block; margin-top: 10px; font-style: normal; font-family: var(--ms-sans); font-weight: 700; font-size: 11.5px; color: var(--wp--preset--color--ink); border-bottom: 1.5px solid var(--ms-lime); opacity: .75; transition: opacity .15s; }
.ms-card:hover .ms-card-cta, .ms-card:focus-visible .ms-card-cta { opacity: 1; }
.ms-card-cta::after { content: " →"; font-family: var(--ms-mono); }

/* Você está nessa situação se… */
.ms-sinais { border-left: 2px solid var(--ms-lime); padding: 4px 0 4px clamp(16px, 2.4vw, 24px); margin: 30px 0 38px; }
.ms-sinais .is-style-eyebrow { margin: 0 0 12px; }
.ms-sinais ul { margin: 0; }
.ms-sinais li { margin-bottom: 8px; color: var(--wp--preset--color--ink); }

/* Autoteste interativo */
.ms-autoteste { border-top: 2px solid var(--ms-lime); border-bottom: 1px solid var(--wp--preset--color--rule); background: var(--wp--preset--color--paper-2); padding: 30px clamp(18px, 3vw, 32px); margin: 34px 0; }
.ms-autoteste h3 { font-size: 19px; font-weight: 600; margin: 6px 0 10px; max-width: 32ch; text-wrap: balance; }
.ms-at-intro { font-size: 14.5px; color: var(--wp--preset--color--ink-body); margin: 0 0 22px; max-width: 62ch; }
.ms-at-lista { list-style: none; counter-reset: at; padding: 0; margin: 0; }
.ms-at-lista > li { counter-increment: at; position: relative; padding: 16px 0 16px 38px; border-top: 1px solid var(--wp--preset--color--rule-soft); }
.ms-at-lista > li::before { content: counter(at); position: absolute; left: 0; top: 14px; font-family: var(--ms-serif); font-style: italic; font-size: 22px; color: var(--ms-lime); line-height: 1; }
.ms-at-lista fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.ms-at-lista legend { font-size: 15px; font-weight: 500; color: var(--wp--preset--color--ink); padding: 0; margin-bottom: 10px; line-height: 1.45; }
.ms-at-opcoes { display: flex; flex-wrap: wrap; gap: 8px; }
.ms-at-opcoes label { cursor: pointer; }
.ms-at-opcoes input { position: absolute; opacity: 0; pointer-events: none; }
.ms-at-opcoes span { display: inline-block; font: 600 12.5px/1 var(--ms-sans); padding: 9px 14px; border: 1px solid var(--wp--preset--color--rule); background: #fff; color: var(--wp--preset--color--ink); transition: background .12s, border-color .12s; }
.ms-at-opcoes input:checked + span { background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); color: #fff; }
.ms-at-opcoes input:focus-visible + span { outline: 2px solid var(--ms-lime); outline-offset: 2px; }
.ms-at-nota { font-size: 13px; color: var(--wp--preset--color--muted); margin: 10px 0 0; max-width: 62ch; }
.ms-at-pendente { font-family: var(--ms-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin: 18px 0 0; }
.ms-at-resultado { border-top: 1px solid var(--wp--preset--color--rule); padding-top: 20px; margin-top: 4px; }
.ms-at-medidor { height: 6px; background: var(--wp--preset--color--rule-soft); margin-bottom: 14px; }
.ms-at-medidor span { display: block; height: 100%; width: 0; background: var(--ms-lime); transition: width .4s; }
.ms-at-resultado[data-nivel="2"] .ms-at-medidor span { background: var(--wp--preset--color--navy); }
.ms-at-faixa { font-size: 16px; color: var(--wp--preset--color--ink); margin: 0 0 6px; }
.ms-at-texto { font-size: 14.5px; margin: 0 0 10px; max-width: 62ch; }
.ms-at-ressalva { font-size: 12px; font-style: italic; color: var(--wp--preset--color--muted); margin: 0 0 16px; }

/* Diagnóstico externo e material do site */
.ms-diagnostico { border: 1px solid var(--wp--preset--color--rule); border-top: 3px solid var(--ms-lime); background: #fff; padding: 26px clamp(18px, 3vw, 30px); margin: 34px 0; }
.ms-diagnostico h3 { font-size: 19px; font-weight: 600; margin: 6px 0 8px; max-width: 32ch; }
.ms-diagnostico p { max-width: 62ch; }
.ms-diagnostico-nota { font-size: 12px; color: var(--wp--preset--color--muted); margin: 10px 0 0; }
.ms-material { display: grid; gap: 6px; border: 1px solid var(--wp--preset--color--rule); border-left: 3px solid var(--ms-lime); background: var(--wp--preset--color--paper-2); padding: 20px clamp(18px, 3vw, 26px); margin: 34px 0; color: inherit; text-decoration: none; }
.ms-material-rot { font-family: var(--ms-mono); font-size: 9.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ms-material b { font-family: var(--ms-serif); font-weight: 600; font-size: 19px; color: var(--wp--preset--color--ink); }
.ms-material-txt { font-size: 14px; color: var(--wp--preset--color--ink-body); max-width: 62ch; }
.ms-material em { justify-self: start; margin-top: 6px; font-style: normal; font: 700 12.5px/1.4 var(--ms-sans); color: var(--wp--preset--color--ink); border-bottom: 1.5px solid var(--ms-lime); }
.ms-material em::after { content: " →"; font-family: var(--ms-mono); }
.ms-material:hover { background: #fff; }

/* Inscrição (Ligando os Pontos) */
.ms-inscricao { border-top: 2px solid var(--ms-lime); padding-top: 26px; margin: 48px 0 10px; max-width: 760px; }
.ms-inscricao h3 { font-size: clamp(20px, 2.4vw, 24px); font-weight: 600; margin: 6px 0 8px; max-width: 32ch; }
.ms-inscricao-cab p:last-child { max-width: 62ch; color: var(--wp--preset--color--ink-body); }
.ms-inscricao-form { display: grid; gap: 20px; margin-top: 18px; font-family: var(--ms-sans); }
.ms-temas { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; min-width: 0; }
.ms-temas legend { font-family: var(--ms-mono); font-size: 9.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin-bottom: 10px; padding: 0; }
.ms-tema { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--wp--preset--color--rule-soft); background: #fff; padding: 11px 12px; cursor: pointer; }
.ms-tema input { accent-color: #1a2b4b; margin-top: 3px; flex: none; }
.ms-tema b { display: block; font-size: 13.5px; font-weight: 600; color: var(--wp--preset--color--ink); }
.ms-tema small { display: block; font-size: 12px; color: var(--wp--preset--color--muted); line-height: 1.45; margin-top: 2px; }
.ms-tema:has(input:checked) { border-color: var(--wp--preset--color--navy); box-shadow: inset 3px 0 0 var(--ms-lime); }
.ms-inscricao-campos { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px 18px; }
.ms-inscricao-campos i { font-style: normal; text-transform: none; letter-spacing: 0; }
.ms-inscricao-form input[type=text], .ms-inscricao-form input[type=email] { border: 0; border-bottom: 1px solid var(--wp--preset--color--rule); background: transparent; padding: 8px 0; font: 15px var(--ms-sans); color: var(--wp--preset--color--ink); border-radius: 0; }
.ms-inscricao-form :is(input[type=text], input[type=email]):focus { outline: none; border-color: var(--ms-lime); box-shadow: 0 1px 0 var(--ms-lime); }
.ms-inscricao-form button.wp-block-button__link { background: none; border: 0; border-bottom: 2px solid var(--ms-lime); padding: 0 0 4px; cursor: pointer; font: 700 13px var(--ms-sans); color: var(--wp--preset--color--ink); }
.ms-inscricao-form button.wp-block-button__link::after { content: " →"; font-family: var(--ms-mono); }
@media (max-width: 700px) {
	.ms-temas, .ms-inscricao-campos { grid-template-columns: 1fr; }
}

/* E-book: download no fim e semáforo */
.ms-ebook-pdf { border-top: 1px solid var(--wp--preset--color--rule); padding-top: 18px; margin: 34px 0 10px; }
.ms-ebook-pdf p { font-size: 14px; color: var(--wp--preset--color--muted); margin: 0; }
.ms-semaforo tr:nth-child(1) td:first-child em { color: #3f7d3a; }
.ms-semaforo tr:nth-child(2) td:first-child em { color: #a07a00; }
.ms-semaforo tr:nth-child(3) td:first-child em { color: #a33a2a; }
@media (max-width: 700px) {
	.ms-tema { padding: 10px 12px; }
	.ms-tema small { display: none; }
	.ms-tema:has(input:checked) small { display: block; }
}

/* ===== v0.11.1 — corpo levemente maior em telas de computador (≥ 1100 px) =====
 * Metade do aumento testado na v0.10 (que ficou grande demais). O celular não muda. */
@media (min-width: 1100px) {
	:root {
		--wp--preset--font-size--small: 14px;
		--wp--preset--font-size--medium: 15.5px;
		--wp--preset--font-size--large: 17.5px;
	}
	.ms-header .wp-block-navigation { font-size: 14.5px; gap: 30px; }
	.ms-eyebrow, .is-style-eyebrow { font-size: 10px !important; }
	.ms-lede, .is-style-lede { font-size: 17px; }
	.ms-body p, .ms-body li { font-size: 16.5px; }
	.ms-body .is-style-lede, .ms-body .is-style-resposta { font-size: 18.5px; }
	.ms-sit-v { font-size: 9.5px; }
	.ms-sit p, .ms-fork p:not(.ms-eyebrow):not(.is-style-eyebrow) { font-size: 14px; }
	.ms-stream .wp-block-post-title { font-size: 16px; }
	.ms-faq summary { font-size: 15.5px; }
	.ms-faq .wp-block-details p { font-size: 14.5px; }
	.ms-card b { font-size: 16.5px; }
	.ms-fatos dd { font-size: 15.5px; }
	.ms-ebook-corpo { font-size: 16.5px; }
	.ms-portas table { font-size: 15px; }
	.ms-callout > p { font-size: 15.5px; }
	.ms-at-lista legend { font-size: 15.5px; }
	.ms-at-intro, .ms-at-nota, .ms-at-texto { font-size: 15px; }
	.ms-hub-filtro button { font-size: 13px; }
}

/* Menu "Situações" com as áreas (submenu do cabeçalho) */
.ms-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--paper) !important; border: 1px solid var(--wp--preset--color--rule) !important;
	border-top: 2px solid var(--ms-lime) !important; padding: 8px 0 !important; min-width: 230px !important; box-shadow: 0 10px 28px rgba(26, 43, 75, .10);
}
.ms-header .wp-block-navigation .wp-block-navigation__submenu-container a { padding: 8px 18px !important; font-weight: 500; color: var(--wp--preset--color--ink-body); }
.ms-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover { color: var(--wp--preset--color--ink); background: var(--wp--preset--color--paper-2); }
.ms-header .wp-block-navigation .wp-block-navigation__submenu-container .ms-sub-todas a { font-weight: 700; color: var(--wp--preset--color--ink); border-bottom: 1px solid var(--wp--preset--color--rule-soft); margin-bottom: 4px; }
.ms-header .wp-block-navigation-submenu__toggle { padding-left: 4px; }

/* Hub no celular: menu suspenso com todas as áreas (os botões rolando escondiam parte delas) */
.ms-hub-select { display: none; }
@media (max-width: 700px) {
	.ms-hub-filtro { display: none; }
	.ms-hub-select { display: flex; flex-direction: column; gap: 7px; margin: 0 0 22px; font-family: var(--ms-sans); }
	.ms-hub-select span { font-family: var(--ms-mono); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
	.ms-hub-select select {
		appearance: none; -webkit-appearance: none; width: 100%; font: 600 15px/1.2 var(--ms-sans); color: var(--wp--preset--color--ink);
		background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231a2b4b' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;
		border: 1px solid var(--wp--preset--color--navy); border-left: 3px solid var(--ms-lime); padding: 13px 40px 13px 14px; border-radius: 0;
	}
}
.ms-header .wp-block-navigation.items-justified-right .has-child > .wp-block-navigation__submenu-container { left: -18px !important; right: auto !important; }

/* Autoteste: pedido opcional de análise por um especialista */
.ms-at-pedido { border-top: 1px solid var(--wp--preset--color--rule); margin-top: 22px; padding-top: 18px; display: grid; gap: 14px; font-family: var(--ms-sans); }
.ms-at-pedido-tit { font-family: var(--ms-serif); font-size: 17px; font-weight: 600; color: var(--wp--preset--color--ink); margin: 0; }
.ms-at-pedido-txt { font-family: var(--ms-serif); font-size: 14.5px; margin: -6px 0 0; max-width: 62ch; }
.ms-at-pedido-campos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 18px; }
.ms-at-pedido-campos i { font-style: normal; text-transform: none; letter-spacing: 0; }
.ms-at-pedido input[type=text] { border: 0; border-bottom: 1px solid var(--wp--preset--color--rule); background: transparent; padding: 8px 0; font: 15px var(--ms-sans); color: var(--wp--preset--color--ink); border-radius: 0; }
.ms-at-pedido input[type=text]:focus { outline: none; border-color: var(--ms-lime); box-shadow: 0 1px 0 var(--ms-lime); }
.ms-at-pedido button.wp-block-button__link { background: none; border: 0; border-bottom: 2px solid var(--ms-lime); padding: 0 0 4px; cursor: pointer; font: 700 13px var(--ms-sans); color: var(--wp--preset--color--ink); }
.ms-at-pedido button.wp-block-button__link::after { content: " →"; font-family: var(--ms-mono); }
.ms-at-pedido button:disabled { opacity: .5; }
.ms-at-pedido-res { font-size: 13px; color: #a33a2a; margin: 0; }
@media (max-width: 700px) { .ms-at-pedido-campos { grid-template-columns: 1fr; } }

/* ===== Faixa de números da home: colunas iguais com divisória, rótulo legível, cadência centralizada, monograma limão ===== */
.ms-numeros .ms-figures { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0 !important; }
.ms-numeros .ms-figures > p { padding: 4px clamp(14px, 2.4vw, 30px) 4px; border-left: 1px solid rgba(233, 236, 243, .14); font-size: 10.5px; letter-spacing: .18em; line-height: 1.6; color: rgba(233, 236, 243, .74) !important; }
.ms-numeros .ms-figures > p:first-child { border-left: 0; padding-left: 0; }
.ms-numeros .ms-figures > p strong { font-size: clamp(34px, 4.2vw, 50px); margin-bottom: 12px; }
.ms-numeros .ms-cadence { justify-content: center; margin-top: 46px; padding-top: 26px; border-top: 1px solid rgba(233, 236, 243, .14); font-size: 10.5px; }
.ms-numeros.is-style-navy::after {
	right: -4%; top: 50%; bottom: auto; transform: translateY(-50%); width: 260px; height: 140%; opacity: .07; filter: none;
	background: var(--ms-lime); -webkit-mask: url("../img/monograma.svg") no-repeat center / contain; mask: url("../img/monograma.svg") no-repeat center / contain;
}
@media (max-width: 781px) {
	.ms-numeros .ms-figures { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 26px !important; }
	.ms-numeros .ms-figures > p:nth-child(3) { border-left: 0; padding-left: 0; }
	.ms-numeros .ms-figures > p { font-size: 9.5px; letter-spacing: .14em; }
	.ms-numeros .ms-cadence { gap: 10px; font-size: 9.5px; letter-spacing: .18em; }
	.ms-numeros.is-style-navy::after { width: 170px; right: -14%; opacity: .06; }
}

/* ===== Estante de e-books (Ligando os Pontos) ===== */
.ms-estante { margin: 8px 0 44px; }
.ms-estante-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.ms-estante-cab h2 { font-size: clamp(20px, 2.4vw, 24px); margin: 6px 0 0; }
.ms-estante-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.ms-livro { display: grid; gap: 8px; color: inherit; align-content: start; }
.ms-livro img { width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; display: block; border-bottom: 3px solid var(--ms-lime); }
.ms-livro .ms-sit-v { margin-top: 6px; }
.ms-livro b { font-family: var(--ms-serif); font-weight: 500; font-size: 18px; line-height: 1.3; color: var(--wp--preset--color--ink); }
.ms-livro span.ms-livro-txt { font-family: var(--ms-sans); font-size: 13.5px; line-height: 1.6; color: var(--wp--preset--color--ink-body); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ms-livro em { font-style: normal; font: 700 12px/1.4 var(--ms-sans); color: var(--wp--preset--color--ink); justify-self: start; border-bottom: 1.5px solid var(--ms-lime); }
.ms-livro:hover b { color: var(--wp--preset--color--navy-soft); }
@media (max-width: 900px) { .ms-estante-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ms-estante-grade { grid-template-columns: 1fr; } }
.ms-livro img { height: auto !important; }
/* Leituras: abertura e inscrição alinhadas à esquerda da grade (como o título), não centralizadas */
main.ms-section > :is(.is-style-lede, .ms-inscricao) { margin-left: max(0px, calc((100% - 1080px) / 2)) !important; margin-right: auto !important; }
@media (max-width: 781px) { .ms-numeros.is-style-navy::after { opacity: .04; } }
main.ms-section > .is-style-lede { margin-bottom: 34px !important; }

/* ===== v0.12 ===== */
/* Fecho azul das páginas: respiro antes do rodapé (os dois azuis estavam colados) */
.ms-closer { margin-bottom: clamp(56px, 7vw, 96px) !important; }

/* Abertura das situações (bloco com filete): mais leve de ler — fundo suave, entrelinha maior, corpo menor */
.is-style-resposta, .ms-body .is-style-resposta {
	background: var(--wp--preset--color--paper-2); border-left: 3px solid var(--ms-lime);
	padding: 20px 26px 22px !important; max-width: 60ch !important;
	font-size: 16.5px !important; line-height: 1.62 !important; color: var(--wp--preset--color--ink-body);
}
@media (min-width: 1100px) { .ms-body .is-style-resposta { font-size: 17px !important; } }
@media (max-width: 600px) { .is-style-resposta, .ms-body .is-style-resposta { padding: 16px 18px !important; font-size: 15.5px !important; } }

/* Tabelas das páginas legais */
.ms-tabela table { border-collapse: collapse; width: 100%; font-family: var(--ms-sans); font-size: 14px; line-height: 1.55; }
.ms-tabela th { text-align: left; font-family: var(--ms-mono); font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); font-weight: 400; padding: 0 14px 10px 0; border-bottom: 1px solid var(--wp--preset--color--rule); }
.ms-tabela td { vertical-align: top; padding: 12px 14px 12px 0; border-bottom: 1px solid var(--wp--preset--color--rule-soft); }
.ms-tabela td:first-child { width: 36%; color: var(--wp--preset--color--ink); font-weight: 600; }
@media (max-width: 600px) { .ms-tabela td, .ms-tabela th { display: block; width: auto !important; padding-right: 0; } .ms-tabela thead { display: none; } .ms-tabela td:first-child { border-bottom: 0; padding-bottom: 2px; } }

/* Aviso de cookies */
.ms-cookies { position: fixed; left: 16px; right: 16px; bottom: 20px; z-index: 9999; max-width: 680px; margin: 0 auto; background: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--rule); border-top: 4px solid var(--ms-lime); box-shadow: 0 18px 48px rgba(26, 43, 75, .22); padding: 22px 26px; display: flex; gap: 22px; align-items: center; font-family: var(--ms-sans); }
.ms-cookies[hidden] { display: none; }
.ms-cookies p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--wp--preset--color--ink-body); }
.ms-cookies p.ms-cookies-titulo { font-size: 16px; font-weight: 700; color: var(--wp--preset--color--ink); margin-bottom: 4px; }
.ms-cookies a { border-bottom: 1px solid var(--ms-lime); }
.ms-cookies-acoes { display: flex; gap: 10px; flex: none; }
.ms-cookies button { font: 700 14px/1 var(--ms-sans); padding: 13px 22px; border: 1px solid var(--wp--preset--color--navy); background: transparent; color: var(--wp--preset--color--navy); cursor: pointer; }
.ms-cookies .ms-cookies-sim { background: var(--wp--preset--color--navy); color: #fff; padding: 13px 30px; }
.ms-cookies-acoes { flex-direction: column; align-items: center; }
.ms-cookies .ms-cookies-nao { border: 0; padding: 4px 6px; font-weight: 500; font-size: 13px; color: var(--wp--preset--color--ink-body); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) { .ms-cookies { flex-direction: column; align-items: stretch; } .ms-cookies-acoes { align-items: stretch; } }
.wp-block-table.ms-tabela :is(td, th) { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; }
.wp-block-table.ms-tabela thead { border-bottom: 0 !important; }
.wp-block-table.ms-tabela table { border: 0 !important; }

/* ---------- v0.13: herói com a aquarela da sede ---------- */
.ms-hero--aquarela { display: flex; flex-direction: column; justify-content: center; min-height: clamp(440px, 42vw, 620px); overflow-x: visible; overflow-y: clip; }
.ms-hero--aquarela > :not(.ms-aquarela) { position: relative; z-index: 1; }
.ms-hero--aquarela h1 { max-width: 13ch; }
.ms-hero--aquarela .is-style-lede { max-width: 40ch; }
.ms-aquarela { position: absolute; z-index: 0; top: 0; bottom: 0; left: 36%; right: min(-4%, calc((1080px - 100vw) / 2)); margin: 0; pointer-events: none; /* ancorada na coluna de conteúdo: em tela larga cresce para a direita, sem abrir vão junto ao texto */
	-webkit-mask-image: linear-gradient(to left, #000 45%, rgba(0,0,0,.45) 68%, transparent 92%), linear-gradient(to bottom, transparent 0, #000 14%);
	mask-image: linear-gradient(to left, #000 45%, rgba(0,0,0,.45) 68%, transparent 92%), linear-gradient(to bottom, transparent 0, #000 14%);
	-webkit-mask-composite: source-in; mask-composite: intersect; }
.ms-aquarela img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 70% 62%; mix-blend-mode: multiply; opacity: .92; }
@media (max-width: 781px) {
	.ms-hero--aquarela { min-height: 0; padding-bottom: 0 !important; }
	.ms-hero--aquarela h1 { max-width: none; }
	.ms-aquarela { order: 9; position: relative; inset: auto; width: calc(100% + 32px); margin: 18px -16px 0; aspect-ratio: 3 / 2;
		-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 22%); mask-image: linear-gradient(to bottom, transparent 0, #000 22%); }
	.ms-aquarela img { opacity: 1; object-position: 60% 50%; }
}

/* selo de 15 anos no rodapé */
.ms-footer .ms-logo-foot:has(.ms-logo-15) { width: 250px; }
@media (max-width: 781px) { .ms-footer .ms-logo-foot:has(.ms-logo-15) { width: 200px; } }

/* acervo do site anterior */
.ms-acervo-nota { font-family: var(--ms-mono); font-size: 10.5px !important; letter-spacing: .06em; line-height: 1.7 !important; color: var(--wp--preset--color--muted); border-left: 2px solid var(--ms-lime); padding: 2px 0 2px 14px; margin-bottom: 2em !important; }
.ms-acervo-situacao { margin-top: 3em !important; padding-top: 18px; border-top: 1px solid var(--wp--preset--color--rule-soft); }
.ms-acervo-situacao span { display: block; font-family: var(--ms-mono); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin-bottom: 6px; }
.ms-acervo-situacao a { font-family: var(--wp--preset--font-family--serif, inherit); font-size: 19px; color: var(--wp--preset--color--navy); text-decoration: none; border-bottom: 1px solid var(--ms-lime); }
.ms-nota-fontes { margin-top: 1.6em !important; font-family: var(--ms-mono); font-size: 10.5px !important; letter-spacing: .04em; line-height: 1.7 !important; color: var(--wp--preset--color--muted); }
.ms-nota-fontes span { display: block; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 4px; }

/* ---------- v0.15: formulários mais visíveis (campos em areia, botão sólido) ---------- */
:is(.ms-form, .ms-inscricao-form, .ms-at-pedido) :is(input[type=text], input[type=tel], input[type=email], select, textarea) {
	background: var(--wp--preset--color--paper-2) !important; border: 1px solid var(--wp--preset--color--rule) !important; border-radius: 0;
	padding: 11px 14px !important; font-size: 15px; color: var(--wp--preset--color--ink); box-shadow: none; transition: border-color .15s, background .15s;
}
:is(.ms-form, .ms-inscricao-form, .ms-at-pedido) select:not([multiple]) { appearance: none; -webkit-appearance: none; padding-right: 38px !important;
	background-image: linear-gradient(45deg, transparent 50%, #1a2b4b 50%), linear-gradient(135deg, #1a2b4b 50%, transparent 50%) !important;
	background-position: calc(100% - 19px) 52%, calc(100% - 14px) 52% !important; background-size: 5px 5px, 5px 5px !important; background-repeat: no-repeat !important; }
:is(.ms-form, .ms-inscricao-form, .ms-at-pedido) :is(input, select, textarea)::placeholder { color: #8d8a80; }
:is(.ms-form, .ms-inscricao-form, .ms-at-pedido) :is(input[type=text], input[type=tel], input[type=email], select, textarea):hover { border-color: #b9b4a4 !important; }
:is(.ms-form, .ms-inscricao-form, .ms-at-pedido) :is(input[type=text], input[type=tel], input[type=email], select, textarea):focus {
	outline: none; background: #fbf9f3 !important; border-color: var(--wp--preset--color--navy) !important; box-shadow: inset 0 -2px 0 var(--ms-lime) !important; }
:is(.ms-form, .ms-inscricao-form, .ms-at-pedido) input[type=checkbox] { width: 17px; height: 17px; accent-color: #1a2b4b; flex: none; }
:is(.ms-form, .ms-inscricao-form, .ms-at-pedido) :is(button, button.wp-block-button__link) {
	background: var(--wp--preset--color--navy) !important; color: #fff !important; border: 0 !important; border-radius: 0;
	padding: 13px 22px !important; font: 700 13px/1 var(--ms-sans) !important; letter-spacing: .02em; cursor: pointer;
	display: inline-flex; align-items: center; gap: 10px; transition: background .15s; }
:is(.ms-form, .ms-inscricao-form, .ms-at-pedido) :is(button, button.wp-block-button__link)::after { content: "→"; font-family: var(--ms-mono); color: var(--ms-lime); }
:is(.ms-form, .ms-inscricao-form, .ms-at-pedido) :is(button, button.wp-block-button__link):hover { background: #243a62 !important; }
:is(.ms-form, .ms-inscricao-form, .ms-at-pedido) button[disabled] { opacity: .6; cursor: wait; }

/* ---------- v0.15: Leituras em índice editorial ---------- */
.ms-stream .wp-block-post-template > li { margin-block-start: 0 !important; }
.ms-indice .wp-block-post-terms a:nth-of-type(n+2), .ms-indice .wp-block-post-terms__separator { display: none; }
.ms-indice .wp-block-post-template { display: block !important; margin: 0; padding: 0; }
.ms-indice .wp-block-post { display: grid; grid-template-columns: 150px minmax(0, 1fr) 64px; column-gap: 36px; align-items: start; padding: 24px 0; border-top: 1px solid var(--wp--preset--color--rule-soft); }
.ms-indice .wp-block-post:last-child { border-bottom: 1px solid var(--wp--preset--color--rule-soft); }
.ms-indice .ms-meta { grid-column: 1; grid-row: 1 / span 2; flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; column-gap: 9px !important; row-gap: 7px !important; margin: 5px 0 0 !important; }
.ms-indice .ms-meta .wp-block-post-date { flex-basis: 100%; padding-left: 14px; }
.ms-indice .wp-block-post-title { grid-column: 2; font-size: 19px !important; font-weight: 500; line-height: 1.3 !important; margin: 0 0 7px !important; }
.ms-indice .wp-block-post-title a { text-decoration: none; }
.ms-indice .wp-block-post-title a:hover { text-decoration: underline; text-decoration-color: var(--ms-lime); text-underline-offset: 4px; }
.ms-indice .wp-block-post-excerpt { grid-column: 2; margin: 0; }
.ms-indice .wp-block-post-excerpt__excerpt { font-family: var(--ms-sans); font-size: 14px; line-height: 1.55; color: var(--wp--preset--color--muted); margin: 0; max-width: 66ch; hyphens: none;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ms-indice .wp-block-post-excerpt__more-text { display: none; }
.ms-indice .wp-block-post::after { content: "Ler →"; grid-column: 3; grid-row: 1; margin-top: 6px; font-family: var(--ms-mono); font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--navy); text-align: right; }
/* destaque: a nota mais recente, só na primeira página de Leituras */
body:not(.paged) .ms-indice--destaque .wp-block-post:first-child { padding: 30px 0 34px; border-top: 2px solid var(--ms-lime); }
body:not(.paged) .ms-indice--destaque .wp-block-post:first-child .wp-block-post-title { font-size: clamp(22px, 2.4vw, 28px) !important; margin-bottom: 10px !important; }
body:not(.paged) .ms-indice--destaque .wp-block-post:first-child .wp-block-post-excerpt__excerpt { font-size: 15px; -webkit-line-clamp: 3; }
@media (max-width: 781px) {
	.ms-indice .wp-block-post { grid-template-columns: 1fr; row-gap: 6px; padding: 20px 0; }
	.ms-indice .ms-meta { grid-row: auto; flex-wrap: nowrap !important; margin: 0 !important; }
	.ms-indice .ms-meta .wp-block-post-date { flex-basis: auto; padding-left: 0; }
	.ms-indice .wp-block-post-title, .ms-indice .wp-block-post-excerpt { grid-column: 1; }
	.ms-indice .wp-block-post::after { display: none; }
}
/* acervo compacto */
.ms-acervo { margin-top: clamp(48px, 6vw, 72px); }
.ms-acervo-tit { font-size: 20px !important; margin: 6px 0 6px !important; }
.ms-acervo-intro { font-family: var(--ms-sans); font-size: 13.5px; color: var(--wp--preset--color--muted); margin: 0 0 18px; max-width: 62ch; }
.ms-acervo-lista { list-style: none; margin: 0; padding: 0; }
.ms-acervo-lista li { display: grid; grid-template-columns: 210px minmax(0, 1fr); column-gap: 36px; padding: 12px 0; border-top: 1px solid var(--wp--preset--color--rule-soft); align-items: baseline; }
.ms-acervo-lista li:last-child { border-bottom: 1px solid var(--wp--preset--color--rule-soft); }
.ms-acervo-meta { font-family: var(--ms-mono); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.ms-acervo-lista a { font-family: var(--ms-serif); font-size: 15.5px; color: var(--wp--preset--color--navy); text-decoration: none; line-height: 1.4; }
.ms-acervo-lista a:hover { text-decoration: underline; text-decoration-color: var(--ms-lime); text-underline-offset: 4px; }
@media (max-width: 781px) { .ms-acervo-lista li { grid-template-columns: 1fr; row-gap: 4px; } }
