/* ==========================================================================
   AVM Psicologia · estilos da landing, posts e páginas
   Mobile-first. Cores e fontes vêm do Customizer (variáveis em :root).
   ========================================================================== */

:root {
	--c-bg: #FFFDF9;
	--c-mist: #EEF2F5;
	--c-ink: #1E3F5A;
	--c-blue: #8FA9BF;
	--c-peach: #F2C7A5;
	--c-gold: #E9C98B;
	--c-text: #2B2F33;
	--c-muted: #56616B;
	--c-white: #fff;
	--f-head: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--f-body: "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
	--grad: linear-gradient(120deg, var(--c-peach) 0%, var(--c-gold) 100%);
	--shadow: 0 30px 60px -30px rgba(30, 63, 90, .25), 0 8px 22px -12px rgba(30, 63, 90, .12);
	--shadow-soft: 0 18px 40px -24px rgba(30, 63, 90, .22);
	--radius: 24px;
	--gutter: 20px;
	--maxw: 1180px;
	--screen-top: 2.5%;
	--screen-side: 6%;
	--screen-bottom: 2.5%;
	--screen-radius: 9%;
}

/* Base ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 24px; }
body {
	margin: 0;
	background: var(--c-bg);
	color: var(--c-text);
	font-family: var(--f-body);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
@media (min-width: 1200px) { body { font-size: 18px; } }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--c-ink); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--c-text); }
p { margin: 0 0 1em; }
h1, h2, h3 { font-family: var(--f-head); font-weight: 500; line-height: 1.12; margin: 0 0 .5em; color: var(--c-text); letter-spacing: -.005em; }
em { font-style: italic; }
h1 em, h2 em, h3 em, .sec-title em { color: var(--c-ink); font-weight: 600; }
ul, ol { margin: 0; padding: 0; list-style: none; }
blockquote { margin: 0; }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 3px solid var(--c-ink); outline-offset: 3px; border-radius: 6px; }

.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); position: relative; z-index: 3; }
.container--narrow { max-width: 780px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 12px; top: -80px; z-index: 100; background: var(--c-ink); color: #fff; padding: 12px 18px; border-radius: 10px; transition: top .3s var(--ease); }
.skip-link:focus { top: 12px; color: #fff; }

.landing { overflow-x: clip; position: relative; }
@supports not (overflow: clip) { .landing { overflow-x: hidden; } }

.card { background: var(--c-white); border-radius: var(--radius); box-shadow: var(--shadow); }

.demo-banner { background: var(--c-ink); color: #fff; text-align: center; font-size: 17px; padding: 8px 16px; position: relative; z-index: 60; }

/* Botões ----------------------------------------------------------------- */
.btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 54px;
	padding: 0 32px;
	border: 0;
	border-radius: 999px;
	background: var(--grad);
	color: var(--c-ink);
	font-family: var(--f-body);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .02em;
	text-decoration: none;
	text-align: center;
	line-height: 1.2;
	overflow: hidden;
	isolation: isolate;
	box-shadow: 0 14px 30px -14px rgba(214, 160, 110, .9), inset 0 1px 0 rgba(255, 255, 255, .55);
	transition: transform .6s var(--ease), box-shadow .6s var(--ease);
}
.btn > span { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 10px; }
.btn::after {
	content: "";
	position: absolute;
	top: 0; bottom: 0; left: 0;
	width: 55%;
	background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.75) 50%, rgba(255,255,255,0) 100%);
	transform: translateX(-120%) skewX(-18deg);
	pointer-events: none;
}
.btn:hover, .btn:focus-visible { color: var(--c-ink); transform: translateY(-2px); box-shadow: 0 20px 36px -16px rgba(214, 160, 110, .95), inset 0 1px 0 rgba(255, 255, 255, .55); }
.btn:hover::after, .btn:focus-visible::after { animation: avm-shine .8s var(--ease); }
@keyframes avm-shine { from { transform: translateX(-120%) skewX(-18deg); } to { transform: translateX(260%) skewX(-18deg); } }
.btn--sm { min-height: 48px; padding: 0 24px; }
.btn--ghost { background: var(--c-white); box-shadow: inset 0 0 0 1px var(--c-blue); }
.btn--ghost:hover, .btn--ghost:focus-visible { box-shadow: inset 0 0 0 1px var(--c-ink), 0 14px 28px -18px rgba(30,63,90,.4); }
.btn .ico { width: 20px; height: 20px; }

