/*
 * tokens.css — fundação do design system "Herança em Movimento".
 * Fontes self-hosted, tokens de cor/tipo/espaço, reset e elementos base.
 *
 * Projeto Gerado pelo Prompt Mestre do Desenvolvedor e Vibe Coder Dante Testa · www.dantetesta.com.br
 */

/* ============ Fontes (self-hosted, variáveis, subset latin) ============ */
@font-face{
	font-family:'Fraunces';
	font-style:normal;
	font-weight:400 600;
	font-display:swap;
	src:url('../fonts/fraunces.woff2') format('woff2');
}
@font-face{
	font-family:'Manrope';
	font-style:normal;
	font-weight:400 700;
	font-display:swap;
	src:url('../fonts/manrope.woff2') format('woff2');
}

/* ============ Tokens ============ */
:root{
	/* cor */
	--brand:#C40B48;
	--brand-deep:#97062F;
	--brand-tint:#FBEAF0;
	--brand-contrast:#FFFFFF;
	--ink:#333333;
	--ink-soft:#5C5C60;
	--muted:#A5A6AA;
	--line:#E8E8EA;
	--surface:#FFFFFF;
	--surface-alt:#F6F6F7;
	--ink-deep:#1A1418;

	/* tipografia */
	--font-serif:'Fraunces',Georgia,'Times New Roman',serif;
	--font-sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

	--fs-hero:clamp(2.5rem,1.75rem + 3.4vw,4.25rem);
	--fs-h1:clamp(2rem,1.6rem + 1.8vw,3rem);
	--fs-h2:clamp(1.65rem,1.4rem + 1.1vw,2.2rem);
	--fs-h3:1.375rem;
	--fs-lead:clamp(1.075rem,1.02rem + .35vw,1.28rem);
	--fs-body:1.0625rem;
	--fs-sm:.875rem;
	--fs-eyebrow:.75rem;
	--big-num:clamp(6rem,4rem + 12vw,11rem);

	/* espaço */
	--section:clamp(4rem,8vw,7rem);
	--sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
	--sp-5:1.5rem; --sp-6:2rem; --sp-7:3rem; --sp-8:4.5rem;
	--gutter:clamp(1.25rem,4vw,2.5rem);

	/* forma */
	--r-sm:8px; --r-md:12px; --r-lg:18px; --r-pill:999px;
	--shadow-sm:0 1px 2px rgba(20,16,24,.05);
	--shadow-md:0 1px 2px rgba(20,16,24,.05),0 14px 34px -14px rgba(20,16,24,.16);
	--shadow-brand:0 10px 26px -10px rgba(196,11,72,.5);

	/* estrutura */
	--container:1200px;
	--container-narrow:820px;
	--header-h:76px;
	--t:.2s ease;
	--z-header:100; --z-overlay:200; --z-drawer:210;
}

/* ============ Reset enxuto ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}
body,h1,h2,h3,h4,p,figure,blockquote,ul,ol,dd{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
body{min-height:100vh;text-rendering:optimizeLegibility}
img,picture,svg,video{max-width:100%;display:block}
input,button,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
a{color:inherit;text-decoration:none}

/* ============ Base ============ */
body{
	font-family:var(--font-sans);
	font-size:var(--fs-body);
	line-height:1.62;
	color:var(--ink);
	background:var(--surface);
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
h1,h2,h3,h4{
	font-family:var(--font-serif);
	font-weight:500;
	line-height:1.1;
	color:var(--ink);
	text-wrap:balance;
	font-optical-sizing:auto;
	letter-spacing:-.01em;
}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
p{max-width:68ch}
strong,b{font-weight:700}
a:not([class]){color:var(--brand);text-underline-offset:.16em;text-decoration-thickness:1px}
a:not([class]):hover{color:var(--brand-deep);text-decoration:underline}

::selection{background:var(--brand);color:#fff}

:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{
	outline:2px solid var(--brand);
	outline-offset:3px;
	border-radius:2px;
}

/* ============ Utilidades ============ */
.bt-container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.bt-container--narrow{max-width:var(--container-narrow)}
.bt-section{padding-block:var(--section)}
.bt-surface-alt{background:var(--surface-alt)}

.bt-eyebrow{
	display:inline-flex;align-items:center;gap:.55em;
	font-family:var(--font-sans);font-weight:700;
	font-size:var(--fs-eyebrow);letter-spacing:.16em;text-transform:uppercase;
	color:var(--brand);
}
.bt-eyebrow::before{content:"";width:22px;height:1.5px;background:var(--brand);flex:0 0 auto}

.bt-icon{display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.sr-only{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:-9999px;top:0;z-index:999;background:var(--brand);color:#fff;padding:.75rem 1.25rem;border-radius:0 0 var(--r-sm) 0}
.skip-link:focus{left:0}

/* reveal on-scroll (gated atrás de .js; sem JS o conteúdo aparece) */
.js .bt-reveal{opacity:0;transform:translateY(18px)}
.js .bt-reveal.is-in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}

@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
	.js .bt-reveal{opacity:1;transform:none}
}
