/* Pierre Soluções Digitais — CSS de produção consolidado em 31/07/2026 */
:root{
	--navy:#0b1d39;
	--navy-2:#102b52;
	--ink:#10213d;
	--muted:#5e6b7f;
	--blue:#2f6fed;
	--amber:#f4a11a;
	--paper:#f7f6f1;
	--white:#fff;
	--line:#dde3eb;
	--radius:24px;
	--shadow:0 24px 70px rgba(11,29,57,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
button,input,textarea,select{font:inherit}
.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-80px;background:#fff;color:#000;padding:10px 14px;z-index:1000;border-radius:8px}
.skip-link:focus{top:16px}
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(11,29,57,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1);transition:.25s ease}
.site-header.is-scrolled{background:rgba(11,29,57,.96)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center}
.brand img{width:180px;max-height:55px;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;gap:30px}
.main-nav a{color:rgba(255,255,255,.78);text-decoration:none;font-size:.93rem;font-weight:650;transition:.2s}
.main-nav a:hover,.main-nav a:focus-visible{color:#fff}
.main-nav .nav-cta{border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:10px 17px;color:#fff}
.menu-button{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px}
.menu-button span:not(.sr-only){display:block;height:2px;background:#fff;margin:5px 0}
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:170px 0 105px;min-height:770px}
.hero::after{content:"";position:absolute;inset:auto -10% -200px;width:65%;height:400px;border-radius:50%;background:rgba(47,111,237,.16);filter:blur(20px)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:78px}
.eyebrow{margin:0 0 20px;color:#f7b64b;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:800}
.eyebrow.dark{color:#c46f00}
.hero h1{max-width:720px;margin:0;font-size:clamp(3.2rem,6vw,6.3rem);line-height:.96;letter-spacing:-.06em;font-weight:760}
.hero-text{max-width:650px;margin:28px 0 0;color:rgba(255,255,255,.72);font-size:1.17rem}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;text-decoration:none;font-weight:760;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--amber);color:#17233b;box-shadow:0 14px 36px rgba(244,161,26,.24)}
.button-ghost{border:1px solid rgba(255,255,255,.25);color:#fff}
.button-light{background:#fff;color:var(--navy)}
.hero-proof{display:flex;align-items:center;gap:10px;margin:28px 0 0;color:rgba(255,255,255,.58);font-size:.85rem}
.hero-proof span{width:7px;height:7px;border-radius:50%;background:#49d58a;box-shadow:0 0 0 5px rgba(73,213,138,.12)}
.hero-system{position:relative;aspect-ratio:1/1;max-width:500px;margin:auto}
.system-orbit{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;inset:15%}
.orbit-two{inset:1%;border-style:dashed;animation:spin 50s linear infinite}
.system-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#173761,#0c213e);border:1px solid rgba(255,255,255,.2);box-shadow:0 24px 70px rgba(0,0,0,.34)}
.system-core strong{font-size:1.8rem;letter-spacing:.12em}
.system-core small{display:block;margin-top:8px;color:rgba(255,255,255,.55);font-size:.65rem}
.system-node{position:absolute;display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff}
.system-node span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fff;color:var(--navy);font-weight:850;box-shadow:0 14px 36px rgba(0,0,0,.24)}
.system-node small{padding:4px 9px;border-radius:999px;background:rgba(11,29,57,.78);font-size:.68rem;white-space:nowrap}
.node-1{left:5%;top:15%}.node-2{right:-2%;top:19%}.node-3{left:-2%;top:53%}.node-4{right:-5%;top:55%}.node-5{left:17%;bottom:3%}.node-6{right:14%;bottom:1%}
.hero-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.28}.hero-glow-one{width:380px;height:380px;background:var(--blue);left:-130px;top:50px}.hero-glow-two{width:260px;height:260px;background:var(--amber);right:8%;top:5%}
@keyframes spin{to{transform:rotate(360deg)}}
.signal-strip{background:#fff;border-bottom:1px solid var(--line)}
.signal-list{min-height:72px;display:flex;align-items:center;justify-content:space-between;color:#536176;font-size:.8rem;font-weight:780;text-transform:uppercase;letter-spacing:.08em}
.signal-list i{width:4px;height:4px;border-radius:50%;background:var(--amber)}
.section{padding:110px 0}
.projects-section{background:#fff}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:52px}
.section-heading h2,.process-intro h2,.about-statement h2{margin:0;font-size:clamp(2.3rem,4vw,4.4rem);line-height:1.03;letter-spacing:-.045em}
.section-heading>p{margin:0;color:var(--muted);font-size:1.08rem}
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.project-card{position:relative;overflow:hidden;grid-column:span 4;min-height:420px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfe;transition:transform .25s,box-shadow .25s,border-color .25s}
.project-card:nth-child(1),.project-card:nth-child(6){grid-column:span 6}
.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.project-topline{display:flex;align-items:center;justify-content:space-between}
.project-number{font-size:.74rem;font-weight:800;color:#8490a1}
.project-badge{padding:6px 10px;border-radius:999px;background:#edf2fa;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.project-mark{display:grid;place-items:center;width:72px;height:72px;margin:54px 0 25px;border-radius:22px;background:var(--card-accent,#2f6fed);color:#fff;font-size:2rem;font-weight:900;box-shadow:0 18px 42px color-mix(in srgb,var(--card-accent,#2f6fed) 28%,transparent)}
.project-category{margin:0 0 6px;color:var(--card-accent,#2f6fed);font-size:.76rem;font-weight:820;text-transform:uppercase;letter-spacing:.1em}
.project-card h3{margin:0 0 12px;font-size:1.75rem;letter-spacing:-.03em}
.project-card>p:not(.project-category){margin:0;color:var(--muted)}
.project-card>a{display:inline-block;margin-top:26px;text-decoration:none;font-weight:800;color:var(--ink)}
.project-card>a span{color:var(--card-accent,#2f6fed)}
.accent-blue{--card-accent:#2f6fed}.accent-amber{--card-accent:#d98200}.accent-coral{--card-accent:#e45b55}.accent-violet{--card-accent:#7c59d9}.accent-green{--card-accent:#16866c}.accent-navy{--card-accent:#16365f}
.process-section{background:var(--navy);color:#fff}
.process-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}
.process-intro{position:sticky;top:130px;align-self:start}
.process-intro p:last-child{color:rgba(255,255,255,.64);font-size:1.08rem}
.process-list{list-style:none;margin:0;padding:0}
.process-list li{display:grid;grid-template-columns:60px 1fr;gap:22px;padding:26px 0;border-top:1px solid rgba(255,255,255,.15)}
.process-list li:last-child{border-bottom:1px solid rgba(255,255,255,.15)}
.process-list li>span{color:#f7b64b;font-size:.74rem;font-weight:850}
.process-list strong{display:block;font-size:1.55rem}
.process-list p{margin:6px 0 0;color:rgba(255,255,255,.62)}
.about-section{background:#f3f0e8}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.about-copy>p{margin:0 0 42px;color:#4e5d70;font-size:1.2rem}
.principles{border-top:1px solid #ccd2db}
.principles>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 0;border-bottom:1px solid #ccd2db}
.principles span{color:var(--muted)}
.media-section{background:#fff}
.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.media-card{border:1px solid var(--line);padding:16px;border-radius:var(--radius)}
.embed-frame{aspect-ratio:16/9;background:#edf1f6;border-radius:15px;overflow:hidden}
.embed-frame iframe{width:100%;height:100%;border:0}
.media-card h3{margin:18px 6px 6px}.media-card p{margin:0 6px 8px;color:var(--muted)}
.contact-section{padding:90px 0;background:#fff}
.contact-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px;padding:60px;background:linear-gradient(125deg,#102b52,#0b1d39);color:#fff;border-radius:32px;box-shadow:var(--shadow)}
.contact-card h2{max-width:760px;margin:0;font-size:clamp(2.1rem,4vw,4.2rem);line-height:1.03;letter-spacing:-.045em}
.contact-card p:not(.eyebrow){max-width:670px;margin:18px 0 0;color:rgba(255,255,255,.67)}
.site-footer{padding:60px 0 30px;background:var(--navy);color:#fff}
.footer-inner{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start}
.footer-inner img{width:150px}
.footer-inner p{color:rgba(255,255,255,.55)}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer-links a{text-decoration:none;color:rgba(255,255,255,.72)}
.copyright{grid-column:1/-1;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem}
@media(max-width:960px){
	.hero{padding-top:135px}.hero-grid{grid-template-columns:1fr;gap:55px}.hero-copy{text-align:center}.hero-copy>*{margin-inline:auto}.hero-actions,.hero-proof{justify-content:center}.hero-system{width:min(500px,90vw)}
	.section-heading,.process-grid,.about-grid{grid-template-columns:1fr;gap:42px}.process-intro{position:static}.project-card,.project-card:nth-child(1),.project-card:nth-child(6){grid-column:span 6}.contact-card{grid-template-columns:1fr}
}
@media(max-width:720px){
	.shell{width:min(100% - 28px,1180px)}.header-inner{height:70px}.brand img{width:150px}.menu-button{display:block}.main-nav{position:absolute;left:14px;right:14px;top:76px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px;border-radius:18px;background:#102b52;box-shadow:0 20px 50px rgba(0,0,0,.32)}.main-nav.is-open{display:flex}.main-nav a{padding:12px}.main-nav .nav-cta{text-align:center;margin-top:8px}
	.hero{min-height:auto;padding:120px 0 80px}.hero h1{font-size:clamp(2.7rem,13vw,4.5rem)}.hero-system{transform:scale(.9)}.system-node small{display:none}.signal-list{justify-content:center;gap:12px;flex-wrap:wrap;padding:18px 0}.section{padding:78px 0}.section-heading{margin-bottom:34px}.project-card,.project-card:nth-child(1),.project-card:nth-child(6){grid-column:1/-1;min-height:390px}.project-mark{margin-top:38px}.about-copy>p{font-size:1.05rem}.principles>div{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}.contact-section{padding:55px 0}.contact-card{padding:36px 25px}.footer-inner{grid-template-columns:1fr}.footer-links{flex-direction:column}.hero-actions .button{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/*
 * Revisão visual 0.2
 * Alinha a interface ao azul e ao laranja dominantes do logotipo Pierre.
 */
:root{
	--navy:#004a82;
	--navy-2:#0069ad;
	--ink:#07365e;
	--muted:#546b82;
	--blue:#0084d4;
	--amber:#f27600;
	--paper:#f5f9fc;
	--line:#d7e4ee;
	--shadow:0 24px 70px rgba(0,78,132,.14);
}

.site-header{
	background:rgba(0,66,116,.84);
	border-bottom-color:rgba(255,255,255,.16);
}
.site-header.is-scrolled{background:rgba(0,66,116,.97)}
.brand{
	padding:6px 12px;
	border-radius:14px;
	background:rgba(255,255,255,.96);
	box-shadow:0 8px 24px rgba(0,40,80,.12);
}
.brand img{width:166px}

.hero{
	background:
		radial-gradient(circle at 78% 18%,rgba(255,145,32,.18),transparent 24%),
		linear-gradient(135deg,#007bc5 0%,#005d9e 46%,#003e70 100%);
}
.hero::after{background:rgba(0,147,225,.2)}
.hero-glow-one{background:#38bdf8;opacity:.3}
.hero-glow-two{background:#ff941f;opacity:.32}
.button-primary{
	background:#ff8a12;
	box-shadow:0 14px 36px rgba(255,125,0,.28);
}

/*
 * Constelação em grade: o halo continua animado, mas não interfere mais
 * na posição ou leitura dos produtos.
 */
.hero-system{
	display:grid;
	grid-template-columns:repeat(3,minmax(110px,1fr));
	grid-template-rows:auto auto auto;
	align-items:center;
	gap:20px 12px;
	width:min(590px,100%);
	max-width:none;
	aspect-ratio:auto;
	min-height:520px;
	padding:42px 16px;
}
.system-orbit{z-index:-1;inset:13% 20%;border-color:rgba(255,255,255,.2)}
.orbit-two{inset:5% 12%;animation:spin 70s linear infinite}
.system-core{
	position:relative;
	left:auto;
	top:auto;
	transform:none;
	grid-column:1/-1;
	grid-row:2;
	justify-self:center;
	width:230px;
	height:150px;
	border-radius:34px;
	background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(0,53,98,.34));
	border:1px solid rgba(255,255,255,.3);
	box-shadow:0 24px 70px rgba(0,37,75,.3);
	backdrop-filter:blur(12px);
}
.system-core strong{font-size:1.9rem}
.system-core small{font-size:.7rem}
.system-node{
	position:relative;
	left:auto;
	right:auto;
	top:auto;
	bottom:auto;
	display:flex;
	flex-direction:column;
	justify-self:center;
	align-items:center;
	gap:8px;
	min-width:110px;
	text-align:center;
	animation:node-float 5.5s ease-in-out infinite;
}
.system-node span{
	width:58px;
	height:58px;
	border-radius:18px;
	color:#00477d;
	box-shadow:0 15px 34px rgba(0,38,74,.22);
}
.system-node small{
	display:block;
	max-width:130px;
	padding:0;
	background:transparent;
	color:rgba(255,255,255,.92);
	font-size:.72rem;
	font-weight:750;
	line-height:1.25;
	white-space:normal;
}
.node-1{grid-column:1;grid-row:1}
.node-2{grid-column:2;grid-row:1;animation-delay:-1.1s}
.node-3{grid-column:3;grid-row:1;animation-delay:-2.2s}
.node-4{grid-column:1;grid-row:3;animation-delay:-3.3s}
.node-5{grid-column:2;grid-row:3;animation-delay:-4.4s}
.node-6{grid-column:3;grid-row:3;animation-delay:-5.1s}
@keyframes node-float{
	0%,100%{transform:translateY(0)}
	50%{transform:translateY(-7px)}
}

.signal-list i{background:#f27600}
.eyebrow{color:#ffd19a}
.eyebrow.dark{color:#d65e00}

/* Dois conjuntos de três cartões, sem hierarquia acidental por tamanho. */
.project-card,
.project-card:nth-child(1),
.project-card:nth-child(6){
	grid-column:span 4;
	min-height:420px;
}
.project-card{
	background:linear-gradient(180deg,#fff,#f9fcfe);
}
.project-card:hover{box-shadow:0 22px 55px rgba(0,91,151,.14)}
.accent-blue{--card-accent:#0084d4}
.accent-amber{--card-accent:#ef7900}
.accent-navy{--card-accent:#00548f}

.process-section{
	background:linear-gradient(145deg,#006cac,#004276);
}
.about-section{background:#eef6fa}
.contact-card{
	background:linear-gradient(125deg,#0080c9,#004776);
}
.site-footer{background:#003b68}
.site-footer img{
	padding:7px 10px;
	border-radius:12px;
	background:#fff;
}

@media(max-width:960px){
	.project-card,
	.project-card:nth-child(1),
	.project-card:nth-child(6){grid-column:span 6}
	.hero-system{width:min(620px,100%)}
}

@media(max-width:720px){
	.brand{padding:5px 9px}
	.brand img{width:140px}
	.hero-system{
		grid-template-columns:repeat(2,minmax(120px,1fr));
		grid-template-rows:auto;
		min-height:auto;
		padding:20px 0 0;
		gap:20px 12px;
		transform:none;
	}
	.system-orbit{display:none}
	.system-core{
		grid-column:1/-1;
		grid-row:auto;
		width:min(100%,330px);
		height:auto;
		min-height:120px;
	}
	.system-node,
	.node-1,.node-2,.node-3,.node-4,.node-5,.node-6{
		grid-column:auto;
		grid-row:auto;
	}
	.system-node{
		width:100%;
		min-height:118px;
		padding:15px 8px;
		border:1px solid rgba(255,255,255,.2);
		border-radius:18px;
		background:rgba(0,55,98,.2);
		animation:none;
	}
	.system-node small{display:block}
	.project-card,
	.project-card:nth-child(1),
	.project-card:nth-child(6){grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){
	.system-node,.orbit-two{animation:none!important}
}

/*
 * Revisão visual 0.3
 * Continuidade cromática, hero mais compacto e processo com ícones.
 */
:root{
	--pierre-gradient:linear-gradient(135deg,#007bc5 0%,#005d9e 46%,#003e70 100%);
}
.site-header,
.site-header.is-scrolled,
.hero,
.process-section,
.contact-card,
.site-footer{
	background:var(--pierre-gradient);
}
.site-header{
	border-bottom-color:rgba(255,255,255,.12);
}
.hero{
	min-height:100svh;
	padding:118px 0 54px;
	display:flex;
	align-items:center;
}
.hero::after{
	width:58%;
	height:300px;
	bottom:-190px;
	background:rgba(39,174,236,.12);
	filter:blur(34px);
}
.hero-glow-one{
	width:300px;
	height:300px;
	left:-150px;
	top:38%;
	background:#35b9f1;
	opacity:.16;
}
.hero-glow-two{
	display:none;
}
.hero-grid{
	gap:54px;
}
.hero h1{
	font-size:clamp(3rem,5.25vw,5.6rem);
}
.hero-system{
	min-height:450px;
	padding:24px 16px;
}
.process-list li{
	grid-template-columns:52px 1fr;
	gap:24px;
	align-items:start;
	padding:25px 0;
}
.process-list li>span{
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	border:1px solid rgba(255,255,255,.24);
	border-radius:13px;
	background:rgba(255,255,255,.1);
	color:#fff;
	font-size:0;
	box-shadow:0 10px 24px rgba(0,46,83,.14);
}
.process-list li>span::before{
	font-size:1.12rem;
	line-height:1;
	font-weight:800;
}
.process-list li:nth-child(1)>span::before{content:"◉"}
.process-list li:nth-child(2)>span::before{content:"◇"}
.process-list li:nth-child(3)>span::before{content:"⚙"}
.process-list li:nth-child(4)>span::before{content:"↗"}
@media(max-width:960px){
	.hero{
		min-height:auto;
		padding:116px 0 68px;
	}
	.hero-system{
		min-height:430px;
	}
}
@media(max-width:720px){
	.hero{
		min-height:auto;
		padding:96px 0 52px;
	}
	.hero-grid{
		gap:36px;
	}
	.hero-system{
		min-height:auto;
		padding-top:8px;
	}
	.process-list li{
		grid-template-columns:46px 1fr;
		gap:16px;
	}
	.process-list li>span{
		width:40px;
		height:40px;
	}
}

/*
 * Revisão visual 0.4
 * Infográficos editoriais, marcas reais e hero sem focos luminosos.
 */

/* Marca integrada ao cabeçalho, sem placa branca. */
.brand{
	gap:12px;
	padding:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	text-decoration:none;
}
.brand img{
	width:64px;
	height:48px;
	object-fit:contain;
	filter:drop-shadow(0 5px 12px rgba(0,31,60,.24));
}
.brand-name{
	display:flex;
	flex-direction:column;
	line-height:1.05;
	color:#fff;
}
.brand-name strong{
	font-size:1.05rem;
	letter-spacing:.16em;
}
.brand-name small{
	margin-top:5px;
	color:rgba(255,255,255,.7);
	font-size:.64rem;
	letter-spacing:.06em;
}

/* Hero plano: nenhuma mancha ou brilho localizado. */
.hero::after,
.hero-glow{
	display:none!important;
}
.hero{
	padding-top:112px;
	padding-bottom:48px;
}
.hero-grid{
	grid-template-columns:1.02fr .98fr;
	gap:62px;
}

/* Infográfico Pierre -> seis produtos. */
.ecosystem-map{
	position:relative;
	width:min(570px,100%);
	margin-inline:auto;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.68);
	border-radius:30px;
	background:rgba(255,255,255,.96);
	color:var(--ink);
	box-shadow:0 30px 80px rgba(0,42,78,.28);
}
.ecosystem-source{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:20px;
	min-height:128px;
	padding:24px 28px;
	background:linear-gradient(180deg,#fff,#f3f8fb);
}
.ecosystem-source::after{
	content:"";
	position:absolute;
	left:50%;
	bottom:-18px;
	width:1px;
	height:18px;
	background:#a7c5d9;
}
.ecosystem-source img{
	width:88px;
	height:58px;
	object-fit:contain;
}
.ecosystem-source div{
	display:flex;
	flex-direction:column;
}
.ecosystem-source strong{
	color:#00558f;
	font-size:1.42rem;
	letter-spacing:.18em;
}
.ecosystem-source span{
	margin-top:3px;
	color:#64798b;
	font-size:.75rem;
	font-weight:700;
}
.ecosystem-products{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	padding-top:18px;
	border-top:1px solid #bdd2e0;
}
.ecosystem-product{
	position:relative;
	display:flex;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:142px;
	padding:19px 12px;
	border-right:1px solid #d8e4ec;
	border-bottom:1px solid #d8e4ec;
	text-align:center;
	text-decoration:none;
	transition:background .2s ease,transform .2s ease;
}
.ecosystem-product:nth-child(3n){border-right:0}
.ecosystem-product:nth-child(n+4){border-bottom:0}
.ecosystem-product::before{
	content:"";
	position:absolute;
	left:50%;
	top:-18px;
	width:1px;
	height:18px;
	background:#bdd2e0;
}
.ecosystem-product:hover,
.ecosystem-product:focus-visible{
	z-index:1;
	background:#edf7fc;
	transform:translateY(-2px);
	outline:none;
}
.ecosystem-logo{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:55px;
}
.ecosystem-logo img{
	max-width:82px;
	max-height:52px;
	object-fit:contain;
}
.ecosystem-logo strong{
	color:#ef5e5e;
	font-size:1.5rem;
	letter-spacing:.08em;
}
.ecosystem-name{
	color:#173c5a;
	font-size:.75rem;
	font-weight:820;
	line-height:1.25;
}
.product-coreden .ecosystem-logo img{max-width:52px;max-height:52px}
.product-farol .ecosystem-logo img{max-width:90px}
.product-slintrack .ecosystem-logo img,
.product-portal-do-advogado .ecosystem-logo img{max-width:50px;max-height:50px}

/* Processo como jornada visual: emojis livres e texto centralizado. */
.process-grid{
	grid-template-columns:1fr;
	gap:58px;
}
.process-intro{
	position:static;
	max-width:800px;
	margin-inline:auto;
	text-align:center;
}
.process-list{
	position:relative;
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:28px;
}
.process-list::before{
	content:"";
	position:absolute;
	left:10%;
	right:10%;
	top:36px;
	height:1px;
	background:rgba(255,255,255,.22);
}
.process-list li{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:18px;
	padding:0 10px;
	border:0;
	text-align:center;
}
.process-list li:last-child{border:0}
.process-list li>span{
	position:relative;
	z-index:1;
	display:block;
	width:auto;
	height:auto;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	font-size:3.15rem;
	line-height:1;
	filter:drop-shadow(0 8px 14px rgba(0,35,68,.24));
}
.process-list li>span::before{content:none!important}
.process-list strong{font-size:1.45rem}
.process-list p{max-width:270px;margin:7px auto 0}

/* Princípios como infográfico de três ideias. */
.about-grid{
	grid-template-columns:1fr;
	gap:34px;
}
.about-statement,
.about-copy>p{
	max-width:850px;
	margin-inline:auto;
	text-align:center;
}
.about-copy>p{
	margin-bottom:52px;
}
.principles{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	border:0;
}
.principles>div{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px;
	min-height:210px;
	padding:24px 36px;
	border:0;
	border-right:1px solid #c6d7e2;
	text-align:center;
}
.principles>div:last-child{border-right:0}
.principles .principle-icon{
	display:block;
	margin-bottom:8px;
	font-size:3rem;
	line-height:1;
}
.principles strong{font-size:1.08rem}
.principles>div>span:last-child{max-width:230px;color:var(--muted)}

@media(max-width:960px){
	.brand img{width:58px}
	.hero-grid{grid-template-columns:1fr;gap:48px}
	.ecosystem-map{width:min(670px,100%)}
	.process-list{grid-template-columns:repeat(2,1fr);gap:50px 28px}
	.process-list::before{display:none}
	.principles>div{padding-inline:22px}
}

@media(max-width:720px){
	.brand{gap:8px}
	.brand img{width:47px;height:42px}
	.brand-name strong{font-size:.9rem}
	.brand-name small{display:none}
	.hero{padding-top:94px;padding-bottom:48px}
	.ecosystem-source{min-height:110px;gap:13px;padding:20px}
	.ecosystem-source img{width:70px;height:48px}
	.ecosystem-source strong{font-size:1.12rem}
	.ecosystem-products{grid-template-columns:repeat(2,1fr)}
	.ecosystem-product{min-height:130px;border-right:1px solid #d8e4ec;border-bottom:1px solid #d8e4ec}
	.ecosystem-product:nth-child(3n){border-right:1px solid #d8e4ec}
	.ecosystem-product:nth-child(2n){border-right:0}
	.ecosystem-product:nth-child(n+4){border-bottom:1px solid #d8e4ec}
	.ecosystem-product:nth-child(n+5){border-bottom:0}
	.process-list{grid-template-columns:1fr;gap:44px}
	.process-list li>span{font-size:3rem}
	.process-list p{max-width:340px}
	.principles{grid-template-columns:1fr}
	.principles>div{min-height:auto;padding:27px 12px;border-right:0;border-bottom:1px solid #c6d7e2}
	.principles>div:last-child{border-bottom:0}
}

/*
 * Revisão visual 0.5
 * Corrige as declarações de layout da v0.4 e unifica as marcas entre hero e cartões.
 */

h1,h2,h3,
.brand-name,
.footer-brandline span,
.ecosystem-source strong,
.process-list strong,
.principles strong{
	font-family:"Sora",Inter,ui-sans-serif,system-ui,sans-serif;
}
.brand-name strong,
.footer-brandline strong{
	font-weight:700;
	letter-spacing:.11em;
}
/* Reafirma explicitamente os modelos de layout. */
.brand-name,
.ecosystem-source,
.ecosystem-source div,
.ecosystem-product,
.ecosystem-logo,
.process-list li,
.principles>div,
.footer-brandline,
.footer-brandline span{
	display:flex;
}
.ecosystem-products,
.process-list,
.principles{
	display:grid;
}
.process-list li>span,
.principles .principle-icon{
	display:block;
}

/* Jornada: cada emoji, título e texto formam uma única unidade. */
.process-list{
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:42px;
}
.process-list::before{display:none}
.process-list li{
	position:relative;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	gap:14px;
	min-width:0;
	padding:0 14px;
	text-align:center;
}
.process-list li:not(:last-child)::after{
	content:"→";
	position:absolute;
	right:-31px;
	top:16px;
	color:rgba(255,255,255,.34);
	font-size:1.6rem;
	font-weight:400;
}
.process-list li>span{
	width:auto;
	height:auto;
	margin:0;
	font-size:3.2rem;
	line-height:1;
}
.process-list li>div{
	display:flex;
	flex-direction:column;
	align-items:center;
}
.process-list strong{font-size:1.35rem}
.process-list p{max-width:250px;margin:6px auto 0}

/* Princípios: três ideias completas, alinhadas e sem separação entre ícone e texto. */
.principles{
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:0;
}
.principles>div{
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	gap:10px;
	min-height:0;
	padding:18px 42px 24px;
	text-align:center;
}
.principles .principle-icon{
	margin:0 0 10px;
	font-size:3.1rem;
	line-height:1;
}
.principles strong{font-size:1.08rem}
.principles>div>span:last-child{margin-top:2px}

/* A mesma marca visual do hero reaparece em cada cartão. */
.project-card .project-brand-mark{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	width:100%;
	height:76px;
	margin:40px 0 20px;
	border-radius:0;
	background:transparent;
	box-shadow:none;
}
.project-brand-mark img{
	max-width:128px;
	max-height:72px;
	object-fit:contain;
	object-position:left center;
}
.project-brand-mark strong{
	color:var(--card-accent,#2f6fed);
	font-size:2rem;
	letter-spacing:.08em;
}
.project-card.accent-blue .project-brand-mark img{max-width:72px}
.project-card.accent-violet .project-brand-mark img,
.project-card.accent-navy .project-brand-mark img{max-width:62px;max-height:62px}

/* Ajuste de escala para as marcas quadradas. */
.product-sos-comportamento .ecosystem-logo img{
	max-width:58px;
	max-height:58px;
}
.project-card.accent-coral .project-brand-mark img{
	max-width:72px;
	max-height:72px;
}
/* Coreden transparente em todas as aparições. */
.product-coreden .ecosystem-logo img{
	max-width:58px;
	max-height:58px;
}

/* Rodapé sem cápsula: símbolo e nome diretamente sobre o azul. */
.footer-brandline{
	align-items:center;
	gap:13px;
}
.site-footer .footer-brandline img{
	width:62px;
	height:48px;
	padding:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	object-fit:contain;
	filter:drop-shadow(0 5px 12px rgba(0,31,60,.25));
}
.footer-brandline span{
	flex-direction:column;
	line-height:1.05;
}
.footer-brandline strong{
	font-size:1rem;
	letter-spacing:.16em;
}
.footer-brandline small{
	margin-top:5px;
	color:rgba(255,255,255,.65);
	font-size:.62rem;
	letter-spacing:.06em;
}
.footer-brand>p{margin-top:16px}

@media(max-width:960px){
	.process-list{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:48px 32px;
	}
	.process-list li::after{display:none}
	.principles>div{padding-inline:24px}
}

@media(max-width:720px){
	.process-list,
	.principles{
		grid-template-columns:1fr;
	}
	.process-list{gap:42px}
	.process-list li{padding-inline:4px}
	.principles>div{padding:25px 12px}
	.project-card .project-brand-mark{margin-top:30px}
}

/*
 * Revisão visual 0.6
 * Nunito Sans em toda a interface e cartões sem numeração ornamental.
 */
:root{
	--font-pierre:"Nunito Sans",ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
}
body,
button,input,textarea,select,
h1,h2,h3,
.brand-name,
.main-nav,
.button,
.project-badge,
.project-category,
.footer-brandline span,
.ecosystem-source strong,
.process-list strong,
.principles strong{
	font-family:var(--font-pierre);
	font-optical-sizing:auto;
}
body{font-weight:480}
.hero h1{
	font-weight:800;
	letter-spacing:-.045em;
}
.section-heading h2,
.process-intro h2,
.about-statement h2,
.contact-card h2{
	font-weight:800;
	letter-spacing:-.03em;
}
.project-card h3{
	font-weight:800;
	letter-spacing:-.02em;
}
.brand-name strong,
.footer-brandline strong{
	font-weight:800;
	letter-spacing:.1em;
}
.main-nav a,
.button{font-weight:750}

/* Sem numeração decorativa: o estado do produto assume a linha superior. */
.project-topline{justify-content:flex-end}
.project-number{display:none}
.project-badge{
	max-width:100%;
	padding:7px 11px;
	line-height:1.2;
	text-align:center;
	white-space:normal;
}

/*
 * Revisão visual 0.7
 * Nunito real, cabeçalho integrado e menu mobile alinhado à identidade.
 */
@font-face{
	font-family:"Nunito";
	src:url("../fonts/Nunito-Latin-Variable.woff2?v=7") format("woff2");
	font-style:normal;
	font-weight:400 900;
	font-display:swap;
}
:root{
	--font-pierre:"Nunito",ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;
}
html body,
button,input,textarea,select,
h1,h2,h3,
.brand-name,.main-nav,.button,
.project-badge,.project-category,
.footer-brandline span,
.ecosystem-source strong,
.process-list strong,
.principles strong{
	font-family:var(--font-pierre)!important;
}
body{font-weight:500}
.hero h1{
	max-width:760px;
	font-size:clamp(3rem,5vw,5.35rem);
	font-weight:900;
	letter-spacing:-.045em;
}
.section-heading h2,
.process-intro h2,
.about-statement h2,
.contact-card h2{
	font-weight:900;
	letter-spacing:-.025em;
}
.section-heading h2{font-size:clamp(2.45rem,3.6vw,3.9rem)}
.project-card h3{font-weight:900}
.hero-text,
.section-heading>p,
.project-card>p:not(.project-category),
.process-list p,
.about-copy>p,
.principles>div>span:last-child{
	font-weight:500;
}

/* No topo, o cabeçalho faz parte do hero; só ganha superfície após rolar. */
.site-header{
	background:transparent!important;
	border-bottom:0!important;
	box-shadow:none;
	backdrop-filter:none;
}
.site-header.is-scrolled{
	background:linear-gradient(90deg,rgba(0,123,197,.97),rgba(0,82,143,.97))!important;
	border-bottom:1px solid rgba(255,255,255,.12)!important;
	box-shadow:0 12px 34px rgba(0,55,96,.16);
	backdrop-filter:blur(14px);
}

@media(max-width:720px){
	.main-nav{
		background:linear-gradient(145deg,#087fc5 0%,#0065a8 52%,#004f88 100%)!important;
		border:1px solid rgba(255,255,255,.2);
		box-shadow:0 22px 50px rgba(0,55,96,.3);
	}
	.main-nav a{color:rgba(255,255,255,.9)}
	.main-nav .nav-cta{background:rgba(255,255,255,.1)}
}