.arrow {
	display: inline-grid;
	place-items: center;
	width: 52px; height: 52px;
	border-radius: 50%;
	border: 1px solid rgba(143, 169, 191, .7);
	background: var(--c-white);
	color: var(--c-ink);
	transition: transform .5s var(--ease), background .5s var(--ease), opacity .3s;
}
.arrow:hover { transform: scale(1.06); }
.arrow:disabled { opacity: .35; cursor: default; transform: none; }
.arrow--peach { background: var(--grad); border: 0; box-shadow: 0 10px 22px -12px rgba(214,160,110,.9); }
.arrow .ico { width: 22px; height: 22px; }
.carousel-nav { display: flex; gap: 12px; flex-shrink: 0; }

.ico { width: 24px; height: 24px; flex-shrink: 0; }

/* Títulos de seção ------------------------------------------------------- */
.sec { position: relative; padding: clamp(72px, 10vw, 140px) 0; }
.sec-title { font-size: clamp(36px, 5vw, 58px); margin-bottom: .55em; }
.sec-title--center { text-align: center; }
.sec-lead { font-size: 17px; color: var(--c-muted); max-width: 560px; }
.sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 24px; }
.sec-head .sec-title { margin-bottom: .2em; }

/* Header ----------------------------------------------------------------- */
.site-header { position: relative; z-index: 20; padding: 18px 0; }
.site-header--over { position: absolute; top: 0; left: 0; right: 0; }
.site-header__row { display: flex; align-items: center; gap: 20px; }
.site-header__brand { flex: 1 1 auto; min-width: 0; }
.logo { display: inline-flex; align-items: center; gap: 16px; text-decoration: none; color: var(--c-text); }
.logo__name { font-family: var(--f-head); font-size: 30px; font-weight: 600; line-height: 1; color: var(--c-ink); white-space: nowrap; }
.logo__line { display: none; font-size: 17px; line-height: 1.3; color: var(--c-muted); padding-left: 16px; border-left: 1px solid rgba(143, 169, 191, .6); max-width: 310px; }
.site-footer .logo__line { max-width: 480px; }
.nav { display: none; }
.nav__list { display: flex; gap: 24px; white-space: nowrap; }
.nav__list a { position: relative; color: var(--c-text); text-decoration: none; font-size: 17px; padding: 6px 0; }
.nav__list a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--c-ink); transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ease); }
.nav__list a:hover::after, .nav__list a:focus-visible::after { transform: scaleX(1); }
.site-header__actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.icon-link { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: var(--c-ink); border: 1px solid rgba(143, 169, 191, .55); background: rgba(255,255,255,.55); transition: background .4s var(--ease), transform .4s var(--ease); }
.icon-link:hover { background: #fff; transform: translateY(-1px); color: var(--c-ink); }
.site-header__cta { display: none; }
@media (min-width: 640px) { .site-header__cta { display: inline-flex; } }
@media (min-width: 1024px) { .logo__line { display: block; } }
@media (min-width: 1500px) { .nav { display: block; } .site-header .container { max-width: 1400px; } }

/* Imagens e placeholders -------------------------------------------------- */
.img { width: 100%; }
.img--portrait.is-opaque {
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 15%, #000 85%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 7%, #000 74%, transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 15%, #000 85%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 7%, #000 74%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-composite: intersect;
}
.img--object.is-opaque { -webkit-mask-image: radial-gradient(circle at 50% 52%, #000 40%, transparent 70%); mask-image: radial-gradient(circle at 50% 52%, #000 40%, transparent 70%); }
.img--icon.is-opaque { border-radius: 50%; aspect-ratio: 1; object-fit: cover; box-shadow: 0 0 0 4px #fff, 0 10px 20px -10px rgba(30,63,90,.35); }

.ph {
	display: grid;
	place-items: center;
	align-content: center;
	gap: 10px;
	width: 100%;
	padding: 12px;
	color: var(--c-blue);
	background: linear-gradient(160deg, #FFFDF9 0%, #EEF2F5 100%);
	border: 1px dashed rgba(143, 169, 191, .7);
	border-radius: 16px;
	text-align: center;
}
.ph .ico { width: 34px; height: 34px; }
.ph__name { font-size: 13px; line-height: 1.3; color: var(--c-muted); word-break: break-all; }
.ph--portrait { background: linear-gradient(180deg, rgba(238,242,245,.7), rgba(255,253,249,0)); border-style: dashed; }
.ph__silhouette { width: 46%; max-width: 180px; height: auto; }
.ph--icon { border-radius: 50%; padding: 4px; }
.ph--icon .ph__name, .ph--icon .ico { display: none; }
.ph--cloud { position: absolute; inset: 0; border: 0; border-radius: 0; padding: 0; background: radial-gradient(60% 90% at 20% 100%, #fff 40%, transparent 70%), radial-gradient(50% 80% at 55% 100%, #fff 40%, transparent 70%), radial-gradient(55% 85% at 90% 100%, #fff 40%, transparent 70%); filter: blur(10px); }

/* Nuvens ------------------------------------------------------------------ */
.clouds { position: absolute; left: 0; right: 0; height: clamp(130px, 21vw, 330px); pointer-events: none; z-index: 2; }
.clouds--bottom { bottom: -2px; }
.clouds--top { top: -2px; transform: scaleY(-1); }
.clouds__layer { position: absolute; inset: 0; will-change: transform; }
.clouds__layer img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; }
.clouds__layer--back { opacity: .7; bottom: 18%; top: -18%; }
.clouds__layer--back img { transform: scaleX(-1); object-position: 30% 100%; }
.clouds__layer--mid { bottom: 8%; top: -8%; }
.clouds__layer--mid img { object-position: 70% 100%; }
.clouds::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 22%; background: linear-gradient(to bottom, rgba(255,253,249,0), var(--c-bg) 72%); }
@media (max-width: 767px) {
	.clouds__layer--back, .clouds__layer--mid { display: none; }
}

/* Cortina (só com animações; ver motion.css) */
.cortina { display: none; }

/* Objetos flutuantes ------------------------------------------------------ */
.float-obj { position: absolute; z-index: 1; pointer-events: none; width: clamp(110px, 14vw, 220px); }
.float-obj__bob { animation: avm-bob 6s ease-in-out infinite; }
.float-obj--late .float-obj__bob { animation-delay: -3s; }
@keyframes avm-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

/* 1. Abertura ------------------------------------------------------------- */
.hero { min-height: 100svh; padding: 104px 0 0; overflow: hidden; display: flex; flex-direction: column; }
.hero__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero__bg-img { position: absolute; inset: 0; }
.hero__bg-img .img, .hero__bg-img .ph { width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 0; }
.hero__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,253,249,.85) 0%, rgba(255,253,249,.55) 30%, rgba(255,253,249,.7) 70%, rgba(255,253,249,.9) 100%); }
.hero__grid { display: grid; gap: 18px; align-items: end; }
.hero__portrait { order: -1; display: flex; justify-content: center; }
.hero__portrait .img, .hero__portrait .ph { width: auto; max-width: 82%; max-height: 44svh; object-fit: contain; }
.hero__portrait .ph { width: 60%; }
.hero__title { font-size: clamp(36px, 4.6vw, 62px); line-height: 1.07; margin-bottom: .35em; }
.hero__title em { font-weight: 600; }
.hero__text { color: var(--c-muted); max-width: 520px; }
.hero__items { display: grid; gap: 12px; margin-top: 18px; }
.hero__item { display: flex; align-items: center; gap: 14px; font-size: 17px; line-height: 1.35; }
.hero__icon { flex: 0 0 64px; width: 64px; }
.hero__card-wrap { margin: 28px auto clamp(36px, 7vw, 96px); }
.hero__card { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 12px; padding: 22px; align-items: center; }
.hero__stat { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hero__stat strong { font-family: var(--f-head); font-size: 30px; font-weight: 600; color: var(--c-ink); line-height: 1.05; }
.hero__stat span { font-size: 17px; line-height: 1.3; color: var(--c-muted); }
.hero__btn { grid-column: 1 / -1; width: 100%; }
.hero__flash { display: none; }

@media (min-width: 900px) {
	.hero { padding-top: 120px; }
	.hero__veil { background: linear-gradient(90deg, rgba(255,253,249,.15) 0%, rgba(255,253,249,.55) 42%, rgba(255,253,249,.82) 62%, rgba(255,253,249,.88) 100%), linear-gradient(180deg, rgba(255,253,249,.7) 0%, rgba(255,253,249,0) 22%); }
	.hero__grid { grid-template-columns: .92fr 1.08fr; gap: 40px; flex: 1; align-items: center; }
	.hero__portrait { order: 0; align-self: end; }
	.hero__portrait .img, .hero__portrait .ph { max-width: 100%; max-height: min(74vh, 760px); }
	.hero__portrait .ph { width: 70%; }
	.hero__items { grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 28px; }
	.hero__item { flex-direction: column; align-items: flex-start; }
	.hero__icon { flex-basis: auto; width: 88px; }
	.hero__card-wrap { margin-top: 18px; }
	.hero__card { display: flex; gap: 0; padding: 26px 30px; }
	.hero__stat { flex: 1; padding: 0 24px; border-left: 1px solid rgba(143,169,191,.35); }
	.hero__stat:first-child { padding-left: 0; border-left: 0; }
	.hero__btn { width: auto; margin-left: 12px; flex-shrink: 0; }
}

/* 2. Dores --------------------------------------------------------------- */
.dores { padding-top: clamp(56px, 7vw, 96px); }
.dores__stage { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.dores__portrait { width: min(78%, 340px); }
.dores__portrait .ph { aspect-ratio: 6 / 7; }
.dores__list { display: grid; gap: 14px; width: 100%; max-width: 520px; }
.bubble { position: relative; background: var(--c-white); border-radius: 22px 22px 22px 8px; padding: 16px 20px 16px 46px; box-shadow: var(--shadow-soft); font-size: 17px; line-height: 1.45; }
.bubble__dot { position: absolute; left: 20px; top: 24px; width: 12px; height: 12px; border-radius: 50%; background: var(--c-peach); box-shadow: 0 0 0 5px rgba(242,199,165,.28); }
.dores__close { text-align: center; margin-top: 44px; }
.dores__fecho { font-family: var(--f-head); font-size: clamp(26px, 3vw, 34px); font-style: italic; color: var(--c-ink); line-height: 1.25; margin-bottom: 22px; }
.float-obj--xicara { right: -24px; top: 16%; }
@media (max-width: 767px) { .float-obj--xicara { top: 6%; right: -30px; width: 120px; opacity: .9; } }

@media (min-width: 1024px) {
	.dores__stage { display: block; position: relative; height: 640px; max-width: 1120px; margin: 0 auto; }
	.dores__portrait { position: absolute; left: 50%; bottom: 0; width: 400px; transform: translateX(-50%); }
	.dores__list { display: block; max-width: none; position: absolute; inset: 0; pointer-events: none; }
	.bubble { position: absolute; width: 300px; pointer-events: auto; }
	.bubble--1, .bubble--2, .bubble--3 { padding: 18px 46px 18px 22px; border-radius: 22px 22px 8px 22px; text-align: right; }
	.bubble--1 .bubble__dot, .bubble--2 .bubble__dot, .bubble--3 .bubble__dot { left: auto; right: 20px; }
	.bubble--4, .bubble--5, .bubble--6 { padding: 18px 22px 18px 46px; }
	.bubble--1 { left: 0; top: 4%; }
	.bubble--2 { left: -2%; top: 38%; }
	.bubble--3 { left: 4%; top: 72%; }
	.bubble--4 { right: 0; top: 4%; }
	.bubble--5 { right: -2%; top: 38%; }
	.bubble--6 { right: 4%; top: 72%; }
}

/* 3. Sobre mim ----------------------------------------------------------- */
.sobre { padding-top: clamp(130px, 15vw, 220px); padding-bottom: clamp(140px, 16vw, 240px); }
.sobre__bg { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.sobre__bg-img { position: absolute; inset: 0; }
.sobre__bg-img .img, .sobre__bg-img .ph { width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 0; }
.sobre__veil { position: absolute; inset: 0; background: rgba(255,253,249,.4); }
.sobre__veil::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--c-bg) 0%, rgba(255,253,249,0) 22%, rgba(255,253,249,0) 70%, var(--c-bg) 100%); }
.sobre__grid { display: grid; gap: 32px; }
.sobre__card { display: grid; gap: 28px; padding: 30px 26px; }
.sobre__block h3 { font-size: 27px; color: var(--c-ink); font-weight: 600; margin-bottom: .35em; }
.sobre__block p { margin: 0; }
.float-obj--inline { position: relative; width: 104px; margin: -6px 0 6px -6px; }
.sobre__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 26px; }
.sobre__crp { margin: 0; color: var(--c-muted); }
.sobre__portrait { position: relative; display: flex; flex-direction: column; align-items: center; }
.sobre__portrait-img { width: min(72%, 340px); }
.sobre__portrait-img .ph { aspect-ratio: 5 / 9; }
.sobre__quote { position: relative; margin-top: -60px; max-width: 340px; padding: 22px 24px; font-family: var(--f-head); font-size: 23px; font-style: italic; line-height: 1.3; color: var(--c-ink); z-index: 2; }
.sobre__quote .ico { width: 28px; height: 28px; color: var(--c-peach); margin-bottom: 6px; }
.sobre__quote p { margin: 0; }
@media (min-width: 700px) {
	.sobre__card { grid-template-columns: 1fr 1fr; padding: 40px 38px; gap: 36px; }
}
@media (min-width: 1024px) {
	.sobre__grid { grid-template-columns: 1.3fr .7fr; gap: 40px; align-items: end; }
	.sobre__portrait-img { width: 100%; }
	.sobre__portrait-img .img { max-height: 720px; width: auto; margin: 0 auto; }
	.sobre__quote { position: absolute; left: -90px; bottom: 26%; margin: 0; max-width: 300px; font-size: 22px; }
}

/* 4. Como funciona ------------------------------------------------------- */
.processo { padding-bottom: clamp(140px, 16vw, 220px); }
.processo__circle { position: relative; width: min(78vw, 320px); aspect-ratio: 1; margin: 0 auto 36px; }
.processo__ring { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.processo__track { fill: none; stroke: rgba(143,169,191,.28); stroke-width: 1.5; }
.processo__arc { fill: none; stroke: var(--c-blue); stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.processo__photo { position: absolute; inset: 7%; border-radius: 50%; overflow: hidden; box-shadow: var(--shadow); background: var(--c-mist); }
.processo__photo .img, .processo__photo .ph { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.processo__line { display: none; }
.processo__steps { max-width: 520px; margin: 0 auto; }
.step { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 0 16px; padding-bottom: 26px; }
.step::before { content: ""; position: absolute; left: 31px; top: 58px; bottom: 4px; width: 1px; background: rgba(143,169,191,.35); }
.step::after { content: ""; position: absolute; left: 31px; top: 58px; bottom: 4px; width: 1px; background: var(--c-blue); transform-origin: top; transform: scaleY(1); transition: transform 1s var(--ease); }
.step:last-child::before, .step:last-child::after { display: none; }
.step__num { font-family: var(--f-head); font-size: 54px; line-height: 1; color: var(--c-blue); font-weight: 500; text-align: center; transition: opacity .9s var(--ease), transform .9s var(--ease); }
.step__text { margin: 10px 0 0; transition: opacity .9s var(--ease) .25s, transform .9s var(--ease) .25s; }

@media (min-width: 1024px) {
	.processo__diagram { position: relative; height: 660px; max-width: 1140px; margin: 10px auto 0; }
	.processo__circle { position: absolute; left: 50%; top: 50%; width: 540px; margin: 0; transform: translate(-50%, -50%); }
	.processo__steps { position: absolute; inset: 0; max-width: none; margin: 0; }
	.step { position: absolute; display: block; width: 270px; padding: 0; }
	.step::before, .step::after { display: none; }
	.step__num { display: block; font-size: 76px; text-align: inherit; }
	.step__text { margin-top: 2px; }
	.step--1, .step--2, .step--3 { text-align: right; }
	.step--1 { right: calc(50% + 250px); top: 2%; }
	.step--2 { right: calc(50% + 300px); top: 37%; }
	.step--3 { right: calc(50% + 250px); top: 72%; }
	.step--4 { left: calc(50% + 260px); top: 9%; }
	.step--5 { left: calc(50% + 290px); top: 56%; }
}

/* 5. Formatos ------------------------------------------------------------ */
.formatos { background: linear-gradient(180deg, var(--c-bg) 0%, var(--c-mist) 22%, var(--c-mist) 78%, var(--c-bg) 100%); overflow: hidden; }
.formatos__grid { display: grid; gap: 26px; perspective: 1400px; max-width: 1040px; margin: 0 auto; }
.fcard { filter: drop-shadow(0 22px 30px rgba(30,63,90,.13)); transition: filter 1.2s var(--ease); }
.fcard__inner {
	display: flex; flex-direction: column; gap: 18px; height: 100%;
	background: var(--c-white);
	border-radius: 22px;
	padding: 46px 26px 28px;
	-webkit-mask: radial-gradient(circle 17px at 50% 0, transparent 96%, #000 100%);
	mask: radial-gradient(circle 17px at 50% 0, transparent 96%, #000 100%);
}
.fcard__title { font-size: 30px; text-align: center; color: var(--c-ink); font-weight: 600; margin: 0; }
.fcard__who { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(143,169,191,.25); border-bottom: 1px solid rgba(143,169,191,.25); line-height: 1.25; font-weight: 600; }
.fcard__who small { display: block; font-weight: 400; color: var(--c-muted); font-size: 17px; }
.fcard__avatar { flex: 0 0 58px; width: 58px; }
.fcard__avatar .img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; background: var(--c-mist); }
.fcard__list { display: grid; gap: 12px; flex: 1; }
.fcard__list li { display: flex; align-items: center; gap: 12px; line-height: 1.35; }
.fcard__icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; color: var(--c-ink); }
.fcard__icon .ico { width: 22px; height: 22px; color: var(--c-blue); }
.fcard__btn { width: 100%; margin-top: 6px; }
.formatos__nota { text-align: center; color: var(--c-muted); max-width: 640px; margin: 34px auto 0; }
.formatos__oculos { position: absolute; left: 0; bottom: 4%; width: clamp(150px, 20vw, 300px); z-index: 1; pointer-events: none; transform: rotate(-12deg); }
@media (min-width: 780px) { .formatos__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 779px) { .formatos__oculos { bottom: 1%; left: -40px; width: 150px; } }

/* 6. Em que pode ajudar -------------------------------------------------- */
.ajuda { padding-top: clamp(130px, 15vw, 210px); padding-bottom: clamp(150px, 16vw, 230px); }
.ajuda__grid { display: grid; gap: 30px; }
.ajuda__card { padding: 30px 26px; }
.ajuda__list { display: grid; gap: 18px; }
.ajuda__list li { display: flex; gap: 14px; align-items: flex-start; line-height: 1.45; }
.ajuda__dot { position: relative; flex: 0 0 24px; height: 24px; margin-top: 1px; border-radius: 50%; border: 1.5px solid var(--c-peach); }
.ajuda__dot::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--c-peach); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.ajuda__dot::before { content: ""; position: absolute; inset: -7px; border-radius: 50%; background: radial-gradient(circle, rgba(242,199,165,.55), rgba(242,199,165,0) 70%); opacity: 0; transition: opacity 1s var(--ease); }
.ajuda__nota { margin-top: 22px; color: var(--c-muted); font-style: italic; }
.ajuda__portrait { display: flex; justify-content: center; }
.ajuda__portrait .img, .ajuda__portrait .ph { width: min(64%, 320px); }
.ajuda__portrait .ph { aspect-ratio: 5 / 9; }
.ajuda__caderno { position: absolute; left: -36px; top: 9%; width: clamp(120px, 16vw, 240px); z-index: 1; pointer-events: none; }
@media (min-width: 700px) { .ajuda__list { grid-template-columns: 1fr 1fr; gap: 20px 34px; } .ajuda__card { padding: 38px 40px; } }
@media (min-width: 1024px) {
	.ajuda__grid { grid-template-columns: 1.4fr .6fr; align-items: end; }
	.ajuda__main { padding-left: 90px; }
	.ajuda__portrait .img { width: 100%; max-height: 680px; object-fit: contain; }
}
@media (max-width: 767px) { .ajuda__caderno { top: auto; bottom: 7%; left: -34px; width: 120px; } }

/* 7. Temas --------------------------------------------------------------- */
.carousel { position: relative; z-index: 3; }
.carousel__track {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter)));
	padding: 12px max(var(--gutter), calc((100vw - var(--maxw)) / 2 + var(--gutter))) 44px;
	scrollbar-width: none;
}
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__track:focus-visible { outline-offset: -3px; }
.tcard { flex: 0 0 min(82vw, 350px); scroll-snap-align: start; display: flex; flex-direction: column; background: var(--c-white); border-radius: 22px; overflow: hidden; box-shadow: var(--shadow); }
.tcard__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--c-mist); }
.tcard__media .img, .tcard__media .ph { width: 100%; height: 100%; object-fit: cover; border-radius: 0; border: 0; transition: transform 1.2s var(--ease); }
.tcard:hover .tcard__media .img { transform: scale(1.06); }
.tcard__body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 26px; }
.tcard__title { font-size: 29px; font-style: italic; font-weight: 600; color: var(--c-ink); margin-bottom: .3em; }
.tcard__title a { color: inherit; text-decoration: none; }
.tcard__text { color: var(--c-text); flex: 1; }
.tcard__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 6px; }
.tcard__time { color: var(--c-muted); font-size: 17px; }

/* 8. Conteúdos ----------------------------------------------------------- */
.conteudos { overflow: hidden; }
.conteudos__grid { display: grid; gap: 36px; align-items: center; }
.phone-feed { display: flex; align-items: center; justify-content: center; gap: 14px; }
.phone { width: clamp(210px, 58vw, 300px); transform: rotate(6deg); }
.phone__float { animation: avm-bob 6s ease-in-out infinite; }
.phone__device { position: relative; filter: drop-shadow(0 34px 40px rgba(30,63,90,.28)); }
.phone__device .img { width: 100%; }
.phone__screen { position: absolute; top: var(--screen-top); bottom: var(--screen-bottom); left: var(--screen-side); right: var(--screen-side); border-radius: var(--screen-radius) / calc(var(--screen-radius) * .5); overflow: hidden; background: var(--c-mist); }
.phone__device--css { aspect-ratio: 9 / 19; border-radius: 44px; background: #1d2228; box-shadow: inset 0 0 0 2px #3a414a; }
.phone__device--css .phone__screen { inset: 12px; border-radius: 34px; }
.phone__post { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1s var(--ease); }
.phone__post.is-active { opacity: 1; }
.phone__post .img, .phone__post .ph { width: 100%; height: 100%; object-fit: cover; border-radius: 0; border: 0; }
.phone__post:has(.phone__caption)::after { content: ""; position: absolute; inset: 0 0 45% 0; background: linear-gradient(180deg, rgba(255,253,249,.88) 0%, rgba(255,253,249,.55) 60%, rgba(255,253,249,0) 100%); }
.phone__caption { z-index: 1; position: absolute; left: 10%; right: 10%; top: 13%; font-family: var(--f-head); font-size: clamp(22px, 5.4vw, 28px); font-weight: 600; line-height: 1.15; color: var(--c-ink); }
.phone__dots { position: absolute; left: 0; right: 0; bottom: 5%; display: flex; justify-content: center; gap: 6px; }
.phone__dots span { width: 6px; height: 6px; border-radius: 50%; background: rgba(30,63,90,.25); transition: background .5s, transform .5s; }
.phone__dots span.is-active { background: var(--c-ink); transform: scale(1.3); }
.phone-feed__arrow { flex-shrink: 0; position: relative; z-index: 2; }
.float-obj--folhas { right: 3%; bottom: 4%; }
@media (min-width: 900px) {
	.conteudos__grid { grid-template-columns: .9fr 1.1fr; gap: 50px; }
	.phone-feed { gap: 34px; }
	.phone { width: 300px; }
}
@media (max-width: 767px) { .float-obj--folhas { right: -24px; bottom: 1%; width: 110px; } }

/* 9. Formação ------------------------------------------------------------ */
.formacao { padding-bottom: clamp(150px, 16vw, 230px); }
.cert { flex: 0 0 min(84vw, 420px); scroll-snap-align: start; padding: 14px 4px; }
.cert__paper { height: 100%; padding: 12px; border-radius: 6px; background: linear-gradient(170deg, #fff 0%, #FFFBF4 100%); box-shadow: var(--shadow); }
.cert__frame {
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	height: 100%; min-height: 300px;
	padding: 30px 26px;
	text-align: center;
	border: 1px solid rgba(201, 167, 112, .7);
	box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 6px rgba(201, 167, 112, .45);
	border-radius: 3px;
}
.cert__seal { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; border: 1px solid rgba(201,167,112,.8); color: #A9864F; }
.cert__seal .ico { width: 30px; height: 30px; }
.cert__kind { font-size: 17px; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.cert__name { font-family: var(--f-head); font-size: 26px; font-style: italic; color: var(--c-text); line-height: 1.1; }
.cert__rule { width: 64px; height: 1px; background: rgba(201,167,112,.8); }
.cert__title { font-size: 25px; font-weight: 600; color: var(--c-ink); margin: 0; line-height: 1.2; }
.cert__year { font-family: var(--f-head); font-size: 24px; color: var(--c-muted); margin-top: auto; }
.formacao__pergaminho { position: absolute; left: 42%; top: 3%; width: clamp(130px, 17vw, 250px); z-index: 1; pointer-events: none; transform-origin: 0 50%; }
@media (max-width: 767px) { .formacao__pergaminho { top: 1%; left: auto; right: -24px; width: 120px; } }

/* FAQ -------------------------------------------------------------------- */
.faq__list { display: grid; gap: 14px; }
.faq__item { padding: 0; border-radius: 18px; }
.faq__item summary { cursor: pointer; padding: 20px 24px; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 16px; min-height: 48px; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: "+"; font-family: var(--f-head); font-size: 28px; line-height: 1; color: var(--c-ink); transition: transform .5s var(--ease); }
.faq__item[open] summary::after { transform: rotate(45deg); }
.faq__item p { padding: 0 24px 22px; margin: 0; }

/* 10. Chamada final ------------------------------------------------------ */
.cta { padding-top: clamp(110px, 12vw, 170px); padding-bottom: 0; overflow: hidden; }
.cta__bg { position: absolute; inset: 0; z-index: 0; }
.cta__bg .img, .cta__bg .ph { width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 0; }
.cta__veil { position: absolute; inset: 0; background: linear-gradient(180deg, var(--c-bg) 0%, rgba(255,253,249,.6) 26%, rgba(255,253,249,.45) 60%, rgba(255,253,249,.75) 100%); }
.cta__grid { display: grid; gap: 28px; text-align: center; }
.cta__quote { font-family: var(--f-head); font-size: clamp(24px, 2.4vw, 30px); font-style: italic; line-height: 1.3; color: var(--c-ink); max-width: 420px; margin: 0 auto; }
.cta__quote .ico { width: 34px; height: 34px; color: var(--c-peach); margin: 0 auto 8px; }
.cta__quote p { margin: 0; }
.cta__title { font-size: clamp(32px, 3.6vw, 46px); }
.cta__action p { color: var(--c-muted); }
.cta__portrait { position: relative; z-index: 1; display: flex; justify-content: center; margin-bottom: -2px; }
.cta__portrait .img, .cta__portrait .ph { width: min(82%, 420px); }
.cta__portrait .ph { aspect-ratio: 4 / 5; }
.cta .clouds { z-index: 2; height: clamp(150px, 20vw, 300px); }
.cta__action { position: relative; z-index: 3; }
.float-obj--folhas-cta { right: 4%; top: 10%; transform: scaleX(-1); }
@media (min-width: 1024px) {
	.cta { min-height: 760px; }
	.cta__grid { grid-template-columns: 1fr minmax(340px, 440px) 1fr; align-items: center; text-align: left; gap: 30px; }
	.cta__quote { margin: 0; align-self: center; padding-bottom: 120px; }
	.cta__quote .ico { margin-left: 0; }
	.cta__portrait { align-self: end; }
	.cta__portrait .img { width: 100%; }
	.cta__action { align-self: center; padding-bottom: 120px; }
}
@media (max-width: 1023px) {
	.cta__grid > .cta__action { order: 2; }
	.cta__grid > .cta__portrait { order: 3; }
	.float-obj--folhas-cta { top: 2%; width: 110px; }
}

/* Luz quente do fechamento (controlada pelo motion.js) */
.warm-light { position: fixed; inset: 0; z-index: 40; pointer-events: none; background: var(--c-peach); opacity: 0; mix-blend-mode: multiply; }

/* Rodapé ----------------------------------------------------------------- */
.site-footer { position: relative; z-index: 3; background: var(--c-bg); padding: 44px 0 calc(110px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(143,169,191,.25); }
.site-footer__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 26px; border-bottom: 1px solid rgba(143,169,191,.25); }
.site-footer__info { display: grid; gap: 18px; padding: 26px 0; }
.site-footer__item { display: flex; gap: 12px; margin: 0; line-height: 1.5; }
.site-footer__item .ico { color: var(--c-blue); margin-top: 2px; }
.crisis-line { background: var(--c-mist); border-radius: 14px; padding: 14px 18px; margin: 0 0 18px; }
.crisis-line a { font-weight: 700; }
.signature { color: var(--c-muted); margin: 0; }
@media (min-width: 900px) {
	.site-footer { padding-bottom: 44px; }
	.site-footer__info { grid-template-columns: repeat(3, 1fr); gap: 30px; }
}

/* Botão fixo no celular */
.mobile-cta { position: fixed; left: 16px; right: 16px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 50; min-height: 56px; }
@media (min-width: 768px) { .mobile-cta { display: none; } }

/* Posts e páginas -------------------------------------------------------- */
.page-wrap { padding: 40px 0 80px; }
.article__head { padding-top: 30px; }
.article__meta { color: var(--c-muted); }
.article__title { font-size: clamp(34px, 4.6vw, 54px); }
.article__media { max-width: 960px; margin: 10px auto 34px; }
.article__media .img, .article__media .ph { border-radius: 22px; overflow: hidden; box-shadow: var(--shadow); }
.article__body { font-size: 18px; }
.article__body h2 { font-size: 32px; margin-top: 1.4em; color: var(--c-ink); }
.article__body a { font-weight: 600; }
.article__cta { margin-top: 30px; }
.article__cta-card { padding: 28px; display: grid; gap: 14px; justify-items: start; }
.article__cta-card p { margin: 0; }
.article__disclaimer { color: var(--c-muted); margin-top: 14px; }
.archive__head { padding-top: 30px; }
.archive__grid { display: grid; gap: 26px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.archive__grid .tcard { flex: none; }
.archive__pager { margin-top: 30px; }
.archive__pager .nav-links { display: flex; gap: 10px; flex-wrap: wrap; }
.archive__pager .page-numbers { display: inline-grid; place-items: center; min-width: 48px; height: 48px; border-radius: 50%; background: #fff; box-shadow: var(--shadow-soft); text-decoration: none; }
.page-404 { padding: 60px var(--gutter); }
.page-404__actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* Movimento reduzido: nada de flutuação nem rolagem suave */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.float-obj__bob, .phone__float { animation: none !important; }
}
